1 package net.sf.openrocket.android.motor;
\r
3 import net.sf.openrocket.R;
\r
4 import net.sf.openrocket.android.ActivityHelpers;
\r
5 import net.sf.openrocket.android.PreferencesActivity;
\r
6 import net.sf.openrocket.android.util.AndroidLogWrapper;
\r
7 import android.content.Intent;
\r
8 import android.os.Bundle;
\r
9 import android.support.v4.app.Fragment;
\r
10 import android.support.v4.app.FragmentTransaction;
\r
11 import android.view.View;
\r
13 import com.actionbarsherlock.app.SherlockFragmentActivity;
\r
14 import com.actionbarsherlock.view.Menu;
\r
15 import com.actionbarsherlock.view.MenuInflater;
\r
16 import com.actionbarsherlock.view.MenuItem;
\r
18 public class MotorBrowserActivity extends SherlockFragmentActivity
\r
19 implements MotorListFragment.OnMotorSelectedListener
\r
22 MotorListFragment motorList;
\r
24 private final static int DOWNLOAD_REQUEST_CODE = 1;
\r
25 private final static String MOTOR_LIST_FRAGMENT = "motor_list";
\r
27 /** Called when the activity is first created. */
\r
29 public void onCreate(Bundle savedInstanceState) {
\r
30 super.onCreate(savedInstanceState);
\r
31 setContentView(R.layout.motorbrowser);
\r
32 getSupportActionBar().setDisplayHomeAsUpEnabled(true);
\r
33 getSupportActionBar().setTitle(R.string.motorbrowsertitle);
\r
34 // Only create the motorBrowser fragment if it doesn't already exist.
\r
35 Fragment motorBrowser = getSupportFragmentManager().findFragmentByTag(MOTOR_LIST_FRAGMENT);
\r
36 if ( motorBrowser == null ) {
\r
37 getSupportFragmentManager()
\r
39 .add( R.id.motorBrowserList, new MotorListFragment(), MOTOR_LIST_FRAGMENT)
\r
45 public boolean onCreateOptionsMenu(Menu menu) {
\r
46 MenuInflater inflater = getSupportMenuInflater();
\r
47 inflater.inflate(R.menu.motor_browser_option_menu, menu);
\r
52 public boolean onMenuItemSelected(int featureId, MenuItem item) {
\r
53 AndroidLogWrapper.d(MotorBrowserActivity.class,"onMenuItemSelected" + item.getItemId());
\r
54 switch(item.getItemId()) {
\r
55 case android.R.id.home:
\r
56 // we implement home in the motor browser as "back" since then it will return to
\r
57 // either main or the viewer.
\r
60 case R.id.download_from_thrustcurve_menu_option:
\r
61 ActivityHelpers.downloadFromThrustcurve(this,DOWNLOAD_REQUEST_CODE);
\r
63 case R.id.preference_menu_option:
\r
64 Intent intent = new Intent().setClass(this, PreferencesActivity.class);
\r
65 this.startActivity(intent);
\r
67 case R.id.menu_about:
\r
68 ActivityHelpers.showAbout(this);
\r
71 return super.onMenuItemSelected(featureId, item);
\r
75 protected void onActivityResult(int requestCode, int responseCode, Intent intent) {
\r
76 if ( requestCode == DOWNLOAD_REQUEST_CODE ) {
\r
77 MotorListFragment frag = (MotorListFragment) getSupportFragmentManager().findFragmentById(R.id.motorBrowserList);
\r
83 public void onMotorSelected(long motorId) {
\r
85 View sidepane = findViewById(R.id.sidepane);
\r
86 if ( /* if multi pane */ sidepane != null ) {
\r
88 Fragment graph = BurnPlotFragment.newInstance(motorId);
\r
90 FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
\r
91 ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE);
\r
92 ft.replace(R.id.sidepane, graph);
\r
97 Intent i = new Intent(this,BurnPlotActivity.class);
\r
98 i.putExtra("Motor", motorId);
\r