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
Loading
Please register or sign in to comment