package com.kth.baasio.helpcenter.ui; import com.actionbarsherlock.app.ActionBar; import com.actionbarsherlock.app.ActionBar.Tab; import com.actionbarsherlock.app.ActionBar.TabListener; import com.actionbarsherlock.view.Menu; import com.actionbarsherlock.view.MenuItem; import com.kth.baasio.help.data.Question; import com.kth.baasio.helpcenter.BaseActivity; import com.kth.baasio.helpcenter.R; import com.kth.baasio.helpcenter.ui.SendQuestionFragment.OnQuestionSentListener; import android.content.res.Configuration; 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.app.FragmentTransaction; import android.support.v4.view.ViewPager; import android.support.v4.view.ViewPager.OnPageChangeListener; public class HelpCenterActivity extends BaseActivity implements OnPageChangeListener, TabListener, OnQuestionSentListener { private ViewPager mViewPager; private FaqFragment mFaqFragment; private SendQuestionFragment mSendQuestionFragment; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_help); if (getSupportActionBar() != null) { getSupportActionBar().setHomeButtonEnabled(true); getSupportActionBar().setDisplayHomeAsUpEnabled(true); } mViewPager = (ViewPager)findViewById(R.id.pager); if (mViewPager != null) { // Phone setup mViewPager.setAdapter(new HelpPagerAdapter(getSupportFragmentManager())); mViewPager.setOnPageChangeListener(this); mViewPager.setPageMarginDrawable(R.drawable.grey_border_inset_lr); mViewPager.setPageMargin(getResources() .getDimensionPixelSize(R.dimen.page_margin_width)); final ActionBar actionBar = getSupportActionBar(); actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); actionBar.addTab(actionBar.newTab().setText(R.string.title_help).setTabListener(this)); actionBar.addTab(actionBar.newTab().setText(R.string.title_send_question) .setTabListener(this)); } } @Override public void onConfigurationChanged(Configuration newConfig) { super.onConfigurationChanged(newConfig); } @Override public boolean onCreateOptionsMenu(Menu menu) { super.onCreateOptionsMenu(menu); getSupportMenuInflater().inflate(R.menu.activity_helpcenter, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { if (item.getItemId() == R.id.menu_faq_search) { startSearch(null, false, null, false); } return super.onOptionsItemSelected(item); } private class HelpPagerAdapter extends FragmentPagerAdapter { public HelpPagerAdapter(FragmentManager fm) { super(fm); } @Override public Fragment getItem(int position) { switch (position) { case 0: mFaqFragment = new FaqFragment(); return mFaqFragment; case 1: mSendQuestionFragment = new SendQuestionFragment(); return mSendQuestionFragment; } return null; } @Override public int getCount() { return 2; } } /* * (non-Javadoc) * @see android.support.v4.view.ViewPager.OnPageChangeListener# * onPageScrollStateChanged(int) */ @Override public void onPageScrollStateChanged(int arg0) { // TODO Auto-generated method stub } /* * (non-Javadoc) * @see * android.support.v4.view.ViewPager.OnPageChangeListener#onPageScrolled * (int, float, int) */ @Override public void onPageScrolled(int arg0, float arg1, int arg2) { // TODO Auto-generated method stub } /* * (non-Javadoc) * @see * android.support.v4.view.ViewPager.OnPageChangeListener#onPageSelected * (int) */ @Override public void onPageSelected(int position) { getSupportActionBar().setSelectedNavigationItem(position); } /* * (non-Javadoc) * @see com.actionbarsherlock.app.ActionBar.TabListener#onTabSelected(com. * actionbarsherlock.app.ActionBar.Tab, * android.support.v4.app.FragmentTransaction) */ @Override public void onTabSelected(Tab tab, FragmentTransaction ft) { mViewPager.setCurrentItem(tab.getPosition()); } /* * (non-Javadoc) * @see com.actionbarsherlock.app.ActionBar.TabListener#onTabUnselected(com. * actionbarsherlock.app.ActionBar.Tab, * android.support.v4.app.FragmentTransaction) */ @Override public void onTabUnselected(Tab tab, FragmentTransaction ft) { // TODO Auto-generated method stub } /* * (non-Javadoc) * @see com.actionbarsherlock.app.ActionBar.TabListener#onTabReselected(com. * actionbarsherlock.app.ActionBar.Tab, * android.support.v4.app.FragmentTransaction) */ @Override public void onTabReselected(Tab tab, FragmentTransaction ft) { // TODO Auto-generated method stub } /* * (non-Javadoc) * @see * com.kth.baasio.baassample.ui.help.SendQuestionFragment.OnQuestionSentListener * #OnQuestionSent(com.kth.baasio.help.data.Question) */ @Override public void OnQuestionSent(Question question) { mViewPager.setCurrentItem(0); } }