SuchABot has uploaded a new change for review. https://gerrit.wikimedia.org/r/73021
Change subject: Make thumbnails load faster by loading smaller Thumbnails ...................................................................... Make thumbnails load faster by loading smaller Thumbnails Change-Id: I0af540a1d84348a7a3e67c6037cd509b88b84b21 GitHub: https://github.com/wikimedia/apps-android-commons/pull/25 --- M commons/res/layout/layout_contribution.xml A commons/res/values/views.xml M commons/src/main/java/org/wikimedia/commons/MediaWikiImageView.java 3 files changed, 22 insertions(+), 0 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/apps/android/commons refs/changes/21/73021/1 diff --git a/commons/res/layout/layout_contribution.xml b/commons/res/layout/layout_contribution.xml index 7ca86a5..fdfe42f 100644 --- a/commons/res/layout/layout_contribution.xml +++ b/commons/res/layout/layout_contribution.xml @@ -1,6 +1,7 @@ <?xml version="1.0" encoding="utf-8"?> <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:custom="http://schemas.android.com/apk/res/org.wikimedia.commons" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="wrap_content" @@ -20,6 +21,7 @@ android:layout_width="fill_parent" android:layout_height="240dp" android:scaleType="centerCrop" + custom:isThumbnail="true" /> <LinearLayout diff --git a/commons/res/values/views.xml b/commons/res/values/views.xml new file mode 100644 index 0000000..04d2703 --- /dev/null +++ b/commons/res/values/views.xml @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="utf-8"?> +<resources> + <declare-styleable name="MediaWikiImageView"> + <attr name="isThumbnail" format="boolean" /> + </declare-styleable> +</resources> \ No newline at end of file diff --git a/commons/src/main/java/org/wikimedia/commons/MediaWikiImageView.java b/commons/src/main/java/org/wikimedia/commons/MediaWikiImageView.java index fac11f4..8db6987 100644 --- a/commons/src/main/java/org/wikimedia/commons/MediaWikiImageView.java +++ b/commons/src/main/java/org/wikimedia/commons/MediaWikiImageView.java @@ -16,6 +16,7 @@ package org.wikimedia.commons; import android.content.Context; +import android.content.res.TypedArray; import android.graphics.drawable.BitmapDrawable; import android.text.TextUtils; import android.util.AttributeSet; @@ -41,12 +42,16 @@ private View loadingView; + private boolean isThumbnail; + public MediaWikiImageView(Context context) { this(context, null); } public MediaWikiImageView(Context context, AttributeSet attrs) { this(context, attrs, 0); + TypedArray actualAttrs = context.getTheme().obtainStyledAttributes(attrs, R.styleable.MediaWikiImageView, 0, 0); + isThumbnail = actualAttrs.getBoolean(0, false); } public MediaWikiImageView(Context context, AttributeSet attrs, int defStyle) { @@ -84,6 +89,15 @@ return; } + + // Do not count for density when loading thumbnails. + // FIXME: Use another 'algorithm' that doesn't punish low res devices + if(isThumbnail) { + float dpFactor = getResources().getDisplayMetrics().density; + width = (int) (width / dpFactor); + height = (int) (height / dpFactor); + } + final String mUrl; if(tryOriginal) { mUrl = mMedia.getImageUrl(); -- To view, visit https://gerrit.wikimedia.org/r/73021 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I0af540a1d84348a7a3e67c6037cd509b88b84b21 Gerrit-PatchSet: 1 Gerrit-Project: apps/android/commons Gerrit-Branch: master Gerrit-Owner: SuchABot <[email protected]> Gerrit-Reviewer: Yuvipanda <[email protected]> _______________________________________________ MediaWiki-commits mailing list [email protected] https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits
