Loading services/backup/java/com/android/server/backup/BackupAgentTimeoutParameters.java +0 −2 Original line number Diff line number Diff line Loading @@ -33,8 +33,6 @@ import com.android.internal.annotations.VisibleForTesting; * are represented as a comma-delimited key value list. */ public class BackupAgentTimeoutParameters extends KeyValueSettingObserver { private static final String TAG = "BackupAgentTimeout"; @VisibleForTesting public static final String SETTING = Settings.Global.BACKUP_AGENT_TIMEOUT_PARAMETERS; Loading services/backup/java/com/android/server/backup/BackupManagerService.java +1 −5 Original line number Diff line number Diff line Loading @@ -39,7 +39,6 @@ import android.content.IntentFilter; import android.content.pm.PackageManager; import android.os.Binder; import android.os.FileUtils; import android.os.HandlerThread; import android.os.IBinder; import android.os.ParcelFileDescriptor; import android.os.Trace; Loading Loading @@ -87,7 +86,6 @@ public class BackupManagerService { private final Context mContext; private final Trampoline mTrampoline; private final HandlerThread mBackupThread; // Keeps track of all unlocked users registered with this service. Indexed by user id. private final SparseArray<UserBackupManagerService> mServiceUsers = new SparseArray<>(); Loading @@ -107,11 +105,9 @@ public class BackupManagerService { }; /** Instantiate a new instance of {@link BackupManagerService}. */ public BackupManagerService( Context context, Trampoline trampoline, HandlerThread backupThread) { public BackupManagerService(Context context, Trampoline trampoline) { mContext = checkNotNull(context); mTrampoline = checkNotNull(trampoline); mBackupThread = checkNotNull(backupThread); // Set up our transport options. SystemConfig systemConfig = SystemConfig.getInstance(); Loading services/backup/java/com/android/server/backup/Trampoline.java +6 −6 Original line number Diff line number Diff line Loading @@ -110,15 +110,15 @@ public class Trampoline extends IBackupManager.Stub { private final Object mStateLock = new Object(); private volatile BackupManagerService mService; private HandlerThread mHandlerThread; private Handler mHandler; private final Handler mHandler; public Trampoline(Context context) { mContext = context; mGlobalDisable = isBackupDisabled(); mHandlerThread = new HandlerThread(BACKUP_THREAD, Process.THREAD_PRIORITY_BACKGROUND); mHandlerThread.start(); mHandler = new Handler(mHandlerThread.getLooper()); HandlerThread handlerThread = new HandlerThread(BACKUP_THREAD, Process.THREAD_PRIORITY_BACKGROUND); handlerThread.start(); mHandler = new Handler(handlerThread.getLooper()); mUserManager = UserManager.get(context); } Loading Loading @@ -232,7 +232,7 @@ public class Trampoline extends IBackupManager.Stub { } protected BackupManagerService createBackupManagerService() { return new BackupManagerService(mContext, this, mHandlerThread); return new BackupManagerService(mContext, this); } protected void postToHandler(Runnable runnable) { Loading services/backup/java/com/android/server/backup/UserBackupManagerService.java +19 −14 Original line number Diff line number Diff line Loading @@ -367,6 +367,9 @@ public class UserBackupManagerService { private long mCurrentToken = 0; @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 Loading Loading @@ -493,11 +496,11 @@ public class UserBackupManagerService { mAutoRestore = Settings.Secure.getIntForUser(resolver, Settings.Secure.BACKUP_AUTO_RESTORE, 1, userId) != 0; ContentObserver setupObserver = new SetupObserver(this, mBackupHandler); mSetupObserver = new SetupObserver(this, mBackupHandler); resolver.registerContentObserver( Settings.Secure.getUriFor(Settings.Secure.USER_SETUP_COMPLETE), /* notifyForDescendents */ false, setupObserver, mSetupObserver, mUserId); mBaseStateDir = checkNotNull(baseStateDir, "baseStateDir cannot be null"); Loading @@ -516,21 +519,21 @@ public class UserBackupManagerService { mBackupPasswordManager = new BackupPasswordManager(mContext, mBaseStateDir, mRng); // Receivers for scheduled backups and transport initialization operations. BroadcastReceiver runBackupReceiver = new RunBackupReceiver(this); mRunBackupReceiver = new RunBackupReceiver(this); IntentFilter filter = new IntentFilter(); filter.addAction(RUN_BACKUP_ACTION); context.registerReceiverAsUser( runBackupReceiver, mRunBackupReceiver, UserHandle.of(userId), filter, android.Manifest.permission.BACKUP, /* scheduler */ null); BroadcastReceiver runInitReceiver = new RunInitializeReceiver(this); mRunInitReceiver = new RunInitializeReceiver(this); filter = new IntentFilter(); filter.addAction(RUN_INITIALIZE_ACTION); context.registerReceiverAsUser( runInitReceiver, mRunInitReceiver, UserHandle.of(userId), filter, android.Manifest.permission.BACKUP, Loading Loading @@ -599,6 +602,12 @@ public class UserBackupManagerService { /** Cleans up state when the user of this service is stopped. */ void tearDownService() { mAgentTimeoutParameters.stop(); mConstants.stop(); mContext.getContentResolver().unregisterContentObserver(mSetupObserver); mContext.unregisterReceiver(mRunBackupReceiver); mContext.unregisterReceiver(mRunInitReceiver); mContext.unregisterReceiver(mPackageTrackingReceiver); mUserBackupThread.quit(); } Loading Loading @@ -747,7 +756,7 @@ public class UserBackupManagerService { @VisibleForTesting BroadcastReceiver getPackageTrackingReceiver() { return mBroadcastReceiver; return mPackageTrackingReceiver; } @Nullable Loading Loading @@ -788,10 +797,6 @@ public class UserBackupManagerService { mPendingInits.clear(); } public PerformFullTransportBackupTask getRunningFullBackupTask() { return mRunningFullBackupTask; } public void setRunningFullBackupTask( PerformFullTransportBackupTask runningFullBackupTask) { mRunningFullBackupTask = runningFullBackupTask; Loading Loading @@ -874,7 +879,7 @@ public class UserBackupManagerService { filter.addAction(Intent.ACTION_PACKAGE_CHANGED); filter.addDataScheme("package"); mContext.registerReceiverAsUser( mBroadcastReceiver, mPackageTrackingReceiver, UserHandle.of(mUserId), filter, /* broadcastPermission */ null, Loading @@ -885,7 +890,7 @@ public class UserBackupManagerService { sdFilter.addAction(Intent.ACTION_EXTERNAL_APPLICATIONS_AVAILABLE); sdFilter.addAction(Intent.ACTION_EXTERNAL_APPLICATIONS_UNAVAILABLE); mContext.registerReceiverAsUser( mBroadcastReceiver, mPackageTrackingReceiver, UserHandle.of(mUserId), sdFilter, /* broadcastPermission */ null, Loading Loading @@ -1158,7 +1163,7 @@ public class UserBackupManagerService { * A {@link BroadcastReceiver} tracking changes to packages and sd cards in order to update our * internal bookkeeping. */ private BroadcastReceiver mBroadcastReceiver = new BroadcastReceiver() { private BroadcastReceiver mPackageTrackingReceiver = new BroadcastReceiver() { public void onReceive(Context context, Intent intent) { if (MORE_DEBUG) { Slog.d(TAG, "Received broadcast " + intent); Loading services/robotests/backup/src/com/android/server/backup/BackupManagerServiceTest.java +3 −16 Original line number Diff line number Diff line Loading @@ -21,7 +21,6 @@ import static android.Manifest.permission.DUMP; import static android.Manifest.permission.INTERACT_ACROSS_USERS_FULL; import static android.Manifest.permission.PACKAGE_USAGE_STATS; import static com.android.server.backup.testing.BackupManagerServiceTestUtils.startBackupThread; import static com.android.server.backup.testing.TransportData.backupTransport; import static com.google.common.truth.Truth.assertThat; Loading Loading @@ -133,8 +132,7 @@ public class BackupManagerServiceTest { () -> new BackupManagerService( /* context */ null, new Trampoline(mContext), startBackupThread(null))); new Trampoline(mContext))); } /** Test that the constructor handles {@code null} parameters. */ Loading @@ -144,17 +142,7 @@ public class BackupManagerServiceTest { NullPointerException.class, () -> new BackupManagerService( mContext, /* trampoline */ null, startBackupThread(null))); } /** Test that the constructor handles {@code null} parameters. */ @Test public void testConstructor_withNullBackupThread_throws() throws Exception { expectThrows( NullPointerException.class, () -> new BackupManagerService( mContext, new Trampoline(mContext), /* backupThread */ null)); mContext, /* trampoline */ null)); } /** Test that the service registers users. */ Loading Loading @@ -1581,8 +1569,7 @@ public class BackupManagerServiceTest { private BackupManagerService createService() { mShadowContext.grantPermissions(BACKUP); return new BackupManagerService( mContext, new Trampoline(mContext), startBackupThread(null)); return new BackupManagerService(mContext, new Trampoline(mContext)); } private BackupManagerService createServiceAndRegisterUser( Loading Loading
services/backup/java/com/android/server/backup/BackupAgentTimeoutParameters.java +0 −2 Original line number Diff line number Diff line Loading @@ -33,8 +33,6 @@ import com.android.internal.annotations.VisibleForTesting; * are represented as a comma-delimited key value list. */ public class BackupAgentTimeoutParameters extends KeyValueSettingObserver { private static final String TAG = "BackupAgentTimeout"; @VisibleForTesting public static final String SETTING = Settings.Global.BACKUP_AGENT_TIMEOUT_PARAMETERS; Loading
services/backup/java/com/android/server/backup/BackupManagerService.java +1 −5 Original line number Diff line number Diff line Loading @@ -39,7 +39,6 @@ import android.content.IntentFilter; import android.content.pm.PackageManager; import android.os.Binder; import android.os.FileUtils; import android.os.HandlerThread; import android.os.IBinder; import android.os.ParcelFileDescriptor; import android.os.Trace; Loading Loading @@ -87,7 +86,6 @@ public class BackupManagerService { private final Context mContext; private final Trampoline mTrampoline; private final HandlerThread mBackupThread; // Keeps track of all unlocked users registered with this service. Indexed by user id. private final SparseArray<UserBackupManagerService> mServiceUsers = new SparseArray<>(); Loading @@ -107,11 +105,9 @@ public class BackupManagerService { }; /** Instantiate a new instance of {@link BackupManagerService}. */ public BackupManagerService( Context context, Trampoline trampoline, HandlerThread backupThread) { public BackupManagerService(Context context, Trampoline trampoline) { mContext = checkNotNull(context); mTrampoline = checkNotNull(trampoline); mBackupThread = checkNotNull(backupThread); // Set up our transport options. SystemConfig systemConfig = SystemConfig.getInstance(); Loading
services/backup/java/com/android/server/backup/Trampoline.java +6 −6 Original line number Diff line number Diff line Loading @@ -110,15 +110,15 @@ public class Trampoline extends IBackupManager.Stub { private final Object mStateLock = new Object(); private volatile BackupManagerService mService; private HandlerThread mHandlerThread; private Handler mHandler; private final Handler mHandler; public Trampoline(Context context) { mContext = context; mGlobalDisable = isBackupDisabled(); mHandlerThread = new HandlerThread(BACKUP_THREAD, Process.THREAD_PRIORITY_BACKGROUND); mHandlerThread.start(); mHandler = new Handler(mHandlerThread.getLooper()); HandlerThread handlerThread = new HandlerThread(BACKUP_THREAD, Process.THREAD_PRIORITY_BACKGROUND); handlerThread.start(); mHandler = new Handler(handlerThread.getLooper()); mUserManager = UserManager.get(context); } Loading Loading @@ -232,7 +232,7 @@ public class Trampoline extends IBackupManager.Stub { } protected BackupManagerService createBackupManagerService() { return new BackupManagerService(mContext, this, mHandlerThread); return new BackupManagerService(mContext, this); } protected void postToHandler(Runnable runnable) { Loading
services/backup/java/com/android/server/backup/UserBackupManagerService.java +19 −14 Original line number Diff line number Diff line Loading @@ -367,6 +367,9 @@ public class UserBackupManagerService { private long mCurrentToken = 0; @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 Loading Loading @@ -493,11 +496,11 @@ public class UserBackupManagerService { mAutoRestore = Settings.Secure.getIntForUser(resolver, Settings.Secure.BACKUP_AUTO_RESTORE, 1, userId) != 0; ContentObserver setupObserver = new SetupObserver(this, mBackupHandler); mSetupObserver = new SetupObserver(this, mBackupHandler); resolver.registerContentObserver( Settings.Secure.getUriFor(Settings.Secure.USER_SETUP_COMPLETE), /* notifyForDescendents */ false, setupObserver, mSetupObserver, mUserId); mBaseStateDir = checkNotNull(baseStateDir, "baseStateDir cannot be null"); Loading @@ -516,21 +519,21 @@ public class UserBackupManagerService { mBackupPasswordManager = new BackupPasswordManager(mContext, mBaseStateDir, mRng); // Receivers for scheduled backups and transport initialization operations. BroadcastReceiver runBackupReceiver = new RunBackupReceiver(this); mRunBackupReceiver = new RunBackupReceiver(this); IntentFilter filter = new IntentFilter(); filter.addAction(RUN_BACKUP_ACTION); context.registerReceiverAsUser( runBackupReceiver, mRunBackupReceiver, UserHandle.of(userId), filter, android.Manifest.permission.BACKUP, /* scheduler */ null); BroadcastReceiver runInitReceiver = new RunInitializeReceiver(this); mRunInitReceiver = new RunInitializeReceiver(this); filter = new IntentFilter(); filter.addAction(RUN_INITIALIZE_ACTION); context.registerReceiverAsUser( runInitReceiver, mRunInitReceiver, UserHandle.of(userId), filter, android.Manifest.permission.BACKUP, Loading Loading @@ -599,6 +602,12 @@ public class UserBackupManagerService { /** Cleans up state when the user of this service is stopped. */ void tearDownService() { mAgentTimeoutParameters.stop(); mConstants.stop(); mContext.getContentResolver().unregisterContentObserver(mSetupObserver); mContext.unregisterReceiver(mRunBackupReceiver); mContext.unregisterReceiver(mRunInitReceiver); mContext.unregisterReceiver(mPackageTrackingReceiver); mUserBackupThread.quit(); } Loading Loading @@ -747,7 +756,7 @@ public class UserBackupManagerService { @VisibleForTesting BroadcastReceiver getPackageTrackingReceiver() { return mBroadcastReceiver; return mPackageTrackingReceiver; } @Nullable Loading Loading @@ -788,10 +797,6 @@ public class UserBackupManagerService { mPendingInits.clear(); } public PerformFullTransportBackupTask getRunningFullBackupTask() { return mRunningFullBackupTask; } public void setRunningFullBackupTask( PerformFullTransportBackupTask runningFullBackupTask) { mRunningFullBackupTask = runningFullBackupTask; Loading Loading @@ -874,7 +879,7 @@ public class UserBackupManagerService { filter.addAction(Intent.ACTION_PACKAGE_CHANGED); filter.addDataScheme("package"); mContext.registerReceiverAsUser( mBroadcastReceiver, mPackageTrackingReceiver, UserHandle.of(mUserId), filter, /* broadcastPermission */ null, Loading @@ -885,7 +890,7 @@ public class UserBackupManagerService { sdFilter.addAction(Intent.ACTION_EXTERNAL_APPLICATIONS_AVAILABLE); sdFilter.addAction(Intent.ACTION_EXTERNAL_APPLICATIONS_UNAVAILABLE); mContext.registerReceiverAsUser( mBroadcastReceiver, mPackageTrackingReceiver, UserHandle.of(mUserId), sdFilter, /* broadcastPermission */ null, Loading Loading @@ -1158,7 +1163,7 @@ public class UserBackupManagerService { * A {@link BroadcastReceiver} tracking changes to packages and sd cards in order to update our * internal bookkeeping. */ private BroadcastReceiver mBroadcastReceiver = new BroadcastReceiver() { private BroadcastReceiver mPackageTrackingReceiver = new BroadcastReceiver() { public void onReceive(Context context, Intent intent) { if (MORE_DEBUG) { Slog.d(TAG, "Received broadcast " + intent); Loading
services/robotests/backup/src/com/android/server/backup/BackupManagerServiceTest.java +3 −16 Original line number Diff line number Diff line Loading @@ -21,7 +21,6 @@ import static android.Manifest.permission.DUMP; import static android.Manifest.permission.INTERACT_ACROSS_USERS_FULL; import static android.Manifest.permission.PACKAGE_USAGE_STATS; import static com.android.server.backup.testing.BackupManagerServiceTestUtils.startBackupThread; import static com.android.server.backup.testing.TransportData.backupTransport; import static com.google.common.truth.Truth.assertThat; Loading Loading @@ -133,8 +132,7 @@ public class BackupManagerServiceTest { () -> new BackupManagerService( /* context */ null, new Trampoline(mContext), startBackupThread(null))); new Trampoline(mContext))); } /** Test that the constructor handles {@code null} parameters. */ Loading @@ -144,17 +142,7 @@ public class BackupManagerServiceTest { NullPointerException.class, () -> new BackupManagerService( mContext, /* trampoline */ null, startBackupThread(null))); } /** Test that the constructor handles {@code null} parameters. */ @Test public void testConstructor_withNullBackupThread_throws() throws Exception { expectThrows( NullPointerException.class, () -> new BackupManagerService( mContext, new Trampoline(mContext), /* backupThread */ null)); mContext, /* trampoline */ null)); } /** Test that the service registers users. */ Loading Loading @@ -1581,8 +1569,7 @@ public class BackupManagerServiceTest { private BackupManagerService createService() { mShadowContext.grantPermissions(BACKUP); return new BackupManagerService( mContext, new Trampoline(mContext), startBackupThread(null)); return new BackupManagerService(mContext, new Trampoline(mContext)); } private BackupManagerService createServiceAndRegisterUser( Loading