Merge "Fix issue #6636731: Mariner animation ring gets stuck" into jb-dev
diff --git a/services/java/com/android/server/am/ActivityRecord.java b/services/java/com/android/server/am/ActivityRecord.java
index 26c5c3d..17957d2 100644
--- a/services/java/com/android/server/am/ActivityRecord.java
+++ b/services/java/com/android/server/am/ActivityRecord.java
@@ -164,6 +164,9 @@
if (pendingResults != null) {
pw.print(prefix); pw.print("pendingResults="); pw.println(pendingResults);
}
+ if (pendingOptions != null) {
+ pw.print(prefix); pw.print("pendingOptions="); pw.println(pendingOptions);
+ }
if (uriPermissions != null) {
if (uriPermissions.readUriPermissions != null) {
pw.print(prefix); pw.print("readUriPermissions=");
@@ -202,7 +205,7 @@
if (lastVisibleTime != 0 || waitingVisible || nowVisible) {
pw.print(prefix); pw.print("waitingVisible="); pw.print(waitingVisible);
pw.print(" nowVisible="); pw.print(nowVisible);
- pw.print("lastVisibleTime=");
+ pw.print(" lastVisibleTime=");
TimeUtils.formatDuration(lastVisibleTime, pw); pw.println("");
}
if (configDestroy || configChangeFlags != 0) {
@@ -453,6 +456,7 @@
if (task != null && !finishing) {
task.numActivities--;
}
+ clearOptionsLocked();
}
}
@@ -466,6 +470,9 @@
if (task != null && inHistory) {
task.numActivities--;
}
+ if (stopped) {
+ clearOptionsLocked();
+ }
}
}
diff --git a/services/java/com/android/server/am/ActivityStack.java b/services/java/com/android/server/am/ActivityStack.java
index 1eef2cf..e2d6d98 100755
--- a/services/java/com/android/server/am/ActivityStack.java
+++ b/services/java/com/android/server/am/ActivityStack.java
@@ -1055,7 +1055,9 @@
mHandler.removeMessages(STOP_TIMEOUT_MSG, r);
r.stopped = true;
r.state = ActivityState.STOPPED;
- if (!r.finishing) {
+ if (r.finishing) {
+ r.clearOptionsLocked();
+ } else {
if (r.configDestroy) {
destroyActivityLocked(r, true, false, "stop-config");
resumeTopActivityLocked(null);