From 8898ad7c99637ad84d588a7520f65d2d89ac1567 Mon Sep 17 00:00:00 2001 From: Kenny Root Date: Sat, 10 Oct 2015 00:00:11 -0700 Subject: Move setting of hardware acceleration to view that needs it Hardware acceleration was previously disabled for the entire activity, but we only need it specifically for TerminalView. --- app/src/main/java/org/connectbot/TerminalView.java | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'app/src/main/java') diff --git a/app/src/main/java/org/connectbot/TerminalView.java b/app/src/main/java/org/connectbot/TerminalView.java index 026fac7..44b5810 100644 --- a/app/src/main/java/org/connectbot/TerminalView.java +++ b/app/src/main/java/org/connectbot/TerminalView.java @@ -57,6 +57,7 @@ import android.view.KeyEvent; import android.view.Menu; import android.view.MenuItem; import android.view.MotionEvent; +import android.view.View; import android.view.ViewConfiguration; import android.view.ViewGroup.LayoutParams; import android.view.accessibility.AccessibilityEvent; @@ -137,6 +138,14 @@ public class TerminalView extends TextView implements FontSizeChangedListener { setFocusable(true); setFocusableInTouchMode(true); + // Some things TerminalView uses is unsupported in hardware acceleration + // so this is using software rendering until we can replace all the + // instances. + // See: https://developer.android.com/guide/topics/graphics/hardware-accel.html#unsupported + if (Build.VERSION.SDK_INT >= 11) { + setLayerTypeToSoftware(); + } + paint = new Paint(); cursorPaint = new Paint(); @@ -250,6 +259,11 @@ public class TerminalView extends TextView implements FontSizeChangedListener { }); } + @TargetApi(11) + private void setLayerTypeToSoftware() { + setLayerType(View.LAYER_TYPE_SOFTWARE, null); + } + @TargetApi(11) private void closeSelectionActionMode() { if (selectionActionMode != null) { -- cgit v1.2.3