From 0bba37e75b1376f942deedafdc29b0d6a8cb96fe Mon Sep 17 00:00:00 2001 From: Pranav Vashi Date: Fri, 28 Sep 2018 03:21:56 +0530 Subject: [PATCH] Set summary automatically if required Signed-off-by: Pranav Vashi --- .../LineageSecureSettingListPreference.java | 21 ++++++++++++++++++ .../LineageSystemSettingListPreference.java | 22 +++++++++++++++++++ 2 files changed, 43 insertions(+) diff --git a/packages/LineagePreferenceLib/java/lineageos/preference/LineageSecureSettingListPreference.java b/packages/LineagePreferenceLib/java/lineageos/preference/LineageSecureSettingListPreference.java index 55473c4c..ee0bc183 100644 --- a/packages/LineagePreferenceLib/java/lineageos/preference/LineageSecureSettingListPreference.java +++ b/packages/LineagePreferenceLib/java/lineageos/preference/LineageSecureSettingListPreference.java @@ -6,12 +6,15 @@ package lineageos.preference; import android.content.Context; +import android.text.TextUtils; import android.util.AttributeSet; import lineageos.providers.LineageSettings; public class LineageSecureSettingListPreference extends SelfRemovingListPreference { + private boolean mAutoSummary = false; + public LineageSecureSettingListPreference(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); } @@ -20,6 +23,24 @@ public class LineageSecureSettingListPreference extends SelfRemovingListPreferen super(context, attrs); } + @Override + public void setValue(String value) { + super.setValue(value); + if (mAutoSummary || TextUtils.isEmpty(getSummary())) { + setSummary(getEntry(), true); + } + } + + @Override + public void setSummary(CharSequence summary) { + setSummary(summary, false); + } + + private void setSummary(CharSequence summary, boolean autoSummary) { + mAutoSummary = autoSummary; + super.setSummary(summary); + } + public int getIntValue(int defValue) { return getValue() == null ? defValue : Integer.valueOf(getValue()); } diff --git a/packages/LineagePreferenceLib/java/lineageos/preference/LineageSystemSettingListPreference.java b/packages/LineagePreferenceLib/java/lineageos/preference/LineageSystemSettingListPreference.java index be0405d6..32dc6346 100644 --- a/packages/LineagePreferenceLib/java/lineageos/preference/LineageSystemSettingListPreference.java +++ b/packages/LineagePreferenceLib/java/lineageos/preference/LineageSystemSettingListPreference.java @@ -6,11 +6,15 @@ package lineageos.preference; import android.content.Context; +import android.text.TextUtils; import android.util.AttributeSet; import lineageos.providers.LineageSettings; public class LineageSystemSettingListPreference extends SelfRemovingListPreference { + + private boolean mAutoSummary = false; + public LineageSystemSettingListPreference(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); } @@ -19,6 +23,24 @@ public class LineageSystemSettingListPreference extends SelfRemovingListPreferen super(context, attrs); } + @Override + public void setValue(String value) { + super.setValue(value); + if (mAutoSummary || TextUtils.isEmpty(getSummary())) { + setSummary(getEntry(), true); + } + } + + @Override + public void setSummary(CharSequence summary) { + setSummary(summary, false); + } + + private void setSummary(CharSequence summary, boolean autoSummary) { + mAutoSummary = autoSummary; + super.setSummary(summary); + } + public int getIntValue(int defValue) { return getValue() == null ? defValue : Integer.valueOf(getValue()); }