diff --git a/app/build.gradle b/app/build.gradle index 766744db2..0b159360a 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -32,7 +32,7 @@ dependencies { compile project(":kiwixlib") // Storage Devices - compile 'eu.mhutti1.utils.storage:android-storage-devices:0.5.0' + compile 'eu.mhutti1.utils.storage:android-storage-devices:0.6.1' // Android Support compile 'com.android.support:appcompat-v7:25.3.1' diff --git a/app/src/main/java/org/kiwix/kiwixmobile/utils/files/FileSearch.java b/app/src/main/java/org/kiwix/kiwixmobile/utils/files/FileSearch.java index bc6b6fa22..5c932d86d 100644 --- a/app/src/main/java/org/kiwix/kiwixmobile/utils/files/FileSearch.java +++ b/app/src/main/java/org/kiwix/kiwixmobile/utils/files/FileSearch.java @@ -55,10 +55,10 @@ public class FileSearch { this.listener = listener; } - public void scan() { + public void scan(String defaultPath) { // Start custom file search new Thread(() -> { - scanFileSystem(); + scanFileSystem(defaultPath); fileSystemScanCompleted = true; checkCompleted(); }).start(); @@ -99,16 +99,16 @@ public class FileSearch { } // Scan through the file system and find all the files with .zim and .zimaa extensions - public void scanFileSystem() { + public void scanFileSystem(String defaultPath) { FilenameFilter[] filter = new FilenameFilter[zimFiles.length]; // Search all external directories that we can find. - String[] tempRoots = new String[StorageDeviceUtils.getStorageDevices((Activity) context, false).size() + 1]; + String[] tempRoots = new String[StorageDeviceUtils.getStorageDevices(context, false).size() + 2]; int j = 0; - tempRoots[j] = "/mnt"; - for (StorageDevice storageDevice : StorageDeviceUtils.getStorageDevices((Activity) context, false)) { - j++; - tempRoots[j] = storageDevice.getName(); + tempRoots[j++] = "/mnt"; + tempRoots[j++] = defaultPath; + for (StorageDevice storageDevice : StorageDeviceUtils.getStorageDevices(context, false)) { + tempRoots[j++] = storageDevice.getName(); } int i = 0; diff --git a/app/src/main/java/org/kiwix/kiwixmobile/zim_manager/fileselect_view/ZimFileSelectFragment.java b/app/src/main/java/org/kiwix/kiwixmobile/zim_manager/fileselect_view/ZimFileSelectFragment.java index 4cce05cfc..0b381b755 100644 --- a/app/src/main/java/org/kiwix/kiwixmobile/zim_manager/fileselect_view/ZimFileSelectFragment.java +++ b/app/src/main/java/org/kiwix/kiwixmobile/zim_manager/fileselect_view/ZimFileSelectFragment.java @@ -20,12 +20,15 @@ package org.kiwix.kiwixmobile.zim_manager.fileselect_view; import android.Manifest; +import android.app.Activity; import android.content.Context; import android.content.Intent; import android.content.pm.PackageManager; import android.net.Uri; import android.os.Build; import android.os.Bundle; +import android.os.Environment; +import android.preference.PreferenceManager; import android.support.v4.app.Fragment; import android.support.v4.content.ContextCompat; import android.support.v7.app.AlertDialog; @@ -123,10 +126,10 @@ public class ZimFileSelectFragment extends Fragment File file = new File(path); Uri uri = Uri.fromFile(file); Log.i(TAG_KIWIX, "Opening " + uri); - zimManageActivity.setResult(zimManageActivity.RESULT_OK, new Intent().setData(uri)); + zimManageActivity.setResult(Activity.RESULT_OK, new Intent().setData(uri)); zimManageActivity.finish(); } else { - zimManageActivity.setResult(zimManageActivity.RESULT_CANCELED); + zimManageActivity.setResult(Activity.RESULT_CANCELED); zimManageActivity.finish(); } } @@ -245,7 +248,8 @@ public class ZimFileSelectFragment extends Fragment TestingUtils.unbindResource(ZimFileSelectFragment.class); }); } - }).scan(); + }).scan(PreferenceManager.getDefaultSharedPreferences(context) + .getString(KiwixMobileActivity.PREF_STORAGE, Environment.getExternalStorageDirectory().getPath())); } @Override