package com.darkrockstudios.apps.tminus.experiences.launch.detail; import android.content.Context; import android.content.Intent; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.view.Window; import com.darkrockstudios.apps.tminus.R; import com.darkrockstudios.apps.tminus.base.activities.DatabaseActivity; import com.darkrockstudios.apps.tminus.experiences.countdown.CountDownActivity; import com.darkrockstudios.apps.tminus.experiences.launch.detail.fragments.LaunchDetailContainerFragment; import com.darkrockstudios.apps.tminus.experiences.launch.detail.fragments.LaunchDetailFragment; import com.darkrockstudios.apps.tminus.experiences.location.detail.LocationDetailActivity; import com.darkrockstudios.apps.tminus.experiences.rocket.detail.RocketDetailActivity; import com.darkrockstudios.apps.tminus.launchlibrary.Pad; import com.darkrockstudios.apps.tminus.launchlibrary.Rocket; import com.darkrockstudios.apps.tminus.misc.CommonMenuHandler; import com.darkrockstudios.apps.tminus.misc.UpNavUtil; public class LaunchDetailActivity extends DatabaseActivity { private static final String FRAGMENT_TAG = "LaunchDetailFragment"; private int m_launchId; @Override protected void onCreate( final Bundle savedInstanceState ) { super.onCreate( savedInstanceState ); requestWindowFeature( Window.FEATURE_INDETERMINATE_PROGRESS ); setContentView( R.layout.activity_launch_detail ); m_launchId = getLaunchId(); if( m_launchId >= 0 ) { if( savedInstanceState == null ) { // Create the detail fragment and add it to the activity // using a fragment transaction. LaunchDetailContainerFragment fragment = LaunchDetailContainerFragment.newInstance( m_launchId ); getFragmentManager().beginTransaction() .add( R.id.COMMON_detail_fragment_container, fragment, FRAGMENT_TAG ) .commit(); } } } @Override public boolean onCreateOptionsMenu( final Menu menu ) { getMenuInflater().inflate( R.menu.settings, menu ); return true; } @Override public boolean onOptionsItemSelected( final MenuItem item ) { final boolean handled; if( !CommonMenuHandler.onOptionsItemSelected( item, this ) ) { switch( item.getItemId() ) { case android.R.id.home: UpNavUtil.standardUp( this ); handled = true; break; default: handled = super.onOptionsItemSelected( item ); break; } } else { handled = true; } return handled; } private int getLaunchId() { int launchId = -1; final Intent intent = getIntent(); if( intent != null ) { launchId = intent.getIntExtra( LaunchDetailFragment.ARG_ITEM_ID, -1 ); } return launchId; } public void countDownClicked( final View v ) { if( m_launchId >= 0 ) { Intent countDownIntent = new Intent( this, CountDownActivity.class ); countDownIntent.putExtra( CountDownActivity.ARG_ITEM_ID, m_launchId ); startActivity( countDownIntent ); } } public void rocketDetailsClicked( final View v ) { Rocket rocket = (Rocket) v.getTag(); final Context context = v.getContext(); Intent intent = new Intent( context, RocketDetailActivity.class ); intent.putExtra( RocketDetailActivity.ARG_ITEM_ID, rocket.id ); context.startActivity( intent ); } public void locationDetailsClicked( final View v ) { Pad pad = (Pad) v.getTag(); final Context context = v.getContext(); Intent intent = new Intent( context, LocationDetailActivity.class ); intent.putExtra( RocketDetailActivity.ARG_ITEM_ID, pad.id ); context.startActivity( intent ); } public void rocketImageClicked( final View v ) { LaunchDetailFragment fragment = (LaunchDetailFragment) getFragmentManager().findFragmentByTag( FRAGMENT_TAG ); if( fragment != null ) { // TODO: deal with this since it was removed from Launch Details //fragment.zoomRocketImage(); } } }