diff options
| author | jrior001 <jriordan001@gmail.com> | 2016-12-10 00:17:14 -0500 |
|---|---|---|
| committer | Jason Riordan <jriordan001@gmail.com> | 2017-02-01 22:01:19 -0500 |
| commit | 812f7599184357b39cc4b7606491003700fd43b7 (patch) | |
| tree | f0655291dc34ed296dd9419c77a305ff87de738b | |
| parent | a05d91d231bcd99630ce56f8b7e13148f82d780b (diff) | |
mofd-common: Remove keyhandler
Change-Id: I7e918b97b01769e1e40f735bc8094068c712148c
| -rw-r--r-- | keyhandler/Android.mk | 11 | ||||
| -rw-r--r-- | keyhandler/src/com/cyanogenmod/settings/device/KeyHandler.java | 304 | ||||
| -rw-r--r-- | mofd.mk | 4 | ||||
| -rw-r--r-- | overlay/frameworks/base/core/res/res/values/config.xml | 8 |
4 files changed, 0 insertions, 327 deletions
diff --git a/keyhandler/Android.mk b/keyhandler/Android.mk deleted file mode 100644 index 66baa7f..0000000 --- a/keyhandler/Android.mk +++ /dev/null @@ -1,11 +0,0 @@ -LOCAL_PATH:= $(call my-dir) - -include $(CLEAR_VARS) - -LOCAL_MODULE := com.cyanogenmod.keyhandler -LOCAL_SRC_FILES := $(call all-java-files-under,src) -LOCAL_MODULE_TAGS := optional -LOCAL_DEX_PREOPT := false -LOCAL_STATIC_JAVA_LIBRARIES := org.cyanogenmod.platform.internal -include $(BUILD_JAVA_LIBRARY) - diff --git a/keyhandler/src/com/cyanogenmod/settings/device/KeyHandler.java b/keyhandler/src/com/cyanogenmod/settings/device/KeyHandler.java deleted file mode 100644 index 8a0bd16..0000000 --- a/keyhandler/src/com/cyanogenmod/settings/device/KeyHandler.java +++ /dev/null @@ -1,304 +0,0 @@ -/* - * Copyright (C) 2015-2016 The CyanogenMod Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.cyanogenmod.settings.device; - -import android.Manifest; -import android.content.ActivityNotFoundException; -import android.content.ContentResolver; -import android.content.Context; -import android.content.Intent; -import android.content.pm.PackageManager; -import android.content.res.Resources; -import android.hardware.Sensor; -import android.hardware.SensorEvent; -import android.hardware.SensorEventListener; -import android.hardware.SensorManager; -import android.hardware.camera2.CameraAccessException; -import android.hardware.camera2.CameraCharacteristics; -import android.hardware.camera2.CameraManager; -import android.media.AudioManager; -import android.os.Handler; -import android.os.Message; -import android.os.PowerManager; -import android.os.PowerManager.WakeLock; -import android.os.SystemClock; -import android.os.UserHandle; -import android.os.Vibrator; -import android.provider.Settings; -import android.provider.Settings.Secure; -import android.util.Log; -import android.view.KeyEvent; - -import com.android.internal.os.DeviceKeyHandler; -import com.android.internal.util.ArrayUtils; - -import cyanogenmod.providers.CMSettings; - -public class KeyHandler implements DeviceKeyHandler { - - private static final String TAG = KeyHandler.class.getSimpleName(); - private static final int GESTURE_REQUEST = 1; - - // Supported scancodes - private static final int KEY_GESTURE_C = 249; - private static final int KEY_GESTURE_E = 250; - private static final int KEY_GESTURE_S = 251; - private static final int KEY_GESTURE_V = 252; - private static final int KEY_GESTURE_W = 253; - private static final int KEY_GESTURE_Z = 254; - - private static final int GESTURE_WAKELOCK_DURATION = 3000; - - public static final String SMS_DEFAULT_APPLICATION = "sms_default_application"; - - private static final int[] sSupportedGestures = new int[] { - KEY_GESTURE_C, - KEY_GESTURE_E, - KEY_GESTURE_S, - KEY_GESTURE_V, - KEY_GESTURE_W, - KEY_GESTURE_Z - }; - - private final Context mContext; - private final PowerManager mPowerManager; - private EventHandler mEventHandler; - private SensorManager mSensorManager; - private CameraManager mCameraManager; - private String mRearCameraId; - private boolean mTorchEnabled; - private Sensor mProximitySensor; - private Vibrator mVibrator; - WakeLock mProximityWakeLock; - WakeLock mGestureWakeLock; - private int mProximityTimeOut; - private boolean mProximityWakeSupported; - - public KeyHandler(Context context) { - mContext = context; - mPowerManager = (PowerManager) context.getSystemService(Context.POWER_SERVICE); - mEventHandler = new EventHandler(); - mGestureWakeLock = mPowerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, - "GestureWakeLock"); - - final Resources resources = mContext.getResources(); - mProximityTimeOut = resources.getInteger( - org.cyanogenmod.platform.internal.R.integer.config_proximityCheckTimeout); - mProximityWakeSupported = resources.getBoolean( - org.cyanogenmod.platform.internal.R.bool.config_proximityCheckOnWake); - - if (mProximityWakeSupported) { - mSensorManager = (SensorManager) context.getSystemService(Context.SENSOR_SERVICE); - mProximitySensor = mSensorManager.getDefaultSensor(Sensor.TYPE_PROXIMITY); - mProximityWakeLock = mPowerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, - "ProximityWakeLock"); - } - - mVibrator = (Vibrator) context.getSystemService(Context.VIBRATOR_SERVICE); - if (mVibrator == null || !mVibrator.hasVibrator()) { - mVibrator = null; - } - - mCameraManager = (CameraManager) mContext.getSystemService(Context.CAMERA_SERVICE); - mCameraManager.registerTorchCallback(new MyTorchCallback(), mEventHandler); - } - - private class MyTorchCallback extends CameraManager.TorchCallback { - @Override - public void onTorchModeChanged(String cameraId, boolean enabled) { - if (!cameraId.equals(mRearCameraId)) - return; - mTorchEnabled = enabled; - } - - @Override - public void onTorchModeUnavailable(String cameraId) { - if (!cameraId.equals(mRearCameraId)) - return; - mTorchEnabled = false; - } - } - - private String getRearCameraId() { - if (mRearCameraId == null) { - try { - for (final String cameraId : mCameraManager.getCameraIdList()) { - CameraCharacteristics characteristics = - mCameraManager.getCameraCharacteristics(cameraId); - int cOrientation = characteristics.get(CameraCharacteristics.LENS_FACING); - if (cOrientation == CameraCharacteristics.LENS_FACING_BACK) { - mRearCameraId = cameraId; - break; - } - } - } catch (CameraAccessException e) { - // Ignore - } - } - return mRearCameraId; - } - - private class EventHandler extends Handler { - @Override - public void handleMessage(Message msg) { - switch (msg.arg1) { - case KEY_GESTURE_C: - mGestureWakeLock.acquire(GESTURE_WAKELOCK_DURATION); - Intent c_intent = new Intent(cyanogenmod.content.Intent.ACTION_SCREEN_CAMERA_GESTURE); - mContext.sendBroadcast(c_intent, Manifest.permission.STATUS_BAR_SERVICE); - doHapticFeedback(); - break; - - case KEY_GESTURE_E: - mGestureWakeLock.acquire(GESTURE_WAKELOCK_DURATION); - mPowerManager.wakeUp(SystemClock.uptimeMillis(), "wakeup-gesture"); - Intent e_intent = new Intent(Intent.ACTION_MAIN, null); - e_intent.addCategory(Intent.CATEGORY_APP_EMAIL); - startActivitySafely(e_intent); - doHapticFeedback(); - break; - - case KEY_GESTURE_S: - - mGestureWakeLock.acquire(GESTURE_WAKELOCK_DURATION); - mPowerManager.wakeUp(SystemClock.uptimeMillis(), "wakeup-gesture"); - String defaultApplication = Settings.Secure.getString(mContext.getContentResolver(), - SMS_DEFAULT_APPLICATION); - PackageManager pm = mContext.getPackageManager(); - Intent s_intent = pm.getLaunchIntentForPackage(defaultApplication ); - if (s_intent != null) { - startActivitySafely(s_intent); - doHapticFeedback(); - } - break; - - case KEY_GESTURE_V: - mGestureWakeLock.acquire(GESTURE_WAKELOCK_DURATION); - mPowerManager.wakeUp(SystemClock.uptimeMillis(), "wakeup-gesture"); - Intent v_intent = new Intent(Intent.ACTION_DIAL, null); - startActivitySafely(v_intent); - doHapticFeedback(); - break; - - case KEY_GESTURE_W: - mGestureWakeLock.acquire(GESTURE_WAKELOCK_DURATION); - mPowerManager.wakeUp(SystemClock.uptimeMillis(), "wakeup-gesture"); - Intent w_intent = new Intent(Intent.ACTION_WEB_SEARCH, null); - startActivitySafely(w_intent); - doHapticFeedback(); - break; - - case KEY_GESTURE_Z: { - String rearCameraId = getRearCameraId(); - if (rearCameraId != null) { - mGestureWakeLock.acquire(GESTURE_WAKELOCK_DURATION); - try { - mCameraManager.setTorchMode(rearCameraId, !mTorchEnabled); - mTorchEnabled = !mTorchEnabled; - } catch (CameraAccessException e) { - // Ignore - } - doHapticFeedback(); - } - break; - } - } - } - } - - public boolean handleKeyEvent(KeyEvent event) { - boolean isKeySupported = ArrayUtils.contains(sSupportedGestures, event.getScanCode()); - if (!isKeySupported) { - return false; - } - - if (!mEventHandler.hasMessages(GESTURE_REQUEST)) { - Message msg = getMessageForKeyEvent(event.getScanCode()); - boolean defaultProximity = mContext.getResources().getBoolean( - org.cyanogenmod.platform.internal.R.bool.config_proximityCheckOnWakeEnabledByDefault); - boolean proximityWakeCheckEnabled = CMSettings.System.getInt(mContext.getContentResolver(), - CMSettings.System.PROXIMITY_ON_WAKE, defaultProximity ? 1 : 0) == 1; - if (mProximityWakeSupported && proximityWakeCheckEnabled && mProximitySensor != null) { - mEventHandler.sendMessageDelayed(msg, mProximityTimeOut); - processEvent(event.getScanCode()); - } else { - mEventHandler.sendMessage(msg); - } - } - return true; - } - - private Message getMessageForKeyEvent(int scancode) { - Message msg = mEventHandler.obtainMessage(GESTURE_REQUEST); - msg.arg1 = scancode; - return msg; - } - - private void processEvent(final int scancode) { - mProximityWakeLock.acquire(); - mSensorManager.registerListener(new SensorEventListener() { - @Override - public void onSensorChanged(SensorEvent event) { - mProximityWakeLock.release(); - mSensorManager.unregisterListener(this); - if (!mEventHandler.hasMessages(GESTURE_REQUEST)) { - // The sensor took to long, ignoring. - return; - } - mEventHandler.removeMessages(GESTURE_REQUEST); - if (event.values[0] == mProximitySensor.getMaximumRange()) { - Message msg = getMessageForKeyEvent(scancode); - mEventHandler.sendMessage(msg); - } - } - - @Override - public void onAccuracyChanged(Sensor sensor, int accuracy) {} - - }, mProximitySensor, SensorManager.SENSOR_DELAY_FASTEST); - } - - private void startActivitySafely(Intent intent) { - intent.addFlags( - Intent.FLAG_ACTIVITY_NEW_TASK - | Intent.FLAG_ACTIVITY_SINGLE_TOP - | Intent.FLAG_ACTIVITY_CLEAR_TOP); - try { - UserHandle user = new UserHandle(UserHandle.USER_CURRENT); - mContext.startActivityAsUser(intent, null, user); - } catch (ActivityNotFoundException e) { - // Ignore - } - } - - private void doHapticFeedback() { - AudioManager audioManager = (AudioManager) mContext.getSystemService( - Context.AUDIO_SERVICE); - - if (mVibrator == null) { - return; - } - - if (audioManager.getRingerMode() != AudioManager.RINGER_MODE_SILENT) { - boolean enabled = CMSettings.System.getInt(mContext.getContentResolver(), - CMSettings.System.TOUCHSCREEN_GESTURE_HAPTIC_FEEDBACK, 1) != 0; - if (enabled) { - mVibrator.vibrate(50); - } - } - } -} @@ -108,10 +108,6 @@ PRODUCT_PROPERTY_OVERRIDES += \ ADDITIONAL_DEFAULT_PROPERTIES += ro.dalvik.vm.native.bridge=libhoudini.so -# Keyhandler -PRODUCT_PACKAGES += \ - com.cyanogenmod.keyhandler - # Key layout files PRODUCT_COPY_FILES += \ device/asus/mofd-common/keylayout/ASUS_TransKeyboard.kl:system/usr/keylayout/ASUS_TransKeyboard.kl \ diff --git a/overlay/frameworks/base/core/res/res/values/config.xml b/overlay/frameworks/base/core/res/res/values/config.xml index f2af23b..39e6816 100644 --- a/overlay/frameworks/base/core/res/res/values/config.xml +++ b/overlay/frameworks/base/core/res/res/values/config.xml @@ -337,14 +337,6 @@ <bool name="config_auto_attach_data_on_creation">false</bool> - <!-- The list absolute paths of jar/apk files containing the device specific handlers, - delimited by File.pathSeparator, which defaults to ":" on Android --> - <string name="config_deviceKeyHandlerLib" translatable="false">/system/framework/com.cyanogenmod.keyhandler.jar</string> - - <!-- Full qualified name of the class that implements - com.android.internal.os.DeviceKeyHandler interface. --> - <string name="config_deviceKeyHandlerClass" translatable="false">com.cyanogenmod.settings.device.KeyHandler</string> - <!-- Disables Button backlight settings --> <integer name="config_buttonBrightnessSettingDefault">0</integer> |
