SWE UI cleanup
- ActionBar color and styling for KK
- Use High Res icon for bookmarks
- Edge Nav setting string
- Combo view cleanup
- Tablet UI cleanup
Change-Id: I1859226e80d9943ee6af30c2cc9a5bd9ce5b9399
diff --git a/src/com/android/browser/Bookmarks.java b/src/com/android/browser/Bookmarks.java
index dc1052f..afc99c3 100644
--- a/src/com/android/browser/Bookmarks.java
+++ b/src/com/android/browser/Bookmarks.java
@@ -177,13 +177,9 @@
return null;
}
- url = eatTrailingSlash(url);
-
// If originalUrl is null, just set it to url.
if (originalUrl == null) {
originalUrl = url;
- } else {
- originalUrl = eatTrailingSlash(originalUrl);
}
// Look for both the original url and the actual url. This takes in to
@@ -240,6 +236,14 @@
updateImages(cr, cursor.getString(0), values);
} while (cursor.moveToNext());
}
+
+ cursor = queryCombinedForUrl(cr, eatTrailingSlash(originalUrl),
+ eatTrailingSlash(url));
+ if (cursor != null && cursor.moveToFirst()) {
+ do {
+ updateImages(cr, cursor.getString(0), values);
+ } while (cursor.moveToNext());
+ }
} catch (IllegalStateException e) {
// Ignore
} catch (SQLiteException s) {
diff --git a/src/com/android/browser/BrowserBookmarksAdapter.java b/src/com/android/browser/BrowserBookmarksAdapter.java
index d9bfcea..38e07e0 100644
--- a/src/com/android/browser/BrowserBookmarksAdapter.java
+++ b/src/com/android/browser/BrowserBookmarksAdapter.java
@@ -136,8 +136,13 @@
item = new BrowserBookmarksAdapterItem();
}
Bitmap thumbnail = item.thumbnail != null ? item.thumbnail.getBitmap() : null;
+
thumbnail = BrowserBookmarksPage.getBitmap(c,
- BookmarksLoader.COLUMN_INDEX_THUMBNAIL, thumbnail);
+ BookmarksLoader.COLUMN_INDEX_TOUCH_ICON, thumbnail);
+ if (thumbnail == null) {
+ thumbnail = BrowserBookmarksPage.getBitmap(c,
+ BookmarksLoader.COLUMN_INDEX_THUMBNAIL, thumbnail);
+ }
item.has_thumbnail = thumbnail != null;
if (thumbnail != null
&& (item.thumbnail == null || item.thumbnail.getBitmap() != thumbnail)) {
diff --git a/src/com/android/browser/BrowserHistoryPage.java b/src/com/android/browser/BrowserHistoryPage.java
index e2c831b..f0cec84 100644
--- a/src/com/android/browser/BrowserHistoryPage.java
+++ b/src/com/android/browser/BrowserHistoryPage.java
@@ -31,6 +31,8 @@
import android.content.Loader;
import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo;
+import android.content.res.Configuration;
+import android.content.res.Resources;
import android.database.Cursor;
import android.database.DataSetObserver;
import android.graphics.BitmapFactory;
@@ -237,6 +239,14 @@
return mRoot;
}
+ @Override
+ public void onConfigurationChanged(Configuration newConfig) {
+ super.onConfigurationChanged(newConfig);
+ Resources res = getActivity().getResources();
+ int paddingTop = (int) res.getDimension(R.dimen.combo_paddingTop);
+ mRoot.setPadding(0, paddingTop, 0, 0);
+ }
+
private void inflateSinglePane() {
mHistoryList = (ExpandableListView) mRoot.findViewById(R.id.history);
mHistoryList.setAdapter(mAdapter);
diff --git a/src/com/android/browser/BrowserSnapshotPage.java b/src/com/android/browser/BrowserSnapshotPage.java
index e2194d1..afa0269 100644
--- a/src/com/android/browser/BrowserSnapshotPage.java
+++ b/src/com/android/browser/BrowserSnapshotPage.java
@@ -26,6 +26,8 @@
import android.content.Context;
import android.content.CursorLoader;
import android.content.Loader;
+import android.content.res.Configuration;
+import android.content.res.Resources;
import android.database.Cursor;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
@@ -82,6 +84,8 @@
CombinedBookmarksCallbacks mCallback;
long mAnimateId;
+ View mRoot;
+
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
@@ -100,6 +104,7 @@
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.snapshots, container, false);
+ mRoot = view;
mEmpty = view.findViewById(android.R.id.empty);
mGrid = (GridView) view.findViewById(R.id.grid);
setupGrid(inflater);
@@ -108,6 +113,14 @@
}
@Override
+ public void onConfigurationChanged(Configuration newConfig) {
+ super.onConfigurationChanged(newConfig);
+ Resources res = getActivity().getResources();
+ int paddingTop = (int) res.getDimension(R.dimen.combo_paddingTop);
+ mRoot.setPadding(0, paddingTop, 0, 0);
+ }
+
+ @Override
public void onDestroyView() {
super.onDestroyView();
getLoaderManager().destroyLoader(LOADER_SNAPSHOTS);
diff --git a/src/com/android/browser/ComboTabsAdapter.java b/src/com/android/browser/ComboTabsAdapter.java
index f73a88c..2490047 100644
--- a/src/com/android/browser/ComboTabsAdapter.java
+++ b/src/com/android/browser/ComboTabsAdapter.java
@@ -41,29 +41,29 @@
*/
public class ComboTabsAdapter extends FragmentPagerAdapter
implements ActionBar.TabListener, ViewPager.OnPageChangeListener {
- private final Context mContext;
- private final ActionBar mActionBar;
- private final ViewPager mViewPager;
- private final ArrayList<TabInfo> mTabs = new ArrayList<TabInfo>();
+ private final Context mContext;
+ private final ActionBar mActionBar;
+ private final ViewPager mViewPager;
+ private final ArrayList<TabInfo> mTabs = new ArrayList<TabInfo>();
- static final class TabInfo {
- private final Class<?> clss;
- private final Bundle args;
+ static final class TabInfo {
+ private final Class<?> clss;
+ private final Bundle args;
- TabInfo(Class<?> _class, Bundle _args) {
- clss = _class;
- args = _args;
- }
+ TabInfo(Class<?> _class, Bundle _args) {
+ clss = _class;
+ args = _args;
}
+ }
- public ComboTabsAdapter(Activity activity, ViewPager pager) {
- super(activity.getFragmentManager());
- mContext = activity;
- mActionBar = activity.getActionBar();
- mViewPager = pager;
- mViewPager.setAdapter(this);
- mViewPager.setOnPageChangeListener(this);
- }
+ public ComboTabsAdapter(Activity activity, ViewPager pager) {
+ super(activity.getFragmentManager());
+ mContext = activity;
+ mActionBar = activity.getActionBar();
+ mViewPager = pager;
+ mViewPager.setAdapter(this);
+ mViewPager.setOnPageChangeListener(this);
+ }
public void addTab(ActionBar.Tab tab, Class<?> clss, Bundle args) {
TabInfo info = new TabInfo(clss, args);
@@ -74,6 +74,11 @@
notifyDataSetChanged();
}
+ public void removeAllTabs() {
+ mActionBar.removeAllTabs();
+ notifyDataSetChanged();
+ }
+
@Override
public int getCount() {
return mTabs.size();
diff --git a/src/com/android/browser/ComboView.java b/src/com/android/browser/ComboView.java
index 01ff54f..3dabb50 100644
--- a/src/com/android/browser/ComboView.java
+++ b/src/com/android/browser/ComboView.java
@@ -37,7 +37,8 @@
import java.util.Iterator;
import java.util.Set;
-public class ComboView extends LinearLayout implements CombinedBookmarksCallbacks, View.OnLayoutChangeListener {
+public class ComboView extends LinearLayout
+ implements CombinedBookmarksCallbacks, View.OnLayoutChangeListener {
private Activity mActivity;
private ViewPager mViewPager;
@@ -140,6 +141,7 @@
// Compare the items in args with old args and recreate the fragments if they don't match.
if (mExtraArgs != null && !compareArgs(mExtraArgs, args)) {
+ mTabsAdapter.removeAllTabs();
mTabsAdapter = null;
}
diff --git a/src/com/android/browser/NavigationBarBase.java b/src/com/android/browser/NavigationBarBase.java
index 753e362..d247066 100644
--- a/src/com/android/browser/NavigationBarBase.java
+++ b/src/com/android/browser/NavigationBarBase.java
@@ -125,19 +125,21 @@
public void setLock(Drawable d, Tab.SecurityState securityState) {
mSecurityState = securityState;
- switch (mSecurityState) {
- case SECURITY_STATE_SECURE:
- mFaviconBadge.setImageResource(R.drawable.ic_fav_overlay_good);
- break;
- case SECURITY_STATE_MIXED:
- mFaviconBadge.setImageResource(R.drawable.ic_fav_overlay_warning);
- break;
- case SECURITY_STATE_BAD_CERTIFICATE:
- mFaviconBadge.setImageResource(R.drawable.ic_fav_overlay_severe);
- break;
- case SECURITY_STATE_NOT_SECURE:
- default:
- mFaviconBadge.setImageResource(R.drawable.ic_fav_overlay_normal);
+ if (mFaviconBadge != null) {
+ switch (mSecurityState) {
+ case SECURITY_STATE_SECURE:
+ mFaviconBadge.setImageResource(R.drawable.ic_fav_overlay_good);
+ break;
+ case SECURITY_STATE_MIXED:
+ mFaviconBadge.setImageResource(R.drawable.ic_fav_overlay_warning);
+ break;
+ case SECURITY_STATE_BAD_CERTIFICATE:
+ mFaviconBadge.setImageResource(R.drawable.ic_fav_overlay_severe);
+ break;
+ case SECURITY_STATE_NOT_SECURE:
+ default:
+ mFaviconBadge.setImageResource(R.drawable.ic_fav_overlay_normal);
+ }
}
if (mLockIcon == null) return;
if (d == null) {
@@ -287,7 +289,7 @@
bundle.putInt(SiteSpecificPreferencesFragment.EXTRA_SECURITY_CERT_ERR, certError);
}
- Bitmap favicon = mUiController.getCurrentTab().getFavicon();
+ Bitmap favicon = mUiController.getCurrentTopWebView().getFavicon();
if (favicon != null) {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
favicon.compress(Bitmap.CompressFormat.PNG, 50, baos);
diff --git a/src/com/android/browser/XLargeUi.java b/src/com/android/browser/XLargeUi.java
index addbf72..254e73d 100644
--- a/src/com/android/browser/XLargeUi.java
+++ b/src/com/android/browser/XLargeUi.java
@@ -141,6 +141,19 @@
}
@Override
+ public void onProgressChanged(Tab tab) {
+ super.onProgressChanged(tab);
+ if (mComboView != null && !mComboView.isShowing()) {
+ mActionBar = mActivity.getActionBar();
+ setupActionBar();
+ if (mActionBar != null)
+ mActionBar.show();
+ if (mNavBar != null)
+ mNavBar.setVisibility(View.VISIBLE);
+ }
+ }
+
+ @Override
public void onDestroy() {
hideTitleBar();
}
@@ -268,6 +281,7 @@
public void setFavicon(Tab tab) {
super.setFavicon(tab);
mTabBar.onFavicon(tab, tab.getFavicon());
+/*
if (mActiveTab == tab) {
int color = NavigationBarBase.getSiteIconColor(tab.getUrl());
if (tab.hasFavicon()) {
@@ -275,6 +289,7 @@
}
mActionBar.setBackgroundDrawable(new ColorDrawable(color));
}
+*/
}
@Override
diff --git a/src/com/android/browser/preferences/AdvancedPreferencesFragment.java b/src/com/android/browser/preferences/AdvancedPreferencesFragment.java
index cadc924..8d1ce6b 100644
--- a/src/com/android/browser/preferences/AdvancedPreferencesFragment.java
+++ b/src/com/android/browser/preferences/AdvancedPreferencesFragment.java
@@ -84,10 +84,14 @@
String value = BrowserSettings.getInstance().getEdgeSwipeAction();
- for (int i = 0; i < options.length; i++) {
- if (value.equals(options[i])) {
- edgeSwipePref.setValueIndex(i);
- break;
+ if (value.equals(mFragment.getString(R.string.value_unknown_edge_swipe))) {
+ edgeSwipePref.setSummary(mFragment.getString(R.string.pref_edge_swipe_unknown));
+ } else {
+ for (int i = 0; i < options.length; i++) {
+ if (value.equals(options[i])) {
+ edgeSwipePref.setValueIndex(i);
+ break;
+ }
}
}
}
diff --git a/src/com/android/browser/preferences/SWEPreferenceFragment.java b/src/com/android/browser/preferences/SWEPreferenceFragment.java
index 79781da..77c39c7 100644
--- a/src/com/android/browser/preferences/SWEPreferenceFragment.java
+++ b/src/com/android/browser/preferences/SWEPreferenceFragment.java
@@ -29,16 +29,19 @@
package com.android.browser.preferences;
+import android.app.ActionBar;
+import android.graphics.drawable.ColorDrawable;
import android.os.Bundle;
import android.preference.PreferenceFragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
-import android.view.WindowManager;
import android.widget.LinearLayout;
import android.widget.ListView;
import android.widget.Switch;
+import com.android.browser.R;
+
public abstract class SWEPreferenceFragment extends PreferenceFragment {
@Override
@@ -76,6 +79,16 @@
return view;
}
+ @Override
+ public void onResume() {
+ super.onResume();
+
+ ActionBar bar = getActivity().getActionBar();
+ if (bar != null) {
+ bar.setBackgroundDrawable(new ColorDrawable(getResources().getColor(R.color.accent)));
+ }
+ }
+
private final void findAndResizeSwitchPreferenceWidget(View parent) {
LinearLayout layout = (LinearLayout) parent.findViewById(android.R.id.widget_frame);
if (layout != null) {
diff --git a/src/com/android/browser/preferences/SiteSpecificPreferencesFragment.java b/src/com/android/browser/preferences/SiteSpecificPreferencesFragment.java
index 68c3ebc..329f66c 100644
--- a/src/com/android/browser/preferences/SiteSpecificPreferencesFragment.java
+++ b/src/com/android/browser/preferences/SiteSpecificPreferencesFragment.java
@@ -433,8 +433,15 @@
mSecurityViews.appendText(SiteSecurityViewFactory.ViewType.WARNING, warningText);
}
- showPermission("distracting_contents", PermissionsServiceFactory.PermissionType.WEBREFINER,
+ permission = showPermission("distracting_contents",
+ PermissionsServiceFactory.PermissionType.WEBREFINER,
R.string.pref_security_allowed, R.string.pref_security_not_allowed);
+ pref = findPreference("distracting_contents");
+ if (permission == PermissionsServiceFactory.Permission.BLOCK) {
+ ((TwoStatePreference) pref).setChecked(true);
+ } else {
+ ((TwoStatePreference) pref).setChecked(false);
+ }
showPermission("popup_windows", PermissionsServiceFactory.PermissionType.POPUP,
R.string.pref_security_allowed, R.string.pref_security_not_allowed);
@@ -451,7 +458,9 @@
findPreference("site_specific_prefs");
pref = findPreference("site_security_info_title");
- screen.removePreference(pref);
+ if (pref != null && screen != null) {
+ screen.removePreference(pref);
+ }
}
}
@@ -643,13 +652,13 @@
} else if (pref.getKey().toString().equalsIgnoreCase("distracting_contents")) {
WebRefiner refiner = WebRefiner.getInstance();
if (refiner != null) {
- boolean enable = (boolean) objValue;
+ boolean disable = (boolean) objValue;
String[] origins = new String[1];
origins[0] = mOriginInfo.getOrigin();
- if (enable) {
- refiner.enableRulesForDomains(WebRefiner.CATEGORY_ALL, origins);
- } else {
+ if (disable) {
refiner.disableRulesForDomains(WebRefiner.CATEGORY_ALL, origins);
+ } else {
+ refiner.enableRulesForDomains(WebRefiner.CATEGORY_ALL, origins);
}
}
updateTwoStatePreference(pref,
diff --git a/src/com/android/browser/preferences/WebsiteSettingsFragment.java b/src/com/android/browser/preferences/WebsiteSettingsFragment.java
index 7ffb5c1..6c032d9 100644
--- a/src/com/android/browser/preferences/WebsiteSettingsFragment.java
+++ b/src/com/android/browser/preferences/WebsiteSettingsFragment.java
@@ -193,10 +193,6 @@
}
notifyDataSetChanged();
-
- if (getCount() == 0) {
- finish(); // we close the screen
- }
}
@Override