Merge commit '42b2e5ca519766e37ce6941ba4faecc9691cc403' into upstream
[debian/openrocket] / android / src / net / sf / openrocket / android / motor / MotorListFragment.java
index b875145971d982eaaac62db7d13574564bf0c195..efe5f40f16ad7e788604785c194ebdd09f4535f9 100644 (file)
@@ -26,10 +26,6 @@ import android.widget.ResourceCursorTreeAdapter;
 import android.widget.TextView;\r
 \r
 \r
-/*\r
- * TODO - make this work with PersistentExpandableListFragment.\r
- * \r
- */\r
 public class MotorListFragment extends PersistentExpandableListFragment\r
 implements SharedPreferences.OnSharedPreferenceChangeListener\r
 {\r
@@ -117,7 +113,7 @@ implements SharedPreferences.OnSharedPreferenceChangeListener
                        TextView v = (TextView) view.findViewById(R.id.motorGroup);\r
                        if ( MotorDao.DIAMETER.equals(groupColumn)) {\r
                                double d = cursor.getDouble( cursor.getColumnIndex(groupColumn));\r
-                               v.setText( String.valueOf(Math.round(d * 1000.0)) );\r
+                               v.setText( String.valueOf(Math.round(d * 1000.0)) + " mm");\r
                        } else {\r
                                v.setText( cursor.getString( cursor.getColumnIndex(groupColumn)));\r
                        }\r
@@ -137,17 +133,13 @@ implements SharedPreferences.OnSharedPreferenceChangeListener
        public void onViewCreated(View view, Bundle savedInstanceState) {\r
                super.onViewCreated(view, savedInstanceState);\r
 \r
-               refreshData();\r
-\r
                registerForContextMenu(getExpandableListView());\r
 \r
        }\r
 \r
+       \r
        @Override\r
-       public void onAttach(Activity activity) {\r
-               super.onAttach(activity);\r
-               mDbHelper = new DbAdapter(getActivity());\r
-               mDbHelper.open();\r
+       public void onResume() {\r
 \r
                Resources resources = this.getResources();\r
                groupColumnPreferenceKey = resources.getString(R.string.PreferenceMotorBrowserGroupingOption);\r
@@ -157,22 +149,15 @@ implements SharedPreferences.OnSharedPreferenceChangeListener
 \r
                pref.registerOnSharedPreferenceChangeListener(this);\r
 \r
+               Activity activity = getActivity();\r
                if ( activity instanceof OnMotorSelectedListener ) {\r
                        motorSelectedListener = (OnMotorSelectedListener) activity;\r
                }\r
 \r
-               Cursor motorCounter = mDbHelper.getMotorDao().fetchAllMotors();\r
-               int motorCount = motorCounter.getCount();\r
-               motorCounter.close();\r
-               \r
-               if ( motorCount == 0 ) {\r
-                       AlertDialog.Builder builder = new AlertDialog.Builder(activity);\r
-                       builder.setTitle("No Motors Found");\r
-                       builder.setMessage("Motors can be downloaded from thrustcurve");\r
-                       builder.setCancelable(true);\r
-                       builder.create().show();\r
-               }\r
-               \r
+               refreshData();\r
+\r
+               super.onResume();\r
+\r
        }\r
 \r
        @Override\r
@@ -222,8 +207,8 @@ implements SharedPreferences.OnSharedPreferenceChangeListener
        }\r
 \r
        @Override\r
-       public void onDetach() {\r
-               super.onDetach();\r
+       public void onPause() {\r
+               super.onPause();\r
                SharedPreferences pref = PreferenceManager.getDefaultSharedPreferences(getActivity());\r
                pref.unregisterOnSharedPreferenceChangeListener(this);\r
 \r
@@ -247,6 +232,23 @@ implements SharedPreferences.OnSharedPreferenceChangeListener
        }\r
 \r
        public void refreshData() {\r
+               if ( mDbHelper == null ) {\r
+                       mDbHelper = new DbAdapter(getActivity());\r
+               }\r
+               mDbHelper.open();\r
+\r
+               Cursor motorCounter = mDbHelper.getMotorDao().fetchAllMotors();\r
+               int motorCount = motorCounter.getCount();\r
+               motorCounter.close();\r
+               \r
+               if ( motorCount == 0 ) {\r
+                       AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());\r
+                       builder.setTitle("No Motors Found");\r
+                       builder.setMessage("Motors can be downloaded from thrustcurve");\r
+                       builder.setCancelable(true);\r
+                       builder.create().show();\r
+               }\r
+\r
                Cursor motorCursor = mDbHelper.getMotorDao().fetchGroups(groupColumn);\r
                MotorHierarchicalListAdapter mAdapter = new MotorHierarchicalListAdapter( \r
                                getActivity(),\r