diff --git a/src/com/android/settings/gestures/GesturesSettingPreferenceController.java b/src/com/android/settings/gestures/GesturesSettingPreferenceController.java index c1c0134cc68..d1b47b21301 100644 --- a/src/com/android/settings/gestures/GesturesSettingPreferenceController.java +++ b/src/com/android/settings/gestures/GesturesSettingPreferenceController.java @@ -64,6 +64,7 @@ public class GesturesSettingPreferenceController extends AbstractPreferenceContr public void updateState(Preference preference) { if (!mFeatureProvider.isSensorAvailable(mContext)) { preference.setSummary(""); + return; } final ContentResolver contentResolver = mContext.getContentResolver(); final boolean assistGestureEnabled = Settings.Secure.getInt( diff --git a/tests/robotests/src/com/android/settings/gestures/GesturesSettingsPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/gestures/GesturesSettingsPreferenceControllerTest.java index e0f391d03e0..b12b3736d2c 100644 --- a/tests/robotests/src/com/android/settings/gestures/GesturesSettingsPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/gestures/GesturesSettingsPreferenceControllerTest.java @@ -119,4 +119,16 @@ public class GesturesSettingsPreferenceControllerTest { verify(mActivity).getString(R.string.language_input_gesture_summary_on_non_assist); } + @Test + @Config(shadows = {ShadowSecureSettings.class}) + public void updateState_sensorNotAvailable_shouldSetToEmptyStatus() { + final FakeFeatureFactory featureFactory = + (FakeFeatureFactory) FakeFeatureFactory.getFactory(mActivity); + when(featureFactory.assistGestureFeatureProvider.isSensorAvailable(any(Context.class))) + .thenReturn(false); + + mController.updateState(mPreference); + verify(mPreference).setSummary(""); + } + }