Base64 the keys to make filenames in LocalTransport
diff --git a/core/java/com/android/internal/backup/LocalTransport.java b/core/java/com/android/internal/backup/LocalTransport.java
index 577ecb4..5caa015 100644
--- a/core/java/com/android/internal/backup/LocalTransport.java
+++ b/core/java/com/android/internal/backup/LocalTransport.java
@@ -12,6 +12,8 @@
import android.os.RemoteException;
import android.util.Log;
+import org.bouncycastle.util.encoders.Base64;
+
import java.io.File;
import java.io.FileFilter;
import java.io.FileInputStream;
@@ -79,7 +81,10 @@
while (changeSet.readNextHeader()) {
String key = changeSet.getKey();
int dataSize = changeSet.getDataSize();
- if (DEBUG) Log.v(TAG, "Got change set key=" + key + " size=" + dataSize);
+
+ String base64Key = new String(Base64.encode(key.getBytes()));
+ if (DEBUG) Log.v(TAG, "Got change set key=" + key + " size=" + dataSize
+ + " key64=" + base64Key);
if (dataSize > bufSize) {
bufSize = dataSize;
buf = new byte[bufSize];
@@ -87,7 +92,7 @@
changeSet.readEntityData(buf, 0, dataSize);
if (DEBUG) Log.v(TAG, " + data size " + dataSize);
- File entityFile = new File(packageDir, key);
+ File entityFile = new File(packageDir, base64Key);
FileOutputStream entity = new FileOutputStream(entityFile);
try {
entity.write(buf, 0, dataSize);