DeviceParts: Add DT2W Support
diff --git a/DeviceParts/src/org/omnirom/device/KeyHandler.java b/DeviceParts/src/org/omnirom/device/KeyHandler.java
index 99466ea..aacded0 100644
--- a/DeviceParts/src/org/omnirom/device/KeyHandler.java
+++ b/DeviceParts/src/org/omnirom/device/KeyHandler.java
@@ -49,6 +49,7 @@
import android.os.Vibrator;
import android.provider.Settings;
import android.provider.Settings.Global;
+import android.provider.Settings.Secure;
import android.telecom.PhoneAccountHandle;
import android.telecom.TelecomManager;
import android.telephony.SubscriptionInfo;
@@ -96,6 +97,8 @@
private static final int POCKET_MIN_DELTA_MS = 5000;
private static final int FP_GESTURE_LONG_PRESS = 188;
+ private static final String DT2W_CONTROL_PATH = "/sys/devices/platform/soc/c80000.i2c/i2c-4/4-0038/dclick_mode";
+
private static final int[] sSupportedGestures = new int[]{
KEY_GESTURE_C,
KEY_GESTURE_E,
@@ -107,7 +110,7 @@
KEY_GESTURE_DOWN_SWIPE,
KEY_GESTURE_LEFT_SWIPE,
KEY_GESTURE_RIGHT_SWIPE,
- //KEY_DOUBLE_TAP,
+ KEY_DOUBLE_TAP,
FP_GESTURE_LONG_PRESS
};
@@ -121,8 +124,8 @@
KEY_GESTURE_UP_SWIPE,
KEY_GESTURE_DOWN_SWIPE,
KEY_GESTURE_LEFT_SWIPE,
- KEY_GESTURE_RIGHT_SWIPE
- //KEY_DOUBLE_TAP
+ KEY_GESTURE_RIGHT_SWIPE,
+ KEY_DOUBLE_TAP
};
protected final Context mContext;
@@ -149,6 +152,7 @@
private boolean isFpgesture;
private boolean isOPCameraAvail;
private boolean mRestoreUser;
+ private boolean mDoubleTapToWake;
private SensorEventListener mProximitySensor = new SensorEventListener() {
@Override
@@ -201,6 +205,9 @@
mContext.getContentResolver().registerContentObserver(Settings.System.getUriFor(
Settings.System.OMNI_DEVICE_FEATURE_SETTINGS),
false, this);
+ mContext.getContentResolver().registerContentObserver(Settings.Secure.getUriFor(
+ Settings.Secure.DOUBLE_TAP_TO_WAKE),
+ false, this);
update();
updateDozeSettings();
}
@@ -224,6 +231,9 @@
mUseProxiCheck = Settings.System.getIntForUser(
mContext.getContentResolver(), Settings.System.OMNI_DEVICE_PROXI_CHECK_ENABLED, 1,
UserHandle.USER_CURRENT) == 1;
+ mDoubleTapToWake = Settings.Secure.getInt(
+ mContext.getContentResolver(), Settings.Secure.DOUBLE_TAP_TO_WAKE, 1) == 1;
+ updateDoubleTapToWake();
}
}
@@ -401,6 +411,13 @@
}
}
+ private void updateDoubleTapToWake() {
+ Log.i(TAG, "udateDoubleTapToWake " + mDoubleTapToWake);
+ if (Utils.fileWritable(DT2W_CONTROL_PATH)) {
+ Utils.writeValue(DT2W_CONTROL_PATH, mDoubleTapToWake ? "1" : "0");
+ }
+ }
+
private void onDisplayOff() {
if (DEBUG) Log.i(TAG, "Display off");
if (enableProxiSensor()) {
diff --git a/prebuilt/system/etc/init/init.qcom.rc b/prebuilt/system/etc/init/init.qcom.rc
index 198323a..ac70ade 100644
--- a/prebuilt/system/etc/init/init.qcom.rc
+++ b/prebuilt/system/etc/init/init.qcom.rc
@@ -38,3 +38,6 @@
chown system system /sys/devices/platform/soc/c80000.i2c/i2c-4/4-0038/fts_gesture_down_mode
chmod 0660 /sys/devices/platform/soc/c80000.i2c/i2c-4/4-0038/fts_gesture_down_mode
+
+ chown system system /sys/devices/platform/soc/c80000.i2c/i2c-4/4-0038/dclick_mode
+ chmod 0660 /sys/devices/platform/soc/c80000.i2c/i2c-4/4-0038/dclick_mode