diff --git a/src/org/geometerplus/android/fbreader/preferences/fileChooser/FileChooserPreference.java b/src/org/geometerplus/android/fbreader/preferences/fileChooser/FileChooserPreference.java index 765fbfc8c..bb96aa3b6 100644 --- a/src/org/geometerplus/android/fbreader/preferences/fileChooser/FileChooserPreference.java +++ b/src/org/geometerplus/android/fbreader/preferences/fileChooser/FileChooserPreference.java @@ -36,11 +36,13 @@ import org.geometerplus.zlibrary.core.resources.ZLResource; abstract class FileChooserPreference extends Preference { private final int myRegCode; private final ZLResource myResource; + private final IFileProvider.FilterMode myFilterMode; - FileChooserPreference(Context context, ZLResource rootResource, String resourceKey, int regCode) { + FileChooserPreference(Context context, ZLResource rootResource, String resourceKey, IFileProvider.FilterMode filterMode, int regCode) { super(context); myRegCode = regCode; + myFilterMode = filterMode; myResource = rootResource.getResource(resourceKey); setTitle(myResource.getValue()); } @@ -73,10 +75,11 @@ abstract class FileChooserPreference extends Preference { intent.putExtra(FileChooserActivity._ActionBar, true); intent.putExtra(FileChooserActivity._SaveLastLocation, false); intent.putExtra(FileChooserActivity._DisplayHiddenFiles, true); + intent.putExtra(FileChooserActivity._FilterMode, myFilterMode); //intent.putExtra(FileChooserActivity._FilterMode, IFileProvider.FilterMode.AnyDirectories); + //intent.putExtra(FileChooserActivity._FilterMode, IFileProvider.FilterMode.DirectoriesOnly); //intent.putExtra(FileChooserActivity._FilterMode, IFileProvider.FilterMode.FilesOnly); //intent.putExtra(FileChooserActivity._FilterMode, IFileProvider.FilterMode.FilesAndDirectories); - intent.putExtra(FileChooserActivity._FilterMode, IFileProvider.FilterMode.DirectoriesOnly); ((Activity)getContext()).startActivityForResult(intent, myRegCode); } diff --git a/src/org/geometerplus/android/fbreader/preferences/fileChooser/FileChooserStringListPreference.java b/src/org/geometerplus/android/fbreader/preferences/fileChooser/FileChooserStringListPreference.java index 9b54cec6e..40b515818 100644 --- a/src/org/geometerplus/android/fbreader/preferences/fileChooser/FileChooserStringListPreference.java +++ b/src/org/geometerplus/android/fbreader/preferences/fileChooser/FileChooserStringListPreference.java @@ -24,6 +24,8 @@ import java.util.List; import android.content.Context; +import group.pals.android.lib.ui.filechooser.services.IFileProvider; + import org.geometerplus.zlibrary.core.options.ZLStringListOption; import org.geometerplus.zlibrary.core.resources.ZLResource; import org.geometerplus.zlibrary.core.util.MiscUtil; @@ -33,7 +35,7 @@ class FileChooserStringListPreference extends FileChooserPreference { private final Runnable myOnValueSetAction; FileChooserStringListPreference(Context context, ZLResource rootResource, String resourceKey, ZLStringListOption option, int regCode, Runnable onValueSetAction) { - super(context, rootResource, resourceKey, regCode); + super(context, rootResource, resourceKey, IFileProvider.FilterMode.AnyDirectories, regCode); myOption = option; myOnValueSetAction = onValueSetAction; diff --git a/src/org/geometerplus/android/fbreader/preferences/fileChooser/FileChooserStringPreference.java b/src/org/geometerplus/android/fbreader/preferences/fileChooser/FileChooserStringPreference.java index 424796528..dac627f8d 100644 --- a/src/org/geometerplus/android/fbreader/preferences/fileChooser/FileChooserStringPreference.java +++ b/src/org/geometerplus/android/fbreader/preferences/fileChooser/FileChooserStringPreference.java @@ -21,6 +21,8 @@ package org.geometerplus.android.fbreader.preferences.fileChooser; import android.content.Context; +import group.pals.android.lib.ui.filechooser.services.IFileProvider; + import org.geometerplus.zlibrary.core.options.ZLStringOption; import org.geometerplus.zlibrary.core.resources.ZLResource; import org.geometerplus.zlibrary.core.util.MiscUtil; @@ -29,7 +31,7 @@ class FileChooserStringPreference extends FileChooserPreference { private final ZLStringOption myOption; FileChooserStringPreference(Context context, ZLResource rootResource, String resourceKey, ZLStringOption option, int regCode) { - super(context, rootResource, resourceKey, regCode); + super(context, rootResource, resourceKey, IFileProvider.FilterMode.DirectoriesOnly, regCode); myOption = option; setSummary(getStringValue()); diff --git a/third-party/android-filechooser/code/src/group/pals/android/lib/ui/filechooser/FileChooserActivity.java b/third-party/android-filechooser/code/src/group/pals/android/lib/ui/filechooser/FileChooserActivity.java index 188944a17..df3fe9da7 100755 --- a/third-party/android-filechooser/code/src/group/pals/android/lib/ui/filechooser/FileChooserActivity.java +++ b/third-party/android-filechooser/code/src/group/pals/android/lib/ui/filechooser/FileChooserActivity.java @@ -634,7 +634,7 @@ public class FileChooserActivity extends Activity { mRoot = mFileProvider.defaultPath(); IFileProvider.FilterMode filterMode = (FilterMode) getIntent().getSerializableExtra(_FilterMode); - if (filterMode == null){ + if (filterMode == null) { filterMode = IFileProvider.FilterMode.DirectoriesOnly; } @@ -1709,9 +1709,9 @@ public class FileChooserActivity extends Activity { private final View.OnClickListener mBtnOk_ActionBar_OnClickListener = new View.OnClickListener() { @Override public void onClick(View v) { - if ((getLocation() instanceof File)){ - if(mFileProvider.getFilterMode() != IFileProvider.FilterMode.AnyDirectories){ - if(!((File)getLocation()).canWrite()){ + if (getLocation() instanceof File) { + if (mFileProvider.getFilterMode() != IFileProvider.FilterMode.AnyDirectories) { + if (!((File)getLocation()).canWrite()) { Dlg.toast(FileChooserActivity.this, R.string.afc_msg_app_cant_choose_folder, Dlg._LengthShort); return; }