diff options
author | David van Tonder <david.vantonder@gmail.com> | 2013-04-13 05:24:43 -0700 |
---|---|---|
committer | Gerrit Code Review <gerrit@cyanogenmod.org> | 2013-04-13 05:24:43 -0700 |
commit | b8a5fe7b9b3226bf73fe1227a4d9641c79b19826 (patch) | |
tree | 484f6d87f99b45bd2366fb6c3a2949bd64ff80ac /policy/src | |
parent | 44e5f6caa3df6823984ac08ec45ebabbef199da7 (diff) | |
parent | 41cb63ab6e4f175832300f33717f0ae51b855d0b (diff) | |
download | frameworks_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.java | 42 |
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(); } } }; |