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

Commit 72968422 authored by Caitlin Shkuratov's avatar Caitlin Shkuratov
Browse files

[CD] Log why we couldn't fetch a StatusBarIconView for a given display.

Bug: 397713944
Change-Id: I2521b6ceecf7674fa65a394c754375f6a363a44f
Flag: com.android.systemui.shared.status_bar_connected_displays
Test: compiles
parent 9456c277
Loading
Loading
Loading
Loading
+15 −3
Original line number Diff line number Diff line
@@ -16,6 +16,7 @@

package com.android.systemui.statusbar.notification.icon.ui.viewbinder

import android.util.Log
import com.android.systemui.display.domain.interactor.DisplayWindowPropertiesInteractor
import com.android.systemui.lifecycle.Activatable
import com.android.systemui.statusbar.StatusBarIconView
@@ -61,9 +62,16 @@ constructor(
        }

    override fun iconView(key: String): StatusBarIconView? {
        val entry = notifCollection.getEntry(key) ?: return null
        val displayWindowProperties =
            displayWindowPropertiesInteractor.getForStatusBar(displayId) ?: return null
        val entry = notifCollection.getEntry(key)
        if (entry == null) {
            Log.w(TAG, "No notification entry found for key: $key")
            return null
        }
        val displayWindowProperties = displayWindowPropertiesInteractor.getForStatusBar(displayId)
        if (displayWindowProperties == null) {
            Log.w(TAG, "No display properties found for display id: $displayId")
            return null
        }
        return cachedIcons.computeIfAbsent(key) {
            val context = displayWindowProperties.context
            iconManager.createSbIconView(context, entry)
@@ -93,4 +101,8 @@ constructor(
    interface Factory {
        fun create(displayId: Int): ConnectedDisplaysStatusBarNotificationIconViewStore
    }

    companion object {
        private const val TAG = "ConnectedDisplaysNotifIconViewStore"
    }
}