summaryrefslogtreecommitdiffstats
path: root/src/com/android
diff options
context:
space:
mode:
authorKarthikeyan Periasamy <kperiasa@codeaurora.org>2016-02-15 21:00:55 +0100
committerjrizzoli <joey@cyanogenmoditalia.it>2016-02-15 21:00:55 +0100
commitd7f751b95ff8237f81ee346bd3ab0476bea3d1b0 (patch)
treed2b4296a12eeed27042500ff710ab6cdbeb642b9 /src/com/android
parent7924a0c4f90741e5e5620378760ad3e2b7dde7dc (diff)
downloadandroid_packages_apps_Gello-d7f751b95ff8237f81ee346bd3ab0476bea3d1b0.tar.gz
android_packages_apps_Gello-d7f751b95ff8237f81ee346bd3ab0476bea3d1b0.tar.bz2
android_packages_apps_Gello-d7f751b95ff8237f81ee346bd3ab0476bea3d1b0.zip
Do not check Mass Storage state for external storage
Change-Id: I7ba667d4017bf7f82c2dd7d04b13c3fe1987a885 CR-Fixed: 947235
Diffstat (limited to 'src/com/android')
-rw-r--r--src/com/android/browser/BrowserSettings.java2
-rw-r--r--src/com/android/browser/DownloadHandler.java25
2 files changed, 15 insertions, 12 deletions
diff --git a/src/com/android/browser/BrowserSettings.java b/src/com/android/browser/BrowserSettings.java
index 1da2046a..8042efd3 100644
--- a/src/com/android/browser/BrowserSettings.java
+++ b/src/com/android/browser/BrowserSettings.java
@@ -749,7 +749,7 @@ public class BrowserSettings implements OnSharedPreferenceChangeListener,
public String getDownloadPath() {
return mPrefs.getString(PREF_DOWNLOAD_PATH,
- DownloadHandler.getDefaultDownloadPath(mContext));
+ DownloadHandler.getDefaultDownloadPath(mContext, null));
}
// -----------------------------
// getter/setters for accessibility_preferences.xml
diff --git a/src/com/android/browser/DownloadHandler.java b/src/com/android/browser/DownloadHandler.java
index 3562f809..6db529a2 100644
--- a/src/com/android/browser/DownloadHandler.java
+++ b/src/com/android/browser/DownloadHandler.java
@@ -363,8 +363,8 @@ public class DownloadHandler {
return null;
}
- public static void initStorageDefaultPath(Context context) {
- mExternalStorage = getExternalStorageDirectory(context);
+ public static void initStorageDefaultPath(Context context, String downloadPath) {
+ mExternalStorage = getExternalStorageDirectory(context, downloadPath);
if (isPhoneStorageSupported()) {
mInternalStorage = Environment.getExternalStorageDirectory().getPath();
} else {
@@ -510,11 +510,11 @@ public class DownloadHandler {
// assure that internal storage is initialized before
// comparing it with download path
if (mInternalStorage == null) {
- initStorageDefaultPath(activity);
+ initStorageDefaultPath(activity, downloadPath);
}
if (!(isPhoneStorageSupported() && downloadPath.contains(mInternalStorage))) {
- String status = getExternalStorageState(activity);
+ String status = getExternalStorageState(activity, downloadPath);
if (!status.equals(Environment.MEDIA_MOUNTED)) {
int title;
String msg;
@@ -608,14 +608,14 @@ public class DownloadHandler {
}
}
- public static String getDefaultDownloadPath(Context context) {
+ public static String getDefaultDownloadPath(Context context, String downloadPath) {
String defaultDownloadPath;
String defaultStorage;
if (isPhoneStorageSupported()) {
defaultStorage = Environment.getExternalStorageDirectory().getPath();
} else {
- defaultStorage = getExternalStorageDirectory(context);
+ defaultStorage = getExternalStorageDirectory(context, downloadPath);
}
defaultDownloadPath = defaultStorage + DownloadDirRestriction.getInstance().getDownloadDirectory();
@@ -635,7 +635,7 @@ public class DownloadHandler {
return downloadPath;
}
final String phoneStorageDir;
- final String sdCardDir = getExternalStorageDirectory(activity);
+ final String sdCardDir = getExternalStorageDirectory(activity, downloadPath);
if (isPhoneStorageSupported()) {
phoneStorageDir = Environment.getExternalStorageDirectory().getPath();
} else {
@@ -669,14 +669,17 @@ public class DownloadHandler {
"getPath", null, null);
}
- private static String getExternalStorageDirectory(Context context) {
+ private static String getExternalStorageDirectory(Context context, String downloadPath) {
String sd = null;
StorageManager mStorageManager = (StorageManager) context
.getSystemService(Context.STORAGE_SERVICE);
Object[] volumes = (Object[]) ReflectHelper.invokeMethod(
mStorageManager, "getVolumeList", null, null);
for (int i = 0; i < volumes.length; i++) {
- if (isRemovable(volumes[i]) && allowMassStorage(volumes[i])) {
+ if (isRemovable(volumes[i])
+ && ((allowMassStorage(volumes[i]) && downloadPath == null)
+ || (downloadPath != null
+ && downloadPath.startsWith(getPath(volumes[i]))))) {
sd = getPath(volumes[i]);
break;
}
@@ -684,10 +687,10 @@ public class DownloadHandler {
return sd;
}
- private static String getExternalStorageState(Context context) {
+ private static String getExternalStorageState(Context context, String downloadPath) {
StorageManager mStorageManager = (StorageManager) context
.getSystemService(Context.STORAGE_SERVICE);
- String path = getExternalStorageDirectory(context);
+ String path = getExternalStorageDirectory(context, downloadPath);
Object[] params = {path};
Class[] type = new Class[] {String.class};
return (String) ReflectHelper.invokeMethod(mStorageManager,