/** * galaxy inc. * meetup client for android */ package com.galaxy.meetup.client.android.ui.fragments; import android.content.Context; import android.database.Cursor; import android.support.v4.app.FragmentManager; import android.support.v4.app.LoaderManager; import android.text.TextUtils; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import com.galaxy.meetup.client.android.R; import com.galaxy.meetup.client.android.content.EsAccount; import com.galaxy.meetup.client.android.content.EsAvatarData; import com.galaxy.meetup.client.android.ui.view.PersonCardView; import com.galaxy.meetup.client.android.ui.view.PersonCardView.OnPersonCardClickListener; /** * * @author sihai * */ public class PeopleSearchGridAdapter extends PeopleSearchAdapter implements OnPersonCardClickListener { private CircleSpinnerAdapter mCircleSpinnerAdapter; private boolean mShowMembership; private boolean mViewingAsPlusPage; public PeopleSearchGridAdapter(Context context, FragmentManager fragmentmanager, LoaderManager loadermanager, EsAccount esaccount) { super(context, fragmentmanager, loadermanager, esaccount); mViewingAsPlusPage = esaccount.isPlusPage(); } protected final void bindView(View view, int i, Cursor cursor, int j) { switch(i) { case 0: PersonCardView personcardview2 = (PersonCardView)view; personcardview2.setOnPersonCardClickListener(this); personcardview2.setPosition(j + getPositionForPartition(i)); personcardview2.setCircleNameResolver(mCircleNameResolver); personcardview2.setContactName(cursor.getString(3)); personcardview2.setPersonId(cursor.getString(1)); personcardview2.setGaiaIdAndAvatarUrl(cursor.getString(2), EsAvatarData.uncompressAvatarUrl(cursor.getString(4))); if(mShowMembership) { String s2 = cursor.getString(5); personcardview2.setPackedCircleIdsEmailAndDescription(s2, null, null, false, false); boolean flag1; if(cursor.getInt(6) != 0) flag1 = true; else flag1 = false; if(flag1) { personcardview2.setForceAvatarDefault(true); personcardview2.setActionButtonVisible(true, R.string.person_card_unblock_button, 1); boolean flag2; if(cursor.getInt(7) == 2) flag2 = true; else flag2 = false; personcardview2.setPlusPage(flag2); } else if(TextUtils.isEmpty(s2) && !mViewingAsPlusPage) personcardview2.setActionButtonVisible(true, R.string.person_card_add_to_circles_button, 0); else personcardview2.setActionButtonVisible(false, 0, 0); personcardview2.setDismissActionButtonVisible(false); } else { personcardview2.setPackedCircleIdsEmailAndDescription(null, null, null, false, false); if(!mViewingAsPlusPage) personcardview2.setActionButtonVisible(true, R.string.person_card_add_to_circles_button, 0); else personcardview2.setActionButtonVisible(false, 0, 0); personcardview2.setDismissActionButtonVisible(true); } break; case 1: break; case 2: PersonCardView personcardview = (PersonCardView)view; personcardview.setOnPersonCardClickListener(this); personcardview.setWellFormedEmail(mQuery); personcardview.setActionButtonVisible(mAddToCirclesActionEnabled, R.string.person_card_add_to_circles_button, 0); personcardview.updateContentDescription(); break; case 3: break; case 4: PersonCardView personcardview1 = (PersonCardView)view; personcardview1.setOnPersonCardClickListener(this); personcardview1.setPosition(j + getPositionForPartition(i)); personcardview1.setHighlightedText(mQuery); personcardview1.setCircleNameResolver(mCircleNameResolver); personcardview1.setPersonId(cursor.getString(1)); personcardview1.setContactIdAndAvatarUrl(cursor.getString(3), cursor.getString(2), EsAvatarData.uncompressAvatarUrl(cursor.getString(6))); personcardview1.setContactName(cursor.getString(4)); String s = cursor.getString(12); if(s == null) { s = cursor.getString(8); if(s == null) s = cursor.getString(9); } String s1 = cursor.getString(7); int k = cursor.getInt(5); personcardview1.setDescription(s, true, false); if(!mViewingAsPlusPage) { CircleSpinnerAdapter circlespinneradapter = mCircleSpinnerAdapter; boolean flag; if(k == 1) flag = true; else flag = false; personcardview1.setOneClickCircles(s1, circlespinneradapter, flag); } if(j == -1 + cursor.getCount()) continueLoadingPublicProfiles(); personcardview1.updateContentDescription(); personcardview1.setDismissActionButtonVisible(false); break; case 5: byte byte0; byte byte1; byte byte2; byte0 = 8; byte1 = 8; byte2 = 8; int value = cursor.getInt(0); if(1 == value) { } else if(2 == value) { byte1 = 0; } else if(3 == value) { byte2 = 0; } else { } view.findViewById(R.id.loading).setVisibility(byte0); view.findViewById(R.id.not_found).setVisibility(byte1); view.findViewById(R.id.error).setVisibility(byte2); break; default: break; } } public final void changeCircleMembers$2c8bde3e(Cursor cursor, boolean flag) { mShowMembership = flag; changeCursor(0, cursor); } public final boolean isCursorClosingEnabled() { return false; } protected final View newView(Context context, int partion, Cursor cursor, int position, ViewGroup parent) { View view = null; if(5 == partion) { view = LayoutInflater.from(context).inflate(R.layout.people_search_status_card, parent, false); } else { view = new PersonCardView(context); } return view; } public final void onActionButtonClick(PersonCardView personcardview, int i) { if(mListener == null) { return; } if(0 == i) { if(!TextUtils.isEmpty(personcardview.getWellFormedEmail())) showPersonNameDialog("add_email_dialog"); else mListener.onChangeCirclesAction(personcardview.getPersonId(), personcardview.getContactName()); } else if(1 == i) { mListener.onUnblockPersonAction(personcardview.getPersonId(), false); } } public final void onChangeCircles(PersonCardView personcardview) { mListener.onChangeCirclesAction(personcardview.getPersonId(), personcardview.getContactName()); } public final void onDismissButtonClick(PersonCardView personcardview) { if(mListener != null) mListener.onDismissSuggestionAction(personcardview.getPersonId(), personcardview.getSuggestionId()); } public final void onItemClick(PersonCardView personcardview) { onItemClick(personcardview.getPosition()); } public final void setCircleSpinnerAdapter(CircleSpinnerAdapter circlespinneradapter) { mCircleSpinnerAdapter = circlespinneradapter; } }