/** * */ package com.photoshare.msg.view; import android.graphics.drawable.Drawable; import android.view.View; import android.widget.ImageView; import android.widget.TextView; import com.photoshare.common.IObserver; import com.photoshare.msg.MessageItem; import com.photoshare.tabHost.R; import com.photoshare.utils.async.AsyncImageLoader.ImageCallback; import com.photoshare.utils.async.AsyncUtils; import com.photoshare.view.UserBooleanBtn; /** * @author Aron * */ public class MessageQueueItemView { private View baseView; private ImageView msgPhoto; private TextView msgName; private TextView msgDecription; private UserBooleanBtn msgBtn; private MessageItem item; private AsyncUtils async; /** * @param baseView * @param item * @param async */ public MessageQueueItemView(View baseView, MessageItem item, AsyncUtils async) { super(); this.baseView = baseView; this.item = item; this.async = async; } public void applyView() { msgBtn = new UserBooleanBtn(baseView, R.id.itemMessageBtn, true, item .getMsgType().getEnabledString(), item.getMsgType() .getIntermediateString(), item.getMsgType().getDisabledString()); msgBtn.registerListener(listener); msgDecription = (TextView) baseView .findViewById(R.id.itemMessageDescription); msgName = (TextView) baseView.findViewById(R.id.itemMessageName); msgPhoto = (ImageView) baseView.findViewById(R.id.itemMessagePhoto); msgDecription.setText(item.getMsgDescription()); msgName.setText(item.getMsgName()); async.loadDrawableFromFile(item.getMsgPhotoUrl(), new ImageCallback() { public void imageLoaded(Drawable imageDrawable, String imageUrl) { if (msgListener != null) { msgListener .OnImageLoaded(msgPhoto, imageDrawable, imageUrl); } } public void imageDefault() { if (msgListener != null) { msgListener.OnImageDefault(msgPhoto); } } }); } private UserBooleanBtn.OnObserverClickListener listener = new UserBooleanBtn.OnObserverClickListener() { public void OnClick(IObserver<Boolean> observer) { if (msgListener != null) { msgListener.OnResend(item, msgBtn); } } }; private MessageListener msgListener; public interface MessageListener { public void OnResend(MessageItem message, IObserver<Boolean> observer); public void OnImageLoaded(ImageView imageView, Drawable drawable, String url); public void OnImageDefault(ImageView imageView); } public void registerListener(MessageListener listener) { this.msgListener = listener; } }