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 39c46e712..81f880ace 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
@@ -22,11 +22,11 @@ import android.os.Bundle
import android.view.animation.LinearInterpolator
import android.widget.SeekBar
import androidx.lifecycle.lifecycleScope
-import code.name.monkey.appthemehelper.ThemeStore
import code.name.monkey.retromusic.R
import code.name.monkey.retromusic.activities.base.AbsMusicServiceActivity
import code.name.monkey.retromusic.databinding.ActivityDriveModeBinding
import code.name.monkey.retromusic.db.toSongEntity
+import code.name.monkey.retromusic.extensions.accentColor
import code.name.monkey.retromusic.extensions.drawAboveSystemBars
import code.name.monkey.retromusic.fragments.base.AbsPlayerControlsFragment
import code.name.monkey.retromusic.glide.BlurTransformation
@@ -66,7 +66,7 @@ class DriveModeActivity : AbsMusicServiceActivity(), Callback {
setUpMusicControllers()
progressViewUpdateHelper = MusicProgressViewUpdateHelper(this)
- lastPlaybackControlsColor = ThemeStore.accentColor(this)
+ lastPlaybackControlsColor = accentColor()
binding.close.setOnClickListener {
onBackPressed()
}
@@ -91,14 +91,12 @@ class DriveModeActivity : AbsMusicServiceActivity(), Callback {
private fun toggleFavorite(song: Song) {
lifecycleScope.launch(Dispatchers.IO) {
val playlist = repository.favoritePlaylist()
- if (playlist != null) {
- val songEntity = song.toSongEntity(playlist.playListId)
- val isFavorite = repository.isSongFavorite(song.id)
- if (isFavorite) {
- repository.removeSongFromPlaylist(songEntity)
- } else {
- repository.insertSongs(listOf(song.toSongEntity(playlist.playListId)))
- }
+ val songEntity = song.toSongEntity(playlist.playListId)
+ val isFavorite = repository.isSongFavorite(song.id)
+ if (isFavorite) {
+ repository.removeSongFromPlaylist(songEntity)
+ } else {
+ repository.insertSongs(listOf(song.toSongEntity(playlist.playListId)))
}
sendBroadcast(Intent(MusicService.FAVORITE_STATE_CHANGED))
}
@@ -139,7 +137,6 @@ class DriveModeActivity : AbsMusicServiceActivity(), Callback {
}
private fun setUpPrevNext() {
-
binding.nextButton.setOnClickListener { MusicPlayerRemote.playNextSong() }
binding.previousButton.setOnClickListener { MusicPlayerRemote.back() }
}
@@ -246,7 +243,8 @@ class DriveModeActivity : AbsMusicServiceActivity(), Callback {
GlideApp.with(this)
.load(RetroGlideExtension.getSongModel(song))
- .songCoverOptions(song).transform(BlurTransformation.Builder(this).build())
+ .songCoverOptions(song)
+ .transform(BlurTransformation.Builder(this).build())
.into(binding.image)
}
diff --git a/app/src/main/java/code/name/monkey/retromusic/activities/LicenseActivity.kt b/app/src/main/java/code/name/monkey/retromusic/activities/LicenseActivity.kt
index e4d6a8f40..755793938 100644
--- a/app/src/main/java/code/name/monkey/retromusic/activities/LicenseActivity.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/activities/LicenseActivity.kt
@@ -16,12 +16,12 @@ package code.name.monkey.retromusic.activities
import android.graphics.Color
import android.os.Bundle
import android.view.MenuItem
-import code.name.monkey.appthemehelper.ThemeStore.Companion.accentColor
import code.name.monkey.appthemehelper.util.ATHUtil.isWindowBackgroundDark
import code.name.monkey.appthemehelper.util.ColorUtil.lightenColor
import code.name.monkey.appthemehelper.util.ToolbarContentTintHelper
import code.name.monkey.retromusic.activities.base.AbsThemeActivity
import code.name.monkey.retromusic.databinding.ActivityLicenseBinding
+import code.name.monkey.retromusic.extensions.accentColor
import code.name.monkey.retromusic.extensions.drawAboveSystemBars
import code.name.monkey.retromusic.extensions.surfaceColor
import java.io.BufferedReader
@@ -59,11 +59,11 @@ class LicenseActivity : AbsThemeActivity() {
"body { background-color: %s; color: %s; }", backgroundColor, contentColor
)
)
- .replace("{link-color}", colorToCSS(accentColor(this)))
+ .replace("{link-color}", colorToCSS(accentColor()))
.replace(
"{link-color-active}",
colorToCSS(
- lightenColor(accentColor(this))
+ lightenColor(accentColor())
)
)
binding.license.loadData(changeLog, "text/html", "UTF-8")
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 57a0d2657..248dd567b 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
@@ -25,14 +25,10 @@ import androidx.annotation.RequiresApi
import androidx.core.net.toUri
import androidx.core.text.parseAsHtml
import androidx.core.view.isVisible
-import code.name.monkey.appthemehelper.ThemeStore
import code.name.monkey.appthemehelper.util.VersionUtils
import code.name.monkey.retromusic.activities.base.AbsMusicServiceActivity
import code.name.monkey.retromusic.databinding.ActivityPermissionBinding
-import code.name.monkey.retromusic.extensions.accentBackgroundColor
-import code.name.monkey.retromusic.extensions.setStatusBarColorAuto
-import code.name.monkey.retromusic.extensions.setTaskDescriptionColorAuto
-import code.name.monkey.retromusic.extensions.show
+import code.name.monkey.retromusic.extensions.*
import code.name.monkey.retromusic.util.RingtoneManager
class PermissionActivity : AbsMusicServiceActivity() {
@@ -75,10 +71,11 @@ class PermissionActivity : AbsMusicServiceActivity() {
}
private fun setupTitle() {
- val color = ThemeStore.accentColor(this)
+ val color = accentColor()
val hexColor = String.format("#%06X", 0xFFFFFF and color)
- val appName = "Hello there!
Welcome to Retro Music"
- .parseAsHtml()
+ val appName =
+ "Hello there!
Welcome to Retro Music"
+ .parseAsHtml()
binding.appNameText.text = appName
}
@@ -87,14 +84,13 @@ class PermissionActivity : AbsMusicServiceActivity() {
if (hasStoragePermission()) {
binding.storagePermission.checkImage.isVisible = true
binding.storagePermission.checkImage.imageTintList =
- ColorStateList.valueOf(ThemeStore.accentColor(this))
+ ColorStateList.valueOf(accentColor())
}
if (hasAudioPermission()) {
binding.audioPermission.checkImage.isVisible = true
binding.audioPermission.checkImage.imageTintList =
- ColorStateList.valueOf(ThemeStore.accentColor(this))
+ ColorStateList.valueOf(accentColor())
}
-
super.onResume()
}
diff --git a/app/src/main/java/code/name/monkey/retromusic/activities/PurchaseActivity.kt b/app/src/main/java/code/name/monkey/retromusic/activities/PurchaseActivity.kt
index 656423df5..e4da0f4fb 100644
--- a/app/src/main/java/code/name/monkey/retromusic/activities/PurchaseActivity.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/activities/PurchaseActivity.kt
@@ -28,6 +28,7 @@ import code.name.monkey.retromusic.Constants.PRO_VERSION_PRODUCT_ID
import code.name.monkey.retromusic.R
import code.name.monkey.retromusic.activities.base.AbsBaseActivity
import code.name.monkey.retromusic.databinding.ActivityProVersionBinding
+import code.name.monkey.retromusic.extensions.accentColor
import code.name.monkey.retromusic.extensions.setLightStatusBar
import code.name.monkey.retromusic.extensions.setStatusBarColor
import com.anjlab.android.iab.v3.BillingProcessor
@@ -61,7 +62,7 @@ class PurchaseActivity : AbsBaseActivity(), BillingProcessor.IBillingHandler {
billingProcessor.purchase(this@PurchaseActivity, PRO_VERSION_PRODUCT_ID)
}
binding.bannerContainer.backgroundTintList =
- ColorStateList.valueOf(ThemeStore.accentColor(this))
+ ColorStateList.valueOf(accentColor())
}
private fun restorePurchase() {
diff --git a/app/src/main/java/code/name/monkey/retromusic/activities/ShareInstagramStory.kt b/app/src/main/java/code/name/monkey/retromusic/activities/ShareInstagramStory.kt
index 23b9bfb77..03d0ec405 100644
--- a/app/src/main/java/code/name/monkey/retromusic/activities/ShareInstagramStory.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/activities/ShareInstagramStory.kt
@@ -28,6 +28,7 @@ import code.name.monkey.appthemehelper.util.ColorUtil
import code.name.monkey.appthemehelper.util.MaterialValueHelper
import code.name.monkey.retromusic.activities.base.AbsBaseActivity
import code.name.monkey.retromusic.databinding.ActivityShareInstagramBinding
+import code.name.monkey.retromusic.extensions.accentColor
import code.name.monkey.retromusic.extensions.setLightStatusBar
import code.name.monkey.retromusic.extensions.setStatusBarColor
import code.name.monkey.retromusic.glide.GlideApp
@@ -96,11 +97,11 @@ class ShareInstagramStory : AbsBaseActivity() {
binding.shareButton.setTextColor(
MaterialValueHelper.getPrimaryTextColor(
this,
- ColorUtil.isColorLight(ThemeStore.accentColor(this))
+ ColorUtil.isColorLight(accentColor())
)
)
binding.shareButton.backgroundTintList =
- ColorStateList.valueOf(ThemeStore.accentColor(this))
+ ColorStateList.valueOf(accentColor())
}
private fun setColors(colorLight: Boolean, color: Int) {
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 fda12d6bf..c014c1381 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
@@ -75,8 +75,8 @@ class SupportDevelopmentActivity : AbsBaseActivity(), BillingProcessor.IBillingH
setupToolbar()
billingProcessor = BillingProcessor(this, BuildConfig.GOOGLE_PLAY_LICENSING_KEY, this)
- TintHelper.setTint(binding.progress, ThemeStore.accentColor(this))
- binding.donation.setTextColor(ThemeStore.accentColor(this))
+ TintHelper.setTint(binding.progress, accentColor())
+ binding.donation.setTextColor(accentColor())
}
private fun setupToolbar() {
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 e3d6644f1..9ae3c043f 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
@@ -5,7 +5,6 @@ import android.content.pm.PackageManager
import android.graphics.Color
import android.os.Bundle
import androidx.core.widget.NestedScrollView
-import code.name.monkey.appthemehelper.ThemeStore.Companion.accentColor
import code.name.monkey.appthemehelper.util.ATHUtil.isWindowBackgroundDark
import code.name.monkey.appthemehelper.util.ColorUtil.isColorLight
import code.name.monkey.appthemehelper.util.ColorUtil.lightenColor
@@ -14,12 +13,8 @@ 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.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.extensions.*
import code.name.monkey.retromusic.util.PreferenceUtil.lastVersion
-import code.name.monkey.retromusic.util.RetroUtil
import java.io.BufferedReader
import java.io.InputStreamReader
import java.nio.charset.StandardCharsets
@@ -45,13 +40,13 @@ class WhatsNewActivity : AbsThemeActivity() {
// Inject color values for WebView body background and links
val isDark = isWindowBackgroundDark(this)
- val accentColor = accentColor(this)
+ val accentColor = accentColor()
val backgroundColor = colorToCSS(
surfaceColor(Color.parseColor(if (isDark) "#424242" else "#ffffff"))
)
val contentColor = colorToCSS(Color.parseColor(if (isDark) "#ffffff" else "#000000"))
val textColor = colorToCSS(Color.parseColor(if (isDark) "#60FFFFFF" else "#80000000"))
- val accentColorString = colorToCSS(accentColor(this))
+ val accentColorString = colorToCSS(accentColor())
val cardBackgroundColor =
colorToCSS(Color.parseColor(if (isDark) "#353535" else "#ffffff"))
val accentTextColor = colorToCSS(
@@ -64,11 +59,11 @@ class WhatsNewActivity : AbsThemeActivity() {
"{style-placeholder}",
"body { background-color: $backgroundColor; color: $contentColor; } li {color: $textColor;} h3 {color: $accentColorString;} .tag {background-color: $accentColorString; color: $accentTextColor; } div{background-color: $cardBackgroundColor;}"
)
- .replace("{link-color}", colorToCSS(accentColor(this)))
+ .replace("{link-color}", colorToCSS(accentColor()))
.replace(
"{link-color-active}",
colorToCSS(
- lightenColor(accentColor(this))
+ lightenColor(accentColor())
)
)
binding.webView.loadData(changeLog, "text/html", "UTF-8")
@@ -79,10 +74,7 @@ class WhatsNewActivity : AbsThemeActivity() {
}
setChangelogRead(this)
binding.tgFab.setOnClickListener {
- RetroUtil.openUrl(
- this,
- Constants.TELEGRAM_CHANGE_LOG
- )
+ openUrl(Constants.TELEGRAM_CHANGE_LOG)
}
binding.tgFab.accentColor()
binding.tgFab.shrink()
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 fa29c98fb..30f8cb241 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
@@ -29,9 +29,9 @@ import android.view.inputmethod.InputMethodManager
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 code.name.monkey.retromusic.extensions.accentColor
import com.google.android.material.snackbar.Snackbar
abstract class AbsBaseActivity : AbsThemeActivity() {
@@ -126,24 +126,25 @@ abstract class AbsBaseActivity : AbsThemeActivity() {
Snackbar.LENGTH_INDEFINITE
)
.setAction(R.string.action_grant) { requestPermissions() }
- .setActionTextColor(ThemeStore.accentColor(this)).show()
+ .setActionTextColor(accentColor()).show()
} else {
// User has deny permission and checked never show permission dialog so you can redirect to Application settings page
Snackbar.make(
snackBarContainer,
permissionDeniedMessage!!,
Snackbar.LENGTH_INDEFINITE
- ).setAction(R.string.action_settings) {
- val intent = Intent()
- intent.action = Settings.ACTION_APPLICATION_DETAILS_SETTINGS
- val uri = Uri.fromParts(
- "package",
- this@AbsBaseActivity.packageName,
- null
- )
- intent.data = uri
- startActivity(intent)
- }.setActionTextColor(ThemeStore.accentColor(this)).show()
+ )
+ .setAction(R.string.action_settings) {
+ val intent = Intent()
+ intent.action = Settings.ACTION_APPLICATION_DETAILS_SETTINGS
+ val uri = Uri.fromParts(
+ "package",
+ this@AbsBaseActivity.packageName,
+ null
+ )
+ intent.data = uri
+ startActivity(intent)
+ }.setActionTextColor(accentColor()).show()
}
return
}
@@ -156,6 +157,7 @@ abstract class AbsBaseActivity : AbsThemeActivity() {
companion object {
const val PERMISSION_REQUEST = 100
}
+
// this lets keyboard close when clicked in backgroud
override fun dispatchTouchEvent(event: MotionEvent): Boolean {
if (event.action == MotionEvent.ACTION_DOWN) {
@@ -165,7 +167,10 @@ abstract class AbsBaseActivity : AbsThemeActivity() {
v.getGlobalVisibleRect(outRect)
if (!outRect.contains(event.rawX.toInt(), event.rawY.toInt())) {
v.clearFocus()
- getSystemService()?.hideSoftInputFromWindow(v.windowToken, 0)
+ getSystemService()?.hideSoftInputFromWindow(
+ v.windowToken,
+ 0
+ )
}
}
}
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 d5157bc2b..360bb3853 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
@@ -4,7 +4,7 @@ import android.os.Bundle
import android.view.ViewStub
import code.name.monkey.retromusic.R
import code.name.monkey.retromusic.cast.CastHelper
-import code.name.monkey.retromusic.cast.RetroSessionManager
+import code.name.monkey.retromusic.cast.RetroSessionManagerListener
import code.name.monkey.retromusic.cast.RetroWebServer
import code.name.monkey.retromusic.helper.MusicPlayerRemote
import com.google.android.gms.cast.framework.CastContext
@@ -22,7 +22,7 @@ abstract class AbsCastActivity : AbsSlidingMusicPanelActivity() {
private var playServicesAvailable: Boolean = false
private val sessionManagerListener by lazy {
- object : RetroSessionManager {
+ object : RetroSessionManagerListener {
override fun onSessionStarting(castSession: CastSession) {
invalidateOptionsMenu()
webServer = RetroWebServer.getInstance(this@AbsCastActivity)
@@ -88,7 +88,7 @@ abstract class AbsCastActivity : AbsSlidingMusicPanelActivity() {
}
private fun setupCast() {
- sessionManager = CastContext.getSharedInstance(applicationContext).sessionManager
+ sessionManager = CastContext.getSharedInstance(this).sessionManager
}
override fun onResume() {
@@ -104,9 +104,15 @@ abstract class AbsCastActivity : AbsSlidingMusicPanelActivity() {
super.onResume()
}
- override fun onStop() {
- super.onStop()
- mCastSession = null
+ override fun onPause() {
+ super.onPause()
+ if (playServicesAvailable) {
+ sessionManager.removeSessionManagerListener(
+ sessionManagerListener,
+ CastSession::class.java
+ )
+ mCastSession = null
+ }
}
private fun songChanged(position: Int) {
diff --git a/app/src/main/java/code/name/monkey/retromusic/activities/bugreport/BugReportActivity.kt b/app/src/main/java/code/name/monkey/retromusic/activities/bugreport/BugReportActivity.kt
index 4bf23f402..98ccc4356 100644
--- a/app/src/main/java/code/name/monkey/retromusic/activities/bugreport/BugReportActivity.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/activities/bugreport/BugReportActivity.kt
@@ -26,7 +26,6 @@ import androidx.annotation.StringRes
import androidx.core.content.getSystemService
import androidx.core.net.toUri
import androidx.lifecycle.lifecycleScope
-import code.name.monkey.appthemehelper.ThemeStore
import code.name.monkey.appthemehelper.util.MaterialUtil
import code.name.monkey.appthemehelper.util.TintHelper
import code.name.monkey.appthemehelper.util.ToolbarContentTintHelper
@@ -38,6 +37,7 @@ import code.name.monkey.retromusic.activities.bugreport.model.github.ExtraInfo
import code.name.monkey.retromusic.activities.bugreport.model.github.GithubLogin
import code.name.monkey.retromusic.activities.bugreport.model.github.GithubTarget
import code.name.monkey.retromusic.databinding.ActivityBugReportBinding
+import code.name.monkey.retromusic.extensions.accentColor
import code.name.monkey.retromusic.extensions.setTaskDescriptionColorAuto
import com.google.android.material.dialog.MaterialAlertDialogBuilder
import com.google.android.material.floatingactionbutton.FloatingActionButton
@@ -87,7 +87,7 @@ open class BugReportActivity : AbsThemeActivity() {
}
private fun initViews() {
- val accentColor = ThemeStore.accentColor(this)
+ val accentColor = accentColor()
setSupportActionBar(binding.toolbar)
ToolbarContentTintHelper.colorBackButton(binding.toolbar)
supportActionBar?.setDisplayHomeAsUpEnabled(true)
@@ -314,6 +314,7 @@ open class BugReportActivity : AbsThemeActivity() {
private const val STATUS_BAD_CREDENTIALS = 401
private const val STATUS_ISSUES_NOT_ENABLED = 410
- private const val ISSUE_TRACKER_LINK = "https://github.com/RetroMusicPlayer/RetroMusicPlayer"
+ private const val ISSUE_TRACKER_LINK =
+ "https://github.com/RetroMusicPlayer/RetroMusicPlayer"
}
}
diff --git a/app/src/main/java/code/name/monkey/retromusic/activities/tageditor/AbsTagEditorActivity.kt b/app/src/main/java/code/name/monkey/retromusic/activities/tageditor/AbsTagEditorActivity.kt
index 8cf8cbd40..6588e80bc 100755
--- a/app/src/main/java/code/name/monkey/retromusic/activities/tageditor/AbsTagEditorActivity.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/activities/tageditor/AbsTagEditorActivity.kt
@@ -41,6 +41,7 @@ import code.name.monkey.retromusic.R.drawable
import code.name.monkey.retromusic.activities.base.AbsBaseActivity
import code.name.monkey.retromusic.activities.saf.SAFGuideActivity
import code.name.monkey.retromusic.extensions.accentColor
+import code.name.monkey.retromusic.extensions.hideSoftKeyboard
import code.name.monkey.retromusic.extensions.setTaskDescriptionColorAuto
import code.name.monkey.retromusic.model.ArtworkInfo
import code.name.monkey.retromusic.model.AudioTagInfo
@@ -346,7 +347,7 @@ abstract class AbsTagEditorActivity : AbsBaseActivity() {
fieldKeyValueMap: Map,
artworkInfo: ArtworkInfo?
) {
- RetroUtil.hideSoftKeyboard(this)
+ hideSoftKeyboard()
hideFab()
println(fieldKeyValueMap)
diff --git a/app/src/main/java/code/name/monkey/retromusic/adapter/ContributorAdapter.kt b/app/src/main/java/code/name/monkey/retromusic/adapter/ContributorAdapter.kt
index 28719c962..de7226b5c 100644
--- a/app/src/main/java/code/name/monkey/retromusic/adapter/ContributorAdapter.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/adapter/ContributorAdapter.kt
@@ -14,15 +14,14 @@
*/
package code.name.monkey.retromusic.adapter
-import android.app.Activity
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.TextView
import androidx.recyclerview.widget.RecyclerView
import code.name.monkey.retromusic.R
+import code.name.monkey.retromusic.extensions.openUrl
import code.name.monkey.retromusic.model.Contributor
-import code.name.monkey.retromusic.util.RetroUtil.openUrl
import code.name.monkey.retromusic.views.RetroShapeableImageView
import com.bumptech.glide.Glide
@@ -65,7 +64,7 @@ class ContributorAdapter(
val contributor = contributors[position]
holder.bindData(contributor)
holder.itemView.setOnClickListener {
- openUrl(it?.context as Activity, contributors[position].link)
+ it?.context?.openUrl(contributors[position].link)
}
}
diff --git a/app/src/main/java/code/name/monkey/retromusic/adapter/album/AlbumAdapter.kt b/app/src/main/java/code/name/monkey/retromusic/adapter/album/AlbumAdapter.kt
index ade999edc..edba4cb32 100644
--- a/app/src/main/java/code/name/monkey/retromusic/adapter/album/AlbumAdapter.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/adapter/album/AlbumAdapter.kt
@@ -91,9 +91,9 @@ open class AlbumAdapter(
// Check if imageContainer exists so we can have a smooth transition without
// CardView clipping, if it doesn't exist in current layout set transition name to image instead.
if (holder.imageContainer != null) {
- holder.imageContainer!!.setTransitionName(album.id.toString())
+ holder.imageContainer?.transitionName = album.id.toString()
} else {
- holder.image!!.setTransitionName(album.id.toString())
+ holder.image?.transitionName = album.id.toString()
}
loadAlbumCover(album, holder)
}
diff --git a/app/src/main/java/code/name/monkey/retromusic/adapter/album/AlbumCoverPagerAdapter.kt b/app/src/main/java/code/name/monkey/retromusic/adapter/album/AlbumCoverPagerAdapter.kt
index a568ad12d..7d0f1bd4d 100644
--- a/app/src/main/java/code/name/monkey/retromusic/adapter/album/AlbumCoverPagerAdapter.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/adapter/album/AlbumCoverPagerAdapter.kt
@@ -85,7 +85,6 @@ class AlbumCoverPagerAdapter(
class AlbumCoverFragment : Fragment() {
- private lateinit var albumCover: ImageView
private var isColorReady: Boolean = false
private lateinit var color: MediaNotificationProcessor
private lateinit var song: Song
@@ -106,8 +105,6 @@ class AlbumCoverPagerAdapter(
savedInstanceState: Bundle?
): View? {
val view = inflater.inflate(getLayoutWithPlayerTheme(), container, false)
- view.setTransitionName("lyrics")
- albumCover = view.findViewById(R.id.player_image)
view.setOnClickListener {
if (mainActivity.getBottomSheetBehavior().state == STATE_EXPANDED) {
showLyricsDialog()
@@ -158,7 +155,7 @@ class AlbumCoverPagerAdapter(
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
- loadAlbumCover()
+ loadAlbumCover(albumCover = view.findViewById(R.id.player_image))
}
override fun onDestroyView() {
@@ -166,7 +163,7 @@ class AlbumCoverPagerAdapter(
colorReceiver = null
}
- private fun loadAlbumCover() {
+ private fun loadAlbumCover(albumCover: ImageView) {
GlideApp.with(this).asBitmapPalette().songCoverOptions(song)
//.checkIgnoreMediaStore()
.load(RetroGlideExtension.getSongModel(song))
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 d896b1c73..6cb68af92 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
@@ -92,9 +92,9 @@ class ArtistAdapter(
val transitionName =
if (albumArtistsOnly) artist.name else artist.id.toString()
if (holder.imageContainer != null) {
- holder.imageContainer!!.setTransitionName(transitionName)
+ holder.imageContainer?.transitionName = transitionName
} else {
- holder.image!!.setTransitionName(transitionName)
+ holder.image?.transitionName = transitionName
}
loadArtistImage(artist, holder)
}
diff --git a/app/src/main/java/code/name/monkey/retromusic/adapter/playlist/PlaylistAdapter.kt b/app/src/main/java/code/name/monkey/retromusic/adapter/playlist/PlaylistAdapter.kt
index d039691ee..89122d125 100755
--- a/app/src/main/java/code/name/monkey/retromusic/adapter/playlist/PlaylistAdapter.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/adapter/playlist/PlaylistAdapter.kt
@@ -163,7 +163,7 @@ class PlaylistAdapter(
if (isInQuickSelectMode) {
toggleChecked(layoutPosition)
} else {
- itemView.setTransitionName("playlist")
+ itemView.transitionName = "playlist"
listener.onPlaylistClick(dataSet[layoutPosition], itemView)
}
}
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 cf365c84a..7bbc955be 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
@@ -1,3 +1,5 @@
+@file:Suppress("unused")
+
package code.name.monkey.retromusic.cast
import android.content.Context
diff --git a/app/src/main/java/code/name/monkey/retromusic/cast/RetroSessionManager.kt b/app/src/main/java/code/name/monkey/retromusic/cast/RetroSessionManagerListener.kt
similarity index 85%
rename from app/src/main/java/code/name/monkey/retromusic/cast/RetroSessionManager.kt
rename to app/src/main/java/code/name/monkey/retromusic/cast/RetroSessionManagerListener.kt
index 69bc45348..32817ab40 100644
--- a/app/src/main/java/code/name/monkey/retromusic/cast/RetroSessionManager.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/cast/RetroSessionManagerListener.kt
@@ -3,7 +3,7 @@ package code.name.monkey.retromusic.cast
import com.google.android.gms.cast.framework.CastSession
import com.google.android.gms.cast.framework.SessionManagerListener
-interface RetroSessionManager : SessionManagerListener {
+interface RetroSessionManagerListener : SessionManagerListener {
override fun onSessionResuming(p0: CastSession, p1: String) {
}
diff --git a/app/src/main/java/code/name/monkey/retromusic/cast/RetroWebServer.kt b/app/src/main/java/code/name/monkey/retromusic/cast/RetroWebServer.kt
index faee38b2e..d6a938009 100644
--- a/app/src/main/java/code/name/monkey/retromusic/cast/RetroWebServer.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/cast/RetroWebServer.kt
@@ -26,15 +26,9 @@ class RetroWebServer(val context: Context) : NanoHTTPD(SERVER_PORT) {
}
}
- override fun serve(
- uri: String?,
- method: Method?,
- headers: MutableMap?,
- parms: MutableMap?,
- files: MutableMap?
- ): Response {
- if (uri?.contains(PART_COVER_ART) == true) {
- val albumId = parms?.get(PARAM_ID) ?: return errorResponse()
+ override fun serve(session: IHTTPSession?): Response {
+ if (session?.uri?.contains(PART_COVER_ART) == true) {
+ val albumId = session.parameters?.get(PARAM_ID)?.get(0) ?: return errorResponse()
val albumArtUri = MusicUtil.getMediaStoreAlbumCoverUri(albumId.toLong())
val fis: InputStream?
try {
@@ -43,12 +37,12 @@ class RetroWebServer(val context: Context) : NanoHTTPD(SERVER_PORT) {
return errorResponse()
}
return newChunkedResponse(Status.OK, MIME_TYPE_IMAGE, fis)
- } else if (uri?.contains(PART_SONG) == true) {
- val songId = parms?.get(PARAM_ID) ?: return errorResponse()
+ } else if (session?.uri?.contains(PART_SONG) == true) {
+ val songId = session.parameters?.get(PARAM_ID)?.get(0) ?: return errorResponse()
val songUri = MusicUtil.getSongFileUri(songId.toLong())
val songPath = MusicUtil.getSongFilePath(context, songUri)
val song = File(songPath)
- return serveFile(headers!!, song, MIME_TYPE_AUDIO)
+ return serveFile(session.headers!!, song, MIME_TYPE_AUDIO)
}
return newFixedLengthResponse(Status.NOT_FOUND, MIME_PLAINTEXT, "Not Found")
}
diff --git a/app/src/main/java/code/name/monkey/retromusic/dialogs/RenamePlaylistDialog.kt b/app/src/main/java/code/name/monkey/retromusic/dialogs/RenamePlaylistDialog.kt
index 79b7d2501..18a3ab714 100644
--- a/app/src/main/java/code/name/monkey/retromusic/dialogs/RenamePlaylistDialog.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/dialogs/RenamePlaylistDialog.kt
@@ -16,7 +16,6 @@ package code.name.monkey.retromusic.dialogs
import android.app.Dialog
import android.os.Bundle
-import android.view.LayoutInflater
import androidx.core.os.bundleOf
import androidx.fragment.app.DialogFragment
import code.name.monkey.retromusic.EXTRA_PLAYLIST_ID
@@ -48,7 +47,7 @@ class RenamePlaylistDialog : DialogFragment() {
override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
val playlistEntity = extraNotNull(EXTRA_PLAYLIST_ID).value
- val layout = LayoutInflater.from(requireContext()).inflate(R.layout.dialog_playlist, null)
+ val layout = layoutInflater.inflate(R.layout.dialog_playlist, null)
val inputEditText: TextInputEditText = layout.findViewById(R.id.actionNewPlaylist)
val nameContainer: TextInputLayout = layout.findViewById(R.id.actionNewPlaylistContainer)
nameContainer.accentColor()
diff --git a/app/src/main/java/code/name/monkey/retromusic/dialogs/SongDetailDialog.kt b/app/src/main/java/code/name/monkey/retromusic/dialogs/SongDetailDialog.kt
index 339996d5b..20e2b2566 100644
--- a/app/src/main/java/code/name/monkey/retromusic/dialogs/SongDetailDialog.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/dialogs/SongDetailDialog.kt
@@ -19,60 +19,51 @@ import android.content.Context
import android.os.Bundle
import android.text.Spanned
import android.util.Log
-import android.view.LayoutInflater
-import android.widget.TextView
-import androidx.annotation.NonNull
import androidx.core.os.bundleOf
import androidx.core.text.parseAsHtml
import androidx.fragment.app.DialogFragment
import code.name.monkey.retromusic.EXTRA_SONG
import code.name.monkey.retromusic.R
+import code.name.monkey.retromusic.databinding.DialogFileDetailsBinding
import code.name.monkey.retromusic.extensions.colorButtons
import code.name.monkey.retromusic.extensions.materialDialog
import code.name.monkey.retromusic.model.Song
import code.name.monkey.retromusic.util.MusicUtil
import org.jaudiotagger.audio.AudioFileIO
import org.jaudiotagger.audio.exceptions.CannotReadException
-import org.jaudiotagger.audio.exceptions.InvalidAudioFrameException
-import org.jaudiotagger.audio.exceptions.ReadOnlyFileException
-import org.jaudiotagger.tag.TagException
import java.io.File
-import java.io.IOException
class SongDetailDialog : DialogFragment() {
override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
val context: Context = requireContext()
- val dialogView = LayoutInflater.from(context).inflate(R.layout.dialog_file_details, null)
+ val binding = DialogFileDetailsBinding.inflate(layoutInflater)
val song = requireArguments().getParcelable(EXTRA_SONG)
- val fileName: TextView = dialogView.findViewById(R.id.fileName)
- val filePath: TextView = dialogView.findViewById(R.id.filePath)
- val fileSize: TextView = dialogView.findViewById(R.id.fileSize)
- val dateModified: TextView = dialogView.findViewById(R.id.dateModified)
- val fileFormat: TextView = dialogView.findViewById(R.id.fileFormat)
- val trackLength: TextView = dialogView.findViewById(R.id.trackLength)
- val bitRate: TextView = dialogView.findViewById(R.id.bitrate)
- val samplingRate: TextView = dialogView.findViewById(R.id.samplingRate)
+ with(binding) {
+ fileName.text = makeTextWithTitle(context, R.string.label_file_name, "-")
+ filePath.text = makeTextWithTitle(context, R.string.label_file_path, "-")
+ fileSize.text = makeTextWithTitle(context, R.string.label_file_size, "-")
+ fileFormat.text = makeTextWithTitle(context, R.string.label_file_format, "-")
+ trackLength.text = makeTextWithTitle(context, R.string.label_track_length, "-")
+ bitrate.text = makeTextWithTitle(context, R.string.label_bit_rate, "-")
+ samplingRate.text = makeTextWithTitle(context, R.string.label_sampling_rate, "-")
+ }
- fileName.text = makeTextWithTitle(context, R.string.label_file_name, "-")
- filePath.text = makeTextWithTitle(context, R.string.label_file_path, "-")
- fileSize.text = makeTextWithTitle(context, R.string.label_file_size, "-")
- fileFormat.text = makeTextWithTitle(context, R.string.label_file_format, "-")
- trackLength.text = makeTextWithTitle(context, R.string.label_track_length, "-")
- bitRate.text = makeTextWithTitle(context, R.string.label_bit_rate, "-")
- samplingRate.text = makeTextWithTitle(context, R.string.label_sampling_rate, "-")
if (song != null) {
val songFile = File(song.data)
if (songFile.exists()) {
- fileName.text = makeTextWithTitle(context, R.string.label_file_name, songFile.name)
- filePath.text =
+ binding.fileName.text =
+ makeTextWithTitle(context, R.string.label_file_name, songFile.name)
+ binding.filePath.text =
makeTextWithTitle(context, R.string.label_file_path, songFile.absolutePath)
- dateModified.text = makeTextWithTitle(context, R.string.label_last_modified,
- MusicUtil.getDateModifiedString(songFile.lastModified()))
+ binding.dateModified.text = makeTextWithTitle(
+ context, R.string.label_last_modified,
+ MusicUtil.getDateModifiedString(songFile.lastModified())
+ )
- fileSize.text =
+ binding.fileSize.text =
makeTextWithTitle(
context,
R.string.label_file_size,
@@ -82,56 +73,28 @@ class SongDetailDialog : DialogFragment() {
val audioFile = AudioFileIO.read(songFile)
val audioHeader = audioFile.audioHeader
- fileFormat.text =
+ binding.fileFormat.text =
makeTextWithTitle(context, R.string.label_file_format, audioHeader.format)
- trackLength.text = makeTextWithTitle(
+ binding.trackLength.text = makeTextWithTitle(
context,
R.string.label_track_length,
MusicUtil.getReadableDurationString((audioHeader.trackLength * 1000).toLong())
)
- bitRate.text = makeTextWithTitle(
+ binding.bitrate.text = makeTextWithTitle(
context,
R.string.label_bit_rate,
audioHeader.bitRate + " kb/s"
)
- samplingRate.text =
+ binding.samplingRate.text =
makeTextWithTitle(
context,
R.string.label_sampling_rate,
audioHeader.sampleRate + " Hz"
)
- } catch (@NonNull e: CannotReadException) {
+ } catch (e: Exception) {
Log.e(TAG, "error while reading the song file", e)
// fallback
- trackLength.text = makeTextWithTitle(
- context,
- R.string.label_track_length,
- MusicUtil.getReadableDurationString(song.duration)
- )
- } catch (@NonNull e: IOException) {
- Log.e(TAG, "error while reading the song file", e)
- trackLength.text = makeTextWithTitle(
- context,
- R.string.label_track_length,
- MusicUtil.getReadableDurationString(song.duration)
- )
- } catch (@NonNull e: TagException) {
- Log.e(TAG, "error while reading the song file", e)
- trackLength.text = makeTextWithTitle(
- context,
- R.string.label_track_length,
- MusicUtil.getReadableDurationString(song.duration)
- )
- } catch (@NonNull e: ReadOnlyFileException) {
- Log.e(TAG, "error while reading the song file", e)
- trackLength.text = makeTextWithTitle(
- context,
- R.string.label_track_length,
- MusicUtil.getReadableDurationString(song.duration)
- )
- } catch (@NonNull e: InvalidAudioFrameException) {
- Log.e(TAG, "error while reading the song file", e)
- trackLength.text = makeTextWithTitle(
+ binding.trackLength.text = makeTextWithTitle(
context,
R.string.label_track_length,
MusicUtil.getReadableDurationString(song.duration)
@@ -139,8 +102,9 @@ class SongDetailDialog : DialogFragment() {
}
} else {
// fallback
- fileName.text = makeTextWithTitle(context, R.string.label_file_name, song.title)
- trackLength.text = makeTextWithTitle(
+ binding.fileName.text =
+ makeTextWithTitle(context, R.string.label_file_name, song.title)
+ binding.trackLength.text = makeTextWithTitle(
context,
R.string.label_track_length,
MusicUtil.getReadableDurationString(song.duration)
@@ -149,7 +113,7 @@ class SongDetailDialog : DialogFragment() {
}
return materialDialog(R.string.action_details)
.setPositiveButton(android.R.string.ok, null)
- .setView(dialogView)
+ .setView(binding.root)
.create()
.colorButtons()
}
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 60b90f6a4..c4a5c7ee8 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
@@ -6,7 +6,9 @@ import android.os.Build
import android.view.View
import android.view.View.SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR
import android.view.WindowManager
+import android.view.inputmethod.InputMethodManager
import androidx.appcompat.app.AppCompatActivity
+import androidx.core.content.getSystemService
import androidx.core.view.*
import androidx.fragment.app.FragmentActivity
import code.name.monkey.appthemehelper.util.ColorUtil
@@ -221,4 +223,13 @@ fun AppCompatActivity.setStatusBarColorPreMarshmallow(color: Int) {
} else {
window.statusBarColor = ColorUtil.darkenColor(color)
}
+}
+
+fun AppCompatActivity.hideSoftKeyboard() {
+ val currentFocus: View? = currentFocus
+ if (currentFocus != null) {
+ val inputMethodManager =
+ getSystemService()
+ inputMethodManager?.hideSoftInputFromWindow(currentFocus.windowToken, 0)
+ }
}
\ No newline at end of file
diff --git a/app/src/main/java/code/name/monkey/retromusic/extensions/ColorExtensions.kt b/app/src/main/java/code/name/monkey/retromusic/extensions/ColorExtensions.kt
index c31a3e675..11f407290 100644
--- a/app/src/main/java/code/name/monkey/retromusic/extensions/ColorExtensions.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/extensions/ColorExtensions.kt
@@ -131,12 +131,12 @@ fun Slider.accent() {
fun Button.accentTextColor() {
if (materialYou) return
- setTextColor(ThemeStore.accentColor(App.getContext()))
+ setTextColor(context.accentColor())
}
fun MaterialButton.accentBackgroundColor() {
if (materialYou) return
- backgroundTintList = ColorStateList.valueOf(ThemeStore.accentColor(App.getContext()))
+ backgroundTintList = ColorStateList.valueOf(context.accentColor())
}
fun MaterialButton.accentOutlineColor() {
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 1d7f25cab..e91e81347 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
@@ -1,10 +1,12 @@
package code.name.monkey.retromusic.extensions
import android.app.Activity
+import android.content.Context
import android.content.Intent
import android.net.Uri
import androidx.activity.result.ActivityResult
import androidx.activity.result.contract.ActivityResultContracts
+import androidx.core.net.toUri
import androidx.fragment.app.Fragment
import java.io.OutputStream
@@ -29,4 +31,16 @@ fun Fragment.createNewFile(
}
startForResult.launch(intent)
+}
+
+fun Context.openUrl(url: String) {
+ val i = Intent(Intent.ACTION_VIEW)
+ i.data = url.toUri()
+ i.flags = Intent.FLAG_ACTIVITY_NEW_TASK
+ startActivity(i)
+}
+
+
+fun Fragment.openUrl(url: String) {
+ requireContext().openUrl(url)
}
\ No newline at end of file
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 116dba855..d6c439905 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
@@ -14,12 +14,10 @@
*/
package code.name.monkey.retromusic.fragments.about
-import android.content.Intent
import android.content.pm.PackageManager
import android.os.Bundle
import android.view.View
import androidx.core.app.ShareCompat
-import androidx.core.net.toUri
import androidx.core.view.updatePadding
import androidx.fragment.app.Fragment
import androidx.recyclerview.widget.DefaultItemAnimator
@@ -29,6 +27,7 @@ import code.name.monkey.retromusic.Constants
import code.name.monkey.retromusic.R
import code.name.monkey.retromusic.adapter.ContributorAdapter
import code.name.monkey.retromusic.databinding.FragmentAboutBinding
+import code.name.monkey.retromusic.extensions.openUrl
import code.name.monkey.retromusic.fragments.LibraryViewModel
import code.name.monkey.retromusic.util.NavigationUtil
import code.name.monkey.retromusic.util.RetroUtil
@@ -53,13 +52,6 @@ class AboutFragment : Fragment(R.layout.fragment_about), View.OnClickListener {
}
}
- private fun openUrl(url: String) {
- val i = Intent(Intent.ACTION_VIEW)
- i.data = url.toUri()
- i.flags = Intent.FLAG_ACTIVITY_NEW_TASK
- startActivity(i)
- }
-
private fun setUpView() {
binding.aboutContent.cardRetroInfo.appGithub.setOnClickListener(this)
binding.aboutContent.cardRetroInfo.faqLink.setOnClickListener(this)
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 72b54775c..2014bf33f 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
@@ -117,7 +117,7 @@ class AlbumDetailsFragment : AbsMainActivityFragment(R.layout.fragment_album_det
mainActivity.setSupportActionBar(binding.toolbar)
binding.toolbar.title = " "
- binding.albumCoverContainer.setTransitionName(arguments.extraAlbumId.toString())
+ binding.albumCoverContainer.transitionName = arguments.extraAlbumId.toString()
postponeEnterTransition()
detailsViewModel.getAlbum().observe(viewLifecycleOwner) {
requireView().doOnPreDraw {
@@ -125,10 +125,10 @@ class AlbumDetailsFragment : AbsMainActivityFragment(R.layout.fragment_album_det
}
albumArtistExists = !it.albumArtist.isNullOrEmpty()
showAlbum(it)
- if (albumArtistExists) {
- binding.artistImage.setTransitionName(album.albumArtist)
+ binding.artistImage.transitionName = if (albumArtistExists) {
+ album.albumArtist
} else {
- binding.artistImage.setTransitionName(album.artistId.toString())
+ album.artistId.toString()
}
}
@@ -308,7 +308,7 @@ class AlbumDetailsFragment : AbsMainActivityFragment(R.layout.fragment_album_det
.load(
RetroGlideExtension.getArtistModel(
artist,
- PreferenceUtil.isAllowedToDownloadMetadata()
+ PreferenceUtil.isAllowedToDownloadMetadata(requireContext())
)
)
.artistImageOptions(artist)
diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/artists/AbsArtistDetailsFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/artists/AbsArtistDetailsFragment.kt
index f0d0c7f75..16537d90b 100644
--- a/app/src/main/java/code/name/monkey/retromusic/fragments/artists/AbsArtistDetailsFragment.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/fragments/artists/AbsArtistDetailsFragment.kt
@@ -88,7 +88,7 @@ abstract class AbsArtistDetailsFragment : AbsMainActivityFragment(R.layout.fragm
mainActivity.addMusicServiceEventListener(detailsViewModel)
mainActivity.setSupportActionBar(binding.toolbar)
binding.toolbar.title = null
- binding.artistCoverContainer.setTransitionName((artistId ?: artistName).toString())
+ binding.artistCoverContainer.transitionName = (artistId ?: artistName).toString()
postponeEnterTransition()
detailsViewModel.getArtist().observe(viewLifecycleOwner) {
requireView().doOnPreDraw {
@@ -146,7 +146,7 @@ abstract class AbsArtistDetailsFragment : AbsMainActivityFragment(R.layout.fragm
}
this.artist = artist
loadArtistImage(artist)
- if (RetroUtil.isAllowedToDownloadMetadata(requireContext())) {
+ if (PreferenceUtil.isAllowedToDownloadMetadata(requireContext())) {
loadBiography(artist.name)
}
binding.artistTitle.text = artist.name
diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/backup/BackupViewModel.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/backup/BackupViewModel.kt
index fa6b299a9..f3b67abec 100644
--- a/app/src/main/java/code/name/monkey/retromusic/fragments/backup/BackupViewModel.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/fragments/backup/BackupViewModel.kt
@@ -1,7 +1,6 @@
package code.name.monkey.retromusic.fragments.backup
import android.app.Activity
-import android.content.Context
import android.content.Intent
import androidx.lifecycle.LiveData
import androidx.lifecycle.MutableLiveData
diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/base/AbsPlayerControlsFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/base/AbsPlayerControlsFragment.kt
index 5bb7bdbbe..4d3a63875 100644
--- a/app/src/main/java/code/name/monkey/retromusic/fragments/base/AbsPlayerControlsFragment.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/fragments/base/AbsPlayerControlsFragment.kt
@@ -30,6 +30,7 @@ import androidx.core.view.isVisible
import androidx.fragment.app.commit
import androidx.fragment.app.replace
import code.name.monkey.retromusic.R
+import code.name.monkey.retromusic.extensions.whichFragment
import code.name.monkey.retromusic.fragments.MusicSeekSkipTouchListener
import code.name.monkey.retromusic.fragments.other.VolumeFragment
import code.name.monkey.retromusic.helper.MusicPlayerRemote
@@ -224,8 +225,7 @@ abstract class AbsPlayerControlsFragment(@LayoutRes layout: Int) : AbsMusicServi
}
childFragmentManager.executePendingTransactions()
}
- volumeFragment =
- childFragmentManager.findFragmentById(R.id.volumeFragmentContainer) as? VolumeFragment
+ volumeFragment = whichFragment(R.id.volumeFragmentContainer)
}
override fun onResume() {
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 3dd8fd76a..845b32583 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
@@ -359,15 +359,6 @@ abstract class AbsPlayerFragment(@LayoutRes layout: Int) : AbsMainActivityFragme
val TAG: String = AbsPlayerFragment::class.java.simpleName
const val VISIBILITY_ANIM_DURATION: Long = 300
}
-
- protected fun getUpNextAndQueueTime(): String {
- val duration = MusicPlayerRemote.getQueueDurationMillis(MusicPlayerRemote.position)
-
- return MusicUtil.buildInfoString(
- resources.getString(R.string.up_next),
- MusicUtil.getReadableDurationString(duration)
- )
- }
}
fun goToArtist(activity: Activity) {
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 dd108ee6a..06f94065b 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
@@ -56,7 +56,7 @@ class GenreDetailsFragment : AbsMainActivityFragment(R.layout.fragment_playlist_
setHasOptionsMenu(true)
mainActivity.addMusicServiceEventListener(detailsViewModel)
mainActivity.setSupportActionBar(binding.toolbar)
- binding.container.setTransitionName("genre")
+ binding.container.transitionName = "genre"
genre = arguments.extraGenre
binding.toolbar.title = arguments.extraGenre.name
setupRecyclerView()
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 e64fbfab6..099c0b9b4 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
@@ -40,10 +40,7 @@ import code.name.monkey.retromusic.activities.tageditor.TagWriter
import code.name.monkey.retromusic.databinding.FragmentLyricsBinding
import code.name.monkey.retromusic.databinding.FragmentNormalLyricsBinding
import code.name.monkey.retromusic.databinding.FragmentSyncedLyricsBinding
-import code.name.monkey.retromusic.extensions.accentColor
-import code.name.monkey.retromusic.extensions.materialDialog
-import code.name.monkey.retromusic.extensions.textColorSecondary
-import code.name.monkey.retromusic.extensions.uri
+import code.name.monkey.retromusic.extensions.*
import code.name.monkey.retromusic.fragments.base.AbsMusicServiceFragment
import code.name.monkey.retromusic.helper.MusicPlayerRemote
import code.name.monkey.retromusic.helper.MusicProgressViewUpdateHelper
@@ -52,7 +49,6 @@ import code.name.monkey.retromusic.model.AudioTagInfo
import code.name.monkey.retromusic.model.Song
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
@@ -149,7 +145,7 @@ class LyricsFragment : AbsMusicServiceFragment(R.layout.fragment_lyrics) {
exitTransition = Fade()
lyricsSectionsAdapter = LyricsSectionsAdapter(requireActivity())
_binding = FragmentLyricsBinding.bind(view)
- binding.container.setTransitionName("lyrics")
+ binding.container.transitionName = "lyrics"
setupWakelock()
setupViews()
@@ -225,8 +221,7 @@ class LyricsFragment : AbsMusicServiceFragment(R.layout.fragment_lyrics) {
return true
}
if (item.itemId == R.id.action_search) {
- RetroUtil.openUrl(
- requireActivity(), when (binding.lyricsPager.currentItem) {
+ openUrl(when (binding.lyricsPager.currentItem) {
0 -> syairSearchLrcUrl
1 -> googleSearchLrcUrl
else -> googleSearchLrcUrl
diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/player/adaptive/AdaptiveFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/player/adaptive/AdaptiveFragment.kt
index c12ec2183..a67eadd9c 100644
--- a/app/src/main/java/code/name/monkey/retromusic/fragments/player/adaptive/AdaptiveFragment.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/fragments/player/adaptive/AdaptiveFragment.kt
@@ -48,9 +48,9 @@ class AdaptiveFragment : AbsPlayerFragment(R.layout.fragment_adaptive_player) {
private fun setUpSubFragments() {
playbackControlsFragment =
- childFragmentManager.findFragmentById(R.id.playbackControlsFragment) as AdaptivePlaybackControlsFragment
+ whichFragment(R.id.playbackControlsFragment) as AdaptivePlaybackControlsFragment
val playerAlbumCoverFragment =
- childFragmentManager.findFragmentById(R.id.playerAlbumCoverFragment) as PlayerAlbumCoverFragment
+ whichFragment(R.id.playerAlbumCoverFragment) as PlayerAlbumCoverFragment
playerAlbumCoverFragment.apply {
removeSlideEffect()
setCallbacks(this@AdaptiveFragment)
diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/player/blur/BlurPlayerFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/player/blur/BlurPlayerFragment.kt
index 675e85e4d..e784eff4b 100644
--- a/app/src/main/java/code/name/monkey/retromusic/fragments/player/blur/BlurPlayerFragment.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/fragments/player/blur/BlurPlayerFragment.kt
@@ -27,6 +27,7 @@ import code.name.monkey.retromusic.NEW_BLUR_AMOUNT
import code.name.monkey.retromusic.R
import code.name.monkey.retromusic.databinding.FragmentBlurBinding
import code.name.monkey.retromusic.extensions.drawAboveSystemBars
+import code.name.monkey.retromusic.extensions.whichFragment
import code.name.monkey.retromusic.fragments.base.AbsPlayerFragment
import code.name.monkey.retromusic.fragments.player.PlayerAlbumCoverFragment
import code.name.monkey.retromusic.glide.*
@@ -62,10 +63,9 @@ class BlurPlayerFragment : AbsPlayerFragment(R.layout.fragment_blur),
}
private fun setUpSubFragments() {
- playbackControlsFragment =
- childFragmentManager.findFragmentById(R.id.playbackControlsFragment) as BlurPlaybackControlsFragment
- val playerAlbumCoverFragment =
- childFragmentManager.findFragmentById(R.id.playerAlbumCoverFragment) as PlayerAlbumCoverFragment
+ playbackControlsFragment = whichFragment(R.id.playbackControlsFragment)
+ val playerAlbumCoverFragment: PlayerAlbumCoverFragment =
+ whichFragment(R.id.playerAlbumCoverFragment)
playerAlbumCoverFragment.setCallbacks(this)
}
diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/player/card/CardFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/player/card/CardFragment.kt
index 1a6c7acb7..cea1bf027 100644
--- a/app/src/main/java/code/name/monkey/retromusic/fragments/player/card/CardFragment.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/fragments/player/card/CardFragment.kt
@@ -22,6 +22,7 @@ import code.name.monkey.appthemehelper.util.ToolbarContentTintHelper
import code.name.monkey.retromusic.R
import code.name.monkey.retromusic.databinding.FragmentCardPlayerBinding
import code.name.monkey.retromusic.extensions.drawAboveSystemBars
+import code.name.monkey.retromusic.extensions.whichFragment
import code.name.monkey.retromusic.fragments.base.AbsPlayerFragment
import code.name.monkey.retromusic.fragments.player.PlayerAlbumCoverFragment
import code.name.monkey.retromusic.fragments.player.normal.PlayerFragment
@@ -87,10 +88,9 @@ class CardFragment : AbsPlayerFragment(R.layout.fragment_card_player) {
}
private fun setUpSubFragments() {
- playbackControlsFragment =
- childFragmentManager.findFragmentById(R.id.playbackControlsFragment) as CardPlaybackControlsFragment
- val playerAlbumCoverFragment =
- childFragmentManager.findFragmentById(R.id.playerAlbumCoverFragment) as PlayerAlbumCoverFragment
+ playbackControlsFragment = whichFragment(R.id.playbackControlsFragment)
+ val playerAlbumCoverFragment: PlayerAlbumCoverFragment =
+ whichFragment(R.id.playerAlbumCoverFragment)
playerAlbumCoverFragment.setCallbacks(this)
playerAlbumCoverFragment.removeSlideEffect()
}
@@ -117,14 +117,4 @@ class CardFragment : AbsPlayerFragment(R.layout.fragment_card_player) {
super.onDestroyView()
_binding = null
}
-
- companion object {
-
- fun newInstance(): PlayerFragment {
- val args = Bundle()
- val fragment = PlayerFragment()
- fragment.arguments = args
- return fragment
- }
- }
}
diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/player/cardblur/CardBlurFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/player/cardblur/CardBlurFragment.kt
index ef45e01ca..3a5265098 100644
--- a/app/src/main/java/code/name/monkey/retromusic/fragments/player/cardblur/CardBlurFragment.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/fragments/player/cardblur/CardBlurFragment.kt
@@ -26,6 +26,7 @@ import code.name.monkey.retromusic.NEW_BLUR_AMOUNT
import code.name.monkey.retromusic.R
import code.name.monkey.retromusic.databinding.FragmentCardBlurPlayerBinding
import code.name.monkey.retromusic.extensions.drawAboveSystemBars
+import code.name.monkey.retromusic.extensions.whichFragment
import code.name.monkey.retromusic.fragments.base.AbsPlayerFragment
import code.name.monkey.retromusic.fragments.player.PlayerAlbumCoverFragment
import code.name.monkey.retromusic.fragments.player.normal.PlayerFragment
@@ -98,8 +99,8 @@ class CardBlurFragment : AbsPlayerFragment(R.layout.fragment_card_blur_player),
private fun setUpSubFragments() {
playbackControlsFragment =
- childFragmentManager.findFragmentById(R.id.playbackControlsFragment) as CardBlurPlaybackControlsFragment
- (childFragmentManager.findFragmentById(R.id.playerAlbumCoverFragment) as PlayerAlbumCoverFragment?)?.setCallbacks(
+ whichFragment(R.id.playbackControlsFragment) as CardBlurPlaybackControlsFragment
+ (whichFragment(R.id.playerAlbumCoverFragment) as? PlayerAlbumCoverFragment)?.setCallbacks(
this
)
}
diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/player/classic/ClassicPlayerFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/player/classic/ClassicPlayerFragment.kt
index 6db36c55c..50520dc60 100644
--- a/app/src/main/java/code/name/monkey/retromusic/fragments/player/classic/ClassicPlayerFragment.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/fragments/player/classic/ClassicPlayerFragment.kt
@@ -35,10 +35,7 @@ import code.name.monkey.retromusic.R
import code.name.monkey.retromusic.RetroBottomSheetBehavior
import code.name.monkey.retromusic.adapter.song.PlayingQueueAdapter
import code.name.monkey.retromusic.databinding.FragmentClassicPlayerBinding
-import code.name.monkey.retromusic.extensions.getSongInfo
-import code.name.monkey.retromusic.extensions.hide
-import code.name.monkey.retromusic.extensions.show
-import code.name.monkey.retromusic.extensions.surfaceColor
+import code.name.monkey.retromusic.extensions.*
import code.name.monkey.retromusic.fragments.MusicSeekSkipTouchListener
import code.name.monkey.retromusic.fragments.base.AbsPlayerControlsFragment
import code.name.monkey.retromusic.fragments.base.AbsPlayerFragment
@@ -131,8 +128,7 @@ class ClassicPlayerFragment : AbsPlayerFragment(R.layout.fragment_classic_player
hideVolumeIfAvailable()
setupRecyclerView()
- val coverFragment =
- childFragmentManager.findFragmentById(R.id.playerAlbumCoverFragment) as PlayerAlbumCoverFragment
+ val coverFragment: PlayerAlbumCoverFragment = whichFragment(R.id.playerAlbumCoverFragment)
coverFragment.setCallbacks(this)
getQueuePanel().addBottomSheetCallback(bottomSheetCallbackList)
@@ -174,7 +170,7 @@ class ClassicPlayerFragment : AbsPlayerFragment(R.layout.fragment_classic_player
}
childFragmentManager.executePendingTransactions()
volumeFragment =
- childFragmentManager.findFragmentById(R.id.volumeFragmentContainer) as VolumeFragment?
+ whichFragment(R.id.volumeFragmentContainer) as VolumeFragment?
}
}
@@ -368,7 +364,7 @@ class ClassicPlayerFragment : AbsPlayerFragment(R.layout.fragment_classic_player
}
private fun setupPanel() {
- if (!binding.playerContainer.isLaidOut() || binding.playerContainer.isLayoutRequested) {
+ if (!binding.playerContainer.isLaidOut || binding.playerContainer.isLayoutRequested) {
binding.playerContainer.addOnLayoutChangeListener(this)
return
}
@@ -419,7 +415,7 @@ class ClassicPlayerFragment : AbsPlayerFragment(R.layout.fragment_classic_player
linearLayoutManager.scrollToPositionWithOffset(MusicPlayerRemote.position + 1, 0)
}
- fun setUpProgressSlider() {
+ private fun setUpProgressSlider() {
binding.playerControlsContainer.progressSlider.setOnSeekBarChangeListener(object :
SimpleOnSeekbarChangeListener() {
override fun onProgressChanged(seekBar: SeekBar, progress: Int, fromUser: Boolean) {
diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/player/color/ColorFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/player/color/ColorFragment.kt
index 4197affde..761daa039 100644
--- a/app/src/main/java/code/name/monkey/retromusic/fragments/player/color/ColorFragment.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/fragments/player/color/ColorFragment.kt
@@ -24,6 +24,7 @@ import code.name.monkey.retromusic.R
import code.name.monkey.retromusic.databinding.FragmentColorPlayerBinding
import code.name.monkey.retromusic.extensions.colorControlNormal
import code.name.monkey.retromusic.extensions.drawAboveSystemBars
+import code.name.monkey.retromusic.extensions.whichFragment
import code.name.monkey.retromusic.fragments.base.AbsPlayerFragment
import code.name.monkey.retromusic.fragments.player.PlayerAlbumCoverFragment
import code.name.monkey.retromusic.helper.MusicPlayerRemote
@@ -110,15 +111,14 @@ class ColorFragment : AbsPlayerFragment(R.layout.fragment_color_player) {
_binding = FragmentColorPlayerBinding.bind(view)
setUpSubFragments()
setUpPlayerToolbar()
- val playerAlbumCoverFragment =
- childFragmentManager.findFragmentById(R.id.playerAlbumCoverFragment) as PlayerAlbumCoverFragment
+ val playerAlbumCoverFragment: PlayerAlbumCoverFragment =
+ whichFragment(R.id.playbackControlsFragment)
playerAlbumCoverFragment.setCallbacks(this)
playerToolbar().drawAboveSystemBars()
}
private fun setUpSubFragments() {
- playbackControlsFragment =
- childFragmentManager.findFragmentById(R.id.playbackControlsFragment) as ColorPlaybackControlsFragment
+ playbackControlsFragment = whichFragment(R.id.playbackControlsFragment)
}
private fun setUpPlayerToolbar() {
diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/player/fit/FitFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/player/fit/FitFragment.kt
index 1bddc630a..468ce3c1b 100644
--- a/app/src/main/java/code/name/monkey/retromusic/fragments/player/fit/FitFragment.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/fragments/player/fit/FitFragment.kt
@@ -22,6 +22,7 @@ import code.name.monkey.retromusic.R
import code.name.monkey.retromusic.databinding.FragmentFitBinding
import code.name.monkey.retromusic.extensions.colorControlNormal
import code.name.monkey.retromusic.extensions.drawAboveSystemBars
+import code.name.monkey.retromusic.extensions.whichFragment
import code.name.monkey.retromusic.fragments.base.AbsPlayerFragment
import code.name.monkey.retromusic.fragments.player.PlayerAlbumCoverFragment
import code.name.monkey.retromusic.helper.MusicPlayerRemote
@@ -90,10 +91,9 @@ class FitFragment : AbsPlayerFragment(R.layout.fragment_fit) {
}
private fun setUpSubFragments() {
- playbackControlsFragment =
- childFragmentManager.findFragmentById(R.id.playbackControlsFragment) as FitPlaybackControlsFragment
- val playerAlbumCoverFragment =
- childFragmentManager.findFragmentById(R.id.playerAlbumCoverFragment) as PlayerAlbumCoverFragment
+ playbackControlsFragment = whichFragment(R.id.playbackControlsFragment)
+ val playerAlbumCoverFragment: PlayerAlbumCoverFragment =
+ whichFragment(R.id.playerAlbumCoverFragment)
playerAlbumCoverFragment.setCallbacks(this)
}
diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/player/flat/FlatPlayerFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/player/flat/FlatPlayerFragment.kt
index 971ff2459..bd84e4eca 100644
--- a/app/src/main/java/code/name/monkey/retromusic/fragments/player/flat/FlatPlayerFragment.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/fragments/player/flat/FlatPlayerFragment.kt
@@ -27,6 +27,7 @@ import code.name.monkey.retromusic.R
import code.name.monkey.retromusic.databinding.FragmentFlatPlayerBinding
import code.name.monkey.retromusic.extensions.colorControlNormal
import code.name.monkey.retromusic.extensions.drawAboveSystemBars
+import code.name.monkey.retromusic.extensions.whichFragment
import code.name.monkey.retromusic.fragments.base.AbsPlayerFragment
import code.name.monkey.retromusic.fragments.player.PlayerAlbumCoverFragment
import code.name.monkey.retromusic.helper.MusicPlayerRemote
@@ -52,10 +53,9 @@ class FlatPlayerFragment : AbsPlayerFragment(R.layout.fragment_flat_player) {
private fun setUpSubFragments() {
- controlsFragment =
- childFragmentManager.findFragmentById(R.id.playbackControlsFragment) as FlatPlaybackControlsFragment
- val playerAlbumCoverFragment =
- childFragmentManager.findFragmentById(R.id.playerAlbumCoverFragment) as PlayerAlbumCoverFragment
+ controlsFragment = whichFragment(R.id.playbackControlsFragment)
+ val playerAlbumCoverFragment: PlayerAlbumCoverFragment =
+ whichFragment(R.id.playerAlbumCoverFragment)
playerAlbumCoverFragment.setCallbacks(this)
}
diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/player/gradient/GradientPlayerFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/player/gradient/GradientPlayerFragment.kt
index 8be7e32de..dbd3afb97 100644
--- a/app/src/main/java/code/name/monkey/retromusic/fragments/player/gradient/GradientPlayerFragment.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/fragments/player/gradient/GradientPlayerFragment.kt
@@ -132,7 +132,7 @@ class GradientPlayerFragment : AbsPlayerFragment(R.layout.fragment_gradient_play
}
private fun setupPanel() {
- if (!binding.colorBackground.isLaidOut() || binding.colorBackground.isLayoutRequested) {
+ if (!binding.colorBackground.isLaidOut || binding.colorBackground.isLayoutRequested) {
binding.colorBackground.addOnLayoutChangeListener(this)
return
}
@@ -309,7 +309,7 @@ class GradientPlayerFragment : AbsPlayerFragment(R.layout.fragment_gradient_play
}
childFragmentManager.executePendingTransactions()
volumeFragment =
- childFragmentManager.findFragmentById(R.id.volumeFragmentContainer) as VolumeFragment?
+ whichFragment(R.id.volumeFragmentContainer) as VolumeFragment?
}
}
diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/player/material/MaterialFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/player/material/MaterialFragment.kt
index b57654fad..a11e8060c 100644
--- a/app/src/main/java/code/name/monkey/retromusic/fragments/player/material/MaterialFragment.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/fragments/player/material/MaterialFragment.kt
@@ -26,6 +26,7 @@ import code.name.monkey.retromusic.databinding.FragmentMaterialBinding
import code.name.monkey.retromusic.extensions.colorControlNormal
import code.name.monkey.retromusic.extensions.drawAboveSystemBars
import code.name.monkey.retromusic.extensions.surfaceColor
+import code.name.monkey.retromusic.extensions.whichFragment
import code.name.monkey.retromusic.fragments.base.AbsPlayerFragment
import code.name.monkey.retromusic.fragments.player.PlayerAlbumCoverFragment
import code.name.monkey.retromusic.fragments.player.normal.PlayerFragment
@@ -134,10 +135,9 @@ class MaterialFragment : AbsPlayerFragment(R.layout.fragment_material) {
}
private fun setUpSubFragments() {
- playbackControlsFragment =
- childFragmentManager.findFragmentById(R.id.playbackControlsFragment) as MaterialControlsFragment
- val playerAlbumCoverFragment =
- childFragmentManager.findFragmentById(R.id.playerAlbumCoverFragment) as PlayerAlbumCoverFragment
+ playbackControlsFragment = whichFragment(R.id.playbackControlsFragment)
+ val playerAlbumCoverFragment: PlayerAlbumCoverFragment =
+ whichFragment(R.id.playbackControlsFragment)
playerAlbumCoverFragment.setCallbacks(this)
}
diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/player/normal/PlayerFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/player/normal/PlayerFragment.kt
index fd3327ca9..0144ae835 100644
--- a/app/src/main/java/code/name/monkey/retromusic/fragments/player/normal/PlayerFragment.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/fragments/player/normal/PlayerFragment.kt
@@ -27,10 +27,7 @@ import code.name.monkey.appthemehelper.util.ToolbarContentTintHelper
import code.name.monkey.retromusic.R
import code.name.monkey.retromusic.SNOWFALL
import code.name.monkey.retromusic.databinding.FragmentPlayerBinding
-import code.name.monkey.retromusic.extensions.colorControlNormal
-import code.name.monkey.retromusic.extensions.drawAboveSystemBars
-import code.name.monkey.retromusic.extensions.isColorLight
-import code.name.monkey.retromusic.extensions.surfaceColor
+import code.name.monkey.retromusic.extensions.*
import code.name.monkey.retromusic.fragments.base.AbsPlayerFragment
import code.name.monkey.retromusic.fragments.player.PlayerAlbumCoverFragment
import code.name.monkey.retromusic.helper.MusicPlayerRemote
@@ -141,10 +138,9 @@ class PlayerFragment : AbsPlayerFragment(R.layout.fragment_player),
}
private fun setUpSubFragments() {
- controlsFragment =
- childFragmentManager.findFragmentById(R.id.playbackControlsFragment) as PlayerPlaybackControlsFragment
- val playerAlbumCoverFragment =
- childFragmentManager.findFragmentById(R.id.playerAlbumCoverFragment) as PlayerAlbumCoverFragment
+ controlsFragment = whichFragment(R.id.playbackControlsFragment)
+ val playerAlbumCoverFragment: PlayerAlbumCoverFragment =
+ whichFragment(R.id.playerAlbumCoverFragment)
playerAlbumCoverFragment.setCallbacks(this)
}
diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/player/peek/PeekPlayerFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/player/peek/PeekPlayerFragment.kt
index dc5116399..2d17d5a99 100644
--- a/app/src/main/java/code/name/monkey/retromusic/fragments/player/peek/PeekPlayerFragment.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/fragments/player/peek/PeekPlayerFragment.kt
@@ -58,10 +58,10 @@ class PeekPlayerFragment : AbsPlayerFragment(R.layout.fragment_peek_player) {
private fun setUpSubFragments() {
controlsFragment =
- childFragmentManager.findFragmentById(R.id.playbackControlsFragment) as PeekPlayerControlFragment
+ whichFragment(R.id.playbackControlsFragment) as PeekPlayerControlFragment
val coverFragment =
- childFragmentManager.findFragmentById(R.id.playerAlbumCoverFragment) as PlayerAlbumCoverFragment
+ whichFragment(R.id.playerAlbumCoverFragment) as PlayerAlbumCoverFragment
coverFragment.setCallbacks(this)
}
diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/player/plain/PlainPlayerFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/player/plain/PlainPlayerFragment.kt
index 894fc03c0..fbbb7cd26 100644
--- a/app/src/main/java/code/name/monkey/retromusic/fragments/player/plain/PlainPlayerFragment.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/fragments/player/plain/PlainPlayerFragment.kt
@@ -22,6 +22,7 @@ import code.name.monkey.retromusic.R
import code.name.monkey.retromusic.databinding.FragmentPlainPlayerBinding
import code.name.monkey.retromusic.extensions.colorControlNormal
import code.name.monkey.retromusic.extensions.drawAboveSystemBars
+import code.name.monkey.retromusic.extensions.whichFragment
import code.name.monkey.retromusic.fragments.base.AbsPlayerFragment
import code.name.monkey.retromusic.fragments.base.goToAlbum
import code.name.monkey.retromusic.fragments.base.goToArtist
@@ -89,10 +90,9 @@ class PlainPlayerFragment : AbsPlayerFragment(R.layout.fragment_plain_player) {
}
private fun setUpSubFragments() {
- plainPlaybackControlsFragment =
- childFragmentManager.findFragmentById(R.id.playbackControlsFragment) as PlainPlaybackControlsFragment
- val playerAlbumCoverFragment =
- childFragmentManager.findFragmentById(R.id.playerAlbumCoverFragment) as PlayerAlbumCoverFragment
+ plainPlaybackControlsFragment = whichFragment(R.id.playbackControlsFragment)
+ val playerAlbumCoverFragment: PlayerAlbumCoverFragment =
+ whichFragment(R.id.playerAlbumCoverFragment)
playerAlbumCoverFragment.setCallbacks(this)
}
diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/player/simple/SimplePlayerFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/player/simple/SimplePlayerFragment.kt
index b2bdd469a..722ab28ba 100644
--- a/app/src/main/java/code/name/monkey/retromusic/fragments/player/simple/SimplePlayerFragment.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/fragments/player/simple/SimplePlayerFragment.kt
@@ -22,6 +22,7 @@ import code.name.monkey.retromusic.R
import code.name.monkey.retromusic.databinding.FragmentSimplePlayerBinding
import code.name.monkey.retromusic.extensions.colorControlNormal
import code.name.monkey.retromusic.extensions.drawAboveSystemBars
+import code.name.monkey.retromusic.extensions.whichFragment
import code.name.monkey.retromusic.fragments.base.AbsPlayerFragment
import code.name.monkey.retromusic.fragments.player.PlayerAlbumCoverFragment
import code.name.monkey.retromusic.helper.MusicPlayerRemote
@@ -56,11 +57,10 @@ class SimplePlayerFragment : AbsPlayerFragment(R.layout.fragment_simple_player)
}
private fun setUpSubFragments() {
- val playerAlbumCoverFragment =
- childFragmentManager.findFragmentById(R.id.playerAlbumCoverFragment) as PlayerAlbumCoverFragment
+ val playerAlbumCoverFragment: PlayerAlbumCoverFragment =
+ whichFragment(R.id.playerAlbumCoverFragment)
playerAlbumCoverFragment.setCallbacks(this)
- controlsFragment =
- childFragmentManager.findFragmentById(R.id.playbackControlsFragment) as SimplePlaybackControlsFragment
+ controlsFragment = whichFragment(R.id.playbackControlsFragment)
}
override fun onShow() {
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 9ac50de1b..021f5ef82 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
@@ -29,10 +29,7 @@ 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
-import code.name.monkey.retromusic.extensions.getSongInfo
-import code.name.monkey.retromusic.extensions.hide
-import code.name.monkey.retromusic.extensions.show
+import code.name.monkey.retromusic.extensions.*
import code.name.monkey.retromusic.fragments.base.AbsPlayerFragment
import code.name.monkey.retromusic.fragments.base.goToAlbum
import code.name.monkey.retromusic.fragments.base.goToArtist
@@ -153,10 +150,9 @@ class TinyPlayerFragment : AbsPlayerFragment(R.layout.fragment_tiny_player),
}
private fun setUpSubFragments() {
- controlsFragment =
- childFragmentManager.findFragmentById(R.id.playbackControlsFragment) as TinyPlaybackControlsFragment
- val playerAlbumCoverFragment =
- childFragmentManager.findFragmentById(R.id.playerAlbumCoverFragment) as PlayerAlbumCoverFragment
+ controlsFragment = whichFragment(R.id.playbackControlsFragment)
+ val playerAlbumCoverFragment: PlayerAlbumCoverFragment =
+ whichFragment(R.id.playerAlbumCoverFragment)
playerAlbumCoverFragment.setCallbacks(this)
}
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 d48a5025f..4e21eea24 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
@@ -59,7 +59,7 @@ class PlaylistDetailsFragment : AbsMainActivityFragment(R.layout.fragment_playli
returnTransition = MaterialSharedAxis(MaterialSharedAxis.Z, false)
setHasOptionsMenu(true)
mainActivity.setSupportActionBar(binding.toolbar)
- binding.container.setTransitionName("playlist")
+ binding.container.transitionName = "playlist"
playlist = arguments.extraPlaylist
binding.toolbar.title = playlist.playlistEntity.playlistName
setUpRecyclerView()
diff --git a/app/src/main/java/code/name/monkey/retromusic/glide/artistimage/ArtistImageFetcher.kt b/app/src/main/java/code/name/monkey/retromusic/glide/artistimage/ArtistImageFetcher.kt
index 356a829f6..1260892a6 100644
--- a/app/src/main/java/code/name/monkey/retromusic/glide/artistimage/ArtistImageFetcher.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/glide/artistimage/ArtistImageFetcher.kt
@@ -42,7 +42,7 @@ class ArtistImageFetcher(
override fun loadData(priority: Priority, callback: DataFetcher.DataCallback) {
try {
if (!MusicUtil.isArtistNameUnknown(model.artist.name) &&
- PreferenceUtil.isAllowedToDownloadMetadata()
+ PreferenceUtil.isAllowedToDownloadMetadata(context)
) {
val artists = model.artist.name.split(",", "&")
response = deezerService.getArtistImage(artists[0])
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 9bd72fa58..06c76294d 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
@@ -139,8 +139,6 @@ object SearchQueryHelper : KoinComponent {
arrayOf(query.lowercase())
)
)
- return if (songs.isNotEmpty()) {
- songs
- } else ArrayList()
+ return songs.ifEmpty { ArrayList() }
}
}
diff --git a/app/src/main/java/code/name/monkey/retromusic/lyrics/LrcView.java b/app/src/main/java/code/name/monkey/retromusic/lyrics/LrcView.java
index 60f904bdb..77fd1f1e2 100644
--- a/app/src/main/java/code/name/monkey/retromusic/lyrics/LrcView.java
+++ b/app/src/main/java/code/name/monkey/retromusic/lyrics/LrcView.java
@@ -35,6 +35,8 @@ import android.view.View;
import android.view.animation.LinearInterpolator;
import android.widget.Scroller;
+import androidx.core.content.res.ResourcesCompat;
+
import java.io.File;
import java.util.ArrayList;
import java.util.Collections;
diff --git a/app/src/main/java/code/name/monkey/retromusic/misc/LagTracker.java b/app/src/main/java/code/name/monkey/retromusic/misc/LagTracker.java
deleted file mode 100755
index 983081184..000000000
--- a/app/src/main/java/code/name/monkey/retromusic/misc/LagTracker.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*
- * Copyright (c) 2019 Hemanth Savarala.
- *
- * Licensed under the GNU General Public License v3
- *
- * This is free software: you can redistribute it and/or modify it under
- * the terms of the GNU General Public License as published by
- * the Free Software Foundation either version 3 of the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
- * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- * See the GNU General Public License for more details.
- */
-
-package code.name.monkey.retromusic.misc;
-
-import android.util.Log;
-
-import java.util.HashMap;
-import java.util.Map;
-import java.util.concurrent.TimeUnit;
-
-public class LagTracker {
- private static Map mMap;
- private static LagTracker mSingleton;
- private boolean mEnabled = true;
-
- private LagTracker() {
- mMap = new HashMap<>();
- }
-
- public static LagTracker get() {
- if (mSingleton == null) {
- mSingleton = new LagTracker();
- }
- return mSingleton;
- }
-
- private void print(String str, long j) {
- long toMillis = TimeUnit.NANOSECONDS.toMillis(j);
- Log.d(
- "LagTracker",
- "["
- + str
- + " completed in]: "
- + j
- + " ns ("
- + toMillis
- + "ms, "
- + TimeUnit.NANOSECONDS.toSeconds(j)
- + "s)");
- }
-
- public LagTracker disable() {
- this.mEnabled = false;
- return this;
- }
-
- public LagTracker enable() {
- this.mEnabled = true;
- return this;
- }
-
- public void end(String str) {
- long nanoTime = System.nanoTime();
- if (this.mEnabled) {
- if (mMap.containsKey(str)) {
- print(str, nanoTime - mMap.get(str));
- mMap.remove(str);
- return;
- }
- throw new IllegalStateException("No start time found for " + str);
- } else if (!mMap.isEmpty()) {
- mMap.clear();
- }
- }
-
- public void start(String str) {
- long nanoTime = System.nanoTime();
- if (this.mEnabled) {
- mMap.put(str, nanoTime);
- } else if (!mMap.isEmpty()) {
- mMap.clear();
- }
- }
-}
diff --git a/app/src/main/java/code/name/monkey/retromusic/network/conversion/LyricsConverterFactory.kt b/app/src/main/java/code/name/monkey/retromusic/network/conversion/LyricsConverterFactory.kt
index 1103653c4..03a8f4c77 100644
--- a/app/src/main/java/code/name/monkey/retromusic/network/conversion/LyricsConverterFactory.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/network/conversion/LyricsConverterFactory.kt
@@ -25,9 +25,9 @@ import java.lang.reflect.Type
class LyricsConverterFactory : Converter.Factory() {
override fun responseBodyConverter(
- type: Type?,
- annotations: Array?,
- retrofit: Retrofit?
+ type: Type,
+ annotations: Array,
+ retrofit: Retrofit
): Converter? {
return if (String::class.java == type) {
Converter { value -> value.string() }
@@ -35,10 +35,10 @@ class LyricsConverterFactory : Converter.Factory() {
}
override fun requestBodyConverter(
- type: Type?,
- parameterAnnotations: Array?,
- methodAnnotations: Array?,
- retrofit: Retrofit?
+ type: Type,
+ parameterAnnotations: Array,
+ methodAnnotations: Array,
+ retrofit: Retrofit
): Converter<*, RequestBody>? {
return if (String::class.java == type) {
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 e39ddf6bf..d656df16e 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
@@ -392,7 +392,7 @@ class MusicService : MediaBrowserServiceCompat(),
wakeLock?.acquire(milli)
}
- var pausedByZeroVolume = false
+ private var pausedByZeroVolume = false
override fun onAudioVolumeChanged(currentVolume: Int, maxVolume: Int) {
if (isPauseOnZeroVolume) {
if (isPlaying && currentVolume < 1) {
diff --git a/app/src/main/java/code/name/monkey/retromusic/util/ColorAnimUtil.kt b/app/src/main/java/code/name/monkey/retromusic/util/ColorAnimUtil.kt
deleted file mode 100644
index 81cb66de6..000000000
--- a/app/src/main/java/code/name/monkey/retromusic/util/ColorAnimUtil.kt
+++ /dev/null
@@ -1,19 +0,0 @@
-package code.name.monkey.retromusic.util
-
-import android.animation.ArgbEvaluator
-import android.animation.ValueAnimator
-
-class ColorAnimUtil {
- companion object {
- fun createColorAnimator(
- fromColor: Int,
- toColor: Int,
- mDuration: Long = 300
- ): ValueAnimator {
- return ValueAnimator.ofInt(fromColor, toColor).apply {
- setEvaluator(ArgbEvaluator())
- duration = mDuration
- }
- }
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/code/name/monkey/retromusic/util/Compressor.java b/app/src/main/java/code/name/monkey/retromusic/util/Compressor.java
deleted file mode 100644
index 6259a52bf..000000000
--- a/app/src/main/java/code/name/monkey/retromusic/util/Compressor.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
- * Copyright (c) 2019 Hemanth Savarala.
- *
- * Licensed under the GNU General Public License v3
- *
- * This is free software: you can redistribute it and/or modify it under
- * the terms of the GNU General Public License as published by
- * the Free Software Foundation either version 3 of the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
- * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- * See the GNU General Public License for more details.
- */
-
-package code.name.monkey.retromusic.util;
-
-import android.content.Context;
-import android.graphics.Bitmap;
-
-import java.io.File;
-import java.io.IOException;
-
-/**
- * Created on : June 18, 2016 Author : zetbaitsu Name : Zetra GitHub : https://github.com/zetbaitsu
- */
-public class Compressor {
- // max width and height values of the compressed image is taken as 612x816
- private int maxWidth = 612;
- private int maxHeight = 816;
- private Bitmap.CompressFormat compressFormat = Bitmap.CompressFormat.JPEG;
- private int quality = 80;
- private String destinationDirectoryPath;
-
- public Compressor(Context context) {
- destinationDirectoryPath = context.getCacheDir().getPath() + File.separator + "images";
- }
-
- public Compressor setMaxWidth(int maxWidth) {
- this.maxWidth = maxWidth;
- return this;
- }
-
- public Compressor setMaxHeight(int maxHeight) {
- this.maxHeight = maxHeight;
- return this;
- }
-
- public Compressor setCompressFormat(Bitmap.CompressFormat compressFormat) {
- this.compressFormat = compressFormat;
- return this;
- }
-
- public Compressor setQuality(int quality) {
- this.quality = quality;
- return this;
- }
-
- public Compressor setDestinationDirectoryPath(String destinationDirectoryPath) {
- this.destinationDirectoryPath = destinationDirectoryPath;
- return this;
- }
-
- public File compressToFile(File imageFile) throws IOException {
- return compressToFile(imageFile, imageFile.getName());
- }
-
- public File compressToFile(File imageFile, String compressedFileName) throws IOException {
- return ImageUtil.compressImage(
- imageFile,
- maxWidth,
- maxHeight,
- compressFormat,
- quality,
- destinationDirectoryPath + File.separator + compressedFileName);
- }
-
- public Bitmap compressToBitmap(File imageFile) throws IOException {
- return ImageUtil.decodeSampledBitmapFromFile(imageFile, maxWidth, maxHeight);
- }
-}
diff --git a/app/src/main/java/code/name/monkey/retromusic/util/ImageUtil.java b/app/src/main/java/code/name/monkey/retromusic/util/ImageUtil.java
index d10a4232f..d67f0721c 100644
--- a/app/src/main/java/code/name/monkey/retromusic/util/ImageUtil.java
+++ b/app/src/main/java/code/name/monkey/retromusic/util/ImageUtil.java
@@ -24,13 +24,13 @@ import android.graphics.Paint;
import android.graphics.PorterDuff;
import android.graphics.PorterDuffColorFilter;
import android.graphics.drawable.Drawable;
-import android.media.ExifInterface;
import androidx.annotation.ColorInt;
import androidx.annotation.DrawableRes;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.core.content.res.ResourcesCompat;
+import androidx.exifinterface.media.ExifInterface;
import java.io.File;
import java.io.FileOutputStream;
diff --git a/app/src/main/java/code/name/monkey/retromusic/util/MusicUtil.kt b/app/src/main/java/code/name/monkey/retromusic/util/MusicUtil.kt
index 62b364e8d..b37b01710 100644
--- a/app/src/main/java/code/name/monkey/retromusic/util/MusicUtil.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/util/MusicUtil.kt
@@ -268,15 +268,14 @@ object MusicUtil : KoinComponent {
)
}
- fun getSongFilePath(context: Context, uri: Uri): String? {
+ fun getSongFilePath(context: Context, uri: Uri): String {
val projection = arrayOf(MediaStore.MediaColumns.DATA)
- return context.contentResolver.query(uri, projection, null, null, null)?.use {
+ context.contentResolver.query(uri, projection, null, null, null)?.use {
if (it.moveToFirst()) {
- it.getString(0)
- } else {
- ""
+ return it.getString(0)
}
}
+ return ""
}
fun getTotalDuration(songs: List): Long {
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 15b9722ee..cc4124a90 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
@@ -71,7 +71,7 @@ class PackageValidator(
/**
* Checks whether the caller attempting to connect to a [MediaBrowserServiceCompat] is known.
- * See [MusicService.onGetRoot] for where this is utilized.
+ * See [MediaBrowserServiceCompat.onGetRoot] for where this is utilized.
*
* @param callingPackage The package name of the caller.
* @param callingUid The user id of the caller.
diff --git a/app/src/main/java/code/name/monkey/retromusic/util/PreferenceUtil.kt b/app/src/main/java/code/name/monkey/retromusic/util/PreferenceUtil.kt
index e71d3f683..589795243 100644
--- a/app/src/main/java/code/name/monkey/retromusic/util/PreferenceUtil.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/util/PreferenceUtil.kt
@@ -1,8 +1,8 @@
package code.name.monkey.retromusic.util
+import android.content.Context
import android.content.SharedPreferences.OnSharedPreferenceChangeListener
import android.net.ConnectivityManager
-import android.net.NetworkInfo
import androidx.core.content.edit
import androidx.core.content.getSystemService
import androidx.preference.PreferenceManager
@@ -328,15 +328,12 @@ object PreferenceUtil {
val isLockScreen get() = sharedPreferences.getBoolean(LOCK_SCREEN, false)
- fun isAllowedToDownloadMetadata(): Boolean {
+ fun isAllowedToDownloadMetadata(context: Context): Boolean {
return when (autoDownloadImagesPolicy) {
"always" -> true
"only_wifi" -> {
- val connectivityManager = App.getContext().getSystemService()
- var netInfo: NetworkInfo? = null
- if (connectivityManager != null) {
- netInfo = connectivityManager.activeNetworkInfo
- }
+ val connectivityManager = context.getSystemService()
+ val netInfo = connectivityManager?.activeNetworkInfo
netInfo != null && netInfo.type == ConnectivityManager.TYPE_WIFI && netInfo.isConnectedOrConnecting
}
"never" -> false
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..99ccdfacd 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
@@ -195,13 +195,6 @@ public class RetroUtil {
>= 600;
}
- public static void openUrl(@NonNull Activity context, @NonNull String str) {
- Intent intent = new Intent("android.intent.action.VIEW");
- intent.setData(Uri.parse(str));
- intent.setFlags(268435456);
- context.startActivity(intent);
- }
-
public static void setAllowDrawUnderNavigationBar(Window window) {
window.setNavigationBarColor(Color.TRANSPARENT);
window