summaryrefslogtreecommitdiff
path: root/packages/WallpaperBackup
diff options
context:
space:
mode:
authorChristopher Tate <ctate@google.com>2016-08-10 16:13:14 -0700
committerChristopher Tate <ctate@google.com>2016-08-11 11:22:14 -0700
commit6172266154e9071abba2c0aab9ffb31e0ec8c239 (patch)
tree65fb94266842f591e0025269806276275f38684b /packages/WallpaperBackup
parentf679329412fcb5ea4cdd68f8b7b93595797d1d40 (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.java83
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);