diff --git a/services/java/com/android/server/am/ActivityManagerService.java b/services/java/com/android/server/am/ActivityManagerService.java index 9c1c863912751..93ed555e53821 100644 --- a/services/java/com/android/server/am/ActivityManagerService.java +++ b/services/java/com/android/server/am/ActivityManagerService.java @@ -6640,6 +6640,10 @@ public final class ActivityManagerService extends ActivityManagerNative return list; } + TaskRecord getMostRecentTask() { + return mRecentTasks.get(0); + } + @Override public List getRecentTasks(int maxNum, int flags, int userId) { diff --git a/services/java/com/android/server/am/ActivityStack.java b/services/java/com/android/server/am/ActivityStack.java index fc83f050676fd..066989b8d6315 100644 --- a/services/java/com/android/server/am/ActivityStack.java +++ b/services/java/com/android/server/am/ActivityStack.java @@ -674,8 +674,8 @@ final class ActivityStack { } TaskRecord tr = who.task; - if (tr.intent != null && (tr.intent.getFlags() - &Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS) != 0) { + if (mService.getMostRecentTask() != tr && tr.intent != null && + (tr.intent.getFlags() & Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS) != 0) { // If this task is being excluded from recents, we don't want to take // the expense of capturing a thumbnail, since we will never show it. return null;