/** * galaxy inc. * meetup client for android */ package com.galaxy.meetup.client.android; import WriteReviewOperation.MediaRef; import android.content.Context; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentStatePagerAdapter; import com.galaxy.meetup.client.android.content.EsAccount; import com.galaxy.meetup.client.android.ui.fragments.PhotoComposeFragment; /** * * @author sihai * */ public class PhotoComposePagerAdapter extends FragmentStatePagerAdapter { private final EsAccount mAccount; private final Context mContext; private final MediaRefProvider mMediaRefProvider; private final PhotoComposeFragment.RemoveImageListener mRemoveImageListener; public PhotoComposePagerAdapter(Context context, FragmentManager fragmentmanager, EsAccount esaccount, PhotoComposeFragment.RemoveImageListener removeimagelistener, MediaRefProvider mediarefprovider) { super(fragmentmanager); if(mediarefprovider == null) { throw new IllegalArgumentException("MediaRefProvider was null!"); } else { mContext = context; mAccount = esaccount; mMediaRefProvider = mediarefprovider; mRemoveImageListener = removeimagelistener; return; } } public final int getCount() { return mMediaRefProvider.getCount(); } public final Fragment getItem(int i) { Intents.PhotoViewIntentBuilder photoviewintentbuilder = Intents.newPhotoComposeFragmentIntentBuilder(mContext); Object obj; if(i < 0 || i >= mMediaRefProvider.getCount()) { obj = null; } else { MediaRef mediaref = mMediaRefProvider.getItem(i); photoviewintentbuilder.setAccount(mAccount).setPhotoRef(mediaref); obj = new PhotoComposeFragment(); ((PhotoComposeFragment) (obj)).setArguments(photoviewintentbuilder.build().getExtras()); ((PhotoComposeFragment) (obj)).setRemoveImageListener(mRemoveImageListener); } return ((Fragment) (obj)); } public final int getItemPosition(Object obj) { return mMediaRefProvider.getItemPosition(obj); } public static interface MediaRefProvider { public abstract int getCount(); public abstract MediaRef getItem(int i); public abstract int getItemPosition(Object obj); } }