June 21, 2022
v6.0.2Beta
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 454cfedb1..b4e86ab87 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
@@ -84,12 +84,11 @@ class LockScreenActivity : AbsMusicServiceActivity() {
private fun lockScreenInit() {
if (VersionUtils.hasOreoMR1()) {
setShowWhenLocked(true)
- val keyguardManager = getSystemService
()
- keyguardManager?.requestDismissKeyguard(this, null)
+ //setTurnScreenOn(true)
} else {
- this.window.addFlags(
- WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD or
- WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED
+ window.addFlags(
+ WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED
+ // or WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON
)
}
}
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 e0d67a21f..495e56f25 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
@@ -19,18 +19,15 @@ import android.view.MenuItem
import code.name.monkey.appthemehelper.util.ToolbarContentTintHelper
import code.name.monkey.retromusic.activities.base.AbsThemeActivity
import code.name.monkey.retromusic.databinding.ActivityDonationBinding
+import code.name.monkey.retromusic.extensions.openUrl
import code.name.monkey.retromusic.extensions.setStatusBarColorAuto
import code.name.monkey.retromusic.extensions.setTaskDescriptionColorAuto
import code.name.monkey.retromusic.extensions.surfaceColor
+
class SupportDevelopmentActivity : AbsThemeActivity() {
lateinit var binding: ActivityDonationBinding
-
- companion object {
- val TAG: String = SupportDevelopmentActivity::class.java.simpleName
- }
-
override fun onOptionsItemSelected(item: MenuItem): Boolean {
if (item.itemId == android.R.id.home) {
onBackPressed()
@@ -49,6 +46,12 @@ class SupportDevelopmentActivity : AbsThemeActivity() {
setupToolbar()
+ binding.paypal.setOnClickListener {
+ openUrl(PAYPAL_URL)
+ }
+ binding.kofi.setOnClickListener {
+ openUrl(KOFI_URL)
+ }
}
private fun setupToolbar() {
@@ -56,4 +59,9 @@ class SupportDevelopmentActivity : AbsThemeActivity() {
ToolbarContentTintHelper.colorBackButton(binding.toolbar)
setSupportActionBar(binding.toolbar)
}
+
+ companion object {
+ const val PAYPAL_URL = "https://paypal.me/quickersilver"
+ const val KOFI_URL = "https://ko-fi.com/quickersilver"
+ }
}
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 68494eeea..44482f76d 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
@@ -19,53 +19,17 @@ import android.content.ClipboardManager
import android.content.Intent
import android.os.Bundle
import android.view.MenuItem
-import android.view.inputmethod.EditorInfo
-import androidx.annotation.StringDef
-import androidx.annotation.StringRes
import androidx.core.content.getSystemService
import androidx.core.net.toUri
-import androidx.lifecycle.lifecycleScope
-import code.name.monkey.appthemehelper.util.MaterialUtil
import code.name.monkey.appthemehelper.util.TintHelper
import code.name.monkey.appthemehelper.util.ToolbarContentTintHelper
import code.name.monkey.retromusic.R
import code.name.monkey.retromusic.activities.base.AbsThemeActivity
import code.name.monkey.retromusic.activities.bugreport.model.DeviceInfo
-import code.name.monkey.retromusic.activities.bugreport.model.Report
-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 code.name.monkey.retromusic.extensions.showToast
-import com.google.android.material.dialog.MaterialAlertDialogBuilder
-import com.google.android.material.floatingactionbutton.FloatingActionButton
-import com.google.android.material.textfield.TextInputLayout
-import kotlinx.coroutines.Dispatchers
-import kotlinx.coroutines.launch
-import kotlinx.coroutines.withContext
-import org.eclipse.egit.github.core.Issue
-import org.eclipse.egit.github.core.client.GitHubClient
-import org.eclipse.egit.github.core.client.RequestException
-import org.eclipse.egit.github.core.service.IssueService
-import java.io.IOException
-
-private const val RESULT_SUCCESS = "RESULT_OK"
-private const val RESULT_BAD_CREDENTIALS = "RESULT_BAD_CREDENTIALS"
-private const val RESULT_INVALID_TOKEN = "RESULT_INVALID_TOKEN"
-private const val RESULT_ISSUES_NOT_ENABLED = "RESULT_ISSUES_NOT_ENABLED"
-private const val RESULT_UNKNOWN = "RESULT_UNKNOWN"
-
-@StringDef(
- RESULT_SUCCESS,
- RESULT_BAD_CREDENTIALS,
- RESULT_INVALID_TOKEN,
- RESULT_ISSUES_NOT_ENABLED,
- RESULT_UNKNOWN
-)
-@Retention(AnnotationRetention.SOURCE)
-private annotation class Result
open class BugReportActivity : AbsThemeActivity() {
@@ -91,72 +55,19 @@ open class BugReportActivity : AbsThemeActivity() {
setSupportActionBar(binding.toolbar)
ToolbarContentTintHelper.colorBackButton(binding.toolbar)
supportActionBar?.setDisplayHomeAsUpEnabled(true)
- TintHelper.setTintAuto(binding.cardReport.optionUseAccount, accentColor, false)
- binding.cardReport.optionUseAccount.setOnClickListener {
- binding.cardReport.inputTitle.isEnabled = true
- binding.cardReport.inputDescription.isEnabled = true
- binding.cardReport.inputUsername.isEnabled = true
- binding.cardReport.inputPassword.isEnabled = true
-
- binding.cardReport.optionAnonymous.isChecked = false
- binding.sendFab.hide(object : FloatingActionButton.OnVisibilityChangedListener() {
- override fun onHidden(fab: FloatingActionButton?) {
- super.onHidden(fab)
- binding.sendFab.setImageResource(R.drawable.ic_send)
- binding.sendFab.show()
- }
- })
- }
- TintHelper.setTintAuto(binding.cardReport.optionAnonymous, accentColor, false)
- binding.cardReport.optionAnonymous.setOnClickListener {
- binding.cardReport.inputTitle.isEnabled = false
- binding.cardReport.inputDescription.isEnabled = false
- binding.cardReport.inputUsername.isEnabled = false
- binding.cardReport.inputPassword.isEnabled = false
-
- binding.cardReport.optionUseAccount.isChecked = false
- binding.sendFab.hide(object : FloatingActionButton.OnVisibilityChangedListener() {
- override fun onHidden(fab: FloatingActionButton?) {
- super.onHidden(fab)
- binding.sendFab.setImageResource(R.drawable.ic_open_in_browser)
- binding.sendFab.show()
- }
- })
- }
-
- binding.cardReport.inputPassword.setOnEditorActionListener { _, actionId, _ ->
- if (actionId == EditorInfo.IME_ACTION_SEND) {
- reportIssue()
- return@setOnEditorActionListener true
- }
- false
- }
binding.cardDeviceInfo.airTextDeviceInfo.setOnClickListener { copyDeviceInfoToClipBoard() }
TintHelper.setTintAuto(binding.sendFab, accentColor, true)
binding.sendFab.setOnClickListener { reportIssue() }
-
- MaterialUtil.setTint(binding.cardReport.inputLayoutTitle, false)
- MaterialUtil.setTint(binding.cardReport.inputLayoutDescription, false)
- MaterialUtil.setTint(binding.cardReport.inputLayoutUsername, false)
- MaterialUtil.setTint(binding.cardReport.inputLayoutPassword, false)
}
private fun reportIssue() {
- if (binding.cardReport.optionUseAccount.isChecked) {
- if (!validateInput()) return
- val username = binding.cardReport.inputUsername.text.toString()
- val password = binding.cardReport.inputPassword.text.toString()
- sendBugReport(GithubLogin(username, password))
- } else {
- copyDeviceInfoToClipBoard()
-
- val i = Intent(Intent.ACTION_VIEW)
- i.data = ISSUE_TRACKER_LINK.toUri()
- i.flags = Intent.FLAG_ACTIVITY_NEW_TASK
- startActivity(i)
- }
+ copyDeviceInfoToClipBoard()
+ val i = Intent(Intent.ACTION_VIEW)
+ i.data = ISSUE_TRACKER_LINK.toUri()
+ i.flags = Intent.FLAG_ACTIVITY_NEW_TASK
+ startActivity(i)
}
private fun copyDeviceInfoToClipBoard() {
@@ -166,67 +77,6 @@ open class BugReportActivity : AbsThemeActivity() {
showToast(R.string.copied_device_info_to_clipboard)
}
- private fun validateInput(): Boolean {
- var hasErrors = false
-
- if (binding.cardReport.optionUseAccount.isChecked) {
- if (binding.cardReport.inputUsername.text.isNullOrEmpty()) {
- setError(binding.cardReport.inputLayoutUsername, R.string.bug_report_no_username)
- hasErrors = true
- } else {
- removeError(binding.cardReport.inputLayoutUsername)
- }
-
- if (binding.cardReport.inputPassword.text.isNullOrEmpty()) {
- setError(binding.cardReport.inputLayoutPassword, R.string.bug_report_no_password)
- hasErrors = true
- } else {
- removeError(binding.cardReport.inputLayoutPassword)
- }
- }
-
- if (binding.cardReport.inputTitle.text.isNullOrEmpty()) {
- setError(binding.cardReport.inputLayoutTitle, R.string.bug_report_no_title)
- hasErrors = true
- } else {
- removeError(binding.cardReport.inputLayoutTitle)
- }
-
- if (binding.cardReport.inputDescription.text.isNullOrEmpty()) {
- setError(binding.cardReport.inputLayoutDescription, R.string.bug_report_no_description)
- hasErrors = true
- } else {
- removeError(binding.cardReport.inputLayoutDescription)
- }
-
- return !hasErrors
- }
-
- private fun setError(editTextLayout: TextInputLayout, @StringRes errorRes: Int) {
- editTextLayout.error = getString(errorRes)
- }
-
- private fun removeError(editTextLayout: TextInputLayout) {
- editTextLayout.error = null
- }
-
- private fun sendBugReport(login: GithubLogin) {
- if (!validateInput()) return
-
- val bugTitle = binding.cardReport.inputTitle.text.toString()
- val bugDescription = binding.cardReport.inputDescription.text.toString()
-
- val extraInfo = ExtraInfo()
- onSaveExtraInfo()
-
- val report = Report(bugTitle, bugDescription, deviceInfo, extraInfo)
- val target = GithubTarget("RetroMusicPlayer", "RetroMusicPlayer")
-
- reportIssue(report, target, login)
- }
-
- private fun onSaveExtraInfo() {}
-
override fun onOptionsItemSelected(item: MenuItem): Boolean {
if (item.itemId == android.R.id.home) {
onBackPressed()
@@ -234,83 +84,8 @@ open class BugReportActivity : AbsThemeActivity() {
return super.onOptionsItemSelected(item)
}
- private fun reportIssue(
- report: Report,
- target: GithubTarget,
- login: GithubLogin
- ) {
- val client: GitHubClient = if (login.shouldUseApiToken()) {
- GitHubClient().setOAuth2Token(login.apiToken)
- } else {
- GitHubClient().setCredentials(login.username, login.password)
- }
-
- val issue = Issue().setTitle(report.title).setBody(report.getDescription())
-
- lifecycleScope.launch(Dispatchers.IO) {
- val result = try {
- IssueService(client).createIssue(target.username, target.repository, issue)
- RESULT_SUCCESS
- } catch (e: RequestException) {
- when (e.status) {
- STATUS_BAD_CREDENTIALS -> {
- if (login.shouldUseApiToken()) RESULT_INVALID_TOKEN else RESULT_BAD_CREDENTIALS
- }
- STATUS_ISSUES_NOT_ENABLED -> RESULT_ISSUES_NOT_ENABLED
- else -> {
- RESULT_UNKNOWN
- throw e
- }
- }
- } catch (e: IOException) {
- e.printStackTrace()
- RESULT_UNKNOWN
- }
-
- withContext(Dispatchers.Main) {
- val activity = this@BugReportActivity
- when (result) {
- RESULT_SUCCESS -> MaterialAlertDialogBuilder(activity)
- .setTitle(R.string.bug_report_success)
- .setPositiveButton(android.R.string.ok) { _, _ -> tryToFinishActivity() }
- .show()
- RESULT_BAD_CREDENTIALS -> MaterialAlertDialogBuilder(activity)
- .setTitle(R.string.bug_report_failed)
- .setMessage(R.string.bug_report_failed_wrong_credentials)
- .setPositiveButton(android.R.string.ok, null)
- .show()
- RESULT_INVALID_TOKEN -> MaterialAlertDialogBuilder(activity)
- .setTitle(R.string.bug_report_failed)
- .setMessage(R.string.bug_report_failed_invalid_token)
- .setPositiveButton(android.R.string.ok, null)
- .show()
- RESULT_ISSUES_NOT_ENABLED -> MaterialAlertDialogBuilder(activity)
- .setTitle(R.string.bug_report_failed)
- .setMessage(R.string.bug_report_failed_issues_not_available)
- .setPositiveButton(android.R.string.ok, null)
- .show()
- else -> MaterialAlertDialogBuilder(activity)
- .setTitle(R.string.bug_report_failed)
- .setMessage(R.string.bug_report_failed_unknown)
- .setPositiveButton(android.R.string.ok) { _, _ -> tryToFinishActivity() }
- .setNegativeButton(android.R.string.cancel) { _, _ -> tryToFinishActivity() }
- .show()
- }
- }
- }
- }
-
- private fun tryToFinishActivity() {
- if (!isFinishing) {
- finish()
- }
- }
-
companion object {
-
- 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"
+ "https://github.com/RetroMusicPlayer/RetroMusicPlayer/issues"
}
}
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 de7226b5c..d1113ca56 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
@@ -18,6 +18,7 @@ import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.TextView
+import androidx.core.net.toUri
import androidx.recyclerview.widget.RecyclerView
import code.name.monkey.retromusic.R
import code.name.monkey.retromusic.extensions.openUrl
@@ -26,7 +27,7 @@ import code.name.monkey.retromusic.views.RetroShapeableImageView
import com.bumptech.glide.Glide
class ContributorAdapter(
- private var contributors: List
+ private var contributors: List,
) : RecyclerView.Adapter() {
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
@@ -86,10 +87,9 @@ class ContributorAdapter(
title.text = contributor.name
text.text = contributor.summary
Glide.with(image.context)
- .load(contributor.image)
+ .load("file:///android_asset/images/${contributor.image}".toUri())
.error(R.drawable.ic_account)
.placeholder(R.drawable.ic_account)
- .dontAnimate()
.into(image)
}
}
diff --git a/app/src/main/java/code/name/monkey/retromusic/adapter/HomeAdapter.kt b/app/src/main/java/code/name/monkey/retromusic/adapter/HomeAdapter.kt
index 8c1758879..e3f809b5f 100644
--- a/app/src/main/java/code/name/monkey/retromusic/adapter/HomeAdapter.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/adapter/HomeAdapter.kt
@@ -163,7 +163,7 @@ class HomeAdapter(private val activity: AppCompatActivity) :
val songAdapter = SongAdapter(
activity,
home.arrayList as MutableList,
- R.layout.item_favourite_card, null
+ R.layout.item_favourite_card
)
layoutManager = linearLayoutManager()
adapter = songAdapter
@@ -178,10 +178,10 @@ class HomeAdapter(private val activity: AppCompatActivity) :
}
private fun artistsAdapter(artists: List) =
- ArtistAdapter(activity, artists, PreferenceUtil.homeArtistGridStyle, null, this)
+ ArtistAdapter(activity, artists, PreferenceUtil.homeArtistGridStyle, this)
private fun albumAdapter(albums: List) =
- AlbumAdapter(activity, albums, PreferenceUtil.homeAlbumGridStyle, null, this)
+ AlbumAdapter(activity, albums, PreferenceUtil.homeAlbumGridStyle, this)
private fun gridLayoutManager() =
GridLayoutManager(activity, 1, GridLayoutManager.HORIZONTAL, false)
diff --git a/app/src/main/java/code/name/monkey/retromusic/adapter/SongFileAdapter.kt b/app/src/main/java/code/name/monkey/retromusic/adapter/SongFileAdapter.kt
index a346f1228..b032e6e54 100644
--- a/app/src/main/java/code/name/monkey/retromusic/adapter/SongFileAdapter.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/adapter/SongFileAdapter.kt
@@ -29,7 +29,6 @@ import code.name.monkey.retromusic.extensions.getTintedDrawable
import code.name.monkey.retromusic.glide.GlideApp
import code.name.monkey.retromusic.glide.RetroGlideExtension
import code.name.monkey.retromusic.glide.audiocover.AudioFileCover
-import code.name.monkey.retromusic.interfaces.ICabHolder
import code.name.monkey.retromusic.interfaces.ICallbacks
import code.name.monkey.retromusic.util.MusicUtil
import com.bumptech.glide.load.engine.DiskCacheStrategy
@@ -44,10 +43,9 @@ class SongFileAdapter(
override val activity: AppCompatActivity,
private var dataSet: List,
private val itemLayoutRes: Int,
- private val iCallbacks: ICallbacks?,
- iCabHolder: ICabHolder?,
+ private val iCallbacks: ICallbacks?
) : AbsMultiSelectAdapter(
- activity, iCabHolder, R.menu.menu_media_selection
+ activity, R.menu.menu_media_selection
), PopupTextProvider {
init {
@@ -110,7 +108,7 @@ class SongFileAdapter(
)
)
} else {
- val error = activity.getTintedDrawable(R.drawable.ic_file_music, iconColor)
+ val error = activity.getTintedDrawable(R.drawable.ic_audio_file, iconColor)
GlideApp.with(activity)
.load(AudioFileCover(file.path))
.diskCacheStrategy(DiskCacheStrategy.NONE)
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 49b00d412..33580acd2 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
@@ -30,7 +30,6 @@ import code.name.monkey.retromusic.glide.RetroMusicColoredTarget
import code.name.monkey.retromusic.helper.SortOrder
import code.name.monkey.retromusic.helper.menu.SongsMenuHelper
import code.name.monkey.retromusic.interfaces.IAlbumClickListener
-import code.name.monkey.retromusic.interfaces.ICabHolder
import code.name.monkey.retromusic.model.Album
import code.name.monkey.retromusic.model.Song
import code.name.monkey.retromusic.util.MusicUtil
@@ -42,11 +41,9 @@ open class AlbumAdapter(
override val activity: FragmentActivity,
var dataSet: List,
var itemLayoutRes: Int,
- iCabHolder: ICabHolder?,
val listener: IAlbumClickListener?
) : AbsMultiSelectAdapter(
activity,
- iCabHolder,
R.menu.menu_media_selection
), PopupTextProvider {
diff --git a/app/src/main/java/code/name/monkey/retromusic/adapter/album/HorizontalAlbumAdapter.kt b/app/src/main/java/code/name/monkey/retromusic/adapter/album/HorizontalAlbumAdapter.kt
index 1457de7bc..fe360b1dd 100644
--- a/app/src/main/java/code/name/monkey/retromusic/adapter/album/HorizontalAlbumAdapter.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/adapter/album/HorizontalAlbumAdapter.kt
@@ -22,7 +22,6 @@ import code.name.monkey.retromusic.glide.RetroGlideExtension
import code.name.monkey.retromusic.glide.RetroMusicColoredTarget
import code.name.monkey.retromusic.helper.HorizontalAdapterHelper
import code.name.monkey.retromusic.interfaces.IAlbumClickListener
-import code.name.monkey.retromusic.interfaces.ICabHolder
import code.name.monkey.retromusic.model.Album
import code.name.monkey.retromusic.util.MusicUtil
import code.name.monkey.retromusic.util.color.MediaNotificationProcessor
@@ -30,10 +29,9 @@ import code.name.monkey.retromusic.util.color.MediaNotificationProcessor
class HorizontalAlbumAdapter(
activity: FragmentActivity,
dataSet: List,
- ICabHolder: ICabHolder?,
albumClickListener: IAlbumClickListener
) : AlbumAdapter(
- activity, dataSet, HorizontalAdapterHelper.LAYOUT_RES, ICabHolder, albumClickListener
+ activity, dataSet, HorizontalAdapterHelper.LAYOUT_RES, albumClickListener
) {
override fun createViewHolder(view: View, viewType: Int): ViewHolder {
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 4976fcb44..30436a97d 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
@@ -33,7 +33,6 @@ import code.name.monkey.retromusic.glide.RetroMusicColoredTarget
import code.name.monkey.retromusic.helper.menu.SongsMenuHelper
import code.name.monkey.retromusic.interfaces.IAlbumArtistClickListener
import code.name.monkey.retromusic.interfaces.IArtistClickListener
-import code.name.monkey.retromusic.interfaces.ICabHolder
import code.name.monkey.retromusic.model.Artist
import code.name.monkey.retromusic.model.Song
import code.name.monkey.retromusic.util.MusicUtil
@@ -45,12 +44,10 @@ class ArtistAdapter(
override val activity: FragmentActivity,
var dataSet: List,
var itemLayoutRes: Int,
- val ICabHolder: ICabHolder?,
val IArtistClickListener: IArtistClickListener,
val IAlbumArtistClickListener: IAlbumArtistClickListener? = null
-) : AbsMultiSelectAdapter(
- activity, ICabHolder, R.menu.menu_media_selection
-), PopupTextProvider {
+) : AbsMultiSelectAdapter(activity, R.menu.menu_media_selection),
+ PopupTextProvider {
var albumArtistsOnly = false
diff --git a/app/src/main/java/code/name/monkey/retromusic/adapter/base/AbsMultiSelectAdapter.kt b/app/src/main/java/code/name/monkey/retromusic/adapter/base/AbsMultiSelectAdapter.kt
index 675c3cbda..bb7b8491c 100644
--- a/app/src/main/java/code/name/monkey/retromusic/adapter/base/AbsMultiSelectAdapter.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/adapter/base/AbsMultiSelectAdapter.kt
@@ -1,56 +1,58 @@
package code.name.monkey.retromusic.adapter.base
-import android.annotation.SuppressLint
import android.graphics.Color
+import android.view.ActionMode
import android.view.Menu
import android.view.MenuItem
+import androidx.activity.OnBackPressedCallback
import androidx.annotation.MenuRes
import androidx.fragment.app.FragmentActivity
import androidx.recyclerview.widget.RecyclerView
import code.name.monkey.appthemehelper.util.VersionUtils
import code.name.monkey.retromusic.R
-import code.name.monkey.retromusic.extensions.surfaceColor
-import code.name.monkey.retromusic.interfaces.ICabCallback
-import code.name.monkey.retromusic.interfaces.ICabHolder
-import code.name.monkey.retromusic.util.RetroColorUtil
-import com.afollestad.materialcab.attached.AttachedCab
-import com.afollestad.materialcab.attached.destroy
-import com.afollestad.materialcab.attached.isActive
+import code.name.monkey.retromusic.databinding.NumberRollViewBinding
+import code.name.monkey.retromusic.views.NumberRollView
abstract class AbsMultiSelectAdapter(
- open val activity: FragmentActivity, private val ICabHolder: ICabHolder?, @MenuRes menuRes: Int
-) : RecyclerView.Adapter(), ICabCallback {
- private var cab: AttachedCab? = null
+ open val activity: FragmentActivity, @MenuRes menuRes: Int,
+) : RecyclerView.Adapter(), ActionMode.Callback {
+ var actionMode: ActionMode? = null
private val checked: MutableList
private var menuRes: Int
- override fun onCabCreated(cab: AttachedCab, menu: Menu): Boolean {
- activity.window.statusBarColor =
- RetroColorUtil.shiftBackgroundColor(activity.surfaceColor())
+
+ override fun onCreateActionMode(mode: ActionMode?, menu: Menu?): Boolean {
+ val inflater = mode?.menuInflater
+ inflater?.inflate(menuRes, menu)
return true
}
- override fun onCabFinished(cab: AttachedCab): Boolean {
- clearChecked()
- activity.window.statusBarColor = when {
- VersionUtils.hasMarshmallow() -> Color.TRANSPARENT
- else -> Color.BLACK
- }
- return true
+ override fun onPrepareActionMode(mode: ActionMode?, menu: Menu?): Boolean {
+ return false
}
- override fun onCabItemClicked(item: MenuItem): Boolean {
- if (item.itemId == R.id.action_multi_select_adapter_check_all) {
+ override fun onActionItemClicked(mode: ActionMode?, item: MenuItem?): Boolean {
+ if (item?.itemId == R.id.action_multi_select_adapter_check_all) {
checkAll()
} else {
- onMultipleItemAction(item, ArrayList(checked))
- cab?.destroy()
+ onMultipleItemAction(item!!, ArrayList(checked))
+ actionMode?.finish()
clearChecked()
}
return true
}
+ override fun onDestroyActionMode(mode: ActionMode?) {
+ clearChecked()
+ activity.window.statusBarColor = when {
+ VersionUtils.hasMarshmallow() -> Color.TRANSPARENT
+ else -> Color.BLACK
+ }
+ actionMode = null
+ onBackPressedCallback.remove()
+ }
+
private fun checkAll() {
- if (ICabHolder != null) {
+ if (actionMode != null) {
checked.clear()
for (i in 0 until itemCount) {
val identifier = getIdentifier(i)
@@ -72,7 +74,7 @@ abstract class AbsMultiSelectAdapter(
}
protected val isInQuickSelectMode: Boolean
- get() = cab != null && cab!!.isActive()
+ get() = actionMode != null
protected abstract fun onMultipleItemAction(menuItem: MenuItem, selection: List)
protected fun setMultiSelectMenuRes(@MenuRes menuRes: Int) {
@@ -80,16 +82,13 @@ abstract class AbsMultiSelectAdapter(
}
protected fun toggleChecked(position: Int): Boolean {
- if (ICabHolder != null) {
- val identifier = getIdentifier(position) ?: return false
- if (!checked.remove(identifier)) {
- checked.add(identifier)
- }
- notifyItemChanged(position)
- updateCab()
- return true
+ val identifier = getIdentifier(position) ?: return false
+ if (!checked.remove(identifier)) {
+ checked.add(identifier)
}
- return false
+ notifyItemChanged(position)
+ updateCab()
+ return true
}
private fun clearChecked() {
@@ -97,23 +96,21 @@ abstract class AbsMultiSelectAdapter(
notifyDataSetChanged()
}
- @SuppressLint("StringFormatInvalid", "StringFormatMatches")
private fun updateCab() {
- if (ICabHolder != null) {
- if (cab == null || !cab!!.isActive()) {
- cab = ICabHolder.openCab(menuRes, this)
+ if (actionMode == null) {
+ actionMode = activity.startActionMode(this)?.apply {
+ customView = NumberRollViewBinding.inflate(activity.layoutInflater).root
}
- val size = checked.size
- when {
- size <= 0 -> {
- cab?.destroy()
- }
- size == 1 -> {
- cab?.title(literal = getName(checked[0]))
- }
- else -> {
- cab?.title(literal = activity.getString(R.string.x_selected, size))
- }
+ activity.onBackPressedDispatcher.addCallback(onBackPressedCallback)
+ }
+ val size = checked.size
+ when {
+ size <= 0 -> {
+ actionMode?.finish()
+ }
+ else -> {
+ actionMode?.customView?.findViewById(R.id.selection_mode_number)
+ ?.setNumber(size, true)
}
}
}
@@ -122,4 +119,13 @@ abstract class AbsMultiSelectAdapter(
checked = ArrayList()
this.menuRes = menuRes
}
+
+ private val onBackPressedCallback = object : OnBackPressedCallback(true) {
+ override fun handleOnBackPressed() {
+ if (actionMode != null) {
+ actionMode?.finish()
+ remove()
+ }
+ }
+ }
}
\ No newline at end of file
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 70afd22b1..f752e2765 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
@@ -15,6 +15,7 @@
package code.name.monkey.retromusic.adapter.playlist
import android.graphics.Color
+import android.graphics.drawable.Drawable
import android.view.LayoutInflater
import android.view.MenuItem
import android.view.View
@@ -23,6 +24,8 @@ import androidx.appcompat.widget.PopupMenu
import androidx.core.view.isGone
import androidx.core.view.setPadding
import androidx.fragment.app.FragmentActivity
+import code.name.monkey.appthemehelper.util.ATHUtil
+import code.name.monkey.appthemehelper.util.TintHelper
import code.name.monkey.retromusic.R
import code.name.monkey.retromusic.adapter.base.AbsMultiSelectAdapter
import code.name.monkey.retromusic.adapter.base.MediaEntryViewHolder
@@ -35,7 +38,6 @@ import code.name.monkey.retromusic.glide.playlistPreview.PlaylistPreview
import code.name.monkey.retromusic.helper.SortOrder.PlaylistSortOrder
import code.name.monkey.retromusic.helper.menu.PlaylistMenuHelper
import code.name.monkey.retromusic.helper.menu.SongsMenuHelper
-import code.name.monkey.retromusic.interfaces.ICabHolder
import code.name.monkey.retromusic.interfaces.IPlaylistClickListener
import code.name.monkey.retromusic.model.Song
import code.name.monkey.retromusic.util.MusicUtil
@@ -46,11 +48,9 @@ class PlaylistAdapter(
override val activity: FragmentActivity,
var dataSet: List,
private var itemLayoutRes: Int,
- ICabHolder: ICabHolder?,
private val listener: IPlaylistClickListener
) : AbsMultiSelectAdapter(
activity,
- ICabHolder,
R.menu.menu_playlists_selection
), PopupTextProvider {
@@ -72,7 +72,7 @@ class PlaylistAdapter(
return createViewHolder(view)
}
- fun createViewHolder(view: View): ViewHolder {
+ private fun createViewHolder(view: View): ViewHolder {
return ViewHolder(view)
}
@@ -101,17 +101,25 @@ class PlaylistAdapter(
holder.title?.text = getPlaylistTitle(playlist.playlistEntity)
holder.text?.text = getPlaylistText(playlist)
holder.menu?.isGone = isChecked(playlist)
- GlideApp.with(activity)
- .load(
- if (itemLayoutRes == R.layout.item_list) {
- holder.image?.setPadding(activity.dipToPix(8F).toInt())
- R.drawable.ic_playlist_play
- } else PlaylistPreview(playlist)
- )
- .playlistOptions()
- .into(holder.image!!)
+ if (itemLayoutRes == R.layout.item_list) {
+ holder.image?.setPadding(activity.dipToPix(8F).toInt())
+ holder.image?.setImageDrawable(getIconRes())
+ } else {
+ GlideApp.with(activity)
+ .load(
+ PlaylistPreview(playlist)
+ )
+ .playlistOptions()
+ .into(holder.image!!)
+ }
}
+ private fun getIconRes(): Drawable = TintHelper.createTintedDrawable(
+ activity,
+ R.drawable.ic_playlist_play,
+ ATHUtil.resolveColor(activity, android.R.attr.colorControlNormal)
+ )
+
override fun getItemCount(): Int {
return dataSet.size
}
diff --git a/app/src/main/java/code/name/monkey/retromusic/adapter/song/AbsOffsetSongAdapter.kt b/app/src/main/java/code/name/monkey/retromusic/adapter/song/AbsOffsetSongAdapter.kt
index 03ed72337..2d5fd724f 100644
--- a/app/src/main/java/code/name/monkey/retromusic/adapter/song/AbsOffsetSongAdapter.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/adapter/song/AbsOffsetSongAdapter.kt
@@ -21,15 +21,13 @@ import androidx.annotation.LayoutRes
import androidx.fragment.app.FragmentActivity
import code.name.monkey.retromusic.R
import code.name.monkey.retromusic.helper.MusicPlayerRemote
-import code.name.monkey.retromusic.interfaces.ICabHolder
import code.name.monkey.retromusic.model.Song
abstract class AbsOffsetSongAdapter(
activity: FragmentActivity,
dataSet: MutableList,
- @LayoutRes itemLayoutRes: Int,
- ICabHolder: ICabHolder?
-) : SongAdapter(activity, dataSet, itemLayoutRes, ICabHolder) {
+ @LayoutRes itemLayoutRes: Int
+) : SongAdapter(activity, dataSet, itemLayoutRes) {
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): SongAdapter.ViewHolder {
if (viewType == OFFSET_ITEM) {
diff --git a/app/src/main/java/code/name/monkey/retromusic/adapter/song/OrderablePlaylistSongAdapter.kt b/app/src/main/java/code/name/monkey/retromusic/adapter/song/OrderablePlaylistSongAdapter.kt
index 918ceb8de..50b2f8129 100644
--- a/app/src/main/java/code/name/monkey/retromusic/adapter/song/OrderablePlaylistSongAdapter.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/adapter/song/OrderablePlaylistSongAdapter.kt
@@ -28,7 +28,6 @@ import code.name.monkey.retromusic.extensions.accentColor
import code.name.monkey.retromusic.extensions.accentOutlineColor
import code.name.monkey.retromusic.fragments.LibraryViewModel
import code.name.monkey.retromusic.helper.MusicPlayerRemote
-import code.name.monkey.retromusic.interfaces.ICabHolder
import code.name.monkey.retromusic.model.Song
import com.google.android.material.button.MaterialButton
import com.h6ah4i.android.widget.advrecyclerview.draggable.DraggableItemAdapter
@@ -42,8 +41,7 @@ class OrderablePlaylistSongAdapter(
activity: FragmentActivity,
dataSet: MutableList,
itemLayoutRes: Int,
- ICabHolder: ICabHolder?,
-) : AbsOffsetSongAdapter(activity, dataSet, itemLayoutRes, ICabHolder),
+) : AbsOffsetSongAdapter(activity, dataSet, itemLayoutRes),
DraggableItemAdapter {
val libraryViewModel: LibraryViewModel by activity.viewModel()
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 3ffad5efd..c3e955936 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
@@ -43,9 +43,8 @@ class PlayingQueueAdapter(
dataSet: MutableList,
private var current: Int,
itemLayoutRes: Int,
-) : SongAdapter(
- activity, dataSet, itemLayoutRes, null
-), DraggableItemAdapter,
+) : SongAdapter(activity, dataSet, itemLayoutRes),
+ DraggableItemAdapter,
SwipeableItemAdapter,
PopupTextProvider {
diff --git a/app/src/main/java/code/name/monkey/retromusic/adapter/song/ShuffleButtonSongAdapter.kt b/app/src/main/java/code/name/monkey/retromusic/adapter/song/ShuffleButtonSongAdapter.kt
index b8f053ec7..82ba1a7f7 100644
--- a/app/src/main/java/code/name/monkey/retromusic/adapter/song/ShuffleButtonSongAdapter.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/adapter/song/ShuffleButtonSongAdapter.kt
@@ -21,7 +21,6 @@ import code.name.monkey.retromusic.R
import code.name.monkey.retromusic.extensions.accentColor
import code.name.monkey.retromusic.extensions.accentOutlineColor
import code.name.monkey.retromusic.helper.MusicPlayerRemote
-import code.name.monkey.retromusic.interfaces.ICabHolder
import code.name.monkey.retromusic.model.Song
import code.name.monkey.retromusic.util.PreferenceUtil
import code.name.monkey.retromusic.util.RetroUtil
@@ -30,9 +29,8 @@ import com.google.android.material.button.MaterialButton
class ShuffleButtonSongAdapter(
activity: FragmentActivity,
dataSet: MutableList,
- itemLayoutRes: Int,
- ICabHolder: ICabHolder?
-) : AbsOffsetSongAdapter(activity, dataSet, itemLayoutRes, ICabHolder) {
+ itemLayoutRes: Int
+) : AbsOffsetSongAdapter(activity, dataSet, itemLayoutRes) {
override fun createViewHolder(view: View): SongAdapter.ViewHolder {
diff --git a/app/src/main/java/code/name/monkey/retromusic/adapter/song/SimpleSongAdapter.kt b/app/src/main/java/code/name/monkey/retromusic/adapter/song/SimpleSongAdapter.kt
index e96ab0924..c8de82062 100755
--- a/app/src/main/java/code/name/monkey/retromusic/adapter/song/SimpleSongAdapter.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/adapter/song/SimpleSongAdapter.kt
@@ -17,16 +17,14 @@ package code.name.monkey.retromusic.adapter.song
import android.view.LayoutInflater
import android.view.ViewGroup
import androidx.fragment.app.FragmentActivity
-import code.name.monkey.retromusic.interfaces.ICabHolder
import code.name.monkey.retromusic.model.Song
import code.name.monkey.retromusic.util.MusicUtil
class SimpleSongAdapter(
context: FragmentActivity,
songs: ArrayList,
- layoutRes: Int,
- ICabHolder: ICabHolder?
-) : SongAdapter(context, songs, layoutRes, ICabHolder) {
+ layoutRes: Int
+) : SongAdapter(context, songs, layoutRes) {
override fun swapDataSet(dataSet: List) {
this.dataSet = dataSet.toMutableList()
diff --git a/app/src/main/java/code/name/monkey/retromusic/adapter/song/SongAdapter.kt b/app/src/main/java/code/name/monkey/retromusic/adapter/song/SongAdapter.kt
index 5023f7ba1..889861b0d 100644
--- a/app/src/main/java/code/name/monkey/retromusic/adapter/song/SongAdapter.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/adapter/song/SongAdapter.kt
@@ -36,8 +36,6 @@ import code.name.monkey.retromusic.helper.MusicPlayerRemote
import code.name.monkey.retromusic.helper.SortOrder
import code.name.monkey.retromusic.helper.menu.SongMenuHelper
import code.name.monkey.retromusic.helper.menu.SongsMenuHelper
-import code.name.monkey.retromusic.interfaces.ICabCallback
-import code.name.monkey.retromusic.interfaces.ICabHolder
import code.name.monkey.retromusic.model.Song
import code.name.monkey.retromusic.util.MusicUtil
import code.name.monkey.retromusic.util.PreferenceUtil
@@ -53,13 +51,11 @@ open class SongAdapter(
override val activity: FragmentActivity,
var dataSet: MutableList,
protected var itemLayoutRes: Int,
- ICabHolder: ICabHolder?,
showSectionName: Boolean = true
) : AbsMultiSelectAdapter(
activity,
- ICabHolder,
R.menu.menu_media_selection
-), ICabCallback, PopupTextProvider {
+), PopupTextProvider {
private var showSectionName = true
@@ -217,6 +213,7 @@ open class SongAdapter(
}
override fun onLongClick(v: View?): Boolean {
+ println("Long click")
return toggleChecked(layoutPosition)
}
}
diff --git a/app/src/main/java/code/name/monkey/retromusic/extensions/ViewExtensions.kt b/app/src/main/java/code/name/monkey/retromusic/extensions/ViewExtensions.kt
index 02764b1a0..a83f27e10 100644
--- a/app/src/main/java/code/name/monkey/retromusic/extensions/ViewExtensions.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/extensions/ViewExtensions.kt
@@ -14,7 +14,6 @@
*/
package code.name.monkey.retromusic.extensions
-import android.R
import android.animation.Animator
import android.animation.ObjectAnimator
import android.animation.ValueAnimator
@@ -72,7 +71,7 @@ fun EditText.appHandleColor(): EditText {
fun NavigationBarView.setItemColors(@ColorInt normalColor: Int, @ColorInt selectedColor: Int) {
val csl = ColorStateList(
- arrayOf(intArrayOf(-R.attr.state_checked), intArrayOf(R.attr.state_checked)),
+ arrayOf(intArrayOf(-android.R.attr.state_checked), intArrayOf(android.R.attr.state_checked)),
intArrayOf(normalColor, selectedColor)
)
itemIconTintList = csl
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 add374830..31d5a4095 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
@@ -19,7 +19,6 @@ import android.content.Intent
import android.graphics.Color
import android.os.Bundle
import android.view.*
-import androidx.activity.addCallback
import androidx.appcompat.app.AppCompatActivity
import androidx.core.os.bundleOf
import androidx.core.text.parseAsHtml
@@ -31,7 +30,6 @@ import androidx.navigation.fragment.navArgs
import androidx.recyclerview.widget.DefaultItemAnimator
import androidx.recyclerview.widget.GridLayoutManager
import androidx.recyclerview.widget.LinearLayoutManager
-import androidx.transition.Fade
import code.name.monkey.appthemehelper.common.ATHToolbarActivity.getToolbarBackgroundColor
import code.name.monkey.appthemehelper.util.ToolbarContentTintHelper
import code.name.monkey.retromusic.EXTRA_ALBUM_ID
@@ -56,18 +54,12 @@ import code.name.monkey.retromusic.helper.SortOrder.AlbumSongSortOrder.Companion
import code.name.monkey.retromusic.helper.SortOrder.AlbumSongSortOrder.Companion.SONG_TRACK_LIST
import code.name.monkey.retromusic.helper.SortOrder.AlbumSongSortOrder.Companion.SONG_Z_A
import code.name.monkey.retromusic.interfaces.IAlbumClickListener
-import code.name.monkey.retromusic.interfaces.ICabCallback
-import code.name.monkey.retromusic.interfaces.ICabHolder
import code.name.monkey.retromusic.model.Album
import code.name.monkey.retromusic.model.Artist
import code.name.monkey.retromusic.network.Result
import code.name.monkey.retromusic.network.model.LastFmAlbum
import code.name.monkey.retromusic.repository.RealRepository
import code.name.monkey.retromusic.util.*
-import com.afollestad.materialcab.attached.AttachedCab
-import com.afollestad.materialcab.attached.destroy
-import com.afollestad.materialcab.attached.isActive
-import com.afollestad.materialcab.createCab
import com.google.android.material.shape.MaterialShapeDrawable
import com.google.android.material.transition.MaterialArcMotion
import com.google.android.material.transition.MaterialContainerTransform
@@ -80,7 +72,7 @@ import org.koin.core.parameter.parametersOf
import java.text.Collator
class AlbumDetailsFragment : AbsMainActivityFragment(R.layout.fragment_album_details),
- IAlbumClickListener, ICabHolder {
+ IAlbumClickListener {
private var _binding: FragmentAlbumDetailsBinding? = null
private val binding get() = _binding!!
@@ -110,20 +102,18 @@ class AlbumDetailsFragment : AbsMainActivityFragment(R.layout.fragment_album_det
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
_binding = FragmentAlbumDetailsBinding.bind(view)
- enterTransition = Fade()
- exitTransition = Fade()
mainActivity.addMusicServiceEventListener(detailsViewModel)
mainActivity.setSupportActionBar(binding.toolbar)
binding.toolbar.title = " "
binding.albumCoverContainer.transitionName = arguments.extraAlbumId.toString()
postponeEnterTransition()
- detailsViewModel.getAlbum().observe(viewLifecycleOwner) {
+ detailsViewModel.getAlbum().observe(viewLifecycleOwner) { album ->
view.doOnPreDraw {
startPostponedEnterTransition()
}
- albumArtistExists = !it.albumArtist.isNullOrEmpty()
- showAlbum(it)
+ albumArtistExists = !album.albumArtist.isNullOrEmpty()
+ showAlbum(album)
binding.artistImage.transitionName = if (albumArtistExists) {
album.albumArtist
} else {
@@ -170,12 +160,6 @@ class AlbumDetailsFragment : AbsMainActivityFragment(R.layout.fragment_album_det
}
}
- requireActivity().onBackPressedDispatcher.addCallback(viewLifecycleOwner) {
- if (!handleBackPress()) {
- remove()
- requireActivity().onBackPressed()
- }
- }
binding.appBarLayout?.statusBarForeground =
MaterialShapeDrawable.createWithElevationOverlay(requireContext())
}
@@ -189,8 +173,7 @@ class AlbumDetailsFragment : AbsMainActivityFragment(R.layout.fragment_album_det
simpleSongAdapter = SimpleSongAdapter(
requireActivity() as AppCompatActivity,
ArrayList(),
- R.layout.item_song,
- this
+ R.layout.item_song
)
binding.fragmentAlbumContent.recyclerView.apply {
layoutManager = LinearLayoutManager(requireContext())
@@ -264,7 +247,7 @@ class AlbumDetailsFragment : AbsMainActivityFragment(R.layout.fragment_album_det
String.format(getString(R.string.label_more_from), album.artistName)
val albumAdapter =
- HorizontalAlbumAdapter(requireActivity() as AppCompatActivity, albums, this, this)
+ HorizontalAlbumAdapter(requireActivity() as AppCompatActivity, albums, this)
binding.fragmentAlbumContent.moreRecyclerView.layoutManager = GridLayoutManager(
requireContext(),
1,
@@ -452,38 +435,6 @@ class AlbumDetailsFragment : AbsMainActivityFragment(R.layout.fragment_album_det
simpleSongAdapter.swapDataSet(album.songs)
}
- private fun handleBackPress(): Boolean {
- cab?.let {
- if (it.isActive()) {
- it.destroy()
- return true
- }
- }
- return false
- }
-
- private var cab: AttachedCab? = null
-
- override fun openCab(menuRes: Int, callback: ICabCallback): AttachedCab {
- cab?.let {
- if (it.isActive()) {
- it.destroy()
- }
- }
- cab = createCab(R.id.toolbar_container) {
- menu(menuRes)
- closeDrawable(R.drawable.ic_close)
- backgroundColor(literal = RetroColorUtil.shiftBackgroundColor(surfaceColor()))
- slideDown()
- onCreate { cab, menu -> callback.onCabCreated(cab, menu) }
- onSelection {
- callback.onCabItemClicked(it)
- }
- onDestroy { callback.onCabFinished(it) }
- }
- return cab as AttachedCab
- }
-
override fun onDestroyView() {
super.onDestroyView()
_binding = null
diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/albums/AlbumsFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/albums/AlbumsFragment.kt
index ed00699a5..14d25e848 100644
--- a/app/src/main/java/code/name/monkey/retromusic/fragments/albums/AlbumsFragment.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/fragments/albums/AlbumsFragment.kt
@@ -16,7 +16,6 @@ package code.name.monkey.retromusic.fragments.albums
import android.os.Bundle
import android.view.*
-import androidx.activity.addCallback
import androidx.core.os.bundleOf
import androidx.navigation.fragment.FragmentNavigatorExtras
import androidx.navigation.fragment.findNavController
@@ -25,26 +24,18 @@ import code.name.monkey.retromusic.EXTRA_ALBUM_ID
import code.name.monkey.retromusic.R
import code.name.monkey.retromusic.adapter.album.AlbumAdapter
import code.name.monkey.retromusic.extensions.setUpMediaRouteButton
-import code.name.monkey.retromusic.extensions.surfaceColor
import code.name.monkey.retromusic.fragments.GridStyle
import code.name.monkey.retromusic.fragments.ReloadType
import code.name.monkey.retromusic.fragments.base.AbsRecyclerViewCustomGridSizeFragment
import code.name.monkey.retromusic.helper.MusicPlayerRemote
import code.name.monkey.retromusic.helper.SortOrder.AlbumSortOrder
import code.name.monkey.retromusic.interfaces.IAlbumClickListener
-import code.name.monkey.retromusic.interfaces.ICabCallback
-import code.name.monkey.retromusic.interfaces.ICabHolder
import code.name.monkey.retromusic.service.MusicService
import code.name.monkey.retromusic.util.PreferenceUtil
-import code.name.monkey.retromusic.util.RetroColorUtil
import code.name.monkey.retromusic.util.RetroUtil
-import com.afollestad.materialcab.attached.AttachedCab
-import com.afollestad.materialcab.attached.destroy
-import com.afollestad.materialcab.attached.isActive
-import com.afollestad.materialcab.createCab
class AlbumsFragment : AbsRecyclerViewCustomGridSizeFragment(),
- IAlbumClickListener, ICabHolder {
+ IAlbumClickListener {
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
@@ -54,12 +45,6 @@ class AlbumsFragment : AbsRecyclerViewCustomGridSizeFragment callback.onCabCreated(cab, menu) }
- onSelection {
- callback.onCabItemClicked(it)
- }
- onDestroy { callback.onCabFinished(it) }
- }
- return cab as AttachedCab
+ adapter?.actionMode?.finish()
}
}
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 d6914c1d3..4af6750dc 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
@@ -9,7 +9,6 @@ import android.view.Menu
import android.view.MenuInflater
import android.view.MenuItem
import android.view.View
-import androidx.activity.addCallback
import androidx.activity.result.contract.ActivityResultContracts
import androidx.appcompat.widget.PopupMenu
import androidx.core.os.bundleOf
@@ -22,7 +21,6 @@ import androidx.navigation.fragment.findNavController
import androidx.recyclerview.widget.DefaultItemAnimator
import androidx.recyclerview.widget.GridLayoutManager
import androidx.recyclerview.widget.LinearLayoutManager
-import androidx.transition.Fade
import code.name.monkey.retromusic.EXTRA_ALBUM_ID
import code.name.monkey.retromusic.R
import code.name.monkey.retromusic.adapter.album.HorizontalAlbumAdapter
@@ -37,17 +35,11 @@ import code.name.monkey.retromusic.glide.SingleColorTarget
import code.name.monkey.retromusic.helper.MusicPlayerRemote
import code.name.monkey.retromusic.helper.SortOrder
import code.name.monkey.retromusic.interfaces.IAlbumClickListener
-import code.name.monkey.retromusic.interfaces.ICabCallback
-import code.name.monkey.retromusic.interfaces.ICabHolder
import code.name.monkey.retromusic.model.Artist
import code.name.monkey.retromusic.network.Result
import code.name.monkey.retromusic.network.model.LastFmArtist
import code.name.monkey.retromusic.repository.RealRepository
import code.name.monkey.retromusic.util.*
-import com.afollestad.materialcab.attached.AttachedCab
-import com.afollestad.materialcab.attached.destroy
-import com.afollestad.materialcab.attached.isActive
-import com.afollestad.materialcab.createCab
import com.google.android.material.shape.MaterialShapeDrawable
import com.google.android.material.transition.MaterialContainerTransform
import kotlinx.coroutines.Dispatchers
@@ -57,7 +49,7 @@ import org.koin.android.ext.android.get
import java.util.*
abstract class AbsArtistDetailsFragment : AbsMainActivityFragment(R.layout.fragment_artist_details),
- IAlbumClickListener, ICabHolder {
+ IAlbumClickListener {
private var _binding: FragmentArtistDetailsBinding? = null
private val binding get() = _binding!!
@@ -86,8 +78,6 @@ abstract class AbsArtistDetailsFragment : AbsMainActivityFragment(R.layout.fragm
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
_binding = FragmentArtistDetailsBinding.bind(view)
- enterTransition = Fade()
- exitTransition = Fade()
mainActivity.addMusicServiceEventListener(detailsViewModel)
mainActivity.setSupportActionBar(binding.toolbar)
binding.toolbar.title = null
@@ -115,26 +105,19 @@ abstract class AbsArtistDetailsFragment : AbsMainActivityFragment(R.layout.fragm
binding.fragmentArtistContent.biographyText.maxLines = 4
}
}
-
- requireActivity().onBackPressedDispatcher.addCallback(viewLifecycleOwner) {
- if (!handleBackPress()) {
- remove()
- requireActivity().onBackPressed()
- }
- }
setupSongSortButton()
binding.appBarLayout?.statusBarForeground =
MaterialShapeDrawable.createWithElevationOverlay(requireContext())
}
private fun setupRecyclerView() {
- albumAdapter = HorizontalAlbumAdapter(requireActivity(), ArrayList(), this, this)
+ albumAdapter = HorizontalAlbumAdapter(requireActivity(), ArrayList(), this)
binding.fragmentArtistContent.albumRecyclerView.apply {
itemAnimator = DefaultItemAnimator()
layoutManager = GridLayoutManager(this.context, 1, GridLayoutManager.HORIZONTAL, false)
adapter = albumAdapter
}
- songAdapter = SimpleSongAdapter(requireActivity(), ArrayList(), R.layout.item_song, this)
+ songAdapter = SimpleSongAdapter(requireActivity(), ArrayList(), R.layout.item_song)
binding.fragmentArtistContent.recyclerView.apply {
itemAnimator = DefaultItemAnimator()
layoutManager = LinearLayoutManager(this.context)
@@ -277,8 +260,12 @@ abstract class AbsArtistDetailsFragment : AbsMainActivityFragment(R.layout.fragm
R.id.action_set_artist_image -> {
val intent = Intent(Intent.ACTION_GET_CONTENT)
intent.type = "image/*"
- selectImageLauncher.launch(Intent.createChooser(intent,
- getString(R.string.pick_from_local_storage)))
+ selectImageLauncher.launch(
+ Intent.createChooser(
+ intent,
+ getString(R.string.pick_from_local_storage)
+ )
+ )
return true
}
R.id.action_reset_artist_image -> {
@@ -359,40 +346,6 @@ abstract class AbsArtistDetailsFragment : AbsMainActivityFragment(R.layout.fragm
inflater.inflate(R.menu.menu_artist_detail, menu)
}
-
- private fun handleBackPress(): Boolean {
- cab?.let {
- if (it.isActive()) {
- it.destroy()
- return true
- }
- }
- return false
- }
-
- private var cab: AttachedCab? = null
-
- override fun openCab(menuRes: Int, callback: ICabCallback): AttachedCab {
- cab?.let {
- if (it.isActive()) {
- it.destroy()
- }
- }
- cab = createCab(R.id.toolbar_container) {
- menu(menuRes)
- closeDrawable(R.drawable.ic_close)
- backgroundColor(literal = RetroColorUtil.shiftBackgroundColor(surfaceColor()))
- slideDown()
- onCreate { cab, menu -> callback.onCabCreated(cab, menu) }
- onSelection {
- callback.onCabItemClicked(it)
- }
- onDestroy { callback.onCabFinished(it) }
- }
- return cab as AttachedCab
- }
-
-
override fun onDestroyView() {
super.onDestroyView()
_binding = null
diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/artists/ArtistsFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/artists/ArtistsFragment.kt
index 1fbb374cc..8e3cff6cc 100644
--- a/app/src/main/java/code/name/monkey/retromusic/fragments/artists/ArtistsFragment.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/fragments/artists/ArtistsFragment.kt
@@ -16,7 +16,6 @@ package code.name.monkey.retromusic.fragments.artists
import android.os.Bundle
import android.view.*
-import androidx.activity.addCallback
import androidx.core.os.bundleOf
import androidx.navigation.fragment.FragmentNavigatorExtras
import androidx.navigation.fragment.findNavController
@@ -26,7 +25,6 @@ import code.name.monkey.retromusic.EXTRA_ARTIST_NAME
import code.name.monkey.retromusic.R
import code.name.monkey.retromusic.adapter.artist.ArtistAdapter
import code.name.monkey.retromusic.extensions.setUpMediaRouteButton
-import code.name.monkey.retromusic.extensions.surfaceColor
import code.name.monkey.retromusic.fragments.GridStyle
import code.name.monkey.retromusic.fragments.ReloadType
import code.name.monkey.retromusic.fragments.base.AbsRecyclerViewCustomGridSizeFragment
@@ -34,19 +32,12 @@ import code.name.monkey.retromusic.helper.MusicPlayerRemote
import code.name.monkey.retromusic.helper.SortOrder.ArtistSortOrder
import code.name.monkey.retromusic.interfaces.IAlbumArtistClickListener
import code.name.monkey.retromusic.interfaces.IArtistClickListener
-import code.name.monkey.retromusic.interfaces.ICabCallback
-import code.name.monkey.retromusic.interfaces.ICabHolder
import code.name.monkey.retromusic.service.MusicService
import code.name.monkey.retromusic.util.PreferenceUtil
-import code.name.monkey.retromusic.util.RetroColorUtil
import code.name.monkey.retromusic.util.RetroUtil
-import com.afollestad.materialcab.attached.AttachedCab
-import com.afollestad.materialcab.attached.destroy
-import com.afollestad.materialcab.attached.isActive
-import com.afollestad.materialcab.createCab
class ArtistsFragment : AbsRecyclerViewCustomGridSizeFragment(),
- IArtistClickListener, IAlbumArtistClickListener, ICabHolder {
+ IArtistClickListener, IAlbumArtistClickListener {
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
libraryViewModel.getArtists().observe(viewLifecycleOwner) {
@@ -55,12 +46,6 @@ class ArtistsFragment : AbsRecyclerViewCustomGridSizeFragment callback.onCabCreated(cab, menu) }
- onSelection {
- callback.onCabItemClicked(it)
- }
- onDestroy { callback.onCabFinished(it) }
- }
- return cab as AttachedCab
- }
-
override fun onResume() {
super.onResume()
libraryViewModel.forceReload(ReloadType.Artists)
}
-
- override fun onPause() {
- super.onPause()
- if (cab.isActive()) {
- cab.destroy()
- }
- }
}
diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/base/AbsMusicServiceFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/base/AbsMusicServiceFragment.kt
index 359aa7458..19dfc7b85 100644
--- a/app/src/main/java/code/name/monkey/retromusic/fragments/base/AbsMusicServiceFragment.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/fragments/base/AbsMusicServiceFragment.kt
@@ -24,7 +24,6 @@ import androidx.navigation.navOptions
import code.name.monkey.retromusic.R
import code.name.monkey.retromusic.activities.base.AbsMusicServiceActivity
import code.name.monkey.retromusic.interfaces.IMusicServiceEventListener
-import code.name.monkey.retromusic.util.maybeShowAnnoyingToasts
/**
* Created by hemanths on 18/08/17.
@@ -66,7 +65,6 @@ open class AbsMusicServiceFragment(@LayoutRes layout: Int) : Fragment(layout),
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
serviceActivity?.addMusicServiceEventListener(this)
- maybeShowAnnoyingToasts()
}
@CallSuper
diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/base/AbsRecyclerViewFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/base/AbsRecyclerViewFragment.kt
index eafdfee8f..80089a097 100644
--- a/app/src/main/java/code/name/monkey/retromusic/fragments/base/AbsRecyclerViewFragment.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/fragments/base/AbsRecyclerViewFragment.kt
@@ -27,6 +27,7 @@ import androidx.recyclerview.widget.RecyclerView
import code.name.monkey.appthemehelper.common.ATHToolbarActivity
import code.name.monkey.appthemehelper.util.ToolbarContentTintHelper
import code.name.monkey.retromusic.R
+import code.name.monkey.retromusic.adapter.base.AbsMultiSelectAdapter
import code.name.monkey.retromusic.databinding.FragmentMainRecyclerBinding
import code.name.monkey.retromusic.dialogs.CreatePlaylistDialog
import code.name.monkey.retromusic.dialogs.ImportPlaylistDialog
@@ -225,4 +226,9 @@ abstract class AbsRecyclerViewFragment, LM : Recycle
super.onDestroyView()
_binding = null
}
+
+ override fun onPause() {
+ super.onPause()
+ (adapter as? AbsMultiSelectAdapter<*, *>)?.actionMode?.finish()
+ }
}
diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/folder/FoldersFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/folder/FoldersFragment.kt
index ce8955057..bfe5dcbea 100644
--- a/app/src/main/java/code/name/monkey/retromusic/fragments/folder/FoldersFragment.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/fragments/folder/FoldersFragment.kt
@@ -40,12 +40,13 @@ import code.name.monkey.retromusic.adapter.Storage
import code.name.monkey.retromusic.adapter.StorageAdapter
import code.name.monkey.retromusic.adapter.StorageClickListener
import code.name.monkey.retromusic.databinding.FragmentFolderBinding
-import code.name.monkey.retromusic.extensions.*
+import code.name.monkey.retromusic.extensions.dip
+import code.name.monkey.retromusic.extensions.showToast
+import code.name.monkey.retromusic.extensions.textColorPrimary
+import code.name.monkey.retromusic.extensions.textColorSecondary
import code.name.monkey.retromusic.fragments.base.AbsMainActivityFragment
import code.name.monkey.retromusic.helper.MusicPlayerRemote.openQueue
import code.name.monkey.retromusic.helper.menu.SongsMenuHelper
-import code.name.monkey.retromusic.interfaces.ICabCallback
-import code.name.monkey.retromusic.interfaces.ICabHolder
import code.name.monkey.retromusic.interfaces.ICallbacks
import code.name.monkey.retromusic.interfaces.IMainActivityFragmentCallbacks
import code.name.monkey.retromusic.misc.UpdateToastMediaScannerCompletionListener
@@ -54,16 +55,11 @@ import code.name.monkey.retromusic.model.Song
import code.name.monkey.retromusic.providers.BlacklistStore
import code.name.monkey.retromusic.util.FileUtil
import code.name.monkey.retromusic.util.PreferenceUtil.startDirectory
-import code.name.monkey.retromusic.util.RetroColorUtil
import code.name.monkey.retromusic.util.ThemedFastScroller.create
import code.name.monkey.retromusic.util.getExternalStorageDirectory
import code.name.monkey.retromusic.util.getExternalStoragePublicDirectory
import code.name.monkey.retromusic.views.BreadCrumbLayout.Crumb
import code.name.monkey.retromusic.views.BreadCrumbLayout.SelectionCallback
-import com.afollestad.materialcab.attached.AttachedCab
-import com.afollestad.materialcab.attached.destroy
-import com.afollestad.materialcab.attached.isActive
-import com.afollestad.materialcab.createCab
import com.google.android.material.snackbar.Snackbar
import com.google.android.material.transition.MaterialFadeThrough
import kotlinx.coroutines.Dispatchers
@@ -76,7 +72,7 @@ import java.lang.ref.WeakReference
import java.util.*
class FoldersFragment : AbsMainActivityFragment(R.layout.fragment_folder),
- IMainActivityFragmentCallbacks, ICabHolder, SelectionCallback, ICallbacks,
+ IMainActivityFragmentCallbacks, SelectionCallback, ICallbacks,
LoaderManager.LoaderCallbacks>, StorageClickListener {
private var _binding: FragmentFolderBinding? = null
private val binding get() = _binding!!
@@ -85,7 +81,6 @@ class FoldersFragment : AbsMainActivityFragment(R.layout.fragment_folder),
private var adapter: SongFileAdapter? = null
private var storageAdapter: StorageAdapter? = null
- private var cab: AttachedCab? = null
private val fileComparator = Comparator { lhs: File, rhs: File ->
if (lhs.isDirectory && !rhs.isDirectory) {
return@Comparator -1
@@ -149,16 +144,10 @@ class FoldersFragment : AbsMainActivityFragment(R.layout.fragment_folder),
override fun onPause() {
super.onPause()
saveScrollPosition()
- if (cab.isActive()) {
- cab.destroy()
- }
+ adapter?.actionMode?.finish()
}
override fun handleBackPress(): Boolean {
- if (cab != null && cab!!.isActive()) {
- cab?.destroy()
- return true
- }
if (binding.breadCrumbs.popHistory()) {
setCrumb(binding.breadCrumbs.lastHistory(), false)
return true
@@ -388,24 +377,6 @@ class FoldersFragment : AbsMainActivityFragment(R.layout.fragment_folder),
checkForMargins()
}
- override fun openCab(menuRes: Int, callback: ICabCallback): AttachedCab {
- if (cab != null && cab!!.isActive()) {
- cab?.destroy()
- }
- cab = createCab(R.id.toolbar_container) {
- menu(menuRes)
- closeDrawable(R.drawable.ic_close)
- backgroundColor(literal = RetroColorUtil.shiftBackgroundColor(surfaceColor()))
- slideDown()
- onCreate { cab, menu -> callback.onCabCreated(cab, menu) }
- onSelection {
- callback.onCabItemClicked(it)
- }
- onDestroy { callback.onCabFinished(it) }
- }
- return cab as AttachedCab
- }
-
private fun checkForMargins() {
if (mainActivity.isBottomNavVisible) {
binding.recyclerView.updateLayoutParams {
@@ -487,7 +458,7 @@ class FoldersFragment : AbsMainActivityFragment(R.layout.fragment_folder),
}
private fun setUpRecyclerView() {
- binding.recyclerView.layoutManager = LinearLayoutManager(activity)
+ binding.recyclerView.layoutManager = LinearLayoutManager(requireContext())
create(
binding.recyclerView
)
@@ -593,7 +564,7 @@ class FoldersFragment : AbsMainActivityFragment(R.layout.fragment_folder),
}
private fun switchToFileAdapter() {
- adapter = SongFileAdapter(mainActivity, LinkedList(), R.layout.item_list, this, this)
+ adapter = SongFileAdapter(mainActivity, LinkedList(), R.layout.item_list, this)
adapter!!.registerAdapterDataObserver(
object : RecyclerView.AdapterDataObserver() {
override fun onChanged() {
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 64b4aefa2..65d4e8594 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
@@ -71,7 +71,7 @@ class GenreDetailsFragment : AbsMainActivityFragment(R.layout.fragment_playlist_
}
private fun setupRecyclerView() {
- songAdapter = SongAdapter(requireActivity(), ArrayList(), R.layout.item_list, null)
+ songAdapter = SongAdapter(requireActivity(), ArrayList(), R.layout.item_list)
binding.recyclerView.apply {
itemAnimator = DefaultItemAnimator()
layoutManager = LinearLayoutManager(requireContext())
diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/lyrics/LyricsFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/lyrics/LyricsFragment.kt
index 363ee6458..a2980e382 100644
--- a/app/src/main/java/code/name/monkey/retromusic/fragments/lyrics/LyricsFragment.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/fragments/lyrics/LyricsFragment.kt
@@ -340,12 +340,12 @@ class LyricsFragment : AbsMainActivityFragment(R.layout.fragment_lyrics),
lyricsType = if (!loadLRCLyrics()) {
binding.lyricsView.isVisible = false
loadNormalLyrics()
- LyricsType.SYNCED_LYRICS
+ LyricsType.NORMAL_LYRICS
} else {
binding.normalLyrics.isVisible = false
binding.noLyricsFound.isVisible = false
binding.lyricsView.isVisible = true
- LyricsType.NORMAL_LYRICS
+ LyricsType.SYNCED_LYRICS
}
}
diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/other/DetailListFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/other/DetailListFragment.kt
index 24d8ef4ad..39a19ab5d 100644
--- a/app/src/main/java/code/name/monkey/retromusic/fragments/other/DetailListFragment.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/fragments/other/DetailListFragment.kt
@@ -20,7 +20,6 @@ import android.view.Menu
import android.view.MenuInflater
import android.view.MenuItem
import android.view.View
-import androidx.activity.addCallback
import androidx.core.os.bundleOf
import androidx.core.view.doOnPreDraw
import androidx.core.view.isVisible
@@ -36,27 +35,19 @@ import code.name.monkey.retromusic.adapter.song.ShuffleButtonSongAdapter
import code.name.monkey.retromusic.adapter.song.SongAdapter
import code.name.monkey.retromusic.databinding.FragmentPlaylistDetailBinding
import code.name.monkey.retromusic.db.toSong
-import code.name.monkey.retromusic.extensions.surfaceColor
import code.name.monkey.retromusic.fragments.base.AbsMainActivityFragment
import code.name.monkey.retromusic.interfaces.IAlbumClickListener
import code.name.monkey.retromusic.interfaces.IArtistClickListener
-import code.name.monkey.retromusic.interfaces.ICabCallback
-import code.name.monkey.retromusic.interfaces.ICabHolder
import code.name.monkey.retromusic.model.Album
import code.name.monkey.retromusic.model.Artist
-import code.name.monkey.retromusic.util.RetroColorUtil
import code.name.monkey.retromusic.util.RetroUtil
-import com.afollestad.materialcab.attached.AttachedCab
-import com.afollestad.materialcab.attached.destroy
-import com.afollestad.materialcab.attached.isActive
-import com.afollestad.materialcab.createCab
import com.google.android.material.shape.MaterialShapeDrawable
import com.google.android.material.snackbar.Snackbar
import com.google.android.material.transition.MaterialSharedAxis
class DetailListFragment : AbsMainActivityFragment(R.layout.fragment_playlist_detail),
- IArtistClickListener, IAlbumClickListener, ICabHolder {
+ IArtistClickListener, IAlbumClickListener {
private val args by navArgs()
private var _binding: FragmentPlaylistDetailBinding? = null
private val binding get() = _binding!!
@@ -104,12 +95,6 @@ class DetailListFragment : AbsMainActivityFragment(R.layout.fragment_playlist_de
binding.appBarLayout.statusBarForeground =
MaterialShapeDrawable.createWithElevationOverlay(requireContext())
- requireActivity().onBackPressedDispatcher.addCallback(viewLifecycleOwner) {
- if (!handleBackPress()) {
- remove()
- findNavController().navigateUp()
- }
- }
}
private fun lastAddedSongs() {
@@ -117,7 +102,7 @@ class DetailListFragment : AbsMainActivityFragment(R.layout.fragment_playlist_de
val songAdapter = ShuffleButtonSongAdapter(
requireActivity(),
mutableListOf(),
- R.layout.item_list, this
+ R.layout.item_list
)
binding.recyclerView.apply {
adapter = songAdapter
@@ -134,7 +119,7 @@ class DetailListFragment : AbsMainActivityFragment(R.layout.fragment_playlist_de
val songAdapter = ShuffleButtonSongAdapter(
requireActivity(),
mutableListOf(),
- R.layout.item_list, this
+ R.layout.item_list
)
binding.recyclerView.apply {
adapter = songAdapter
@@ -151,7 +136,7 @@ class DetailListFragment : AbsMainActivityFragment(R.layout.fragment_playlist_de
val songAdapter = ShuffleButtonSongAdapter(
requireActivity(),
mutableListOf(),
- R.layout.item_list, this
+ R.layout.item_list
)
binding.recyclerView.apply {
adapter = songAdapter
@@ -170,7 +155,7 @@ class DetailListFragment : AbsMainActivityFragment(R.layout.fragment_playlist_de
val songAdapter = SongAdapter(
requireActivity(),
mutableListOf(),
- R.layout.item_list, this
+ R.layout.item_list
)
binding.recyclerView.apply {
adapter = songAdapter
@@ -211,14 +196,14 @@ class DetailListFragment : AbsMainActivityFragment(R.layout.fragment_playlist_de
requireActivity(),
artists,
R.layout.item_grid_circle,
- this, this@DetailListFragment
+ this
)
private fun albumAdapter(albums: List): AlbumAdapter = AlbumAdapter(
requireActivity(),
albums,
R.layout.item_grid,
- this, this@DetailListFragment
+ this
)
private fun linearLayoutManager(): LinearLayoutManager =
@@ -260,38 +245,6 @@ class DetailListFragment : AbsMainActivityFragment(R.layout.fragment_playlist_de
_binding = null
}
- private var cab: AttachedCab? = null
-
- private fun handleBackPress(): Boolean {
- cab?.let {
- if (it.isActive()) {
- it.destroy()
- return true
- }
- }
- return false
- }
-
- override fun openCab(menuRes: Int, callback: ICabCallback): AttachedCab {
- cab?.let {
- if (it.isActive()) {
- it.destroy()
- }
- }
- cab = createCab(R.id.toolbar_container) {
- menu(menuRes)
- closeDrawable(R.drawable.ic_close)
- backgroundColor(literal = RetroColorUtil.shiftBackgroundColor(surfaceColor()))
- slideDown()
- onCreate { cab, menu -> callback.onCabCreated(cab, menu) }
- onSelection {
- callback.onCabItemClicked(it)
- }
- onDestroy { callback.onCabFinished(it) }
- }
- return cab as AttachedCab
- }
-
override fun onCreateMenu(menu: Menu, inflater: MenuInflater) {
inflater.inflate(R.menu.menu_clear_history, menu)
if (showClearHistoryOption) {
diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/other/PlayingQueueRVFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/other/PlayingQueueRVFragment.kt
index cc169e940..ba2199833 100644
--- a/app/src/main/java/code/name/monkey/retromusic/fragments/other/PlayingQueueRVFragment.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/fragments/other/PlayingQueueRVFragment.kt
@@ -55,7 +55,7 @@ class PlayingQueueRVFragment : AbsRecyclerViewFragment()
private val viewModel by viewModel {
parametersOf(arguments.extraPlaylist)
@@ -95,8 +87,7 @@ class PlaylistDetailsFragment : AbsMainActivityFragment(R.layout.fragment_playli
playlist.playlistEntity,
requireActivity(),
ArrayList(),
- R.layout.item_queue,
- this
+ R.layout.item_queue
)
val dragDropManager = RecyclerViewDragDropManager()
@@ -165,26 +156,4 @@ class PlaylistDetailsFragment : AbsMainActivityFragment(R.layout.fragment_playli
super.onDestroyView()
_binding = null
}
-
- private var cab: AttachedCab? = null
-
- override fun openCab(menuRes: Int, callback: ICabCallback): AttachedCab {
- cab?.let {
- if (it.isActive()) {
- it.destroy()
- }
- }
- cab = createCab(R.id.toolbar_container) {
- menu(menuRes)
- closeDrawable(R.drawable.ic_close)
- backgroundColor(literal = RetroColorUtil.shiftBackgroundColor(surfaceColor()))
- slideDown()
- onCreate { cab, menu -> callback.onCabCreated(cab, menu) }
- onSelection {
- callback.onCabItemClicked(it)
- }
- onDestroy { callback.onCabFinished(it) }
- }
- return cab as AttachedCab
- }
}
\ No newline at end of file
diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/playlists/PlaylistsFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/playlists/PlaylistsFragment.kt
index bf74cee56..74baf03ec 100644
--- a/app/src/main/java/code/name/monkey/retromusic/fragments/playlists/PlaylistsFragment.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/fragments/playlists/PlaylistsFragment.kt
@@ -66,7 +66,6 @@ class PlaylistsFragment :
requireActivity(),
dataSet,
itemLayoutRes(),
- null,
this
)
}
diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/queue/PlayingQueueFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/queue/PlayingQueueFragment.kt
index 4a29ca229..059b10bb0 100644
--- a/app/src/main/java/code/name/monkey/retromusic/fragments/queue/PlayingQueueFragment.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/fragments/queue/PlayingQueueFragment.kt
@@ -201,7 +201,7 @@ class PlayingQueueFragment : AbsMusicServiceFragment(R.layout.fragment_playing_q
}
setTitle(R.string.now_playing_queue)
setTitleTextAppearance(context, R.style.ToolbarTextAppearanceNormal)
- setNavigationIcon(R.drawable.ic_keyboard_backspace_black)
+ setNavigationIcon(R.drawable.ic_arrow_back)
ToolbarContentTintHelper.colorBackButton(this)
}
}
diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/songs/SongsFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/songs/SongsFragment.kt
index e47efaa1d..7e8b8b0ef 100644
--- a/app/src/main/java/code/name/monkey/retromusic/fragments/songs/SongsFragment.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/fragments/songs/SongsFragment.kt
@@ -16,29 +16,19 @@ package code.name.monkey.retromusic.fragments.songs
import android.os.Bundle
import android.view.*
-import androidx.activity.addCallback
import androidx.annotation.LayoutRes
import androidx.recyclerview.widget.GridLayoutManager
import code.name.monkey.retromusic.R
import code.name.monkey.retromusic.adapter.song.SongAdapter
import code.name.monkey.retromusic.extensions.setUpMediaRouteButton
-import code.name.monkey.retromusic.extensions.surfaceColor
import code.name.monkey.retromusic.fragments.GridStyle
import code.name.monkey.retromusic.fragments.ReloadType
import code.name.monkey.retromusic.fragments.base.AbsRecyclerViewCustomGridSizeFragment
import code.name.monkey.retromusic.helper.SortOrder.SongSortOrder
-import code.name.monkey.retromusic.interfaces.ICabCallback
-import code.name.monkey.retromusic.interfaces.ICabHolder
import code.name.monkey.retromusic.util.PreferenceUtil
-import code.name.monkey.retromusic.util.RetroColorUtil
import code.name.monkey.retromusic.util.RetroUtil
-import com.afollestad.materialcab.attached.AttachedCab
-import com.afollestad.materialcab.attached.destroy
-import com.afollestad.materialcab.attached.isActive
-import com.afollestad.materialcab.createCab
-class SongsFragment : AbsRecyclerViewCustomGridSizeFragment(),
- ICabHolder {
+class SongsFragment : AbsRecyclerViewCustomGridSizeFragment() {
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
libraryViewModel.getSongs().observe(viewLifecycleOwner) {
@@ -47,12 +37,6 @@ class SongsFragment : AbsRecyclerViewCustomGridSizeFragment callback.onCabCreated(cab, menu) }
- onSelection {
- callback.onCabItemClicked(it)
- }
- onDestroy { callback.onCabFinished(it) }
- }
- return cab as AttachedCab
- }
}
diff --git a/app/src/main/java/code/name/monkey/retromusic/interfaces/ICabCallback.kt b/app/src/main/java/code/name/monkey/retromusic/interfaces/ICabCallback.kt
deleted file mode 100644
index 76750ff01..000000000
--- a/app/src/main/java/code/name/monkey/retromusic/interfaces/ICabCallback.kt
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * Copyright (c) 2020 Hemanth Savarla.
- *
- * 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.interfaces
-
-import android.view.Menu
-import android.view.MenuItem
-import com.afollestad.materialcab.attached.AttachedCab
-
-interface ICabCallback {
- fun onCabCreated(cab: AttachedCab, menu: Menu): Boolean
-
- fun onCabItemClicked(item: MenuItem): Boolean
-
- fun onCabFinished(cab: AttachedCab): Boolean
-}
diff --git a/app/src/main/java/code/name/monkey/retromusic/interfaces/ICabHolder.kt b/app/src/main/java/code/name/monkey/retromusic/interfaces/ICabHolder.kt
deleted file mode 100644
index e04a4c326..000000000
--- a/app/src/main/java/code/name/monkey/retromusic/interfaces/ICabHolder.kt
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
- * Copyright (c) 2020 Hemanth Savarla.
- *
- * 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.interfaces
-
-import com.afollestad.materialcab.attached.AttachedCab
-
-interface ICabHolder {
-
- fun openCab(menuRes: Int, callback: ICabCallback): AttachedCab
-}
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 4c0643e94..25ec996e8 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
@@ -431,7 +431,7 @@ public class LrcView extends View {
mTimePaint.setColor(mTimeTextColor);
String timeText = LrcUtils.formatTime(mLrcEntryList.get(centerLine).getTime());
- float timeX = getWidth() - mTimeTextWidth / 2;
+ float timeX = getWidth() - mTimeTextWidth / 2F;
float timeY = centerY - (mTimeFontMetrics.descent + mTimeFontMetrics.ascent) / 2;
canvas.drawText(timeText, timeX, timeY, mTimePaint);
}
@@ -531,7 +531,7 @@ public class LrcView extends View {
lrcEntry.init(mLrcPaint, (int) getLrcWidth(), mTextGravity);
}
- mOffset = getHeight() / 2;
+ mOffset = getHeight() / 2F;
}
private void reset() {
@@ -611,7 +611,7 @@ public class LrcView extends View {
private float getOffset(int line) {
if (mLrcEntryList.get(line).getOffset() == Float.MIN_VALUE) {
- float offset = getHeight() / 2;
+ float offset = getHeight() / 2F;
for (int i = 1; i <= line; i++) {
offset -=
((mLrcEntryList.get(i - 1).getHeight() + mLrcEntryList.get(i).getHeight()) >> 1)
diff --git a/app/src/main/java/code/name/monkey/retromusic/model/smartplaylist/NotPlayedPlaylist.kt b/app/src/main/java/code/name/monkey/retromusic/model/smartplaylist/NotPlayedPlaylist.kt
index f77565daf..a6786ac78 100644
--- a/app/src/main/java/code/name/monkey/retromusic/model/smartplaylist/NotPlayedPlaylist.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/model/smartplaylist/NotPlayedPlaylist.kt
@@ -8,7 +8,7 @@ import kotlinx.parcelize.Parcelize
@Parcelize
class NotPlayedPlaylist : AbsSmartPlaylist(
name = App.getContext().getString(R.string.not_recently_played),
- iconRes = R.drawable.ic_watch_later
+ iconRes = R.drawable.ic_audiotrack
) {
override fun songs(): List {
return topPlayedRepository.notRecentlyPlayedTracks()
diff --git a/app/src/main/java/code/name/monkey/retromusic/preferences/LibraryPreference.kt b/app/src/main/java/code/name/monkey/retromusic/preferences/LibraryPreference.kt
index 27a70ac67..6b358df62 100644
--- a/app/src/main/java/code/name/monkey/retromusic/preferences/LibraryPreference.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/preferences/LibraryPreference.kt
@@ -55,7 +55,7 @@ class LibraryPreferenceDialog : DialogFragment() {
val categoryAdapter = CategoryInfoAdapter()
binding.recyclerView.apply {
- layoutManager = LinearLayoutManager(activity)
+ layoutManager = LinearLayoutManager(requireContext())
adapter = categoryAdapter
categoryAdapter.attachToRecyclerView(this)
}
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 994b824f1..2d4ca51d5 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
@@ -197,7 +197,7 @@ class MusicService : MediaBrowserServiceCompat(),
override fun onReceive(context: Context, intent: Intent) {
if (isLockScreen && isPlaying) {
val lockIntent = Intent(context, LockScreenActivity::class.java)
- lockIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_CLEAR_TOP)
+ lockIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_CLEAR_TASK)
startActivity(lockIntent)
}
}
@@ -279,7 +279,7 @@ class MusicService : MediaBrowserServiceCompat(),
uiThreadHandler = Handler(Looper.getMainLooper())
registerReceiver(widgetIntentReceiver, IntentFilter(APP_WIDGET_UPDATE))
registerReceiver(updateFavoriteReceiver, IntentFilter(FAVORITE_STATE_CHANGED))
- registerReceiver(lockScreenReceiver, IntentFilter(Intent.ACTION_SCREEN_OFF))
+ registerReceiver(lockScreenReceiver, IntentFilter(Intent.ACTION_SCREEN_ON))
sessionToken = mediaSession?.sessionToken
notificationManager = getSystemService()
initNotification()
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 4adb95672..5697278b3 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
@@ -189,12 +189,12 @@ class PlayingNotificationClassic(
).toBitmap()
val prev =
context.getTintedDrawable(
- R.drawable.ic_skip_previous_round_white_32dp,
+ R.drawable.ic_skip_previous,
primary
).toBitmap()
val next =
context.getTintedDrawable(
- R.drawable.ic_skip_next_round_white_32dp,
+ R.drawable.ic_skip_next,
primary
).toBitmap()
val playPause = getPlayPauseBitmap(true)
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 4d9302bb0..51bbd2257 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
@@ -75,12 +75,12 @@ class PlayingNotificationImpl24(
val toggleFavorite = buildFavoriteAction(false)
val playPauseAction = buildPlayAction(true)
val previousAction = NotificationCompat.Action(
- R.drawable.ic_skip_previous_round_white_32dp,
+ R.drawable.ic_skip_previous,
context.getString(R.string.action_previous),
retrievePlaybackAction(ACTION_REWIND)
)
val nextAction = NotificationCompat.Action(
- R.drawable.ic_skip_next_round_white_32dp,
+ R.drawable.ic_skip_next,
context.getString(R.string.action_next),
retrievePlaybackAction(ACTION_SKIP)
)
diff --git a/app/src/main/java/code/name/monkey/retromusic/util/PlagiarismUtil.kt b/app/src/main/java/code/name/monkey/retromusic/util/PlagiarismUtil.kt
index 42d6c768d..230f250a0 100644
--- a/app/src/main/java/code/name/monkey/retromusic/util/PlagiarismUtil.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/util/PlagiarismUtil.kt
@@ -12,7 +12,8 @@ import code.name.monkey.retromusic.extensions.showToast
fun Activity.maybeShowAnnoyingToasts() {
if (BuildConfig.APPLICATION_ID != "code.name.monkey.retromusic" &&
- BuildConfig.APPLICATION_ID != "code.name.monkey.retromusic.debug"
+ BuildConfig.APPLICATION_ID != "code.name.monkey.retromusic.debug"&&
+ BuildConfig.APPLICATION_ID != "code.name.monkey.retromusic.normal"
) {
if (BuildConfig.DEBUG) {
// Log these things to console, if the plagiarizer even cares to check it
@@ -32,8 +33,4 @@ fun Activity.maybeShowAnnoyingToasts() {
}
}
}
-}
-
-fun Fragment.maybeShowAnnoyingToasts() {
- requireActivity().maybeShowAnnoyingToasts()
}
\ No newline at end of file
diff --git a/app/src/main/java/code/name/monkey/retromusic/views/NumberRollView.kt b/app/src/main/java/code/name/monkey/retromusic/views/NumberRollView.kt
new file mode 100644
index 000000000..ea2d9cbd1
--- /dev/null
+++ b/app/src/main/java/code/name/monkey/retromusic/views/NumberRollView.kt
@@ -0,0 +1,151 @@
+// Copyright 2015 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+package code.name.monkey.retromusic.views
+
+import android.animation.Animator
+import android.animation.ObjectAnimator
+import android.content.Context
+import android.content.res.ColorStateList
+import android.util.AttributeSet
+import android.util.Property
+import android.view.animation.LinearInterpolator
+import android.widget.FrameLayout
+import android.widget.TextView
+import androidx.annotation.VisibleForTesting
+import code.name.monkey.retromusic.R
+import java.text.NumberFormat
+
+/**
+ * View that shows an integer number. It provides a smooth roll animation on changing the
+ * number.
+ */
+class NumberRollView(context: Context?, attrs: AttributeSet?) :
+ FrameLayout(context!!, attrs) {
+ private var mUpNumber: TextView? = null
+ private var mDownNumber: TextView? = null
+ private var mNumber = 0f
+ private var mLastRollAnimator: Animator? = null
+ private var mStringId = R.string.x_selected
+ private var mStringIdForZero = 0
+ override fun onFinishInflate() {
+ super.onFinishInflate()
+ mUpNumber = findViewById(R.id.up)
+ mDownNumber = findViewById(R.id.down)
+ assert(mUpNumber != null)
+ assert(mDownNumber != null)
+ setNumberRoll(mNumber)
+ }
+
+ /**
+ * Sets a number to display.
+ * @param animate Whether it should smoothly animate to the number.
+ */
+ fun setNumber(number: Int, animate: Boolean) {
+ if (mLastRollAnimator != null) mLastRollAnimator!!.cancel()
+ if (animate) {
+ val rollAnimator: Animator =
+ ObjectAnimator.ofFloat(this, NUMBER_PROPERTY, number.toFloat())
+ rollAnimator.interpolator = LinearInterpolator()
+ rollAnimator.start()
+ mLastRollAnimator = rollAnimator
+ } else {
+ setNumberRoll(number.toFloat())
+ }
+ }
+
+ /**
+ * @param stringId The id of the string to use for the description. The string must be a plural
+ * that has one placeholder for a quantity.
+ */
+ fun setString(stringId: Int) {
+ mStringId = stringId
+ }
+
+ /**
+ * @param stringIdForZero The id of the string to use for the description when the number is
+ * zero.
+ */
+ fun setStringForZero(stringIdForZero: Int) {
+ mStringIdForZero = stringIdForZero
+ }
+
+ /**
+ * Gets the current number roll position.
+ */
+ private fun getNumberRoll(): Float {
+ return mNumber
+ }
+
+ /**
+ * Sets the number roll position.
+ */
+ private fun setNumberRoll(number: Float) {
+ mNumber = number
+ val downNumber = number.toInt()
+ val upNumber = downNumber + 1
+ val numberFormatter = NumberFormat.getIntegerInstance()
+ var newString = if (mStringId != 0) {
+ if (upNumber == 0 && mStringIdForZero != 0) resources.getString(mStringIdForZero) else resources.getString(
+ mStringId,
+ upNumber
+ )
+ } else {
+ numberFormatter.format(upNumber.toLong())
+ }
+ if (newString != mUpNumber!!.text.toString()) {
+ mUpNumber!!.text = newString
+ }
+ newString = if (mStringId != 0) {
+ if (downNumber == 0 && mStringIdForZero != 0) resources.getString(mStringIdForZero) else resources.getString(
+ mStringId,
+ downNumber
+ )
+ } else {
+ numberFormatter.format(downNumber.toLong())
+ }
+ if (newString != mDownNumber!!.text.toString()) {
+ mDownNumber!!.text = newString
+ }
+ val offset = number % 1.0f
+ mUpNumber!!.translationY = mUpNumber!!.height * (offset - 1.0f)
+ mDownNumber!!.translationY = mDownNumber!!.height * offset
+ mUpNumber!!.alpha = offset
+ mDownNumber!!.alpha = 1.0f - offset
+ }
+
+ /** Ends any in-progress animations. */
+ @VisibleForTesting
+ fun endAnimationsForTesting() {
+ if (mLastRollAnimator != null) mLastRollAnimator!!.end()
+ }
+
+ /**
+ * Update the text color with [ColorStateList] for both [TextView].
+ * @param resId The new text [ColorStateList] to use.
+ */
+ fun setTextColorStateList(colorStateList: ColorStateList?) {
+ mUpNumber!!.setTextColor(colorStateList)
+ mDownNumber!!.setTextColor(colorStateList)
+ }
+
+ companion object {
+ /**
+ * A Property wrapper around the `number` functionality handled by the
+ * [NumberRollView.setNumberRoll] and [NumberRollView.getNumberRoll]
+ * methods.
+ */
+ val NUMBER_PROPERTY: Property =
+ object : Property(
+ Float::class.java, ""
+ ) {
+ override fun set(view: NumberRollView, value: Float) {
+ view.setNumberRoll(value)
+ }
+
+ override fun get(view: NumberRollView): Float {
+ return view.getNumberRoll()
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/res/anim/retro_fragment_open_enter.xml b/app/src/main/res/anim/retro_fragment_open_enter.xml
index 648ca0840..c4521e843 100644
--- a/app/src/main/res/anim/retro_fragment_open_enter.xml
+++ b/app/src/main/res/anim/retro_fragment_open_enter.xml
@@ -14,7 +14,6 @@
limitations under the License.
-->
+ android:toYScale="1" />
\ No newline at end of file
diff --git a/app/src/main/res/drawable/ic_account.xml b/app/src/main/res/drawable/ic_account.xml
index 65de32cff..e73bc4fc7 100644
--- a/app/src/main/res/drawable/ic_account.xml
+++ b/app/src/main/res/drawable/ic_account.xml
@@ -1,24 +1,10 @@
-
-
-
-
-
\ No newline at end of file
+ android:viewportHeight="24"
+ android:tint="?attr/colorControlNormal">
+
+
diff --git a/app/src/main/res/drawable/ic_arrow_back.xml b/app/src/main/res/drawable/ic_arrow_back.xml
new file mode 100644
index 000000000..d04be09ed
--- /dev/null
+++ b/app/src/main/res/drawable/ic_arrow_back.xml
@@ -0,0 +1,10 @@
+
+
+
diff --git a/app/src/main/res/drawable/ic_arrow_forward.xml b/app/src/main/res/drawable/ic_arrow_forward.xml
index e75d8ab6b..a8d3c6fe5 100644
--- a/app/src/main/res/drawable/ic_arrow_forward.xml
+++ b/app/src/main/res/drawable/ic_arrow_forward.xml
@@ -1,23 +1,10 @@
-
-
-
+ android:viewportWidth="24"
+ android:viewportHeight="24"
+ android:tint="?attr/colorControlNormal">
+
diff --git a/app/src/main/res/drawable/ic_audio_file.xml b/app/src/main/res/drawable/ic_audio_file.xml
new file mode 100644
index 000000000..470795988
--- /dev/null
+++ b/app/src/main/res/drawable/ic_audio_file.xml
@@ -0,0 +1,10 @@
+
+
+
diff --git a/app/src/main/res/drawable/ic_audiotrack.xml b/app/src/main/res/drawable/ic_audiotrack.xml
index dc9696412..c6da49f3a 100644
--- a/app/src/main/res/drawable/ic_audiotrack.xml
+++ b/app/src/main/res/drawable/ic_audiotrack.xml
@@ -1,24 +1,10 @@
-
-
-
-
-
\ No newline at end of file
+ android:viewportHeight="24"
+ android:tint="?attr/colorControlNormal">
+
+
diff --git a/app/src/main/res/drawable/ic_backup.xml b/app/src/main/res/drawable/ic_backup.xml
index 9faa168d2..711f462d0 100644
--- a/app/src/main/res/drawable/ic_backup.xml
+++ b/app/src/main/res/drawable/ic_backup.xml
@@ -4,7 +4,7 @@
android:viewportWidth="24"
android:viewportHeight="24"
android:tint="?attr/colorControlNormal">
-
+
diff --git a/app/src/main/res/drawable/ic_baseline.xml b/app/src/main/res/drawable/ic_baseline.xml
deleted file mode 100644
index 1217c34b1..000000000
--- a/app/src/main/res/drawable/ic_baseline.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
diff --git a/app/src/main/res/drawable/ic_beer.xml b/app/src/main/res/drawable/ic_beer.xml
deleted file mode 100644
index a364706ab..000000000
--- a/app/src/main/res/drawable/ic_beer.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
diff --git a/app/src/main/res/drawable/ic_bluetooth_connect.xml b/app/src/main/res/drawable/ic_bluetooth_connect.xml
index 7c1a6e322..af4f8ae32 100644
--- a/app/src/main/res/drawable/ic_bluetooth_connect.xml
+++ b/app/src/main/res/drawable/ic_bluetooth_connect.xml
@@ -1,5 +1,10 @@
-
-
+
+
diff --git a/app/src/main/res/drawable/ic_blur_on.xml b/app/src/main/res/drawable/ic_blur_on.xml
index d7123060a..1cb5afa66 100644
--- a/app/src/main/res/drawable/ic_blur_on.xml
+++ b/app/src/main/res/drawable/ic_blur_on.xml
@@ -1,24 +1,10 @@
-
-
-
-
-
\ No newline at end of file
+ android:viewportHeight="24"
+ android:tint="?attr/colorControlNormal">
+
+
diff --git a/app/src/main/res/drawable/ic_bug_report.xml b/app/src/main/res/drawable/ic_bug_report.xml
index e3b7a77ef..91cc94a4c 100644
--- a/app/src/main/res/drawable/ic_bug_report.xml
+++ b/app/src/main/res/drawable/ic_bug_report.xml
@@ -1,12 +1,10 @@
-
-
-
-
-
\ No newline at end of file
+ android:viewportHeight="24"
+ android:tint="?attr/colorControlNormal">
+
+
diff --git a/app/src/main/res/drawable/ic_car.xml b/app/src/main/res/drawable/ic_car.xml
index e3839d9ba..9c3860c1b 100644
--- a/app/src/main/res/drawable/ic_car.xml
+++ b/app/src/main/res/drawable/ic_car.xml
@@ -1,5 +1,10 @@
-
-
+
+
diff --git a/app/src/main/res/drawable/ic_card_giftcard.xml b/app/src/main/res/drawable/ic_card_giftcard.xml
deleted file mode 100644
index 7063383b0..000000000
--- a/app/src/main/res/drawable/ic_card_giftcard.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/app/src/main/res/drawable/ic_cellphone.xml b/app/src/main/res/drawable/ic_cellphone.xml
deleted file mode 100644
index af68ec029..000000000
--- a/app/src/main/res/drawable/ic_cellphone.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/app/src/main/res/drawable/ic_cellphone_lock.xml b/app/src/main/res/drawable/ic_cellphone_lock.xml
deleted file mode 100644
index 727f837d0..000000000
--- a/app/src/main/res/drawable/ic_cellphone_lock.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/app/src/main/res/drawable/ic_check_circle.xml b/app/src/main/res/drawable/ic_check_circle.xml
index 5ab22cc67..8b58daa37 100644
--- a/app/src/main/res/drawable/ic_check_circle.xml
+++ b/app/src/main/res/drawable/ic_check_circle.xml
@@ -1,10 +1,10 @@
-
-
+ android:height="24dp"
+ android:viewportWidth="24"
+ android:viewportHeight="24"
+ android:tint="?attr/colorControlNormal">
+
diff --git a/app/src/main/res/drawable/ic_clear_all.xml b/app/src/main/res/drawable/ic_clear_all.xml
index ae3a69c32..c55888ce5 100644
--- a/app/src/main/res/drawable/ic_clear_all.xml
+++ b/app/src/main/res/drawable/ic_clear_all.xml
@@ -1,23 +1,10 @@
-
-
-
-
\ No newline at end of file
+ android:viewportHeight="24"
+ android:tint="?attr/colorControlNormal">
+
+
diff --git a/app/src/main/res/drawable/ic_close.xml b/app/src/main/res/drawable/ic_close.xml
index 97b8899f3..c4bfd46b4 100644
--- a/app/src/main/res/drawable/ic_close.xml
+++ b/app/src/main/res/drawable/ic_close.xml
@@ -1,24 +1,10 @@
-
-
-
-
-
\ No newline at end of file
+ android:viewportHeight="24"
+ android:tint="?attr/colorControlNormal">
+
+
diff --git a/app/src/main/res/drawable/ic_color_lens.xml b/app/src/main/res/drawable/ic_color_lens.xml
deleted file mode 100644
index 31e47f8f5..000000000
--- a/app/src/main/res/drawable/ic_color_lens.xml
+++ /dev/null
@@ -1,36 +0,0 @@
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/app/src/main/res/drawable/ic_colorize.xml b/app/src/main/res/drawable/ic_colorize.xml
index a2c2b5b60..6d47bd368 100644
--- a/app/src/main/res/drawable/ic_colorize.xml
+++ b/app/src/main/res/drawable/ic_colorize.xml
@@ -1,25 +1,10 @@
-
-
-
-
-
-
\ No newline at end of file
+ android:viewportHeight="24"
+ android:tint="?attr/colorControlNormal">
+
+
diff --git a/app/src/main/res/drawable/ic_cookie.xml b/app/src/main/res/drawable/ic_cookie.xml
deleted file mode 100644
index 0a9c20176..000000000
--- a/app/src/main/res/drawable/ic_cookie.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
diff --git a/app/src/main/res/drawable/ic_delete.xml b/app/src/main/res/drawable/ic_delete.xml
index d0d191df3..bde670523 100644
--- a/app/src/main/res/drawable/ic_delete.xml
+++ b/app/src/main/res/drawable/ic_delete.xml
@@ -1,13 +1,10 @@
-
-
-
-
\ No newline at end of file
+ android:viewportHeight="24"
+ android:tint="?attr/colorControlNormal">
+
+
diff --git a/app/src/main/res/drawable/ic_diamond.xml b/app/src/main/res/drawable/ic_diamond.xml
new file mode 100644
index 000000000..3bfd732ee
--- /dev/null
+++ b/app/src/main/res/drawable/ic_diamond.xml
@@ -0,0 +1,10 @@
+
+
+
diff --git a/app/src/main/res/drawable/ic_diamond_stone.xml b/app/src/main/res/drawable/ic_diamond_stone.xml
deleted file mode 100644
index 7a27f6716..000000000
--- a/app/src/main/res/drawable/ic_diamond_stone.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/app/src/main/res/drawable/ic_drag_handle.xml b/app/src/main/res/drawable/ic_drag_handle.xml
index 88fe5b407..f14867890 100644
--- a/app/src/main/res/drawable/ic_drag_handle.xml
+++ b/app/src/main/res/drawable/ic_drag_handle.xml
@@ -6,5 +6,5 @@
android:tint="?attr/colorControlNormal">
+ android:pathData="M5,11Q4.575,11 4.287,10.712Q4,10.425 4,10Q4,9.575 4.287,9.287Q4.575,9 5,9H19Q19.425,9 19.712,9.287Q20,9.575 20,10Q20,10.425 19.712,10.712Q19.425,11 19,11ZM5,15Q4.575,15 4.287,14.712Q4,14.425 4,14Q4,13.575 4.287,13.287Q4.575,13 5,13H19Q19.425,13 19.712,13.287Q20,13.575 20,14Q20,14.425 19.712,14.712Q19.425,15 19,15Z"/>
diff --git a/app/src/main/res/drawable/ic_drag_vertical.xml b/app/src/main/res/drawable/ic_drag_vertical.xml
index 1b9e7c300..3f8e5c7d9 100755
--- a/app/src/main/res/drawable/ic_drag_vertical.xml
+++ b/app/src/main/res/drawable/ic_drag_vertical.xml
@@ -1,24 +1,10 @@
-
-
-
-
-
-
-
-
-
\ No newline at end of file
+ android:viewportHeight="24"
+ android:tint="?attr/colorControlNormal">
+
+
diff --git a/app/src/main/res/drawable/ic_drive_eta.xml b/app/src/main/res/drawable/ic_drive_eta.xml
deleted file mode 100644
index 664a47ecb..000000000
--- a/app/src/main/res/drawable/ic_drive_eta.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
-
-
-
diff --git a/app/src/main/res/drawable/ic_edit.xml b/app/src/main/res/drawable/ic_edit.xml
index 3804d9f9f..81f9752c9 100644
--- a/app/src/main/res/drawable/ic_edit.xml
+++ b/app/src/main/res/drawable/ic_edit.xml
@@ -1,24 +1,10 @@
-
-
-
-
-
\ No newline at end of file
+ android:viewportHeight="24"
+ android:tint="?attr/colorControlNormal">
+
+
diff --git a/app/src/main/res/drawable/ic_equalizer.xml b/app/src/main/res/drawable/ic_equalizer.xml
index 0f939e872..4f469b67c 100644
--- a/app/src/main/res/drawable/ic_equalizer.xml
+++ b/app/src/main/res/drawable/ic_equalizer.xml
@@ -1,25 +1,10 @@
-
-
-
-
-
-
\ No newline at end of file
+ android:viewportHeight="24"
+ android:tint="?attr/colorControlNormal">
+
+
diff --git a/app/src/main/res/drawable/ic_expand_less.xml b/app/src/main/res/drawable/ic_expand_less.xml
index 076afd8b5..5d1cffedd 100644
--- a/app/src/main/res/drawable/ic_expand_less.xml
+++ b/app/src/main/res/drawable/ic_expand_less.xml
@@ -1,10 +1,10 @@
-
-
+ android:height="24dp"
+ android:viewportWidth="24"
+ android:viewportHeight="24"
+ android:tint="?attr/colorControlNormal">
+
diff --git a/app/src/main/res/drawable/ic_file_music.xml b/app/src/main/res/drawable/ic_file_music.xml
deleted file mode 100644
index 1cc66b8da..000000000
--- a/app/src/main/res/drawable/ic_file_music.xml
+++ /dev/null
@@ -1,23 +0,0 @@
-
-
-
-
-
\ No newline at end of file
diff --git a/app/src/main/res/drawable/ic_flag.xml b/app/src/main/res/drawable/ic_flag.xml
index 7f1f10d5c..8081859dc 100644
--- a/app/src/main/res/drawable/ic_flag.xml
+++ b/app/src/main/res/drawable/ic_flag.xml
@@ -1,24 +1,10 @@
-
-
-
-
-
\ No newline at end of file
+ android:viewportHeight="24"
+ android:tint="?attr/colorControlNormal">
+
+
diff --git a/app/src/main/res/drawable/ic_folder.xml b/app/src/main/res/drawable/ic_folder.xml
index 660b261ee..f40bb0561 100644
--- a/app/src/main/res/drawable/ic_folder.xml
+++ b/app/src/main/res/drawable/ic_folder.xml
@@ -1,24 +1,10 @@
-
-
-
-
-
\ No newline at end of file
+ android:viewportHeight="24"
+ android:tint="?attr/colorControlNormal">
+
+
diff --git a/app/src/main/res/drawable/ic_food_croissant.xml b/app/src/main/res/drawable/ic_food_croissant.xml
deleted file mode 100644
index 5428c56a9..000000000
--- a/app/src/main/res/drawable/ic_food_croissant.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
\ No newline at end of file
diff --git a/app/src/main/res/drawable/ic_fullscreen.xml b/app/src/main/res/drawable/ic_fullscreen.xml
new file mode 100644
index 000000000..65fde109c
--- /dev/null
+++ b/app/src/main/res/drawable/ic_fullscreen.xml
@@ -0,0 +1,10 @@
+
+
+
diff --git a/app/src/main/res/drawable/ic_gift.xml b/app/src/main/res/drawable/ic_gift.xml
new file mode 100644
index 000000000..df8a20c73
--- /dev/null
+++ b/app/src/main/res/drawable/ic_gift.xml
@@ -0,0 +1,10 @@
+
+
+
diff --git a/app/src/main/res/drawable/ic_help.xml b/app/src/main/res/drawable/ic_help.xml
index a9b9d6408..af70fc3af 100644
--- a/app/src/main/res/drawable/ic_help.xml
+++ b/app/src/main/res/drawable/ic_help.xml
@@ -1,24 +1,10 @@
-
-
-
-
-
\ No newline at end of file
+ android:viewportHeight="24"
+ android:tint="?attr/colorControlNormal">
+
+
diff --git a/app/src/main/res/drawable/ic_history.xml b/app/src/main/res/drawable/ic_history.xml
index 0fbf82b5d..f27568cca 100644
--- a/app/src/main/res/drawable/ic_history.xml
+++ b/app/src/main/res/drawable/ic_history.xml
@@ -1,10 +1,10 @@
-
-
+ android:height="24dp"
+ android:viewportWidth="24"
+ android:viewportHeight="24"
+ android:tint="?attr/colorControlNormal">
+
diff --git a/app/src/main/res/drawable/ic_home.xml b/app/src/main/res/drawable/ic_home.xml
index 49bb4eea4..3ef75679a 100644
--- a/app/src/main/res/drawable/ic_home.xml
+++ b/app/src/main/res/drawable/ic_home.xml
@@ -1,23 +1,10 @@
-
-
-
-
\ No newline at end of file
+ android:viewportHeight="24"
+ android:tint="?attr/colorControlNormal">
+
+
diff --git a/app/src/main/res/drawable/ic_image.xml b/app/src/main/res/drawable/ic_image.xml
index ae7e18080..69331d946 100644
--- a/app/src/main/res/drawable/ic_image.xml
+++ b/app/src/main/res/drawable/ic_image.xml
@@ -1,25 +1,10 @@
-
-
-
-
-
-
\ No newline at end of file
+ android:viewportHeight="24"
+ android:tint="?attr/colorControlNormal">
+
+
diff --git a/app/src/main/res/drawable/ic_info_outline.xml b/app/src/main/res/drawable/ic_info_outline.xml
index 194cfc1f3..8f9a9042a 100644
--- a/app/src/main/res/drawable/ic_info_outline.xml
+++ b/app/src/main/res/drawable/ic_info_outline.xml
@@ -1,23 +1,10 @@
-
-
-
+ android:viewportWidth="24"
+ android:viewportHeight="24"
+ android:tint="?attr/colorControlNormal">
+
diff --git a/app/src/main/res/drawable/ic_keyboard.xml b/app/src/main/res/drawable/ic_keyboard.xml
index f9e899abb..eceeb7d22 100644
--- a/app/src/main/res/drawable/ic_keyboard.xml
+++ b/app/src/main/res/drawable/ic_keyboard.xml
@@ -1,23 +1,10 @@
-
-
-
+ android:viewportWidth="24"
+ android:viewportHeight="24"
+ android:tint="?attr/colorControlNormal">
+
diff --git a/app/src/main/res/drawable/ic_keyboard_arrow_down.xml b/app/src/main/res/drawable/ic_keyboard_arrow_down.xml
new file mode 100644
index 000000000..ddbc0306d
--- /dev/null
+++ b/app/src/main/res/drawable/ic_keyboard_arrow_down.xml
@@ -0,0 +1,10 @@
+
+
+
diff --git a/app/src/main/res/drawable/ic_keyboard_arrow_down_black.xml b/app/src/main/res/drawable/ic_keyboard_arrow_down_black.xml
deleted file mode 100644
index 69a6c3019..000000000
--- a/app/src/main/res/drawable/ic_keyboard_arrow_down_black.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
-
\ No newline at end of file
diff --git a/app/src/main/res/drawable/ic_keyboard_arrow_right.xml b/app/src/main/res/drawable/ic_keyboard_arrow_right.xml
index b283c52dd..0811dc2c2 100644
--- a/app/src/main/res/drawable/ic_keyboard_arrow_right.xml
+++ b/app/src/main/res/drawable/ic_keyboard_arrow_right.xml
@@ -1,4 +1,4 @@
\ No newline at end of file
diff --git a/app/src/main/res/drawable/ic_keyboard_arrow_up.xml b/app/src/main/res/drawable/ic_keyboard_arrow_up.xml
index a1d8ff1a9..0f7f5ae32 100755
--- a/app/src/main/res/drawable/ic_keyboard_arrow_up.xml
+++ b/app/src/main/res/drawable/ic_keyboard_arrow_up.xml
@@ -1,4 +1,4 @@
\ No newline at end of file
diff --git a/app/src/main/res/drawable/ic_keyboard_backspace_black.xml b/app/src/main/res/drawable/ic_keyboard_backspace_black.xml
deleted file mode 100644
index 95abfbb50..000000000
--- a/app/src/main/res/drawable/ic_keyboard_backspace_black.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/app/src/main/res/drawable/ic_kofi.xml b/app/src/main/res/drawable/ic_kofi.xml
new file mode 100644
index 000000000..715f0341d
--- /dev/null
+++ b/app/src/main/res/drawable/ic_kofi.xml
@@ -0,0 +1,10 @@
+
+
+
diff --git a/app/src/main/res/drawable/ic_language.xml b/app/src/main/res/drawable/ic_language.xml
index f8d23d595..bcce6eeac 100644
--- a/app/src/main/res/drawable/ic_language.xml
+++ b/app/src/main/res/drawable/ic_language.xml
@@ -1,10 +1,10 @@
-
+ android:viewportWidth="24"
+ android:viewportHeight="24"
+ android:tint="?attr/colorControlNormal">
+
diff --git a/app/src/main/res/drawable/ic_layout.xml b/app/src/main/res/drawable/ic_layout.xml
deleted file mode 100644
index dddf8672b..000000000
--- a/app/src/main/res/drawable/ic_layout.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
diff --git a/app/src/main/res/drawable/ic_library_add.xml b/app/src/main/res/drawable/ic_library_add.xml
index edacf1b8e..4b95cf651 100644
--- a/app/src/main/res/drawable/ic_library_add.xml
+++ b/app/src/main/res/drawable/ic_library_add.xml
@@ -1,23 +1,10 @@
-
-
-
-
\ No newline at end of file
+ android:viewportHeight="24"
+ android:tint="?attr/colorControlNormal">
+
+
diff --git a/app/src/main/res/drawable/ic_mic.xml b/app/src/main/res/drawable/ic_mic.xml
index 36e338606..038fb4db7 100644
--- a/app/src/main/res/drawable/ic_mic.xml
+++ b/app/src/main/res/drawable/ic_mic.xml
@@ -1,24 +1,10 @@
-
-
-
-
-
\ No newline at end of file
+ android:viewportHeight="24"
+ android:tint="?attr/colorControlNormal">
+
+
diff --git a/app/src/main/res/drawable/ic_notification_classic.xml b/app/src/main/res/drawable/ic_notification_classic.xml
new file mode 100644
index 000000000..a4b7167b0
--- /dev/null
+++ b/app/src/main/res/drawable/ic_notification_classic.xml
@@ -0,0 +1,10 @@
+
+
+
diff --git a/app/src/main/res/drawable/ic_open_in_browser.xml b/app/src/main/res/drawable/ic_open_in_browser.xml
index eeff055db..280cdca67 100644
--- a/app/src/main/res/drawable/ic_open_in_browser.xml
+++ b/app/src/main/res/drawable/ic_open_in_browser.xml
@@ -1,12 +1,10 @@
-
-
-
-
-
\ No newline at end of file
+ android:viewportHeight="24"
+ android:tint="?attr/colorControlNormal">
+
+
diff --git a/app/src/main/res/drawable/ic_palette.xml b/app/src/main/res/drawable/ic_palette.xml
new file mode 100644
index 000000000..4bd082e6d
--- /dev/null
+++ b/app/src/main/res/drawable/ic_palette.xml
@@ -0,0 +1,10 @@
+
+
+
diff --git a/app/src/main/res/drawable/ic_palette_outline.xml b/app/src/main/res/drawable/ic_palette_outline.xml
new file mode 100644
index 000000000..57909b62f
--- /dev/null
+++ b/app/src/main/res/drawable/ic_palette_outline.xml
@@ -0,0 +1,10 @@
+
+
+
diff --git a/app/src/main/res/drawable/ic_paypal.xml b/app/src/main/res/drawable/ic_paypal.xml
new file mode 100644
index 000000000..f3f437ff5
--- /dev/null
+++ b/app/src/main/res/drawable/ic_paypal.xml
@@ -0,0 +1,10 @@
+
+
+
diff --git a/app/src/main/res/drawable/ic_phonelink_ring.xml b/app/src/main/res/drawable/ic_phonelink_ring.xml
index b2c8313e0..1f73e85d2 100644
--- a/app/src/main/res/drawable/ic_phonelink_ring.xml
+++ b/app/src/main/res/drawable/ic_phonelink_ring.xml
@@ -1,5 +1,10 @@
-
-
+
+
diff --git a/app/src/main/res/drawable/ic_play_circle.xml b/app/src/main/res/drawable/ic_play_circle.xml
new file mode 100644
index 000000000..9badfb8a3
--- /dev/null
+++ b/app/src/main/res/drawable/ic_play_circle.xml
@@ -0,0 +1,10 @@
+
+
+
diff --git a/app/src/main/res/drawable/ic_play_circle_filled.xml b/app/src/main/res/drawable/ic_play_circle_filled.xml
index 87619b256..4613121b9 100644
--- a/app/src/main/res/drawable/ic_play_circle_filled.xml
+++ b/app/src/main/res/drawable/ic_play_circle_filled.xml
@@ -1,11 +1,10 @@
-
-
+ android:viewportHeight="24"
+ android:tint="?attr/colorControlNormal">
+ android:fillColor="@android:color/white"
+ android:pathData="M9.5,9.325V14.675Q9.5,15.275 10.025,15.55Q10.55,15.825 11.05,15.5L15.2,12.85Q15.675,12.575 15.675,12Q15.675,11.425 15.2,11.15L11.05,8.5Q10.55,8.175 10.025,8.45Q9.5,8.725 9.5,9.325ZM12,22Q9.925,22 8.1,21.212Q6.275,20.425 4.925,19.075Q3.575,17.725 2.788,15.9Q2,14.075 2,12Q2,9.925 2.788,8.1Q3.575,6.275 4.925,4.925Q6.275,3.575 8.1,2.787Q9.925,2 12,2Q14.075,2 15.9,2.787Q17.725,3.575 19.075,4.925Q20.425,6.275 21.212,8.1Q22,9.925 22,12Q22,14.075 21.212,15.9Q20.425,17.725 19.075,19.075Q17.725,20.425 15.9,21.212Q14.075,22 12,22ZM12,12Q12,12 12,12Q12,12 12,12Q12,12 12,12Q12,12 12,12Q12,12 12,12Q12,12 12,12Q12,12 12,12Q12,12 12,12ZM12,20Q15.325,20 17.663,17.663Q20,15.325 20,12Q20,8.675 17.663,6.337Q15.325,4 12,4Q8.675,4 6.338,6.337Q4,8.675 4,12Q4,15.325 6.338,17.663Q8.675,20 12,20Z"/>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/ic_playback_speed.xml b/app/src/main/res/drawable/ic_playback_speed.xml
index 39b481679..b2a3b1f80 100644
--- a/app/src/main/res/drawable/ic_playback_speed.xml
+++ b/app/src/main/res/drawable/ic_playback_speed.xml
@@ -2,11 +2,9 @@
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
- android:viewportHeight="24">
+ android:viewportHeight="24"
+ android:tint="?attr/colorControlNormal">
-
+ android:fillColor="@android:color/white"
+ android:pathData="M11.025,15.5Q10.525,15.825 10,15.55Q9.475,15.275 9.475,14.675V9.325Q9.475,8.725 10,8.45Q10.525,8.175 11.025,8.5L15.175,11.15Q15.4,11.3 15.512,11.525Q15.625,11.75 15.625,12Q15.625,12.25 15.512,12.475Q15.4,12.7 15.175,12.85ZM9.825,21.775Q8.95,21.575 8.138,21.25Q7.325,20.925 6.55,20.425Q6.15,20.175 6.113,19.725Q6.075,19.275 6.425,18.925Q6.675,18.675 7.062,18.638Q7.45,18.6 7.775,18.8Q8.325,19.15 8.913,19.387Q9.5,19.625 10.125,19.775Q10.475,19.875 10.713,20.163Q10.95,20.45 10.95,20.8Q10.95,21.3 10.613,21.587Q10.275,21.875 9.825,21.775ZM5,17.5Q4.65,17.85 4.213,17.812Q3.775,17.775 3.525,17.4Q3.025,16.675 2.688,15.863Q2.35,15.05 2.15,14.15Q2.025,13.7 2.312,13.35Q2.6,13 3.1,13Q3.45,13 3.75,13.25Q4.05,13.5 4.15,13.85Q4.3,14.5 4.55,15.075Q4.8,15.65 5.125,16.2Q5.325,16.5 5.287,16.875Q5.25,17.25 5,17.5ZM3.125,11Q2.625,11 2.325,10.65Q2.025,10.3 2.125,9.85Q2.325,8.975 2.675,8.137Q3.025,7.3 3.525,6.575Q3.775,6.2 4.213,6.175Q4.65,6.15 5,6.5Q5.25,6.75 5.287,7.125Q5.325,7.5 5.125,7.8Q4.8,8.325 4.55,8.912Q4.3,9.5 4.15,10.15Q4.05,10.5 3.763,10.75Q3.475,11 3.125,11ZM14.05,21.75Q13.6,21.85 13.275,21.575Q12.95,21.3 12.95,20.825Q12.95,20.475 13.188,20.175Q13.425,19.875 13.775,19.775Q16.45,19.075 18.175,16.938Q19.9,14.8 19.9,12Q19.9,9.2 18.175,7.025Q16.45,4.85 13.775,4.2Q13.425,4.1 13.188,3.812Q12.95,3.525 12.95,3.175Q12.95,2.7 13.288,2.412Q13.625,2.125 14.075,2.225Q17.5,2.975 19.7,5.7Q21.9,8.425 21.9,12Q21.9,15.55 19.688,18.25Q17.475,20.95 14.05,21.75ZM7.7,5.225Q7.375,5.425 7.013,5.375Q6.65,5.325 6.4,5.075Q6.05,4.725 6.088,4.275Q6.125,3.825 6.525,3.575Q7.3,3.075 8.125,2.75Q8.95,2.425 9.825,2.225Q10.275,2.125 10.613,2.412Q10.95,2.7 10.95,3.175Q10.95,3.525 10.7,3.812Q10.45,4.1 10.1,4.2Q9.475,4.35 8.875,4.612Q8.275,4.875 7.7,5.225Z"/>
diff --git a/app/src/main/res/drawable/ic_popcorn.xml b/app/src/main/res/drawable/ic_popcorn.xml
deleted file mode 100644
index 1dcf7c62b..000000000
--- a/app/src/main/res/drawable/ic_popcorn.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
diff --git a/app/src/main/res/drawable/ic_queue_music.xml b/app/src/main/res/drawable/ic_queue_music.xml
index 94de4470c..7751c8f35 100644
--- a/app/src/main/res/drawable/ic_queue_music.xml
+++ b/app/src/main/res/drawable/ic_queue_music.xml
@@ -1,23 +1,10 @@
-
-
-
-
\ No newline at end of file
+ android:viewportHeight="24"
+ android:tint="?attr/colorControlNormal">
+
+
diff --git a/app/src/main/res/drawable/ic_redo.xml b/app/src/main/res/drawable/ic_redo.xml
index 14462f542..4f852a86f 100644
--- a/app/src/main/res/drawable/ic_redo.xml
+++ b/app/src/main/res/drawable/ic_redo.xml
@@ -2,10 +2,10 @@
-
diff --git a/app/src/main/res/drawable/ic_refresh.xml b/app/src/main/res/drawable/ic_refresh.xml
index 5cdbeb077..66a1e9b6a 100644
--- a/app/src/main/res/drawable/ic_refresh.xml
+++ b/app/src/main/res/drawable/ic_refresh.xml
@@ -6,5 +6,5 @@
android:tint="?attr/colorControlNormal">
+ android:pathData="M12,20Q8.65,20 6.325,17.675Q4,15.35 4,12Q4,8.65 6.325,6.325Q8.65,4 12,4Q13.725,4 15.3,4.713Q16.875,5.425 18,6.75V5Q18,4.575 18.288,4.287Q18.575,4 19,4Q19.425,4 19.712,4.287Q20,4.575 20,5V10Q20,10.425 19.712,10.712Q19.425,11 19,11H14Q13.575,11 13.288,10.712Q13,10.425 13,10Q13,9.575 13.288,9.287Q13.575,9 14,9H17.2Q16.4,7.6 15.013,6.8Q13.625,6 12,6Q9.5,6 7.75,7.75Q6,9.5 6,12Q6,14.5 7.75,16.25Q9.5,18 12,18Q13.725,18 15.188,17.087Q16.65,16.175 17.375,14.65Q17.5,14.375 17.788,14.188Q18.075,14 18.375,14Q18.95,14 19.238,14.4Q19.525,14.8 19.3,15.3Q18.35,17.425 16.375,18.712Q14.4,20 12,20Z"/>
diff --git a/app/src/main/res/drawable/ic_repeat.xml b/app/src/main/res/drawable/ic_repeat.xml
index 57a847355..53fed2aa4 100644
--- a/app/src/main/res/drawable/ic_repeat.xml
+++ b/app/src/main/res/drawable/ic_repeat.xml
@@ -1,11 +1,10 @@
-
-
-
-
\ No newline at end of file
+ android:viewportHeight="24"
+ android:tint="?attr/colorControlNormal">
+
+
diff --git a/app/src/main/res/drawable/ic_repeat_one.xml b/app/src/main/res/drawable/ic_repeat_one.xml
index 8c04a4b91..b4afbe32b 100644
--- a/app/src/main/res/drawable/ic_repeat_one.xml
+++ b/app/src/main/res/drawable/ic_repeat_one.xml
@@ -1,11 +1,10 @@
-
-
-
-
\ No newline at end of file
+ android:viewportHeight="24"
+ android:tint="?attr/colorControlNormal">
+
+
diff --git a/app/src/main/res/drawable/ic_repeat_one_sharp.xml b/app/src/main/res/drawable/ic_repeat_one_sharp.xml
deleted file mode 100644
index a0dbdbaea..000000000
--- a/app/src/main/res/drawable/ic_repeat_one_sharp.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
-
\ No newline at end of file
diff --git a/app/src/main/res/drawable/ic_repeat_sharp.xml b/app/src/main/res/drawable/ic_repeat_sharp.xml
deleted file mode 100644
index 771cddf56..000000000
--- a/app/src/main/res/drawable/ic_repeat_sharp.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
-
\ No newline at end of file
diff --git a/app/src/main/res/drawable/ic_save.xml b/app/src/main/res/drawable/ic_save.xml
index 3093228f3..ceaaba2e4 100644
--- a/app/src/main/res/drawable/ic_save.xml
+++ b/app/src/main/res/drawable/ic_save.xml
@@ -1,25 +1,10 @@
-
-
-
-
-
-
\ No newline at end of file
+ android:viewportHeight="24"
+ android:tint="?attr/colorControlNormal">
+
+
diff --git a/app/src/main/res/drawable/ic_sd_card.xml b/app/src/main/res/drawable/ic_sd_card.xml
new file mode 100644
index 000000000..3bf143f65
--- /dev/null
+++ b/app/src/main/res/drawable/ic_sd_card.xml
@@ -0,0 +1,10 @@
+
+
+
diff --git a/app/src/main/res/drawable/ic_sd_storage.xml b/app/src/main/res/drawable/ic_sd_storage.xml
index 839b9fb22..3bf143f65 100644
--- a/app/src/main/res/drawable/ic_sd_storage.xml
+++ b/app/src/main/res/drawable/ic_sd_storage.xml
@@ -1,5 +1,10 @@
-
-
+
+
diff --git a/app/src/main/res/drawable/ic_search.xml b/app/src/main/res/drawable/ic_search.xml
index 4d0f18584..c31bac9ce 100644
--- a/app/src/main/res/drawable/ic_search.xml
+++ b/app/src/main/res/drawable/ic_search.xml
@@ -1,10 +1,10 @@
-
+ android:viewportWidth="24"
+ android:viewportHeight="24"
+ android:tint="?attr/colorControlNormal">
+
diff --git a/app/src/main/res/drawable/ic_select_all.xml b/app/src/main/res/drawable/ic_select_all.xml
index a7029a97f..28347abcf 100644
--- a/app/src/main/res/drawable/ic_select_all.xml
+++ b/app/src/main/res/drawable/ic_select_all.xml
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/ic_send.xml b/app/src/main/res/drawable/ic_send.xml
index f2e8eff4d..ed8a26465 100644
--- a/app/src/main/res/drawable/ic_send.xml
+++ b/app/src/main/res/drawable/ic_send.xml
@@ -1,23 +1,10 @@
-
-
-
+ android:viewportWidth="24"
+ android:viewportHeight="24"
+ android:tint="?attr/colorControlNormal">
+
diff --git a/app/src/main/res/drawable/ic_settings.xml b/app/src/main/res/drawable/ic_settings.xml
index da3e202a3..43c1ad20c 100644
--- a/app/src/main/res/drawable/ic_settings.xml
+++ b/app/src/main/res/drawable/ic_settings.xml
@@ -1,14 +1,10 @@
-
-
-
-
-
\ No newline at end of file
+ android:viewportHeight="24"
+ android:tint="?attr/colorControlNormal">
+
+
diff --git a/app/src/main/res/drawable/ic_settings_brightness.xml b/app/src/main/res/drawable/ic_settings_brightness.xml
new file mode 100644
index 000000000..03567d15a
--- /dev/null
+++ b/app/src/main/res/drawable/ic_settings_brightness.xml
@@ -0,0 +1,10 @@
+
+
+
diff --git a/app/src/main/res/drawable/ic_settings_brigntness.xml b/app/src/main/res/drawable/ic_settings_brigntness.xml
deleted file mode 100644
index 09e353364..000000000
--- a/app/src/main/res/drawable/ic_settings_brigntness.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/app/src/main/res/drawable/ic_share.xml b/app/src/main/res/drawable/ic_share.xml
index f06ac6957..a7404b279 100644
--- a/app/src/main/res/drawable/ic_share.xml
+++ b/app/src/main/res/drawable/ic_share.xml
@@ -1,11 +1,10 @@
-
-
+ android:fillColor="@android:color/white"
+ android:pathData="M18,22Q16.75,22 15.875,21.125Q15,20.25 15,19Q15,18.825 15.025,18.637Q15.05,18.45 15.1,18.3L8.05,14.2Q7.625,14.575 7.1,14.787Q6.575,15 6,15Q4.75,15 3.875,14.125Q3,13.25 3,12Q3,10.75 3.875,9.875Q4.75,9 6,9Q6.575,9 7.1,9.212Q7.625,9.425 8.05,9.8L15.1,5.7Q15.05,5.55 15.025,5.363Q15,5.175 15,5Q15,3.75 15.875,2.875Q16.75,2 18,2Q19.25,2 20.125,2.875Q21,3.75 21,5Q21,6.25 20.125,7.125Q19.25,8 18,8Q17.425,8 16.9,7.787Q16.375,7.575 15.95,7.2L8.9,11.3Q8.95,11.45 8.975,11.637Q9,11.825 9,12Q9,12.175 8.975,12.362Q8.95,12.55 8.9,12.7L15.95,16.8Q16.375,16.425 16.9,16.212Q17.425,16 18,16Q19.25,16 20.125,16.875Q21,17.75 21,19Q21,20.25 20.125,21.125Q19.25,22 18,22Z" />
\ No newline at end of file
diff --git a/app/src/main/res/drawable/ic_shuffle.xml b/app/src/main/res/drawable/ic_shuffle.xml
index 025d9fd15..35a4fd033 100644
--- a/app/src/main/res/drawable/ic_shuffle.xml
+++ b/app/src/main/res/drawable/ic_shuffle.xml
@@ -1,11 +1,10 @@
-
-
-
-
\ No newline at end of file
+ android:viewportHeight="24"
+ android:tint="?attr/colorControlNormal">
+
+
diff --git a/app/src/main/res/drawable/ic_shuffle_sharp.xml b/app/src/main/res/drawable/ic_shuffle_sharp.xml
deleted file mode 100644
index e56b2e366..000000000
--- a/app/src/main/res/drawable/ic_shuffle_sharp.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
-
\ No newline at end of file
diff --git a/app/src/main/res/drawable/ic_skip_next.xml b/app/src/main/res/drawable/ic_skip_next.xml
index 36b7c9532..1d850e6eb 100644
--- a/app/src/main/res/drawable/ic_skip_next.xml
+++ b/app/src/main/res/drawable/ic_skip_next.xml
@@ -1,11 +1,10 @@
-
-
-
+ android:viewportHeight="24"
+ android:tint="?attr/colorControlNormal">
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/ic_skip_next_outline.xml b/app/src/main/res/drawable/ic_skip_next_outline.xml
index 0c9da3b11..13c191470 100644
--- a/app/src/main/res/drawable/ic_skip_next_outline.xml
+++ b/app/src/main/res/drawable/ic_skip_next_outline.xml
@@ -1,10 +1,10 @@
-
+
diff --git a/app/src/main/res/drawable/ic_skip_next_round_white_32dp.xml b/app/src/main/res/drawable/ic_skip_next_round_white_32dp.xml
deleted file mode 100644
index dab715299..000000000
--- a/app/src/main/res/drawable/ic_skip_next_round_white_32dp.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/app/src/main/res/drawable/ic_skip_next_sharp.xml b/app/src/main/res/drawable/ic_skip_next_sharp.xml
index 967225648..2bae0aaaf 100644
--- a/app/src/main/res/drawable/ic_skip_next_sharp.xml
+++ b/app/src/main/res/drawable/ic_skip_next_sharp.xml
@@ -1,11 +1,10 @@
-
-
-
-
\ No newline at end of file
+ android:viewportHeight="24"
+ android:tint="?attr/colorControlNormal">
+
+
diff --git a/app/src/main/res/drawable/ic_skip_previous.xml b/app/src/main/res/drawable/ic_skip_previous.xml
index 992260c03..4178e0bd5 100644
--- a/app/src/main/res/drawable/ic_skip_previous.xml
+++ b/app/src/main/res/drawable/ic_skip_previous.xml
@@ -1,11 +1,10 @@
-
-
-
-
\ No newline at end of file
+ android:viewportHeight="24"
+ android:tint="?attr/colorControlNormal">
+
+
diff --git a/app/src/main/res/drawable/ic_skip_previous_outline.xml b/app/src/main/res/drawable/ic_skip_previous_outline.xml
index cbfdf33c6..56b487065 100644
--- a/app/src/main/res/drawable/ic_skip_previous_outline.xml
+++ b/app/src/main/res/drawable/ic_skip_previous_outline.xml
@@ -1,10 +1,10 @@
-
+
diff --git a/app/src/main/res/drawable/ic_skip_previous_round_white_32dp.xml b/app/src/main/res/drawable/ic_skip_previous_round_white_32dp.xml
deleted file mode 100644
index 2869b150d..000000000
--- a/app/src/main/res/drawable/ic_skip_previous_round_white_32dp.xml
+++ /dev/null
@@ -1,23 +0,0 @@
-
-
-
-
-
\ No newline at end of file
diff --git a/app/src/main/res/drawable/ic_skip_previous_sharp.xml b/app/src/main/res/drawable/ic_skip_previous_sharp.xml
index 503c81ad0..9de2a4131 100644
--- a/app/src/main/res/drawable/ic_skip_previous_sharp.xml
+++ b/app/src/main/res/drawable/ic_skip_previous_sharp.xml
@@ -1,11 +1,10 @@
-
-
-
-
\ No newline at end of file
+ android:viewportHeight="24"
+ android:tint="?attr/colorControlNormal">
+
+
diff --git a/app/src/main/res/drawable/ic_sleep_timer.xml b/app/src/main/res/drawable/ic_sleep_timer.xml
index 62c546fc2..be7095163 100644
--- a/app/src/main/res/drawable/ic_sleep_timer.xml
+++ b/app/src/main/res/drawable/ic_sleep_timer.xml
@@ -1,9 +1,10 @@
-
+
diff --git a/app/src/main/res/drawable/ic_sort.xml b/app/src/main/res/drawable/ic_sort.xml
index 68e09061a..0408aeeac 100644
--- a/app/src/main/res/drawable/ic_sort.xml
+++ b/app/src/main/res/drawable/ic_sort.xml
@@ -1,24 +1,10 @@
-
-
-
-
-
\ No newline at end of file
+ android:viewportHeight="24"
+ android:tint="?attr/colorControlNormal">
+
+
diff --git a/app/src/main/res/drawable/ic_star.xml b/app/src/main/res/drawable/ic_star.xml
index 0337872ff..8cc89371f 100644
--- a/app/src/main/res/drawable/ic_star.xml
+++ b/app/src/main/res/drawable/ic_star.xml
@@ -1,24 +1,10 @@
-
-
-
-
+ android:viewportWidth="24"
+ android:viewportHeight="24"
+ android:tint="?attr/colorControlNormal">
+
diff --git a/app/src/main/res/drawable/ic_storage.xml b/app/src/main/res/drawable/ic_storage.xml
index a4a57c40f..1633e252e 100644
--- a/app/src/main/res/drawable/ic_storage.xml
+++ b/app/src/main/res/drawable/ic_storage.xml
@@ -4,7 +4,7 @@
android:viewportWidth="24"
android:viewportHeight="24"
android:tint="?attr/colorControlNormal">
-
+
diff --git a/app/src/main/res/drawable/ic_take_away.xml b/app/src/main/res/drawable/ic_take_away.xml
deleted file mode 100644
index 67318ebf3..000000000
--- a/app/src/main/res/drawable/ic_take_away.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
diff --git a/app/src/main/res/drawable/ic_take_away_coffe.xml b/app/src/main/res/drawable/ic_take_away_coffe.xml
deleted file mode 100644
index 67ae9d911..000000000
--- a/app/src/main/res/drawable/ic_take_away_coffe.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
\ No newline at end of file
diff --git a/app/src/main/res/drawable/ic_testing.xml b/app/src/main/res/drawable/ic_testing.xml
index 1a8e3e283..c95029ded 100644
--- a/app/src/main/res/drawable/ic_testing.xml
+++ b/app/src/main/res/drawable/ic_testing.xml
@@ -1,24 +1,10 @@
-
-
-
-
-
\ No newline at end of file
+ android:viewportHeight="24"
+ android:tint="?attr/colorControlNormal">
+
+
diff --git a/app/src/main/res/drawable/ic_theme_palette.xml b/app/src/main/res/drawable/ic_theme_palette.xml
deleted file mode 100644
index 489e9fed9..000000000
--- a/app/src/main/res/drawable/ic_theme_palette.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/app/src/main/res/drawable/ic_trending_up.xml b/app/src/main/res/drawable/ic_trending_up.xml
index 56049b11d..e384a28b9 100644
--- a/app/src/main/res/drawable/ic_trending_up.xml
+++ b/app/src/main/res/drawable/ic_trending_up.xml
@@ -1,12 +1,10 @@
-
-
-
-
-
\ No newline at end of file
+ android:viewportHeight="24"
+ android:tint="?attr/colorControlNormal">
+
+
diff --git a/app/src/main/res/drawable/ic_view_carousel.xml b/app/src/main/res/drawable/ic_view_carousel.xml
index 61de4b178..2eb0d411f 100644
--- a/app/src/main/res/drawable/ic_view_carousel.xml
+++ b/app/src/main/res/drawable/ic_view_carousel.xml
@@ -1,11 +1,10 @@
-
-
-
-
\ No newline at end of file
+ android:viewportHeight="24"
+ android:tint="?attr/colorControlNormal">
+
+
diff --git a/app/src/main/res/drawable/ic_volume_down.xml b/app/src/main/res/drawable/ic_volume_down.xml
index 040371ab5..668e16491 100644
--- a/app/src/main/res/drawable/ic_volume_down.xml
+++ b/app/src/main/res/drawable/ic_volume_down.xml
@@ -1,11 +1,10 @@
-
-
-
-
\ No newline at end of file
+ android:viewportHeight="24"
+ android:tint="?attr/colorControlNormal">
+
+
diff --git a/app/src/main/res/drawable/ic_volume_off.xml b/app/src/main/res/drawable/ic_volume_off.xml
index ac1440d29..de83f4243 100644
--- a/app/src/main/res/drawable/ic_volume_off.xml
+++ b/app/src/main/res/drawable/ic_volume_off.xml
@@ -1,12 +1,10 @@
-
-
-
-
-
\ No newline at end of file
+ android:viewportHeight="24"
+ android:tint="?attr/colorControlNormal">
+
+
diff --git a/app/src/main/res/drawable/ic_volume_up.xml b/app/src/main/res/drawable/ic_volume_up.xml
index 70a126ced..97b63ed9b 100644
--- a/app/src/main/res/drawable/ic_volume_up.xml
+++ b/app/src/main/res/drawable/ic_volume_up.xml
@@ -1,24 +1,10 @@
-
-
-
-
-
\ No newline at end of file
+ android:viewportHeight="24"
+ android:tint="?attr/colorControlNormal">
+
+
diff --git a/app/src/main/res/drawable/ic_watch_later.xml b/app/src/main/res/drawable/ic_watch_later.xml
deleted file mode 100644
index 097395347..000000000
--- a/app/src/main/res/drawable/ic_watch_later.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
\ No newline at end of file
diff --git a/app/src/main/res/drawable/ic_website.xml b/app/src/main/res/drawable/ic_website.xml
new file mode 100644
index 000000000..5671992a7
--- /dev/null
+++ b/app/src/main/res/drawable/ic_website.xml
@@ -0,0 +1,10 @@
+
+
+
diff --git a/app/src/main/res/layout-land/activity_album_tag_editor.xml b/app/src/main/res/layout-land/activity_album_tag_editor.xml
index 3e7f89a8c..0213d957d 100644
--- a/app/src/main/res/layout-land/activity_album_tag_editor.xml
+++ b/app/src/main/res/layout-land/activity_album_tag_editor.xml
@@ -19,7 +19,7 @@
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
- app:navigationIcon="@drawable/ic_keyboard_backspace_black"
+ app:navigationIcon="@drawable/ic_arrow_back"
app:title="@string/action_tag_editor" />
diff --git a/app/src/main/res/layout-land/activity_song_tag_editor.xml b/app/src/main/res/layout-land/activity_song_tag_editor.xml
index 8cc5618bd..d19eea69c 100644
--- a/app/src/main/res/layout-land/activity_song_tag_editor.xml
+++ b/app/src/main/res/layout-land/activity_song_tag_editor.xml
@@ -18,7 +18,7 @@
style="@style/Toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- app:navigationIcon="@drawable/ic_keyboard_backspace_black"
+ app:navigationIcon="@drawable/ic_arrow_back"
app:title="@string/action_tag_editor" />
+ app:navigationIcon="@drawable/ic_arrow_back" />
+ app:navigationIcon="@drawable/ic_arrow_back" />
+ app:navigationIcon="@drawable/ic_keyboard_arrow_down" />
diff --git a/app/src/main/res/layout-land/fragment_card_player.xml b/app/src/main/res/layout-land/fragment_card_player.xml
index bfecea0dd..d4294d937 100644
--- a/app/src/main/res/layout-land/fragment_card_player.xml
+++ b/app/src/main/res/layout-land/fragment_card_player.xml
@@ -41,7 +41,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@android:color/transparent"
- app:navigationIcon="@drawable/ic_keyboard_arrow_down_black" />
+ app:navigationIcon="@drawable/ic_keyboard_arrow_down" />
diff --git a/app/src/main/res/layout-land/fragment_circle_player.xml b/app/src/main/res/layout-land/fragment_circle_player.xml
index d1e87ac7f..d8c7dd01f 100644
--- a/app/src/main/res/layout-land/fragment_circle_player.xml
+++ b/app/src/main/res/layout-land/fragment_circle_player.xml
@@ -52,7 +52,7 @@
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/statusBarContainer"
- app:navigationIcon="@drawable/ic_keyboard_arrow_down_black"
+ app:navigationIcon="@drawable/ic_keyboard_arrow_down"
tools:layout_editor_absoluteY="24dp" />
+ app:navigationIcon="@drawable/ic_keyboard_arrow_down" />
diff --git a/app/src/main/res/layout-land/fragment_flat_player.xml b/app/src/main/res/layout-land/fragment_flat_player.xml
index 65ab0a0bc..6cd52e1d6 100644
--- a/app/src/main/res/layout-land/fragment_flat_player.xml
+++ b/app/src/main/res/layout-land/fragment_flat_player.xml
@@ -51,7 +51,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0"
- app:navigationIcon="@drawable/ic_keyboard_arrow_down_black" />
+ app:navigationIcon="@drawable/ic_keyboard_arrow_down" />
+ app:navigationIcon="@drawable/ic_keyboard_arrow_down" />
diff --git a/app/src/main/res/layout-land/fragment_md3_player.xml b/app/src/main/res/layout-land/fragment_md3_player.xml
index 9be0da583..ca5b63f95 100644
--- a/app/src/main/res/layout-land/fragment_md3_player.xml
+++ b/app/src/main/res/layout-land/fragment_md3_player.xml
@@ -46,7 +46,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0"
- app:navigationIcon="@drawable/ic_keyboard_arrow_down_black" />
+ app:navigationIcon="@drawable/ic_keyboard_arrow_down" />
+ app:navigationIcon="@drawable/ic_keyboard_arrow_down" />
diff --git a/app/src/main/res/layout-land/fragment_player.xml b/app/src/main/res/layout-land/fragment_player.xml
index a678dcb69..89db5dc00 100755
--- a/app/src/main/res/layout-land/fragment_player.xml
+++ b/app/src/main/res/layout-land/fragment_player.xml
@@ -68,7 +68,7 @@
style="@style/Toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- app:navigationIcon="@drawable/ic_keyboard_arrow_down_black" />
+ app:navigationIcon="@drawable/ic_keyboard_arrow_down" />
+ app:navigationIcon="@drawable/ic_keyboard_arrow_down" />
diff --git a/app/src/main/res/layout-land/fragment_user_info.xml b/app/src/main/res/layout-land/fragment_user_info.xml
index 087e5bf2b..05adb87f8 100644
--- a/app/src/main/res/layout-land/fragment_user_info.xml
+++ b/app/src/main/res/layout-land/fragment_user_info.xml
@@ -18,7 +18,7 @@
style="@style/Toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- app:navigationIcon="@drawable/ic_keyboard_backspace_black"
+ app:navigationIcon="@drawable/ic_arrow_back"
app:title="@string/profile"
app:titleTextAppearance="@style/ToolbarTextAppearanceNormal" />
diff --git a/app/src/main/res/layout-v31/layout_notification_collapsed.xml b/app/src/main/res/layout-v31/layout_notification_collapsed.xml
index ae93ac013..b87f6b18f 100644
--- a/app/src/main/res/layout-v31/layout_notification_collapsed.xml
+++ b/app/src/main/res/layout-v31/layout_notification_collapsed.xml
@@ -75,7 +75,7 @@
android:layout_height="38dp"
android:background="@drawable/notification_selector"
android:scaleType="centerInside"
- android:src="@drawable/ic_skip_previous_round_white_32dp"
+ android:src="@drawable/ic_skip_previous"
tools:tint="?colorOnPrimary" />
diff --git a/app/src/main/res/layout-v31/layout_notification_expanded.xml b/app/src/main/res/layout-v31/layout_notification_expanded.xml
index 95f1d7da9..cfa1e5205 100644
--- a/app/src/main/res/layout-v31/layout_notification_expanded.xml
+++ b/app/src/main/res/layout-v31/layout_notification_expanded.xml
@@ -68,7 +68,7 @@
android:layout_height="42dp"
android:background="@drawable/notification_selector"
android:scaleType="centerInside"
- tools:src="@drawable/ic_skip_previous_round_white_32dp"
+ tools:src="@drawable/ic_skip_previous"
tools:tint="?colorOnPrimary" />
diff --git a/app/src/main/res/layout/activity_bug_report.xml b/app/src/main/res/layout/activity_bug_report.xml
index 04f5b3568..401ed9582 100644
--- a/app/src/main/res/layout/activity_bug_report.xml
+++ b/app/src/main/res/layout/activity_bug_report.xml
@@ -17,7 +17,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_collapseMode="pin"
- app:navigationIcon="@drawable/ic_keyboard_backspace_black"
+ app:navigationIcon="@drawable/ic_arrow_back"
app:title="@string/report_bug"
app:titleTextAppearance="@style/ToolbarTextAppearanceNormal" />
@@ -35,12 +35,28 @@
android:clipToPadding="false"
android:orientation="vertical">
-
+ android:layout_marginStart="16dp"
+ android:orientation="vertical"
+ android:paddingTop="8dp"
+ android:paddingBottom="8dp">
+
+
+
+
+
@@ -30,5 +30,70 @@
android:overScrollMode="@integer/overScrollMode"
app:layout_behavior="com.google.android.material.appbar.AppBarLayout$ScrollingViewBehavior">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_license.xml b/app/src/main/res/layout/activity_license.xml
index f362cad08..5e5159686 100644
--- a/app/src/main/res/layout/activity_license.xml
+++ b/app/src/main/res/layout/activity_license.xml
@@ -19,7 +19,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_collapseMode="pin"
- app:navigationIcon="@drawable/ic_keyboard_backspace_black"
+ app:navigationIcon="@drawable/ic_arrow_back"
app:title="@string/licenses"
app:titleTextAppearance="@style/ToolbarTextAppearanceNormal" />
diff --git a/app/src/main/res/layout/activity_pro_version.xml b/app/src/main/res/layout/activity_pro_version.xml
index 6f338ba3a..88aaf9453 100644
--- a/app/src/main/res/layout/activity_pro_version.xml
+++ b/app/src/main/res/layout/activity_pro_version.xml
@@ -34,7 +34,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_collapseMode="pin"
- app:navigationIcon="@drawable/ic_keyboard_backspace_black"
+ app:navigationIcon="@drawable/ic_arrow_back"
app:title="@string/retro_music_pro"
app:titleTextAppearance="@style/ToolbarTextAppearanceNormal"
app:titleTextColor="@color/md_white_1000" />
diff --git a/app/src/main/res/layout/activity_share_instagram.xml b/app/src/main/res/layout/activity_share_instagram.xml
index f9cb5b3d6..d3854ea23 100644
--- a/app/src/main/res/layout/activity_share_instagram.xml
+++ b/app/src/main/res/layout/activity_share_instagram.xml
@@ -132,7 +132,7 @@
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- app:navigationIcon="@drawable/ic_keyboard_backspace_black"
+ app:navigationIcon="@drawable/ic_arrow_back"
app:title="@string/social_stories"
app:titleTextAppearance="@style/ToolbarTextAppearanceNormal" />
diff --git a/app/src/main/res/layout/activity_song_tag_editor.xml b/app/src/main/res/layout/activity_song_tag_editor.xml
index 4d074c89a..d28c583bc 100755
--- a/app/src/main/res/layout/activity_song_tag_editor.xml
+++ b/app/src/main/res/layout/activity_song_tag_editor.xml
@@ -19,7 +19,7 @@
style="@style/Toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- app:navigationIcon="@drawable/ic_keyboard_backspace_black"
+ app:navigationIcon="@drawable/ic_arrow_back"
app:title="@string/action_tag_editor"
app:titleTextAppearance="@style/ToolbarTextAppearanceNormal" />
diff --git a/app/src/main/res/layout/bug_report_card_report.xml b/app/src/main/res/layout/bug_report_card_report.xml
deleted file mode 100644
index 85dc9ff93..000000000
--- a/app/src/main/res/layout/bug_report_card_report.xml
+++ /dev/null
@@ -1,185 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/app/src/main/res/layout/card_retro_info.xml b/app/src/main/res/layout/card_retro_info.xml
index f56702068..2b070fa14 100644
--- a/app/src/main/res/layout/card_retro_info.xml
+++ b/app/src/main/res/layout/card_retro_info.xml
@@ -77,7 +77,7 @@
app:layout_constraintHorizontal_bias="0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/appRate"
- app:listItemIcon="@drawable/ic_card_giftcard"
+ app:listItemIcon="@drawable/ic_gift"
app:listItemSummary="@string/donate_summary"
app:listItemTitle="@string/donate" />
diff --git a/app/src/main/res/layout/card_social.xml b/app/src/main/res/layout/card_social.xml
index 0eade5e1d..3a02a7db3 100644
--- a/app/src/main/res/layout/card_social.xml
+++ b/app/src/main/res/layout/card_social.xml
@@ -37,7 +37,7 @@
app:layout_constraintHorizontal_bias="0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/sb3"
- app:listItemIcon="@drawable/ic_baseline"
+ app:listItemIcon="@drawable/ic_website"
app:listItemSummary="@string/website_summary"
app:listItemTitle="@string/website" />
diff --git a/app/src/main/res/layout/fragment_adaptive_player.xml b/app/src/main/res/layout/fragment_adaptive_player.xml
index d6eca8bbe..bb9143bd6 100644
--- a/app/src/main/res/layout/fragment_adaptive_player.xml
+++ b/app/src/main/res/layout/fragment_adaptive_player.xml
@@ -32,7 +32,7 @@
app:contentInsetLeft="0dp"
app:contentInsetStart="0dp"
app:contentInsetStartWithNavigation="0dp"
- app:navigationIcon="@drawable/ic_keyboard_arrow_down_black"
+ app:navigationIcon="@drawable/ic_keyboard_arrow_down"
app:subtitleTextAppearance="@style/TextViewCaption"
app:titleMargin="0dp"
app:titleMarginStart="0dp"
diff --git a/app/src/main/res/layout/fragment_album_details.xml b/app/src/main/res/layout/fragment_album_details.xml
index 57aff3242..f45ffb233 100644
--- a/app/src/main/res/layout/fragment_album_details.xml
+++ b/app/src/main/res/layout/fragment_album_details.xml
@@ -24,7 +24,7 @@
style="@style/Toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- app:navigationIcon="@drawable/ic_keyboard_backspace_black" />
+ app:navigationIcon="@drawable/ic_arrow_back" />
diff --git a/app/src/main/res/layout/fragment_artist_details.xml b/app/src/main/res/layout/fragment_artist_details.xml
index b1642849e..2b405b864 100644
--- a/app/src/main/res/layout/fragment_artist_details.xml
+++ b/app/src/main/res/layout/fragment_artist_details.xml
@@ -24,7 +24,7 @@
style="@style/Toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- app:navigationIcon="@drawable/ic_keyboard_backspace_black" />
+ app:navigationIcon="@drawable/ic_arrow_back" />
diff --git a/app/src/main/res/layout/fragment_blur.xml b/app/src/main/res/layout/fragment_blur.xml
index bf0d569ad..d0b92400f 100644
--- a/app/src/main/res/layout/fragment_blur.xml
+++ b/app/src/main/res/layout/fragment_blur.xml
@@ -72,6 +72,6 @@
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/playbackControlsFragment"
- app:navigationIcon="@drawable/ic_keyboard_arrow_down_black" />
+ app:navigationIcon="@drawable/ic_keyboard_arrow_down" />
\ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_card_blur_player.xml b/app/src/main/res/layout/fragment_card_blur_player.xml
index 4938d801b..01faf9e04 100644
--- a/app/src/main/res/layout/fragment_card_blur_player.xml
+++ b/app/src/main/res/layout/fragment_card_blur_player.xml
@@ -101,7 +101,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
- app:navigationIcon="@drawable/ic_keyboard_arrow_down_black" />
+ app:navigationIcon="@drawable/ic_keyboard_arrow_down" />
\ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_card_player.xml b/app/src/main/res/layout/fragment_card_player.xml
index 394284b81..3800ed991 100644
--- a/app/src/main/res/layout/fragment_card_player.xml
+++ b/app/src/main/res/layout/fragment_card_player.xml
@@ -50,7 +50,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@android:color/transparent"
- app:navigationIcon="@drawable/ic_keyboard_arrow_down_black" />
+ app:navigationIcon="@drawable/ic_keyboard_arrow_down" />
diff --git a/app/src/main/res/layout/fragment_circle_player.xml b/app/src/main/res/layout/fragment_circle_player.xml
index 520700261..8cb7803e2 100644
--- a/app/src/main/res/layout/fragment_circle_player.xml
+++ b/app/src/main/res/layout/fragment_circle_player.xml
@@ -33,7 +33,7 @@
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/status_bar"
- app:navigationIcon="@drawable/ic_keyboard_arrow_down_black"
+ app:navigationIcon="@drawable/ic_keyboard_arrow_down"
tools:layout_editor_absoluteY="24dp" />
+ app:navigationIcon="@drawable/ic_keyboard_arrow_down" />
+ app:navigationIcon="@drawable/ic_keyboard_arrow_down" />
\ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_fit.xml b/app/src/main/res/layout/fragment_fit.xml
index 0fde206e1..232573e8d 100644
--- a/app/src/main/res/layout/fragment_fit.xml
+++ b/app/src/main/res/layout/fragment_fit.xml
@@ -51,7 +51,7 @@
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:layout_weight="0"
- app:navigationIcon="@drawable/ic_keyboard_arrow_down_black" />
+ app:navigationIcon="@drawable/ic_keyboard_arrow_down" />
diff --git a/app/src/main/res/layout/fragment_flat_player.xml b/app/src/main/res/layout/fragment_flat_player.xml
index 1812a18ce..0b3a5a1c7 100644
--- a/app/src/main/res/layout/fragment_flat_player.xml
+++ b/app/src/main/res/layout/fragment_flat_player.xml
@@ -53,6 +53,6 @@
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
- app:navigationIcon="@drawable/ic_keyboard_arrow_down_black" />
+ app:navigationIcon="@drawable/ic_keyboard_arrow_down" />
\ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_full.xml b/app/src/main/res/layout/fragment_full.xml
index 684bae35c..85389f556 100644
--- a/app/src/main/res/layout/fragment_full.xml
+++ b/app/src/main/res/layout/fragment_full.xml
@@ -63,7 +63,7 @@
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/status_bar"
- app:navigationIcon="@drawable/ic_keyboard_arrow_down_black"
+ app:navigationIcon="@drawable/ic_keyboard_arrow_down"
app:titleMargin="0dp"
app:titleMargins="0dp">
diff --git a/app/src/main/res/layout/fragment_home_player.xml b/app/src/main/res/layout/fragment_home_player.xml
index 00c940a9a..92fa82230 100644
--- a/app/src/main/res/layout/fragment_home_player.xml
+++ b/app/src/main/res/layout/fragment_home_player.xml
@@ -95,6 +95,6 @@
style="@style/Toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- app:navigationIcon="@drawable/ic_keyboard_arrow_down_black" />
+ app:navigationIcon="@drawable/ic_keyboard_arrow_down" />
\ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_lyrics.xml b/app/src/main/res/layout/fragment_lyrics.xml
index 6b3f8ea26..d60cbf51b 100644
--- a/app/src/main/res/layout/fragment_lyrics.xml
+++ b/app/src/main/res/layout/fragment_lyrics.xml
@@ -31,7 +31,7 @@
app:contentInsetLeft="0dp"
app:contentInsetStart="0dp"
app:contentInsetStartWithNavigation="0dp"
- app:navigationIcon="@drawable/ic_keyboard_backspace_black"
+ app:navigationIcon="@drawable/ic_arrow_back"
app:title="@string/lyrics"
app:titleMargin="0dp"
app:titleMarginStart="0dp"
diff --git a/app/src/main/res/layout/fragment_main_settings.xml b/app/src/main/res/layout/fragment_main_settings.xml
index 31398ac1e..306da349d 100644
--- a/app/src/main/res/layout/fragment_main_settings.xml
+++ b/app/src/main/res/layout/fragment_main_settings.xml
@@ -38,7 +38,7 @@
android:paddingBottom="12dp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
- app:srcCompat="@drawable/ic_diamond_stone"
+ app:srcCompat="@drawable/ic_diamond"
app:tint="?colorOnSecondary"
tools:tint="?attr/colorAccent" />
@@ -101,7 +101,7 @@
android:id="@+id/generalSettings"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- app:settingListItemIcon="@drawable/ic_theme_palette"
+ app:settingListItemIcon="@drawable/ic_palette"
app:settingListItemIconColor="@color/md_blue_A400"
app:settingListItemText="@string/general_settings_summary"
app:settingListItemTitle="@string/general_settings_title" />
diff --git a/app/src/main/res/layout/fragment_material.xml b/app/src/main/res/layout/fragment_material.xml
index 7222c0cc6..1660cea4b 100644
--- a/app/src/main/res/layout/fragment_material.xml
+++ b/app/src/main/res/layout/fragment_material.xml
@@ -52,5 +52,5 @@
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/playbackControlsFragment"
- app:navigationIcon="@drawable/ic_keyboard_arrow_down_black" />
+ app:navigationIcon="@drawable/ic_keyboard_arrow_down" />
diff --git a/app/src/main/res/layout/fragment_material_playback_controls.xml b/app/src/main/res/layout/fragment_material_playback_controls.xml
index 2722c6e9c..4eab6b494 100644
--- a/app/src/main/res/layout/fragment_material_playback_controls.xml
+++ b/app/src/main/res/layout/fragment_material_playback_controls.xml
@@ -180,7 +180,7 @@
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@+id/nextButton"
app:layout_constraintTop_toTopOf="@+id/nextButton"
- app:srcCompat="@drawable/ic_shuffle_sharp"
+ app:srcCompat="@drawable/ic_shuffle"
tools:ignore="MissingPrefix"
tools:tint="@color/md_black_1000" />
diff --git a/app/src/main/res/layout/fragment_md3_player.xml b/app/src/main/res/layout/fragment_md3_player.xml
index 3aa1a970d..87fdcbece 100644
--- a/app/src/main/res/layout/fragment_md3_player.xml
+++ b/app/src/main/res/layout/fragment_md3_player.xml
@@ -44,6 +44,6 @@
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/playbackControlsFragment"
- app:navigationIcon="@drawable/ic_keyboard_arrow_down_black" />
+ app:navigationIcon="@drawable/ic_keyboard_arrow_down" />
\ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_peek_player.xml b/app/src/main/res/layout/fragment_peek_player.xml
index 490da7df6..aa9a00ce6 100644
--- a/app/src/main/res/layout/fragment_peek_player.xml
+++ b/app/src/main/res/layout/fragment_peek_player.xml
@@ -30,7 +30,7 @@
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
- app:navigationIcon="@drawable/ic_keyboard_arrow_down_black" />
+ app:navigationIcon="@drawable/ic_keyboard_arrow_down" />
+ app:navigationIcon="@drawable/ic_keyboard_arrow_down" />
\ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_playlist_detail.xml b/app/src/main/res/layout/fragment_playlist_detail.xml
index 089853ac3..321615242 100644
--- a/app/src/main/res/layout/fragment_playlist_detail.xml
+++ b/app/src/main/res/layout/fragment_playlist_detail.xml
@@ -25,7 +25,7 @@
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- app:navigationIcon="@drawable/ic_keyboard_backspace_black"
+ app:navigationIcon="@drawable/ic_arrow_back"
app:titleTextAppearance="@style/ToolbarTextAppearanceNormal" />
diff --git a/app/src/main/res/layout/fragment_search.xml b/app/src/main/res/layout/fragment_search.xml
index fc1ad5b1e..4a928ce4f 100644
--- a/app/src/main/res/layout/fragment_search.xml
+++ b/app/src/main/res/layout/fragment_search.xml
@@ -19,7 +19,7 @@
style="@style/Toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- app:navigationIcon="@drawable/ic_keyboard_backspace_black"
+ app:navigationIcon="@drawable/ic_arrow_back"
app:titleTextAppearance="@style/ToolbarTextAppearanceNormal">
diff --git a/app/src/main/res/layout/fragment_simple_player.xml b/app/src/main/res/layout/fragment_simple_player.xml
index 6e3e35e9a..67442b8ff 100644
--- a/app/src/main/res/layout/fragment_simple_player.xml
+++ b/app/src/main/res/layout/fragment_simple_player.xml
@@ -45,5 +45,5 @@
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/playbackControlsFragment"
- app:navigationIcon="@drawable/ic_keyboard_arrow_down_black" />
+ app:navigationIcon="@drawable/ic_keyboard_arrow_down" />
\ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_tiny_player.xml b/app/src/main/res/layout/fragment_tiny_player.xml
index 6ae6b5697..1a49d06f2 100644
--- a/app/src/main/res/layout/fragment_tiny_player.xml
+++ b/app/src/main/res/layout/fragment_tiny_player.xml
@@ -80,7 +80,7 @@
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
- app:navigationIcon="@drawable/ic_keyboard_arrow_down_black" />
+ app:navigationIcon="@drawable/ic_keyboard_arrow_down" />
diff --git a/app/src/main/res/layout/layout_notification_collapsed.xml b/app/src/main/res/layout/layout_notification_collapsed.xml
index 93b2f1ed0..2914e6773 100644
--- a/app/src/main/res/layout/layout_notification_collapsed.xml
+++ b/app/src/main/res/layout/layout_notification_collapsed.xml
@@ -107,7 +107,7 @@
android:layout_height="38dp"
android:background="@drawable/notification_selector"
android:scaleType="centerInside"
- android:src="@drawable/ic_skip_previous_round_white_32dp"
+ android:src="@drawable/ic_skip_previous"
tools:tint="?colorOnPrimary" />
+ app:srcCompat="@drawable/ic_palette" />
-
\ No newline at end of file
diff --git a/app/src/main/res/layout/number_roll_view.xml b/app/src/main/res/layout/number_roll_view.xml
new file mode 100644
index 000000000..6bf6370a1
--- /dev/null
+++ b/app/src/main/res/layout/number_roll_view.xml
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/menu/menu_player.xml b/app/src/main/res/menu/menu_player.xml
index 0123400d1..f5a9b8e04 100755
--- a/app/src/main/res/menu/menu_player.xml
+++ b/app/src/main/res/menu/menu_player.xml
@@ -35,7 +35,7 @@
android:visible="@bool/isMarshmallow"/>
- @style/Widget.MaterialComponents.CardView
- @color/elevationOverlayDark
- @drawable/popup_background
+ - true
\ No newline at end of file
diff --git a/app/src/main/res/values-night/styles.xml b/app/src/main/res/values-night/styles.xml
index b09adfb63..290fca5b5 100644
--- a/app/src/main/res/values-night/styles.xml
+++ b/app/src/main/res/values-night/styles.xml
@@ -25,7 +25,6 @@
- @color/darkColorSurface
- @style/Widget.Material3.CardView.Elevated
- @drawable/popup_background
+ - true
-
-
\ No newline at end of file
diff --git a/app/src/main/res/values-v27/styles_parents.xml b/app/src/main/res/values-v27/styles_parents.xml
index e50cf022c..225cecd83 100644
--- a/app/src/main/res/values-v27/styles_parents.xml
+++ b/app/src/main/res/values-v27/styles_parents.xml
@@ -24,6 +24,7 @@
- @style/Widget.Material3.CardView.Elevated
- @color/elevationOverlay
- @drawable/popup_background
+ - true
\ No newline at end of file
diff --git a/app/src/main/res/values-v31/styles.xml b/app/src/main/res/values-v31/styles.xml
index 0bcec6594..0ebd16650 100644
--- a/app/src/main/res/values-v31/styles.xml
+++ b/app/src/main/res/values-v31/styles.xml
@@ -9,6 +9,7 @@
- @style/MaterialButtonTheme
- @drawable/popup_background
- ?attr/colorSurface
+ - true
diff --git a/app/src/main/res/values/donottranslate.xml b/app/src/main/res/values/donottranslate.xml
index afb7e7929..2ee024dd7 100755
--- a/app/src/main/res/values/donottranslate.xml
+++ b/app/src/main/res/values/donottranslate.xml
@@ -14,7 +14,6 @@
Retro Music
GitHub
-
@string/last_added
@string/last_added
@string/action_shuffle_all
@@ -28,5 +27,5 @@
@string/album_artist
@string/circle
-
+ always
\ No newline at end of file
diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml
index 4126bcea4..9cfed1a10 100644
--- a/app/src/main/res/values/styles.xml
+++ b/app/src/main/res/values/styles.xml
@@ -44,10 +44,6 @@
- 16dp
-
-
-
+