• R/O
  • HTTP
  • SSH
  • HTTPS

提交

标签
No Tags

Frequently used words (click to add to your profile)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

frameworks/base


Commit MetaInfo

修订版ca14d4cf8e22abe121fa98c1c54605f8cce6cdf9 (tree)
时间2014-08-27 19:19:18
作者riddle_hsu <riddle_hsu@htc....>
CommiterChih-Wei Huang

Log Message

Fix visibility of multiple non-fullscreen activities.

Issue detail:
Assume X, Y are non-fullscreen activities.

a.Home starts an activity X in task A in application stack.
b.X starts an activity Y in <task A> or <new task B>
c.Activity X will be invisible.

How to fix:
Because the function "isActivityOverHome" means an activity is able to see home.
But there may have many non-fullscreen activities between the top non-fullscreen activity and home.
If flag "behindFullscreen" is set, those middle activities will be invisible.
So it should only take care from who is adjacent to home.
Then check two flags frontOfTask(task root) and mOnTopOfHome for constraining the condition.

Change-Id: I60bcea304976414e44835a0a38675aae365e9e19

更改概述

差异

--- a/services/java/com/android/server/am/ActivityStack.java
+++ b/services/java/com/android/server/am/ActivityStack.java
@@ -1145,7 +1145,7 @@ final class ActivityStack {
11451145 } else if (isActivityOverHome(r)) {
11461146 if (DEBUG_VISBILITY) Slog.v(TAG, "Showing home: at " + r);
11471147 showHomeBehindStack = true;
1148- behindFullscreen = !isHomeStack();
1148+ behindFullscreen = !isHomeStack() && r.frontOfTask && task.mOnTopOfHome;
11491149 }
11501150 } else {
11511151 if (DEBUG_VISBILITY) Slog.v(