/**
* galaxy inc.
* meetup client for android
*/
package com.galaxy.meetup.client.android.ui.fragments;
import android.app.Activity;
import android.net.Uri;
import android.os.Bundle;
import android.support.v4.app.LoaderManager.LoaderCallbacks;
import android.support.v4.content.Loader;
import android.text.TextUtils;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.TextView;
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.EsAccount;
import com.galaxy.meetup.client.android.content.EsLocalPageData;
import com.galaxy.meetup.client.android.content.EsPeopleData;
import com.galaxy.meetup.client.android.ui.view.AvatarView;
import com.galaxy.meetup.client.android.ui.view.LocalReviewListItemView;
import com.galaxy.meetup.client.util.MapUtils;
import com.galaxy.meetup.server.client.domain.GoogleReviewProto;
import com.galaxy.meetup.server.client.domain.SimpleProfile;
/**
*
* @author sihai
*
*/
public class LocalReviewFragment extends HostedFragment implements
LoaderCallbacks, OnClickListener {
private EsAccount mAccount;
private ViewGroup mContainer;
private Activity mContext;
private String mPersonId;
private SimpleProfile mProfile;
private GoogleReviewProto mReview;
private int mReviewIndex;
private int mReviewType;
public LocalReviewFragment()
{
}
public final EsAccount getAccount()
{
return mAccount;
}
public final OzViews getViewForLogging()
{
return OzViews.UNKNOWN;
}
public final void onAttach(Activity activity)
{
super.onAttach(activity);
mContext = activity;
}
public void onClick(View view)
{
int i = view.getId();
if(i == R.id.author_avatar) {
String s2 = ((AvatarView)view).getGaiaId();
if(!TextUtils.isEmpty(s2))
startActivity(Intents.getProfileActivityByGaiaIdIntent(getActivity(), mAccount, s2, null));
} else if(i == R.id.more_reviews_text) {
String s = mReview.author.profileId;
String s1 = (new StringBuilder("http://maps.google.com/maps?q=*+by:")).append(Uri.encode(s)).toString();
MapUtils.launchMapsActivity(mContext, Uri.parse(s1));
}
}
public final void onCreate(Bundle bundle)
{
super.onCreate(bundle);
Bundle bundle1 = new Bundle();
bundle1.putString("person_id", mPersonId);
getLoaderManager().initLoader(100, bundle1, this);
}
public final Loader onCreateLoader(int i, Bundle bundle)
{
if(Log.isLoggable("LocalReviewFragment", 3))
Log.d("LocalReviewFragment", "Loader<ProfileAndContactData> onCreateLoader()");
return new ProfileLoader(getActivity(), mAccount, bundle.getString("person_id"), true);
}
public final View onCreateView(LayoutInflater layoutinflater, ViewGroup viewgroup, Bundle bundle)
{
mContainer = (ViewGroup)layoutinflater.inflate(R.layout.local_review_fragment, viewgroup, false);
AvatarView avatarview = (AvatarView)mContainer.findViewById(R.id.author_avatar);
avatarview.setRounded(true);
avatarview.setAvatarSize(2);
return mContainer;
}
public final void onLoadFinished(Loader loader, Object obj)
{
mProfile = ((EsPeopleData.ProfileAndContactData)obj).profile;
SimpleProfile simpleprofile;
String s;
ViewGroup viewgroup;
GoogleReviewProto googlereviewproto;
LocalReviewListItemView localreviewlistitemview;
TextView textview;
String s1;
View view;
View view1;
View view2;
View view3;
View view4;
if(mReviewType == 0)
mReview = (GoogleReviewProto)EsLocalPageData.getReviews(mProfile).get(mReviewIndex);
else
if(mReviewType == 1)
mReview = EsLocalPageData.getYourReview(mProfile);
else
if(mReviewType == 2)
mReview = (GoogleReviewProto)EsLocalPageData.getCircleReviews(mProfile).get(mReviewIndex);
simpleprofile = mProfile;
if(simpleprofile.page.localInfo.paper.title != null)
s = simpleprofile.page.localInfo.paper.title.linkedTitle.text;
else
s = null;
getActionBar().showTitle(getString(R.string.local_review_title, new Object[] {
s
}));
viewgroup = mContainer;
googlereviewproto = mReview;
localreviewlistitemview = (LocalReviewListItemView)viewgroup.findViewById(R.id.local_review_item);
localreviewlistitemview.setTopBorderVisible(false);
localreviewlistitemview.setIsFullText(true);
localreviewlistitemview.setReview(googlereviewproto);
localreviewlistitemview.setAuthorAvatarOnClickListener(this);
textview = (TextView)mContainer.findViewById(R.id.more_reviews_text);
s1 = mReview.author.profileLink.text;
textview.setText(getString(R.string.local_review_more_reviews, new Object[] {
s1
}));
view = mContainer.findViewById(R.id.more_reviews_top_border);
view1 = mContainer.findViewById(R.id.more_reviews_icon);
view2 = mContainer.findViewById(R.id.more_reviews_text);
view3 = mContainer.findViewById(R.id.number_of_reviews);
view4 = mContainer.findViewById(R.id.more_reviews_bottom_border);
view.setVisibility(8);
view1.setVisibility(8);
view2.setVisibility(8);
view3.setVisibility(8);
view4.setVisibility(8);
view2.setOnClickListener(this);
}
public final void onLoaderReset(Loader loader)
{
}
protected final void onSetArguments(Bundle bundle)
{
super.onSetArguments(bundle);
mAccount = (EsAccount)bundle.getParcelable("account");
mPersonId = bundle.getString("person_id");
mReviewType = bundle.getInt("local_review_type");
mReviewIndex = bundle.getInt("local_review_index");
}
public final void recordNavigationAction()
{
}
}