diff --git a/app/build.gradle b/app/build.gradle index b54dcfaa..5caa29de 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -29,7 +29,7 @@ android { debug { applicationIdSuffix ".beta" manifestPlaceholders = [icon_placeholder: "@mipmap/ic_launcher_beta"] - debuggable false + debuggable true } release { manifestPlaceholders = [icon_placeholder: "@mipmap/ic_launcher"] diff --git a/app/src/main/java/ani/dantotsu/App.kt b/app/src/main/java/ani/dantotsu/App.kt index 109ced31..71cc5af2 100644 --- a/app/src/main/java/ani/dantotsu/App.kt +++ b/app/src/main/java/ani/dantotsu/App.kt @@ -1,21 +1,29 @@ package ani.dantotsu +import android.R import android.annotation.SuppressLint import android.app.Activity import android.content.Context +import android.content.res.ColorStateList +import android.content.res.Resources import android.os.Bundle +import android.util.LongSparseArray +import android.util.TypedValue +import androidx.annotation.ColorInt import androidx.multidex.MultiDex import androidx.multidex.MultiDexApplication import ani.dantotsu.aniyomi.anime.custom.AppModule import ani.dantotsu.aniyomi.anime.custom.PreferenceModule -import eu.kanade.tachiyomi.data.notification.Notifications -import tachiyomi.core.util.system.logcat import ani.dantotsu.others.DisabledReports import ani.dantotsu.parsers.AnimeSources import ani.dantotsu.parsers.MangaSources import com.google.android.material.color.DynamicColors +import com.google.android.material.color.HarmonizedColorAttributes +import com.google.android.material.color.HarmonizedColors +import com.google.android.material.color.HarmonizedColorsOptions import com.google.firebase.crashlytics.ktx.crashlytics import com.google.firebase.ktx.Firebase +import eu.kanade.tachiyomi.data.notification.Notifications import eu.kanade.tachiyomi.extension.anime.AnimeExtensionManager import eu.kanade.tachiyomi.extension.manga.MangaExtensionManager import kotlinx.coroutines.CoroutineScope @@ -25,9 +33,11 @@ import kotlinx.coroutines.launch import logcat.AndroidLogcatLogger import logcat.LogPriority import logcat.LogcatLogger +import tachiyomi.core.util.system.logcat import uy.kohesive.injekt.Injekt import uy.kohesive.injekt.api.get -import java.util.Locale +import java.lang.reflect.Field + @SuppressLint("StaticFieldLeak") class App : MultiDexApplication() { @@ -50,6 +60,7 @@ class App : MultiDexApplication() { val useMaterialYou = sharedPreferences.getBoolean("use_material_you", false) if(useMaterialYou) { DynamicColors.applyToActivitiesIfAvailable(this) + //TODO: HarmonizedColors } registerActivityLifecycleCallbacks(mFTActivityLifecycleCallbacks) @@ -82,6 +93,7 @@ class App : MultiDexApplication() { } + private fun setupNotificationChannels() { try { Notifications.createChannels(this) diff --git a/app/src/main/java/ani/dantotsu/themes/ThemeManager.kt b/app/src/main/java/ani/dantotsu/themes/ThemeManager.kt index 8b4a5e61..d2b8315a 100644 --- a/app/src/main/java/ani/dantotsu/themes/ThemeManager.kt +++ b/app/src/main/java/ani/dantotsu/themes/ThemeManager.kt @@ -1,13 +1,29 @@ package ani.dantotsu.themes +import android.app.Activity import android.content.Context import android.content.res.Configuration import ani.dantotsu.R +import ani.dantotsu.logger +import com.google.android.material.color.DynamicColors +import com.google.android.material.color.DynamicColorsOptions + class ThemeManager(private val context: Context) { fun applyTheme() { val useOLED = context.getSharedPreferences("Dantotsu", Context.MODE_PRIVATE).getBoolean("use_oled", false) && isDarkThemeActive(context) if(context.getSharedPreferences("Dantotsu", Context.MODE_PRIVATE).getBoolean("use_material_you", false)){ + if (useOLED) { + val options = DynamicColorsOptions.Builder() + .setThemeOverlay(R.style.AppTheme_Amoled) + .build() + //need activity from context + val activity = context as Activity + DynamicColors.applyToActivityIfAvailable(activity, options) + } else { + val activity = context as Activity + DynamicColors.applyToActivityIfAvailable(activity) + } return } val theme = context.getSharedPreferences("Dantotsu", Context.MODE_PRIVATE).getString("theme", "PURPLE")!! diff --git a/app/src/main/res/values/style.xml b/app/src/main/res/values/style.xml index d1eb107c..19bcfd68 100644 --- a/app/src/main/res/values/style.xml +++ b/app/src/main/res/values/style.xml @@ -7,6 +7,14 @@ 2sp + + + +