/**
* galaxy inc.
* meetup client for android
*/
package com.galaxy.meetup.client.android.ui.activity;
import java.util.ArrayList;
import java.util.Collections;
import android.content.Intent;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.View;
import com.galaxy.meetup.client.android.R;
import com.galaxy.meetup.client.android.analytics.OzViews;
import com.galaxy.meetup.client.android.content.EsAccount;
import com.galaxy.meetup.client.android.ui.fragments.CirclesMultipleSelectFragment;
import com.galaxy.meetup.client.android.ui.fragments.EsFragmentActivity;
/**
*
* @author sihai
*
*/
public class CirclesMembershipActivity extends EsFragmentActivity implements android.view.View.OnClickListener, CirclesMultipleSelectFragment.OnCircleSelectionListener {
private CirclesMultipleSelectFragment mFragment;
private View mPositiveButton;
public CirclesMembershipActivity()
{
}
private String getPersonId()
{
return getIntent().getExtras().getString("person_id");
}
private boolean isEmptySelectionAllowed()
{
return getIntent().getExtras().getBoolean("empty_selection_allowed", false);
}
protected final EsAccount getAccount()
{
return (EsAccount)getIntent().getParcelableExtra("account");
}
public final OzViews getViewForLogging()
{
return OzViews.CONTACTS_CIRCLELIST;
}
public final void onAttachFragment(Fragment fragment)
{
if(fragment instanceof CirclesMultipleSelectFragment)
{
mFragment = (CirclesMultipleSelectFragment)fragment;
mFragment.setCircleUsageType(2);
mFragment.setNewCircleEnabled(true);
mFragment.setPersonId(getPersonId());
mFragment.setOnCircleSelectionListener(this);
}
}
public final void onCircleSelectionChange()
{
if(!isEmptySelectionAllowed() && mFragment != null && mPositiveButton != null)
{
View view = mPositiveButton;
boolean flag;
if(mFragment.getSelectedCircleIds().size() > 0)
flag = true;
else
flag = false;
view.setEnabled(flag);
}
}
public void onClick(View view)
{
int i = view.getId();
if(R.id.ok == i) {
ArrayList arraylist = mFragment.getOriginalCircleIds();
if(arraylist != null)
{
ArrayList arraylist1 = mFragment.getSelectedCircleIds();
Collections.sort(arraylist);
Collections.sort(arraylist1);
if(arraylist.equals(arraylist1))
{
setResult(0);
finish();
}
Intent intent = new Intent();
intent.putExtra("person_id", getPersonId());
intent.putExtra("display_name", getIntent().getExtras().getString("display_name"));
intent.putExtra("original_circle_ids", arraylist);
intent.putExtra("selected_circle_ids", arraylist1);
setResult(-1, intent);
finish();
}
} else if(R.id.cancel == i) {
finish();
}
}
protected void onCreate(Bundle bundle)
{
super.onCreate(bundle);
setContentView(R.layout.circle_selection_activity);
setTitle(R.string.add_to_circles_dialog_title);
mPositiveButton = findViewById(R.id.ok);
mPositiveButton.setEnabled(isEmptySelectionAllowed());
mPositiveButton.setOnClickListener(this);
findViewById(R.id.cancel).setOnClickListener(this);
}
public void onResume()
{
super.onResume();
if(!isIntentAccountActive())
finish();
}
}