kruland2607 [Thu, 23 Feb 2012 17:41:23 +0000 (17:41 +0000)]
Use ActivityHelpers.goHome instead of finish() when the home button is pressed. Don't add the burnplot to the back stack so the back arrow just exits the browser activity.
kruland2607 [Tue, 21 Feb 2012 02:55:33 +0000 (02:55 +0000)]
Revise the download and match logic so more motors are downloaded correctly. The DownloadResponse now holds on to all the results supplied from Thrustcurve so we can process them a little better. The TCMissingMotorDownloadAction chooses the motor which has the best match (giving preference to matching digest, desgination and finally RockSim files). The TCSearchAction records into the database all the motors which have a unique designation.
kruland2607 [Tue, 21 Feb 2012 02:42:08 +0000 (02:42 +0000)]
Check if the directory is readable. If it is not, then display a dialog. Try to show the previous directory selected, but if that cannot be, just exit.
kruland2607 [Fri, 17 Feb 2012 22:10:28 +0000 (22:10 +0000)]
Only create the motor list fragment once. If it already exists, don't create it again. This was causing problems during orientation change by creating multiple overlapping lists.
kruland2607 [Thu, 16 Feb 2012 19:25:28 +0000 (19:25 +0000)]
We cannot use the designation directly in the search. For some manufacturers (CTI), the designation provided in the burn file is not at all consistent with the designation stored in the thrustcurve.org main database. Instead we pull out what looks like the common name using a regular expression and use that.
kruland2607 [Thu, 16 Feb 2012 19:24:12 +0000 (19:24 +0000)]
When downloading burn files, prefer RockSim formatted files of RASP since they appear to be better. In particular there is a RASP file for the AeroTech G76 which contains the incorrect motor designation of G72.
kruland2607 [Thu, 16 Feb 2012 19:23:03 +0000 (19:23 +0000)]
Roll back previous change. It was not correct. The underlying problem was the dialog was being dismissed twice when using the TCMissingMotorDownloadAction.
kruland2607 [Thu, 16 Feb 2012 19:22:19 +0000 (19:22 +0000)]
Populate the warning dialog with the messages. Fix the onCLick and onCancel to not finish the activity but instead make the workflow move on to the viewer.
kruland2607 [Thu, 16 Feb 2012 19:21:55 +0000 (19:21 +0000)]
Populate the warning dialog with the messages. Fix the onCLick and onCancel to not finish the activity but instead make the workflow move on to the viewer.
kruland2607 [Tue, 14 Feb 2012 18:33:31 +0000 (18:33 +0000)]
Rework the filebrowser some to add some functionality. A "hidden" preference now stores the default directory to open. This directory is marked with a gold star. To change the default directory, you touch on a star. Added icon for directories. Added preference to control if only ork files are shown in the file browser. Changed the sort order to do the fancy "logical" sort to compare number components numerically.
kruland2607 [Sat, 11 Feb 2012 20:17:39 +0000 (20:17 +0000)]
Many style and navigation changes. Pulled in ActionBarCompat from Android sample sources to provide an action bar paradigm on pre-gingerbread devices. Changed the OpenRocket Viewer activity to use a viewpager with sliding tabs since it looks much nicer. Updated to the newest android-support-v4 jar.
kruland2607 [Fri, 10 Feb 2012 02:46:11 +0000 (02:46 +0000)]
Removed some unneeded code in MotorListFragment. Use startActivityForResult when starting the TCQueryAction so the MotorBrowserActivity knows when it is finished. The MotorBrowserActivity uses the onActivityResult to refresh the data in the fragment.
kruland2607 [Fri, 10 Feb 2012 02:26:09 +0000 (02:26 +0000)]
Fix two layout issues with the ThrustCurve query form layout. 1) use a trick to prevent the keyboard from appearing automatically on ICS (and perhaps other) tables. 2) move the submit button to be tight to the bottom of the form since then even if the keyboard is up, you can still press it.
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.