/**
* galaxy inc.
* meetup client for android
*/
package com.galaxy.meetup.client.android.ui.fragments;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import android.app.Dialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.res.Resources;
import android.database.Cursor;
import android.net.Uri;
import android.os.Bundle;
import android.os.Handler;
import android.support.v4.app.DialogFragment;
import android.support.v4.app.LoaderManager;
import android.support.v4.app.LoaderManager.LoaderCallbacks;
import android.support.v4.content.Loader;
import android.text.TextUtils;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ScrollView;
import android.widget.Toast;
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.EsPeopleData;
import com.galaxy.meetup.client.android.content.PersonData;
import com.galaxy.meetup.client.android.service.CircleMembershipManager;
import com.galaxy.meetup.client.android.service.EsService;
import com.galaxy.meetup.client.android.service.EsServiceListener;
import com.galaxy.meetup.client.android.service.ServiceResult;
import com.galaxy.meetup.client.android.ui.fragments.AlertFragmentDialog.AlertDialogListener;
import com.galaxy.meetup.client.android.ui.fragments.PeopleSearchAdapter.SearchListAdapterListener;
import com.galaxy.meetup.client.android.ui.fragments.UnblockPersonDialog.PersonUnblocker;
import com.galaxy.meetup.client.android.ui.view.ColumnGridView;
import com.galaxy.meetup.client.android.ui.view.HostActionBar;
import com.galaxy.meetup.client.android.ui.view.SearchViewAdapter.OnQueryChangeListener;
import com.galaxy.meetup.client.android.ui.view.SuggestionGridView;
import com.galaxy.meetup.client.util.HelpUrl;
import com.galaxy.meetup.client.util.ScreenMetrics;
/**
*
* @author sihai
*
*/
public class HostedPeopleFragment extends HostedEsFragment implements
LoaderCallbacks, AlertDialogListener,
CirclePropertiesFragmentDialog.CirclePropertiesListener,
SearchListAdapterListener,
SuggestionGridAdapter.SuggestionGridAdapterListener, PersonUnblocker,
OnQueryChangeListener {
private static final String CIRCLES_PROJECTION[] = {
"circle_id", "circle_name", "contact_count", "type", "semantic_hints"
};
protected static ScreenMetrics sScreenMetrics;
private PeopleSearchGridAdapter mAdapter;
private Cursor mCircleMembers;
protected String mCircleName;
private CircleSpinnerAdapter mCircleSpinnerAdapter;
private Cursor mCirclesCursor;
private int mCurrentSpinnerPosition;
private boolean mDataLoaded;
protected Integer mDeleteCircleRequestId;
private ColumnGridView mGridView;
private final Handler mHandler;
private boolean mIsNew;
protected Integer mNewCircleRequestId;
protected Integer mPendingRequestId;
private CircleSpinnerAdapter mPrimarySpinnerAdapter;
private boolean mRefreshSuggestedPeople;
private int mScrollPosition;
private boolean mSearchMode;
private String mSelectedCircleId;
private int mSelectedViewType;
private final EsServiceListener mServiceListener;
private List mShownPersonIds;
private SuggestionGridAdapter mSuggestionAdapter;
private SuggestionGridView mSuggestionGridView;
private SuggestionGridView.ScrollPositions mSuggestionScrollPositions;
private ScrollView mSuggestionScrollView;
private boolean mViewingAsPlusPage;
public HostedPeopleFragment()
{
this(false);
}
public HostedPeopleFragment(boolean flag)
{
mSelectedViewType = 0;
mCurrentSpinnerPosition = -1;
mHandler = new Handler();
mScrollPosition = -1;
mShownPersonIds = new ArrayList();
mServiceListener = new EsServiceListener() {
public final void onCreateCircleRequestComplete$6a63df5(int i, ServiceResult serviceresult)
{
handleNewCircleCallback(i, serviceresult);
}
public final void onDeleteCirclesRequestComplete$6a63df5(int i, ServiceResult serviceresult)
{
handleDeleteCircleCallback(i, serviceresult);
}
public final void onModifyCirclePropertiesRequestComplete$6a63df5(int i, ServiceResult serviceresult)
{
handleServiceCallback(i, serviceresult);
}
public final void onSetBlockedRequestComplete$6a63df5(int i, ServiceResult serviceresult)
{
handleServiceCallback(i, serviceresult);
}
public final void onSetCircleMembershipComplete$6a63df5(int i, ServiceResult serviceresult)
{
handleServiceCallback(i, serviceresult);
}
};
mIsNew = flag;
}
private void changeCircleMembers(Cursor cursor)
{
boolean flag = true;
if(mSelectedViewType == 0)
{
mSuggestionAdapter.swapCursor(cursor);
if(cursor != null && mSuggestionGridView != null && mSuggestionScrollPositions != null)
{
mSuggestionGridView.setScrollPositions(mSuggestionScrollPositions);
mSuggestionScrollPositions = null;
}
} else
{
PeopleSearchGridAdapter peoplesearchgridadapter = mAdapter;
if(mSelectedViewType != 1 && mSelectedViewType != 2)
flag = false;
int _tmp = mSelectedViewType;
peoplesearchgridadapter.changeCircleMembers$2c8bde3e(cursor, flag);
}
}
private void dismissProgressDialog()
{
DialogFragment dialogfragment = (DialogFragment)getFragmentManager().findFragmentByTag("req_pending");
if(dialogfragment != null)
dialogfragment.dismiss();
}
private static OzViews getLoggingViewFromType(int i) {
OzViews ozviews = OzViews.UNKNOWN;
if(0 == i) {
ozviews = OzViews.PEOPLE_SEARCH;
} else if(1 == i) {
ozviews = OzViews.PEOPLE_IN_CIRCLES;
} else if(2 == i) {
ozviews = OzViews.PEOPLE_BLOCKED;
}
return ozviews;
}
private void handleDeleteCircleCallback(int i, ServiceResult serviceresult)
{
if(mDeleteCircleRequestId != null && i == mDeleteCircleRequestId.intValue())
{
dismissProgressDialog();
mDeleteCircleRequestId = null;
if(serviceresult == null || !serviceresult.hasError())
Toast.makeText(getActivity(), R.string.toast_circle_deleted, 0).show();
else
Toast.makeText(getActivity(), R.string.transient_server_error, 0).show();
}
}
private void handleNewCircleCallback(int i, ServiceResult serviceresult)
{
if(mNewCircleRequestId != null && i == mNewCircleRequestId.intValue())
{
dismissProgressDialog();
mNewCircleRequestId = null;
if(serviceresult == null || !serviceresult.hasError())
{
int j = R.string.toast_new_circle_created;
Object aobj[] = new Object[1];
aobj[0] = mCircleName;
String s = getString(j, aobj);
Toast.makeText(getActivity(), s, 0).show();
} else
{
Toast.makeText(getActivity(), R.string.transient_server_error, 0).show();
}
}
}
private void setSearchMode(boolean flag)
{
if(mSearchMode != flag)
{
mSearchMode = flag;
mAdapter.setQueryString(null);
if(flag)
{
mAdapter.changeCircleMembers$2c8bde3e(null, true);
getActionBar().getSearchViewAdapter().setQueryText(null);
} else
{
changeCircleMembers(mCircleMembers);
}
invalidateActionBar();
updateView(getView());
}
}
private void showCircleMembershipDialog(String s, String s1)
{
startActivityForResult(Intents.getCircleMembershipActivityIntent(getActivity(), mAccount, s, s1, true), 0);
}
private void showProgressDialog(int i)
{
ProgressFragmentDialog.newInstance(null, getString(i), false).show(getFragmentManager(), "req_pending");
}
private void updateView(View view)
{
if(mSearchMode) {
mGridView.setVisibility(0);
mSuggestionScrollView.setVisibility(8);
showContent(view);
return;
}
switch(mSelectedViewType)
{
default:
mSuggestionScrollView.setVisibility(8);
if(!mDataLoaded)
{
mGridView.setVisibility(8);
showEmptyViewProgress(view, getString(R.string.loading));
} else
if(mCircleMembers == null)
mGridView.setVisibility(8);
else
if(mCircleMembers.getCount() == 0)
{
mGridView.setVisibility(8);
setupEmptyView(view, R.string.empty_circle);
showEmptyView(view, getString(R.string.empty_circle));
} else
{
mGridView.setVisibility(0);
showContent(view);
}
break;
case 0: // '\0'
if(!mDataLoaded)
{
mGridView.setVisibility(8);
mSuggestionScrollView.setVisibility(8);
showEmptyViewProgress(view, getString(R.string.loading_friend_suggestions));
} else
{
mGridView.setVisibility(8);
mSuggestionScrollView.setVisibility(0);
showContent(view);
}
break;
}
}
public final void doDeleteCircle()
{
showProgressDialog(R.string.delete_circle_operation_pending);
List arraylist = new ArrayList();
arraylist.add(mSelectedCircleId);
mDeleteCircleRequestId = EsService.deleteCircles(getActivity(), mAccount, (ArrayList)arraylist);
}
public final OzViews getViewForLogging()
{
return getLoggingViewFromType(mSelectedViewType);
}
protected final void handleServiceCallback(int i, ServiceResult serviceresult) {
if(mPendingRequestId != null && i == mPendingRequestId.intValue()) {
dismissProgressDialog();
mPendingRequestId = null;
if(serviceresult != null && serviceresult.hasError())
Toast.makeText(getActivity(), R.string.transient_server_error, 0).show();
}
}
protected final boolean isEmpty() {
if(!mDataLoaded || null == mCirclesCursor) {
return true;
}
boolean flag1 = mSearchMode;
boolean flag = false;
if(!flag1)
switch(mSelectedViewType)
{
default:
int i = mAdapter.getCount();
flag = false;
if(i == 0)
flag = true;
break;
case 0: // '\0'
flag = mSuggestionAdapter.isEmpty();
break;
}
return flag;
}
public final void onActionButtonClicked(int i) {
if(0 == i) {
setSearchMode(true);
}
}
public final void onActivityResult(int i, int j, Intent intent) {
if(j == -1 && i == 0)
{
final String personId = intent.getStringExtra("person_id");
final String personName = intent.getStringExtra("display_name");
final ArrayList originalCircleIds = intent.getExtras().getStringArrayList("original_circle_ids");
final ArrayList selectedCircleIds = intent.getExtras().getStringArrayList("selected_circle_ids");
mHandler.post(new Runnable() {
public final void run()
{
setCircleMembership(personId, personName, originalCircleIds, selectedCircleIds);
}
});
}
super.onActivityResult(i, j, intent);
}
public final void onAddPersonToCirclesAction(String s, String s1, boolean flag) {
if(mSelectedViewType == 2) {
showCircleMembershipDialog(s, s1);
} else {
String s2 = EsPeopleData.getDefaultCircleId(getActivity(), mCirclesCursor, flag);
if(s2 == null) {
showCircleMembershipDialog(s, s1);
} else {
EsService.addPersonToCircle(getActivity(), mAccount, s, s1, s2);
if(!s.startsWith("g:"))
setSearchMode(false);
}
}
}
public final boolean onBackPressed()
{
boolean flag = mSearchMode;
boolean flag1 = false;
if(flag)
{
setSearchMode(false);
flag1 = true;
}
return flag1;
}
public final void onChangeCirclesAction(String s, String s1)
{
showCircleMembershipDialog(s, s1);
}
public final void onCirclePropertiesChange(String s, String s1, boolean flag) {
if(TextUtils.isEmpty(s1)) {
return;
}
String s2 = s1.trim();
if(mAdapter != null) {
boolean flag1 = false;
int count = mPrimarySpinnerAdapter.getCount();
for(int j = 0; j < count; j++) {
CircleSpinnerAdapter.CircleSpinnerInfo circlespinnerinfo = (CircleSpinnerAdapter.CircleSpinnerInfo)mPrimarySpinnerAdapter.getItem(j);
if(circlespinnerinfo.id == null || circlespinnerinfo.circleType == 10 || !s2.equalsIgnoreCase(circlespinnerinfo.title) || TextUtils.equals(s, circlespinnerinfo.id)) {
flag1 = true;
break;
}
}
if(flag1) {
Toast.makeText(getActivity(), R.string.toast_circle_already_exists, 0).show();
}
}
mCircleName = s2;
if(s == null)
{
showProgressDialog(R.string.new_circle_operation_pending);
mNewCircleRequestId = EsService.createCircle(getActivity(), mAccount, s2, flag);
} else
{
showProgressDialog(R.string.circle_properties_operation_pending);
mPendingRequestId = EsService.modifyCircleProperties(getActivity(), mAccount, s, s2, flag);
}
}
public final void onCircleSelected(String s, CircleData circledata)
{
}
public final void onCreate(Bundle bundle)
{
super.onCreate(bundle);
mRefreshSuggestedPeople = mIsNew;
mViewingAsPlusPage = mAccount.isPlusPage();
if(mViewingAsPlusPage && mSelectedViewType == 0)
mSelectedViewType = 1;
if(bundle != null)
{
mSelectedCircleId = bundle.getString("selected_circle_id");
mSelectedViewType = bundle.getInt("selected_view_type");
if(!mIsNew)
mSearchMode = bundle.getBoolean("search_mode");
mShownPersonIds = bundle.getStringArrayList("shown_persons");
if(bundle.containsKey("request_id"))
mPendingRequestId = Integer.valueOf(bundle.getInt("request_id"));
if(bundle.containsKey("new_circle_request_id"))
mNewCircleRequestId = Integer.valueOf(bundle.getInt("new_circle_request_id"));
if(bundle.containsKey("delete_circle_request_id"))
mDeleteCircleRequestId = Integer.valueOf(bundle.getInt("delete_circle_request_id"));
mCircleName = bundle.getString("new_circle_name");
mScrollPosition = bundle.getInt("scrollPos");
mSuggestionScrollPositions = (SuggestionGridView.ScrollPositions)bundle.getParcelable("scrollPositions");
}
mCircleSpinnerAdapter = new CircleSpinnerAdapter(getActivity());
mCircleSpinnerAdapter.setNotifyOnChange(false);
LoaderManager loadermanager = getLoaderManager();
mAdapter = new PeopleSearchGridAdapter(getActivity(), getFragmentManager(), loadermanager, mAccount);
mAdapter.setCircleUsageType(-1);
mAdapter.setPublicProfileSearchEnabled(true);
mAdapter.setIncludePeopleInCircles(true);
mAdapter.setIncludePlusPages(true);
PeopleSearchGridAdapter peoplesearchgridadapter = mAdapter;
boolean flag;
if(!mViewingAsPlusPage)
flag = true;
else
flag = false;
peoplesearchgridadapter.setAddToCirclesActionEnabled(flag);
mAdapter.setCircleSpinnerAdapter(mCircleSpinnerAdapter);
mAdapter.setListener(this);
mSuggestionAdapter = new SuggestionGridAdapter(getActivity(), loadermanager, mAccount, 777);
mSuggestionAdapter.setCircleSpinnerAdapter(mCircleSpinnerAdapter);
mSuggestionAdapter.setListener(this);
getLoaderManager().initLoader(2, null, this);
}
public final Loader onCreateLoader(int i, Bundle bundle) {
Loader loader = null;
if(1 == i) {
byte byte0;
if(mSelectedViewType == 2)
byte0 = 12;
else
byte0 = 1;
loader = new CircleListLoader(getActivity(), mAccount, byte0, CIRCLES_PROJECTION);
} else if(2 == i) {
if(0 == mSelectedViewType) {
loader = new SuggestedPeopleListLoader(getActivity(), mAccount, SuggestionGridAdapter.PROJECTION, mRefreshSuggestedPeople);
} else if(1 == mSelectedViewType) {
loader = new PeopleListLoader(getActivity(), mAccount, PeopleSearchGridAdapter.PEOPLE_PROJECTION, mSelectedCircleId);
} else if(2 == mSelectedViewType) {
loader = new BlockedPeopleListLoader(getActivity(), mAccount, PeopleSearchGridAdapter.PEOPLE_PROJECTION, mShownPersonIds);
}
}
return loader;
}
public final View onCreateView(LayoutInflater layoutinflater, ViewGroup viewgroup, Bundle bundle)
{
View view = layoutinflater.inflate(R.layout.hosted_people_fragment, viewgroup, false);
mGridView = (ColumnGridView)view.findViewById(R.id.grid);
mGridView.setAdapter(mAdapter);
mSuggestionScrollView = (ScrollView)view.findViewById(R.id.suggestion_scroll_view);
mSuggestionGridView = (SuggestionGridView)view.findViewById(R.id.suggestion_grid);
mSuggestionGridView.setAdapter(mSuggestionAdapter);
if(sScreenMetrics == null)
sScreenMetrics = ScreenMetrics.getInstance(getActivity());
Resources resources = getActivity().getResources();
int i = resources.getConfiguration().orientation;
boolean flag = false;
if(i == 2)
flag = true;
if(flag)
{
mGridView.setOrientation(1);
mGridView.setColumnCount(-1);
mGridView.setMinColumnWidth(resources.getDimensionPixelSize(R.dimen.person_card_min_height));
} else
{
mGridView.setOrientation(2);
ColumnGridView columngridview = mGridView;
int j;
if(sScreenMetrics.screenDisplayType == 0)
j = 1;
else
j = 2;
columngridview.setColumnCount(j);
}
mGridView.setItemMargin(sScreenMetrics.itemMargin);
mGridView.setPadding(sScreenMetrics.itemMargin, sScreenMetrics.itemMargin, sScreenMetrics.itemMargin, sScreenMetrics.itemMargin);
updateView(view);
return view;
}
public final void onDialogCanceled(String s)
{
}
public final void onDialogListClick(int i, Bundle bundle)
{
}
public final void onDialogNegativeClick(String s)
{
}
public final void onDialogPositiveClick(Bundle bundle, String s)
{
}
public final void onDismissSuggestionAction(String s, String s1)
{
List arraylist = new ArrayList();
arraylist.add(s);
List arraylist1 = new ArrayList();
arraylist1.add(s1);
EsService.dismissSuggestedPeople(getActivity(), mAccount, "ANDROID_PEOPLE_SUGGESTIONS_PAGE", arraylist, arraylist1);
}
public final void onLoadFinished(Loader loader, Object obj) {
Cursor cursor = (Cursor)obj;
int id = loader.getId();
if(1 == id) {
mCirclesCursor = cursor;
mCircleSpinnerAdapter.clear();
if(cursor != null && cursor.moveToFirst())
do
mCircleSpinnerAdapter.add(new CircleSpinnerAdapter.CircleSpinnerInfo(cursor.getString(0), cursor.getString(1), cursor.getInt(3), cursor.getInt(2), 0));
while(cursor.moveToNext());
mCircleSpinnerAdapter.notifyDataSetChanged();
invalidateActionBar();
} else if(2 == id) {
mDataLoaded = true;
mCircleMembers = cursor;
mShownPersonIds.clear();
if(mSelectedViewType == 2 && cursor != null && cursor.moveToFirst())
do
mShownPersonIds.add(cursor.getString(1));
while(cursor.moveToNext());
if(!mSearchMode)
changeCircleMembers(cursor);
if(mScrollPosition != -1 && (mSearchMode || mSelectedViewType != 0))
{
if(mScrollPosition == 0)
mGridView.setSelectionToTop();
else
mGridView.setSelection(mScrollPosition);
mScrollPosition = -1;
}
} else {
updateView(getView());
}
}
public final void onLoaderReset(Loader loader)
{
}
public final boolean onOptionsItemSelected(MenuItem menuitem) {
boolean flag = true;
int i = menuitem.getItemId();
if(i != R.id.delete_circle) {
if(i == R.id.circle_settings) {
int j = -1;
if(mCirclesCursor == null || mCirclesCursor.isClosed() || mSelectedCircleId == null || !mCirclesCursor.moveToFirst()) {
j = -1;
} else {
if(!TextUtils.equals(mCirclesCursor.getString(0), mSelectedCircleId)) {
// TODO
}
mCircleName = mCirclesCursor.getString(1);
j = mCirclesCursor.getInt(4);
if(j != -1)
{
getActivity();
String s1 = mSelectedCircleId;
String s2 = mCircleName;
boolean flag1;
CirclePropertiesFragmentDialog circlepropertiesfragmentdialog;
if((j & 0x40) == 0)
flag1 = flag;
else
flag1 = false;
circlepropertiesfragmentdialog = CirclePropertiesFragmentDialog.newInstance$50fd8769(s1, s2, flag1);
circlepropertiesfragmentdialog.setTargetFragment(this, 0);
circlepropertiesfragmentdialog.show(getFragmentManager(), "circle_settings");
}
}
} else if(i == R.id.help)
{
String s = getResources().getString(R.string.url_param_help_circles);
startExternalActivity(new Intent("android.intent.action.VIEW", HelpUrl.getHelpUrl(getActivity(), s)));
} else
{
flag = false;
}
} else {
if(mSelectedCircleId != null)
{
DeleteCircleConfirmationDialog deletecircleconfirmationdialog = new DeleteCircleConfirmationDialog();
deletecircleconfirmationdialog.setTargetFragment(this, 1);
deletecircleconfirmationdialog.show(getFragmentManager(), "delete_circle_conf");
}
}
return flag;
}
public final void onPause()
{
super.onPause();
EsService.unregisterListener(mServiceListener);
CircleMembershipManager.onPeopleListVisibilityChange(false);
}
public final void onPersonSelected(String s)
{
startActivity(Intents.getProfileActivityIntent(getActivity(), mAccount, s, null));
}
public final void onPersonSelected(String s, String s1, PersonData persondata)
{
if(s1 != null)
startExternalActivity(new Intent("android.intent.action.VIEW", Uri.withAppendedPath(android.provider.ContactsContract.Contacts.CONTENT_LOOKUP_URI, s1)));
else
startActivity(Intents.getProfileActivityIntent(getActivity(), mAccount, s, null));
}
protected final void onPrepareActionBar(HostActionBar hostactionbar) {
if(mSearchMode) {
hostactionbar.showSearchView();
hostactionbar.getSearchViewAdapter().addOnChangeListener(this);
return;
}
if(mPrimarySpinnerAdapter == null)
mPrimarySpinnerAdapter = new CircleSpinnerAdapter(getActivity());
mPrimarySpinnerAdapter.clear();
if(mCirclesCursor == null) {
getActionBar().showPrimarySpinner(mPrimarySpinnerAdapter, mCurrentSpinnerPosition);
hostactionbar.showActionButton(0, R.drawable.ic_menu_search_holo_light, R.string.menu_search);
return;
} else {
int i;
int j;
int k;
String s;
int l;
if(!mAccount.isPlusPage())
{
mPrimarySpinnerAdapter.add(new CircleSpinnerAdapter.CircleSpinnerInfo(null, getString(R.string.suggested_people_spinner_item), 0, 0, 0));
i = 1;
} else
{
i = 0;
}
if(!mCirclesCursor.moveToFirst()) {
j = 0;
} else {
k = 0;
do {
s = mCirclesCursor.getString(0);
String s1 = mCirclesCursor.getString(1);
l = mCirclesCursor.getInt(3);
int i1 = mCirclesCursor.getInt(2);
mPrimarySpinnerAdapter.add(new CircleSpinnerAdapter.CircleSpinnerInfo(s, s1, l, i1, 0));
if(0 == mSelectedViewType) {
} else if (1 == mSelectedViewType) {
if(TextUtils.equals(mSelectedCircleId, s))
k = i + mCirclesCursor.getPosition();
} else if (2 == mSelectedViewType) {
if(l == 10)
k = i + mCirclesCursor.getPosition();
}
} while(mCirclesCursor.moveToNext());
j = k;
}
mPrimarySpinnerAdapter.add(new CircleSpinnerAdapter.CircleSpinnerInfo(null, getString(R.string.create_new_circle), 0, 0, R.drawable.ic_add_circles));
if(mCurrentSpinnerPosition != j)
{
mCurrentSpinnerPosition = -1;
onPrimarySpinnerSelectionChange(j);
}
getActionBar().showPrimarySpinner(mPrimarySpinnerAdapter, mCurrentSpinnerPosition);
hostactionbar.showActionButton(0, R.drawable.ic_menu_search_holo_light, R.string.menu_search);
}
}
public final void onPrepareOptionsMenu(Menu menu)
{
super.onPrepareOptionsMenu(menu);
if(!mSearchMode && mSelectedViewType == 1 && mSelectedCircleId != null)
{
menu.findItem(R.id.delete_circle).setVisible(true);
menu.findItem(R.id.circle_settings).setVisible(true);
}
}
public final void onPrimarySpinnerSelectionChange(int i) {
if(i != -1 + mPrimarySpinnerAdapter.getCount()) {
if(mCurrentSpinnerPosition == i) {
return;
} else {
CircleSpinnerAdapter.CircleSpinnerInfo circlespinnerinfo;
int j;
mCurrentSpinnerPosition = i;
boolean flag;
String s;
if(mSelectedViewType == 2)
flag = true;
else
flag = false;
circlespinnerinfo = (CircleSpinnerAdapter.CircleSpinnerInfo)mPrimarySpinnerAdapter.getItem(i);
if(circlespinnerinfo.id != null) {
if(circlespinnerinfo.circleType == 10)
j = 2;
else
j = 1;
} else {
j = 0;
}
if(mSelectedViewType != j)
{
clearNavigationAction();
recordNavigationAction(getLoggingViewFromType(mSelectedViewType), getLoggingViewFromType(j), null, null, null);
mSelectedViewType = j;
boolean flag1;
if(mSelectedViewType == 2)
flag1 = true;
else
flag1 = false;
flag |= flag1;
mScrollPosition = 0;
}
s = null;
if(j != 0)
s = circlespinnerinfo.id;
if(!TextUtils.equals(s, mSelectedCircleId))
{
mSelectedCircleId = s;
mScrollPosition = 0;
}
mDataLoaded = false;
getLoaderManager().restartLoader(2, null, this);
if(flag)
getLoaderManager().restartLoader(1, null, this);
invalidateActionBar();
updateView(getView());
}
} else {
getActionBar().setPrimarySpinnerSelection(mCurrentSpinnerPosition);
getActivity();
CirclePropertiesFragmentDialog circlepropertiesfragmentdialog = CirclePropertiesFragmentDialog.newInstance$47e87423();
circlepropertiesfragmentdialog.setTargetFragment(this, 0);
circlepropertiesfragmentdialog.show(getFragmentManager(), "new_circle_input");
}
}
public final void onQueryClose()
{
setSearchMode(false);
}
public final void onQueryTextChanged(CharSequence charsequence)
{
if(mAdapter != null && mSearchMode)
{
PeopleSearchGridAdapter peoplesearchgridadapter = mAdapter;
String s;
if(charsequence == null)
s = null;
else
s = charsequence.toString().trim();
peoplesearchgridadapter.setQueryString(s);
}
}
public final void onQueryTextSubmitted(CharSequence charsequence)
{
}
public final void onResume()
{
super.onResume();
EsService.registerListener(mServiceListener);
CircleMembershipManager.onPeopleListVisibilityChange(true);
if(mPendingRequestId != null && !EsService.isRequestPending(mPendingRequestId.intValue()))
{
ServiceResult serviceresult2 = EsService.removeResult(mPendingRequestId.intValue());
handleServiceCallback(mPendingRequestId.intValue(), serviceresult2);
mPendingRequestId = null;
}
if(mNewCircleRequestId != null && !EsService.isRequestPending(mNewCircleRequestId.intValue()))
{
ServiceResult serviceresult1 = EsService.removeResult(mNewCircleRequestId.intValue());
handleNewCircleCallback(mNewCircleRequestId.intValue(), serviceresult1);
mNewCircleRequestId = null;
}
if(mDeleteCircleRequestId != null && !EsService.isRequestPending(mDeleteCircleRequestId.intValue()))
{
ServiceResult serviceresult = EsService.removeResult(mDeleteCircleRequestId.intValue());
handleDeleteCircleCallback(mDeleteCircleRequestId.intValue(), serviceresult);
mDeleteCircleRequestId = null;
}
updateView(getView());
EsService.syncPeople(getActivity(), getAccount(), false);
}
public final void onSaveInstanceState(Bundle bundle)
{
super.onSaveInstanceState(bundle);
if(mAdapter != null)
mAdapter.onSaveInstanceState(bundle);
bundle.putString("selected_circle_id", mSelectedCircleId);
bundle.putInt("selected_view_type", mSelectedViewType);
bundle.putBoolean("search_mode", mSearchMode);
bundle.putStringArrayList("shown_persons", (ArrayList)mShownPersonIds);
if(mPendingRequestId != null)
bundle.putInt("request_id", mPendingRequestId.intValue());
if(mNewCircleRequestId != null)
bundle.putInt("new_circle_request_id", mNewCircleRequestId.intValue());
if(mDeleteCircleRequestId != null)
bundle.putInt("delete_circle_request_id", mDeleteCircleRequestId.intValue());
bundle.putString("new_circle_name", mCircleName);
int i;
if(mGridView != null)
i = mGridView.getFirstVisiblePosition();
else
i = -1;
bundle.putInt("scrollPos", i);
if(mSuggestionGridView != null)
bundle.putParcelable("scrollPositions", mSuggestionGridView.getScrollPositions());
}
public final void onSearchListAdapterStateChange(PeopleSearchAdapter peoplesearchadapter)
{
View view = getView();
if(view != null)
updateView(view);
}
protected final void onSetArguments(Bundle bundle)
{
super.onSetArguments(bundle);
mSelectedViewType = bundle.getInt("people_view_type", 0);
mSelectedCircleId = bundle.getString("circle_id");
}
public final void onStart()
{
super.onStart();
mAdapter.onStart();
mSuggestionAdapter.onStart();
}
public final void onStop()
{
super.onStart();
mAdapter.onStop();
}
public final void onUnblockPersonAction(String s, boolean flag)
{
UnblockPersonDialog unblockpersondialog = new UnblockPersonDialog(s, false);
unblockpersondialog.setTargetFragment(this, 0);
unblockpersondialog.show(getFragmentManager(), "unblock_person");
}
public final boolean onUpButtonClicked()
{
boolean flag = mSearchMode;
boolean flag1 = false;
if(flag)
{
setSearchMode(false);
flag1 = true;
}
return flag1;
}
protected final void setCircleMembership(String s, String s1, ArrayList arraylist, ArrayList arraylist1)
{
ArrayList arraylist2 = new ArrayList();
Iterator iterator = arraylist1.iterator();
do
{
if(!iterator.hasNext())
break;
String s3 = (String)iterator.next();
if(!arraylist.contains(s3))
arraylist2.add(s3);
} while(true);
ArrayList arraylist3 = new ArrayList();
Iterator iterator1 = arraylist.iterator();
do
{
if(!iterator1.hasNext())
break;
String s2 = (String)iterator1.next();
if(!arraylist1.contains(s2))
arraylist3.add(s2);
} while(true);
showProgressDialog(EsPeopleData.getMembershipChangeMessageId(arraylist2, arraylist3));
mPendingRequestId = EsService.setCircleMembership(getActivity(), mAccount, s, s1, (String[])arraylist2.toArray(new String[arraylist2.size()]), (String[])arraylist3.toArray(new String[arraylist3.size()]));
if(!s.startsWith("g:"))
setSearchMode(false);
}
public final void unblockPerson(String s)
{
mPendingRequestId = EsService.setPersonBlocked(getActivity(), mAccount, s, null, false);
showProgressDialog(R.string.unblock_person_operation_pending);
}
//==============================================================================================
// Inner class
//==============================================================================================
public static class DeleteCircleConfirmationDialog extends DialogFragment implements android.content.DialogInterface.OnClickListener {
public DeleteCircleConfirmationDialog()
{
}
public void onClick(DialogInterface dialoginterface, int i) {
if(-2 == i) {
dialoginterface.dismiss();
} else if(-1 == i) {
((HostedPeopleFragment)getTargetFragment()).doDeleteCircle();
}
}
public final Dialog onCreateDialog(Bundle bundle)
{
Resources resources = getResources();
android.app.AlertDialog.Builder builder = new android.app.AlertDialog.Builder(getActivity());
int i = R.plurals.delete_circles_dialog_title;
Object aobj[] = new Object[1];
aobj[0] = Integer.valueOf(1);
builder.setTitle(resources.getQuantityString(i, 1, aobj));
int j = R.plurals.delete_circles_dialog_message;
Object aobj1[] = new Object[1];
aobj1[0] = Integer.valueOf(1);
builder.setMessage(resources.getQuantityString(j, 1, aobj1));
builder.setPositiveButton(0x104000a, this);
builder.setNegativeButton(0x1040000, this);
builder.setCancelable(true);
return builder.create();
}
}
}