package eu.robertboloc.holaurv.activities;
import android.content.Intent;
import android.graphics.Color;
import android.os.Bundle;
import android.support.v4.app.FragmentTransaction;
import android.support.v4.view.ViewPager;
import android.text.Spannable;
import android.text.SpannableString;
import android.text.style.ForegroundColorSpan;
import com.actionbarsherlock.app.ActionBar;
import com.actionbarsherlock.app.ActionBar.Tab;
import com.actionbarsherlock.app.SherlockFragmentActivity;
import com.actionbarsherlock.view.Menu;
import com.actionbarsherlock.view.MenuItem;
import com.google.analytics.tracking.android.EasyTracker;
import eu.robertboloc.holaurv.R;
import eu.robertboloc.holaurv.adapters.DayCollectionPagerAdapter;
import eu.robertboloc.holaurv.helpers.TypefaceSpan;
import eu.robertboloc.holaurv.models.Day;
public class DisplayActivity extends SherlockFragmentActivity implements
com.actionbarsherlock.app.ActionBar.TabListener {
ViewPager mViewPager;
DayCollectionPagerAdapter mDayCollectionPagerAdapter;
ActionBar actionBar;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_display);
mDayCollectionPagerAdapter = new DayCollectionPagerAdapter(
getSupportFragmentManager(), this);
mViewPager = (ViewPager) findViewById(R.id.pager);
mViewPager.setAdapter(mDayCollectionPagerAdapter);
actionBar = getSupportActionBar();
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
boolean isTablet = getResources().getBoolean(R.bool.isTablet);
boolean isLandscape = getResources().getBoolean(R.bool.isLandscape);
if (isTablet != true && isLandscape != true) {
// Set custom font and colors to the Action Bar
SpannableString s = new SpannableString(getText(R.string.brand));
s.setSpan(new ForegroundColorSpan(Color.WHITE), 0, s.length(),
Spannable.SPAN_INCLUSIVE_INCLUSIVE);
s.setSpan(new ForegroundColorSpan(Color.BLACK), 3, 6,
Spannable.SPAN_INCLUSIVE_INCLUSIVE);
s.setSpan(new TypefaceSpan(this, "Exo-ExtraBold"), 0, s.length(),
Spannable.SPAN_INCLUSIVE_INCLUSIVE);
actionBar.setTitle(s);
} else {
// Remove title on landscape tables as it gets cut off
actionBar.setTitle("");
}
mViewPager
.setOnPageChangeListener(new ViewPager.SimpleOnPageChangeListener() {
@Override
public void onPageSelected(int position) {
actionBar.setSelectedNavigationItem(position);
}
});
for (int i = 0; i < mDayCollectionPagerAdapter.getCount(); i++) {
actionBar.addTab(actionBar.newTab()
.setText(mDayCollectionPagerAdapter.getPageTitle(i))
.setTabListener(this));
}
// Swipe to today
mViewPager.setCurrentItem(Day.today());
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Add the report option
menu.add(0, 0, 0, getText(R.string.menu_item_report))
.setIcon(R.drawable.ic_report)
.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM);
// Add the info option
menu.add(0, 1, 1, getText(R.string.menu_item_about))
.setIcon(R.drawable.ic_action_about)
.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle presses on the action bar items
switch (item.getItemId()) {
case 0:
startActivity(new Intent(this, ReportActivity.class));
return true;
case 1:
startActivity(new Intent(this, AboutActivity_.class));
return true;
default:
return super.onOptionsItemSelected(item);
}
}
@Override
public void onTabSelected(Tab tab, FragmentTransaction ft) {
mViewPager.setCurrentItem(tab.getPosition());
}
@Override
public void onTabUnselected(Tab tab, FragmentTransaction ft) {
}
@Override
public void onTabReselected(Tab tab, FragmentTransaction ft) {
}
@Override
public void onStart() {
super.onStart();
EasyTracker.getInstance(this).activityStart(this);
}
@Override
public void onStop() {
super.onStop();
EasyTracker.getInstance(this).activityStop(this);
}
}