Merge \\"Test existence of wallpaper files before backing them up\\" into nyc-mr1-dev am: 8b08553e90
am: 4a74ffc1b5
Change-Id: I897aec4788c757ffdf1982f9b4c9dee3c29f2433
diff --git a/packages/WallpaperBackup/src/com/android/wallpaperbackup/WallpaperBackupAgent.java b/packages/WallpaperBackup/src/com/android/wallpaperbackup/WallpaperBackupAgent.java
index 97efed0..05207b9 100644
--- a/packages/WallpaperBackup/src/com/android/wallpaperbackup/WallpaperBackupAgent.java
+++ b/packages/WallpaperBackup/src/com/android/wallpaperbackup/WallpaperBackupAgent.java
@@ -114,13 +114,17 @@
imageStage.delete();
lockImageStage.delete();
- Os.link(mWallpaperInfo.getCanonicalPath(), infoStage.getCanonicalPath());
- fullBackupFile(infoStage, data);
- Os.link(mWallpaperFile.getCanonicalPath(), imageStage.getCanonicalPath());
- fullBackupFile(imageStage, data);
+ if (mWallpaperInfo.exists()) {
+ Os.link(mWallpaperInfo.getCanonicalPath(), infoStage.getCanonicalPath());
+ fullBackupFile(infoStage, data);
+ }
+ if (mWallpaperFile.exists()) {
+ Os.link(mWallpaperFile.getCanonicalPath(), imageStage.getCanonicalPath());
+ fullBackupFile(imageStage, data);
+ }
// Don't try to store the lock image if we overran our quota last time
- if (!mQuotaExceeded) {
+ if (mLockWallpaperFile.exists() && !mQuotaExceeded) {
Os.link(mLockWallpaperFile.getCanonicalPath(), lockImageStage.getCanonicalPath());
fullBackupFile(lockImageStage, data);
}
@@ -130,7 +134,7 @@
}
}
} catch (Exception e) {
- Slog.e(TAG, "Unable to back up wallpaper: " + e.getMessage());
+ Slog.e(TAG, "Unable to back up wallpaper", e);
} finally {
if (DEBUG) {
Slog.v(TAG, "Removing backup stage links");
@@ -173,6 +177,9 @@
final File lockImageStage = new File (filesDir, LOCK_IMAGE_STAGE);
try {
+ // First off, revert to the factory state
+ mWm.clear(WallpaperManager.FLAG_SYSTEM | WallpaperManager.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.