diff options
author | Jeremy Klein <jlklein@google.com> | 2015-08-26 12:30:55 -0700 |
---|---|---|
committer | Jeremy Klein <jlklein@google.com> | 2015-08-26 12:33:20 -0700 |
commit | 96c80498222259a5efd9ab1498462d6bb2fbcc82 (patch) | |
tree | d53ca6f7c228eff7bf9433619fbdebc43277a27b /app/src/main/java/org/connectbot/ConsoleActivity.java | |
parent | a2232aae9e4d79f79a56e23d026ee0f03ff18792 (diff) | |
download | connectbot-96c80498222259a5efd9ab1498462d6bb2fbcc82.tar.gz connectbot-96c80498222259a5efd9ab1498462d6bb2fbcc82.tar.bz2 connectbot-96c80498222259a5efd9ab1498462d6bb2fbcc82.zip |
Save the currently visible connection between screen rotations.
Diffstat (limited to 'app/src/main/java/org/connectbot/ConsoleActivity.java')
-rw-r--r-- | app/src/main/java/org/connectbot/ConsoleActivity.java | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/app/src/main/java/org/connectbot/ConsoleActivity.java b/app/src/main/java/org/connectbot/ConsoleActivity.java index 0e23979..b085973 100644 --- a/app/src/main/java/org/connectbot/ConsoleActivity.java +++ b/app/src/main/java/org/connectbot/ConsoleActivity.java @@ -103,6 +103,7 @@ public class ConsoleActivity extends AppCompatActivity implements BridgeDisconne private static final int KEYBOARD_DISPLAY_TIME = 3000; private static final int KEYBOARD_REPEAT_INITIAL = 500; private static final int KEYBOARD_REPEAT = 100; + private static final String STATE_SELECTED_URI = "selectedUri"; protected ViewPager pager = null; protected TabLayout tabs = null; @@ -468,7 +469,11 @@ public class ConsoleActivity extends AppCompatActivity implements BridgeDisconne setVolumeControlStream(AudioManager.STREAM_MUSIC); // handle requested console from incoming intent - requested = getIntent().getData(); + if (icicle == null) { + requested = getIntent().getData(); + } else { + requested = Uri.parse(icicle.getString(STATE_SELECTED_URI)); + } inflater = LayoutInflater.from(this); @@ -1172,6 +1177,18 @@ public class ConsoleActivity extends AppCompatActivity implements BridgeDisconne unbindService(connection); } + @Override + public void onSaveInstanceState(Bundle savedInstanceState) { + // Maintain selected host if connected. + if (adapter.getCurrentTerminalView() != null + && !adapter.getCurrentTerminalView().bridge.isDisconnected()) { + Uri uri = adapter.getCurrentTerminalView().bridge.host.getUri(); + savedInstanceState.putString(STATE_SELECTED_URI, uri.toString()); + } + + super.onSaveInstanceState(savedInstanceState); + } + private void startCopyMode() { // mark as copying and reset any previous bounds TerminalView terminalView = (TerminalView) adapter.getCurrentTerminalView(); |