/** * galaxy inc. * meetup client for android */ package com.galaxy.meetup.client.android.hangout; import java.util.ArrayList; import java.util.Collection; import java.util.Iterator; import android.content.Intent; import android.content.res.Resources; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.view.View.OnClickListener; import com.galaxy.meetup.client.android.Intents; import com.galaxy.meetup.client.android.R; import com.galaxy.meetup.client.android.analytics.OzViews; import com.galaxy.meetup.client.android.content.AudienceData; import com.galaxy.meetup.client.android.content.EsAccount; import com.galaxy.meetup.client.android.realtimechat.Data; import com.galaxy.meetup.client.android.realtimechat.ParticipantUtils; import com.galaxy.meetup.client.android.service.Hangout; import com.galaxy.meetup.client.android.ui.fragments.EsFragmentActivity; import com.galaxy.meetup.client.util.EsLog; /** * * @author sihai * */ public class HangoutParticipantListActivity extends EsFragmentActivity implements OnClickListener { private Hangout.Info hangoutInfo; private EsAccount mAccount; private Collection mParticipantList; private ToastsView toastsView; public HangoutParticipantListActivity() { } private boolean canInviteMoreParticipants() { boolean flag; if(hangoutInfo != null && EsLog.ENABLE_DOGFOOD_FEATURES) flag = true; else flag = false; return flag; } private void inviteMoreParticipants() { String s = getResources().getString(R.string.realtimechat_conversation_invite_menu_item_text); ArrayList arraylist = new ArrayList(); for(Iterator iterator = mParticipantList.iterator(); iterator.hasNext(); arraylist.add(ParticipantUtils.makePersonFromParticipant((Data.Participant)iterator.next()))); AudienceData audiencedata = new AudienceData(arraylist, null); startActivityForResult(Intents.getEditAudienceActivityIntent(this, mAccount, s, audiencedata, 5, false, false, true, true), 0); } protected final EsAccount getAccount() { return mAccount; } public final OzViews getViewForLogging() { return OzViews.HANGOUT_PARTICIPANTS; } public void onActivityResult(int i, int j, Intent intent) { if(i == 0 && j == -1 && intent != null) { AudienceData audiencedata = (AudienceData)intent.getParcelableExtra("audience"); GCommApp.getInstance(this).getGCommNativeWrapper().inviteToMeeting(audiencedata, "HANGOUT", false, true); toastsView.addToast(R.string.hangout_invites_sent); } else { super.onActivityResult(i, j, intent); } } public void onClick(View view) { if(view.getId() == R.id.title_button_1) inviteMoreParticipants(); } protected void onCreate(Bundle bundle) { super.onCreate(bundle); setContentView(R.layout.participant_list_activity); toastsView = (ToastsView)findViewById(R.id.toasts_view); mAccount = (EsAccount)getIntent().getExtras().get("account"); hangoutInfo = GCommApp.getInstance(this).getGCommNativeWrapper().getHangoutInfo(); showTitlebar(true); createTitlebarButtons(R.menu.hangout_participant_list_activity_menu); mParticipantList = (ArrayList)getIntent().getSerializableExtra("hangout_participants"); String s = getResources().getString(R.string.hangout_participants_title); showTitlebar(true); setTitlebarTitle(s); mParticipantList.size(); Resources resources = getResources(); int i = R.string.participant_count; Object aobj[] = new Object[1]; aobj[0] = Integer.valueOf(mParticipantList.size()); String s1 = resources.getString(i, aobj); showTitlebar(true); setTitlebarSubtitle(s1); } public boolean onCreateOptionsMenu(Menu menu) { return false; } public boolean onOptionsItemSelected(MenuItem menuitem) { int i = menuitem.getItemId(); if(i == R.id.hangout_invite_menu_item) { inviteMoreParticipants(); return false; } else if(0x102002c == i) { goHome(mAccount); return true; } return false; } protected void onPause() { super.onPause(); } public boolean onPrepareOptionsMenu(Menu menu) { return false; } public final void onPrepareTitlebarButtons(Menu menu) { menu.findItem(R.id.hangout_invite_menu_item).setVisible(canInviteMoreParticipants()); } protected void onResume() { super.onResume(); if(!isIntentAccountActive()) finish(); } protected final void onTitlebarLabelClick() { goHome(mAccount); } }