Loading services/backup/java/com/android/server/backup/UserBackupManagerService.java +19 −10 Original line number Original line Diff line number Diff line Loading @@ -367,6 +367,9 @@ public class UserBackupManagerService { private long mCurrentToken = 0; private long mCurrentToken = 0; @Nullable private File mAncestralSerialNumberFile; @Nullable private File mAncestralSerialNumberFile; private final ContentObserver mSetupObserver; private final BroadcastReceiver mRunBackupReceiver; private final BroadcastReceiver mRunInitReceiver; /** /** * Creates an instance of {@link UserBackupManagerService} and initializes state for it. This * Creates an instance of {@link UserBackupManagerService} and initializes state for it. This Loading Loading @@ -493,11 +496,11 @@ public class UserBackupManagerService { mAutoRestore = Settings.Secure.getIntForUser(resolver, mAutoRestore = Settings.Secure.getIntForUser(resolver, Settings.Secure.BACKUP_AUTO_RESTORE, 1, userId) != 0; Settings.Secure.BACKUP_AUTO_RESTORE, 1, userId) != 0; ContentObserver setupObserver = new SetupObserver(this, mBackupHandler); mSetupObserver = new SetupObserver(this, mBackupHandler); resolver.registerContentObserver( resolver.registerContentObserver( Settings.Secure.getUriFor(Settings.Secure.USER_SETUP_COMPLETE), Settings.Secure.getUriFor(Settings.Secure.USER_SETUP_COMPLETE), /* notifyForDescendents */ false, /* notifyForDescendents */ false, setupObserver, mSetupObserver, mUserId); mUserId); mBaseStateDir = checkNotNull(baseStateDir, "baseStateDir cannot be null"); mBaseStateDir = checkNotNull(baseStateDir, "baseStateDir cannot be null"); Loading @@ -516,21 +519,21 @@ public class UserBackupManagerService { mBackupPasswordManager = new BackupPasswordManager(mContext, mBaseStateDir, mRng); mBackupPasswordManager = new BackupPasswordManager(mContext, mBaseStateDir, mRng); // Receivers for scheduled backups and transport initialization operations. // Receivers for scheduled backups and transport initialization operations. BroadcastReceiver runBackupReceiver = new RunBackupReceiver(this); mRunBackupReceiver = new RunBackupReceiver(this); IntentFilter filter = new IntentFilter(); IntentFilter filter = new IntentFilter(); filter.addAction(RUN_BACKUP_ACTION); filter.addAction(RUN_BACKUP_ACTION); context.registerReceiverAsUser( context.registerReceiverAsUser( runBackupReceiver, mRunBackupReceiver, UserHandle.of(userId), UserHandle.of(userId), filter, filter, android.Manifest.permission.BACKUP, android.Manifest.permission.BACKUP, /* scheduler */ null); /* scheduler */ null); BroadcastReceiver runInitReceiver = new RunInitializeReceiver(this); mRunInitReceiver = new RunInitializeReceiver(this); filter = new IntentFilter(); filter = new IntentFilter(); filter.addAction(RUN_INITIALIZE_ACTION); filter.addAction(RUN_INITIALIZE_ACTION); context.registerReceiverAsUser( context.registerReceiverAsUser( runInitReceiver, mRunInitReceiver, UserHandle.of(userId), UserHandle.of(userId), filter, filter, android.Manifest.permission.BACKUP, android.Manifest.permission.BACKUP, Loading Loading @@ -599,6 +602,12 @@ public class UserBackupManagerService { /** Cleans up state when the user of this service is stopped. */ /** Cleans up state when the user of this service is stopped. */ void tearDownService() { void tearDownService() { mAgentTimeoutParameters.stop(); mConstants.stop(); mContext.getContentResolver().unregisterContentObserver(mSetupObserver); mContext.unregisterReceiver(mRunBackupReceiver); mContext.unregisterReceiver(mRunInitReceiver); mContext.unregisterReceiver(mPackageTrackingReceiver); mUserBackupThread.quit(); mUserBackupThread.quit(); } } Loading Loading @@ -747,7 +756,7 @@ public class UserBackupManagerService { @VisibleForTesting @VisibleForTesting BroadcastReceiver getPackageTrackingReceiver() { BroadcastReceiver getPackageTrackingReceiver() { return mBroadcastReceiver; return mPackageTrackingReceiver; } } @Nullable @Nullable Loading Loading @@ -874,7 +883,7 @@ public class UserBackupManagerService { filter.addAction(Intent.ACTION_PACKAGE_CHANGED); filter.addAction(Intent.ACTION_PACKAGE_CHANGED); filter.addDataScheme("package"); filter.addDataScheme("package"); mContext.registerReceiverAsUser( mContext.registerReceiverAsUser( mBroadcastReceiver, mPackageTrackingReceiver, UserHandle.of(mUserId), UserHandle.of(mUserId), filter, filter, /* broadcastPermission */ null, /* broadcastPermission */ null, Loading @@ -885,7 +894,7 @@ public class UserBackupManagerService { sdFilter.addAction(Intent.ACTION_EXTERNAL_APPLICATIONS_AVAILABLE); sdFilter.addAction(Intent.ACTION_EXTERNAL_APPLICATIONS_AVAILABLE); sdFilter.addAction(Intent.ACTION_EXTERNAL_APPLICATIONS_UNAVAILABLE); sdFilter.addAction(Intent.ACTION_EXTERNAL_APPLICATIONS_UNAVAILABLE); mContext.registerReceiverAsUser( mContext.registerReceiverAsUser( mBroadcastReceiver, mPackageTrackingReceiver, UserHandle.of(mUserId), UserHandle.of(mUserId), sdFilter, sdFilter, /* broadcastPermission */ null, /* broadcastPermission */ null, Loading Loading @@ -1158,7 +1167,7 @@ public class UserBackupManagerService { * A {@link BroadcastReceiver} tracking changes to packages and sd cards in order to update our * A {@link BroadcastReceiver} tracking changes to packages and sd cards in order to update our * internal bookkeeping. * internal bookkeeping. */ */ private BroadcastReceiver mBroadcastReceiver = new BroadcastReceiver() { private BroadcastReceiver mPackageTrackingReceiver = new BroadcastReceiver() { public void onReceive(Context context, Intent intent) { public void onReceive(Context context, Intent intent) { if (MORE_DEBUG) { if (MORE_DEBUG) { Slog.d(TAG, "Received broadcast " + intent); Slog.d(TAG, "Received broadcast " + intent); Loading Loading
services/backup/java/com/android/server/backup/UserBackupManagerService.java +19 −10 Original line number Original line Diff line number Diff line Loading @@ -367,6 +367,9 @@ public class UserBackupManagerService { private long mCurrentToken = 0; private long mCurrentToken = 0; @Nullable private File mAncestralSerialNumberFile; @Nullable private File mAncestralSerialNumberFile; private final ContentObserver mSetupObserver; private final BroadcastReceiver mRunBackupReceiver; private final BroadcastReceiver mRunInitReceiver; /** /** * Creates an instance of {@link UserBackupManagerService} and initializes state for it. This * Creates an instance of {@link UserBackupManagerService} and initializes state for it. This Loading Loading @@ -493,11 +496,11 @@ public class UserBackupManagerService { mAutoRestore = Settings.Secure.getIntForUser(resolver, mAutoRestore = Settings.Secure.getIntForUser(resolver, Settings.Secure.BACKUP_AUTO_RESTORE, 1, userId) != 0; Settings.Secure.BACKUP_AUTO_RESTORE, 1, userId) != 0; ContentObserver setupObserver = new SetupObserver(this, mBackupHandler); mSetupObserver = new SetupObserver(this, mBackupHandler); resolver.registerContentObserver( resolver.registerContentObserver( Settings.Secure.getUriFor(Settings.Secure.USER_SETUP_COMPLETE), Settings.Secure.getUriFor(Settings.Secure.USER_SETUP_COMPLETE), /* notifyForDescendents */ false, /* notifyForDescendents */ false, setupObserver, mSetupObserver, mUserId); mUserId); mBaseStateDir = checkNotNull(baseStateDir, "baseStateDir cannot be null"); mBaseStateDir = checkNotNull(baseStateDir, "baseStateDir cannot be null"); Loading @@ -516,21 +519,21 @@ public class UserBackupManagerService { mBackupPasswordManager = new BackupPasswordManager(mContext, mBaseStateDir, mRng); mBackupPasswordManager = new BackupPasswordManager(mContext, mBaseStateDir, mRng); // Receivers for scheduled backups and transport initialization operations. // Receivers for scheduled backups and transport initialization operations. BroadcastReceiver runBackupReceiver = new RunBackupReceiver(this); mRunBackupReceiver = new RunBackupReceiver(this); IntentFilter filter = new IntentFilter(); IntentFilter filter = new IntentFilter(); filter.addAction(RUN_BACKUP_ACTION); filter.addAction(RUN_BACKUP_ACTION); context.registerReceiverAsUser( context.registerReceiverAsUser( runBackupReceiver, mRunBackupReceiver, UserHandle.of(userId), UserHandle.of(userId), filter, filter, android.Manifest.permission.BACKUP, android.Manifest.permission.BACKUP, /* scheduler */ null); /* scheduler */ null); BroadcastReceiver runInitReceiver = new RunInitializeReceiver(this); mRunInitReceiver = new RunInitializeReceiver(this); filter = new IntentFilter(); filter = new IntentFilter(); filter.addAction(RUN_INITIALIZE_ACTION); filter.addAction(RUN_INITIALIZE_ACTION); context.registerReceiverAsUser( context.registerReceiverAsUser( runInitReceiver, mRunInitReceiver, UserHandle.of(userId), UserHandle.of(userId), filter, filter, android.Manifest.permission.BACKUP, android.Manifest.permission.BACKUP, Loading Loading @@ -599,6 +602,12 @@ public class UserBackupManagerService { /** Cleans up state when the user of this service is stopped. */ /** Cleans up state when the user of this service is stopped. */ void tearDownService() { void tearDownService() { mAgentTimeoutParameters.stop(); mConstants.stop(); mContext.getContentResolver().unregisterContentObserver(mSetupObserver); mContext.unregisterReceiver(mRunBackupReceiver); mContext.unregisterReceiver(mRunInitReceiver); mContext.unregisterReceiver(mPackageTrackingReceiver); mUserBackupThread.quit(); mUserBackupThread.quit(); } } Loading Loading @@ -747,7 +756,7 @@ public class UserBackupManagerService { @VisibleForTesting @VisibleForTesting BroadcastReceiver getPackageTrackingReceiver() { BroadcastReceiver getPackageTrackingReceiver() { return mBroadcastReceiver; return mPackageTrackingReceiver; } } @Nullable @Nullable Loading Loading @@ -874,7 +883,7 @@ public class UserBackupManagerService { filter.addAction(Intent.ACTION_PACKAGE_CHANGED); filter.addAction(Intent.ACTION_PACKAGE_CHANGED); filter.addDataScheme("package"); filter.addDataScheme("package"); mContext.registerReceiverAsUser( mContext.registerReceiverAsUser( mBroadcastReceiver, mPackageTrackingReceiver, UserHandle.of(mUserId), UserHandle.of(mUserId), filter, filter, /* broadcastPermission */ null, /* broadcastPermission */ null, Loading @@ -885,7 +894,7 @@ public class UserBackupManagerService { sdFilter.addAction(Intent.ACTION_EXTERNAL_APPLICATIONS_AVAILABLE); sdFilter.addAction(Intent.ACTION_EXTERNAL_APPLICATIONS_AVAILABLE); sdFilter.addAction(Intent.ACTION_EXTERNAL_APPLICATIONS_UNAVAILABLE); sdFilter.addAction(Intent.ACTION_EXTERNAL_APPLICATIONS_UNAVAILABLE); mContext.registerReceiverAsUser( mContext.registerReceiverAsUser( mBroadcastReceiver, mPackageTrackingReceiver, UserHandle.of(mUserId), UserHandle.of(mUserId), sdFilter, sdFilter, /* broadcastPermission */ null, /* broadcastPermission */ null, Loading Loading @@ -1158,7 +1167,7 @@ public class UserBackupManagerService { * A {@link BroadcastReceiver} tracking changes to packages and sd cards in order to update our * A {@link BroadcastReceiver} tracking changes to packages and sd cards in order to update our * internal bookkeeping. * internal bookkeeping. */ */ private BroadcastReceiver mBroadcastReceiver = new BroadcastReceiver() { private BroadcastReceiver mPackageTrackingReceiver = new BroadcastReceiver() { public void onReceive(Context context, Intent intent) { public void onReceive(Context context, Intent intent) { if (MORE_DEBUG) { if (MORE_DEBUG) { Slog.d(TAG, "Received broadcast " + intent); Slog.d(TAG, "Received broadcast " + intent); Loading