aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--app/src/main/java/org/connectbot/ConsoleActivity.java9
-rw-r--r--app/src/main/res/layout-large/act_console.xml296
-rw-r--r--app/src/main/res/layout/act_console.xml18
3 files changed, 303 insertions, 20 deletions
diff --git a/app/src/main/java/org/connectbot/ConsoleActivity.java b/app/src/main/java/org/connectbot/ConsoleActivity.java
index 46c4f08..d6ee629 100644
--- a/app/src/main/java/org/connectbot/ConsoleActivity.java
+++ b/app/src/main/java/org/connectbot/ConsoleActivity.java
@@ -466,7 +466,8 @@ public class ConsoleActivity extends Activity implements BridgeDisconnectedListe
});
tabs = (TabLayout) findViewById(R.id.tabs);
- tabs.setupWithViewPager(pager);
+ if (tabs != null)
+ tabs.setupWithViewPager(pager);
// detect fling gestures to switch between terminals
final GestureDetector detect = new GestureDetector(this, new GestureDetector.SimpleOnGestureListener() {
@@ -1229,8 +1230,10 @@ public class ConsoleActivity extends Activity implements BridgeDisconnectedListe
@Override
public void notifyDataSetChanged() {
super.notifyDataSetChanged();
- toolbar.setVisibility(this.getCount() > 1 ? View.VISIBLE : View.GONE);
- tabs.setTabsFromPagerAdapter(this);
+ if (tabs != null) {
+ toolbar.setVisibility(this.getCount() > 1 ? View.VISIBLE : View.GONE);
+ tabs.setTabsFromPagerAdapter(this);
+ }
}
@Override
diff --git a/app/src/main/res/layout-large/act_console.xml b/app/src/main/res/layout-large/act_console.xml
new file mode 100644
index 0000000..d735333
--- /dev/null
+++ b/app/src/main/res/layout-large/act_console.xml
@@ -0,0 +1,296 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+ * ConnectBot: simple, powerful, open-source SSH client for Android
+ * Copyright 2007 Kenny Root, Jeffrey Sharkey
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+-->
+
+<RelativeLayout
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ android:layout_width="fill_parent"
+ android:layout_height="fill_parent"
+ android:background="#ff000000">
+
+ <android.support.v7.widget.Toolbar
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:id="@+id/toolbar"
+ android:theme="@style/Theme.AppCompat.Light.DarkActionBar"/>
+
+ <android.support.design.widget.TabLayout
+ android:id="@+id/tabs"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:textAppearance="?android:attr/textAppearanceMedium"
+ app:tabIndicatorColor="@android:color/white"
+ android:background="#222222"/>
+
+ <TextView
+ android:id="@android:id/empty"
+ android:layout_width="fill_parent"
+ android:layout_height="fill_parent"
+ android:text="@string/terminal_no_hosts_connected"
+ android:textAppearance="?android:attr/textAppearanceMedium"
+ android:gravity="center"
+ android:layout_below="@id/toolbar"/>
+
+ <android.support.v4.view.ViewPager
+ android:id="@+id/console_flip"
+ android:layout_width="fill_parent"
+ android:layout_height="fill_parent"
+ android:layout_below="@id/toolbar"
+ />
+
+ <RelativeLayout
+ android:id="@+id/console_password_group"
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:layout_alignParentBottom="true"
+ android:padding="5dip"
+ android:background="#80000000"
+ android:fadingEdge="horizontal"
+ android:fadingEdgeLength="25dip"
+ android:visibility="gone"
+ >
+
+ <TextView
+ android:id="@+id/console_password_instructions"
+ android:layout_height="wrap_content"
+ android:textAppearance="?android:attr/textAppearanceMedium"
+ android:layout_width="fill_parent"
+ android:visibility="gone"
+ android:layout_marginBottom="5dip"
+ />
+
+ <EditText
+ android:id="@+id/console_password"
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:password="true"
+ android:singleLine="true"
+ android:layout_below="@+id/console_password_instructions"
+ />
+
+ </RelativeLayout>
+
+ <RelativeLayout
+ android:id="@+id/console_boolean_group"
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:layout_alignParentBottom="true"
+ android:padding="5dip"
+ android:background="#80000000"
+ android:fadingEdge="horizontal"
+ android:fadingEdgeLength="25dip"
+ android:visibility="gone"
+ >
+
+ <TextView
+ android:id="@+id/console_prompt"
+ android:layout_height="wrap_content"
+ android:layout_width="fill_parent"
+ android:textAppearance="?android:attr/textAppearanceMedium"
+ />
+
+ <Button
+ android:id="@+id/console_prompt_no"
+ android:text="@string/button_no"
+ android:paddingTop="5dip"
+ android:paddingBottom="10dip"
+ android:paddingLeft="40dip"
+ android:paddingRight="40dip"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_alignParentEnd="true"
+ android:layout_alignParentRight="true"
+ android:layout_below="@+id/console_prompt"
+ android:clickable="false"
+ />
+
+ <Button
+ android:id="@+id/console_prompt_yes"
+ android:text="@string/button_yes"
+ android:paddingTop="5dip"
+ android:paddingBottom="10dip"
+ android:paddingLeft="40dip"
+ android:paddingRight="40dip"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_toLeftOf="@+id/console_prompt_no"
+ android:layout_below="@+id/console_prompt"
+ />
+
+ </RelativeLayout>
+
+ <LinearLayout
+ android:id="@+id/keyboard_group"
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:layout_alignParentBottom="true"
+ android:background="#55000000"
+ android:padding="0dip"
+ android:visibility="gone">
+
+ <Button
+ android:id="@+id/button_ctrl"
+ android:layout_width="0px"
+ android:layout_weight="1"
+ android:layout_height="30dip"
+ android:layout_margin="0dp"
+ android:background="#55f0f0f0"
+ android:contentDescription="@string/image_description_toggle_control_character"
+ android:padding="0dp"
+ android:text="@string/button_key_ctrl"
+ android:textSize="10dip"
+ />
+
+ <View
+ android:layout_width="1dp"
+ android:layout_height="match_parent"
+ android:background="#90000000"
+ />
+
+ <Button
+ android:id="@+id/button_esc"
+ android:layout_width="0px"
+ android:layout_weight="1"
+ android:layout_height="30dip"
+ android:layout_margin="0dp"
+ android:background="#55f0f0f0"
+ android:contentDescription="@string/image_description_send_escape_character"
+ android:padding="0dp"
+ android:text="@string/button_key_esc"
+ android:textSize="10dip"
+ />
+
+ <View
+ android:layout_width="1dp"
+ android:layout_height="match_parent"
+ android:background="#90000000"
+ />
+
+ <Button
+ android:id="@+id/button_tab"
+ android:layout_width="0px"
+ android:layout_weight="1"
+ android:layout_height="30dip"
+ android:layout_margin="0dp"
+ android:background="#55f0f0f0"
+ android:contentDescription="@string/image_description_send_tab_character"
+ android:padding="0dp"
+ android:text="@string/button_key_tab"
+ android:textSize="10dip"
+ />
+
+ <View
+ android:layout_width="1dp"
+ android:layout_height="match_parent"
+ android:background="#90000000"
+ />
+
+ <Button
+ android:id="@+id/button_up"
+ android:layout_width="0px"
+ android:layout_weight="1"
+ android:layout_height="30dip"
+ android:layout_margin="0dp"
+ android:background="#55f0f0f0"
+ android:contentDescription="@string/image_description_up"
+ android:padding="0dp"
+ android:text="@string/button_key_up"
+ android:textSize="10dip"
+ />
+
+ <View
+ android:layout_width="1dp"
+ android:layout_height="match_parent"
+ android:background="#90000000"
+ />
+
+ <Button
+ android:id="@+id/button_down"
+ android:layout_width="0px"
+ android:layout_weight="1"
+ android:layout_height="30dip"
+ android:layout_margin="0dp"
+ android:background="#55f0f0f0"
+ android:contentDescription="@string/image_description_down"
+ android:padding="0dp"
+ android:text="@string/button_key_down"
+ android:textSize="10dip"
+ />
+
+ <View
+ android:layout_width="1dp"
+ android:layout_height="match_parent"
+ android:background="#90000000"
+ />
+
+ <Button
+ android:id="@+id/button_left"
+ android:layout_width="0px"
+ android:layout_weight="1"
+ android:layout_height="30dip"
+ android:layout_margin="0dp"
+ android:background="#55f0f0f0"
+ android:contentDescription="@string/image_description_left"
+ android:padding="0dp"
+ android:text="@string/button_key_left"
+ android:textSize="10dip"
+ />
+
+ <View
+ android:layout_width="1dp"
+ android:layout_height="match_parent"
+ android:background="#90000000"
+ />
+
+ <Button
+ android:id="@+id/button_right"
+ android:layout_width="0px"
+ android:layout_weight="1"
+ android:layout_height="30dip"
+ android:layout_margin="0dp"
+ android:background="#55f0f0f0"
+ android:contentDescription="@string/image_description_right"
+ android:padding="0dp"
+ android:text="@string/button_key_right"
+ android:textSize="10dip"
+ />
+
+ <View
+ android:layout_width="1dp"
+ android:layout_height="match_parent"
+ android:background="#90000000"
+ />
+
+ <ImageView
+ android:id="@+id/button_keyboard"
+ android:layout_width="0px"
+ android:layout_weight="1"
+ android:layout_height="30dip"
+ android:layout_margin="0dp"
+ android:contentDescription="@string/image_description_show_keyboard"
+ android:padding="0dp"
+ android:src="@drawable/button_keyboard"
+ android:background="#55f0f0f0"
+ android:textSize="10dip"
+ />
+
+ </LinearLayout>
+
+</RelativeLayout>
diff --git a/app/src/main/res/layout/act_console.xml b/app/src/main/res/layout/act_console.xml
index a2a8327..5cdd7d1 100644
--- a/app/src/main/res/layout/act_console.xml
+++ b/app/src/main/res/layout/act_console.xml
@@ -25,34 +25,18 @@
android:layout_height="fill_parent"
android:background="#ff000000">
- <android.support.v7.widget.Toolbar
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:id="@+id/toolbar"
- android:theme="@style/Theme.AppCompat.Light.DarkActionBar"/>
-
- <android.support.design.widget.TabLayout
- android:id="@+id/tabs"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:textAppearance="?android:attr/textAppearanceMedium"
- app:tabIndicatorColor="@android:color/white"
- android:background="#222222"/>
-
<TextView
android:id="@android:id/empty"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:text="@string/terminal_no_hosts_connected"
android:textAppearance="?android:attr/textAppearanceMedium"
- android:gravity="center"
- android:layout_below="@id/toolbar"/>
+ android:gravity="center"/>
<android.support.v4.view.ViewPager
android:id="@+id/console_flip"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
- android:layout_below="@id/toolbar"
/>
<RelativeLayout