/**
* galaxy inc.
* meetup client for android
*/
package com.galaxy.meetup.client.android.ui.fragments;
import WriteReviewOperation.MediaRef;
import android.database.Cursor;
import android.os.Bundle;
import android.support.v4.app.LoaderManager.LoaderCallbacks;
import android.support.v4.content.Loader;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.view.ViewStub;
import android.widget.ImageButton;
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.EsAccount;
import com.galaxy.meetup.client.android.ui.view.PhotoHeaderView;
import com.galaxy.meetup.client.android.ui.view.PhotoHeaderView.OnImageListener;
/**
*
* @author sihai
*
*/
public class PhotoComposeFragment extends HostedFragment implements
LoaderCallbacks, OnClickListener, OnImageListener {
private EsAccount mAccount;
private PhotoHeaderView mBackgroundView;
private ImageButton mDeleteButton;
private MediaRef mMediaRef;
private RemoveImageListener mRemoveImageListener;
public PhotoComposeFragment()
{
}
public final EsAccount getAccount()
{
return mAccount;
}
public final OzViews getViewForLogging()
{
return OzViews.PHOTO;
}
public void onClick(View view)
{
int i = view.getId();
if(R.id.remove_image_button == i) {
if(mRemoveImageListener != null)
mRemoveImageListener.onImageRemoved(mMediaRef);
}
if(i == R.id.background)
if(mBackgroundView.isVideo())
{
if(mBackgroundView.isVideoReady())
{
startActivity(Intents.getVideoViewActivityIntent(getActivity(), mAccount, mMediaRef.getOwnerGaiaId(), mMediaRef.getPhotoId(), mBackgroundView.getVideoData()));
} else
{
String s = getString(R.string.photo_view_video_not_ready);
Toast.makeText(getActivity(), s, 1).show();
}
} else
if(mBackgroundView.isPanorama())
startActivity(Intents.getViewPanoramaActivityIntent(getActivity(), mAccount, mMediaRef));
}
public final void onCreate(Bundle bundle)
{
super.onCreate(bundle);
Bundle bundle1 = getArguments();
mAccount = (EsAccount)bundle1.getParcelable("account");
mMediaRef = (MediaRef)bundle1.getParcelable("photo_ref");
if(mMediaRef == null)
getActivity().finish();
}
public final Loader onCreateLoader(int i, Bundle bundle)
{
return new VideoDataLoader(getSafeContext(), mAccount, mMediaRef.getUrl(), mMediaRef.getPhotoId(), mMediaRef.getLocalUri());
}
public final View onCreateView(LayoutInflater layoutinflater, ViewGroup viewgroup, Bundle bundle)
{
View view = layoutinflater.inflate(R.layout.photo_compose_fragment, viewgroup, false);
mDeleteButton = (ImageButton)view.findViewById(R.id.remove_image_button);
mDeleteButton.setOnClickListener(this);
if(view.findViewById(R.id.stage) == null && mMediaRef != null)
{
View view1 = ((ViewStub)view.findViewById(R.id.stage_media)).inflate();
view1.findViewById(R.id.loading).setVisibility(0);
mBackgroundView = (PhotoHeaderView)view1.findViewById(R.id.background);
mBackgroundView.init(mMediaRef, false);
mBackgroundView.setOnClickListener(this);
mBackgroundView.setOnImageListener(this);
view1.invalidate();
}
getLoaderManager().initLoader(0, null, this);
return view;
}
public final void onImageLoadFinished(PhotoHeaderView photoheaderview)
{
getView().findViewById(R.id.loading).setVisibility(8);
}
public final void onImageScaled(float f)
{
}
public final void onLoadFinished(Loader loader, Object obj)
{
Cursor cursor = (Cursor)obj;
if(cursor != null && cursor.moveToFirst())
{
byte abyte0[];
if(cursor.isNull(0))
abyte0 = null;
else
abyte0 = cursor.getBlob(0);
mBackgroundView.setVideoBlob(abyte0);
}
}
public final void onLoaderReset(Loader loader)
{
}
public final void setRemoveImageListener(RemoveImageListener removeimagelistener)
{
mRemoveImageListener = removeimagelistener;
}
public static interface RemoveImageListener {
public abstract void onImageRemoved(MediaRef mediaref);
}
}