am f4f36166: am 45f64af8: am 9c5896b8: Merge "Always execute resumeAppSwitches when launching something" into lmp-dev

* commit 'f4f36166b0664cf9887c550b15976bf074dcd042':
  Always execute resumeAppSwitches when launching something
This commit is contained in:
Adrian Roos
2014-10-20 13:16:09 +00:00
committed by Android Git Automerger

View File

@@ -266,6 +266,14 @@ public abstract class BaseStatusBar extends SystemUI implements
if (DEBUG) { if (DEBUG) {
Log.v(TAG, "Notification click handler invoked for intent: " + pendingIntent); Log.v(TAG, "Notification click handler invoked for intent: " + pendingIntent);
} }
// The intent we are sending is for the application, which
// won't have permission to immediately start an activity after
// the user switches to home. We know it is safe to do at this
// point, so make sure new activity switches are now allowed.
try {
ActivityManagerNative.getDefault().resumeAppSwitches();
} catch (RemoteException e) {
}
final boolean isActivity = pendingIntent.isActivity(); final boolean isActivity = pendingIntent.isActivity();
if (isActivity) { if (isActivity) {
final boolean keyguardShowing = mStatusBarKeyguardViewManager.isShowing(); final boolean keyguardShowing = mStatusBarKeyguardViewManager.isShowing();
@@ -278,11 +286,6 @@ public abstract class BaseStatusBar extends SystemUI implements
try { try {
ActivityManagerNative.getDefault() ActivityManagerNative.getDefault()
.keyguardWaitingForActivityDrawn(); .keyguardWaitingForActivityDrawn();
// The intent we are sending is for the application, which
// won't have permission to immediately start an activity after
// the user switches to home. We know it is safe to do at this
// point, so make sure new activity switches are now allowed.
ActivityManagerNative.getDefault().resumeAppSwitches();
} catch (RemoteException e) { } catch (RemoteException e) {
} }
} }
@@ -1486,20 +1489,21 @@ public abstract class BaseStatusBar extends SystemUI implements
if (mIsHeadsUp) { if (mIsHeadsUp) {
mHeadsUpNotificationView.clear(); mHeadsUpNotificationView.clear();
} }
AsyncTask.execute(new Runnable() { new Thread() {
@Override @Override
public void run() { public void run() {
if (keyguardShowing && !afterKeyguardGone) { try {
try { if (keyguardShowing && !afterKeyguardGone) {
ActivityManagerNative.getDefault() ActivityManagerNative.getDefault()
.keyguardWaitingForActivityDrawn(); .keyguardWaitingForActivityDrawn();
// The intent we are sending is for the application, which
// won't have permission to immediately start an activity after
// the user switches to home. We know it is safe to do at this
// point, so make sure new activity switches are now allowed.
ActivityManagerNative.getDefault().resumeAppSwitches();
} catch (RemoteException e) {
} }
// The intent we are sending is for the application, which
// won't have permission to immediately start an activity after
// the user switches to home. We know it is safe to do at this
// point, so make sure new activity switches are now allowed.
ActivityManagerNative.getDefault().resumeAppSwitches();
} catch (RemoteException e) {
} }
if (mIntent != null) { if (mIntent != null) {
@@ -1524,7 +1528,7 @@ public abstract class BaseStatusBar extends SystemUI implements
// system process is dead if we're here. // system process is dead if we're here.
} }
} }
}); }.start();
// close the shade if it was open // close the shade if it was open
animateCollapsePanels(CommandQueue.FLAG_EXCLUDE_NONE, true /* force */); animateCollapsePanels(CommandQueue.FLAG_EXCLUDE_NONE, true /* force */);