From 8494df4101bd92d48d82ee49eccabf4f752bda02 Mon Sep 17 00:00:00 2001 From: SagarMakhar Date: Wed, 23 Jun 2021 08:46:54 +0000 Subject: [PATCH] sm7125-common: RealmeParts: Hide gesture prefs if not supported Signed-off-by: SagarMakhar --- RealmeParts/res/xml/RealmeParts.xml | 5 +++- .../org/aospextended/device/RealmeParts.java | 13 ++++++++++- .../device/gestures/TouchGestures.java | 23 ++++++++++++++++++- 3 files changed, 38 insertions(+), 3 deletions(-) diff --git a/RealmeParts/res/xml/RealmeParts.xml b/RealmeParts/res/xml/RealmeParts.xml index a69891d..c0a6065 100644 --- a/RealmeParts/res/xml/RealmeParts.xml +++ b/RealmeParts/res/xml/RealmeParts.xml @@ -2,6 +2,7 @@ diff --git a/RealmeParts/src/org/aospextended/device/RealmeParts.java b/RealmeParts/src/org/aospextended/device/RealmeParts.java index 4a4f29e..3235673 100644 --- a/RealmeParts/src/org/aospextended/device/RealmeParts.java +++ b/RealmeParts/src/org/aospextended/device/RealmeParts.java @@ -40,6 +40,7 @@ import androidx.preference.PreferenceScreen; import androidx.preference.SwitchPreference; import androidx.preference.TwoStatePreference; +import org.aospextended.device.gestures.TouchGestures; import org.aospextended.device.gestures.TouchGesturesActivity; import org.aospextended.device.doze.DozeSettingsActivity; import org.aospextended.device.vibration.VibratorStrengthPreference; @@ -72,6 +73,8 @@ public class RealmeParts extends PreferenceFragment implements public void onCreatePreferences(Bundle savedInstanceState, String rootKey) { setPreferencesFromResource(R.xml.RealmeParts, rootKey); + PreferenceCategory gestures = (PreferenceCategory) getPreferenceScreen() + .findPreference("gestures_category"); mGesturesPref = findPreference("screen_gestures"); mGesturesPref.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() { @Override @@ -81,6 +84,10 @@ public class RealmeParts extends PreferenceFragment implements return true; } }); + if (!TouchGestures.isSupported()) { + getPreferenceScreen().removePreference(gestures); + } + mDozePref = findPreference("doze"); mDozePref.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() { @Override @@ -91,8 +98,12 @@ public class RealmeParts extends PreferenceFragment implements } }); + PreferenceCategory vib_strength = (PreferenceCategory) getPreferenceScreen() + .findPreference("vib_strength_category"); mVibratorStrength = (VibratorStrengthPreference) findPreference(VibratorStrengthPreference.KEY_VIBSTRENGTH); - mVibratorStrength.setEnabled(VibratorStrengthPreference.isSupported()); + if (!VibratorStrengthPreference.isSupported()) { + getPreferenceScreen().removePreference(vib_strength); + } } @Override diff --git a/RealmeParts/src/org/aospextended/device/gestures/TouchGestures.java b/RealmeParts/src/org/aospextended/device/gestures/TouchGestures.java index f96af5c..9e34ce5 100644 --- a/RealmeParts/src/org/aospextended/device/gestures/TouchGestures.java +++ b/RealmeParts/src/org/aospextended/device/gestures/TouchGestures.java @@ -118,6 +118,14 @@ public class TouchGestures extends PreferenceFragment implements setHasOptionsMenu(true); } + public static boolean isSupported() { + return Utils.fileWritable(GESTURE_PATH) || Utils.fileWritable(DT2W_PATH); + } + + public static boolean isSupported(String filepath) { + return Utils.fileWritable(filepath); + } + public static void enableGestures(boolean enable) { if (Utils.fileExists(GESTURE_PATH)) { Utils.writeLine(GESTURE_PATH, enable ? "1" : "0"); @@ -125,7 +133,7 @@ public class TouchGestures extends PreferenceFragment implements } public static void enableDt2w(boolean enable) { - if (Utils.fileExists(GESTURE_PATH)) { + if (Utils.fileExists(DT2W_PATH)) { Utils.writeLine(DT2W_PATH, enable ? "1" : "0"); } } @@ -140,10 +148,13 @@ public class TouchGestures extends PreferenceFragment implements prefs = getPreferenceScreen(); + PreferenceCategory dt2w = (PreferenceCategory) prefs.findPreference("dt2w"); mEnableDt2w = (SwitchPreference) prefs.findPreference(PREF_DT2W_ENABLE); + PreferenceCategory gestures = (PreferenceCategory) prefs.findPreference("gestures"); mEnableGestures = (SwitchPreference) prefs.findPreference(PREF_GESTURE_ENABLE); + PreferenceCategory haptic = (PreferenceCategory) prefs.findPreference("haptic"); mHapticFeedback = (SwitchPreference) findPreference(KEY_GESTURE_HAPTIC_FEEDBACK); mHapticFeedback.setChecked(mPrefs.getInt(Utils.TOUCHSCREEN_GESTURE_HAPTIC_FEEDBACK, 1) != 0); mHapticFeedback.setOnPreferenceChangeListener(this); @@ -199,6 +210,16 @@ public class TouchGestures extends PreferenceFragment implements mEnableGestures.setChecked(enableGestures); mEnableGestures.setOnPreferenceChangeListener(this); + if (!isSupported(DT2W_PATH)) { + getPreferenceScreen().removePreference(dt2w); + } + if (!isSupported()) { + getPreferenceScreen().removePreference(haptic); + } + if (!isSupported(GESTURE_PATH)) { + getPreferenceScreen().removePreference(gestures); + } + return prefs; }