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.ui.Button; import com.google.gwt.user.client.ui.HorizontalPanel; import com.google.gwt.user.client.ui.Label; import com.google.gwt.user.client.ui.VerticalPanel; public class RequestTest extends VerticalPanel{ private VerticalPanel container; public RequestTest(){ 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){ ParticipantInfo info=new ParticipantInfo(p.getId()); container.add(info); } } public class ParticipantInfo extends HorizontalPanel{ private String participantId; public ParticipantInfo(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("Request Mute"); add(edit); edit.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { Av.requestParticipantMicrophoneMute(participantId); } }); } } }