diff options
4 files changed, 14 insertions, 17 deletions
diff --git a/services/backup/java/com/android/server/backup/BackupManagerService.java b/services/backup/java/com/android/server/backup/BackupManagerService.java index 814f6daac43c..69e4df01c4db 100644 --- a/services/backup/java/com/android/server/backup/BackupManagerService.java +++ b/services/backup/java/com/android/server/backup/BackupManagerService.java @@ -74,16 +74,6 @@ public class BackupManagerService { @VisibleForTesting static final String DUMP_RUNNING_USERS_MESSAGE = "Backup Manager is running for users:"; - // The published binder is a singleton Trampoline object that calls through to the proper code. - // This indirection lets us turn down the heavy implementation object on the fly without - // disturbing binders that have been cached elsewhere in the system. - private static Trampoline sInstance; - - static Trampoline getInstance() { - // Always constructed during system bring up, so no need to lazy-init. - return sInstance; - } - private final Context mContext; private final Trampoline mTrampoline; @@ -895,22 +885,22 @@ public class BackupManagerService { @VisibleForTesting Lifecycle(Context context, Trampoline trampoline) { super(context); - sInstance = trampoline; + Trampoline.sInstance = trampoline; } @Override public void onStart() { - publishService(Context.BACKUP_SERVICE, sInstance); + publishService(Context.BACKUP_SERVICE, Trampoline.sInstance); } @Override public void onUnlockUser(int userId) { - sInstance.onUnlockUser(userId); + Trampoline.sInstance.onUnlockUser(userId); } @Override public void onStopUser(int userId) { - sInstance.onStopUser(userId); + Trampoline.sInstance.onStopUser(userId); } @VisibleForTesting diff --git a/services/backup/java/com/android/server/backup/FullBackupJob.java b/services/backup/java/com/android/server/backup/FullBackupJob.java index 088e1f9a0db8..19a85432875c 100644 --- a/services/backup/java/com/android/server/backup/FullBackupJob.java +++ b/services/backup/java/com/android/server/backup/FullBackupJob.java @@ -91,7 +91,7 @@ public class FullBackupJob extends JobService { mParamsForUser.put(userId, params); } - Trampoline service = BackupManagerService.getInstance(); + Trampoline service = Trampoline.getInstance(); return service.beginFullBackup(userId, this); } @@ -105,7 +105,7 @@ public class FullBackupJob extends JobService { } } - Trampoline service = BackupManagerService.getInstance(); + Trampoline service = Trampoline.getInstance(); service.endFullBackup(userId); return false; diff --git a/services/backup/java/com/android/server/backup/KeyValueBackupJob.java b/services/backup/java/com/android/server/backup/KeyValueBackupJob.java index ac43fc3b7781..7b5dbd7ce777 100644 --- a/services/backup/java/com/android/server/backup/KeyValueBackupJob.java +++ b/services/backup/java/com/android/server/backup/KeyValueBackupJob.java @@ -144,7 +144,7 @@ public class KeyValueBackupJob extends JobService { } // Time to run a key/value backup! - Trampoline service = BackupManagerService.getInstance(); + Trampoline service = Trampoline.getInstance(); try { service.backupNowForUser(userId); } catch (RemoteException e) {} diff --git a/services/backup/java/com/android/server/backup/Trampoline.java b/services/backup/java/com/android/server/backup/Trampoline.java index 210a9ef94e53..0061cf02adfd 100644 --- a/services/backup/java/com/android/server/backup/Trampoline.java +++ b/services/backup/java/com/android/server/backup/Trampoline.java @@ -16,6 +16,7 @@ package com.android.server.backup; +import static com.android.internal.util.Preconditions.checkNotNull; import static com.android.server.backup.BackupManagerService.TAG; import android.Manifest; @@ -98,6 +99,12 @@ public class Trampoline extends IBackupManager.Stub { private static final String BACKUP_THREAD = "backup"; + static Trampoline sInstance; + + static Trampoline getInstance() { + return checkNotNull(sInstance); + } + private final Context mContext; private final UserManager mUserManager; |