From 39a9114332262e3febd8d2ea7f05c7317744019a Mon Sep 17 00:00:00 2001 From: Jeremy Klein Date: Fri, 7 Aug 2015 11:13:28 -0700 Subject: Add tabs when there's more than one terminal active. --- .../main/java/org/connectbot/ConsoleActivity.java | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) (limited to 'app/src/main/java/org/connectbot/ConsoleActivity.java') 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); } /** @@ -1225,6 +1232,13 @@ public class ConsoleActivity extends Activity { return bridges.get(position); } + @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; -- cgit v1.2.3