Merge "Add more information to removed controls" into rvc-dev am: f4674d00c6 am: 5a5ed004ba
Change-Id: I307c88f91be7e127a5ed858a2445d15e7522e1d1
This commit is contained in:
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user