Loading src/com/android/settings/accessibility/KeyboardVibrationTogglePreferenceController.java +8 −1 Original line number Diff line number Diff line Loading @@ -21,7 +21,7 @@ import static android.provider.Settings.System.KEYBOARD_VIBRATION_ENABLED; import static com.android.settings.accessibility.AccessibilityUtil.State.OFF; import static com.android.settings.accessibility.AccessibilityUtil.State.ON; import android.app.settings.SettingsEnums; import android.content.Context; import android.database.ContentObserver; import android.net.Uri; Loading @@ -42,6 +42,8 @@ import androidx.preference.TwoStatePreference; import com.android.settings.R; import com.android.settings.core.TogglePreferenceController; import com.android.settings.overlay.FeatureFactory; import com.android.settingslib.core.instrumentation.MetricsFeatureProvider; /** Loading @@ -62,6 +64,8 @@ public class KeyboardVibrationTogglePreferenceController extends TogglePreferenc @Nullable private TwoStatePreference mPreference; private MetricsFeatureProvider mMetricsFeatureProvider; public KeyboardVibrationTogglePreferenceController(Context context, String preferenceKey) { super(context, preferenceKey); mVibrator = context.getSystemService(Vibrator.class); Loading @@ -75,6 +79,7 @@ public class KeyboardVibrationTogglePreferenceController extends TogglePreferenc } } }; mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider(); } @Override Loading Loading @@ -120,6 +125,8 @@ public class KeyboardVibrationTogglePreferenceController extends TogglePreferenc @Override public boolean setChecked(boolean isChecked) { final boolean success = updateKeyboardVibrationSetting(isChecked); mMetricsFeatureProvider.action(mContext, SettingsEnums.ACTION_KEYBOARD_VIBRATION_CHANGED, isChecked); if (success && isChecked) { // Play the preview vibration effect when the toggle is on. final VibrationAttributes touchAttrs = Loading tests/robotests/src/com/android/settings/accessibility/KeyboardVibrationTogglePreferenceControllerTest.java +11 −2 Original line number Diff line number Diff line Loading @@ -23,9 +23,13 @@ import static com.android.settings.core.BasePreferenceController.UNSUPPORTED_ON_ import static com.google.common.truth.Truth.assertThat; import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.spy; import static org.mockito.Mockito.when; import static org.mockito.Mockito.verify; import android.app.settings.SettingsEnums; import android.content.Context; import android.content.res.Resources; import android.os.vibrator.Flags; Loading @@ -37,6 +41,7 @@ import androidx.preference.SwitchPreference; import androidx.test.core.app.ApplicationProvider; import com.android.settings.R; import com.android.settings.testutils.FakeFeatureFactory; import org.junit.Before; import org.junit.Rule; Loading @@ -49,7 +54,6 @@ import org.robolectric.RobolectricTestRunner; /** Tests for {@link KeyboardVibrationTogglePreferenceController}. */ @RunWith(RobolectricTestRunner.class) public class KeyboardVibrationTogglePreferenceControllerTest { @Rule public final SetFlagsRule mSetFlagsRule = new SetFlagsRule(); Loading @@ -59,8 +63,8 @@ public class KeyboardVibrationTogglePreferenceControllerTest { private Context mContext; private Resources mResources; private KeyboardVibrationTogglePreferenceController mController; private SwitchPreference mPreference; private FakeFeatureFactory mFeatureFactory; @Before public void setUp() { Loading @@ -68,6 +72,7 @@ public class KeyboardVibrationTogglePreferenceControllerTest { mContext = spy(ApplicationProvider.getApplicationContext()); mResources = spy(mContext.getResources()); when(mContext.getResources()).thenReturn(mResources); mFeatureFactory = FakeFeatureFactory.setupForTest(); mController = new KeyboardVibrationTogglePreferenceController(mContext, "preferenceKey"); mPreference = new SwitchPreference(mContext); when(mPreferenceScreen.findPreference( Loading Loading @@ -148,6 +153,8 @@ public class KeyboardVibrationTogglePreferenceControllerTest { mController.setChecked(true); assertThat(readSystemSetting(Settings.System.KEYBOARD_VIBRATION_ENABLED)).isEqualTo(ON); verify(mFeatureFactory.metricsFeatureProvider).action(any(), eq(SettingsEnums.ACTION_KEYBOARD_VIBRATION_CHANGED), eq(true)); } @Test Loading @@ -160,6 +167,8 @@ public class KeyboardVibrationTogglePreferenceControllerTest { mController.setChecked(false); assertThat(readSystemSetting(Settings.System.KEYBOARD_VIBRATION_ENABLED)).isEqualTo(OFF); verify(mFeatureFactory.metricsFeatureProvider).action(any(), eq(SettingsEnums.ACTION_KEYBOARD_VIBRATION_CHANGED), eq(false)); } private void updateSystemSetting(String key, int value) { Loading Loading
src/com/android/settings/accessibility/KeyboardVibrationTogglePreferenceController.java +8 −1 Original line number Diff line number Diff line Loading @@ -21,7 +21,7 @@ import static android.provider.Settings.System.KEYBOARD_VIBRATION_ENABLED; import static com.android.settings.accessibility.AccessibilityUtil.State.OFF; import static com.android.settings.accessibility.AccessibilityUtil.State.ON; import android.app.settings.SettingsEnums; import android.content.Context; import android.database.ContentObserver; import android.net.Uri; Loading @@ -42,6 +42,8 @@ import androidx.preference.TwoStatePreference; import com.android.settings.R; import com.android.settings.core.TogglePreferenceController; import com.android.settings.overlay.FeatureFactory; import com.android.settingslib.core.instrumentation.MetricsFeatureProvider; /** Loading @@ -62,6 +64,8 @@ public class KeyboardVibrationTogglePreferenceController extends TogglePreferenc @Nullable private TwoStatePreference mPreference; private MetricsFeatureProvider mMetricsFeatureProvider; public KeyboardVibrationTogglePreferenceController(Context context, String preferenceKey) { super(context, preferenceKey); mVibrator = context.getSystemService(Vibrator.class); Loading @@ -75,6 +79,7 @@ public class KeyboardVibrationTogglePreferenceController extends TogglePreferenc } } }; mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider(); } @Override Loading Loading @@ -120,6 +125,8 @@ public class KeyboardVibrationTogglePreferenceController extends TogglePreferenc @Override public boolean setChecked(boolean isChecked) { final boolean success = updateKeyboardVibrationSetting(isChecked); mMetricsFeatureProvider.action(mContext, SettingsEnums.ACTION_KEYBOARD_VIBRATION_CHANGED, isChecked); if (success && isChecked) { // Play the preview vibration effect when the toggle is on. final VibrationAttributes touchAttrs = Loading
tests/robotests/src/com/android/settings/accessibility/KeyboardVibrationTogglePreferenceControllerTest.java +11 −2 Original line number Diff line number Diff line Loading @@ -23,9 +23,13 @@ import static com.android.settings.core.BasePreferenceController.UNSUPPORTED_ON_ import static com.google.common.truth.Truth.assertThat; import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.spy; import static org.mockito.Mockito.when; import static org.mockito.Mockito.verify; import android.app.settings.SettingsEnums; import android.content.Context; import android.content.res.Resources; import android.os.vibrator.Flags; Loading @@ -37,6 +41,7 @@ import androidx.preference.SwitchPreference; import androidx.test.core.app.ApplicationProvider; import com.android.settings.R; import com.android.settings.testutils.FakeFeatureFactory; import org.junit.Before; import org.junit.Rule; Loading @@ -49,7 +54,6 @@ import org.robolectric.RobolectricTestRunner; /** Tests for {@link KeyboardVibrationTogglePreferenceController}. */ @RunWith(RobolectricTestRunner.class) public class KeyboardVibrationTogglePreferenceControllerTest { @Rule public final SetFlagsRule mSetFlagsRule = new SetFlagsRule(); Loading @@ -59,8 +63,8 @@ public class KeyboardVibrationTogglePreferenceControllerTest { private Context mContext; private Resources mResources; private KeyboardVibrationTogglePreferenceController mController; private SwitchPreference mPreference; private FakeFeatureFactory mFeatureFactory; @Before public void setUp() { Loading @@ -68,6 +72,7 @@ public class KeyboardVibrationTogglePreferenceControllerTest { mContext = spy(ApplicationProvider.getApplicationContext()); mResources = spy(mContext.getResources()); when(mContext.getResources()).thenReturn(mResources); mFeatureFactory = FakeFeatureFactory.setupForTest(); mController = new KeyboardVibrationTogglePreferenceController(mContext, "preferenceKey"); mPreference = new SwitchPreference(mContext); when(mPreferenceScreen.findPreference( Loading Loading @@ -148,6 +153,8 @@ public class KeyboardVibrationTogglePreferenceControllerTest { mController.setChecked(true); assertThat(readSystemSetting(Settings.System.KEYBOARD_VIBRATION_ENABLED)).isEqualTo(ON); verify(mFeatureFactory.metricsFeatureProvider).action(any(), eq(SettingsEnums.ACTION_KEYBOARD_VIBRATION_CHANGED), eq(true)); } @Test Loading @@ -160,6 +167,8 @@ public class KeyboardVibrationTogglePreferenceControllerTest { mController.setChecked(false); assertThat(readSystemSetting(Settings.System.KEYBOARD_VIBRATION_ENABLED)).isEqualTo(OFF); verify(mFeatureFactory.metricsFeatureProvider).action(any(), eq(SettingsEnums.ACTION_KEYBOARD_VIBRATION_CHANGED), eq(false)); } private void updateSystemSetting(String key, int value) { Loading