Convert apogee and simulation plot values to configured units.
authorkruland2607 <kruland2607@180e2498-e6e9-4542-8430-84ac67f01cd8>
Sat, 14 Jan 2012 02:43:21 +0000 (02:43 +0000)
committerkruland2607 <kruland2607@180e2498-e6e9-4542-8430-84ac67f01cd8>
Sat, 14 Jan 2012 02:43:21 +0000 (02:43 +0000)
git-svn-id: https://openrocket.svn.sourceforge.net/svnroot/openrocket/trunk@351 180e2498-e6e9-4542-8430-84ac67f01cd8

android/src/net/sf/openrocket/android/rocket/OpenRocketViewer.java
android/src/net/sf/openrocket/android/simulation/SimulationChart.java

index 11db81bb89e55d5115463b8384379bc8d34b8131..6985c934874b4620c8687310b9deebc71df9696a 100644 (file)
@@ -264,7 +264,12 @@ implements SharedPreferences.OnSharedPreferenceChangeListener
                                }\r
                                Simulation sim = this.getItem(position);\r
                                ((TextView)v.findViewById(android.R.id.text1)).setText( sim.getName() );\r
-                               ((TextView)v.findViewById(android.R.id.text2)).setText( "motors: " + sim.getConfiguration().getMotorConfigurationDescription() + " apogee: " + sim.getSimulatedData().getMaxAltitude() + "m  time: " + sim.getSimulatedData().getFlightTime() + "s");\r
+                               StringBuilder sb = new StringBuilder();\r
+                               sb.append("motors: ").append(sim.getConfiguration().getMotorConfigurationDescription());\r
+                               Unit distanceUnit = UnitGroup.UNITS_DISTANCE.getDefaultUnit();\r
+                               sb.append(" apogee: ").append( distanceUnit.toStringUnit(sim.getSimulatedData().getMaxAltitude()));\r
+                               sb.append(" time: ").append(sim.getSimulatedData().getFlightTime()).append("s");\r
+                               ((TextView)v.findViewById(android.R.id.text2)).setText( sb.toString() );\r
                                return v;\r
                        }\r
 \r
@@ -275,7 +280,7 @@ implements SharedPreferences.OnSharedPreferenceChangeListener
                                Intent i = new Intent(OpenRocketViewer.this, SimulationViewer.class);\r
                                Log.d(TAG,"onItemClick simulation number " + id );\r
                                i.putExtra("Simulation",(int)id);\r
-                               startActivityForResult(i, 1/*magic*/);\r
+                               startActivity(i);\r
                        }\r
 \r
                });\r
index d1301db1c30c7ea42ae5a97363c5772976553ba8..e0b22bd860eb2406b2b2d6dc3b62b8acba3c5f48 100644 (file)
  */\r
 package net.sf.openrocket.android.simulation;\r
 \r
+import java.util.ArrayList;\r
 import java.util.List;\r
 \r
 import net.sf.openrocket.simulation.FlightDataBranch;\r
 import net.sf.openrocket.simulation.FlightDataType;\r
 import net.sf.openrocket.simulation.FlightEvent;\r
+import net.sf.openrocket.unit.Unit;\r
 \r
 import org.achartengine.ChartFactory;\r
 import org.achartengine.chart.LineChart;\r
@@ -157,7 +159,13 @@ public class SimulationChart {
                XYMultipleSeriesDataset dataset = new XYMultipleSeriesDataset();\r
 \r
                List<Double> timevalues = flightDataBranch.get(time);\r
-               List<Double> series1values = flightDataBranch.get(series1);\r
+               List<Double> series1values = new ArrayList<Double>( flightDataBranch.get(series1).size() );\r
+               {\r
+                       Unit u = series1.getUnitGroup().getDefaultUnit();\r
+                       for( Double d: flightDataBranch.get(series1) ) {\r
+                               series1values.add( u.toUnit(d));\r
+                       }\r
+               }\r
 \r
                // compute the axis limits using timevalues and series1values.\r
                double xmin = 0;\r
@@ -181,7 +189,15 @@ public class SimulationChart {
 \r
                if ( seriesCount > 1 ) {\r
                        // Add second series\r
-                       addXYSeries(dataset, series2.getName(), timevalues, flightDataBranch.get(series2), 1);\r
+                       List<Double> series2values = new ArrayList<Double>( flightDataBranch.get(series2).size() );\r
+                       {\r
+                               Unit u = series2.getUnitGroup().getDefaultUnit();\r
+                               for( Double d: flightDataBranch.get(series2) ) {\r
+                                       series2values.add( u.toUnit(d));\r
+                               }\r
+                       }\r
+\r
+                       addXYSeries(dataset, series2.getName(), timevalues, series2values, 1);\r
                }\r
                Intent intent = getLineChartIntent(context, dataset, renderer,"Simulation");\r
                return intent;\r