diff options
Diffstat (limited to 'library/src/main/java/top/trumeet/redirectstorage/wrapper/WrapperKK.java')
-rw-r--r-- | library/src/main/java/top/trumeet/redirectstorage/wrapper/WrapperKK.java | 102 |
1 files changed, 102 insertions, 0 deletions
diff --git a/library/src/main/java/top/trumeet/redirectstorage/wrapper/WrapperKK.java b/library/src/main/java/top/trumeet/redirectstorage/wrapper/WrapperKK.java new file mode 100644 index 0000000..58d1d65 --- /dev/null +++ b/library/src/main/java/top/trumeet/redirectstorage/wrapper/WrapperKK.java @@ -0,0 +1,102 @@ +package top.trumeet.redirectstorage.wrapper; + +import android.annotation.TargetApi; +import android.os.Build; +import android.os.Environment; + +import java.io.File; + +/** + * Created by Trumeet on 2017/9/15. + * @author Trumeet + */ + +@TargetApi(Build.VERSION_CODES.KITKAT) +class WrapperKK extends AbstractWrapper { + WrapperKK(Environment.UserEnvironment ue, int userId, String customPath) { + super(ue, userId, customPath); + } + + @Override + public File getRealExternalStorageDirectory() { + return null; + } + + private File convert (File dir) { + if (!mEnable) + return dir; + return new File(convertDirs(dir)[0].getAbsolutePath()); + } + + private File[] convert (File[] dirs) { + if (!mEnable) + return dirs; + return convertDirs(dirs); + } + + @Deprecated + public File getExternalStorageDirectory() { + return convert(mBase.getExternalStorageDirectory()); + } + + @Deprecated + public File getExternalStoragePublicDirectory(String type) { + return buildExternalStoragePublicDirs(type)[0]; + } + + public File[] getExternalDirsForVold() { + return convert(mBase.getExternalDirsForVold()); + } + + public File[] getExternalDirsForApp() { + return convert(mBase.getExternalDirsForApp()); + } + + public File getMediaDir() { + return convert(mBase.getMediaDir()); + } + + public File[] buildExternalStoragePublicDirs(String type) { + return convert(mBase.buildExternalStoragePublicDirs(type)); + } + + public File[] buildExternalStorageAndroidDataDirs() { + return convert(mBase.buildExternalStorageAndroidDataDirs()); + } + + public File[] buildExternalStorageAndroidObbDirs() { + return convert(mBase.buildExternalStorageAndroidObbDirs()); + } + + public File[] buildExternalStorageAppDataDirs(String packageName) { + return convert(mBase.buildExternalStorageAppDataDirs(packageName)); + } + + public File[] buildExternalStorageAppDataDirsForVold(String packageName) { + return convert(mBase.buildExternalStorageAppDataDirsForVold(packageName)); + } + + public File[] buildExternalStorageAppMediaDirs(String packageName) { + return convert(mBase.buildExternalStorageAppMediaDirs(packageName)); + } + + public File[] buildExternalStorageAppMediaDirsForVold(String packageName) { + return convert(mBase.buildExternalStorageAppMediaDirsForVold(packageName)); + } + + public File[] buildExternalStorageAppObbDirs(String packageName) { + return convert(mBase.buildExternalStorageAppObbDirs(packageName)); + } + + public File[] buildExternalStorageAppObbDirsForVold(String packageName) { + return convert(mBase.buildExternalStorageAppObbDirsForVold(packageName)); + } + + public File[] buildExternalStorageAppFilesDirs(String packageName) { + return convert(mBase.buildExternalStorageAppFilesDirs(packageName)); + } + + public File[] buildExternalStorageAppCacheDirs(String packageName) { + return convert(mBase.buildExternalStorageAppCacheDirs(packageName)); + } +} |