diff options
author | Stefan Niedermann <info@niedermann.it> | 2020-04-11 18:43:58 +0300 |
---|---|---|
committer | Stefan Niedermann <info@niedermann.it> | 2020-04-11 18:43:58 +0300 |
commit | b6eb89b4a6d2c58fb0171c541b9cd8762bf517fd (patch) | |
tree | b95906014ca45f80203269cb4956dd6bca9ed8bb /app/src/main/java/it/niedermann/nextcloud/deck/ui/settings/SettingsFragment.java | |
parent | 1f5aa1f953193e1bc1acfe9f4712223329aa7a17 (diff) |
#317 Adjust theme for each account
Switches & min contrast ratio for main content area
Signed-off-by: Stefan Niedermann <info@niedermann.it>
Diffstat (limited to 'app/src/main/java/it/niedermann/nextcloud/deck/ui/settings/SettingsFragment.java')
-rw-r--r-- | app/src/main/java/it/niedermann/nextcloud/deck/ui/settings/SettingsFragment.java | 33 |
1 files changed, 29 insertions, 4 deletions
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/settings/SettingsFragment.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/settings/SettingsFragment.java index cabdd1021..5ca6aab99 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/settings/SettingsFragment.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/settings/SettingsFragment.java @@ -2,24 +2,31 @@ package it.niedermann.nextcloud.deck.ui.settings; import android.app.Activity; import android.os.Bundle; +import android.view.View; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; import androidx.preference.ListPreference; import androidx.preference.Preference; import androidx.preference.PreferenceFragmentCompat; -import androidx.preference.SwitchPreference; import it.niedermann.nextcloud.deck.Application; import it.niedermann.nextcloud.deck.DeckLog; import it.niedermann.nextcloud.deck.R; import it.niedermann.nextcloud.deck.persistence.sync.SyncWorker; +import it.niedermann.nextcloud.deck.ui.branding.Branded; +import it.niedermann.nextcloud.deck.ui.branding.BrandedSwitchPreference; -public class SettingsFragment extends PreferenceFragmentCompat { +public class SettingsFragment extends PreferenceFragmentCompat implements Branded { + + private BrandedSwitchPreference wifiOnlyPref; + private BrandedSwitchPreference themePref; @Override public void onCreatePreferences(Bundle savedInstanceState, String rootKey) { setPreferencesFromResource(R.xml.settings, rootKey); - final SwitchPreference wifiOnlyPref = findPreference(getString(R.string.pref_key_wifi_only)); + wifiOnlyPref = findPreference(getString(R.string.pref_key_wifi_only)); if (wifiOnlyPref != null) { wifiOnlyPref.setOnPreferenceChangeListener((Preference preference, Object newValue) -> { Boolean syncOnWifiOnly = (Boolean) newValue; @@ -30,7 +37,7 @@ public class SettingsFragment extends PreferenceFragmentCompat { DeckLog.error("Could not find preference with key: \"" + getString(R.string.pref_key_wifi_only) + "\""); } - final SwitchPreference themePref = findPreference(getString(R.string.pref_key_dark_theme)); + themePref = findPreference(getString(R.string.pref_key_dark_theme)); if (themePref != null) { themePref.setOnPreferenceChangeListener((Preference preference, Object newValue) -> { Boolean darkTheme = (Boolean) newValue; @@ -54,4 +61,22 @@ public class SettingsFragment extends PreferenceFragmentCompat { DeckLog.error("Could not find preference with key: \"" + getString(R.string.pref_key_background_sync) + "\""); } } + + @Override + public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) { + super.onViewCreated(view, savedInstanceState); + Application.registerBrandedComponent(requireContext(), this); + } + + @Override + public void onDestroy() { + Application.deregisterBrandedComponent(this); + super.onDestroy(); + } + + @Override + public void applyBrand(int mainColor, int textColor) { + wifiOnlyPref.applyBrand(mainColor, textColor); + themePref.applyBrand(mainColor, textColor); + } } |