Loading packages/SystemUI/shared/src/com/android/systemui/shared/regionsampling/RegionSampler.kt +16 −0 Original line number Diff line number Diff line Loading @@ -91,6 +91,22 @@ constructor( val sampledRegion = calculateSampledRegion(sampledView) val regions = ArrayList<RectF>() val sampledRegionWithOffset = convertBounds(sampledRegion) if ( sampledRegionWithOffset.left < 0.0 || sampledRegionWithOffset.right > 1.0 || sampledRegionWithOffset.top < 0.0 || sampledRegionWithOffset.bottom > 1.0 ) { android.util.Log.e( "RegionSampler", "view out of bounds: $sampledRegion | " + "screen width: ${displaySize.x}, screen height: ${displaySize.y}", Exception() ) return } regions.add(sampledRegionWithOffset) wallpaperManager?.removeOnColorsChangedListener(this) Loading packages/SystemUI/src/com/android/keyguard/ClockEventController.kt +9 −29 Original line number Diff line number Diff line Loading @@ -21,6 +21,7 @@ import android.content.Context import android.content.Intent import android.content.IntentFilter import android.content.res.Resources import android.graphics.Rect import android.text.format.DateFormat import android.util.TypedValue import android.view.View Loading Loading @@ -119,10 +120,6 @@ constructor( private val mLayoutChangedListener = object : View.OnLayoutChangeListener { private var currentSmallClockView: View? = null private var currentLargeClockView: View? = null private var currentSmallClockLocation = IntArray(2) private var currentLargeClockLocation = IntArray(2) override fun onLayoutChange( view: View?, Loading @@ -135,6 +132,8 @@ constructor( oldRight: Int, oldBottom: Int ) { view?.removeOnLayoutChangeListener(this) val parent = (view?.parent) as FrameLayout // don't pass in negative bounds when clocks are in transition state Loading @@ -142,34 +141,15 @@ constructor( return } // SMALL CLOCK if (parent.id == R.id.lockscreen_clock_view) { // view bounds have changed due to clock size changing (i.e. different character // widths) // AND/OR the view has been translated when transitioning between small and // large clock if ( view != currentSmallClockView || !view.locationOnScreen.contentEquals(currentSmallClockLocation) ) { currentSmallClockView = view currentSmallClockLocation = view.locationOnScreen updateRegionSampler(view) } } // LARGE CLOCK else if (parent.id == R.id.lockscreen_clock_view_large) { if ( view != currentLargeClockView || !view.locationOnScreen.contentEquals(currentLargeClockLocation) ) { currentLargeClockView = view currentLargeClockLocation = view.locationOnScreen val currentViewRect = Rect(left, top, right, bottom) val oldViewRect = Rect(oldLeft, oldTop, oldRight, oldBottom) if (currentViewRect.width() != oldViewRect.width() || currentViewRect.height() != oldViewRect.height()) { updateRegionSampler(view) } } } } private fun updateColors() { val wallpaperManager = WallpaperManager.getInstance(context) Loading packages/SystemUI/src/com/android/systemui/statusbar/lockscreen/LockscreenSmartspaceController.kt +4 −2 Original line number Diff line number Diff line Loading @@ -500,10 +500,12 @@ constructor( private fun updateTextColorFromRegionSampler() { smartspaceViews.forEach { val textColor = regionSamplers.getValue(it).currentForegroundColor() val textColor = regionSamplers.get(it)?.currentForegroundColor() if (textColor != null) { it.setPrimaryTextColor(textColor) } } } private fun updateTextColorFromWallpaper() { val wallpaperManager = WallpaperManager.getInstance(context) Loading Loading
packages/SystemUI/shared/src/com/android/systemui/shared/regionsampling/RegionSampler.kt +16 −0 Original line number Diff line number Diff line Loading @@ -91,6 +91,22 @@ constructor( val sampledRegion = calculateSampledRegion(sampledView) val regions = ArrayList<RectF>() val sampledRegionWithOffset = convertBounds(sampledRegion) if ( sampledRegionWithOffset.left < 0.0 || sampledRegionWithOffset.right > 1.0 || sampledRegionWithOffset.top < 0.0 || sampledRegionWithOffset.bottom > 1.0 ) { android.util.Log.e( "RegionSampler", "view out of bounds: $sampledRegion | " + "screen width: ${displaySize.x}, screen height: ${displaySize.y}", Exception() ) return } regions.add(sampledRegionWithOffset) wallpaperManager?.removeOnColorsChangedListener(this) Loading
packages/SystemUI/src/com/android/keyguard/ClockEventController.kt +9 −29 Original line number Diff line number Diff line Loading @@ -21,6 +21,7 @@ import android.content.Context import android.content.Intent import android.content.IntentFilter import android.content.res.Resources import android.graphics.Rect import android.text.format.DateFormat import android.util.TypedValue import android.view.View Loading Loading @@ -119,10 +120,6 @@ constructor( private val mLayoutChangedListener = object : View.OnLayoutChangeListener { private var currentSmallClockView: View? = null private var currentLargeClockView: View? = null private var currentSmallClockLocation = IntArray(2) private var currentLargeClockLocation = IntArray(2) override fun onLayoutChange( view: View?, Loading @@ -135,6 +132,8 @@ constructor( oldRight: Int, oldBottom: Int ) { view?.removeOnLayoutChangeListener(this) val parent = (view?.parent) as FrameLayout // don't pass in negative bounds when clocks are in transition state Loading @@ -142,34 +141,15 @@ constructor( return } // SMALL CLOCK if (parent.id == R.id.lockscreen_clock_view) { // view bounds have changed due to clock size changing (i.e. different character // widths) // AND/OR the view has been translated when transitioning between small and // large clock if ( view != currentSmallClockView || !view.locationOnScreen.contentEquals(currentSmallClockLocation) ) { currentSmallClockView = view currentSmallClockLocation = view.locationOnScreen updateRegionSampler(view) } } // LARGE CLOCK else if (parent.id == R.id.lockscreen_clock_view_large) { if ( view != currentLargeClockView || !view.locationOnScreen.contentEquals(currentLargeClockLocation) ) { currentLargeClockView = view currentLargeClockLocation = view.locationOnScreen val currentViewRect = Rect(left, top, right, bottom) val oldViewRect = Rect(oldLeft, oldTop, oldRight, oldBottom) if (currentViewRect.width() != oldViewRect.width() || currentViewRect.height() != oldViewRect.height()) { updateRegionSampler(view) } } } } private fun updateColors() { val wallpaperManager = WallpaperManager.getInstance(context) Loading
packages/SystemUI/src/com/android/systemui/statusbar/lockscreen/LockscreenSmartspaceController.kt +4 −2 Original line number Diff line number Diff line Loading @@ -500,10 +500,12 @@ constructor( private fun updateTextColorFromRegionSampler() { smartspaceViews.forEach { val textColor = regionSamplers.getValue(it).currentForegroundColor() val textColor = regionSamplers.get(it)?.currentForegroundColor() if (textColor != null) { it.setPrimaryTextColor(textColor) } } } private fun updateTextColorFromWallpaper() { val wallpaperManager = WallpaperManager.getInstance(context) Loading