diff options
author | Garfield Tan <xutan@google.com> | 2019-01-28 10:26:23 -0800 |
---|---|---|
committer | android-build-team Robot <android-build-team-robot@google.com> | 2019-01-29 17:31:45 +0000 |
commit | a3e9f12fc637b327008958b4de4368e6d0c57d40 (patch) | |
tree | 8175da047ec1514a8a47871c10a338ee44a8d9d7 /rs/java/android/renderscript/ProgramFragmentFixedFunction.java | |
parent | d0088c128d6fdbc673905c722f1c51001910308b (diff) |
Bring more visibility logic from stack to activity.
There has been a discrepancy between the condition of pushing
configuration to apps in ActivityRecord#ensureActivityConfiguration()
and WindowManagerService#relayoutWindow(). This CL tries to remove the
discrepancy for most activities (with an exception on activity behind a
modal activity in the same stack), by changing relevant logic in
ActivityRecord.
This effectively fixes b/123127858 (Home page layout issue after
exiting a landscape app), but still leaves a question to answer. The
root cause of that issue is someone calls startRecentsActivity() to
launch Nexus launcher activity and uses mLaunchTaskBehind to promote
visibility. In WMS#relayoutWindow() it pushes configuration if
mLaunchTaskBehind is true (by setting visibility into AppWindowToken),
but ActivityRecord#ensureActivityConfiguration() doesn't consider it
visible before this CL. After startRecentActivity() Nexus launcher
activity schedules a relayout and receives a landscape configuration
because the game is still in the foreground in the relayout pass. Later
when it's really brought to foreground ActivityRecord won't push a new
configuration to it because ActivityRecord still thinks the last
reported configuration is the portrait one. Thus a wrong landscape
config stayed. This CL lets ActivityRecord#ensureActivityConfiguration()
consider mLaunchTaskBehind and pushes the landscape config, which gives
it a chance to fix it when really bringing home to front.
Bug: 123127858
Test: Manual test. go/wm-smoke.
Change-Id: Iff6ee724a98113921d843344bba322c8b2a55f54
(cherry picked from commit 47e576c0654c64ff4eab70f9ecacd44109e149a8)
Diffstat (limited to 'rs/java/android/renderscript/ProgramFragmentFixedFunction.java')
0 files changed, 0 insertions, 0 deletions