/**
* galaxy inc.
* meetup client for android
*/
package com.galaxy.meetup.client.android.ui.activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.MenuItem;
import android.view.View;
import android.widget.ProgressBar;
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.CircleData;
import com.galaxy.meetup.client.android.content.EsAccount;
import com.galaxy.meetup.client.android.content.PersonData;
import com.galaxy.meetup.client.android.ui.fragments.EsFragmentActivity;
import com.galaxy.meetup.client.android.ui.fragments.PeopleSearchFragment;
/**
*
* @author sihai
*
*/
public class PeopleSearchActivity extends EsFragmentActivity implements PeopleSearchFragment.OnSelectionChangeListener {
private PeopleSearchFragment mSearchFragment;
public PeopleSearchActivity()
{
}
private boolean isPickerMode()
{
return getIntent().getBooleanExtra("picker_mode", false);
}
protected final EsAccount getAccount()
{
return (EsAccount)getIntent().getParcelableExtra("account");
}
public final OzViews getViewForLogging()
{
return OzViews.PEOPLE_SEARCH;
}
public final void onAttachFragment(Fragment fragment)
{
if(fragment instanceof PeopleSearchFragment)
{
mSearchFragment = (PeopleSearchFragment)fragment;
ProgressBar progressbar = (ProgressBar)findViewById(R.id.progress_spinner);
mSearchFragment.setProgressBar(progressbar);
mSearchFragment.setOnSelectionChangeListener(this);
Intent intent = getIntent();
boolean flag = getAccount().isPlusPage();
mSearchFragment.setCircleUsageType(intent.getIntExtra("search_circles_usage", -1));
PeopleSearchFragment peoplesearchfragment = mSearchFragment;
boolean flag1;
if(!isPickerMode() && !flag)
flag1 = true;
else
flag1 = false;
peoplesearchfragment.setAddToCirclesActionEnabled(flag1);
mSearchFragment.setPublicProfileSearchEnabled(intent.getBooleanExtra("search_pub_profiles_enabled", false));
mSearchFragment.setPhoneOnlyContactsEnabled(intent.getBooleanExtra("search_phones_enabled", false));
mSearchFragment.setPlusPagesEnabled(intent.getBooleanExtra("search_plus_pages_enabled", false));
mSearchFragment.setPeopleInCirclesEnabled(intent.getBooleanExtra("search_in_circles_enabled", true));
mSearchFragment.setInitialQueryString(intent.getStringExtra("query"));
}
}
public final void onCircleSelected(String s, CircleData circledata)
{
if(isPickerMode())
{
Intent intent = new Intent();
intent.putExtra("circle_id", s);
intent.putExtra("circle_data", circledata);
setResult(-1, intent);
finish();
return;
} else
{
throw new IllegalStateException();
}
}
public void onClick(View view)
{
}
protected void onCreate(Bundle bundle)
{
super.onCreate(bundle);
setContentView(R.layout.people_search_activity);
showTitlebar(true);
setTitlebarTitle(getString(R.string.search_people_tab_text));
}
public boolean onOptionsItemSelected(MenuItem menuitem)
{
if(16908332 == menuitem.getItemId()) {
goHome(getAccount());
return true;
}
return false;
}
public final void onPersonSelected(String s, String s1, PersonData persondata)
{
if(isPickerMode())
{
Intent intent = new Intent();
intent.putExtra("person_id", s);
intent.putExtra("person_data", persondata);
setResult(-1, intent);
finish();
} else
if(s1 != null)
startExternalActivity(new Intent("android.intent.action.VIEW", Uri.withAppendedPath(android.provider.ContactsContract.Contacts.CONTENT_LOOKUP_URI, s1)));
else
startActivity(Intents.getProfileActivityIntent(this, getAccount(), s, null));
}
protected void onResume()
{
super.onResume();
if(isIntentAccountActive())
{
if(mSearchFragment != null)
mSearchFragment.startSearch();
} else
{
finish();
}
}
protected final void onTitlebarLabelClick()
{
goHome(getAccount());
}
}