diff --git a/android_app/app/src/main/java/com/health/openscale/core/Application.java b/android_app/app/src/main/java/com/health/openscale/core/Application.java index 529162f0..cb006941 100644 --- a/android_app/app/src/main/java/com/health/openscale/core/Application.java +++ b/android_app/app/src/main/java/com/health/openscale/core/Application.java @@ -16,11 +16,6 @@ package com.health.openscale.core; -import android.content.SharedPreferences; - -import androidx.appcompat.app.AppCompatDelegate; -import androidx.preference.PreferenceManager; - import com.health.openscale.BuildConfig; import timber.log.Timber; @@ -44,13 +39,6 @@ public class Application extends android.app.Application { Timber.plant(new TimberLogAdapter()); - SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this); - String prefTheme = sharedPreferences.getString("app_theme", "Light"); - - if (prefTheme.equals("Dark")) { - AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES); - } - // Create OpenScale instance OpenScale.createInstance(getApplicationContext()); diff --git a/android_app/app/src/main/java/com/health/openscale/gui/MainActivity.java b/android_app/app/src/main/java/com/health/openscale/gui/MainActivity.java index c948d4cd..ef330cb9 100644 --- a/android_app/app/src/main/java/com/health/openscale/gui/MainActivity.java +++ b/android_app/app/src/main/java/com/health/openscale/gui/MainActivity.java @@ -27,6 +27,7 @@ import android.content.SharedPreferences; import android.content.res.Configuration; import android.graphics.Typeface; import android.net.Uri; +import android.os.Build; import android.os.Bundle; import android.os.Handler; import android.os.Message; @@ -44,6 +45,7 @@ import android.widget.Toast; import androidx.annotation.NonNull; import androidx.appcompat.app.AppCompatActivity; +import androidx.appcompat.app.AppCompatDelegate; import androidx.appcompat.widget.Toolbar; import androidx.core.content.FileProvider; import androidx.core.view.GravityCompat; @@ -139,11 +141,21 @@ public class MainActivity extends AppCompatActivity @Override protected void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - prefs = PreferenceManager.getDefaultSharedPreferences(this); prefs.registerOnSharedPreferenceChangeListener(this); + String prefTheme = prefs.getString("app_theme", "Light"); + + if (prefTheme.equals("Dark")) { + if (Build.VERSION.SDK_INT >= 29) { + AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES); + } else { + setTheme(R.style.AppTheme_Dark); + } + } + + super.onCreate(savedInstanceState); + CaocConfig.Builder.create() .trackActivities(false) .apply(); diff --git a/android_app/app/src/main/res/values/styles.xml b/android_app/app/src/main/res/values/styles.xml index 09af55f2..57015550 100644 --- a/android_app/app/src/main/res/values/styles.xml +++ b/android_app/app/src/main/res/values/styles.xml @@ -7,6 +7,13 @@ @style/DatePickerStyle + +