summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author TreeHugger Robot <treehugger-gerrit@google.com> 2020-09-23 09:51:55 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2020-09-23 09:51:55 +0000
commit0015e454b6774fa7f5e2cddc21e42bc3ac62845a (patch)
tree6024e40dfd59635d8c5de3b574b555060d5c5e93
parent697b5fe2979ca1c4367a7db570e99154a3218beb (diff)
parent59a51c6ba9219835d0419b5e5b2cde80bd695b4b (diff)
Merge "[RESTRICT AUTOMERGE]Don't finish noHistory activity while it is on the topmost." into rvc-qpr-dev
-rw-r--r--services/core/java/com/android/server/wm/ActivityStack.java5
-rw-r--r--services/core/java/com/android/server/wm/ActivityStarter.java5
2 files changed, 6 insertions, 4 deletions
diff --git a/services/core/java/com/android/server/wm/ActivityStack.java b/services/core/java/com/android/server/wm/ActivityStack.java
index 959aedcd1e4a..6d452c39eccc 100644
--- a/services/core/java/com/android/server/wm/ActivityStack.java
+++ b/services/core/java/com/android/server/wm/ActivityStack.java
@@ -1700,8 +1700,9 @@ class ActivityStack extends Task {
// If the most recent activity was noHistory but was only stopped rather
// than stopped+finished because the device went to sleep, we need to make
// sure to finish it as we're making a new activity topmost.
- if (shouldSleepActivities() && mLastNoHistoryActivity != null &&
- !mLastNoHistoryActivity.finishing) {
+ if (shouldSleepActivities() && mLastNoHistoryActivity != null
+ && !mLastNoHistoryActivity.finishing
+ && mLastNoHistoryActivity != next) {
if (DEBUG_STATES) Slog.d(TAG_STATES,
"no-history finish of " + mLastNoHistoryActivity + " on new resume");
mLastNoHistoryActivity.finishIfPossible("resume-no-history", false /* oomAdj */);
diff --git a/services/core/java/com/android/server/wm/ActivityStarter.java b/services/core/java/com/android/server/wm/ActivityStarter.java
index a78232c05397..7af237b80cfa 100644
--- a/services/core/java/com/android/server/wm/ActivityStarter.java
+++ b/services/core/java/com/android/server/wm/ActivityStarter.java
@@ -1481,9 +1481,10 @@ class ActivityStarter {
// anyone interested in this piece of information.
final ActivityStack homeStack = targetTask.getDisplayArea().getRootHomeTask();
final boolean homeTaskVisible = homeStack != null && homeStack.shouldBeVisible(null);
+ final ActivityRecord top = targetTask.getTopNonFinishingActivity();
+ final boolean visible = top != null && top.isVisible();
mService.getTaskChangeNotificationController().notifyActivityRestartAttempt(
- targetTask.getTaskInfo(), homeTaskVisible, clearedTask,
- targetTask.getTopNonFinishingActivity().isVisible());
+ targetTask.getTaskInfo(), homeTaskVisible, clearedTask, visible);
}
}