diff options
| author | John Reck <jreck@google.com> | 2011-02-11 17:47:54 -0800 |
|---|---|---|
| committer | John Reck <jreck@google.com> | 2011-02-14 10:49:51 -0800 |
| commit | 9d27ff5437db16b7ca16ec8cea464aaefdacc17e (patch) | |
| tree | 98cdd3cd8f9260168858f5bc0982180dda6bfca1 | |
| parent | 285ef044bb1098b3bf318a65fe6a86c93b2365b0 (diff) | |
| download | packages_apps_Browser-9d27ff5437db16b7ca16ec8cea464aaefdacc17e.tar.gz packages_apps_Browser-9d27ff5437db16b7ca16ec8cea464aaefdacc17e.tar.bz2 packages_apps_Browser-9d27ff5437db16b7ca16ec8cea464aaefdacc17e.zip | |
Make bookmarks useable-ish on phones
This fix just makes it so that you can actually see and get to
all the various controls. It is unpleasant to use, but at least
it can be used at all.
Change-Id: I43dabb337af61497ddee78cb07ffd04d2e9309b2
| -rw-r--r-- | AndroidManifest.xml | 2 | ||||
| -rw-r--r-- | res/layout-xlarge/browser_add_bookmark.xml | 25 | ||||
| -rw-r--r-- | res/layout/browser_add_bookmark.xml | 208 | ||||
| -rw-r--r-- | res/layout/browser_add_bookmark_content.xml | 218 | ||||
| -rw-r--r-- | res/values-xlarge/dimensions.xml | 1 | ||||
| -rw-r--r-- | res/values/dimensions.xml | 1 | ||||
| -rw-r--r-- | res/values/styles.xml | 2 | ||||
| -rw-r--r-- | src/com/android/browser/BrowserActivity.java | 11 | ||||
| -rw-r--r-- | src/com/android/browser/BrowserBookmarksPage.java | 13 | ||||
| -rw-r--r-- | src/com/android/browser/CombinedBookmarkHistoryView.java | 8 |
10 files changed, 277 insertions, 212 deletions
diff --git a/AndroidManifest.xml b/AndroidManifest.xml index 8ac2c8755..9ddc7b5c6 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -166,7 +166,7 @@ </activity> <activity android:name="AddBookmarkPage" android:label="Save bookmark" - android:theme="@style/Dialog" + android:theme="@style/DialogWhenLarge" android:configChanges="orientation|keyboardHidden" android:windowSoftInputMode="stateHidden|adjustPan"> <intent-filter> diff --git a/res/layout-xlarge/browser_add_bookmark.xml b/res/layout-xlarge/browser_add_bookmark.xml new file mode 100644 index 000000000..14edecf11 --- /dev/null +++ b/res/layout-xlarge/browser_add_bookmark.xml @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Copyright (C) 2011 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> + +<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" + android:layout_width="@dimen/add_bookmark_width" + android:layout_height="wrap_content" + android:orientation="vertical" + > + + <include layout="@layout/browser_add_bookmark_content" /> + +</LinearLayout> diff --git a/res/layout/browser_add_bookmark.xml b/res/layout/browser_add_bookmark.xml index f5c09a9e3..b66a37ecd 100644 --- a/res/layout/browser_add_bookmark.xml +++ b/res/layout/browser_add_bookmark.xml @@ -4,9 +4,9 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - + http://www.apache.org/licenses/LICENSE-2.0 - + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. @@ -15,209 +15,11 @@ --> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" - android:layout_width="@dimen/add_bookmark_width" - android:layout_height="wrap_content" + android:layout_width="match_parent" + android:layout_height="match_parent" android:orientation="vertical" > - <RelativeLayout android:id="@+id/crumb_holder" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:minHeight="?android:attr/listPreferredItemHeight" - android:gravity="center_vertical" - android:visibility="gone" - android:paddingLeft="5dip" - android:paddingRight="5dip" - > - <com.android.browser.BreadCrumbView android:id="@+id/crumbs" - android:layout_width="wrap_content" - android:layout_height="?android:attr/listPreferredItemHeight" - android:layout_alignParentLeft="true" - android:layout_toLeftOf="@+id/add_divider" - android:layout_centerVertical="true" - /> - <TextView - android:id="@+id/add_new_folder" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_alignParentRight="true" - android:layout_alignBaseline="@+id/crumbs" - android:drawableLeft="@drawable/ic_add_string" - android:gravity="center_vertical" - android:text="@string/new_folder" - android:visibility="gone" - android:layout_centerVertical="true" - android:textAppearance="?android:attr/textAppearanceMedium" /> - <ImageView android:id="@+id/add_divider" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_toLeftOf="@+id/add_new_folder" - android:src="@drawable/crumb_divider" - android:layout_centerVertical="true" - /> - </RelativeLayout> - <LinearLayout android:id="@+id/title_holder" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:orientation="horizontal" - android:minHeight="?android:attr/listPreferredItemHeight" - android:paddingLeft="5dip" - android:paddingRight="5dip" - > - <TextView android:id="@+id/fake_title" - android:layout_width="0dip" - android:layout_weight="1" - android:layout_height="wrap_content" - android:layout_gravity="center_vertical" - android:gravity="center_vertical" - android:drawableLeft="@drawable/ic_bookmark_on_holo_dark" - android:text="@string/bookmark_this_page" - android:textAppearance="?android:attr/textAppearanceMedium" /> - <ImageView android:id="@+id/remove_divider" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_gravity="center_vertical" - android:src="@drawable/crumb_divider" - android:layout_centerVertical="true" - android:visibility="gone" - /> - <TextView android:id="@+id/remove" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_gravity="center_vertical" - android:gravity="center_vertical" - android:text="@string/remove" - android:drawableLeft="@drawable/trashcan" - android:visibility="gone" - android:textAppearance="?android:attr/textAppearanceMedium" /> - </LinearLayout> - <View android:id="@+id/titleDivider" - android:layout_width="match_parent" - android:layout_height="1dip" - android:gravity="fill_horizontal" - android:background="?android:attr/colorForeground" - /> - - <TableLayout android:id="@+id/default_view" - android:layout_width="match_parent" - android:layout_height="@dimen/folder_selector_height" - android:layout_weight="1" - android:stretchColumns="1" - android:shrinkColumns="1" - android:paddingTop="20dip" - android:paddingLeft="20dip" - android:paddingRight="20dip" > - <TableRow> - <TextView - android:id="@+id/titleText" - android:layout_height="wrap_content" - android:layout_width="wrap_content" - android:layout_marginBottom="40dip" - android:text="@string/name" - android:textAppearance="?android:attr/textAppearanceMedium" /> - - <EditText - android:id="@+id/title" - android:layout_height="wrap_content" - android:layout_width="wrap_content" - android:layout_marginRight="20dip" - android:layout_marginLeft="20dip" - android:gravity="fill_horizontal" - android:inputType="textCapSentences" - android:ellipsize="end" - android:textAppearance="?android:attr/textAppearanceMedium" /> - </TableRow> - - <TableRow - android:id="@+id/row_address"> - <TextView - android:id="@+id/addressText" - android:layout_height="wrap_content" - android:layout_width="wrap_content" - android:text="@string/location" - android:gravity="left" - android:layout_marginBottom="40dip" - android:textAppearance="?android:attr/textAppearanceMedium" /> - - <EditText - android:id="@+id/address" - android:layout_height="wrap_content" - android:layout_width="wrap_content" - android:layout_marginRight="20dip" - android:layout_marginLeft="20dip" - android:hint="@string/http" - android:gravity="fill_horizontal" - android:inputType="textUri" - android:ellipsize="end" - android:textAppearance="?android:attr/textAppearanceMedium" /> - </TableRow> - <TableRow> - <TextView - android:id="@+id/add_to" - android:layout_height="wrap_content" - android:layout_width="wrap_content" - android:text="@string/containing_folder" - android:textAppearance="?android:attr/textAppearanceMedium" /> - - <view class="com.android.browser.addbookmark.FolderSpinner" - android:id="@+id/folder" - android:layout_height="wrap_content" - android:layout_width="wrap_content" - android:layout_marginRight="20dip" - android:layout_marginLeft="20dip" - android:spinnerMode="dropdown" - android:gravity="center_vertical" - /> - </TableRow> - </TableLayout> - - <LinearLayout android:id="@+id/folder_selector" - android:layout_width="match_parent" - android:layout_height="@dimen/folder_selector_height" - android:orientation="vertical" - android:visibility="gone" - > - - <view class="com.android.browser.AddBookmarkPage$CustomListView" - android:id="@+id/list" - android:layout_marginLeft="16dip" - android:layout_marginRight="16dip" - android:layout_width="match_parent" - android:layout_height="wrap_content" - /> - <TextView - android:id="@+id/empty" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:visibility="gone" - android:layout_marginLeft="16dip" - android:layout_marginTop="16dip" - android:text="@string/no_subfolders" - android:textStyle="italic" - android:textAppearance="?android:attr/textAppearanceMedium" /> - </LinearLayout> - <LinearLayout - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:minHeight="54dip" - android:orientation="horizontal" - android:paddingTop="4dip" - android:paddingLeft="2dip" - android:paddingRight="2dip" > - <Button android:id="@+id/OK" - android:text="@string/save" - android:layout_width="0dip" - android:layout_gravity="left" - android:layout_weight="1" - android:maxLines="2" - android:layout_height="wrap_content" /> - <Button android:id="@+id/cancel" - android:text="@string/do_not_save" - android:layout_width="0dip" - android:layout_gravity="right" - android:layout_weight="1" - android:maxLines="2" - android:layout_height="wrap_content" /> - </LinearLayout> + <include layout="@layout/browser_add_bookmark_content" /> </LinearLayout> diff --git a/res/layout/browser_add_bookmark_content.xml b/res/layout/browser_add_bookmark_content.xml new file mode 100644 index 000000000..59d932930 --- /dev/null +++ b/res/layout/browser_add_bookmark_content.xml @@ -0,0 +1,218 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Copyright (C) 2011 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> + +<merge xmlns:android="http://schemas.android.com/apk/res/android"> + <RelativeLayout android:id="@+id/crumb_holder" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:minHeight="?android:attr/listPreferredItemHeight" + android:gravity="center_vertical" + android:visibility="gone" + android:paddingLeft="5dip" + android:paddingRight="5dip" + > + <com.android.browser.BreadCrumbView android:id="@+id/crumbs" + android:layout_width="wrap_content" + android:layout_height="?android:attr/listPreferredItemHeight" + android:layout_alignParentLeft="true" + android:layout_toLeftOf="@+id/add_divider" + android:layout_centerVertical="true" + /> + <TextView + android:id="@+id/add_new_folder" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_alignParentRight="true" + android:layout_alignBaseline="@+id/crumbs" + android:drawableLeft="@drawable/ic_add_string" + android:gravity="center_vertical" + android:text="@string/new_folder" + android:visibility="gone" + android:layout_centerVertical="true" + android:textAppearance="?android:attr/textAppearanceMedium" /> + <ImageView android:id="@+id/add_divider" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_toLeftOf="@+id/add_new_folder" + android:src="@drawable/crumb_divider" + android:layout_centerVertical="true" + /> + </RelativeLayout> + <LinearLayout android:id="@+id/title_holder" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:orientation="horizontal" + android:minHeight="?android:attr/listPreferredItemHeight" + android:paddingLeft="5dip" + android:paddingRight="5dip" + > + <TextView android:id="@+id/fake_title" + android:layout_width="0dip" + android:layout_weight="1" + android:layout_height="wrap_content" + android:layout_gravity="center_vertical" + android:gravity="center_vertical" + android:drawableLeft="@drawable/ic_bookmark_on_holo_dark" + android:text="@string/bookmark_this_page" + android:textAppearance="?android:attr/textAppearanceMedium" /> + <ImageView android:id="@+id/remove_divider" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_gravity="center_vertical" + android:src="@drawable/crumb_divider" + android:layout_centerVertical="true" + android:visibility="gone" + /> + <TextView android:id="@+id/remove" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_gravity="center_vertical" + android:gravity="center_vertical" + android:text="@string/remove" + android:drawableLeft="@drawable/trashcan" + android:visibility="gone" + android:textAppearance="?android:attr/textAppearanceMedium" /> + </LinearLayout> + <View android:id="@+id/titleDivider" + android:layout_width="match_parent" + android:layout_height="1dip" + android:gravity="fill_horizontal" + android:background="?android:attr/colorForeground" + /> + + <TableLayout android:id="@+id/default_view" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:stretchColumns="1" + android:shrinkColumns="1" + android:paddingTop="20dip" + android:paddingLeft="20dip" + android:paddingRight="20dip" > + <TableRow> + <TextView + android:id="@+id/titleText" + android:layout_height="wrap_content" + android:layout_width="wrap_content" + android:layout_marginBottom="40dip" + android:text="@string/name" + android:textAppearance="?android:attr/textAppearanceMedium" /> + + <EditText + android:id="@+id/title" + android:layout_height="wrap_content" + android:layout_width="wrap_content" + android:layout_marginRight="20dip" + android:layout_marginLeft="20dip" + android:gravity="fill_horizontal" + android:inputType="textCapSentences" + android:ellipsize="end" + android:textAppearance="?android:attr/textAppearanceMedium" /> + </TableRow> + + <TableRow + android:id="@+id/row_address"> + <TextView + android:id="@+id/addressText" + android:layout_height="wrap_content" + android:layout_width="wrap_content" + android:text="@string/location" + android:gravity="left" + android:layout_marginBottom="40dip" + android:textAppearance="?android:attr/textAppearanceMedium" /> + + <EditText + android:id="@+id/address" + android:layout_height="wrap_content" + android:layout_width="wrap_content" + android:layout_marginRight="20dip" + android:layout_marginLeft="20dip" + android:hint="@string/http" + android:gravity="fill_horizontal" + android:inputType="textUri" + android:ellipsize="end" + android:textAppearance="?android:attr/textAppearanceMedium" /> + </TableRow> + <TableRow> + <TextView + android:id="@+id/add_to" + android:layout_height="wrap_content" + android:layout_width="wrap_content" + android:text="@string/containing_folder" + android:textAppearance="?android:attr/textAppearanceMedium" /> + + <view class="com.android.browser.addbookmark.FolderSpinner" + android:id="@+id/folder" + android:layout_height="wrap_content" + android:layout_width="wrap_content" + android:layout_marginRight="20dip" + android:layout_marginLeft="20dip" + android:spinnerMode="dropdown" + android:gravity="center_vertical" + /> + </TableRow> + </TableLayout> + + <LinearLayout android:id="@+id/folder_selector" + android:layout_width="match_parent" + android:layout_height="@dimen/folder_selector_height" + android:orientation="vertical" + android:visibility="gone" + > + + <view class="com.android.browser.AddBookmarkPage$CustomListView" + android:id="@+id/list" + android:layout_marginLeft="16dip" + android:layout_marginRight="16dip" + android:layout_width="match_parent" + android:layout_height="wrap_content" + /> + <TextView + android:id="@+id/empty" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:visibility="gone" + android:layout_marginLeft="16dip" + android:layout_marginTop="16dip" + android:text="@string/no_subfolders" + android:textStyle="italic" + android:textAppearance="?android:attr/textAppearanceMedium" /> + </LinearLayout> + + <LinearLayout + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:minHeight="54dip" + android:orientation="horizontal" + android:paddingTop="4dip" + android:paddingLeft="2dip" + android:paddingRight="2dip" > + <Button android:id="@+id/OK" + android:text="@string/save" + android:layout_width="0dip" + android:layout_gravity="left" + android:layout_weight="1" + android:maxLines="2" + android:layout_height="wrap_content" /> + <Button android:id="@+id/cancel" + android:text="@string/do_not_save" + android:layout_width="0dip" + android:layout_gravity="right" + android:layout_weight="1" + android:maxLines="2" + android:layout_height="wrap_content" /> + </LinearLayout> + +</merge> diff --git a/res/values-xlarge/dimensions.xml b/res/values-xlarge/dimensions.xml index 27c1ce2a2..613c13367 100644 --- a/res/values-xlarge/dimensions.xml +++ b/res/values-xlarge/dimensions.xml @@ -17,6 +17,7 @@ <dimen name="widgetHorizontalSpacing">14dip</dimen> <dimen name="widgetVerticalSpacing">12dip</dimen> <dimen name="favicon_padded_size">28dip</dimen> + <dimen name="add_bookmark_width">500dip</dimen> <!-- For the most visited page --> <dimen name="mv_max_width">1010dp</dimen> <dimen name="mv_item_width">231dp</dimen> diff --git a/res/values/dimensions.xml b/res/values/dimensions.xml index be5bd24ac..d0552a04a 100644 --- a/res/values/dimensions.xml +++ b/res/values/dimensions.xml @@ -23,7 +23,6 @@ <dimen name="max_tab_width">300dp</dimen> <dimen name="bookmarkThumbnailWidth">90dip</dimen> <dimen name="bookmarkThumbnailHeight">80dip</dimen> - <dimen name="add_bookmark_width">500dip</dimen> <dimen name="folder_selector_height">230dip</dimen> <dimen name="widgetItemMinHeight">48dip</dimen> <dimen name="favicon_size">16dip</dimen> diff --git a/res/values/styles.xml b/res/values/styles.xml index 06c7b32bb..8d222f476 100644 --- a/res/values/styles.xml +++ b/res/values/styles.xml @@ -26,7 +26,7 @@ <item name="android:actionBarStyle">@style/ActionBarStyle</item> <item name="android:actionButtonStyle">@style/ActionButton</item> </style> - <style name="Dialog" parent="@android:style/Theme.Holo.Dialog" > + <style name="DialogWhenLarge" parent="@android:style/Theme.Holo.DialogWhenLarge" > <item name="android:windowActionBar">false</item> </style> <style name="BookmarkTheme" parent="@android:Theme.Holo"> diff --git a/src/com/android/browser/BrowserActivity.java b/src/com/android/browser/BrowserActivity.java index 899a7c29e..ddd5aabde 100644 --- a/src/com/android/browser/BrowserActivity.java +++ b/src/com/android/browser/BrowserActivity.java @@ -19,6 +19,7 @@ package com.android.browser; import com.google.common.annotations.VisibleForTesting; import android.app.Activity; +import android.content.Context; import android.content.Intent; import android.content.res.Configuration; import android.graphics.Bitmap; @@ -95,9 +96,7 @@ public class BrowserActivity extends Activity { } mController = new Controller(this); - boolean xlarge = (getResources().getConfiguration().screenLayout - & Configuration.SCREENLAYOUT_SIZE_MASK) - == Configuration.SCREENLAYOUT_SIZE_XLARGE; + boolean xlarge = isXlarge(this); if (xlarge) { mUi = new XLargeUi(this, mController); } else { @@ -114,6 +113,12 @@ public class BrowserActivity extends Activity { mController.start(icicle, getIntent()); } + public static boolean isXlarge(Context context) { + return (context.getResources().getConfiguration().screenLayout + & Configuration.SCREENLAYOUT_SIZE_MASK) + == Configuration.SCREENLAYOUT_SIZE_XLARGE; + } + @VisibleForTesting Controller getController() { return mController; diff --git a/src/com/android/browser/BrowserBookmarksPage.java b/src/com/android/browser/BrowserBookmarksPage.java index 7475237c0..0c8298fa0 100644 --- a/src/com/android/browser/BrowserBookmarksPage.java +++ b/src/com/android/browser/BrowserBookmarksPage.java @@ -262,6 +262,10 @@ public class BrowserBookmarksPage extends Fragment implements View.OnCreateConte @Override public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { inflater.inflate(R.menu.bookmark, menu); + if (!BrowserActivity.isXlarge(getActivity())) { + MenuItem item = menu.findItem(R.id.add_bookmark); + item.setShowAsAction(MenuItem.SHOW_AS_ACTION_NEVER); + } } @Override @@ -372,7 +376,7 @@ public class BrowserBookmarksPage extends Fragment implements View.OnCreateConte .getDefaultSharedPreferences(getActivity()); prefs.registerOnSharedPreferenceChangeListener(this); mCurrentView = - prefs.getInt(PREF_SELECTED_VIEW, BrowserBookmarksPage.VIEW_THUMBNAILS); + prefs.getInt(PREF_SELECTED_VIEW, getDefaultView()); mAdapter = new BrowserBookmarksAdapter(getActivity(), mCurrentView); lm.restartLoader(LOADER_BOOKMARKS, null, this); @@ -382,6 +386,13 @@ public class BrowserBookmarksPage extends Fragment implements View.OnCreateConte return mRoot; } + private int getDefaultView() { + if (BrowserActivity.isXlarge(getActivity())) { + return VIEW_THUMBNAILS; + } + return VIEW_LIST; + } + @Override public void onDestroyView() { super.onDestroyView(); diff --git a/src/com/android/browser/CombinedBookmarkHistoryView.java b/src/com/android/browser/CombinedBookmarkHistoryView.java index f1b9e2460..793f7a200 100644 --- a/src/com/android/browser/CombinedBookmarkHistoryView.java +++ b/src/com/android/browser/CombinedBookmarkHistoryView.java @@ -157,8 +157,12 @@ public class CombinedBookmarkHistoryView extends LinearLayout } void setupActionBar(int startingFragment) { - mActionBar.setDisplayOptions(ActionBar.DISPLAY_SHOW_HOME - | ActionBar.DISPLAY_USE_LOGO); + if (BrowserActivity.isXlarge(mContext)) { + mActionBar.setDisplayOptions(ActionBar.DISPLAY_SHOW_HOME + | ActionBar.DISPLAY_USE_LOGO); + } else { + mActionBar.setDisplayOptions(0); + } mActionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); mActionBar.removeAllTabs(); mTabBookmarks = mActionBar.newTab(); |
