├── .editorconfig
├── .gitattributes
├── .github
├── ISSUE_TEMPLATE
│ ├── bug_report.md
│ └── feature_request.md
└── workflows
│ └── android.yml
├── .gitignore
├── CONTRIBUTING.md
├── FAQ.md
├── LICENSE.md
├── README.md
├── app
├── build.gradle
├── proguard-rules.pro
└── src
│ ├── debug
│ └── res
│ │ ├── font
│ │ ├── bold.ttf
│ │ ├── google_sans_bold.ttf
│ │ ├── google_sans_medium.ttf
│ │ ├── google_sans_regular.ttf
│ │ ├── medium.ttf
│ │ ├── regular.ttf
│ │ └── sans.xml
│ │ └── values
│ │ ├── bools.xml
│ │ ├── donottranslate.xml
│ │ └── styles.xml
│ └── main
│ ├── AndroidManifest.xml
│ ├── assets
│ ├── images
│ │ ├── daksh.png
│ │ ├── haythem.jpg
│ │ ├── hemanth.jpg
│ │ ├── lenny.jpg
│ │ ├── milind.png
│ │ └── pratham.jpg
│ ├── license.html
│ └── retro-changelog.html
│ ├── ic_launcher-playstore.png
│ ├── ic_launcher-web.png
│ ├── java
│ └── code
│ │ └── name
│ │ └── monkey
│ │ └── retromusic
│ │ ├── App.kt
│ │ ├── Constants.kt
│ │ ├── HomeSection.kt
│ │ ├── MainModule.kt
│ │ ├── activities
│ │ ├── DriveModeActivity.kt
│ │ ├── ErrorActivity.kt
│ │ ├── LicenseActivity.kt
│ │ ├── LockScreenActivity.kt
│ │ ├── MainActivity.kt
│ │ ├── PermissionActivity.kt
│ │ ├── ShareInstagramStory.kt
│ │ ├── WhatsNewFragment.kt
│ │ ├── base
│ │ │ ├── AbsBaseActivity.kt
│ │ │ ├── AbsMusicServiceActivity.kt
│ │ │ ├── AbsSlidingMusicPanelActivity.kt
│ │ │ └── AbsThemeActivity.kt
│ │ ├── bugreport
│ │ │ ├── BugReportActivity.kt
│ │ │ └── model
│ │ │ │ └── DeviceInfo.kt
│ │ ├── saf
│ │ │ ├── SAFGuideActivity.java
│ │ │ └── SAFRequestActivity.kt
│ │ └── tageditor
│ │ │ ├── AbsTagEditorActivity.kt
│ │ │ ├── AlbumTagEditorActivity.kt
│ │ │ ├── SongTagEditorActivity.kt
│ │ │ └── TagWriter.kt
│ │ ├── adapter
│ │ ├── CategoryInfoAdapter.kt
│ │ ├── GenreAdapter.kt
│ │ ├── HomeAdapter.kt
│ │ ├── SearchAdapter.kt
│ │ ├── SongFileAdapter.kt
│ │ ├── StorageAdapter.kt
│ │ ├── album
│ │ │ ├── AlbumAdapter.kt
│ │ │ ├── AlbumCoverPagerAdapter.kt
│ │ │ └── HorizontalAlbumAdapter.kt
│ │ ├── artist
│ │ │ └── ArtistAdapter.kt
│ │ ├── backup
│ │ │ └── BackupAdapter.kt
│ │ ├── base
│ │ │ ├── AbsMultiSelectAdapter.kt
│ │ │ └── MediaEntryViewHolder.java
│ │ ├── playlist
│ │ │ ├── LegacyPlaylistAdapter.kt
│ │ │ └── PlaylistAdapter.kt
│ │ └── song
│ │ │ ├── AbsOffsetSongAdapter.kt
│ │ │ ├── OrderablePlaylistSongAdapter.kt
│ │ │ ├── PlayingQueueAdapter.kt
│ │ │ ├── ShuffleButtonSongAdapter.kt
│ │ │ ├── SimpleSongAdapter.kt
│ │ │ └── SongAdapter.kt
│ │ ├── appshortcuts
│ │ ├── AppShortcutIconGenerator.kt
│ │ ├── AppShortcutLauncherActivity.kt
│ │ ├── DynamicShortcutManager.kt
│ │ └── shortcuttype
│ │ │ ├── BaseShortcutType.kt
│ │ │ ├── LastAddedShortcutType.kt
│ │ │ ├── ShuffleAllShortcutType.kt
│ │ │ └── TopTracksShortcutType.kt
│ │ ├── appwidgets
│ │ ├── AppWidgetBig.kt
│ │ ├── AppWidgetCard.kt
│ │ ├── AppWidgetCircle.kt
│ │ ├── AppWidgetClassic.kt
│ │ ├── AppWidgetMD3.kt
│ │ ├── AppWidgetSmall.kt
│ │ ├── AppWidgetText.kt
│ │ ├── BootReceiver.kt
│ │ └── base
│ │ │ └── BaseAppWidget.kt
│ │ ├── auto
│ │ ├── AutoMediaIDHelper.java
│ │ ├── AutoMusicProvider.kt
│ │ └── MediaItemBuilder.kt
│ │ ├── db
│ │ ├── BlackListStoreDao.kt
│ │ ├── BlackListStoreEntity.kt
│ │ ├── HistoryDao.kt
│ │ ├── HistoryEntity.kt
│ │ ├── LyricsDao.kt
│ │ ├── LyricsEntity.kt
│ │ ├── PlayCountDao.kt
│ │ ├── PlayCountEntity.kt
│ │ ├── PlaylistDao.kt
│ │ ├── PlaylistEntity.kt
│ │ ├── PlaylistWithSongs.kt
│ │ ├── RetroDatabase.kt
│ │ ├── RoomMigrations.kt
│ │ ├── SongEntity.kt
│ │ └── SongExtension.kt
│ │ ├── dialogs
│ │ ├── AddToPlaylistDialog.kt
│ │ ├── BlacklistFolderChooserDialog.kt
│ │ ├── CreatePlaylistDialog.kt
│ │ ├── DeletePlaylistDialog.kt
│ │ ├── DeleteSongsDialog.kt
│ │ ├── ImportPlaylistDialog.kt
│ │ ├── PlaybackSpeedDialog.kt
│ │ ├── RemoveSongFromPlaylistDialog.kt
│ │ ├── RenamePlaylistDialog.kt
│ │ ├── SavePlaylistDialog.kt
│ │ ├── SleepTimerDialog.kt
│ │ ├── SongDetailDialog.kt
│ │ └── SongShareDialog.kt
│ │ ├── extensions
│ │ ├── ActivityExtensions.kt
│ │ ├── ActivityThemeExtensions.kt
│ │ ├── ColorExtensions.kt
│ │ ├── ContextExtensions.kt
│ │ ├── CursorExtensions.kt
│ │ ├── DialogExtension.kt
│ │ ├── DimenExtension.kt
│ │ ├── DrawableExtensions.kt
│ │ ├── FileExtensions.kt
│ │ ├── FragmentExtensions.kt
│ │ ├── FragmentMusicExtensions.kt
│ │ ├── InsetsExtensions.kt
│ │ ├── IntentExtensions.kt
│ │ ├── NavigationExtensions.kt
│ │ ├── PaletteExtensions.kt
│ │ ├── PreferenceExtensions.kt
│ │ ├── SongExtensions.kt
│ │ └── ViewExtensions.kt
│ │ ├── fragments
│ │ ├── AlbumCoverStyle.kt
│ │ ├── GridStyle.kt
│ │ ├── LibraryViewModel.kt
│ │ ├── MusicSeekSkipTouchListener.kt
│ │ ├── NowPlayingScreen.kt
│ │ ├── about
│ │ │ └── AboutFragment.kt
│ │ ├── albums
│ │ │ ├── AlbumDetailsFragment.kt
│ │ │ ├── AlbumDetailsViewModel.kt
│ │ │ └── AlbumsFragment.kt
│ │ ├── artists
│ │ │ ├── AbsArtistDetailsFragment.kt
│ │ │ ├── AlbumArtistDetailsFragment.kt
│ │ │ ├── ArtistDetailsFragment.kt
│ │ │ ├── ArtistDetailsViewModel.kt
│ │ │ └── ArtistsFragment.kt
│ │ ├── backup
│ │ │ ├── BackupFragment.kt
│ │ │ ├── BackupViewModel.kt
│ │ │ └── RestoreActivity.kt
│ │ ├── base
│ │ │ ├── AbsMainActivityFragment.kt
│ │ │ ├── AbsMusicServiceFragment.kt
│ │ │ ├── AbsPlayerControlsFragment.kt
│ │ │ ├── AbsPlayerFragment.kt
│ │ │ ├── AbsRecyclerViewCustomGridSizeFragment.kt
│ │ │ └── AbsRecyclerViewFragment.kt
│ │ ├── folder
│ │ │ └── FoldersFragment.kt
│ │ ├── genres
│ │ │ ├── GenreDetailsFragment.kt
│ │ │ ├── GenreDetailsViewModel.kt
│ │ │ └── GenresFragment.kt
│ │ ├── home
│ │ │ ├── HomeBinding.kt
│ │ │ └── HomeFragment.kt
│ │ ├── library
│ │ │ └── LibraryFragment.kt
│ │ ├── lyrics
│ │ │ └── LyricsFragment.kt
│ │ ├── other
│ │ │ ├── DetailListFragment.kt
│ │ │ ├── MiniPlayerFragment.kt
│ │ │ ├── PlayingQueueRVFragment.kt
│ │ │ ├── UserInfoFragment.kt
│ │ │ └── VolumeFragment.kt
│ │ ├── player
│ │ │ ├── CoverLyricsFragment.kt
│ │ │ ├── PlayerAlbumCoverFragment.kt
│ │ │ ├── adaptive
│ │ │ │ ├── AdaptiveFragment.kt
│ │ │ │ └── AdaptivePlaybackControlsFragment.kt
│ │ │ ├── blur
│ │ │ │ ├── BlurPlaybackControlsFragment.kt
│ │ │ │ └── BlurPlayerFragment.kt
│ │ │ ├── card
│ │ │ │ ├── CardFragment.kt
│ │ │ │ └── CardPlaybackControlsFragment.kt
│ │ │ ├── cardblur
│ │ │ │ ├── CardBlurFragment.kt
│ │ │ │ └── CardBlurPlaybackControlsFragment.kt
│ │ │ ├── circle
│ │ │ │ └── CirclePlayerFragment.kt
│ │ │ ├── classic
│ │ │ │ └── ClassicPlayerFragment.kt
│ │ │ ├── color
│ │ │ │ ├── ColorFragment.kt
│ │ │ │ └── ColorPlaybackControlsFragment.kt
│ │ │ ├── fit
│ │ │ │ ├── FitFragment.kt
│ │ │ │ └── FitPlaybackControlsFragment.kt
│ │ │ ├── flat
│ │ │ │ ├── FlatPlaybackControlsFragment.kt
│ │ │ │ └── FlatPlayerFragment.kt
│ │ │ ├── full
│ │ │ │ ├── FullPlaybackControlsFragment.kt
│ │ │ │ └── FullPlayerFragment.kt
│ │ │ ├── gradient
│ │ │ │ └── GradientPlayerFragment.kt
│ │ │ ├── home
│ │ │ │ └── HomePlayerFragment.kt
│ │ │ ├── lockscreen
│ │ │ │ └── LockScreenControlsFragment.kt
│ │ │ ├── material
│ │ │ │ ├── MaterialControlsFragment.kt
│ │ │ │ └── MaterialFragment.kt
│ │ │ ├── md3
│ │ │ │ ├── MD3PlaybackControlsFragment.kt
│ │ │ │ └── MD3PlayerFragment.kt
│ │ │ ├── normal
│ │ │ │ ├── PlayerFragment.kt
│ │ │ │ └── PlayerPlaybackControlsFragment.kt
│ │ │ ├── peek
│ │ │ │ ├── PeekPlayerControlFragment.kt
│ │ │ │ └── PeekPlayerFragment.kt
│ │ │ ├── plain
│ │ │ │ ├── PlainPlaybackControlsFragment.kt
│ │ │ │ └── PlainPlayerFragment.kt
│ │ │ ├── simple
│ │ │ │ ├── SimplePlaybackControlsFragment.kt
│ │ │ │ └── SimplePlayerFragment.kt
│ │ │ └── tiny
│ │ │ │ ├── TinyPlaybackControlsFragment.kt
│ │ │ │ └── TinyPlayerFragment.kt
│ │ ├── playlists
│ │ │ ├── PlaylistDetailsFragment.kt
│ │ │ ├── PlaylistDetailsViewModel.kt
│ │ │ └── PlaylistsFragment.kt
│ │ ├── queue
│ │ │ └── PlayingQueueFragment.kt
│ │ ├── search
│ │ │ └── SearchFragment.kt
│ │ ├── settings
│ │ │ ├── AbsSettingsFragment.kt
│ │ │ ├── AudioSettings.kt
│ │ │ ├── ImageSettingFragment.kt
│ │ │ ├── MainSettingsFragment.kt
│ │ │ ├── NotificationSettingsFragment.kt
│ │ │ ├── NowPlayingSettingsFragment.kt
│ │ │ ├── OtherSettingsFragment.kt
│ │ │ ├── PersonalizeSettingsFragment.kt
│ │ │ ├── SettingsFragment.kt
│ │ │ └── ThemeSettingsFragment.kt
│ │ └── songs
│ │ │ └── SongsFragment.kt
│ │ ├── glide
│ │ ├── BlurTransformation.kt
│ │ ├── RetroGlideExtension.kt
│ │ ├── RetroMusicColoredTarget.kt
│ │ ├── RetroMusicGlideModule.kt
│ │ ├── SingleColorTarget.kt
│ │ ├── artistimage
│ │ │ ├── ArtistImage.kt
│ │ │ ├── ArtistImageFetcher.kt
│ │ │ └── ArtistImageLoader.kt
│ │ ├── audiocover
│ │ │ ├── AudioFileCover.kt
│ │ │ ├── AudioFileCoverFetcher.kt
│ │ │ ├── AudioFileCoverLoader.kt
│ │ │ └── AudioFileCoverUtils.java
│ │ ├── palette
│ │ │ ├── BitmapPaletteResource.java
│ │ │ ├── BitmapPaletteTarget.java
│ │ │ ├── BitmapPaletteTranscoder.java
│ │ │ └── BitmapPaletteWrapper.java
│ │ └── playlistPreview
│ │ │ ├── PlaylistPreview.kt
│ │ │ ├── PlaylistPreviewFetcher.kt
│ │ │ └── PlaylistPreviewLoader.kt
│ │ ├── helper
│ │ ├── BackupHelper.kt
│ │ ├── HorizontalAdapterHelper.kt
│ │ ├── M3UConstants.java
│ │ ├── M3UWriter.kt
│ │ ├── MusicPlayerRemote.kt
│ │ ├── MusicProgressViewUpdateHelper.kt
│ │ ├── PlayPauseButtonOnClickHandler.kt
│ │ ├── SearchQueryHelper.kt
│ │ ├── ShuffleHelper.kt
│ │ ├── SortOrder.kt
│ │ ├── StackBlur.java
│ │ ├── StopWatch.kt
│ │ ├── WallpaperAccentManager.kt
│ │ └── menu
│ │ │ ├── GenreMenuHelper.kt
│ │ │ ├── PlaylistMenuHelper.kt
│ │ │ ├── SongMenuHelper.kt
│ │ │ └── SongsMenuHelper.kt
│ │ ├── interfaces
│ │ ├── IAlbumArtistClickListener.kt
│ │ ├── IAlbumClickListener.kt
│ │ ├── IArtistClickListener.kt
│ │ ├── ICallbacks.kt
│ │ ├── IGenreClickListener.kt
│ │ ├── IHomeClickListener.kt
│ │ ├── IMainActivityFragmentCallbacks.kt
│ │ ├── IMusicServiceEventListener.kt
│ │ ├── IPaletteColorHolder.kt
│ │ ├── IPlaylistClickListener.kt
│ │ └── IScrollHelper.kt
│ │ ├── lyrics
│ │ ├── CoverLrcView.kt
│ │ ├── Lrc.java
│ │ ├── LrcEntry.java
│ │ ├── LrcUtils.java
│ │ └── LrcView.java
│ │ ├── misc
│ │ ├── CustomFragmentStatePagerAdapter.java
│ │ ├── SimpleOnSeekbarChangeListener.kt
│ │ ├── UpdateToastMediaScannerCompletionListener.java
│ │ └── WrappedAsyncTaskLoader.kt
│ │ ├── model
│ │ ├── AbsCustomPlaylist.kt
│ │ ├── Album.kt
│ │ ├── Artist.kt
│ │ ├── ArtworkInfo.kt
│ │ ├── AudioTagInfo.kt
│ │ ├── CategoryInfo.kt
│ │ ├── Genre.kt
│ │ ├── Home.kt
│ │ ├── Playlist.kt
│ │ ├── PlaylistSong.kt
│ │ ├── Song.kt
│ │ ├── lyrics
│ │ │ ├── AbsSynchronizedLyrics.java
│ │ │ ├── Lyrics.java
│ │ │ └── SynchronizedLyricsLRC.java
│ │ └── smartplaylist
│ │ │ ├── AbsSmartPlaylist.kt
│ │ │ ├── HistoryPlaylist.kt
│ │ │ ├── LastAddedPlaylist.kt
│ │ │ ├── NotPlayedPlaylist.kt
│ │ │ ├── PlaylistIdGenerator.kt
│ │ │ ├── ShuffleAllPlaylist.kt
│ │ │ └── TopTracksPlaylist.kt
│ │ ├── preferences
│ │ ├── AlbumCoverStylePreferenceDialog.kt
│ │ ├── BlacklistPreferenceDialog.kt
│ │ ├── DurationPreference.kt
│ │ ├── LibraryPreference.kt
│ │ └── NowPlayingScreenPreferenceDialog.kt
│ │ ├── providers
│ │ ├── BlacklistStore.java
│ │ ├── HistoryStore.java
│ │ ├── MusicPlaybackQueueStore.java
│ │ └── SongPlayCountStore.java
│ │ ├── repository
│ │ ├── AlbumRepository.kt
│ │ ├── ArtistRepository.kt
│ │ ├── GenreRepository.kt
│ │ ├── LastAddedSongsRepository.kt
│ │ ├── PlaylistRepository.kt
│ │ ├── PlaylistSongsLoader.kt
│ │ ├── Repository.kt
│ │ ├── RoomRepository.kt
│ │ ├── SearchRepository.kt
│ │ ├── SongRepository.kt
│ │ ├── SortedCursor.java
│ │ ├── SortedLongCursor.java
│ │ └── TopPlayedRepository.kt
│ │ ├── service
│ │ ├── AudioFader.kt
│ │ ├── CrossFadePlayer.kt
│ │ ├── LocalPlayback.kt
│ │ ├── MediaButtonIntentReceiver.kt
│ │ ├── MediaSessionCallback.kt
│ │ ├── MediaStoreObserver.kt
│ │ ├── MultiPlayer.kt
│ │ ├── MusicService.kt
│ │ ├── PersistentStorage.kt
│ │ ├── PlaybackManager.kt
│ │ ├── SongPlayCountHelper.kt
│ │ ├── ThrottledSeekHandler.kt
│ │ ├── notification
│ │ │ ├── PlayingNotification.kt
│ │ │ ├── PlayingNotificationClassic.kt
│ │ │ └── PlayingNotificationImpl24.kt
│ │ └── playback
│ │ │ └── Playback.kt
│ │ ├── transform
│ │ ├── CarousalPagerTransformer.kt
│ │ ├── CascadingPageTransformer.kt
│ │ ├── DefaultTransformer.kt
│ │ ├── DepthTransformation.kt
│ │ ├── HingeTransformation.kt
│ │ ├── HorizontalFlipTransformation.kt
│ │ ├── NormalPageTransformer.kt
│ │ ├── ParallaxPagerTransformer.kt
│ │ ├── VerticalFlipTransformation.kt
│ │ └── VerticalStackTransformer.kt
│ │ ├── util
│ │ ├── ArtistSignatureUtil.kt
│ │ ├── AutoGeneratedPlaylistBitmap.kt
│ │ ├── CalendarUtil.kt
│ │ ├── ColorUtil.java
│ │ ├── CustomArtistImageUtil.kt
│ │ ├── DensityUtil.kt
│ │ ├── FilePathUtil.kt
│ │ ├── FileUtil.java
│ │ ├── FileUtils.kt
│ │ ├── ImageUtil.java
│ │ ├── LogUtil.kt
│ │ ├── LyricUtil.kt
│ │ ├── MergedImageUtils.kt
│ │ ├── MusicUtil.kt
│ │ ├── NavigationUtil.kt
│ │ ├── PackageValidator.kt
│ │ ├── PlaylistsUtil.kt
│ │ ├── PreferenceUtil.kt
│ │ ├── RetroColorUtil.java
│ │ ├── RetroUtil.kt
│ │ ├── RingtoneManager.kt
│ │ ├── SAFUtil.java
│ │ ├── Share.kt
│ │ ├── SwipeAndDragHelper.java
│ │ ├── TempUtils.java
│ │ ├── ThemedFastScroller.kt
│ │ ├── UriUtil.kt
│ │ ├── ViewUtil.kt
│ │ ├── color
│ │ │ ├── ImageUtils.java
│ │ │ ├── MediaNotificationProcessor.java
│ │ │ └── NotificationColorUtil.java
│ │ └── theme
│ │ │ ├── ThemeManager.kt
│ │ │ └── ThemeMode.kt
│ │ ├── views
│ │ ├── AccentIcon.kt
│ │ ├── BaselineGridTextView.java
│ │ ├── BreadCrumbLayout.java
│ │ ├── ColorIconsImageView.kt
│ │ ├── DrawableGradient.java
│ │ ├── HeightFitSquareLayout.kt
│ │ ├── HomeImageLayout.kt
│ │ ├── ListItemView.kt
│ │ ├── LollipopFixedWebView.kt
│ │ ├── NumberRollView.kt
│ │ ├── PermissionItem.kt
│ │ ├── PopupBackground.java
│ │ ├── RetroShapeableImageView.kt
│ │ ├── ScrollingViewOnApplyWindowInsetsListener.java
│ │ ├── SettingListItemView.kt
│ │ ├── StatusBarView.kt
│ │ ├── TintedBottomNavigationView.kt
│ │ ├── TintedNavigationRailView.kt
│ │ ├── TopAppBarLayout.kt
│ │ ├── VerticalTextView.kt
│ │ ├── WidthFitSquareCardView.kt
│ │ ├── WidthFitSquareLayout.kt
│ │ └── insets
│ │ │ ├── InsetsConstraintLayout.kt
│ │ │ └── InsetsRecyclerView.kt
│ │ └── volume
│ │ ├── AudioVolumeContentObserver.kt
│ │ ├── AudioVolumeObserver.kt
│ │ └── OnAudioVolumeChangedListener.kt
│ └── res
│ ├── anim
│ ├── item_animation_fall_down.xml
│ ├── layout_anim_fade.xml
│ ├── layout_animation_fall_down.xml
│ ├── retro_fragment_close_enter.xml
│ ├── retro_fragment_close_exit.xml
│ ├── retro_fragment_fast_out_extra_slow_in.xml
│ ├── retro_fragment_open_enter.xml
│ └── retro_fragment_open_exit.xml
│ ├── drawable-anydpi-v24
│ └── ic_notification.xml
│ ├── drawable-hdpi
│ ├── default_album_art.webp
│ ├── default_artist_art.webp
│ ├── default_audio_art.webp
│ └── ic_notification.png
│ ├── drawable-mdpi
│ ├── default_album_art.webp
│ ├── default_artist_art.webp
│ ├── default_audio_art.webp
│ └── ic_notification.png
│ ├── drawable-night-hdpi
│ ├── default_album_art.webp
│ ├── default_artist_art.webp
│ └── default_audio_art.webp
│ ├── drawable-night-mdpi
│ ├── default_album_art.webp
│ ├── default_artist_art.webp
│ └── default_audio_art.webp
│ ├── drawable-night-xhdpi
│ ├── default_album_art.webp
│ ├── default_artist_art.webp
│ └── default_audio_art.webp
│ ├── drawable-night-xxhdpi
│ ├── default_album_art.webp
│ ├── default_artist_art.webp
│ └── default_audio_art.webp
│ ├── drawable-night-xxxhdpi
│ ├── default_album_art.webp
│ ├── default_artist_art.webp
│ └── default_audio_art.webp
│ ├── drawable-v26
│ ├── saf_guide_1.webp
│ ├── saf_guide_2.webp
│ └── saf_guide_3.webp
│ ├── drawable-xhdpi
│ ├── default_album_art.webp
│ ├── default_artist_art.webp
│ ├── default_audio_art.webp
│ └── ic_notification.png
│ ├── drawable-xxhdpi
│ ├── default_album_art.webp
│ ├── default_artist_art.webp
│ ├── default_audio_art.webp
│ └── ic_notification.png
│ ├── drawable-xxxhdpi
│ ├── default_album_art.webp
│ ├── default_artist_art.webp
│ ├── default_audio_art.webp
│ ├── ic_notification.png
│ ├── ic_splash.png
│ ├── np_adaptive.webp
│ ├── np_blur.webp
│ ├── np_blur_card.webp
│ ├── np_card.webp
│ ├── np_circle.webp
│ ├── np_classic.webp
│ ├── np_color.webp
│ ├── np_fit.webp
│ ├── np_flat.webp
│ ├── np_full.webp
│ ├── np_gradient.webp
│ ├── np_material.webp
│ ├── np_minimalistic_circle.webp
│ ├── np_normal.webp
│ ├── np_peek.webp
│ ├── np_plain.webp
│ ├── np_simple.webp
│ └── np_tiny.webp
│ ├── drawable
│ ├── app_widget_background.xml
│ ├── artist_card_gradient_effect.xml
│ ├── asld_album.xml
│ ├── asld_artist.xml
│ ├── asld_face.xml
│ ├── asld_folder.xml
│ ├── asld_guitar.xml
│ ├── asld_heart.xml
│ ├── asld_music_note.xml
│ ├── asld_playlist.xml
│ ├── avd_album.xml
│ ├── avd_artist.xml
│ ├── avd_face.xml
│ ├── avd_favorite.xml
│ ├── avd_folder.xml
│ ├── avd_guitar.xml
│ ├── avd_music_note.xml
│ ├── avd_playlist.xml
│ ├── avd_splash.xml
│ ├── avd_unfavorite.xml
│ ├── card.xml
│ ├── circle_widget_background.xml
│ ├── color_circle_gradient.xml
│ ├── color_progress_seek.xml
│ ├── ic_account.xml
│ ├── ic_album.xml
│ ├── ic_album_artist.xml
│ ├── ic_app_shortcut_background.xml
│ ├── ic_app_shortcut_last_added.xml
│ ├── ic_app_shortcut_shuffle_all.xml
│ ├── ic_app_shortcut_top_tracks.xml
│ ├── ic_arrow_back.xml
│ ├── ic_arrow_forward.xml
│ ├── ic_artist.xml
│ ├── ic_audio_file.xml
│ ├── ic_audiotrack.xml
│ ├── ic_backup.xml
│ ├── ic_bluetooth_connect.xml
│ ├── ic_blur_on.xml
│ ├── ic_bug_report.xml
│ ├── ic_car.xml
│ ├── ic_check_circle.xml
│ ├── ic_clear_all.xml
│ ├── ic_close.xml
│ ├── ic_colorize.xml
│ ├── ic_dashboard.xml
│ ├── ic_delete.xml
│ ├── ic_diamond.xml
│ ├── ic_drag_handle.xml
│ ├── ic_drag_vertical.xml
│ ├── ic_edit.xml
│ ├── ic_equalizer.xml
│ ├── ic_expand_less.xml
│ ├── ic_face.xml
│ ├── ic_fast_food_meal.xml
│ ├── ic_favorite.xml
│ ├── ic_favorite_border.xml
│ ├── ic_file_edit.xml
│ ├── ic_filter_song.xml
│ ├── ic_flag.xml
│ ├── ic_folder.xml
│ ├── ic_fullscreen.xml
│ ├── ic_gift.xml
│ ├── ic_github_circle.xml
│ ├── ic_grid_size.xml
│ ├── ic_guitar.xml
│ ├── ic_hdr_strong.xml
│ ├── ic_help.xml
│ ├── ic_history.xml
│ ├── ic_home.xml
│ ├── ic_image.xml
│ ├── ic_info_outline.xml
│ ├── ic_instagram.xml
│ ├── ic_keyboard.xml
│ ├── ic_keyboard_arrow_down.xml
│ ├── ic_keyboard_arrow_right.xml
│ ├── ic_keyboard_arrow_up.xml
│ ├── ic_kofi.xml
│ ├── ic_language.xml
│ ├── ic_launcher_foreground.xml
│ ├── ic_launcher_monochrome.xml
│ ├── ic_library_add.xml
│ ├── ic_library_music.xml
│ ├── ic_license.xml
│ ├── ic_lyrics.xml
│ ├── ic_lyrics_outline.xml
│ ├── ic_mic.xml
│ ├── ic_more_vert.xml
│ ├── ic_music_note_off.xml
│ ├── ic_notification_classic.xml
│ ├── ic_notifications_active.xml
│ ├── ic_open_in_browser.xml
│ ├── ic_palette.xml
│ ├── ic_palette_outline.xml
│ ├── ic_pause.xml
│ ├── ic_pause_outline.xml
│ ├── ic_pause_outline_small.xml
│ ├── ic_pause_sharp_white_64dp.xml
│ ├── ic_pause_white_48dp.xml
│ ├── ic_pause_white_64dp.xml
│ ├── ic_paypal.xml
│ ├── ic_person_flat.xml
│ ├── ic_phonelink_ring.xml
│ ├── ic_pinterest.xml
│ ├── ic_play_arrow.xml
│ ├── ic_play_arrow_outline.xml
│ ├── ic_play_arrow_outline_small.xml
│ ├── ic_play_arrow_sharp_white_64dp.xml
│ ├── ic_play_arrow_white_32dp.xml
│ ├── ic_play_arrow_white_48dp.xml
│ ├── ic_play_arrow_white_64dp.xml
│ ├── ic_play_circle.xml
│ ├── ic_play_circle_filled.xml
│ ├── ic_playback_speed.xml
│ ├── ic_playlist_add.xml
│ ├── ic_playlist_play.xml
│ ├── ic_playlist_remove.xml
│ ├── ic_queue_music.xml
│ ├── ic_redo.xml
│ ├── ic_refresh.xml
│ ├── ic_repeat.xml
│ ├── ic_repeat_one.xml
│ ├── ic_repeat_white_circle.xml
│ ├── ic_restore.xml
│ ├── ic_save.xml
│ ├── ic_sd_card.xml
│ ├── ic_sd_storage.xml
│ ├── ic_search.xml
│ ├── ic_select_all.xml
│ ├── ic_send.xml
│ ├── ic_settings.xml
│ ├── ic_settings_brightness.xml
│ ├── ic_share.xml
│ ├── ic_shuffle.xml
│ ├── ic_shuffle_off_circled.xml
│ ├── ic_shuffle_on_circled.xml
│ ├── ic_skip_next.xml
│ ├── ic_skip_next_outline.xml
│ ├── ic_skip_next_sharp.xml
│ ├── ic_skip_previous.xml
│ ├── ic_skip_previous_outline.xml
│ ├── ic_skip_previous_sharp.xml
│ ├── ic_sleep_timer.xml
│ ├── ic_sort.xml
│ ├── ic_star.xml
│ ├── ic_storage.xml
│ ├── ic_telegram_white.xml
│ ├── ic_testing.xml
│ ├── ic_trending_up.xml
│ ├── ic_twitter.xml
│ ├── ic_view_carousel.xml
│ ├── ic_volume_down.xml
│ ├── ic_volume_off.xml
│ ├── ic_volume_up.xml
│ ├── ic_website.xml
│ ├── instagram_story_background.xml
│ ├── lyrics_mask.xml
│ ├── material_design_default.webp
│ ├── notification_selector.xml
│ ├── popup_background.xml
│ ├── progress_drawable_vertical.xml
│ ├── rect_selector.xml
│ ├── round_selector.xml
│ ├── round_selector_mask.xml
│ ├── rounded_drawable.xml
│ ├── saf_guide_1.webp
│ ├── saf_guide_2.webp
│ ├── saf_guide_3.webp
│ ├── shadow_blur_theme.xml
│ ├── shadow_down_full_theme.xml
│ ├── shadow_down_strong.xml
│ ├── shadow_pro.xml
│ ├── shadow_up.xml
│ ├── shadow_up_down.xml
│ ├── shadow_up_edited.xml
│ ├── shadow_up_full_theme.xml
│ ├── shadow_up_home.xml
│ ├── shadow_up_strong.xml
│ ├── sld_lyrics.xml
│ ├── slider_thumb.xml
│ ├── splash.xml
│ ├── switch_square.xml
│ ├── switch_thumb.xml
│ ├── switch_thumb_material.xml
│ ├── switch_track.xml
│ ├── tab_lyrics_indicator.xml
│ ├── widget_big_info.webp
│ ├── widget_button_background.xml
│ ├── widget_card_info.webp
│ ├── widget_classic.webp
│ ├── widget_selector.xml
│ ├── widget_selector_dark.xml
│ ├── widget_selector_light.xml
│ ├── widget_small.webp
│ └── widget_text.webp
│ ├── font
│ ├── manrope.xml
│ ├── manrope_bold.ttf
│ ├── manrope_extrabold.ttf
│ ├── manrope_extralight.ttf
│ ├── manrope_light.ttf
│ ├── manrope_medium.ttf
│ ├── manrope_regular.ttf
│ └── manrope_semibold.ttf
│ ├── layout-land
│ ├── activity_album_tag_editor.xml
│ ├── activity_drive_mode.xml
│ ├── activity_lock_screen.xml
│ ├── activity_song_tag_editor.xml
│ ├── fragment_adaptive_player.xml
│ ├── fragment_album_details.xml
│ ├── fragment_artist_details.xml
│ ├── fragment_blur.xml
│ ├── fragment_card_player.xml
│ ├── fragment_circle_player.xml
│ ├── fragment_color_player.xml
│ ├── fragment_flat_player.xml
│ ├── fragment_home.xml
│ ├── fragment_material.xml
│ ├── fragment_md3_player.xml
│ ├── fragment_plain_player.xml
│ ├── fragment_player.xml
│ ├── fragment_simple_player.xml
│ ├── fragment_user_info.xml
│ └── sliding_music_panel_layout.xml
│ ├── layout-sw600dp
│ ├── fragment_playing_queue.xml
│ ├── item_list.xml
│ ├── item_list_big.xml
│ └── item_queue.xml
│ ├── layout-v31
│ ├── layout_notification_collapsed.xml
│ └── layout_notification_expanded.xml
│ ├── layout
│ ├── abs_playlists.xml
│ ├── activity_album_tag_editor.xml
│ ├── activity_bug_report.xml
│ ├── activity_drive_mode.xml
│ ├── activity_license.xml
│ ├── activity_lock_screen.xml
│ ├── activity_permission.xml
│ ├── activity_restore.xml
│ ├── activity_share_instagram.xml
│ ├── activity_song_tag_editor.xml
│ ├── app_widget_big.xml
│ ├── app_widget_card.xml
│ ├── app_widget_circle.xml
│ ├── app_widget_classic.xml
│ ├── app_widget_md3.xml
│ ├── app_widget_small.xml
│ ├── app_widget_text.xml
│ ├── banner_image_layout.xml
│ ├── bread_crumb.xml
│ ├── bug_report_card_device_info.xml
│ ├── card_retro_info.xml
│ ├── collapsing_appbar_layout.xml
│ ├── dialog_file_details.xml
│ ├── dialog_playback_speed.xml
│ ├── dialog_playlist.xml
│ ├── dialog_sleep_timer.xml
│ ├── fragment_about.xml
│ ├── fragment_about_content.xml
│ ├── fragment_adaptive_player.xml
│ ├── fragment_adaptive_player_playback_controls.xml
│ ├── fragment_album_card_cover.xml
│ ├── fragment_album_carousel_cover.xml
│ ├── fragment_album_circle_cover.xml
│ ├── fragment_album_content.xml
│ ├── fragment_album_cover.xml
│ ├── fragment_album_details.xml
│ ├── fragment_album_flat_cover.xml
│ ├── fragment_album_full_card_cover.xml
│ ├── fragment_album_full_cover.xml
│ ├── fragment_artist_content.xml
│ ├── fragment_artist_details.xml
│ ├── fragment_backup.xml
│ ├── fragment_blur.xml
│ ├── fragment_blur_player_playback_controls.xml
│ ├── fragment_card_blur_player.xml
│ ├── fragment_card_blur_player_playback_controls.xml
│ ├── fragment_card_player.xml
│ ├── fragment_card_player_playback_controls.xml
│ ├── fragment_circle_player.xml
│ ├── fragment_classic_controls.xml
│ ├── fragment_classic_player.xml
│ ├── fragment_color_player.xml
│ ├── fragment_color_player_playback_controls.xml
│ ├── fragment_cover_lyrics.xml
│ ├── fragment_fit.xml
│ ├── fragment_fit_playback_controls.xml
│ ├── fragment_flat_player.xml
│ ├── fragment_flat_player_playback_controls.xml
│ ├── fragment_folder.xml
│ ├── fragment_full.xml
│ ├── fragment_full_player_controls.xml
│ ├── fragment_gradient_controls.xml
│ ├── fragment_gradient_player.xml
│ ├── fragment_home.xml
│ ├── fragment_home_player.xml
│ ├── fragment_library.xml
│ ├── fragment_lock_screen_playback_controls.xml
│ ├── fragment_lyrics.xml
│ ├── fragment_main_recycler.xml
│ ├── fragment_main_settings.xml
│ ├── fragment_material.xml
│ ├── fragment_material_playback_controls.xml
│ ├── fragment_md3_player.xml
│ ├── fragment_md3_player_playback_controls.xml
│ ├── fragment_mini_player.xml
│ ├── fragment_peek_album_cover.xml
│ ├── fragment_peek_control_player.xml
│ ├── fragment_peek_player.xml
│ ├── fragment_plain_controls_fragment.xml
│ ├── fragment_plain_player.xml
│ ├── fragment_player.xml
│ ├── fragment_player_album_cover.xml
│ ├── fragment_player_playback_controls.xml
│ ├── fragment_playing_queue.xml
│ ├── fragment_playlist_detail.xml
│ ├── fragment_playlist_detail_new.xml
│ ├── fragment_search.xml
│ ├── fragment_settings.xml
│ ├── fragment_simple_controls_fragment.xml
│ ├── fragment_simple_player.xml
│ ├── fragment_simple_slide_large_image.xml
│ ├── fragment_tiny_controls_fragment.xml
│ ├── fragment_tiny_player.xml
│ ├── fragment_user_info.xml
│ ├── fragment_volume.xml
│ ├── fragment_whats_new.xml
│ ├── home_content.xml
│ ├── image.xml
│ ├── item_album_card.xml
│ ├── item_artist.xml
│ ├── item_artist_card.xml
│ ├── item_artist_square.xml
│ ├── item_card.xml
│ ├── item_card_color.xml
│ ├── item_contributor.xml
│ ├── item_contributor_header.xml
│ ├── item_favourite_card.xml
│ ├── item_genre.xml
│ ├── item_grid.xml
│ ├── item_grid_circle.xml
│ ├── item_grid_genre.xml
│ ├── item_image.xml
│ ├── item_image_gradient.xml
│ ├── item_list.xml
│ ├── item_list_backup.xml
│ ├── item_list_big.xml
│ ├── item_list_quick_actions.xml
│ ├── item_permission.xml
│ ├── item_queue.xml
│ ├── item_simple_text.xml
│ ├── item_song.xml
│ ├── item_storage.xml
│ ├── item_suggestions.xml
│ ├── layout_notification_collapsed.xml
│ ├── layout_notification_expanded.xml
│ ├── list_item_color_view.xml
│ ├── list_item_view.xml
│ ├── list_item_view_no_card.xml
│ ├── list_item_view_no_title.xml
│ ├── list_item_view_seekbar.xml
│ ├── list_item_view_switch.xml
│ ├── list_item_view_switch_no_title.xml
│ ├── list_setting_item_view.xml
│ ├── loading.xml
│ ├── media_button.xml
│ ├── number_roll_view.xml
│ ├── preference_category_title.xml
│ ├── preference_dialog_audio_fade.xml
│ ├── preference_dialog_library_categories.xml
│ ├── preference_dialog_library_categories_listitem.xml
│ ├── preference_dialog_now_playing_screen.xml
│ ├── preference_now_playing_screen_item.xml
│ ├── section_recycler_view.xml
│ ├── shadow_statusbar_toolbar.xml
│ ├── simple_appbar_layout.xml
│ ├── sliding_music_panel_layout.xml
│ ├── status_bar.xml
│ ├── sub_header.xml
│ └── user_image_layout.xml
│ ├── menu
│ ├── bottom_navigation_main.xml
│ ├── menu_album_detail.xml
│ ├── menu_artist_detail.xml
│ ├── menu_artist_song_sort_order.xml
│ ├── menu_backup.xml
│ ├── menu_cannot_delete_single_songs_playlist_songs_selection.xml
│ ├── menu_clear_history.xml
│ ├── menu_genre_detail.xml
│ ├── menu_item_directory.xml
│ ├── menu_item_file.xml
│ ├── menu_item_playing_queue_song.xml
│ ├── menu_item_playlist.xml
│ ├── menu_item_playlist_song.xml
│ ├── menu_item_song.xml
│ ├── menu_lyrics.xml
│ ├── menu_main.xml
│ ├── menu_media_selection.xml
│ ├── menu_player.xml
│ ├── menu_playlist_detail.xml
│ ├── menu_playlists_selection.xml
│ └── menu_playlists_songs_selection.xml
│ ├── mipmap-anydpi-v26
│ ├── ic_launcher.xml
│ └── ic_launcher_round.xml
│ ├── mipmap-hdpi
│ ├── ic_launcher.png
│ └── ic_launcher_round.png
│ ├── mipmap-mdpi
│ ├── ic_launcher.png
│ └── ic_launcher_round.png
│ ├── mipmap-xhdpi
│ ├── ic_launcher.png
│ └── ic_launcher_round.png
│ ├── mipmap-xxhdpi
│ ├── ic_launcher.png
│ └── ic_launcher_round.png
│ ├── mipmap-xxxhdpi
│ ├── ic_launcher.png
│ └── ic_launcher_round.png
│ ├── navigation
│ ├── library_graph.xml
│ ├── main_graph.xml
│ └── settings_graph.xml
│ ├── values-ar-rSA
│ └── strings.xml
│ ├── values-b+es+419
│ └── strings.xml
│ ├── values-cs-rCZ
│ └── strings.xml
│ ├── values-da-rDK
│ └── strings.xml
│ ├── values-de-rDE
│ └── strings.xml
│ ├── values-el-rGR
│ └── strings.xml
│ ├── values-en-rUS
│ └── strings.xml
│ ├── values-es-rES
│ └── strings.xml
│ ├── values-es-rUS
│ └── strings.xml
│ ├── values-eu-rES
│ └── strings.xml
│ ├── values-fa-rIR
│ └── strings.xml
│ ├── values-fil-rPH
│ └── strings.xml
│ ├── values-fr-rFR
│ └── strings.xml
│ ├── values-hi-rIN
│ └── strings.xml
│ ├── values-hr-rHR
│ └── strings.xml
│ ├── values-hu-rHU
│ └── strings.xml
│ ├── values-in-rID
│ └── strings.xml
│ ├── values-it-rIT
│ └── strings.xml
│ ├── values-ja-rJP
│ └── strings.xml
│ ├── values-kmr-rTR
│ └── strings.xml
│ ├── values-kn-rIN
│ └── strings.xml
│ ├── values-ko-rKR
│ └── strings.xml
│ ├── values-land
│ └── integers.xml
│ ├── values-lv-rLV
│ └── strings.xml
│ ├── values-ml-rIN
│ └── strings.xml
│ ├── values-my-rMM
│ └── strings.xml
│ ├── values-night-v27
│ └── styles.xml
│ ├── values-night-v31
│ └── styles.xml
│ ├── values-night
│ ├── colors.xml
│ ├── colors_md3.xml
│ └── styles.xml
│ ├── values-nl-rNL
│ └── strings.xml
│ ├── values-pl-rPL
│ └── strings.xml
│ ├── values-pt-rBR
│ └── strings.xml
│ ├── values-pt-rPT
│ └── strings.xml
│ ├── values-ro-rRO
│ └── strings.xml
│ ├── values-ru-rRU
│ └── strings.xml
│ ├── values-sr-rSP
│ └── strings.xml
│ ├── values-sv-rSE
│ └── strings.xml
│ ├── values-sw600dp
│ └── integers.xml
│ ├── values-ta-rIN
│ └── strings.xml
│ ├── values-te-rIN
│ └── strings.xml
│ ├── values-th-rTH
│ └── strings.xml
│ ├── values-tr-rTR
│ └── strings.xml
│ ├── values-uk-rUA
│ └── strings.xml
│ ├── values-v23
│ ├── bools.xml
│ ├── dimens.xml
│ └── styles.xml
│ ├── values-v27
│ └── styles_parents.xml
│ ├── values-v31
│ ├── bools.xml
│ ├── colors.xml
│ ├── integers.xml
│ └── styles.xml
│ ├── values-vi-rVN
│ └── strings.xml
│ ├── values-xlarge
│ └── dimens.xml
│ ├── values-zh-rCN
│ └── strings.xml
│ ├── values-zh-rHK
│ └── strings.xml
│ ├── values-zh-rTW
│ └── strings.xml
│ ├── values
│ ├── arrays.xml
│ ├── attrs.xml
│ ├── baseline_textview_attrs.xml
│ ├── bools.xml
│ ├── circular_image_view_attrs.xml
│ ├── color_icon_view_attrs.xml
│ ├── colors.xml
│ ├── colors_md3.xml
│ ├── dimens.xml
│ ├── donottranslate.xml
│ ├── ic_launcher_background.xml
│ ├── ids.xml
│ ├── integers.xml
│ ├── list_item_view.xml
│ ├── list_setting_item_view.xml
│ ├── lrc_colors.xml
│ ├── lrc_dimens.xml
│ ├── lrc_view_attrs.xml
│ ├── permission_item.xml
│ ├── seekarc_attrs.xml
│ ├── shapeable_imageview.xml
│ ├── strings.xml
│ ├── styles.xml
│ ├── styles_parents.xml
│ └── values.xml
│ └── xml
│ ├── allowed_media_browser_callers.xml
│ ├── app_widget_big_info.xml
│ ├── app_widget_card_info.xml
│ ├── app_widget_circle_info.xml
│ ├── app_widget_classic_info.xml
│ ├── app_widget_md3_info.xml
│ ├── app_widget_small_info.xml
│ ├── app_widget_text.xml
│ ├── automotive_app_desc.xml
│ ├── locales_config.xml
│ ├── pref_advanced.xml
│ ├── pref_audio.xml
│ ├── pref_general.xml
│ ├── pref_images.xml
│ ├── pref_notification.xml
│ ├── pref_now_playing_screen.xml
│ ├── pref_ui.xml
│ └── provider_paths.xml
├── appthemehelper
├── build.gradle
├── proguard-rules.pro
└── src
│ └── main
│ ├── AndroidManifest.xml
│ ├── java
│ └── code
│ │ └── name
│ │ └── monkey
│ │ └── appthemehelper
│ │ ├── ATH.kt
│ │ ├── ATHActivity.kt
│ │ ├── ColorPalette.kt
│ │ ├── ThemeStore.kt
│ │ ├── ThemeStoreInterface.kt
│ │ ├── ThemeStorePrefKeys.kt
│ │ ├── common
│ │ ├── ATHActionBarActivity.kt
│ │ ├── ATHToolbarActivity.java
│ │ ├── prefs
│ │ │ ├── ATEColorPreference.kt
│ │ │ ├── BorderCircleView.kt
│ │ │ └── supportv7
│ │ │ │ ├── ATEColorPreference.kt
│ │ │ │ ├── ATEDialogPreference.kt
│ │ │ │ ├── ATEListPreference.kt
│ │ │ │ ├── ATEPreference.kt
│ │ │ │ ├── ATEPreferenceCategory.kt
│ │ │ │ ├── ATEPreferenceFragmentCompat.java
│ │ │ │ ├── ATESeekBarPreference.kt
│ │ │ │ ├── ATESwitchPreference.kt
│ │ │ │ └── dialogs
│ │ │ │ ├── ATEListPreferenceDialogFragmentCompat.java
│ │ │ │ └── ATEPreferenceDialogFragment.java
│ │ └── views
│ │ │ ├── ATEAccentTextView.kt
│ │ │ └── ATESwitch.kt
│ │ └── util
│ │ ├── ATHUtil.kt
│ │ ├── ColorUtil.kt
│ │ ├── MaterialUtil.kt
│ │ ├── MaterialValueHelper.kt
│ │ ├── TextInputLayoutUtil.kt
│ │ ├── TintHelper.java
│ │ ├── ToolbarContentTintHelper.java
│ │ ├── VersionUtils.kt
│ │ └── ViewUtil.kt
│ └── res
│ ├── drawable
│ └── ate_check.xml
│ ├── layout
│ ├── ate_preference_color.xml
│ └── ate_preference_switch_support.xml
│ ├── values-large
│ └── dimens.xml
│ ├── values-night-v31
│ └── colors.xml
│ ├── values-v31
│ └── colors.xml
│ └── values
│ ├── attrs.xml
│ ├── colors.xml
│ ├── colors_material_design.xml
│ ├── dimens.xml
│ └── strings.xml
├── build.gradle
├── crowdin.yml
├── fastlane
└── metadata
│ └── android
│ └── en-US
│ ├── changelogs
│ ├── 10443.txt
│ ├── 10445.txt
│ ├── 10503.txt
│ ├── 10579.txt
│ ├── 10580.txt
│ ├── 10597.txt
│ ├── 10600.txt
│ └── 10603.txt
│ ├── full_description.txt
│ ├── images
│ ├── icon.png
│ ├── logo.png
│ └── phoneScreenshots
│ │ ├── 1.jpg
│ │ ├── 1.png
│ │ ├── 2.jpg
│ │ ├── 2.png
│ │ ├── 3.jpg
│ │ ├── 3.png
│ │ ├── 4.jpg
│ │ ├── 4.png
│ │ ├── 5.jpg
│ │ ├── 5.png
│ │ ├── 6.jpg
│ │ ├── 7.jpg
│ │ └── 8.jpg
│ ├── short_description.txt
│ └── title.txt
├── gradle.properties
├── gradle
└── wrapper
│ ├── gradle-wrapper.jar
│ └── gradle-wrapper.properties
├── gradlew
├── gradlew.bat
├── screenshots
├── adaptive.jpg
├── blur.jpg
├── classic.jpg
├── color.jpg
├── fit.jpg
├── flat.jpg
├── material.jpg
├── peak.jpg
├── peek.jpg
├── playlists.jpg
├── synced_over_black.jpg
├── synced_over_dark.jpg
├── synced_over_light.jpg
├── synced_replace_black.jpg
├── synced_replace_dark.jpg
├── synced_replace_light.jpg
└── tiny.jpg
├── settings.gradle
└── spotless.license.kt
/.gitattributes:
--------------------------------------------------------------------------------
1 | * text=auto eol=lf
2 |
3 | *.bat text eol=crlf
4 | *.jar binary
5 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/feature_request.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: Feature request
3 | about: Suggest an idea for this project. Please write in English only.
4 | title: ''
5 | labels: enhancement
6 | assignees: ''
7 |
8 | ---
9 |
10 |
15 |
16 | **Is your feature request related to a problem? Please describe.**
17 | A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
18 |
19 | **Describe the solution you'd like**
20 | A clear and concise description of what you want to happen.
21 |
22 | **Describe alternatives you've considered**
23 | A clear and concise description of any alternative solutions or features you've considered.
24 |
25 | **Additional context**
26 | Add any other context or screenshots about the feature request here.
27 |
--------------------------------------------------------------------------------
/.github/workflows/android.yml:
--------------------------------------------------------------------------------
1 | name: Android CI
2 |
3 | on:
4 | push:
5 | branches: [ dev ]
6 | pull_request:
7 | branches: [ dev ]
8 |
9 | jobs:
10 | check:
11 | runs-on: ubuntu-latest
12 | timeout-minutes: 10
13 | steps:
14 | - uses: actions/checkout@v3
15 | - uses: gradle/wrapper-validation-action@v1
16 | - uses: actions/setup-java@v3
17 | with:
18 | distribution: 'zulu'
19 | java-version: 17
20 | - uses: gradle/gradle-build-action@v2
21 | - name: Lint Android
22 | run: ./gradlew lint
23 |
24 | build:
25 | runs-on: ubuntu-latest
26 | steps:
27 | - uses: actions/checkout@v3
28 | - uses: actions/setup-java@v3
29 | with:
30 | java-version: '17'
31 | distribution: 'zulu'
32 | - uses: gradle/gradle-build-action@v2
33 | - name: Build
34 | run: ./gradlew app:assemble
35 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | #built application files
2 | *.apk
3 | *.ap_
4 |
5 | # files for the dex VM
6 | *.dex
7 |
8 | # Java class files
9 | *.class
10 |
11 | # generated files
12 | bin/
13 | gen/
14 |
15 | # Local configuration file (sdk path, etc)
16 | local.properties
17 |
18 | # Windows thumbnail db
19 | Thumbs.db
20 |
21 | # OSX files
22 | .DS_Store
23 |
24 | # Eclipse project files
25 | .classpath
26 | .project
27 |
28 | # Android Studio
29 | *.iml
30 | .idea
31 | #.idea/workspace.xml - remove # and delete .idea if it better suit your needs.
32 | .gradle
33 | build/
34 |
35 | #NDK
36 | obj/
37 |
38 | captures
39 | app/normal/release/
40 | /models/
41 | /app/release/
42 |
--------------------------------------------------------------------------------
/app/src/debug/res/font/bold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MuntashirAkon/Metro/32e0a24358b8f92bf1da748e7fcd08499346478c/app/src/debug/res/font/bold.ttf
--------------------------------------------------------------------------------
/app/src/debug/res/font/google_sans_bold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MuntashirAkon/Metro/32e0a24358b8f92bf1da748e7fcd08499346478c/app/src/debug/res/font/google_sans_bold.ttf
--------------------------------------------------------------------------------
/app/src/debug/res/font/google_sans_medium.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MuntashirAkon/Metro/32e0a24358b8f92bf1da748e7fcd08499346478c/app/src/debug/res/font/google_sans_medium.ttf
--------------------------------------------------------------------------------
/app/src/debug/res/font/google_sans_regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MuntashirAkon/Metro/32e0a24358b8f92bf1da748e7fcd08499346478c/app/src/debug/res/font/google_sans_regular.ttf
--------------------------------------------------------------------------------
/app/src/debug/res/font/medium.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MuntashirAkon/Metro/32e0a24358b8f92bf1da748e7fcd08499346478c/app/src/debug/res/font/medium.ttf
--------------------------------------------------------------------------------
/app/src/debug/res/font/regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MuntashirAkon/Metro/32e0a24358b8f92bf1da748e7fcd08499346478c/app/src/debug/res/font/regular.ttf
--------------------------------------------------------------------------------
/app/src/debug/res/font/sans.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
6 |
9 |
12 |
--------------------------------------------------------------------------------
/app/src/debug/res/values/bools.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | true
4 | false
5 |
--------------------------------------------------------------------------------
/app/src/debug/res/values/donottranslate.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Metro Debug
4 |
--------------------------------------------------------------------------------
/app/src/main/assets/images/daksh.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MuntashirAkon/Metro/32e0a24358b8f92bf1da748e7fcd08499346478c/app/src/main/assets/images/daksh.png
--------------------------------------------------------------------------------
/app/src/main/assets/images/haythem.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MuntashirAkon/Metro/32e0a24358b8f92bf1da748e7fcd08499346478c/app/src/main/assets/images/haythem.jpg
--------------------------------------------------------------------------------
/app/src/main/assets/images/hemanth.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MuntashirAkon/Metro/32e0a24358b8f92bf1da748e7fcd08499346478c/app/src/main/assets/images/hemanth.jpg
--------------------------------------------------------------------------------
/app/src/main/assets/images/lenny.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MuntashirAkon/Metro/32e0a24358b8f92bf1da748e7fcd08499346478c/app/src/main/assets/images/lenny.jpg
--------------------------------------------------------------------------------
/app/src/main/assets/images/milind.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MuntashirAkon/Metro/32e0a24358b8f92bf1da748e7fcd08499346478c/app/src/main/assets/images/milind.png
--------------------------------------------------------------------------------
/app/src/main/assets/images/pratham.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MuntashirAkon/Metro/32e0a24358b8f92bf1da748e7fcd08499346478c/app/src/main/assets/images/pratham.jpg
--------------------------------------------------------------------------------
/app/src/main/ic_launcher-playstore.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MuntashirAkon/Metro/32e0a24358b8f92bf1da748e7fcd08499346478c/app/src/main/ic_launcher-playstore.png
--------------------------------------------------------------------------------
/app/src/main/ic_launcher-web.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MuntashirAkon/Metro/32e0a24358b8f92bf1da748e7fcd08499346478c/app/src/main/ic_launcher-web.png
--------------------------------------------------------------------------------
/app/src/main/java/code/name/monkey/retromusic/db/BlackListStoreEntity.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2020 Hemanth Savarla.
3 | *
4 | * Licensed under the GNU General Public License v3
5 | *
6 | * This is free software: you can redistribute it and/or modify it
7 | * under the terms of the GNU General Public License as published by
8 | * the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
9 | *
10 | * This software is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
11 | * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
12 | * See the GNU General Public License for more details.
13 | *
14 | */
15 | package code.name.monkey.retromusic.db
16 |
17 | import androidx.room.Entity
18 | import androidx.room.PrimaryKey
19 |
20 | @Entity
21 | class BlackListStoreEntity(
22 | @PrimaryKey
23 | val path: String
24 | )
25 |
--------------------------------------------------------------------------------
/app/src/main/java/code/name/monkey/retromusic/db/LyricsEntity.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2020 Hemanth Savarla.
3 | *
4 | * Licensed under the GNU General Public License v3
5 | *
6 | * This is free software: you can redistribute it and/or modify it
7 | * under the terms of the GNU General Public License as published by
8 | * the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
9 | *
10 | * This software is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
11 | * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
12 | * See the GNU General Public License for more details.
13 | *
14 | */
15 | package code.name.monkey.retromusic.db
16 |
17 | import androidx.room.Entity
18 | import androidx.room.PrimaryKey
19 |
20 | @Entity
21 | class LyricsEntity(
22 | @PrimaryKey val songId: Int,
23 | val lyrics: String
24 | )
25 |
--------------------------------------------------------------------------------
/app/src/main/java/code/name/monkey/retromusic/db/RoomMigrations.kt:
--------------------------------------------------------------------------------
1 | package code.name.monkey.retromusic.db
2 |
3 | import androidx.room.migration.Migration
4 | import androidx.sqlite.db.SupportSQLiteDatabase
5 |
6 | val MIGRATION_23_24 = object : Migration(23, 24) {
7 | override fun migrate(database: SupportSQLiteDatabase) {
8 | database.execSQL("DROP TABLE LyricsEntity")
9 | database.execSQL("DROP TABLE BlackListStoreEntity")
10 | }
11 | }
--------------------------------------------------------------------------------
/app/src/main/java/code/name/monkey/retromusic/extensions/FileExtensions.kt:
--------------------------------------------------------------------------------
1 | package code.name.monkey.retromusic.extensions
2 |
3 | import java.io.BufferedOutputStream
4 | import java.util.zip.ZipOutputStream
5 |
6 | fun BufferedOutputStream.zipOutputStream(): ZipOutputStream = ZipOutputStream(this)
--------------------------------------------------------------------------------
/app/src/main/java/code/name/monkey/retromusic/extensions/InsetsExtensions.kt:
--------------------------------------------------------------------------------
1 | package code.name.monkey.retromusic.extensions
2 |
3 | import androidx.core.view.WindowInsetsCompat
4 | import code.name.monkey.retromusic.util.PreferenceUtil
5 | import code.name.monkey.retromusic.util.RetroUtil
6 |
7 | fun WindowInsetsCompat?.getBottomInsets(): Int {
8 | return if (PreferenceUtil.isFullScreenMode) {
9 | return 0
10 | } else {
11 | this?.getInsets(WindowInsetsCompat.Type.systemBars())?.bottom ?: RetroUtil.navigationBarHeight
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/app/src/main/java/code/name/monkey/retromusic/extensions/PreferenceExtensions.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2020 Hemanth Savarla.
3 | *
4 | * Licensed under the GNU General Public License v3
5 | *
6 | * This is free software: you can redistribute it and/or modify it
7 | * under the terms of the GNU General Public License as published by
8 | * the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
9 | *
10 | * This software is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
11 | * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
12 | * See the GNU General Public License for more details.
13 | *
14 | */
15 | package code.name.monkey.retromusic.extensions
16 |
17 | import android.content.SharedPreferences
18 |
19 | fun SharedPreferences.getStringOrDefault(key: String, default: String): String {
20 | return getString(key, default) ?: default
21 | }
22 |
--------------------------------------------------------------------------------
/app/src/main/java/code/name/monkey/retromusic/extensions/SongExtensions.kt:
--------------------------------------------------------------------------------
1 | package code.name.monkey.retromusic.extensions
2 |
3 | import android.support.v4.media.MediaDescriptionCompat
4 | import android.support.v4.media.session.MediaSessionCompat.QueueItem
5 | import code.name.monkey.retromusic.model.Song
6 | import code.name.monkey.retromusic.util.MusicUtil
7 |
8 | val Song.uri get() = MusicUtil.getSongFileUri(songId = id)
9 |
10 | val Song.albumArtUri get() = MusicUtil.getMediaStoreAlbumCoverUri(albumId)
11 |
12 | fun ArrayList.toMediaSessionQueue(): List {
13 | return map { song ->
14 | val mediaDescription = MediaDescriptionCompat.Builder()
15 | .setMediaId(song.id.toString())
16 | .setTitle(song.title)
17 | .setSubtitle(song.artistName)
18 | .setIconUri(song.albumArtUri)
19 | .build()
20 | QueueItem(mediaDescription, song.hashCode().toLong())
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/app/src/main/java/code/name/monkey/retromusic/fragments/GridStyle.kt:
--------------------------------------------------------------------------------
1 | package code.name.monkey.retromusic.fragments
2 |
3 | import androidx.annotation.LayoutRes
4 | import code.name.monkey.retromusic.R
5 |
6 | enum class GridStyle constructor(
7 | @param:LayoutRes @field:LayoutRes val layoutResId: Int,
8 | val id: Int
9 | ) {
10 | Grid(R.layout.item_grid, 0),
11 | Card(R.layout.item_card, 1),
12 | ColoredCard(R.layout.item_card_color, 2),
13 | Circular(R.layout.item_grid_circle, 3),
14 | Image(R.layout.image, 4),
15 | GradientImage(R.layout.item_image_gradient, 5)
16 | }
--------------------------------------------------------------------------------
/app/src/main/java/code/name/monkey/retromusic/glide/artistimage/ArtistImage.kt:
--------------------------------------------------------------------------------
1 | package code.name.monkey.retromusic.glide.artistimage
2 |
3 | import code.name.monkey.retromusic.model.Artist
4 |
5 | class ArtistImage(val artist: Artist){
6 | override fun equals(other: Any?): Boolean {
7 | if (other is ArtistImage){
8 | return other.artist == artist
9 | }
10 | return false
11 | }
12 |
13 | override fun hashCode(): Int {
14 | return artist.hashCode()
15 | }
16 | }
--------------------------------------------------------------------------------
/app/src/main/java/code/name/monkey/retromusic/helper/M3UConstants.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2019 Hemanth Savarala.
3 | *
4 | * Licensed under the GNU General Public License v3
5 | *
6 | * This is free software: you can redistribute it and/or modify it under
7 | * the terms of the GNU General Public License as published by
8 | * the Free Software Foundation either version 3 of the License, or (at your option) any later version.
9 | *
10 | * This software is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
11 | * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
12 | * See the GNU General Public License for more details.
13 | */
14 |
15 | package code.name.monkey.retromusic.helper;
16 |
17 | public interface M3UConstants {
18 | String EXTENSION = "m3u";
19 | String HEADER = "#EXTM3U";
20 | String ENTRY = "#EXTINF:";
21 | String DURATION_SEPARATOR = ",";
22 | }
23 |
--------------------------------------------------------------------------------
/app/src/main/java/code/name/monkey/retromusic/interfaces/IAlbumArtistClickListener.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2020 Hemanth Savarla.
3 | *
4 | * Licensed under the GNU General Public License v3
5 | *
6 | * This is free software: you can redistribute it and/or modify it
7 | * under the terms of the GNU General Public License as published by
8 | * the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
9 | *
10 | * This software is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
11 | * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
12 | * See the GNU General Public License for more details.
13 | *
14 | */
15 | package code.name.monkey.retromusic.interfaces
16 |
17 | import android.view.View
18 |
19 | interface IAlbumArtistClickListener {
20 | fun onAlbumArtist(artistName: String, view: View)
21 | }
22 |
--------------------------------------------------------------------------------
/app/src/main/java/code/name/monkey/retromusic/interfaces/IAlbumClickListener.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2020 Hemanth Savarla.
3 | *
4 | * Licensed under the GNU General Public License v3
5 | *
6 | * This is free software: you can redistribute it and/or modify it
7 | * under the terms of the GNU General Public License as published by
8 | * the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
9 | *
10 | * This software is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
11 | * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
12 | * See the GNU General Public License for more details.
13 | *
14 | */
15 | package code.name.monkey.retromusic.interfaces
16 |
17 | import android.view.View
18 |
19 | interface IAlbumClickListener {
20 | fun onAlbumClick(albumId: Long, view: View)
21 | }
22 |
--------------------------------------------------------------------------------
/app/src/main/java/code/name/monkey/retromusic/interfaces/IArtistClickListener.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2020 Hemanth Savarla.
3 | *
4 | * Licensed under the GNU General Public License v3
5 | *
6 | * This is free software: you can redistribute it and/or modify it
7 | * under the terms of the GNU General Public License as published by
8 | * the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
9 | *
10 | * This software is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
11 | * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
12 | * See the GNU General Public License for more details.
13 | *
14 | */
15 | package code.name.monkey.retromusic.interfaces
16 |
17 | import android.view.View
18 |
19 | interface IArtistClickListener {
20 | fun onArtist(artistId: Long, view: View)
21 | }
22 |
--------------------------------------------------------------------------------
/app/src/main/java/code/name/monkey/retromusic/interfaces/ICallbacks.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2020 Hemanth Savarla.
3 | *
4 | * Licensed under the GNU General Public License v3
5 | *
6 | * This is free software: you can redistribute it and/or modify it
7 | * under the terms of the GNU General Public License as published by
8 | * the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
9 | *
10 | * This software is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
11 | * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
12 | * See the GNU General Public License for more details.
13 | *
14 | */
15 | package code.name.monkey.retromusic.interfaces
16 |
17 | import android.view.MenuItem
18 | import android.view.View
19 | import java.io.File
20 |
21 | interface ICallbacks {
22 | fun onFileSelected(file: File)
23 |
24 | fun onFileMenuClicked(file: File, view: View)
25 |
26 | fun onMultipleItemAction(item: MenuItem, files: ArrayList)
27 | }
28 |
--------------------------------------------------------------------------------
/app/src/main/java/code/name/monkey/retromusic/interfaces/IGenreClickListener.kt:
--------------------------------------------------------------------------------
1 | package code.name.monkey.retromusic.interfaces
2 |
3 | import android.view.View
4 | import code.name.monkey.retromusic.model.Genre
5 |
6 | interface IGenreClickListener {
7 | fun onClickGenre(genre: Genre, view: View)
8 | }
--------------------------------------------------------------------------------
/app/src/main/java/code/name/monkey/retromusic/interfaces/IHomeClickListener.kt:
--------------------------------------------------------------------------------
1 | package code.name.monkey.retromusic.interfaces
2 |
3 | import code.name.monkey.retromusic.model.Album
4 | import code.name.monkey.retromusic.model.Artist
5 | import code.name.monkey.retromusic.model.Genre
6 |
7 | interface IHomeClickListener {
8 | fun onAlbumClick(album: Album)
9 |
10 | fun onArtistClick(artist: Artist)
11 |
12 | fun onGenreClick(genre: Genre)
13 | }
--------------------------------------------------------------------------------
/app/src/main/java/code/name/monkey/retromusic/interfaces/IMainActivityFragmentCallbacks.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2020 Hemanth Savarla.
3 | *
4 | * Licensed under the GNU General Public License v3
5 | *
6 | * This is free software: you can redistribute it and/or modify it
7 | * under the terms of the GNU General Public License as published by
8 | * the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
9 | *
10 | * This software is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
11 | * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
12 | * See the GNU General Public License for more details.
13 | *
14 | */
15 | package code.name.monkey.retromusic.interfaces
16 |
17 | /**
18 | * Created by hemanths on 14/08/17.
19 | */
20 | interface IMainActivityFragmentCallbacks {
21 | fun handleBackPress(): Boolean
22 | }
23 |
--------------------------------------------------------------------------------
/app/src/main/java/code/name/monkey/retromusic/interfaces/IPaletteColorHolder.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2020 Hemanth Savarla.
3 | *
4 | * Licensed under the GNU General Public License v3
5 | *
6 | * This is free software: you can redistribute it and/or modify it
7 | * under the terms of the GNU General Public License as published by
8 | * the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
9 | *
10 | * This software is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
11 | * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
12 | * See the GNU General Public License for more details.
13 | *
14 | */
15 | package code.name.monkey.retromusic.interfaces
16 |
17 | /**
18 | * @author Aidan Follestad (afollestad)
19 | */
20 | interface IPaletteColorHolder {
21 | val paletteColor: Int
22 | }
23 |
--------------------------------------------------------------------------------
/app/src/main/java/code/name/monkey/retromusic/interfaces/IPlaylistClickListener.kt:
--------------------------------------------------------------------------------
1 | package code.name.monkey.retromusic.interfaces
2 |
3 | import android.view.View
4 | import code.name.monkey.retromusic.db.PlaylistWithSongs
5 |
6 | interface IPlaylistClickListener {
7 | fun onPlaylistClick(playlistWithSongs: PlaylistWithSongs, view: View)
8 | }
--------------------------------------------------------------------------------
/app/src/main/java/code/name/monkey/retromusic/interfaces/IScrollHelper.kt:
--------------------------------------------------------------------------------
1 | package code.name.monkey.retromusic.interfaces
2 |
3 | interface IScrollHelper {
4 | fun scrollToTop()
5 | }
--------------------------------------------------------------------------------
/app/src/main/java/code/name/monkey/retromusic/lyrics/Lrc.java:
--------------------------------------------------------------------------------
1 | package code.name.monkey.retromusic.lyrics;
2 |
3 | /**
4 | * Desc : 歌词实体 Author : Lauzy Date : 2017/10/13 Blog : http://www.jianshu.com/u/e76853f863a9 Email :
5 | * freedompaladin@gmail.com
6 | */
7 | public class Lrc {
8 | private long time;
9 | private String text;
10 |
11 | public long getTime() {
12 | return time;
13 | }
14 |
15 | public void setTime(long time) {
16 | this.time = time;
17 | }
18 |
19 | public String getText() {
20 | return text;
21 | }
22 |
23 | public void setText(String text) {
24 | this.text = text;
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/app/src/main/java/code/name/monkey/retromusic/model/AbsCustomPlaylist.kt:
--------------------------------------------------------------------------------
1 | package code.name.monkey.retromusic.model
2 |
3 | import code.name.monkey.retromusic.repository.LastAddedRepository
4 | import code.name.monkey.retromusic.repository.SongRepository
5 | import code.name.monkey.retromusic.repository.TopPlayedRepository
6 | import org.koin.core.component.KoinComponent
7 | import org.koin.core.component.inject
8 |
9 | abstract class AbsCustomPlaylist(
10 | id: Long,
11 | name: String
12 | ) : Playlist(id, name), KoinComponent {
13 |
14 | abstract fun songs(): List
15 |
16 | protected val songRepository by inject()
17 |
18 | protected val topPlayedRepository by inject()
19 |
20 | protected val lastAddedRepository by inject()
21 | }
--------------------------------------------------------------------------------
/app/src/main/java/code/name/monkey/retromusic/model/ArtworkInfo.kt:
--------------------------------------------------------------------------------
1 | package code.name.monkey.retromusic.model
2 |
3 | import android.graphics.Bitmap
4 |
5 | class ArtworkInfo constructor(val albumId: Long, val artwork: Bitmap?)
6 |
--------------------------------------------------------------------------------
/app/src/main/java/code/name/monkey/retromusic/model/AudioTagInfo.kt:
--------------------------------------------------------------------------------
1 | package code.name.monkey.retromusic.model
2 |
3 | import org.jaudiotagger.tag.FieldKey
4 |
5 | class AudioTagInfo(
6 | val filePaths: List?,
7 | val fieldKeyValueMap: Map?,
8 | val artworkInfo: ArtworkInfo?
9 | )
--------------------------------------------------------------------------------
/app/src/main/java/code/name/monkey/retromusic/model/Genre.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2019 Hemanth Savarala.
3 | *
4 | * Licensed under the GNU General Public License v3
5 | *
6 | * This is free software: you can redistribute it and/or modify it under
7 | * the terms of the GNU General Public License as published by
8 | * the Free Software Foundation either version 3 of the License, or (at your option) any later version.
9 | *
10 | * This software is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
11 | * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
12 | * See the GNU General Public License for more details.
13 | */
14 |
15 | package code.name.monkey.retromusic.model
16 |
17 | import android.os.Parcelable
18 | import kotlinx.parcelize.Parcelize
19 |
20 | @Parcelize
21 | data class Genre(
22 | val id: Long,
23 | val name: String,
24 | val songCount: Int
25 | ) : Parcelable
--------------------------------------------------------------------------------
/app/src/main/java/code/name/monkey/retromusic/model/Home.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2019 Hemanth Savarala.
3 | *
4 | * Licensed under the GNU General Public License v3
5 | *
6 | * This is free software: you can redistribute it and/or modify it under
7 | * the terms of the GNU General Public License as published by
8 | * the Free Software Foundation either version 3 of the License, or (at your option) any later version.
9 | *
10 | * This software is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
11 | * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
12 | * See the GNU General Public License for more details.
13 | */
14 |
15 | package code.name.monkey.retromusic.model
16 |
17 | import androidx.annotation.StringRes
18 | import code.name.monkey.retromusic.HomeSection
19 |
20 | data class Home(
21 | val arrayList: List,
22 | @HomeSection
23 | val homeSection: Int,
24 | @StringRes
25 | val titleRes: Int
26 | )
--------------------------------------------------------------------------------
/app/src/main/java/code/name/monkey/retromusic/model/smartplaylist/AbsSmartPlaylist.kt:
--------------------------------------------------------------------------------
1 | package code.name.monkey.retromusic.model.smartplaylist
2 |
3 | import androidx.annotation.DrawableRes
4 | import code.name.monkey.retromusic.R
5 | import code.name.monkey.retromusic.model.AbsCustomPlaylist
6 |
7 | abstract class AbsSmartPlaylist(
8 | name: String,
9 | @DrawableRes val iconRes: Int = R.drawable.ic_queue_music
10 | ) : AbsCustomPlaylist(
11 | id = PlaylistIdGenerator(name, iconRes),
12 | name = name
13 | )
--------------------------------------------------------------------------------
/app/src/main/java/code/name/monkey/retromusic/model/smartplaylist/HistoryPlaylist.kt:
--------------------------------------------------------------------------------
1 | package code.name.monkey.retromusic.model.smartplaylist
2 |
3 | import code.name.monkey.retromusic.App
4 | import code.name.monkey.retromusic.R
5 | import code.name.monkey.retromusic.model.Song
6 | import kotlinx.parcelize.Parcelize
7 | import org.koin.core.component.KoinComponent
8 |
9 | @Parcelize
10 | class HistoryPlaylist : AbsSmartPlaylist(
11 | name = App.getContext().getString(R.string.history),
12 | iconRes = R.drawable.ic_history
13 | ), KoinComponent {
14 |
15 | override fun songs(): List {
16 | return topPlayedRepository.recentlyPlayedTracks()
17 | }
18 | }
--------------------------------------------------------------------------------
/app/src/main/java/code/name/monkey/retromusic/model/smartplaylist/LastAddedPlaylist.kt:
--------------------------------------------------------------------------------
1 | package code.name.monkey.retromusic.model.smartplaylist
2 |
3 | import code.name.monkey.retromusic.App
4 | import code.name.monkey.retromusic.R
5 | import code.name.monkey.retromusic.model.Song
6 | import kotlinx.parcelize.Parcelize
7 |
8 | @Parcelize
9 | class LastAddedPlaylist : AbsSmartPlaylist(
10 | name = App.getContext().getString(R.string.last_added),
11 | iconRes = R.drawable.ic_library_add
12 | ) {
13 | override fun songs(): List {
14 | return lastAddedRepository.recentSongs()
15 | }
16 | }
--------------------------------------------------------------------------------
/app/src/main/java/code/name/monkey/retromusic/model/smartplaylist/NotPlayedPlaylist.kt:
--------------------------------------------------------------------------------
1 | package code.name.monkey.retromusic.model.smartplaylist
2 |
3 | import code.name.monkey.retromusic.App
4 | import code.name.monkey.retromusic.R
5 | import code.name.monkey.retromusic.model.Song
6 | import kotlinx.parcelize.Parcelize
7 |
8 | @Parcelize
9 | class NotPlayedPlaylist : AbsSmartPlaylist(
10 | name = App.getContext().getString(R.string.not_recently_played),
11 | iconRes = R.drawable.ic_audiotrack
12 | ) {
13 | override fun songs(): List {
14 | return topPlayedRepository.notRecentlyPlayedTracks()
15 | }
16 | }
--------------------------------------------------------------------------------
/app/src/main/java/code/name/monkey/retromusic/model/smartplaylist/PlaylistIdGenerator.kt:
--------------------------------------------------------------------------------
1 | package code.name.monkey.retromusic.model.smartplaylist
2 |
3 | import androidx.annotation.DrawableRes
4 | import kotlin.math.abs
5 |
6 | object PlaylistIdGenerator {
7 |
8 | operator fun invoke(name: String, @DrawableRes iconRes: Int): Long {
9 | return abs(31L * name.hashCode() + iconRes * name.hashCode() * 31L * 31L)
10 | }
11 |
12 | }
--------------------------------------------------------------------------------
/app/src/main/java/code/name/monkey/retromusic/model/smartplaylist/ShuffleAllPlaylist.kt:
--------------------------------------------------------------------------------
1 | package code.name.monkey.retromusic.model.smartplaylist
2 |
3 | import code.name.monkey.retromusic.App
4 | import code.name.monkey.retromusic.R
5 | import code.name.monkey.retromusic.model.Song
6 | import kotlinx.parcelize.Parcelize
7 |
8 | @Parcelize
9 | class ShuffleAllPlaylist : AbsSmartPlaylist(
10 | name = App.getContext().getString(R.string.action_shuffle_all),
11 | iconRes = R.drawable.ic_shuffle
12 | ) {
13 | override fun songs(): List {
14 | return songRepository.songs()
15 | }
16 | }
--------------------------------------------------------------------------------
/app/src/main/java/code/name/monkey/retromusic/model/smartplaylist/TopTracksPlaylist.kt:
--------------------------------------------------------------------------------
1 | package code.name.monkey.retromusic.model.smartplaylist
2 |
3 | import code.name.monkey.retromusic.App
4 | import code.name.monkey.retromusic.R
5 | import code.name.monkey.retromusic.model.Song
6 | import kotlinx.parcelize.Parcelize
7 |
8 | @Parcelize
9 | class TopTracksPlaylist : AbsSmartPlaylist(
10 | name = App.getContext().getString(R.string.my_top_tracks),
11 | iconRes = R.drawable.ic_trending_up
12 | ) {
13 | override fun songs(): List {
14 | return topPlayedRepository.topTracks()
15 | }
16 | }
--------------------------------------------------------------------------------
/app/src/main/java/code/name/monkey/retromusic/transform/DefaultTransformer.kt:
--------------------------------------------------------------------------------
1 | package code.name.monkey.retromusic.transform
2 |
3 | import android.view.View
4 | import androidx.viewpager.widget.ViewPager
5 |
6 | class DefaultTransformer : ViewPager.PageTransformer {
7 | override fun transformPage(page: View, position: Float) {}
8 | }
--------------------------------------------------------------------------------
/app/src/main/java/code/name/monkey/retromusic/util/FilePathUtil.kt:
--------------------------------------------------------------------------------
1 | package code.name.monkey.retromusic.util
2 |
3 | import android.os.Environment
4 |
5 | object FilePathUtil {
6 | fun blacklistFilePaths(): List {
7 | return listOf(
8 | getExternalStoragePublicDirectory(Environment.DIRECTORY_ALARMS),
9 | getExternalStoragePublicDirectory(Environment.DIRECTORY_RINGTONES),
10 | getExternalStoragePublicDirectory(Environment.DIRECTORY_NOTIFICATIONS)
11 | ).map {
12 | FileUtil.safeGetCanonicalPath(it)
13 | }
14 | }
15 | }
--------------------------------------------------------------------------------
/app/src/main/java/code/name/monkey/retromusic/util/LogUtil.kt:
--------------------------------------------------------------------------------
1 | package code.name.monkey.retromusic.util
2 |
3 | import android.util.Log
4 | import code.name.monkey.retromusic.BuildConfig
5 |
6 | fun Any.logD(message: Any?) {
7 | logD(message.toString())
8 | }
9 |
10 | fun Any.logD(message: String) {
11 | if (BuildConfig.DEBUG) {
12 | Log.d(name, message)
13 | }
14 | }
15 |
16 | fun Any.logE(message: String) {
17 | Log.e(name, message)
18 | }
19 |
20 | fun Any.logE(e: Exception) {
21 | Log.e(name, e.message ?: "Error")
22 | }
23 |
24 | private val Any.name: String get() = this::class.java.simpleName
--------------------------------------------------------------------------------
/app/src/main/java/code/name/monkey/retromusic/util/UriUtil.kt:
--------------------------------------------------------------------------------
1 | package code.name.monkey.retromusic.util
2 |
3 | import android.content.ContentUris
4 | import android.content.Context
5 | import android.net.Uri
6 | import android.os.Build
7 | import android.provider.MediaStore
8 | import androidx.annotation.RequiresApi
9 | import code.name.monkey.retromusic.Constants
10 |
11 | object UriUtil {
12 | @RequiresApi(Build.VERSION_CODES.Q)
13 | fun getUriFromPath(context: Context, path: String): Uri {
14 | val uri = MediaStore.Files.getContentUri(MediaStore.VOLUME_EXTERNAL)
15 | val proj = arrayOf(MediaStore.Files.FileColumns._ID)
16 | context.contentResolver.query(
17 | uri, proj, Constants.DATA + "=?", arrayOf(path), null
18 | )?.use { cursor ->
19 | if (cursor.count != 0) {
20 | cursor.moveToFirst()
21 | return ContentUris.withAppendedId(uri, cursor.getLong(0))
22 | }
23 | }
24 | return Uri.EMPTY
25 | }
26 | }
--------------------------------------------------------------------------------
/app/src/main/java/code/name/monkey/retromusic/util/theme/ThemeMode.kt:
--------------------------------------------------------------------------------
1 | package code.name.monkey.retromusic.util.theme
2 |
3 | enum class ThemeMode {
4 | LIGHT,
5 | DARK,
6 | BLACK,
7 | AUTO
8 | }
--------------------------------------------------------------------------------
/app/src/main/java/code/name/monkey/retromusic/views/AccentIcon.kt:
--------------------------------------------------------------------------------
1 | package code.name.monkey.retromusic.views
2 |
3 | import android.content.Context
4 | import android.content.res.ColorStateList
5 | import android.util.AttributeSet
6 | import androidx.appcompat.widget.AppCompatImageView
7 | import code.name.monkey.appthemehelper.ThemeStore
8 |
9 | class AccentIcon @JvmOverloads constructor(
10 | context: Context,
11 | attrs: AttributeSet? = null,
12 | defStyleAttr: Int = -1
13 | ) : AppCompatImageView(context, attrs, defStyleAttr) {
14 | init {
15 | imageTintList = ColorStateList.valueOf(ThemeStore.accentColor(context))
16 | }
17 | }
--------------------------------------------------------------------------------
/app/src/main/java/code/name/monkey/retromusic/views/insets/InsetsConstraintLayout.kt:
--------------------------------------------------------------------------------
1 | package code.name.monkey.retromusic.views.insets
2 |
3 | import android.content.Context
4 | import android.util.AttributeSet
5 | import androidx.constraintlayout.widget.ConstraintLayout
6 | import code.name.monkey.retromusic.util.PreferenceUtil
7 | import dev.chrisbanes.insetter.applyInsetter
8 |
9 | class InsetsConstraintLayout @JvmOverloads constructor(
10 | context: Context,
11 | attrs: AttributeSet? = null,
12 | defStyleAttr: Int = 0
13 | ) : ConstraintLayout(context, attrs, defStyleAttr) {
14 | init {
15 | if (!isInEditMode && !PreferenceUtil.isFullScreenMode)
16 | applyInsetter {
17 | type(navigationBars = true) {
18 | padding(vertical = true)
19 | }
20 | }
21 | }
22 | }
--------------------------------------------------------------------------------
/app/src/main/java/code/name/monkey/retromusic/views/insets/InsetsRecyclerView.kt:
--------------------------------------------------------------------------------
1 | package code.name.monkey.retromusic.views.insets
2 |
3 | import android.content.Context
4 | import android.util.AttributeSet
5 | import androidx.recyclerview.widget.RecyclerView
6 | import code.name.monkey.retromusic.util.PreferenceUtil
7 | import dev.chrisbanes.insetter.applyInsetter
8 |
9 | class InsetsRecyclerView @JvmOverloads constructor(
10 | context: Context,
11 | attrs: AttributeSet? = null,
12 | defStyleAttr: Int = 0,
13 | ) : RecyclerView(context, attrs, defStyleAttr) {
14 | init {
15 | if (!isInEditMode && !PreferenceUtil.isFullScreenMode)
16 | applyInsetter {
17 | type(navigationBars = true) {
18 | padding(vertical = true)
19 | }
20 | }
21 | }
22 | }
--------------------------------------------------------------------------------
/app/src/main/java/code/name/monkey/retromusic/volume/OnAudioVolumeChangedListener.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2019 Hemanth Savarala.
3 | *
4 | * Licensed under the GNU General Public License v3
5 | *
6 | * This is free software: you can redistribute it and/or modify it under
7 | * the terms of the GNU General Public License as published by
8 | * the Free Software Foundation either version 3 of the License, or (at your option) any later version.
9 | *
10 | * This software is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
11 | * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
12 | * See the GNU General Public License for more details.
13 | */
14 | package code.name.monkey.retromusic.volume
15 |
16 | interface OnAudioVolumeChangedListener {
17 | fun onAudioVolumeChanged(currentVolume: Int, maxVolume: Int)
18 | }
--------------------------------------------------------------------------------
/app/src/main/res/anim/item_animation_fall_down.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
8 |
9 |
13 |
14 |
22 |
--------------------------------------------------------------------------------
/app/src/main/res/anim/layout_anim_fade.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/app/src/main/res/anim/layout_animation_fall_down.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/app/src/main/res/anim/retro_fragment_fast_out_extra_slow_in.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable-anydpi-v24/ic_notification.xml:
--------------------------------------------------------------------------------
1 |
7 |
10 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/default_album_art.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MuntashirAkon/Metro/32e0a24358b8f92bf1da748e7fcd08499346478c/app/src/main/res/drawable-hdpi/default_album_art.webp
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/default_artist_art.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MuntashirAkon/Metro/32e0a24358b8f92bf1da748e7fcd08499346478c/app/src/main/res/drawable-hdpi/default_artist_art.webp
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/default_audio_art.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MuntashirAkon/Metro/32e0a24358b8f92bf1da748e7fcd08499346478c/app/src/main/res/drawable-hdpi/default_audio_art.webp
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/ic_notification.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MuntashirAkon/Metro/32e0a24358b8f92bf1da748e7fcd08499346478c/app/src/main/res/drawable-hdpi/ic_notification.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-mdpi/default_album_art.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MuntashirAkon/Metro/32e0a24358b8f92bf1da748e7fcd08499346478c/app/src/main/res/drawable-mdpi/default_album_art.webp
--------------------------------------------------------------------------------
/app/src/main/res/drawable-mdpi/default_artist_art.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MuntashirAkon/Metro/32e0a24358b8f92bf1da748e7fcd08499346478c/app/src/main/res/drawable-mdpi/default_artist_art.webp
--------------------------------------------------------------------------------
/app/src/main/res/drawable-mdpi/default_audio_art.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MuntashirAkon/Metro/32e0a24358b8f92bf1da748e7fcd08499346478c/app/src/main/res/drawable-mdpi/default_audio_art.webp
--------------------------------------------------------------------------------
/app/src/main/res/drawable-mdpi/ic_notification.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MuntashirAkon/Metro/32e0a24358b8f92bf1da748e7fcd08499346478c/app/src/main/res/drawable-mdpi/ic_notification.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-night-hdpi/default_album_art.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MuntashirAkon/Metro/32e0a24358b8f92bf1da748e7fcd08499346478c/app/src/main/res/drawable-night-hdpi/default_album_art.webp
--------------------------------------------------------------------------------
/app/src/main/res/drawable-night-hdpi/default_artist_art.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MuntashirAkon/Metro/32e0a24358b8f92bf1da748e7fcd08499346478c/app/src/main/res/drawable-night-hdpi/default_artist_art.webp
--------------------------------------------------------------------------------
/app/src/main/res/drawable-night-hdpi/default_audio_art.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MuntashirAkon/Metro/32e0a24358b8f92bf1da748e7fcd08499346478c/app/src/main/res/drawable-night-hdpi/default_audio_art.webp
--------------------------------------------------------------------------------
/app/src/main/res/drawable-night-mdpi/default_album_art.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MuntashirAkon/Metro/32e0a24358b8f92bf1da748e7fcd08499346478c/app/src/main/res/drawable-night-mdpi/default_album_art.webp
--------------------------------------------------------------------------------
/app/src/main/res/drawable-night-mdpi/default_artist_art.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MuntashirAkon/Metro/32e0a24358b8f92bf1da748e7fcd08499346478c/app/src/main/res/drawable-night-mdpi/default_artist_art.webp
--------------------------------------------------------------------------------
/app/src/main/res/drawable-night-mdpi/default_audio_art.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MuntashirAkon/Metro/32e0a24358b8f92bf1da748e7fcd08499346478c/app/src/main/res/drawable-night-mdpi/default_audio_art.webp
--------------------------------------------------------------------------------
/app/src/main/res/drawable-night-xhdpi/default_album_art.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MuntashirAkon/Metro/32e0a24358b8f92bf1da748e7fcd08499346478c/app/src/main/res/drawable-night-xhdpi/default_album_art.webp
--------------------------------------------------------------------------------
/app/src/main/res/drawable-night-xhdpi/default_artist_art.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MuntashirAkon/Metro/32e0a24358b8f92bf1da748e7fcd08499346478c/app/src/main/res/drawable-night-xhdpi/default_artist_art.webp
--------------------------------------------------------------------------------
/app/src/main/res/drawable-night-xhdpi/default_audio_art.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MuntashirAkon/Metro/32e0a24358b8f92bf1da748e7fcd08499346478c/app/src/main/res/drawable-night-xhdpi/default_audio_art.webp
--------------------------------------------------------------------------------
/app/src/main/res/drawable-night-xxhdpi/default_album_art.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MuntashirAkon/Metro/32e0a24358b8f92bf1da748e7fcd08499346478c/app/src/main/res/drawable-night-xxhdpi/default_album_art.webp
--------------------------------------------------------------------------------
/app/src/main/res/drawable-night-xxhdpi/default_artist_art.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MuntashirAkon/Metro/32e0a24358b8f92bf1da748e7fcd08499346478c/app/src/main/res/drawable-night-xxhdpi/default_artist_art.webp
--------------------------------------------------------------------------------
/app/src/main/res/drawable-night-xxhdpi/default_audio_art.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MuntashirAkon/Metro/32e0a24358b8f92bf1da748e7fcd08499346478c/app/src/main/res/drawable-night-xxhdpi/default_audio_art.webp
--------------------------------------------------------------------------------
/app/src/main/res/drawable-night-xxxhdpi/default_album_art.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MuntashirAkon/Metro/32e0a24358b8f92bf1da748e7fcd08499346478c/app/src/main/res/drawable-night-xxxhdpi/default_album_art.webp
--------------------------------------------------------------------------------
/app/src/main/res/drawable-night-xxxhdpi/default_artist_art.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MuntashirAkon/Metro/32e0a24358b8f92bf1da748e7fcd08499346478c/app/src/main/res/drawable-night-xxxhdpi/default_artist_art.webp
--------------------------------------------------------------------------------
/app/src/main/res/drawable-night-xxxhdpi/default_audio_art.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MuntashirAkon/Metro/32e0a24358b8f92bf1da748e7fcd08499346478c/app/src/main/res/drawable-night-xxxhdpi/default_audio_art.webp
--------------------------------------------------------------------------------
/app/src/main/res/drawable-v26/saf_guide_1.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MuntashirAkon/Metro/32e0a24358b8f92bf1da748e7fcd08499346478c/app/src/main/res/drawable-v26/saf_guide_1.webp
--------------------------------------------------------------------------------
/app/src/main/res/drawable-v26/saf_guide_2.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MuntashirAkon/Metro/32e0a24358b8f92bf1da748e7fcd08499346478c/app/src/main/res/drawable-v26/saf_guide_2.webp
--------------------------------------------------------------------------------
/app/src/main/res/drawable-v26/saf_guide_3.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MuntashirAkon/Metro/32e0a24358b8f92bf1da748e7fcd08499346478c/app/src/main/res/drawable-v26/saf_guide_3.webp
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/default_album_art.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MuntashirAkon/Metro/32e0a24358b8f92bf1da748e7fcd08499346478c/app/src/main/res/drawable-xhdpi/default_album_art.webp
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/default_artist_art.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MuntashirAkon/Metro/32e0a24358b8f92bf1da748e7fcd08499346478c/app/src/main/res/drawable-xhdpi/default_artist_art.webp
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/default_audio_art.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MuntashirAkon/Metro/32e0a24358b8f92bf1da748e7fcd08499346478c/app/src/main/res/drawable-xhdpi/default_audio_art.webp
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ic_notification.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MuntashirAkon/Metro/32e0a24358b8f92bf1da748e7fcd08499346478c/app/src/main/res/drawable-xhdpi/ic_notification.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/default_album_art.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MuntashirAkon/Metro/32e0a24358b8f92bf1da748e7fcd08499346478c/app/src/main/res/drawable-xxhdpi/default_album_art.webp
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/default_artist_art.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MuntashirAkon/Metro/32e0a24358b8f92bf1da748e7fcd08499346478c/app/src/main/res/drawable-xxhdpi/default_artist_art.webp
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/default_audio_art.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MuntashirAkon/Metro/32e0a24358b8f92bf1da748e7fcd08499346478c/app/src/main/res/drawable-xxhdpi/default_audio_art.webp
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/ic_notification.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MuntashirAkon/Metro/32e0a24358b8f92bf1da748e7fcd08499346478c/app/src/main/res/drawable-xxhdpi/ic_notification.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxxhdpi/default_album_art.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MuntashirAkon/Metro/32e0a24358b8f92bf1da748e7fcd08499346478c/app/src/main/res/drawable-xxxhdpi/default_album_art.webp
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxxhdpi/default_artist_art.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MuntashirAkon/Metro/32e0a24358b8f92bf1da748e7fcd08499346478c/app/src/main/res/drawable-xxxhdpi/default_artist_art.webp
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxxhdpi/default_audio_art.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MuntashirAkon/Metro/32e0a24358b8f92bf1da748e7fcd08499346478c/app/src/main/res/drawable-xxxhdpi/default_audio_art.webp
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxxhdpi/ic_notification.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MuntashirAkon/Metro/32e0a24358b8f92bf1da748e7fcd08499346478c/app/src/main/res/drawable-xxxhdpi/ic_notification.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxxhdpi/ic_splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MuntashirAkon/Metro/32e0a24358b8f92bf1da748e7fcd08499346478c/app/src/main/res/drawable-xxxhdpi/ic_splash.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxxhdpi/np_adaptive.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MuntashirAkon/Metro/32e0a24358b8f92bf1da748e7fcd08499346478c/app/src/main/res/drawable-xxxhdpi/np_adaptive.webp
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxxhdpi/np_blur.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MuntashirAkon/Metro/32e0a24358b8f92bf1da748e7fcd08499346478c/app/src/main/res/drawable-xxxhdpi/np_blur.webp
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxxhdpi/np_blur_card.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MuntashirAkon/Metro/32e0a24358b8f92bf1da748e7fcd08499346478c/app/src/main/res/drawable-xxxhdpi/np_blur_card.webp
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxxhdpi/np_card.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MuntashirAkon/Metro/32e0a24358b8f92bf1da748e7fcd08499346478c/app/src/main/res/drawable-xxxhdpi/np_card.webp
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxxhdpi/np_circle.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MuntashirAkon/Metro/32e0a24358b8f92bf1da748e7fcd08499346478c/app/src/main/res/drawable-xxxhdpi/np_circle.webp
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxxhdpi/np_classic.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MuntashirAkon/Metro/32e0a24358b8f92bf1da748e7fcd08499346478c/app/src/main/res/drawable-xxxhdpi/np_classic.webp
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxxhdpi/np_color.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MuntashirAkon/Metro/32e0a24358b8f92bf1da748e7fcd08499346478c/app/src/main/res/drawable-xxxhdpi/np_color.webp
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxxhdpi/np_fit.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MuntashirAkon/Metro/32e0a24358b8f92bf1da748e7fcd08499346478c/app/src/main/res/drawable-xxxhdpi/np_fit.webp
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxxhdpi/np_flat.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MuntashirAkon/Metro/32e0a24358b8f92bf1da748e7fcd08499346478c/app/src/main/res/drawable-xxxhdpi/np_flat.webp
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxxhdpi/np_full.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MuntashirAkon/Metro/32e0a24358b8f92bf1da748e7fcd08499346478c/app/src/main/res/drawable-xxxhdpi/np_full.webp
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxxhdpi/np_gradient.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MuntashirAkon/Metro/32e0a24358b8f92bf1da748e7fcd08499346478c/app/src/main/res/drawable-xxxhdpi/np_gradient.webp
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxxhdpi/np_material.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MuntashirAkon/Metro/32e0a24358b8f92bf1da748e7fcd08499346478c/app/src/main/res/drawable-xxxhdpi/np_material.webp
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxxhdpi/np_minimalistic_circle.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MuntashirAkon/Metro/32e0a24358b8f92bf1da748e7fcd08499346478c/app/src/main/res/drawable-xxxhdpi/np_minimalistic_circle.webp
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxxhdpi/np_normal.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MuntashirAkon/Metro/32e0a24358b8f92bf1da748e7fcd08499346478c/app/src/main/res/drawable-xxxhdpi/np_normal.webp
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxxhdpi/np_peek.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MuntashirAkon/Metro/32e0a24358b8f92bf1da748e7fcd08499346478c/app/src/main/res/drawable-xxxhdpi/np_peek.webp
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxxhdpi/np_plain.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MuntashirAkon/Metro/32e0a24358b8f92bf1da748e7fcd08499346478c/app/src/main/res/drawable-xxxhdpi/np_plain.webp
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxxhdpi/np_simple.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MuntashirAkon/Metro/32e0a24358b8f92bf1da748e7fcd08499346478c/app/src/main/res/drawable-xxxhdpi/np_simple.webp
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxxhdpi/np_tiny.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MuntashirAkon/Metro/32e0a24358b8f92bf1da748e7fcd08499346478c/app/src/main/res/drawable-xxxhdpi/np_tiny.webp
--------------------------------------------------------------------------------
/app/src/main/res/drawable/app_widget_background.xml:
--------------------------------------------------------------------------------
1 |
5 |
7 |
8 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/artist_card_gradient_effect.xml:
--------------------------------------------------------------------------------
1 |
14 |
15 |
17 |
21 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/asld_album.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
9 |
13 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/asld_artist.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
10 |
14 |
15 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/asld_face.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
10 |
14 |
15 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/asld_folder.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
9 |
13 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/asld_guitar.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
9 |
13 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/asld_heart.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
10 |
14 |
18 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/asld_music_note.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
9 |
13 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/asld_playlist.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
10 |
14 |
15 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/circle_widget_background.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/color_circle_gradient.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_album.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
11 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_app_shortcut_background.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
13 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_app_shortcut_last_added.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
15 |
19 |
20 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_app_shortcut_shuffle_all.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
15 |
19 |
20 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_app_shortcut_top_tracks.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
15 |
19 |
20 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_arrow_back.xml:
--------------------------------------------------------------------------------
1 |
7 |
10 |
11 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_arrow_forward.xml:
--------------------------------------------------------------------------------
1 |
7 |
10 |
11 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_artist.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
10 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_audiotrack.xml:
--------------------------------------------------------------------------------
1 |
7 |
10 |
11 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_car.xml:
--------------------------------------------------------------------------------
1 |
7 |
10 |
11 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_check_circle.xml:
--------------------------------------------------------------------------------
1 |
7 |
10 |
11 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_clear_all.xml:
--------------------------------------------------------------------------------
1 |
7 |
10 |
11 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_close.xml:
--------------------------------------------------------------------------------
1 |
7 |
10 |
11 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_colorize.xml:
--------------------------------------------------------------------------------
1 |
7 |
10 |
11 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_diamond.xml:
--------------------------------------------------------------------------------
1 |
7 |
10 |
11 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_drag_handle.xml:
--------------------------------------------------------------------------------
1 |
7 |
10 |
11 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_edit.xml:
--------------------------------------------------------------------------------
1 |
7 |
10 |
11 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_equalizer.xml:
--------------------------------------------------------------------------------
1 |
7 |
10 |
11 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_expand_less.xml:
--------------------------------------------------------------------------------
1 |
7 |
10 |
11 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_face.xml:
--------------------------------------------------------------------------------
1 |
7 |
10 |
11 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_fast_food_meal.xml:
--------------------------------------------------------------------------------
1 |
6 |
7 |
10 |
11 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_favorite.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
11 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_file_edit.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_flag.xml:
--------------------------------------------------------------------------------
1 |
7 |
10 |
11 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_folder.xml:
--------------------------------------------------------------------------------
1 |
7 |
10 |
11 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_home.xml:
--------------------------------------------------------------------------------
1 |
7 |
10 |
11 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_image.xml:
--------------------------------------------------------------------------------
1 |
7 |
10 |
11 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_instagram.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
10 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_keyboard.xml:
--------------------------------------------------------------------------------
1 |
7 |
10 |
11 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_keyboard_arrow_down.xml:
--------------------------------------------------------------------------------
1 |
7 |
10 |
11 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_keyboard_arrow_right.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_keyboard_arrow_up.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_kofi.xml:
--------------------------------------------------------------------------------
1 |
7 |
10 |
11 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_library_add.xml:
--------------------------------------------------------------------------------
1 |
7 |
10 |
11 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_license.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_lyrics.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_lyrics_outline.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_mic.xml:
--------------------------------------------------------------------------------
1 |
7 |
10 |
11 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_notification_classic.xml:
--------------------------------------------------------------------------------
1 |
7 |
10 |
11 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_pause_outline.xml:
--------------------------------------------------------------------------------
1 |
6 |
11 |
16 |
17 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_pause_outline_small.xml:
--------------------------------------------------------------------------------
1 |
6 |
11 |
16 |
17 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_pause_white_64dp.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
10 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_play_arrow_outline.xml:
--------------------------------------------------------------------------------
1 |
7 |
10 |
11 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_play_arrow_outline_small.xml:
--------------------------------------------------------------------------------
1 |
7 |
10 |
11 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_play_arrow_sharp_white_64dp.xml:
--------------------------------------------------------------------------------
1 |
14 |
15 |
20 |
23 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_playlist_add.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
11 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_playlist_play.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_playlist_remove.xml:
--------------------------------------------------------------------------------
1 |
7 |
10 |
11 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_redo.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
12 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_refresh.xml:
--------------------------------------------------------------------------------
1 |
7 |
10 |
11 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_restore.xml:
--------------------------------------------------------------------------------
1 |
7 |
10 |
11 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_save.xml:
--------------------------------------------------------------------------------
1 |
7 |
10 |
11 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_search.xml:
--------------------------------------------------------------------------------
1 |
7 |
10 |
11 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_select_all.xml:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_send.xml:
--------------------------------------------------------------------------------
1 |
7 |
10 |
11 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_share.xml:
--------------------------------------------------------------------------------
1 |
7 |
10 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_shuffle.xml:
--------------------------------------------------------------------------------
1 |
7 |
10 |
11 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_skip_next.xml:
--------------------------------------------------------------------------------
1 |
7 |
10 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_skip_next_outline.xml:
--------------------------------------------------------------------------------
1 |
7 |
10 |
11 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_skip_next_sharp.xml:
--------------------------------------------------------------------------------
1 |
7 |
10 |
11 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_skip_previous.xml:
--------------------------------------------------------------------------------
1 |
7 |
10 |
11 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_skip_previous_outline.xml:
--------------------------------------------------------------------------------
1 |
7 |
10 |
11 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_skip_previous_sharp.xml:
--------------------------------------------------------------------------------
1 |
7 |
10 |
11 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_sort.xml:
--------------------------------------------------------------------------------
1 |
7 |
10 |
11 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_star.xml:
--------------------------------------------------------------------------------
1 |
7 |
10 |
11 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_storage.xml:
--------------------------------------------------------------------------------
1 |
7 |
10 |
11 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_telegram_white.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_trending_up.xml:
--------------------------------------------------------------------------------
1 |
7 |
10 |
11 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_twitter.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_view_carousel.xml:
--------------------------------------------------------------------------------
1 |
7 |
10 |
11 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_volume_down.xml:
--------------------------------------------------------------------------------
1 |
7 |
10 |
11 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_volume_up.xml:
--------------------------------------------------------------------------------
1 |
7 |
10 |
11 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_website.xml:
--------------------------------------------------------------------------------
1 |
7 |
10 |
11 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/instagram_story_background.xml:
--------------------------------------------------------------------------------
1 |
14 |
15 |
17 |
21 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/lyrics_mask.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
9 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/material_design_default.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MuntashirAkon/Metro/32e0a24358b8f92bf1da748e7fcd08499346478c/app/src/main/res/drawable/material_design_default.webp
--------------------------------------------------------------------------------
/app/src/main/res/drawable/notification_selector.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/popup_background.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | -
4 |
5 |
6 |
7 |
8 |
9 | -
10 |
11 |
12 |
13 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/progress_drawable_vertical.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | -
4 |
5 |
6 |
7 |
8 | -
9 |
12 |
13 |
14 |
15 |
16 |
17 | -
18 |
21 |
22 |
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/round_selector.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
7 |
8 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/round_selector_mask.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/rounded_drawable.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/saf_guide_1.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MuntashirAkon/Metro/32e0a24358b8f92bf1da748e7fcd08499346478c/app/src/main/res/drawable/saf_guide_1.webp
--------------------------------------------------------------------------------
/app/src/main/res/drawable/saf_guide_2.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MuntashirAkon/Metro/32e0a24358b8f92bf1da748e7fcd08499346478c/app/src/main/res/drawable/saf_guide_2.webp
--------------------------------------------------------------------------------
/app/src/main/res/drawable/saf_guide_3.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MuntashirAkon/Metro/32e0a24358b8f92bf1da748e7fcd08499346478c/app/src/main/res/drawable/saf_guide_3.webp
--------------------------------------------------------------------------------
/app/src/main/res/drawable/shadow_blur_theme.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
8 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/shadow_down_full_theme.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/shadow_down_strong.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
9 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/shadow_pro.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
8 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/shadow_up.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
9 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/shadow_up_down.xml:
--------------------------------------------------------------------------------
1 |
14 |
15 |
17 |
22 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/shadow_up_edited.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
8 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/shadow_up_full_theme.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
8 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/shadow_up_home.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
8 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/shadow_up_strong.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
9 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/sld_lyrics.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/slider_thumb.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
7 |
8 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/splash.xml:
--------------------------------------------------------------------------------
1 |
14 |
15 |
16 |
17 |
18 |
19 | -
20 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/switch_square.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
7 |
8 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/switch_thumb.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | -
8 |
9 |
10 |
11 |
12 |
13 | -
14 |
15 |
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/switch_thumb_material.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/switch_track.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | -
4 |
5 |
6 |
7 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/tab_lyrics_indicator.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/widget_big_info.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MuntashirAkon/Metro/32e0a24358b8f92bf1da748e7fcd08499346478c/app/src/main/res/drawable/widget_big_info.webp
--------------------------------------------------------------------------------
/app/src/main/res/drawable/widget_button_background.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/widget_card_info.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MuntashirAkon/Metro/32e0a24358b8f92bf1da748e7fcd08499346478c/app/src/main/res/drawable/widget_card_info.webp
--------------------------------------------------------------------------------
/app/src/main/res/drawable/widget_classic.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MuntashirAkon/Metro/32e0a24358b8f92bf1da748e7fcd08499346478c/app/src/main/res/drawable/widget_classic.webp
--------------------------------------------------------------------------------
/app/src/main/res/drawable/widget_selector.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/widget_selector_dark.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/widget_selector_light.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/widget_small.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MuntashirAkon/Metro/32e0a24358b8f92bf1da748e7fcd08499346478c/app/src/main/res/drawable/widget_small.webp
--------------------------------------------------------------------------------
/app/src/main/res/drawable/widget_text.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MuntashirAkon/Metro/32e0a24358b8f92bf1da748e7fcd08499346478c/app/src/main/res/drawable/widget_text.webp
--------------------------------------------------------------------------------
/app/src/main/res/font/manrope.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
6 |
9 |
12 |
15 |
18 |
21 |
24 |
--------------------------------------------------------------------------------
/app/src/main/res/font/manrope_bold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MuntashirAkon/Metro/32e0a24358b8f92bf1da748e7fcd08499346478c/app/src/main/res/font/manrope_bold.ttf
--------------------------------------------------------------------------------
/app/src/main/res/font/manrope_extrabold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MuntashirAkon/Metro/32e0a24358b8f92bf1da748e7fcd08499346478c/app/src/main/res/font/manrope_extrabold.ttf
--------------------------------------------------------------------------------
/app/src/main/res/font/manrope_extralight.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MuntashirAkon/Metro/32e0a24358b8f92bf1da748e7fcd08499346478c/app/src/main/res/font/manrope_extralight.ttf
--------------------------------------------------------------------------------
/app/src/main/res/font/manrope_light.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MuntashirAkon/Metro/32e0a24358b8f92bf1da748e7fcd08499346478c/app/src/main/res/font/manrope_light.ttf
--------------------------------------------------------------------------------
/app/src/main/res/font/manrope_medium.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MuntashirAkon/Metro/32e0a24358b8f92bf1da748e7fcd08499346478c/app/src/main/res/font/manrope_medium.ttf
--------------------------------------------------------------------------------
/app/src/main/res/font/manrope_regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MuntashirAkon/Metro/32e0a24358b8f92bf1da748e7fcd08499346478c/app/src/main/res/font/manrope_regular.ttf
--------------------------------------------------------------------------------
/app/src/main/res/font/manrope_semibold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MuntashirAkon/Metro/32e0a24358b8f92bf1da748e7fcd08499346478c/app/src/main/res/font/manrope_semibold.ttf
--------------------------------------------------------------------------------
/app/src/main/res/layout/fragment_about.xml:
--------------------------------------------------------------------------------
1 |
2 |
9 |
10 |
13 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/fragment_about_content.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
11 |
12 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/fragment_album_full_cover.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
19 |
20 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/item_grid_genre.xml:
--------------------------------------------------------------------------------
1 |
2 |
9 |
10 |
17 |
18 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/item_simple_text.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/preference_dialog_now_playing_screen.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
15 |
16 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/simple_appbar_layout.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/status_bar.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/sub_header.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/app/src/main/res/menu/menu_artist_detail.xml:
--------------------------------------------------------------------------------
1 |
30 |
--------------------------------------------------------------------------------
/app/src/main/res/menu/menu_artist_song_sort_order.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/app/src/main/res/menu/menu_backup.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/app/src/main/res/menu/menu_clear_history.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/app/src/main/res/menu/menu_genre_detail.xml:
--------------------------------------------------------------------------------
1 |
19 |
--------------------------------------------------------------------------------
/app/src/main/res/menu/menu_item_playlist.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/app/src/main/res/menu/menu_lyrics.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MuntashirAkon/Metro/32e0a24358b8f92bf1da748e7fcd08499346478c/app/src/main/res/mipmap-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MuntashirAkon/Metro/32e0a24358b8f92bf1da748e7fcd08499346478c/app/src/main/res/mipmap-hdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MuntashirAkon/Metro/32e0a24358b8f92bf1da748e7fcd08499346478c/app/src/main/res/mipmap-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-mdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MuntashirAkon/Metro/32e0a24358b8f92bf1da748e7fcd08499346478c/app/src/main/res/mipmap-mdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MuntashirAkon/Metro/32e0a24358b8f92bf1da748e7fcd08499346478c/app/src/main/res/mipmap-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MuntashirAkon/Metro/32e0a24358b8f92bf1da748e7fcd08499346478c/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MuntashirAkon/Metro/32e0a24358b8f92bf1da748e7fcd08499346478c/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MuntashirAkon/Metro/32e0a24358b8f92bf1da748e7fcd08499346478c/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MuntashirAkon/Metro/32e0a24358b8f92bf1da748e7fcd08499346478c/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MuntashirAkon/Metro/32e0a24358b8f92bf1da748e7fcd08499346478c/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/app/src/main/res/values-land/integers.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 0
4 | 1
5 |
--------------------------------------------------------------------------------
/app/src/main/res/values-night-v31/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/app/src/main/res/values-night/colors.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | @android:color/black
5 |
6 | #202020
7 | @color/darkerColorSurface
8 |
--------------------------------------------------------------------------------
/app/src/main/res/values-night/colors_md3.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | @color/elevationOverlayDark
4 |
--------------------------------------------------------------------------------
/app/src/main/res/values-sw600dp/integers.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 4
4 | 6
5 |
6 | 2
7 | 3
8 |
9 | 6
10 | 8
11 | 1
12 | 1
13 |
--------------------------------------------------------------------------------
/app/src/main/res/values-v23/bools.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | true
4 |
--------------------------------------------------------------------------------
/app/src/main/res/values-v23/dimens.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 24dp
4 |
--------------------------------------------------------------------------------
/app/src/main/res/values-v31/bools.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | true
4 | true
5 |
--------------------------------------------------------------------------------
/app/src/main/res/values-v31/colors.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | @android:color/system_accent1_900
4 | @android:color/system_accent1_50
5 |
--------------------------------------------------------------------------------
/app/src/main/res/values-v31/integers.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 0
4 |
--------------------------------------------------------------------------------
/app/src/main/res/values-xlarge/dimens.xml:
--------------------------------------------------------------------------------
1 |
2 | 64dp
3 | 64dp
4 | 72dp
5 | 16dp
6 | 80dp
7 |
8 |
--------------------------------------------------------------------------------
/app/src/main/res/values/attrs.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/app/src/main/res/values/bools.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | false
4 | false
5 |
6 | true
7 |
8 | false
9 |
--------------------------------------------------------------------------------
/app/src/main/res/values/circular_image_view_attrs.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/app/src/main/res/values/color_icon_view_attrs.xml:
--------------------------------------------------------------------------------
1 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/app/src/main/res/values/colors_md3.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | @color/md_grey_500
4 | @color/md_grey_500
5 | @color/md_black_1000
6 | @color/elevationOverlayLight
7 |
--------------------------------------------------------------------------------
/app/src/main/res/values/ic_launcher_background.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | #FFFFFF
4 |
--------------------------------------------------------------------------------
/app/src/main/res/values/integers.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 2
4 | 4
5 |
6 | 1
7 | 2
8 |
9 | 4
10 | 6
11 |
12 | 200
13 | 1
14 | 0
15 |
16 | 2
17 |
--------------------------------------------------------------------------------
/app/src/main/res/values/list_item_view.xml:
--------------------------------------------------------------------------------
1 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/app/src/main/res/values/lrc_colors.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | #9E9E9E
4 | #FF4081
5 | #F8BBD0
6 | #809E9E9E
7 | #809E9E9E
8 |
--------------------------------------------------------------------------------
/app/src/main/res/values/lrc_dimens.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 1000
4 | 20sp
5 | 16sp
6 | 16dp
7 | 1dp
8 | 30dp
9 | 40dp
10 |
--------------------------------------------------------------------------------
/app/src/main/res/values/permission_item.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/app/src/main/res/values/shapeable_imageview.xml:
--------------------------------------------------------------------------------
1 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/app/src/main/res/values/values.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | album_art_transition
4 | user_image_transition
5 | album_art_transition
6 | album_art_transition
7 | artist_image_transition
8 | artist_image_transition
9 | artist_image_transition
10 | toolbar_transition
11 |
--------------------------------------------------------------------------------
/app/src/main/res/xml/app_widget_big_info.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/app/src/main/res/xml/app_widget_card_info.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/app/src/main/res/xml/app_widget_circle_info.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/app/src/main/res/xml/app_widget_classic_info.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/app/src/main/res/xml/app_widget_md3_info.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/app/src/main/res/xml/app_widget_small_info.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/app/src/main/res/xml/app_widget_text.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/app/src/main/res/xml/automotive_app_desc.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/app/src/main/res/xml/pref_images.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
12 |
13 |
--------------------------------------------------------------------------------
/app/src/main/res/xml/provider_paths.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
6 |
--------------------------------------------------------------------------------
/appthemehelper/build.gradle:
--------------------------------------------------------------------------------
1 | apply plugin: 'com.android.library'
2 | apply plugin: 'kotlin-android'
3 | android {
4 | compileSdk 33
5 | namespace "code.name.monkey.appthemehelper"
6 |
7 | defaultConfig {
8 | minSdk 21
9 | targetSdk 33
10 | }
11 | buildTypes {
12 | release {
13 | minifyEnabled true
14 | proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
15 | }
16 | }
17 | lint {
18 | abortOnError false
19 | }
20 | compileOptions {
21 | sourceCompatibility JavaVersion.VERSION_1_8
22 | targetCompatibility JavaVersion.VERSION_1_8
23 | }
24 | }
25 |
26 | dependencies {
27 | implementation "androidx.appcompat:appcompat:$appcompat_version"
28 | implementation "com.google.android.material:material:$mdc_version"
29 | implementation "androidx.preference:preference-ktx:$preference_version"
30 | }
31 |
--------------------------------------------------------------------------------
/appthemehelper/proguard-rules.pro:
--------------------------------------------------------------------------------
1 | # Add project specific ProGuard rules here.
2 | # You can control the set of applied configuration files using the
3 | # proguardFiles setting in build.gradle.
4 | #
5 | # For more details, see
6 | # http://developer.android.com/guide/developing/tools/proguard.html
7 |
8 | # If your project uses WebView with JS, uncomment the following
9 | # and specify the fully qualified class name to the JavaScript interface
10 | # class:
11 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview {
12 | # public *;
13 | #}
14 |
15 | # Uncomment this to preserve the line number information for
16 | # debugging stack traces.
17 | #-keepattributes SourceFile,LineNumberTable
18 |
19 | # If you keep the line number information, uncomment this to
20 | # hide the original source file name.
21 | #-renamesourcefileattribute SourceFile
22 |
--------------------------------------------------------------------------------
/appthemehelper/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/appthemehelper/src/main/java/code/name/monkey/appthemehelper/common/ATHActionBarActivity.kt:
--------------------------------------------------------------------------------
1 | package code.name.monkey.appthemehelper.common
2 |
3 | import androidx.appcompat.widget.Toolbar
4 |
5 | import code.name.monkey.appthemehelper.util.ToolbarContentTintHelper
6 |
7 | class ATHActionBarActivity : ATHToolbarActivity() {
8 |
9 | override fun getATHToolbar(): Toolbar? {
10 | return ToolbarContentTintHelper.getSupportActionBarView(supportActionBar)
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/appthemehelper/src/main/java/code/name/monkey/appthemehelper/common/views/ATESwitch.kt:
--------------------------------------------------------------------------------
1 | package code.name.monkey.appthemehelper.common.views
2 |
3 | import android.content.Context
4 | import android.util.AttributeSet
5 | import androidx.core.view.isVisible
6 | import code.name.monkey.appthemehelper.ATH
7 | import code.name.monkey.appthemehelper.ThemeStore
8 | import com.google.android.material.materialswitch.MaterialSwitch
9 |
10 | /**
11 | * @author Aidan Follestad (afollestad)
12 | */
13 | class ATESwitch @JvmOverloads constructor(
14 | context: Context,
15 | attrs: AttributeSet? = null,
16 | defStyleAttr: Int = -1,
17 | ) : MaterialSwitch(context, attrs, defStyleAttr) {
18 |
19 | init {
20 | if (!isInEditMode && !ThemeStore.isMD3Enabled(context)) {
21 | ATH.setTint(this, ThemeStore.accentColor(context))
22 | }
23 | }
24 |
25 | override fun isShown(): Boolean {
26 | return parent != null && isVisible
27 | }
28 | }
--------------------------------------------------------------------------------
/appthemehelper/src/main/java/code/name/monkey/appthemehelper/util/ATHUtil.kt:
--------------------------------------------------------------------------------
1 | package code.name.monkey.appthemehelper.util
2 |
3 | import android.content.Context
4 | import android.graphics.Color
5 | import androidx.annotation.AttrRes
6 | import androidx.core.content.res.use
7 | import java.lang.Exception
8 |
9 | /**
10 | * @author Aidan Follestad (afollestad)
11 | */
12 | object ATHUtil {
13 |
14 | fun isWindowBackgroundDark(context: Context): Boolean {
15 | return !ColorUtil.isColorLight(resolveColor(context, android.R.attr.windowBackground))
16 | }
17 |
18 | @JvmOverloads
19 | fun resolveColor(context: Context, @AttrRes attr: Int, fallback: Int = 0): Int {
20 | context.theme.obtainStyledAttributes(intArrayOf(attr)).use {
21 | return try {
22 | it.getColor(0, fallback);
23 | } catch (e: Exception) {
24 | Color.BLACK
25 | }
26 | }
27 | }
28 | }
--------------------------------------------------------------------------------
/appthemehelper/src/main/java/code/name/monkey/appthemehelper/util/ViewUtil.kt:
--------------------------------------------------------------------------------
1 | package code.name.monkey.appthemehelper.util
2 |
3 | import android.graphics.drawable.Drawable
4 | import android.view.View
5 | import android.view.ViewTreeObserver
6 |
7 | object ViewUtil {
8 | fun removeOnGlobalLayoutListener(v: View, listener: ViewTreeObserver.OnGlobalLayoutListener) {
9 | v.viewTreeObserver.removeOnGlobalLayoutListener(listener)
10 | }
11 |
12 | fun setBackgroundCompat(view: View, drawable: Drawable?) {
13 | view.background = drawable
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/appthemehelper/src/main/res/drawable/ate_check.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/appthemehelper/src/main/res/layout/ate_preference_color.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/appthemehelper/src/main/res/layout/ate_preference_switch_support.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/appthemehelper/src/main/res/values-large/dimens.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/appthemehelper/src/main/res/values-night-v31/colors.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | @android:color/system_accent1_200
4 | @android:color/system_accent1_500
5 |
--------------------------------------------------------------------------------
/appthemehelper/src/main/res/values-v31/colors.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | @android:color/system_accent1_600
4 | @android:color/system_accent1_50
5 |
6 |
--------------------------------------------------------------------------------
/appthemehelper/src/main/res/values/dimens.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 1dp
5 |
6 |
--------------------------------------------------------------------------------
/appthemehelper/src/main/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 | appthemehelper
3 |
4 |
--------------------------------------------------------------------------------
/build.gradle:
--------------------------------------------------------------------------------
1 | // Top-level build file where you can add configuration options common to all sub-projects/modules.
2 |
3 | buildscript {
4 | ext {
5 | lifecycle_version = '2.6.1'
6 | navigation_version = '2.5.3'
7 | mdc_version = '1.9.0-beta01'
8 | preference_version = '1.2.0'
9 | appcompat_version = '1.6.1'
10 | core_version = '1.10.0-rc01'
11 | }
12 |
13 | repositories {
14 | mavenCentral()
15 | google()
16 | }
17 | dependencies {
18 | classpath 'com.android.tools.build:gradle:7.4.0'
19 | classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.8.10"
20 | classpath "androidx.navigation:navigation-safe-args-gradle-plugin:$navigation_version"
21 | }
22 | }
23 | plugins {
24 | id "com.github.ben-manes.versions" version "0.46.0"
25 | id 'com.google.devtools.ksp' version '1.8.10-1.0.9' apply false
26 | }
27 |
28 | tasks.register('clean', Delete) {
29 | delete rootProject.buildDir
30 | }
--------------------------------------------------------------------------------
/crowdin.yml:
--------------------------------------------------------------------------------
1 | files:
2 | - source: /app/src/main/res/values/strings.xml
3 | translation: /app/src/main/res/values-%android_code%/strings.xml
4 | content_segmentation: 0
5 |
--------------------------------------------------------------------------------
/fastlane/metadata/android/en-US/changelogs/10443.txt:
--------------------------------------------------------------------------------
1 | Added music suggestions with various internal changes
--------------------------------------------------------------------------------
/fastlane/metadata/android/en-US/changelogs/10445.txt:
--------------------------------------------------------------------------------
1 | - Fixed songs not loading from SD card
2 | - Changed default grid size for libraries
3 | - Fixed crash on rotating the device
--------------------------------------------------------------------------------
/fastlane/metadata/android/en-US/changelogs/10503.txt:
--------------------------------------------------------------------------------
1 | - Fixed crash on clicking app shortcuts
2 | - Re-added multiple selection
3 | - Removed billing activity
--------------------------------------------------------------------------------
/fastlane/metadata/android/en-US/changelogs/10579.txt:
--------------------------------------------------------------------------------
1 | - Migrate to Material 3
2 | - Support for Storage Access Framework
3 | - Bump SDK to 32 (Android 12L)
4 | - Minor fixes
--------------------------------------------------------------------------------
/fastlane/metadata/android/en-US/changelogs/10580.txt:
--------------------------------------------------------------------------------
1 | - Display song images along in the artist and album details pages
2 | - Removed the Internet permissions and all the associated features
3 | - Fixed crashing occurs during changing screen orientation
4 |
--------------------------------------------------------------------------------
/fastlane/metadata/android/en-US/changelogs/10597.txt:
--------------------------------------------------------------------------------
1 | Added lyrics downloading
--------------------------------------------------------------------------------
/fastlane/metadata/android/en-US/changelogs/10600.txt:
--------------------------------------------------------------------------------
1 | Synced with Retro Music Player.
2 |
3 | See in-app changelog for more information.
4 |
5 | NOTE: Metro is a fully offline music player, and intends to remain so. So, any features such as scribbling, fetching lyrics, album arts, etc. will never be available.
--------------------------------------------------------------------------------
/fastlane/metadata/android/en-US/changelogs/10603.txt:
--------------------------------------------------------------------------------
1 | - Remove startup warnings
2 | - Target Android 13
--------------------------------------------------------------------------------
/fastlane/metadata/android/en-US/full_description.txt:
--------------------------------------------------------------------------------
1 | Metro is a fork of Retro Music with Google Play API removed and all pro features unlocked.
2 |
3 | Features:
4 |
5 | - Local playback only (based on the MediaStore)
6 | - Sleep timer
7 | - Folder browser
8 | - Home screen widgets
9 | - Themes (Just Black, Kinda Dark, Clearly White)
10 | - Now playing themes
11 | - Volume controls
12 | - Blacklist
13 | - Album artist support
14 | - Auto-download artist images from Last.fm
15 |
16 |
--------------------------------------------------------------------------------
/fastlane/metadata/android/en-US/images/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MuntashirAkon/Metro/32e0a24358b8f92bf1da748e7fcd08499346478c/fastlane/metadata/android/en-US/images/icon.png
--------------------------------------------------------------------------------
/fastlane/metadata/android/en-US/images/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MuntashirAkon/Metro/32e0a24358b8f92bf1da748e7fcd08499346478c/fastlane/metadata/android/en-US/images/logo.png
--------------------------------------------------------------------------------
/fastlane/metadata/android/en-US/images/phoneScreenshots/1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MuntashirAkon/Metro/32e0a24358b8f92bf1da748e7fcd08499346478c/fastlane/metadata/android/en-US/images/phoneScreenshots/1.jpg
--------------------------------------------------------------------------------
/fastlane/metadata/android/en-US/images/phoneScreenshots/1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MuntashirAkon/Metro/32e0a24358b8f92bf1da748e7fcd08499346478c/fastlane/metadata/android/en-US/images/phoneScreenshots/1.png
--------------------------------------------------------------------------------
/fastlane/metadata/android/en-US/images/phoneScreenshots/2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MuntashirAkon/Metro/32e0a24358b8f92bf1da748e7fcd08499346478c/fastlane/metadata/android/en-US/images/phoneScreenshots/2.jpg
--------------------------------------------------------------------------------
/fastlane/metadata/android/en-US/images/phoneScreenshots/2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MuntashirAkon/Metro/32e0a24358b8f92bf1da748e7fcd08499346478c/fastlane/metadata/android/en-US/images/phoneScreenshots/2.png
--------------------------------------------------------------------------------
/fastlane/metadata/android/en-US/images/phoneScreenshots/3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MuntashirAkon/Metro/32e0a24358b8f92bf1da748e7fcd08499346478c/fastlane/metadata/android/en-US/images/phoneScreenshots/3.jpg
--------------------------------------------------------------------------------
/fastlane/metadata/android/en-US/images/phoneScreenshots/3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MuntashirAkon/Metro/32e0a24358b8f92bf1da748e7fcd08499346478c/fastlane/metadata/android/en-US/images/phoneScreenshots/3.png
--------------------------------------------------------------------------------
/fastlane/metadata/android/en-US/images/phoneScreenshots/4.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MuntashirAkon/Metro/32e0a24358b8f92bf1da748e7fcd08499346478c/fastlane/metadata/android/en-US/images/phoneScreenshots/4.jpg
--------------------------------------------------------------------------------
/fastlane/metadata/android/en-US/images/phoneScreenshots/4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MuntashirAkon/Metro/32e0a24358b8f92bf1da748e7fcd08499346478c/fastlane/metadata/android/en-US/images/phoneScreenshots/4.png
--------------------------------------------------------------------------------
/fastlane/metadata/android/en-US/images/phoneScreenshots/5.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MuntashirAkon/Metro/32e0a24358b8f92bf1da748e7fcd08499346478c/fastlane/metadata/android/en-US/images/phoneScreenshots/5.jpg
--------------------------------------------------------------------------------
/fastlane/metadata/android/en-US/images/phoneScreenshots/5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MuntashirAkon/Metro/32e0a24358b8f92bf1da748e7fcd08499346478c/fastlane/metadata/android/en-US/images/phoneScreenshots/5.png
--------------------------------------------------------------------------------
/fastlane/metadata/android/en-US/images/phoneScreenshots/6.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MuntashirAkon/Metro/32e0a24358b8f92bf1da748e7fcd08499346478c/fastlane/metadata/android/en-US/images/phoneScreenshots/6.jpg
--------------------------------------------------------------------------------
/fastlane/metadata/android/en-US/images/phoneScreenshots/7.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MuntashirAkon/Metro/32e0a24358b8f92bf1da748e7fcd08499346478c/fastlane/metadata/android/en-US/images/phoneScreenshots/7.jpg
--------------------------------------------------------------------------------
/fastlane/metadata/android/en-US/images/phoneScreenshots/8.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MuntashirAkon/Metro/32e0a24358b8f92bf1da748e7fcd08499346478c/fastlane/metadata/android/en-US/images/phoneScreenshots/8.jpg
--------------------------------------------------------------------------------
/fastlane/metadata/android/en-US/short_description.txt:
--------------------------------------------------------------------------------
1 | Best material design music player for Android
--------------------------------------------------------------------------------
/fastlane/metadata/android/en-US/title.txt:
--------------------------------------------------------------------------------
1 | Metro - A music player for Android
--------------------------------------------------------------------------------
/gradle.properties:
--------------------------------------------------------------------------------
1 | android.injected.testOnly=false
2 | android.useAndroidX=true
3 | kotlin.code.style=official
4 | org.gradle.caching=true
5 | org.gradle.configureondemand=true
6 | org.gradle.jvmargs=-Xmx4g -XX:+UseParallelGC -Dfile.encoding=UTF-8
7 | org.gradle.parallel=true
8 |
9 | # https://developer.android.com/studio/build/optimize-your-build#use-non-transitive-r-classes
10 | android.nonTransitiveRClass=true
11 | # https://blog.jetbrains.com/kotlin/2022/07/a-new-approach-to-incremental-compilation-in-kotlin/
12 | kotlin.incremental.useClasspathSnapshot=true
13 | # https://docs.gradle.org/7.5/userguide/configuration_cache.html
14 | org.gradle.unsafe.configuration-cache=true
--------------------------------------------------------------------------------
/gradle/wrapper/gradle-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MuntashirAkon/Metro/32e0a24358b8f92bf1da748e7fcd08499346478c/gradle/wrapper/gradle-wrapper.jar
--------------------------------------------------------------------------------
/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionBase=GRADLE_USER_HOME
2 | distributionPath=wrapper/dists
3 | distributionUrl=https\://services.gradle.org/distributions/gradle-7.6-bin.zip
4 | networkTimeout=10000
5 | zipStoreBase=GRADLE_USER_HOME
6 | zipStorePath=wrapper/dists
7 |
--------------------------------------------------------------------------------
/screenshots/adaptive.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MuntashirAkon/Metro/32e0a24358b8f92bf1da748e7fcd08499346478c/screenshots/adaptive.jpg
--------------------------------------------------------------------------------
/screenshots/blur.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MuntashirAkon/Metro/32e0a24358b8f92bf1da748e7fcd08499346478c/screenshots/blur.jpg
--------------------------------------------------------------------------------
/screenshots/classic.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MuntashirAkon/Metro/32e0a24358b8f92bf1da748e7fcd08499346478c/screenshots/classic.jpg
--------------------------------------------------------------------------------
/screenshots/color.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MuntashirAkon/Metro/32e0a24358b8f92bf1da748e7fcd08499346478c/screenshots/color.jpg
--------------------------------------------------------------------------------
/screenshots/fit.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MuntashirAkon/Metro/32e0a24358b8f92bf1da748e7fcd08499346478c/screenshots/fit.jpg
--------------------------------------------------------------------------------
/screenshots/flat.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MuntashirAkon/Metro/32e0a24358b8f92bf1da748e7fcd08499346478c/screenshots/flat.jpg
--------------------------------------------------------------------------------
/screenshots/material.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MuntashirAkon/Metro/32e0a24358b8f92bf1da748e7fcd08499346478c/screenshots/material.jpg
--------------------------------------------------------------------------------
/screenshots/peak.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MuntashirAkon/Metro/32e0a24358b8f92bf1da748e7fcd08499346478c/screenshots/peak.jpg
--------------------------------------------------------------------------------
/screenshots/peek.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MuntashirAkon/Metro/32e0a24358b8f92bf1da748e7fcd08499346478c/screenshots/peek.jpg
--------------------------------------------------------------------------------
/screenshots/playlists.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MuntashirAkon/Metro/32e0a24358b8f92bf1da748e7fcd08499346478c/screenshots/playlists.jpg
--------------------------------------------------------------------------------
/screenshots/synced_over_black.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MuntashirAkon/Metro/32e0a24358b8f92bf1da748e7fcd08499346478c/screenshots/synced_over_black.jpg
--------------------------------------------------------------------------------
/screenshots/synced_over_dark.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MuntashirAkon/Metro/32e0a24358b8f92bf1da748e7fcd08499346478c/screenshots/synced_over_dark.jpg
--------------------------------------------------------------------------------
/screenshots/synced_over_light.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MuntashirAkon/Metro/32e0a24358b8f92bf1da748e7fcd08499346478c/screenshots/synced_over_light.jpg
--------------------------------------------------------------------------------
/screenshots/synced_replace_black.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MuntashirAkon/Metro/32e0a24358b8f92bf1da748e7fcd08499346478c/screenshots/synced_replace_black.jpg
--------------------------------------------------------------------------------
/screenshots/synced_replace_dark.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MuntashirAkon/Metro/32e0a24358b8f92bf1da748e7fcd08499346478c/screenshots/synced_replace_dark.jpg
--------------------------------------------------------------------------------
/screenshots/synced_replace_light.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MuntashirAkon/Metro/32e0a24358b8f92bf1da748e7fcd08499346478c/screenshots/synced_replace_light.jpg
--------------------------------------------------------------------------------
/screenshots/tiny.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MuntashirAkon/Metro/32e0a24358b8f92bf1da748e7fcd08499346478c/screenshots/tiny.jpg
--------------------------------------------------------------------------------
/settings.gradle:
--------------------------------------------------------------------------------
1 | // https://docs.gradle.com/enterprise/gradle-plugin/
2 | plugins {
3 | id "com.gradle.enterprise" version "3.10.3"
4 | }
5 |
6 | gradleEnterprise {
7 | buildScan {
8 | termsOfServiceUrl = "https://gradle.com/terms-of-service"
9 | termsOfServiceAgree = "yes"
10 | }
11 | }
12 |
13 | dependencyResolutionManagement {
14 | repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
15 | repositories {
16 | google()
17 | mavenCentral()
18 | maven { url "https://jitpack.io" }
19 | }
20 | }
21 |
22 | include ':app', ':appthemehelper'
--------------------------------------------------------------------------------
/spotless.license.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2020 Hemanth Savarla.
3 | *
4 | * Licensed under the GNU General Public License v3
5 | *
6 | * This is free software: you can redistribute it and/or modify it
7 | * under the terms of the GNU General Public License as published by
8 | * the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
9 | *
10 | * This software is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
11 | * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
12 | * See the GNU General Public License for more details.
13 | *
14 | */
--------------------------------------------------------------------------------