From 84295eda82c875faa8403a9091b622e193b5391c Mon Sep 17 00:00:00 2001 From: Prathamesh More Date: Fri, 28 Jan 2022 11:10:16 +0530 Subject: [PATCH 01/10] Fixed Playlist save --- .../retromusic/extensions/IntentExtensions.kt | 7 ++++--- .../fragments/playlists/PlaylistsFragment.kt | 4 ++-- .../name/monkey/retromusic/helper/M3UWriter.kt | 18 +++++++++--------- 3 files changed, 15 insertions(+), 14 deletions(-) diff --git a/app/src/main/java/code/name/monkey/retromusic/extensions/IntentExtensions.kt b/app/src/main/java/code/name/monkey/retromusic/extensions/IntentExtensions.kt index fad431d2c..1d7f25cab 100644 --- a/app/src/main/java/code/name/monkey/retromusic/extensions/IntentExtensions.kt +++ b/app/src/main/java/code/name/monkey/retromusic/extensions/IntentExtensions.kt @@ -21,9 +21,10 @@ fun Fragment.createNewFile( registerForActivityResult(ActivityResultContracts.StartActivityForResult()) { result: ActivityResult -> if (result.resultCode == Activity.RESULT_OK) { - context?.contentResolver?.openOutputStream(result.data?.data!!)?.use { os-> - write(os, result.data?.data) - } + write( + context?.contentResolver?.openOutputStream(result.data?.data!!), + result.data?.data + ) } } diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/playlists/PlaylistsFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/playlists/PlaylistsFragment.kt index ff17c2ad4..1a928ab27 100644 --- a/app/src/main/java/code/name/monkey/retromusic/fragments/playlists/PlaylistsFragment.kt +++ b/app/src/main/java/code/name/monkey/retromusic/fragments/playlists/PlaylistsFragment.kt @@ -40,12 +40,12 @@ class PlaylistsFragment : override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) - libraryViewModel.getPlaylists().observe(viewLifecycleOwner, { + libraryViewModel.getPlaylists().observe(viewLifecycleOwner) { if (it.isNotEmpty()) adapter?.swapDataSet(it) else adapter?.swapDataSet(listOf()) - }) + } requireActivity().onBackPressedDispatcher.addCallback(viewLifecycleOwner) { remove() requireActivity().onBackPressed() diff --git a/app/src/main/java/code/name/monkey/retromusic/helper/M3UWriter.kt b/app/src/main/java/code/name/monkey/retromusic/helper/M3UWriter.kt index c1b6cfee3..fb895743e 100644 --- a/app/src/main/java/code/name/monkey/retromusic/helper/M3UWriter.kt +++ b/app/src/main/java/code/name/monkey/retromusic/helper/M3UWriter.kt @@ -72,17 +72,17 @@ object M3UWriter : M3UConstants { it.songPrimaryKey }.toSongs() if (songs.isNotEmpty()) { - outputStream.bufferedWriter().use{ bw-> - bw.write(M3UConstants.HEADER) - songs.forEach { - bw.newLine() - bw.write(M3UConstants.ENTRY + it.duration + M3UConstants.DURATION_SEPARATOR + it.artistName + " - " + it.title) - bw.newLine() - bw.write(it.data) + outputStream.use { os -> + os.bufferedWriter().use { bw-> + bw.write(M3UConstants.HEADER) + songs.forEach { + bw.newLine() + bw.write(M3UConstants.ENTRY + it.duration + M3UConstants.DURATION_SEPARATOR + it.artistName + " - " + it.title) + bw.newLine() + bw.write(it.data) + } } } } - outputStream.flush() - outputStream.close() } } From 4dc596fdf25b3b6b14d48aa056177b9882c7c3ec Mon Sep 17 00:00:00 2001 From: Prathamesh More Date: Fri, 28 Jan 2022 12:00:35 +0530 Subject: [PATCH 02/10] Fixed Playlist Details selection backgroud --- .../song/OrderablePlaylistSongAdapter.kt | 24 ++++--------------- .../playlists/PlaylistDetailsFragment.kt | 8 ++----- app/src/main/res/layout/item_queue.xml | 1 + 3 files changed, 8 insertions(+), 25 deletions(-) diff --git a/app/src/main/java/code/name/monkey/retromusic/adapter/song/OrderablePlaylistSongAdapter.kt b/app/src/main/java/code/name/monkey/retromusic/adapter/song/OrderablePlaylistSongAdapter.kt index 827e3e90b..918ceb8de 100644 --- a/app/src/main/java/code/name/monkey/retromusic/adapter/song/OrderablePlaylistSongAdapter.kt +++ b/app/src/main/java/code/name/monkey/retromusic/adapter/song/OrderablePlaylistSongAdapter.kt @@ -19,14 +19,13 @@ import android.view.View import androidx.core.view.isVisible import androidx.fragment.app.FragmentActivity import androidx.lifecycle.lifecycleScope -import code.name.monkey.appthemehelper.ThemeStore import code.name.monkey.retromusic.R import code.name.monkey.retromusic.db.PlaylistEntity import code.name.monkey.retromusic.db.toSongEntity import code.name.monkey.retromusic.db.toSongsEntity import code.name.monkey.retromusic.dialogs.RemoveSongFromPlaylistDialog -import code.name.monkey.retromusic.extensions.applyColor -import code.name.monkey.retromusic.extensions.applyOutlineColor +import code.name.monkey.retromusic.extensions.accentColor +import code.name.monkey.retromusic.extensions.accentOutlineColor import code.name.monkey.retromusic.fragments.LibraryViewModel import code.name.monkey.retromusic.helper.MusicPlayerRemote import code.name.monkey.retromusic.interfaces.ICabHolder @@ -48,7 +47,6 @@ class OrderablePlaylistSongAdapter( DraggableItemAdapter { val libraryViewModel: LibraryViewModel by activity.viewModel() - val tempDataSet = dataSet init { this.setHasStableIds(true) @@ -63,8 +61,6 @@ class OrderablePlaylistSongAdapter( } else { -1 } - - } override fun createViewHolder(view: View): SongAdapter.ViewHolder { @@ -77,19 +73,18 @@ class OrderablePlaylistSongAdapter( override fun onBindViewHolder(holder: SongAdapter.ViewHolder, position: Int) { if (holder.itemViewType == OFFSET_ITEM) { - val color = ThemeStore.accentColor(activity) val viewHolder = holder as ViewHolder viewHolder.playAction?.let { it.setOnClickListener { MusicPlayerRemote.openQueue(dataSet, 0, true) } - it.applyOutlineColor(color) + it.accentOutlineColor() } viewHolder.shuffleAction?.let { it.setOnClickListener { MusicPlayerRemote.openAndShuffleQueue(dataSet, true) } - it.applyColor(color) + it.accentColor() } } else { super.onBindViewHolder(holder, position - 1) @@ -132,18 +127,10 @@ class OrderablePlaylistSongAdapter( init { dragView?.isVisible = true } - - override fun onClick(v: View?) { - if (itemViewType == OFFSET_ITEM) { - MusicPlayerRemote.openAndShuffleQueue(dataSet, true) - return - } - super.onClick(v) - } } override fun onCheckCanStartDrag(holder: ViewHolder, position: Int, x: Int, y: Int): Boolean { - if (dataSet.size == 0 or 1) { + if (dataSet.size == 0 or 1 || isInQuickSelectMode) { return false } val dragHandle = holder.dragView ?: return false @@ -161,7 +148,6 @@ class OrderablePlaylistSongAdapter( dataSet.add(toPosition - 1, dataSet.removeAt(fromPosition - 1)) } - override fun onGetItemDraggableRange(holder: ViewHolder, position: Int): ItemDraggableRange { return ItemDraggableRange(1, itemCount - 1) } diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/playlists/PlaylistDetailsFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/playlists/PlaylistDetailsFragment.kt index c76d3c2dd..2c9771327 100644 --- a/app/src/main/java/code/name/monkey/retromusic/fragments/playlists/PlaylistDetailsFragment.kt +++ b/app/src/main/java/code/name/monkey/retromusic/fragments/playlists/PlaylistDetailsFragment.kt @@ -1,7 +1,6 @@ package code.name.monkey.retromusic.fragments.playlists import android.os.Bundle -import android.util.Log import android.view.Menu import android.view.MenuInflater import android.view.MenuItem @@ -20,7 +19,6 @@ import code.name.monkey.retromusic.db.PlaylistWithSongs import code.name.monkey.retromusic.db.toSongs import code.name.monkey.retromusic.extensions.dip import code.name.monkey.retromusic.extensions.surfaceColor -import code.name.monkey.retromusic.extensions.updateMargin import code.name.monkey.retromusic.fragments.base.AbsMainActivityFragment import code.name.monkey.retromusic.helper.MusicPlayerRemote import code.name.monkey.retromusic.helper.menu.PlaylistMenuHelper @@ -51,7 +49,6 @@ class PlaylistDetailsFragment : AbsMainActivityFragment(R.layout.fragment_playli private var _binding: FragmentPlaylistDetailBinding? = null private val binding get() = _binding!! - private lateinit var playlist: PlaylistWithSongs private lateinit var playlistSongAdapter: OrderablePlaylistSongAdapter @@ -67,9 +64,9 @@ class PlaylistDetailsFragment : AbsMainActivityFragment(R.layout.fragment_playli playlist = arguments.extraPlaylist binding.toolbar.title = playlist.playlistEntity.playlistName setUpRecyclerView() - viewModel.getSongs().observe(viewLifecycleOwner, { + viewModel.getSongs().observe(viewLifecycleOwner) { songs(it.toSongs()) - }) + } postponeEnterTransition() requireView().doOnPreDraw { startPostponedEnterTransition() } requireActivity().onBackPressedDispatcher.addCallback(viewLifecycleOwner) { @@ -157,7 +154,6 @@ class PlaylistDetailsFragment : AbsMainActivityFragment(R.layout.fragment_playli fun songs(songs: List) { binding.progressIndicator.hide() if (songs.isNotEmpty()) { - Log.i("Updated", songs[0].title) playlistSongAdapter.swapDataSet(songs) } else { showEmptyView() diff --git a/app/src/main/res/layout/item_queue.xml b/app/src/main/res/layout/item_queue.xml index 305cb28a5..855392064 100644 --- a/app/src/main/res/layout/item_queue.xml +++ b/app/src/main/res/layout/item_queue.xml @@ -6,6 +6,7 @@ android:layout_height="wrap_content" android:clickable="true" android:focusable="true" + android:background="?rectSelector" android:transitionGroup="true"> Date: Fri, 28 Jan 2022 12:44:28 +0530 Subject: [PATCH 03/10] Fixed song duration not visible on Flat theme --- .../player/flat/FlatPlaybackControlsFragment.kt | 10 +++++++--- .../layout/fragment_flat_player_playback_controls.xml | 2 -- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/player/flat/FlatPlaybackControlsFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/player/flat/FlatPlaybackControlsFragment.kt index 1047cc3d8..845df16f8 100644 --- a/app/src/main/java/code/name/monkey/retromusic/fragments/player/flat/FlatPlaybackControlsFragment.kt +++ b/app/src/main/java/code/name/monkey/retromusic/fragments/player/flat/FlatPlaybackControlsFragment.kt @@ -14,13 +14,12 @@ */ package code.name.monkey.retromusic.fragments.player.flat -import android.animation.ObjectAnimator import android.os.Bundle import android.view.View import android.view.animation.DecelerateInterpolator -import android.view.animation.LinearInterpolator import android.widget.ImageButton import android.widget.SeekBar +import android.widget.TextView import code.name.monkey.appthemehelper.ThemeStore import code.name.monkey.appthemehelper.util.ATHUtil import code.name.monkey.appthemehelper.util.ColorUtil @@ -35,7 +34,6 @@ import code.name.monkey.retromusic.fragments.base.goToArtist import code.name.monkey.retromusic.helper.MusicPlayerRemote import code.name.monkey.retromusic.helper.MusicProgressViewUpdateHelper.Callback import code.name.monkey.retromusic.helper.PlayPauseButtonOnClickHandler -import code.name.monkey.retromusic.util.MusicUtil import code.name.monkey.retromusic.util.PreferenceUtil import code.name.monkey.retromusic.util.color.MediaNotificationProcessor @@ -60,6 +58,12 @@ class FlatPlaybackControlsFragment : override val previousButton: ImageButton? get() = null + override val songTotalTime: TextView + get() = binding.songTotalTime + + override val songCurrentProgress: TextView + get() = binding.songCurrentProgress + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) _binding = FragmentFlatPlayerPlaybackControlsBinding.bind(view) diff --git a/app/src/main/res/layout/fragment_flat_player_playback_controls.xml b/app/src/main/res/layout/fragment_flat_player_playback_controls.xml index 85dda2d01..d75ebdf95 100644 --- a/app/src/main/res/layout/fragment_flat_player_playback_controls.xml +++ b/app/src/main/res/layout/fragment_flat_player_playback_controls.xml @@ -26,14 +26,12 @@ android:id="@+id/progressSlider" android:layout_width="0dp" android:layout_height="wrap_content" - android:layout_weight="8" android:paddingVertical="@dimen/seekbar_padding" android:splitTrack="false" android:thumb="@drawable/switch_square" app:layout_constraintEnd_toStartOf="@id/songTotalTime" app:layout_constraintStart_toEndOf="@id/songCurrentProgress" app:layout_constraintTop_toTopOf="parent" - tools:ignore="RtlHardcoded,UnusedAttribute" tools:progress="20" /> Date: Sat, 29 Jan 2022 00:04:46 +0530 Subject: [PATCH 04/10] Code Cleanup --- .../base/AbsSlidingMusicPanelActivity.kt | 4 ++-- .../fragments/about/AboutFragment.kt | 4 ++-- .../fragments/albums/AlbumDetailsFragment.kt | 20 +++++++++---------- .../fragments/albums/AlbumsFragment.kt | 4 ++-- .../artists/AbsArtistDetailsFragment.kt | 8 ++++---- .../fragments/artists/ArtistsFragment.kt | 4 ++-- .../fragments/backup/BackupFragment.kt | 2 +- .../fragments/base/AbsRecyclerViewFragment.kt | 4 ++-- .../fragments/genres/GenreDetailsFragment.kt | 4 ++-- .../fragments/genres/GenresFragment.kt | 4 ++-- .../retromusic/fragments/home/HomeFragment.kt | 8 ++++---- .../fragments/other/UserInfoFragment.kt | 4 ++-- .../player/full/FullPlayerFragment.kt | 4 ++-- .../fragments/search/SearchFragment.kt | 4 ++-- .../fragments/songs/SongsFragment.kt | 4 ++-- .../monkey/retromusic/util/ImageUtil.java | 3 ++- .../name/monkey/retromusic/views/SeekArc.java | 4 +++- 17 files changed, 46 insertions(+), 43 deletions(-) diff --git a/app/src/main/java/code/name/monkey/retromusic/activities/base/AbsSlidingMusicPanelActivity.kt b/app/src/main/java/code/name/monkey/retromusic/activities/base/AbsSlidingMusicPanelActivity.kt index a356f6013..f78dbac7e 100644 --- a/app/src/main/java/code/name/monkey/retromusic/activities/base/AbsSlidingMusicPanelActivity.kt +++ b/app/src/main/java/code/name/monkey/retromusic/activities/base/AbsSlidingMusicPanelActivity.kt @@ -351,10 +351,10 @@ abstract class AbsSlidingMusicPanelActivity : AbsMusicServiceActivity() { } private fun updateColor() { - libraryViewModel.paletteColor.observe(this, { color -> + libraryViewModel.paletteColor.observe(this) { color -> this.paletteColor = color onPaletteColorChanged() - }) + } } fun setBottomNavVisibility(visible: Boolean, animate: Boolean = false, hideBottomSheet: Boolean = MusicPlayerRemote.playingQueue.isEmpty()) { diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/about/AboutFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/about/AboutFragment.kt index dd022378d..08c064fed 100644 --- a/app/src/main/java/code/name/monkey/retromusic/fragments/about/AboutFragment.kt +++ b/app/src/main/java/code/name/monkey/retromusic/fragments/about/AboutFragment.kt @@ -122,9 +122,9 @@ class AboutFragment : Fragment(R.layout.fragment_about), View.OnClickListener { itemAnimator = DefaultItemAnimator() adapter = contributorAdapter } - libraryViewModel.fetchContributors().observe(viewLifecycleOwner, { contributors -> + libraryViewModel.fetchContributors().observe(viewLifecycleOwner) { contributors -> contributorAdapter.swapData(contributors) - }) + } } override fun onDestroyView() { diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/albums/AlbumDetailsFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/albums/AlbumDetailsFragment.kt index cbd858619..204c44c2c 100644 --- a/app/src/main/java/code/name/monkey/retromusic/fragments/albums/AlbumDetailsFragment.kt +++ b/app/src/main/java/code/name/monkey/retromusic/fragments/albums/AlbumDetailsFragment.kt @@ -122,7 +122,7 @@ class AlbumDetailsFragment : AbsMainActivityFragment(R.layout.fragment_album_det binding.toolbar.title = " " ViewCompat.setTransitionName(binding.albumCoverContainer, arguments.extraAlbumId.toString()) postponeEnterTransition() - detailsViewModel.getAlbum().observe(viewLifecycleOwner, { + detailsViewModel.getAlbum().observe(viewLifecycleOwner) { requireView().doOnPreDraw { startPostponedEnterTransition() } @@ -133,7 +133,7 @@ class AlbumDetailsFragment : AbsMainActivityFragment(R.layout.fragment_album_det } else { ViewCompat.setTransitionName(binding.artistImage, album.artistId.toString()) } - }) + } setupRecyclerView() binding.artistImage.setOnClickListener { artistView -> @@ -236,17 +236,17 @@ class AlbumDetailsFragment : AbsMainActivityFragment(R.layout.fragment_album_det simpleSongAdapter.swapDataSet(album.songs) if (albumArtistExists) { detailsViewModel.getAlbumArtist(album.albumArtist.toString()) - .observe(viewLifecycleOwner, { + .observe(viewLifecycleOwner) { loadArtistImage(it) - }) + } } else { - detailsViewModel.getArtist(album.artistId).observe(viewLifecycleOwner, { + detailsViewModel.getArtist(album.artistId).observe(viewLifecycleOwner) { loadArtistImage(it) - }) + } } - detailsViewModel.getAlbumInfo(album).observe(viewLifecycleOwner, { result -> + detailsViewModel.getAlbumInfo(album).observe(viewLifecycleOwner) { result -> when (result) { is Result.Loading -> { println("Loading") @@ -258,7 +258,7 @@ class AlbumDetailsFragment : AbsMainActivityFragment(R.layout.fragment_album_det aboutAlbum(result.data) } } - }) + } } private fun moreAlbums(albums: List) { @@ -305,9 +305,9 @@ class AlbumDetailsFragment : AbsMainActivityFragment(R.layout.fragment_album_det } private fun loadArtistImage(artist: Artist) { - detailsViewModel.getMoreAlbums(artist).observe(viewLifecycleOwner, { + detailsViewModel.getMoreAlbums(artist).observe(viewLifecycleOwner) { moreAlbums(it) - }) + } GlideApp.with(requireContext()).asBitmapPalette().artistImageOptions(artist) //.forceDownload(PreferenceUtil.isAllowedToDownloadMetadata()) .load( diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/albums/AlbumsFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/albums/AlbumsFragment.kt index a6f203c0e..55ff96cd2 100644 --- a/app/src/main/java/code/name/monkey/retromusic/fragments/albums/AlbumsFragment.kt +++ b/app/src/main/java/code/name/monkey/retromusic/fragments/albums/AlbumsFragment.kt @@ -48,12 +48,12 @@ class AlbumsFragment : AbsRecyclerViewCustomGridSizeFragment + .observe(viewLifecycleOwner) { result -> when (result) { is Result.Loading -> println("Loading") is Result.Error -> println("Error") is Result.Success -> artistInfo(result.data) } - }) + } } private fun artistInfo(lastFmArtist: LastFmArtist?) { diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/artists/ArtistsFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/artists/ArtistsFragment.kt index a96688fd6..ff85467e3 100644 --- a/app/src/main/java/code/name/monkey/retromusic/fragments/artists/ArtistsFragment.kt +++ b/app/src/main/java/code/name/monkey/retromusic/fragments/artists/ArtistsFragment.kt @@ -49,12 +49,12 @@ class ArtistsFragment : AbsRecyclerViewCustomGridSizeFragment, LM : Recycle } else { binding.shuffleButton.isVisible = false } - libraryViewModel.getFabMargin().observe(viewLifecycleOwner, { + libraryViewModel.getFabMargin().observe(viewLifecycleOwner) { binding.shuffleButton.updateLayoutParams { bottomMargin = it } - }) + } } open fun onShuffleClicked() { diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/genres/GenreDetailsFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/genres/GenreDetailsFragment.kt index dc382d52a..28f5dc229 100644 --- a/app/src/main/java/code/name/monkey/retromusic/fragments/genres/GenreDetailsFragment.kt +++ b/app/src/main/java/code/name/monkey/retromusic/fragments/genres/GenreDetailsFragment.kt @@ -62,9 +62,9 @@ class GenreDetailsFragment : AbsMainActivityFragment(R.layout.fragment_playlist_ genre = arguments.extraGenre binding.toolbar.title = arguments.extraGenre.name setupRecyclerView() - detailsViewModel.getSongs().observe(viewLifecycleOwner, { + detailsViewModel.getSongs().observe(viewLifecycleOwner) { songs(it) - }) + } postponeEnterTransition() view.doOnPreDraw { startPostponedEnterTransition() diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/genres/GenresFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/genres/GenresFragment.kt index a738d8ab8..571e998cd 100644 --- a/app/src/main/java/code/name/monkey/retromusic/fragments/genres/GenresFragment.kt +++ b/app/src/main/java/code/name/monkey/retromusic/fragments/genres/GenresFragment.kt @@ -40,12 +40,12 @@ GenresFragment : AbsRecyclerViewFragment(), IGenreClickListener { override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) - libraryViewModel.getGenre().observe(viewLifecycleOwner, { + libraryViewModel.getGenre().observe(viewLifecycleOwner) { if (it.isNotEmpty()) adapter?.swapDataSet(it) else adapter?.swapDataSet(listOf()) - }) + } requireActivity().onBackPressedDispatcher.addCallback(viewLifecycleOwner) { remove() requireActivity().onBackPressed() diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/home/HomeFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/home/HomeFragment.kt index c20fa7644..577bf39db 100644 --- a/app/src/main/java/code/name/monkey/retromusic/fragments/home/HomeFragment.kt +++ b/app/src/main/java/code/name/monkey/retromusic/fragments/home/HomeFragment.kt @@ -77,12 +77,12 @@ class HomeFragment : layoutManager = LinearLayoutManager(mainActivity) adapter = homeAdapter } - libraryViewModel.getHome().observe(viewLifecycleOwner, { + libraryViewModel.getHome().observe(viewLifecycleOwner) { homeAdapter.swapData(it) - }) - libraryViewModel.getSuggestions().observe(viewLifecycleOwner, { + } + libraryViewModel.getSuggestions().observe(viewLifecycleOwner) { loadSuggestions(it) - }) + } loadProfile() setupTitle() diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/other/UserInfoFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/other/UserInfoFragment.kt index 16cc7268f..79ef841ed 100644 --- a/app/src/main/java/code/name/monkey/retromusic/fragments/other/UserInfoFragment.kt +++ b/app/src/main/java/code/name/monkey/retromusic/fragments/other/UserInfoFragment.kt @@ -114,11 +114,11 @@ class UserInfoFragment : Fragment() { view.doOnPreDraw { startPostponedEnterTransition() } - libraryViewModel.getFabMargin().observe(viewLifecycleOwner, { + libraryViewModel.getFabMargin().observe(viewLifecycleOwner) { binding.next.updateLayoutParams { bottomMargin = it } - }) + } } private fun loadProfile() { diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/player/full/FullPlayerFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/player/full/FullPlayerFragment.kt index 23dd550d4..f20efdd24 100644 --- a/app/src/main/java/code/name/monkey/retromusic/fragments/player/full/FullPlayerFragment.kt +++ b/app/src/main/java/code/name/monkey/retromusic/fragments/player/full/FullPlayerFragment.kt @@ -132,7 +132,7 @@ class FullPlayerFragment : AbsPlayerFragment(R.layout.fragment_full) { private fun updateArtistImage() { libraryViewModel.artist(MusicPlayerRemote.currentSong.artistId) - .observe(viewLifecycleOwner, { artist -> + .observe(viewLifecycleOwner) { artist -> if (artist.id != -1L) { GlideApp.with(requireActivity()).asBitmapPalette().artistImageOptions(artist) .load(RetroGlideExtension.getArtistModel(artist)) @@ -142,7 +142,7 @@ class FullPlayerFragment : AbsPlayerFragment(R.layout.fragment_full) { }) } - }) + } } override fun onQueueChanged() { diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/search/SearchFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/search/SearchFragment.kt index 090a8ef5b..bb4a8249b 100644 --- a/app/src/main/java/code/name/monkey/retromusic/fragments/search/SearchFragment.kt +++ b/app/src/main/java/code/name/monkey/retromusic/fragments/search/SearchFragment.kt @@ -88,9 +88,9 @@ class SearchFragment : AbsMainActivityFragment(R.layout.fragment_search), TextWa if (savedInstanceState != null) { query = savedInstanceState.getString(QUERY) } - libraryViewModel.getSearchResult().observe(viewLifecycleOwner, { + libraryViewModel.getSearchResult().observe(viewLifecycleOwner) { showData(it) - }) + } setupChips() postponeEnterTransition() view.doOnPreDraw { diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/songs/SongsFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/songs/SongsFragment.kt index 494430ed8..c3aaa94ff 100644 --- a/app/src/main/java/code/name/monkey/retromusic/fragments/songs/SongsFragment.kt +++ b/app/src/main/java/code/name/monkey/retromusic/fragments/songs/SongsFragment.kt @@ -42,12 +42,12 @@ class SongsFragment : AbsRecyclerViewCustomGridSizeFragment Date: Sat, 29 Jan 2022 00:28:16 +0530 Subject: [PATCH 05/10] Fixed slow search because of Genres, and also added Playlists to Search results, Don't worry that won't slow the search. --- .../fragments/search/SearchFragment.kt | 6 +- .../retromusic/repository/GenreRepository.kt | 90 +++++++------------ .../retromusic/repository/SearchRepository.kt | 42 ++++++--- app/src/main/res/layout/fragment_search.xml | 7 ++ app/src/main/res/values/styles.xml | 1 - 5 files changed, 73 insertions(+), 73 deletions(-) diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/search/SearchFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/search/SearchFragment.kt index bb4a8249b..820b5ae51 100644 --- a/app/src/main/java/code/name/monkey/retromusic/fragments/search/SearchFragment.kt +++ b/app/src/main/java/code/name/monkey/retromusic/fragments/search/SearchFragment.kt @@ -96,11 +96,11 @@ class SearchFragment : AbsMainActivityFragment(R.layout.fragment_search), TextWa view.doOnPreDraw { startPostponedEnterTransition() } - libraryViewModel.getFabMargin().observe(viewLifecycleOwner, { + libraryViewModel.getFabMargin().observe(viewLifecycleOwner) { binding.keyboardPopup.updateLayoutParams { bottomMargin = it } - }) + } KeyboardVisibilityEvent.setEventListener(requireActivity(), viewLifecycleOwner) { if (it) { binding.keyboardPopup.isGone = true @@ -192,6 +192,7 @@ class SearchFragment : AbsMainActivityFragment(R.layout.fragment_search), TextWa R.id.chip_albums -> Filter.ALBUMS R.id.chip_album_artists -> Filter.ALBUM_ARTISTS R.id.chip_genres -> Filter.GENRES + R.id.chip_playlists -> Filter.PLAYLISTS else -> Filter.NO_FILTER } } @@ -245,6 +246,7 @@ enum class Filter { ALBUMS, ALBUM_ARTISTS, GENRES, + PLAYLISTS, NO_FILTER } diff --git a/app/src/main/java/code/name/monkey/retromusic/repository/GenreRepository.kt b/app/src/main/java/code/name/monkey/retromusic/repository/GenreRepository.kt index 2c096092a..d773beef9 100644 --- a/app/src/main/java/code/name/monkey/retromusic/repository/GenreRepository.kt +++ b/app/src/main/java/code/name/monkey/retromusic/repository/GenreRepository.kt @@ -16,19 +16,19 @@ package code.name.monkey.retromusic.repository import android.content.ContentResolver import android.database.Cursor -import android.net.Uri import android.provider.BaseColumns import android.provider.MediaStore.Audio.Genres import code.name.monkey.retromusic.Constants.IS_MUSIC import code.name.monkey.retromusic.Constants.baseProjection import code.name.monkey.retromusic.extensions.getLong -import code.name.monkey.retromusic.extensions.getString import code.name.monkey.retromusic.extensions.getStringOrNull import code.name.monkey.retromusic.model.Genre import code.name.monkey.retromusic.model.Song import code.name.monkey.retromusic.util.PreferenceUtil interface GenreRepository { + fun genres(query: String): List + fun genres(): List fun songs(genreId: Long): List @@ -41,6 +41,10 @@ class RealGenreRepository( private val songRepository: RealSongRepository ) : GenreRepository { + override fun genres(query: String): List { + return getGenresFromCursor(makeGenreCursor(query)) + } + override fun genres(): List { return getGenresFromCursor(makeGenreCursor()) } @@ -57,18 +61,23 @@ class RealGenreRepository( return songRepository.song(makeGenreSongCursor(genreId)) } + private fun getSongCount(genreId: Long): Int { + contentResolver.query( + Genres.Members.getContentUri("external", genreId), + null, + null, + null, + null + ).use { + return it?.count ?: 0 + } + } + private fun getGenreFromCursor(cursor: Cursor): Genre { val id = cursor.getLong(Genres._ID) val name = cursor.getStringOrNull(Genres.NAME) - val songCount = songs(id).size + val songCount = getSongCount(id) return Genre(id, name ?: "", songCount) - - } - - private fun getGenreFromCursorWithOutSongs(cursor: Cursor): Genre { - val id = cursor.getLong(Genres._ID) - val name = cursor.getString(Genres.NAME) - return Genre(id, name, -1) } private fun getSongsWithNoGenre(): List { @@ -77,28 +86,6 @@ class RealGenreRepository( return songRepository.songs(songRepository.makeSongCursor(selection, null)) } - private fun hasSongsWithNoGenre(): Boolean { - val allSongsCursor = songRepository.makeSongCursor(null, null) - val allSongsWithGenreCursor = makeAllSongsWithGenreCursor() - - if (allSongsCursor == null || allSongsWithGenreCursor == null) { - return false - } - - val hasSongsWithNoGenre = allSongsCursor.count > allSongsWithGenreCursor.count - allSongsCursor.close() - allSongsWithGenreCursor.close() - return hasSongsWithNoGenre - } - - private fun makeAllSongsWithGenreCursor(): Cursor? { - println(Genres.EXTERNAL_CONTENT_URI.toString()) - return contentResolver.query( - Uri.parse("content://media/external/audio/genres/all/members"), - arrayOf(Genres.Members.AUDIO_ID), null, null, null - ) - } - private fun makeGenreSongCursor(genreId: Long): Cursor? { return try { contentResolver.query( @@ -121,37 +108,13 @@ class RealGenreRepository( val genre = getGenreFromCursor(cursor) if (genre.songCount > 0) { genres.add(genre) - } else { - // try to remove the empty genre from the media store - try { - contentResolver.delete( - Genres.EXTERNAL_CONTENT_URI, - Genres._ID + " == " + genre.id, - null - ) - } catch (e: Exception) { - e.printStackTrace() - } - } } while (cursor.moveToNext()) } - cursor.close() } return genres } - private fun getGenresFromCursorForSearch(cursor: Cursor?): List { - val genres = mutableListOf() - if (cursor != null && cursor.moveToFirst()) { - do { - genres.add(getGenreFromCursorWithOutSongs(cursor)) - } while (cursor.moveToNext()) - } - cursor?.close() - return genres - } - private fun makeGenreCursor(): Cursor? { val projection = arrayOf(Genres._ID, Genres.NAME) return try { @@ -166,4 +129,19 @@ class RealGenreRepository( return null } } + + private fun makeGenreCursor(query: String): Cursor? { + val projection = arrayOf(Genres._ID, Genres.NAME) + return try { + contentResolver.query( + Genres.EXTERNAL_CONTENT_URI, + projection, + Genres.NAME + " = ?", + arrayOf(query), + PreferenceUtil.genreSortOrder + ) + } catch (e: SecurityException) { + return null + } + } } diff --git a/app/src/main/java/code/name/monkey/retromusic/repository/SearchRepository.kt b/app/src/main/java/code/name/monkey/retromusic/repository/SearchRepository.kt index 4a1280d6a..abfcd0244 100644 --- a/app/src/main/java/code/name/monkey/retromusic/repository/SearchRepository.kt +++ b/app/src/main/java/code/name/monkey/retromusic/repository/SearchRepository.kt @@ -16,6 +16,7 @@ package code.name.monkey.retromusic.repository import android.content.Context import code.name.monkey.retromusic.R +import code.name.monkey.retromusic.db.PlaylistEntity import code.name.monkey.retromusic.fragments.search.Filter import code.name.monkey.retromusic.model.Album import code.name.monkey.retromusic.model.Artist @@ -29,20 +30,23 @@ class RealSearchRepository( private val roomRepository: RoomRepository, private val genreRepository: GenreRepository, ) { - fun searchAll(context: Context, query: String?, filter: Filter): MutableList { + suspend fun searchAll(context: Context, query: String?, filter: Filter): MutableList { val results = mutableListOf() if (query.isNullOrEmpty()) return results query.let { searchString -> + + /** Songs **/ val songs: List = if (filter == Filter.SONGS || filter == Filter.NO_FILTER) { songRepository.songs(searchString) } else { emptyList() } - if (songs.isNotEmpty()) { results.add(context.resources.getString(R.string.songs)) results.addAll(songs) } + + /** Artists **/ val artists: List = if (filter == Filter.ARTISTS || filter == Filter.NO_FILTER) { artistRepository.artists(searchString) @@ -53,6 +57,8 @@ class RealSearchRepository( results.add(context.resources.getString(R.string.artists)) results.addAll(artists) } + + /** Albums **/ val albums: List = if (filter == Filter.ALBUMS || filter == Filter.NO_FILTER) { albumRepository.albums(searchString) } else { @@ -62,6 +68,8 @@ class RealSearchRepository( results.add(context.resources.getString(R.string.albums)) results.addAll(albums) } + + /** Album-Artists **/ val albumArtists: List = if (filter == Filter.ALBUM_ARTISTS || filter == Filter.NO_FILTER) { artistRepository.albumArtists(searchString) @@ -72,11 +80,10 @@ class RealSearchRepository( results.add(context.resources.getString(R.string.album_artist)) results.addAll(albumArtists) } + + /** Genres **/ val genres: List = if (filter == Filter.GENRES || filter == Filter.NO_FILTER) { - genreRepository.genres().filter { genre -> - genre.name.lowercase() - .contains(searchString.lowercase()) - } + genreRepository.genres(query) } else { emptyList() } @@ -84,14 +91,21 @@ class RealSearchRepository( results.add(context.resources.getString(R.string.genres)) results.addAll(genres) } - /* val playlist = roomRepository.playlists().filter { playlist -> - playlist.playlistName.toLowerCase(Locale.getDefault()) - .contains(searchString.toLowerCase(Locale.getDefault())) - } - if (playlist.isNotEmpty()) { - results.add(context.getString(R.string.playlists)) - results.addAll(playlist) - }*/ + + /** Playlists **/ + val playlist: List = + if (filter == Filter.PLAYLISTS || filter == Filter.NO_FILTER) { + roomRepository.playlists().filter { playlist -> + playlist.playlistName.lowercase().contains(searchString.lowercase()) + } + } else { + emptyList() + } + + if (playlist.isNotEmpty()) { + results.add(context.getString(R.string.playlists)) + results.addAll(playlist) + } } return results } diff --git a/app/src/main/res/layout/fragment_search.xml b/app/src/main/res/layout/fragment_search.xml index 70452fb5a..496c545a9 100644 --- a/app/src/main/res/layout/fragment_search.xml +++ b/app/src/main/res/layout/fragment_search.xml @@ -117,6 +117,13 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/genres" /> + + diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index 5a11aca98..7eb320a8e 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -207,7 +207,6 @@ 16sp true 10dp - true 40dp 10dp From f6617b08446043841a3d3c00a472a9c98f66030e Mon Sep 17 00:00:00 2001 From: Prathamesh More Date: Sat, 29 Jan 2022 01:01:41 +0530 Subject: [PATCH 06/10] Fixed invisible menu items/icons --- .../fragments/other/LyricsFragment.kt | 29 +++++++++++++++++-- .../res/layout/fragment_artist_content.xml | 14 +++++---- 2 files changed, 35 insertions(+), 8 deletions(-) diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/other/LyricsFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/other/LyricsFragment.kt index e3a16770b..bf7f85c03 100644 --- a/app/src/main/java/code/name/monkey/retromusic/fragments/other/LyricsFragment.kt +++ b/app/src/main/java/code/name/monkey/retromusic/fragments/other/LyricsFragment.kt @@ -32,6 +32,7 @@ import androidx.fragment.app.FragmentActivity import androidx.navigation.fragment.findNavController import androidx.transition.Fade import androidx.viewpager2.adapter.FragmentStateAdapter +import code.name.monkey.appthemehelper.common.ATHToolbarActivity import code.name.monkey.appthemehelper.util.ToolbarContentTintHelper import code.name.monkey.appthemehelper.util.VersionUtils import code.name.monkey.retromusic.R @@ -50,12 +51,16 @@ import code.name.monkey.retromusic.helper.MusicProgressViewUpdateHelper import code.name.monkey.retromusic.lyrics.LrcView import code.name.monkey.retromusic.model.AudioTagInfo import code.name.monkey.retromusic.model.Song -import code.name.monkey.retromusic.util.* +import code.name.monkey.retromusic.util.FileUtils +import code.name.monkey.retromusic.util.LyricUtil +import code.name.monkey.retromusic.util.RetroUtil +import code.name.monkey.retromusic.util.UriUtil import com.afollestad.materialdialogs.input.input import com.google.android.material.color.MaterialColors import com.google.android.material.tabs.TabLayoutMediator import com.google.android.material.transition.platform.MaterialContainerTransform -import kotlinx.coroutines.* +import kotlinx.coroutines.GlobalScope +import kotlinx.coroutines.launch import org.jaudiotagger.audio.AudioFileIO import org.jaudiotagger.tag.FieldKey import java.io.File @@ -177,6 +182,20 @@ class LyricsFragment : AbsMusicServiceFragment(R.layout.fragment_lyrics) { } } + override fun onPlayingMetaChanged() { + super.onPlayingMetaChanged() + updateTitleSong() + } + + override fun onServiceConnected() { + super.onServiceConnected() + updateTitleSong() + } + + private fun updateTitleSong() { + song = MusicPlayerRemote.currentSong + } + private fun setupToolbar() { mainActivity.setSupportActionBar(binding.toolbar) ToolbarContentTintHelper.colorBackButton(binding.toolbar) @@ -191,6 +210,12 @@ class LyricsFragment : AbsMusicServiceFragment(R.layout.fragment_lyrics) { override fun onCreateOptionsMenu(menu: Menu, inflater: MenuInflater) { inflater.inflate(R.menu.menu_search, menu) + ToolbarContentTintHelper.handleOnCreateOptionsMenu( + requireContext(), + binding.toolbar, + menu, + ATHToolbarActivity.getToolbarBackgroundColor(binding.toolbar) + ) return super.onCreateOptionsMenu(menu, inflater) } diff --git a/app/src/main/res/layout/fragment_artist_content.xml b/app/src/main/res/layout/fragment_artist_content.xml index eea605d55..7927e81ee 100644 --- a/app/src/main/res/layout/fragment_artist_content.xml +++ b/app/src/main/res/layout/fragment_artist_content.xml @@ -1,5 +1,5 @@ - - - \ No newline at end of file + \ No newline at end of file From 75837607f4263c294b04a2976d4352ca78ba156d Mon Sep 17 00:00:00 2001 From: Prathamesh More Date: Sat, 29 Jan 2022 01:01:59 +0530 Subject: [PATCH 07/10] Optimized imports --- .../name/monkey/retromusic/activities/LockScreenActivity.kt | 4 +++- .../retromusic/activities/SupportDevelopmentActivity.kt | 1 - .../name/monkey/retromusic/activities/WhatsNewActivity.kt | 5 ++++- .../monkey/retromusic/activities/base/AbsCastActivity.kt | 1 - .../name/monkey/retromusic/adapter/artist/ArtistAdapter.kt | 1 - .../monkey/retromusic/adapter/base/AbsMultiSelectAdapter.kt | 1 - .../monkey/retromusic/adapter/song/SimpleSongAdapter.kt | 1 - .../code/name/monkey/retromusic/auto/AutoMusicProvider.kt | 1 - .../code/name/monkey/retromusic/cast/CastOptionsProvider.kt | 1 - .../fragments/player/blur/BlurPlaybackControlsFragment.kt | 6 ++---- .../code/name/monkey/retromusic/helper/SearchQueryHelper.kt | 1 - .../java/code/name/monkey/retromusic/lyrics/CoverLrcView.kt | 1 - .../code/name/monkey/retromusic/util/PackageValidator.kt | 1 - .../java/code/name/monkey/retromusic/views/SeekArc.java | 2 -- .../monkey/retromusic/views/insets/InsetsLinearLayout.kt | 1 - 15 files changed, 9 insertions(+), 19 deletions(-) diff --git a/app/src/main/java/code/name/monkey/retromusic/activities/LockScreenActivity.kt b/app/src/main/java/code/name/monkey/retromusic/activities/LockScreenActivity.kt index 7bf32e80e..8a7d50469 100644 --- a/app/src/main/java/code/name/monkey/retromusic/activities/LockScreenActivity.kt +++ b/app/src/main/java/code/name/monkey/retromusic/activities/LockScreenActivity.kt @@ -24,7 +24,9 @@ import code.name.monkey.appthemehelper.util.VersionUtils import code.name.monkey.retromusic.R import code.name.monkey.retromusic.activities.base.AbsMusicServiceActivity import code.name.monkey.retromusic.databinding.ActivityLockScreenBinding -import code.name.monkey.retromusic.extensions.* +import code.name.monkey.retromusic.extensions.hideStatusBar +import code.name.monkey.retromusic.extensions.setTaskDescriptionColorAuto +import code.name.monkey.retromusic.extensions.whichFragment import code.name.monkey.retromusic.fragments.player.lockscreen.LockScreenControlsFragment import code.name.monkey.retromusic.glide.GlideApp import code.name.monkey.retromusic.glide.RetroGlideExtension diff --git a/app/src/main/java/code/name/monkey/retromusic/activities/SupportDevelopmentActivity.kt b/app/src/main/java/code/name/monkey/retromusic/activities/SupportDevelopmentActivity.kt index b5d2ecd6d..fda12d6bf 100644 --- a/app/src/main/java/code/name/monkey/retromusic/activities/SupportDevelopmentActivity.kt +++ b/app/src/main/java/code/name/monkey/retromusic/activities/SupportDevelopmentActivity.kt @@ -39,7 +39,6 @@ import code.name.monkey.retromusic.extensions.* import com.anjlab.android.iab.v3.BillingProcessor import com.anjlab.android.iab.v3.PurchaseInfo import com.anjlab.android.iab.v3.SkuDetails -import java.util.* class SupportDevelopmentActivity : AbsBaseActivity(), BillingProcessor.IBillingHandler { diff --git a/app/src/main/java/code/name/monkey/retromusic/activities/WhatsNewActivity.kt b/app/src/main/java/code/name/monkey/retromusic/activities/WhatsNewActivity.kt index 489caaa01..e3d6644f1 100644 --- a/app/src/main/java/code/name/monkey/retromusic/activities/WhatsNewActivity.kt +++ b/app/src/main/java/code/name/monkey/retromusic/activities/WhatsNewActivity.kt @@ -14,7 +14,10 @@ import code.name.monkey.appthemehelper.util.ToolbarContentTintHelper import code.name.monkey.retromusic.Constants import code.name.monkey.retromusic.activities.base.AbsThemeActivity import code.name.monkey.retromusic.databinding.ActivityWhatsNewBinding -import code.name.monkey.retromusic.extensions.* +import code.name.monkey.retromusic.extensions.accentColor +import code.name.monkey.retromusic.extensions.drawAboveSystemBars +import code.name.monkey.retromusic.extensions.setTaskDescriptionColorAuto +import code.name.monkey.retromusic.extensions.surfaceColor import code.name.monkey.retromusic.util.PreferenceUtil.lastVersion import code.name.monkey.retromusic.util.RetroUtil import java.io.BufferedReader diff --git a/app/src/main/java/code/name/monkey/retromusic/activities/base/AbsCastActivity.kt b/app/src/main/java/code/name/monkey/retromusic/activities/base/AbsCastActivity.kt index 68c62d131..0217da9ed 100644 --- a/app/src/main/java/code/name/monkey/retromusic/activities/base/AbsCastActivity.kt +++ b/app/src/main/java/code/name/monkey/retromusic/activities/base/AbsCastActivity.kt @@ -11,7 +11,6 @@ import com.google.android.gms.cast.framework.CastContext import com.google.android.gms.cast.framework.CastSession import com.google.android.gms.common.ConnectionResult import com.google.android.gms.common.GoogleApiAvailability -import java.util.* abstract class AbsCastActivity : AbsSlidingMusicPanelActivity() { diff --git a/app/src/main/java/code/name/monkey/retromusic/adapter/artist/ArtistAdapter.kt b/app/src/main/java/code/name/monkey/retromusic/adapter/artist/ArtistAdapter.kt index f943a7900..a7262f8c9 100644 --- a/app/src/main/java/code/name/monkey/retromusic/adapter/artist/ArtistAdapter.kt +++ b/app/src/main/java/code/name/monkey/retromusic/adapter/artist/ArtistAdapter.kt @@ -41,7 +41,6 @@ import code.name.monkey.retromusic.util.MusicUtil import code.name.monkey.retromusic.util.PreferenceUtil import code.name.monkey.retromusic.util.color.MediaNotificationProcessor import me.zhanghai.android.fastscroll.PopupTextProvider -import java.util.* class ArtistAdapter( override val activity: FragmentActivity, diff --git a/app/src/main/java/code/name/monkey/retromusic/adapter/base/AbsMultiSelectAdapter.kt b/app/src/main/java/code/name/monkey/retromusic/adapter/base/AbsMultiSelectAdapter.kt index 3b9e7193a..093233c36 100644 --- a/app/src/main/java/code/name/monkey/retromusic/adapter/base/AbsMultiSelectAdapter.kt +++ b/app/src/main/java/code/name/monkey/retromusic/adapter/base/AbsMultiSelectAdapter.kt @@ -16,7 +16,6 @@ import code.name.monkey.retromusic.util.RetroColorUtil import com.afollestad.materialcab.attached.AttachedCab import com.afollestad.materialcab.attached.destroy import com.afollestad.materialcab.attached.isActive -import java.util.* abstract class AbsMultiSelectAdapter( open val activity: FragmentActivity, private val ICabHolder: ICabHolder?, @MenuRes menuRes: Int diff --git a/app/src/main/java/code/name/monkey/retromusic/adapter/song/SimpleSongAdapter.kt b/app/src/main/java/code/name/monkey/retromusic/adapter/song/SimpleSongAdapter.kt index 5d3e62638..e96ab0924 100755 --- a/app/src/main/java/code/name/monkey/retromusic/adapter/song/SimpleSongAdapter.kt +++ b/app/src/main/java/code/name/monkey/retromusic/adapter/song/SimpleSongAdapter.kt @@ -20,7 +20,6 @@ import androidx.fragment.app.FragmentActivity import code.name.monkey.retromusic.interfaces.ICabHolder import code.name.monkey.retromusic.model.Song import code.name.monkey.retromusic.util.MusicUtil -import java.util.* class SimpleSongAdapter( context: FragmentActivity, diff --git a/app/src/main/java/code/name/monkey/retromusic/auto/AutoMusicProvider.kt b/app/src/main/java/code/name/monkey/retromusic/auto/AutoMusicProvider.kt index 1e0751aad..1b11510a0 100644 --- a/app/src/main/java/code/name/monkey/retromusic/auto/AutoMusicProvider.kt +++ b/app/src/main/java/code/name/monkey/retromusic/auto/AutoMusicProvider.kt @@ -25,7 +25,6 @@ import code.name.monkey.retromusic.service.MusicService import code.name.monkey.retromusic.util.MusicUtil import code.name.monkey.retromusic.util.PreferenceUtil import java.lang.ref.WeakReference -import java.util.* /** diff --git a/app/src/main/java/code/name/monkey/retromusic/cast/CastOptionsProvider.kt b/app/src/main/java/code/name/monkey/retromusic/cast/CastOptionsProvider.kt index d6759dc20..cf365c84a 100644 --- a/app/src/main/java/code/name/monkey/retromusic/cast/CastOptionsProvider.kt +++ b/app/src/main/java/code/name/monkey/retromusic/cast/CastOptionsProvider.kt @@ -8,7 +8,6 @@ import com.google.android.gms.cast.framework.SessionProvider import com.google.android.gms.cast.framework.media.CastMediaOptions import com.google.android.gms.cast.framework.media.MediaIntentReceiver import com.google.android.gms.cast.framework.media.NotificationOptions -import java.util.* class CastOptionsProvider : OptionsProvider { diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/player/blur/BlurPlaybackControlsFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/player/blur/BlurPlaybackControlsFragment.kt index 402b0c833..3ade61087 100644 --- a/app/src/main/java/code/name/monkey/retromusic/fragments/player/blur/BlurPlaybackControlsFragment.kt +++ b/app/src/main/java/code/name/monkey/retromusic/fragments/player/blur/BlurPlaybackControlsFragment.kt @@ -14,12 +14,10 @@ */ package code.name.monkey.retromusic.fragments.player.blur -import android.animation.ObjectAnimator import android.graphics.Color import android.os.Bundle import android.view.View import android.view.animation.DecelerateInterpolator -import android.view.animation.LinearInterpolator import android.widget.ImageButton import android.widget.SeekBar import android.widget.TextView @@ -29,6 +27,7 @@ import code.name.monkey.appthemehelper.util.MaterialValueHelper import code.name.monkey.appthemehelper.util.TintHelper import code.name.monkey.retromusic.R import code.name.monkey.retromusic.databinding.FragmentBlurPlayerPlaybackControlsBinding +import code.name.monkey.retromusic.extensions.applyColor import code.name.monkey.retromusic.extensions.getSongInfo import code.name.monkey.retromusic.extensions.hide import code.name.monkey.retromusic.extensions.show @@ -36,7 +35,6 @@ import code.name.monkey.retromusic.fragments.base.AbsPlayerControlsFragment import code.name.monkey.retromusic.fragments.base.goToAlbum import code.name.monkey.retromusic.fragments.base.goToArtist import code.name.monkey.retromusic.helper.MusicPlayerRemote -import code.name.monkey.retromusic.util.MusicUtil import code.name.monkey.retromusic.util.PreferenceUtil import code.name.monkey.retromusic.util.color.MediaNotificationProcessor @@ -134,7 +132,7 @@ class BlurPlaybackControlsFragment : binding.text.setTextColor(lastPlaybackControlsColor) binding.songInfo.setTextColor(lastDisabledPlaybackControlsColor) - TintHelper.setTintAuto(binding.progressSlider, lastPlaybackControlsColor, false) + binding.progressSlider.applyColor(lastPlaybackControlsColor) volumeFragment?.setTintableColor(lastPlaybackControlsColor) setFabColor(lastPlaybackControlsColor) } diff --git a/app/src/main/java/code/name/monkey/retromusic/helper/SearchQueryHelper.kt b/app/src/main/java/code/name/monkey/retromusic/helper/SearchQueryHelper.kt index d25b32c01..9bd72fa58 100644 --- a/app/src/main/java/code/name/monkey/retromusic/helper/SearchQueryHelper.kt +++ b/app/src/main/java/code/name/monkey/retromusic/helper/SearchQueryHelper.kt @@ -21,7 +21,6 @@ import code.name.monkey.retromusic.model.Song import code.name.monkey.retromusic.repository.RealSongRepository import org.koin.core.component.KoinComponent import org.koin.core.component.inject -import java.util.* object SearchQueryHelper : KoinComponent { private const val TITLE_SELECTION = "lower(" + MediaStore.Audio.AudioColumns.TITLE + ") = ?" diff --git a/app/src/main/java/code/name/monkey/retromusic/lyrics/CoverLrcView.kt b/app/src/main/java/code/name/monkey/retromusic/lyrics/CoverLrcView.kt index 1244f3cbf..6dbc5e9f6 100644 --- a/app/src/main/java/code/name/monkey/retromusic/lyrics/CoverLrcView.kt +++ b/app/src/main/java/code/name/monkey/retromusic/lyrics/CoverLrcView.kt @@ -36,7 +36,6 @@ import android.widget.Scroller import androidx.core.content.ContextCompat import code.name.monkey.retromusic.R import java.io.File -import java.util.* import kotlin.math.abs /** diff --git a/app/src/main/java/code/name/monkey/retromusic/util/PackageValidator.kt b/app/src/main/java/code/name/monkey/retromusic/util/PackageValidator.kt index 3d300c102..15b9722ee 100644 --- a/app/src/main/java/code/name/monkey/retromusic/util/PackageValidator.kt +++ b/app/src/main/java/code/name/monkey/retromusic/util/PackageValidator.kt @@ -35,7 +35,6 @@ import java.io.IOException import java.security.MessageDigest import java.security.NoSuchAlgorithmException import java.util.* -import kotlin.collections.LinkedHashMap /** * Validates that the calling package is authorized to browse a [MediaBrowserServiceCompat]. diff --git a/app/src/main/java/code/name/monkey/retromusic/views/SeekArc.java b/app/src/main/java/code/name/monkey/retromusic/views/SeekArc.java index d4f8d20e4..64abadf92 100644 --- a/app/src/main/java/code/name/monkey/retromusic/views/SeekArc.java +++ b/app/src/main/java/code/name/monkey/retromusic/views/SeekArc.java @@ -25,8 +25,6 @@ import android.util.Log; import android.view.MotionEvent; import android.view.View; -import androidx.core.content.res.ResourcesCompat; - import code.name.monkey.retromusic.R; /** diff --git a/app/src/main/java/code/name/monkey/retromusic/views/insets/InsetsLinearLayout.kt b/app/src/main/java/code/name/monkey/retromusic/views/insets/InsetsLinearLayout.kt index ec6c08f04..8f1f67534 100644 --- a/app/src/main/java/code/name/monkey/retromusic/views/insets/InsetsLinearLayout.kt +++ b/app/src/main/java/code/name/monkey/retromusic/views/insets/InsetsLinearLayout.kt @@ -3,7 +3,6 @@ package code.name.monkey.retromusic.views.insets import android.content.Context import android.util.AttributeSet import android.widget.LinearLayout -import androidx.constraintlayout.widget.ConstraintLayout import code.name.monkey.retromusic.extensions.drawAboveSystemBarsWithPadding import code.name.monkey.retromusic.util.RetroUtil From 7c5a97c410e329566da06355528dc4cde4f8a318 Mon Sep 17 00:00:00 2001 From: Prathamesh More Date: Sat, 29 Jan 2022 22:04:02 +0530 Subject: [PATCH 08/10] Fixed Just Black theme --- .../monkey/retromusic/activities/base/AbsThemeActivity.kt | 4 +++- .../code/name/monkey/retromusic/util/theme/ThemeManager.kt | 7 ------- app/src/main/res/values/styles_parents.xml | 2 +- 3 files changed, 4 insertions(+), 9 deletions(-) diff --git a/app/src/main/java/code/name/monkey/retromusic/activities/base/AbsThemeActivity.kt b/app/src/main/java/code/name/monkey/retromusic/activities/base/AbsThemeActivity.kt index d6c51f291..25e6d2d65 100644 --- a/app/src/main/java/code/name/monkey/retromusic/activities/base/AbsThemeActivity.kt +++ b/app/src/main/java/code/name/monkey/retromusic/activities/base/AbsThemeActivity.kt @@ -51,7 +51,9 @@ abstract class AbsThemeActivity : ATHToolbarActivity(), Runnable { private fun updateTheme() { setTheme(ThemeManager.getThemeResValue()) - setDefaultNightMode(ThemeManager.getNightMode()) + if (PreferenceUtil.materialYou) { + setDefaultNightMode(ThemeManager.getNightMode()) + } if (PreferenceUtil.isCustomFont) { setTheme(R.style.FontThemeOverlay) diff --git a/app/src/main/java/code/name/monkey/retromusic/util/theme/ThemeManager.kt b/app/src/main/java/code/name/monkey/retromusic/util/theme/ThemeManager.kt index 8bd8504b2..1f69fbc4f 100644 --- a/app/src/main/java/code/name/monkey/retromusic/util/theme/ThemeManager.kt +++ b/app/src/main/java/code/name/monkey/retromusic/util/theme/ThemeManager.kt @@ -26,13 +26,6 @@ object ThemeManager { fun getNightMode(): Int = when (App.getContext().generalThemeValue) { LIGHT -> AppCompatDelegate.MODE_NIGHT_NO DARK -> AppCompatDelegate.MODE_NIGHT_YES - BLACK -> { - if (PreferenceUtil.baseTheme == "dark") { - AppCompatDelegate.MODE_NIGHT_YES - } else { - AppCompatDelegate.MODE_NIGHT_FOLLOW_SYSTEM - } - } else -> AppCompatDelegate.MODE_NIGHT_FOLLOW_SYSTEM } } \ No newline at end of file diff --git a/app/src/main/res/values/styles_parents.xml b/app/src/main/res/values/styles_parents.xml index 18c71ebb8..6739788ff 100644 --- a/app/src/main/res/values/styles_parents.xml +++ b/app/src/main/res/values/styles_parents.xml @@ -29,7 +29,7 @@ @drawable/popup_background - +
+
February 1, 2022
+

v5.7.1

+

What's New

+
    +
  • Added option to disable changing song by swiping anywhere on the now playing screen
  • +
+

Fixed

+
    +
  • Fixed Playlist save on A11+
  • +
  • Fixed Just Black theme
  • +
  • Fixed some UI issues
  • +
+

Improved

+
    +
  • Improvements to search
  • +
+
January 25, 2022
-

v5.7.0

+

v5.7.0Beta

What's New

  • Added Android Auto