From 4c212f07d16a9aca3cf6fcd6e804d0e408b7811a Mon Sep 17 00:00:00 2001 From: M66B Date: Wed, 31 Oct 2018 09:09:07 +0000 Subject: [PATCH] Uses switches instead of check boxes for advanced options --- .../eu/faircode/email/FragmentOptions.java | 68 ++++++++--------- app/src/main/res/layout/fragment_options.xml | 74 +++++++++---------- 2 files changed, 67 insertions(+), 75 deletions(-) diff --git a/app/src/main/java/eu/faircode/email/FragmentOptions.java b/app/src/main/java/eu/faircode/email/FragmentOptions.java index b7ff088901..79d87a8747 100644 --- a/app/src/main/java/eu/faircode/email/FragmentOptions.java +++ b/app/src/main/java/eu/faircode/email/FragmentOptions.java @@ -25,21 +25,21 @@ import android.preference.PreferenceManager; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; -import android.widget.CheckBox; import android.widget.CompoundButton; import androidx.annotation.NonNull; import androidx.annotation.Nullable; +import androidx.appcompat.widget.SwitchCompat; public class FragmentOptions extends FragmentEx { - private CheckBox cbEnabled; - private CheckBox cbAvatars; - private CheckBox cbLight; - private CheckBox cbBrowse; - private CheckBox cbSwipe; - private CheckBox cbCompact; - private CheckBox cbInsecure; - private CheckBox cbDebug; + private SwitchCompat swEnabled; + private SwitchCompat swAvatars; + private SwitchCompat swLight; + private SwitchCompat swBrowse; + private SwitchCompat swSwipe; + private SwitchCompat swCompact; + private SwitchCompat swInsecure; + private SwitchCompat swDebug; @Override @Nullable @@ -49,21 +49,21 @@ public class FragmentOptions extends FragmentEx { View view = inflater.inflate(R.layout.fragment_options, container, false); // Get controls - cbEnabled = view.findViewById(R.id.cbEnabled); - cbAvatars = view.findViewById(R.id.cbAvatars); - cbLight = view.findViewById(R.id.cbLight); - cbBrowse = view.findViewById(R.id.cbBrowse); - cbSwipe = view.findViewById(R.id.cbSwipe); - cbCompact = view.findViewById(R.id.cbCompact); - cbInsecure = view.findViewById(R.id.cbInsecure); - cbDebug = view.findViewById(R.id.cbDebug); + swEnabled = view.findViewById(R.id.swEnabled); + swAvatars = view.findViewById(R.id.swAvatars); + swLight = view.findViewById(R.id.swLight); + swBrowse = view.findViewById(R.id.swBrowse); + swSwipe = view.findViewById(R.id.swSwipe); + swCompact = view.findViewById(R.id.swCompact); + swInsecure = view.findViewById(R.id.swInsecure); + swDebug = view.findViewById(R.id.swDebug); // Wire controls final SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getContext()); - cbEnabled.setChecked(prefs.getBoolean("enabled", true)); - cbEnabled.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { + swEnabled.setChecked(prefs.getBoolean("enabled", true)); + swEnabled.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton compoundButton, boolean checked) { prefs.edit().putBoolean("enabled", checked).apply(); @@ -74,56 +74,56 @@ public class FragmentOptions extends FragmentEx { } }); - cbAvatars.setChecked(prefs.getBoolean("avatars", true)); - cbAvatars.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { + swAvatars.setChecked(prefs.getBoolean("avatars", true)); + swAvatars.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton compoundButton, boolean checked) { prefs.edit().putBoolean("avatars", checked).apply(); } }); - cbLight.setChecked(prefs.getBoolean("light", false)); - cbLight.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { + swLight.setChecked(prefs.getBoolean("light", false)); + swLight.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton compoundButton, boolean checked) { prefs.edit().putBoolean("light", checked).apply(); } }); - cbBrowse.setChecked(prefs.getBoolean("browse", true)); - cbBrowse.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { + swBrowse.setChecked(prefs.getBoolean("browse", true)); + swBrowse.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton compoundButton, boolean checked) { prefs.edit().putBoolean("browse", checked).apply(); } }); - cbSwipe.setChecked(prefs.getBoolean("swipe", true)); - cbSwipe.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { + swSwipe.setChecked(prefs.getBoolean("swipe", true)); + swSwipe.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton compoundButton, boolean checked) { prefs.edit().putBoolean("swipe", checked).apply(); } }); - cbCompact.setChecked(prefs.getBoolean("compact", false)); - cbCompact.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { + swCompact.setChecked(prefs.getBoolean("compact", false)); + swCompact.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton compoundButton, boolean checked) { prefs.edit().putBoolean("compact", checked).apply(); } }); - cbInsecure.setChecked(prefs.getBoolean("insecure", false)); - cbInsecure.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { + swInsecure.setChecked(prefs.getBoolean("insecure", false)); + swInsecure.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton compoundButton, boolean checked) { prefs.edit().putBoolean("insecure", checked).apply(); } }); - cbDebug.setChecked(prefs.getBoolean("debug", false)); - cbDebug.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { + swDebug.setChecked(prefs.getBoolean("debug", false)); + swDebug.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton compoundButton, boolean checked) { prefs.edit().putBoolean("debug", checked).apply(); @@ -131,7 +131,7 @@ public class FragmentOptions extends FragmentEx { } }); - cbLight.setVisibility(android.os.Build.VERSION.SDK_INT < android.os.Build.VERSION_CODES.O ? View.VISIBLE : View.GONE); + swLight.setVisibility(android.os.Build.VERSION.SDK_INT < android.os.Build.VERSION_CODES.O ? View.VISIBLE : View.GONE); return view; } diff --git a/app/src/main/res/layout/fragment_options.xml b/app/src/main/res/layout/fragment_options.xml index 1aa170f0c9..4ee7f54411 100644 --- a/app/src/main/res/layout/fragment_options.xml +++ b/app/src/main/res/layout/fragment_options.xml @@ -9,86 +9,78 @@ + android:layout_height="wrap_content" + android:layout_margin="12dp"> - - + app:layout_constraintTop_toBottomOf="@id/swEnabled" /> - + app:layout_constraintTop_toBottomOf="@id/swAvatars" /> - + app:layout_constraintTop_toBottomOf="@id/swLight" /> - + app:layout_constraintTop_toBottomOf="@id/swBrowse" /> - + app:layout_constraintTop_toBottomOf="@id/swSwipe" /> - + app:layout_constraintTop_toBottomOf="@id/swCompact" /> - + app:layout_constraintTop_toBottomOf="@id/swInsecure" /> \ No newline at end of file