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

Commit b60c7f0c authored by Fabian Kozynski's avatar Fabian Kozynski Committed by Automerger Merge Worker
Browse files

Merge "Add more information to removed controls" into rvc-dev am: f4674d00

Change-Id: Id5079cfe0d2ebb18d09846b4e34f917fd48a1b8a
parents ae93aaf7 f4674d00
Loading
Loading
Loading
Loading
+22 −14
Original line number Diff line number Diff line
@@ -252,10 +252,17 @@ class ControlsControllerImpl @Inject constructor (
                                    it.controlId in favoritesForComponentKeys
                                )
                            }
                            val removedControls = mutableListOf<ControlStatus>()
                            Favorites.getStructuresForComponent(componentName).forEach { st ->
                                st.controls.forEach {
                                    if (it.controlId in removed) {
                                        val r = createRemovedStatus(componentName, it, st.structure)
                                        removedControls.add(r)
                                    }
                                }
                            }
                            val loadData = createLoadDataObject(
                                Favorites.getControlsForComponent(componentName)
                                    .filter { it.controlId in removed }
                                    .map { createRemovedStatus(componentName, it) } +
                                removedControls +
                                controlsWithFavorite,
                                favoritesForComponentKeys
                            )
@@ -266,17 +273,15 @@ class ControlsControllerImpl @Inject constructor (
                    override fun error(message: String) {
                        loadCanceller = null
                        executor.execute {
                            val loadData = Favorites.getControlsForComponent(componentName)
                                .let { controls ->
                                val keys = controls.map { it.controlId }
                                createLoadDataObject(
                                        controls.map {
                                            createRemovedStatus(componentName, it, false)
                                        },
                                        keys,
                                        true
                                )
                            val controls = Favorites.getStructuresForComponent(componentName)
                                    .flatMap { st ->
                                        st.controls.map {
                                            createRemovedStatus(componentName, it, st.structure,
                                                    false)
                                        }
                                    }
                            val keys = controls.map { it.control.controlId }
                            val loadData = createLoadDataObject(controls, keys, true)
                            dataCallback.accept(loadData)
                        }
                    }
@@ -372,6 +377,7 @@ class ControlsControllerImpl @Inject constructor (
    private fun createRemovedStatus(
        componentName: ComponentName,
        controlInfo: ControlInfo,
        structure: CharSequence,
        setRemoved: Boolean = true
    ): ControlStatus {
        val intent = Intent(Intent.ACTION_MAIN).apply {
@@ -384,6 +390,8 @@ class ControlsControllerImpl @Inject constructor (
                0)
        val control = Control.StatelessBuilder(controlInfo.controlId, pendingIntent)
                .setTitle(controlInfo.controlTitle)
                .setSubtitle(controlInfo.controlSubtitle)
                .setStructure(structure)
                .setDeviceType(controlInfo.deviceType)
                .build()
        return ControlStatus(control, componentName, true, setRemoved)
+2 −0
Original line number Diff line number Diff line
@@ -307,6 +307,7 @@ class ControlsControllerImplTest : SysuiTestCase() {
            assertEquals(1, controls.size)
            val controlStatus = controls[0]
            assertEquals(TEST_CONTROL_ID, controlStatus.control.controlId)
            assertEquals(TEST_STRUCTURE_INFO.structure, controlStatus.control.structure)
            assertTrue(controlStatus.favorite)
            assertTrue(controlStatus.removed)

@@ -337,6 +338,7 @@ class ControlsControllerImplTest : SysuiTestCase() {
            assertEquals(1, controls.size)
            val controlStatus = controls[0]
            assertEquals(TEST_CONTROL_ID, controlStatus.control.controlId)
            assertEquals(TEST_STRUCTURE_INFO.structure, controlStatus.control.structure)
            assertTrue(controlStatus.favorite)
            assertFalse(controlStatus.removed)