diff options
author | Karthikeyan Periasamy <kperiasa@codeaurora.org> | 2016-02-15 21:00:55 +0100 |
---|---|---|
committer | jrizzoli <joey@cyanogenmoditalia.it> | 2016-02-15 21:00:55 +0100 |
commit | d7f751b95ff8237f81ee346bd3ab0476bea3d1b0 (patch) | |
tree | d2b4296a12eeed27042500ff710ab6cdbeb642b9 /src/com/android | |
parent | 7924a0c4f90741e5e5620378760ad3e2b7dde7dc (diff) | |
download | android_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.java | 2 | ||||
-rw-r--r-- | src/com/android/browser/DownloadHandler.java | 25 |
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, |