Guard regionSampler registering/deregistering code behind the flag.

When the flag is off, regionSampler was being created and registered, but
it actually does nothing. So guard this code behind the flag to avoid
confusion.

Note: I noticed this while debugging b/254095511. But this current CL
isn't required for the fix for the bug (ag/20597942).

Bug: 202758428
Bug: 254095511
Test: no-op. Passes existing tests.

Change-Id: I391b788debbb0e3063e72745c09b1e94b027ac83
This commit is contained in:
Xiaowen Lei
2022-11-29 16:59:05 +00:00
parent 5b7da895e2
commit 897cb19e98

View File

@@ -102,22 +102,27 @@ class LockscreenSmartspaceController @Inject constructor(
private var showSensitiveContentForManagedUser = false
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() }
var stateChangeListener = object : View.OnAttachStateChangeListener {
override fun onViewAttachedToWindow(v: View) {
smartspaceViews.add(v as SmartspaceView)
var regionSampler = RegionSampler(
v,
uiExecutor,
bgExecutor,
regionSamplingEnabled,
updateFun
)
initializeTextColors(regionSampler)
regionSampler.startRegionSampler()
regionSamplers.put(v, regionSampler)
if (regionSamplingEnabled) {
var regionSampler = RegionSampler(
v,
uiExecutor,
bgExecutor,
regionSamplingEnabled,
updateFun
)
initializeTextColors(regionSampler)
regionSampler.startRegionSampler()
regionSamplers.put(v, regionSampler)
}
connectSession()
updateTextColorFromWallpaper()
@@ -127,9 +132,11 @@ class LockscreenSmartspaceController @Inject constructor(
override fun onViewDetachedFromWindow(v: View) {
smartspaceViews.remove(v as SmartspaceView)
var regionSampler = regionSamplers.getValue(v)
regionSampler.stopRegionSampler()
regionSamplers.remove(v)
if (regionSamplingEnabled) {
var regionSampler = regionSamplers.getValue(v)
regionSampler.stopRegionSampler()
regionSamplers.remove(v)
}
if (smartspaceViews.isEmpty()) {
disconnect()