Support Double Tap Power to open camera via config resource
"Quickly open camera" screen was previously replaced by the "Double Tap Power Button" screen and accessible only if the feature flag android.service.quickaccesswallet.launch_wallet_option_on_power_double_tap was disabled. This CL introduces the possibility to set, via a config resource, "Quickly open camera" as the double tap power gesture screen. Test: atest DoubleTapPowerSettingsTest Test: atest DoubleTapPowerPreferenceControllerTest Test: atest DoubleTapPowerSettingsUtilsTest Test: manually modified config and verified screen and gesture behavior change Flag: android.service.quickaccesswallet.launch_wallet_option_on_power_double_tap Bug: 384794943 Change-Id: I5ab4422da09fa90848c66a41829327494080b5a2 Change-Id: I8e04cac3999a7ed99a611ef084c54bc07a5505dc
This commit is contained in:
@@ -16,6 +16,9 @@
|
||||
|
||||
package com.android.settings.gestures;
|
||||
|
||||
import static com.android.settings.gestures.DoubleTapPowerSettingsUtils.DOUBLE_TAP_POWER_DISABLED_MODE;
|
||||
import static com.android.settings.gestures.DoubleTapPowerSettingsUtils.DOUBLE_TAP_POWER_MULTI_TARGET_MODE;
|
||||
|
||||
import static com.google.common.truth.Truth.assertThat;
|
||||
|
||||
import static org.mockito.Mockito.mock;
|
||||
@@ -72,7 +75,8 @@ public class DoubleTapPowerForCameraPreferenceControllerTest {
|
||||
|
||||
@Test
|
||||
public void getAvailabilityStatus_setDoubleTapPowerGestureNotAvailable_preferenceUnsupported() {
|
||||
when(mResources.getBoolean(R.bool.config_doubleTapPowerGestureEnabled)).thenReturn(false);
|
||||
when(mResources.getInteger(R.integer.config_doubleTapPowerGestureMode)).thenReturn(
|
||||
DOUBLE_TAP_POWER_DISABLED_MODE);
|
||||
|
||||
assertThat(mController.getAvailabilityStatus())
|
||||
.isEqualTo(BasePreferenceController.UNSUPPORTED_ON_DEVICE);
|
||||
@@ -80,7 +84,8 @@ public class DoubleTapPowerForCameraPreferenceControllerTest {
|
||||
|
||||
@Test
|
||||
public void getAvailabilityStatus_setDoubleTapPowerButtonDisabled_preferenceDisabled() {
|
||||
when(mResources.getBoolean(R.bool.config_doubleTapPowerGestureEnabled)).thenReturn(true);
|
||||
when(mResources.getInteger(R.integer.config_doubleTapPowerGestureMode)).thenReturn(
|
||||
DOUBLE_TAP_POWER_MULTI_TARGET_MODE);
|
||||
DoubleTapPowerSettingsUtils.setDoubleTapPowerButtonGestureEnabled(mContext, false);
|
||||
|
||||
assertThat(mController.getAvailabilityStatus())
|
||||
@@ -89,7 +94,8 @@ public class DoubleTapPowerForCameraPreferenceControllerTest {
|
||||
|
||||
@Test
|
||||
public void getAvailabilityStatus_setDoubleTapPowerCameraLaunchEnabled_preferenceEnabled() {
|
||||
when(mResources.getBoolean(R.bool.config_doubleTapPowerGestureEnabled)).thenReturn(true);
|
||||
when(mResources.getInteger(R.integer.config_doubleTapPowerGestureMode)).thenReturn(
|
||||
DOUBLE_TAP_POWER_MULTI_TARGET_MODE);
|
||||
DoubleTapPowerSettingsUtils.setDoubleTapPowerButtonGestureEnabled(mContext, true);
|
||||
|
||||
assertThat(mController.getAvailabilityStatus())
|
||||
|
@@ -16,6 +16,9 @@
|
||||
|
||||
package com.android.settings.gestures;
|
||||
|
||||
import static com.android.settings.gestures.DoubleTapPowerSettingsUtils.DOUBLE_TAP_POWER_DISABLED_MODE;
|
||||
import static com.android.settings.gestures.DoubleTapPowerSettingsUtils.DOUBLE_TAP_POWER_MULTI_TARGET_MODE;
|
||||
|
||||
import static com.google.common.truth.Truth.assertThat;
|
||||
|
||||
import static org.mockito.Mockito.mock;
|
||||
@@ -74,7 +77,8 @@ public class DoubleTapPowerForWalletPreferenceControllerTest {
|
||||
|
||||
@Test
|
||||
public void getAvailabilityStatus_setDoubleTapPowerGestureNotAvailable_preferenceUnsupported() {
|
||||
when(mResources.getBoolean(R.bool.config_doubleTapPowerGestureEnabled)).thenReturn(false);
|
||||
when(mResources.getInteger(R.integer.config_doubleTapPowerGestureMode)).thenReturn(
|
||||
DOUBLE_TAP_POWER_DISABLED_MODE);
|
||||
|
||||
assertThat(mController.getAvailabilityStatus())
|
||||
.isEqualTo(BasePreferenceController.UNSUPPORTED_ON_DEVICE);
|
||||
@@ -82,7 +86,8 @@ public class DoubleTapPowerForWalletPreferenceControllerTest {
|
||||
|
||||
@Test
|
||||
public void getAvailabilityStatus_setDoubleTapPowerButtonDisabled_preferenceDisabled() {
|
||||
when(mResources.getBoolean(R.bool.config_doubleTapPowerGestureEnabled)).thenReturn(true);
|
||||
when(mResources.getInteger(R.integer.config_doubleTapPowerGestureMode)).thenReturn(
|
||||
DOUBLE_TAP_POWER_MULTI_TARGET_MODE);
|
||||
DoubleTapPowerSettingsUtils.setDoubleTapPowerButtonGestureEnabled(mContext, false);
|
||||
|
||||
assertThat(mController.getAvailabilityStatus())
|
||||
@@ -91,7 +96,8 @@ public class DoubleTapPowerForWalletPreferenceControllerTest {
|
||||
|
||||
@Test
|
||||
public void getAvailabilityStatus_setDoubleTapPowerWalletLaunchEnabled_preferenceEnabled() {
|
||||
when(mResources.getBoolean(R.bool.config_doubleTapPowerGestureEnabled)).thenReturn(true);
|
||||
when(mResources.getInteger(R.integer.config_doubleTapPowerGestureMode)).thenReturn(
|
||||
DOUBLE_TAP_POWER_MULTI_TARGET_MODE);
|
||||
DoubleTapPowerSettingsUtils.setDoubleTapPowerButtonGestureEnabled(mContext, true);
|
||||
|
||||
assertThat(mController.getAvailabilityStatus())
|
||||
|
@@ -16,6 +16,9 @@
|
||||
|
||||
package com.android.settings.gestures;
|
||||
|
||||
import static com.android.settings.gestures.DoubleTapPowerSettingsUtils.DOUBLE_TAP_POWER_DISABLED_MODE;
|
||||
import static com.android.settings.gestures.DoubleTapPowerSettingsUtils.DOUBLE_TAP_POWER_MULTI_TARGET_MODE;
|
||||
|
||||
import static com.google.common.truth.Truth.assertThat;
|
||||
|
||||
import static org.mockito.Mockito.mock;
|
||||
@@ -54,7 +57,8 @@ public class DoubleTapPowerMainSwitchPreferenceControllerTest {
|
||||
|
||||
@Test
|
||||
public void getAvailabilityStatus_setDoubleTapPowerGestureAvailable_preferenceEnabled() {
|
||||
when(mResources.getBoolean(R.bool.config_doubleTapPowerGestureEnabled)).thenReturn(true);
|
||||
when(mResources.getInteger(R.integer.config_doubleTapPowerGestureMode)).thenReturn(
|
||||
DOUBLE_TAP_POWER_MULTI_TARGET_MODE);
|
||||
|
||||
assertThat(mController.getAvailabilityStatus())
|
||||
.isEqualTo(BasePreferenceController.AVAILABLE);
|
||||
@@ -62,7 +66,8 @@ public class DoubleTapPowerMainSwitchPreferenceControllerTest {
|
||||
|
||||
@Test
|
||||
public void getAvailabilityStatus_setDoubleTapPowerGestureUnavailable_preferenceUnsupported() {
|
||||
when(mResources.getBoolean(R.bool.config_doubleTapPowerGestureEnabled)).thenReturn(false);
|
||||
when(mResources.getInteger(R.integer.config_doubleTapPowerGestureMode)).thenReturn(
|
||||
DOUBLE_TAP_POWER_DISABLED_MODE);
|
||||
|
||||
assertThat(mController.getAvailabilityStatus())
|
||||
.isEqualTo(BasePreferenceController.UNSUPPORTED_ON_DEVICE);
|
||||
|
@@ -20,6 +20,9 @@ import static android.provider.Settings.Secure.CAMERA_DOUBLE_TAP_POWER_GESTURE_D
|
||||
import static android.provider.Settings.Secure.DOUBLE_TAP_POWER_BUTTON_GESTURE_ENABLED;
|
||||
|
||||
import static com.android.settings.gestures.DoubleTapPowerPreferenceController.isSuggestionComplete;
|
||||
import static com.android.settings.gestures.DoubleTapPowerSettingsUtils.DOUBLE_TAP_POWER_DISABLED_MODE;
|
||||
import static com.android.settings.gestures.DoubleTapPowerSettingsUtils.DOUBLE_TAP_POWER_LAUNCH_CAMERA_MODE;
|
||||
import static com.android.settings.gestures.DoubleTapPowerSettingsUtils.DOUBLE_TAP_POWER_MULTI_TARGET_MODE;
|
||||
import static com.android.settings.gestures.DoubleTapPowerToOpenCameraPreferenceController.OFF;
|
||||
import static com.android.settings.gestures.DoubleTapPowerToOpenCameraPreferenceController.ON;
|
||||
|
||||
@@ -58,7 +61,8 @@ import org.robolectric.annotation.Config;
|
||||
@Config(shadows = SettingsShadowResources.class)
|
||||
public class DoubleTapPowerPreferenceControllerTest {
|
||||
|
||||
@Rule public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
|
||||
@Rule
|
||||
public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
|
||||
private Context mContext;
|
||||
private ContentResolver mContentResolver;
|
||||
private DoubleTapPowerPreferenceController mController;
|
||||
@@ -83,18 +87,30 @@ public class DoubleTapPowerPreferenceControllerTest {
|
||||
|
||||
@Test
|
||||
@EnableFlags(Flags.FLAG_LAUNCH_WALLET_OPTION_ON_POWER_DOUBLE_TAP)
|
||||
public void isAvailable_flagEnabled_configIsTrue_returnsTrue() {
|
||||
public void isAvailable_flagEnabled_configIsMultiTargetMode_returnsTrue() {
|
||||
SettingsShadowResources.overrideResource(
|
||||
com.android.internal.R.bool.config_doubleTapPowerGestureEnabled, Boolean.TRUE);
|
||||
com.android.internal.R.integer.config_doubleTapPowerGestureMode,
|
||||
DOUBLE_TAP_POWER_MULTI_TARGET_MODE);
|
||||
|
||||
assertThat(mController.isAvailable()).isTrue();
|
||||
}
|
||||
|
||||
@Test
|
||||
@EnableFlags(Flags.FLAG_LAUNCH_WALLET_OPTION_ON_POWER_DOUBLE_TAP)
|
||||
public void isAvailable_flagEnabled_configIsFalse_returnsFalse() {
|
||||
public void isAvailable_flagEnabled_configIsCameraLaunchMode_returnsTrue() {
|
||||
SettingsShadowResources.overrideResource(
|
||||
com.android.internal.R.bool.config_doubleTapPowerGestureEnabled, Boolean.FALSE);
|
||||
com.android.internal.R.integer.config_doubleTapPowerGestureMode,
|
||||
DOUBLE_TAP_POWER_LAUNCH_CAMERA_MODE);
|
||||
|
||||
assertThat(mController.isAvailable()).isTrue();
|
||||
}
|
||||
|
||||
@Test
|
||||
@EnableFlags(Flags.FLAG_LAUNCH_WALLET_OPTION_ON_POWER_DOUBLE_TAP)
|
||||
public void isAvailable_flagEnabled_configIsDisabledMode_returnsFalse() {
|
||||
SettingsShadowResources.overrideResource(
|
||||
com.android.internal.R.integer.config_doubleTapPowerGestureMode,
|
||||
DOUBLE_TAP_POWER_DISABLED_MODE);
|
||||
|
||||
assertThat(mController.isAvailable()).isFalse();
|
||||
}
|
||||
@@ -121,18 +137,20 @@ public class DoubleTapPowerPreferenceControllerTest {
|
||||
|
||||
@Test
|
||||
@EnableFlags(Flags.FLAG_LAUNCH_WALLET_OPTION_ON_POWER_DOUBLE_TAP)
|
||||
public void isSuggestionCompleted_enableFlag_doubleTapPower_trueWhenNotAvailable() {
|
||||
public void isSuggestionCompleted_flagEnabled_configIsMultiTargetMode_trueWhenNotAvailable() {
|
||||
SettingsShadowResources.overrideResource(
|
||||
com.android.internal.R.bool.config_doubleTapPowerGestureEnabled, false);
|
||||
com.android.internal.R.integer.config_doubleTapPowerGestureMode,
|
||||
DOUBLE_TAP_POWER_DISABLED_MODE);
|
||||
|
||||
assertThat(isSuggestionComplete(mContext, null /* prefs */)).isTrue();
|
||||
}
|
||||
|
||||
@Test
|
||||
@EnableFlags(Flags.FLAG_LAUNCH_WALLET_OPTION_ON_POWER_DOUBLE_TAP)
|
||||
public void isSuggestionCompleted_enableFlag_doubleTapPower_falseWhenNotVisited() {
|
||||
public void isSuggestionCompleted_enableFlag_configIsMultiTargetMode_falseWhenNotVisited() {
|
||||
SettingsShadowResources.overrideResource(
|
||||
com.android.internal.R.bool.config_doubleTapPowerGestureEnabled, true);
|
||||
com.android.internal.R.integer.config_doubleTapPowerGestureMode,
|
||||
DOUBLE_TAP_POWER_MULTI_TARGET_MODE);
|
||||
// No stored value in shared preferences if not visited yet.
|
||||
final SharedPreferences prefs =
|
||||
new SuggestionFeatureProviderImpl().getSharedPrefs(mContext);
|
||||
@@ -142,9 +160,10 @@ public class DoubleTapPowerPreferenceControllerTest {
|
||||
|
||||
@Test
|
||||
@EnableFlags(Flags.FLAG_LAUNCH_WALLET_OPTION_ON_POWER_DOUBLE_TAP)
|
||||
public void isSuggestionCompleted_enableFlag_doubleTapPower_trueWhenVisited() {
|
||||
public void isSuggestionCompleted_enableFlag_configIsMultiTargetMode_trueWhenVisited() {
|
||||
SettingsShadowResources.overrideResource(
|
||||
com.android.internal.R.bool.config_doubleTapPowerGestureEnabled, true);
|
||||
com.android.internal.R.integer.config_doubleTapPowerGestureMode,
|
||||
DOUBLE_TAP_POWER_MULTI_TARGET_MODE);
|
||||
// No stored value in shared preferences if not visited yet.
|
||||
final SharedPreferences prefs =
|
||||
new SuggestionFeatureProviderImpl().getSharedPrefs(mContext);
|
||||
@@ -189,13 +208,30 @@ public class DoubleTapPowerPreferenceControllerTest {
|
||||
|
||||
@Test
|
||||
@DisableFlags(Flags.FLAG_LAUNCH_WALLET_OPTION_ON_POWER_DOUBLE_TAP)
|
||||
public void displayPreference_flagDisabled_doubleTapPowerLegacyTitleIsDisplayed() {
|
||||
public void displayPreference_flagDisabled_cameraLaunchTitleIsDisplayed() {
|
||||
mController.displayPreference(mScreen);
|
||||
|
||||
assertThat(
|
||||
TextUtils.equals(
|
||||
mPreference.getTitle(),
|
||||
mContext.getText(R.string.double_tap_power_for_camera_title)))
|
||||
TextUtils.equals(
|
||||
mPreference.getTitle(),
|
||||
mContext.getText(R.string.double_tap_power_for_camera_title)))
|
||||
.isTrue();
|
||||
}
|
||||
|
||||
@Test
|
||||
@EnableFlags(Flags.FLAG_LAUNCH_WALLET_OPTION_ON_POWER_DOUBLE_TAP)
|
||||
public void
|
||||
displayPreference_flagEnabled_configIsCameraLaunchMode_cameraLaunchTitleIsDisplayed() {
|
||||
SettingsShadowResources.overrideResource(
|
||||
com.android.internal.R.integer.config_doubleTapPowerGestureMode,
|
||||
DOUBLE_TAP_POWER_LAUNCH_CAMERA_MODE);
|
||||
|
||||
mController.displayPreference(mScreen);
|
||||
|
||||
assertThat(
|
||||
TextUtils.equals(
|
||||
mPreference.getTitle(),
|
||||
mContext.getText(R.string.double_tap_power_for_camera_title)))
|
||||
.isTrue();
|
||||
}
|
||||
|
||||
@@ -206,9 +242,9 @@ public class DoubleTapPowerPreferenceControllerTest {
|
||||
Settings.Secure.putInt(mContentResolver, CAMERA_DOUBLE_TAP_POWER_GESTURE_DISABLED, ON);
|
||||
|
||||
assertThat(
|
||||
TextUtils.equals(
|
||||
mController.getSummary(),
|
||||
mContext.getText(R.string.gesture_setting_on)))
|
||||
TextUtils.equals(
|
||||
mController.getSummary(),
|
||||
mContext.getText(R.string.gesture_setting_on)))
|
||||
.isTrue();
|
||||
}
|
||||
|
||||
@@ -219,9 +255,42 @@ public class DoubleTapPowerPreferenceControllerTest {
|
||||
Settings.Secure.putInt(mContentResolver, CAMERA_DOUBLE_TAP_POWER_GESTURE_DISABLED, OFF);
|
||||
|
||||
assertThat(
|
||||
TextUtils.equals(
|
||||
mController.getSummary(),
|
||||
mContext.getText(R.string.gesture_setting_off)))
|
||||
TextUtils.equals(
|
||||
mController.getSummary(),
|
||||
mContext.getText(R.string.gesture_setting_off)))
|
||||
.isTrue();
|
||||
}
|
||||
|
||||
@Test
|
||||
@EnableFlags(Flags.FLAG_LAUNCH_WALLET_OPTION_ON_POWER_DOUBLE_TAP)
|
||||
public void getSummary_flagEnabled_doubleTapPowerEnabled_configIsCameraLaunchMode_returnsOn() {
|
||||
// Set the setting to be enabled.
|
||||
Settings.Secure.putInt(mContentResolver, CAMERA_DOUBLE_TAP_POWER_GESTURE_DISABLED, ON);
|
||||
SettingsShadowResources.overrideResource(
|
||||
com.android.internal.R.integer.config_doubleTapPowerGestureMode,
|
||||
DOUBLE_TAP_POWER_LAUNCH_CAMERA_MODE);
|
||||
|
||||
assertThat(
|
||||
TextUtils.equals(
|
||||
mController.getSummary(),
|
||||
mContext.getText(R.string.gesture_setting_on)))
|
||||
.isTrue();
|
||||
}
|
||||
|
||||
@Test
|
||||
@EnableFlags(Flags.FLAG_LAUNCH_WALLET_OPTION_ON_POWER_DOUBLE_TAP)
|
||||
public void
|
||||
getSummary_flagEnabled_doubleTapPowerDisabled_configIsCameraLaunchMode_returnsOff() {
|
||||
// Set the setting to be disabled.
|
||||
Settings.Secure.putInt(mContentResolver, CAMERA_DOUBLE_TAP_POWER_GESTURE_DISABLED, OFF);
|
||||
SettingsShadowResources.overrideResource(
|
||||
com.android.internal.R.integer.config_doubleTapPowerGestureMode,
|
||||
DOUBLE_TAP_POWER_LAUNCH_CAMERA_MODE);
|
||||
|
||||
assertThat(
|
||||
TextUtils.equals(
|
||||
mController.getSummary(),
|
||||
mContext.getText(R.string.gesture_setting_off)))
|
||||
.isTrue();
|
||||
}
|
||||
|
||||
@@ -233,9 +302,9 @@ public class DoubleTapPowerPreferenceControllerTest {
|
||||
mContentResolver, DOUBLE_TAP_POWER_BUTTON_GESTURE_ENABLED, 0 /* OFF */);
|
||||
|
||||
assertThat(
|
||||
TextUtils.equals(
|
||||
mController.getSummary(),
|
||||
mContext.getText(R.string.gesture_setting_off)))
|
||||
TextUtils.equals(
|
||||
mController.getSummary(),
|
||||
mContext.getText(R.string.gesture_setting_off)))
|
||||
.isTrue();
|
||||
}
|
||||
|
||||
@@ -248,13 +317,13 @@ public class DoubleTapPowerPreferenceControllerTest {
|
||||
DoubleTapPowerSettingsUtils.setDoubleTapPowerButtonForCameraLaunch(mContext);
|
||||
|
||||
assertThat(
|
||||
TextUtils.equals(
|
||||
mController.getSummary(),
|
||||
mContext.getString(
|
||||
R.string.double_tap_power_summary,
|
||||
mContext.getText(R.string.gesture_setting_on),
|
||||
mContext.getText(
|
||||
R.string.double_tap_power_camera_action_summary))))
|
||||
TextUtils.equals(
|
||||
mController.getSummary(),
|
||||
mContext.getString(
|
||||
R.string.double_tap_power_summary,
|
||||
mContext.getText(R.string.gesture_setting_on),
|
||||
mContext.getText(
|
||||
R.string.double_tap_power_camera_action_summary))))
|
||||
.isTrue();
|
||||
}
|
||||
|
||||
@@ -267,13 +336,13 @@ public class DoubleTapPowerPreferenceControllerTest {
|
||||
DoubleTapPowerSettingsUtils.setDoubleTapPowerButtonForWalletLaunch(mContext);
|
||||
|
||||
assertThat(
|
||||
TextUtils.equals(
|
||||
mController.getSummary(),
|
||||
mContext.getString(
|
||||
R.string.double_tap_power_summary,
|
||||
mContext.getText(R.string.gesture_setting_on),
|
||||
mContext.getText(
|
||||
R.string.double_tap_power_wallet_action_summary))))
|
||||
TextUtils.equals(
|
||||
mController.getSummary(),
|
||||
mContext.getString(
|
||||
R.string.double_tap_power_summary,
|
||||
mContext.getText(R.string.gesture_setting_on),
|
||||
mContext.getText(
|
||||
R.string.double_tap_power_wallet_action_summary))))
|
||||
.isTrue();
|
||||
}
|
||||
}
|
||||
|
@@ -16,6 +16,9 @@
|
||||
|
||||
package com.android.settings.gestures;
|
||||
|
||||
import static com.android.settings.gestures.DoubleTapPowerSettingsUtils.DOUBLE_TAP_POWER_LAUNCH_CAMERA_MODE;
|
||||
import static com.android.settings.gestures.DoubleTapPowerSettingsUtils.DOUBLE_TAP_POWER_MULTI_TARGET_MODE;
|
||||
|
||||
import static com.google.common.truth.Truth.assertThat;
|
||||
|
||||
import android.platform.test.annotations.DisableFlags;
|
||||
@@ -25,6 +28,7 @@ import android.provider.SearchIndexableResource;
|
||||
import android.service.quickaccesswallet.Flags;
|
||||
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.testutils.shadow.SettingsShadowResources;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Rule;
|
||||
@@ -32,13 +36,16 @@ import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.robolectric.RobolectricTestRunner;
|
||||
import org.robolectric.RuntimeEnvironment;
|
||||
import org.robolectric.annotation.Config;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Config(shadows = SettingsShadowResources.class)
|
||||
@RunWith(RobolectricTestRunner.class)
|
||||
public class DoubleTapPowerSettingsTest {
|
||||
|
||||
@Rule public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
|
||||
@Rule
|
||||
public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
|
||||
private DoubleTapPowerSettings mSettings;
|
||||
|
||||
@Before
|
||||
@@ -48,10 +55,29 @@ public class DoubleTapPowerSettingsTest {
|
||||
|
||||
@Test
|
||||
@EnableFlags(Flags.FLAG_LAUNCH_WALLET_OPTION_ON_POWER_DOUBLE_TAP)
|
||||
public void getPreferenceScreenResId_flagEnabled_returnsFlagEnabledResId() {
|
||||
public void
|
||||
getPreferenceScreenResId_flagEnabled_configIsMultiTargetMode_returnsMultiTargetResId() {
|
||||
SettingsShadowResources.overrideResource(
|
||||
com.android.internal.R.integer.config_doubleTapPowerGestureMode,
|
||||
DOUBLE_TAP_POWER_MULTI_TARGET_MODE);
|
||||
mSettings.onAttach(RuntimeEnvironment.getApplication());
|
||||
|
||||
assertThat(mSettings.getPreferenceScreenResId()).isEqualTo(R.xml.double_tap_power_settings);
|
||||
}
|
||||
|
||||
@Test
|
||||
@EnableFlags(Flags.FLAG_LAUNCH_WALLET_OPTION_ON_POWER_DOUBLE_TAP)
|
||||
public void
|
||||
getPreferenceScreenResId_flagEnabled_configIsCameraMode_returnsCameraLaunchResId() {
|
||||
SettingsShadowResources.overrideResource(
|
||||
com.android.internal.R.integer.config_doubleTapPowerGestureMode,
|
||||
DOUBLE_TAP_POWER_LAUNCH_CAMERA_MODE);
|
||||
mSettings.onAttach(RuntimeEnvironment.getApplication());
|
||||
|
||||
assertThat(mSettings.getPreferenceScreenResId()).isEqualTo(
|
||||
R.xml.double_tap_power_to_open_camera_settings);
|
||||
}
|
||||
|
||||
@Test
|
||||
@DisableFlags(Flags.FLAG_LAUNCH_WALLET_OPTION_ON_POWER_DOUBLE_TAP)
|
||||
public void getPreferenceScreenResId_flagDisabled_returnsFlagDisabledResId() {
|
||||
@@ -61,7 +87,12 @@ public class DoubleTapPowerSettingsTest {
|
||||
|
||||
@Test
|
||||
@EnableFlags(Flags.FLAG_LAUNCH_WALLET_OPTION_ON_POWER_DOUBLE_TAP)
|
||||
public void testSearchIndexProvider_flagEnabled_shouldIndexFlagEnabledResource() {
|
||||
public void
|
||||
testSearchIndexProvider_flagEnabled_configIsMultiTargetMode_indexMultiTargetResId() {
|
||||
SettingsShadowResources.overrideResource(
|
||||
com.android.internal.R.integer.config_doubleTapPowerGestureMode,
|
||||
DOUBLE_TAP_POWER_MULTI_TARGET_MODE);
|
||||
|
||||
final List<SearchIndexableResource> indexRes =
|
||||
DoubleTapPowerSettings.SEARCH_INDEX_DATA_PROVIDER.getXmlResourcesToIndex(
|
||||
RuntimeEnvironment.getApplication(), true /* enabled */);
|
||||
@@ -70,9 +101,26 @@ public class DoubleTapPowerSettingsTest {
|
||||
assertThat(indexRes.get(0).xmlResId).isEqualTo(R.xml.double_tap_power_settings);
|
||||
}
|
||||
|
||||
@Test
|
||||
@EnableFlags(Flags.FLAG_LAUNCH_WALLET_OPTION_ON_POWER_DOUBLE_TAP)
|
||||
public void
|
||||
testSearchIndexProvider_flagEnabled_configIsCameraLaunchMode_indexCameraLaunchResId() {
|
||||
SettingsShadowResources.overrideResource(
|
||||
com.android.internal.R.integer.config_doubleTapPowerGestureMode,
|
||||
DOUBLE_TAP_POWER_LAUNCH_CAMERA_MODE);
|
||||
|
||||
final List<SearchIndexableResource> indexRes =
|
||||
DoubleTapPowerSettings.SEARCH_INDEX_DATA_PROVIDER.getXmlResourcesToIndex(
|
||||
RuntimeEnvironment.getApplication(), true /* enabled */);
|
||||
|
||||
assertThat(indexRes).isNotNull();
|
||||
assertThat(indexRes.get(0).xmlResId).isEqualTo(
|
||||
R.xml.double_tap_power_to_open_camera_settings);
|
||||
}
|
||||
|
||||
@Test
|
||||
@DisableFlags(Flags.FLAG_LAUNCH_WALLET_OPTION_ON_POWER_DOUBLE_TAP)
|
||||
public void testSearchIndexProvider_flagDisabled_shouldIndexFlagDisabledResource() {
|
||||
public void testSearchIndexProvider_flagDisabled_indexFlagDisabledResource() {
|
||||
final List<SearchIndexableResource> indexRes =
|
||||
DoubleTapPowerSettings.SEARCH_INDEX_DATA_PROVIDER.getXmlResourcesToIndex(
|
||||
RuntimeEnvironment.getApplication(), true /* enabled */);
|
||||
|
@@ -16,6 +16,8 @@
|
||||
|
||||
package com.android.settings.gestures;
|
||||
|
||||
import static com.android.settings.gestures.DoubleTapPowerSettingsUtils.DOUBLE_TAP_POWER_DISABLED_MODE;
|
||||
import static com.android.settings.gestures.DoubleTapPowerSettingsUtils.DOUBLE_TAP_POWER_MULTI_TARGET_MODE;
|
||||
import static com.android.settings.gestures.DoubleTapPowerSettingsUtils.OFF;
|
||||
import static com.android.settings.gestures.DoubleTapPowerSettingsUtils.ON;
|
||||
|
||||
@@ -55,18 +57,22 @@ public class DoubleTapPowerSettingsUtilsTest {
|
||||
}
|
||||
|
||||
@Test
|
||||
public void isDoubleTapPowerButtonGestureAvailable_setAvailable_returnsTrue() {
|
||||
when(mResources.getBoolean(R.bool.config_doubleTapPowerGestureEnabled)).thenReturn(true);
|
||||
public void isMultiTargetDoubleTapPowerButtonGestureAvailable_setAvailable_returnsTrue() {
|
||||
when(mResources.getInteger(R.integer.config_doubleTapPowerGestureMode)).thenReturn(
|
||||
DOUBLE_TAP_POWER_MULTI_TARGET_MODE);
|
||||
|
||||
assertThat(DoubleTapPowerSettingsUtils.isDoubleTapPowerButtonGestureAvailable(mContext))
|
||||
assertThat(DoubleTapPowerSettingsUtils.isMultiTargetDoubleTapPowerButtonGestureAvailable(
|
||||
mContext))
|
||||
.isTrue();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void isDoubleTapPowerButtonGestureAvailable_setUnavailable_returnsFalse() {
|
||||
when(mResources.getBoolean(R.bool.config_doubleTapPowerGestureEnabled)).thenReturn(false);
|
||||
public void isMultiTargetDoubleTapPowerButtonGestureAvailable_setUnavailable_returnsFalse() {
|
||||
when(mResources.getInteger(R.integer.config_doubleTapPowerGestureMode)).thenReturn(
|
||||
DOUBLE_TAP_POWER_DISABLED_MODE);
|
||||
|
||||
assertThat(DoubleTapPowerSettingsUtils.isDoubleTapPowerButtonGestureAvailable(mContext))
|
||||
assertThat(DoubleTapPowerSettingsUtils.isMultiTargetDoubleTapPowerButtonGestureAvailable(
|
||||
mContext))
|
||||
.isFalse();
|
||||
}
|
||||
|
||||
@@ -103,10 +109,10 @@ public class DoubleTapPowerSettingsUtilsTest {
|
||||
DoubleTapPowerSettingsUtils.setDoubleTapPowerButtonGestureEnabled(mContext, true);
|
||||
|
||||
assertThat(
|
||||
Settings.Secure.getInt(
|
||||
mContext.getContentResolver(),
|
||||
Settings.Secure.DOUBLE_TAP_POWER_BUTTON_GESTURE_ENABLED,
|
||||
OFF))
|
||||
Settings.Secure.getInt(
|
||||
mContext.getContentResolver(),
|
||||
Settings.Secure.DOUBLE_TAP_POWER_BUTTON_GESTURE_ENABLED,
|
||||
OFF))
|
||||
.isEqualTo(ON);
|
||||
}
|
||||
|
||||
@@ -115,10 +121,10 @@ public class DoubleTapPowerSettingsUtilsTest {
|
||||
DoubleTapPowerSettingsUtils.setDoubleTapPowerButtonGestureEnabled(mContext, false);
|
||||
|
||||
assertThat(
|
||||
Settings.Secure.getInt(
|
||||
mContext.getContentResolver(),
|
||||
Settings.Secure.DOUBLE_TAP_POWER_BUTTON_GESTURE_ENABLED,
|
||||
ON))
|
||||
Settings.Secure.getInt(
|
||||
mContext.getContentResolver(),
|
||||
Settings.Secure.DOUBLE_TAP_POWER_BUTTON_GESTURE_ENABLED,
|
||||
ON))
|
||||
.isEqualTo(OFF);
|
||||
}
|
||||
|
||||
@@ -130,8 +136,8 @@ public class DoubleTapPowerSettingsUtilsTest {
|
||||
DOUBLE_TAP_POWER_BUTTON_CAMERA_LAUNCH_VALUE);
|
||||
|
||||
assertThat(
|
||||
DoubleTapPowerSettingsUtils
|
||||
.isDoubleTapPowerButtonGestureForCameraLaunchEnabled(mContext))
|
||||
DoubleTapPowerSettingsUtils
|
||||
.isDoubleTapPowerButtonGestureForCameraLaunchEnabled(mContext))
|
||||
.isTrue();
|
||||
}
|
||||
|
||||
@@ -144,32 +150,32 @@ public class DoubleTapPowerSettingsUtilsTest {
|
||||
DOUBLE_TAP_POWER_BUTTON_WALLET_LAUNCH_VALUE);
|
||||
|
||||
assertThat(
|
||||
DoubleTapPowerSettingsUtils
|
||||
.isDoubleTapPowerButtonGestureForCameraLaunchEnabled(mContext))
|
||||
DoubleTapPowerSettingsUtils
|
||||
.isDoubleTapPowerButtonGestureForCameraLaunchEnabled(mContext))
|
||||
.isFalse();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void
|
||||
isDoubleTapPowerButtonGestureForCameraLaunchEnabled_defaultSetToCamera_returnsTrue() {
|
||||
when(mResources.getInteger(R.integer.config_defaultDoubleTapPowerGestureAction))
|
||||
when(mResources.getInteger(R.integer.config_doubleTapPowerGestureMultiTargetDefaultAction))
|
||||
.thenReturn(DOUBLE_TAP_POWER_BUTTON_CAMERA_LAUNCH_VALUE);
|
||||
|
||||
assertThat(
|
||||
DoubleTapPowerSettingsUtils
|
||||
.isDoubleTapPowerButtonGestureForCameraLaunchEnabled(mContext))
|
||||
DoubleTapPowerSettingsUtils
|
||||
.isDoubleTapPowerButtonGestureForCameraLaunchEnabled(mContext))
|
||||
.isTrue();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void
|
||||
isDoubleTapPowerButtonGestureForCameraLaunchEnabled_defaultNotCamera_returnsFalse() {
|
||||
when(mResources.getInteger(R.integer.config_defaultDoubleTapPowerGestureAction))
|
||||
when(mResources.getInteger(R.integer.config_doubleTapPowerGestureMultiTargetDefaultAction))
|
||||
.thenReturn(DOUBLE_TAP_POWER_BUTTON_WALLET_LAUNCH_VALUE);
|
||||
|
||||
assertThat(
|
||||
DoubleTapPowerSettingsUtils
|
||||
.isDoubleTapPowerButtonGestureForCameraLaunchEnabled(mContext))
|
||||
DoubleTapPowerSettingsUtils
|
||||
.isDoubleTapPowerButtonGestureForCameraLaunchEnabled(mContext))
|
||||
.isFalse();
|
||||
}
|
||||
|
||||
@@ -180,10 +186,10 @@ public class DoubleTapPowerSettingsUtilsTest {
|
||||
|
||||
assertThat(result).isTrue();
|
||||
assertThat(
|
||||
Settings.Secure.getInt(
|
||||
mContext.getContentResolver(),
|
||||
Settings.Secure.DOUBLE_TAP_POWER_BUTTON_GESTURE,
|
||||
DOUBLE_TAP_POWER_BUTTON_WALLET_LAUNCH_VALUE))
|
||||
Settings.Secure.getInt(
|
||||
mContext.getContentResolver(),
|
||||
Settings.Secure.DOUBLE_TAP_POWER_BUTTON_GESTURE,
|
||||
DOUBLE_TAP_POWER_BUTTON_WALLET_LAUNCH_VALUE))
|
||||
.isEqualTo(DOUBLE_TAP_POWER_BUTTON_CAMERA_LAUNCH_VALUE);
|
||||
}
|
||||
|
||||
@@ -194,10 +200,10 @@ public class DoubleTapPowerSettingsUtilsTest {
|
||||
|
||||
assertThat(result).isTrue();
|
||||
assertThat(
|
||||
Settings.Secure.getInt(
|
||||
mContext.getContentResolver(),
|
||||
Settings.Secure.DOUBLE_TAP_POWER_BUTTON_GESTURE,
|
||||
DOUBLE_TAP_POWER_BUTTON_CAMERA_LAUNCH_VALUE))
|
||||
Settings.Secure.getInt(
|
||||
mContext.getContentResolver(),
|
||||
Settings.Secure.DOUBLE_TAP_POWER_BUTTON_GESTURE,
|
||||
DOUBLE_TAP_POWER_BUTTON_CAMERA_LAUNCH_VALUE))
|
||||
.isEqualTo(DOUBLE_TAP_POWER_BUTTON_WALLET_LAUNCH_VALUE);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user