|
@@ -21,6 +21,7 @@
|
|
|
|
|
|
package com.owncloud.android.datastorage;
|
|
|
|
|
|
+import android.os.Build;
|
|
|
import android.os.Environment;
|
|
|
|
|
|
import com.owncloud.android.MainApp;
|
|
@@ -31,6 +32,7 @@ import com.owncloud.android.datastorage.providers.MountCommandStoragePointProvid
|
|
|
import com.owncloud.android.datastorage.providers.SystemDefaultStoragePointProvider;
|
|
|
import com.owncloud.android.datastorage.providers.VDCStoragePointProvider;
|
|
|
|
|
|
+import java.io.File;
|
|
|
import java.util.Vector;
|
|
|
|
|
|
/**
|
|
@@ -57,6 +59,28 @@ public class DataStorageProvider {
|
|
|
|
|
|
private DataStorageProvider() {}
|
|
|
|
|
|
+ public StoragePoint[] getLegacyAvailableStoragePoints() {
|
|
|
+ if (mCachedStoragePoints.size() != 0) {
|
|
|
+ return mCachedStoragePoints.toArray(new StoragePoint[mCachedStoragePoints.size()]);
|
|
|
+ }
|
|
|
+
|
|
|
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
|
|
|
+ for (File f : MainApp.getAppContext().getExternalMediaDirs()) {
|
|
|
+ if (f != null) {
|
|
|
+ mCachedStoragePoints.add(new StoragePoint(f.getAbsolutePath(), f.getAbsolutePath()));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ for (IStoragePointProvider p : mStorageProviders) {
|
|
|
+ if (p.canProvideStoragePoints()) {
|
|
|
+ mCachedStoragePoints.addAll(p.getAvailableStoragePoint());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ return mCachedStoragePoints.toArray(new StoragePoint[mCachedStoragePoints.size()]);
|
|
|
+ }
|
|
|
+
|
|
|
public StoragePoint[] getAvailableStoragePoints() {
|
|
|
if (mCachedStoragePoints.size() != 0) {
|
|
|
return mCachedStoragePoints.toArray(new StoragePoint[mCachedStoragePoints.size()]);
|