Refactoring DoubleTwistPreferenceController.

Made the availability and setting logic static so that
it can be invoked without creating a controller.

Bug: 62022517
Test: robotests
Change-Id: I3a51c61849e6ba8b8aa850ca22d666a9f84d252f
This commit is contained in:
Andrew Sapperstein
2017-07-28 17:51:17 -07:00
parent 2f525fbdc5
commit 9c9549bd29
3 changed files with 47 additions and 11 deletions

View File

@@ -52,7 +52,7 @@ public class DoubleTwistPreferenceController extends GesturePreferenceController
|| 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 String name = resources.getString(R.string.gesture_double_twist_sensor_name);
final String vendor = resources.getString(R.string.gesture_double_twist_sensor_vendor);
@@ -86,25 +86,30 @@ public class DoubleTwistPreferenceController extends GesturePreferenceController
@Override
public boolean onPreferenceChange(Preference preference, Object newValue) {
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);
final int managedProfileUserId = getManagedProfileUserId();
final int managedProfileUserId = getManagedProfileId(userManager);
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);
}
return true;
}
@Override
protected boolean isSwitchPrefEnabled() {
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;
}
@VisibleForTesting
int getManagedProfileUserId() {
return Utils.getManagedProfileId(mUserManager, UserHandle.myUserId());
public static int getManagedProfileId(UserManager userManager) {
return Utils.getManagedProfileId(userManager, UserHandle.myUserId());
}
}