Workaround wallpaper restore race
If WallpaperManager is asked to read a wallpaper between when we call mWm.clear and mWm.setStream, it is possible for us to end up losing restored state such as cropHint and allowBackup By not calling mWm.clear, we make this much less likely to happen. It isn't necessary to call clear, as will explicitly overwrite all the interesting state anyway. Test: by repeated adb restore Bug: 34760753 Change-Id: I2750695d5dd16077b47b5b8fca3a667b98cc4f6c
This commit is contained in:
@@ -217,9 +217,6 @@ public class WallpaperBackupAgent extends BackupAgent {
|
||||
final int sysWhich = FLAG_SYSTEM | (lockImageStage.exists() ? 0 : FLAG_LOCK);
|
||||
|
||||
try {
|
||||
// First off, revert to the factory state
|
||||
mWm.clear(FLAG_SYSTEM | FLAG_LOCK);
|
||||
|
||||
// It is valid for the imagery to be absent; it means that we were not permitted
|
||||
// to back up the original image on the source device, or there was no user-supplied
|
||||
// wallpaper image present.
|
||||
|
||||
Reference in New Issue
Block a user