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/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/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/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/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/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/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(),
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/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/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/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/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/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())
}
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
}
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
-
+
+
+
+
-
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"
}