/* Copyright (c) 2008 Bluendo S.r.L. * See about.html for details about license. * * $Id: ContactInfoScreen.java 1356 2009-04-08 10:07:06Z luca $ */ package it.yup.screens; import lampiro.LampiroMidlet; import it.yup.xmpp.Contact; import it.yup.xmpp.XMPPClient; import it.yup.xmpp.packets.Presence; import it.yup.xmpp.packets.Stanza; import javax.microedition.lcdui.Command; import javax.microedition.lcdui.CommandListener; import javax.microedition.lcdui.Displayable; import javax.microedition.lcdui.Form; import javax.microedition.lcdui.ImageItem; import javax.microedition.lcdui.Item; import javax.microedition.lcdui.ItemCommandListener; import javax.microedition.lcdui.StringItem; import javax.microedition.lcdui.TextField; public class ContactInfoScreen extends Form implements CommandListener { public ContactInfoScreen(Contact c) { super("Contact Info"); Command cmd_close = new Command("close", 1, Command.OK); TextField tf_jid = new TextField("JID", c.jid, 50, TextField.UNEDITABLE); tf_jid.setLayout(Item.LAYOUT_EXPAND | Item.LAYOUT_LEFT | Item.LAYOUT_NEWLINE_AFTER); append(tf_jid); if (c.name != null && c.name.length() > 0) { TextField tf_nick = new TextField("Nick", c.name, 50, TextField.UNEDITABLE); tf_nick.setLayout(Item.LAYOUT_EXPAND | Item.LAYOUT_LEFT | Item.LAYOUT_NEWLINE_AFTER); append(tf_nick); } TextField tf_sub = new TextField("Subscription", c.subscription, 50, TextField.UNEDITABLE); tf_sub.setLayout(Item.LAYOUT_DEFAULT | Item.LAYOUT_LEFT | Item.LAYOUT_NEWLINE_AFTER); append(tf_sub); StringItem si_rres = new StringItem("Resources", ""); si_rres.setLayout(Item.LAYOUT_EXPAND | Item.LAYOUT_LEFT | Item.LAYOUT_NEWLINE_AFTER); append(si_rres); Presence[] resources = c.getAllPresences(); for (int i = 0; i < resources.length; i++) { String jid = resources[i].getAttribute(Stanza.ATT_FROM); ImageItem ii_img = new ImageItem(null, XMPPClient.getInstance() .getPresenceIcon(c,null,c.getAvailability(jid)), Item.LAYOUT_LEFT, null); ii_img.setLayout(Item.LAYOUT_LEFT | Item.LAYOUT_NEWLINE_BEFORE); append(ii_img); StringItem si_fulljid = new StringItem("", jid); si_fulljid.setLayout(Item.LAYOUT_LEFT | Item.LAYOUT_NEWLINE_AFTER); append(si_fulljid); String status = resources[i].getStatus(); if (status != null && status.length() > 0) { StringItem si_status = new StringItem("Status", status); si_status.setLayout(Item.LAYOUT_LEFT | Item.LAYOUT_NEWLINE_AFTER); append(si_status); } } StringItem si_close = new StringItem("close", null, StringItem.BUTTON); si_close.setDefaultCommand(cmd_close); si_close.setItemCommandListener(new ItemCommandListener() { public void commandAction(Command arg0, Item arg1) { LampiroMidlet.disp.setCurrent(RosterScreen.getInstance()); } }); si_close.setLayout(Item.LAYOUT_CENTER | Item.LAYOUT_EXPAND); append(si_close); addCommand(cmd_close); setCommandListener(this); } public void commandAction(Command cmd, Displayable disp) { LampiroMidlet.disp.setCurrent(RosterScreen.getInstance()); } }