package com.vladstoick.stiridinromania;
import android.content.Intent;
import android.os.Bundle;
import android.support.v4.app.NavUtils;
import android.support.v4.view.ViewPager;
import com.actionbarsherlock.app.SherlockFragmentActivity;
import com.vladstoick.DataModel.NewsDataSource;
import com.vladstoick.DataModel.NewsItem;
import com.vladstoick.DataModel.NewsSource;
import com.vladstoick.Fragments.NewsItemDetailFragment;
import com.vladstoick.Utils.Adapters.NewsItemPagerAdapter;
import java.util.ArrayList;
import butterknife.InjectView;
import butterknife.Views;
public class NewsItemDetailActivity extends SherlockFragmentActivity {
public static String FROM_SEARCH="FROMSEARCH";
private ArrayList<NewsItem> news;
public NewsItemPagerAdapter mAdapter;
@InjectView(R.id.newsitem_detail_container) public ViewPager mPager;
boolean fromSearch = false;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_newsitem_detail);
Views.inject(this);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
mPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int i, float v, int i2) {
}
@Override
public void onPageSelected(int i) {
NewsDataSource.getInstance().makeNewsRead(news.get(i).getUrlLink()
, news.get(i).getId());
}
@Override
public void onPageScrollStateChanged(int i) {
}
});
if (savedInstanceState == null) {
fromSearch = getIntent().getBooleanExtra(FROM_SEARCH,false);
Bundle extras = getIntent().getExtras();
if(extras.containsKey(NewsItemDetailFragment.ARG_ITEM)){
int newsSourceId = getIntent().getIntExtra(NewsItemDetailFragment.ARG_NEWSOURCE, 0);
NewsSource ns = NewsDataSource.getInstance().getNewsSource(newsSourceId);
setTitle(getString(R.string.app_name)+ " " + ns.getTitle());
news = ns.news;
mAdapter = new NewsItemPagerAdapter(getSupportFragmentManager(),news);
} else {
ArrayList<NewsItem> news = new ArrayList<NewsItem>();
news.add((NewsItem)
getIntent().getParcelableExtra(NewsItemDetailFragment.ARG_ITEM_JO));
mAdapter = new NewsItemPagerAdapter(getSupportFragmentManager(),news);
mAdapter.fromOnlineSearch = true;
}
mPager.setAdapter(mAdapter);
mPager.setCurrentItem(getIntent().getIntExtra(NewsItemDetailFragment.ARG_ITEMPOSITION,0));
}
}
@Override
public boolean onOptionsItemSelected(com.actionbarsherlock.view.MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
if(!fromSearch){
NavUtils.navigateUpTo(this, new Intent(this, NewsItemListActivity.class));
} else {
NavUtils.navigateUpTo(this, new Intent(this, SearchResultsActivity.class));
}
return true;
}
return super.onOptionsItemSelected(item);
}
}