diff options
author | Christopher Tate <ctate@google.com> | 2016-08-10 16:13:14 -0700 |
---|---|---|
committer | Christopher Tate <ctate@google.com> | 2016-08-11 11:22:14 -0700 |
commit | 6172266154e9071abba2c0aab9ffb31e0ec8c239 (patch) | |
tree | 65fb94266842f591e0025269806276275f38684b /packages/WallpaperBackup | |
parent | f679329412fcb5ea4cdd68f8b7b93595797d1d40 (diff) |
Check system & lock wallpaper backup eligibility independently
Bug 30751829
Change-Id: Ic94689dd63238449222d1aea07231d9fd29fc76d
Diffstat (limited to 'packages/WallpaperBackup')
-rw-r--r-- | packages/WallpaperBackup/src/com/android/wallpaperbackup/WallpaperBackupAgent.java | 83 |
1 files changed, 39 insertions, 44 deletions
diff --git a/packages/WallpaperBackup/src/com/android/wallpaperbackup/WallpaperBackupAgent.java b/packages/WallpaperBackup/src/com/android/wallpaperbackup/WallpaperBackupAgent.java index 25530c4196b0..242eca8898ce 100644 --- a/packages/WallpaperBackup/src/com/android/wallpaperbackup/WallpaperBackupAgent.java +++ b/packages/WallpaperBackup/src/com/android/wallpaperbackup/WallpaperBackupAgent.java @@ -114,22 +114,19 @@ public class WallpaperBackupAgent extends BackupAgent { touch.close(); fullBackupFile(empty, data); - // only back up the wallpaper if we've been told it's allowed - if (mWm.isWallpaperBackupEligible()) { - if (DEBUG) { - Slog.v(TAG, "Wallpaper is backup-eligible"); - } + SharedPreferences prefs = getSharedPreferences(PREFS_NAME, Context.MODE_PRIVATE); + final int lastSysGeneration = prefs.getInt(SYSTEM_GENERATION, -1); + final int lastLockGeneration = prefs.getInt(LOCK_GENERATION, -1); - SharedPreferences prefs = getSharedPreferences(PREFS_NAME, Context.MODE_PRIVATE); - final int lastSysGeneration = prefs.getInt(SYSTEM_GENERATION, -1); - final int lastLockGeneration = prefs.getInt(LOCK_GENERATION, -1); + final int sysGeneration = + mWm.getWallpaperIdForUser(FLAG_SYSTEM, UserHandle.USER_SYSTEM); + final int lockGeneration = + mWm.getWallpaperIdForUser(FLAG_LOCK, UserHandle.USER_SYSTEM); + final boolean sysChanged = (sysGeneration != lastSysGeneration); + final boolean lockChanged = (lockGeneration != lastLockGeneration); - final int sysGeneration = - mWm.getWallpaperIdForUser(FLAG_SYSTEM, UserHandle.USER_SYSTEM); - final int lockGeneration = - mWm.getWallpaperIdForUser(FLAG_LOCK, UserHandle.USER_SYSTEM); - final boolean sysChanged = (sysGeneration != lastSysGeneration); - final boolean lockChanged = (lockGeneration != lastLockGeneration); + final boolean sysEligible = mWm.isWallpaperBackupEligible(FLAG_SYSTEM); + final boolean lockEligible = mWm.isWallpaperBackupEligible(FLAG_LOCK); // There might be a latent lock wallpaper file present but unused: don't // include it in the backup if that's the case. @@ -137,40 +134,38 @@ public class WallpaperBackupAgent extends BackupAgent { final boolean hasLockWallpaper = (lockFd != null); IoUtils.closeQuietly(lockFd); - if (DEBUG) { - Slog.v(TAG, "sysGen=" + sysGeneration + " : sysChanged=" + sysChanged); - Slog.v(TAG, "lockGen=" + lockGeneration + " : lockChanged=" + lockChanged); - Slog.v(TAG, "hasLockWallpaper=" + hasLockWallpaper); - } - if (mWallpaperInfo.exists()) { - if (sysChanged || lockChanged || !infoStage.exists()) { - if (DEBUG) Slog.v(TAG, "New wallpaper configuration; copying"); - FileUtils.copyFileOrThrow(mWallpaperInfo, infoStage); - } - fullBackupFile(infoStage, data); + if (DEBUG) { + Slog.v(TAG, "sysGen=" + sysGeneration + " : sysChanged=" + sysChanged); + Slog.v(TAG, "lockGen=" + lockGeneration + " : lockChanged=" + lockChanged); + Slog.v(TAG, "sysEligble=" + sysEligible); + Slog.v(TAG, "lockEligible=" + lockEligible); + } + + // only back up the wallpapers if we've been told they're eligible + if ((sysEligible || lockEligible) && mWallpaperInfo.exists()) { + if (sysChanged || lockChanged || !infoStage.exists()) { + if (DEBUG) Slog.v(TAG, "New wallpaper configuration; copying"); + FileUtils.copyFileOrThrow(mWallpaperInfo, infoStage); } - if (mWallpaperFile.exists()) { - if (sysChanged || !imageStage.exists()) { - if (DEBUG) Slog.v(TAG, "New system wallpaper; copying"); - FileUtils.copyFileOrThrow(mWallpaperFile, imageStage); - } - fullBackupFile(imageStage, data); - prefs.edit().putInt(SYSTEM_GENERATION, sysGeneration).apply(); + fullBackupFile(infoStage, data); + } + if (sysEligible && mWallpaperFile.exists()) { + if (sysChanged || !imageStage.exists()) { + if (DEBUG) Slog.v(TAG, "New system wallpaper; copying"); + FileUtils.copyFileOrThrow(mWallpaperFile, imageStage); } + fullBackupFile(imageStage, data); + prefs.edit().putInt(SYSTEM_GENERATION, sysGeneration).apply(); + } - // Don't try to store the lock image if we overran our quota last time - if (hasLockWallpaper && mLockWallpaperFile.exists() && !mQuotaExceeded) { - if (lockChanged || !lockImageStage.exists()) { - if (DEBUG) Slog.v(TAG, "New lock wallpaper; copying"); - FileUtils.copyFileOrThrow(mLockWallpaperFile, lockImageStage); - } - fullBackupFile(lockImageStage, data); - prefs.edit().putInt(LOCK_GENERATION, lockGeneration).apply(); - } - } else { - if (DEBUG) { - Slog.v(TAG, "Wallpaper not backup-eligible; writing no data"); + // Don't try to store the lock image if we overran our quota last time + if (lockEligible && hasLockWallpaper && mLockWallpaperFile.exists() && !mQuotaExceeded) { + if (lockChanged || !lockImageStage.exists()) { + if (DEBUG) Slog.v(TAG, "New lock wallpaper; copying"); + FileUtils.copyFileOrThrow(mLockWallpaperFile, lockImageStage); } + fullBackupFile(lockImageStage, data); + prefs.edit().putInt(LOCK_GENERATION, lockGeneration).apply(); } } catch (Exception e) { Slog.e(TAG, "Unable to back up wallpaper", e); |