|
@@ -135,6 +135,10 @@ public class SettingsController extends BaseController {
|
|
|
MaterialSwitchPreference screenLockSwitchPreference;
|
|
|
@BindView(R.id.settings_screen_lock_timeout)
|
|
|
MaterialChoicePreference screenLockTimeoutChoicePreference;
|
|
|
+
|
|
|
+ @BindView(R.id.settings_theme)
|
|
|
+ MaterialSwitchPreference themeSwitchPreference;
|
|
|
+
|
|
|
@BindView(R.id.message_text)
|
|
|
TextView messageText;
|
|
|
@Inject
|
|
@@ -155,6 +159,8 @@ public class SettingsController extends BaseController {
|
|
|
private OnPreferenceValueChangedListener<Boolean> screenSecurityChangeListener;
|
|
|
private OnPreferenceValueChangedListener<Boolean> screenLockChangeListener;
|
|
|
private OnPreferenceValueChangedListener<String> screenLockTimeoutChangeListener;
|
|
|
+ private OnPreferenceValueChangedListener<Boolean> themeChangeListener;
|
|
|
+
|
|
|
private Disposable profileQueryDisposable;
|
|
|
private Disposable dbQueryDisposable;
|
|
|
|
|
@@ -187,6 +193,7 @@ public class SettingsController extends BaseController {
|
|
|
appPreferences.registerScreenSecurityListener(screenSecurityChangeListener = new ScreenSecurityChangeListener());
|
|
|
appPreferences.registerScreenLockListener(screenLockChangeListener = new ScreenLockListener());
|
|
|
appPreferences.registerScreenLockTimeoutListener(screenLockTimeoutChangeListener = new ScreenLockTimeoutListener());
|
|
|
+ appPreferences.registerThemeChangeListener(themeChangeListener = new ThemeChangeListener());
|
|
|
|
|
|
List<String> listWithIntFields = new ArrayList<>();
|
|
|
listWithIntFields.add("proxy_port");
|
|
@@ -347,7 +354,7 @@ public class SettingsController extends BaseController {
|
|
|
new LovelyStandardDialog(getActivity(), LovelyStandardDialog.ButtonLayout.HORIZONTAL)
|
|
|
.setTopColorRes(R.color.nc_darkRed)
|
|
|
.setIcon(DisplayUtils.getTintedDrawable(getResources(),
|
|
|
- R.drawable.ic_delete_black_24dp, R.color.white))
|
|
|
+ R.drawable.ic_delete_black_24dp, R.color.bg_default))
|
|
|
.setPositiveButtonColor(context.getResources().getColor(R.color.nc_darkRed))
|
|
|
.setTitle(R.string.nc_settings_remove_account)
|
|
|
.setMessage(R.string.nc_settings_remove_confirmation)
|
|
@@ -600,6 +607,7 @@ public class SettingsController extends BaseController {
|
|
|
messageView.setVisibility(View.GONE);
|
|
|
}
|
|
|
}
|
|
|
+ ((Checkable) themeSwitchPreference.findViewById(R.id.mp_checkable)).setChecked(appPreferences.isDarkThemeEnabled());
|
|
|
}
|
|
|
|
|
|
private void loadAvatarImage() {
|
|
@@ -627,6 +635,7 @@ public class SettingsController extends BaseController {
|
|
|
appPreferences.unregisterScreenSecurityListener(screenSecurityChangeListener);
|
|
|
appPreferences.unregisterScreenLockListener(screenLockChangeListener);
|
|
|
appPreferences.unregisterScreenLockTimeoutListener(screenLockTimeoutChangeListener);
|
|
|
+ appPreferences.unregisterThemeChangeListener(themeChangeListener);
|
|
|
}
|
|
|
super.onDestroy();
|
|
|
}
|
|
@@ -772,4 +781,12 @@ public class SettingsController extends BaseController {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ private class ThemeChangeListener implements OnPreferenceValueChangedListener<Boolean> {
|
|
|
+ @Override
|
|
|
+ public void onChanged(Boolean newValue) {
|
|
|
+ NextcloudTalkApplication.setAppTheme(newValue);
|
|
|
+ getActivity().recreate();
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|