From 381c4b65027c62fa87db6038fe6de5f4e46fe990 Mon Sep 17 00:00:00 2001 From: Ryan Hansberry Date: Fri, 9 Oct 2015 14:05:17 -0700 Subject: TerminalView: Move TextView logic that allows text selection into its own class, which allows scrolling selection. --- .../main/java/org/connectbot/ConsoleActivity.java | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 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 abfbee4..10ae45a 100644 --- a/app/src/main/java/org/connectbot/ConsoleActivity.java +++ b/app/src/main/java/org/connectbot/ConsoleActivity.java @@ -28,6 +28,7 @@ import org.connectbot.service.TerminalBridge; import org.connectbot.service.TerminalKeyListener; import org.connectbot.service.TerminalManager; import org.connectbot.util.PreferenceConstants; +import org.connectbot.util.TerminalTextViewOverlay; import org.connectbot.util.TerminalViewPager; import android.app.AlertDialog; @@ -1148,9 +1149,9 @@ public class ConsoleActivity extends AppCompatActivity implements BridgeDisconne * Called whenever the displayed terminal is changed. */ private void onTerminalChanged() { - View overlay = findCurrentView(R.id.terminal_overlay); - if (overlay != null) - overlay.startAnimation(fade_out_delayed); + View terminalNameOverlay = findCurrentView(R.id.terminal_name_overlay); + if (terminalNameOverlay != null) + terminalNameOverlay.startAnimation(fade_out_delayed); updateDefault(); updatePromptVisible(); ActivityCompat.invalidateOptionsMenu(ConsoleActivity.this); @@ -1203,12 +1204,16 @@ public class ConsoleActivity extends AppCompatActivity implements BridgeDisconne RelativeLayout view = (RelativeLayout) inflater.inflate( R.layout.item_terminal, container, false); - // set the terminal overlay text - TextView overlay = (TextView) view.findViewById(R.id.terminal_overlay); - overlay.setText(bridge.host.getNickname()); + // set the terminal name overlay text + TextView terminalNameOverlay = (TextView) view.findViewById(R.id.terminal_name_overlay); + terminalNameOverlay.setText(bridge.host.getNickname()); + + TerminalTextViewOverlay terminalTextViewOverlay = + (TerminalTextViewOverlay) view.findViewById(R.id.terminal_text_overlay); // and add our terminal view control, using index to place behind overlay - final TerminalView terminal = new TerminalView(container.getContext(), bridge, pager); + final TerminalView terminal = new TerminalView( + container.getContext(), bridge, terminalTextViewOverlay, pager); terminal.setId(R.id.terminal_view); view.addView(terminal, 0); @@ -1216,7 +1221,7 @@ public class ConsoleActivity extends AppCompatActivity implements BridgeDisconne view.setTag(bridge); container.addView(view); - overlay.startAnimation(fade_out_delayed); + terminalNameOverlay.startAnimation(fade_out_delayed); return view; } -- cgit v1.2.3 From fe52ba2b6b7c46c4d58c485844d85e31882af41f Mon Sep 17 00:00:00 2001 From: Ryan Hansberry Date: Tue, 13 Oct 2015 13:51:32 -0700 Subject: Fix lint error. --- app/src/main/java/org/connectbot/ConsoleActivity.java | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 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 10ae45a..711c89c 100644 --- a/app/src/main/java/org/connectbot/ConsoleActivity.java +++ b/app/src/main/java/org/connectbot/ConsoleActivity.java @@ -31,6 +31,7 @@ import org.connectbot.util.PreferenceConstants; import org.connectbot.util.TerminalTextViewOverlay; import org.connectbot.util.TerminalViewPager; +import android.annotation.TargetApi; import android.app.AlertDialog; import android.app.Dialog; import android.content.ComponentName; @@ -443,6 +444,11 @@ public class ConsoleActivity extends AppCompatActivity implements BridgeDisconne hideActionBarIfRequested(); } + @TargetApi(11) + private void requestActionBar() { + supportRequestWindowFeature(Window.FEATURE_ACTION_BAR_OVERLAY); + } + @Override public void onCreate(Bundle icicle) { super.onCreate(icicle); @@ -458,8 +464,10 @@ public class ConsoleActivity extends AppCompatActivity implements BridgeDisconne prefs = PreferenceManager.getDefaultSharedPreferences(this); titleBarHide = prefs.getBoolean(PreferenceConstants.TITLEBARHIDE, false); - if (titleBarHide) { - supportRequestWindowFeature(Window.FEATURE_ACTION_BAR_OVERLAY); + if (titleBarHide && Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) { + // This is a separate method because Gradle does not uniformly respect the conditional + // Build check. See: https://code.google.com/p/android/issues/detail?id=137195 + requestActionBar(); } this.setContentView(R.layout.act_console); -- cgit v1.2.3 From 0b1de8d696ed7abf64766fefe5700e750cd1f30e Mon Sep 17 00:00:00 2001 From: Ryan Hansberry Date: Wed, 14 Oct 2015 13:34:46 -0700 Subject: Made TerminalTextViewOverlay a child view of TerminalView. --- app/src/main/java/org/connectbot/ConsoleActivity.java | 7 +------ 1 file changed, 1 insertion(+), 6 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 711c89c..7241e0e 100644 --- a/app/src/main/java/org/connectbot/ConsoleActivity.java +++ b/app/src/main/java/org/connectbot/ConsoleActivity.java @@ -28,7 +28,6 @@ import org.connectbot.service.TerminalBridge; import org.connectbot.service.TerminalKeyListener; import org.connectbot.service.TerminalManager; import org.connectbot.util.PreferenceConstants; -import org.connectbot.util.TerminalTextViewOverlay; import org.connectbot.util.TerminalViewPager; import android.annotation.TargetApi; @@ -1216,12 +1215,8 @@ public class ConsoleActivity extends AppCompatActivity implements BridgeDisconne TextView terminalNameOverlay = (TextView) view.findViewById(R.id.terminal_name_overlay); terminalNameOverlay.setText(bridge.host.getNickname()); - TerminalTextViewOverlay terminalTextViewOverlay = - (TerminalTextViewOverlay) view.findViewById(R.id.terminal_text_overlay); - // and add our terminal view control, using index to place behind overlay - final TerminalView terminal = new TerminalView( - container.getContext(), bridge, terminalTextViewOverlay, pager); + final TerminalView terminal = new TerminalView(container.getContext(), bridge, pager); terminal.setId(R.id.terminal_view); view.addView(terminal, 0); -- cgit v1.2.3