From 39cf42c9273bc496a89476a0b637874fa21940a2 Mon Sep 17 00:00:00 2001 From: Robert Berry Date: Wed, 28 Mar 2018 15:56:17 +0100 Subject: [PATCH] Add autobackup XML support for test BackupTransport flag We need this to be able to write a CTS test. Bug: 73710054 Test: runtest frameworks-core -p android.app.backup Change-Id: I37d4b64d40426c5de47308394e21baebd542ad52 --- core/java/android/app/backup/FullBackup.java | 4 ++++ .../src/android/app/backup/FullBackupTest.java | 25 +++++++++++++++++++--- 2 files changed, 26 insertions(+), 3 deletions(-) diff --git a/core/java/android/app/backup/FullBackup.java b/core/java/android/app/backup/FullBackup.java index fb1c2d085df6..b7a8da59b170 100644 --- a/core/java/android/app/backup/FullBackup.java +++ b/core/java/android/app/backup/FullBackup.java @@ -84,6 +84,8 @@ public class FullBackup { public static final String FLAG_REQUIRED_CLIENT_SIDE_ENCRYPTION = "clientSideEncryption"; public static final String FLAG_REQUIRED_DEVICE_TO_DEVICE_TRANSFER = "deviceToDeviceTransfer"; + public static final String FLAG_REQUIRED_FAKE_CLIENT_SIDE_ENCRYPTION = + "fakeClientSideEncryption"; /** * @hide @@ -600,6 +602,8 @@ public class FullBackup { case FLAG_REQUIRED_DEVICE_TO_DEVICE_TRANSFER: flags |= BackupAgent.FLAG_DEVICE_TO_DEVICE_TRANSFER; break; + case FLAG_REQUIRED_FAKE_CLIENT_SIDE_ENCRYPTION: + flags |= BackupAgent.FLAG_FAKE_CLIENT_SIDE_ENCRYPTION_ENABLED; default: Log.w(TAG, "Unrecognized requiredFlag provided, value: \"" + f + "\""); } diff --git a/core/tests/coretests/src/android/app/backup/FullBackupTest.java b/core/tests/coretests/src/android/app/backup/FullBackupTest.java index 58ee7a783589..5db416b33af7 100644 --- a/core/tests/coretests/src/android/app/backup/FullBackupTest.java +++ b/core/tests/coretests/src/android/app/backup/FullBackupTest.java @@ -16,9 +16,6 @@ package android.app.backup; -import static org.mockito.Mockito.mock; -import static org.mockito.Mockito.when; - import android.app.backup.FullBackup.BackupScheme.PathWithRequiredFlags; import android.content.Context; import android.support.test.filters.LargeTest; @@ -102,6 +99,28 @@ public class FullBackupTest extends AndroidTestCase { include.getRequiredFlags()); } + public void testParseBackupSchemeFromXml_onlyIncludeRequireFakeEncryptionFlag() + throws Exception { + mXpp.setInput(new StringReader( + "" + + "" + + "")); + + FullBackup.BackupScheme bs = FullBackup.getBackupSchemeForTest(mContext); + bs.parseBackupSchemeFromXmlLocked(mXpp, excludesSet, includeMap); + + Set fileDomainIncludes = includeMap.get(FullBackup.FILES_TREE_TOKEN); + assertEquals("Didn't find expected file domain include.", 1, fileDomainIncludes.size()); + PathWithRequiredFlags include = fileDomainIncludes.iterator().next(); + assertEquals("Invalid path parsed for ", + new File(mContext.getFilesDir(), "onlyInclude.txt").getCanonicalPath(), + include.getPath()); + assertEquals("Invalid requireFlags parsed for ", + BackupAgent.FLAG_FAKE_CLIENT_SIDE_ENCRYPTION_ENABLED, + include.getRequiredFlags()); + } + public void testparseBackupSchemeFromXml_onlyIncludeRequireD2DFlag() throws Exception { mXpp.setInput(new StringReader( "" + -- 2.11.0