Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.tactelus.cnn.ui.common;
- import net.rim.device.api.system.Application;
- import net.rim.device.api.system.Bitmap;
- import net.rim.device.api.system.EncodedImage;
- import net.rim.device.api.ui.Manager;
- import net.rim.device.api.ui.component.BitmapField;
- import com.tactelus.cnn.CNNApp;
- import com.tactelus.feed.api.Media;
- import com.tactelus.util.IOUtil;
- import com.tactelus.util.ImageUtil;
- import com.tactelus.util.IOUtil.WebDataCallback;
- public class WebBitmapField extends BitmapField implements WebDataCallback {
- private EncodedImage bitmap = null;
- private Media media;
- private int desiredWidth;
- private int desiredHeight;
- private Manager parent;
- public WebBitmapField(Media media, int desiredWidth, Manager parent) {
- try {
- this.parent = parent;
- this.media = media;
- this.desiredWidth = desiredWidth;
- this.desiredHeight = ImageUtil.getScaledHeight(media.width, media.height, desiredWidth);
- setBitmap(CNNApp.bmpWait);
- IOUtil.getWebData(media.url, this);
- } catch (Exception e) {
- }
- }
- public int getDesiredHeight() {
- return desiredHeight;
- }
- public int getDesiredWidth() {
- return desiredWidth;
- }
- // public int getPreferredHeight() {
- // return getDesiredHeight();
- // }
- //
- // public int getPreferredWidth() {
- // return getDesiredWidth();
- // }
- public Bitmap getBitmap() {
- if (bitmap == null)
- return null;
- return bitmap.getBitmap();
- }
- public void wdcCallback(final String data) {
- if (data.startsWith("Exception"))
- return;
- try {
- byte[] dataArray = data.getBytes();
- Bitmap original = EncodedImage.createEncodedImage(dataArray, 0, dataArray.length).getBitmap();
- media.setBitmap(ImageUtil.scaleBitmap(original, desiredWidth, desiredHeight, false));
- synchronized( Application.getEventLock() ) {
- setBitmap(media.getBitmap());
- invalidate();
- }
- // setDirty(true);
- // updateLayout();
- // parent.invalidate();
- }
- catch (final Exception e) {
- wdcException(e);
- }
- }
- public void wdcException(Exception ex) {
- setBitmap(CNNApp.bmpMissing);
- ex.printStackTrace();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement