For devices that support this feature, it makes sense to place this
under display settings as most people wouldn't look under language.
Ticket: CYNGNOS-3250
Change-Id: Ib99f5e8c5f0f2bdae7b5b5f788a364a1d63aa146
Signed-off-by: Roman Birg <roman@cyngn.com>
android:defaultValue="true" />
<SwitchPreference
android:defaultValue="true" />
<SwitchPreference
+ android:key="high_touch_sensitivity"
+ android:title="@string/high_touch_sensitivity_title"
+ android:summary="@string/high_touch_sensitivity_summary"
+ android:defaultValue="false" />
+
+ <SwitchPreference
android:key="camera_gesture"
android:title="@string/camera_gesture_title"
android:summary="@string/camera_gesture_desc"
android:key="camera_gesture"
android:title="@string/camera_gesture_title"
android:summary="@string/camera_gesture_desc"
android:persistent="false" />
<SwitchPreference
android:persistent="false" />
<SwitchPreference
- android:key="high_touch_sensitivity"
- android:title="@string/high_touch_sensitivity_title"
- android:summary="@string/high_touch_sensitivity_summary"
- android:defaultValue="false" />
-
- <SwitchPreference
android:key="touchscreen_hovering"
android:title="@string/touchscreen_hovering_title"
android:summary="@string/touchscreen_hovering_summary"
android:key="touchscreen_hovering"
android:title="@string/touchscreen_hovering_title"
android:summary="@string/touchscreen_hovering_summary"
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.app.AlertDialog;
import android.content.DialogInterface;
+import android.content.SharedPreferences;
import android.preference.CheckBoxPreference;
import android.os.UserHandle;
import android.preference.CheckBoxPreference;
import android.os.UserHandle;
import com.android.settings.Utils;
import com.android.settings.cyanogenmod.DisplayRotation;
import com.android.settings.Utils;
import com.android.settings.cyanogenmod.DisplayRotation;
+import cyanogenmod.hardware.CMHardwareManager;
import cyanogenmod.hardware.LiveDisplayManager;
import cyanogenmod.providers.CMSettings;
import cyanogenmod.hardware.LiveDisplayManager;
import cyanogenmod.providers.CMSettings;
private static final String KEY_NOTIFICATION_LIGHT = "notification_light";
private static final String KEY_BATTERY_LIGHT = "battery_light";
private static final String KEY_LIVEDISPLAY = "live_display";
private static final String KEY_NOTIFICATION_LIGHT = "notification_light";
private static final String KEY_BATTERY_LIGHT = "battery_light";
private static final String KEY_LIVEDISPLAY = "live_display";
+ private static final String KEY_HIGH_TOUCH_SENSITIVITY = "high_touch_sensitivity";
private static final int DLG_GLOBAL_CHANGE_WARNING = 1;
private static final int DLG_GLOBAL_CHANGE_WARNING = 1;
private SwitchPreference mLiftToWakePreference;
private SwitchPreference mDozePreference;
private SwitchPreference mTapToWakePreference;
private SwitchPreference mLiftToWakePreference;
private SwitchPreference mDozePreference;
private SwitchPreference mTapToWakePreference;
+ private SwitchPreference mHighTouchSensitivity;
private SwitchPreference mProximityCheckOnWakePreference;
private SwitchPreference mAutoBrightnessPreference;
private SwitchPreference mWakeWhenPluggedOrUnplugged;
private SwitchPreference mProximityCheckOnWakePreference;
private SwitchPreference mAutoBrightnessPreference;
private SwitchPreference mWakeWhenPluggedOrUnplugged;
+ private CMHardwareManager mHardware;
+
private ContentObserver mAccelerometerRotationObserver =
new ContentObserver(new Handler()) {
@Override
private ContentObserver mAccelerometerRotationObserver =
new ContentObserver(new Handler()) {
@Override
final ContentResolver resolver = activity.getContentResolver();
addPreferencesFromResource(R.xml.display);
final ContentResolver resolver = activity.getContentResolver();
addPreferencesFromResource(R.xml.display);
+ mHardware = CMHardwareManager.getInstance(activity);
+
PreferenceCategory displayPrefs = (PreferenceCategory)
findPreference(KEY_CATEGORY_DISPLAY);
PreferenceCategory interfacePrefs = (PreferenceCategory)
PreferenceCategory displayPrefs = (PreferenceCategory)
findPreference(KEY_CATEGORY_DISPLAY);
PreferenceCategory interfacePrefs = (PreferenceCategory)
+ mHighTouchSensitivity = (SwitchPreference) findPreference(KEY_HIGH_TOUCH_SENSITIVITY);
+ if (!mHardware.isSupported(
+ CMHardwareManager.FEATURE_HIGH_TOUCH_SENSITIVITY)) {
+ displayPrefs.removePreference(mHighTouchSensitivity);
+ mHighTouchSensitivity = null;
+ } else {
+ mHighTouchSensitivity.setChecked(
+ mHardware.get(CMHardwareManager.FEATURE_HIGH_TOUCH_SENSITIVITY));
+ }
+
mProximityCheckOnWakePreference = (SwitchPreference) findPreference(KEY_PROXIMITY_WAKE);
boolean proximityCheckOnWake = getResources().getBoolean(
org.cyanogenmod.platform.internal.R.bool.config_proximityCheckOnWake);
mProximityCheckOnWakePreference = (SwitchPreference) findPreference(KEY_PROXIMITY_WAKE);
boolean proximityCheckOnWake = getResources().getBoolean(
org.cyanogenmod.platform.internal.R.bool.config_proximityCheckOnWake);
} else if (preference == mAccelerometer) {
RotationPolicy.setRotationLockForAccessibility(getActivity(),
!mAccelerometer.isChecked());
} else if (preference == mAccelerometer) {
RotationPolicy.setRotationLockForAccessibility(getActivity(),
!mAccelerometer.isChecked());
+ } else if (preference == mHighTouchSensitivity) {
+ boolean mHighTouchSensitivityEnable = mHighTouchSensitivity.isChecked();
+ CMSettings.System.putInt(getActivity().getContentResolver(),
+ CMSettings.System.HIGH_TOUCH_SENSITIVITY_ENABLE,
+ mHighTouchSensitivityEnable ? 1 : 0);
+ return true;
}
return super.onPreferenceTreeClick(preferenceScreen, preference);
}
return super.onPreferenceTreeClick(preferenceScreen, preference);
@Override
public List<String> getNonIndexableKeys(Context context) {
@Override
public List<String> getNonIndexableKeys(Context context) {
+ final CMHardwareManager hardware = CMHardwareManager.getInstance(context);
+
ArrayList<String> result = new ArrayList<String>();
if (!context.getResources().getBoolean(
com.android.internal.R.bool.config_dreamsSupported)) {
ArrayList<String> result = new ArrayList<String>();
if (!context.getResources().getBoolean(
com.android.internal.R.bool.config_dreamsSupported)) {
if (!isCameraGestureAvailable(context.getResources())) {
result.add(KEY_CAMERA_GESTURE);
}
if (!isCameraGestureAvailable(context.getResources())) {
result.add(KEY_CAMERA_GESTURE);
}
+ if (hardware.isSupported(CMHardwareManager.FEATURE_HIGH_TOUCH_SENSITIVITY)) {
+ result.add(KEY_HIGH_TOUCH_SENSITIVITY);
+ }
+
+ public static void restore(Context context) {
+ final SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
+ final CMHardwareManager hardware = CMHardwareManager.getInstance(context);
+ if (hardware.isSupported(CMHardwareManager.FEATURE_HIGH_TOUCH_SENSITIVITY)) {
+ final boolean enabled = prefs.getBoolean(KEY_HIGH_TOUCH_SENSITIVITY,
+ hardware.get(CMHardwareManager.FEATURE_HIGH_TOUCH_SENSITIVITY));
+ CMSettings.System.putInt(context.getContentResolver(),
+ CMSettings.System.HIGH_TOUCH_SENSITIVITY_ENABLE,
+ enabled ? 1 : 0);
+ }
+ }
+
import android.preference.PreferenceManager;
import com.android.settings.ButtonSettings;
import android.preference.PreferenceManager;
import com.android.settings.ButtonSettings;
+import com.android.settings.DisplaySettings;
import com.android.settings.R;
import com.android.settings.Utils;
import com.android.settings.contributors.ContributorsCloudFragment;
import com.android.settings.R;
import com.android.settings.Utils;
import com.android.settings.contributors.ContributorsCloudFragment;
ButtonSettings.restoreKeyDisabler(ctx);
VibratorIntensity.restore(ctx);
InputMethodAndLanguageSettings.restore(ctx);
ButtonSettings.restoreKeyDisabler(ctx);
VibratorIntensity.restore(ctx);
InputMethodAndLanguageSettings.restore(ctx);
+ DisplaySettings.restore(ctx);
setRestoredTunable(ctx);
}
setRestoredTunable(ctx);
}
private static final String KEY_USER_DICTIONARY_SETTINGS = "key_user_dictionary_settings";
private static final String KEY_POINTER_SETTINGS_CATEGORY = "pointer_settings_category";
private static final String KEY_PREVIOUSLY_ENABLED_SUBTYPES = "previously_enabled_subtypes";
private static final String KEY_USER_DICTIONARY_SETTINGS = "key_user_dictionary_settings";
private static final String KEY_POINTER_SETTINGS_CATEGORY = "pointer_settings_category";
private static final String KEY_PREVIOUSLY_ENABLED_SUBTYPES = "previously_enabled_subtypes";
- private static final String KEY_HIGH_TOUCH_SENSITIVITY = "high_touch_sensitivity";
private static final String KEY_TOUCHSCREEN_HOVERING = "touchscreen_hovering";
private static final String KEY_TRACKPAD_SETTINGS = "gesture_pad_settings";
private static final String KEY_STYLUS_GESTURES = "stylus_gestures";
private static final String KEY_TOUCHSCREEN_HOVERING = "touchscreen_hovering";
private static final String KEY_TRACKPAD_SETTINGS = "gesture_pad_settings";
private static final String KEY_STYLUS_GESTURES = "stylus_gestures";
private int mDefaultInputMethodSelectorVisibility = 0;
private ListPreference mShowInputMethodSelectorPref;
private SwitchPreference mStylusIconEnabled;
private int mDefaultInputMethodSelectorVisibility = 0;
private ListPreference mShowInputMethodSelectorPref;
private SwitchPreference mStylusIconEnabled;
- private SwitchPreference mHighTouchSensitivity;
private SwitchPreference mTouchscreenHovering;
private PreferenceCategory mKeyboardSettingsCategory;
private PreferenceCategory mHardKeyboardCategory;
private SwitchPreference mTouchscreenHovering;
private PreferenceCategory mKeyboardSettingsCategory;
private PreferenceCategory mHardKeyboardCategory;
mStylusGestures = (PreferenceScreen) findPreference(KEY_STYLUS_GESTURES);
mStylusIconEnabled = (SwitchPreference) findPreference(KEY_STYLUS_ICON_ENABLED);
mStylusGestures = (PreferenceScreen) findPreference(KEY_STYLUS_GESTURES);
mStylusIconEnabled = (SwitchPreference) findPreference(KEY_STYLUS_ICON_ENABLED);
- mHighTouchSensitivity = (SwitchPreference) findPreference(KEY_HIGH_TOUCH_SENSITIVITY);
mTouchscreenHovering = (SwitchPreference) findPreference(KEY_TOUCHSCREEN_HOVERING);
mTouchscreenHovering = (SwitchPreference) findPreference(KEY_TOUCHSCREEN_HOVERING);
pointerSettingsCategory.removePreference(mStylusIconEnabled);
}
pointerSettingsCategory.removePreference(mStylusIconEnabled);
}
- if (!mHardware.isSupported(
- CMHardwareManager.FEATURE_HIGH_TOUCH_SENSITIVITY)) {
- pointerSettingsCategory.removePreference(mHighTouchSensitivity);
- mHighTouchSensitivity = null;
- } else {
- mHighTouchSensitivity.setChecked(
- mHardware.get(CMHardwareManager.FEATURE_HIGH_TOUCH_SENSITIVITY));
- }
-
if (!mHardware.isSupported(CMHardwareManager.FEATURE_TOUCH_HOVERING)) {
pointerSettingsCategory.removePreference(mTouchscreenHovering);
mTouchscreenHovering = null;
if (!mHardware.isSupported(CMHardwareManager.FEATURE_TOUCH_HOVERING)) {
pointerSettingsCategory.removePreference(mTouchscreenHovering);
mTouchscreenHovering = null;
if (preference == mStylusIconEnabled) {
Settings.System.putInt(getActivity().getContentResolver(),
Settings.System.STYLUS_ICON_ENABLED, mStylusIconEnabled.isChecked() ? 1 : 0);
if (preference == mStylusIconEnabled) {
Settings.System.putInt(getActivity().getContentResolver(),
Settings.System.STYLUS_ICON_ENABLED, mStylusIconEnabled.isChecked() ? 1 : 0);
- } else if (preference == mHighTouchSensitivity) {
- boolean mHighTouchSensitivityEnable = mHighTouchSensitivity.isChecked();
- CMSettings.System.putInt(getActivity().getContentResolver(),
- CMSettings.System.HIGH_TOUCH_SENSITIVITY_ENABLE,
- mHighTouchSensitivityEnable ? 1 : 0);
- return true;
} else if (preference == mTouchscreenHovering) {
boolean touchHoveringEnable = mTouchscreenHovering.isChecked();
CMSettings.Secure.putInt(getActivity().getContentResolver(),
} else if (preference == mTouchscreenHovering) {
boolean touchHoveringEnable = mTouchscreenHovering.isChecked();
CMSettings.Secure.putInt(getActivity().getContentResolver(),
public static void restore(Context context) {
final SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
final CMHardwareManager hardware = CMHardwareManager.getInstance(context);
public static void restore(Context context) {
final SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
final CMHardwareManager hardware = CMHardwareManager.getInstance(context);
- if (hardware.isSupported(CMHardwareManager.FEATURE_HIGH_TOUCH_SENSITIVITY)) {
- final boolean enabled = prefs.getBoolean(KEY_HIGH_TOUCH_SENSITIVITY,
- hardware.get(CMHardwareManager.FEATURE_HIGH_TOUCH_SENSITIVITY));
- CMSettings.System.putInt(context.getContentResolver(),
- CMSettings.System.HIGH_TOUCH_SENSITIVITY_ENABLE,
- enabled ? 1 : 0);
- }
if (hardware.isSupported(CMHardwareManager.FEATURE_TOUCH_HOVERING)) {
final boolean enabled = prefs.getBoolean(KEY_TOUCHSCREEN_HOVERING,
hardware.get(CMHardwareManager.FEATURE_TOUCH_HOVERING));
if (hardware.isSupported(CMHardwareManager.FEATURE_TOUCH_HOVERING)) {
final boolean enabled = prefs.getBoolean(KEY_TOUCHSCREEN_HOVERING,
hardware.get(CMHardwareManager.FEATURE_TOUCH_HOVERING));