diff --git a/src/com/android/settings/gestures/WakeScreenGesturePreferenceController.java b/src/com/android/settings/gestures/WakeScreenGesturePreferenceController.java deleted file mode 100644 index e9d03d716ac..00000000000 --- a/src/com/android/settings/gestures/WakeScreenGesturePreferenceController.java +++ /dev/null @@ -1,103 +0,0 @@ -/* - * Copyright (C) 2018 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.android.settings.gestures; - -import static android.provider.Settings.Secure.DOZE_WAKE_SCREEN_GESTURE; - -import android.annotation.UserIdInt; -import android.content.Context; -import android.hardware.display.AmbientDisplayConfiguration; -import android.os.UserHandle; -import android.provider.Settings; -import android.text.TextUtils; - -import com.android.internal.annotations.VisibleForTesting; -import com.android.settings.aware.AwareFeatureProvider; -import com.android.settings.overlay.FeatureFactory; - -public class WakeScreenGesturePreferenceController extends GesturePreferenceController { - - private static final int ON = 1; - private static final int OFF = 0; - - private static final String PREF_KEY_VIDEO = "gesture_wake_screen_video"; - - private final AwareFeatureProvider mFeatureProvider; - private AmbientDisplayConfiguration mAmbientConfig; - @UserIdInt - private final int mUserId; - - public WakeScreenGesturePreferenceController(Context context, String key) { - super(context, key); - mUserId = UserHandle.myUserId(); - mFeatureProvider = FeatureFactory.getFactory(context).getAwareFeatureProvider(); - } - - @Override - public int getAvailabilityStatus() { - if (!getAmbientConfig().wakeScreenGestureAvailable() - || !mFeatureProvider.isSupported(mContext)) { - return UNSUPPORTED_ON_DEVICE; - } - - if (!mFeatureProvider.isEnabled(mContext)) { - return CONDITIONALLY_UNAVAILABLE; - } - - return getAmbientConfig().alwaysOnEnabled(mUserId) - ? AVAILABLE : DISABLED_DEPENDENT_SETTING; - } - - @Override - protected boolean canHandleClicks() { - return getAmbientConfig().alwaysOnEnabled(mUserId); - } - - @Override - public boolean isSliceable() { - return TextUtils.equals(getPreferenceKey(), "gesture_wake_screen"); - } - - @Override - protected String getVideoPrefKey() { - return PREF_KEY_VIDEO; - } - - @Override - public boolean isChecked() { - return getAmbientConfig().wakeScreenGestureEnabled(mUserId); - } - - @Override - public boolean setChecked(boolean isChecked) { - return Settings.Secure.putInt(mContext.getContentResolver(), DOZE_WAKE_SCREEN_GESTURE, - isChecked ? ON : OFF); - } - - private AmbientDisplayConfiguration getAmbientConfig() { - if (mAmbientConfig == null) { - mAmbientConfig = new AmbientDisplayConfiguration(mContext); - } - - return mAmbientConfig; - } - - @VisibleForTesting - public void setConfig(AmbientDisplayConfiguration config) { - mAmbientConfig = config; - } -} diff --git a/tests/robotests/src/com/android/settings/gestures/WakeScreenGesturePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/gestures/WakeScreenGesturePreferenceControllerTest.java deleted file mode 100644 index 471914af614..00000000000 --- a/tests/robotests/src/com/android/settings/gestures/WakeScreenGesturePreferenceControllerTest.java +++ /dev/null @@ -1,130 +0,0 @@ -/* - * Copyright (C) 2018 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.android.settings.gestures; - -import static com.android.settings.core.BasePreferenceController.AVAILABLE; -import static com.android.settings.core.BasePreferenceController.DISABLED_DEPENDENT_SETTING; -import static com.android.settings.core.BasePreferenceController.UNSUPPORTED_ON_DEVICE; - -import static com.google.common.truth.Truth.assertThat; - -import static org.mockito.ArgumentMatchers.any; -import static org.mockito.ArgumentMatchers.anyInt; -import static org.mockito.Mockito.reset; -import static org.mockito.Mockito.when; - -import android.content.Context; -import android.hardware.display.AmbientDisplayConfiguration; - -import com.android.settings.aware.AwareFeatureProvider; -import com.android.settings.testutils.FakeFeatureFactory; - -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; - -@RunWith(RobolectricTestRunner.class) -public class WakeScreenGesturePreferenceControllerTest { - - private static final String KEY_WAKE_SCREEN = "gesture_wake_screen"; - - @Mock(answer = Answers.RETURNS_DEEP_STUBS) - private Context mContext; - @Mock - private AmbientDisplayConfiguration mAmbientDisplayConfiguration; - private WakeScreenGesturePreferenceController mController; - - @Before - public void setUp() { - MockitoAnnotations.initMocks(this); - AwareFeatureProvider featureProvider = - FakeFeatureFactory.setupForTest().getAwareFeatureProvider(); - when(featureProvider.isSupported(any())).thenReturn(true); - when(featureProvider.isEnabled(any())).thenReturn(true); - mController = new WakeScreenGesturePreferenceController(mContext, KEY_WAKE_SCREEN); - mController.setConfig(mAmbientDisplayConfiguration); - } - - @Test - public void testIsChecked_configIsSet_shouldReturnTrue() { - // Set the setting to be enabled. - when(mAmbientDisplayConfiguration.wakeScreenGestureEnabled(anyInt())).thenReturn(true); - assertThat(mController.isChecked()).isTrue(); - } - - @Test - public void testIsChecked_configIsNotSet_shouldReturnFalse() { - // Set the setting to be disabled. - when(mAmbientDisplayConfiguration.wakeScreenGestureEnabled(anyInt())).thenReturn(false); - assertThat(mController.isChecked()).isFalse(); - } - - @Test - public void getAvailabilityStatus_gestureNotSupported_UNSUPPORTED_ON_DEVICE() { - when(mAmbientDisplayConfiguration.alwaysOnEnabled(anyInt())).thenReturn(true); - when(mAmbientDisplayConfiguration.wakeScreenGestureAvailable()).thenReturn(false); - final int availabilityStatus = mController.getAvailabilityStatus(); - - assertThat(availabilityStatus).isEqualTo(UNSUPPORTED_ON_DEVICE); - } - - @Test - public void getAvailabilityStatus_gestureSupported_AVAILABLE() { - when(mAmbientDisplayConfiguration.alwaysOnEnabled(anyInt())).thenReturn(true); - when(mAmbientDisplayConfiguration.wakeScreenGestureAvailable()).thenReturn(true); - final int availabilityStatus = mController.getAvailabilityStatus(); - - assertThat(availabilityStatus).isEqualTo(AVAILABLE); - } - - @Test - public void getAvailabilityStatus_gestureSupported_DISABLED_DEPENDENT_SETTING() { - when(mAmbientDisplayConfiguration.alwaysOnEnabled(anyInt())).thenReturn(false); - when(mAmbientDisplayConfiguration.wakeScreenGestureAvailable()).thenReturn(true); - final int availabilityStatus = mController.getAvailabilityStatus(); - - assertThat(availabilityStatus).isEqualTo(DISABLED_DEPENDENT_SETTING); - } - - @Test - public void canHandleClicks_onlyWhenAlwaysOn() { - when(mAmbientDisplayConfiguration.alwaysOnEnabled(anyInt())).thenReturn(false); - assertThat(mController.canHandleClicks()).isEqualTo(false); - - reset(mAmbientDisplayConfiguration); - when(mAmbientDisplayConfiguration.alwaysOnEnabled(anyInt())).thenReturn(true); - assertThat(mController.canHandleClicks()).isEqualTo(true); - } - - @Test - public void isSliceableCorrectKey_returnsTrue() { - final WakeScreenGesturePreferenceController controller = - new WakeScreenGesturePreferenceController(mContext, "gesture_wake_screen"); - assertThat(controller.isSliceable()).isTrue(); - } - - @Test - public void isSliceableIncorrectKey_returnsFalse() { - final WakeScreenGesturePreferenceController controller = - new WakeScreenGesturePreferenceController(mContext, "bad_key"); - assertThat(controller.isSliceable()).isFalse(); - } -}