Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Skip to content
Commit 2fb1df69 authored by Riddle Hsu's avatar Riddle Hsu
Browse files

Do not block transition by non-resumed relayouted activity

When keyguard is showing or screen is off, only top activity can
apply show-when-lock or turn-screen-on. The non-top visible activity
(e.g. the top activity is translucent style) shouldn't be tracked as
unknown visibility, because its visibility should rely on if the top
can be real visible.

Especially UnknownAppVisibilityController assumes that the tracked
activities will perform relayout after completing resume, but non-top
visible activity won't report competed resume, which causes the
opening transition to wait until timeout.

Bug: 349022462
Flag: EXEMPT bugfix
Test: Assume A,B,C are activities in the same task with
        android:turnScreenOn="true" android:showWhenLocked="true"
      1. Enter lock screen.
      2. Launch A (test main).
      3. Press A's button to call startActivity for B and C.
        (B won't be launched because C occludes it)
      4. C's onCreate calls Activity#setTranslucent(true) which
         makes B start with andResume=false
      5. The transition should run immediately from A to C.
Change-Id: I6f6662cf6cc3d760684ba589c62f32a66b86317f
parent f67c19a6
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment