fix edit bookmark bug
http://b/issue?id=2950270

Change-Id: I8ff44737c33b03c895cf158b8bcfd5c237c6b111
diff --git a/src/com/android/browser/BrowserBookmarksPage.java b/src/com/android/browser/BrowserBookmarksPage.java
index 1bc5b9f..91785d5 100644
--- a/src/com/android/browser/BrowserBookmarksPage.java
+++ b/src/com/android/browser/BrowserBookmarksPage.java
@@ -20,8 +20,8 @@
 import android.app.AlertDialog;
 import android.app.Fragment;
 import android.app.LoaderManager;
-import android.content.ClipboardManager;
 import android.content.ClipData;
+import android.content.ClipboardManager;
 import android.content.ContentUris;
 import android.content.ContentValues;
 import android.content.Context;
@@ -353,13 +353,13 @@
         Intent intent = new Intent(getActivity(), AddBookmarkPage.class);
         Cursor cursor = (Cursor) mAdapter.getItem(position);
         Bundle item = new Bundle();
-        item.putString(Browser.BookmarkColumns.TITLE,
+        item.putString(BrowserContract.Bookmarks.TITLE,
                 cursor.getString(BookmarksLoader.COLUMN_INDEX_TITLE));
-        item.putString(Browser.BookmarkColumns.URL,
+        item.putString(BrowserContract.Bookmarks.URL,
                 cursor.getString(BookmarksLoader.COLUMN_INDEX_URL));
         byte[] data = cursor.getBlob(BookmarksLoader.COLUMN_INDEX_FAVICON);
         if (data != null) {
-            item.putParcelable(Browser.BookmarkColumns.FAVICON,
+            item.putParcelable(BrowserContract.Bookmarks.FAVICON,
                     BitmapFactory.decodeByteArray(data, 0, data.length));
         }
         item.putInt("id", cursor.getInt(BookmarksLoader.COLUMN_INDEX_ID));
@@ -395,7 +395,7 @@
     public void updateRow(Bundle map) {
 
         // Find the record
-        long id = map.getLong("id");
+        int id = map.getInt("id");
         int position = -1;
         Cursor cursor = mAdapter.getCursor();
         for (cursor.moveToFirst(); !cursor.isAfterLast(); cursor.moveToNext()) {
@@ -410,17 +410,17 @@
 
         cursor.moveToPosition(position);
         ContentValues values = new ContentValues();
-        String title = map.getString(Browser.BookmarkColumns.TITLE);
-        if (!title.equals(cursor.getString(Browser.HISTORY_PROJECTION_TITLE_INDEX))) {
-            values.put(Browser.BookmarkColumns.TITLE, title);
+        String title = map.getString(BrowserContract.Bookmarks.TITLE);
+        if (!title.equals(cursor.getString(BookmarksLoader.COLUMN_INDEX_TITLE))) {
+            values.put(BrowserContract.Bookmarks.TITLE, title);
         }
-        String url = map.getString(Browser.BookmarkColumns.URL);
-        if (!url.equals(cursor.getString(Browser.HISTORY_PROJECTION_URL_INDEX))) {
-            values.put(Browser.BookmarkColumns.URL, url);
+        String url = map.getString(BrowserContract.Bookmarks.URL);
+        if (!url.equals(cursor.getString(BookmarksLoader.COLUMN_INDEX_URL))) {
+            values.put(BrowserContract.Bookmarks.URL, url);
         }
 
         if (map.getBoolean("invalidateThumbnail") == true) {
-            values.putNull(Browser.BookmarkColumns.THUMBNAIL);
+            values.putNull(BrowserContract.Bookmarks.THUMBNAIL);
         }
 
         if (values.size() > 0) {
@@ -428,6 +428,7 @@
                     ContentUris.withAppendedId(BrowserContract.Bookmarks.CONTENT_URI, id),
                     values, null, null);
         }
+        updateView();
     }
 
     private void displayRemoveBookmarkDialog(final int position) {
@@ -469,5 +470,13 @@
         String url = cursor.getString(BookmarksLoader.COLUMN_INDEX_URL);
         String title = cursor.getString(BookmarksLoader.COLUMN_INDEX_TITLE);
         Bookmarks.removeFromBookmarks(null, getActivity().getContentResolver(), url, title);
+        updateView();
     }
+
+    private void updateView() {
+        BookmarksLoader loader =
+            (BookmarksLoader) (Loader)(getLoaderManager().getLoader(LOADER_BOOKMARKS));
+        loader.forceLoad();
+    }
+
 }