package eu.hgross.blaubot.example.chat.views; import android.content.Context; import android.os.Handler; import android.os.Looper; import android.view.View; import android.widget.FrameLayout; import android.widget.TextView; import org.joda.time.DateTime; import org.joda.time.format.DateTimeFormat; import org.joda.time.format.DateTimeFormatter; import eu.hgross.blaubot.example.chat.R; import eu.hgross.blaubot.example.chat.messages.HelloMessage; /** * Visualizes a hello message */ public class HelloMessageView extends FrameLayout { private Handler mUiHandler; private View mMainView; private DateTimeFormatter mDateTimeFormatter; public HelloMessageView(Context context) { super(context); initView(); } public HelloMessageView(Context context, HelloMessage msg) { super(context); initView(); setHelloMessage(msg); } private void initView() { mMainView = inflate(getContext(), R.layout.generic_message, null); addView(mMainView); mUiHandler = new Handler(Looper.getMainLooper()); mDateTimeFormatter = DateTimeFormat.forPattern("HH:mm:ss"); } /** * Sets the message to be displayed * * @param helloMessage the message to be visualized */ public void setHelloMessage(final HelloMessage helloMessage) { mUiHandler.post(new Runnable() { @Override public void run() { TextView timestamp = (TextView) mMainView.findViewById(R.id.generic_message_timestamp); TextView text = (TextView) mMainView.findViewById(R.id.generic_message_text); DateTime dateTime = new DateTime(helloMessage.getSendTimestamp()); timestamp.setText(mDateTimeFormatter.print(dateTime)); text.setText(helloMessage.getOriginator().getUserName() + " " + getContext().getResources().getString(R.string.joined_the_chatroom)); } }); } }