package com.ptrprograms.gallery.activity;
import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
import com.ptrprograms.gallery.R;
import com.ptrprograms.gallery.model.Image;
import com.ptrprograms.gallery.util.ImageStateViewPager;
import android.support.v4.view.ViewPager;
import java.util.List;
public class ImageActivity extends FragmentActivity {
public static final String EXTRA_IMAGE_LIST = "imageList";
public static final String EXTRA_CUR_IMAGE = "curImage";
private int mCurrentImagePosition = 0;
private ImageStateViewPager mAdapter;
private ViewPager mViewPager;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_image);
mViewPager = ( ViewPager ) findViewById( R.id.activity_image_view_pager );
setupImageList();
if( mAdapter == null || mViewPager == null )
return;
mViewPager.setAdapter( mAdapter );
}
private void setupImageList() {
if( getIntent() == null || getIntent().getExtras() == null )
return;
List<Image> tmpList = getIntent().getExtras().getParcelableArrayList( EXTRA_IMAGE_LIST );
mCurrentImagePosition = getIntent().getExtras().getInt( EXTRA_CUR_IMAGE, 0 );
mAdapter = new ImageStateViewPager( getSupportFragmentManager(), tmpList );
}
@Override
protected void onRestoreInstanceState(Bundle savedInstanceState) {
super.onRestoreInstanceState(savedInstanceState);
mCurrentImagePosition = savedInstanceState.getInt( EXTRA_CUR_IMAGE, 0 );
}
@Override
protected void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
mCurrentImagePosition = mViewPager.getCurrentItem();
outState.putInt( EXTRA_CUR_IMAGE, mCurrentImagePosition );
}
@Override
protected void onResume() {
super.onResume();
if( mViewPager == null )
return;
mViewPager.setCurrentItem( mCurrentImagePosition );
}
}