aboutsummaryrefslogtreecommitdiff
path: root/library/src/main/java/top/trumeet/redirectstorage/wrapper/AbstractWrapper.java
diff options
context:
space:
mode:
Diffstat (limited to 'library/src/main/java/top/trumeet/redirectstorage/wrapper/AbstractWrapper.java')
-rw-r--r--library/src/main/java/top/trumeet/redirectstorage/wrapper/AbstractWrapper.java20
1 files changed, 19 insertions, 1 deletions
diff --git a/library/src/main/java/top/trumeet/redirectstorage/wrapper/AbstractWrapper.java b/library/src/main/java/top/trumeet/redirectstorage/wrapper/AbstractWrapper.java
index 2a3d2ce..e67c144 100644
--- a/library/src/main/java/top/trumeet/redirectstorage/wrapper/AbstractWrapper.java
+++ b/library/src/main/java/top/trumeet/redirectstorage/wrapper/AbstractWrapper.java
@@ -4,9 +4,12 @@ import android.os.Build;
import android.os.Environment;
import java.io.File;
+import java.util.ArrayList;
+import java.util.List;
/**
* Created by Trumeet on 2017/9/15.
+ * @author Trumeet
*/
public abstract class AbstractWrapper extends Environment.UserEnvironment {
@@ -16,7 +19,12 @@ public abstract class AbstractWrapper extends Environment.UserEnvironment {
checkNonNull(base);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
checkNonNull(userId);
- return new UserEnvironmentWrapperMarshmallow(base,
+ return new WrapperMM(base,
+ userId, customPath);
+ }
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
+ checkNonNull(userId);
+ return new WrapperKK(base,
userId, customPath);
}
return null;
@@ -55,4 +63,14 @@ public abstract class AbstractWrapper extends Environment.UserEnvironment {
}
public abstract File getRealExternalStorageDirectory ();
+
+ public final File[] convertDirs (File... dirs) {
+ if (dirs == null || dirs.length == 0)
+ return dirs;
+ List<File> list = new ArrayList<>(dirs.length);
+ for (File file : dirs) {
+ list.add(new File(file.getAbsolutePath() + mCustomPath));
+ }
+ return list.toArray(new File[list.size()]);
+ }
}