aboutsummaryrefslogtreecommitdiffstats
path: root/app/src/main/java/org/connectbot/TerminalView.java
diff options
context:
space:
mode:
authorRyan Hansberry <rhansby@gmail.com>2015-10-14 13:34:46 -0700
committerRyan Hansberry <rhansby@gmail.com>2015-10-14 15:47:14 -0700
commit0b1de8d696ed7abf64766fefe5700e750cd1f30e (patch)
tree5bff78c72f27e0d38217d30cecf423af81959bf3 /app/src/main/java/org/connectbot/TerminalView.java
parent1af52a1af5effa89733ddb4925832f4ba14232cd (diff)
downloadconnectbot-0b1de8d696ed7abf64766fefe5700e750cd1f30e.tar.gz
connectbot-0b1de8d696ed7abf64766fefe5700e750cd1f30e.tar.bz2
connectbot-0b1de8d696ed7abf64766fefe5700e750cd1f30e.zip
Made TerminalTextViewOverlay a child view of TerminalView.
Diffstat (limited to 'app/src/main/java/org/connectbot/TerminalView.java')
-rw-r--r--app/src/main/java/org/connectbot/TerminalView.java23
1 files changed, 14 insertions, 9 deletions
diff --git a/app/src/main/java/org/connectbot/TerminalView.java b/app/src/main/java/org/connectbot/TerminalView.java
index aec3bc5..c1e41ea 100644
--- a/app/src/main/java/org/connectbot/TerminalView.java
+++ b/app/src/main/java/org/connectbot/TerminalView.java
@@ -53,12 +53,13 @@ import android.view.KeyEvent;
import android.view.MotionEvent;
import android.view.View;
import android.view.ViewConfiguration;
-import android.view.ViewGroup.LayoutParams;
import android.view.accessibility.AccessibilityEvent;
import android.view.accessibility.AccessibilityManager;
import android.view.inputmethod.BaseInputConnection;
import android.view.inputmethod.EditorInfo;
import android.view.inputmethod.InputConnection;
+import android.widget.FrameLayout;
+import android.widget.RelativeLayout;
import android.widget.Toast;
import de.mud.terminal.VDUBuffer;
import de.mud.terminal.vt320;
@@ -70,7 +71,7 @@ import de.mud.terminal.vt320;
*
* @author jsharkey
*/
-public class TerminalView extends View implements FontSizeChangedListener {
+public class TerminalView extends FrameLayout implements FontSizeChangedListener {
private final Context context;
public final TerminalBridge bridge;
@@ -113,12 +114,13 @@ public class TerminalView extends View implements FontSizeChangedListener {
private static final String SCREENREADER_INTENT_ACTION = "android.accessibilityservice.AccessibilityService";
private static final String SCREENREADER_INTENT_CATEGORY = "android.accessibilityservice.category.FEEDBACK_SPOKEN";
- public TerminalView(Context context, TerminalBridge bridge, final TerminalTextViewOverlay terminalTextViewOverlay, TerminalViewPager pager) {
+ public TerminalView(Context context, TerminalBridge bridge, TerminalViewPager pager) {
super(context);
+ setWillNotDraw(false);
+
this.context = context;
this.bridge = bridge;
- this.terminalTextViewOverlay = terminalTextViewOverlay;
this.viewPager = pager;
setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
@@ -175,8 +177,11 @@ public class TerminalView extends View implements FontSizeChangedListener {
// connect our view up to the bridge
setOnKeyListener(bridge.getKeyHandler());
- if (terminalTextViewOverlay != null) {
- terminalTextViewOverlay.parent = this;
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
+ terminalTextViewOverlay = new TerminalTextViewOverlay(context, this);
+ terminalTextViewOverlay.setLayoutParams(
+ new RelativeLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));
+ addView(terminalTextViewOverlay, 0);
// Once terminalTextViewOverlay is active, allow it to handle key events instead.
terminalTextViewOverlay.setOnKeyListener(bridge.getKeyHandler());
@@ -253,7 +258,9 @@ public class TerminalView extends View implements FontSizeChangedListener {
}
public void copyCurrentSelectionToClipboard() {
- terminalTextViewOverlay.copyCurrentSelectionToClipboard();
+ if (terminalTextViewOverlay != null) {
+ terminalTextViewOverlay.copyCurrentSelectionToClipboard();
+ }
}
@Override
@@ -474,8 +481,6 @@ public class TerminalView extends View implements FontSizeChangedListener {
canvas.restore();
}
}
-
- super.onDraw(canvas);
}
public void notifyUser(String message) {