diff --git a/app/src/main/java/org/secuso/aktivpause/activities/SplashActivity.java b/app/src/main/java/org/secuso/aktivpause/activities/SplashActivity.java index e320223..98b7f20 100644 --- a/app/src/main/java/org/secuso/aktivpause/activities/SplashActivity.java +++ b/app/src/main/java/org/secuso/aktivpause/activities/SplashActivity.java @@ -22,6 +22,7 @@ public class SplashActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { + setDayNightTheme(PreferenceManager.getDefaultSharedPreferences(this).getInt("theme", AppCompatDelegate.MODE_NIGHT_FOLLOW_SYSTEM)); super.onCreate(savedInstanceState); Intent mainIntent = null; @@ -40,4 +41,17 @@ public class SplashActivity extends AppCompatActivity { SplashActivity.this.finish(); } + private void setDayNightTheme(int theme) { + switch (theme) { + case AppCompatDelegate.MODE_NIGHT_NO: + setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_NO); + break; + case AppCompatDelegate.MODE_NIGHT_YES: + setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES); + break; + default: + setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_FOLLOW_SYSTEM); + } + } + } diff --git a/app/src/main/java/org/secuso/aktivpause/activities/helper/BaseActivity.java b/app/src/main/java/org/secuso/aktivpause/activities/helper/BaseActivity.java index 23e59c2..237d877 100644 --- a/app/src/main/java/org/secuso/aktivpause/activities/helper/BaseActivity.java +++ b/app/src/main/java/org/secuso/aktivpause/activities/helper/BaseActivity.java @@ -27,7 +27,9 @@ import org.secuso.aktivpause.activities.SettingsActivity; import org.secuso.aktivpause.activities.TimerActivity; import org.secuso.aktivpause.activities.tutorial.TutorialActivity; + import static android.content.Intent.FLAG_ACTIVITY_CLEAR_TOP; +import static androidx.appcompat.app.AppCompatDelegate.setDefaultNightMode; /** * @@ -168,6 +170,29 @@ public abstract class BaseActivity extends AppCompatActivity implements OnNaviga //intent.putExtra( PreferenceActivity.EXTRA_NO_HEADERS, true ); createBackStack(intent); break; + case R.id.nav_theme: + new AlertDialog.Builder(this) + .setTitle(R.string.title_theme) + .setPositiveButton(R.string.follow_system, (dialog, which) -> { + mSharedPreferences.edit().putInt("theme",AppCompatDelegate.MODE_NIGHT_FOLLOW_SYSTEM).apply(); + setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_FOLLOW_SYSTEM); + Intent thisIntent = new Intent(this, getClass()); + createBackStack(thisIntent); + }) + .setNegativeButton(R.string.dark, (dialog, which) -> { + mSharedPreferences.edit().putInt("theme",AppCompatDelegate.MODE_NIGHT_YES).apply(); + setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES); + Intent thisIntent = new Intent(this, getClass()); + createBackStack(thisIntent); + }) + .setNeutralButton(R.string.light, (dialog, which) -> { + mSharedPreferences.edit().putInt("theme",AppCompatDelegate.MODE_NIGHT_NO).apply(); + setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_NO); + Intent thisIntent = new Intent(this, getClass()); + createBackStack(thisIntent); + }) + .show(); + break; default: } overridePendingTransition(0,0); diff --git a/app/src/main/res/menu/nav_drawer.xml b/app/src/main/res/menu/nav_drawer.xml index 9711168..3d92a94 100644 --- a/app/src/main/res/menu/nav_drawer.xml +++ b/app/src/main/res/menu/nav_drawer.xml @@ -22,6 +22,10 @@ android:id="@+id/nav_settings" android:icon="@drawable/ic_settings_24" android:title="@string/title_activity_settings" /> + Online-Befragung Ja Online-Befragung + Theme + Standard + Dunkel + Hell \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 8c4bb58..f763d4a 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -59,6 +59,10 @@ This set contains no exercises. Take a break now! Click here to do your chosen exercises. Settings + Theme + Standard + Dark Theme + Light Theme No exercise sets available. Please create a new one. Exercise Sets Edit Exercise Set