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

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

Use a color container surface to animate rotation with wallpaper

By default, WallpaperService has a 0.05f dim. And SystemUI's
DefaultDeviceEffectsApplier may set 0.6f for battery saver mode.

If the wallpaper surface is not opaque, it may be blending with
the surface behind. E.g.

Before animation starts:
 z=1 Wallpaper 0.6 alpha
 z=0 No other layer (black)

Animation starts:
 z=2 Wallpaper 0.6 alpha <--- looks brighter
 z=1 Bright (assume the content is light color) background layer

Animation ends: (flickering when removing the background layer)
 z=2 Wallpaper 0.6 alpha
 z=0 No other layer (black)

So wrap the surface which contains the wallpaper into a surface
with color that will animate from background color to black, then
the translucent wallpaper can have a smoother transition.

Bug: 326331384
Flag: EXEMPT bugfix
Test: Enable home rotation. Set a white color wallpaper.
      adb shell cmd battery unplug \
        && adb shell settings put global low_power 1
      (or "adb shell cmd wallpaper set-dim-amount 0.5")
      Rotate device.
      The end frame should not flickering from light to dark.
Change-Id: Ie869abf59ecd59c976a503aee14880759f4b42e2
parent 32f087ff
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment