fixed adding bookmark shortcut from home screen
bug: http://b/issue?id=2948937
added shortcut activity to host bookmarks page fragment
Change-Id: I39db8985b3c07fae6ca800cc57da3747040cb814
diff --git a/src/com/android/browser/BrowserBookmarksPage.java b/src/com/android/browser/BrowserBookmarksPage.java
index f9dc5e0..3ef19f3 100644
--- a/src/com/android/browser/BrowserBookmarksPage.java
+++ b/src/com/android/browser/BrowserBookmarksPage.java
@@ -64,6 +64,9 @@
static final int LOADER_BOOKMARKS = 1;
+ static final String EXTRA_SHORTCUT = "create_shortcut";
+ static final String EXTRA_DISABLE_WINDOW = "disable_new_window";
+
BookmarksHistoryCallbacks mCallbacks;
GridView mGrid;
BrowserBookmarksAdapter mAdapter;
@@ -103,7 +106,7 @@
// Fill in the "up" button if needed
BookmarksLoader bl = (BookmarksLoader) loader;
- boolean rootFolder =
+ boolean rootFolder =
(BrowserContract.Bookmarks.CONTENT_URI_DEFAULT_FOLDER.equals(bl.getUri()));
if (rootFolder) {
mUpButton.setText(R.string.defaultBookmarksUpButton);
@@ -121,7 +124,7 @@
public void onClick(View view) {
if (view == mUpButton) {
Pair<String, Uri> pair = mFolderStack.pop();
- BookmarksLoader loader =
+ BookmarksLoader loader =
(BookmarksLoader) ((Loader) getLoaderManager().getLoader(LOADER_BOOKMARKS));
loader.setUri(pair.second);
loader.forceLoad();
@@ -203,7 +206,7 @@
@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) {
AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo) menuInfo;
-
+
final Activity activity = getActivity();
MenuInflater inflater = activity.getMenuInflater();
inflater.inflate(R.menu.bookmarkscontext, menu);
@@ -253,7 +256,7 @@
super.onAttach(activity);
mCallbacks = (BookmarksHistoryCallbacks) activity;
}
-
+
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
@@ -283,7 +286,7 @@
return root;
}
-
+
@Override
public void onReceivedIcon(String url, Bitmap icon) {
// A new favicon has been loaded, so let anything attached to the adapter know about it
@@ -300,8 +303,9 @@
return;
}
if (mCreateShortcut) {
- // TODO handle this
- createShortcutIntent(position);
+ Intent intent = createShortcutIntent(position);
+ // the activity handles the intent in startActivityFromFragment
+ startActivity(intent);
return;
}
@@ -315,10 +319,10 @@
title = cursor.getString(BookmarksLoader.COLUMN_INDEX_TITLE);
} else {
// TODO localize
- title = "Bookmarks";
+ title = "Bookmarks";
}
LoaderManager manager = getLoaderManager();
- BookmarksLoader loader =
+ BookmarksLoader loader =
(BookmarksLoader) ((Loader) manager.getLoader(LOADER_BOOKMARKS));
mFolderStack.push(new Pair(title, loader.getUri()));
Uri uri = ContentUris.withAppendedId(
@@ -349,9 +353,9 @@
Intent intent = new Intent(getActivity(), AddBookmarkPage.class);
Cursor cursor = (Cursor) mAdapter.getItem(position);
Bundle item = new Bundle();
- item.putString(Browser.BookmarkColumns.TITLE,
+ item.putString(Browser.BookmarkColumns.TITLE,
cursor.getString(BookmarksLoader.COLUMN_INDEX_TITLE));
- item.putString(Browser.BookmarkColumns.URL,
+ item.putString(Browser.BookmarkColumns.URL,
cursor.getString(BookmarksLoader.COLUMN_INDEX_URL));
byte[] data = cursor.getBlob(BookmarksLoader.COLUMN_INDEX_FAVICON);
if (data != null) {
@@ -384,7 +388,7 @@
}
/**
- * Update a row in the database with new information.
+ * Update a row in the database with new information.
* Requeries the database if the information has changed.
* @param map Bundle storing id, title and url of new information
*/
@@ -450,7 +454,7 @@
Cursor cursor = (Cursor) mAdapter.getItem(position);
return cursor.getString(BookmarksLoader.COLUMN_INDEX_URL);
}
-
+
private void copy(CharSequence text) {
ClipboardManager cm = (ClipboardManager) getActivity().getSystemService(
Context.CLIPBOARD_SERVICE);