package com.darkrockstudios.apps.tminus.experiences.agency.detail;
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.agency.detail.fragments.AgencyDetailFragment;
import com.darkrockstudios.apps.tminus.misc.CommonMenuHandler;
import com.darkrockstudios.apps.tminus.misc.TminusUri;
import com.darkrockstudios.apps.tminus.misc.UpNavUtil;
/**
* Created by Adam on 2/11/14.
*/
public class AgencyDetailActivity extends DatabaseActivity
{
private static final String FRAGMENT_TAG = "AgencyDetailFragment";
private int m_agencyId;
public void onCreate( final Bundle savedInstanceState )
{
super.onCreate( savedInstanceState );
requestWindowFeature( Window.FEATURE_INDETERMINATE_PROGRESS );
setContentView( R.layout.activity_agency_detail );
m_agencyId = getAgencyId();
if( m_agencyId >= 0 )
{
if( savedInstanceState == null )
{
// Create the detail fragment and add it to the activity
// using a fragment transaction.
AgencyDetailFragment rocketDetailFragment = AgencyDetailFragment.newInstance( m_agencyId );
getFragmentManager().beginTransaction()
.add( R.id.agency_detail_container, rocketDetailFragment, FRAGMENT_TAG )
.commit();
}
}
}
@Override
public boolean onCreateOptionsMenu( final Menu menu )
{
getMenuInflater().inflate( R.menu.refresh, 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;
case R.id.action_refresh:
refresh();
handled = true;
break;
default:
handled = super.onOptionsItemSelected( item );
break;
}
}
else
{
handled = true;
}
return handled;
}
private int getAgencyId()
{
int agencyId = -1;
final Intent intent = getIntent();
if( intent != null )
{
agencyId = TminusUri.extractAgencyId( intent.getData() );
}
return agencyId;
}
private void refresh()
{
AgencyDetailFragment fragment =
(AgencyDetailFragment) getFragmentManager()
.findFragmentByTag( FRAGMENT_TAG );
if( fragment != null )
{
fragment.refresh();
}
}
public void agencyImageClicked( final View view )
{
AgencyDetailFragment fragment =
(AgencyDetailFragment) getFragmentManager()
.findFragmentByTag( FRAGMENT_TAG );
if( fragment != null )
{
fragment.zoomAgencyImage();
}
}
}