diff options
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.java | 20 |
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()]); + } } |