kruland2607 [Wed, 8 Feb 2012 02:32:27 +0000 (02:32 +0000)]
Second checkpoint commit of OpenRocketLoader to make it orientation change safe. Changed Main.java to register onclick listeners in java instead of the layout. Store the WarningSet in Application so it doesn't need to be serialized if the OpenRocketLoaderActivity is recreated during an orientation change. Fix the MissingMotorDialogFragment to only have the string and not the whole WarningSet. Finally completely rewrote the OpenRocketLoaderTask into a Fragment managing its own dialog.
kruland2607 [Wed, 8 Feb 2012 02:22:45 +0000 (02:22 +0000)]
Second checkpoint commit of OpenRocketLoader to make it orientation change safe. Changed Main.java to register onclick listeners in java instead of the layout. Store the WarningSet in Application so it doesn't need to be serialized if the OpenRocketLoaderActivity is recreated during an orientation change. Fix the MissingMotorDialogFragment to only have the string and not the whole WarningSet. Finally completely rewrote the OpenRocketLoaderTask into a Fragment managing its own dialog.
kruland2607 [Sun, 5 Feb 2012 01:53:43 +0000 (01:53 +0000)]
Fix menus when simulations are displayed and the device is rotated. The preference menu is controlled in the SimulationViewActivity instead of the Fragment. The activity now replaces the fragment instead of adding it.
kruland2607 [Thu, 2 Feb 2012 02:49:44 +0000 (02:49 +0000)]
Fix up the unit preferences correctly. The preferences now show the current setting and when they are changed, the overview and simulations lists are updated.
kruland2607 [Wed, 1 Feb 2012 02:44:37 +0000 (02:44 +0000)]
Change all calls to android.util.Log to use the AndroidLogWrapper class since it provides the ability to turn off all logging - which is desirable when making a apk for distribution.
kruland2607 [Mon, 30 Jan 2012 03:48:42 +0000 (03:48 +0000)]
Rewrite MotorBrowser to use a fragment for the list. This is the first step in making this portion of the application look and operate better on tables.
kruland2607 [Thu, 26 Jan 2012 15:36:15 +0000 (15:36 +0000)]
Rewrite the simulation graph component. It is now implemented as a fragment with a menu to configure the serieses and display a list of the flight events.
SimulationChart now implements a flyweight pattern containing the simulationId so it can be serialized allows the os to pause the application and restore most of the state of the graph. Currently the selected serieses are not persisted so the graph gets reset to the default.
The simulation view is operated in two different modes. On tablets in landscape the graph appears in the right sidepane and the list on the left. When a new simulation is selected, the old graph is pushed to the back stack. When in portrait mode or on smaller sceens, the simluation graph is in a separate activity.
kruland2607 [Wed, 25 Jan 2012 17:35:46 +0000 (17:35 +0000)]
Define a callback interface in the Simulation list fragment which is called with the simulation id that is selected. Implement this interface in the OpenRocketViewer which then invokes the Intent for the SimulationViewer.
kruland2607 [Wed, 25 Jan 2012 17:33:22 +0000 (17:33 +0000)]
Modify the OpenRocketTask to send both the WarningSet and OpenRocketDocument back and display a dialog when there are warnings. The dialog is only partially implemented.
kruland2607 [Sun, 22 Jan 2012 02:44:17 +0000 (02:44 +0000)]
Various changes to android application. Separate the loading of an ork file into the OpenRocketLoader activity. Changed OpenRocketViewer to use Fragments for each of the tab contents. Added Component, Overview and Simulations fragments for the tabs in OpenRocketViewer. Modified the graphics on the UI. Have the PreferencesActivity pack the changed preferences into the application onStop().
kruland2607 [Tue, 17 Jan 2012 02:46:49 +0000 (02:46 +0000)]
Persist the Velocity at launch rod clearance in ork file. Added to column in SimulationPanel. Added computation of Velocity at deployment in FlightData. Persist Velocity at deployment in ork file and added to SimulationPanel and DesignReport.
Added l10n message keys for new column in SimulationPanel.
Added function MathUtil.interpolate which does linear interpolation of intermediate values. This is used in FlightData for computing Velocity at deployment and Velocity at launch rod clearance.
kruland2607 [Sun, 15 Jan 2012 02:46:13 +0000 (02:46 +0000)]
Change handling of Motor Digests. The computed digest value is now stored as a member variable in the ThrustCurveMotor and avaliable through the getDigest() method. getDigest() was added to the Motor interface. All references to MotorDigest.digestMotor() were removed from the application.
The android db now stores the digest. Also changed persistance mechanism for delays to store as comma delimited string.
The TestMotorLoader is now failing because the digests have changed.
kruland2607 [Fri, 13 Jan 2012 18:29:16 +0000 (18:29 +0000)]
Show the simulation name as the chart title. Made some UI concessions because drawing the events in the graph is not currently available: Moved "draw" button to series tab, changed the list entry for the events to non-selectable simple text items.
kruland2607 [Thu, 12 Jan 2012 19:51:28 +0000 (19:51 +0000)]
Reimplement motor handling so the android application relies more heavily on the OR core ThrustCurveMotor class. This involved changing the database schema and querying mechanisms. Rewriting the thrust curve download logic in net.sf.openrocket.android.thrustcurve. Fixing the motor browser, motor details, and burn plot activities. The file parsing now uses the RSE and RSP parsers from OR core.
ExtendedThrustCurveMotor class was created to hold the additional data required by the db ( the id in particular) along with the data which is useful to the browser (case info and impulse class).
kruland2607 [Thu, 12 Jan 2012 19:41:16 +0000 (19:41 +0000)]
Switch minimum sdk to 9 since OR core uses ArrayDeque which is only available in Android API 9. Note API 9 is Android 2.3 / Gingerbread, but there are no emulators available for this api version.
kruland2607 [Thu, 12 Jan 2012 19:32:23 +0000 (19:32 +0000)]
Created static function Motor.Type.fromName( String ) to Motor.Type based on the logic in RockSimMotorLoader. Use this new lookup method in RockSimMotorLoader. This method was moved because it is useful to have it in Android project motor database.
kruland2607 [Wed, 11 Jan 2012 14:56:40 +0000 (14:56 +0000)]
Modified RocketUtils.getCG to take a MassCalcType parameter. In the OpenRocketViewer, calculate mass empty. Changed the order of the fields in the openrocketviewer layout. Added a spinner for the configurations stored in the ork file - though this still needs to have motors wired in.
kruland2607 [Wed, 11 Jan 2012 03:15:10 +0000 (03:15 +0000)]
Creating resources/ source directory to hold l10n, pix, and datafiles. Changes to build.xml to support it. The directory moves will be done in separate svn move operations.
kruland2607 [Tue, 10 Jan 2012 15:48:19 +0000 (15:48 +0000)]
Using pl.polidea.treeview for the component tree list. This code is under 2-clause BSD and available from code.google.com/p/tree-view-list-android. Unfortunately, the only way to effectively use this code is to include the source within the project (instead of jar) because it was poorly written and depends on a bunch of resources.