diff options
Diffstat (limited to 'main/src/cgeo/geocaching/network/SmileyImage.java')
| -rw-r--r-- | main/src/cgeo/geocaching/network/SmileyImage.java | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/main/src/cgeo/geocaching/network/SmileyImage.java b/main/src/cgeo/geocaching/network/SmileyImage.java new file mode 100644 index 0000000..ebac2bb --- /dev/null +++ b/main/src/cgeo/geocaching/network/SmileyImage.java @@ -0,0 +1,34 @@ +package cgeo.geocaching.network; + +import cgeo.geocaching.list.StoredList; + +import org.apache.commons.lang3.tuple.ImmutablePair; +import org.apache.commons.lang3.tuple.Pair; + +import android.graphics.Bitmap; +import android.graphics.drawable.BitmapDrawable; +import android.widget.TextView; + +public class SmileyImage extends HtmlImage { + + public SmileyImage(final String geocode, final TextView view) { + super(geocode, false, StoredList.STANDARD_LIST_ID, false, view); + } + + @Override + protected Pair<BitmapDrawable, Boolean> scaleImage(final Pair<Bitmap, Boolean> loadResult) { + final Bitmap bitmap = loadResult.getLeft(); + BitmapDrawable drawable; + if (bitmap != null) { + final int lineHeight = (int) (view.getLineHeight() * 0.8); + drawable = new BitmapDrawable(view.getResources(), bitmap); + final int width = drawable.getIntrinsicWidth() * lineHeight / drawable.getIntrinsicHeight(); + drawable.setBounds(0, 0, width, lineHeight); + } + else { + drawable = null; + } + return new ImmutablePair<>(drawable, loadResult.getRight()); + } + +} |
