Merge "2/ Make One handed mode support multiple user switch" into sc-dev am: e3e3fc915a

Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/13849836

Change-Id: I446caec4128640628d205babf4b5306c99a2eb90
This commit is contained in:
Bill Lin
2021-04-01 02:37:25 +00:00
committed by Automerger Merge Worker
12 changed files with 148 additions and 104 deletions

View File

@@ -20,6 +20,7 @@ import static com.google.common.truth.Truth.assertThat;
import android.content.Context;
import android.os.SystemProperties;
import android.os.UserHandle;
import com.android.settings.R;
import com.android.settings.core.BasePreferenceController;
@@ -27,24 +28,22 @@ import com.android.settings.core.BasePreferenceController;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Answers;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.RuntimeEnvironment;
@RunWith(RobolectricTestRunner.class)
public class OneHandedEnablePreferenceControllerTest {
private static final String KEY = "gesture_one_handed_mode_enabled";
@Mock(answer = Answers.RETURNS_DEEP_STUBS)
private Context mContext;
private OneHandedEnablePreferenceController mController;
@Before
public void setUp() {
MockitoAnnotations.initMocks(this);
mContext = RuntimeEnvironment.application;
mController = new OneHandedEnablePreferenceController(mContext, KEY);
OneHandedSettingsUtils.setUserId(UserHandle.myUserId());
}
@Test
@@ -76,7 +75,7 @@ public class OneHandedEnablePreferenceControllerTest {
@Test
public void getSummary_enabledOneHanded_shouldDisplayOnSummary() {
OneHandedSettingsUtils.setSettingsOneHandedModeEnabled(mContext, true);
OneHandedSettingsUtils.setOneHandedModeEnabled(mContext, true);
assertThat(mController.getSummary())
.isEqualTo(mContext.getText(R.string.switch_on_text));
@@ -84,7 +83,7 @@ public class OneHandedEnablePreferenceControllerTest {
@Test
public void getSummary_disabledOneHanded_shouldDisplayOffSummary() {
OneHandedSettingsUtils.setSettingsOneHandedModeEnabled(mContext, false);
OneHandedSettingsUtils.setOneHandedModeEnabled(mContext, false);
assertThat(mController.getSummary())
.isEqualTo(mContext.getText(R.string.switch_off_text));

View File

@@ -19,6 +19,7 @@ package com.android.settings.gestures;
import static com.google.common.truth.Truth.assertThat;
import android.content.Context;
import android.os.UserHandle;
import android.provider.Settings;
import com.android.settings.R;
@@ -37,88 +38,95 @@ public class OneHandedSettingsUtilsTest {
private static final int TIMEOUT_INDEX_MEDIUM = 2;
private static final int TIMEOUT_INDEX_LONG = 3;
private static final int OFF = 0;
private static final int ON = 1;
private Context mContext;
private String[] mConfigTimeout;
private int mCurrentUserId;
@Before
public void setUp() {
mContext = RuntimeEnvironment.application;
mCurrentUserId = UserHandle.myUserId();
mConfigTimeout = mContext.getResources().getStringArray(R.array.one_handed_timeout_values);
OneHandedSettingsUtils.setUserId(mCurrentUserId);
}
@Test
public void setSettingsOneHandedModeEnabled_setEnable_shouldReturnEnabled() {
OneHandedSettingsUtils.setSettingsOneHandedModeEnabled(mContext, true);
public void setOneHandedModeEnabled_setEnable_shouldReturnEnabled() {
OneHandedSettingsUtils.setOneHandedModeEnabled(mContext, true);
assertThat(Settings.Secure.getInt(mContext.getContentResolver(),
Settings.Secure.ONE_HANDED_MODE_ENABLED, 0)).isEqualTo(1);
assertThat(Settings.Secure.getIntForUser(mContext.getContentResolver(),
Settings.Secure.ONE_HANDED_MODE_ENABLED, OFF, mCurrentUserId)).isEqualTo(ON);
}
@Test
public void setSettingsOneHandedModeEnabled_setDisable_shouldReturnDisabled() {
OneHandedSettingsUtils.setSettingsOneHandedModeEnabled(mContext, false);
public void setOneHandedModeEnabled_setDisable_shouldReturnDisabled() {
OneHandedSettingsUtils.setOneHandedModeEnabled(mContext, false);
assertThat(Settings.Secure.getInt(mContext.getContentResolver(),
Settings.Secure.ONE_HANDED_MODE_ENABLED, 0)).isEqualTo(0);
assertThat(Settings.Secure.getIntForUser(mContext.getContentResolver(),
Settings.Secure.ONE_HANDED_MODE_ENABLED, OFF, mCurrentUserId)).isEqualTo(OFF);
}
@Test
public void setSettingsTapsAppToExitEnabled_setEnable_shouldReturnEnabled() {
OneHandedSettingsUtils.setSettingsTapsAppToExit(mContext, true);
public void setTapsAppToExitEnabled_setEnable_shouldReturnEnabled() {
OneHandedSettingsUtils.setTapsAppToExitEnabled(mContext, true);
assertThat(Settings.Secure.getInt(mContext.getContentResolver(),
Settings.Secure.TAPS_APP_TO_EXIT, 1)).isEqualTo(1);
assertThat(Settings.Secure.getIntForUser(mContext.getContentResolver(),
Settings.Secure.TAPS_APP_TO_EXIT, OFF, mCurrentUserId)).isEqualTo(ON);
}
@Test
public void setSettingsTapsAppToExitEnabled_setDisable_shouldReturnDisabled() {
OneHandedSettingsUtils.setSettingsTapsAppToExit(mContext, false);
public void setTapsAppToExitEnabled_setDisable_shouldReturnDisabled() {
OneHandedSettingsUtils.setTapsAppToExitEnabled(mContext, false);
assertThat(Settings.Secure.getInt(mContext.getContentResolver(),
Settings.Secure.TAPS_APP_TO_EXIT, 1)).isEqualTo(0);
assertThat(Settings.Secure.getIntForUser(mContext.getContentResolver(),
Settings.Secure.TAPS_APP_TO_EXIT, OFF, mCurrentUserId)).isEqualTo(OFF);
}
@Test
public void setSettingsTimeout_setNever_shouldReturnNeverValue() {
OneHandedSettingsUtils.setSettingsOneHandedModeTimeout(mContext,
public void setTimeout_setNever_shouldReturnNeverValue() {
OneHandedSettingsUtils.setTimeoutValue(mContext,
OneHandedSettingsUtils.OneHandedTimeout.NEVER.getValue());
assertThat(Settings.Secure.getInt(mContext.getContentResolver(),
assertThat(Settings.Secure.getIntForUser(mContext.getContentResolver(),
Settings.Secure.ONE_HANDED_MODE_TIMEOUT,
OneHandedSettingsUtils.OneHandedTimeout.NEVER.getValue()))
OneHandedSettingsUtils.OneHandedTimeout.NEVER.getValue(), mCurrentUserId))
.isEqualTo(Integer.parseInt(mConfigTimeout[TIMEOUT_INDEX_NEVER]));
}
@Test
public void setSettingsTimeout_setShort_shouldReturnShortValue() {
OneHandedSettingsUtils.setSettingsOneHandedModeTimeout(mContext,
public void setTimeout_setShort_shouldReturnShortValue() {
OneHandedSettingsUtils.setTimeoutValue(mContext,
OneHandedSettingsUtils.OneHandedTimeout.SHORT.getValue());
assertThat(Settings.Secure.getInt(mContext.getContentResolver(),
assertThat(Settings.Secure.getIntForUser(mContext.getContentResolver(),
Settings.Secure.ONE_HANDED_MODE_TIMEOUT,
OneHandedSettingsUtils.OneHandedTimeout.SHORT.getValue()))
OneHandedSettingsUtils.OneHandedTimeout.SHORT.getValue(), mCurrentUserId))
.isEqualTo(Integer.parseInt(mConfigTimeout[TIMEOUT_INDEX_SHORT]));
}
@Test
public void setSettingsTimeout_setMedium_shouldReturnMediumValue() {
OneHandedSettingsUtils.setSettingsOneHandedModeTimeout(mContext,
public void setTimeout_setMedium_shouldReturnMediumValue() {
OneHandedSettingsUtils.setTimeoutValue(mContext,
OneHandedSettingsUtils.OneHandedTimeout.MEDIUM.getValue());
assertThat(Settings.Secure.getInt(mContext.getContentResolver(),
assertThat(Settings.Secure.getIntForUser(mContext.getContentResolver(),
Settings.Secure.ONE_HANDED_MODE_TIMEOUT,
OneHandedSettingsUtils.OneHandedTimeout.MEDIUM.getValue()))
OneHandedSettingsUtils.OneHandedTimeout.MEDIUM.getValue(), mCurrentUserId))
.isEqualTo(Integer.parseInt(mConfigTimeout[TIMEOUT_INDEX_MEDIUM]));
}
@Test
public void setSettingsTimeout_setLong_shouldReturnLongValue() {
OneHandedSettingsUtils.setSettingsOneHandedModeTimeout(mContext,
public void setTimeout_setLong_shouldReturnLongValue() {
OneHandedSettingsUtils.setTimeoutValue(mContext,
OneHandedSettingsUtils.OneHandedTimeout.LONG.getValue());
assertThat(Settings.Secure.getInt(mContext.getContentResolver(),
assertThat(Settings.Secure.getIntForUser(mContext.getContentResolver(),
Settings.Secure.ONE_HANDED_MODE_TIMEOUT,
OneHandedSettingsUtils.OneHandedTimeout.LONG.getValue()))
OneHandedSettingsUtils.OneHandedTimeout.LONG.getValue(), mCurrentUserId))
.isEqualTo(Integer.parseInt(mConfigTimeout[TIMEOUT_INDEX_LONG]));
}
}

View File

@@ -19,6 +19,7 @@ package com.android.settings.gestures;
import static com.google.common.truth.Truth.assertThat;
import android.content.Context;
import android.os.UserHandle;
import androidx.preference.ListPreference;
@@ -34,7 +35,7 @@ import org.robolectric.RuntimeEnvironment;
@RunWith(RobolectricTestRunner.class)
public class OneHandedTimeoutPreferenceControllerTest {
private static final String KEY = "one_handed_timeout_preference";
private static final String KEY = "gesture_one_handed_timeout";
private Context mContext;
private OneHandedTimeoutPreferenceController mController;
@@ -46,11 +47,12 @@ public class OneHandedTimeoutPreferenceControllerTest {
mController = new OneHandedTimeoutPreferenceController(mContext, KEY);
mPreference = new ListPreference(mContext);
mPreference.setKey(KEY);
OneHandedSettingsUtils.setUserId(UserHandle.myUserId());
}
@Test
public void getAvailabilityStatus_enabledOneHanded_shouldAvailable() {
OneHandedSettingsUtils.setSettingsOneHandedModeEnabled(mContext, true);
OneHandedSettingsUtils.setOneHandedModeEnabled(mContext, true);
assertThat(mController.getAvailabilityStatus())
.isEqualTo(BasePreferenceController.AVAILABLE);
@@ -58,7 +60,7 @@ public class OneHandedTimeoutPreferenceControllerTest {
@Test
public void getAvailabilityStatus_disableOneHanded_shouldUnavailable() {
OneHandedSettingsUtils.setSettingsOneHandedModeEnabled(mContext, false);
OneHandedSettingsUtils.setOneHandedModeEnabled(mContext, false);
assertThat(mController.getAvailabilityStatus())
.isEqualTo(BasePreferenceController.DISABLED_DEPENDENT_SETTING);
@@ -66,7 +68,7 @@ public class OneHandedTimeoutPreferenceControllerTest {
@Test
public void updateState_enableOneHanded_switchShouldEnabled() {
OneHandedSettingsUtils.setSettingsOneHandedModeEnabled(mContext, true);
OneHandedSettingsUtils.setOneHandedModeEnabled(mContext, true);
mController.updateState(mPreference);
@@ -75,7 +77,7 @@ public class OneHandedTimeoutPreferenceControllerTest {
@Test
public void updateState_disableOneHanded_switchShouldDisabled() {
OneHandedSettingsUtils.setSettingsOneHandedModeEnabled(mContext, false);
OneHandedSettingsUtils.setOneHandedModeEnabled(mContext, false);
mController.updateState(mPreference);
@@ -87,7 +89,7 @@ public class OneHandedTimeoutPreferenceControllerTest {
final String[] timeoutTitles = mContext.getResources().getStringArray(
R.array.one_handed_timeout_title);
OneHandedSettingsUtils.setSettingsOneHandedModeTimeout(mContext,
OneHandedSettingsUtils.setTimeoutValue(mContext,
OneHandedSettingsUtils.OneHandedTimeout.NEVER.getValue());
assertThat(mController.getSummary()).isEqualTo(
@@ -99,7 +101,7 @@ public class OneHandedTimeoutPreferenceControllerTest {
final String[] timeoutTitles = mContext.getResources().getStringArray(
R.array.one_handed_timeout_title);
OneHandedSettingsUtils.setSettingsOneHandedModeTimeout(mContext,
OneHandedSettingsUtils.setTimeoutValue(mContext,
OneHandedSettingsUtils.OneHandedTimeout.SHORT.getValue());
assertThat(mController.getSummary()).isEqualTo(String.format(

View File

@@ -77,7 +77,7 @@ public class SwipeBottomToNotificationSettingsTest {
@Test
public void isPageSearchEnabled_oneHandedDisabled_shouldReturnTrue() {
SystemProperties.set(OneHandedSettingsUtils.SUPPORT_ONE_HANDED_MODE, "true");
OneHandedSettingsUtils.setSettingsOneHandedModeEnabled(mContext, false);
OneHandedSettingsUtils.setOneHandedModeEnabled(mContext, false);
final Object obj = ReflectionHelpers.callInstanceMethod(
SwipeBottomToNotificationSettings.SEARCH_INDEX_DATA_PROVIDER, "isPageSearchEnabled",
@@ -90,7 +90,7 @@ public class SwipeBottomToNotificationSettingsTest {
@Test
public void isPageSearchEnabled_oneHandedEnabled_shouldReturnFalse() {
SystemProperties.set(OneHandedSettingsUtils.SUPPORT_ONE_HANDED_MODE, "true");
OneHandedSettingsUtils.setSettingsOneHandedModeEnabled(mContext, true);
OneHandedSettingsUtils.setOneHandedModeEnabled(mContext, true);
final Object obj = ReflectionHelpers.callInstanceMethod(
SwipeBottomToNotificationSettings.SEARCH_INDEX_DATA_PROVIDER, "isPageSearchEnabled",

View File

@@ -19,6 +19,7 @@ package com.android.settings.gestures;
import static com.google.common.truth.Truth.assertThat;
import android.content.Context;
import android.os.UserHandle;
import androidx.preference.SwitchPreference;
import androidx.test.core.app.ApplicationProvider;
@@ -37,7 +38,6 @@ public class OneHandedAppTapsExitPreferenceControllerTest {
private Context mContext;
private SwitchPreference mSwitchPreference;
private OneHandedAppTapsExitPreferenceController mController;
@Before
@@ -46,6 +46,7 @@ public class OneHandedAppTapsExitPreferenceControllerTest {
mController = new OneHandedAppTapsExitPreferenceController(mContext, KEY);
mSwitchPreference = new SwitchPreference(mContext);
mSwitchPreference.setKey(KEY);
OneHandedSettingsUtils.setUserId(UserHandle.myUserId());
}
@Test
@@ -59,7 +60,7 @@ public class OneHandedAppTapsExitPreferenceControllerTest {
@Test
public void getAvailabilityStatus_enabledOneHanded_shouldAvailable() {
OneHandedSettingsUtils.setSettingsOneHandedModeEnabled(mContext, true);
OneHandedSettingsUtils.setOneHandedModeEnabled(mContext, true);
assertThat(mController.getAvailabilityStatus())
.isEqualTo(TogglePreferenceController.AVAILABLE);
@@ -67,7 +68,7 @@ public class OneHandedAppTapsExitPreferenceControllerTest {
@Test
public void getAvailabilityStatus_disabledOneHanded_shouldUnavailable() {
OneHandedSettingsUtils.setSettingsOneHandedModeEnabled(mContext, false);
OneHandedSettingsUtils.setOneHandedModeEnabled(mContext, false);
assertThat(mController.getAvailabilityStatus())
.isEqualTo(TogglePreferenceController.DISABLED_DEPENDENT_SETTING);
@@ -75,7 +76,7 @@ public class OneHandedAppTapsExitPreferenceControllerTest {
@Test
public void updateState_enableOneHanded_switchShouldEnabled() {
OneHandedSettingsUtils.setSettingsOneHandedModeEnabled(mContext, true);
OneHandedSettingsUtils.setOneHandedModeEnabled(mContext, true);
mController.updateState(mSwitchPreference);
@@ -84,7 +85,7 @@ public class OneHandedAppTapsExitPreferenceControllerTest {
@Test
public void updateState_disableOneHanded_switchShouldDisabled() {
OneHandedSettingsUtils.setSettingsOneHandedModeEnabled(mContext, false);
OneHandedSettingsUtils.setOneHandedModeEnabled(mContext, false);
mController.updateState(mSwitchPreference);