package com.deardhruv.swipevolley.activities;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.view.ViewPager;
import android.view.Menu;
import android.view.MenuItem;
import android.view.Window;
import com.deardhruv.swipevolley.R;
import com.deardhruv.swipevolley.fragments.ImageListFrag;
import com.deardhruv.swipevolley.fragments.ImageListFrag.ShareViewItem;
import com.deardhruv.swipevolley.fragments.ImagePreviewFrag;
import com.deardhruv.swipevolley.model.ImageItem;
public class MainActivity extends FragmentActivity implements ShareViewItem {
SectionsPagerAdapter mSectionsPagerAdapter;
ViewPager mViewPager;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
setProgressBarIndeterminateVisibility(true);
setContentView(R.layout.activity_main);
mSectionsPagerAdapter = new SectionsPagerAdapter(getSupportFragmentManager());
mViewPager = (ViewPager) findViewById(R.id.pager);
mViewPager.setAdapter(mSectionsPagerAdapter);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.action_upload:
Intent mUploadIntent = new Intent(MainActivity.this, ImageUploadActivity.class);
startActivity(mUploadIntent);
break;
case R.id.action_about:
Intent mAboutIntent = new Intent(Intent.ACTION_VIEW,
Uri.parse("http://about.me/DearDhruv"));
startActivity(mAboutIntent);
break;
default:
break;
}
return true;
}
Bundle arg;
ImagePreviewFrag previewFrag;
/**
* A {@link FragmentPagerAdapter} that returns a fragment corresponding to
* one of the sections/tabs/pages.
*/
public class SectionsPagerAdapter extends FragmentPagerAdapter {
public SectionsPagerAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int position) {
Fragment fragment = null;
if (position == 1) {
fragment = new ImagePreviewFrag(mCallback);
try {
// mCallback = (IUpdateImageView) ImagePreviewFrag.class;
} catch (Exception ex) {
ex.printStackTrace();
}
// if (arg != null) {
// fragment.setArguments(arg);
// }
previewFrag = (ImagePreviewFrag) fragment;
}
if (position == 0) {
fragment = new ImageListFrag();
}
return fragment;
}
@Override
public int getCount() {
// Show 2 total pages.
return 2;
}
@Override
public CharSequence getPageTitle(int position) {
switch (position) {
case 0:
return "Image List";
case 1:
return "Image Preview";
}
return null;
}
}
IUpdateImageView mCallback = null;
public interface IUpdateImageView {
public void updateImagePreview(ImageItem sharedItem);
}
@Override
public void shareItem(final ImageItem sharedItem) {
// arg = new Bundle();
// arg.putSerializable("item", sharedItem);
mViewPager.setCurrentItem(1, true);
if (previewFrag != null) {
previewFrag.updateImagePreview(sharedItem);
}
// new Handler().postDelayed(new Runnable() {
// public void run() {
// if (mCallback != null)
// mCallback.updateImagePreview(sharedItem);
// }
// }, 1000);
}
}