diff options
author | Kenny Root <kenny@the-b.org> | 2009-06-16 00:03:10 +0000 |
---|---|---|
committer | Kenny Root <kenny@the-b.org> | 2009-06-16 00:03:10 +0000 |
commit | 68df5076fd011d56f8956b97e765c77d9ac793b9 (patch) | |
tree | 3d19c18e23cd38e289bec20506f3b503fe1f8279 | |
parent | 157b17bc041925d7a187f90e7a352dd915823c48 (diff) | |
download | connectbot-68df5076fd011d56f8956b97e765c77d9ac793b9.tar.gz connectbot-68df5076fd011d56f8956b97e765c77d9ac793b9.tar.bz2 connectbot-68df5076fd011d56f8956b97e765c77d9ac793b9.zip |
* Don't let SSH hang on authentication when the TerminalManager goes away
* Remove comment that snuck into last commit
* Make HostListActivity a little bit faster by not calling updateList 3 times in a row
git-svn-id: https://connectbot.googlecode.com/svn/trunk/connectbot@304 df292f66-193f-0410-a5fc-6d59da041ff2
-rw-r--r-- | src/com/nullwire/trace/DefaultExceptionHandler.java | 1 | ||||
-rw-r--r-- | src/org/connectbot/HostListActivity.java | 28 | ||||
-rw-r--r-- | src/org/connectbot/transport/SSH.java | 3 |
3 files changed, 16 insertions, 16 deletions
diff --git a/src/com/nullwire/trace/DefaultExceptionHandler.java b/src/com/nullwire/trace/DefaultExceptionHandler.java index 66a79bd..e475888 100644 --- a/src/com/nullwire/trace/DefaultExceptionHandler.java +++ b/src/com/nullwire/trace/DefaultExceptionHandler.java @@ -42,6 +42,5 @@ public class DefaultExceptionHandler implements UncaughtExceptionHandler { Log.d(TAG, result.toString()); // FlurryAgent session has ended t.getThreadGroup().destroy(); -// Thread.getDefaultUncaughtExceptionHandler().uncaughtException(t, e); } } diff --git a/src/org/connectbot/HostListActivity.java b/src/org/connectbot/HostListActivity.java index 7d0a687..6da7043 100644 --- a/src/org/connectbot/HostListActivity.java +++ b/src/org/connectbot/HostListActivity.java @@ -67,6 +67,10 @@ import android.widget.AdapterView.OnItemClickListener; import com.nullwire.trace.ExceptionHandler; public class HostListActivity extends ListActivity { + public final static int REQUEST_EDIT = 1; + + public final static int REQUEST_EULA = 2; + protected TerminalManager bound = null; protected HostDatabase hostdb; @@ -82,6 +86,10 @@ public class HostListActivity extends ListActivity { private Spinner transportSpinner; private TextView quickconnect; + private SharedPreferences prefs = null; + + protected boolean makingShortcut = false; + protected Handler updateHandler = new Handler() { @Override public void handleMessage(Message msg) { @@ -112,8 +120,6 @@ public class HostListActivity extends ListActivity { if(this.hostdb == null) this.hostdb = new HostDatabase(this); - - this.updateList(); } @Override @@ -125,7 +131,6 @@ public class HostListActivity extends ListActivity { this.hostdb.close(); this.hostdb = null; } - } @Override @@ -135,11 +140,6 @@ public class HostListActivity extends ListActivity { ExceptionHandler.checkForTraces(this); } - public final static int REQUEST_EDIT = 1; - public final static int REQUEST_EULA = 2; - - private SharedPreferences prefs = null; - @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (requestCode == REQUEST_EULA) { @@ -157,8 +157,6 @@ public class HostListActivity extends ListActivity { } } - protected boolean makingShortcut = false; - @Override public void onCreate(Bundle icicle) { super.onCreate(icicle); @@ -188,7 +186,6 @@ public class HostListActivity extends ListActivity { ListView list = this.getListView(); this.sortedByColor = prefs.getBoolean(PreferenceConstants.SORT_BY_COLOR, false); - this.updateList(); //this.list.setSelector(R.drawable.highlight_disabled_pressed); @@ -236,7 +233,6 @@ public class HostListActivity extends ListActivity { return startConsoleActivity(); } }); - quickconnect.requestFocus(); transportSpinner = (Spinner)findViewById(R.id.transport_selection); ArrayAdapter<String> transportSelection = new ArrayAdapter<String>(this, @@ -421,9 +417,11 @@ public class HostListActivity extends ListActivity { } protected void updateList() { - Editor edit = prefs.edit(); - edit.putBoolean(PreferenceConstants.SORT_BY_COLOR, sortedByColor); - edit.commit(); + if (prefs.getBoolean(PreferenceConstants.SORT_BY_COLOR, false) != sortedByColor) { + Editor edit = prefs.edit(); + edit.putBoolean(PreferenceConstants.SORT_BY_COLOR, sortedByColor); + edit.commit(); + } if (hostdb == null) hostdb = new HostDatabase(this); diff --git a/src/org/connectbot/transport/SSH.java b/src/org/connectbot/transport/SSH.java index 62ea9d6..fa987f7 100644 --- a/src/org/connectbot/transport/SSH.java +++ b/src/org/connectbot/transport/SSH.java @@ -258,6 +258,9 @@ public class SSH extends AbsTransport implements ConnectionMonitor, InteractiveC } else { bridge.outputLine(manager.res.getString(R.string.terminal_auth_fail)); } + } catch (IllegalStateException e) { + Log.e(TAG, "Connection went away while we were trying to authenticate", e); + return; } catch(Exception e) { Log.e(TAG, "Problem during handleAuthentication()", e); } |