From 04e605c1b263ac4a121392002bc7b1c9eebdb25b Mon Sep 17 00:00:00 2001 From: Elias Naur Date: Mon, 15 Jun 2020 13:40:13 +0200 Subject: [PATCH] app/internal/window: [Android] implement scroll factor fallback for < API 26 Signed-off-by: Elias Naur --- app/internal/window/GioView.java | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/app/internal/window/GioView.java b/app/internal/window/GioView.java index 4dec097a..be90c50f 100644 --- a/app/internal/window/GioView.java +++ b/app/internal/window/GioView.java @@ -16,6 +16,7 @@ import android.graphics.Rect; import android.os.Build; import android.text.Editable; import android.util.AttributeSet; +import android.util.TypedValue; import android.view.Choreographer; import android.view.KeyCharacterMap; import android.view.KeyEvent; @@ -56,8 +57,19 @@ public final class GioView extends SurfaceView implements Choreographer.FrameCal Gio.init(context.getApplicationContext()); ViewConfiguration conf = ViewConfiguration.get(context); - scrollXScale = conf.getScaledHorizontalScrollFactor(); - scrollYScale = conf.getScaledVerticalScrollFactor(); + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { + scrollXScale = conf.getScaledHorizontalScrollFactor(); + scrollYScale = conf.getScaledVerticalScrollFactor(); + } else { + float listItemHeight = 48; // dp + float px = TypedValue.applyDimension( + TypedValue.COMPLEX_UNIT_DIP, + listItemHeight, + getResources().getDisplayMetrics() + ); + scrollXScale = px; + scrollYScale = px; + } nhandle = onCreateView(this); imm = (InputMethodManager)context.getSystemService(Context.INPUT_METHOD_SERVICE);