package com.yuyh.sprintnba.ui;
import android.content.Context;
import android.content.Intent;
import android.graphics.Color;
import android.support.v4.view.ViewPager;
import android.view.Menu;
import android.view.MenuItem;
import com.yuyh.sprintnba.R;
import com.yuyh.sprintnba.base.BaseSwipeBackCompatActivity;
import com.yuyh.sprintnba.ui.adapter.VPImagePreViewAdapter;
import com.yuyh.sprintnba.ui.presenter.impl.ImagePreViewPresenter;
import com.yuyh.sprintnba.ui.view.ImagePreView;
import java.util.ArrayList;
import java.util.List;
import butterknife.InjectView;
public class ImagePreViewActivity extends BaseSwipeBackCompatActivity implements ImagePreView, ViewPager.OnPageChangeListener {
public static final String INTENT_URLS = "extraPics";
public static final String INTENT_URL = "extraPic";
public static void start(Context context, ArrayList<String> extraPics, String extraPic) {
Intent intent = new Intent(context, ImagePreViewActivity.class);
intent.putExtra(INTENT_URLS, extraPics);
intent.putExtra(INTENT_URL, extraPic);
context.startActivity(intent);
}
@InjectView(R.id.viewPager)
ViewPager viewPager;
private ImagePreViewPresenter presenter;
private VPImagePreViewAdapter mImageViewAdapter;
private int mCurrentItem = 0;
private List<String> extraPics;
private String extraPic;
@Override
protected int getContentViewLayoutID() {
return R.layout.activity_image_pre_view;
}
@Override
protected void initViewsAndEvents() {
mToolbar.setBackgroundColor(Color.TRANSPARENT);
presenter = new ImagePreViewPresenter(this, this);
extraPics = getIntent().getStringArrayListExtra(INTENT_URLS);
extraPic = getIntent().getStringExtra(INTENT_URL);
initViewPager();
initCurrentItem();
}
private void initViewPager() {
mImageViewAdapter = new VPImagePreViewAdapter(getSupportFragmentManager(), extraPics);
viewPager.setAdapter(mImageViewAdapter);
viewPager.setOnPageChangeListener(this);
}
void initCurrentItem() {
mCurrentItem = extraPics.indexOf(extraPic);
if (mCurrentItem < 0) {
mCurrentItem = 0;
}
viewPager.setCurrentItem(mCurrentItem);
setTitle((mCurrentItem + 1) + "/" + extraPics.size());
}
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
mCurrentItem = position;
setTitle((position + 1) + "/" + mImageViewAdapter.getCount());
}
@Override
public void onPageSelected(int position) {
}
@Override
public void onPageScrollStateChanged(int state) {
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu_picture, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
if (id == R.id.savePicture) {
presenter.saveImage(extraPics.get(viewPager.getCurrentItem()));
}
return true;
}
}