DeviceParts: Update Offscreen and FP gestures
* Cleanup the code too
diff --git a/DeviceParts/res/values/strings.xml b/DeviceParts/res/values/strings.xml
index b8caa3f..f64967c 100644
--- a/DeviceParts/res/values/strings.xml
+++ b/DeviceParts/res/values/strings.xml
@@ -58,6 +58,12 @@
<string name="choose_app">Choose app</string>
<string name="category_double_swipe_gesture">II gesture</string>
<string name="offscreen_gesture_title">Offscreen gestures</string>
+ <string name="category_c_gesture">C gesture</string>
+ <string name="category_e_gesture">E gesture</string>
+ <string name="category_s_gesture">S gesture</string>
+ <string name="category_v_gesture">V gesture</string>
+ <string name="category_w_gesture">W gesture</string>
+ <string name="category_z_gesture">Z gesture</string>
<string name="category_circle_gesture">O gesture</string>
<string name="category_down_arrow_gesture">V gesture</string>
<string name="category_up_arrow_gesture">A gesture</string>
diff --git a/DeviceParts/res/xml/gesture_settings.xml b/DeviceParts/res/xml/gesture_settings.xml
index c7ef445..aa88399 100644
--- a/DeviceParts/res/xml/gesture_settings.xml
+++ b/DeviceParts/res/xml/gesture_settings.xml
@@ -45,53 +45,53 @@
android:title="@string/offscreen_gesture_title">
<org.omnirom.device.AppSelectListPreference
- android:key="circle_gesture_app"
- android:title="@string/category_circle_gesture"
+ android:key="c_gesture_app"
+ android:title="@string/category_c_gesture"
android:persistent="false" />
<org.omnirom.device.AppSelectListPreference
- android:key="double_swipe_gesture_app"
- android:title="@string/category_double_swipe_gesture"
+ android:key="e_gesture_app"
+ android:title="@string/category_e_gesture"
android:persistent="false" />
<org.omnirom.device.AppSelectListPreference
- android:key="left_arrow_gesture_app"
- android:title="@string/category_left_arrow_gesture"
- android:persistent="false"/>
-
- <org.omnirom.device.AppSelectListPreference
- android:key="right_arrow_gesture_app"
- android:title="@string/category_right_arrow_gesture"
- android:persistent="false"/>
-
- <org.omnirom.device.AppSelectListPreference
- android:key="up_arrow_gesture_app"
- android:title="@string/category_up_arrow_gesture"
+ android:key="s_gesture_app"
+ android:title="@string/category_s_gesture"
android:persistent="false" />
<org.omnirom.device.AppSelectListPreference
- android:key="down_arrow_gesture_app"
- android:title="@string/category_down_arrow_gesture"
+ android:key="v_gesture_app"
+ android:title="@string/category_v_gesture"
android:persistent="false"/>
<org.omnirom.device.AppSelectListPreference
- android:key="down_swipe_gesture_app"
+ android:key="w_gesture_app"
+ android:title="@string/category_w_gesture"
+ android:persistent="false"/>
+
+ <org.omnirom.device.AppSelectListPreference
+ android:key="z_gesture_app"
+ android:title="@string/category_z_gesture"
+ android:persistent="false"/>
+
+ <org.omnirom.device.AppSelectListPreference
+ android:key="up_gesture_app"
+ android:title="@string/category_up_swipe_gesture"
+ android:persistent="false" />
+
+ <org.omnirom.device.AppSelectListPreference
+ android:key="down_gesture_app"
android:title="@string/category_down_swipe_gesture"
android:persistent="false"/>
<org.omnirom.device.AppSelectListPreference
- android:key="up_swipe_gesture_app"
- android:title="@string/category_up_swipe_gesture"
+ android:key="left_gesture_app"
+ android:title="@string/category_left_arrow_gesture"
android:persistent="false"/>
<org.omnirom.device.AppSelectListPreference
- android:key="left_swipe_gesture_app"
- android:title="@string/category_left_swipe_gesture"
- android:persistent="false"/>
-
- <org.omnirom.device.AppSelectListPreference
- android:key="right_swipe_gesture_app"
- android:title="@string/category_right_swipe_gesture"
+ android:key="right_gesture_app"
+ android:title="@string/category_right_arrow_gesture"
android:persistent="false"/>
</PreferenceCategory>
diff --git a/DeviceParts/src/org/omnirom/device/GestureSettings.java b/DeviceParts/src/org/omnirom/device/GestureSettings.java
index 00e1d99..02c7e3b 100644
--- a/DeviceParts/src/org/omnirom/device/GestureSettings.java
+++ b/DeviceParts/src/org/omnirom/device/GestureSettings.java
@@ -55,16 +55,17 @@
public static final String KEY_PROXI_SWITCH = "proxi";
public static final String KEY_OFF_SCREEN_GESTURE_FEEDBACK_SWITCH = "off_screen_gesture_feedback";
- public static final String KEY_DOUBLE_SWIPE_APP = "double_swipe_gesture_app";
- public static final String KEY_CIRCLE_APP = "circle_gesture_app";
- public static final String KEY_DOWN_ARROW_APP = "down_arrow_gesture_app";
- public static final String KEY_UP_ARROW_APP = "up_arrow_gesture_app";
- public static final String KEY_LEFT_ARROW_APP = "left_arrow_gesture_app";
- public static final String KEY_RIGHT_ARROW_APP = "right_arrow_gesture_app";
- public static final String KEY_DOWN_SWIPE_APP = "down_swipe_gesture_app";
- public static final String KEY_UP_SWIPE_APP = "up_swipe_gesture_app";
- public static final String KEY_LEFT_SWIPE_APP = "left_swipe_gesture_app";
- public static final String KEY_RIGHT_SWIPE_APP = "right_swipe_gesture_app";
+
+ public static final String KEY_C_APP = "c_gesture_app";
+ public static final String KEY_E_APP = "e_gesture_app";
+ public static final String KEY_V_APP = "v_gesture_app";
+ public static final String KEY_S_APP = "s_gesture_app";
+ public static final String KEY_W_APP = "w_gesture_app";
+ public static final String KEY_Z_APP = "z_gesture_app";
+ public static final String KEY_UP_SWIPE_APP = "up_gesture_app";
+ public static final String KEY_DOWN_SWIPE_APP = "down_gesture_app";
+ public static final String KEY_LEFT_SWIPE_APP = "left_gesture_app";
+ public static final String KEY_RIGHT_SWIPE_APP = "right_gesture_app";
public static final String KEY_FP_GESTURE_CATEGORY = "key_fp_gesture_category";
public static final String KEY_FP_GESTURE_DEFAULT_CATEGORY = "gesture_settings";
@@ -84,12 +85,12 @@
private TwoStatePreference mProxiSwitch;
private TwoStatePreference mFpSwipeDownSwitch;
- private AppSelectListPreference mDoubleSwipeApp;
- private AppSelectListPreference mCircleApp;
- private AppSelectListPreference mDownArrowApp;
- private AppSelectListPreference mUpArrowApp;
- private AppSelectListPreference mLeftArrowApp;
- private AppSelectListPreference mRightArrowApp;
+ private AppSelectListPreference mLetterEGesture;
+ private AppSelectListPreference mLetterCGesture;
+ private AppSelectListPreference mLetterVGesture;
+ private AppSelectListPreference mLetterSGesture;
+ private AppSelectListPreference mLetterWGesture;
+ private AppSelectListPreference mLetterZGesture;
private AppSelectListPreference mDownSwipeApp;
private AppSelectListPreference mUpSwipeApp;
private AppSelectListPreference mLeftSwipeApp;
@@ -113,54 +114,54 @@
mProxiSwitch.setChecked(Settings.System.getInt(getContext().getContentResolver(),
Settings.System.OMNI_DEVICE_PROXI_CHECK_ENABLED, 1) != 0);
- mDoubleSwipeApp = (AppSelectListPreference) findPreference(KEY_DOUBLE_SWIPE_APP);
- mDoubleSwipeApp.setEnabled(isGestureSupported(KEY_DOUBLE_SWIPE_APP));
+ mLetterCGesture = (AppSelectListPreference) findPreference(KEY_C_APP);
+ mLetterCGesture.setEnabled(isGestureSupported(KEY_C_APP));
String value = Settings.System.getString(getContext().getContentResolver(), DEVICE_GESTURE_MAPPING_0);
- mDoubleSwipeApp.setValue(value);
- mDoubleSwipeApp.setOnPreferenceChangeListener(this);
+ mLetterCGesture.setValue(value);
+ mLetterCGesture.setOnPreferenceChangeListener(this);
- mCircleApp = (AppSelectListPreference) findPreference(KEY_CIRCLE_APP);
- mCircleApp.setEnabled(isGestureSupported(KEY_CIRCLE_APP));
+ mLetterEGesture = (AppSelectListPreference) findPreference(KEY_E_APP);
+ mLetterEGesture.setEnabled(isGestureSupported(KEY_E_APP));
value = Settings.System.getString(getContext().getContentResolver(), DEVICE_GESTURE_MAPPING_1);
- mCircleApp.setValue(value);
- mCircleApp.setOnPreferenceChangeListener(this);
+ mLetterEGesture.setValue(value);
+ mLetterEGesture.setOnPreferenceChangeListener(this);
- mDownArrowApp = (AppSelectListPreference) findPreference(KEY_DOWN_ARROW_APP);
- mDownArrowApp.setEnabled(isGestureSupported(KEY_DOWN_ARROW_APP));
+ mLetterVGesture = (AppSelectListPreference) findPreference(KEY_V_APP);
+ mLetterVGesture.setEnabled(isGestureSupported(KEY_V_APP));
value = Settings.System.getString(getContext().getContentResolver(), DEVICE_GESTURE_MAPPING_2);
- mDownArrowApp.setValue(value);
- mDownArrowApp.setOnPreferenceChangeListener(this);
+ mLetterVGesture.setValue(value);
+ mLetterVGesture.setOnPreferenceChangeListener(this);
- mUpArrowApp = (AppSelectListPreference) findPreference(KEY_UP_ARROW_APP);
- mUpArrowApp.setEnabled(isGestureSupported(KEY_UP_ARROW_APP));
+ mLetterSGesture = (AppSelectListPreference) findPreference(KEY_S_APP);
+ mLetterSGesture.setEnabled(isGestureSupported(KEY_S_APP));
value = Settings.System.getString(getContext().getContentResolver(), DEVICE_GESTURE_MAPPING_3);
- mUpArrowApp.setValue(value);
- mUpArrowApp.setOnPreferenceChangeListener(this);
+ mLetterSGesture.setValue(value);
+ mLetterSGesture.setOnPreferenceChangeListener(this);
- mLeftArrowApp = (AppSelectListPreference) findPreference(KEY_LEFT_ARROW_APP);
- mLeftArrowApp.setEnabled(isGestureSupported(KEY_LEFT_ARROW_APP));
+ mLetterWGesture = (AppSelectListPreference) findPreference(KEY_W_APP);
+ mLetterWGesture.setEnabled(isGestureSupported(KEY_W_APP));
value = Settings.System.getString(getContext().getContentResolver(), DEVICE_GESTURE_MAPPING_4);
- mLeftArrowApp.setValue(value);
- mLeftArrowApp.setOnPreferenceChangeListener(this);
+ mLetterWGesture.setValue(value);
+ mLetterWGesture.setOnPreferenceChangeListener(this);
- mRightArrowApp = (AppSelectListPreference) findPreference(KEY_RIGHT_ARROW_APP);
- mRightArrowApp.setEnabled(isGestureSupported(KEY_RIGHT_ARROW_APP));
+ mLetterZGesture = (AppSelectListPreference) findPreference(KEY_Z_APP);
+ mLetterZGesture.setEnabled(isGestureSupported(KEY_Z_APP));
value = Settings.System.getString(getContext().getContentResolver(), DEVICE_GESTURE_MAPPING_5);
- mRightArrowApp.setValue(value);
- mRightArrowApp.setOnPreferenceChangeListener(this);
-
- mDownSwipeApp = (AppSelectListPreference) findPreference(KEY_DOWN_SWIPE_APP);
- mDownSwipeApp.setEnabled(isGestureSupported(KEY_DOWN_SWIPE_APP));
- value = Settings.System.getString(getContext().getContentResolver(), DEVICE_GESTURE_MAPPING_6);
- mDownSwipeApp.setValue(value);
- mDownSwipeApp.setOnPreferenceChangeListener(this);
+ mLetterZGesture.setValue(value);
+ mLetterZGesture.setOnPreferenceChangeListener(this);
mUpSwipeApp = (AppSelectListPreference) findPreference(KEY_UP_SWIPE_APP);
mUpSwipeApp.setEnabled(isGestureSupported(KEY_UP_SWIPE_APP));
- value = Settings.System.getString(getContext().getContentResolver(), DEVICE_GESTURE_MAPPING_7);
+ value = Settings.System.getString(getContext().getContentResolver(), DEVICE_GESTURE_MAPPING_6);
mUpSwipeApp.setValue(value);
mUpSwipeApp.setOnPreferenceChangeListener(this);
+ mDownSwipeApp = (AppSelectListPreference) findPreference(KEY_DOWN_SWIPE_APP);
+ mDownSwipeApp.setEnabled(isGestureSupported(KEY_DOWN_SWIPE_APP));
+ value = Settings.System.getString(getContext().getContentResolver(), DEVICE_GESTURE_MAPPING_7);
+ mDownSwipeApp.setValue(value);
+ mDownSwipeApp.setOnPreferenceChangeListener(this);
+
mLeftSwipeApp = (AppSelectListPreference) findPreference(KEY_LEFT_SWIPE_APP);
mLeftSwipeApp.setEnabled(isGestureSupported(KEY_LEFT_SWIPE_APP));
value = Settings.System.getString(getContext().getContentResolver(), DEVICE_GESTURE_MAPPING_8);
@@ -199,45 +200,45 @@
@Override
public boolean onPreferenceChange(Preference preference, Object newValue) {
- if (preference == mDoubleSwipeApp) {
+ if (preference == mLetterCGesture) {
String value = (String) newValue;
boolean gestureDisabled = value.equals(AppSelectListPreference.DISABLED_ENTRY);
- setGestureEnabled(KEY_DOUBLE_SWIPE_APP, !gestureDisabled);
+ setGestureEnabled(KEY_C_APP, !gestureDisabled);
Settings.System.putString(getContext().getContentResolver(), DEVICE_GESTURE_MAPPING_0, value);
- } else if (preference == mCircleApp) {
+ } else if (preference == mLetterEGesture) {
String value = (String) newValue;
boolean gestureDisabled = value.equals(AppSelectListPreference.DISABLED_ENTRY);
- setGestureEnabled(KEY_CIRCLE_APP, !gestureDisabled);
+ setGestureEnabled(KEY_E_APP, !gestureDisabled);
Settings.System.putString(getContext().getContentResolver(), DEVICE_GESTURE_MAPPING_1, value);
- } else if (preference == mDownArrowApp) {
+ } else if (preference == mLetterVGesture) {
String value = (String) newValue;
boolean gestureDisabled = value.equals(AppSelectListPreference.DISABLED_ENTRY);
- setGestureEnabled(KEY_DOWN_ARROW_APP, !gestureDisabled);
+ setGestureEnabled(KEY_V_APP, !gestureDisabled);
Settings.System.putString(getContext().getContentResolver(), DEVICE_GESTURE_MAPPING_2, value);
- } else if (preference == mUpArrowApp) {
+ } else if (preference == mLetterSGesture) {
String value = (String) newValue;
boolean gestureDisabled = value.equals(AppSelectListPreference.DISABLED_ENTRY);
- setGestureEnabled(KEY_UP_ARROW_APP, !gestureDisabled);
+ setGestureEnabled(KEY_S_APP, !gestureDisabled);
Settings.System.putString(getContext().getContentResolver(), DEVICE_GESTURE_MAPPING_3, value);
- } else if (preference == mLeftArrowApp) {
+ } else if (preference == mLetterWGesture) {
String value = (String) newValue;
boolean gestureDisabled = value.equals(AppSelectListPreference.DISABLED_ENTRY);
- setGestureEnabled(KEY_LEFT_ARROW_APP, !gestureDisabled);
+ setGestureEnabled(KEY_W_APP, !gestureDisabled);
Settings.System.putString(getContext().getContentResolver(), DEVICE_GESTURE_MAPPING_4, value);
- } else if (preference == mRightArrowApp) {
+ } else if (preference == mLetterZGesture) {
String value = (String) newValue;
boolean gestureDisabled = value.equals(AppSelectListPreference.DISABLED_ENTRY);
- setGestureEnabled(KEY_RIGHT_ARROW_APP, !gestureDisabled);
+ setGestureEnabled(KEY_Z_APP, !gestureDisabled);
Settings.System.putString(getContext().getContentResolver(), DEVICE_GESTURE_MAPPING_5, value);
- } else if (preference == mDownSwipeApp) {
- String value = (String) newValue;
- boolean gestureDisabled = value.equals(AppSelectListPreference.DISABLED_ENTRY);
- setGestureEnabled(KEY_DOWN_SWIPE_APP, !gestureDisabled);
- Settings.System.putString(getContext().getContentResolver(), DEVICE_GESTURE_MAPPING_6, value);
} else if (preference == mUpSwipeApp) {
String value = (String) newValue;
boolean gestureDisabled = value.equals(AppSelectListPreference.DISABLED_ENTRY);
setGestureEnabled(KEY_UP_SWIPE_APP, !gestureDisabled);
+ Settings.System.putString(getContext().getContentResolver(), DEVICE_GESTURE_MAPPING_6, value);
+ } else if (preference == mDownSwipeApp) {
+ String value = (String) newValue;
+ boolean gestureDisabled = value.equals(AppSelectListPreference.DISABLED_ENTRY);
+ setGestureEnabled(KEY_DOWN_SWIPE_APP, !gestureDisabled);
Settings.System.putString(getContext().getContentResolver(), DEVICE_GESTURE_MAPPING_7, value);
} else if (preference == mLeftSwipeApp) {
String value = (String) newValue;
@@ -258,26 +259,26 @@
public static String getGestureFile(String key) {
switch(key) {
- case KEY_CIRCLE_APP:
- return "/proc/touchpanel/letter_o_enable";
- case KEY_DOUBLE_SWIPE_APP:
- return "/proc/touchpanel/double_swipe_enable";
- case KEY_DOWN_ARROW_APP:
- return "/proc/touchpanel/down_arrow_enable";
- case KEY_UP_ARROW_APP:
- return "/proc/touchpanel/up_arrow_enable";
- case KEY_LEFT_ARROW_APP:
- return "/proc/touchpanel/left_arrow_enable";
- case KEY_RIGHT_ARROW_APP:
- return "/proc/touchpanel/right_arrow_enable";
- case KEY_DOWN_SWIPE_APP:
- return "/proc/touchpanel/down_swipe_enable";
+ case KEY_C_APP:
+ return "/sys/devices/platform/soc/c80000.i2c/i2c-4/4-0038/fts_gesture_c_mode";
+ case KEY_E_APP:
+ return "/sys/devices/platform/soc/c80000.i2c/i2c-4/4-0038/fts_gesture_e_mode";
+ case KEY_V_APP:
+ return "/sys/devices/platform/soc/c80000.i2c/i2c-4/4-0038/fts_gesture_v_mode";
+ case KEY_S_APP:
+ return "/sys/devices/platform/soc/c80000.i2c/i2c-4/4-0038/fts_gesture_s_mode";
+ case KEY_W_APP:
+ return "/sys/devices/platform/soc/c80000.i2c/i2c-4/4-0038/fts_gesture_w_mode";
+ case KEY_Z_APP:
+ return "/sys/devices/platform/soc/c80000.i2c/i2c-4/4-0038/fts_gesture_z_mode";
case KEY_UP_SWIPE_APP:
- return "/proc/touchpanel/up_swipe_enable";
+ return "/sys/devices/platform/soc/c80000.i2c/i2c-4/4-0038/fts_gesture_up_mode";
+ case KEY_DOWN_SWIPE_APP:
+ return "/sys/devices/platform/soc/c80000.i2c/i2c-4/4-0038/fts_gesture_down_mode";
case KEY_LEFT_SWIPE_APP:
- return "/proc/touchpanel/left_swipe_enable";
+ return "/sys/devices/platform/soc/c80000.i2c/i2c-4/4-0038/fts_gesture_left_mode";
case KEY_RIGHT_SWIPE_APP:
- return "/proc/touchpanel/right_swipe_enable";
+ return "/sys/devices/platform/soc/c80000.i2c/i2c-4/4-0038/fts_gesture_right_mode";
}
return null;
}
@@ -348,12 +349,12 @@
@Override
protected void onPostExecute(Void feed) {
- mDoubleSwipeApp.setPackageList(mInstalledPackages);
- mCircleApp.setPackageList(mInstalledPackages);
- mDownArrowApp.setPackageList(mInstalledPackages);
- mUpArrowApp.setPackageList(mInstalledPackages);
- mLeftArrowApp.setPackageList(mInstalledPackages);
- mRightArrowApp.setPackageList(mInstalledPackages);
+ mLetterEGesture.setPackageList(mInstalledPackages);
+ mLetterCGesture.setPackageList(mInstalledPackages);
+ mLetterVGesture.setPackageList(mInstalledPackages);
+ mLetterSGesture.setPackageList(mInstalledPackages);
+ mLetterWGesture.setPackageList(mInstalledPackages);
+ mLetterZGesture.setPackageList(mInstalledPackages);
mDownSwipeApp.setPackageList(mInstalledPackages);
mUpSwipeApp.setPackageList(mInstalledPackages);
mLeftSwipeApp.setPackageList(mInstalledPackages);
diff --git a/DeviceParts/src/org/omnirom/device/KeyHandler.java b/DeviceParts/src/org/omnirom/device/KeyHandler.java
index c591afa..99466ea 100644
--- a/DeviceParts/src/org/omnirom/device/KeyHandler.java
+++ b/DeviceParts/src/org/omnirom/device/KeyHandler.java
@@ -72,63 +72,57 @@
private static final boolean DEBUG_SENSOR = true;
protected static final int GESTURE_REQUEST = 1;
- private static final int GESTURE_WAKELOCK_DURATION = 2000;
+ private static final int GESTURE_WAKELOCK_DURATION = 1000;
- private static final int GESTURE_CIRCLE_SCANCODE = 250;
- private static final int GESTURE_V_SCANCODE = 252;
- private static final int GESTURE_II_SCANCODE = 251;
- private static final int GESTURE_LEFT_V_SCANCODE = 253;
- private static final int GESTURE_RIGHT_V_SCANCODE = 254;
- private static final int GESTURE_A_SCANCODE = 255;
- private static final int GESTURE_RIGHT_SWIPE_SCANCODE = 63;
- private static final int GESTURE_LEFT_SWIPE_SCANCODE = 64;
- private static final int GESTURE_DOWN_SWIPE_SCANCODE = 65;
- private static final int GESTURE_UP_SWIPE_SCANCODE = 66;
+ private static final int KEY_GESTURE_UP_SWIPE = 258;
+ private static final int KEY_GESTURE_DOWN_SWIPE = 259;
+ private static final int KEY_GESTURE_LEFT_SWIPE = 260;
+ private static final int KEY_GESTURE_RIGHT_SWIPE = 261;
+ private static final int KEY_GESTURE_C = 269;
+ private static final int KEY_GESTURE_E = 263;
+ private static final int KEY_GESTURE_S = 267;
+ private static final int KEY_GESTURE_V = 268;
+ private static final int KEY_GESTURE_W = 266;
+ private static final int KEY_GESTURE_Z = 270;
private static final int KEY_DOUBLE_TAP = 143;
private static final int KEY_HOME = 102;
private static final int KEY_BACK = 158;
private static final int KEY_RECENTS = 580;
- private static final int KEY_SLIDER_TOP = 601;
- private static final int KEY_SLIDER_CENTER = 602;
- private static final int KEY_SLIDER_BOTTOM = 603;
private static final int MIN_PULSE_INTERVAL_MS = 2500;
private static final String DOZE_INTENT = "com.android.systemui.doze.pulse";
private static final int HANDWAVE_MAX_DELTA_MS = 1000;
private static final int POCKET_MIN_DELTA_MS = 5000;
- private static final int FP_GESTURE_LONG_PRESS = 305;
+ private static final int FP_GESTURE_LONG_PRESS = 188;
private static final int[] sSupportedGestures = new int[]{
- GESTURE_II_SCANCODE,
- GESTURE_CIRCLE_SCANCODE,
- GESTURE_V_SCANCODE,
- GESTURE_A_SCANCODE,
- GESTURE_LEFT_V_SCANCODE,
- GESTURE_RIGHT_V_SCANCODE,
- GESTURE_DOWN_SWIPE_SCANCODE,
- GESTURE_UP_SWIPE_SCANCODE,
- GESTURE_LEFT_SWIPE_SCANCODE,
- GESTURE_RIGHT_SWIPE_SCANCODE,
- KEY_DOUBLE_TAP,
- KEY_SLIDER_TOP,
- KEY_SLIDER_CENTER,
- KEY_SLIDER_BOTTOM,
+ KEY_GESTURE_C,
+ KEY_GESTURE_E,
+ KEY_GESTURE_V,
+ KEY_GESTURE_S,
+ KEY_GESTURE_W,
+ KEY_GESTURE_Z,
+ KEY_GESTURE_UP_SWIPE,
+ KEY_GESTURE_DOWN_SWIPE,
+ KEY_GESTURE_LEFT_SWIPE,
+ KEY_GESTURE_RIGHT_SWIPE,
+ //KEY_DOUBLE_TAP,
FP_GESTURE_LONG_PRESS
};
private static final int[] sProxiCheckedGestures = new int[]{
- GESTURE_II_SCANCODE,
- GESTURE_CIRCLE_SCANCODE,
- GESTURE_V_SCANCODE,
- GESTURE_A_SCANCODE,
- GESTURE_LEFT_V_SCANCODE,
- GESTURE_RIGHT_V_SCANCODE,
- GESTURE_DOWN_SWIPE_SCANCODE,
- GESTURE_UP_SWIPE_SCANCODE,
- GESTURE_LEFT_SWIPE_SCANCODE,
- GESTURE_RIGHT_SWIPE_SCANCODE,
- KEY_DOUBLE_TAP
+ KEY_GESTURE_C,
+ KEY_GESTURE_E,
+ KEY_GESTURE_V,
+ KEY_GESTURE_S,
+ KEY_GESTURE_W,
+ KEY_GESTURE_Z,
+ KEY_GESTURE_UP_SWIPE,
+ KEY_GESTURE_DOWN_SWIPE,
+ KEY_GESTURE_LEFT_SWIPE,
+ KEY_GESTURE_RIGHT_SWIPE
+ //KEY_DOUBLE_TAP
};
protected final Context mContext;
@@ -155,8 +149,6 @@
private boolean isFpgesture;
private boolean isOPCameraAvail;
private boolean mRestoreUser;
- private boolean mToggleTorch = false;
- private boolean mTorchState = false;
private SensorEventListener mProximitySensor = new SensorEventListener() {
@Override
@@ -268,9 +260,7 @@
mNoMan = (NotificationManager) mContext.getSystemService(Context.NOTIFICATION_SERVICE);
mAudioManager = (AudioManager) mContext.getSystemService(Context.AUDIO_SERVICE);
mSensorManager = (SensorManager) mContext.getSystemService(Context.SENSOR_SERVICE);
- //mTiltSensor = getSensor(mSensorManager, "oneplus.sensor.op_motion_detect");
mTiltSensor = mSensorManager.getDefaultSensor(Sensor.TYPE_TILT_DETECTOR);
- //mPocketSensor = getSensor(mSensorManager, "oneplus.sensor.pocket");
mPocketSensor = mSensorManager.getDefaultSensor(Sensor.TYPE_PROXIMITY);
IntentFilter systemStateFilter = new IntentFilter(Intent.ACTION_SCREEN_ON);
systemStateFilter.addAction(Intent.ACTION_SCREEN_OFF);
@@ -425,30 +415,6 @@
}
}
- private void disableTorch() {
- if (mTorchState) {
- mToggleTorch = true;
- mTorchState = false;
- toggleTorch();
- }
- }
-
- private void toggleTorch() {
- IStatusBarService service = getStatusBarService();
- if (service != null) {
- try {
- if (mToggleTorch) {
- service.toggleCameraFlashState(mTorchState);
- mToggleTorch = false;
- } else {
- service.toggleCameraFlash();
- }
- } catch (RemoteException e) {
- // do nothing.
- }
- }
- }
-
private Intent createIntent(String value) {
ComponentName componentName = ComponentName.unflattenFromString(value);
Intent intent = new Intent(Intent.ACTION_MAIN);
@@ -462,8 +428,15 @@
private boolean launchSpecialActions(String value) {
if (value.equals(AppSelectListPreference.TORCH_ENTRY)) {
mGestureWakeLock.acquire(GESTURE_WAKELOCK_DURATION);
- toggleTorch();
- OmniVibe.performHapticFeedbackLw(HapticFeedbackConstants.LONG_PRESS, false, mContext);
+ IStatusBarService service = getStatusBarService();
+ if (service != null) {
+ try {
+ service.toggleCameraFlash();
+ OmniVibe.performHapticFeedbackLw(HapticFeedbackConstants.LONG_PRESS, false, mContext);
+ } catch (RemoteException e) {
+ // do nothing.
+ }
+ }
return true;
} else if (value.equals(AppSelectListPreference.MUSIC_PLAY_ENTRY)) {
mGestureWakeLock.acquire(GESTURE_WAKELOCK_DURATION);
@@ -518,34 +491,34 @@
private String getGestureValueForScanCode(int scanCode) {
switch(scanCode) {
- case GESTURE_II_SCANCODE:
+ case KEY_GESTURE_C:
return Settings.System.getStringForUser(mContext.getContentResolver(),
GestureSettings.DEVICE_GESTURE_MAPPING_0, UserHandle.USER_CURRENT);
- case GESTURE_CIRCLE_SCANCODE:
+ case KEY_GESTURE_E:
return Settings.System.getStringForUser(mContext.getContentResolver(),
GestureSettings.DEVICE_GESTURE_MAPPING_1, UserHandle.USER_CURRENT);
- case GESTURE_V_SCANCODE:
+ case KEY_GESTURE_V:
return Settings.System.getStringForUser(mContext.getContentResolver(),
GestureSettings.DEVICE_GESTURE_MAPPING_2, UserHandle.USER_CURRENT);
- case GESTURE_A_SCANCODE:
+ case KEY_GESTURE_S:
return Settings.System.getStringForUser(mContext.getContentResolver(),
GestureSettings.DEVICE_GESTURE_MAPPING_3, UserHandle.USER_CURRENT);
- case GESTURE_LEFT_V_SCANCODE:
+ case KEY_GESTURE_W:
return Settings.System.getStringForUser(mContext.getContentResolver(),
GestureSettings.DEVICE_GESTURE_MAPPING_4, UserHandle.USER_CURRENT);
- case GESTURE_RIGHT_V_SCANCODE:
+ case KEY_GESTURE_Z:
return Settings.System.getStringForUser(mContext.getContentResolver(),
GestureSettings.DEVICE_GESTURE_MAPPING_5, UserHandle.USER_CURRENT);
- case GESTURE_DOWN_SWIPE_SCANCODE:
+ case KEY_GESTURE_UP_SWIPE:
return Settings.System.getStringForUser(mContext.getContentResolver(),
GestureSettings.DEVICE_GESTURE_MAPPING_6, UserHandle.USER_CURRENT);
- case GESTURE_UP_SWIPE_SCANCODE:
+ case KEY_GESTURE_DOWN_SWIPE:
return Settings.System.getStringForUser(mContext.getContentResolver(),
GestureSettings.DEVICE_GESTURE_MAPPING_7, UserHandle.USER_CURRENT);
- case GESTURE_LEFT_SWIPE_SCANCODE:
+ case KEY_GESTURE_LEFT_SWIPE:
return Settings.System.getStringForUser(mContext.getContentResolver(),
GestureSettings.DEVICE_GESTURE_MAPPING_8, UserHandle.USER_CURRENT);
- case GESTURE_RIGHT_SWIPE_SCANCODE:
+ case KEY_GESTURE_RIGHT_SWIPE:
return Settings.System.getStringForUser(mContext.getContentResolver(),
GestureSettings.DEVICE_GESTURE_MAPPING_9, UserHandle.USER_CURRENT);
}
@@ -595,9 +568,4 @@
IStatusBarService getStatusBarService() {
return IStatusBarService.Stub.asInterface(ServiceManager.getService("statusbar"));
}
-
- @Override
- public boolean getCustomProxiIsNear(SensorEvent event) {
- return event.values[0] == 1;
- }
}
diff --git a/DeviceParts/src/org/omnirom/device/Startup.java b/DeviceParts/src/org/omnirom/device/Startup.java
index 5920134..b853564 100644
--- a/DeviceParts/src/org/omnirom/device/Startup.java
+++ b/DeviceParts/src/org/omnirom/device/Startup.java
@@ -66,7 +66,7 @@
Settings.System.putString(context.getContentResolver(), mapping, value);
}
boolean enabled = !value.equals(AppSelectListPreference.DISABLED_ENTRY);
- restore(getGestureFile(GestureSettings.KEY_DOUBLE_SWIPE_APP), enabled);
+ restore(getGestureFile(GestureSettings.KEY_C_APP), enabled);
// circle -> camera
mapping = GestureSettings.DEVICE_GESTURE_MAPPING_1;
@@ -76,7 +76,7 @@
Settings.System.putString(context.getContentResolver(), mapping, value);
}
enabled = !value.equals(AppSelectListPreference.DISABLED_ENTRY);
- restore(getGestureFile(GestureSettings.KEY_CIRCLE_APP), enabled);
+ restore(getGestureFile(GestureSettings.KEY_E_APP), enabled);
// down arrow -> flashlight
mapping = GestureSettings.DEVICE_GESTURE_MAPPING_2;
@@ -86,12 +86,17 @@
Settings.System.putString(context.getContentResolver(), mapping, value);
}
enabled = !value.equals(AppSelectListPreference.DISABLED_ENTRY);
- restore(getGestureFile(GestureSettings.KEY_DOWN_ARROW_APP), enabled);
+ restore(getGestureFile(GestureSettings.KEY_V_APP), enabled);
// up arrow
+ mapping = GestureSettings.DEVICE_GESTURE_MAPPING_3;
+ if (TextUtils.isEmpty(value)) {
+ value = AppSelectListPreference.TORCH_ENTRY;
+ Settings.System.putString(context.getContentResolver(), mapping, value);
+ }
value = Settings.System.getString(context.getContentResolver(), GestureSettings.DEVICE_GESTURE_MAPPING_3);
enabled = !TextUtils.isEmpty(value) && !value.equals(AppSelectListPreference.DISABLED_ENTRY);
- restore(getGestureFile(GestureSettings.KEY_UP_ARROW_APP), enabled);
+ restore(getGestureFile(GestureSettings.KEY_S_APP), enabled);
// left arrow -> music prev
mapping = GestureSettings.DEVICE_GESTURE_MAPPING_4;
@@ -101,7 +106,7 @@
Settings.System.putString(context.getContentResolver(), mapping, value);
}
enabled = !value.equals(AppSelectListPreference.DISABLED_ENTRY);
- restore(getGestureFile(GestureSettings.KEY_LEFT_ARROW_APP), enabled);
+ restore(getGestureFile(GestureSettings.KEY_W_APP), enabled);
// right arrow -> music next
mapping = GestureSettings.DEVICE_GESTURE_MAPPING_5;
@@ -111,18 +116,18 @@
Settings.System.putString(context.getContentResolver(), mapping, value);
}
enabled = !value.equals(AppSelectListPreference.DISABLED_ENTRY);
- restore(getGestureFile(GestureSettings.KEY_RIGHT_ARROW_APP), enabled);
-
- // down swipe
- value = Settings.System.getString(context.getContentResolver(), GestureSettings.DEVICE_GESTURE_MAPPING_6);
- enabled = !TextUtils.isEmpty(value) && !value.equals(AppSelectListPreference.DISABLED_ENTRY);
- restore(getGestureFile(GestureSettings.KEY_DOWN_SWIPE_APP), enabled);
+ restore(getGestureFile(GestureSettings.KEY_Z_APP), enabled);
// up swipe
- value = Settings.System.getString(context.getContentResolver(), GestureSettings.DEVICE_GESTURE_MAPPING_7);
+ value = Settings.System.getString(context.getContentResolver(), GestureSettings.DEVICE_GESTURE_MAPPING_6);
enabled = !TextUtils.isEmpty(value) && !value.equals(AppSelectListPreference.DISABLED_ENTRY);
restore(getGestureFile(GestureSettings.KEY_UP_SWIPE_APP), enabled);
+ // down swipe
+ value = Settings.System.getString(context.getContentResolver(), GestureSettings.DEVICE_GESTURE_MAPPING_7);
+ enabled = !TextUtils.isEmpty(value) && !value.equals(AppSelectListPreference.DISABLED_ENTRY);
+ restore(getGestureFile(GestureSettings.KEY_DOWN_SWIPE_APP), enabled);
+
// left swipe
value = Settings.System.getString(context.getContentResolver(), GestureSettings.DEVICE_GESTURE_MAPPING_8);
enabled = !TextUtils.isEmpty(value) && !value.equals(AppSelectListPreference.DISABLED_ENTRY);
diff --git a/keylayout/fts_ts.kl b/keylayout/fts_ts.kl
index 089d86e..0f8d162 100644
--- a/keylayout/fts_ts.kl
+++ b/keylayout/fts_ts.kl
@@ -1,11 +1,15 @@
-key 116 GESTURE_DOUBLE_CLICK WAKE VIRTUAL
-key 103 GESTURE_SWIPE_UP WAKE VIRTUAL
+#key 116 GESTURE_DOUBLE_CLICK WAKE VIRTUAL
+#key 103 GESTURE_SWIPE_UP WAKE VIRTUAL
key 158 BACK VIRTUAL
-key 139 APP_SWITCH VIRTUAL
+#key 139 APP_SWITCH VIRTUAL
key 102 HOME VIRTUAL
-key 17 GESTURE_W WAKE VIRTUAL
-key 31 GESTURE_S WAKE VIRTUAL
-key 18 GESTURE_E WAKE VIRTUAL
-key 46 GESTURE_C WAKE VIRTUAL
-key 44 GESTURE_Z WAKE VIRTUAL
-key 47 GESTURE_V WAKE VIRTUAL
+key 258 GESTURE_UP_SWIPE WAKE VIRTUAL
+key 259 GESTURE_DOWN_SWIPE WAKE VIRTUAL
+key 260 GESTURE_LEFT_SWIPE WAKE VIRTUAL
+key 261 GESTURE_RIGHT_SWIPE WAKE VIRTUAL
+key 266 GESTURE_W WAKE VIRTUAL
+key 267 GESTURE_S WAKE VIRTUAL
+key 263 GESTURE_E WAKE VIRTUAL
+key 269 GESTURE_C WAKE VIRTUAL
+key 270 GESTURE_Z WAKE VIRTUAL
+key 268 GESTURE_V WAKE VIRTUAL
\ No newline at end of file
diff --git a/keylayout/goodixfp.kl b/keylayout/goodixfp.kl
index 3ec1325..b06d453 100644
--- a/keylayout/goodixfp.kl
+++ b/keylayout/goodixfp.kl
@@ -1,10 +1,4 @@
-key 102 HOME VIRTUAL
-key 103 SYSTEM_NAVIGATION_UP GESTURE
-key 105 SYSTEM_NAVIGATION_LEFT GESTURE
-key 106 SYSTEM_NAVIGATION_RIGHT GESTURE
-key 108 SYSTEM_NAVIGATION_DOWN GESTURE
-
-key 187 FINGERPRINT_TAP GESTURE
-key 188 FINGERPRINT_DTAP GESTURE
-key 189 FINGERPRINT_LONGPRESS GESTURE
-key 192 FINGERPRINT_EARLYWAKEUP GESTURE
+key 103 SYSTEM_NAVIGATION_UP
+key 108 SYSTEM_NAVIGATION_DOWN
+key 105 SYSTEM_NAVIGATION_LEFT
+key 106 SYSTEM_NAVIGATION_RIGHT
\ No newline at end of file
diff --git a/prebuilt/system/etc/init/init.qcom.rc b/prebuilt/system/etc/init/init.qcom.rc
index 77d8b60..198323a 100644
--- a/prebuilt/system/etc/init/init.qcom.rc
+++ b/prebuilt/system/etc/init/init.qcom.rc
@@ -2,4 +2,39 @@
mount none /system/etc/audio_policy_configuration.xml /vendor/etc/audio/audio_policy_configuration.xml bind
mount none /system/etc/fstab.qcom /vendor/etc/fstab.qcom bind
mount none /system/lib/modules/wlan.ko /vendor/lib/modules/qca_cld3_wlan.ko bind
- mount none /system/lib64/hw/lights.msmnile.so /vendor/lib64/hw/lights.msmnile.so bind
\ No newline at end of file
+ mount none /system/lib64/hw/lights.msmnile.so /vendor/lib64/hw/lights.msmnile.so bind
+
+on boot
+ # Gestures
+ chown system system /sys/devices/platform/soc/c80000.i2c/i2c-4/4-0038/fts_gesture_mode
+ chmod 0660 /sys/devices/platform/soc/c80000.i2c/i2c-4/4-0038/fts_gesture_mode
+
+ chown system system /sys/devices/platform/soc/c80000.i2c/i2c-4/4-0038/fts_gesture_c_mode
+ chmod 0660 /sys/devices/platform/soc/c80000.i2c/i2c-4/4-0038/fts_gesture_c_mode
+
+ chown system system /sys/devices/platform/soc/c80000.i2c/i2c-4/4-0038/fts_gesture_e_mode
+ chmod 0660 /sys/devices/platform/soc/c80000.i2c/i2c-4/4-0038/fts_gesture_e_mode
+
+ chown system system /sys/devices/platform/soc/c80000.i2c/i2c-4/4-0038/fts_gesture_v_mode
+ chmod 0660 /sys/devices/platform/soc/c80000.i2c/i2c-4/4-0038/fts_gesture_v_mode
+
+ chown system system /sys/devices/platform/soc/c80000.i2c/i2c-4/4-0038/fts_gesture_s_mode
+ chmod 0660 /sys/devices/platform/soc/c80000.i2c/i2c-4/4-0038/fts_gesture_s_mode
+
+ chown system system /sys/devices/platform/soc/c80000.i2c/i2c-4/4-0038/fts_gesture_w_mode
+ chmod 0660 /sys/devices/platform/soc/c80000.i2c/i2c-4/4-0038/fts_gesture_w_mode
+
+ chown system system /sys/devices/platform/soc/c80000.i2c/i2c-4/4-0038/fts_gesture_z_mode
+ chmod 0660 /sys/devices/platform/soc/c80000.i2c/i2c-4/4-0038/fts_gesture_z_mode
+
+ chown system system /sys/devices/platform/soc/c80000.i2c/i2c-4/4-0038/fts_gesture_left_mode
+ chmod 0660 /sys/devices/platform/soc/c80000.i2c/i2c-4/4-0038/fts_gesture_left_mode
+
+ chown system system /sys/devices/platform/soc/c80000.i2c/i2c-4/4-0038/fts_gesture_right_mode
+ chmod 0660 /sys/devices/platform/soc/c80000.i2c/i2c-4/4-0038/fts_gesture_right_mode
+
+ chown system system /sys/devices/platform/soc/c80000.i2c/i2c-4/4-0038/fts_gesture_up_mode
+ chmod 0660 /sys/devices/platform/soc/c80000.i2c/i2c-4/4-0038/fts_gesture_up_mode
+
+ 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
diff --git a/sepolicy/private/file.te b/sepolicy/private/file.te
index b99e56a..d5662e6 100644
--- a/sepolicy/private/file.te
+++ b/sepolicy/private/file.te
@@ -2,4 +2,17 @@
type asdf_file, file_type;
type demoapp_file, file_type;
type voucher_file, file_type;
-type xrom_file, file_type;
\ No newline at end of file
+type xrom_file, file_type;
+
+# Offscreen Gestures
+type fts_gesture_mode, fs_type;
+type fts_gesture_c_mode, fs_type;
+type fts_gesture_e_mode, fs_type;
+type fts_gesture_v_mode, fs_type;
+type fts_gesture_s_mode, fs_type;
+type fts_gesture_w_mode, fs_type;
+type fts_gesture_z_mode, fs_type;
+type fts_gesture_left_mode, fs_type;
+type fts_gesture_right_mode, fs_type;
+type fts_gesture_up_mode, fs_type;
+type fts_gesture_down_mode, fs_type;
\ No newline at end of file
diff --git a/sepolicy/private/system_app.te b/sepolicy/private/system_app.te
new file mode 100644
index 0000000..ca8d554
--- /dev/null
+++ b/sepolicy/private/system_app.te
@@ -0,0 +1,27 @@
+allow system_app {
+ fts_gesture_mode
+ -fts_gesture_c_mode
+ -fts_gesture_e_mode
+ -fts_gesture_v_mode
+ -fts_gesture_s_mode
+ -fts_gesture_w_mode
+ -fts_gesture_z_mode
+ -fts_gesture_up_mode
+ -fts_gesture_down_mode
+ -fts_gesture_left_mode
+ -fts_gesture_right_mode
+}:file { open write };
+
+allow system_app {
+ fts_gesture_mode
+ -fts_gesture_c_mode
+ -fts_gesture_e_mode
+ -fts_gesture_v_mode
+ -fts_gesture_s_mode
+ -fts_gesture_w_mode
+ -fts_gesture_z_mode
+ -fts_gesture_up_mode
+ -fts_gesture_down_mode
+ -fts_gesture_left_mode
+ -fts_gesture_right_mode
+}:file getattr;
\ No newline at end of file