@@ -303,26 +303,23 @@ public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, Strin
303303 }
304304
305305 if (key .equals ("PREF_HTTP_PROXY_PORT" )) {
306- if (port == 0 )
307- port = 8080 ;
308- mProxyPort .setText (Integer .toString (port ));
309306 System .HTTP_PROXY_PORT = port ;
310307 } else if (key .equals ("PREF_HTTP_SERVER_PORT" )) {
311- if (port == 0 )
312- port = 8081 ;
313- mServerPort .setText (Integer .toString (port ));
314308 System .HTTP_SERVER_PORT = port ;
315309 } else if (key .equals ("PREF_HTTPS_REDIRECTOR_PORT" )) {
316- if (port == 0 )
317- port = 8082 ;
318- mRedirectorPort .setText (Integer .toString (port ));
319310 System .HTTPS_REDIR_PORT = port ;
320311 } else if (key .equals ("MSF_RPC_PORT" )) {
321- if (port == 0 )
322- port = 55553 ;
323- mMsfPort .setText (Integer .toString (port ));
324312 System .MSF_RPC_PORT = port ;
325313 }
314+
315+ if (port == 0 ) {
316+ // reset to default value
317+ port = getDefaultPortForKey (key );
318+
319+ SharedPreferences .Editor editor = sharedPreferences .edit ();
320+ editor .putString (key , Integer .toString (port ));
321+ editor .apply ();
322+ }
326323 } else if (key .equals ("PREF_HTTP_MAX_BUFFER_SIZE" )) {
327324 int maxBufferSize ;
328325
@@ -364,6 +361,21 @@ public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, Strin
364361 System .onSettingChanged (key );
365362 }
366363
364+ private int getDefaultPortForKey (String key ) {
365+ switch (key ) {
366+ case "PREF_HTTP_PROXY_PORT" :
367+ return 8080 ;
368+ case "PREF_HTTP_SERVER_PORT" :
369+ return 8081 ;
370+ case "PREF_HTTPS_REDIRECTOR_PORT" :
371+ return 8082 ;
372+ case "MSF_RPC_PORT" :
373+ return 55553 ;
374+ default :
375+ return 0 ;
376+ }
377+ }
378+
367379 private void onMsfEnabled () {
368380 // use mReceiver as "already did that"
369381 if (mReceiver != null )
0 commit comments