package au.id.teda.broadband.usage.activity;
import android.content.Intent;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.view.ViewPager;
import android.widget.TextView;
import au.id.teda.broadband.usage.R;
import au.id.teda.broadband.usage.authenticator.AccountAuthenticator;
import au.id.teda.broadband.usage.authenticator.AuthenticatorActivity;
import au.id.teda.broadband.usage.fragments.DataTableFragment;
import au.id.teda.broadband.usage.fragments.StackedBarChartFragment;
import au.id.teda.broadband.usage.fragments.StackedLineChartFragment;
import com.viewpagerindicator.LinePageIndicator;
public class MainActivity extends BaseActivity {
private MainActivityPagerAdapter mAdapter;
private ViewPager mPager;
private LinePageIndicator mIndicator;
private TextView mLayoutUsed;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Check to see if account has been authenticated
AccountAuthenticator mAccountAuthenticator = new AccountAuthenticator(this);
if(!mAccountAuthenticator.isAccountAuthenticated()){
// If not load authenticator activity
Intent authenticator = new Intent(this, AuthenticatorActivity.class);
startActivity(authenticator);
}
// Don't show up button on home page action bar
getSupportActionBar().setHomeButtonEnabled(false);
// Set action bar title different to manifest label
setActionbarTitle(getString(R.string.action_bar_title));
// Check if account is an anytime account and load layout
if (mAccountInfo.isAccountAnyTime()){
setContentView(R.layout.activity_main_anytime);
} else {
setContentView(R.layout.activity_main);
}
mAdapter = new MainActivityPagerAdapter(getSupportFragmentManager());
mPager = (ViewPager)findViewById(R.id.activity_main_pager);
mPager.setAdapter(mAdapter);
mIndicator = (LinePageIndicator)findViewById(R.id.activity_main_pager_indicator);
mIndicator.setViewPager(mPager);
// Set Textview used to qualify layout used
mLayoutUsed = (TextView) findViewById(R.id.activity_main_size);
}
/**
* Called 5th in the fragment life cycle
*/
@Override
public void onResume() {
super.onResume();
// Check to see if layout used is phone in landscape
if (mLayoutHelper.isLayoutPhoneLand(mLayoutUsed)){
// Build action bar title string
String title = this.getResources().getString(R.string.action_bar_title) + " - " + mAccountStatus.getCurrentMonthString();
// Set action bar title
setActionbarTitle(title);
}
}
class MainActivityPagerAdapter extends FragmentPagerAdapter {
public MainActivityPagerAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int position) {
switch (position) {
case 0:
return new DataTableFragment();
case 1:
return new StackedBarChartFragment();
case 2:
return new StackedLineChartFragment();
default:
throw new IllegalArgumentException("not this many fragments: " + position);
}
}
@Override
public CharSequence getPageTitle(int position) {
return "";
}
@Override
public int getCount() {
return 3;
}
}
}