/**
* 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.CircleListItemView;
import com.galaxy.meetup.client.android.ui.view.PeopleListItemView;
import com.galaxy.meetup.client.android.ui.view.PeopleListItemView.OnActionButtonClickListener;
import com.galaxy.meetup.client.util.AccountsUtil;
/**
*
* @author sihai
*
*/
public class PeopleSearchListAdapter extends PeopleSearchAdapter implements
OnActionButtonClickListener {
public PeopleSearchListAdapter(Context context, FragmentManager fragmentmanager, LoaderManager loadermanager, EsAccount esaccount)
{
super(context, fragmentmanager, loadermanager, esaccount);
}
public PeopleSearchListAdapter(Context context, FragmentManager fragmentmanager, LoaderManager loadermanager, EsAccount esaccount, int i)
{
super(context, fragmentmanager, loadermanager, esaccount, 1);
}
protected final void bindView(View view, int i, Cursor cursor, int j)
{
if(null == cursor || cursor.isClosed()) {
return;
}
byte byte0 = 0;
byte byte1 = 0;
byte byte2 = 0;
switch(i)
{
case 1: // '\001'
CircleListItemView circlelistitemview = (CircleListItemView)view;
int k = cursor.getInt(2);
circlelistitemview.setHighlightedText(mQuery);
circlelistitemview.setCircle(cursor.getString(1), k, cursor.getString(3), cursor.getInt(4), AccountsUtil.isRestrictedCircleForAccount(mAccount, k));
break;
case 4: // '\004'
PeopleListItemView peoplelistitemview2 = (PeopleListItemView)view;
peoplelistitemview2.setHighlightedText(mQuery);
peoplelistitemview2.setCircleNameResolver(mCircleNameResolver);
String s = cursor.getString(1);
peoplelistitemview2.setPersonId(s);
String s1 = cursor.getString(3);
String s2 = cursor.getString(2);
peoplelistitemview2.setContactIdAndAvatarUrl(s1, s2, EsAvatarData.uncompressAvatarUrl(cursor.getString(6)));
peoplelistitemview2.setContactName(cursor.getString(4));
String s3 = cursor.getString(12);
String s4 = cursor.getString(7);
boolean flag;
String s5;
boolean flag1;
String s6;
boolean flag2;
boolean flag3;
if(!TextUtils.isEmpty(s4))
flag = true;
else
flag = false;
s5 = cursor.getString(9);
flag1 = mIncludePhoneNumberContacts;
s6 = null;
if(flag1)
s6 = cursor.getString(10);
peoplelistitemview2.setPackedCircleIdsEmailAddressPhoneNumberAndSnippet(s4, s5, cursor.getString(8), s6, cursor.getString(11), s3);
if(mAddToCirclesActionEnabled && !flag && !mAccount.getPersonId().equals(s))
flag2 = true;
else
flag2 = false;
peoplelistitemview2.setAddButtonVisible(flag2);
if(mAddToCirclesActionEnabled && mListener != null)
peoplelistitemview2.setOnActionButtonClickListener(this);
flag3 = true;
if(s2 != null)
if(j == 0)
flag3 = true;
else
if(cursor.moveToPrevious())
{
if(TextUtils.equals(s2, cursor.getString(2)))
flag3 = false;
cursor.moveToNext();
}
peoplelistitemview2.setFirstRow(flag3);
if(j == -1 + cursor.getCount())
continueLoadingPublicProfiles();
peoplelistitemview2.updateContentDescription();
break;
case 2: // '\002'
PeopleListItemView peoplelistitemview1 = (PeopleListItemView)view;
peoplelistitemview1.setWellFormedEmail(mQuery);
peoplelistitemview1.setAddButtonVisible(mAddToCirclesActionEnabled);
if(mAddToCirclesActionEnabled && mListener != null)
peoplelistitemview1.setOnActionButtonClickListener(this);
peoplelistitemview1.updateContentDescription();
break;
case 3: // '\003'
PeopleListItemView peoplelistitemview = (PeopleListItemView)view;
peoplelistitemview.setWellFormedSms(mQuery);
peoplelistitemview.setAddButtonVisible(mAddToCirclesActionEnabled);
if(mAddToCirclesActionEnabled && mListener != null)
peoplelistitemview.setOnActionButtonClickListener(this);
peoplelistitemview.updateContentDescription();
break;
case 5: // '\005'
byte0 = 8;
byte1 = 8;
byte2 = 8;
break;
default:
break;
}
int value = cursor.getInt(0);
if(3 == value) {
byte1 = 0;
}
view.findViewById(R.id.loading).setVisibility(byte0);
view.findViewById(R.id.not_found).setVisibility(byte1);
view.findViewById(R.id.error).setVisibility(byte2);
}
protected final View newView(Context context, int partion, Cursor cursor, int position, ViewGroup parent) {
View view = null;
switch(partion) {
case 1:
view = new CircleListItemView(context);
break;
case 2:
case 3:
case 4:
view = PeopleListItemView.createInstance(context);
break;
case 5:
view = LayoutInflater.from(context).inflate(R.layout.people_search_item_public_profiles, parent, false);
break;
default:
break;
}
return view;
}
public final void onActionButtonClick(PeopleListItemView peoplelistitemview, int i) {
if(i == 0)
if(!TextUtils.isEmpty(peoplelistitemview.getWellFormedEmail()))
showPersonNameDialog("add_email_dialog");
else
if(!TextUtils.isEmpty(peoplelistitemview.getWellFormedSms()))
showPersonNameDialog("add_sms_dialog");
else
mListener.onAddPersonToCirclesAction(peoplelistitemview.getPersonId(), null, true);
}
}