Merge "Refactoring DoubleTwistPreferenceController." into oc-dr1-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
3daceaec5f
@@ -52,7 +52,7 @@ public class DoubleTwistPreferenceController extends GesturePreferenceController
|
|||||||
|| prefs.getBoolean(DoubleTwistGestureSettings.PREF_KEY_SUGGESTION_COMPLETE, false);
|
|| prefs.getBoolean(DoubleTwistGestureSettings.PREF_KEY_SUGGESTION_COMPLETE, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
private static boolean isGestureAvailable(Context context) {
|
public static boolean isGestureAvailable(Context context) {
|
||||||
final Resources resources = context.getResources();
|
final Resources resources = context.getResources();
|
||||||
final String name = resources.getString(R.string.gesture_double_twist_sensor_name);
|
final String name = resources.getString(R.string.gesture_double_twist_sensor_name);
|
||||||
final String vendor = resources.getString(R.string.gesture_double_twist_sensor_vendor);
|
final String vendor = resources.getString(R.string.gesture_double_twist_sensor_vendor);
|
||||||
@@ -86,25 +86,30 @@ public class DoubleTwistPreferenceController extends GesturePreferenceController
|
|||||||
@Override
|
@Override
|
||||||
public boolean onPreferenceChange(Preference preference, Object newValue) {
|
public boolean onPreferenceChange(Preference preference, Object newValue) {
|
||||||
final int enabled = (boolean) newValue ? ON : OFF;
|
final int enabled = (boolean) newValue ? ON : OFF;
|
||||||
Settings.Secure.putInt(mContext.getContentResolver(),
|
setDoubleTwistPreference(mContext, mUserManager, enabled);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void setDoubleTwistPreference(Context context, UserManager userManager,
|
||||||
|
int enabled) {
|
||||||
|
Settings.Secure.putInt(context.getContentResolver(),
|
||||||
Settings.Secure.CAMERA_DOUBLE_TWIST_TO_FLIP_ENABLED, enabled);
|
Settings.Secure.CAMERA_DOUBLE_TWIST_TO_FLIP_ENABLED, enabled);
|
||||||
final int managedProfileUserId = getManagedProfileUserId();
|
final int managedProfileUserId = getManagedProfileId(userManager);
|
||||||
if (managedProfileUserId != UserHandle.USER_NULL) {
|
if (managedProfileUserId != UserHandle.USER_NULL) {
|
||||||
Settings.Secure.putIntForUser(mContext.getContentResolver(),
|
Settings.Secure.putIntForUser(context.getContentResolver(),
|
||||||
Settings.Secure.CAMERA_DOUBLE_TWIST_TO_FLIP_ENABLED, enabled, managedProfileUserId);
|
Settings.Secure.CAMERA_DOUBLE_TWIST_TO_FLIP_ENABLED, enabled, managedProfileUserId);
|
||||||
}
|
}
|
||||||
return true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected boolean isSwitchPrefEnabled() {
|
protected boolean isSwitchPrefEnabled() {
|
||||||
final int doubleTwistEnabled = Settings.Secure.getInt(mContext.getContentResolver(),
|
final int doubleTwistEnabled = Settings.Secure.getInt(mContext.getContentResolver(),
|
||||||
Settings.Secure.CAMERA_DOUBLE_TWIST_TO_FLIP_ENABLED, 1);
|
Settings.Secure.CAMERA_DOUBLE_TWIST_TO_FLIP_ENABLED, ON);
|
||||||
return doubleTwistEnabled != 0;
|
return doubleTwistEnabled != 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@VisibleForTesting
|
@VisibleForTesting
|
||||||
int getManagedProfileUserId() {
|
public static int getManagedProfileId(UserManager userManager) {
|
||||||
return Utils.getManagedProfileId(mUserManager, UserHandle.myUserId());
|
return Utils.getManagedProfileId(userManager, UserHandle.myUserId());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -41,11 +41,12 @@ import java.util.List;
|
|||||||
|
|
||||||
import static com.google.common.truth.Truth.assertThat;
|
import static com.google.common.truth.Truth.assertThat;
|
||||||
import static org.mockito.Matchers.anyInt;
|
import static org.mockito.Matchers.anyInt;
|
||||||
import static org.mockito.Mockito.doReturn;
|
|
||||||
import static org.mockito.Mockito.mock;
|
import static org.mockito.Mockito.mock;
|
||||||
import static org.mockito.Mockito.spy;
|
import static org.mockito.Mockito.spy;
|
||||||
import static org.mockito.Mockito.when;
|
import static org.mockito.Mockito.when;
|
||||||
|
|
||||||
|
import com.android.settings.testutils.shadow.ShadowDoubleTwistPreferenceController;
|
||||||
|
|
||||||
@RunWith(SettingsRobolectricTestRunner.class)
|
@RunWith(SettingsRobolectricTestRunner.class)
|
||||||
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
|
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
|
||||||
public class DoubleTwistPreferenceControllerTest {
|
public class DoubleTwistPreferenceControllerTest {
|
||||||
@@ -102,14 +103,16 @@ public class DoubleTwistPreferenceControllerTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@Config(shadows = {ShadowSecureSettings.class})
|
@Config(shadows = {
|
||||||
|
ShadowDoubleTwistPreferenceController.class,
|
||||||
|
ShadowSecureSettings.class})
|
||||||
public void onPreferenceChange_hasWorkProfile_shouldUpdateSettingForWorkProfileUser() {
|
public void onPreferenceChange_hasWorkProfile_shouldUpdateSettingForWorkProfileUser() {
|
||||||
final int managedId = 2;
|
final int managedId = 2;
|
||||||
ShadowSecureSettings.putIntForUser(
|
ShadowSecureSettings.putIntForUser(
|
||||||
null, Settings.Secure.CAMERA_DOUBLE_TWIST_TO_FLIP_ENABLED, 0, managedId);
|
null, Settings.Secure.CAMERA_DOUBLE_TWIST_TO_FLIP_ENABLED, 0, managedId);
|
||||||
DoubleTwistPreferenceController controller =
|
DoubleTwistPreferenceController controller =
|
||||||
spy(new DoubleTwistPreferenceController(mContext, null, KEY_DOUBLE_TWIST));
|
spy(new DoubleTwistPreferenceController(mContext, null, KEY_DOUBLE_TWIST));
|
||||||
doReturn(managedId).when(controller).getManagedProfileUserId();
|
ShadowDoubleTwistPreferenceController.setManagedProfileId(managedId);
|
||||||
|
|
||||||
// enable the gesture
|
// enable the gesture
|
||||||
controller.onPreferenceChange(null, true);
|
controller.onPreferenceChange(null, true);
|
||||||
|
@@ -0,0 +1,28 @@
|
|||||||
|
package com.android.settings.testutils.shadow;
|
||||||
|
|
||||||
|
import android.content.Context;
|
||||||
|
import android.os.UserHandle;
|
||||||
|
import android.os.UserManager;
|
||||||
|
|
||||||
|
import com.android.settings.gestures.DoubleTwistPreferenceController;
|
||||||
|
|
||||||
|
import org.robolectric.annotation.Implementation;
|
||||||
|
import org.robolectric.annotation.Implements;
|
||||||
|
|
||||||
|
@Implements(DoubleTwistPreferenceController.class)
|
||||||
|
public class ShadowDoubleTwistPreferenceController {
|
||||||
|
private static int sManagedProfileId = UserHandle.USER_NULL;
|
||||||
|
@Implementation
|
||||||
|
public static boolean isGestureAvailable(Context context) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Implementation
|
||||||
|
public static int getManagedProfileId(UserManager userManager) {
|
||||||
|
return sManagedProfileId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void setManagedProfileId(int managedProfileId) {
|
||||||
|
sManagedProfileId = managedProfileId;
|
||||||
|
}
|
||||||
|
}
|
Reference in New Issue
Block a user