/** * galaxy inc. * meetup client for android */ package com.galaxy.meetup.client.android.hangout; import android.app.Dialog; import android.content.Intent; import android.os.Bundle; import android.support.v4.app.Fragment; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.view.animation.TranslateAnimation; import android.widget.Button; import com.galaxy.meetup.client.android.R; import com.galaxy.meetup.client.android.Intents; import com.galaxy.meetup.client.android.MeetupFeedback; import com.galaxy.meetup.client.android.analytics.OzActions; import com.galaxy.meetup.client.android.analytics.OzViews; import com.galaxy.meetup.client.android.content.EsAccount; import com.galaxy.meetup.client.android.service.EsService; import com.galaxy.meetup.client.android.ui.fragments.AudienceFragment; import com.galaxy.meetup.client.android.ui.fragments.EsFragmentActivity; import com.galaxy.meetup.client.util.HelpUrl; import com.galaxy.meetup.client.util.ImageUtils; /** * * @author sihai * */ public class NewHangoutActivity extends EsFragmentActivity { private EsAccount mAccount; private AudienceFragment mAudienceFragment; private Button mHangoutButton; public NewHangoutActivity() { } protected final EsAccount getAccount() { return mAccount; } public final OzViews getViewForLogging() { return OzViews.HANGOUT_START_NEW; } public final void onAttachFragment(Fragment fragment) { if(fragment instanceof AudienceFragment) { mAudienceFragment = (AudienceFragment)fragment; mAudienceFragment.setCirclesUsageType(10); mAudienceFragment.setIncludePhoneOnlyContacts(false); mAudienceFragment.setIncludePlusPages(false); mAudienceFragment.setPublicProfileSearchEnabled(true); mAudienceFragment.setShowSuggestedPeople(true); mAudienceFragment.setFilterNullGaiaIds(true); mAudienceFragment.setAudienceChangedCallback(new Runnable() { public final void run() { if(mHangoutButton != null) { Button button = mHangoutButton; boolean flag; if(!mAudienceFragment.isAudienceEmpty()) flag = true; else flag = false; button.setEnabled(flag); } // TODO } }); } } public void onBackPressed() { recordUserAction(OzActions.CONVERSATION_ABORT_NEW); super.onBackPressed(); } protected void onCreate(Bundle bundle) { super.onCreate(bundle); setContentView(R.layout.new_hangout_activity); mAccount = EsService.getActiveAccount(this); mHangoutButton = (Button)findViewById(R.id.start_hangout_button); mHangoutButton.setEnabled(false); mHangoutButton.setOnClickListener(new android.view.View.OnClickListener() { public final void onClick(View view) { // TODO } }); if(android.os.Build.VERSION.SDK_INT < 11) { showTitlebar(true); setTitlebarTitle(getString(R.string.new_hangout_label)); } } public Dialog onCreateDialog(int i, Bundle bundle) { Dialog dialog; if(i == 0x7f0a003e) dialog = ImageUtils.createInsertCameraPhotoDialog(this); else dialog = super.onCreateDialog(i, bundle); return dialog; } public boolean onCreateOptionsMenu(Menu menu) { super.onCreateOptionsMenu(menu); getMenuInflater().inflate(R.menu.hangout_menu, menu); return true; } public boolean onOptionsItemSelected(MenuItem menuitem) { boolean flag = true; int i = menuitem.getItemId(); if(i == 0x102002c) goHome(mAccount); else if(i == R.id.feedback) { recordUserAction(OzActions.SETTINGS_FEEDBACK); MeetupFeedback.launch(this); } else if(i == R.id.help) startExternalActivity(new Intent("android.intent.action.VIEW", HelpUrl.getHelpUrl(this, getResources().getString(R.string.url_param_help_hangouts)))); else flag = super.onOptionsItemSelected(menuitem); return flag; } protected void onResume() { super.onResume(); if(!isIntentAccountActive()) finish(); } protected void onStart() { Log.debug("NewHangoutActivity.onStart: this=%s", new Object[] { this }); super.onStart(); if(android.os.Build.VERSION.SDK_INT >= 11) getActionBar().setDisplayHomeAsUpEnabled(true); GCommApp.getInstance(this).signinUser(mAccount); GCommApp.getInstance(this).startingHangoutActivity(this); } protected void onStop() { Log.debug("NewHangoutActivity.onStop: this=%s", new Object[] { this }); super.onStop(); GCommApp.getInstance(this).stoppingHangoutActivity(); } protected final void onTitlebarLabelClick() { goHome(mAccount); } }