Here's a list of changes/features: https://github.com/RetroMusicPlayer/RetroMusicPlayer/releases/tag/v5.0

Internal Changes:
1) Migrated to ViewBinding
2) Migrated to Glide V4
3) Migrated to kotlin version of Material Dialogs
This commit is contained in:
Prathamesh More 2021-09-09 00:00:20 +05:30
parent fc42767031
commit bce6dbfa27
421 changed files with 13285 additions and 5757 deletions

View file

@ -1,20 +1,17 @@
apply plugin: 'com.android.library'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
android {
compileSdkVersion 29
defaultConfig {
minSdkVersion 21
targetSdkVersion 29
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
@ -26,13 +23,10 @@ android {
dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation 'androidx.appcompat:appcompat:1.2.0'
implementation 'com.google.android.material:material:1.3.0-alpha04'
implementation 'androidx.appcompat:appcompat:1.3.1'
implementation 'com.google.android.material:material:1.4.0'
implementation 'androidx.preference:preference-ktx:1.1.1'
implementation 'androidx.cardview:cardview:1.0.0'
// Used for the list preference classes
def material_dialog_version = "0.9.6.0"
implementation "com.afollestad.material-dialogs:core:$material_dialog_version"
implementation "com.afollestad.material-dialogs:commons:$material_dialog_version"
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"
}

View file

@ -1,13 +1,12 @@
package code.name.monkey.appthemehelper
import android.annotation.SuppressLint
import android.content.Context
import android.content.SharedPreferences
import android.graphics.Color
import androidx.annotation.*
import androidx.annotation.IntRange
import androidx.core.content.ContextCompat
import code.name.monkey.appthemehelper.util.ATHUtil
import code.name.monkey.appthemehelper.util.ATHUtil.isWindowBackgroundDark
import code.name.monkey.appthemehelper.util.ATHUtil.resolveColor
import code.name.monkey.appthemehelper.util.ColorUtil
@ -15,14 +14,10 @@ import code.name.monkey.appthemehelper.util.ColorUtil
/**
* @author Aidan Follestad (afollestad), Karim Abou Zeid (kabouzeid)
*/
class ThemeStore @SuppressLint("CommitPrefEdits")
class ThemeStore
private constructor(private val mContext: Context) : ThemeStorePrefKeys, ThemeStoreInterface {
private val mEditor: SharedPreferences.Editor
init {
mEditor = prefs(mContext).edit()
}
private val mEditor: SharedPreferences.Editor = prefs(mContext).edit()
override fun activityTheme(@StyleRes theme: Int): ThemeStore {
mEditor.putInt(ThemeStorePrefKeys.KEY_ACTIVITY_THEME, theme)
@ -41,7 +36,7 @@ private constructor(private val mContext: Context) : ThemeStorePrefKeys, ThemeSt
}
override fun primaryColorAttr(@AttrRes colorAttr: Int): ThemeStore {
return primaryColor(ATHUtil.resolveColor(mContext, colorAttr))
return primaryColor(resolveColor(mContext, colorAttr))
}
override fun primaryColorDark(@ColorInt color: Int): ThemeStore {
@ -54,7 +49,7 @@ private constructor(private val mContext: Context) : ThemeStorePrefKeys, ThemeSt
}
override fun primaryColorDarkAttr(@AttrRes colorAttr: Int): ThemeStore {
return primaryColorDark(ATHUtil.resolveColor(mContext, colorAttr))
return primaryColorDark(resolveColor(mContext, colorAttr))
}
override fun accentColor(@ColorInt color: Int): ThemeStore {
@ -67,7 +62,7 @@ private constructor(private val mContext: Context) : ThemeStorePrefKeys, ThemeSt
}
override fun accentColorAttr(@AttrRes colorAttr: Int): ThemeStore {
return accentColor(ATHUtil.resolveColor(mContext, colorAttr))
return accentColor(resolveColor(mContext, colorAttr))
}
override fun statusBarColor(@ColorInt color: Int): ThemeStore {
@ -80,7 +75,7 @@ private constructor(private val mContext: Context) : ThemeStorePrefKeys, ThemeSt
}
override fun statusBarColorAttr(@AttrRes colorAttr: Int): ThemeStore {
return statusBarColor(ATHUtil.resolveColor(mContext, colorAttr))
return statusBarColor(resolveColor(mContext, colorAttr))
}
override fun navigationBarColor(@ColorInt color: Int): ThemeStore {
@ -97,7 +92,7 @@ private constructor(private val mContext: Context) : ThemeStorePrefKeys, ThemeSt
// Static getters
override fun navigationBarColorAttr(@AttrRes colorAttr: Int): ThemeStore {
return navigationBarColor(ATHUtil.resolveColor(mContext, colorAttr))
return navigationBarColor(resolveColor(mContext, colorAttr))
}
override fun textColorPrimary(@ColorInt color: Int): ThemeStore {
@ -110,7 +105,7 @@ private constructor(private val mContext: Context) : ThemeStorePrefKeys, ThemeSt
}
override fun textColorPrimaryAttr(@AttrRes colorAttr: Int): ThemeStore {
return textColorPrimary(ATHUtil.resolveColor(mContext, colorAttr))
return textColorPrimary(resolveColor(mContext, colorAttr))
}
override fun textColorPrimaryInverse(@ColorInt color: Int): ThemeStore {
@ -123,7 +118,7 @@ private constructor(private val mContext: Context) : ThemeStorePrefKeys, ThemeSt
}
override fun textColorPrimaryInverseAttr(@AttrRes colorAttr: Int): ThemeStore {
return textColorPrimaryInverse(ATHUtil.resolveColor(mContext, colorAttr))
return textColorPrimaryInverse(resolveColor(mContext, colorAttr))
}
override fun textColorSecondary(@ColorInt color: Int): ThemeStore {
@ -136,7 +131,7 @@ private constructor(private val mContext: Context) : ThemeStorePrefKeys, ThemeSt
}
override fun textColorSecondaryAttr(@AttrRes colorAttr: Int): ThemeStore {
return textColorSecondary(ATHUtil.resolveColor(mContext, colorAttr))
return textColorSecondary(resolveColor(mContext, colorAttr))
}
override fun textColorSecondaryInverse(@ColorInt color: Int): ThemeStore {
@ -149,7 +144,7 @@ private constructor(private val mContext: Context) : ThemeStorePrefKeys, ThemeSt
}
override fun textColorSecondaryInverseAttr(@AttrRes colorAttr: Int): ThemeStore {
return textColorSecondaryInverse(ATHUtil.resolveColor(mContext, colorAttr))
return textColorSecondaryInverse(resolveColor(mContext, colorAttr))
}
override fun coloredStatusBar(colored: Boolean): ThemeStore {
@ -202,7 +197,7 @@ private constructor(private val mContext: Context) : ThemeStorePrefKeys, ThemeSt
fun primaryColor(context: Context): Int {
return prefs(context).getInt(
ThemeStorePrefKeys.KEY_PRIMARY_COLOR,
ATHUtil.resolveColor(context, R.attr.colorPrimary, Color.parseColor("#455A64"))
resolveColor(context, R.attr.colorPrimary, Color.parseColor("#455A64"))
)
}
@ -212,9 +207,9 @@ private constructor(private val mContext: Context) : ThemeStorePrefKeys, ThemeSt
val desaturatedColor = prefs(context).getBoolean("desaturated_color", false)
val color = prefs(context).getInt(
ThemeStorePrefKeys.KEY_ACCENT_COLOR,
ATHUtil.resolveColor(context, R.attr.colorAccent, Color.parseColor("#263238"))
resolveColor(context, R.attr.colorAccent, Color.parseColor("#263238"))
)
return if (ATHUtil.isWindowBackgroundDark(context) && desaturatedColor) ColorUtil.desaturateColor(
return if (isWindowBackgroundDark(context) && desaturatedColor) ColorUtil.desaturateColor(
color,
0.4f
) else color
@ -290,7 +285,6 @@ private constructor(private val mContext: Context) : ThemeStorePrefKeys, ThemeSt
)
}
@SuppressLint("CommitPrefEdits")
fun isConfigured(
context: Context, @IntRange(
from = 0,
@ -300,7 +294,7 @@ private constructor(private val mContext: Context) : ThemeStorePrefKeys, ThemeSt
val prefs = prefs(context)
val lastVersion = prefs.getInt(ThemeStorePrefKeys.IS_CONFIGURED_VERSION_KEY, -1)
if (version > lastVersion) {
prefs.edit().putInt(ThemeStorePrefKeys.IS_CONFIGURED_VERSION_KEY, version).commit()
prefs.edit().putInt(ThemeStorePrefKeys.IS_CONFIGURED_VERSION_KEY, version).apply()
return false
}
return true

View file

@ -1,25 +0,0 @@
package code.name.monkey.appthemehelper.util
import android.content.Context
import android.content.res.ColorStateList
import code.name.monkey.appthemehelper.ThemeStore
import code.name.monkey.appthemehelper.util.ATHUtil.isWindowBackgroundDark
import com.afollestad.materialdialogs.internal.ThemeSingleton
/**
* @author Karim Abou Zeid (kabouzeid)
*/
object MaterialDialogsUtil {
fun updateMaterialDialogsThemeSingleton(context: Context) {
val md = ThemeSingleton.get()
md.titleColor = ThemeStore.textColorPrimary(context)
md.contentColor = ThemeStore.textColorSecondary(context)
md.itemColor = md.titleColor
md.widgetColor = ThemeStore.accentColor(context)
md.linkColor = ColorStateList.valueOf(md.widgetColor)
md.positiveColor = ColorStateList.valueOf(md.widgetColor)
md.neutralColor = ColorStateList.valueOf(md.widgetColor)
md.negativeColor = ColorStateList.valueOf(md.widgetColor)
md.darkTheme = isWindowBackgroundDark(context)
}
}

View file

@ -238,13 +238,13 @@ public final class ToolbarContentTintHelper {
private static class ATHMenuPresenterCallback implements MenuPresenter.Callback {
private int mColor;
private final int mColor;
private Context mContext;
private final Context mContext;
private MenuPresenter.Callback mParentCb;
private final MenuPresenter.Callback mParentCb;
private Toolbar mToolbar;
private final Toolbar mToolbar;
public ATHMenuPresenterCallback(Context context, final @ColorInt int color,
MenuPresenter.Callback parentCb, Toolbar toolbar) {
@ -270,13 +270,13 @@ public final class ToolbarContentTintHelper {
private static class ATHOnMenuItemClickListener implements Toolbar.OnMenuItemClickListener {
private int mColor;
private final int mColor;
private Context mContext;
private final Context mContext;
private Toolbar.OnMenuItemClickListener mParentListener;
private final Toolbar.OnMenuItemClickListener mParentListener;
private Toolbar mToolbar;
private final Toolbar mToolbar;
public ATHOnMenuItemClickListener(Context context, final @ColorInt int color,
Toolbar.OnMenuItemClickListener parentCb, Toolbar toolbar) {
@ -528,14 +528,14 @@ public final class ToolbarContentTintHelper {
@CheckResult
@ColorInt
public static int toolbarSubtitleColor(@NonNull Context context, @ColorInt int toolbarColor) {
return MaterialValueHelper.INSTANCE
return MaterialValueHelper
.getSecondaryTextColor(context, ColorUtil.INSTANCE.isColorLight(toolbarColor));
}
@CheckResult
@ColorInt
public static int toolbarTitleColor(@NonNull Context context, @ColorInt int toolbarColor) {
return MaterialValueHelper.INSTANCE
return MaterialValueHelper
.getPrimaryTextColor(context, ColorUtil.INSTANCE.isColorLight(toolbarColor));
}