/** * galaxy inc. * meetup client for android */ package com.galaxy.meetup.client.android.ui.fragments; import java.util.ArrayList; import java.util.List; import android.database.Cursor; import android.os.Parcel; import android.os.Parcelable; import android.text.TextUtils; import com.galaxy.meetup.client.android.EsMatrixCursor; import com.galaxy.meetup.server.client.domain.SquareId; import com.galaxy.meetup.server.client.domain.SquareResult; /** * * @author sihai * */ public class SquareSearchResults implements Parcelable { public static final android.os.Parcelable.Creator CREATOR = new android.os.Parcelable.Creator() { public final Object createFromParcel(Parcel parcel) { return new SquareSearchResults(parcel); } public final Object[] newArray(int i) { return new SquareSearchResults[i]; } }; private String mContinuationToken; private EsMatrixCursor mCursor; private boolean mCursorValid; private boolean mHasMoreResults; private long mNextId; private final String mProjection[]; private String mQuery; private List mResults; public SquareSearchResults(Parcel parcel) { mQuery = parcel.readString(); mContinuationToken = parcel.readString(); boolean flag; int i; int j; if(parcel.readInt() != 0) flag = true; else flag = false; mHasMoreResults = flag; mProjection = parcel.createStringArray(); i = parcel.readInt(); mResults = new ArrayList(i); j = 0; while(j < i) { SquareResult squareresult = new SquareResult(); squareresult.squareId = new SquareId(); squareresult.squareId.obfuscatedGaiaId = parcel.readString(); squareresult.displayName = parcel.readString(); squareresult.photoUrl = parcel.readString(); squareresult.snippetHtml = parcel.readString(); if(parcel.readInt() != 0) squareresult.memberCount = Long.valueOf(parcel.readLong()); if(parcel.readInt() != 0) { boolean flag1; if(parcel.readInt() != 0) flag1 = true; else flag1 = false; squareresult.privatePosts = Boolean.valueOf(flag1); } j++; } } public SquareSearchResults(String as[]) { mProjection = as; mResults = new ArrayList(); } public final void addResults(List list) { mResults.addAll(list); mCursorValid = false; } public int describeContents() { return 0; } public final String getContinuationToken() { return mContinuationToken; } public final int getCount() { return mResults.size(); } public final Cursor getCursor() { if(mCursorValid) { return mCursor; } mCursor = new EsMatrixCursor(mProjection); mCursorValid = true; int i = -1; int j = -1; int k = -1; int l = -1; int i1 = -1; int j1 = -1; int k1 = -1; int l1 = 0; while(l1 < mProjection.length) { String s = mProjection[l1]; if("_id".equals(s)) i = l1; else if("square_id".equals(s)) j = l1; else if("square_name".equals(s)) k = l1; else if("photo_url".equals(s)) l = l1; else if("post_visibility".equals(s)) i1 = l1; else if("member_count".equals(s)) j1 = l1; else if("snippet".equals(s)) k1 = l1; l1++; } int i2 = mResults.size(); int j2 = 0; while(j2 < i2) { SquareResult squareresult = (SquareResult)mResults.get(j2); Object aobj[] = new Object[mProjection.length]; if(i >= 0) { long l2 = mNextId; mNextId = 1L + l2; aobj[i] = Long.valueOf(l2); } if(j >= 0) aobj[j] = squareresult.squareId.obfuscatedGaiaId; if(k >= 0) aobj[k] = squareresult.displayName; if(l >= 0) aobj[l] = squareresult.photoUrl; if(i1 >= 0 && squareresult.privatePosts != null) { int k2; if(squareresult.privatePosts.booleanValue()) k2 = 1; else k2 = 0; aobj[i1] = Integer.valueOf(k2); } if(j1 >= 0) aobj[j1] = squareresult.memberCount; if(k1 >= 0) aobj[k1] = squareresult.snippetHtml; mCursor.addRow(aobj); j2++; } return mCursor; } public final String getQuery() { return mQuery; } public final boolean hasMoreResults() { return mHasMoreResults; } public final boolean isEmpty() { return mResults.isEmpty(); } public final boolean isParcelable() { boolean flag; if(getCount() <= 1000) flag = true; else flag = false; return flag; } public final void setContinuationToken(String s) { mContinuationToken = s; } public final void setHasMoreResults(boolean flag) { mHasMoreResults = flag; } public final void setQueryString(String s) { if(!TextUtils.equals(mQuery, s)) { mQuery = s; mResults.clear(); mCursor = null; mCursorValid = false; mContinuationToken = null; } } public void writeToParcel(Parcel parcel, int i) { parcel.writeString(mQuery); parcel.writeString(mContinuationToken); int j; int k; int l; if(mHasMoreResults) j = 1; else j = 0; parcel.writeInt(j); parcel.writeStringArray(mProjection); if(mResults != null) k = mResults.size(); else k = 0; parcel.writeInt(k); l = 0; while(l < k) { SquareResult squareresult = (SquareResult)mResults.get(l); parcel.writeString(squareresult.squareId.obfuscatedGaiaId); parcel.writeString(squareresult.displayName); parcel.writeString(squareresult.photoUrl); parcel.writeString(squareresult.snippetHtml); if(squareresult.memberCount != null) { parcel.writeInt(1); parcel.writeLong(squareresult.memberCount.longValue()); } else { parcel.writeInt(0); } if(squareresult.privatePosts != null) { parcel.writeInt(1); int i1; if(squareresult.privatePosts.booleanValue()) i1 = 1; else i1 = 0; parcel.writeInt(i1); } else { parcel.writeInt(0); } l++; } } }