Loading src/com/android/settings/gestures/SwipeUpPreferenceController.java +12 −0 Original line number Diff line number Diff line Loading @@ -16,8 +16,11 @@ package com.android.settings.gestures; import android.content.ComponentName; import android.content.Context; import android.content.Intent; import android.content.SharedPreferences; import android.content.pm.PackageManager; import android.content.res.Resources; import android.os.UserHandle; import android.os.UserManager; Loading @@ -33,6 +36,7 @@ public class SwipeUpPreferenceController extends GesturePreferenceController { private final int ON = 1; private final int OFF = 0; private static final String ACTION_QUICKSTEP = "android.intent.action.QUICKSTEP_SERVICE"; private static final String PREF_KEY_VIDEO = "gesture_swipe_up_video"; private final UserManager mUserManager; Loading @@ -42,6 +46,14 @@ public class SwipeUpPreferenceController extends GesturePreferenceController { } static boolean isGestureAvailable(Context context) { final ComponentName recentsComponentName = ComponentName.unflattenFromString( context.getString(com.android.internal.R.string.config_recentsComponentName)); final Intent quickStepIntent = new Intent(ACTION_QUICKSTEP) .setPackage(recentsComponentName.getPackageName()); if (context.getPackageManager().resolveService(quickStepIntent, PackageManager.MATCH_SYSTEM_ONLY) == null) { return false; } return true; } Loading tests/robotests/src/com/android/settings/gestures/SwipeUpPreferenceControllerTest.java +25 −2 Original line number Diff line number Diff line Loading @@ -17,12 +17,14 @@ package com.android.settings.gestures; import static com.google.common.truth.Truth.assertThat; import static org.mockito.Matchers.anyInt; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.spy; import static org.mockito.Mockito.when; import android.content.ComponentName; import android.content.Context; import android.content.Intent; import android.content.pm.ResolveInfo; import android.hardware.Sensor; import android.hardware.SensorManager; import android.os.UserManager; Loading @@ -38,7 +40,8 @@ import org.mockito.Answers; import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.robolectric.RuntimeEnvironment; import org.robolectric.annotation.Config; import org.robolectric.Shadows; import org.robolectric.shadows.ShadowPackageManager; import java.util.ArrayList; import java.util.List; Loading @@ -47,15 +50,35 @@ import java.util.List; public class SwipeUpPreferenceControllerTest { private Context mContext; private ShadowPackageManager mPackageManager; private SwipeUpPreferenceController mController; private static final String ACTION_QUICKSTEP = "android.intent.action.QUICKSTEP_SERVICE"; private static final String KEY_SWIPE_UP = "gesture_swipe_up"; @Before public void setUp() { mContext = RuntimeEnvironment.application; mPackageManager = Shadows.shadowOf(mContext.getPackageManager()); mController = new SwipeUpPreferenceController(mContext, KEY_SWIPE_UP); } @Test public void testIsGestureAvailable_matchingServiceExists_shouldReturnTrue() { final ComponentName recentsComponentName = ComponentName.unflattenFromString( mContext.getString(com.android.internal.R.string.config_recentsComponentName)); final Intent quickStepIntent = new Intent(ACTION_QUICKSTEP) .setPackage(recentsComponentName.getPackageName()); mPackageManager.addResolveInfoForIntent(quickStepIntent, new ResolveInfo()); assertThat(SwipeUpPreferenceController.isGestureAvailable(mContext)).isTrue(); } @Test public void testIsGestureAvailable_noMatchingServiceExists_shouldReturnFalse() { assertThat(SwipeUpPreferenceController.isGestureAvailable(mContext)).isFalse(); } @Test public void testIsChecked_configIsSet_shouldReturnTrue() { // Set the setting to be enabled. Loading Loading
src/com/android/settings/gestures/SwipeUpPreferenceController.java +12 −0 Original line number Diff line number Diff line Loading @@ -16,8 +16,11 @@ package com.android.settings.gestures; import android.content.ComponentName; import android.content.Context; import android.content.Intent; import android.content.SharedPreferences; import android.content.pm.PackageManager; import android.content.res.Resources; import android.os.UserHandle; import android.os.UserManager; Loading @@ -33,6 +36,7 @@ public class SwipeUpPreferenceController extends GesturePreferenceController { private final int ON = 1; private final int OFF = 0; private static final String ACTION_QUICKSTEP = "android.intent.action.QUICKSTEP_SERVICE"; private static final String PREF_KEY_VIDEO = "gesture_swipe_up_video"; private final UserManager mUserManager; Loading @@ -42,6 +46,14 @@ public class SwipeUpPreferenceController extends GesturePreferenceController { } static boolean isGestureAvailable(Context context) { final ComponentName recentsComponentName = ComponentName.unflattenFromString( context.getString(com.android.internal.R.string.config_recentsComponentName)); final Intent quickStepIntent = new Intent(ACTION_QUICKSTEP) .setPackage(recentsComponentName.getPackageName()); if (context.getPackageManager().resolveService(quickStepIntent, PackageManager.MATCH_SYSTEM_ONLY) == null) { return false; } return true; } Loading
tests/robotests/src/com/android/settings/gestures/SwipeUpPreferenceControllerTest.java +25 −2 Original line number Diff line number Diff line Loading @@ -17,12 +17,14 @@ package com.android.settings.gestures; import static com.google.common.truth.Truth.assertThat; import static org.mockito.Matchers.anyInt; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.spy; import static org.mockito.Mockito.when; import android.content.ComponentName; import android.content.Context; import android.content.Intent; import android.content.pm.ResolveInfo; import android.hardware.Sensor; import android.hardware.SensorManager; import android.os.UserManager; Loading @@ -38,7 +40,8 @@ import org.mockito.Answers; import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.robolectric.RuntimeEnvironment; import org.robolectric.annotation.Config; import org.robolectric.Shadows; import org.robolectric.shadows.ShadowPackageManager; import java.util.ArrayList; import java.util.List; Loading @@ -47,15 +50,35 @@ import java.util.List; public class SwipeUpPreferenceControllerTest { private Context mContext; private ShadowPackageManager mPackageManager; private SwipeUpPreferenceController mController; private static final String ACTION_QUICKSTEP = "android.intent.action.QUICKSTEP_SERVICE"; private static final String KEY_SWIPE_UP = "gesture_swipe_up"; @Before public void setUp() { mContext = RuntimeEnvironment.application; mPackageManager = Shadows.shadowOf(mContext.getPackageManager()); mController = new SwipeUpPreferenceController(mContext, KEY_SWIPE_UP); } @Test public void testIsGestureAvailable_matchingServiceExists_shouldReturnTrue() { final ComponentName recentsComponentName = ComponentName.unflattenFromString( mContext.getString(com.android.internal.R.string.config_recentsComponentName)); final Intent quickStepIntent = new Intent(ACTION_QUICKSTEP) .setPackage(recentsComponentName.getPackageName()); mPackageManager.addResolveInfoForIntent(quickStepIntent, new ResolveInfo()); assertThat(SwipeUpPreferenceController.isGestureAvailable(mContext)).isTrue(); } @Test public void testIsGestureAvailable_noMatchingServiceExists_shouldReturnFalse() { assertThat(SwipeUpPreferenceController.isGestureAvailable(mContext)).isFalse(); } @Test public void testIsChecked_configIsSet_shouldReturnTrue() { // Set the setting to be enabled. Loading