From ebd88cb00bc0691463f91b51e17f1579eddc16d6 Mon Sep 17 00:00:00 2001 From: Hyunyoung Song Date: Fri, 11 Jun 2021 15:51:04 -0700 Subject: [PATCH] Add sdk check to recyclerviewfastscroller Bug: 189982238 Test: builds Change-Id: I2298a67fd957cd2a77c8e5e4c34b828c044f1a61 --- .../launcher3/views/RecyclerViewFastScroller.java | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/com/android/launcher3/views/RecyclerViewFastScroller.java b/src/com/android/launcher3/views/RecyclerViewFastScroller.java index e607ab3f7e..f49d1b5d2a 100644 --- a/src/com/android/launcher3/views/RecyclerViewFastScroller.java +++ b/src/com/android/launcher3/views/RecyclerViewFastScroller.java @@ -28,6 +28,7 @@ import android.graphics.Paint; import android.graphics.Point; import android.graphics.Rect; import android.graphics.RectF; +import android.os.Build; import android.util.AttributeSet; import android.util.Property; import android.view.MotionEvent; @@ -37,6 +38,7 @@ import android.view.WindowInsets; import android.widget.TextView; import androidx.annotation.Nullable; +import androidx.annotation.RequiresApi; import androidx.recyclerview.widget.RecyclerView; import com.android.launcher3.BaseRecyclerView; @@ -342,16 +344,21 @@ public class RecyclerViewFastScroller extends View { // swiping very close to the thumb area (not just within it's bound) // will also prevent back gesture SYSTEM_GESTURE_EXCLUSION_RECT.get(0).offset(mThumbDrawOffset.x, mThumbDrawOffset.y); - SYSTEM_GESTURE_EXCLUSION_RECT.get(0).left = SYSTEM_GESTURE_EXCLUSION_RECT.get(0).right - - mSystemGestureInsets.right; + if (Utilities.ATLEAST_Q) { + SYSTEM_GESTURE_EXCLUSION_RECT.get(0).left = + SYSTEM_GESTURE_EXCLUSION_RECT.get(0).right - mSystemGestureInsets.right; + } setSystemGestureExclusionRects(SYSTEM_GESTURE_EXCLUSION_RECT); } canvas.restoreToCount(saveCount); } @Override + @RequiresApi(Build.VERSION_CODES.Q) public WindowInsets onApplyWindowInsets(WindowInsets insets) { - mSystemGestureInsets = insets.getSystemGestureInsets(); + if (Utilities.ATLEAST_Q) { + mSystemGestureInsets = insets.getSystemGestureInsets(); + } return super.onApplyWindowInsets(insets); }