summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Sarp Misoglu <sarpm@google.com> 2025-01-10 07:54:06 -0800
committer Android (Google) Code Review <android-gerrit@google.com> 2025-01-10 07:54:06 -0800
commitf0e8cc6f23c5a38fd3881d5ed5cda325a46df39e (patch)
treef7010f94b529c9d9f0bd57759cd1303ad7d7fcce
parent7615f9b216e78d73b8df3e183d6c782d62cf448f (diff)
parent3682f501fb72835ec6a580377c2f610570573bd4 (diff)
Merge changes I595fe26e,I117f7fe0 into main
* changes: Move BackupWakeLock to its own file Fix debug logging in the backup service
-rw-r--r--services/backup/java/com/android/server/backup/BackupAgentConnectionManager.java4
-rw-r--r--services/backup/java/com/android/server/backup/BackupManagerConstants.java64
-rw-r--r--services/backup/java/com/android/server/backup/BackupManagerService.java8
-rw-r--r--services/backup/java/com/android/server/backup/BackupWakeLock.java95
-rw-r--r--services/backup/java/com/android/server/backup/KeyValueAdbBackupEngine.java16
-rw-r--r--services/backup/java/com/android/server/backup/KeyValueAdbRestoreEngine.java4
-rw-r--r--services/backup/java/com/android/server/backup/KeyValueBackupJob.java5
-rw-r--r--services/backup/java/com/android/server/backup/PackageManagerBackupAgent.java4
-rw-r--r--services/backup/java/com/android/server/backup/ProcessedPackagesJournal.java5
-rw-r--r--services/backup/java/com/android/server/backup/TransportManager.java12
-rw-r--r--services/backup/java/com/android/server/backup/UserBackupManagerService.java460
-rw-r--r--services/backup/java/com/android/server/backup/fullbackup/AppMetadataBackupWriter.java4
-rw-r--r--services/backup/java/com/android/server/backup/fullbackup/FullBackupEngine.java15
-rw-r--r--services/backup/java/com/android/server/backup/fullbackup/FullBackupObbConnection.java12
-rw-r--r--services/backup/java/com/android/server/backup/fullbackup/PerformAdbBackupTask.java35
-rw-r--r--services/backup/java/com/android/server/backup/fullbackup/PerformFullTransportBackupTask.java78
-rw-r--r--services/backup/java/com/android/server/backup/internal/BackupHandler.java37
-rw-r--r--services/backup/java/com/android/server/backup/internal/LifecycleOperationStorage.java25
-rw-r--r--services/backup/java/com/android/server/backup/internal/PerformClearTask.java2
-rw-r--r--services/backup/java/com/android/server/backup/internal/RunInitializeReceiver.java5
-rw-r--r--services/backup/java/com/android/server/backup/internal/SetupObserver.java6
-rw-r--r--services/backup/java/com/android/server/backup/keyvalue/KeyValueBackupReporter.java41
-rw-r--r--services/backup/java/com/android/server/backup/keyvalue/KeyValueBackupTask.java7
-rw-r--r--services/backup/java/com/android/server/backup/restore/ActiveRestoreSession.java88
-rw-r--r--services/backup/java/com/android/server/backup/restore/AdbRestoreFinishedLatch.java7
-rw-r--r--services/backup/java/com/android/server/backup/restore/FullRestoreEngine.java57
-rw-r--r--services/backup/java/com/android/server/backup/restore/PerformAdbRestoreTask.java9
-rw-r--r--services/backup/java/com/android/server/backup/restore/PerformUnifiedRestoreTask.java75
-rw-r--r--services/backup/java/com/android/server/backup/utils/BackupEligibilityRules.java10
-rw-r--r--services/backup/java/com/android/server/backup/utils/BackupManagerMonitorEventSender.java9
-rw-r--r--services/backup/java/com/android/server/backup/utils/BackupObserverUtils.java13
-rw-r--r--services/backup/java/com/android/server/backup/utils/RestoreUtils.java5
-rw-r--r--services/backup/java/com/android/server/backup/utils/TarBackupReader.java47
-rw-r--r--services/robotests/backup/src/com/android/server/backup/BackupManagerServiceRoboTest.java9
-rw-r--r--services/robotests/backup/src/com/android/server/backup/keyvalue/KeyValueBackupReporterTest.java4
-rw-r--r--services/robotests/backup/src/com/android/server/backup/keyvalue/KeyValueBackupTaskTest.java26
-rw-r--r--services/robotests/backup/src/com/android/server/backup/restore/ActiveRestoreSessionTest.java3
-rw-r--r--services/robotests/backup/src/com/android/server/backup/testing/BackupManagerServiceTestUtils.java13
-rw-r--r--services/tests/mockingservicestests/src/com/android/server/backup/fullbackup/PerformFullTransportBackupTaskTest.java5
39 files changed, 492 insertions, 832 deletions
diff --git a/services/backup/java/com/android/server/backup/BackupAgentConnectionManager.java b/services/backup/java/com/android/server/backup/BackupAgentConnectionManager.java
index 6ced096e8778..d8fbde4115d9 100644
--- a/services/backup/java/com/android/server/backup/BackupAgentConnectionManager.java
+++ b/services/backup/java/com/android/server/backup/BackupAgentConnectionManager.java
@@ -16,7 +16,7 @@
package com.android.server.backup;
-import static com.android.server.backup.BackupManagerService.MORE_DEBUG;
+import static com.android.server.backup.BackupManagerService.DEBUG;
import static com.android.server.backup.BackupManagerService.TAG;
import android.annotation.Nullable;
@@ -302,7 +302,7 @@ public class BackupAgentConnectionManager {
// that the package being backed up doesn't get stuck in restricted mode until the
// backup time-out elapses.
for (int token : mOperationStorage.operationTokensForPackage(packageName)) {
- if (MORE_DEBUG) {
+ if (DEBUG) {
Slog.d(TAG,
mUserIdMsg + "agentDisconnected: will handleCancel(all) for token:"
+ Integer.toHexString(token));
diff --git a/services/backup/java/com/android/server/backup/BackupManagerConstants.java b/services/backup/java/com/android/server/backup/BackupManagerConstants.java
index b753d01562ca..6aa5e2c05457 100644
--- a/services/backup/java/com/android/server/backup/BackupManagerConstants.java
+++ b/services/backup/java/com/android/server/backup/BackupManagerConstants.java
@@ -16,8 +16,6 @@
package com.android.server.backup;
-import static com.android.server.backup.BackupManagerService.DEBUG_SCHEDULING;
-
import android.app.AlarmManager;
import android.app.job.JobInfo;
import android.content.ContentResolver;
@@ -168,85 +166,55 @@ public class BackupManagerConstants extends KeyValueSettingObserver {
// group the calls of these methods in a block syncrhonized on
// a reference of this object.
public synchronized long getKeyValueBackupIntervalMilliseconds() {
- if (DEBUG_SCHEDULING) {
- Slog.v(
- TAG,
- "getKeyValueBackupIntervalMilliseconds(...) returns "
- + mKeyValueBackupIntervalMilliseconds);
- }
+ Slog.d(TAG, "getKeyValueBackupIntervalMilliseconds(...) returns "
+ + mKeyValueBackupIntervalMilliseconds);
return mKeyValueBackupIntervalMilliseconds;
}
public synchronized long getKeyValueBackupFuzzMilliseconds() {
- if (DEBUG_SCHEDULING) {
- Slog.v(
- TAG,
- "getKeyValueBackupFuzzMilliseconds(...) returns "
- + mKeyValueBackupFuzzMilliseconds);
- }
+ Slog.d(TAG, "getKeyValueBackupFuzzMilliseconds(...) returns "
+ + mKeyValueBackupFuzzMilliseconds);
return mKeyValueBackupFuzzMilliseconds;
}
public synchronized boolean getKeyValueBackupRequireCharging() {
- if (DEBUG_SCHEDULING) {
- Slog.v(
- TAG,
- "getKeyValueBackupRequireCharging(...) returns "
- + mKeyValueBackupRequireCharging);
- }
+ Slog.d(TAG,
+ "getKeyValueBackupRequireCharging(...) returns " + mKeyValueBackupRequireCharging);
return mKeyValueBackupRequireCharging;
}
public synchronized int getKeyValueBackupRequiredNetworkType() {
- if (DEBUG_SCHEDULING) {
- Slog.v(
- TAG,
- "getKeyValueBackupRequiredNetworkType(...) returns "
- + mKeyValueBackupRequiredNetworkType);
- }
+ Slog.d(TAG, "getKeyValueBackupRequiredNetworkType(...) returns "
+ + mKeyValueBackupRequiredNetworkType);
return mKeyValueBackupRequiredNetworkType;
}
public synchronized long getFullBackupIntervalMilliseconds() {
- if (DEBUG_SCHEDULING) {
- Slog.v(
- TAG,
- "getFullBackupIntervalMilliseconds(...) returns "
- + mFullBackupIntervalMilliseconds);
- }
+ Slog.d(TAG, "getFullBackupIntervalMilliseconds(...) returns "
+ + mFullBackupIntervalMilliseconds);
return mFullBackupIntervalMilliseconds;
}
public synchronized boolean getFullBackupRequireCharging() {
- if (DEBUG_SCHEDULING) {
- Slog.v(TAG, "getFullBackupRequireCharging(...) returns " + mFullBackupRequireCharging);
- }
+ Slog.d(TAG, "getFullBackupRequireCharging(...) returns " + mFullBackupRequireCharging);
return mFullBackupRequireCharging;
}
public synchronized int getFullBackupRequiredNetworkType() {
- if (DEBUG_SCHEDULING) {
- Slog.v(
- TAG,
- "getFullBackupRequiredNetworkType(...) returns "
- + mFullBackupRequiredNetworkType);
- }
+ Slog.d(TAG,
+ "getFullBackupRequiredNetworkType(...) returns " + mFullBackupRequiredNetworkType);
return mFullBackupRequiredNetworkType;
}
/** Returns an array of package names that should be notified whenever a backup finishes. */
public synchronized String[] getBackupFinishedNotificationReceivers() {
- if (DEBUG_SCHEDULING) {
- Slog.v(
- TAG,
- "getBackupFinishedNotificationReceivers(...) returns "
- + TextUtils.join(", ", mBackupFinishedNotificationReceivers));
- }
+ Slog.d(TAG, "getBackupFinishedNotificationReceivers(...) returns " + TextUtils.join(", ",
+ mBackupFinishedNotificationReceivers));
return mBackupFinishedNotificationReceivers;
}
public synchronized long getWakelockTimeoutMillis() {
- Slog.v(TAG, "wakelock timeout: " + mWakelockTimeoutMillis);
+ Slog.d(TAG, "wakelock timeout: " + mWakelockTimeoutMillis);
return mWakelockTimeoutMillis;
}
}
diff --git a/services/backup/java/com/android/server/backup/BackupManagerService.java b/services/backup/java/com/android/server/backup/BackupManagerService.java
index 8804faf2d312..5edf08cc1d80 100644
--- a/services/backup/java/com/android/server/backup/BackupManagerService.java
+++ b/services/backup/java/com/android/server/backup/BackupManagerService.java
@@ -94,9 +94,7 @@ import java.util.Set;
*/
public class BackupManagerService extends IBackupManager.Stub implements BackupManagerInternal {
public static final String TAG = "BackupManagerService";
- public static final boolean DEBUG = true;
- public static final boolean MORE_DEBUG = false;
- public static final boolean DEBUG_SCHEDULING = true;
+ public static final boolean DEBUG = false;
@VisibleForTesting
static final String DUMP_RUNNING_USERS_MESSAGE = "Backup Manager is running for users:";
@@ -187,9 +185,7 @@ public class BackupManagerService extends IBackupManager.Stub implements BackupM
mUserRemovedReceiver, new IntentFilter(Intent.ACTION_USER_REMOVED));
UserHandle mainUser = getUserManager().getMainUser();
mDefaultBackupUserId = mainUser == null ? UserHandle.USER_SYSTEM : mainUser.getIdentifier();
- if (DEBUG) {
- Slog.d(TAG, "Default backup user id = " + mDefaultBackupUserId);
- }
+ Slog.d(TAG, "Default backup user id = " + mDefaultBackupUserId);
}
@VisibleForTesting
diff --git a/services/backup/java/com/android/server/backup/BackupWakeLock.java b/services/backup/java/com/android/server/backup/BackupWakeLock.java
new file mode 100644
index 000000000000..d839e7a1583b
--- /dev/null
+++ b/services/backup/java/com/android/server/backup/BackupWakeLock.java
@@ -0,0 +1,95 @@
+/*
+ * Copyright (C) 2025 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.server.backup;
+
+import static com.android.server.backup.BackupManagerService.TAG;
+
+import android.annotation.Nullable;
+import android.os.PowerManager;
+import android.os.WorkSource;
+import android.util.Slog;
+
+/**
+ * Wrapper over {@link PowerManager.WakeLock} to prevent double-free exceptions on release()
+ * after quit().
+ *
+ * <p>There should be a single instance of this class per {@link UserBackupManagerService}.
+ */
+public class BackupWakeLock {
+ private final PowerManager.WakeLock mPowerManagerWakeLock;
+ private boolean mHasQuit = false;
+ private final String mUserIdMessage;
+ private final BackupManagerConstants mBackupManagerConstants;
+
+ public BackupWakeLock(PowerManager.WakeLock powerManagerWakeLock, int userId,
+ BackupManagerConstants backupManagerConstants) {
+ mPowerManagerWakeLock = powerManagerWakeLock;
+ mUserIdMessage = "[UserID:" + userId + "] ";
+ mBackupManagerConstants = backupManagerConstants;
+ }
+
+ /** Acquires the {@link PowerManager.WakeLock} if hasn't been quit. */
+ public synchronized void acquire() {
+ if (mHasQuit) {
+ Slog.d(TAG, mUserIdMessage + "Ignore wakelock acquire after quit: "
+ + mPowerManagerWakeLock.getTag());
+ return;
+ }
+ // Set a timeout for the wakelock. Otherwise if we fail internally and never call
+ // release(), the device might stay awake and drain battery indefinitely.
+ mPowerManagerWakeLock.acquire(mBackupManagerConstants.getWakelockTimeoutMillis());
+ Slog.d(TAG, mUserIdMessage + "Acquired wakelock:" + mPowerManagerWakeLock.getTag());
+ }
+
+ /** Releases the {@link PowerManager.WakeLock} if hasn't been quit. */
+ public synchronized void release() {
+ if (mHasQuit) {
+ Slog.d(TAG, mUserIdMessage + "Ignore wakelock release after quit: "
+ + mPowerManagerWakeLock.getTag());
+ return;
+ }
+
+ if (!mPowerManagerWakeLock.isHeld()) {
+ Slog.w(TAG, mUserIdMessage + "Wakelock not held: " + mPowerManagerWakeLock.getTag());
+ return;
+ }
+
+ mPowerManagerWakeLock.release();
+ Slog.d(TAG, mUserIdMessage + "Released wakelock:" + mPowerManagerWakeLock.getTag());
+ }
+
+ /**
+ * Returns true if the {@link PowerManager.WakeLock} has been acquired but not yet released.
+ */
+ public synchronized boolean isHeld() {
+ return mPowerManagerWakeLock.isHeld();
+ }
+
+ /** Release the {@link PowerManager.WakeLock} till it isn't held. */
+ public synchronized void quit() {
+ while (mPowerManagerWakeLock.isHeld()) {
+ Slog.d(TAG, mUserIdMessage + "Releasing wakelock: " + mPowerManagerWakeLock.getTag());
+ mPowerManagerWakeLock.release();
+ }
+ mHasQuit = true;
+ }
+
+ /** Calls {@link PowerManager.WakeLock#setWorkSource} on the underlying wake lock. */
+ public void setWorkSource(@Nullable WorkSource workSource) {
+ mPowerManagerWakeLock.setWorkSource(workSource);
+ }
+}
diff --git a/services/backup/java/com/android/server/backup/KeyValueAdbBackupEngine.java b/services/backup/java/com/android/server/backup/KeyValueAdbBackupEngine.java
index b343ec8e709b..9f4407d99e18 100644
--- a/services/backup/java/com/android/server/backup/KeyValueAdbBackupEngine.java
+++ b/services/backup/java/com/android/server/backup/KeyValueAdbBackupEngine.java
@@ -180,9 +180,7 @@ public class KeyValueAdbBackupEngine {
Slog.e(TAG, "Key-value backup failed on package " + packageName);
return false;
}
- if (DEBUG) {
- Slog.i(TAG, "Key-value backup success for package " + packageName);
- }
+ Slog.i(TAG, "Key-value backup success for package " + packageName);
return true;
} catch (RemoteException e) {
Slog.e(TAG, "Error invoking agent for backup on " + packageName + ". " + e);
@@ -210,9 +208,7 @@ public class KeyValueAdbBackupEngine {
AppMetadataBackupWriter writer =
new AppMetadataBackupWriter(output, mPackageManager);
- if (DEBUG) {
- Slog.d(TAG, "Writing manifest for " + mPackage.packageName);
- }
+ Slog.d(TAG, "Writing manifest for " + mPackage.packageName);
writer.backupManifest(
mPackage,
@@ -223,9 +219,7 @@ public class KeyValueAdbBackupEngine {
/* withApk */ false);
mManifestFile.delete();
- if (DEBUG) {
- Slog.d(TAG, "Writing key-value package payload" + mPackage.packageName);
- }
+ Slog.d(TAG, "Writing key-value package payload" + mPackage.packageName);
FullBackup.backupToTar(mPackage.packageName, FullBackup.KEY_VALUE_DATA_TOKEN, null,
mDataDir.getAbsolutePath(),
mBackupDataName.getAbsolutePath(),
@@ -283,9 +277,7 @@ public class KeyValueAdbBackupEngine {
if (!mBackupManagerService.waitUntilOperationComplete(token)) {
Slog.e(TAG, "Full backup failed on package " + mCurrentPackage.packageName);
} else {
- if (DEBUG) {
- Slog.d(TAG, "Full package backup success: " + mCurrentPackage.packageName);
- }
+ Slog.d(TAG, "Full package backup success: " + mCurrentPackage.packageName);
}
} catch (IOException e) {
Slog.e(TAG, "Error backing up " + mCurrentPackage.packageName + ": " + e);
diff --git a/services/backup/java/com/android/server/backup/KeyValueAdbRestoreEngine.java b/services/backup/java/com/android/server/backup/KeyValueAdbRestoreEngine.java
index 3184bd87601a..b68a0e42908b 100644
--- a/services/backup/java/com/android/server/backup/KeyValueAdbRestoreEngine.java
+++ b/services/backup/java/com/android/server/backup/KeyValueAdbRestoreEngine.java
@@ -89,10 +89,8 @@ public class KeyValueAdbRestoreEngine implements Runnable {
ParcelFileDescriptor newState = ParcelFileDescriptor.open(newStateName,
MODE_READ_WRITE | MODE_CREATE | MODE_TRUNCATE);
- if (DEBUG) {
- Slog.i(TAG, "Starting restore of package " + pkg + " for version code "
+ Slog.i(TAG, "Starting restore of package " + pkg + " for version code "
+ info.version);
- }
agent.doRestore(backupData, info.version, newState, mToken,
mBackupManagerService.getBackupManagerBinder());
} catch (IOException e) {
diff --git a/services/backup/java/com/android/server/backup/KeyValueBackupJob.java b/services/backup/java/com/android/server/backup/KeyValueBackupJob.java
index 9a788be2f46d..30fdb65fc3cf 100644
--- a/services/backup/java/com/android/server/backup/KeyValueBackupJob.java
+++ b/services/backup/java/com/android/server/backup/KeyValueBackupJob.java
@@ -16,7 +16,6 @@
package com.android.server.backup;
-import static com.android.server.backup.BackupManagerService.DEBUG_SCHEDULING;
import static com.android.server.pm.PackageManagerService.PLATFORM_PACKAGE_NAME;
import android.app.AlarmManager;
@@ -92,9 +91,7 @@ public class KeyValueBackupJob extends JobService {
if (delay <= 0) {
delay = interval + new Random().nextInt((int) fuzz);
}
- if (DEBUG_SCHEDULING) {
- Slog.v(TAG, "Scheduling k/v pass in " + (delay / 1000 / 60) + " minutes");
- }
+ Slog.d(TAG, "Scheduling k/v pass in " + (delay / 1000 / 60) + " minutes");
JobInfo.Builder builder = new JobInfo.Builder(getJobIdForUserId(userId),
sKeyValueJobService)
diff --git a/services/backup/java/com/android/server/backup/PackageManagerBackupAgent.java b/services/backup/java/com/android/server/backup/PackageManagerBackupAgent.java
index 52108bf1568d..e17063ab7803 100644
--- a/services/backup/java/com/android/server/backup/PackageManagerBackupAgent.java
+++ b/services/backup/java/com/android/server/backup/PackageManagerBackupAgent.java
@@ -240,7 +240,7 @@ public class PackageManagerBackupAgent extends BackupAgent {
try {
if (!mExisting.contains(ANCESTRAL_RECORD_KEY)) {
// The old state does not store info on ancestral record
- Slog.v(
+ Slog.d(
TAG,
"No ancestral record version in the old state. Storing "
+ "ancestral record version key");
@@ -249,7 +249,7 @@ public class PackageManagerBackupAgent extends BackupAgent {
upgradingAncestralRecordVersion = true;
} else if (mStoredAncestralRecordVersion != ANCESTRAL_RECORD_VERSION) {
// The current ancestral record version has changed from the old state
- Slog.v(
+ Slog.d(
TAG,
"Ancestral record version has changed from old state. Storing"
+ "ancestral record version key");
diff --git a/services/backup/java/com/android/server/backup/ProcessedPackagesJournal.java b/services/backup/java/com/android/server/backup/ProcessedPackagesJournal.java
index edc2379ff641..3a6f228a7f6f 100644
--- a/services/backup/java/com/android/server/backup/ProcessedPackagesJournal.java
+++ b/services/backup/java/com/android/server/backup/ProcessedPackagesJournal.java
@@ -46,7 +46,6 @@ import java.util.Set;
final class ProcessedPackagesJournal {
private static final String TAG = "ProcessedPackagesJournal";
private static final String JOURNAL_FILE_NAME = "processed";
- private static final boolean DEBUG = BackupManagerService.DEBUG;
// using HashSet instead of ArraySet since we expect 100-500 elements range
@GuardedBy("mProcessedPackages")
@@ -136,9 +135,7 @@ final class ProcessedPackagesJournal {
new BufferedInputStream(new FileInputStream(journalFile)))) {
while (true) {
String packageName = oldJournal.readUTF();
- if (DEBUG) {
- Slog.v(TAG, " + " + packageName);
- }
+ Slog.d(TAG, " + " + packageName);
mProcessedPackages.add(packageName);
}
} catch (EOFException e) {
diff --git a/services/backup/java/com/android/server/backup/TransportManager.java b/services/backup/java/com/android/server/backup/TransportManager.java
index a792db0f7c78..d33bfecf1ba9 100644
--- a/services/backup/java/com/android/server/backup/TransportManager.java
+++ b/services/backup/java/com/android/server/backup/TransportManager.java
@@ -62,7 +62,7 @@ import java.util.function.Predicate;
/** Handles in-memory bookkeeping of all BackupTransport objects. */
public class TransportManager {
private static final String TAG = "BackupTransportManager";
- private static final boolean MORE_DEBUG = false;
+ private static final boolean DEBUG = false;
@VisibleForTesting
public static final String SERVICE_ACTION_TRANSPORT_HOST = "android.backup.TRANSPORT_HOST";
@@ -155,7 +155,7 @@ public class TransportManager {
enabled = mPackageManager.getApplicationEnabledSetting(packageName);
} catch (IllegalArgumentException ex) {
// packageName doesn't exist: likely due to a race with it being uninstalled.
- if (MORE_DEBUG) {
+ if (DEBUG) {
Slog.d(TAG, addUserIdToLogMessage(mUserId, "Package " + packageName
+ " was changed, but no longer exists."));
}
@@ -163,7 +163,7 @@ public class TransportManager {
}
switch (enabled) {
case COMPONENT_ENABLED_STATE_ENABLED: {
- if (MORE_DEBUG) {
+ if (DEBUG) {
Slog.d(TAG, addUserIdToLogMessage(mUserId, "Package " + packageName
+ " was enabled."));
}
@@ -174,7 +174,7 @@ public class TransportManager {
// Package is set to its default enabled state (as specified in its manifest).
// Unless explicitly specified in manifest, the default enabled state
// is 'enabled'. Here, we assume that default state always means enabled.
- if (MORE_DEBUG) {
+ if (DEBUG) {
Slog.d(TAG, addUserIdToLogMessage(mUserId, "Package " + packageName
+ " was put in default enabled state."));
}
@@ -182,7 +182,7 @@ public class TransportManager {
return;
}
case COMPONENT_ENABLED_STATE_DISABLED: {
- if (MORE_DEBUG) {
+ if (DEBUG) {
Slog.d(TAG, addUserIdToLogMessage(mUserId, "Package " + packageName
+ " was disabled."));
}
@@ -190,7 +190,7 @@ public class TransportManager {
return;
}
case COMPONENT_ENABLED_STATE_DISABLED_USER: {
- if (MORE_DEBUG) {
+ if (DEBUG) {
Slog.d(TAG, addUserIdToLogMessage(mUserId, "Package " + packageName
+ " was disabled by user."));
}
diff --git a/services/backup/java/com/android/server/backup/UserBackupManagerService.java b/services/backup/java/com/android/server/backup/UserBackupManagerService.java
index ac1f50f85d64..5af2346650ed 100644
--- a/services/backup/java/com/android/server/backup/UserBackupManagerService.java
+++ b/services/backup/java/com/android/server/backup/UserBackupManagerService.java
@@ -19,8 +19,6 @@ package com.android.server.backup;
import static android.content.pm.ApplicationInfo.PRIVATE_FLAG_BACKUP_IN_FOREGROUND;
import static com.android.server.backup.BackupManagerService.DEBUG;
-import static com.android.server.backup.BackupManagerService.DEBUG_SCHEDULING;
-import static com.android.server.backup.BackupManagerService.MORE_DEBUG;
import static com.android.server.backup.BackupManagerService.TAG;
import static com.android.server.backup.internal.BackupHandler.MSG_BACKUP_OPERATION_TIMEOUT;
import static com.android.server.backup.internal.BackupHandler.MSG_FULL_CONFIRMATION_TIMEOUT;
@@ -88,7 +86,6 @@ import android.os.RemoteException;
import android.os.SELinux;
import android.os.SystemClock;
import android.os.UserHandle;
-import android.os.WorkSource;
import android.provider.Settings;
import android.text.TextUtils;
import android.util.ArraySet;
@@ -174,88 +171,6 @@ import java.util.concurrent.atomic.AtomicInteger;
/** System service that performs backup/restore operations. */
public class UserBackupManagerService {
- /**
- * Wrapper over {@link PowerManager.WakeLock} to prevent double-free exceptions on release()
- * after quit().
- */
- public static class BackupWakeLock {
- private final PowerManager.WakeLock mPowerManagerWakeLock;
- private boolean mHasQuit = false;
- private final int mUserId;
- private final BackupManagerConstants mBackupManagerConstants;
-
- public BackupWakeLock(PowerManager.WakeLock powerManagerWakeLock, int userId,
- BackupManagerConstants backupManagerConstants) {
- mPowerManagerWakeLock = powerManagerWakeLock;
- mUserId = userId;
- mBackupManagerConstants = backupManagerConstants;
- }
-
- /** Acquires the {@link PowerManager.WakeLock} if hasn't been quit. */
- public synchronized void acquire() {
- if (mHasQuit) {
- Slog.v(
- TAG,
- addUserIdToLogMessage(
- mUserId,
- "Ignore wakelock acquire after quit: "
- + mPowerManagerWakeLock.getTag()));
- return;
- }
- // Set a timeout for the wakelock. Otherwise if we fail internally and never call
- // release(), the device might stay awake and drain battery indefinitely.
- mPowerManagerWakeLock.acquire(mBackupManagerConstants.getWakelockTimeoutMillis());
- Slog.v(
- TAG,
- addUserIdToLogMessage(
- mUserId, "Acquired wakelock:" + mPowerManagerWakeLock.getTag()));
- }
-
- /** Releases the {@link PowerManager.WakeLock} if hasn't been quit. */
- public synchronized void release() {
- if (mHasQuit) {
- Slog.v(
- TAG,
- addUserIdToLogMessage(
- mUserId,
- "Ignore wakelock release after quit: "
- + mPowerManagerWakeLock.getTag()));
- return;
- }
-
- if (!mPowerManagerWakeLock.isHeld()) {
- Slog.w(TAG, addUserIdToLogMessage(mUserId,
- "Wakelock not held: " + mPowerManagerWakeLock.getTag()));
- return;
- }
-
- mPowerManagerWakeLock.release();
- Slog.v(
- TAG,
- addUserIdToLogMessage(
- mUserId, "Released wakelock:" + mPowerManagerWakeLock.getTag()));
- }
-
- /**
- * Returns true if the {@link PowerManager.WakeLock} has been acquired but not yet released.
- */
- public synchronized boolean isHeld() {
- return mPowerManagerWakeLock.isHeld();
- }
-
- /** Release the {@link PowerManager.WakeLock} till it isn't held. */
- public synchronized void quit() {
- while (mPowerManagerWakeLock.isHeld()) {
- Slog.v(
- TAG,
- addUserIdToLogMessage(
- mUserId, "Releasing wakelock: " + mPowerManagerWakeLock.getTag()));
- mPowerManagerWakeLock.release();
- }
- mHasQuit = true;
- }
- }
-
// Persistently track the need to do a full init.
private static final String INIT_SENTINEL_FILE_NAME = "_need_init_";
@@ -436,11 +351,7 @@ public class UserBackupManagerService {
currentTransport = null;
}
- if (DEBUG) {
- Slog.v(
- TAG,
- addUserIdToLogMessage(userId, "Starting with transport " + currentTransport));
- }
+ Slog.d(TAG, addUserIdToLogMessage(userId, "Starting with transport " + currentTransport));
TransportManager transportManager =
new TransportManager(userId, context, transportWhitelist, currentTransport);
@@ -450,11 +361,7 @@ public class UserBackupManagerService {
HandlerThread userBackupThread =
new HandlerThread("backup-" + userId, Process.THREAD_PRIORITY_BACKGROUND);
userBackupThread.start();
- if (DEBUG) {
- Slog.d(
- TAG,
- addUserIdToLogMessage(userId, "Started thread " + userBackupThread.getName()));
- }
+ Slog.d(TAG, addUserIdToLogMessage(userId, "Started thread " + userBackupThread.getName()));
return createAndInitializeService(
userId,
@@ -491,7 +398,7 @@ public class UserBackupManagerService {
// if so delete expired events and do not print them to dumpsys
BackupManagerMonitorDumpsysUtils backupManagerMonitorDumpsysUtils =
new BackupManagerMonitorDumpsysUtils();
- if (backupManagerMonitorDumpsysUtils.deleteExpiredBMMEvents() && DEBUG){
+ if (backupManagerMonitorDumpsysUtils.deleteExpiredBMMEvents()) {
Slog.d(TAG, "BMM Events recorded for dumpsys have expired");
}
return new UserBackupManagerService(
@@ -766,20 +673,10 @@ public class UserBackupManagerService {
mSetupComplete = setupComplete;
}
- public BackupWakeLock getWakelock() {
+ public BackupWakeLock getWakeLock() {
return mWakelock;
}
- /**
- * Sets the {@link WorkSource} of the {@link PowerManager.WakeLock} returned by {@link
- * #getWakelock()}.
- */
- @VisibleForTesting
- public void setWorkSource(@Nullable WorkSource workSource) {
- // TODO: This is for testing, unfortunately WakeLock is final and WorkSource is not exposed
- mWakelock.mPowerManagerWakeLock.setWorkSource(workSource);
- }
-
public Handler getBackupHandler() {
return mBackupHandler;
}
@@ -937,7 +834,7 @@ public class UserBackupManagerService {
}
private void initPackageTracking() {
- if (MORE_DEBUG) Slog.v(TAG, addUserIdToLogMessage(mUserId, "` tracking"));
+ if (DEBUG) Slog.v(TAG, addUserIdToLogMessage(mUserId, "` tracking"));
// Remember our ancestral dataset
mTokenFile = new File(mBaseStateDir, "ancestral");
@@ -959,7 +856,7 @@ public class UserBackupManagerService {
}
} catch (FileNotFoundException fnf) {
// Probably innocuous
- Slog.v(TAG, addUserIdToLogMessage(mUserId, "No ancestral data"));
+ Slog.d(TAG, addUserIdToLogMessage(mUserId, "No ancestral data"));
} catch (IOException e) {
Slog.w(TAG, addUserIdToLogMessage(mUserId, "Unable to read token file"), e);
}
@@ -1038,16 +935,12 @@ public class UserBackupManagerService {
pkg.applicationInfo)) {
schedule.add(new FullBackupEntry(pkgName, lastBackup));
} else {
- if (DEBUG) {
- Slog.i(TAG, addUserIdToLogMessage(mUserId, "Package " + pkgName
+ Slog.i(TAG, addUserIdToLogMessage(mUserId, "Package " + pkgName
+ " no longer eligible for full backup"));
- }
}
} catch (NameNotFoundException e) {
- if (DEBUG) {
- Slog.i(TAG, addUserIdToLogMessage(mUserId, "Package " + pkgName
+ Slog.i(TAG, addUserIdToLogMessage(mUserId, "Package " + pkgName
+ " not installed; dropping from full backup"));
- }
}
}
@@ -1058,7 +951,7 @@ public class UserBackupManagerService {
&& mScheduledBackupEligibility.appIsEligibleForBackup(
app.applicationInfo)) {
if (!foundApps.contains(app.packageName)) {
- if (MORE_DEBUG) {
+ if (DEBUG) {
Slog.i(
TAG,
addUserIdToLogMessage(
@@ -1169,7 +1062,7 @@ public class UserBackupManagerService {
if (!packageNames.isEmpty()) {
String msg = "Stale backup journals: Scheduled " + packageNames.size()
+ " package(s) total";
- if (MORE_DEBUG) {
+ if (DEBUG) {
msg += ": " + packageNames;
}
Slog.i(TAG, addUserIdToLogMessage(mUserId, msg));
@@ -1209,7 +1102,7 @@ public class UserBackupManagerService {
public void recordInitPending(
boolean isPending, String transportName, String transportDirName) {
synchronized (mQueueLock) {
- if (MORE_DEBUG) {
+ if (DEBUG) {
Slog.i(
TAG,
addUserIdToLogMessage(
@@ -1276,20 +1169,11 @@ public class UserBackupManagerService {
}
private void onTransportRegistered(String transportName, String transportDirName) {
- if (DEBUG) {
- long timeMs = SystemClock.elapsedRealtime() - mRegisterTransportsRequestedTime;
- Slog.d(
- TAG,
- addUserIdToLogMessage(
- mUserId,
- "Transport "
- + transportName
- + " registered "
- + timeMs
- + "ms after first request (delay = "
- + INITIALIZATION_DELAY_MILLIS
- + "ms)"));
- }
+ long timeMs = SystemClock.elapsedRealtime() - mRegisterTransportsRequestedTime;
+ Slog.d(TAG, addUserIdToLogMessage(mUserId,
+ "Transport " + transportName + " registered " + timeMs
+ + "ms after first request (delay = " + INITIALIZATION_DELAY_MILLIS
+ + "ms)"));
File stateDir = new File(mBaseStateDir, transportDirName);
stateDir.mkdirs();
@@ -1313,7 +1197,7 @@ public class UserBackupManagerService {
*/
private BroadcastReceiver mPackageTrackingReceiver = new BroadcastReceiver() {
public void onReceive(Context context, Intent intent) {
- if (MORE_DEBUG) {
+ if (DEBUG) {
Slog.d(TAG, addUserIdToLogMessage(mUserId, "Received broadcast " + intent));
}
@@ -1344,7 +1228,7 @@ public class UserBackupManagerService {
intent.getStringArrayExtra(
Intent.EXTRA_CHANGED_COMPONENT_NAME_LIST);
- if (MORE_DEBUG) {
+ if (DEBUG) {
Slog.i(
TAG,
addUserIdToLogMessage(
@@ -1416,13 +1300,8 @@ public class UserBackupManagerService {
mBackupHandler.post(
() -> mTransportManager.onPackageAdded(packageName));
} catch (NameNotFoundException e) {
- if (DEBUG) {
- Slog.w(
- TAG,
- addUserIdToLogMessage(
- mUserId,
- "Can't resolve new app " + packageName));
- }
+ Slog.w(TAG, addUserIdToLogMessage(mUserId,
+ "Can't resolve new app " + packageName));
}
}
@@ -1454,7 +1333,7 @@ public class UserBackupManagerService {
// Look for apps that define the android:backupAgent attribute
List<PackageInfo> targetApps = allAgentPackages();
if (packageNames != null) {
- if (MORE_DEBUG) {
+ if (DEBUG) {
Slog.v(
TAG,
addUserIdToLogMessage(
@@ -1464,7 +1343,7 @@ public class UserBackupManagerService {
addPackageParticipantsLockedInner(packageName, targetApps);
}
} else {
- if (MORE_DEBUG) {
+ if (DEBUG) {
Slog.v(TAG, addUserIdToLogMessage(mUserId, "addPackageParticipantsLocked: all"));
}
addPackageParticipantsLockedInner(null, targetApps);
@@ -1473,7 +1352,7 @@ public class UserBackupManagerService {
private void addPackageParticipantsLockedInner(String packageName,
List<PackageInfo> targetPkgs) {
- if (MORE_DEBUG) {
+ if (DEBUG) {
Slog.v(
TAG,
addUserIdToLogMessage(
@@ -1489,10 +1368,10 @@ public class UserBackupManagerService {
mBackupParticipants.put(uid, set);
}
set.add(pkg.packageName);
- if (MORE_DEBUG) Slog.v(TAG, addUserIdToLogMessage(mUserId, "Agent found; added"));
+ if (DEBUG) Slog.v(TAG, addUserIdToLogMessage(mUserId, "Agent found; added"));
// Schedule a backup for it on general principles
- if (MORE_DEBUG) {
+ if (DEBUG) {
Slog.i(
TAG,
addUserIdToLogMessage(
@@ -1512,7 +1391,7 @@ public class UserBackupManagerService {
return;
}
- if (MORE_DEBUG) {
+ if (DEBUG) {
Slog.v(
TAG,
addUserIdToLogMessage(
@@ -1528,7 +1407,7 @@ public class UserBackupManagerService {
if (set != null && set.contains(pkg)) {
removePackageFromSetLocked(set, pkg);
if (set.isEmpty()) {
- if (MORE_DEBUG) {
+ if (DEBUG) {
Slog.v(
TAG,
addUserIdToLogMessage(
@@ -1549,7 +1428,7 @@ public class UserBackupManagerService {
// Note that we deliberately leave it 'known' in the "ever backed up"
// bookkeeping so that its current-dataset data will be retrieved
// if the app is subsequently reinstalled
- if (MORE_DEBUG) {
+ if (DEBUG) {
Slog.v(
TAG,
addUserIdToLogMessage(mUserId, " removing participant " + packageName));
@@ -1627,15 +1506,13 @@ public class UserBackupManagerService {
af.writeInt(-1);
} else {
af.writeInt(mAncestralPackages.size());
- if (DEBUG) {
- Slog.v(
- TAG,
- addUserIdToLogMessage(
- mUserId, "Ancestral packages: " + mAncestralPackages.size()));
- }
+ Slog.d(
+ TAG,
+ addUserIdToLogMessage(
+ mUserId, "Ancestral packages: " + mAncestralPackages.size()));
for (String pkgName : mAncestralPackages) {
af.writeUTF(pkgName);
- if (MORE_DEBUG) Slog.v(TAG, addUserIdToLogMessage(mUserId, " " + pkgName));
+ if (DEBUG) Slog.v(TAG, addUserIdToLogMessage(mUserId, " " + pkgName));
}
}
} catch (IOException e) {
@@ -1686,7 +1563,7 @@ public class UserBackupManagerService {
}
if (!shouldClearData) {
- if (MORE_DEBUG) {
+ if (DEBUG) {
Slog.i(
TAG,
addUserIdToLogMessage(
@@ -1761,7 +1638,7 @@ public class UserBackupManagerService {
long token = mAncestralToken;
synchronized (mQueueLock) {
if (mCurrentToken != 0 && mProcessedPackagesJournal.hasBeenProcessed(packageName)) {
- if (MORE_DEBUG) {
+ if (DEBUG) {
Slog.i(
TAG,
addUserIdToLogMessage(
@@ -1770,7 +1647,7 @@ public class UserBackupManagerService {
token = mCurrentToken;
}
}
- if (MORE_DEBUG) {
+ if (DEBUG) {
Slog.i(TAG, addUserIdToLogMessage(mUserId, "getAvailableRestoreToken() == " + token));
}
return token;
@@ -1885,7 +1762,7 @@ public class UserBackupManagerService {
EventLog.writeEvent(EventLogTags.BACKUP_REQUESTED, packages.length, kvBackupList.size(),
fullBackupList.size());
- if (MORE_DEBUG) {
+ if (DEBUG) {
Slog.i(
TAG,
addUserIdToLogMessage(
@@ -1909,7 +1786,7 @@ public class UserBackupManagerService {
/** Cancel all running backups. */
public void cancelBackups() {
mContext.enforceCallingPermission(android.Manifest.permission.BACKUP, "cancelBackups");
- if (MORE_DEBUG) {
+ if (DEBUG) {
Slog.i(TAG, addUserIdToLogMessage(mUserId, "cancelBackups() called."));
}
final long oldToken = Binder.clearCallingIdentity();
@@ -1946,7 +1823,7 @@ public class UserBackupManagerService {
+ operationType));
return;
}
- if (MORE_DEBUG) {
+ if (DEBUG) {
Slog.v(
TAG,
addUserIdToLogMessage(
@@ -2025,12 +1902,8 @@ public class UserBackupManagerService {
FullBackupJob.schedule(mUserId, mContext, latency,
/* userBackupManagerService */ this);
} else {
- if (DEBUG_SCHEDULING) {
- Slog.i(
- TAG,
- addUserIdToLogMessage(
- mUserId, "Full backup queue empty; not scheduling"));
- }
+ Slog.i(TAG,
+ addUserIdToLogMessage(mUserId, "Full backup queue empty; not scheduling"));
}
}
}
@@ -2098,13 +1971,8 @@ public class UserBackupManagerService {
File stateDir = new File(mBaseStateDir, transportDirName);
File pmState = new File(stateDir, PACKAGE_MANAGER_SENTINEL);
if (pmState.length() <= 0) {
- if (DEBUG) {
- Slog.i(
- TAG,
- addUserIdToLogMessage(
- mUserId,
- "Full backup requested but dataset not yet initialized"));
- }
+ Slog.i(TAG, addUserIdToLogMessage(mUserId,
+ "Full backup requested but dataset not yet initialized"));
return false;
}
} catch (Exception e) {
@@ -2143,7 +2011,7 @@ public class UserBackupManagerService {
// Backups are globally disabled, so don't proceed. We also don't reschedule
// the job driving automatic backups; that job will be scheduled again when
// the user enables backup.
- if (MORE_DEBUG) {
+ if (DEBUG) {
Slog.i(TAG, addUserIdToLogMessage(mUserId, "beginFullBackup but enabled=" + mEnabled
+ " setupComplete=" + mSetupComplete + "; ignoring"));
}
@@ -2155,22 +2023,14 @@ public class UserBackupManagerService {
final PowerSaveState result =
mPowerManager.getPowerSaveState(ServiceType.FULL_BACKUP);
if (result.batterySaverEnabled) {
- if (DEBUG) {
- Slog.i(
- TAG,
- addUserIdToLogMessage(
- mUserId, "Deferring scheduled full backups in battery saver mode"));
- }
+ Slog.i(TAG, addUserIdToLogMessage(mUserId,
+ "Deferring scheduled full backups in battery saver mode"));
FullBackupJob.schedule(mUserId, mContext, keyValueBackupInterval,
/* userBackupManagerService */ this);
return false;
}
- if (DEBUG_SCHEDULING) {
- Slog.i(
- TAG,
- addUserIdToLogMessage(mUserId, "Beginning scheduled full backup operation"));
- }
+ Slog.i(TAG, addUserIdToLogMessage(mUserId, "Beginning scheduled full backup operation"));
// Great; we're able to run full backup jobs now. See if we have any work to do.
synchronized (mQueueLock) {
@@ -2193,12 +2053,8 @@ public class UserBackupManagerService {
// have emptied the queue.
if (mFullBackupQueue.size() == 0) {
// no work to do so just bow out
- if (DEBUG) {
- Slog.i(
- TAG,
- addUserIdToLogMessage(
- mUserId, "Backup queue empty; doing nothing"));
- }
+ Slog.i(TAG,
+ addUserIdToLogMessage(mUserId, "Backup queue empty; doing nothing"));
runBackup = false;
break;
}
@@ -2207,7 +2063,7 @@ public class UserBackupManagerService {
String transportName = mTransportManager.getCurrentTransportName();
if (!fullBackupAllowable(transportName)) {
- if (MORE_DEBUG) {
+ if (DEBUG) {
Slog.i(
TAG,
addUserIdToLogMessage(
@@ -2226,7 +2082,7 @@ public class UserBackupManagerService {
runBackup = (timeSinceRun >= fullBackupInterval);
if (!runBackup) {
// It's too early to back up the next thing in the queue, so bow out
- if (MORE_DEBUG) {
+ if (DEBUG) {
Slog.i(
TAG,
addUserIdToLogMessage(
@@ -2245,7 +2101,7 @@ public class UserBackupManagerService {
// The head app isn't supposed to get full-data backups [any more];
// so we cull it and force a loop around to consider the new head
// app.
- if (MORE_DEBUG) {
+ if (DEBUG) {
Slog.i(
TAG,
addUserIdToLogMessage(
@@ -2269,17 +2125,11 @@ public class UserBackupManagerService {
final long nextEligible = System.currentTimeMillis()
+ BUSY_BACKOFF_MIN_MILLIS
+ mTokenGenerator.nextInt(BUSY_BACKOFF_FUZZ);
- if (DEBUG_SCHEDULING) {
- SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
- Slog.i(
- TAG,
- addUserIdToLogMessage(
- mUserId,
- "Full backup time but "
- + entry.packageName
- + " is busy; deferring to "
- + sdf.format(new Date(nextEligible))));
- }
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+ Slog.i(TAG, addUserIdToLogMessage(mUserId,
+ "Full backup time but " + entry.packageName
+ + " is busy; deferring to " + sdf.format(
+ new Date(nextEligible))));
// This relocates the app's entry from the head of the queue to
// its order-appropriate position further down, so upon looping
// a new candidate will be considered at the head.
@@ -2319,14 +2169,9 @@ public class UserBackupManagerService {
}
if (!runBackup) {
- if (DEBUG_SCHEDULING) {
- Slog.i(
- TAG,
- addUserIdToLogMessage(
- mUserId,
- "Nothing pending full backup or failed to start the "
- + "operation; rescheduling +" + latency));
- }
+ Slog.i(TAG, addUserIdToLogMessage(mUserId,
+ "Nothing pending full backup or failed to start the "
+ + "operation; rescheduling +" + latency));
final long deferTime = latency; // pin for the closure
FullBackupJob.schedule(mUserId, mContext, deferTime,
/* userBackupManagerService */ this);
@@ -2360,12 +2205,7 @@ public class UserBackupManagerService {
}
}
if (pftbt != null) {
- if (DEBUG_SCHEDULING) {
- Slog.i(
- TAG,
- addUserIdToLogMessage(
- mUserId, "Telling running backup to stop"));
- }
+ Slog.i(TAG, addUserIdToLogMessage(mUserId, "Telling running backup to stop"));
pftbt.handleCancel(true);
}
}
@@ -2376,7 +2216,7 @@ public class UserBackupManagerService {
/** Used by both incremental and full restore to restore widget data. */
public void restoreWidgetData(String packageName, byte[] widgetData) {
// Apply the restored widget state and generate the ID update for the app
- if (MORE_DEBUG) {
+ if (DEBUG) {
Slog.i(TAG, addUserIdToLogMessage(mUserId, "Incorporating restored widget data"));
}
AppWidgetBackupBridge.restoreWidgetState(packageName, widgetData, mUserId);
@@ -2412,7 +2252,7 @@ public class UserBackupManagerService {
// one already there, then overwrite it, but no harm done.
BackupRequest req = new BackupRequest(packageName);
if (mPendingBackups.put(packageName, req) == null) {
- if (MORE_DEBUG) {
+ if (DEBUG) {
Slog.d(
TAG,
addUserIdToLogMessage(
@@ -2495,7 +2335,7 @@ public class UserBackupManagerService {
public void initializeTransports(String[] transportNames, IBackupObserver observer) {
mContext.enforceCallingOrSelfPermission(android.Manifest.permission.BACKUP,
"initializeTransport");
- Slog.v(
+ Slog.d(
TAG,
addUserIdToLogMessage(
mUserId, "initializeTransport(): " + Arrays.asList(transportNames)));
@@ -2517,7 +2357,7 @@ public class UserBackupManagerService {
public void setAncestralSerialNumber(long ancestralSerialNumber) {
mContext.enforceCallingPermission(android.Manifest.permission.BACKUP,
"setAncestralSerialNumber");
- Slog.v(
+ Slog.d(
TAG,
addUserIdToLogMessage(
mUserId, "Setting ancestral work profile id to " + ancestralSerialNumber));
@@ -2571,13 +2411,8 @@ public class UserBackupManagerService {
/** Clear the given package's backup data from the current transport. */
public void clearBackupData(String transportName, String packageName) {
- if (DEBUG) {
- Slog.v(
- TAG,
- addUserIdToLogMessage(
- mUserId,
- "clearBackupData() of " + packageName + " on " + transportName));
- }
+ Slog.d(TAG, addUserIdToLogMessage(mUserId,
+ "clearBackupData() of " + packageName + " on " + transportName));
PackageInfo info;
try {
@@ -2601,7 +2436,7 @@ public class UserBackupManagerService {
} else {
// a caller with full permission can ask to back up any participating app
// !!! TODO: allow data-clear of ANY app?
- if (MORE_DEBUG) {
+ if (DEBUG) {
Slog.v(
TAG,
addUserIdToLogMessage(
@@ -2612,7 +2447,7 @@ public class UserBackupManagerService {
if (apps.contains(packageName)) {
// found it; fire off the clear request
- if (MORE_DEBUG) {
+ if (DEBUG) {
Slog.v(
TAG,
addUserIdToLogMessage(mUserId, "Found the app - running clear process"));
@@ -2657,25 +2492,19 @@ public class UserBackupManagerService {
final PowerSaveState result =
mPowerManager.getPowerSaveState(ServiceType.KEYVALUE_BACKUP);
if (result.batterySaverEnabled) {
- if (DEBUG) {
- Slog.v(
- TAG,
- addUserIdToLogMessage(
- mUserId, "Not running backup while in battery save mode"));
- }
+ Slog.d(TAG, addUserIdToLogMessage(mUserId,
+ "Not running backup while in battery save mode"));
// Try again in several hours.
KeyValueBackupJob.schedule(mUserId, mContext,
/* userBackupManagerService */ this);
} else {
- if (DEBUG) {
- Slog.v(TAG, addUserIdToLogMessage(mUserId, "Scheduling immediate backup pass"));
- }
+ Slog.d(TAG, addUserIdToLogMessage(mUserId, "Scheduling immediate backup pass"));
synchronized (getQueueLock()) {
if (getPendingInits().size() > 0) {
// If there are pending init operations, we process those and then settle
// into the usual periodic backup schedule.
- if (MORE_DEBUG) {
+ if (DEBUG) {
Slog.v(
TAG,
addUserIdToLogMessage(
@@ -2749,26 +2578,11 @@ public class UserBackupManagerService {
return;
}
- if (DEBUG) {
- Slog.v(
- TAG,
- addUserIdToLogMessage(
- mUserId,
- "Requesting backup: apks="
- + includeApks
- + " obb="
- + includeObbs
- + " shared="
- + includeShared
- + " all="
- + doAllApps
- + " system="
- + includeSystem
- + " includekeyvalue="
- + doKeyValue
- + " pkgs="
- + Arrays.toString(pkgList)));
- }
+ Slog.d(TAG, addUserIdToLogMessage(mUserId,
+ "Requesting backup: apks=" + includeApks + " obb=" + includeObbs + " shared="
+ + includeShared + " all=" + doAllApps + " system=" + includeSystem
+ + " includekeyvalue=" + doKeyValue + " pkgs=" + Arrays.toString(
+ pkgList)));
Slog.i(TAG, addUserIdToLogMessage(mUserId, "Beginning adb backup..."));
BackupEligibilityRules eligibilityRules = getEligibilityRulesForOperation(
@@ -2782,11 +2596,7 @@ public class UserBackupManagerService {
}
// start up the confirmation UI
- if (DEBUG) {
- Slog.d(
- TAG,
- addUserIdToLogMessage(mUserId, "Starting backup confirmation UI"));
- }
+ Slog.d(TAG, addUserIdToLogMessage(mUserId, "Starting backup confirmation UI"));
if (!startConfirmationUi(token, FullBackup.FULL_BACKUP_INTENT_ACTION)) {
Slog.e(
TAG,
@@ -2804,9 +2614,7 @@ public class UserBackupManagerService {
startConfirmationTimeout(token, params);
// wait for the backup to be performed
- if (DEBUG) {
- Slog.d(TAG, addUserIdToLogMessage(mUserId, "Waiting for backup completion..."));
- }
+ Slog.d(TAG, addUserIdToLogMessage(mUserId, "Waiting for backup completion..."));
waitForCompletion(params);
} finally {
try {
@@ -2841,9 +2649,7 @@ public class UserBackupManagerService {
mUserId,
"Full backup not currently possible -- key/value backup not yet run?"));
} else {
- if (DEBUG) {
- Slog.d(TAG, addUserIdToLogMessage(mUserId, "fullTransportBackup()"));
- }
+ Slog.d(TAG, addUserIdToLogMessage(mUserId, "fullTransportBackup()"));
final long oldId = Binder.clearCallingIdentity();
try {
@@ -2886,9 +2692,7 @@ public class UserBackupManagerService {
}
}
- if (DEBUG) {
- Slog.d(TAG, addUserIdToLogMessage(mUserId, "Done with full transport backup."));
- }
+ Slog.d(TAG, addUserIdToLogMessage(mUserId, "Done with full transport backup."));
}
/**
@@ -2922,12 +2726,8 @@ public class UserBackupManagerService {
}
// start up the confirmation UI
- if (DEBUG) {
- Slog.d(
- TAG,
- addUserIdToLogMessage(
- mUserId, "Starting restore confirmation UI, token=" + token));
- }
+ Slog.d(TAG, addUserIdToLogMessage(mUserId,
+ "Starting restore confirmation UI, token=" + token));
if (!startConfirmationUi(token, FullBackup.FULL_RESTORE_INTENT_ACTION)) {
Slog.e(
TAG,
@@ -2945,9 +2745,7 @@ public class UserBackupManagerService {
startConfirmationTimeout(token, params);
// wait for the restore to be performed
- if (DEBUG) {
- Slog.d(TAG, addUserIdToLogMessage(mUserId, "Waiting for restore completion..."));
- }
+ Slog.d(TAG, addUserIdToLogMessage(mUserId, "Waiting for restore completion..."));
waitForCompletion(params);
} finally {
try {
@@ -3022,7 +2820,7 @@ public class UserBackupManagerService {
}
private void startConfirmationTimeout(int token, AdbParams params) {
- if (MORE_DEBUG) {
+ if (DEBUG) {
Slog.d(TAG, addUserIdToLogMessage(mUserId, "Posting conf timeout msg after "
+ TIMEOUT_FULL_CONFIRMATION + " millis"));
}
@@ -3055,13 +2853,8 @@ public class UserBackupManagerService {
*/
public void acknowledgeAdbBackupOrRestore(int token, boolean allow,
String curPassword, String encPpassword, IFullBackupRestoreObserver observer) {
- if (DEBUG) {
- Slog.d(
- TAG,
- addUserIdToLogMessage(
- mUserId,
- "acknowledgeAdbBackupOrRestore : token=" + token + " allow=" + allow));
- }
+ Slog.d(TAG, addUserIdToLogMessage(mUserId,
+ "acknowledgeAdbBackupOrRestore : token=" + token + " allow=" + allow));
// TODO: possibly require not just this signature-only permission, but even
// require that the specific designated confirmation-UI app uid is the caller?
@@ -3088,7 +2881,7 @@ public class UserBackupManagerService {
params.encryptPassword = encPpassword;
- if (MORE_DEBUG) {
+ if (DEBUG) {
Slog.d(
TAG,
addUserIdToLogMessage(
@@ -3198,7 +2991,7 @@ public class UserBackupManagerService {
scheduleNextFullBackupJob(0);
} else if (!enable) {
// No longer enabled, so stop running backups
- if (MORE_DEBUG) {
+ if (DEBUG) {
Slog.i(TAG, addUserIdToLogMessage(mUserId, "Opting out of backup"));
}
@@ -3285,7 +3078,7 @@ public class UserBackupManagerService {
mContext.enforceCallingOrSelfPermission(android.Manifest.permission.BACKUP,
"getCurrentTransport");
String currentTransport = mTransportManager.getCurrentTransportName();
- if (MORE_DEBUG) {
+ if (DEBUG) {
Slog.v(
TAG,
addUserIdToLogMessage(
@@ -3429,7 +3222,7 @@ public class UserBackupManagerService {
final long oldId = Binder.clearCallingIdentity();
try {
if (!mTransportManager.isTransportRegistered(transportName)) {
- Slog.v(
+ Slog.d(
TAG,
addUserIdToLogMessage(
mUserId,
@@ -3441,7 +3234,7 @@ public class UserBackupManagerService {
String previousTransportName = mTransportManager.selectTransport(transportName);
updateStateForTransport(transportName);
- Slog.v(
+ Slog.d(
TAG,
addUserIdToLogMessage(
mUserId,
@@ -3467,7 +3260,7 @@ public class UserBackupManagerService {
final long oldId = Binder.clearCallingIdentity();
try {
String transportString = transportComponent.flattenToShortString();
- Slog.v(
+ Slog.d(
TAG,
addUserIdToLogMessage(
mUserId,
@@ -3562,7 +3355,7 @@ public class UserBackupManagerService {
"getConfigurationIntent");
try {
Intent intent = mTransportManager.getTransportConfigurationIntent(transportName);
- if (MORE_DEBUG) {
+ if (DEBUG) {
Slog.d(
TAG,
addUserIdToLogMessage(
@@ -3595,7 +3388,7 @@ public class UserBackupManagerService {
try {
String string = mTransportManager.getTransportCurrentDestinationString(transportName);
- if (MORE_DEBUG) {
+ if (DEBUG) {
Slog.d(
TAG,
addUserIdToLogMessage(
@@ -3619,7 +3412,7 @@ public class UserBackupManagerService {
try {
Intent intent = mTransportManager.getTransportDataManagementIntent(transportName);
- if (MORE_DEBUG) {
+ if (DEBUG) {
Slog.d(
TAG,
addUserIdToLogMessage(
@@ -3646,7 +3439,7 @@ public class UserBackupManagerService {
try {
CharSequence label = mTransportManager.getTransportDataManagementLabel(transportName);
- if (MORE_DEBUG) {
+ if (DEBUG) {
Slog.d(
TAG,
addUserIdToLogMessage(
@@ -3682,20 +3475,11 @@ public class UserBackupManagerService {
boolean skip = false;
long restoreSet = getAvailableRestoreToken(packageName);
- if (DEBUG) {
- Slog.v(
- TAG,
- addUserIdToLogMessage(
- mUserId,
- "restoreAtInstall pkg="
- + packageName
- + " token="
- + Integer.toHexString(token)
- + " restoreSet="
- + Long.toHexString(restoreSet)));
- }
+ Slog.d(TAG, addUserIdToLogMessage(mUserId,
+ "restoreAtInstall pkg=" + packageName + " token=" + Integer.toHexString(token)
+ + " restoreSet=" + Long.toHexString(restoreSet)));
if (restoreSet == 0) {
- if (MORE_DEBUG) Slog.i(TAG, addUserIdToLogMessage(mUserId, "No restore set"));
+ if (DEBUG) Slog.i(TAG, addUserIdToLogMessage(mUserId, "No restore set"));
skip = true;
}
@@ -3705,7 +3489,7 @@ public class UserBackupManagerService {
TransportConnection transportConnection =
mTransportManager.getCurrentTransportClient("BMS.restoreAtInstall()");
if (transportConnection == null) {
- if (DEBUG) Slog.w(TAG, addUserIdToLogMessage(mUserId, "No transport client"));
+ Slog.w(TAG, addUserIdToLogMessage(mUserId, "No transport client"));
skip = true;
} else if (Flags.enableIncreasedBmmLoggingForRestoreAtInstall()) {
try {
@@ -3729,12 +3513,8 @@ public class UserBackupManagerService {
}
if (!mAutoRestore) {
- if (DEBUG) {
- Slog.w(
- TAG,
- addUserIdToLogMessage(
- mUserId, "Non-restorable state: auto=" + mAutoRestore));
- }
+ Slog.w(TAG,
+ addUserIdToLogMessage(mUserId, "Non-restorable state: auto=" + mAutoRestore));
skip = true;
}
@@ -3751,7 +3531,7 @@ public class UserBackupManagerService {
mWakelock.release();
};
- if (MORE_DEBUG) {
+ if (DEBUG) {
Slog.d(
TAG,
addUserIdToLogMessage(mUserId, "Restore at install of " + packageName));
@@ -3796,7 +3576,7 @@ public class UserBackupManagerService {
}
// Tell the PackageManager to proceed with the post-install handling for this package.
- if (DEBUG) Slog.v(TAG, addUserIdToLogMessage(mUserId, "Finishing install immediately"));
+ Slog.d(TAG, addUserIdToLogMessage(mUserId, "Finishing install immediately"));
try {
mPackageManagerBinder.finishPackageInstall(token, false);
} catch (RemoteException e) { /* can't happen */ }
@@ -3812,13 +3592,8 @@ public class UserBackupManagerService {
/** Hand off a restore session. */
public IRestoreSession beginRestoreSession(String packageName, String transport) {
- if (DEBUG) {
- Slog.v(
- TAG,
- addUserIdToLogMessage(
- mUserId,
- "beginRestoreSession: pkg=" + packageName + " transport=" + transport));
- }
+ Slog.d(TAG, addUserIdToLogMessage(mUserId,
+ "beginRestoreSession: pkg=" + packageName + " transport=" + transport));
boolean needPermission = true;
if (transport == null) {
@@ -3849,13 +3624,8 @@ public class UserBackupManagerService {
mContext.enforceCallingOrSelfPermission(
android.Manifest.permission.BACKUP, "beginRestoreSession");
} else {
- if (DEBUG) {
- Slog.d(
- TAG,
- addUserIdToLogMessage(
- mUserId,
- "restoring self on current transport; no permission needed"));
- }
+ Slog.d(TAG, addUserIdToLogMessage(mUserId,
+ "restoring self on current transport; no permission needed"));
}
int backupDestination;
@@ -3905,12 +3675,8 @@ public class UserBackupManagerService {
if (currentSession != mActiveRestoreSession) {
Slog.e(TAG, addUserIdToLogMessage(mUserId, "ending non-current restore session"));
} else {
- if (DEBUG) {
- Slog.v(
- TAG,
- addUserIdToLogMessage(
- mUserId, "Clearing restore session and halting timeout"));
- }
+ Slog.d(TAG, addUserIdToLogMessage(mUserId,
+ "Clearing restore session and halting timeout"));
mActiveRestoreSession = null;
mBackupHandler.removeMessages(MSG_RESTORE_SESSION_TIMEOUT);
}
diff --git a/services/backup/java/com/android/server/backup/fullbackup/AppMetadataBackupWriter.java b/services/backup/java/com/android/server/backup/fullbackup/AppMetadataBackupWriter.java
index d13f71116c81..1cd8d8146d92 100644
--- a/services/backup/java/com/android/server/backup/fullbackup/AppMetadataBackupWriter.java
+++ b/services/backup/java/com/android/server/backup/fullbackup/AppMetadataBackupWriter.java
@@ -1,6 +1,6 @@
package com.android.server.backup.fullbackup;
-import static com.android.server.backup.BackupManagerService.MORE_DEBUG;
+import static com.android.server.backup.BackupManagerService.DEBUG;
import static com.android.server.backup.BackupManagerService.TAG;
import static com.android.server.backup.UserBackupManagerService.BACKUP_MANIFEST_VERSION;
import static com.android.server.backup.UserBackupManagerService.BACKUP_METADATA_VERSION;
@@ -261,7 +261,7 @@ public class AppMetadataBackupWriter {
new Environment.UserEnvironment(userId);
File obbDir = userEnv.buildExternalStorageAppObbDirs(packageInfo.packageName)[0];
if (obbDir != null) {
- if (MORE_DEBUG) {
+ if (DEBUG) {
Log.i(TAG, "obb dir: " + obbDir.getAbsolutePath());
}
File[] obbFiles = obbDir.listFiles();
diff --git a/services/backup/java/com/android/server/backup/fullbackup/FullBackupEngine.java b/services/backup/java/com/android/server/backup/fullbackup/FullBackupEngine.java
index cf617a523bec..ebb1194c7c4a 100644
--- a/services/backup/java/com/android/server/backup/fullbackup/FullBackupEngine.java
+++ b/services/backup/java/com/android/server/backup/fullbackup/FullBackupEngine.java
@@ -17,7 +17,6 @@
package com.android.server.backup.fullbackup;
import static com.android.server.backup.BackupManagerService.DEBUG;
-import static com.android.server.backup.BackupManagerService.MORE_DEBUG;
import static com.android.server.backup.BackupManagerService.TAG;
import static com.android.server.backup.UserBackupManagerService.BACKUP_MANIFEST_FILENAME;
import static com.android.server.backup.UserBackupManagerService.BACKUP_METADATA_FILENAME;
@@ -111,7 +110,7 @@ public class FullBackupEngine {
shouldWriteApk(mPackage.applicationInfo, mIncludeApks, isSharedStorage);
if (!isSharedStorage) {
- if (MORE_DEBUG) {
+ if (DEBUG) {
Slog.d(TAG, "Writing manifest for " + packageName);
}
@@ -137,9 +136,7 @@ public class FullBackupEngine {
appMetadataBackupWriter.backupObb(mUserId, mPackage);
}
- if (DEBUG) {
- Slog.d(TAG, "Calling doFullBackup() on " + packageName);
- }
+ Slog.d(TAG, "Calling doFullBackup() on " + packageName);
long timeout =
isSharedStorage
@@ -216,14 +213,14 @@ public class FullBackupEngine {
public int preflightCheck() throws RemoteException {
if (mPreflightHook == null) {
- if (MORE_DEBUG) {
+ if (DEBUG) {
Slog.v(TAG, "No preflight check");
}
return BackupTransport.TRANSPORT_OK;
}
if (initializeAgent()) {
int result = mPreflightHook.preflightFullBackup(mPkg, mAgent);
- if (MORE_DEBUG) {
+ if (DEBUG) {
Slog.v(TAG, "preflight returned " + result);
}
@@ -262,7 +259,7 @@ public class FullBackupEngine {
if (!backupManagerService.waitUntilOperationComplete(mOpToken)) {
Slog.e(TAG, "Full backup failed on package " + mPkg.packageName);
} else {
- if (MORE_DEBUG) {
+ if (DEBUG) {
Slog.d(TAG, "Full package backup success: " + mPkg.packageName);
}
result = BackupTransport.TRANSPORT_OK;
@@ -310,7 +307,7 @@ public class FullBackupEngine {
private boolean initializeAgent() {
if (mAgent == null) {
- if (MORE_DEBUG) {
+ if (DEBUG) {
Slog.d(TAG, "Binding to full backup agent : " + mPkg.packageName);
}
mAgent =
diff --git a/services/backup/java/com/android/server/backup/fullbackup/FullBackupObbConnection.java b/services/backup/java/com/android/server/backup/fullbackup/FullBackupObbConnection.java
index be6ac26ba92a..93499b9d763b 100644
--- a/services/backup/java/com/android/server/backup/fullbackup/FullBackupObbConnection.java
+++ b/services/backup/java/com/android/server/backup/fullbackup/FullBackupObbConnection.java
@@ -16,7 +16,7 @@
package com.android.server.backup.fullbackup;
-import static com.android.server.backup.BackupManagerService.MORE_DEBUG;
+import static com.android.server.backup.BackupManagerService.DEBUG;
import static com.android.server.backup.BackupManagerService.TAG;
import android.app.backup.IBackupManager;
@@ -58,7 +58,7 @@ public class FullBackupObbConnection implements ServiceConnection {
}
public void establish() {
- if (MORE_DEBUG) {
+ if (DEBUG) {
Slog.i(TAG, "Initiating bind of OBB service on " + this);
}
Intent obbIntent = new Intent().setComponent(new ComponentName(
@@ -124,14 +124,14 @@ public class FullBackupObbConnection implements ServiceConnection {
private void waitForConnection() {
synchronized (this) {
while (mService == null) {
- if (MORE_DEBUG) {
+ if (DEBUG) {
Slog.i(TAG, "...waiting for OBB service binding...");
}
try {
this.wait();
} catch (InterruptedException e) { /* never interrupted */ }
}
- if (MORE_DEBUG) {
+ if (DEBUG) {
Slog.i(TAG, "Connected to OBB service; continuing");
}
}
@@ -141,7 +141,7 @@ public class FullBackupObbConnection implements ServiceConnection {
public void onServiceConnected(ComponentName name, IBinder service) {
synchronized (this) {
mService = IObbBackupService.Stub.asInterface(service);
- if (MORE_DEBUG) {
+ if (DEBUG) {
Slog.i(TAG, "OBB service connection " + mService + " connected on " + this);
}
this.notifyAll();
@@ -152,7 +152,7 @@ public class FullBackupObbConnection implements ServiceConnection {
public void onServiceDisconnected(ComponentName name) {
synchronized (this) {
mService = null;
- if (MORE_DEBUG) {
+ if (DEBUG) {
Slog.i(TAG, "OBB service connection disconnected on " + this);
}
this.notifyAll();
diff --git a/services/backup/java/com/android/server/backup/fullbackup/PerformAdbBackupTask.java b/services/backup/java/com/android/server/backup/fullbackup/PerformAdbBackupTask.java
index 0ba0d710af38..0d4364e14e03 100644
--- a/services/backup/java/com/android/server/backup/fullbackup/PerformAdbBackupTask.java
+++ b/services/backup/java/com/android/server/backup/fullbackup/PerformAdbBackupTask.java
@@ -17,7 +17,6 @@
package com.android.server.backup.fullbackup;
import static com.android.server.backup.BackupManagerService.DEBUG;
-import static com.android.server.backup.BackupManagerService.MORE_DEBUG;
import static com.android.server.backup.BackupManagerService.TAG;
import static com.android.server.backup.BackupPasswordManager.PBKDF_CURRENT;
import static com.android.server.backup.UserBackupManagerService.BACKUP_FILE_HEADER_MAGIC;
@@ -121,7 +120,7 @@ public class PerformAdbBackupTask extends FullBackupTask implements BackupRestor
} else {
mEncryptPassword = encryptPassword;
}
- if (MORE_DEBUG) {
+ if (DEBUG) {
Slog.w(TAG, "Encrypting backup with passphrase=" + mEncryptPassword);
}
mCompress = doCompress;
@@ -265,7 +264,7 @@ public class PerformAdbBackupTask extends FullBackupTask implements BackupRestor
List<String> pkgs =
AppWidgetBackupBridge.getWidgetParticipants(UserHandle.USER_SYSTEM);
if (pkgs != null) {
- if (MORE_DEBUG) {
+ if (DEBUG) {
Slog.i(TAG, "Adding widget participants to backup set:");
StringBuilder sb = new StringBuilder(128);
sb.append(" ");
@@ -297,16 +296,12 @@ public class PerformAdbBackupTask extends FullBackupTask implements BackupRestor
if (!mBackupEligibilityRules.appIsEligibleForBackup(pkg.applicationInfo)
|| mBackupEligibilityRules.appIsStopped(pkg.applicationInfo)) {
iter.remove();
- if (DEBUG) {
- Slog.i(TAG, "Package " + pkg.packageName
+ Slog.i(TAG, "Package " + pkg.packageName
+ " is not eligible for backup, removing.");
- }
} else if (mBackupEligibilityRules.appIsKeyValueOnly(pkg)) {
iter.remove();
- if (DEBUG) {
- Slog.i(TAG, "Package " + pkg.packageName
+ Slog.i(TAG, "Package " + pkg.packageName
+ " is key-value.");
- }
keyValueBackupQueue.add(pkg);
}
}
@@ -326,9 +321,7 @@ public class PerformAdbBackupTask extends FullBackupTask implements BackupRestor
// Verify that the given password matches the currently-active
// backup password, if any
if (!mUserBackupManagerService.backupPasswordMatches(mCurrentPassword)) {
- if (DEBUG) {
- Slog.w(TAG, "Backup password mismatch; aborting");
- }
+ Slog.w(TAG, "Backup password mismatch; aborting");
return;
}
@@ -402,10 +395,8 @@ public class PerformAdbBackupTask extends FullBackupTask implements BackupRestor
int N = backupQueue.size();
for (int i = 0; i < N; i++) {
pkg = backupQueue.get(i);
- if (DEBUG) {
- Slog.i(TAG, "--- Performing full backup for package " + pkg.packageName
+ Slog.i(TAG, "--- Performing full backup for package " + pkg.packageName
+ " ---");
- }
final boolean isSharedStorage =
pkg.packageName.equals(
SHARED_BACKUP_AGENT_PACKAGE);
@@ -441,10 +432,8 @@ public class PerformAdbBackupTask extends FullBackupTask implements BackupRestor
// And for key-value backup if enabled
if (mKeyValue) {
for (PackageInfo keyValuePackage : keyValueBackupQueue) {
- if (DEBUG) {
- Slog.i(TAG, "--- Performing key-value backup for package "
+ Slog.i(TAG, "--- Performing key-value backup for package "
+ keyValuePackage.packageName + " ---");
- }
KeyValueAdbBackupEngine kvBackupEngine =
new KeyValueAdbBackupEngine(out, keyValuePackage,
mUserBackupManagerService,
@@ -478,10 +467,8 @@ public class PerformAdbBackupTask extends FullBackupTask implements BackupRestor
}
sendEndBackup();
obbConnection.tearDown();
- if (DEBUG) {
- Slog.d(TAG, "Full backup pass complete.");
- }
- mUserBackupManagerService.getWakelock().release();
+ Slog.d(TAG, "Full backup pass complete.");
+ mUserBackupManagerService.getWakeLock().release();
}
}
@@ -499,9 +486,7 @@ public class PerformAdbBackupTask extends FullBackupTask implements BackupRestor
@Override
public void handleCancel(boolean cancelAll) {
final PackageInfo target = mCurrentTarget;
- if (DEBUG) {
- Slog.w(TAG, "adb backup cancel of " + target);
- }
+ Slog.w(TAG, "adb backup cancel of " + target);
if (target != null) {
mUserBackupManagerService.getBackupAgentConnectionManager().unbindAgent(
target.applicationInfo, /* allowKill= */ true);
diff --git a/services/backup/java/com/android/server/backup/fullbackup/PerformFullTransportBackupTask.java b/services/backup/java/com/android/server/backup/fullbackup/PerformFullTransportBackupTask.java
index 990c9416e38d..bd34f33226a1 100644
--- a/services/backup/java/com/android/server/backup/fullbackup/PerformFullTransportBackupTask.java
+++ b/services/backup/java/com/android/server/backup/fullbackup/PerformFullTransportBackupTask.java
@@ -19,8 +19,6 @@ package com.android.server.backup.fullbackup;
import static android.app.backup.BackupAnnotations.OperationType.BACKUP;
import static com.android.server.backup.BackupManagerService.DEBUG;
-import static com.android.server.backup.BackupManagerService.DEBUG_SCHEDULING;
-import static com.android.server.backup.BackupManagerService.MORE_DEBUG;
import android.annotation.Nullable;
import android.app.IBackupAgent;
@@ -201,9 +199,7 @@ public class PerformFullTransportBackupTask extends FullBackupTask implements Ba
mBackupEligibilityRules = backupEligibilityRules;
if (backupManagerService.isBackupOperationInProgress()) {
- if (DEBUG) {
- Slog.d(TAG, "Skipping full backup. A backup is already in progress.");
- }
+ Slog.d(TAG, "Skipping full backup. A backup is already in progress.");
mCancelAll = true;
return;
}
@@ -219,7 +215,7 @@ public class PerformFullTransportBackupTask extends FullBackupTask implements Ba
// that run as system-domain uids but do not define their own backup agents,
// as well as any explicit mention of the 'special' shared-storage agent
// package (we handle that one at the end).
- if (MORE_DEBUG) {
+ if (DEBUG) {
Slog.d(TAG, "Ignoring ineligible package " + pkg);
}
mBackupManagerMonitorEventSender.monitorEvent(
@@ -233,7 +229,7 @@ public class PerformFullTransportBackupTask extends FullBackupTask implements Ba
} else if (!mBackupEligibilityRules.appGetsFullBackup(info)) {
// Cull any packages that are found in the queue but now aren't supposed
// to get full-data backup operations.
- if (MORE_DEBUG) {
+ if (DEBUG) {
Slog.d(TAG, "Ignoring full-data backup of key/value participant "
+ pkg);
}
@@ -249,7 +245,7 @@ public class PerformFullTransportBackupTask extends FullBackupTask implements Ba
// Cull any packages in the 'stopped' state: they've either just been
// installed or have explicitly been force-stopped by the user. In both
// cases we do not want to launch them for backup.
- if (MORE_DEBUG) {
+ if (DEBUG) {
Slog.d(TAG, "Ignoring stopped package " + pkg);
}
mBackupManagerMonitorEventSender.monitorEvent(
@@ -346,12 +342,10 @@ public class PerformFullTransportBackupTask extends FullBackupTask implements Ba
if (!mUserBackupManagerService.isEnabled()
|| !mUserBackupManagerService.isSetupComplete()) {
// Backups are globally disabled, so don't proceed.
- if (DEBUG) {
- Slog.i(TAG, "full backup requested but enabled=" + mUserBackupManagerService
- .isEnabled()
- + " setupComplete=" + mUserBackupManagerService.isSetupComplete()
- + "; ignoring");
- }
+ Slog.i(TAG,
+ "full backup requested but enabled=" + mUserBackupManagerService.isEnabled()
+ + " setupComplete=" + mUserBackupManagerService.isSetupComplete()
+ + "; ignoring");
int monitoringEvent;
if (mUserBackupManagerService.isSetupComplete()) {
monitoringEvent = BackupManagerMonitor.LOG_EVENT_ID_BACKUP_DISABLED;
@@ -405,10 +399,8 @@ public class PerformFullTransportBackupTask extends FullBackupTask implements Ba
mBackupRunner = null;
PackageInfo currentPackage = mPackages.get(i);
String packageName = currentPackage.packageName;
- if (DEBUG) {
- Slog.i(TAG, "Initiating full-data transport backup of " + packageName
- + " token: " + mCurrentOpToken);
- }
+ Slog.i(TAG, "Initiating full-data transport backup of " + packageName + " token: "
+ + mCurrentOpToken);
EventLog.writeEvent(EventLogTags.FULL_BACKUP_PACKAGE, packageName);
transportPipes = ParcelFileDescriptor.createPipe();
@@ -462,7 +454,7 @@ public class PerformFullTransportBackupTask extends FullBackupTask implements Ba
final long preflightResult = mBackupRunner.getPreflightResultBlocking();
// Preflight result is negative if some error happened on preflight.
if (preflightResult < 0) {
- if (MORE_DEBUG) {
+ if (DEBUG) {
Slog.d(TAG, "Backup error after preflight of package "
+ packageName + ": " + preflightResult
+ ", not running backup.");
@@ -479,7 +471,7 @@ public class PerformFullTransportBackupTask extends FullBackupTask implements Ba
int nRead = 0;
do {
nRead = in.read(buffer);
- if (MORE_DEBUG) {
+ if (DEBUG) {
Slog.v(TAG, "in.read(buffer) from app: " + nRead);
}
if (nRead > 0) {
@@ -549,12 +541,12 @@ public class PerformFullTransportBackupTask extends FullBackupTask implements Ba
backupPackageStatus = backupRunnerResult;
}
} else {
- if (MORE_DEBUG) {
+ if (DEBUG) {
Slog.i(TAG, "Transport-level failure; cancelling agent work");
}
}
- if (MORE_DEBUG) {
+ if (DEBUG) {
Slog.i(TAG, "Done delivering backup data: result="
+ backupPackageStatus);
}
@@ -567,10 +559,7 @@ public class PerformFullTransportBackupTask extends FullBackupTask implements Ba
// Also ask the transport how long it wants us to wait before
// moving on to the next package, if any.
backoff = transport.requestFullBackupTime();
- if (DEBUG_SCHEDULING) {
- Slog.i(TAG, "Transport suggested backoff=" + backoff);
- }
-
+ Slog.i(TAG, "Transport suggested backoff=" + backoff);
}
// Roll this package to the end of the backup queue if we're
@@ -581,13 +570,9 @@ public class PerformFullTransportBackupTask extends FullBackupTask implements Ba
}
if (backupPackageStatus == BackupTransport.TRANSPORT_PACKAGE_REJECTED) {
- BackupObserverUtils
- .sendBackupOnPackageResult(mBackupObserver, packageName,
- BackupManager.ERROR_TRANSPORT_PACKAGE_REJECTED);
- if (DEBUG) {
- Slog.i(TAG, "Transport rejected backup of " + packageName
- + ", skipping");
- }
+ BackupObserverUtils.sendBackupOnPackageResult(mBackupObserver, packageName,
+ BackupManager.ERROR_TRANSPORT_PACKAGE_REJECTED);
+ Slog.i(TAG, "Transport rejected backup of " + packageName + ", skipping");
EventLog.writeEvent(EventLogTags.FULL_BACKUP_AGENT_FAILURE, packageName,
"transport rejected");
// This failure state can come either a-priori from the transport, or
@@ -602,11 +587,8 @@ public class PerformFullTransportBackupTask extends FullBackupTask implements Ba
BackupObserverUtils
.sendBackupOnPackageResult(mBackupObserver, packageName,
BackupManager.ERROR_TRANSPORT_QUOTA_EXCEEDED);
- if (DEBUG) {
- Slog.i(TAG, "Transport quota exceeded for package: " + packageName);
- EventLog.writeEvent(EventLogTags.FULL_BACKUP_QUOTA_EXCEEDED,
- packageName);
- }
+ Slog.i(TAG, "Transport quota exceeded for package: " + packageName);
+ EventLog.writeEvent(EventLogTags.FULL_BACKUP_QUOTA_EXCEEDED, packageName);
mUserBackupManagerService.getBackupAgentConnectionManager().unbindAgent(
currentPackage.applicationInfo, /* allowKill= */ true);
// Do nothing, clean up, and continue looping.
@@ -675,9 +657,7 @@ public class PerformFullTransportBackupTask extends FullBackupTask implements Ba
backupRunStatus = BackupManager.ERROR_BACKUP_CANCELLED;
}
- if (DEBUG) {
- Slog.i(TAG, "Full backup completed with status: " + backupRunStatus);
- }
+ Slog.i(TAG, "Full backup completed with status: " + backupRunStatus);
BackupObserverUtils.sendBackupFinished(mBackupObserver, backupRunStatus);
cleanUpPipes(transportPipes);
@@ -708,7 +688,7 @@ public class PerformFullTransportBackupTask extends FullBackupTask implements Ba
.getBackupAgentConnectionManager().clearNoRestrictedModePackages();
Slog.i(TAG, "Full data backup pass finished.");
- mUserBackupManagerService.getWakelock().release();
+ mUserBackupManagerService.getWakeLock().release();
}
}
@@ -781,7 +761,7 @@ public class PerformFullTransportBackupTask extends FullBackupTask implements Ba
try {
mUserBackupManagerService.prepareOperationTimeout(
mCurrentOpToken, fullBackupAgentTimeoutMillis, this, OpType.BACKUP_WAIT);
- if (MORE_DEBUG) {
+ if (DEBUG) {
Slog.d(TAG, "Preflighting full payload of " + pkg.packageName);
}
agent.doMeasureFullBackup(mQuota, mCurrentOpToken,
@@ -799,7 +779,7 @@ public class PerformFullTransportBackupTask extends FullBackupTask implements Ba
if (totalSize < 0) {
return (int) totalSize;
}
- if (MORE_DEBUG) {
+ if (DEBUG) {
Slog.v(TAG, "Got preflight response; size=" + totalSize);
}
@@ -807,7 +787,7 @@ public class PerformFullTransportBackupTask extends FullBackupTask implements Ba
mTransportConnection.connectOrThrow("PFTBT$SPBP.preflightFullBackup()");
result = transport.checkFullBackupSize(totalSize);
if (result == BackupTransport.TRANSPORT_QUOTA_EXCEEDED) {
- if (MORE_DEBUG) {
+ if (DEBUG) {
Slog.d(TAG, "Package hit quota limit on preflight " +
pkg.packageName + ": " + totalSize + " of " + mQuota);
}
@@ -830,7 +810,7 @@ public class PerformFullTransportBackupTask extends FullBackupTask implements Ba
@Override
public void operationComplete(long result) {
// got the callback, and our preflightFullBackup() method is waiting for the result
- if (MORE_DEBUG) {
+ if (DEBUG) {
Slog.i(TAG, "Preflight op complete, result=" + result);
}
mResult.set(result);
@@ -840,7 +820,7 @@ public class PerformFullTransportBackupTask extends FullBackupTask implements Ba
@Override
public void handleCancel(boolean cancelAll) {
- if (MORE_DEBUG) {
+ if (DEBUG) {
Slog.i(TAG, "Preflight cancelled; failing");
}
mResult.set(BackupTransport.AGENT_ERROR);
@@ -997,9 +977,7 @@ public class PerformFullTransportBackupTask extends FullBackupTask implements Ba
@Override
public void handleCancel(boolean cancelAll) {
- if (DEBUG) {
- Slog.w(TAG, "Full backup cancel of " + mTarget.packageName);
- }
+ Slog.w(TAG, "Full backup cancel of " + mTarget.packageName);
mBackupManagerMonitorEventSender.monitorEvent(
BackupManagerMonitor.LOG_EVENT_ID_FULL_BACKUP_CANCEL,
diff --git a/services/backup/java/com/android/server/backup/internal/BackupHandler.java b/services/backup/java/com/android/server/backup/internal/BackupHandler.java
index 38c7dd1e230b..87cf8a313651 100644
--- a/services/backup/java/com/android/server/backup/internal/BackupHandler.java
+++ b/services/backup/java/com/android/server/backup/internal/BackupHandler.java
@@ -17,7 +17,6 @@
package com.android.server.backup.internal;
import static com.android.server.backup.BackupManagerService.DEBUG;
-import static com.android.server.backup.BackupManagerService.MORE_DEBUG;
import static com.android.server.backup.BackupManagerService.TAG;
import android.app.backup.BackupAnnotations.BackupDestination;
@@ -136,8 +135,8 @@ public class BackupHandler extends Handler {
public void handleMessage(Message msg) {
if (msg.what == MSG_STOP) {
- Slog.v(TAG, "Stopping backup handler");
- backupManagerService.getWakelock().quit();
+ Slog.d(TAG, "Stopping backup handler");
+ backupManagerService.getWakeLock().quit();
mBackupThread.quitSafely();
}
@@ -163,7 +162,7 @@ public class BackupHandler extends Handler {
transportManager
.disposeOfTransportClient(transportConnection, callerLogString);
}
- Slog.v(TAG, "Backup requested but no transport available");
+ Slog.d(TAG, "Backup requested but no transport available");
break;
}
@@ -177,14 +176,12 @@ public class BackupHandler extends Handler {
return;
}
- if (DEBUG) {
- Slog.v(TAG, "Running a backup pass");
- }
+ Slog.d(TAG, "Running a backup pass");
// Acquire the wakelock and pass it to the backup thread. It will be released
// once backup concludes.
backupManagerService.setBackupRunning(true);
- backupManagerService.getWakelock().acquire();
+ backupManagerService.getWakeLock().acquire();
// Do we have any work to do? Construct the work queue
// then release the synchronization lock to actually run
@@ -193,9 +190,7 @@ public class BackupHandler extends Handler {
for (BackupRequest b : backupManagerService.getPendingBackups().values()) {
queue.add(b.packageName);
}
- if (DEBUG) {
- Slog.v(TAG, "clearing pending backups");
- }
+ Slog.d(TAG, "clearing pending backups");
backupManagerService.getPendingBackups().clear();
// Start a new backup-queue journal file too
@@ -249,7 +244,7 @@ public class BackupHandler extends Handler {
staged = false;
}
} else {
- Slog.v(TAG, "Backup requested but nothing pending");
+ Slog.d(TAG, "Backup requested but nothing pending");
staged = false;
}
@@ -259,7 +254,7 @@ public class BackupHandler extends Handler {
synchronized (backupManagerService.getQueueLock()) {
backupManagerService.setBackupRunning(false);
}
- backupManagerService.getWakelock().release();
+ backupManagerService.getWakeLock().release();
}
break;
}
@@ -267,7 +262,7 @@ public class BackupHandler extends Handler {
case MSG_BACKUP_RESTORE_STEP: {
try {
BackupRestoreTask task = (BackupRestoreTask) msg.obj;
- if (MORE_DEBUG) {
+ if (DEBUG) {
Slog.v(TAG, "Got next step for " + task + ", executing");
}
task.execute();
@@ -324,16 +319,12 @@ public class BackupHandler extends Handler {
synchronized (backupManagerService.getPendingRestores()) {
if (backupManagerService.isRestoreInProgress()) {
- if (DEBUG) {
- Slog.d(TAG, "Restore in progress, queueing.");
- }
+ Slog.d(TAG, "Restore in progress, queueing.");
backupManagerService.getPendingRestores().add(task);
// This task will be picked up and executed when the the currently running
// restore task finishes.
} else {
- if (DEBUG) {
- Slog.d(TAG, "Starting restore.");
- }
+ Slog.d(TAG, "Starting restore.");
backupManagerService.setRestoreInProgress(true);
Message restoreMsg = obtainMessage(MSG_BACKUP_RESTORE_STEP, task);
sendMessage(restoreMsg);
@@ -471,11 +462,11 @@ public class BackupHandler extends Handler {
case MSG_REQUEST_BACKUP: {
BackupParams params = (BackupParams) msg.obj;
- if (MORE_DEBUG) {
+ if (DEBUG) {
Slog.d(TAG, "MSG_REQUEST_BACKUP observer=" + params.observer);
}
backupManagerService.setBackupRunning(true);
- backupManagerService.getWakelock().acquire();
+ backupManagerService.getWakeLock().acquire();
KeyValueBackupTask.start(
backupManagerService,
@@ -496,7 +487,7 @@ public class BackupHandler extends Handler {
case MSG_SCHEDULE_BACKUP_PACKAGE: {
String pkgName = (String) msg.obj;
- if (MORE_DEBUG) {
+ if (DEBUG) {
Slog.d(TAG, "MSG_SCHEDULE_BACKUP_PACKAGE " + pkgName);
}
backupManagerService.dataChangedImpl(pkgName);
diff --git a/services/backup/java/com/android/server/backup/internal/LifecycleOperationStorage.java b/services/backup/java/com/android/server/backup/internal/LifecycleOperationStorage.java
index a94167eb9fa7..0b974e2d0a8a 100644
--- a/services/backup/java/com/android/server/backup/internal/LifecycleOperationStorage.java
+++ b/services/backup/java/com/android/server/backup/internal/LifecycleOperationStorage.java
@@ -17,7 +17,6 @@
package com.android.server.backup.internal;
import static com.android.server.backup.BackupManagerService.DEBUG;
-import static com.android.server.backup.BackupManagerService.MORE_DEBUG;
import android.annotation.UserIdInt;
import android.util.Slog;
@@ -206,7 +205,7 @@ public class LifecycleOperationStorage implements OperationStorage {
* @return true if the operation was ACKed prior to or during this call.
*/
public boolean waitUntilOperationComplete(int token, IntConsumer callback) {
- if (MORE_DEBUG) {
+ if (DEBUG) {
Slog.i(TAG, "[UserID:" + mUserId + "] Blocking until operation complete for "
+ Integer.toHexString(token));
}
@@ -227,7 +226,7 @@ public class LifecycleOperationStorage implements OperationStorage {
}
// When the wait is notified we loop around and recheck the current state
} else {
- if (MORE_DEBUG) {
+ if (DEBUG) {
Slog.d(TAG, "[UserID:" + mUserId
+ "] Unblocked waiting for operation token="
+ Integer.toHexString(token));
@@ -244,7 +243,7 @@ public class LifecycleOperationStorage implements OperationStorage {
if (op != null) {
callback.accept(op.type);
}
- if (MORE_DEBUG) {
+ if (DEBUG) {
Slog.v(TAG, "[UserID:" + mUserId + "] operation " + Integer.toHexString(token)
+ " complete: finalState=" + finalState);
}
@@ -263,7 +262,7 @@ public class LifecycleOperationStorage implements OperationStorage {
* operation from PENDING to ACKNOWLEDGED state.
*/
public void onOperationComplete(int token, long result, Consumer<BackupRestoreTask> callback) {
- if (MORE_DEBUG) {
+ if (DEBUG) {
Slog.v(TAG, "[UserID:" + mUserId + "] onOperationComplete: "
+ Integer.toHexString(token) + " result=" + result);
}
@@ -277,10 +276,8 @@ public class LifecycleOperationStorage implements OperationStorage {
op = null;
mOperations.remove(token);
} else if (op.state == OpState.ACKNOWLEDGED) {
- if (DEBUG) {
- Slog.w(TAG, "[UserID:" + mUserId + "] Received duplicate ack for token="
+ Slog.w(TAG, "[UserID:" + mUserId + "] Received duplicate ack for token="
+ Integer.toHexString(token));
- }
op = null;
mOperations.remove(token);
} else if (op.state == OpState.PENDING) {
@@ -317,7 +314,7 @@ public class LifecycleOperationStorage implements OperationStorage {
Operation op = null;
synchronized (mOperationsLock) {
op = mOperations.get(token);
- if (MORE_DEBUG) {
+ if (DEBUG) {
if (op == null) {
Slog.w(TAG, "[UserID:" + mUserId + "] Cancel of token "
+ Integer.toHexString(token) + " but no op found");
@@ -326,17 +323,13 @@ public class LifecycleOperationStorage implements OperationStorage {
int state = (op != null) ? op.state : OpState.TIMEOUT;
if (state == OpState.ACKNOWLEDGED) {
// The operation finished cleanly, so we have nothing more to do.
- if (DEBUG) {
- Slog.w(TAG, "[UserID:" + mUserId + "] Operation already got an ack."
+ Slog.w(TAG, "[UserID:" + mUserId + "] Operation already got an ack."
+ "Should have been removed from mCurrentOperations.");
- }
op = null;
mOperations.delete(token);
} else if (state == OpState.PENDING) {
- if (DEBUG) {
- Slog.v(TAG, "[UserID:" + mUserId + "] Cancel: token="
+ Slog.d(TAG, "[UserID:" + mUserId + "] Cancel: token="
+ Integer.toHexString(token));
- }
op.state = OpState.TIMEOUT;
// Can't delete op from mOperations here. waitUntilOperationComplete may be
// called after we receive cancel here. We need this op's state there.
@@ -347,7 +340,7 @@ public class LifecycleOperationStorage implements OperationStorage {
// If there's a TimeoutHandler for this event, call it
if (op != null && op.callback != null) {
- if (MORE_DEBUG) {
+ if (DEBUG) {
Slog.v(TAG, "[UserID:" + mUserId + " Invoking cancel on " + op.callback);
}
op.callback.handleCancel(cancelAll);
diff --git a/services/backup/java/com/android/server/backup/internal/PerformClearTask.java b/services/backup/java/com/android/server/backup/internal/PerformClearTask.java
index de0177c1b62c..b9ac5648a5f4 100644
--- a/services/backup/java/com/android/server/backup/internal/PerformClearTask.java
+++ b/services/backup/java/com/android/server/backup/internal/PerformClearTask.java
@@ -75,7 +75,7 @@ public class PerformClearTask implements Runnable {
}
mListener.onFinished(callerLogString);
// Last but not least, release the cpu
- mBackupManagerService.getWakelock().release();
+ mBackupManagerService.getWakeLock().release();
}
}
}
diff --git a/services/backup/java/com/android/server/backup/internal/RunInitializeReceiver.java b/services/backup/java/com/android/server/backup/internal/RunInitializeReceiver.java
index 160124b6f1d3..98563a7d7d8e 100644
--- a/services/backup/java/com/android/server/backup/internal/RunInitializeReceiver.java
+++ b/services/backup/java/com/android/server/backup/internal/RunInitializeReceiver.java
@@ -16,7 +16,6 @@
package com.android.server.backup.internal;
-import static com.android.server.backup.BackupManagerService.DEBUG;
import static com.android.server.backup.BackupManagerService.TAG;
import static com.android.server.backup.UserBackupManagerService.RUN_INITIALIZE_ACTION;
@@ -47,9 +46,7 @@ public class RunInitializeReceiver extends BroadcastReceiver {
synchronized (mUserBackupManagerService.getQueueLock()) {
Set<String> pendingInits = mUserBackupManagerService.getPendingInits();
- if (DEBUG) {
- Slog.v(TAG, "Running a device init; " + pendingInits.size() + " pending");
- }
+ Slog.d(TAG, "Running a device init; " + pendingInits.size() + " pending");
if (pendingInits.size() > 0) {
String[] transports = pendingInits.toArray(new String[pendingInits.size()]);
diff --git a/services/backup/java/com/android/server/backup/internal/SetupObserver.java b/services/backup/java/com/android/server/backup/internal/SetupObserver.java
index f399fe9e7ab9..309fe29b6866 100644
--- a/services/backup/java/com/android/server/backup/internal/SetupObserver.java
+++ b/services/backup/java/com/android/server/backup/internal/SetupObserver.java
@@ -16,7 +16,7 @@
package com.android.server.backup.internal;
-import static com.android.server.backup.BackupManagerService.MORE_DEBUG;
+import static com.android.server.backup.BackupManagerService.DEBUG;
import static com.android.server.backup.BackupManagerService.TAG;
import static com.android.server.backup.UserBackupManagerService.getSetupCompleteSettingForUser;
@@ -57,7 +57,7 @@ public class SetupObserver extends ContentObserver {
boolean resolvedSetupComplete = previousSetupComplete || newSetupComplete;
mUserBackupManagerService.setSetupComplete(resolvedSetupComplete);
- if (MORE_DEBUG) {
+ if (DEBUG) {
Slog.d(
TAG,
"Setup complete change: was="
@@ -73,7 +73,7 @@ public class SetupObserver extends ContentObserver {
if (resolvedSetupComplete
&& !previousSetupComplete
&& mUserBackupManagerService.isEnabled()) {
- if (MORE_DEBUG) {
+ if (DEBUG) {
Slog.d(TAG, "Setup complete so starting backups");
}
KeyValueBackupJob.schedule(mUserBackupManagerService.getUserId(), mContext,
diff --git a/services/backup/java/com/android/server/backup/keyvalue/KeyValueBackupReporter.java b/services/backup/java/com/android/server/backup/keyvalue/KeyValueBackupReporter.java
index 20c8cf6c6923..af0c895c1261 100644
--- a/services/backup/java/com/android/server/backup/keyvalue/KeyValueBackupReporter.java
+++ b/services/backup/java/com/android/server/backup/keyvalue/KeyValueBackupReporter.java
@@ -54,13 +54,10 @@ import java.util.List;
@VisibleForTesting
public class KeyValueBackupReporter {
@VisibleForTesting static final String TAG = "KeyValueBackupTask";
- private static final boolean DEBUG = BackupManagerService.DEBUG;
- @VisibleForTesting static final boolean MORE_DEBUG = BackupManagerService.MORE_DEBUG;
+ @VisibleForTesting static final boolean DEBUG = BackupManagerService.DEBUG;
static void onNewThread(String threadName) {
- if (DEBUG) {
- Slog.d(TAG, "Spinning thread " + threadName);
- }
+ Slog.d(TAG, "Spinning thread " + threadName);
}
private final UserBackupManagerService mBackupManagerService;
@@ -87,9 +84,7 @@ public class KeyValueBackupReporter {
}
void onSkipBackup() {
- if (DEBUG) {
- Slog.d(TAG, "Skipping backup since one is already in progress");
- }
+ Slog.d(TAG, "Skipping backup since one is already in progress");
}
void onEmptyQueueAtStart() {
@@ -97,9 +92,7 @@ public class KeyValueBackupReporter {
}
void onQueueReady(List<String> queue) {
- if (DEBUG) {
- Slog.v(TAG, "Beginning backup of " + queue.size() + " targets");
- }
+ Slog.d(TAG, "Beginning backup of " + queue.size() + " targets");
}
void onTransportReady(String transportName) {
@@ -167,7 +160,7 @@ public class KeyValueBackupReporter {
}
void onAgentError(String packageName) {
- if (MORE_DEBUG) {
+ if (DEBUG) {
Slog.i(TAG, "Agent failure for " + packageName + ", re-staging");
}
BackupObserverUtils.sendBackupOnPackageResult(
@@ -175,13 +168,11 @@ public class KeyValueBackupReporter {
}
void onExtractAgentData(String packageName) {
- if (DEBUG) {
- Slog.d(TAG, "Invoking agent on " + packageName);
- }
+ Slog.d(TAG, "Invoking agent on " + packageName);
}
void onAgentFilesReady(File backupDataFile) {
- if (MORE_DEBUG) {
+ if (DEBUG) {
Slog.d(TAG, "Data file: " + backupDataFile);
}
}
@@ -216,7 +207,7 @@ public class KeyValueBackupReporter {
null, BackupManagerMonitor.EXTRA_LOG_ILLEGAL_KEY, key));
BackupObserverUtils.sendBackupOnPackageResult(
mObserver, packageName, BackupManager.ERROR_AGENT_FAILURE);
- if (MORE_DEBUG) {
+ if (DEBUG) {
Slog.i(
TAG,
"Agent failure for " + packageName + " with illegal key " + key + ", dropped");
@@ -232,7 +223,7 @@ public class KeyValueBackupReporter {
}
void onWriteWidgetData(boolean priorStateExists, @Nullable byte[] widgetState) {
- if (MORE_DEBUG) {
+ if (DEBUG) {
Slog.i(
TAG,
"Checking widget update: state="
@@ -243,13 +234,13 @@ public class KeyValueBackupReporter {
}
void onTransportPerformBackup(String packageName) {
- if (MORE_DEBUG) {
+ if (DEBUG) {
Slog.v(TAG, "Sending non-empty data to transport for " + packageName);
}
}
void onEmptyData(PackageInfo packageInfo) {
- if (MORE_DEBUG) {
+ if (DEBUG) {
Slog.i(TAG, "No backup data written, not calling transport");
}
mBackupManagerMonitorEventSender.monitorEvent(
@@ -273,7 +264,7 @@ public class KeyValueBackupReporter {
}
void onPackageBackupQuotaExceeded(String packageName) {
- if (MORE_DEBUG) {
+ if (DEBUG) {
Slog.d(TAG, "Package " + packageName + " hit quota limit on key-value backup");
}
BackupObserverUtils.sendBackupOnPackageResult(
@@ -319,7 +310,7 @@ public class KeyValueBackupReporter {
}
void onCancel() {
- if (MORE_DEBUG) {
+ if (DEBUG) {
Slog.v(TAG, "Cancel received");
}
}
@@ -363,7 +354,7 @@ public class KeyValueBackupReporter {
}
void onRevertTask() {
- if (MORE_DEBUG) {
+ if (DEBUG) {
Slog.i(TAG, "Reverting backup queue, re-staging everything");
}
}
@@ -373,7 +364,7 @@ public class KeyValueBackupReporter {
}
void onRemoteCallReturned(RemoteResult result, String logIdentifier) {
- if (MORE_DEBUG) {
+ if (DEBUG) {
Slog.v(TAG, "Agent call " + logIdentifier + " returned " + result);
}
}
@@ -388,7 +379,7 @@ public class KeyValueBackupReporter {
void onTransportNotInitialized(@Nullable String transportName) {
EventLog.writeEvent(EventLogTags.BACKUP_RESET, transportName);
- if (MORE_DEBUG) {
+ if (DEBUG) {
Slog.d(TAG, "Transport requires initialization, rerunning");
}
}
diff --git a/services/backup/java/com/android/server/backup/keyvalue/KeyValueBackupTask.java b/services/backup/java/com/android/server/backup/keyvalue/KeyValueBackupTask.java
index 689c43a1cc96..494b9d59a238 100644
--- a/services/backup/java/com/android/server/backup/keyvalue/KeyValueBackupTask.java
+++ b/services/backup/java/com/android/server/backup/keyvalue/KeyValueBackupTask.java
@@ -826,7 +826,7 @@ public class KeyValueBackupTask implements BackupRestoreTask, Runnable {
}
mTaskFinishedListener.onFinished(callerLogString);
mReporter.onBackupFinished(getBackupFinishedStatus(mCancelled, status));
- mBackupManagerService.getWakelock().release();
+ mBackupManagerService.getWakeLock().release();
}
private int getBackupFinishedStatus(boolean cancelled, int transportStatus) {
@@ -878,12 +878,13 @@ public class KeyValueBackupTask implements BackupRestoreTask, Runnable {
* the transport or not. It's the caller responsibility to do the clean-up or delegate it.
*/
private void extractAgentData(PackageInfo packageInfo) throws AgentException, TaskException {
- mBackupManagerService.setWorkSource(new WorkSource(packageInfo.applicationInfo.uid));
+ mBackupManagerService.getWakeLock().setWorkSource(
+ new WorkSource(packageInfo.applicationInfo.uid));
try {
mAgent = bindAgent(packageInfo);
extractAgentData(packageInfo, mAgent);
} finally {
- mBackupManagerService.setWorkSource(null);
+ mBackupManagerService.getWakeLock().setWorkSource(null);
}
}
diff --git a/services/backup/java/com/android/server/backup/restore/ActiveRestoreSession.java b/services/backup/java/com/android/server/backup/restore/ActiveRestoreSession.java
index 9f7b62763ed3..41134d68916a 100644
--- a/services/backup/java/com/android/server/backup/restore/ActiveRestoreSession.java
+++ b/services/backup/java/com/android/server/backup/restore/ActiveRestoreSession.java
@@ -17,7 +17,6 @@
package com.android.server.backup.restore;
import static com.android.server.backup.BackupManagerService.DEBUG;
-import static com.android.server.backup.BackupManagerService.MORE_DEBUG;
import static com.android.server.backup.internal.BackupHandler.MSG_RESTORE_SESSION_TIMEOUT;
import static com.android.server.backup.internal.BackupHandler.MSG_RUN_GET_RESTORE_SETS;
import static com.android.server.backup.internal.BackupHandler.MSG_RUN_RESTORE;
@@ -41,6 +40,7 @@ import android.util.Slog;
import com.android.internal.annotations.VisibleForTesting;
import com.android.server.LocalServices;
+import com.android.server.backup.BackupWakeLock;
import com.android.server.backup.Flags;
import com.android.server.backup.TransportManager;
import com.android.server.backup.UserBackupManagerService;
@@ -121,7 +121,7 @@ public class ActiveRestoreSession extends IRestoreSession.Stub {
// comes in.
mBackupManagerService.getBackupHandler().removeMessages(MSG_RESTORE_SESSION_TIMEOUT);
- UserBackupManagerService.BackupWakeLock wakelock = mBackupManagerService.getWakelock();
+ BackupWakeLock wakelock = mBackupManagerService.getWakeLock();
wakelock.acquire();
// Prevent lambda from leaking 'this'
@@ -150,10 +150,8 @@ public class ActiveRestoreSession extends IRestoreSession.Stub {
android.Manifest.permission.BACKUP,
"performRestore");
- if (DEBUG) {
- Slog.d(TAG, "restoreAll token=" + Long.toHexString(token)
+ Slog.d(TAG, "restoreAll token=" + Long.toHexString(token)
+ " observer=" + observer);
- }
if (mEnded) {
throw new IllegalStateException("Restore session already ended");
@@ -213,40 +211,38 @@ public class ActiveRestoreSession extends IRestoreSession.Stub {
android.Manifest.permission.BACKUP,
"performRestore");
- if (DEBUG) {
- StringBuilder b = new StringBuilder(128);
- b.append("restorePackages token=");
- b.append(Long.toHexString(token));
- b.append(" observer=");
- if (observer == null) {
- b.append("null");
- } else {
- b.append(observer.toString());
- }
- b.append(" monitor=");
- if (monitor == null) {
- b.append("null");
- } else {
- b.append(monitor.toString());
- }
- b.append(" packages=");
- if (packages == null) {
- b.append("null");
- } else {
- b.append('{');
- boolean first = true;
- for (String s : packages) {
- if (!first) {
- b.append(", ");
- } else {
- first = false;
- }
- b.append(s);
+ StringBuilder b = new StringBuilder(128);
+ b.append("restorePackages token=");
+ b.append(Long.toHexString(token));
+ b.append(" observer=");
+ if (observer == null) {
+ b.append("null");
+ } else {
+ b.append(observer.toString());
+ }
+ b.append(" monitor=");
+ if (monitor == null) {
+ b.append("null");
+ } else {
+ b.append(monitor.toString());
+ }
+ b.append(" packages=");
+ if (packages == null) {
+ b.append("null");
+ } else {
+ b.append('{');
+ boolean first = true;
+ for (String s : packages) {
+ if (!first) {
+ b.append(", ");
+ } else {
+ first = false;
}
- b.append('}');
+ b.append(s);
}
- Slog.d(TAG, b.toString());
+ b.append('}');
}
+ Slog.d(TAG, b.toString());
if (mEnded) {
throw new IllegalStateException("Restore session already ended");
@@ -325,10 +321,8 @@ public class ActiveRestoreSession extends IRestoreSession.Stub {
public synchronized int restorePackage(String packageName, IRestoreObserver observer,
IBackupManagerMonitor monitor) {
- if (DEBUG) {
- Slog.v(TAG, "restorePackage pkg=" + packageName + " obs=" + observer
+ Slog.d(TAG, "restorePackage pkg=" + packageName + " obs=" + observer
+ "monitor=" + monitor);
- }
if (mEnded) {
throw new IllegalStateException("Restore session already ended");
@@ -379,18 +373,14 @@ public class ActiveRestoreSession extends IRestoreSession.Stub {
// Check whether there is data for it in the current dataset, falling back
// to the ancestral dataset if not.
long token = mBackupManagerService.getAvailableRestoreToken(packageName);
- if (DEBUG) {
- Slog.v(TAG, "restorePackage pkg=" + packageName
+ Slog.d(TAG, "restorePackage pkg=" + packageName
+ " token=" + Long.toHexString(token));
- }
// If we didn't come up with a place to look -- no ancestral dataset and
// the app has never been backed up from this device -- there's nothing
// to do but return failure.
if (token == 0) {
- if (DEBUG) {
- Slog.w(TAG, "No data available for this package; not restoring");
- }
+ Slog.w(TAG, "No data available for this package; not restoring");
return -1;
}
@@ -431,9 +421,9 @@ public class ActiveRestoreSession extends IRestoreSession.Stub {
Handler backupHandler = mBackupManagerService.getBackupHandler();
backupHandler.removeMessages(MSG_RESTORE_SESSION_TIMEOUT);
- UserBackupManagerService.BackupWakeLock wakelock = mBackupManagerService.getWakelock();
+ BackupWakeLock wakelock = mBackupManagerService.getWakeLock();
wakelock.acquire();
- if (MORE_DEBUG) {
+ if (DEBUG) {
Slog.d(TAG, callerLogString);
}
@@ -473,9 +463,7 @@ public class ActiveRestoreSession extends IRestoreSession.Stub {
}
public synchronized void endRestoreSession() {
- if (DEBUG) {
- Slog.d(TAG, "endRestoreSession");
- }
+ Slog.d(TAG, "endRestoreSession");
if (mTimedOut) {
Slog.i(TAG, "Session already timed out");
diff --git a/services/backup/java/com/android/server/backup/restore/AdbRestoreFinishedLatch.java b/services/backup/java/com/android/server/backup/restore/AdbRestoreFinishedLatch.java
index cfc0f203e6ec..cb491c6f384e 100644
--- a/services/backup/java/com/android/server/backup/restore/AdbRestoreFinishedLatch.java
+++ b/services/backup/java/com/android/server/backup/restore/AdbRestoreFinishedLatch.java
@@ -17,7 +17,6 @@
package com.android.server.backup.restore;
import static com.android.server.backup.BackupManagerService.DEBUG;
-import static com.android.server.backup.BackupManagerService.MORE_DEBUG;
import android.util.Slog;
@@ -72,7 +71,7 @@ public class AdbRestoreFinishedLatch implements BackupRestoreTask {
@Override
public void operationComplete(long result) {
- if (MORE_DEBUG) {
+ if (DEBUG) {
Slog.w(TAG, "adb onRestoreFinished() complete");
}
mLatch.countDown();
@@ -81,9 +80,7 @@ public class AdbRestoreFinishedLatch implements BackupRestoreTask {
@Override
public void handleCancel(boolean cancelAll) {
- if (DEBUG) {
- Slog.w(TAG, "adb onRestoreFinished() timed out");
- }
+ Slog.w(TAG, "adb onRestoreFinished() timed out");
mLatch.countDown();
mOperationStorage.removeOperation(mCurrentOpToken);
}
diff --git a/services/backup/java/com/android/server/backup/restore/FullRestoreEngine.java b/services/backup/java/com/android/server/backup/restore/FullRestoreEngine.java
index 237ffa3bdb21..19e565dab719 100644
--- a/services/backup/java/com/android/server/backup/restore/FullRestoreEngine.java
+++ b/services/backup/java/com/android/server/backup/restore/FullRestoreEngine.java
@@ -17,7 +17,6 @@
package com.android.server.backup.restore;
import static com.android.server.backup.BackupManagerService.DEBUG;
-import static com.android.server.backup.BackupManagerService.MORE_DEBUG;
import static com.android.server.backup.BackupManagerService.TAG;
import static com.android.server.backup.UserBackupManagerService.BACKUP_MANIFEST_FILENAME;
import static com.android.server.backup.UserBackupManagerService.BACKUP_METADATA_FILENAME;
@@ -215,12 +214,12 @@ public class FullRestoreEngine extends RestoreEngine {
FileMetadata info;
try {
- if (MORE_DEBUG) {
+ if (DEBUG) {
Slog.v(TAG, "Reading tar header for restoring file");
}
info = tarBackupReader.readTarHeaders();
if (info != null) {
- if (MORE_DEBUG) {
+ if (DEBUG) {
info.dump();
}
@@ -249,9 +248,7 @@ public class FullRestoreEngine extends RestoreEngine {
// Clean up the previous agent relationship if necessary,
// and let the observer know we're considering a new app.
if (mAgent != null) {
- if (DEBUG) {
- Slog.d(TAG, "Saw new package; finalizing old one");
- }
+ Slog.d(TAG, "Saw new package; finalizing old one");
// Now we're really done
tearDownPipes();
tearDownAgent(mTargetApp, mIsAdbRestore);
@@ -307,9 +304,7 @@ public class FullRestoreEngine extends RestoreEngine {
// If we're in accept-if-apk state, then the first file we
// see MUST be the apk.
if (info.domain.equals(FullBackup.APK_TREE_TOKEN)) {
- if (DEBUG) {
- Slog.d(TAG, "APK file; installing");
- }
+ Slog.d(TAG, "APK file; installing");
// Try to install the app.
String installerPackageName = mPackageInstallers.get(pkg);
boolean isSuccessfullyInstalled = RestoreUtils.installApk(
@@ -336,9 +331,7 @@ public class FullRestoreEngine extends RestoreEngine {
case ACCEPT:
if (info.domain.equals(FullBackup.APK_TREE_TOKEN)) {
- if (DEBUG) {
- Slog.d(TAG, "apk present but ACCEPT");
- }
+ Slog.d(TAG, "apk present but ACCEPT");
// we can take the data without the apk, so we
// *want* to do so. skip the apk by declaring this
// one file not-okay without changing the restore
@@ -364,11 +357,11 @@ public class FullRestoreEngine extends RestoreEngine {
// If the policy is satisfied, go ahead and set up to pipe the
// data to the agent.
- if (MORE_DEBUG && okay && mAgent != null) {
+ if (DEBUG && okay && mAgent != null) {
Slog.i(TAG, "Reusing existing agent instance");
}
if (okay && mAgent == null) {
- if (MORE_DEBUG) {
+ if (DEBUG) {
Slog.d(TAG, "Need to launch agent for " + pkg);
}
@@ -389,20 +382,18 @@ public class FullRestoreEngine extends RestoreEngine {
boolean forceClear = shouldForceClearAppDataOnFullRestore(
mTargetApp.packageName);
if (mTargetApp.backupAgentName == null || forceClear) {
- if (DEBUG) {
- Slog.d(TAG,
+ Slog.d(TAG,
"Clearing app data preparatory to full restore");
- }
mBackupManagerService.clearApplicationDataBeforeRestore(pkg);
} else {
- if (MORE_DEBUG) {
+ if (DEBUG) {
Slog.d(TAG, "backup agent ("
+ mTargetApp.backupAgentName + ") => no clear");
}
}
mClearedPackages.add(pkg);
} else {
- if (MORE_DEBUG) {
+ if (DEBUG) {
Slog.d(TAG, "We've initialized this app already; no clear "
+ "required");
}
@@ -459,10 +450,8 @@ public class FullRestoreEngine extends RestoreEngine {
OpType.RESTORE_WAIT);
if (FullBackup.OBB_TREE_TOKEN.equals(info.domain)) {
- if (DEBUG) {
- Slog.d(TAG, "Restoring OBB file for " + pkg
+ Slog.d(TAG, "Restoring OBB file for " + pkg
+ " : " + info.path);
- }
mObbConnection.restoreObbFile(pkg, mPipes[0],
info.size, info.type, info.path, info.mode,
info.mtime, token,
@@ -470,10 +459,8 @@ public class FullRestoreEngine extends RestoreEngine {
} else if (FullBackup.KEY_VALUE_DATA_TOKEN.equals(info.domain)) {
// This is only possible during adb restore.
// TODO: Refactor to clearly separate the flows.
- if (DEBUG) {
- Slog.d(TAG, "Restoring key-value file for " + pkg
+ Slog.d(TAG, "Restoring key-value file for " + pkg
+ " : " + info.path);
- }
// Set the version saved from manifest entry.
info.version = mAppVersion;
KeyValueAdbRestoreEngine restoreEngine =
@@ -483,7 +470,7 @@ public class FullRestoreEngine extends RestoreEngine {
mAgent, token);
new Thread(restoreEngine, "restore-key-value-runner").start();
} else {
- if (MORE_DEBUG) {
+ if (DEBUG) {
Slog.d(TAG, "Invoking agent to restore file " + info.path);
}
// fire up the app's agent listening on the socket. If
@@ -519,7 +506,7 @@ public class FullRestoreEngine extends RestoreEngine {
// Copy over the data if the agent is still good
if (okay) {
- if (MORE_DEBUG) {
+ if (DEBUG) {
Slog.v(TAG, " copying to restore agent: " + toCopy + " bytes");
}
boolean pipeOkay = true;
@@ -586,7 +573,7 @@ public class FullRestoreEngine extends RestoreEngine {
// dropped file, or an already-ignored package: skip to the
// next stream entry by reading and discarding this file.
if (!okay) {
- if (MORE_DEBUG) {
+ if (DEBUG) {
Slog.d(TAG, "[discarding file content]");
}
long bytesToConsume = (info.size + 511) & ~511;
@@ -603,9 +590,7 @@ public class FullRestoreEngine extends RestoreEngine {
}
}
} catch (IOException e) {
- if (DEBUG) {
- Slog.w(TAG, "io exception on restore socket read: " + e.getMessage());
- }
+ Slog.w(TAG, "io exception on restore socket read: " + e.getMessage());
logBMMEvent(BackupManagerMonitor.LOG_EVENT_ID_FAILED_TO_READ_DATA_FROM_TRANSPORT,
onlyPackage);
setResult(RestoreEngine.TRANSPORT_FAILURE);
@@ -614,7 +599,7 @@ public class FullRestoreEngine extends RestoreEngine {
// If we got here we're either running smoothly or we've finished
if (info == null) {
- if (MORE_DEBUG) {
+ if (DEBUG) {
Slog.i(TAG, "No [more] data for this package; tearing down");
}
tearDownPipes();
@@ -713,7 +698,7 @@ public class FullRestoreEngine extends RestoreEngine {
mBackupManagerService.prepareOperationTimeout(
token, fullBackupAgentTimeoutMillis, latch, OpType.RESTORE_WAIT);
if (mTargetApp.processName.equals("system")) {
- if (MORE_DEBUG) {
+ if (DEBUG) {
Slog.d(TAG, "system agent - restoreFinished on thread");
}
Runnable runner = new AdbRestoreFinishedRunnable(mAgent, token,
@@ -749,7 +734,7 @@ public class FullRestoreEngine extends RestoreEngine {
return true;
}
if (FullBackup.CACHE_TREE_TOKEN.equals(info.domain)) {
- if (MORE_DEBUG) {
+ if (DEBUG) {
Slog.i(TAG, "Dropping cache file path " + info.path);
}
return false;
@@ -761,7 +746,7 @@ public class FullRestoreEngine extends RestoreEngine {
// API. Respect the no-backup intention and don't let the data get to
// the app.
if (info.path.startsWith("no_backup/")) {
- if (MORE_DEBUG) {
+ if (DEBUG) {
Slog.i(TAG, "Dropping no_backup file path " + info.path);
}
return false;
@@ -774,7 +759,7 @@ public class FullRestoreEngine extends RestoreEngine {
private static boolean isCanonicalFilePath(String path) {
if (path.contains("..") || path.contains("//")) {
- if (MORE_DEBUG) {
+ if (DEBUG) {
Slog.w(TAG, "Dropping invalid path " + path);
}
return false;
diff --git a/services/backup/java/com/android/server/backup/restore/PerformAdbRestoreTask.java b/services/backup/java/com/android/server/backup/restore/PerformAdbRestoreTask.java
index 2374dee7755e..5a3494c2bc6e 100644
--- a/services/backup/java/com/android/server/backup/restore/PerformAdbRestoreTask.java
+++ b/services/backup/java/com/android/server/backup/restore/PerformAdbRestoreTask.java
@@ -17,7 +17,6 @@
package com.android.server.backup.restore;
import static com.android.server.backup.BackupManagerService.DEBUG;
-import static com.android.server.backup.BackupManagerService.MORE_DEBUG;
import static com.android.server.backup.BackupManagerService.TAG;
import static com.android.server.backup.BackupPasswordManager.PBKDF_CURRENT;
import static com.android.server.backup.BackupPasswordManager.PBKDF_FALLBACK;
@@ -93,9 +92,7 @@ public class PerformAdbRestoreTask implements Runnable {
FileInputStream rawInStream = null;
try {
if (!mBackupManagerService.backupPasswordMatches(mCurrentPassword)) {
- if (DEBUG) {
- Slog.w(TAG, "Backup password mismatch; aborting");
- }
+ Slog.w(TAG, "Backup password mismatch; aborting");
return;
}
@@ -122,7 +119,7 @@ public class PerformAdbRestoreTask implements Runnable {
tarInputStream);
mEngineThread.run();
- if (MORE_DEBUG) {
+ if (DEBUG) {
Slog.v(TAG, "Done consuming input tarfile.");
}
} catch (Exception e) {
@@ -144,7 +141,7 @@ public class PerformAdbRestoreTask implements Runnable {
mObbConnection.tearDown();
mObserver = FullBackupRestoreObserverUtils.sendEndRestore(mObserver);
Slog.d(TAG, "Full restore pass complete.");
- mBackupManagerService.getWakelock().release();
+ mBackupManagerService.getWakeLock().release();
}
}
diff --git a/services/backup/java/com/android/server/backup/restore/PerformUnifiedRestoreTask.java b/services/backup/java/com/android/server/backup/restore/PerformUnifiedRestoreTask.java
index ec9d340abe45..707ae03b3964 100644
--- a/services/backup/java/com/android/server/backup/restore/PerformUnifiedRestoreTask.java
+++ b/services/backup/java/com/android/server/backup/restore/PerformUnifiedRestoreTask.java
@@ -19,7 +19,6 @@ package com.android.server.backup.restore;
import static android.app.backup.BackupAnnotations.OperationType.RESTORE;
import static com.android.server.backup.BackupManagerService.DEBUG;
-import static com.android.server.backup.BackupManagerService.MORE_DEBUG;
import static com.android.server.backup.BackupManagerService.TAG;
import static com.android.server.backup.UserBackupManagerService.KEY_WIDGET_STATE;
import static com.android.server.backup.UserBackupManagerService.PACKAGE_MANAGER_SENTINEL;
@@ -253,9 +252,7 @@ public class PerformUnifiedRestoreTask implements BackupRestoreTask {
mUserId,
backupEligibilityRules);
filterSet = packagesToNames(apps);
- if (DEBUG) {
- Slog.i(TAG, "Full restore; asking about " + filterSet.length + " apps");
- }
+ Slog.i(TAG, "Full restore; asking about " + filterSet.length + " apps");
}
mAcceptSet = new ArrayList<>(filterSet.length);
@@ -315,7 +312,7 @@ public class PerformUnifiedRestoreTask implements BackupRestoreTask {
}
}
- if (MORE_DEBUG) {
+ if (DEBUG) {
Slog.v(TAG, "Restore; accept set size is " + mAcceptSet.size());
for (PackageInfo info : mAcceptSet) {
Slog.v(TAG, " " + info.packageName);
@@ -335,7 +332,7 @@ public class PerformUnifiedRestoreTask implements BackupRestoreTask {
// Execute one tick of whatever state machine the task implements
@Override
public void execute() {
- if (MORE_DEBUG) {
+ if (DEBUG) {
Slog.v(TAG, "*** Executing restore step " + mState);
}
switch (mState) {
@@ -517,7 +514,7 @@ public class PerformUnifiedRestoreTask implements BackupRestoreTask {
mCurrentPackage.applicationInfo.uid = Process.SYSTEM_UID;
mPmAgent = backupManagerService.makeMetadataAgent(null);
mAgent = IBackupAgent.Stub.asInterface(mPmAgent.onBind());
- if (MORE_DEBUG) {
+ if (DEBUG) {
Slog.v(TAG, "initiating restore for PMBA");
}
initiateOneRestore(mCurrentPackage, 0);
@@ -596,9 +593,7 @@ public class PerformUnifiedRestoreTask implements BackupRestoreTask {
return;
} else if (mRestoreDescription == RestoreDescription.NO_MORE_PACKAGES) {
// Yay we've reached the end cleanly
- if (DEBUG) {
- Slog.v(TAG, "No more packages; finishing restore");
- }
+ Slog.d(TAG, "No more packages; finishing restore");
int millis = (int) (SystemClock.elapsedRealtime() - mStartRealtime);
EventLog.writeEvent(
EventLogTags.RESTORE_SUCCESS, mRestoreAttemptedAppsCount, millis);
@@ -606,9 +601,7 @@ public class PerformUnifiedRestoreTask implements BackupRestoreTask {
return;
}
- if (DEBUG) {
- Slog.i(TAG, "Next restore package: " + mRestoreDescription);
- }
+ Slog.i(TAG, "Next restore package: " + mRestoreDescription);
mRestoreAttemptedAppsCount++;
sendOnRestorePackage(mRestoreAttemptedAppsCount, pkgName);
@@ -715,7 +708,7 @@ public class PerformUnifiedRestoreTask implements BackupRestoreTask {
}
}
- if (MORE_DEBUG) {
+ if (DEBUG) {
Slog.v(
TAG,
"Package "
@@ -776,7 +769,7 @@ public class PerformUnifiedRestoreTask implements BackupRestoreTask {
/* extras= */ addRestoreOperationTypeToEvent(/* extras= */ null));
if (mCurrentPackage.applicationInfo.backupAgentName == null
|| "".equals(mCurrentPackage.applicationInfo.backupAgentName)) {
- if (MORE_DEBUG) {
+ if (DEBUG) {
Slog.i(
TAG,
"Data exists for package "
@@ -852,9 +845,7 @@ public class PerformUnifiedRestoreTask implements BackupRestoreTask {
private void initiateOneRestore(PackageInfo app, long appVersionCode) {
final String packageName = app.packageName;
- if (DEBUG) {
- Slog.d(TAG, "initiateOneRestore packageName=" + packageName);
- }
+ Slog.d(TAG, "initiateOneRestore packageName=" + packageName);
// !!! TODO: get the dirs from the transport
mBackupDataName = new File(backupManagerService.getDataDir(), packageName + ".restore");
@@ -1010,9 +1001,7 @@ public class PerformUnifiedRestoreTask implements BackupRestoreTask {
// is this a special key?
if (key.equals(KEY_WIDGET_STATE)) {
- if (DEBUG) {
- Slog.i(TAG, "Restoring widget state for " + packageName);
- }
+ Slog.i(TAG, "Restoring widget state for " + packageName);
mWidgetData = new byte[size];
in.readEntityData(mWidgetData, 0, size);
} else {
@@ -1044,7 +1033,7 @@ public class PerformUnifiedRestoreTask implements BackupRestoreTask {
/* extras= */ addRestoreOperationTypeToEvent(/* extras= */ null));
try {
StreamFeederThread feeder = new StreamFeederThread();
- if (MORE_DEBUG) {
+ if (DEBUG) {
Slog.i(
TAG,
"Spinning threads for stream restore of " + mCurrentPackage.packageName);
@@ -1070,9 +1059,7 @@ public class PerformUnifiedRestoreTask implements BackupRestoreTask {
// state RESTORE_FINISHED : provide the "no more data" signpost callback at the end
private void restoreFinished() {
- if (DEBUG) {
- Slog.d(TAG, "restoreFinished packageName=" + mCurrentPackage.packageName);
- }
+ Slog.d(TAG, "restoreFinished packageName=" + mCurrentPackage.packageName);
try {
long restoreAgentFinishedTimeoutMillis =
mAgentTimeoutParameters.getRestoreAgentFinishedTimeoutMillis();
@@ -1167,7 +1154,7 @@ public class PerformUnifiedRestoreTask implements BackupRestoreTask {
if (result > 0) {
// The transport wrote this many bytes of restore data to the
// pipe, so pass it along to the engine.
- if (MORE_DEBUG) {
+ if (DEBUG) {
Slog.v(TAG, " <- transport provided chunk size " + result);
}
if (result > bufferSize) {
@@ -1179,13 +1166,13 @@ public class PerformUnifiedRestoreTask implements BackupRestoreTask {
int n = transportIn.read(buffer, 0, toCopy);
engineOut.write(buffer, 0, n);
toCopy -= n;
- if (MORE_DEBUG) {
+ if (DEBUG) {
Slog.v(TAG, " -> wrote " + n + " to engine, left=" + toCopy);
}
}
} else if (result == BackupTransport.NO_MORE_DATA) {
// Clean finish. Wind up and we're done!
- if (MORE_DEBUG) {
+ if (DEBUG) {
Slog.i(
TAG,
"Got clean full-restore EOF for "
@@ -1213,7 +1200,7 @@ public class PerformUnifiedRestoreTask implements BackupRestoreTask {
status = result;
}
}
- if (MORE_DEBUG) {
+ if (DEBUG) {
Slog.v(TAG, "Done copying to engine, falling through");
}
} catch (IOException e) {
@@ -1322,9 +1309,7 @@ public class PerformUnifiedRestoreTask implements BackupRestoreTask {
@Override
public void handleCancel(boolean cancelAll) {
mOperationStorage.removeOperation(mEphemeralOpToken);
- if (DEBUG) {
- Slog.w(TAG, "Full-data restore target timed out; shutting down");
- }
+ Slog.w(TAG, "Full-data restore target timed out; shutting down");
Bundle monitoringExtras = addRestoreOperationTypeToEvent(/* extras= */ null);
mBackupManagerMonitorEventSender.monitorEvent(
BackupManagerMonitor.LOG_EVENT_ID_FULL_RESTORE_TIMEOUT,
@@ -1342,7 +1327,7 @@ public class PerformUnifiedRestoreTask implements BackupRestoreTask {
// state FINAL : tear everything down and we're done.
private void finalizeRestore() {
- if (MORE_DEBUG) {
+ if (DEBUG) {
Slog.d(TAG, "finishing restore mObserver=" + mObserver);
}
@@ -1366,7 +1351,7 @@ public class PerformUnifiedRestoreTask implements BackupRestoreTask {
// If we have a PM token, we must under all circumstances be sure to
// handshake when we've finished.
if (mPmToken > 0) {
- if (MORE_DEBUG) {
+ if (DEBUG) {
Slog.v(TAG, "finishing PM token " + mPmToken);
}
try {
@@ -1404,9 +1389,7 @@ public class PerformUnifiedRestoreTask implements BackupRestoreTask {
synchronized (backupManagerService.getPendingRestores()) {
if (backupManagerService.getPendingRestores().size() > 0) {
- if (DEBUG) {
- Slog.d(TAG, "Starting next pending restore.");
- }
+ Slog.d(TAG, "Starting next pending restore.");
PerformUnifiedRestoreTask task = backupManagerService.getPendingRestores().remove();
backupManagerService
.getBackupHandler()
@@ -1417,7 +1400,7 @@ public class PerformUnifiedRestoreTask implements BackupRestoreTask {
} else {
backupManagerService.setRestoreInProgress(false);
- if (MORE_DEBUG) {
+ if (DEBUG) {
Slog.d(TAG, "No pending restores.");
}
}
@@ -1499,7 +1482,7 @@ public class PerformUnifiedRestoreTask implements BackupRestoreTask {
public void operationComplete(long unusedResult) {
mOperationStorage.removeOperation(mEphemeralOpToken);
- if (MORE_DEBUG) {
+ if (DEBUG) {
Slog.i(
TAG,
"operationComplete() during restore: target="
@@ -1590,7 +1573,7 @@ public class PerformUnifiedRestoreTask implements BackupRestoreTask {
@VisibleForTesting
void executeNextState(UnifiedRestoreState nextState) {
- if (MORE_DEBUG) {
+ if (DEBUG) {
Slog.i(TAG, " => executing next step on " + this + " nextState=" + nextState);
}
mState = nextState;
@@ -1689,25 +1672,19 @@ public class PerformUnifiedRestoreTask implements BackupRestoreTask {
// (and not in the denylist)
// - The package has restoreAnyVersion set to true and is not part of the denylist
if (mVToUDenylist.contains(mCurrentPackage.packageName)){
- if (DEBUG) {
- Slog.i(TAG, mCurrentPackage.packageName + " : Package is in V to U denylist");
- }
+ Slog.i(TAG, mCurrentPackage.packageName + " : Package is in V to U denylist");
return false;
} else if ((mCurrentPackage.applicationInfo.flags
& ApplicationInfo.FLAG_RESTORE_ANY_VERSION)
== 0) {
// package has restoreAnyVersion set to false
- if (DEBUG) {
- Slog.i(TAG, mCurrentPackage.packageName
+ Slog.i(TAG, mCurrentPackage.packageName
+ " : Package has restoreAnyVersion=false and is in V to U allowlist");
- }
return mVToUAllowlist.contains(mCurrentPackage.packageName);
} else {
// package has restoreAnyVersion set to true and is nor in denylist
- if (DEBUG) {
- Slog.i(TAG, mCurrentPackage.packageName
+ Slog.i(TAG, mCurrentPackage.packageName
+ " : Package has restoreAnyVersion=true and is not in V to U denylist");
- }
return true;
}
}
diff --git a/services/backup/java/com/android/server/backup/utils/BackupEligibilityRules.java b/services/backup/java/com/android/server/backup/utils/BackupEligibilityRules.java
index 508b62cd83f0..30243013a79b 100644
--- a/services/backup/java/com/android/server/backup/utils/BackupEligibilityRules.java
+++ b/services/backup/java/com/android/server/backup/utils/BackupEligibilityRules.java
@@ -16,7 +16,6 @@
package com.android.server.backup.utils;
-import static com.android.server.backup.BackupManagerService.MORE_DEBUG;
import static com.android.server.backup.BackupManagerService.TAG;
import static com.android.server.backup.UserBackupManagerService.PACKAGE_MANAGER_SENTINEL;
import static com.android.server.backup.UserBackupManagerService.SETTINGS_PACKAGE;
@@ -46,6 +45,7 @@ import android.util.Slog;
import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.util.ArrayUtils;
+import com.android.server.backup.BackupManagerService;
import com.android.server.backup.SetUtils;
import com.android.server.backup.transport.BackupTransportClient;
import com.android.server.backup.transport.TransportConnection;
@@ -413,8 +413,8 @@ public class BackupEligibilityRules {
// partition will be signed with the device's platform certificate, so on
// different phones the same system app will have different signatures.)
if ((target.applicationInfo.flags & ApplicationInfo.FLAG_SYSTEM) != 0) {
- if (MORE_DEBUG) {
- Slog.v(TAG, "System app " + target.packageName + " - skipping sig check");
+ if (BackupManagerService.DEBUG) {
+ Slog.d(TAG, "System app " + target.packageName + " - skipping sig check");
}
return true;
}
@@ -431,10 +431,8 @@ public class BackupEligibilityRules {
return false;
}
- if (DEBUG) {
- Slog.v(TAG, "signaturesMatch(): stored=" + Arrays.toString(storedSigs)
+ Slog.d(TAG, "signaturesMatch(): stored=" + Arrays.toString(storedSigs)
+ " device=" + Arrays.toString(signingInfo.getApkContentsSigners()));
- }
final int nStored = storedSigs.length;
if (nStored == 1) {
diff --git a/services/backup/java/com/android/server/backup/utils/BackupManagerMonitorEventSender.java b/services/backup/java/com/android/server/backup/utils/BackupManagerMonitorEventSender.java
index 549d08c03933..c4519b1173eb 100644
--- a/services/backup/java/com/android/server/backup/utils/BackupManagerMonitorEventSender.java
+++ b/services/backup/java/com/android/server/backup/utils/BackupManagerMonitorEventSender.java
@@ -22,7 +22,6 @@ import static android.app.backup.BackupManagerMonitor.EXTRA_LOG_OPERATION_TYPE;
import static android.app.backup.BackupManagerMonitor.LOG_EVENT_CATEGORY_AGENT;
import static android.app.backup.BackupManagerMonitor.LOG_EVENT_ID_AGENT_LOGGING_RESULTS;
-import static com.android.server.backup.BackupManagerService.DEBUG;
import static com.android.server.backup.BackupManagerService.TAG;
import android.annotation.Nullable;
@@ -115,15 +114,11 @@ public class BackupManagerMonitorEventSender {
if (mMonitor != null) {
mMonitor.onEvent(bundle);
} else {
- if (DEBUG) {
- Slog.w(TAG, "backup manager monitor is null unable to send event");
- }
+ Slog.w(TAG, "backup manager monitor is null unable to send event");
}
} catch (RemoteException e) {
mMonitor = null;
- if (DEBUG) {
- Slog.w(TAG, "backup manager monitor went away");
- }
+ Slog.w(TAG, "backup manager monitor went away");
}
}
diff --git a/services/backup/java/com/android/server/backup/utils/BackupObserverUtils.java b/services/backup/java/com/android/server/backup/utils/BackupObserverUtils.java
index c0cf2ef86920..95e6cfc2f252 100644
--- a/services/backup/java/com/android/server/backup/utils/BackupObserverUtils.java
+++ b/services/backup/java/com/android/server/backup/utils/BackupObserverUtils.java
@@ -16,7 +16,6 @@
package com.android.server.backup.utils;
-import static com.android.server.backup.BackupManagerService.DEBUG;
import static com.android.server.backup.BackupManagerService.TAG;
import android.app.backup.BackupProgress;
@@ -38,9 +37,7 @@ public class BackupObserverUtils {
try {
observer.onUpdate(packageName, progress);
} catch (RemoteException e) {
- if (DEBUG) {
- Slog.w(TAG, "Backup observer went away: onUpdate");
- }
+ Slog.w(TAG, "Backup observer went away: onUpdate");
}
}
}
@@ -55,9 +52,7 @@ public class BackupObserverUtils {
try {
observer.onResult(packageName, status);
} catch (RemoteException e) {
- if (DEBUG) {
- Slog.w(TAG, "Backup observer went away: onResult");
- }
+ Slog.w(TAG, "Backup observer went away: onResult");
}
}
}
@@ -71,9 +66,7 @@ public class BackupObserverUtils {
try {
observer.backupFinished(status);
} catch (RemoteException e) {
- if (DEBUG) {
- Slog.w(TAG, "Backup observer went away: backupFinished");
- }
+ Slog.w(TAG, "Backup observer went away: backupFinished");
}
}
}
diff --git a/services/backup/java/com/android/server/backup/utils/RestoreUtils.java b/services/backup/java/com/android/server/backup/utils/RestoreUtils.java
index 5a8533a2daee..23e5bb965d7a 100644
--- a/services/backup/java/com/android/server/backup/utils/RestoreUtils.java
+++ b/services/backup/java/com/android/server/backup/utils/RestoreUtils.java
@@ -16,7 +16,6 @@
package com.android.server.backup.utils;
-import static com.android.server.backup.BackupManagerService.DEBUG;
import static com.android.server.backup.BackupManagerService.TAG;
import android.content.Context;
@@ -78,9 +77,7 @@ public class RestoreUtils {
int userId) {
boolean okay = true;
- if (DEBUG) {
- Slog.d(TAG, "Installing from backup: " + info.packageName);
- }
+ Slog.d(TAG, "Installing from backup: " + info.packageName);
try {
LocalIntentReceiver receiver = new LocalIntentReceiver();
diff --git a/services/backup/java/com/android/server/backup/utils/TarBackupReader.java b/services/backup/java/com/android/server/backup/utils/TarBackupReader.java
index 22eefb3b73c2..44b536adcf31 100644
--- a/services/backup/java/com/android/server/backup/utils/TarBackupReader.java
+++ b/services/backup/java/com/android/server/backup/utils/TarBackupReader.java
@@ -36,7 +36,6 @@ import static android.app.backup.BackupManagerMonitor.LOG_EVENT_ID_VERSIONS_MATC
import static android.app.backup.BackupManagerMonitor.LOG_EVENT_ID_VERSION_OF_BACKUP_OLDER;
import static com.android.server.backup.BackupManagerService.DEBUG;
-import static com.android.server.backup.BackupManagerService.MORE_DEBUG;
import static com.android.server.backup.BackupManagerService.TAG;
import static com.android.server.backup.UserBackupManagerService.BACKUP_MANIFEST_FILENAME;
import static com.android.server.backup.UserBackupManagerService.BACKUP_MANIFEST_VERSION;
@@ -175,7 +174,7 @@ public class TarBackupReader {
}
case 0: {
// presume EOF
- if (MORE_DEBUG) {
+ if (DEBUG) {
Slog.w(TAG, "Saw type=0 in tar header block, info=" + info);
}
return null;
@@ -195,9 +194,7 @@ public class TarBackupReader {
info.path = info.path.substring(FullBackup.SHARED_PREFIX.length());
info.packageName = SHARED_BACKUP_AGENT_PACKAGE;
info.domain = FullBackup.SHARED_STORAGE_TOKEN;
- if (DEBUG) {
- Slog.i(TAG, "File in shared storage: " + info.path);
- }
+ Slog.i(TAG, "File in shared storage: " + info.path);
} else if (FullBackup.APPS_PREFIX.regionMatches(0,
info.path, 0, FullBackup.APPS_PREFIX.length())) {
// App content! Parse out the package name and domain
@@ -227,11 +224,9 @@ public class TarBackupReader {
}
}
} catch (IOException e) {
+ Slog.e(TAG, "Parse error in header: " + e.getMessage());
if (DEBUG) {
- Slog.e(TAG, "Parse error in header: " + e.getMessage());
- if (MORE_DEBUG) {
- hexLog(block);
- }
+ hexLog(block);
}
throw e;
}
@@ -254,20 +249,20 @@ public class TarBackupReader {
if (size <= 0) {
throw new IllegalArgumentException("size must be > 0");
}
- if (MORE_DEBUG) {
+ if (DEBUG) {
Slog.i(TAG, " ... readExactly(" + size + ") called");
}
int soFar = 0;
while (soFar < size) {
int nRead = in.read(buffer, offset + soFar, size - soFar);
if (nRead <= 0) {
- if (MORE_DEBUG) {
+ if (DEBUG) {
Slog.w(TAG, "- wanted exactly " + size + " but got only " + soFar);
}
break;
}
soFar += nRead;
- if (MORE_DEBUG) {
+ if (DEBUG) {
Slog.v(TAG, " + got " + nRead + "; now wanting " + (size - soFar));
}
}
@@ -290,7 +285,7 @@ public class TarBackupReader {
}
byte[] buffer = new byte[(int) info.size];
- if (MORE_DEBUG) {
+ if (DEBUG) {
Slog.i(TAG,
" readAppManifestAndReturnSignatures() looking for " + info.size + " bytes");
}
@@ -514,10 +509,7 @@ public class TarBackupReader {
null);
}
} else {
- if (DEBUG) {
- Slog.i(TAG,
- "Restore manifest from " + info.packageName + " but allowBackup=false");
- }
+ Slog.i(TAG, "Restore manifest from " + info.packageName + " but allowBackup=false");
mBackupManagerMonitorEventSender.monitorEvent(
LOG_EVENT_ID_FULL_RESTORE_ALLOW_BACKUP_FALSE,
pkgInfo,
@@ -529,10 +521,8 @@ public class TarBackupReader {
// the restore properly only if the dataset provides the
// apk file and we can successfully install it.
if (allowApks) {
- if (DEBUG) {
- Slog.i(TAG, "Package " + info.packageName
- + " not installed; requiring apk in dataset");
- }
+ Slog.i(TAG,
+ "Package " + info.packageName + " not installed; requiring apk in dataset");
policy = RestorePolicy.ACCEPT_IF_APK;
} else {
policy = RestorePolicy.IGNORE;
@@ -570,7 +560,7 @@ public class TarBackupReader {
long partial = (size + 512) % 512;
if (partial > 0) {
final int needed = 512 - (int) partial;
- if (MORE_DEBUG) {
+ if (DEBUG) {
Slog.i(TAG, "Skipping tar padding: " + needed + " bytes");
}
byte[] buffer = new byte[needed];
@@ -619,7 +609,7 @@ public class TarBackupReader {
}
switch (token) {
case BACKUP_WIDGET_METADATA_TOKEN: {
- if (MORE_DEBUG) {
+ if (DEBUG) {
Slog.i(TAG, "Got widget metadata for " + info.packageName);
}
mWidgetData = new byte[size];
@@ -627,10 +617,9 @@ public class TarBackupReader {
break;
}
default: {
- if (DEBUG) {
- Slog.i(TAG, "Ignoring metadata blob " + Integer.toHexString(token)
- + " for " + info.packageName);
- }
+ Slog.i(TAG,
+ "Ignoring metadata blob " + Integer.toHexString(token) + " for "
+ + info.packageName);
in.skipBytes(size);
break;
}
@@ -759,9 +748,7 @@ public class TarBackupReader {
} else if ("size".equals(keyStr)) {
info.size = Long.parseLong(valStr);
} else {
- if (DEBUG) {
- Slog.i(TAG, "Unhandled pax key: " + key);
- }
+ Slog.i(TAG, "Unhandled pax key: " + key);
}
offset += linelen;
diff --git a/services/robotests/backup/src/com/android/server/backup/BackupManagerServiceRoboTest.java b/services/robotests/backup/src/com/android/server/backup/BackupManagerServiceRoboTest.java
index b80d68de0f2e..ba64ed44cbb5 100644
--- a/services/robotests/backup/src/com/android/server/backup/BackupManagerServiceRoboTest.java
+++ b/services/robotests/backup/src/com/android/server/backup/BackupManagerServiceRoboTest.java
@@ -1518,14 +1518,13 @@ public class BackupManagerServiceRoboTest {
}
/**
- * Test verifying that {@link BackupManagerService#MORE_DEBUG} is set to {@code false}. This is
+ * Test verifying that {@link BackupManagerService#DEBUG} is set to {@code false}. This is
* specifically to prevent overloading the logs in production.
*/
@Test
- public void testMoreDebug_isFalse() throws Exception {
- boolean moreDebug = BackupManagerService.MORE_DEBUG;
-
- assertThat(moreDebug).isFalse();
+ public void testDebug_isFalse() {
+ boolean debug = BackupManagerService.DEBUG;
+ assertThat(debug).isFalse();
}
/** Test that the constructor handles {@code null} parameters. */
diff --git a/services/robotests/backup/src/com/android/server/backup/keyvalue/KeyValueBackupReporterTest.java b/services/robotests/backup/src/com/android/server/backup/keyvalue/KeyValueBackupReporterTest.java
index 2db2438b9a21..2749b0acf193 100644
--- a/services/robotests/backup/src/com/android/server/backup/keyvalue/KeyValueBackupReporterTest.java
+++ b/services/robotests/backup/src/com/android/server/backup/keyvalue/KeyValueBackupReporterTest.java
@@ -57,8 +57,8 @@ public class KeyValueBackupReporterTest {
}
@Test
- public void testMoreDebug_isFalse() {
- assertThat(KeyValueBackupReporter.MORE_DEBUG).isFalse();
+ public void testDebug_isFalse() {
+ assertThat(KeyValueBackupReporter.DEBUG).isFalse();
}
@Test
diff --git a/services/robotests/backup/src/com/android/server/backup/keyvalue/KeyValueBackupTaskTest.java b/services/robotests/backup/src/com/android/server/backup/keyvalue/KeyValueBackupTaskTest.java
index de16b7ee8126..2dd16f68dc56 100644
--- a/services/robotests/backup/src/com/android/server/backup/keyvalue/KeyValueBackupTaskTest.java
+++ b/services/robotests/backup/src/com/android/server/backup/keyvalue/KeyValueBackupTaskTest.java
@@ -109,6 +109,7 @@ import com.android.server.EventLogTags;
import com.android.server.LocalServices;
import com.android.server.backup.BackupAgentConnectionManager;
import com.android.server.backup.BackupRestoreTask;
+import com.android.server.backup.BackupWakeLock;
import com.android.server.backup.DataChangedJournal;
import com.android.server.backup.KeyValueBackupJob;
import com.android.server.backup.PackageManagerBackupAgent;
@@ -201,7 +202,7 @@ public class KeyValueBackupTaskTest {
private TransportData mTransport;
private ShadowLooper mShadowBackupLooper;
private Handler mBackupHandler;
- private UserBackupManagerService.BackupWakeLock mWakeLock;
+ private BackupWakeLock mWakeLock;
private KeyValueBackupReporter mReporter;
private PackageManager mPackageManager;
private ShadowPackageManager mShadowPackageManager;
@@ -238,7 +239,7 @@ public class KeyValueBackupTaskTest {
mPackageManager = mApplication.getPackageManager();
mShadowPackageManager = shadowOf(mPackageManager);
- mWakeLock = createBackupWakeLock(mApplication);
+ mWakeLock = spy(createBackupWakeLock(mApplication));
mBackupManager = spy(FakeIBackupManager.class);
// Needed to be able to use a real BMS instead of a mock
@@ -737,17 +738,16 @@ public class KeyValueBackupTaskTest {
// In production (for non-system agents) the call is asynchronous, but here is
// synchronous, so it's fine to verify here.
// Verify has set work source and hasn't unset yet.
- verify(mBackupManagerService)
- .setWorkSource(
- argThat(workSource -> workSource.getUid(0) == PACKAGE_1.uid));
- verify(mBackupManagerService, never()).setWorkSource(null);
+ verify(mWakeLock).setWorkSource(
+ argThat(workSource -> workSource.getUid(0) == PACKAGE_1.uid));
+ verify(mWakeLock, never()).setWorkSource(null);
});
KeyValueBackupTask task = createKeyValueBackupTask(transportMock, PACKAGE_1);
runTask(task);
// More verifications inside agent call above
- verify(mBackupManagerService).setWorkSource(null);
+ verify(mWakeLock).setWorkSource(null);
}
/**
@@ -765,7 +765,7 @@ public class KeyValueBackupTaskTest {
runTask(task);
- verify(mBackupManagerService).setWorkSource(null);
+ verify(mWakeLock).setWorkSource(null);
verify(mObserver).onResult(PACKAGE_1.packageName, ERROR_AGENT_FAILURE);
verify(mObserver).backupFinished(SUCCESS);
assertBackupPendingFor(PACKAGE_1);
@@ -798,7 +798,7 @@ public class KeyValueBackupTaskTest {
runTask(task);
- verify(mBackupManagerService).setWorkSource(null);
+ verify(mWakeLock).setWorkSource(null);
verify(mObserver).onResult(PACKAGE_1.packageName, ERROR_AGENT_FAILURE);
verify(mObserver).backupFinished(SUCCESS);
assertBackupPendingFor(PACKAGE_1);
@@ -815,7 +815,7 @@ public class KeyValueBackupTaskTest {
runTask(task);
- verify(mBackupManagerService).setWorkSource(null);
+ verify(mWakeLock).setWorkSource(null);
verify(mObserver).onResult(PACKAGE_1.packageName, ERROR_AGENT_FAILURE);
verify(mObserver).backupFinished(SUCCESS);
assertBackupPendingFor(PACKAGE_1);
@@ -833,7 +833,7 @@ public class KeyValueBackupTaskTest {
runTask(task);
- verify(mBackupManagerService).setWorkSource(null);
+ verify(mWakeLock).setWorkSource(null);
verify(mObserver).onResult(PACKAGE_1.packageName, ERROR_AGENT_FAILURE);
verify(mObserver).backupFinished(SUCCESS);
assertBackupPendingFor(PACKAGE_1);
@@ -864,7 +864,7 @@ public class KeyValueBackupTaskTest {
runTask(task);
- verify(mBackupManagerService).setWorkSource(null);
+ verify(mWakeLock).setWorkSource(null);
verify(mBackupAgentConnectionManager).unbindAgent(argThat(applicationInfo(PACKAGE_1)),
eq(false));
}
@@ -918,7 +918,7 @@ public class KeyValueBackupTaskTest {
runTask(task);
- verify(mBackupManagerService).setWorkSource(null);
+ verify(mWakeLock).setWorkSource(null);
}
@Test
diff --git a/services/robotests/backup/src/com/android/server/backup/restore/ActiveRestoreSessionTest.java b/services/robotests/backup/src/com/android/server/backup/restore/ActiveRestoreSessionTest.java
index 73ddbe8cec7c..ffec68aa4082 100644
--- a/services/robotests/backup/src/com/android/server/backup/restore/ActiveRestoreSessionTest.java
+++ b/services/robotests/backup/src/com/android/server/backup/restore/ActiveRestoreSessionTest.java
@@ -51,6 +51,7 @@ import android.platform.test.annotations.Presubmit;
import com.android.server.EventLogTags;
import com.android.server.backup.BackupAgentTimeoutParameters;
+import com.android.server.backup.BackupWakeLock;
import com.android.server.backup.OperationStorage;
import com.android.server.backup.TransportManager;
import com.android.server.backup.UserBackupManagerService;
@@ -103,7 +104,7 @@ public class ActiveRestoreSessionTest {
@Mock private OperationStorage mOperationStorage;
private ShadowLooper mShadowBackupLooper;
private ShadowApplication mShadowApplication;
- private UserBackupManagerService.BackupWakeLock mWakeLock;
+ private BackupWakeLock mWakeLock;
private TransportData mTransport;
private RestoreSet mRestoreSet1;
private RestoreSet mRestoreSet2;
diff --git a/services/robotests/backup/src/com/android/server/backup/testing/BackupManagerServiceTestUtils.java b/services/robotests/backup/src/com/android/server/backup/testing/BackupManagerServiceTestUtils.java
index 4d04c8b76fc7..10d23dc18e58 100644
--- a/services/robotests/backup/src/com/android/server/backup/testing/BackupManagerServiceTestUtils.java
+++ b/services/robotests/backup/src/com/android/server/backup/testing/BackupManagerServiceTestUtils.java
@@ -39,6 +39,7 @@ import android.util.Log;
import com.android.server.backup.BackupAgentTimeoutParameters;
import com.android.server.backup.BackupManagerConstants;
import com.android.server.backup.BackupManagerService;
+import com.android.server.backup.BackupWakeLock;
import com.android.server.backup.TransportManager;
import com.android.server.backup.UserBackupManagerService;
@@ -114,7 +115,7 @@ public class BackupManagerServiceTestUtils {
TransportManager transportManager,
PackageManager packageManager,
Handler backupHandler,
- UserBackupManagerService.BackupWakeLock wakeLock,
+ BackupWakeLock wakeLock,
BackupAgentTimeoutParameters agentTimeoutParameters) {
when(backupManagerService.getContext()).thenReturn(application);
@@ -123,7 +124,7 @@ public class BackupManagerServiceTestUtils {
when(backupManagerService.getBackupHandler()).thenReturn(backupHandler);
when(backupManagerService.getQueueLock()).thenReturn(new Object());
when(backupManagerService.getActivityManager()).thenReturn(mock(IActivityManager.class));
- when(backupManagerService.getWakelock()).thenReturn(wakeLock);
+ when(backupManagerService.getWakeLock()).thenReturn(wakeLock);
when(backupManagerService.getAgentTimeoutParameters()).thenReturn(agentTimeoutParameters);
AccessorMock backupEnabled = mockAccessor(false);
@@ -161,10 +162,12 @@ public class BackupManagerServiceTestUtils {
});
}
- public static UserBackupManagerService.BackupWakeLock createBackupWakeLock(
- Application application) {
+ /**
+ * Creates a wakelock for testing.
+ */
+ public static BackupWakeLock createBackupWakeLock(Application application) {
PowerManager powerManager = application.getSystemService(PowerManager.class);
- return new UserBackupManagerService.BackupWakeLock(
+ return new BackupWakeLock(
powerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "*backup*"), 0,
new BackupManagerConstants(Handler.getMain(), application.getContentResolver()));
}
diff --git a/services/tests/mockingservicestests/src/com/android/server/backup/fullbackup/PerformFullTransportBackupTaskTest.java b/services/tests/mockingservicestests/src/com/android/server/backup/fullbackup/PerformFullTransportBackupTaskTest.java
index e618433862f2..2b7a62a9f9fe 100644
--- a/services/tests/mockingservicestests/src/com/android/server/backup/fullbackup/PerformFullTransportBackupTaskTest.java
+++ b/services/tests/mockingservicestests/src/com/android/server/backup/fullbackup/PerformFullTransportBackupTaskTest.java
@@ -35,6 +35,7 @@ import androidx.test.runner.AndroidJUnit4;
import com.android.server.backup.BackupAgentConnectionManager;
import com.android.server.backup.BackupAgentTimeoutParameters;
+import com.android.server.backup.BackupWakeLock;
import com.android.server.backup.OperationStorage;
import com.android.server.backup.TransportManager;
import com.android.server.backup.UserBackupManagerService;
@@ -81,7 +82,7 @@ public class PerformFullTransportBackupTaskTest {
@Mock
TransportManager mTransportManager;
@Mock
- UserBackupManagerService.BackupWakeLock mWakeLock;
+ BackupWakeLock mWakeLock;
private final List<String> mEligiblePackages = new ArrayList<>();
@@ -94,7 +95,7 @@ public class PerformFullTransportBackupTaskTest {
when(mBackupManagerService.getPackageManager()).thenReturn(mPackageManager);
when(mBackupManagerService.getQueueLock()).thenReturn("something!");
when(mBackupManagerService.isEnabled()).thenReturn(true);
- when(mBackupManagerService.getWakelock()).thenReturn(mWakeLock);
+ when(mBackupManagerService.getWakeLock()).thenReturn(mWakeLock);
when(mBackupManagerService.isSetupComplete()).thenReturn(true);
when(mBackupManagerService.getAgentTimeoutParameters()).thenReturn(
mBackupAgentTimeoutParameters);