diff --git a/app/src/main/java/net/gsantner/markor/frontend/filebrowser/MarkorFileBrowserFactory.java b/app/src/main/java/net/gsantner/markor/frontend/filebrowser/MarkorFileBrowserFactory.java index d781212b9..1217ec039 100644 --- a/app/src/main/java/net/gsantner/markor/frontend/filebrowser/MarkorFileBrowserFactory.java +++ b/app/src/main/java/net/gsantner/markor/frontend/filebrowser/MarkorFileBrowserFactory.java @@ -81,6 +81,9 @@ public static GsFileBrowserOptions.Options prepareFsViewerOpts( opts.favouriteFiles = appSettings.getFavouriteFiles(); opts.recentFiles = appSettings.getRecentFiles(); opts.popularFiles = appSettings.getPopularFiles(); + opts.storageMaps.clear(); + opts.storageMaps.put(new File("/storage", cu.rstr(context, R.string.notebook)), appSettings.getNotebookDirectory()); + opts.storageMaps.put(new File("/storage/Download"), new File("/storage/emulated/0/Download")); }; opts.refresh.callback(); diff --git a/app/src/main/java/net/gsantner/markor/model/AppSettings.java b/app/src/main/java/net/gsantner/markor/model/AppSettings.java index 13a4a2a83..7c83c5095 100644 --- a/app/src/main/java/net/gsantner/markor/model/AppSettings.java +++ b/app/src/main/java/net/gsantner/markor/model/AppSettings.java @@ -746,59 +746,47 @@ public String getNavigationBarColor() { return getString(R.string.pref_key__navigationbar_color, "#000000"); } - public @IdRes - Integer getAppStartupFolderMenuId() { - switch (getString(R.string.pref_key__app_start_folder, "notebook")) { - case "favourites": - return R.id.action_go_to_favourite_files; - case "internal_storage": - return R.id.action_go_to_storage; - case "appdata_public": - return R.id.action_go_to_appdata_public; - case "appdata_private": - return R.id.action_go_to_appdata_private; - case "popular_documents": - return R.id.action_go_to_popular_files; - case "recently_viewed_documents": - return R.id.action_go_to_recent_files; - } - return R.id.action_go_to_home; + public String getAppStartupFolderMenuId() { + return getString(R.string.pref_key__app_start_folder, "notebook"); } - public File getFolderToLoadByMenuId(int itemId) { + public File getFolderToLoadByMenuId(String itemId) { List> appDataPublicDirs = _cu.getAppDataPublicDirs(_context, false, true, false); switch (itemId) { - case R.id.action_go_to_home: { + case "storage": { + return new File("/storage"); + } + case "notebook": { return getNotebookDirectory(); } - case R.id.action_go_to_popular_files: { + case "popular_documents": { return GsFileBrowserListAdapter.VIRTUAL_STORAGE_POPULAR; } - case R.id.action_go_to_recent_files: { + case "recently_viewed_documents": { return GsFileBrowserListAdapter.VIRTUAL_STORAGE_RECENTS; } - case R.id.action_go_to_favourite_files: { + case "favourites": { return GsFileBrowserListAdapter.VIRTUAL_STORAGE_FAVOURITE; } - case R.id.action_go_to_appdata_private: { + case "appdata_private": { return _cu.getAppDataPrivateDir(_context); } - case R.id.action_go_to_storage: { + case "internal_storage": { return Environment.getExternalStorageDirectory(); } - case R.id.action_go_to_appdata_sdcard_1: { + case "appdata_sdcard_1": { if (appDataPublicDirs.size() > 0) { return appDataPublicDirs.get(0).first; } return Environment.getExternalStorageDirectory(); } - case R.id.action_go_to_appdata_sdcard_2: { + case "appdata_sdcard_2": { if (appDataPublicDirs.size() > 1) { return appDataPublicDirs.get(1).first; } return Environment.getExternalStorageDirectory(); } - case R.id.action_go_to_appdata_public: { + case "appdata_public": { appDataPublicDirs = _cu.getAppDataPublicDirs(_context, true, false, false); if (appDataPublicDirs.size() > 0) { return appDataPublicDirs.get(0).first; diff --git a/app/src/main/java/net/gsantner/opoc/frontend/filebrowser/GsFileBrowserFragment.java b/app/src/main/java/net/gsantner/opoc/frontend/filebrowser/GsFileBrowserFragment.java index f63af2207..58ef93e0d 100644 --- a/app/src/main/java/net/gsantner/opoc/frontend/filebrowser/GsFileBrowserFragment.java +++ b/app/src/main/java/net/gsantner/opoc/frontend/filebrowser/GsFileBrowserFragment.java @@ -356,7 +356,7 @@ public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { } List> sdcardFolders = _cu.getAppDataPublicDirs(getContext(), false, true, true); - int[] sdcardResIds = {R.id.action_go_to_appdata_sdcard_1, R.id.action_go_to_appdata_sdcard_2}; + int[] sdcardResIds = {}; for (int i = 0; i < sdcardResIds.length && i < sdcardFolders.size(); i++) { item = menu.findItem(sdcardResIds[i]); item.setTitle(item.getTitle().toString().replaceFirst("[)]\\s*$", " " + sdcardFolders.get(i).second) + ")"); @@ -432,16 +432,8 @@ public boolean onOptionsItemSelected(final MenuItem item) { reloadCurrentFolder(); return true; } - case R.id.action_go_to_home: - case R.id.action_go_to_popular_files: - case R.id.action_go_to_recent_files: - case R.id.action_go_to_favourite_files: - case R.id.action_go_to_appdata_private: - case R.id.action_go_to_storage: - case R.id.action_go_to_appdata_sdcard_1: - case R.id.action_go_to_appdata_sdcard_2: - case R.id.action_go_to_appdata_public: { - final File folder = _appSettings.getFolderToLoadByMenuId(_id); + case R.id.action_go_to: { + final File folder = new File("/storage"); _filesystemViewerAdapter.setCurrentFolder(folder); Toast.makeText(getContext(), folder.getAbsolutePath(), Toast.LENGTH_SHORT).show(); return true; diff --git a/app/src/main/java/net/gsantner/opoc/frontend/filebrowser/GsFileBrowserListAdapter.java b/app/src/main/java/net/gsantner/opoc/frontend/filebrowser/GsFileBrowserListAdapter.java index 23843a9f3..035d1b142 100644 --- a/app/src/main/java/net/gsantner/opoc/frontend/filebrowser/GsFileBrowserListAdapter.java +++ b/app/src/main/java/net/gsantner/opoc/frontend/filebrowser/GsFileBrowserListAdapter.java @@ -71,6 +71,7 @@ public class GsFileBrowserListAdapter extends RecyclerView.Adapter storageMaps = new HashMap<>(); public Collection favouriteFiles, recentFiles, popularFiles = null; public GsCallback.a1 setTitle = null, setSubtitle = null; diff --git a/app/src/main/res/menu/filesystem__menu.xml b/app/src/main/res/menu/filesystem__menu.xml index 7f2899a60..f8d3347d9 100644 --- a/app/src/main/res/menu/filesystem__menu.xml +++ b/app/src/main/res/menu/filesystem__menu.xml @@ -72,63 +72,13 @@ android:title="@string/share" android:visible="false" app:showAsAction="never" /> + - - - - - - - - - - - - - + app:showAsAction="always" /> @string/appdata_private @string/popular_documents @string/recently_viewed_documents + @string/storage @@ -116,6 +117,7 @@ appdata_private popular_documents recently_viewed_documents + storage diff --git a/app/src/main/res/values/string-not_translatable.xml b/app/src/main/res/values/string-not_translatable.xml index b84dc19ae..ad566fc49 100644 --- a/app/src/main/res/values/string-not_translatable.xml +++ b/app/src/main/res/values/string-not_translatable.xml @@ -40,6 +40,7 @@ work. If not, see . QuickNote To-Do todo.txt + Storage QuickNote.md todo.txt Web browser @@ -182,6 +183,7 @@ work. If not, see . pref_key__editor_markdown_bigger_headings_2 pref_key__editor_unordered_list_character pref_key__recent_documents + pref_key__recent_documents pref_key__popular_documents pref_key__favourite_files pref_key__select_create_document @@ -422,6 +424,7 @@ work. If not, see . pref_key__template_title_format_map pref_key__title_format_list pref_key__format_share_as_link + action_go_to_storage Square Brackets CSV OrgMode