diff options
-rw-r--r-- | app/src/main/java/org/connectbot/ConsoleActivity.java | 9 | ||||
-rw-r--r-- | app/src/main/res/layout-large/act_console.xml | 296 | ||||
-rw-r--r-- | app/src/main/res/layout/act_console.xml | 18 |
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 |