Add first inline switch result.

Adds gestures as Inline switch results to Settings Search.

Change-Id: Ie9b69ac2a54756d5b756401e348cae0a02c907c9
Fixes: 33669037
Test: make RunSettingsRoboTests
This commit is contained in:
Matthew Fritze
2016-12-15 13:34:29 -08:00
parent d65ab0e63f
commit 65fb01b520
31 changed files with 1281 additions and 330 deletions

View File

@@ -20,7 +20,10 @@ import android.content.Context;
import android.provider.Settings;
import android.support.v7.preference.Preference;
import android.util.ArrayMap;
import com.android.settings.core.lifecycle.Lifecycle;
import com.android.settings.search2.InlineSwitchPayload;
import com.android.settings.search2.ResultPayload;
public class DoubleTapPowerPreferenceController extends GesturePreferenceController {
@@ -61,4 +64,14 @@ public class DoubleTapPowerPreferenceController extends GesturePreferenceControl
Settings.Secure.CAMERA_DOUBLE_TAP_POWER_GESTURE_DISABLED, 0);
return cameraDisabled == 0;
}
@Override
public ResultPayload getResultPayload() {
ArrayMap<Integer, Boolean> valueMap = new ArrayMap<>();
valueMap.put(0, true);
valueMap.put(1, false);
return new InlineSwitchPayload(Settings.Secure.CAMERA_DOUBLE_TAP_POWER_GESTURE_DISABLED,
ResultPayload.SettingsSource.SECURE, valueMap);
}
}

View File

@@ -21,8 +21,11 @@ import android.content.Context;
import android.provider.Settings;
import android.support.v7.preference.Preference;
import android.util.ArrayMap;
import com.android.internal.hardware.AmbientDisplayConfiguration;
import com.android.settings.core.lifecycle.Lifecycle;
import com.android.settings.search2.InlineSwitchPayload;
import com.android.settings.search2.ResultPayload;
public class DoubleTapScreenPreferenceController extends GesturePreferenceController {
@@ -67,4 +70,14 @@ public class DoubleTapScreenPreferenceController extends GesturePreferenceContro
protected boolean isSwitchPrefEnabled() {
return mAmbientConfig.pulseOnDoubleTapEnabled(mUserId);
}
@Override
public ResultPayload getResultPayload() {
ArrayMap<Integer, Boolean> valueMap = new ArrayMap<>();
valueMap.put(1, true);
valueMap.put(0, false);
return new InlineSwitchPayload(Settings.Secure.DOZE_PULSE_ON_DOUBLE_TAP,
ResultPayload.SettingsSource.SECURE, valueMap);
}
}

View File

@@ -24,8 +24,11 @@ import android.provider.Settings;
import android.support.v7.preference.Preference;
import android.text.TextUtils;
import android.util.ArrayMap;
import com.android.settings.R;
import com.android.settings.core.lifecycle.Lifecycle;
import com.android.settings.search2.InlineSwitchPayload;
import com.android.settings.search2.ResultPayload;
public class DoubleTwistPreferenceController extends GesturePreferenceController {
@@ -82,4 +85,14 @@ public class DoubleTwistPreferenceController extends GesturePreferenceController
}
return false;
}
@Override
public ResultPayload getResultPayload() {
ArrayMap<Integer, Boolean> valueMap = new ArrayMap<>();
valueMap.put(1, true);
valueMap.put(0, false);
return new InlineSwitchPayload(Settings.Secure.CAMERA_DOUBLE_TWIST_TO_FLIP_ENABLED,
ResultPayload.SettingsSource.SECURE, valueMap);
}
}

View File

@@ -167,21 +167,32 @@ public class GestureSettings extends DashboardFragment {
@Override
public List<String> getNonIndexableKeys(Context context) {
ArrayList<String> result = new ArrayList<String>();
List<PreferenceController> preferenceControllers =
getPreferenceControllers(context);
for(PreferenceController controller : preferenceControllers) {
controller.updateNonIndexableKeys(result);
}
return result;
}
@Override
public List<PreferenceController> getPreferenceControllers(Context context) {
List<PreferenceController> controllers = new ArrayList<>();
AmbientDisplayConfiguration ambientConfig
= new AmbientDisplayConfiguration(context);
new DoubleTapPowerPreferenceController(context, null /* lifecycle */)
.updateNonIndexableKeys(result);
new PickupGesturePreferenceController(
context, null /* lifecycle */, ambientConfig, UserHandle.myUserId())
.updateNonIndexableKeys(result);
new DoubleTapScreenPreferenceController(
context, null /* lifecycle */, ambientConfig, UserHandle.myUserId())
.updateNonIndexableKeys(result);
new SwipeToNotificationPreferenceController(context, null /* lifecycle */)
.updateNonIndexableKeys(result);
new DoubleTwistPreferenceController(context, null /* lifecycle */)
.updateNonIndexableKeys(result);
return result;
controllers.add(new DoubleTapPowerPreferenceController(context,
null /* lifecycle */));
controllers.add(new PickupGesturePreferenceController(context,
null /* lifecycle */, ambientConfig, UserHandle.myUserId()));
controllers.add(new DoubleTapScreenPreferenceController(context,
null /* lifecycle */, ambientConfig, UserHandle.myUserId()));
controllers.add(new SwipeToNotificationPreferenceController(context,
null /* lifecycle */));
controllers.add(new DoubleTwistPreferenceController(context,
null /* lifecycle */));
return controllers;
}
};
}

View File

@@ -21,8 +21,11 @@ import android.content.Context;
import android.provider.Settings;
import android.support.v7.preference.Preference;
import android.util.ArrayMap;
import com.android.internal.hardware.AmbientDisplayConfiguration;
import com.android.settings.core.lifecycle.Lifecycle;
import com.android.settings.search2.InlineSwitchPayload;
import com.android.settings.search2.ResultPayload;
public class PickupGesturePreferenceController extends GesturePreferenceController {
@@ -68,4 +71,13 @@ public class PickupGesturePreferenceController extends GesturePreferenceControll
return true;
}
@Override
public ResultPayload getResultPayload() {
ArrayMap<Integer, Boolean> valueMap = new ArrayMap<>();
valueMap.put(1, true);
valueMap.put(0, false);
return new InlineSwitchPayload(Settings.Secure.DOZE_PULSE_ON_PICK_UP,
ResultPayload.SettingsSource.SECURE, valueMap);
}
}

View File

@@ -20,7 +20,10 @@ import android.content.Context;
import android.provider.Settings;
import android.support.v7.preference.Preference;
import android.util.ArrayMap;
import com.android.settings.core.lifecycle.Lifecycle;
import com.android.settings.search2.InlineSwitchPayload;
import com.android.settings.search2.ResultPayload;
public class SwipeToNotificationPreferenceController extends GesturePreferenceController {
@@ -60,4 +63,14 @@ public class SwipeToNotificationPreferenceController extends GesturePreferenceCo
Settings.Secure.SYSTEM_NAVIGATION_KEYS_ENABLED, 0)
== 1;
}
@Override
public ResultPayload getResultPayload() {
ArrayMap<Integer, Boolean> valueMap = new ArrayMap<>();
valueMap.put(1, true);
valueMap.put(0, false);
return new InlineSwitchPayload(Settings.Secure.SYSTEM_NAVIGATION_KEYS_ENABLED,
ResultPayload.SettingsSource.SECURE, valueMap);
}
}