/**
* galaxy inc.
* meetup client for android
*/
package com.galaxy.meetup.client.android.ui.activity;
import java.util.ArrayList;
import java.util.List;
import WriteReviewOperation.MediaRef;
import android.content.Intent;
import android.os.Bundle;
import android.support.v4.view.ViewPager;
import com.galaxy.meetup.client.android.PhotoComposePagerAdapter;
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.fragments.PhotoComposeFragment.RemoveImageListener;
/**
*
* @author sihai
*
*/
public class PhotoComposeActivity extends BaseActivity implements
RemoveImageListener, PhotoComposePagerAdapter.MediaRefProvider {
private EsAccount mAccount;
private PhotoComposePagerAdapter mAdapter;
private List mMediaRefs;
private List mMediaRefsToRemove;
private int mStartingPosition;
private ViewPager mViewPager;
public PhotoComposeActivity()
{
}
private void finishActivity()
{
Intent intent = new Intent();
MediaRef amediaref[] = new MediaRef[mMediaRefsToRemove.size()];
for(int i = 0; i < mMediaRefsToRemove.size(); i++)
amediaref[i] = (MediaRef)mMediaRefsToRemove.get(i);
intent.putExtra("photo_remove_from_compose", amediaref);
setResult(-1, intent);
finish();
}
protected final EsAccount getAccount()
{
return mAccount;
}
public final int getCount()
{
return mMediaRefs.size();
}
public final MediaRef getItem(int i)
{
MediaRef mediaref;
if(i >= 0 || i < mMediaRefs.size())
mediaref = (MediaRef)mMediaRefs.get(i);
else
mediaref = null;
return mediaref;
}
public final int getItemPosition(Object obj) {
int i = -2;
if(obj instanceof MediaRef) {
i = mMediaRefs.indexOf(obj);
if(i == -1)
i = -2;
} else {
i = -2;
}
return i;
}
public final OzViews getViewForLogging()
{
return OzViews.PHOTO;
}
public void onBackPressed()
{
if(mMediaRefsToRemove.size() > 0)
finishActivity();
else
super.onBackPressed();
}
public void onCreate(Bundle bundle)
{
super.onCreate(bundle);
setContentView(R.layout.photo_compose_activity);
Intent intent = getIntent();
mAccount = (EsAccount)intent.getParcelableExtra("account");
mStartingPosition = intent.getIntExtra("photo_index", 0);
if(intent.hasExtra("mediarefs"))
{
android.os.Parcelable aparcelable[] = intent.getParcelableArrayExtra("mediarefs");
mMediaRefs = new ArrayList(aparcelable.length);
for(int i = 0; i < aparcelable.length; i++)
mMediaRefs.add((MediaRef)aparcelable[i]);
} else
{
finish();
}
if(mStartingPosition < 0 || mStartingPosition >= mMediaRefs.size())
mStartingPosition = 0;
mAdapter = new PhotoComposePagerAdapter(this, getSupportFragmentManager(), mAccount, this, this);
mViewPager = (ViewPager)findViewById(R.id.view_pager);
mViewPager.setAdapter(mAdapter);
mViewPager.setCurrentItem(mStartingPosition);
mMediaRefsToRemove = new ArrayList();
}
public final void onImageRemoved(MediaRef mediaref)
{
mMediaRefsToRemove.add(mediaref);
mMediaRefs.remove(mediaref);
if(mMediaRefs.size() == 0)
finishActivity();
mAdapter.notifyDataSetChanged();
}
}