summaryrefslogtreecommitdiffstats
path: root/policy
diff options
context:
space:
mode:
authorDanesh M <daneshm90@gmail.com>2012-01-01 23:52:41 -0500
committerDanesh M <daneshm90@gmail.com>2012-01-01 23:52:41 -0500
commitb1e5eba50cef5d72d81b733f87ac39c09d4212de (patch)
treeef825052cfae4d8d88a21bf163f37e1eb0b8799a /policy
parentd56520a3d738340248d2c8c4fb1f565ac3075f8f (diff)
downloadframeworks_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-xpolicy/src/com/android/internal/policy/impl/PhoneWindowManager.java11
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());
}
}
}