Loading services/backup/java/com/android/server/backup/UserBackupManagerService.java +22 −12 Original line number Original line Diff line number Diff line Loading @@ -371,8 +371,8 @@ public class UserBackupManagerService { Trampoline trampoline, Trampoline trampoline, Set<ComponentName> transportWhitelist) { Set<ComponentName> transportWhitelist) { String currentTransport = String currentTransport = Settings.Secure.getString( Settings.Secure.getStringForUser( context.getContentResolver(), Settings.Secure.BACKUP_TRANSPORT); context.getContentResolver(), Settings.Secure.BACKUP_TRANSPORT, userId); if (TextUtils.isEmpty(currentTransport)) { if (TextUtils.isEmpty(currentTransport)) { currentTransport = null; currentTransport = null; } } Loading Loading @@ -434,6 +434,19 @@ public class UserBackupManagerService { transportManager); transportManager); } } /** * Returns the value of {@link Settings.Secure#USER_SETUP_COMPLETE} for the specified user * {@code userId} as a {@code boolean}. */ public static boolean getSetupCompleteSettingForUser(Context context, int userId) { return Settings.Secure.getIntForUser( context.getContentResolver(), Settings.Secure.USER_SETUP_COMPLETE, 0, userId) != 0; } private UserBackupManagerService( private UserBackupManagerService( @UserIdInt int userId, @UserIdInt int userId, Context context, Context context, Loading Loading @@ -465,12 +478,9 @@ public class UserBackupManagerService { // Set up our bookkeeping // Set up our bookkeeping final ContentResolver resolver = context.getContentResolver(); final ContentResolver resolver = context.getContentResolver(); mSetupComplete = mSetupComplete = getSetupCompleteSettingForUser(context, userId); Settings.Secure.getIntForUser( mAutoRestore = Settings.Secure.getIntForUser(resolver, resolver, Settings.Secure.USER_SETUP_COMPLETE, 0, mUserId) Settings.Secure.BACKUP_AUTO_RESTORE, 1, userId) != 0; != 0; mAutoRestore = Settings.Secure.getInt(resolver, Settings.Secure.BACKUP_AUTO_RESTORE, 1) != 0; ContentObserver setupObserver = new SetupObserver(this, mBackupHandler); ContentObserver setupObserver = new SetupObserver(this, mBackupHandler); resolver.registerContentObserver( resolver.registerContentObserver( Loading Loading @@ -2807,8 +2817,8 @@ public class UserBackupManagerService { final long oldId = Binder.clearCallingIdentity(); final long oldId = Binder.clearCallingIdentity(); try { try { synchronized (this) { synchronized (this) { Settings.Secure.putInt(mContext.getContentResolver(), Settings.Secure.putIntForUser(mContext.getContentResolver(), Settings.Secure.BACKUP_AUTO_RESTORE, doAutoRestore ? 1 : 0); Settings.Secure.BACKUP_AUTO_RESTORE, doAutoRestore ? 1 : 0, mUserId); mAutoRestore = doAutoRestore; mAutoRestore = doAutoRestore; } } } finally { } finally { Loading Loading @@ -3021,8 +3031,8 @@ public class UserBackupManagerService { private void updateStateForTransport(String newTransportName) { private void updateStateForTransport(String newTransportName) { // Publish the name change // Publish the name change Settings.Secure.putString(mContext.getContentResolver(), Settings.Secure.putStringForUser(mContext.getContentResolver(), Settings.Secure.BACKUP_TRANSPORT, newTransportName); Settings.Secure.BACKUP_TRANSPORT, newTransportName, mUserId); // And update our current-dataset bookkeeping // And update our current-dataset bookkeeping String callerLogString = "BMS.updateStateForTransport()"; String callerLogString = "BMS.updateStateForTransport()"; Loading services/backup/java/com/android/server/backup/internal/SetupObserver.java +2 −7 Original line number Original line Diff line number Diff line Loading @@ -18,6 +18,7 @@ package com.android.server.backup.internal; import static com.android.server.backup.BackupManagerService.MORE_DEBUG; import static com.android.server.backup.BackupManagerService.MORE_DEBUG; import static com.android.server.backup.BackupManagerService.TAG; import static com.android.server.backup.BackupManagerService.TAG; import static com.android.server.backup.UserBackupManagerService.getSetupCompleteSettingForUser; import android.content.Context; import android.content.Context; import android.database.ContentObserver; import android.database.ContentObserver; Loading Loading @@ -53,13 +54,7 @@ public class SetupObserver extends ContentObserver { */ */ public void onChange(boolean selfChange) { public void onChange(boolean selfChange) { boolean previousSetupComplete = mUserBackupManagerService.isSetupComplete(); boolean previousSetupComplete = mUserBackupManagerService.isSetupComplete(); boolean newSetupComplete = boolean newSetupComplete = getSetupCompleteSettingForUser(mContext, mUserId); Settings.Secure.getIntForUser( mContext.getContentResolver(), Settings.Secure.USER_SETUP_COMPLETE, 0, mUserId) != 0; boolean resolvedSetupComplete = previousSetupComplete || newSetupComplete; boolean resolvedSetupComplete = previousSetupComplete || newSetupComplete; mUserBackupManagerService.setSetupComplete(resolvedSetupComplete); mUserBackupManagerService.setSetupComplete(resolvedSetupComplete); Loading services/backup/java/com/android/server/backup/restore/FullRestoreEngine.java +4 −3 Original line number Original line Diff line number Diff line Loading @@ -678,12 +678,13 @@ public class FullRestoreEngine extends RestoreEngine { * Returns whether the package is in the list of the packages for which clear app data should * Returns whether the package is in the list of the packages for which clear app data should * be called despite the fact that they have backup agent. * be called despite the fact that they have backup agent. * * * <p>The list is read from {@link Settings.Secure.PACKAGES_TO_CLEAR_DATA_BEFORE_FULL_RESTORE}. * <p>The list is read from {@link Settings.Secure#PACKAGES_TO_CLEAR_DATA_BEFORE_FULL_RESTORE}. */ */ private boolean shouldForceClearAppDataOnFullRestore(String packageName) { private boolean shouldForceClearAppDataOnFullRestore(String packageName) { String packageListString = Settings.Secure.getString( String packageListString = Settings.Secure.getStringForUser( mBackupManagerService.getContext().getContentResolver(), mBackupManagerService.getContext().getContentResolver(), Settings.Secure.PACKAGES_TO_CLEAR_DATA_BEFORE_FULL_RESTORE); Settings.Secure.PACKAGES_TO_CLEAR_DATA_BEFORE_FULL_RESTORE, mBackupManagerService.getUserId()); if (TextUtils.isEmpty(packageListString)) { if (TextUtils.isEmpty(packageListString)) { return false; return false; } } Loading Loading
services/backup/java/com/android/server/backup/UserBackupManagerService.java +22 −12 Original line number Original line Diff line number Diff line Loading @@ -371,8 +371,8 @@ public class UserBackupManagerService { Trampoline trampoline, Trampoline trampoline, Set<ComponentName> transportWhitelist) { Set<ComponentName> transportWhitelist) { String currentTransport = String currentTransport = Settings.Secure.getString( Settings.Secure.getStringForUser( context.getContentResolver(), Settings.Secure.BACKUP_TRANSPORT); context.getContentResolver(), Settings.Secure.BACKUP_TRANSPORT, userId); if (TextUtils.isEmpty(currentTransport)) { if (TextUtils.isEmpty(currentTransport)) { currentTransport = null; currentTransport = null; } } Loading Loading @@ -434,6 +434,19 @@ public class UserBackupManagerService { transportManager); transportManager); } } /** * Returns the value of {@link Settings.Secure#USER_SETUP_COMPLETE} for the specified user * {@code userId} as a {@code boolean}. */ public static boolean getSetupCompleteSettingForUser(Context context, int userId) { return Settings.Secure.getIntForUser( context.getContentResolver(), Settings.Secure.USER_SETUP_COMPLETE, 0, userId) != 0; } private UserBackupManagerService( private UserBackupManagerService( @UserIdInt int userId, @UserIdInt int userId, Context context, Context context, Loading Loading @@ -465,12 +478,9 @@ public class UserBackupManagerService { // Set up our bookkeeping // Set up our bookkeeping final ContentResolver resolver = context.getContentResolver(); final ContentResolver resolver = context.getContentResolver(); mSetupComplete = mSetupComplete = getSetupCompleteSettingForUser(context, userId); Settings.Secure.getIntForUser( mAutoRestore = Settings.Secure.getIntForUser(resolver, resolver, Settings.Secure.USER_SETUP_COMPLETE, 0, mUserId) Settings.Secure.BACKUP_AUTO_RESTORE, 1, userId) != 0; != 0; mAutoRestore = Settings.Secure.getInt(resolver, Settings.Secure.BACKUP_AUTO_RESTORE, 1) != 0; ContentObserver setupObserver = new SetupObserver(this, mBackupHandler); ContentObserver setupObserver = new SetupObserver(this, mBackupHandler); resolver.registerContentObserver( resolver.registerContentObserver( Loading Loading @@ -2807,8 +2817,8 @@ public class UserBackupManagerService { final long oldId = Binder.clearCallingIdentity(); final long oldId = Binder.clearCallingIdentity(); try { try { synchronized (this) { synchronized (this) { Settings.Secure.putInt(mContext.getContentResolver(), Settings.Secure.putIntForUser(mContext.getContentResolver(), Settings.Secure.BACKUP_AUTO_RESTORE, doAutoRestore ? 1 : 0); Settings.Secure.BACKUP_AUTO_RESTORE, doAutoRestore ? 1 : 0, mUserId); mAutoRestore = doAutoRestore; mAutoRestore = doAutoRestore; } } } finally { } finally { Loading Loading @@ -3021,8 +3031,8 @@ public class UserBackupManagerService { private void updateStateForTransport(String newTransportName) { private void updateStateForTransport(String newTransportName) { // Publish the name change // Publish the name change Settings.Secure.putString(mContext.getContentResolver(), Settings.Secure.putStringForUser(mContext.getContentResolver(), Settings.Secure.BACKUP_TRANSPORT, newTransportName); Settings.Secure.BACKUP_TRANSPORT, newTransportName, mUserId); // And update our current-dataset bookkeeping // And update our current-dataset bookkeeping String callerLogString = "BMS.updateStateForTransport()"; String callerLogString = "BMS.updateStateForTransport()"; Loading
services/backup/java/com/android/server/backup/internal/SetupObserver.java +2 −7 Original line number Original line Diff line number Diff line Loading @@ -18,6 +18,7 @@ package com.android.server.backup.internal; import static com.android.server.backup.BackupManagerService.MORE_DEBUG; import static com.android.server.backup.BackupManagerService.MORE_DEBUG; import static com.android.server.backup.BackupManagerService.TAG; import static com.android.server.backup.BackupManagerService.TAG; import static com.android.server.backup.UserBackupManagerService.getSetupCompleteSettingForUser; import android.content.Context; import android.content.Context; import android.database.ContentObserver; import android.database.ContentObserver; Loading Loading @@ -53,13 +54,7 @@ public class SetupObserver extends ContentObserver { */ */ public void onChange(boolean selfChange) { public void onChange(boolean selfChange) { boolean previousSetupComplete = mUserBackupManagerService.isSetupComplete(); boolean previousSetupComplete = mUserBackupManagerService.isSetupComplete(); boolean newSetupComplete = boolean newSetupComplete = getSetupCompleteSettingForUser(mContext, mUserId); Settings.Secure.getIntForUser( mContext.getContentResolver(), Settings.Secure.USER_SETUP_COMPLETE, 0, mUserId) != 0; boolean resolvedSetupComplete = previousSetupComplete || newSetupComplete; boolean resolvedSetupComplete = previousSetupComplete || newSetupComplete; mUserBackupManagerService.setSetupComplete(resolvedSetupComplete); mUserBackupManagerService.setSetupComplete(resolvedSetupComplete); Loading
services/backup/java/com/android/server/backup/restore/FullRestoreEngine.java +4 −3 Original line number Original line Diff line number Diff line Loading @@ -678,12 +678,13 @@ public class FullRestoreEngine extends RestoreEngine { * Returns whether the package is in the list of the packages for which clear app data should * Returns whether the package is in the list of the packages for which clear app data should * be called despite the fact that they have backup agent. * be called despite the fact that they have backup agent. * * * <p>The list is read from {@link Settings.Secure.PACKAGES_TO_CLEAR_DATA_BEFORE_FULL_RESTORE}. * <p>The list is read from {@link Settings.Secure#PACKAGES_TO_CLEAR_DATA_BEFORE_FULL_RESTORE}. */ */ private boolean shouldForceClearAppDataOnFullRestore(String packageName) { private boolean shouldForceClearAppDataOnFullRestore(String packageName) { String packageListString = Settings.Secure.getString( String packageListString = Settings.Secure.getStringForUser( mBackupManagerService.getContext().getContentResolver(), mBackupManagerService.getContext().getContentResolver(), Settings.Secure.PACKAGES_TO_CLEAR_DATA_BEFORE_FULL_RESTORE); Settings.Secure.PACKAGES_TO_CLEAR_DATA_BEFORE_FULL_RESTORE, mBackupManagerService.getUserId()); if (TextUtils.isEmpty(packageListString)) { if (TextUtils.isEmpty(packageListString)) { return false; return false; } } Loading