Commit 15aa8134 authored by Viktor De Pasquale's avatar Viktor De Pasquale

Migrated to compat shared prefs and fixed it not reacting to changes

Added back dark theme
parent 605faccf
...@@ -9,8 +9,8 @@ import android.content.res.Configuration ...@@ -9,8 +9,8 @@ import android.content.res.Configuration
import android.os.AsyncTask import android.os.AsyncTask
import android.os.Build import android.os.Build
import android.os.Bundle import android.os.Bundle
import android.preference.PreferenceManager
import androidx.appcompat.app.AppCompatDelegate import androidx.appcompat.app.AppCompatDelegate
import androidx.preference.PreferenceManager
import com.topjohnwu.magisk.data.database.MagiskDB import com.topjohnwu.magisk.data.database.MagiskDB
import com.topjohnwu.magisk.data.database.RepoDatabaseHelper import com.topjohnwu.magisk.data.database.RepoDatabaseHelper
import com.topjohnwu.magisk.di.koinModules import com.topjohnwu.magisk.di.koinModules
...@@ -26,7 +26,7 @@ import java.util.concurrent.ThreadPoolExecutor ...@@ -26,7 +26,7 @@ import java.util.concurrent.ThreadPoolExecutor
open class App : Application(), Application.ActivityLifecycleCallbacks { open class App : Application(), Application.ActivityLifecycleCallbacks {
// Global resources // Global resources
val prefs: SharedPreferences by lazy { PreferenceManager.getDefaultSharedPreferences(deContext) } val prefs: SharedPreferences get() = PreferenceManager.getDefaultSharedPreferences(deContext)
val DB: MagiskDB by lazy { MagiskDB(deContext) } val DB: MagiskDB by lazy { MagiskDB(deContext) }
@JvmField @JvmField
var repoDB: RepoDatabaseHelper? = null var repoDB: RepoDatabaseHelper? = null
...@@ -52,10 +52,7 @@ open class App : Application(), Application.ActivityLifecycleCallbacks { ...@@ -52,10 +52,7 @@ open class App : Application(), Application.ActivityLifecycleCallbacks {
if (Build.VERSION.SDK_INT >= 24) { if (Build.VERSION.SDK_INT >= 24) {
deContext = base.createDeviceProtectedStorageContext() deContext = base.createDeviceProtectedStorageContext()
deContext.moveSharedPreferencesFrom( deContext.moveSharedPreferencesFrom(base, base.defaultPrefsName)
base,
PreferenceManager.getDefaultSharedPreferencesName(base)
)
} }
Networking.init(base) Networking.init(base)
...@@ -89,6 +86,8 @@ open class App : Application(), Application.ActivityLifecycleCallbacks { ...@@ -89,6 +86,8 @@ open class App : Application(), Application.ActivityLifecycleCallbacks {
override fun onActivityDestroyed(activity: Activity) {} override fun onActivityDestroyed(activity: Activity) {}
//endregion //endregion
private val Context.defaultPrefsName get() = "${packageName}_preferences"
companion object { companion object {
//fixme this should be at least weak reference, me no likey //fixme this should be at least weak reference, me no likey
......
...@@ -3,12 +3,14 @@ package com.topjohnwu.magisk.ui.base ...@@ -3,12 +3,14 @@ package com.topjohnwu.magisk.ui.base
import android.content.Intent import android.content.Intent
import android.os.Bundle import android.os.Bundle
import androidx.annotation.CallSuper import androidx.annotation.CallSuper
import androidx.appcompat.app.AppCompatDelegate
import androidx.core.net.toUri import androidx.core.net.toUri
import androidx.databinding.ViewDataBinding import androidx.databinding.ViewDataBinding
import androidx.fragment.app.Fragment import androidx.fragment.app.Fragment
import com.ncapdevi.fragnav.FragNavController import com.ncapdevi.fragnav.FragNavController
import com.ncapdevi.fragnav.FragNavTransactionOptions import com.ncapdevi.fragnav.FragNavTransactionOptions
import com.skoumal.teanity.viewevents.ViewEvent import com.skoumal.teanity.viewevents.ViewEvent
import com.topjohnwu.magisk.Config
import com.topjohnwu.magisk.model.navigation.MagiskAnimBuilder import com.topjohnwu.magisk.model.navigation.MagiskAnimBuilder
import com.topjohnwu.magisk.model.navigation.MagiskNavigationEvent import com.topjohnwu.magisk.model.navigation.MagiskNavigationEvent
import com.topjohnwu.magisk.model.navigation.Navigator import com.topjohnwu.magisk.model.navigation.Navigator
...@@ -31,6 +33,17 @@ abstract class MagiskActivity<ViewModel : MagiskViewModel, Binding : ViewDataBin ...@@ -31,6 +33,17 @@ abstract class MagiskActivity<ViewModel : MagiskViewModel, Binding : ViewDataBin
FragNavController(supportFragmentManager, navHostId) FragNavController(supportFragmentManager, navHostId)
} }
init {
val isDarkTheme = Config.get<Boolean>(Config.Key.DARK_THEME)
val theme = if (isDarkTheme) {
AppCompatDelegate.MODE_NIGHT_YES
} else {
AppCompatDelegate.MODE_NIGHT_NO
}
AppCompatDelegate.setDefaultNightMode(theme)
AppCompatDelegate.setCompatVectorFromResourcesEnabled(true)
}
override fun onCreate(savedInstanceState: Bundle?) { override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState) super.onCreate(savedInstanceState)
navigationController.apply { navigationController.apply {
......
...@@ -42,6 +42,7 @@ public class SettingsFragment extends BasePreferenceFragment { ...@@ -42,6 +42,7 @@ public class SettingsFragment extends BasePreferenceFragment {
@Override @Override
public void onCreatePreferences(Bundle savedInstanceState, String rootKey) { public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
getPreferenceManager().setStorageDeviceProtected();
setPreferencesFromResource(R.xml.app_settings, rootKey); setPreferencesFromResource(R.xml.app_settings, rootKey);
requireActivity().setTitle(R.string.settings); requireActivity().setTitle(R.string.settings);
......
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="ThemeFoundation" parent="Theme.MaterialComponents.NoActionBar" />
<style name="MagiskTheme" parent="ThemeFoundation.Colored.ExtraProps">
<!--All of these attributes are deprecated and will be removed-->
<item name="cardStyle">@style/CardViewStyle.Dark</item>
<item name="imageColorTint">@color/dark_secondary_text</item>
<item name="colorControl">?android:attr/textColorSecondary</item>
<item name="colorAccentFallback">@color/accentFallback</item>
</style>
</resources>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment