Loading services/java/com/android/server/BackupManagerService.java +30 −12 Original line number Diff line number Diff line Loading @@ -228,6 +228,7 @@ class BackupManagerService extends IBackupManager.Stub { // completed. final Object mAgentConnectLock = new Object(); IBackupAgent mConnectedAgent; volatile boolean mBackupRunning; volatile boolean mConnecting; volatile long mLastBackupPass; volatile long mNextBackupPass; Loading Loading @@ -434,6 +435,9 @@ class BackupManagerService extends IBackupManager.Stub { IBackupTransport transport = getTransport(mCurrentTransport); if (transport == null) { Slog.v(TAG, "Backup requested but no transport available"); synchronized (mQueueLock) { mBackupRunning = false; } mWakelock.release(); break; } Loading Loading @@ -470,6 +474,9 @@ class BackupManagerService extends IBackupManager.Stub { sendMessage(pbtMessage); } else { Slog.v(TAG, "Backup requested but nothing pending"); synchronized (mQueueLock) { mBackupRunning = false; } mWakelock.release(); } break; Loading Loading @@ -804,14 +811,19 @@ class BackupManagerService extends IBackupManager.Stub { // Don't run backups now if we're disabled or not yet // fully set up. if (mEnabled && mProvisioned) { if (!mBackupRunning) { if (DEBUG) Slog.v(TAG, "Running a backup pass"); // Acquire the wakelock and pass it to the backup thread. it will // be released once backup concludes. mBackupRunning = true; mWakelock.acquire(); Message msg = mBackupHandler.obtainMessage(MSG_RUN_BACKUP); mBackupHandler.sendMessage(msg); } else { Slog.i(TAG, "Backup time but one already running"); } } else { Slog.w(TAG, "Backup pass but e=" + mEnabled + " p=" + mProvisioned); } Loading Loading @@ -1948,10 +1960,15 @@ class BackupManagerService extends IBackupManager.Stub { writeRestoreTokens(); } // Set up the next backup pass // Set up the next backup pass - at this point we can set mBackupRunning // to false to allow another pass to fire, because we're done with the // state machine sequence and the wakelock is refcounted. synchronized (mQueueLock) { mBackupRunning = false; if (mStatus == BackupConstants.TRANSPORT_NOT_INITIALIZED) { backupNow(); } } // Only once we're entirely finished do we release the wakelock Slog.i(TAG, "Backup pass finished."); Loading Loading @@ -2400,8 +2417,8 @@ class BackupManagerService extends IBackupManager.Stub { mLatchObject.notifyAll(); } sendEndBackup(); mWakelock.release(); if (DEBUG) Slog.d(TAG, "Full backup pass complete."); mWakelock.release(); } } Loading Loading @@ -2908,8 +2925,8 @@ class BackupManagerService extends IBackupManager.Stub { mLatchObject.notifyAll(); } sendEndRestore(); mWakelock.release(); Slog.d(TAG, "Full restore pass complete."); mWakelock.release(); } } Loading Loading @@ -5630,7 +5647,8 @@ class BackupManagerService extends IBackupManager.Stub { + " / " + (!mProvisioned ? "not " : "") + "provisioned / " + (this.mPendingInits.size() == 0 ? "not " : "") + "pending init"); pw.println("Auto-restore is " + (mAutoRestore ? "enabled" : "disabled")); pw.println("Last backup pass: " + mLastBackupPass if (mBackupRunning) pw.println("Backup currently running"); pw.println("Last backup pass started: " + mLastBackupPass + " (now = " + System.currentTimeMillis() + ')'); pw.println(" next scheduled: " + mNextBackupPass); Loading Loading
services/java/com/android/server/BackupManagerService.java +30 −12 Original line number Diff line number Diff line Loading @@ -228,6 +228,7 @@ class BackupManagerService extends IBackupManager.Stub { // completed. final Object mAgentConnectLock = new Object(); IBackupAgent mConnectedAgent; volatile boolean mBackupRunning; volatile boolean mConnecting; volatile long mLastBackupPass; volatile long mNextBackupPass; Loading Loading @@ -434,6 +435,9 @@ class BackupManagerService extends IBackupManager.Stub { IBackupTransport transport = getTransport(mCurrentTransport); if (transport == null) { Slog.v(TAG, "Backup requested but no transport available"); synchronized (mQueueLock) { mBackupRunning = false; } mWakelock.release(); break; } Loading Loading @@ -470,6 +474,9 @@ class BackupManagerService extends IBackupManager.Stub { sendMessage(pbtMessage); } else { Slog.v(TAG, "Backup requested but nothing pending"); synchronized (mQueueLock) { mBackupRunning = false; } mWakelock.release(); } break; Loading Loading @@ -804,14 +811,19 @@ class BackupManagerService extends IBackupManager.Stub { // Don't run backups now if we're disabled or not yet // fully set up. if (mEnabled && mProvisioned) { if (!mBackupRunning) { if (DEBUG) Slog.v(TAG, "Running a backup pass"); // Acquire the wakelock and pass it to the backup thread. it will // be released once backup concludes. mBackupRunning = true; mWakelock.acquire(); Message msg = mBackupHandler.obtainMessage(MSG_RUN_BACKUP); mBackupHandler.sendMessage(msg); } else { Slog.i(TAG, "Backup time but one already running"); } } else { Slog.w(TAG, "Backup pass but e=" + mEnabled + " p=" + mProvisioned); } Loading Loading @@ -1948,10 +1960,15 @@ class BackupManagerService extends IBackupManager.Stub { writeRestoreTokens(); } // Set up the next backup pass // Set up the next backup pass - at this point we can set mBackupRunning // to false to allow another pass to fire, because we're done with the // state machine sequence and the wakelock is refcounted. synchronized (mQueueLock) { mBackupRunning = false; if (mStatus == BackupConstants.TRANSPORT_NOT_INITIALIZED) { backupNow(); } } // Only once we're entirely finished do we release the wakelock Slog.i(TAG, "Backup pass finished."); Loading Loading @@ -2400,8 +2417,8 @@ class BackupManagerService extends IBackupManager.Stub { mLatchObject.notifyAll(); } sendEndBackup(); mWakelock.release(); if (DEBUG) Slog.d(TAG, "Full backup pass complete."); mWakelock.release(); } } Loading Loading @@ -2908,8 +2925,8 @@ class BackupManagerService extends IBackupManager.Stub { mLatchObject.notifyAll(); } sendEndRestore(); mWakelock.release(); Slog.d(TAG, "Full restore pass complete."); mWakelock.release(); } } Loading Loading @@ -5630,7 +5647,8 @@ class BackupManagerService extends IBackupManager.Stub { + " / " + (!mProvisioned ? "not " : "") + "provisioned / " + (this.mPendingInits.size() == 0 ? "not " : "") + "pending init"); pw.println("Auto-restore is " + (mAutoRestore ? "enabled" : "disabled")); pw.println("Last backup pass: " + mLastBackupPass if (mBackupRunning) pw.println("Backup currently running"); pw.println("Last backup pass started: " + mLastBackupPass + " (now = " + System.currentTimeMillis() + ')'); pw.println(" next scheduled: " + mNextBackupPass); Loading