summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorandroid-build-prod (mdb) <android-build-team-robot@google.com>2020-09-17 17:54:37 +0000
committerandroid-build-prod (mdb) <android-build-team-robot@google.com>2020-09-17 17:54:37 +0000
commit0a8a34ded9b44e37be4c7f1b46952e2a715555d6 (patch)
tree3f7fb1b3c77415a7a9ebfa80eb8eb39baa816250
parent5be37a1f9f7a2d7df050b5887bd171728b3c0dc0 (diff)
parenta57116554e71c0bb6d51efd1238269f029c09ea0 (diff)
downloadplatform_external_libbackup-0a8a34ded9b44e37be4c7f1b46952e2a715555d6.tar.gz
platform_external_libbackup-0a8a34ded9b44e37be4c7f1b46952e2a715555d6.tar.bz2
platform_external_libbackup-0a8a34ded9b44e37be4c7f1b46952e2a715555d6.zip
Snap for 6844436 from a57116554e71c0bb6d51efd1238269f029c09ea0 to simpleperf-releasesimpleperf-release
Change-Id: I4d940a7ea7c135e616b61102f110b012818e4b7f
-rw-r--r--build.gradle10
-rw-r--r--src/com/google/android/libraries/backup/shadow/BackupAgentHelperShadow.java6
-rw-r--r--src/com/google/android/libraries/backup/shadow/UnsupportedBackupHelperSimulator.java58
3 files changed, 71 insertions, 3 deletions
diff --git a/build.gradle b/build.gradle
index 7a33abd..15071ea 100644
--- a/build.gradle
+++ b/build.gradle
@@ -1,6 +1,16 @@
apply plugin: 'com.android.library'
android {
+ compileSdkVersion 28
+ buildToolsVersion '28.0.0'
+
+ defaultConfig {
+ // Most backup classes (e.g. SharedPreferencesBackupHelper) were added
+ // in Froyo.
+ minSdkVersion 8
+ targetSdkVersion 28
+ }
+
publishNonDefault true
buildTypes {
diff --git a/src/com/google/android/libraries/backup/shadow/BackupAgentHelperShadow.java b/src/com/google/android/libraries/backup/shadow/BackupAgentHelperShadow.java
index 18deabf..5615723 100644
--- a/src/com/google/android/libraries/backup/shadow/BackupAgentHelperShadow.java
+++ b/src/com/google/android/libraries/backup/shadow/BackupAgentHelperShadow.java
@@ -26,7 +26,6 @@ import org.robolectric.RuntimeEnvironment;
import org.robolectric.annotation.Implementation;
import org.robolectric.annotation.Implements;
import org.robolectric.annotation.RealObject;
-import org.robolectric.fakes.RoboSharedPreferences;
/**
* Shadow class for end-to-end testing of {@link BackupAgentHelper} subclasses in unit tests.
@@ -141,8 +140,9 @@ public class BackupAgentHelperShadow {
} else if (helperClass == FileBackupHelper.class) {
simulator = FileBackupHelperSimulator.fromHelper(keyPrefix, (FileBackupHelper) helper);
} else {
- throw new UnsupportedOperationException(
- "Unknown backup helper class for key prefix \"" + keyPrefix + "\": " + helperClass);
+ Log.w(
+ TAG, "Unknown backup helper class for key prefix \"" + keyPrefix + "\": " + helperClass);
+ simulator = new UnsupportedBackupHelperSimulator(keyPrefix, helper);
}
helperSimulators.put(keyPrefix, simulator);
}
diff --git a/src/com/google/android/libraries/backup/shadow/UnsupportedBackupHelperSimulator.java b/src/com/google/android/libraries/backup/shadow/UnsupportedBackupHelperSimulator.java
new file mode 100644
index 0000000..15ee687
--- /dev/null
+++ b/src/com/google/android/libraries/backup/shadow/UnsupportedBackupHelperSimulator.java
@@ -0,0 +1,58 @@
+package com.google.android.libraries.backup.shadow;
+
+import android.app.backup.BackupHelper;
+import android.content.Context;
+import android.util.Log;
+
+/**
+ * No-op backup helper representing all an unsupported backup helpers.
+ *
+ * <p>{@see BackupAgentHelperShadow}
+ */
+public class UnsupportedBackupHelperSimulator extends BackupHelperSimulator {
+ private static final String TAG = "UnsupportedBckupHlprSim";
+ private final BackupHelper mHelper;
+
+ UnsupportedBackupHelperSimulator(String keyPrefix, BackupHelper helper) {
+ super(keyPrefix);
+ mHelper = helper;
+ }
+
+ @Override
+ public Object backup(Context context) {
+ return new UnsupportedBackupHelperOutput(mHelper);
+ }
+
+ @Override
+ public void restore(Context context, Object data) {
+ if (!(data instanceof UnsupportedBackupHelperOutput)) {
+ throw new IllegalArgumentException(
+ "Invalid type of data to restore in unsupported helper \""
+ + keyPrefix
+ + "\": "
+ + (data == null ? null : data.getClass()));
+ }
+ Log.w(
+ TAG,
+ "Attempt to restore from an unsupported backup helper: " + mHelper.getClass().getName());
+ }
+
+ public static class UnsupportedBackupHelperOutput {
+ public final BackupHelper wrappedHelper;
+
+ public UnsupportedBackupHelperOutput(BackupHelper helper) {
+ wrappedHelper = helper;
+ }
+
+ @Override
+ public boolean equals(Object obj) {
+ return obj instanceof UnsupportedBackupHelperOutput
+ && wrappedHelper.equals(((UnsupportedBackupHelperOutput) obj).wrappedHelper);
+ }
+
+ @Override
+ public int hashCode() {
+ return wrappedHelper.hashCode();
+ }
+ }
+}