From fcdf9ad590d0bd4f2c9f4684251fe6549be727b9 Mon Sep 17 00:00:00 2001 From: Prathamesh More Date: Sat, 19 Feb 2022 09:55:11 +0530 Subject: [PATCH 1/5] [Glide] Code Cleanup --- .../activities/DriveModeActivity.kt | 11 ++----- .../adapter/song/PlayingQueueAdapter.kt | 11 ++----- .../fragments/albums/AlbumDetailsFragment.kt | 10 ++----- .../retromusic/fragments/home/HomeFragment.kt | 10 +++---- .../fragments/other/MiniPlayerFragment.kt | 5 ++-- .../player/full/FullPlayerFragment.kt | 29 ++++++++----------- .../monkey/retromusic/service/MusicService.kt | 7 +++-- 7 files changed, 30 insertions(+), 53 deletions(-) diff --git a/app/src/main/java/code/name/monkey/retromusic/activities/DriveModeActivity.kt b/app/src/main/java/code/name/monkey/retromusic/activities/DriveModeActivity.kt index 9bdfbd05d..39c46e712 100644 --- a/app/src/main/java/code/name/monkey/retromusic/activities/DriveModeActivity.kt +++ b/app/src/main/java/code/name/monkey/retromusic/activities/DriveModeActivity.kt @@ -32,7 +32,6 @@ import code.name.monkey.retromusic.fragments.base.AbsPlayerControlsFragment import code.name.monkey.retromusic.glide.BlurTransformation import code.name.monkey.retromusic.glide.GlideApp import code.name.monkey.retromusic.glide.RetroGlideExtension -import code.name.monkey.retromusic.glide.RetroMusicColoredTarget import code.name.monkey.retromusic.helper.MusicPlayerRemote import code.name.monkey.retromusic.helper.MusicProgressViewUpdateHelper import code.name.monkey.retromusic.helper.MusicProgressViewUpdateHelper.Callback @@ -42,7 +41,6 @@ import code.name.monkey.retromusic.model.Song import code.name.monkey.retromusic.repository.RealRepository import code.name.monkey.retromusic.service.MusicService import code.name.monkey.retromusic.util.MusicUtil -import code.name.monkey.retromusic.util.color.MediaNotificationProcessor import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch import kotlinx.coroutines.withContext @@ -247,14 +245,9 @@ class DriveModeActivity : AbsMusicServiceActivity(), Callback { binding.songText.text = song.artistName GlideApp.with(this) - .asBitmapPalette() - .songCoverOptions(song) .load(RetroGlideExtension.getSongModel(song)) - .transform(BlurTransformation.Builder(this).build()) - .into(object : RetroMusicColoredTarget(binding.image) { - override fun onColorReady(colors: MediaNotificationProcessor) { - } - }) + .songCoverOptions(song).transform(BlurTransformation.Builder(this).build()) + .into(binding.image) } override fun onUpdateProgressViews(progress: Int, total: Int) { diff --git a/app/src/main/java/code/name/monkey/retromusic/adapter/song/PlayingQueueAdapter.kt b/app/src/main/java/code/name/monkey/retromusic/adapter/song/PlayingQueueAdapter.kt index 398f479bf..ae2de00c6 100644 --- a/app/src/main/java/code/name/monkey/retromusic/adapter/song/PlayingQueueAdapter.kt +++ b/app/src/main/java/code/name/monkey/retromusic/adapter/song/PlayingQueueAdapter.kt @@ -21,7 +21,6 @@ import androidx.fragment.app.FragmentActivity import code.name.monkey.retromusic.R import code.name.monkey.retromusic.glide.GlideApp import code.name.monkey.retromusic.glide.RetroGlideExtension -import code.name.monkey.retromusic.glide.RetroMusicColoredTarget import code.name.monkey.retromusic.helper.MusicPlayerRemote import code.name.monkey.retromusic.helper.MusicPlayerRemote.isPlaying import code.name.monkey.retromusic.helper.MusicPlayerRemote.playNextSong @@ -29,7 +28,6 @@ import code.name.monkey.retromusic.helper.MusicPlayerRemote.removeFromQueue import code.name.monkey.retromusic.model.Song import code.name.monkey.retromusic.util.MusicUtil import code.name.monkey.retromusic.util.ViewUtil -import code.name.monkey.retromusic.util.color.MediaNotificationProcessor import com.h6ah4i.android.widget.advrecyclerview.draggable.DraggableItemAdapter import com.h6ah4i.android.widget.advrecyclerview.draggable.ItemDraggableRange import com.h6ah4i.android.widget.advrecyclerview.draggable.annotation.DraggableItemStateFlags @@ -79,13 +77,10 @@ class PlayingQueueAdapter( if (holder.image == null) { return } - GlideApp.with(activity).asBitmapPalette().songCoverOptions(song) + GlideApp.with(activity) .load(RetroGlideExtension.getSongModel(song)) - .into(object : RetroMusicColoredTarget(holder.image!!) { - override fun onColorReady(colors: MediaNotificationProcessor) { - //setColors(colors, holder) - } - }) + .songCoverOptions(song) + .into(holder.image!!) } fun swapDataSet(dataSet: List, position: Int) { 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 97a232020..8698abc84 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 @@ -49,7 +49,6 @@ import code.name.monkey.retromusic.extensions.* import code.name.monkey.retromusic.fragments.base.AbsMainActivityFragment import code.name.monkey.retromusic.glide.GlideApp import code.name.monkey.retromusic.glide.RetroGlideExtension -import code.name.monkey.retromusic.glide.RetroMusicColoredTarget import code.name.monkey.retromusic.glide.SingleColorTarget import code.name.monkey.retromusic.helper.MusicPlayerRemote import code.name.monkey.retromusic.helper.SortOrder.AlbumSongSortOrder.Companion.SONG_A_Z @@ -68,7 +67,6 @@ import code.name.monkey.retromusic.util.MusicUtil import code.name.monkey.retromusic.util.PreferenceUtil import code.name.monkey.retromusic.util.RetroColorUtil import code.name.monkey.retromusic.util.RetroUtil -import code.name.monkey.retromusic.util.color.MediaNotificationProcessor import com.afollestad.materialcab.attached.AttachedCab import com.afollestad.materialcab.attached.destroy import com.afollestad.materialcab.attached.isActive @@ -307,7 +305,7 @@ class AlbumDetailsFragment : AbsMainActivityFragment(R.layout.fragment_album_det detailsViewModel.getMoreAlbums(artist).observe(viewLifecycleOwner) { moreAlbums(it) } - GlideApp.with(requireContext()).asBitmapPalette().artistImageOptions(artist) + GlideApp.with(requireContext()) //.forceDownload(PreferenceUtil.isAllowedToDownloadMetadata()) .load( RetroGlideExtension.getArtistModel( @@ -315,12 +313,10 @@ class AlbumDetailsFragment : AbsMainActivityFragment(R.layout.fragment_album_det PreferenceUtil.isAllowedToDownloadMetadata() ) ) + .artistImageOptions(artist) .dontAnimate() .dontTransform() - .into(object : RetroMusicColoredTarget(binding.artistImage) { - override fun onColorReady(colors: MediaNotificationProcessor) { - } - }) + .into(binding.artistImage) } private fun loadAlbumCover(album: Album) { 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 577bf39db..9c5b04117 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 @@ -181,14 +181,13 @@ class HomeFragment : private fun loadProfile() { binding.bannerImage?.let { GlideApp.with(requireContext()) - .asBitmap() - .profileBannerOptions(RetroGlideExtension.getBannerModel()) .load(RetroGlideExtension.getBannerModel()) + .profileBannerOptions(RetroGlideExtension.getBannerModel()) .into(it) } - GlideApp.with(requireActivity()).asBitmap() - .userProfileOptions(RetroGlideExtension.getUserModel()) + GlideApp.with(requireActivity()) .load(RetroGlideExtension.getUserModel()) + .userProfileOptions(RetroGlideExtension.getUserModel()) .into(binding.userImage) } @@ -273,9 +272,8 @@ class HomeFragment : } } GlideApp.with(this) - .asBitmap() - .songCoverOptions(songs[index]) .load(RetroGlideExtension.getSongModel(songs[index])) + .songCoverOptions(songs[index]) .into(imageView) } } diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/other/MiniPlayerFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/other/MiniPlayerFragment.kt index 0bdfc952f..05998ea64 100644 --- a/app/src/main/java/code/name/monkey/retromusic/fragments/other/MiniPlayerFragment.kt +++ b/app/src/main/java/code/name/monkey/retromusic/fragments/other/MiniPlayerFragment.kt @@ -114,10 +114,9 @@ open class MiniPlayerFragment : AbsMusicServiceFragment(R.layout.fragment_mini_p private fun updateSongCover() { val song = MusicPlayerRemote.currentSong GlideApp.with(requireContext()) - .asBitmap() - .songCoverOptions(song) - .transition(RetroGlideExtension.getDefaultTransition()) .load(RetroGlideExtension.getSongModel(song)) + .transition(RetroGlideExtension.getDefaultTransition()) + .songCoverOptions(song) .into(binding.image) } 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 f20efdd24..6e0cfa836 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 @@ -31,7 +31,6 @@ import code.name.monkey.retromusic.fragments.base.goToArtist import code.name.monkey.retromusic.fragments.player.PlayerAlbumCoverFragment import code.name.monkey.retromusic.glide.GlideApp import code.name.monkey.retromusic.glide.RetroGlideExtension -import code.name.monkey.retromusic.glide.RetroMusicColoredTarget import code.name.monkey.retromusic.helper.MusicPlayerRemote import code.name.monkey.retromusic.model.Song import code.name.monkey.retromusic.util.color.MediaNotificationProcessor @@ -134,12 +133,10 @@ class FullPlayerFragment : AbsPlayerFragment(R.layout.fragment_full) { libraryViewModel.artist(MusicPlayerRemote.currentSong.artistId) .observe(viewLifecycleOwner) { artist -> if (artist.id != -1L) { - GlideApp.with(requireActivity()).asBitmapPalette().artistImageOptions(artist) + GlideApp.with(requireActivity()) .load(RetroGlideExtension.getArtistModel(artist)) - .into(object : RetroMusicColoredTarget(binding.artistImage) { - override fun onColorReady(colors: MediaNotificationProcessor) { - } - }) + .artistImageOptions(artist) + .into(binding.artistImage) } } @@ -151,17 +148,15 @@ class FullPlayerFragment : AbsPlayerFragment(R.layout.fragment_full) { } private fun updateLabel() { - (MusicPlayerRemote.playingQueue.size - 1).apply { - if (this == (MusicPlayerRemote.position)) { - binding.nextSongLabel.setText(R.string.last_song) - binding.nextSong.hide() - } else { - val title = MusicPlayerRemote.playingQueue[MusicPlayerRemote.position + 1].title - binding.nextSongLabel.setText(R.string.next_song) - binding.nextSong.apply { - text = title - show() - } + if ((MusicPlayerRemote.playingQueue.size - 1) == (MusicPlayerRemote.position)) { + binding.nextSongLabel.setText(R.string.last_song) + binding.nextSong.hide() + } else { + val title = MusicPlayerRemote.playingQueue[MusicPlayerRemote.position + 1].title + binding.nextSongLabel.setText(R.string.next_song) + binding.nextSong.apply { + text = title + show() } } } diff --git a/app/src/main/java/code/name/monkey/retromusic/service/MusicService.kt b/app/src/main/java/code/name/monkey/retromusic/service/MusicService.kt index 1a4a02744..7cce726d3 100644 --- a/app/src/main/java/code/name/monkey/retromusic/service/MusicService.kt +++ b/app/src/main/java/code/name/monkey/retromusic/service/MusicService.kt @@ -1146,9 +1146,10 @@ class MusicService : MediaBrowserServiceCompat(), if (isAlbumArtOnLockScreen) { val screenSize = RetroUtil.getScreenSize(this@MusicService) val request: RequestBuilder = - GlideApp.with(this@MusicService).asBitmap().songCoverOptions(song).load( - getSongModel(song) - ) + GlideApp.with(this@MusicService) + .asBitmap() + .songCoverOptions(song) + .load(getSongModel(song)) if (isBlurredAlbumArt) { request.transform(BlurTransformation.Builder(this@MusicService).build()) } From cda7af4420b0e74246e502b26920b79a6f4c62a6 Mon Sep 17 00:00:00 2001 From: Prathamesh More Date: Sat, 19 Feb 2022 10:57:18 +0530 Subject: [PATCH 2/5] Code Cleanup --- .../retromusic/activities/LockScreenActivity.kt | 3 +-- .../retromusic/activities/PermissionActivity.kt | 15 +++++++++------ .../retromusic/activities/base/AbsBaseActivity.kt | 15 ++++----------- .../retromusic/appwidgets/base/BaseAppWidget.kt | 3 +-- .../dialogs/BlacklistFolderChooserDialog.kt | 4 ++-- .../extensions/ActivityThemeExtensions.kt | 6 +++--- .../fragments/base/AbsPlayerFragment.kt | 3 +-- .../fragments/player/tiny/TinyPlayerFragment.kt | 3 ++- .../fragments/settings/ThemeSettingsFragment.kt | 5 ++--- .../retromusic/repository/SongRepository.kt | 3 ++- .../notification/PlayingNotificationClassic.kt | 3 +-- .../notification/PlayingNotificationImpl24.kt | 2 +- .../name/monkey/retromusic/util/RetroUtil.java | 1 + .../monkey/retromusic/util/RingtoneManager.kt | 4 +++- 14 files changed, 33 insertions(+), 37 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 9691ba676..2a1074814 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 @@ -15,7 +15,6 @@ package code.name.monkey.retromusic.activities import android.app.KeyguardManager -import android.os.Build import android.os.Bundle import android.view.WindowManager import androidx.core.content.getSystemService @@ -84,7 +83,7 @@ class LockScreenActivity : AbsMusicServiceActivity() { @Suppress("Deprecation") private fun lockScreenInit() { - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O_MR1) { + if (VersionUtils.hasOreoMR1()) { setShowWhenLocked(true) val keyguardManager = getSystemService() keyguardManager?.requestDismissKeyguard(this, null) diff --git a/app/src/main/java/code/name/monkey/retromusic/activities/PermissionActivity.kt b/app/src/main/java/code/name/monkey/retromusic/activities/PermissionActivity.kt index 9a63bd49c..9f69761ed 100644 --- a/app/src/main/java/code/name/monkey/retromusic/activities/PermissionActivity.kt +++ b/app/src/main/java/code/name/monkey/retromusic/activities/PermissionActivity.kt @@ -49,14 +49,17 @@ class PermissionActivity : AbsMusicServiceActivity() { binding.storagePermission.setButtonClick { requestPermissions() } - if (VersionUtils.hasMarshmallow()) binding.audioPermission.show() - binding.audioPermission.setButtonClick { - if (RingtoneManager.requiresDialog(this@PermissionActivity)) { - val intent = Intent(Settings.ACTION_MANAGE_WRITE_SETTINGS) - intent.data = Uri.parse("package:" + applicationContext.packageName) - startActivity(intent) + if (VersionUtils.hasMarshmallow()) { + binding.audioPermission.show() + binding.audioPermission.setButtonClick { + if (RingtoneManager.requiresDialog(this@PermissionActivity)) { + val intent = Intent(Settings.ACTION_MANAGE_WRITE_SETTINGS) + intent.data = Uri.parse("package:" + applicationContext.packageName) + startActivity(intent) + } } } + binding.finish.accentBackgroundColor() binding.finish.setOnClickListener { if (hasPermissions()) { diff --git a/app/src/main/java/code/name/monkey/retromusic/activities/base/AbsBaseActivity.kt b/app/src/main/java/code/name/monkey/retromusic/activities/base/AbsBaseActivity.kt index d84c84b9c..fa29c98fb 100644 --- a/app/src/main/java/code/name/monkey/retromusic/activities/base/AbsBaseActivity.kt +++ b/app/src/main/java/code/name/monkey/retromusic/activities/base/AbsBaseActivity.kt @@ -20,7 +20,6 @@ import android.content.pm.PackageManager import android.graphics.Rect import android.media.AudioManager import android.net.Uri -import android.os.Build import android.os.Bundle import android.provider.Settings import android.view.KeyEvent @@ -31,6 +30,7 @@ import android.widget.EditText import androidx.core.app.ActivityCompat import androidx.core.content.getSystemService import code.name.monkey.appthemehelper.ThemeStore +import code.name.monkey.appthemehelper.util.VersionUtils import code.name.monkey.retromusic.R import com.google.android.material.snackbar.Snackbar @@ -62,19 +62,12 @@ abstract class AbsBaseActivity : AbsThemeActivity() { permissionDeniedMessage = null } - override fun onPostCreate(savedInstanceState: Bundle?) { - super.onPostCreate(savedInstanceState) - if (!hasPermissions()) { - // requestPermissions() - } - } - override fun onResume() { super.onResume() val hasPermissions = hasPermissions() if (hasPermissions != hadPermissions) { hadPermissions = hasPermissions - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { + if (VersionUtils.hasMarshmallow()) { onHasPermissionsChanged(hasPermissions) } } @@ -97,13 +90,13 @@ abstract class AbsBaseActivity : AbsThemeActivity() { } protected open fun requestPermissions() { - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { + if (VersionUtils.hasMarshmallow()) { requestPermissions(permissions, PERMISSION_REQUEST) } } protected fun hasPermissions(): Boolean { - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { + if (VersionUtils.hasMarshmallow()) { for (permission in permissions) { if (checkSelfPermission(permission) != PackageManager.PERMISSION_GRANTED) { return false diff --git a/app/src/main/java/code/name/monkey/retromusic/appwidgets/base/BaseAppWidget.kt b/app/src/main/java/code/name/monkey/retromusic/appwidgets/base/BaseAppWidget.kt index 48f3a9dc1..d74fae63f 100644 --- a/app/src/main/java/code/name/monkey/retromusic/appwidgets/base/BaseAppWidget.kt +++ b/app/src/main/java/code/name/monkey/retromusic/appwidgets/base/BaseAppWidget.kt @@ -24,7 +24,6 @@ import android.content.res.Resources import android.graphics.* import android.graphics.drawable.BitmapDrawable import android.graphics.drawable.Drawable -import android.os.Build import android.text.TextUtils import android.widget.RemoteViews import androidx.core.content.ContextCompat @@ -101,7 +100,7 @@ abstract class BaseAppWidget : AppWidgetProvider() { ): PendingIntent { val intent = Intent(action) intent.component = serviceName - return if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { + return if (VersionUtils.hasOreo()) { PendingIntent.getForegroundService(context, 0, intent, PendingIntent.FLAG_IMMUTABLE) } else { PendingIntent.getService( diff --git a/app/src/main/java/code/name/monkey/retromusic/dialogs/BlacklistFolderChooserDialog.kt b/app/src/main/java/code/name/monkey/retromusic/dialogs/BlacklistFolderChooserDialog.kt index 5e9c473cf..738269cb3 100644 --- a/app/src/main/java/code/name/monkey/retromusic/dialogs/BlacklistFolderChooserDialog.kt +++ b/app/src/main/java/code/name/monkey/retromusic/dialogs/BlacklistFolderChooserDialog.kt @@ -3,11 +3,11 @@ package code.name.monkey.retromusic.dialogs import android.Manifest import android.app.Dialog import android.content.pm.PackageManager -import android.os.Build import android.os.Bundle import android.os.Environment import androidx.core.app.ActivityCompat import androidx.fragment.app.DialogFragment +import code.name.monkey.appthemehelper.util.VersionUtils import code.name.monkey.retromusic.R import code.name.monkey.retromusic.extensions.materialDialog import com.afollestad.materialdialogs.MaterialDialog @@ -49,7 +49,7 @@ class BlacklistFolderChooserDialog : DialogFragment() { override fun onCreateDialog(savedInstanceState: Bundle?): Dialog { var mSavedInstanceState = savedInstanceState - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M + if (VersionUtils.hasMarshmallow() && ActivityCompat.checkSelfPermission( requireActivity(), Manifest.permission.READ_EXTERNAL_STORAGE ) diff --git a/app/src/main/java/code/name/monkey/retromusic/extensions/ActivityThemeExtensions.kt b/app/src/main/java/code/name/monkey/retromusic/extensions/ActivityThemeExtensions.kt index 86bec60d5..60b90f6a4 100644 --- a/app/src/main/java/code/name/monkey/retromusic/extensions/ActivityThemeExtensions.kt +++ b/app/src/main/java/code/name/monkey/retromusic/extensions/ActivityThemeExtensions.kt @@ -45,7 +45,7 @@ fun AppCompatActivity.setImmersiveFullscreen() { WindowInsetsControllerCompat.BEHAVIOR_SHOW_TRANSIENT_BARS_BY_SWIPE hide(WindowInsetsCompat.Type.systemBars()) } - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) { + if (VersionUtils.hasP()) { window.attributes.layoutInDisplayCutoutMode = WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_SHORT_EDGES } @@ -100,7 +100,7 @@ fun FragmentActivity.setTaskDescriptionColor(color: Int) { // Task description requires fully opaque color colorFinal = ColorUtil.stripAlpha(colorFinal) // Sets color of entry in the system recents page - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) { + if (VersionUtils.hasP()) { setTaskDescription( ActivityManager.TaskDescription( title as String?, @@ -196,7 +196,7 @@ fun AppCompatActivity.setStatusBarColorAuto() { } fun AppCompatActivity.setNavigationBarColor(color: Int) { - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { + if (VersionUtils.hasOreo()) { window.navigationBarColor = color } else { window.navigationBarColor = ColorUtil.darkenColor(color) diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/base/AbsPlayerFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/base/AbsPlayerFragment.kt index 678554246..3dd8fd76a 100644 --- a/app/src/main/java/code/name/monkey/retromusic/fragments/base/AbsPlayerFragment.kt +++ b/app/src/main/java/code/name/monkey/retromusic/fragments/base/AbsPlayerFragment.kt @@ -22,7 +22,6 @@ import android.content.Intent import android.graphics.drawable.AnimatedVectorDrawable import android.graphics.drawable.Drawable import android.media.MediaMetadataRetriever -import android.os.Build import android.os.Bundle import android.provider.MediaStore import android.view.GestureDetector @@ -297,7 +296,7 @@ abstract class AbsPlayerFragment(@LayoutRes layout: Int) : AbsMainActivityFragme playerAlbumCoverFragment = whichFragment(R.id.playerAlbumCoverFragment) playerAlbumCoverFragment?.setCallbacks(this) - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) + if (VersionUtils.hasMarshmallow()) view.findViewById(R.id.statusBarShadow)?.hide() } diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/player/tiny/TinyPlayerFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/player/tiny/TinyPlayerFragment.kt index 92ac39bb2..9ac50de1b 100644 --- a/app/src/main/java/code/name/monkey/retromusic/fragments/player/tiny/TinyPlayerFragment.kt +++ b/app/src/main/java/code/name/monkey/retromusic/fragments/player/tiny/TinyPlayerFragment.kt @@ -26,6 +26,7 @@ import android.view.animation.LinearInterpolator import androidx.appcompat.widget.Toolbar import androidx.core.content.getSystemService import code.name.monkey.appthemehelper.util.ToolbarContentTintHelper +import code.name.monkey.appthemehelper.util.VersionUtils import code.name.monkey.retromusic.R import code.name.monkey.retromusic.databinding.FragmentTinyPlayerBinding import code.name.monkey.retromusic.extensions.drawAboveSystemBars @@ -283,7 +284,7 @@ class TinyPlayerFragment : AbsPlayerFragment(R.layout.fragment_tiny_player), @Suppress("Deprecation") private fun vibrate() { val v = requireContext().getSystemService() - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { + if (VersionUtils.hasOreo()) { v?.vibrate(VibrationEffect.createOneShot(10, VibrationEffect.DEFAULT_AMPLITUDE)) } else { v?.vibrate(10) diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/settings/ThemeSettingsFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/settings/ThemeSettingsFragment.kt index cf81a339a..b5ec3f5bd 100644 --- a/app/src/main/java/code/name/monkey/retromusic/fragments/settings/ThemeSettingsFragment.kt +++ b/app/src/main/java/code/name/monkey/retromusic/fragments/settings/ThemeSettingsFragment.kt @@ -15,7 +15,6 @@ package code.name.monkey.retromusic.fragments.settings import android.annotation.SuppressLint -import android.os.Build import android.os.Bundle import androidx.preference.Preference import androidx.preference.TwoStatePreference @@ -48,7 +47,7 @@ class ThemeSettingsFragment : AbsSettingsFragment() { setSummary(it, newValue) ThemeStore.markChanged(requireContext()) - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N_MR1) { + if (VersionUtils.hasNougatMR()) { requireActivity().setTheme(PreferenceUtil.themeResFromPrefValue(theme)) DynamicShortcutManager(requireContext()).updateDynamicShortcuts() } @@ -83,7 +82,7 @@ class ThemeSettingsFragment : AbsSettingsFragment() { return@setOnPreferenceChangeListener false } ThemeStore.markChanged(requireContext()) - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N_MR1) { + if (VersionUtils.hasNougatMR()) { requireActivity().setTheme(PreferenceUtil.themeResFromPrefValue("black")) DynamicShortcutManager(requireContext()).updateDynamicShortcuts() } diff --git a/app/src/main/java/code/name/monkey/retromusic/repository/SongRepository.kt b/app/src/main/java/code/name/monkey/retromusic/repository/SongRepository.kt index 0814f763d..bfbfe62ab 100644 --- a/app/src/main/java/code/name/monkey/retromusic/repository/SongRepository.kt +++ b/app/src/main/java/code/name/monkey/retromusic/repository/SongRepository.kt @@ -21,6 +21,7 @@ import android.os.Environment import android.provider.MediaStore import android.provider.MediaStore.Audio.AudioColumns import android.provider.MediaStore.Audio.Media +import code.name.monkey.appthemehelper.util.VersionUtils import code.name.monkey.retromusic.Constants.IS_MUSIC import code.name.monkey.retromusic.Constants.baseProjection import code.name.monkey.retromusic.extensions.getInt @@ -188,7 +189,7 @@ class RealSongRepository(private val context: Context) : SongRepository { selectionFinal = selectionFinal + " AND " + Media.DURATION + ">= " + (PreferenceUtil.filterLength * 1000) } - val uri = if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.Q) { + val uri = if (VersionUtils.hasQ()) { Media.getContentUri(MediaStore.VOLUME_EXTERNAL) } else { Media.EXTERNAL_CONTENT_URI diff --git a/app/src/main/java/code/name/monkey/retromusic/service/notification/PlayingNotificationClassic.kt b/app/src/main/java/code/name/monkey/retromusic/service/notification/PlayingNotificationClassic.kt index 23eee5435..72cd280f8 100644 --- a/app/src/main/java/code/name/monkey/retromusic/service/notification/PlayingNotificationClassic.kt +++ b/app/src/main/java/code/name/monkey/retromusic/service/notification/PlayingNotificationClassic.kt @@ -23,7 +23,6 @@ import android.content.Intent import android.graphics.Bitmap import android.graphics.Color import android.graphics.drawable.Drawable -import android.os.Build import android.widget.RemoteViews import androidx.core.app.NotificationCompat import code.name.monkey.appthemehelper.util.ATHUtil.resolveColor @@ -324,7 +323,7 @@ class PlayingNotificationClassic( context: Context, notificationManager: NotificationManager ): PlayingNotification { - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { + if (VersionUtils.hasOreo()) { createNotificationChannel(context, notificationManager) } return PlayingNotificationClassic(context) diff --git a/app/src/main/java/code/name/monkey/retromusic/service/notification/PlayingNotificationImpl24.kt b/app/src/main/java/code/name/monkey/retromusic/service/notification/PlayingNotificationImpl24.kt index 7154190e1..16d925a88 100644 --- a/app/src/main/java/code/name/monkey/retromusic/service/notification/PlayingNotificationImpl24.kt +++ b/app/src/main/java/code/name/monkey/retromusic/service/notification/PlayingNotificationImpl24.kt @@ -232,7 +232,7 @@ class PlayingNotificationImpl24( notificationManager: NotificationManager, mediaSession: MediaSessionCompat ): PlayingNotification { - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { + if (VersionUtils.hasOreo()) { createNotificationChannel(context, notificationManager) } return PlayingNotificationImpl24(context, mediaSession.sessionToken) diff --git a/app/src/main/java/code/name/monkey/retromusic/util/RetroUtil.java b/app/src/main/java/code/name/monkey/retromusic/util/RetroUtil.java index 8005ab2b4..b51c1343c 100644 --- a/app/src/main/java/code/name/monkey/retromusic/util/RetroUtil.java +++ b/app/src/main/java/code/name/monkey/retromusic/util/RetroUtil.java @@ -49,6 +49,7 @@ import java.util.Collections; import java.util.List; import code.name.monkey.appthemehelper.util.TintHelper; +import code.name.monkey.appthemehelper.util.VersionUtils; import code.name.monkey.retromusic.App; public class RetroUtil { diff --git a/app/src/main/java/code/name/monkey/retromusic/util/RingtoneManager.kt b/app/src/main/java/code/name/monkey/retromusic/util/RingtoneManager.kt index 2dd05bded..fb58d4fa8 100644 --- a/app/src/main/java/code/name/monkey/retromusic/util/RingtoneManager.kt +++ b/app/src/main/java/code/name/monkey/retromusic/util/RingtoneManager.kt @@ -22,6 +22,8 @@ import android.provider.BaseColumns import android.provider.MediaStore import android.provider.Settings import android.widget.Toast +import androidx.annotation.RequiresApi +import code.name.monkey.appthemehelper.util.VersionUtils import code.name.monkey.retromusic.R import code.name.monkey.retromusic.model.Song import code.name.monkey.retromusic.util.MusicUtil.getSongFileUri @@ -55,7 +57,7 @@ class RingtoneManager(val context: Context) { companion object { fun requiresDialog(context: Context): Boolean { - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { + if (VersionUtils.hasMarshmallow()) { if (!Settings.System.canWrite(context)) { return true } From 6c159297dc4870cab6a5dbdeccb5eb51a285e3e1 Mon Sep 17 00:00:00 2001 From: Prathamesh More Date: Sat, 19 Feb 2022 12:19:32 +0530 Subject: [PATCH 3/5] Centered CheckBox in popup menu --- app/src/main/res/layout/fragment_main_recycler.xml | 5 +++-- .../preference_dialog_library_categories_listitem.xml | 3 ++- app/src/main/res/values/styles.xml | 10 ++++++++-- 3 files changed, 13 insertions(+), 5 deletions(-) diff --git a/app/src/main/res/layout/fragment_main_recycler.xml b/app/src/main/res/layout/fragment_main_recycler.xml index 500288402..1e74d3aa1 100644 --- a/app/src/main/res/layout/fragment_main_recycler.xml +++ b/app/src/main/res/layout/fragment_main_recycler.xml @@ -8,10 +8,11 @@ + android:fitsSystemWindows="true" + android:theme="@style/CenteredCheckBoxTheme" /> 0dp - + + + + - From 771897b741ab90120eb342be232314b3af117e8d Mon Sep 17 00:00:00 2001 From: Prathamesh More Date: Thu, 24 Feb 2022 16:25:14 +0530 Subject: [PATCH 4/5] Updated dependencies --- app/build.gradle | 6 +++--- build.gradle | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index ba63953b1..5e1f7522a 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -108,7 +108,7 @@ dependencies { implementation "androidx.navigation:navigation-fragment-ktx:$navigation_version" implementation "androidx.navigation:navigation-ui-ktx:$navigation_version" - def room_version = '2.4.1' + def room_version = '2.4.2' implementation "androidx.room:room-runtime:$room_version" implementation "androidx.room:room-ktx:$room_version" kapt "androidx.room:room-compiler:$room_version" @@ -126,7 +126,7 @@ dependencies { def retrofit_version = '2.9.0' implementation "com.squareup.retrofit2:retrofit:$retrofit_version" implementation "com.squareup.retrofit2:converter-gson:$retrofit_version" - implementation 'com.squareup.okhttp3:logging-interceptor:5.0.0-alpha.4' + implementation 'com.squareup.okhttp3:logging-interceptor:5.0.0-alpha.5' def material_dialog_version = "3.3.0" implementation "com.afollestad.material-dialogs:core:$material_dialog_version" @@ -146,7 +146,7 @@ dependencies { implementation "io.insert-koin:koin-core:$koin_version" implementation "io.insert-koin:koin-android:$koin_version" - def glide_version = '4.13.0' + def glide_version = '4.13.1' implementation "com.github.bumptech.glide:glide:$glide_version" kapt "com.github.bumptech.glide:compiler:$glide_version" implementation "com.github.bumptech.glide:okhttp3-integration:$glide_version" diff --git a/build.gradle b/build.gradle index 569e2d003..3a129732d 100644 --- a/build.gradle +++ b/build.gradle @@ -14,7 +14,7 @@ buildscript { google() } dependencies { - classpath 'com.android.tools.build:gradle:7.1.1' + classpath 'com.android.tools.build:gradle:7.1.2' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" classpath "androidx.navigation:navigation-safe-args-gradle-plugin:$navigation_version" } From 3aef95c9a1eced86780c5685944e677698d81e8d Mon Sep 17 00:00:00 2001 From: Prathamesh More Date: Mon, 28 Feb 2022 18:42:04 +0530 Subject: [PATCH 5/5] Made sleep timer precise --- app/src/main/AndroidManifest.xml | 3 +-- .../code/name/monkey/retromusic/dialogs/SleepTimerDialog.kt | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 0dbf3e677..9e3c5ebf6 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -5,6 +5,7 @@ + @@ -37,7 +38,6 @@ @@ -171,7 +171,6 @@ diff --git a/app/src/main/java/code/name/monkey/retromusic/dialogs/SleepTimerDialog.kt b/app/src/main/java/code/name/monkey/retromusic/dialogs/SleepTimerDialog.kt index 954ad2dad..9ee506958 100755 --- a/app/src/main/java/code/name/monkey/retromusic/dialogs/SleepTimerDialog.kt +++ b/app/src/main/java/code/name/monkey/retromusic/dialogs/SleepTimerDialog.kt @@ -94,7 +94,7 @@ class SleepTimerDialog : DialogFragment() { val nextSleepTimerElapsedTime = SystemClock.elapsedRealtime() + minutes * 60 * 1000 PreferenceUtil.nextSleepTimerElapsedRealTime = nextSleepTimerElapsedTime.toInt() val am = requireContext().getSystemService() - am?.set(AlarmManager.ELAPSED_REALTIME_WAKEUP, nextSleepTimerElapsedTime, pi) + am?.setExact(AlarmManager.ELAPSED_REALTIME_WAKEUP, nextSleepTimerElapsedTime, pi) Toast.makeText( requireContext(),