X-Git-Url: https://gitweb.stoutner.com/?p=PrivacyBrowserAndroid.git;a=blobdiff_plain;f=app%2Fsrc%2Fmain%2Fjava%2Fcom%2Fstoutner%2Fprivacybrowser%2Factivities%2FBookmarksActivity.java;h=4536001b1554b4f586ac7468f5600a8a9d879358;hp=a178d49aa77016ace5c45b8b101e4f45d3301da2;hb=b9b9315f5b6b0bc171082f11660ca390748c0c2b;hpb=b2b407b630e40bcf914e72bfe7609e093a54d42c diff --git a/app/src/main/java/com/stoutner/privacybrowser/activities/BookmarksActivity.java b/app/src/main/java/com/stoutner/privacybrowser/activities/BookmarksActivity.java index a178d49a..4536001b 100644 --- a/app/src/main/java/com/stoutner/privacybrowser/activities/BookmarksActivity.java +++ b/app/src/main/java/com/stoutner/privacybrowser/activities/BookmarksActivity.java @@ -203,7 +203,17 @@ public class BookmarksActivity extends AppCompatActivity implements CreateBookma @Override public boolean onPrepareActionMode(ActionMode mode, Menu menu) { - return false; + // Get a handle for the move to folder menu item. + MenuItem moveToFolderMenuItem = menu.findItem(R.id.move_to_folder); + + // Get a `Cursor` with all of the folders. + Cursor folderCursor = bookmarksDatabaseHelper.getAllFoldersCursor(); + + // Enable the move to folder menu item if at least one folder exists. + moveToFolderMenuItem.setVisible(folderCursor.getCount() > 0); + + // `return true` indicates that the menu has been updated. + return true; } @Override @@ -759,39 +769,35 @@ public class BookmarksActivity extends AppCompatActivity implements CreateBookma ListView folderListView = (ListView) dialogFragment.getDialog().findViewById(R.id.move_to_folder_listview); long[] newFolderLongArray = folderListView.getCheckedItemIds(); - if (newFolderLongArray.length == 0) { // No new folder was selected. - Snackbar.make(findViewById(R.id.bookmarks_coordinatorlayout), getString(R.string.cannot_move_bookmarks), Snackbar.LENGTH_INDEFINITE).show(); - } else { // Move the selected bookmarks. - // Get the new folder database ID. - int newFolderDatabaseId = (int) newFolderLongArray[0]; - - // Instantiate `newFolderName`. - String newFolderName; - - if (newFolderDatabaseId == 0) { - // The new folder is the home folder, represented as `""` in the database. - newFolderName = ""; - } else { - // Get the new folder name from the database. - newFolderName = bookmarksDatabaseHelper.getFolderName(newFolderDatabaseId); - } + // Get the new folder database ID. + int newFolderDatabaseId = (int) newFolderLongArray[0]; - // Get a long array with the the database ID of the selected bookmarks. - long[] selectedBookmarksLongArray = bookmarksListView.getCheckedItemIds(); - for (long databaseIdLong : selectedBookmarksLongArray) { - // Get `databaseIdInt` for each selected bookmark. - int databaseIdInt = (int) databaseIdLong; + // Instantiate `newFolderName`. + String newFolderName; - // Move the selected bookmark to the new folder. - bookmarksDatabaseHelper.moveToFolder(databaseIdInt, newFolderName); - } + if (newFolderDatabaseId == 0) { + // The new folder is the home folder, represented as `""` in the database. + newFolderName = ""; + } else { + // Get the new folder name from the database. + newFolderName = bookmarksDatabaseHelper.getFolderName(newFolderDatabaseId); + } - // Refresh the `ListView`. - updateBookmarksListView(currentFolder); + // Get a long array with the the database ID of the selected bookmarks. + long[] selectedBookmarksLongArray = bookmarksListView.getCheckedItemIds(); + for (long databaseIdLong : selectedBookmarksLongArray) { + // Get `databaseIdInt` for each selected bookmark. + int databaseIdInt = (int) databaseIdLong; - // Close the contextual app bar. - contextualActionMode.finish(); + // Move the selected bookmark to the new folder. + bookmarksDatabaseHelper.moveToFolder(databaseIdInt, newFolderName); } + + // Refresh the `ListView`. + updateBookmarksListView(currentFolder); + + // Close the contextual app bar. + contextualActionMode.finish(); } private void updateBookmarksListView(String folderName) {