package com.arcao.trackables.ui; import android.content.Context; import android.content.Intent; import android.os.Bundle; import android.support.v4.view.ViewPager; import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.Toolbar; import android.view.MenuItem; import com.arcao.trackables.R; import com.arcao.trackables.internal.di.HasComponent; import com.arcao.trackables.internal.di.component.DetailActivityComponent; import com.arcao.trackables.ui.adapter.DetailPagerAdapter; import com.astuetz.PagerSlidingTabStrip; import butterknife.ButterKnife; import butterknife.InjectView; public class DetailActivity extends AppCompatActivity implements HasComponent<DetailActivityComponent> { private static final String PARAM__TRACKING_NUMBER = "TRACKING_NUMBER"; @InjectView(R.id.toolbar) protected Toolbar mToolbar; @InjectView(R.id.viewpager) protected ViewPager mViewPager; @InjectView(R.id.sliding_tabs) protected PagerSlidingTabStrip mPagerSlidingTabStrip; private DetailActivityComponent component; public DetailActivityComponent component() { if (component == null) component = DetailActivityComponent.Initializer.init(this); return component; } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); component().inject(this); setContentView(R.layout.activity_detail); ButterKnife.inject(this); setSupportActionBar(mToolbar); getSupportActionBar().setDisplayHomeAsUpEnabled(true); getSupportActionBar().setHomeButtonEnabled(true); mViewPager.setAdapter(new DetailPagerAdapter(this, getFragmentManager(), getIntent().getStringExtra(PARAM__TRACKING_NUMBER))); mPagerSlidingTabStrip.setViewPager(mViewPager); } @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { // Respond to the action bar's Up/Home button case android.R.id.home: finish(); return true; } return super.onOptionsItemSelected(item); } public static Intent createIntent(Context context, String trackableCode) { return new Intent(context, DetailActivity.class).putExtra(PARAM__TRACKING_NUMBER, trackableCode); } }