Merge "Guard regionSampler registering/deregistering code behind the flag." into tm-qpr-dev

This commit is contained in:
Xiaowen Lei
2022-12-07 18:05:17 +00:00
committed by Android (Google) Code Review

View File

@@ -102,22 +102,27 @@ class LockscreenSmartspaceController @Inject constructor(
private var showSensitiveContentForManagedUser = false private var showSensitiveContentForManagedUser = false
private var managedUserHandle: UserHandle? = null private var managedUserHandle: UserHandle? = null
// TODO(b/202758428): refactor so that we can test color updates via region samping, similar to
// how we test color updates when theme changes (See testThemeChangeUpdatesTextColor).
private val updateFun: UpdateColorCallback = { updateTextColorFromRegionSampler() } private val updateFun: UpdateColorCallback = { updateTextColorFromRegionSampler() }
var stateChangeListener = object : View.OnAttachStateChangeListener { var stateChangeListener = object : View.OnAttachStateChangeListener {
override fun onViewAttachedToWindow(v: View) { override fun onViewAttachedToWindow(v: View) {
smartspaceViews.add(v as SmartspaceView) smartspaceViews.add(v as SmartspaceView)
var regionSampler = RegionSampler( if (regionSamplingEnabled) {
v, var regionSampler = RegionSampler(
uiExecutor, v,
bgExecutor, uiExecutor,
regionSamplingEnabled, bgExecutor,
updateFun regionSamplingEnabled,
) updateFun
initializeTextColors(regionSampler) )
regionSampler.startRegionSampler() initializeTextColors(regionSampler)
regionSamplers.put(v, regionSampler) regionSampler.startRegionSampler()
regionSamplers.put(v, regionSampler)
}
connectSession() connectSession()
updateTextColorFromWallpaper() updateTextColorFromWallpaper()
@@ -127,9 +132,11 @@ class LockscreenSmartspaceController @Inject constructor(
override fun onViewDetachedFromWindow(v: View) { override fun onViewDetachedFromWindow(v: View) {
smartspaceViews.remove(v as SmartspaceView) smartspaceViews.remove(v as SmartspaceView)
var regionSampler = regionSamplers.getValue(v) if (regionSamplingEnabled) {
regionSampler.stopRegionSampler() var regionSampler = regionSamplers.getValue(v)
regionSamplers.remove(v) regionSampler.stopRegionSampler()
regionSamplers.remove(v)
}
if (smartspaceViews.isEmpty()) { if (smartspaceViews.isEmpty()) {
disconnect() disconnect()