aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStephen Bird <sbird@cyngn.com>2015-08-24 15:07:33 -0700
committerStephen Bird <sbird@cyngn.com>2015-08-24 15:09:00 -0700
commit85032a699b4f9d6101599be230257eab7a8cd76a (patch)
treeb16ab633f880e629fce88639263edb8a1abc7b14
parent37e57cfc1c5b038e1cfeb7f8c60eb7fb66cbb93d (diff)
downloadandroid_packages_apps_CMFileManager-85032a699b4f9d6101599be230257eab7a8cd76a.tar.gz
android_packages_apps_CMFileManager-85032a699b4f9d6101599be230257eab7a8cd76a.tar.bz2
android_packages_apps_CMFileManager-85032a699b4f9d6101599be230257eab7a8cd76a.zip
Bookmarks: check to see if a bookmark exists before adding it
Previously, this would result in multiple bookmarks of the same location Ticket: QRDL-989 Change-Id: I0f19045bc7a6d5fa98c9ef4ee1a8ccda9c501eb1
-rw-r--r--res/values/strings.xml2
-rw-r--r--src/com/cyanogenmod/filemanager/ui/dialogs/ActionsDialog.java2
-rw-r--r--src/com/cyanogenmod/filemanager/ui/policy/BookmarksActionPolicy.java9
3 files changed, 12 insertions, 1 deletions
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 08980142..75d91ecc 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -378,6 +378,8 @@
<string name="bookmarks_button_remove_bookmark_cd">Remove the bookmark.</string>
<!-- Bookmarks - Bookmarks - Actions - Bookmark successfully added -->
<string name="bookmarks_msgs_add_success">The bookmark was added successfully.</string>
+ <!-- Bookmarks - Bookmarks - Actions - Bookmark already exists -->
+ <string name="bookmarks_msgs_add_exists">The bookmark was already exists.</string>
<!-- Initial directory dialog title -->
<string name="initial_directory_dialog_title">Initial folder</string>
diff --git a/src/com/cyanogenmod/filemanager/ui/dialogs/ActionsDialog.java b/src/com/cyanogenmod/filemanager/ui/dialogs/ActionsDialog.java
index 44bfeddc..ecc7ce2c 100644
--- a/src/com/cyanogenmod/filemanager/ui/dialogs/ActionsDialog.java
+++ b/src/com/cyanogenmod/filemanager/ui/dialogs/ActionsDialog.java
@@ -400,7 +400,7 @@ public class ActionsDialog implements OnItemClickListener, OnItemLongClickListen
case R.id.mnu_actions_add_to_bookmarks_current_folder:
Bookmark bookmark = BookmarksActionPolicy.addToBookmarks(
this.mContext, this.mFso);
- if (mBackRef != null) {
+ if (mBackRef != null && bookmark != null) {
// tell NavigationActivity's drawer to add the bookmark
mBackRef.addBookmark(bookmark);
}
diff --git a/src/com/cyanogenmod/filemanager/ui/policy/BookmarksActionPolicy.java b/src/com/cyanogenmod/filemanager/ui/policy/BookmarksActionPolicy.java
index ce3fe2e6..483d8abe 100644
--- a/src/com/cyanogenmod/filemanager/ui/policy/BookmarksActionPolicy.java
+++ b/src/com/cyanogenmod/filemanager/ui/policy/BookmarksActionPolicy.java
@@ -40,6 +40,15 @@ public final class BookmarksActionPolicy extends ActionsPolicy {
*/
public static Bookmark addToBookmarks(final Context ctx, final FileSystemObject fso) {
try {
+ // Check if the bookmark exists already
+ if (Bookmarks.getBookmark(ctx.getContentResolver(), fso.getFullPath()) != null) {
+ DialogHelper.showToast(
+ ctx,
+ R.string.bookmarks_msgs_add_exists,
+ Toast.LENGTH_SHORT);
+ return null;
+ }
+
// Create the bookmark
Bookmark bookmark =
new Bookmark(BOOKMARK_TYPE.USER_DEFINED, fso.getName(), fso.getFullPath());