Merge "Separate ambient display triggers" into nyc-mr1-dev
This commit is contained in:
@@ -52,17 +52,10 @@
|
|||||||
<string name="gesture_double_twist_sensor_name" translatable="false"></string>
|
<string name="gesture_double_twist_sensor_name" translatable="false"></string>
|
||||||
<string name="gesture_double_twist_sensor_vendor" translatable="false"></string>
|
<string name="gesture_double_twist_sensor_vendor" translatable="false"></string>
|
||||||
|
|
||||||
<!-- Pickup sensor name and vendor used by gesture setting -->
|
|
||||||
<string name="gesture_pickup_sensor_name" translatable="false"></string>
|
|
||||||
<string name="gesture_pickup_sensor_vendor" translatable="false"></string>
|
|
||||||
|
|
||||||
<!-- When true enable gesture setting. -->
|
<!-- When true enable gesture setting. -->
|
||||||
<bool name="config_gesture_settings_enabled">false</bool>
|
<bool name="config_gesture_settings_enabled">false</bool>
|
||||||
|
|
||||||
<!-- If the Storage Manager settings are enabled. -->
|
<!-- If the Storage Manager settings are enabled. -->
|
||||||
<bool name="config_storage_manager_settings_enabled">false</bool>
|
<bool name="config_storage_manager_settings_enabled">false</bool>
|
||||||
|
|
||||||
<!-- When true show double-tap gesture setting. -->
|
|
||||||
<bool name="config_gesture_double_tap_settings_enabled">false</bool>
|
|
||||||
|
|
||||||
</resources>
|
</resources>
|
||||||
|
@@ -20,9 +20,8 @@ import android.content.Context;
|
|||||||
import android.content.res.Resources;
|
import android.content.res.Resources;
|
||||||
import android.hardware.Sensor;
|
import android.hardware.Sensor;
|
||||||
import android.hardware.SensorManager;
|
import android.hardware.SensorManager;
|
||||||
import android.os.Build;
|
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.os.SystemProperties;
|
import android.os.UserHandle;
|
||||||
import android.provider.SearchIndexableResource;
|
import android.provider.SearchIndexableResource;
|
||||||
import android.provider.Settings.Secure;
|
import android.provider.Settings.Secure;
|
||||||
import android.support.v7.preference.Preference;
|
import android.support.v7.preference.Preference;
|
||||||
@@ -32,6 +31,7 @@ import android.view.LayoutInflater;
|
|||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.ViewGroup;
|
import android.view.ViewGroup;
|
||||||
|
|
||||||
|
import com.android.internal.hardware.AmbientDisplayConfiguration;
|
||||||
import com.android.internal.logging.MetricsProto.MetricsEvent;
|
import com.android.internal.logging.MetricsProto.MetricsEvent;
|
||||||
import com.android.settings.R;
|
import com.android.settings.R;
|
||||||
import com.android.settings.search.BaseSearchIndexProvider;
|
import com.android.settings.search.BaseSearchIndexProvider;
|
||||||
@@ -59,6 +59,8 @@ public class GestureSettings extends SettingsPreferenceFragment implements
|
|||||||
|
|
||||||
private List<GesturePreference> mPreferences;
|
private List<GesturePreference> mPreferences;
|
||||||
|
|
||||||
|
private AmbientDisplayConfiguration mAmbientConfig;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onCreate(Bundle savedInstanceState) {
|
public void onCreate(Bundle savedInstanceState) {
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
@@ -76,16 +78,16 @@ public class GestureSettings extends SettingsPreferenceFragment implements
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Ambient Display
|
// Ambient Display
|
||||||
boolean dozeEnabled = isDozeAvailable(context);
|
mAmbientConfig = new AmbientDisplayConfiguration(context);
|
||||||
if (dozeEnabled && isPickupAvailable(context)) {
|
if (mAmbientConfig.pulseOnPickupAvailable()) {
|
||||||
int pickup = Secure.getInt(getContentResolver(), Secure.DOZE_PULSE_ON_PICK_UP, 1);
|
boolean pickup = mAmbientConfig.pulseOnPickupEnabled(UserHandle.myUserId());
|
||||||
addPreference(PREF_KEY_PICK_UP, pickup != 0);
|
addPreference(PREF_KEY_PICK_UP, pickup);
|
||||||
} else {
|
} else {
|
||||||
removePreference(PREF_KEY_PICK_UP);
|
removePreference(PREF_KEY_PICK_UP);
|
||||||
}
|
}
|
||||||
if (dozeEnabled && isDoubleTapAvailable(context)) {
|
if (mAmbientConfig.pulseOnDoubleTapAvailable()) {
|
||||||
int doubleTap = Secure.getInt(getContentResolver(), Secure.DOZE_PULSE_ON_DOUBLE_TAP, 1);
|
boolean doubleTap = mAmbientConfig.pulseOnDoubleTapEnabled(UserHandle.myUserId());
|
||||||
addPreference(PREF_KEY_DOUBLE_TAP_SCREEN, doubleTap != 0);
|
addPreference(PREF_KEY_DOUBLE_TAP_SCREEN, doubleTap);
|
||||||
} else {
|
} else {
|
||||||
removePreference(PREF_KEY_DOUBLE_TAP_SCREEN);
|
removePreference(PREF_KEY_DOUBLE_TAP_SCREEN);
|
||||||
}
|
}
|
||||||
@@ -178,15 +180,6 @@ public class GestureSettings extends SettingsPreferenceFragment implements
|
|||||||
com.android.internal.R.bool.config_cameraDoubleTapPowerGestureEnabled);
|
com.android.internal.R.bool.config_cameraDoubleTapPowerGestureEnabled);
|
||||||
}
|
}
|
||||||
|
|
||||||
private static boolean isDozeAvailable(Context context) {
|
|
||||||
String name = Build.IS_DEBUGGABLE ? SystemProperties.get(DEBUG_DOZE_COMPONENT) : null;
|
|
||||||
if (TextUtils.isEmpty(name)) {
|
|
||||||
name = context.getResources().getString(
|
|
||||||
com.android.internal.R.string.config_dozeComponent);
|
|
||||||
}
|
|
||||||
return !TextUtils.isEmpty(name);
|
|
||||||
}
|
|
||||||
|
|
||||||
private static boolean isSystemUINavigationAvailable(Context context) {
|
private static boolean isSystemUINavigationAvailable(Context context) {
|
||||||
return context.getResources().getBoolean(
|
return context.getResources().getBoolean(
|
||||||
com.android.internal.R.bool.config_supportSystemNavigationKeys);
|
com.android.internal.R.bool.config_supportSystemNavigationKeys);
|
||||||
@@ -202,11 +195,6 @@ public class GestureSettings extends SettingsPreferenceFragment implements
|
|||||||
R.string.gesture_double_twist_sensor_vendor);
|
R.string.gesture_double_twist_sensor_vendor);
|
||||||
}
|
}
|
||||||
|
|
||||||
private static boolean isPickupAvailable(Context context) {
|
|
||||||
return hasSensor(context, R.string.gesture_pickup_sensor_name,
|
|
||||||
R.string.gesture_pickup_sensor_vendor);
|
|
||||||
}
|
|
||||||
|
|
||||||
private static boolean hasSensor(Context context, int nameResId, int vendorResId) {
|
private static boolean hasSensor(Context context, int nameResId, int vendorResId) {
|
||||||
Resources resources = context.getResources();
|
Resources resources = context.getResources();
|
||||||
String name = resources.getString(nameResId);
|
String name = resources.getString(nameResId);
|
||||||
@@ -223,11 +211,6 @@ public class GestureSettings extends SettingsPreferenceFragment implements
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
private static boolean isDoubleTapAvailable(Context context) {
|
|
||||||
return context.getResources().getBoolean(
|
|
||||||
R.bool.config_gesture_double_tap_settings_enabled);
|
|
||||||
}
|
|
||||||
|
|
||||||
private void addPreference(String key, boolean enabled) {
|
private void addPreference(String key, boolean enabled) {
|
||||||
GesturePreference preference = (GesturePreference) findPreference(key);
|
GesturePreference preference = (GesturePreference) findPreference(key);
|
||||||
preference.setChecked(enabled);
|
preference.setChecked(enabled);
|
||||||
@@ -253,13 +236,15 @@ public class GestureSettings extends SettingsPreferenceFragment implements
|
|||||||
@Override
|
@Override
|
||||||
public List<String> getNonIndexableKeys(Context context) {
|
public List<String> getNonIndexableKeys(Context context) {
|
||||||
ArrayList<String> result = new ArrayList<String>();
|
ArrayList<String> result = new ArrayList<String>();
|
||||||
|
AmbientDisplayConfiguration ambientConfig
|
||||||
|
= new AmbientDisplayConfiguration(context);
|
||||||
if (!isCameraDoubleTapPowerGestureAvailable(context.getResources())) {
|
if (!isCameraDoubleTapPowerGestureAvailable(context.getResources())) {
|
||||||
result.add(PREF_KEY_DOUBLE_TAP_POWER);
|
result.add(PREF_KEY_DOUBLE_TAP_POWER);
|
||||||
}
|
}
|
||||||
if (!isDozeAvailable(context) || !isPickupAvailable(context)) {
|
if (!ambientConfig.pulseOnPickupAvailable()) {
|
||||||
result.add(PREF_KEY_PICK_UP);
|
result.add(PREF_KEY_PICK_UP);
|
||||||
}
|
}
|
||||||
if (!isDozeAvailable(context) || !isDoubleTapAvailable(context)) {
|
if (!ambientConfig.pulseOnDoubleTapAvailable()) {
|
||||||
result.add(PREF_KEY_DOUBLE_TAP_SCREEN);
|
result.add(PREF_KEY_DOUBLE_TAP_SCREEN);
|
||||||
}
|
}
|
||||||
if (!isSystemUINavigationAvailable(context)) {
|
if (!isSystemUINavigationAvailable(context)) {
|
||||||
|
Reference in New Issue
Block a user