From cef1020f758e7ba1588f7a0e5dd5cd258d2012eb Mon Sep 17 00:00:00 2001 From: Edgar Wang Date: Mon, 25 May 2020 11:46:56 +0800 Subject: [PATCH] Update summary of Gesture when quick gesture enabled, update summary to reflect correct status Bug: 138149556 Test: manual & robotest Change-Id: I072134cd8327ad5eb1d0862604acef83e1bdcec0 --- .../settings/aware/AwareFeatureProvider.java | 4 ++++ .../settings/aware/AwareFeatureProviderImpl.java | 6 ++++++ .../GesturesSettingPreferenceController.java | 13 ++++++++++++- 3 files changed, 22 insertions(+), 1 deletion(-) diff --git a/src/com/android/settings/aware/AwareFeatureProvider.java b/src/com/android/settings/aware/AwareFeatureProvider.java index bda27c7143c..a4e9c0cd31d 100644 --- a/src/com/android/settings/aware/AwareFeatureProvider.java +++ b/src/com/android/settings/aware/AwareFeatureProvider.java @@ -29,4 +29,8 @@ public interface AwareFeatureProvider { /** Show information dialog. */ void showRestrictionDialog(Fragment parent); + + /** Return Quick Gestures Summary. */ + CharSequence getGestureSummary(Context context, boolean sensorSupported, + boolean assistGestureEnabled, boolean assistGestureSilenceEnabled); } diff --git a/src/com/android/settings/aware/AwareFeatureProviderImpl.java b/src/com/android/settings/aware/AwareFeatureProviderImpl.java index 5d160313869..6f80d8a7ae5 100644 --- a/src/com/android/settings/aware/AwareFeatureProviderImpl.java +++ b/src/com/android/settings/aware/AwareFeatureProviderImpl.java @@ -34,4 +34,10 @@ public class AwareFeatureProviderImpl implements AwareFeatureProvider { @Override public void showRestrictionDialog(Fragment parent) { } + + @Override + public CharSequence getGestureSummary(Context context, boolean sensorSupported, + boolean assistGestureEnabled, boolean assistGestureSilenceEnabled) { + return null; + } } diff --git a/src/com/android/settings/gestures/GesturesSettingPreferenceController.java b/src/com/android/settings/gestures/GesturesSettingPreferenceController.java index 98eddffb8fa..9d4d538f426 100644 --- a/src/com/android/settings/gestures/GesturesSettingPreferenceController.java +++ b/src/com/android/settings/gestures/GesturesSettingPreferenceController.java @@ -20,10 +20,12 @@ import android.content.ContentResolver; import android.content.Context; import android.hardware.display.AmbientDisplayConfiguration; import android.provider.Settings; +import android.text.TextUtils; import androidx.annotation.NonNull; import com.android.settings.R; +import com.android.settings.aware.AwareFeatureProvider; import com.android.settings.core.BasePreferenceController; import com.android.settings.overlay.FeatureFactory; import com.android.settingslib.core.AbstractPreferenceController; @@ -33,6 +35,7 @@ import java.util.List; public class GesturesSettingPreferenceController extends BasePreferenceController { private final AssistGestureFeatureProvider mFeatureProvider; + private final AwareFeatureProvider mAwareFeatureProvider; private List mGestureControllers; private static final String KEY_GESTURES_SETTINGS = "gesture_settings"; @@ -41,6 +44,7 @@ public class GesturesSettingPreferenceController extends BasePreferenceControlle public GesturesSettingPreferenceController(Context context) { super(context, KEY_GESTURES_SETTINGS); mFeatureProvider = FeatureFactory.getFactory(context).getAssistGestureFeatureProvider(); + mAwareFeatureProvider = FeatureFactory.getFactory(context).getAwareFeatureProvider(); } @Override @@ -90,8 +94,15 @@ public class GesturesSettingPreferenceController extends BasePreferenceControlle contentResolver, Settings.Secure.ASSIST_GESTURE_ENABLED, 1) != 0; final boolean assistGestureSilenceEnabled = Settings.Secure.getInt( contentResolver, Settings.Secure.ASSIST_GESTURE_SILENCE_ALERTS_ENABLED, 1) != 0; + final boolean sensorSupported = mFeatureProvider.isSupported(mContext); - if (mFeatureProvider.isSupported(mContext) && assistGestureEnabled) { + final CharSequence awareSummary = mAwareFeatureProvider.getGestureSummary(mContext, + sensorSupported, assistGestureEnabled, assistGestureSilenceEnabled); + if (!TextUtils.isEmpty(awareSummary)) { + return awareSummary; + } + + if (sensorSupported && assistGestureEnabled) { return mContext.getText( R.string.language_input_gesture_summary_on_with_assist); }