diff options
author | lookshe <github@lookshe.org> | 2015-10-05 13:55:43 +0200 |
---|---|---|
committer | lookshe <github@lookshe.org> | 2015-10-05 13:55:43 +0200 |
commit | b98478e57c088efc63fd470e429f791dd664707a (patch) | |
tree | e722ed48ee2ec125d8ad9250f79d8e1ca95666a7 /src/main/java/de/thedevstack/conversationsplus/ui/listeners | |
parent | 5850cbcf9c3e72580f3288c582737a04e8148b79 (diff) | |
parent | 6f17b06ad008cc7ac89174ba7ac7cc96ee0881eb (diff) |
Merge branch 'trz/rename' into trz/rebase
Conflicts:
build.gradle
src/main/java/eu/siacs/conversations/ui/ContactDetailsActivity.java
src/main/java/eu/siacs/conversations/ui/ConversationFragment.java
Diffstat (limited to 'src/main/java/de/thedevstack/conversationsplus/ui/listeners')
-rw-r--r-- | src/main/java/de/thedevstack/conversationsplus/ui/listeners/ShowResourcesListDialogListener.java | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/src/main/java/de/thedevstack/conversationsplus/ui/listeners/ShowResourcesListDialogListener.java b/src/main/java/de/thedevstack/conversationsplus/ui/listeners/ShowResourcesListDialogListener.java new file mode 100644 index 00000000..070ea58c --- /dev/null +++ b/src/main/java/de/thedevstack/conversationsplus/ui/listeners/ShowResourcesListDialogListener.java @@ -0,0 +1,47 @@ +package de.thedevstack.conversationsplus.ui.listeners; + +import android.content.Context; +import android.view.View; + +import de.thedevstack.conversationsplus.R; +import de.thedevstack.conversationsplus.entities.Contact; +import de.thedevstack.conversationsplus.ui.adapter.PresencesArrayAdapter; +import de.thedevstack.conversationsplus.ui.dialogs.AbstractAlertDialog; + +/** + * This listener shows the dialog with the resources of a contact. + * The resources are shown with the color of their current online mode. + * This listener implements OnClickListener and OnLongClickListener. + */ +public class ShowResourcesListDialogListener extends AbstractAlertDialog implements View.OnClickListener, View.OnLongClickListener { + private Contact contact; + + public ShowResourcesListDialogListener(Context context, Contact contact) { + super(context, getTitle(context, contact)); + this.contact = contact; + this.init(); + } + + private static final String getTitle(Context context, Contact contact) { + if (null != contact && null != contact.getJid() && null != contact.getJid().toBareJid()) { + int presenceCount = null != contact.getPresences() ? contact.getPresences().size() : 0; + return context.getString(R.string.dlg_resources_title, contact.getJid().toBareJid().toString(), presenceCount); + } + return null != contact ? contact.toString() : ""; + } + + protected void init() { + this.builder.setAdapter(new PresencesArrayAdapter(getContext(), this.contact.getPresences()), null); + } + + @Override + public void onClick(View v) { + this.show(); + } + + @Override + public boolean onLongClick(View view) { + this.show(); + return true; + } +} |