diff options
author | Tarun Nainani <tnainani@codeaurora.org> | 2015-08-29 10:34:40 +0200 |
---|---|---|
committer | jrizzoli <joey@cyanogenmoditalia.it> | 2015-08-29 12:36:49 +0200 |
commit | 15b70af63c3fc1d96e9ec19a12dcb423ecc132cc (patch) | |
tree | 9190741391c3254060c28a5bd6ab7e0716ca831e | |
parent | 4a67fe8e100ba1fd802697f00b520b20677a0df5 (diff) | |
download | android_packages_apps_Gello-15b70af63c3fc1d96e9ec19a12dcb423ecc132cc.tar.gz android_packages_apps_Gello-15b70af63c3fc1d96e9ec19a12dcb423ecc132cc.tar.bz2 android_packages_apps_Gello-15b70af63c3fc1d96e9ec19a12dcb423ecc132cc.zip |
Do not allow duplicate Bookmark folder
Change-Id: I42f086128fb62805b08c581d09e53fd974d23f02
-rw-r--r-- | src/src/com/android/browser/AddBookmarkFolder.java | 39 |
1 files changed, 38 insertions, 1 deletions
diff --git a/src/src/com/android/browser/AddBookmarkFolder.java b/src/src/com/android/browser/AddBookmarkFolder.java index faff0274..a396ee83 100644 --- a/src/src/com/android/browser/AddBookmarkFolder.java +++ b/src/src/com/android/browser/AddBookmarkFolder.java @@ -350,7 +350,10 @@ public class AddBookmarkFolder extends Activity implements View.OnClickListener, } private long addFolderToCurrent(String name) { - // Add the folder to the database + // Add the folder to the database if doesn't already exists + if(getIdFromName(name) != -1) + return -1; + ContentValues values = new ContentValues(); values.put(BrowserContract.Bookmarks.TITLE, name); values.put(BrowserContract.Bookmarks.IS_FOLDER, 1); @@ -704,6 +707,8 @@ public class AddBookmarkFolder extends Activity implements View.OnClickListener, title = cursor.getString(0); } } + } catch (Exception e) { + return title; } finally { if (cursor != null) { cursor.close(); @@ -712,6 +717,36 @@ public class AddBookmarkFolder extends Activity implements View.OnClickListener, return title; } + // get folder id from folder title + private long getIdFromName(String title) { + String titleIdString = "-1"; + Cursor cursor = null; + try { + cursor = getApplicationContext().getContentResolver().query( + BrowserContract.Bookmarks.CONTENT_URI, + new String[] { + BrowserContract.Bookmarks._ID + }, + BrowserContract.Bookmarks.TITLE + " = ? AND " + + BrowserContract.Bookmarks.IS_DELETED + " = ? AND " + + BrowserContract.Bookmarks.IS_FOLDER + " = ? ", new String[] { + title, 0 + "", 1 + "" + }, null); + if (cursor != null && cursor.getCount() != 0) { + while (cursor.moveToNext()) { + titleIdString = cursor.getString(0); + } + } + } catch (Exception e) { + return Long.parseLong(titleIdString); + } finally { + if (cursor != null) { + cursor.close(); + } + } + return Long.parseLong(titleIdString); + } + private void showRemoveButton() { findViewById(R.id.remove_divider).setVisibility(View.VISIBLE); mRemoveLink = findViewById(R.id.remove); @@ -934,6 +969,8 @@ public class AddBookmarkFolder extends Activity implements View.OnClickListener, } c.close(); } + } catch (Exception e) { + return info; } finally { if (c != null) { c.close(); |