Merge "Provide color override path through keyguard preview renderer" into udc-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
082e2eebec
@@ -20,6 +20,8 @@ package com.android.systemui.shared.quickaffordance.shared.model
|
||||
object KeyguardPreviewConstants {
|
||||
const val MESSAGE_ID_HIDE_SMART_SPACE = 1111
|
||||
const val KEY_HIDE_SMART_SPACE = "hide_smart_space"
|
||||
const val MESSAGE_ID_COLOR_OVERRIDE = 1234
|
||||
const val KEY_COLOR_OVERRIDE = "color_override" // ColorInt Encoded as string
|
||||
const val MESSAGE_ID_SLOT_SELECTED = 1337
|
||||
const val KEY_SLOT_ID = "slot_id"
|
||||
const val KEY_INITIALLY_SELECTED_SLOT_ID = "initially_selected_slot_id"
|
||||
|
||||
@@ -17,6 +17,7 @@
|
||||
|
||||
package com.android.systemui.keyguard.ui.preview
|
||||
|
||||
import android.annotation.ColorInt
|
||||
import android.content.BroadcastReceiver
|
||||
import android.content.Context
|
||||
import android.content.Intent
|
||||
@@ -85,6 +86,7 @@ constructor(
|
||||
|
||||
private var clockView: View? = null
|
||||
private var smartSpaceView: View? = null
|
||||
private var colorOverride: Int? = null
|
||||
|
||||
private val disposables = mutableSetOf<DisposableHandle>()
|
||||
private var isDestroyed = false
|
||||
@@ -171,6 +173,14 @@ constructor(
|
||||
}
|
||||
}
|
||||
|
||||
/** Sets the clock's color to the overridden seed color. */
|
||||
fun onColorOverridden(@ColorInt color: Int?) {
|
||||
runBlocking(mainDispatcher) {
|
||||
colorOverride = color
|
||||
clockController.clock?.run { events.onSeedColorChanged(color) }
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* This sets up and shows a non-interactive smart space
|
||||
*
|
||||
@@ -288,8 +298,10 @@ constructor(
|
||||
val receiver =
|
||||
object : BroadcastReceiver() {
|
||||
override fun onReceive(context: Context?, intent: Intent?) {
|
||||
clockController.clock?.smallClock?.events?.onTimeTick()
|
||||
clockController.clock?.largeClock?.events?.onTimeTick()
|
||||
clockController.clock?.run {
|
||||
smallClock.events.onTimeTick()
|
||||
largeClock.events.onTimeTick()
|
||||
}
|
||||
}
|
||||
}
|
||||
broadcastDispatcher.registerReceiver(
|
||||
@@ -305,18 +317,18 @@ constructor(
|
||||
}
|
||||
|
||||
private fun onClockChanged(parentView: ViewGroup) {
|
||||
clockController.clock = clockRegistry.createCurrentClock()
|
||||
val clock = clockRegistry.createCurrentClock()
|
||||
clockController.clock = clock
|
||||
|
||||
colorOverride?.let { clock.events.onSeedColorChanged(it) }
|
||||
if (!shouldHideClock) {
|
||||
val largeClock = clockController.clock?.largeClock
|
||||
|
||||
largeClock
|
||||
?.events
|
||||
?.onTargetRegionChanged(KeyguardClockSwitch.getLargeClockRegion(parentView))
|
||||
clock.largeClock.events.onTargetRegionChanged(
|
||||
KeyguardClockSwitch.getLargeClockRegion(parentView)
|
||||
)
|
||||
|
||||
clockView?.let { parentView.removeView(it) }
|
||||
clockView =
|
||||
largeClock?.view?.apply {
|
||||
clock.largeClock.view.apply {
|
||||
if (shouldHighlightSelectedAffordance) {
|
||||
alpha = DIM_ALPHA
|
||||
}
|
||||
@@ -329,7 +341,7 @@ constructor(
|
||||
|
||||
// Hide smart space if the clock has weather display; otherwise show it
|
||||
val hasCustomWeatherDataDisplay =
|
||||
clockController.clock?.largeClock?.config?.hasCustomWeatherDataDisplay == true
|
||||
clock.largeClock.config.hasCustomWeatherDataDisplay == true
|
||||
hideSmartspace(hasCustomWeatherDataDisplay)
|
||||
}
|
||||
|
||||
|
||||
@@ -115,16 +115,21 @@ constructor(
|
||||
|
||||
when (message.what) {
|
||||
KeyguardPreviewConstants.MESSAGE_ID_SLOT_SELECTED -> {
|
||||
message.data
|
||||
.getString(
|
||||
KeyguardPreviewConstants.KEY_SLOT_ID,
|
||||
)
|
||||
?.let { slotId -> renderer.onSlotSelected(slotId = slotId) }
|
||||
message.data.getString(KeyguardPreviewConstants.KEY_SLOT_ID)?.let { slotId ->
|
||||
renderer.onSlotSelected(slotId = slotId)
|
||||
}
|
||||
}
|
||||
KeyguardPreviewConstants.MESSAGE_ID_HIDE_SMART_SPACE -> {
|
||||
message.data
|
||||
.getBoolean(KeyguardPreviewConstants.KEY_HIDE_SMART_SPACE)
|
||||
.let { hide -> renderer.hideSmartspace(hide) }
|
||||
renderer.hideSmartspace(
|
||||
message.data.getBoolean(KeyguardPreviewConstants.KEY_HIDE_SMART_SPACE)
|
||||
)
|
||||
}
|
||||
KeyguardPreviewConstants.MESSAGE_ID_COLOR_OVERRIDE -> {
|
||||
renderer.onColorOverridden(
|
||||
message.data
|
||||
.getString(KeyguardPreviewConstants.KEY_COLOR_OVERRIDE)
|
||||
?.toIntOrNull()
|
||||
)
|
||||
}
|
||||
else -> requestDestruction(this)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user