Browse Source

small bug fix in record overviwe

Julien Clauter 10 years ago
parent
commit
61295139e7

+ 10 - 1
src/de/tudarmstadt/informatik/hostage/ui2/fragment/RecordOverviewFragment.java

@@ -78,6 +78,10 @@ public class RecordOverviewFragment extends Fragment implements ChecklistDialog.
 
     public RecordOverviewFragment(){}
 
+    public void setGroupKey(String key){
+        this.groupingKey = key;
+    }
+
 
     @Override
     public void onCreate(Bundle savedInstanceState) {
@@ -198,7 +202,11 @@ public class RecordOverviewFragment extends Fragment implements ChecklistDialog.
     public void onStart() {
         super.onStart();
         //this.populateListViewFromDB(this.expListView);
-        this.setSectionToOpen(this.sectionToOpen);
+        if (this.expListView.getExpandableListAdapter().getGroupCount() == 1){
+            this.expListView.expandGroup(0);
+        } else {
+            this.setSectionToOpen(this.sectionToOpen);
+        }
     }
 
 	/*****************************
@@ -277,6 +285,7 @@ public class RecordOverviewFragment extends Fragment implements ChecklistDialog.
                 return s1.compareToIgnoreCase(s2);
             }
         });
+
         RecordListAdapter adapter = new RecordListAdapter(this.getApplicationContext(), groupTitle, sectionData);
 
         mylist.setAdapter(adapter);

+ 9 - 2
src/de/tudarmstadt/informatik/hostage/ui2/fragment/StatisticsFragment.java

@@ -1317,6 +1317,7 @@ public class StatisticsFragment extends Fragment implements ChecklistDialog.Chec
         if (index < this.currentData.size()){
             PlotComparisonItem item = this.currentData.get(index);
             ArrayList<String> selectedData;
+            String sortKey = null;
             selectedData = new ArrayList<String>();
 
             if (item.getOtherData() == null){
@@ -1334,8 +1335,10 @@ public class StatisticsFragment extends Fragment implements ChecklistDialog.Chec
 
                 if (this.selectedCompareData.equals(COMPARE_TITLE_AttacksPerESSID)){
                     filter.setESSIDs(selectedData);
+                    sortKey = "ESSID";
                 } else {
                     filter.setBSSIDs(selectedData);
+                    sortKey = "BSSID";
                 }
                 ArrayList<String> currentSelectedProtocol = new ArrayList<String>();
                 currentSelectedProtocol.add(this.getCurrentSelectedProtocol());
@@ -1346,6 +1349,7 @@ public class StatisticsFragment extends Fragment implements ChecklistDialog.Chec
                 selectedData.add(item.getTitle());
                 filter.setESSIDs(selectedData);
                 filter.setProtocols(this.filter.getProtocols());
+                sortKey = "ESSID";
             }
 
             if (this.filter.hasATimestamp()){
@@ -1353,7 +1357,7 @@ public class StatisticsFragment extends Fragment implements ChecklistDialog.Chec
                 filter.setBelowTimestamp(this.filter.getBelowTimestamp());
             }
 
-            this.pushRecordOverviewForFilter(filter);
+            this.pushRecordOverviewForFilter(filter, sortKey);
         }
     }
 
@@ -1364,13 +1368,16 @@ public class StatisticsFragment extends Fragment implements ChecklistDialog.Chec
         this.userTappedOnLegendItem(index);
     }
 
-    private void pushRecordOverviewForFilter(LogFilter filter){
+    private void pushRecordOverviewForFilter(LogFilter filter, String sortKey){
 
         FragmentManager fm = this.getActivity().getFragmentManager();
 
         if (fm != null){
             RecordOverviewFragment newFragment = new RecordOverviewFragment();
             newFragment.setFilter(filter);
+
+            if (sortKey != null && sortKey.length() != 0) newFragment.setGroupKey(sortKey);
+
             FragmentTransaction transaction = fm.beginTransaction();
             transaction.replace(R.id.content_frame, newFragment, newFragment.getTag());
             transaction.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE);