diff options
author | Danesh M <daneshm90@gmail.com> | 2012-01-01 23:52:41 -0500 |
---|---|---|
committer | Danesh M <daneshm90@gmail.com> | 2012-01-01 23:52:41 -0500 |
commit | b1e5eba50cef5d72d81b733f87ac39c09d4212de (patch) | |
tree | ef825052cfae4d8d88a21bf163f37e1eb0b8799a /policy | |
parent | d56520a3d738340248d2c8c4fb1f565ac3075f8f (diff) | |
download | frameworks_base-b1e5eba50cef5d72d81b733f87ac39c09d4212de.zip frameworks_base-b1e5eba50cef5d72d81b733f87ac39c09d4212de.tar.gz frameworks_base-b1e5eba50cef5d72d81b733f87ac39c09d4212de.tar.bz2 |
Long press to kill
Bring changes done in cm7 to ics.
- Vibrate on press
- Show message
- http://review.cyanogenmod.com/#change,5191,patchset=2
Diffstat (limited to 'policy')
-rwxr-xr-x | policy/src/com/android/internal/policy/impl/PhoneWindowManager.java | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java b/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java index 9511a62..32a0cd9 100755 --- a/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java +++ b/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java @@ -135,6 +135,7 @@ import android.view.KeyCharacterMap.FallbackAction; import android.view.accessibility.AccessibilityEvent; import android.view.animation.Animation; import android.view.animation.AnimationUtils; +import android.widget.Toast; import android.media.IAudioService; import android.media.AudioManager; @@ -666,6 +667,7 @@ public class PhoneWindowManager implements WindowManagerPolicy { Runnable mBackLongPress = new Runnable() { public void run() { try { + performHapticFeedbackLw(null, HapticFeedbackConstants.LONG_PRESS, false); IActivityManager mgr = ActivityManagerNative.getDefault(); List<RunningAppProcessInfo> apps = mgr.getRunningAppProcesses(); for (RunningAppProcessInfo appInfo : apps) { @@ -674,8 +676,13 @@ public class PhoneWindowManager implements WindowManagerPolicy { // root, phone, etc.) if (uid >= Process.FIRST_APPLICATION_UID && uid <= Process.LAST_APPLICATION_UID && appInfo.importance == RunningAppProcessInfo.IMPORTANCE_FOREGROUND) { + Toast.makeText(mContext, R.string.app_killed_message, Toast.LENGTH_SHORT).show(); // Kill the entire pid - Process.killProcess(appInfo.pid); + if (appInfo.pkgList!=null && (apps.size() > 0)){ + mgr.forceStopPackage(appInfo.pkgList[0]); + }else{ + Process.killProcess(appInfo.pid); + } break; } } @@ -1661,7 +1668,7 @@ public class PhoneWindowManager implements WindowManagerPolicy { if (Settings.Secure.getInt(mContext.getContentResolver(), Settings.Secure.KILL_APP_LONGPRESS_BACK, 0) == 1) { if (down && repeatCount == 0) { - mHandler.postDelayed(mBackLongPress, 2000); + mHandler.postDelayed(mBackLongPress, ViewConfiguration.getGlobalActionKeyTimeout()); } } } |