GesturesSettingPreferenceController to Toggle

Convert GesturesSettingPreferenceController to
TogglePreferenceController,
All of its children need follow the change,
add setter and robotest for them:
AssistGestureSettingsPreferenceController
DoubleTapPowerPreferenceController
DoubleTapScreenPreferenceController
DoubleTwistPreferenceController
PickupGesturePreferenceController
SwipeToNotificationPreferenceController

Change-Id: I792b2d370eea828bf345fb2b1cc3eac260eb66f4
Merged-In: I792b2d370eea828bf345fb2b1cc3eac260eb66f4
Fixes: 74913806
Fixes: 67998110
Fixes: 67998098
Fixes: 67998048
Fixes: 67998069
Fixes: 67997452
Test: make RunSettingsRoboTests
This commit is contained in:
HJ ChangLiao
2018-04-02 17:06:55 +08:00
parent 85c34077d3
commit 3c4c3fc5c7
40 changed files with 320 additions and 429 deletions

View File

@@ -69,12 +69,16 @@ public class AmbientDisplayAlwaysOnPreferenceController extends TogglePreference
return true;
}
public void setConfig(AmbientDisplayConfiguration config) {
public AmbientDisplayAlwaysOnPreferenceController setConfig(
AmbientDisplayConfiguration config) {
mConfig = config;
return this;
}
public void setCallback(OnPreferenceChangedCallback callback) {
public AmbientDisplayAlwaysOnPreferenceController setCallback(
OnPreferenceChangedCallback callback) {
mCallback = callback;
return this;
}
public static boolean isAlwaysOnEnabled(AmbientDisplayConfiguration config) {

View File

@@ -56,8 +56,10 @@ public class AmbientDisplayNotificationsPreferenceController extends
*
* @param config AmbientDisplayConfiguration for this controller
*/
public void setConfig(AmbientDisplayConfiguration config) {
public AmbientDisplayNotificationsPreferenceController setConfig(
AmbientDisplayConfiguration config) {
mConfig = config;
return this;
}
@Override

View File

@@ -44,35 +44,18 @@ public class AmbientDisplaySettings extends DashboardFragment {
public static final String KEY_AMBIENT_DISPLAY_ALWAYS_ON = "ambient_display_always_on";
private static final String TAG = "AmbientDisplaySettings";
private static final int MY_USER_ID = UserHandle.myUserId();
private static final String KEY_AMBIENT_DISPLAY_DOUBLE_TAP = "ambient_display_double_tap";
private static final String KEY_AMBIENT_DISPLAY_PICK_UP = "ambient_display_pick_up";
private static final String KEY_AMBIENT_DISPLAY_NOTIFICATION = "ambient_display_notification";
private AmbientDisplayConfiguration mConfig;
private static List<AbstractPreferenceController> buildPreferenceControllers(Context context,
Lifecycle lifecycle, AmbientDisplayConfiguration config) {
final List<AbstractPreferenceController> controllers = new ArrayList<>();
controllers.add(new DoubleTapScreenPreferenceController(context, lifecycle, config,
MY_USER_ID, KEY_AMBIENT_DISPLAY_DOUBLE_TAP));
controllers.add(new PickupGesturePreferenceController(context, lifecycle, config,
MY_USER_ID, KEY_AMBIENT_DISPLAY_PICK_UP));
return controllers;
}
@Override
public void onAttach(Context context) {
super.onAttach(context);
final AmbientDisplayAlwaysOnPreferenceController controller = use(
AmbientDisplayAlwaysOnPreferenceController.class);
controller.setConfig(getConfig(context));
controller.setCallback(this::updatePreferenceStates);
final AmbientDisplayNotificationsPreferenceController notificationController = use(
AmbientDisplayNotificationsPreferenceController.class);
notificationController.setConfig(getConfig(context));
use(AmbientDisplayAlwaysOnPreferenceController.class)
.setConfig(getConfig(context))
.setCallback(this::updatePreferenceStates);
use(AmbientDisplayNotificationsPreferenceController.class).setConfig(getConfig(context));
use(DoubleTapScreenPreferenceController.class).setConfig(getConfig(context));
use(PickupGesturePreferenceController.class).setConfig(getConfig(context));
}
@Override
@@ -85,11 +68,6 @@ public class AmbientDisplaySettings extends DashboardFragment {
return R.xml.ambient_display_settings;
}
@Override
protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
return buildPreferenceControllers(context, getLifecycle(), getConfig(context));
}
@Override
public int getMetricsCategory() {
return MetricsProto.MetricsEvent.AMBIENT_DISPLAY_SETTINGS;
@@ -107,13 +85,6 @@ public class AmbientDisplaySettings extends DashboardFragment {
result.add(sir);
return result;
}
@Override
public List<AbstractPreferenceController> createPreferenceControllers(
Context context) {
return buildPreferenceControllers(context, null,
new AmbientDisplayConfiguration(context));
}
};
private AmbientDisplayConfiguration getConfig(Context context) {