From 31467c9b5f1f5f2aad60d946fb94a4101f6fb654 Mon Sep 17 00:00:00 2001 From: h4h13 Date: Sun, 5 Aug 2018 22:02:29 +0530 Subject: [PATCH] Added Banner Home toggle --- .../ui/activities/MainActivity.java | 8 +- .../mainactivity/home/BannerHomeFragment.java | 331 +++++ app/src/main/res/values/dimens.xml | 1 + app/src/main/res/values/strings.xml | 1075 +++++++++-------- app/src/main/res/xml/pref_advanced.xml | 85 +- 5 files changed, 922 insertions(+), 578 deletions(-) create mode 100644 app/src/main/java/code/name/monkey/retromusic/ui/fragments/mainactivity/home/BannerHomeFragment.java diff --git a/app/src/main/java/code/name/monkey/retromusic/ui/activities/MainActivity.java b/app/src/main/java/code/name/monkey/retromusic/ui/activities/MainActivity.java index 45a8e93e..ec8fdfa8 100644 --- a/app/src/main/java/code/name/monkey/retromusic/ui/activities/MainActivity.java +++ b/app/src/main/java/code/name/monkey/retromusic/ui/activities/MainActivity.java @@ -35,6 +35,7 @@ import code.name.monkey.retromusic.model.Song; import code.name.monkey.retromusic.service.MusicService; import code.name.monkey.retromusic.ui.activities.base.AbsSlidingMusicPanelActivity; import code.name.monkey.retromusic.ui.fragments.mainactivity.LibraryFragment; +import code.name.monkey.retromusic.ui.fragments.mainactivity.home.BannerHomeFragment; import code.name.monkey.retromusic.ui.fragments.mainactivity.home.HomeFragment; import code.name.monkey.retromusic.util.PreferenceUtil; import com.afollestad.materialdialogs.MaterialDialog; @@ -175,7 +176,9 @@ public class MainActivity extends AbsSlidingMusicPanelActivity implements break; default: case R.id.action_home: - setCurrentFragment(HomeFragment.newInstance(), false); + setCurrentFragment(PreferenceUtil.getInstance(this).toggleHomeBanner() ? BannerHomeFragment + .newInstance() : HomeFragment.newInstance(), + false); break; } } @@ -313,7 +316,8 @@ public class MainActivity extends AbsSlidingMusicPanelActivity implements key.equals(PreferenceUtil.KEEP_SCREEN_ON) || key.equals(PreferenceUtil.TOGGLE_SEPARATE_LINE) || key.equals(PreferenceUtil.ALBUM_GRID_STYLE) || - key.equals(PreferenceUtil.ARTIST_GRID_STYLE)) { + key.equals(PreferenceUtil.ARTIST_GRID_STYLE) || + key.equals(PreferenceUtil.TOGGLE_HOME_BANNER)) { postRecreate(); } } diff --git a/app/src/main/java/code/name/monkey/retromusic/ui/fragments/mainactivity/home/BannerHomeFragment.java b/app/src/main/java/code/name/monkey/retromusic/ui/fragments/mainactivity/home/BannerHomeFragment.java new file mode 100644 index 00000000..644b0d7f --- /dev/null +++ b/app/src/main/java/code/name/monkey/retromusic/ui/fragments/mainactivity/home/BannerHomeFragment.java @@ -0,0 +1,331 @@ +package code.name.monkey.retromusic.ui.fragments.mainactivity.home; + +import static code.name.monkey.retromusic.Constants.USER_PROFILE; + +import android.app.Activity; +import android.graphics.Bitmap; +import android.os.Bundle; +import android.support.annotation.NonNull; +import android.support.annotation.Nullable; +import android.support.design.widget.AppBarLayout; +import android.support.design.widget.CollapsingToolbarLayout; +import android.support.v4.content.ContextCompat; +import android.support.v7.widget.GridLayoutManager; +import android.support.v7.widget.LinearLayoutManager; +import android.support.v7.widget.RecyclerView; +import android.support.v7.widget.Toolbar; +import android.util.DisplayMetrics; +import android.view.Display; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.ImageView; +import android.widget.LinearLayout; +import android.widget.TextView; +import butterknife.BindView; +import butterknife.ButterKnife; +import butterknife.OnClick; +import butterknife.Unbinder; +import code.name.monkey.appthemehelper.ThemeStore; +import code.name.monkey.appthemehelper.util.ATHUtil; +import code.name.monkey.appthemehelper.util.ColorUtil; +import code.name.monkey.appthemehelper.util.TintHelper; +import code.name.monkey.retromusic.R; +import code.name.monkey.retromusic.dialogs.HomeOptionDialog; +import code.name.monkey.retromusic.helper.MusicPlayerRemote; +import code.name.monkey.retromusic.interfaces.MainActivityFragmentCallbacks; +import code.name.monkey.retromusic.loaders.SongLoader; +import code.name.monkey.retromusic.model.Album; +import code.name.monkey.retromusic.model.Artist; +import code.name.monkey.retromusic.model.Genre; +import code.name.monkey.retromusic.model.Playlist; +import code.name.monkey.retromusic.model.smartplaylist.HistoryPlaylist; +import code.name.monkey.retromusic.model.smartplaylist.LastAddedPlaylist; +import code.name.monkey.retromusic.model.smartplaylist.MyTopTracksPlaylist; +import code.name.monkey.retromusic.mvp.contract.HomeContract; +import code.name.monkey.retromusic.mvp.presenter.HomePresenter; +import code.name.monkey.retromusic.ui.adapter.GenreAdapter; +import code.name.monkey.retromusic.ui.adapter.album.AlbumFullWithAdapter; +import code.name.monkey.retromusic.ui.adapter.artist.ArtistAdapter; +import code.name.monkey.retromusic.ui.fragments.base.AbsMainActivityFragment; +import code.name.monkey.retromusic.util.Compressor; +import code.name.monkey.retromusic.util.NavigationUtil; +import code.name.monkey.retromusic.util.PreferenceUtil; +import code.name.monkey.retromusic.views.CircularImageView; +import code.name.monkey.retromusic.views.MetalRecyclerViewPager; +import io.reactivex.android.schedulers.AndroidSchedulers; +import io.reactivex.disposables.CompositeDisposable; +import io.reactivex.schedulers.Schedulers; +import java.io.File; +import java.util.ArrayList; + +public class BannerHomeFragment extends AbsMainActivityFragment implements + MainActivityFragmentCallbacks, + HomeContract.HomeView { + + private static final String TAG = "HomeFragment"; + Unbinder unbinder; + @BindView(R.id.home_toolbar) + Toolbar toolbar; + @BindView(R.id.appbar) + AppBarLayout appbar; + @BindView(R.id.user_image) + CircularImageView userImage; + @BindView(R.id.recycler_view) + RecyclerView recentArtistRV; + @BindView(R.id.recent_album) + RecyclerView recentAlbumRV; + @BindView(R.id.top_artist) + RecyclerView topArtistRV; + @BindView(R.id.top_album) + MetalRecyclerViewPager topAlbumRV; + @BindView(R.id.recent_artist_container) + View recentArtistContainer; + @BindView(R.id.recent_albums_container) + View recentAlbumsContainer; + @BindView(R.id.top_artist_container) + View topArtistContainer; + @BindView(R.id.top_albums_container) + View topAlbumContainer; + @BindView(R.id.genres) + RecyclerView genresRecyclerView; + @BindView(R.id.genre_container) + LinearLayout genreContainer; + @BindView(R.id.container) + View container; + @BindView(R.id.title) + TextView title; + @BindView(R.id.search) + ImageView search; + + + private HomePresenter homePresenter; + private CompositeDisposable disposable; + + public static BannerHomeFragment newInstance() { + Bundle args = new Bundle(); + BannerHomeFragment fragment = new BannerHomeFragment(); + fragment.setArguments(args); + return fragment; + } + + + private void loadImageFromStorage(ImageView imageView) { + //noinspection ConstantConditions + disposable.add(new Compressor(getContext()) + .setMaxHeight(300) + .setMaxWidth(300) + .setQuality(75) + .setCompressFormat(Bitmap.CompressFormat.WEBP) + .compressToBitmapAsFlowable( + new File(PreferenceUtil.getInstance(getContext()).getProfileImage(), USER_PROFILE)) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(imageView::setImageBitmap, + throwable -> imageView.setImageDrawable(ContextCompat + .getDrawable(getContext(), R.drawable.ic_person_flat)))); + } + + @Override + public void onCreate(@Nullable Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + disposable = new CompositeDisposable(); + //noinspection ConstantConditions + homePresenter = new HomePresenter(this); + } + + @Nullable + @Override + public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, + @Nullable Bundle savedInstanceState) { + View view = inflater.inflate(R.layout.fragment_banner_home, container, false); + unbinder = ButterKnife.bind(this, view); + return view; + } + + @Override + public void onViewCreated(@NonNull View view, Bundle savedInstanceState) { + super.onViewCreated(view, savedInstanceState); + setStatusbarColorAuto(view); + getMainActivity().getSlidingUpPanelLayout().setShadowHeight(8); + getMainActivity().setBottomBarVisibility(View.VISIBLE); + + setupToolbar(); + loadImageFromStorage(userImage); + + homePresenter.subscribe(); + checkPadding(); + } + + @SuppressWarnings("ConstantConditions") + private void setupToolbar() { + //noinspection ConstantConditions + int primaryColor = ThemeStore.primaryColor(getContext()); + appbar.setBackgroundColor(ColorUtil.darkenColor(primaryColor)); + toolbar.setBackgroundColor(ColorUtil.darkenColor(primaryColor)); + appbar.addOnOffsetChangedListener((appBarLayout, verticalOffset) -> + getMainActivity().setLightStatusbar(!ATHUtil.isWindowBackgroundDark(getContext()))); + + getActivity().setTitle(R.string.app_name); + getMainActivity().setSupportActionBar(toolbar); + + title.setTextColor(ThemeStore.textColorPrimary(getContext())); + TintHelper.setTintAuto(search, ThemeStore.textColorPrimary(getContext()), false); + TintHelper.setTintAuto(container, primaryColor, true); + } + + @Override + public boolean handleBackPress() { + return false; + } + + @Override + public void onDestroyView() { + super.onDestroyView(); + unbinder.unbind(); + disposable.clear(); + homePresenter.unsubscribe(); + } + + @Override + public void loading() { + + } + + @Override + public void showEmptyView() { + + } + + @Override + public void completed() { + + } + + @Override + public void showData(ArrayList homes) { + //homeAdapter.swapDataSet(homes); + } + + @Override + public void onMediaStoreChanged() { + super.onMediaStoreChanged(); + homePresenter.subscribe(); + } + + @Override + public void onServiceConnected() { + super.onServiceConnected(); + checkPadding(); + } + + @Override + public void onQueueChanged() { + super.onQueueChanged(); + checkPadding(); + } + + private void checkPadding() { + int height = getResources().getDimensionPixelSize(R.dimen.mini_player_height); + container.setPadding(0, 0, 0, MusicPlayerRemote.getPlayingQueue().isEmpty() ? height * 2 : 0); + } + + @Override + public void recentArtist(ArrayList artists) { + recentArtistContainer.setVisibility(View.VISIBLE); + recentArtistRV.setLayoutManager(new GridLayoutManager(getMainActivity(), + 1, GridLayoutManager.HORIZONTAL, false)); + ArtistAdapter artistAdapter = new ArtistAdapter(getMainActivity(), artists, + R.layout.item_artist, false, null); + recentArtistRV.setAdapter(artistAdapter); + } + + @Override + public void recentAlbum(ArrayList albums) { + recentAlbumsContainer.setVisibility(View.VISIBLE); + AlbumFullWithAdapter artistAdapter = new AlbumFullWithAdapter(getMainActivity(), + getDisplayMetrics()); + artistAdapter.swapData(albums); + recentAlbumRV.setAdapter(artistAdapter); + } + + @Override + public void topArtists(ArrayList artists) { + topArtistContainer.setVisibility(View.VISIBLE); + topArtistRV.setLayoutManager(new GridLayoutManager(getMainActivity(), + 1, GridLayoutManager.HORIZONTAL, false)); + ArtistAdapter artistAdapter = new ArtistAdapter(getMainActivity(), artists, + R.layout.item_artist, false, null); + topArtistRV.setAdapter(artistAdapter); + + } + + @Override + public void topAlbums(ArrayList albums) { + topAlbumContainer.setVisibility(View.VISIBLE); + AlbumFullWithAdapter artistAdapter = new AlbumFullWithAdapter(getMainActivity(), + getDisplayMetrics()); + artistAdapter.swapData(albums); + topAlbumRV.setAdapter(artistAdapter); + } + + private DisplayMetrics getDisplayMetrics() { + Display display = getMainActivity().getWindowManager().getDefaultDisplay(); + DisplayMetrics metrics = new DisplayMetrics(); + display.getMetrics(metrics); + + return metrics; + } + + @Override + public void suggestions(ArrayList playlists) { + + } + + + @Override + public void geners(ArrayList genres) { + genreContainer.setVisibility(View.VISIBLE); + genresRecyclerView.setLayoutManager(new LinearLayoutManager(getContext())); + //noinspection ConstantConditions + GenreAdapter genreAdapter = new GenreAdapter(getActivity(), genres, R.layout.item_list); + genresRecyclerView.setAdapter(genreAdapter); + } + + + @OnClick({R.id.last_added, R.id.top_played, R.id.action_shuffle, R.id.history, + R.id.user_image, R.id.search}) + void startUserInfo(View view) { + Activity activity = getActivity(); + if (activity != null) { + switch (view.getId()) { + case R.id.action_shuffle: + MusicPlayerRemote + .openAndShuffleQueue(SongLoader.getAllSongs(activity).blockingFirst(), true); + break; + case R.id.last_added: + NavigationUtil.goToPlaylistNew(activity, new LastAddedPlaylist(activity)); + break; + case R.id.top_played: + NavigationUtil.goToPlaylistNew(activity, new MyTopTracksPlaylist(activity)); + break; + case R.id.history: + NavigationUtil.goToPlaylistNew(activity, new HistoryPlaylist(activity)); + break; + case R.id.search: + NavigationUtil.goToSearch(activity); + break; + case R.id.user_image: + new HomeOptionDialog().show(getFragmentManager(), TAG); + break; + } + } + } + + @Override + public void onPlayingMetaChanged() { + super.onPlayingMetaChanged(); + homePresenter.loadRecentArtists(); + homePresenter.loadRecentAlbums(); + } +} \ No newline at end of file diff --git a/app/src/main/res/values/dimens.xml b/app/src/main/res/values/dimens.xml index fab1fbdb..f5afcb52 100644 --- a/app/src/main/res/values/dimens.xml +++ b/app/src/main/res/values/dimens.xml @@ -90,4 +90,5 @@ http://developer.android.com/guide/topics/appwidgets/index.html#CreatingLayout 80dp 32dp + -12dp diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index a5d7a46c..a716169b 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -1,680 +1,681 @@ - Accent color - The accent theme color, defaults to teal - - About - Add to favorites - Add to playing queue - Add to playlist… - Clear playing queue - Clear playlist - Cycle repeat mode - Delete - Delete from device - Details - Go to album - Go to artist - Go to genre - Go to start directory - Grant - Grid size - Grid size (land) - New playlist… - Next - Play - Play next - Play/Pause - Previous - Update artist image - Remove from favorites - Remove from playing queue - Remove from playlist - Rename - Save playing queue - Scan - Scan directory - Search - Set - Set as ringtone - Set as start directory - "Settings" - Share - Show lyrics - Shuffle album - Shuffle all - Shuffle artist - Shuffle playlist - Sleep timer - Sort order - Tag editor - Toggle favorite - Toggle shuffle mode - - Adaptive - - Add - Add \nphoto - "Add to playlist" - - "Added 1 title to the playing queue." - Added %1$d titles to the playing queue. - - Album - Album artist - Album desc. - The title or artist is empty. - - Albums - - Albums - - Always - - Hey check out this cool music player at: https://play.google.com/store/apps/details?id=%s - - @string/last_added - @string/last_added - @string/action_shuffle_all - Shuffle - @string/my_top_tracks - Top Tracks - A Hybrid application between Material design and iOS in mind. - Retro music - Big - Retro music - Big2 - Retro music - Card - Retro music - Classic - Retro music - Small - - Artist - Artist desc. - - Artists - - - At least one category must be enabled. - - Audio focus denied. - Change the sound settings and adjust the equalizer controls - - Bass Boost - Bass Boost Strength - - Biography - Couldn\u2019t find the artists biography. + Accent color + The accent theme color, defaults to teal + + About + Add to favorites + Add to playing queue + Add to playlist… + Clear playing queue + Clear playlist + Cycle repeat mode + Delete + Delete from device + Details + Go to album + Go to artist + Go to genre + Go to start directory + Grant + Grid size + Grid size (land) + New playlist… + Next + Play + Play next + Play/Pause + Previous + Update artist image + Remove from favorites + Remove from playing queue + Remove from playlist + Rename + Save playing queue + Scan + Scan directory + Search + Set + Set as ringtone + Set as start directory + "Settings" + Share + Show lyrics + Shuffle album + Shuffle all + Shuffle artist + Shuffle playlist + Sleep timer + Sort order + Tag editor + Toggle favorite + Toggle shuffle mode + + Adaptive + + Add + Add \nphoto + "Add to playlist" + + "Added 1 title to the playing queue." + Added %1$d titles to the playing queue. + + Album + Album artist + Album desc. + The title or artist is empty. + + Albums + + Albums + + Always + + Hey check out this cool music player at: https://play.google.com/store/apps/details?id=%s + + @string/last_added + @string/last_added + @string/action_shuffle_all + Shuffle + @string/my_top_tracks + Top Tracks + A Hybrid application between Material design and iOS in mind. + Retro music - Big + Retro music - Big2 + Retro music - Card + Retro music - Classic + Retro music - Small + + Artist + Artist desc. + + Artists + + + At least one category must be enabled. + + Audio focus denied. + Change the sound settings and adjust the equalizer controls + + Bass Boost + Bass Boost Strength + + Biography + Couldn\u2019t find the artists biography. - Just Black + Just Black - Blacklist + Blacklist - Blur - Blur Card - Keep the screen on - Keep in mind that enabling this feature may affect battery life - Blur amount - Amount of blur applied for blur themes, lower is faster + Blur + Blur Card + Keep the screen on + Keep in mind that enabling this feature may affect battery life + Blur amount + Amount of blur applied for blur themes, lower is faster - Buy RetroMusic Pro + Buy RetroMusic Pro - Cancel current timer + Cancel current timer - Card - Colored Card - Card + Card + Colored Card + Card - Cast + Cast - Changelog - Changelog maintained on the Telegram channel + Changelog + Changelog maintained on the Telegram channel - Clear - Clear blacklist - Clear playlist - %1$s? This can\u2019t be undone!]]> + Clear + Clear blacklist + Clear playlist + %1$s? This can\u2019t be undone!]]> - Close + Close - Color - Color - Color style + Color + Color + Color style - Colored footers + Colored footers - Colors + Colors - Couldn\u2019t create playlist. - "Couldn\u2019t download a matching album cover." - Could not restore purchase. - Could not scan %d files. + Couldn\u2019t create playlist. + "Couldn\u2019t download a matching album cover." + Could not restore purchase. + Could not scan %d files. - Create + Create - Created playlist %1$s. + Created playlist %1$s. - Members and contributors + Members and contributors - Currently listening to %1$s by %2$s. + Currently listening to %1$s by %2$s. - Custom + Custom - Kinda Dark + Kinda Dark - Date + Date - No Lyrics + No Lyrics - Delete - Delete playlist - %1$s?]]> - Delete playlists - Delete song - %1$s?]]> - Delete songs - %1$d playlists?]]> - %1$d songs?]]> + Delete + Delete playlist + %1$s?]]> + Delete playlists + Delete song + %1$s?]]> + Delete songs + %1$d playlists?]]> + %1$d songs?]]> - Deleted %1$d songs. + Deleted %1$d songs. - Deleting songs + Deleting songs - Discord - Join the Discord server to keep up with the latest news + Discord + Join the Discord server to keep up with the latest news - Do you want to clear the blacklist? - %1$s from the blacklist?]]> + Do you want to clear the blacklist? + %1$s from the blacklist?]]> - Donate - If you think I deserve to get paid for my work, you can leave me a few dollars here. + Donate + If my development deserve to get paid, you can leave some + dollars here - Buy me a + Buy me a - Download from Last.fm + Download from Last.fm - Duration + Duration - Edit - Edit categories - Edit cover - Edit tags + Edit + Edit categories + Edit cover + Edit tags - Empty + Empty - Equalizer + Equalizer - Error loading from network + Error loading from network - Experimental + Experimental - Facebook Page - Help us to grove faster by sharing facebook page + Facebook Page + Help us to grove faster by sharing facebook page - Failed to save playlist (%s). + Failed to save playlist (%s). - FAQ + FAQ - Favorites + Favorites - Flat + Flat - Folders + Folders - For you + For you - Full + Full - Change the theme and colors of the app - Look and feel + Change the theme and colors of the app + Look and feel - Genre + Genre - Genres + Genres - Fork the project on GitHub + Fork the project on GitHub - Join the Google Plus community where you can ask for help or follow Retro Music updates + Join the Google Plus community where you can ask for help or follow Retro Music updates - Gradient + Gradient - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 - History - History + History + History - Holiday + Holiday - Home + Home - Change artist image download settings + Change artist image download settings - Inserted %1$d songs into the playlist %2$s. + Inserted %1$d songs into the playlist %2$s. - Inspired designs by + Inspired designs by - Instagram - Share your Retro Music setup to showcase on Instagram + Instagram + Share your Retro Music setup to showcase on Instagram - Join the Google Plus community - If you need help or have questions, the Retro Music community on Google Plus is a good place to go. + Join the Google Plus community + If you need help or have questions, the Retro Music community on Google Plus is a good place to go. - Bitrate - Details - Format - File name - File path - Size - Sampling rate - Length + Bitrate + Details + Format + File name + File path + Size + Sampling rate + Length - Language translators + Language translators - Last added + Last added - Let\'s play some music + Let\'s play some music - Library - Library categories + Library + Library categories - Licenses + Licenses - Clearly White + Clearly White - List style + List style - Listing files + Listing files - Loading... - Loading products… + Loading... + Loading products… - Lyrics + Lyrics - Material + Material - Cast device + Cast device - More + More - My Name - My playlist - Top played + My Name + My playlist + Top played - Never + Never - New banner photo - New Music Mix - New playlist - New profile photo - %s is the new start directory. + New banner photo + New Music Mix + New playlist + New profile photo + %s is the new start directory. - No albums - No artists - "Play a song first, then try again." - No equalizer found - No files - No genres - No lyrics found - No playlists - No purchase found. - No results - No songs + No albums + No artists + "Play a song first, then try again." + No equalizer found + No files + No genres + No lyrics found + No playlists + No purchase found. + No results + No songs - Normal - Normal lyrics - Normal + Normal + Normal lyrics + Normal - %s is not listed in the media store.]]> + %s is not listed in the media store.]]> - Nothing to scan. + Nothing to scan. - Notification - Customize the notification style + Notification + Customize the notification style - Now playing - Now playing queue + Now playing + Now playing queue - Only on Wi-Fi + Only on Wi-Fi - Other + Other - Past 3 months + Past 3 months - Patreon page - Support us from patreon + Patreon page + Support us from patreon - PayPal.me - PayPal.me is an easy way to donate us money. In case you only linked a debit or credit card the fee in the U.S. is 2.9% of the donation plus $0.30 USD, otherwise there is no fee.more + PayPal.me + PayPal.me is an easy way to donate us money. In case you only linked a debit or credit card the fee in the U.S. is 2.9% of the donation plus $0.30 USD, otherwise there is no fee.more - Permission to access external storage denied. - - Permissions denied. - - Personalize - Customize your now playing and UI controls - - Pick from local storage - - Plain - - Play - Play all - - The playing notification provides actions for play/pause etc. - Playing notification - - Empty playlist - Playlist is empty - Playlist name - - Playlists - Playlists - - Audio - Theme - Images - Lockscreen - Now playing - Playlists - "Only available on Lollipop." - "Only available on Nougat 7.1." - People who helped on the project - Use the currently playing song album cover as the lockscreen wallpaper - Lower the volume when a system sound is played or a notification is received - Blur the album cover on the lockscreen. Can cause problems with third party apps and widgets - Carousel effect for the album art in the now playing screen. Note that Card and Blur Card themes won\'t work - Show a circular album cover in the now playing screen. Note that only a few themes work with this feature - Use the classic notification design - The background and control button colors change according to the album art from the now playing screen - Colors the app shortcuts in the accent color. Every time you change the color please toggle this to take effect - Colors the navigation bar in the primary color - "Colors the notification in the album cover\u2019s vibrant color" - Shows song details on dream when music is playing - Most dominant color will be picked from the album or artist cover - Exclude songs that are less than 30 secs. - "Can cause playback issues on some devices." - Can increase the album cover quality, but causes slower image loading times. Only enable this if you have problems with low resolution artworks - Change app language forcefully to english(this is testing for multiple language option) - Configure visibility and order of library categories. - Use Retro Music\'s custom lockscreen controls - Show full controls from the lock screen - License details for open source software - Round the app\'s edges - Toggle titles for the bottom navigation bar tabs - Animations makes some device run slow, load images slow - Disable titles from bottom navigation bar - Immersive mode - Show genres on the home screen - Start playing immediately after headphones are connected - Hide only navigation bar - Toggle view of separate line in list of items - Shuffle mode will turn off when playing a new list of songs - Hide only status bar - If enough space is available, show volume controls in the now playing screen - Show album cover - Album grid - Colored app shortcuts - Artist grid - Reduce volume on focus loss - Auto-download artist images - Blur album cover - Choose equalizer - Classic notification design - Adaptive color - Colored notification - Day dream - Exclude songs - Give access to external storage - Gapless playback - App theme - Choose color - Ignore Media Store covers - Last added playlist interval - Fullscreen controls - Retro lock screen - Lyrics options - Colored navigation bar - Now playing theme - Open source licences - Corner edges - Animations - Disable titles - Carousel effect - Circular album - Dominant color - Fullscreen app - Show genre - English language - Navigation bar - Separate line - Status bar - Tab titles - Auto-play - Shuffle mode - Volume controls - User info - - Primary color - The primary theme color, defaults to blue grey, for now works with dark colors - - Purchase - *Think before buying, don\'t ask for refund. - - Queue - Queue - - Rate the app - Love this app? Let us know in the Google Play Store how we can make it even better - - Recent activity - Recent albums - Recent artists - - Remove - Remove banner photo - Remove cover - Remove from blacklist - Remove profile photo - Remove song from playlist - %1$s from the playlist?]]> - Remove songs from playlist - %1$d songs from the playlist?]]> - - Rename - Rename playlist - - Reset - Reset artist image - - Restore - - Restored previous purchase. Please restart the app to make use of all features. - Restored previous purchases. - - Restoring purchase… - - Retro - Retro Music Equalizer - - File delete failed: %s - - Can\'t get SAF URI - Open navigation drawer - Enable \'Show SD card\' in overflow menu - - %s needs SD card access - You need to select your SD card root directory - Select your SD card in navigation drawer - Do not open any subfolders - Tap \'select\' button at the bottom of the screen - File access required. Pick %s - SD card access required. Please pick root directory of SD card - File write failed: %s - - Save as file - Save as files - - Saved playlist to %s. - - Saving changes - Saving tags - Saving to file… - - Scan media - - Scanned %1$d of %2$d files. + Permission to access external storage denied. + + Permissions denied. + + Personalize + Customize your now playing and UI controls + + Pick from local storage + + Plain + + Play + Play all + + The playing notification provides actions for play/pause etc. + Playing notification + + Empty playlist + Playlist is empty + Playlist name + + Playlists + Playlists + + Audio + Theme + Images + Lockscreen + Now playing + Playlists + "Only available on Lollipop." + "Only available on Nougat 7.1." + People who helped on the project + Use the currently playing song album cover as the lockscreen wallpaper + Lower the volume when a system sound is played or a notification is received + Blur the album cover on the lockscreen. Can cause problems with third party apps and widgets + Carousel effect for the album art in the now playing screen. Note that Card and Blur Card themes won\'t work + Show a circular album cover in the now playing screen. Note that only a few themes work with this feature + Use the classic notification design + The background and control button colors change according to the album art from the now playing screen + Colors the app shortcuts in the accent color. Every time you change the color please toggle this to take effect + Colors the navigation bar in the primary color + "Colors the notification in the album cover\u2019s vibrant color" + Shows song details on dream when music is playing + Most dominant color will be picked from the album or artist cover + Exclude songs that are less than 30 secs. + "Can cause playback issues on some devices." + Can increase the album cover quality, but causes slower image loading times. Only enable this if you have problems with low resolution artworks + Change app language forcefully to english(this is testing for multiple language option) + Configure visibility and order of library categories. + Use Retro Music\'s custom lockscreen controls + Show full controls from the lock screen + License details for open source software + Round the app\'s edges + Toggle titles for the bottom navigation bar tabs + Animations makes some device run slow, load images slow + Disable titles from bottom navigation bar + Immersive mode + Show genres on the home screen + Start playing immediately after headphones are connected + Hide only navigation bar + Toggle view of separate line in list of items + Shuffle mode will turn off when playing a new list of songs + Hide only status bar + If enough space is available, show volume controls in the now playing screen + Show album cover + Album grid + Colored app shortcuts + Artist grid + Reduce volume on focus loss + Auto-download artist images + Blur album cover + Choose equalizer + Classic notification design + Adaptive color + Colored notification + Day dream + Exclude songs + Give access to external storage + Gapless playback + App theme + Choose color + Ignore Media Store covers + Last added playlist interval + Fullscreen controls + Retro lock screen + Lyrics options + Colored navigation bar + Now playing theme + Open source licences + Corner edges + Animations + Disable titles + Carousel effect + Circular album + Dominant color + Fullscreen app + Show genre + English language + Navigation bar + Separate line + Status bar + Tab titles + Auto-play + Shuffle mode + Volume controls + User info + + Primary color + The primary theme color, defaults to blue grey, for now works with dark colors + + Purchase + *Think before buying, don\'t ask for refund. + + Queue + Queue + + Rate the app + Love this app? Let us know in the Google Play Store how we can make it even better + + Recent activity + Recent albums + Recent artists + + Remove + Remove banner photo + Remove cover + Remove from blacklist + Remove profile photo + Remove song from playlist + %1$s from the playlist?]]> + Remove songs from playlist + %1$d songs from the playlist?]]> + + Rename + Rename playlist + + Reset + Reset artist image + + Restore + + Restored previous purchase. Please restart the app to make use of all features. + Restored previous purchases. + + Restoring purchase… + + Retro + Retro Music Equalizer + + File delete failed: %s + + Can\'t get SAF URI + Open navigation drawer + Enable \'Show SD card\' in overflow menu + + %s needs SD card access + You need to select your SD card root directory + Select your SD card in navigation drawer + Do not open any subfolders + Tap \'select\' button at the bottom of the screen + File access required. Pick %s + SD card access required. Please pick root directory of SD card + File write failed: %s + + Save as file + Save as files + + Saved playlist to %s. + + Saving changes + Saving tags + Saving to file… + + Scan media + + Scanned %1$d of %2$d files. - Search your library… + Search your library… - See all + See all - Select all - Select banner photo - Select Preset - Set a profile photo + Select all + Select banner photo + Select Preset + Set a profile photo - Set artist image + Set artist image - Shuffle + Shuffle - Simple + Simple - Sleep timer canceled. - Sleep timer set for %d minutes from now. + Sleep timer canceled. + Sleep timer set for %d minutes from now. - Swipe to unlock + Swipe to unlock - Smart playlists + Smart playlists - Social + Social - Solid + Solid - Some files are not listed in the media store. + Some files are not listed in the media store. - Song - Song duration + Song + Song duration - Songs + Songs - Sort order - Ascending - Album - Artist - Date - Year - Descending + Sort order + Ascending + Album + Artist + Date + Year + Descending - Sorry! Your device doesn\'t support speech input - Search your library + Sorry! Your device doesn\'t support speech input + Search your library - Suggestions + Suggestions - Material design city wallpapers from www.techjuice.pk website - For all icons we used from this websites www.flaticon.com or www.materialdesignicons.com - Just show your name on home screen + Material design city wallpapers from www.techjuice.pk website + For all icons we used from this websites www.flaticon.com or www.materialdesignicons.com + Just show your name on home screen - Support the development - If you enjoy using Retro Music Player consider donation as support to my work. + Support development + If you enjoy using Retro Music Player consider donation as support to my work. - Synced lyrics + Synced lyrics - System Equalizer + System Equalizer - - An error occurred editing tags. - Checking for permissions - Select the external storage directory - It seems that we don\'t have permission to edit the files. Double check the directory in the file picker. - An error occurred editing tags. Is the file stored on an SD Card? If so, Google have made tag editing impossible for this file. - An error occurred editing tags. If the file is stored on an SD Card, Retro Music might not have permission to access it. - An error occurred retrieving tags. + + An error occurred editing tags. + Checking for permissions + Select the external storage directory + It seems that we don\'t have permission to edit the files. Double check the directory in the file picker. + An error occurred editing tags. Is the file stored on an SD Card? If so, Google have made tag editing impossible for this file. + An error occurred editing tags. If the file is stored on an SD Card, Retro Music might not have permission to access it. + An error occurred retrieving tags. - Telegram - Join the Telegram group to discuss bugs, make suggestions, show off and more + Telegram + Join the Telegram group to discuss bugs, make suggestions, show off and more - Text + Text - Thank you! + Thank you! - The audio file + The audio file - This month - This week - This year + This month + This week + This year - Tiny + Tiny - Title - Dashboard - Title desc. - Good afternoon - Good day - Good evening - Good morning - Good night - Home - City wallpaper - Icons - Notifications - What\'s Your Name + Title + Dashboard + Title desc. + Good afternoon + Good day + Good evening + Good morning + Good night + Home + City wallpaper + Icons + Notifications + What\'s Your Name - Today + Today - Toggle lyrics size + Toggle lyrics size - See all songs + See all songs - Top albums - Top artists - Top tracks - Top Tracks + Top albums + Top artists + Top tracks + Top Tracks - "Track (2 for track 2 or 3004 for CD3 track 4)" - Track number + "Track (2 for track 2 or 3004 for CD3 track 4)" + Track number - Translate - Help us translate the app to your language + Translate + Help us translate the app to your language - Twitter - Share your design with Retro Music + Twitter + Share your design with Retro Music - Couldn\u2019t play this song. + Couldn\u2019t play this song. - Up next + Up next - Update - Update image + Update + Update image - Artist image updated. + Artist image updated. - Updating… + Updating… - Change profile and banner image + Change profile and banner image - Version + Version - Virtualizer - Virtualizer Strength + Virtualizer + Virtualizer Strength - Volume control + Volume control - Web search + Web search - What do you want to share? + What do you want to share? - Window + Window - Set %1$s as your ringtone. - %1$d selected + Set %1$s as your ringtone. + %1$d selected - Year + Year - You have to select at least one category - Made with ❤️ in India + You have to select at least one category + Made with ❤️ in India diff --git a/app/src/main/res/xml/pref_advanced.xml b/app/src/main/res/xml/pref_advanced.xml index e3706485..64640dab 100755 --- a/app/src/main/res/xml/pref_advanced.xml +++ b/app/src/main/res/xml/pref_advanced.xml @@ -1,48 +1,55 @@ - + - + - + - + - + - + - - + + + + + \ No newline at end of file