summaryrefslogtreecommitdiffstats
path: root/policy/src
diff options
context:
space:
mode:
authorDavid van Tonder <david.vantonder@gmail.com>2013-04-13 05:24:43 -0700
committerGerrit Code Review <gerrit@cyanogenmod.org>2013-04-13 05:24:43 -0700
commitb8a5fe7b9b3226bf73fe1227a4d9641c79b19826 (patch)
tree484f6d87f99b45bd2366fb6c3a2949bd64ff80ac /policy/src
parent44e5f6caa3df6823984ac08ec45ebabbef199da7 (diff)
parent41cb63ab6e4f175832300f33717f0ae51b855d0b (diff)
downloadframeworks_base-b8a5fe7b9b3226bf73fe1227a4d9641c79b19826.zip
frameworks_base-b8a5fe7b9b3226bf73fe1227a4d9641c79b19826.tar.gz
frameworks_base-b8a5fe7b9b3226bf73fe1227a4d9641c79b19826.tar.bz2
Merge "Adapt navigation bar's long press behaviour for pie controls" into cm-10.1
Diffstat (limited to 'policy/src')
-rw-r--r--policy/src/com/android/internal/policy/impl/PhoneWindowManager.java42
1 files changed, 4 insertions, 38 deletions
diff --git a/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java b/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java
index e815781..a40f61f 100644
--- a/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java
+++ b/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java
@@ -77,6 +77,7 @@ import com.android.internal.policy.impl.keyguard.KeyguardViewManager;
import com.android.internal.policy.impl.keyguard.KeyguardViewMediator;
import com.android.internal.statusbar.IStatusBarService;
import com.android.internal.telephony.ITelephony;
+import com.android.internal.util.cm.DevUtils;
import com.android.internal.widget.PointerLocationView;
import android.util.DisplayMetrics;
@@ -913,44 +914,9 @@ public class PhoneWindowManager implements WindowManagerPolicy {
Runnable mBackLongPress = new Runnable() {
public void run() {
- try {
- final Intent intent = new Intent(Intent.ACTION_MAIN);
- String defaultHomePackage = "com.android.launcher";
- intent.addCategory(Intent.CATEGORY_HOME);
- final ResolveInfo res = mContext.getPackageManager().resolveActivity(intent, 0);
- if (res.activityInfo != null && !res.activityInfo.packageName.equals("android")) {
- defaultHomePackage = res.activityInfo.packageName;
- }
- boolean targetKilled = false;
- IActivityManager am = ActivityManagerNative.getDefault();
- List<RunningAppProcessInfo> apps = am.getRunningAppProcesses();
- for (RunningAppProcessInfo appInfo : apps) {
- int uid = appInfo.uid;
- // Make sure it's a foreground user application (not system,
- // root, phone, etc.)
- if (uid >= Process.FIRST_APPLICATION_UID && uid <= Process.LAST_APPLICATION_UID
- && appInfo.importance == RunningAppProcessInfo.IMPORTANCE_FOREGROUND) {
- if (appInfo.pkgList != null && (appInfo.pkgList.length > 0)) {
- for (String pkg : appInfo.pkgList) {
- if (!pkg.equals("com.android.systemui") && !pkg.equals(defaultHomePackage)) {
- am.forceStopPackage(pkg, UserHandle.USER_CURRENT);
- targetKilled = true;
- break;
- }
- }
- } else {
- Process.killProcess(appInfo.pid);
- targetKilled = true;
- }
- }
- if (targetKilled) {
- performHapticFeedbackLw(null, HapticFeedbackConstants.LONG_PRESS, false);
- Toast.makeText(mContext, R.string.app_killed_message, Toast.LENGTH_SHORT).show();
- break;
- }
- }
- } catch (RemoteException remoteException) {
- // Do nothing; just let it go.
+ if (DevUtils.killForegroundApplication(mContext)) {
+ performHapticFeedbackLw(null, HapticFeedbackConstants.LONG_PRESS, false);
+ Toast.makeText(mContext, R.string.app_killed_message, Toast.LENGTH_SHORT).show();
}
}
};