package de.thedevstack.conversationsplus.ui.listeners; import android.content.Context; import android.content.Intent; import android.os.Bundle; import android.view.LayoutInflater; import android.view.MenuItem; import android.view.View; import android.view.ViewGroup; import de.thedevstack.conversationsplus.entities.Contact; import de.thedevstack.conversationsplus.entities.Conversation; import de.thedevstack.conversationsplus.ui.ConferenceDetailsActivity; import de.thedevstack.conversationsplus.ui.ContactDetailsActivity; import de.thedevstack.conversationsplus.ui.XmppActivity; /** * This listener opens on click * */ public class AvatarLogoOnClickListener implements View.OnClickListener { private final Conversation conversation; /** * Initializes the on click listener for a conversation. * @param conversation the conversation to be used */ public AvatarLogoOnClickListener(Conversation conversation) { this.conversation = conversation; } /** * Called when a view has been clicked. * * @param v The view that was clicked. */ @Override public void onClick(View v) { if (this.conversation.getMode() == Conversation.MODE_MULTI) { this.openConferenceDetails(v.getContext()); } else { this.openContactDetails(v.getContext()); } } /** * Opens the conference details activity. * @see de.thedevstack.conversationsplus.ui.ConversationFragment#onCreateView(LayoutInflater, ViewGroup, Bundle) * @param context the context to start the activity from. */ private void openConferenceDetails(Context context) { Intent intent = new Intent(context, ConferenceDetailsActivity.class); intent.setAction(ConferenceDetailsActivity.ACTION_VIEW_MUC); intent.putExtra("uuid", this.conversation.getUuid()); context.startActivity(intent); } /** * Opens the contact details activity. * @param context the context to start the activity from. * @see de.thedevstack.conversationsplus.ui.ConversationActivity#onOptionsItemSelected(MenuItem) */ public void openContactDetails(Context context) { Contact contact = this.conversation.getContact(); Intent intent = new Intent(context, ContactDetailsActivity.class); intent.setAction(ContactDetailsActivity.ACTION_VIEW_CONTACT); intent.putExtra(XmppActivity.EXTRA_ACCOUNT, contact.getAccount().getJid().toBareJid().toString()); intent.putExtra("contact", contact.getJid().toBareJid().toString()); intent.putExtra("fingerprint", (String)null); context.startActivity(intent); } }