• R/O
  • HTTP
  • SSH
  • HTTPS

提交

標籤
無標籤

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

Change Summary

差異

--- 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(