summaryrefslogtreecommitdiffstats
path: root/services/java/com/android/server/am/ActivityStackSupervisor.java
diff options
context:
space:
mode:
Diffstat (limited to 'services/java/com/android/server/am/ActivityStackSupervisor.java')
-rw-r--r--services/java/com/android/server/am/ActivityStackSupervisor.java14
1 files changed, 9 insertions, 5 deletions
diff --git a/services/java/com/android/server/am/ActivityStackSupervisor.java b/services/java/com/android/server/am/ActivityStackSupervisor.java
index d3e5b48..7b8ad43 100644
--- a/services/java/com/android/server/am/ActivityStackSupervisor.java
+++ b/services/java/com/android/server/am/ActivityStackSupervisor.java
@@ -167,7 +167,7 @@ public class ActivityStackSupervisor {
}
boolean isFrontStack(ActivityStack stack) {
- return stack == getTopStack();
+ return !(stack.isHomeStack() ^ getTopStack().isHomeStack());
}
boolean homeIsInFront() {
@@ -299,10 +299,9 @@ public class ActivityStackSupervisor {
}
boolean allResumedActivitiesComplete() {
- final boolean homeInBack = !homeIsInFront();
for (int stackNdx = mStacks.size() - 1; stackNdx >= 0; --stackNdx) {
final ActivityStack stack = mStacks.get(stackNdx);
- if (stack.isHomeStack() ^ homeInBack) {
+ if (isFrontStack(stack)) {
final ActivityRecord r = stack.mResumedActivity;
if (r != null && r.state != ActivityState.RESUMED) {
return false;
@@ -1512,7 +1511,7 @@ public class ActivityStackSupervisor {
}
}
- private ActivityStack getStack(int stackId) {
+ ActivityStack getStack(int stackId) {
for (int stackNdx = mStacks.size() - 1; stackNdx >= 0; --stackNdx) {
final ActivityStack stack = mStacks.get(stackNdx);
if (stack.getStackId() == stackId) {
@@ -1522,7 +1521,11 @@ public class ActivityStackSupervisor {
return null;
}
- int createStack(int relativeStackId, int position, float weight) {
+ ArrayList<ActivityStack> getStacks() {
+ return new ArrayList<ActivityStack>(mStacks);
+ }
+
+ int createStack() {
synchronized (this) {
while (true) {
if (++mLastStackId <= HOME_STACK_ID) {
@@ -1545,6 +1548,7 @@ public class ActivityStackSupervisor {
return;
}
stack.moveTask(taskId, toTop);
+ stack.resumeTopActivityLocked(null);
}
ActivityRecord findTaskLocked(Intent intent, ActivityInfo info) {