package com.akjava.gwt.hangout.test2.client; import java.util.List; import com.akjava.gwt.lib.hangouts.client.Hangout; import com.akjava.gwt.lib.hangouts.client.Participant; import com.akjava.gwt.lib.hangouts.client.av.Av; import com.google.gwt.event.dom.client.ClickEvent; import com.google.gwt.event.dom.client.ClickHandler; import com.google.gwt.user.client.Window; import com.google.gwt.user.client.ui.Button; import com.google.gwt.user.client.ui.HorizontalPanel; import com.google.gwt.user.client.ui.Image; import com.google.gwt.user.client.ui.Label; import com.google.gwt.user.client.ui.VerticalPanel; public class AvatorTest extends VerticalPanel{ private VerticalPanel container; public AvatorTest(){ Button update=new Button("Update list"); add(update); update.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { updateList(); } }); container=new VerticalPanel(); add(container); updateList(); } protected void updateList() { container.clear(); List<Participant> ps=Hangout.getParticipantsAsList(); for(Participant p:ps){ AvatorInfo info=new AvatorInfo(p.getId()); container.add(info); } } public class AvatorInfo extends HorizontalPanel{ private String participantId; private Image img; public AvatorInfo(String p){ this.setVerticalAlignment(HorizontalPanel.ALIGN_MIDDLE); this.participantId=p; Label nameLabel=new Label(); nameLabel.setWidth("100px"); add(nameLabel); Participant participant=Hangout.getParticipantById(participantId); nameLabel.setText(participant.getPerson().getDisplayName()); Button edit=new Button("Edit"); add(edit); edit.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { String url=Av.getAvatar(participantId); String newUrl=Window.prompt("image url", url); if(newUrl!=null){ Av.setAvatar(participantId, newUrl); updateImage(); } } }); Button clear=new Button("Clear"); add(clear); clear.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { Av.clearAvatar(participantId); updateImage(); } }); img=new Image(); img.setWidth("100px"); add(img); updateImage(); } private void updateImage(){ String url=Av.getAvatar(participantId); Test2.log("image-url:"+url); if(url!=null){ img.setUrl(url); img.setVisible(true); }else{ img.setVisible(false); } } } }