diff options
author | Leon Scroggins <scroggo@google.com> | 2009-08-18 14:13:31 -0400 |
---|---|---|
committer | Leon Scroggins <scroggo@google.com> | 2009-08-19 12:46:30 -0400 |
commit | d87f85ede8552e8560906037c4e47f49d67fcfcd (patch) | |
tree | 72387fc7413079689a1756bdde7232ad2b787033 /src/com/android/browser/BrowserBookmarksPage.java | |
parent | e9f8f00aef6a2d3bcb4975b558a6e14d5929cb73 (diff) | |
download | packages_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.java | 42 |
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 |