@@ -72,6 +72,7 @@ public class PortScanner extends Plugin {
7272 private static final String CUSTOM_PARAMETERS_TEXT = "PortScanner.Prefs.CustomParameters.Text" ;
7373 private SharedPreferences mPreferences = null ;
7474 private Map <Integer , String > urlFormats = new HashMap <>();
75+ private boolean mShowCustomParameters = false ;
7576
7677 public PortScanner () {
7778 super (R .string .port_scanner , R .string .port_scanner_desc ,
@@ -94,27 +95,27 @@ private void displayParametersField() {
9495 mTextParameters .setVisibility (View .VISIBLE );
9596 mTextParameters .setText (mPreferences .getString (CUSTOM_PARAMETERS_TEXT , "" ));
9697
97- saveCustomParameters (true );
98+ mShowCustomParameters = true ;
99+ saveCustomParameters ();
98100 }
99101
100102 /**
101103 * Hides the custom parameters text field, saving the typed parameters
102104 */
103105 private void hideParametersField () {
104- saveCustomParameters (false );
106+ mShowCustomParameters = false ;
107+ saveCustomParameters ();
105108
106109 mTextDoc .setVisibility (View .GONE );
107110 mTextParameters .setVisibility (View .GONE );
108111 }
109112
110113 /**
111114 * Saves customs parameters entered by the user
112- *
113- * @param displayed Sets if the custom parameters text field must be displayed or not
114115 */
115- private void saveCustomParameters (boolean displayed ) {
116+ private void saveCustomParameters () {
116117 SharedPreferences .Editor edit = mPreferences .edit ();
117- edit .putBoolean (CUSTOM_PARAMETERS , displayed );
118+ edit .putBoolean (CUSTOM_PARAMETERS , mShowCustomParameters );
118119 edit .putString (CUSTOM_PARAMETERS_TEXT , mTextParameters .getText ().toString ());
119120 edit .commit ();
120121 }
@@ -124,7 +125,7 @@ private void setStoppedState() {
124125 mProcess .kill ();
125126 mProcess = null ;
126127 }
127- saveCustomParameters (mTextParameters . isShown () );
128+ saveCustomParameters ();
128129
129130 mScanProgress .setVisibility (View .INVISIBLE );
130131 mRunning = false ;
@@ -139,9 +140,7 @@ private void setStartedState() {
139140 createPortList ();
140141
141142 try {
142- if (mTextParameters .isShown ()) {
143- mListAdapter .clear ();
144- mListAdapter .notifyDataSetChanged ();
143+ if (mShowCustomParameters ) {
145144 mProcess = System .getTools ().nmap
146145 .customScan (System .getCurrentTarget (), mScanReceiver , mTextParameters .getText ().toString ());
147146 } else {
@@ -191,8 +190,12 @@ public void onCreate(Bundle savedInstanceState) {
191190 mScanToggleButton = (ToggleButton ) findViewById (R .id .scanToggleButton );
192191 mScanProgress = (ProgressBar ) findViewById (R .id .scanActivity );
193192
194- if (mPreferences .getBoolean (CUSTOM_PARAMETERS , false ))
193+ mShowCustomParameters = mPreferences .getBoolean (CUSTOM_PARAMETERS , false );
194+
195+ if (mShowCustomParameters )
195196 displayParametersField ();
197+ else
198+ hideParametersField ();
196199
197200 mScanToggleButton .setOnClickListener (new OnClickListener () {
198201 @ Override
@@ -212,6 +215,8 @@ public void onClick(View v) {
212215 final Target target = System .getCurrentTarget ();
213216 final String cmdlineRep = target .getCommandLineRepresentation ();
214217
218+ mScanReceiver = new Receiver (target );
219+
215220 mListAdapter = new ArrayAdapter <>(this ,
216221 android .R .layout .simple_list_item_1 , mPortList );
217222 mScanList .setAdapter (mListAdapter );
0 commit comments