Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f2f92cd2 authored by Grace Han's avatar Grace Han Committed by Android (Google) Code Review
Browse files

Merge "Fix Region Sampling Bounds" into tm-qpr-dev

parents cc9f87d9 b713bb69
Loading
Loading
Loading
Loading
+15 −3
Original line number Diff line number Diff line
@@ -35,6 +35,7 @@ open class RegionSamplingInstance(
) {
    private var isDark = RegionDarkness.DEFAULT
    private var samplingBounds = Rect()
    private val tmpScreenLocation = IntArray(2)
    @VisibleForTesting var regionSampler: RegionSamplingHelper? = null

    /**
@@ -99,10 +100,21 @@ open class RegionSamplingInstance(
                            isDark = convertToClockDarkness(isRegionDark)
                            updateFun.updateColors()
                        }

                        /**
                        * The method getLocationOnScreen is used to obtain the view coordinates
                        * relative to its left and top edges on the device screen.
                        * Directly accessing the X and Y coordinates of the view returns the
                        * location relative to its parent view instead.
                        */
                        override fun getSampledRegion(sampledView: View): Rect {
                            samplingBounds = Rect(sampledView.left, sampledView.top,
                                    sampledView.right, sampledView.bottom)
                            val screenLocation = tmpScreenLocation
                            sampledView.getLocationOnScreen(screenLocation)
                            val left = screenLocation[0]
                            val top = screenLocation[1]
                            samplingBounds.left = left
                            samplingBounds.top = top
                            samplingBounds.right = left + sampledView.width
                            samplingBounds.bottom = top + sampledView.height
                            return samplingBounds
                        }