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

Commit 05ce5e9c authored by Alejandro Nijamkin's avatar Alejandro Nijamkin Committed by Automerger Merge Worker
Browse files

Dumpsys support for quick affordances. am: 45fdabd5 am: 67d9c9ac

parents d2e567a3 67d9c9ac
Loading
Loading
Loading
Loading
+29 −0
Original line number Diff line number Diff line
@@ -18,14 +18,17 @@
package com.android.systemui.keyguard.data.repository

import android.content.Context
import com.android.systemui.Dumpable
import com.android.systemui.R
import com.android.systemui.dagger.SysUISingleton
import com.android.systemui.dagger.qualifiers.Application
import com.android.systemui.dump.DumpManager
import com.android.systemui.keyguard.data.quickaffordance.KeyguardQuickAffordanceConfig
import com.android.systemui.keyguard.data.quickaffordance.KeyguardQuickAffordanceLegacySettingSyncer
import com.android.systemui.keyguard.data.quickaffordance.KeyguardQuickAffordanceSelectionManager
import com.android.systemui.keyguard.shared.model.KeyguardQuickAffordancePickerRepresentation
import com.android.systemui.keyguard.shared.model.KeyguardSlotPickerRepresentation
import java.io.PrintWriter
import javax.inject.Inject
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.flow.SharingStarted
@@ -43,6 +46,7 @@ constructor(
    private val selectionManager: KeyguardQuickAffordanceSelectionManager,
    legacySettingSyncer: KeyguardQuickAffordanceLegacySettingSyncer,
    private val configs: Set<@JvmSuppressWildcards KeyguardQuickAffordanceConfig>,
    dumpManager: DumpManager,
) {
    /**
     * List of [KeyguardQuickAffordanceConfig] instances of the affordances at the slot with the
@@ -87,6 +91,7 @@ constructor(

    init {
        legacySettingSyncer.startSyncing()
        dumpManager.registerDumpable("KeyguardQuickAffordances", Dumpster())
    }

    /**
@@ -158,6 +163,30 @@ constructor(
        return _slotPickerRepresentations
    }

    private inner class Dumpster : Dumpable {
        override fun dump(pw: PrintWriter, args: Array<out String>) {
            val slotPickerRepresentations = getSlotPickerRepresentations()
            val selectionsBySlotId = getSelections()
            pw.println("Slots & selections:")
            slotPickerRepresentations.forEach { slotPickerRepresentation ->
                val slotId = slotPickerRepresentation.id
                val capacity = slotPickerRepresentation.maxSelectedAffordances
                val affordanceIds = selectionsBySlotId[slotId]

                val selectionText =
                    if (!affordanceIds.isNullOrEmpty()) {
                        ": ${affordanceIds.joinToString(", ")}"
                    } else {
                        " is empty"
                    }

                pw.println("    $slotId$selectionText (capacity = $capacity)")
            }
            pw.println("Available affordances on device:")
            configs.forEach { config -> pw.println("    ${config.key} (\"${config.pickerName}\")") }
        }
    }

    companion object {
        private const val SLOT_CONFIG_DELIMITER = ":"
    }
+1 −0
Original line number Diff line number Diff line
@@ -115,6 +115,7 @@ class KeyguardQuickAffordanceProviderTest : SysuiTestCase() {
                        secureSettings = FakeSettings(),
                        selectionsManager = selectionManager,
                    ),
                dumpManager = mock(),
            )
        underTest.interactor =
            KeyguardQuickAffordanceInteractor(
+1 −0
Original line number Diff line number Diff line
@@ -91,6 +91,7 @@ class KeyguardQuickAffordanceRepositoryTest : SysuiTestCase() {
                        selectionsManager = selectionManager,
                    ),
                configs = setOf(config1, config2),
                dumpManager = mock(),
            )
    }

+1 −0
Original line number Diff line number Diff line
@@ -266,6 +266,7 @@ class KeyguardQuickAffordanceInteractorParameterizedTest : SysuiTestCase() {
                        selectionsManager = selectionManager,
                    ),
                configs = setOf(homeControls, quickAccessWallet, qrCodeScanner),
                dumpManager = mock(),
            )
        underTest =
            KeyguardQuickAffordanceInteractor(
+1 −0
Original line number Diff line number Diff line
@@ -127,6 +127,7 @@ class KeyguardQuickAffordanceInteractorTest : SysuiTestCase() {
                        selectionsManager = selectionManager,
                    ),
                configs = setOf(homeControls, quickAccessWallet, qrCodeScanner),
                dumpManager = mock(),
            )
        featureFlags =
            FakeFeatureFlags().apply {
Loading