summaryrefslogtreecommitdiffstats
path: root/src/com/android/browser/BrowserBookmarksPage.java
diff options
context:
space:
mode:
authorLeon Scroggins <scroggo@google.com>2009-08-18 14:13:31 -0400
committerLeon Scroggins <scroggo@google.com>2009-08-19 12:46:30 -0400
commitd87f85ede8552e8560906037c4e47f49d67fcfcd (patch)
tree72387fc7413079689a1756bdde7232ad2b787033 /src/com/android/browser/BrowserBookmarksPage.java
parente9f8f00aef6a2d3bcb4975b558a6e14d5929cb73 (diff)
downloadpackages_apps_browser-d87f85ede8552e8560906037c4e47f49d67fcfcd.zip
packages_apps_browser-d87f85ede8552e8560906037c4e47f49d67fcfcd.tar.gz
packages_apps_browser-d87f85ede8552e8560906037c4e47f49d67fcfcd.tar.bz2
Fix a crasher on the most visited page when the history is empty.
Make sure that the empty view is always available by setting it as the content view, and adding the list or grid. Fixes http://b/issue?id=2041975
Diffstat (limited to 'src/com/android/browser/BrowserBookmarksPage.java')
-rw-r--r--src/com/android/browser/BrowserBookmarksPage.java42
1 files changed, 26 insertions, 16 deletions
diff --git a/src/com/android/browser/BrowserBookmarksPage.java b/src/com/android/browser/BrowserBookmarksPage.java
index cf2dbc0..7e72ae9 100644
--- a/src/com/android/browser/BrowserBookmarksPage.java
+++ b/src/com/android/browser/BrowserBookmarksPage.java
@@ -238,9 +238,11 @@ public class BrowserBookmarksPage extends Activity implements
getIntent().getStringExtra("url"),
getIntent().getStringExtra("title"), mCreateShortcut,
mMostVisited);
- if (mMostVisited) {
- mEmptyView = new ViewStub(this, R.layout.empty_history);
- }
+
+ setContentView(R.layout.empty_history);
+ mEmptyView = findViewById(R.id.empty_view);
+ mEmptyView.setVisibility(View.GONE);
+
switchViewMode(true);
}
@@ -271,15 +273,16 @@ public class BrowserBookmarksPage extends Activity implements
mGridPage.setOnCreateContextMenuListener(this);
}
}
- setContentView(mGridPage);
+ addContentView(mGridPage, FULL_SCREEN_PARAMS);
+ if (mVerticalList != null) {
+ ViewGroup parent = (ViewGroup) mVerticalList.getParent();
+ if (parent != null) {
+ parent.removeView(mVerticalList);
+ }
+ }
} else {
if (null == mVerticalList) {
- LayoutInflater factory = LayoutInflater.from(this);
- mVerticalList = factory.inflate(R.layout.browser_bookmarks_page,
- null);
-
- ListView listView
- = (ListView) mVerticalList.findViewById(R.id.list);
+ ListView listView = new ListView(this);
listView.setAdapter(mBookmarksAdapter);
listView.setDrawSelectorOnTop(false);
listView.setVerticalScrollBarEnabled(true);
@@ -287,19 +290,26 @@ public class BrowserBookmarksPage extends Activity implements
if (mMostVisited) {
listView.setEmptyView(mEmptyView);
}
-
if (!mCreateShortcut) {
listView.setOnCreateContextMenuListener(this);
}
+ mVerticalList = listView;
+ }
+ addContentView(mVerticalList, FULL_SCREEN_PARAMS);
+ if (mGridPage != null) {
+ ViewGroup parent = (ViewGroup) mGridPage.getParent();
+ if (parent != null) {
+ parent.removeView(mGridPage);
+ }
}
- setContentView(mVerticalList);
- }
- if (mMostVisited) {
- addContentView(mEmptyView, new LayoutParams(
- LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
}
}
+ private static final ViewGroup.LayoutParams FULL_SCREEN_PARAMS
+ = new ViewGroup.LayoutParams(
+ ViewGroup.LayoutParams.FILL_PARENT,
+ ViewGroup.LayoutParams.FILL_PARENT);
+
private static final int SAVE_CURRENT_PAGE = 1000;
private final Handler mHandler = new Handler() {
@Override