From 4c352aeadc5f1d7eea897452813da8281c07fd52 Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Wed, 29 May 2019 23:20:16 +0200 Subject: [PATCH] color destructive panic prefs with red background --- .../panic/DestructiveCheckBoxPreference.java | 41 +++++++++++++++++++ .../views/panic/DestructivePreference.java | 36 ++++++++++++++++ .../views/panic/PanicPreferencesFragment.java | 2 +- app/src/full/res/values/colors.xml | 4 +- app/src/full/res/xml/preferences_panic.xml | 4 +- 5 files changed, 83 insertions(+), 4 deletions(-) create mode 100644 app/src/full/java/org/fdroid/fdroid/views/panic/DestructiveCheckBoxPreference.java create mode 100644 app/src/full/java/org/fdroid/fdroid/views/panic/DestructivePreference.java diff --git a/app/src/full/java/org/fdroid/fdroid/views/panic/DestructiveCheckBoxPreference.java b/app/src/full/java/org/fdroid/fdroid/views/panic/DestructiveCheckBoxPreference.java new file mode 100644 index 000000000..4eb209880 --- /dev/null +++ b/app/src/full/java/org/fdroid/fdroid/views/panic/DestructiveCheckBoxPreference.java @@ -0,0 +1,41 @@ +package org.fdroid.fdroid.views.panic; + +import android.content.Context; +import android.content.res.Resources; +import android.support.v7.preference.CheckBoxPreference; +import android.support.v7.preference.PreferenceViewHolder; +import android.util.AttributeSet; +import org.fdroid.fdroid.FDroidApp; +import org.fdroid.fdroid.R; + +public class DestructiveCheckBoxPreference extends CheckBoxPreference { + public DestructiveCheckBoxPreference(Context context, AttributeSet attrs, int defStyleAttr) { + super(context, attrs, defStyleAttr); + } + + public DestructiveCheckBoxPreference(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) { + super(context, attrs, defStyleAttr, defStyleRes); + } + + public DestructiveCheckBoxPreference(Context context, AttributeSet attrs) { + super(context, attrs); + } + + public DestructiveCheckBoxPreference(Context context) { + super(context); + } + + @Override + public void onBindViewHolder(PreferenceViewHolder holder) { + super.onBindViewHolder(holder); + if (!holder.itemView.isEnabled()) { + return; + } + Resources resources = getContext().getResources(); + if (FDroidApp.isAppThemeLight()) { + holder.itemView.setBackgroundColor(resources.getColor(R.color.panic_destructive_light)); + } else { + holder.itemView.setBackgroundColor(resources.getColor(R.color.panic_destructive_dark)); + } + } +} diff --git a/app/src/full/java/org/fdroid/fdroid/views/panic/DestructivePreference.java b/app/src/full/java/org/fdroid/fdroid/views/panic/DestructivePreference.java new file mode 100644 index 000000000..990eff5bf --- /dev/null +++ b/app/src/full/java/org/fdroid/fdroid/views/panic/DestructivePreference.java @@ -0,0 +1,36 @@ +package org.fdroid.fdroid.views.panic; + +import android.content.Context; +import android.support.v7.preference.Preference; +import android.support.v7.preference.PreferenceViewHolder; +import android.util.AttributeSet; +import org.fdroid.fdroid.FDroidApp; +import org.fdroid.fdroid.R; + +public class DestructivePreference extends Preference { + public DestructivePreference(Context context, AttributeSet attrs, int defStyleAttr) { + super(context, attrs, defStyleAttr); + } + + public DestructivePreference(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) { + super(context, attrs, defStyleAttr, defStyleRes); + } + + public DestructivePreference(Context context, AttributeSet attrs) { + super(context, attrs); + } + + public DestructivePreference(Context context) { + super(context); + } + + @Override + public void onBindViewHolder(PreferenceViewHolder holder) { + super.onBindViewHolder(holder); + if (FDroidApp.isAppThemeLight()) { + holder.itemView.setBackgroundColor(getContext().getResources().getColor(R.color.panic_destructive_light)); + } else { + holder.itemView.setBackgroundColor(getContext().getResources().getColor(R.color.panic_destructive_dark)); + } + } +} diff --git a/app/src/full/java/org/fdroid/fdroid/views/panic/PanicPreferencesFragment.java b/app/src/full/java/org/fdroid/fdroid/views/panic/PanicPreferencesFragment.java index a0b111821..3eb275950 100644 --- a/app/src/full/java/org/fdroid/fdroid/views/panic/PanicPreferencesFragment.java +++ b/app/src/full/java/org/fdroid/fdroid/views/panic/PanicPreferencesFragment.java @@ -117,7 +117,7 @@ public class PanicPreferencesFragment extends PreferenceFragment categoryAppsToUninstall.setEnabled(true); if (wipeSet.size() > 0) { for (String packageName : wipeSet) { - Preference preference = new Preference(getActivity()); + Preference preference = new DestructivePreference(getActivity()); preference.setSingleLineTitle(true); preference.setIntent(intent); categoryAppsToUninstall.addPreference(preference); diff --git a/app/src/full/res/values/colors.xml b/app/src/full/res/values/colors.xml index fe1fee70e..b7793017e 100644 --- a/app/src/full/res/values/colors.xml +++ b/app/src/full/res/values/colors.xml @@ -1,5 +1,5 @@ - + #ff7900 #27aae1 @@ -10,4 +10,6 @@ #4a4a4a #bbbbbb + #fff0f0 + #330000 diff --git a/app/src/full/res/xml/preferences_panic.xml b/app/src/full/res/xml/preferences_panic.xml index b1ec1c1e6..e512111be 100644 --- a/app/src/full/res/xml/preferences_panic.xml +++ b/app/src/full/res/xml/preferences_panic.xml @@ -19,14 +19,14 @@ android:title="@string/panic_app_setting_title" tools:icon="@drawable/ic_cancel"/> - -