From 1a860c6729cfb51da4f968759ec0739111d81a84 Mon Sep 17 00:00:00 2001 From: YuviPanda Date: Tue, 19 Feb 2013 23:40:00 +0530 Subject: [PATCH] Cleanup gridview code to use appropriate Java object --- .../main/java/org/wikimedia/commons/Media.java | 3 ++- .../main/java/org/wikimedia/commons/Utils.java | 11 +++++++++++ .../commons/contributions/Contribution.java | 11 +---------- .../contributions/ContributionsActivity.java | 15 ++++++++------- 4 files changed, 22 insertions(+), 18 deletions(-) diff --git a/commons/src/main/java/org/wikimedia/commons/Media.java b/commons/src/main/java/org/wikimedia/commons/Media.java index 28126936a..c70cd5d8b 100644 --- a/commons/src/main/java/org/wikimedia/commons/Media.java +++ b/commons/src/main/java/org/wikimedia/commons/Media.java @@ -1,6 +1,7 @@ package org.wikimedia.commons; import android.net.Uri; +import org.wikimedia.commons.contributions.Contribution; import java.io.Serializable; import java.util.Date; @@ -43,7 +44,7 @@ public class Media implements Serializable { } public String getThumbnailUrl(int width) { - return String.format("%s/%dpx-%s", imageUrl, width, filename); + return Utils.makeThumbUrl(imageUrl, filename, width); } diff --git a/commons/src/main/java/org/wikimedia/commons/Utils.java b/commons/src/main/java/org/wikimedia/commons/Utils.java index 1bf21b13a..05aa30b39 100644 --- a/commons/src/main/java/org/wikimedia/commons/Utils.java +++ b/commons/src/main/java/org/wikimedia/commons/Utils.java @@ -110,4 +110,15 @@ public class Utils { } return count; } + + public static String makeThumbUrl(String imageUrl, String filename, int width) { + // Ugly Hack! + // Update: OH DEAR GOD WHAT A HORRIBLE HACK I AM SO SORRY + String thumbUrl = imageUrl.replaceFirst("test/", "test/thumb/").replace("commons/", "commons/thumb/") + "/" + width + "px-" + filename.replaceAll("File:", "").replaceAll(" ", "_"); + if(thumbUrl.endsWith("jpg") || thumbUrl.endsWith("png") || thumbUrl.endsWith("jpeg")) { + return thumbUrl; + } else { + return thumbUrl + ".png"; + } + } } diff --git a/commons/src/main/java/org/wikimedia/commons/contributions/Contribution.java b/commons/src/main/java/org/wikimedia/commons/contributions/Contribution.java index 1aba161e9..cf9980f48 100644 --- a/commons/src/main/java/org/wikimedia/commons/contributions/Contribution.java +++ b/commons/src/main/java/org/wikimedia/commons/contributions/Contribution.java @@ -114,16 +114,7 @@ public class Contribution extends Media { } } - public static String makeThumbUrl(String imageUrl, String filename, int width) { - // Ugly Hack! - // Update: OH DEAR GOD WHAT A HORRIBLE HACK I AM SO SORRY - String thumbUrl = imageUrl.replaceFirst("test/", "test/thumb/").replace("commons/", "commons/thumb/") + "/" + width + "px-" + filename.replaceAll("File:", "").replaceAll(" ", "_"); - if(thumbUrl.endsWith("jpg") || thumbUrl.endsWith("png") || thumbUrl.endsWith("jpeg")) { - return thumbUrl; - } else { - return thumbUrl + ".png"; - } - } + public ContentValues toContentValues() { ContentValues cv = new ContentValues(); cv.put(Table.COLUMN_FILENAME, getFilename()); diff --git a/commons/src/main/java/org/wikimedia/commons/contributions/ContributionsActivity.java b/commons/src/main/java/org/wikimedia/commons/contributions/ContributionsActivity.java index 34e17962f..8ac594eb3 100644 --- a/commons/src/main/java/org/wikimedia/commons/contributions/ContributionsActivity.java +++ b/commons/src/main/java/org/wikimedia/commons/contributions/ContributionsActivity.java @@ -95,21 +95,22 @@ public class ContributionsActivity extends AuthenticatedActivity implements Load TextView titleView = (TextView)view.findViewById(R.id.contributionTitle); TextView stateView = (TextView)view.findViewById(R.id.contributionState); - String localUri = cursor.getString(COLUMN_LOCALURI); - String imageUrl = cursor.getString(COLUMN_IMAGE_URL); - String title = cursor.getString(COLUMN_FILENAME); - int state = cursor.getInt(COLUMN_STATE); + Contribution contribution = Contribution.fromCursor(cursor); - String actualUrl = TextUtils.isEmpty(imageUrl) ? localUri : Contribution.makeThumbUrl(imageUrl, title, 320); + String actualUrl = TextUtils.isEmpty(contribution.getImageUrl()) ? contribution.getLocalUri().toString() : contribution.getThumbnailUrl(320); Log.d("Commons", "Trying URL " + actualUrl); + Log.d("Commons", "For " + contribution.toContentValues()); + if(imageView.getTag() == null || !imageView.getTag().equals(actualUrl)) { + Log.d("Commons", "Tag is " + imageView.getTag() + " url is " + actualUrl); //+ " equals is " + imageView.getTag().equals(actualUrl) + " the other thing is " + (imageView.getTag() == null)); + ImageLoader.getInstance().displayImage(actualUrl, imageView, contributionDisplayOptions); imageView.setTag(actualUrl); } - titleView.setText(Utils.displayTitleFromTitle(title)); - switch(state) { + titleView.setText(Utils.displayTitleFromTitle(contribution.getFilename())); + switch(contribution.getState()) { case Contribution.STATE_COMPLETED: Date uploaded = new Date(cursor.getLong(COLUMN_UPLOADED)); stateView.setText(SimpleDateFormat.getDateInstance().format(uploaded));