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

Skip to content
Commit 3d9a9d6e authored by SangWook Han's avatar SangWook Han
Browse files

WallpaperManagerService does not properly propagate setDimensionHints()

During bootstrap, Launcher could be initialized in between
WallpaperManagerService and ImageWallpaper. In case Launcher's
WindowManager.suggestDesiredDimenstions() is called after
WallpaperManagerService begin to create ImageWallpaper and before
ImageWallpaper Engine attached, that mostly resulted in Black Edge
of image wallpaper.

This can be reproduced easily (1 in 3)
 - set image wallpaper other than default.
 - modify Launcher/Workspace to call suggestDesiredDimenstions(w,h)
 - reboot

To fix Black Edge, WallpaperManagerService modified to maintain
a flag mDesiredDimensionChanging and set desired size at Engine
attach. Black Edge still can be shown for some moment. but, always
recoverd. To eliminate Black Edge it seems that
IWallpaperConnection.aidl need more method.

NOTE: Many market launcher and some phone vendor launcher call
suggestDesiredDimenstions with argument (w,h) instead aosp's
original (w*2,h) for single page wallpaper.

Change-Id: Ib28636e6b2964d9deeee1f1e1d304554cc7a837e
parent 2b1bcca5
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