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
+
+