aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--app/build.gradle4
-rw-r--r--app/src/main/AndroidManifest.xml2
-rw-r--r--app/src/main/java/org/connectbot/ConsoleActivity.java20
-rw-r--r--app/src/main/res/layout/act_console.xml24
-rw-r--r--app/src/main/res/values-v11/styles.xml2
-rw-r--r--app/src/main/res/values-v14/styles.xml2
-rw-r--r--app/src/main/res/values/styles.xml2
7 files changed, 44 insertions, 12 deletions
diff --git a/app/build.gradle b/app/build.gradle
index 0913b4e..67e6c01 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -41,7 +41,7 @@ android {
defaultConfig {
applicationId "org.connectbot"
- minSdkVersion 4
+ minSdkVersion 8
targetSdkVersion 22
ndk {
@@ -64,6 +64,8 @@ android {
dependencies {
compile "com.android.support:support-v4:22.2.1"
+ compile "com.android.support:appcompat-v7:22.2.1"
+ compile "com.android.support:design:22.2.0"
}
buildTypes {
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 4bbe055..718b91e 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -21,7 +21,7 @@
android:versionCode="375"
android:installLocation="auto">
- <uses-sdk android:targetSdkVersion="22" android:minSdkVersion="4" />
+ <uses-sdk android:targetSdkVersion="22" android:minSdkVersion="8" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.VIBRATE" />
diff --git a/app/src/main/java/org/connectbot/ConsoleActivity.java b/app/src/main/java/org/connectbot/ConsoleActivity.java
index 214f878..15fd135 100644
--- a/app/src/main/java/org/connectbot/ConsoleActivity.java
+++ b/app/src/main/java/org/connectbot/ConsoleActivity.java
@@ -50,9 +50,11 @@ import android.os.Message;
import android.preference.PreferenceManager;
import android.support.annotation.Nullable;
import android.support.v4.app.ActivityCompat;
+import android.support.design.widget.TabLayout;
import android.support.v4.view.MotionEventCompat;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
+import android.support.v7.widget.Toolbar;
import android.text.ClipboardManager;
import android.util.Log;
import android.view.ContextMenu;
@@ -98,6 +100,8 @@ public class ConsoleActivity extends Activity {
private static final int KEYBOARD_DISPLAY_TIME = 1500;
protected ViewPager pager = null;
+ protected TabLayout tabs = null;
+ protected Toolbar toolbar = null;
@Nullable
protected TerminalManager bound = null;
protected TerminalPagerAdapter adapter = null;
@@ -362,6 +366,7 @@ public class ConsoleActivity extends Activity {
inflater = LayoutInflater.from(this);
+ toolbar = (Toolbar) findViewById(R.id.toolbar);
pager = (ViewPager) findViewById(R.id.console_flip);
registerForContextMenu(pager);
pager.addOnPageChangeListener(
@@ -371,6 +376,8 @@ public class ConsoleActivity extends Activity {
onTerminalChanged();
}
});
+ adapter = new TerminalPagerAdapter();
+ pager.setAdapter(adapter);
empty = (TextView) findViewById(android.R.id.empty);
@@ -464,6 +471,9 @@ public class ConsoleActivity extends Activity {
}
});
+ tabs = (TabLayout) findViewById(R.id.tabs);
+ tabs.setupWithViewPager(pager);
+
// detect fling gestures to switch between terminals
final GestureDetector detect = new GestureDetector(this, new GestureDetector.SimpleOnGestureListener() {
private float totalY = 0;
@@ -635,9 +645,6 @@ public class ConsoleActivity extends Activity {
}
});
-
- adapter = new TerminalPagerAdapter();
- pager.setAdapter(adapter);
}
/**
@@ -1226,6 +1233,13 @@ public class ConsoleActivity extends Activity {
}
@Override
+ public void notifyDataSetChanged() {
+ super.notifyDataSetChanged();
+ toolbar.setVisibility(this.getCount() > 1 ? View.VISIBLE : View.GONE);
+ tabs.setTabsFromPagerAdapter(this);
+ }
+
+ @Override
public boolean isViewFromObject(View view, Object object) {
return view == object;
}
diff --git a/app/src/main/res/layout/act_console.xml b/app/src/main/res/layout/act_console.xml
index b2c0d08..a2a8327 100644
--- a/app/src/main/res/layout/act_console.xml
+++ b/app/src/main/res/layout/act_console.xml
@@ -18,11 +18,26 @@
*/
-->
-<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+<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: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"
@@ -31,12 +46,13 @@
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
diff --git a/app/src/main/res/values-v11/styles.xml b/app/src/main/res/values-v11/styles.xml
index 9a0c22b..f831811 100644
--- a/app/src/main/res/values-v11/styles.xml
+++ b/app/src/main/res/values-v11/styles.xml
@@ -18,7 +18,7 @@
*/
-->
<resources>
- <style name="NoTitle" parent="android:Theme.Holo">
+ <style name="NoTitle" parent="ThemeOverlay.AppCompat.Dark.ActionBar">
<item name="android:windowContentOverlay">@null</item>
<item name="android:actionBarStyle">@style/SolidActionBar</item>
</style>
diff --git a/app/src/main/res/values-v14/styles.xml b/app/src/main/res/values-v14/styles.xml
index 3969010..f831811 100644
--- a/app/src/main/res/values-v14/styles.xml
+++ b/app/src/main/res/values-v14/styles.xml
@@ -18,7 +18,7 @@
*/
-->
<resources>
- <style name="NoTitle" parent="android:Theme.DeviceDefault">
+ <style name="NoTitle" parent="ThemeOverlay.AppCompat.Dark.ActionBar">
<item name="android:windowContentOverlay">@null</item>
<item name="android:actionBarStyle">@style/SolidActionBar</item>
</style>
diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml
index 22e830b..f0cd073 100644
--- a/app/src/main/res/values/styles.xml
+++ b/app/src/main/res/values/styles.xml
@@ -18,7 +18,7 @@
*/
-->
<resources>
- <style name="NoTitle" parent="android:Theme">
+ <style name="NoTitle" parent="ThemeOverlay.AppCompat.Dark.ActionBar">
<item name="android:windowNoTitle">true</item>
<item name="android:windowContentOverlay">@null</item>
</style>