Loading core/java/android/app/backup/FullBackup.java +4 −0 Original line number Diff line number Diff line Loading @@ -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 Loading Loading @@ -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 + "\""); } Loading core/tests/coretests/src/android/app/backup/FullBackupTest.java +22 −3 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -102,6 +99,28 @@ public class FullBackupTest extends AndroidTestCase { include.getRequiredFlags()); } public void testParseBackupSchemeFromXml_onlyIncludeRequireFakeEncryptionFlag() throws Exception { mXpp.setInput(new StringReader( "<full-backup-content>" + "<include path=\"onlyInclude.txt\" domain=\"file\"" + " requireFlags=\"fakeClientSideEncryption\"/>" + "</full-backup-content>")); FullBackup.BackupScheme bs = FullBackup.getBackupSchemeForTest(mContext); bs.parseBackupSchemeFromXmlLocked(mXpp, excludesSet, includeMap); Set<PathWithRequiredFlags> 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 <include/>", new File(mContext.getFilesDir(), "onlyInclude.txt").getCanonicalPath(), include.getPath()); assertEquals("Invalid requireFlags parsed for <include/>", BackupAgent.FLAG_FAKE_CLIENT_SIDE_ENCRYPTION_ENABLED, include.getRequiredFlags()); } public void testparseBackupSchemeFromXml_onlyIncludeRequireD2DFlag() throws Exception { mXpp.setInput(new StringReader( "<full-backup-content>" + Loading Loading
core/java/android/app/backup/FullBackup.java +4 −0 Original line number Diff line number Diff line Loading @@ -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 Loading Loading @@ -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 + "\""); } Loading
core/tests/coretests/src/android/app/backup/FullBackupTest.java +22 −3 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -102,6 +99,28 @@ public class FullBackupTest extends AndroidTestCase { include.getRequiredFlags()); } public void testParseBackupSchemeFromXml_onlyIncludeRequireFakeEncryptionFlag() throws Exception { mXpp.setInput(new StringReader( "<full-backup-content>" + "<include path=\"onlyInclude.txt\" domain=\"file\"" + " requireFlags=\"fakeClientSideEncryption\"/>" + "</full-backup-content>")); FullBackup.BackupScheme bs = FullBackup.getBackupSchemeForTest(mContext); bs.parseBackupSchemeFromXmlLocked(mXpp, excludesSet, includeMap); Set<PathWithRequiredFlags> 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 <include/>", new File(mContext.getFilesDir(), "onlyInclude.txt").getCanonicalPath(), include.getPath()); assertEquals("Invalid requireFlags parsed for <include/>", BackupAgent.FLAG_FAKE_CLIENT_SIDE_ENCRYPTION_ENABLED, include.getRequiredFlags()); } public void testparseBackupSchemeFromXml_onlyIncludeRequireD2DFlag() throws Exception { mXpp.setInput(new StringReader( "<full-backup-content>" + Loading