mirror of
https://github.com/yuliskov/SmartTube.git
synced 2026-03-13 15:20:26 +08:00
BackupManager: improve backup/restore zip on api < 30
This commit is contained in:
@@ -41,7 +41,7 @@ public class BackupAndRestoreHelper implements OnResult {
|
||||
return;
|
||||
}
|
||||
|
||||
File mediaDir = getExternalStorageDirectory();
|
||||
File mediaDir = getExternalMediaDirectory();
|
||||
File dataDir = new File(mediaDir, "data");
|
||||
if (!dataDir.exists()) return;
|
||||
|
||||
@@ -83,7 +83,7 @@ public class BackupAndRestoreHelper implements OnResult {
|
||||
|
||||
if (data == null) return;
|
||||
|
||||
File mediaDir = getExternalStorageDirectory();
|
||||
File mediaDir = getExternalMediaDirectory();
|
||||
File dataDir = new File(mediaDir, "data");
|
||||
|
||||
if (!mediaDir.exists()) mediaDir.mkdirs();
|
||||
@@ -120,7 +120,7 @@ public class BackupAndRestoreHelper implements OnResult {
|
||||
|
||||
try {
|
||||
// Target folder: /Android/media/<package>/data
|
||||
File mediaDir = getExternalStorageDirectory();
|
||||
File mediaDir = getExternalMediaDirectory();
|
||||
File dataDir = new File(mediaDir, "data");
|
||||
|
||||
// Remove old data
|
||||
@@ -228,6 +228,30 @@ public class BackupAndRestoreHelper implements OnResult {
|
||||
return result;
|
||||
}
|
||||
|
||||
private File getExternalMediaDirectory() {
|
||||
File result = null;
|
||||
|
||||
if (VERSION.SDK_INT >= 21) {
|
||||
File[] dirs = mContext.getExternalMediaDirs();
|
||||
if (dirs != null && dirs.length > 0) {
|
||||
result = dirs[0];
|
||||
}
|
||||
}
|
||||
|
||||
if (result == null) {
|
||||
result = new File(
|
||||
Environment.getExternalStorageDirectory(),
|
||||
"Android/media/" + mContext.getPackageName()
|
||||
);
|
||||
}
|
||||
|
||||
if (!result.exists()) {
|
||||
result.mkdirs();
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
private void deleteRecursive(File f) {
|
||||
if (!f.exists()) return;
|
||||
if (f.isDirectory()) {
|
||||
|
||||
Reference in New Issue
Block a user