summaryrefslogtreecommitdiffstats
path: root/src/com/android/browser/view
diff options
context:
space:
mode:
authorJohn Reck <jreck@google.com>2011-06-20 13:00:12 -0700
committerJohn Reck <jreck@google.com>2011-06-20 13:21:56 -0700
commit9db9529bdb7490ccd72fbe66f7e9c9d7cdd73899 (patch)
tree323b6720146f40e7cf44a0726bb2021e71c64315 /src/com/android/browser/view
parentb6f83376eaf0766a8e5aa6eeb06976f463f37ea0 (diff)
downloadandroid_packages_apps_Gello-9db9529bdb7490ccd72fbe66f7e9c9d7cdd73899.tar.gz
android_packages_apps_Gello-9db9529bdb7490ccd72fbe66f7e9c9d7cdd73899.tar.bz2
android_packages_apps_Gello-9db9529bdb7490ccd72fbe66f7e9c9d7cdd73899.zip
Re-enable list view mode
Bug: 4645489 Change-Id: Id6eab53a6cb73083781c96a41bfeffec6eae0498
Diffstat (limited to 'src/com/android/browser/view')
-rw-r--r--src/com/android/browser/view/BookmarkExpandableView.java (renamed from src/com/android/browser/view/BookmarkExpandableGridView.java)62
1 files changed, 48 insertions, 14 deletions
diff --git a/src/com/android/browser/view/BookmarkExpandableGridView.java b/src/com/android/browser/view/BookmarkExpandableView.java
index c8811d1c..6f5fdaa9 100644
--- a/src/com/android/browser/view/BookmarkExpandableGridView.java
+++ b/src/com/android/browser/view/BookmarkExpandableView.java
@@ -38,6 +38,7 @@ import com.android.browser.BookmarkDragHandler.BookmarkDragAdapter;
import com.android.browser.BookmarkDragHandler.BookmarkDragState;
import com.android.browser.BreadCrumbView;
import com.android.browser.BrowserBookmarksAdapter;
+import com.android.browser.BrowserBookmarksPage;
import com.android.browser.BrowserBookmarksPage.ExtraDragState;
import com.android.browser.R;
import com.android.internal.view.menu.MenuBuilder;
@@ -45,7 +46,7 @@ import com.android.internal.view.menu.MenuBuilder;
import java.util.ArrayList;
import java.util.HashMap;
-public class BookmarkExpandableGridView extends ExpandableListView
+public class BookmarkExpandableView extends ExpandableListView
implements BreadCrumbView.Controller {
private BookmarkAccountAdapter mAdapter;
@@ -58,18 +59,19 @@ public class BookmarkExpandableGridView extends ExpandableListView
private BreadCrumbView.Controller mBreadcrumbController;
private BookmarkDragHandler mDragHandler;
private int mMaxColumnCount;
+ private int mCurrentView = -1;
- public BookmarkExpandableGridView(Context context) {
+ public BookmarkExpandableView(Context context) {
super(context);
init(context);
}
- public BookmarkExpandableGridView(Context context, AttributeSet attrs) {
+ public BookmarkExpandableView(Context context, AttributeSet attrs) {
super(context, attrs);
init(context);
}
- public BookmarkExpandableGridView(
+ public BookmarkExpandableView(
Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
init(context);
@@ -131,6 +133,9 @@ public class BookmarkExpandableGridView extends ExpandableListView
adapter.registerDataSetObserver(mAdapter.mObserver);
}
} else {
+ if (mCurrentView >= 0) {
+ adapter.selectView(mCurrentView);
+ }
mAdapter.mGroups.add(accountName);
mAdapter.mChildren.add(adapter);
adapter.registerDataSetObserver(mAdapter.mObserver);
@@ -224,7 +229,7 @@ public class BookmarkExpandableGridView extends ExpandableListView
extraState.childPosition,
extraState.groupPosition);
if (getParent() != null) {
- getParent().showContextMenuForChild(BookmarkExpandableGridView.this);
+ getParent().showContextMenuForChild(BookmarkExpandableView.this);
}
}
@@ -252,7 +257,7 @@ public class BookmarkExpandableGridView extends ExpandableListView
int childPosition = (Integer) v.getTag(R.id.child_position);
long id = (Long) v.getTag(R.id.child_id);
if (mOnChildClickListener != null) {
- mOnChildClickListener.onChildClick(BookmarkExpandableGridView.this,
+ mOnChildClickListener.onChildClick(BookmarkExpandableView.this,
v, groupPosition, childPosition, id);
}
}
@@ -289,6 +294,14 @@ public class BookmarkExpandableGridView extends ExpandableListView
return mAdapter.getBreadCrumbView(groupPosition);
}
+ public void selectView(int view) {
+ mCurrentView = view;
+ for (BrowserBookmarksAdapter adapter : mAdapter.mChildren) {
+ adapter.selectView(mCurrentView);
+ }
+ mAdapter.notifyDataSetChanged();
+ }
+
class BookmarkAccountAdapter extends BaseExpandableListAdapter {
ArrayList<BrowserBookmarksAdapter> mChildren;
ArrayList<String> mGroups;
@@ -339,17 +352,21 @@ public class BookmarkExpandableGridView extends ExpandableListView
if (convertView == null) {
convertView = mInflater.inflate(R.layout.bookmark_grid_row, parent, false);
}
+ BrowserBookmarksAdapter childAdapter = mChildren.get(groupPosition);
+ int rowCount = mRowCount;
+ if (childAdapter.getViewMode() == BrowserBookmarksPage.VIEW_LIST) {
+ rowCount = 1;
+ }
LinearLayout row = (LinearLayout) convertView;
- if (row.getChildCount() > mRowCount) {
- row.removeViews(mRowCount, row.getChildCount() - mRowCount);
+ if (row.getChildCount() > rowCount) {
+ row.removeViews(rowCount, row.getChildCount() - rowCount);
}
- for (int i = 0; i < mRowCount; i++) {
+ for (int i = 0; i < rowCount; i++) {
View cv = null;
if (row.getChildCount() > i) {
cv = row.getChildAt(i);
}
- int realChildPosition = (childPosition * mRowCount) + i;
- BrowserBookmarksAdapter childAdapter = mChildren.get(groupPosition);
+ int realChildPosition = (childPosition * rowCount) + i;
if (realChildPosition < childAdapter.getCount()) {
View v = childAdapter.getView(realChildPosition, cv, row);
v.setTag(R.id.group_position, groupPosition);
@@ -378,8 +395,11 @@ public class BookmarkExpandableGridView extends ExpandableListView
@Override
public int getChildrenCount(int groupPosition) {
- return (int) Math.ceil(
- mChildren.get(groupPosition).getCount() / (float)mRowCount);
+ BrowserBookmarksAdapter adapter = mChildren.get(groupPosition);
+ if (adapter.getViewMode() == BrowserBookmarksPage.VIEW_LIST) {
+ return adapter.getCount();
+ }
+ return (int) Math.ceil(adapter.getCount() / (float)mRowCount);
}
@Override
@@ -443,7 +463,7 @@ public class BookmarkExpandableGridView extends ExpandableListView
if (crumbs == null) {
crumbs = (BreadCrumbView)
mInflater.inflate(R.layout.bookmarks_header, null);
- crumbs.setController(BookmarkExpandableGridView.this);
+ crumbs.setController(BookmarkExpandableView.this);
crumbs.setUseBackButton(true);
crumbs.setMaxVisible(2);
String bookmarks = mContext.getString(R.string.bookmarks);
@@ -464,6 +484,20 @@ public class BookmarkExpandableGridView extends ExpandableListView
public boolean isChildSelectable(int groupPosition, int childPosition) {
return true;
}
+
+ @Override
+ public int getChildTypeCount() {
+ return 2;
+ }
+
+ @Override
+ public int getChildType(int groupPosition, int childPosition) {
+ BrowserBookmarksAdapter adapter = mChildren.get(groupPosition);
+ if (adapter.getViewMode() == BrowserBookmarksPage.VIEW_LIST) {
+ return 1;
+ }
+ return 0;
+ }
}
public static class BookmarkContextMenuInfo implements ContextMenuInfo {