aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDanny Baumann <dannybaumann@web.de>2015-10-26 14:21:47 +0100
committerdoc HD <doc.divxm@gmail.com>2015-10-27 13:35:05 +0300
commit35b9d98990ad80a464eb566670fccd58a027d323 (patch)
tree7d23fcc96257b9412225f8fe9e92b7becd08d321
parentad8862462d5bd6125b82fbe28e68611adac1cefb (diff)
Fix gesture haptic feedback setting.lp5.1
The setting value was read from a system property, but never written. As using a system property has SELinux implications and updating the policies for all devices is more trouble than it's worth, the code was changed to use a system setting instead. Change-Id: I63be2e41a5a02bf537dbc3ad422282db296dd099
-rw-r--r--configpanel/res/xml/touchscreen_panel.xml3
-rw-r--r--configpanel/src/com/cyanogenmod/settings/device/TouchscreenGestureSettings.java18
-rw-r--r--keyhandler/src/com/cyanogenmod/settings/device/KeyHandler.java14
3 files changed, 21 insertions, 14 deletions
diff --git a/configpanel/res/xml/touchscreen_panel.xml b/configpanel/res/xml/touchscreen_panel.xml
index 0d8248a..0b95338 100644
--- a/configpanel/res/xml/touchscreen_panel.xml
+++ b/configpanel/res/xml/touchscreen_panel.xml
@@ -34,7 +34,8 @@
<PreferenceCategory android:title="@string/touchscreen_extras">
<SwitchPreference
- android:key="touchscreen_haptic_feedback"
+ android:key="touchscreen_gesture_haptic_feedback"
+ android:persistent="false"
android:title="@string/haptic_feedback"
android:summary="@string/haptic_feedback_summary" />
diff --git a/configpanel/src/com/cyanogenmod/settings/device/TouchscreenGestureSettings.java b/configpanel/src/com/cyanogenmod/settings/device/TouchscreenGestureSettings.java
index 29000f4..b62a926 100644
--- a/configpanel/src/com/cyanogenmod/settings/device/TouchscreenGestureSettings.java
+++ b/configpanel/src/com/cyanogenmod/settings/device/TouchscreenGestureSettings.java
@@ -21,25 +21,22 @@ import com.android.internal.util.cm.ScreenType;
import com.cyanogenmod.settings.device.utils.NodePreferenceActivity;
import android.os.Bundle;
-import android.os.SystemProperties;
+import android.provider.Settings;
import android.preference.Preference;
import android.preference.SwitchPreference;
public class TouchscreenGestureSettings extends NodePreferenceActivity {
+ private static final String KEY_HAPTIC_FEEDBACK = "touchscreen_gesture_haptic_feedback";
- private static final String KEY_HAPTIC_FEEDBACK = "touchscreen_haptic_feedback";
-
- private static final String PROP_HAPTIC_FEEDBACK = "persist.gestures.haptic";
+ private SwitchPreference mHapticFeedback;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.touchscreen_panel);
- final SwitchPreference hapticFeedback =
- (SwitchPreference) findPreference(KEY_HAPTIC_FEEDBACK);
- hapticFeedback.setChecked(SystemProperties.getBoolean(PROP_HAPTIC_FEEDBACK, true));
- hapticFeedback.setOnPreferenceChangeListener(this);
+ mHapticFeedback = (SwitchPreference) findPreference(KEY_HAPTIC_FEEDBACK);
+ mHapticFeedback.setOnPreferenceChangeListener(this);
}
@Override
@@ -47,6 +44,7 @@ public class TouchscreenGestureSettings extends NodePreferenceActivity {
final String key = preference.getKey();
if (KEY_HAPTIC_FEEDBACK.equals(key)) {
final boolean value = (Boolean) newValue;
+ Settings.System.putInt(getContentResolver(), KEY_HAPTIC_FEEDBACK, value ? 1 : 0);
return true;
}
@@ -61,6 +59,8 @@ public class TouchscreenGestureSettings extends NodePreferenceActivity {
if (!ScreenType.isTablet(this)) {
getListView().setPadding(0, 0, 0, 0);
}
- }
+ mHapticFeedback.setChecked(
+ Settings.System.getInt(getContentResolver(), KEY_HAPTIC_FEEDBACK, 1) != 0);
+ }
}
diff --git a/keyhandler/src/com/cyanogenmod/settings/device/KeyHandler.java b/keyhandler/src/com/cyanogenmod/settings/device/KeyHandler.java
index 5a22b02..f4d17ba 100644
--- a/keyhandler/src/com/cyanogenmod/settings/device/KeyHandler.java
+++ b/keyhandler/src/com/cyanogenmod/settings/device/KeyHandler.java
@@ -37,7 +37,6 @@ import android.os.PowerManager.WakeLock;
import android.os.RemoteException;
import android.os.ServiceManager;
import android.os.SystemClock;
-import android.os.SystemProperties;
import android.os.UserHandle;
import android.os.Vibrator;
import android.provider.MediaStore;
@@ -54,7 +53,8 @@ public class KeyHandler implements DeviceKeyHandler {
private static final String TAG = KeyHandler.class.getSimpleName();
private static final int GESTURE_REQUEST = 1;
- private static final String PROP_HAPTIC_FEEDBACK = "persist.gestures.haptic";
+ private static final String KEY_GESTURE_HAPTIC_FEEDBACK =
+ "touchscreen_gesture_haptic_feedback";
private static final String ACTION_DISMISS_KEYGUARD =
"com.android.keyguard.action.DISMISS_KEYGUARD_SECURELY";
@@ -263,7 +263,13 @@ public class KeyHandler implements DeviceKeyHandler {
}
private void doHapticFeedback() {
- if (mVibrator == null || !SystemProperties.getBoolean(PROP_HAPTIC_FEEDBACK, true)) return;
- mVibrator.vibrate(50);
+ if (mVibrator == null) {
+ return;
+ }
+ boolean enabled = Settings.System.getInt(mContext.getContentResolver(),
+ KEY_GESTURE_HAPTIC_FEEDBACK, 1) != 0;
+ if (enabled) {
+ mVibrator.vibrate(50);
+ }
}
}