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

Reply via email to