Bookmark UI update
Change-Id: Ibdf7f93f7c5863d7108044dcd40d3866ff02518a
diff --git a/src/com/android/browser/BrowserBookmarksPage.java b/src/com/android/browser/BrowserBookmarksPage.java
index d5a5182..2df0561 100644
--- a/src/com/android/browser/BrowserBookmarksPage.java
+++ b/src/com/android/browser/BrowserBookmarksPage.java
@@ -33,6 +33,8 @@
import android.content.Loader;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
+import android.content.res.Configuration;
+import android.content.res.Resources;
import android.database.Cursor;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
@@ -47,10 +49,10 @@
import android.view.ContextMenu;
import android.view.ContextMenu.ContextMenuInfo;
import android.view.LayoutInflater;
+import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
-import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.webkit.WebIconDatabase.IconListener;
import android.widget.Adapter;
@@ -60,7 +62,6 @@
import android.widget.GridView;
import android.widget.ListView;
import android.widget.PopupMenu.OnMenuItemClickListener;
-import android.widget.TextView;
import android.widget.Toast;
interface BookmarksPageCallbacks {
@@ -76,7 +77,7 @@
*/
public class BrowserBookmarksPage extends Fragment implements View.OnCreateContextMenuListener,
LoaderManager.LoaderCallbacks<Cursor>, OnItemClickListener, IconListener,
- OnItemSelectedListener, BreadCrumbView.Controller, OnClickListener, OnMenuItemClickListener {
+ OnItemSelectedListener, BreadCrumbView.Controller, OnMenuItemClickListener {
static final String LOGTAG = "browser";
@@ -108,7 +109,6 @@
View mHeader;
ViewGroup mHeaderContainer;
BreadCrumbView mCrumbs;
- TextView mSelectBookmarkView;
int mCrumbVisibility = View.VISIBLE;
int mCrumbMaxVisible = -1;
boolean mCrumbBackButton = false;
@@ -339,6 +339,11 @@
};
@Override
+ public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
+ inflater.inflate(R.menu.bookmark, menu);
+ }
+
+ @Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) {
AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo) menuInfo;
Cursor cursor = mAdapter.getItem(info.position);
@@ -401,6 +406,8 @@
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
+ setHasOptionsMenu(true);
+
Bundle args = getArguments();
mDisableNewWindow = args == null ? false : args.getBoolean(EXTRA_DISABLE_WINDOW, false);
}
@@ -438,19 +445,12 @@
if (mCallbacks != null) {
mCallbacks.onFolderChanged(1, BrowserContract.Bookmarks.CONTENT_URI_DEFAULT_FOLDER);
}
- mSelectBookmarkView = (TextView) mHeader.findViewById(R.id.select_bookmark_view);
- mSelectBookmarkView.setOnClickListener(this);
// Start the loaders
LoaderManager lm = getLoaderManager();
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
mCurrentView =
prefs.getInt(PREF_SELECTED_VIEW, BrowserBookmarksPage.VIEW_THUMBNAILS);
- if (mCurrentView == BrowserBookmarksPage.VIEW_THUMBNAILS) {
- mSelectBookmarkView.setText(R.string.bookmark_list_view);
- } else {
- mSelectBookmarkView.setText(R.string.bookmark_thumbnail_view);
- }
mAdapter = new BrowserBookmarksAdapter(getActivity(), mCurrentView);
String accountType = prefs.getString(PREF_ACCOUNT_TYPE, DEFAULT_ACCOUNT);
String accountName = prefs.getString(PREF_ACCOUNT_NAME, DEFAULT_ACCOUNT);
@@ -650,16 +650,39 @@
cm.setPrimaryClip(ClipData.newRawUri(null, null, Uri.parse(text.toString())));
}
+ @Override
+ public boolean onOptionsItemSelected(MenuItem item) {
+ switch (item.getItemId()) {
+ case R.id.thumbnail_view:
+ selectView(VIEW_THUMBNAILS);
+ return true;
+ case R.id.list_view:
+ selectView(VIEW_LIST);
+ return true;
+ }
+ return super.onOptionsItemSelected(item);
+ }
+
+ @Override
+ public void onConfigurationChanged(Configuration newConfig) {
+ super.onConfigurationChanged(newConfig);
+ Resources res = getActivity().getResources();
+ int horizontalSpacing = (int) res.getDimension(R.dimen.combo_horizontalSpacing);
+ mGrid.setHorizontalSpacing(horizontalSpacing);
+ }
+
+ @Override
+ public void onPrepareOptionsMenu(Menu menu) {
+ super.onPrepareOptionsMenu(menu);
+ menu.findItem(R.id.list_view).setVisible(mCurrentView != VIEW_LIST);
+ menu.findItem(R.id.thumbnail_view).setVisible(mCurrentView != VIEW_THUMBNAILS);
+ }
+
void selectView(int view) {
if (view == mCurrentView) {
return;
}
mCurrentView = view;
- if (mCurrentView == BrowserBookmarksPage.VIEW_THUMBNAILS) {
- mSelectBookmarkView.setText(R.string.bookmark_list_view);
- } else {
- mSelectBookmarkView.setText(R.string.bookmark_thumbnail_view);
- }
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getActivity());
Editor edit = prefs.edit();
edit.putInt(PREF_SELECTED_VIEW, mCurrentView);
@@ -716,15 +739,6 @@
}
@Override
- public void onClick(View view) {
- if (mSelectBookmarkView == view) {
- selectView(mCurrentView == BrowserBookmarksPage.VIEW_LIST
- ? BrowserBookmarksPage.VIEW_THUMBNAILS
- : BrowserBookmarksPage.VIEW_LIST);
- }
- }
-
- @Override
public boolean onMenuItemClick(MenuItem item) {
switch (item.getItemId()) {
case R.id.list_view: