mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Bug 808663 - Use nearest neighbor scaling for favicons in awesomescreen. r=bnicholson
This commit is contained in:
parent
5bf2c472b4
commit
05e54fd0c4
@ -97,6 +97,7 @@ public class BrowserToolbar implements ViewSwitcher.ViewFactory,
|
||||
private TranslateAnimation mTitleSlideRight;
|
||||
|
||||
private int mCount;
|
||||
private int mFaviconSize;
|
||||
|
||||
private static final int TABS_CONTRACTED = 1;
|
||||
private static final int TABS_EXPANDED = 2;
|
||||
@ -226,6 +227,7 @@ public class BrowserToolbar implements ViewSwitcher.ViewFactory,
|
||||
mFavicon.setOnClickListener(faviconListener);
|
||||
if (Build.VERSION.SDK_INT >= 16)
|
||||
mFavicon.setImportantForAccessibility(View.IMPORTANT_FOR_ACCESSIBILITY_NO);
|
||||
mFaviconSize = Math.round(mActivity.getResources().getDimension(R.dimen.browser_toolbar_favicon_size));
|
||||
|
||||
mSiteSecurity = (ImageButton) mLayout.findViewById(R.id.site_security);
|
||||
mSiteSecurity.setOnClickListener(faviconListener);
|
||||
@ -683,10 +685,12 @@ public class BrowserToolbar implements ViewSwitcher.ViewFactory,
|
||||
if (Tabs.getInstance().getSelectedTab().getState() == Tab.STATE_LOADING)
|
||||
return;
|
||||
|
||||
if (image != null)
|
||||
if (image != null) {
|
||||
image = Bitmap.createScaledBitmap(image, mFaviconSize, mFaviconSize, false);
|
||||
mFavicon.setImageBitmap(image);
|
||||
else
|
||||
} else {
|
||||
mFavicon.setImageResource(R.drawable.favicon);
|
||||
}
|
||||
}
|
||||
|
||||
public void setSecurityMode(String mode) {
|
||||
|
@ -810,7 +810,8 @@ public class AllPagesTab extends AwesomeBarTab implements GeckoEventListener {
|
||||
private void displayFavicon(AwesomeEntryViewHolder viewHolder) {
|
||||
final String url = viewHolder.urlView.getText().toString();
|
||||
Favicons favicons = GeckoApp.mAppContext.getFavicons();
|
||||
viewHolder.faviconView.setImageBitmap(favicons.getFaviconFromMemCache(url));
|
||||
Bitmap bitmap = favicons.getFaviconFromMemCache(url);
|
||||
updateFavicon(viewHolder.faviconView, bitmap);
|
||||
}
|
||||
|
||||
private void updateFavicons() {
|
||||
|
@ -41,9 +41,13 @@ abstract public class AwesomeBarTab {
|
||||
// FIXME: This value should probably come from a prefs key
|
||||
public static final int MAX_RESULTS = 100;
|
||||
protected Context mContext = null;
|
||||
private static int sFaviconSize = -1;
|
||||
|
||||
public AwesomeBarTab(Context context) {
|
||||
mContext = context;
|
||||
if (sFaviconSize < 0) {
|
||||
sFaviconSize = Math.round(mContext.getResources().getDimension(R.dimen.awesomebar_row_favicon_size));
|
||||
}
|
||||
}
|
||||
|
||||
public void setListTouchListener(View.OnTouchListener listener) {
|
||||
@ -94,6 +98,15 @@ abstract public class AwesomeBarTab {
|
||||
faviconView.setImageDrawable(null);
|
||||
} else {
|
||||
Bitmap bitmap = BitmapFactory.decodeByteArray(b, 0, b.length);
|
||||
updateFavicon(faviconView, bitmap);
|
||||
}
|
||||
}
|
||||
|
||||
protected void updateFavicon(ImageView faviconView, Bitmap bitmap) {
|
||||
if (bitmap == null) {
|
||||
faviconView.setImageDrawable(null);
|
||||
} else {
|
||||
bitmap = Bitmap.createScaledBitmap(bitmap, sFaviconSize, sFaviconSize, false);
|
||||
faviconView.setImageBitmap(bitmap);
|
||||
}
|
||||
}
|
||||
|
@ -173,7 +173,7 @@ public class HistoryTab extends AwesomeBarTab {
|
||||
viewHolder.faviconView.setImageDrawable(null);
|
||||
} else {
|
||||
Bitmap bitmap = BitmapFactory.decodeByteArray(b, 0, b.length);
|
||||
viewHolder.faviconView.setImageBitmap(bitmap);
|
||||
updateFavicon(viewHolder.faviconView, bitmap);
|
||||
}
|
||||
|
||||
Integer bookmarkId = (Integer) historyItem.get(Combined.BOOKMARK_ID);
|
||||
|
@ -74,7 +74,7 @@
|
||||
|
||||
<ImageButton android:id="@+id/favicon"
|
||||
style="@style/AddressBar.ImageButton"
|
||||
android:layout_width="29.33dip"
|
||||
android:layout_width="@dimen/browser_toolbar_favicon_size"
|
||||
android:layout_height="fill_parent"
|
||||
android:scaleType="fitCenter"
|
||||
android:paddingLeft="8dip"
|
||||
|
@ -82,7 +82,7 @@
|
||||
|
||||
<ImageButton android:id="@+id/favicon"
|
||||
style="@style/AddressBar.ImageButton"
|
||||
android:layout_width="29.33dip"
|
||||
android:layout_width="@dimen/browser_toolbar_favicon_size"
|
||||
android:layout_height="fill_parent"
|
||||
android:scaleType="fitCenter"
|
||||
android:paddingLeft="8dip"
|
||||
|
@ -103,7 +103,7 @@
|
||||
|
||||
<ImageButton android:id="@+id/favicon"
|
||||
style="@style/AddressBar.ImageButton"
|
||||
android:layout_width="29.33dip"
|
||||
android:layout_width="@dimen/browser_toolbar_favicon_size"
|
||||
android:layout_height="fill_parent"
|
||||
android:scaleType="fitCenter"
|
||||
android:paddingLeft="8dip"
|
||||
|
@ -133,7 +133,7 @@
|
||||
|
||||
<ImageButton android:id="@+id/favicon"
|
||||
style="@style/AddressBar.ImageButton"
|
||||
android:layout_width="29.33dip"
|
||||
android:layout_width="@dimen/browser_toolbar_favicon_size"
|
||||
android:layout_height="fill_parent"
|
||||
android:scaleType="fitCenter"
|
||||
android:paddingLeft="8dip"
|
||||
|
@ -9,13 +9,13 @@
|
||||
android:padding="6dip">
|
||||
|
||||
<ImageView android:id="@+id/favicon"
|
||||
android:layout_width="32dip"
|
||||
android:layout_height="32dip"
|
||||
android:layout_width="@dimen/awesomebar_row_favicon_size"
|
||||
android:layout_height="@dimen/awesomebar_row_favicon_size"
|
||||
android:layout_marginLeft="6dip"
|
||||
android:layout_marginRight="6dip"
|
||||
android:layout_centerVertical="true"
|
||||
android:minWidth="32dip"
|
||||
android:minHeight="32dip"
|
||||
android:minWidth="@dimen/awesomebar_row_favicon_size"
|
||||
android:minHeight="@dimen/awesomebar_row_favicon_size"
|
||||
android:scaleType="fitCenter"/>
|
||||
|
||||
<ImageView android:id="@+id/bookmark_icon"
|
||||
|
@ -74,7 +74,7 @@
|
||||
|
||||
<ImageButton android:id="@+id/favicon"
|
||||
style="@style/AddressBar.ImageButton"
|
||||
android:layout_width="29.33dip"
|
||||
android:layout_width="@dimen/browser_toolbar_favicon_size"
|
||||
android:layout_height="fill_parent"
|
||||
android:scaleType="fitCenter"
|
||||
android:paddingLeft="8dip"
|
||||
|
@ -83,7 +83,7 @@
|
||||
|
||||
<ImageButton android:id="@+id/favicon"
|
||||
style="@style/AddressBar.ImageButton"
|
||||
android:layout_width="29.33dip"
|
||||
android:layout_width="@dimen/browser_toolbar_favicon_size"
|
||||
android:layout_height="fill_parent"
|
||||
android:scaleType="fitCenter"
|
||||
android:paddingLeft="8dip"
|
||||
|
@ -15,10 +15,12 @@
|
||||
<dimen name="autocomplete_row_height">32dp</dimen>
|
||||
<dimen name="awesomebar_header_row_height">20dp</dimen>
|
||||
<dimen name="awesomebar_row_height">48dp</dimen>
|
||||
<dimen name="awesomebar_row_favicon_size">32dp</dimen>
|
||||
<dimen name="awesomebar_tab_transparency_height">38dp</dimen>
|
||||
<dimen name="browser_toolbar_height">48dp</dimen>
|
||||
<dimen name="browser_toolbar_icon_width">36dp</dimen>
|
||||
<dimen name="browser_toolbar_lock_width">21.33dp</dimen>
|
||||
<dimen name="browser_toolbar_favicon_size">29.33dip</dimen>
|
||||
<dimen name="doorhanger_arrow_width">44dp</dimen>
|
||||
<dimen name="flow_layout_spacing">6dp</dimen>
|
||||
<dimen name="local_tab_row_height">108dp</dimen>
|
||||
|
Loading…
Reference in New Issue
Block a user