Use a switch preference to follow device theme

This commit is contained in:
bopol 2020-07-03 18:44:34 +02:00 committed by Stypox
parent a713ce2126
commit 22b2f52f8c
No known key found for this signature in database
GPG key ID: 4BDF1B40A49FDD23
7 changed files with 55 additions and 46 deletions

View file

@ -1,5 +1,6 @@
package org.schabi.newpipe.settings;
import android.app.Activity;
import android.content.ActivityNotFoundException;
import android.content.Intent;
import android.os.Build;
@ -38,6 +39,20 @@ public class AppearanceSettingsFragment extends BasePreferenceFragment {
return false;
}
};
private final Preference.OnPreferenceChangeListener deviceThemePreferenceChange
= new Preference.OnPreferenceChangeListener() {
@Override
public boolean onPreferenceChange(final Preference preference, final Object newValue) {
defaultPreferences.edit().putBoolean(Constants.KEY_THEME_CHANGE, true).apply();
final Activity activity = getActivity();
if (activity != null) {
activity.recreate();
}
return true;
}
};
private String captionSettingsKey;
@Override
@ -48,6 +63,9 @@ public class AppearanceSettingsFragment extends BasePreferenceFragment {
.getString(themeKey, getString(R.string.default_theme_value));
findPreference(themeKey).setOnPreferenceChangeListener(themePreferenceChange);
findPreference(getString(R.string.use_device_theme_key))
.setOnPreferenceChangeListener(deviceThemePreferenceChange);
captionSettingsKey = getString(R.string.caption_settings_key);
if (!CAPTIONING_SETTINGS_ACCESSIBLE) {
final Preference captionSettings = findPreference(captionSettingsKey);