Fix One-handed mode Settings Main Switch does not update

its state correctly

Add Settings.Secure.ONE_HANDED_MODE_ENABLED key observer when
its state changes.

Bug: 191267388

Test: Manual verified on Settings > System > Gestures
> Use One-handed mode.
Test: make RunSettingsRoboTests ROBOTEST_FILTER=
      "com.android.settings.gestures
      .OneHandedMainSwitchPreferenceControllerTest"

Change-Id: I264fda3a8ab0a76e6234199346b6720895b95cd6
This commit is contained in:
Jason Chang
2021-06-17 01:40:13 +08:00
parent 059b3fab8e
commit 9837ce4a24
2 changed files with 49 additions and 1 deletions

View File

@@ -56,6 +56,15 @@ public class OneHandedMainSwitchPreferenceControllerTest {
assertThat(OneHandedSettingsUtils.isOneHandedModeEnabled(mContext)).isTrue();
}
@Test
public void isChecked_setOneHandedModeEnabled_shouldReturnTrue() {
SystemProperties.set(OneHandedSettingsUtils.SUPPORT_ONE_HANDED_MODE, "true");
mUtils.setNavigationBarMode(mContext, "2" /* fully gestural */);
OneHandedSettingsUtils.setOneHandedModeEnabled(mContext, true);
assertThat(mController.isChecked()).isTrue();
}
@Test
public void getAvailabilityStatus_setSupportOneHandedModeProperty_shouldAvailable() {
SystemProperties.set(OneHandedSettingsUtils.SUPPORT_ONE_HANDED_MODE, "true");