mirror of
https://github.com/home-assistant/android
synced 2024-10-07 00:29:32 +00:00
Hide all entities when we dont have domains to show, show empty message just in case (#3767)
This commit is contained in:
parent
73bc7b01fa
commit
6a8fd5989a
|
@ -189,6 +189,8 @@ fun getDomainList(
|
|||
)
|
||||
}
|
||||
}
|
||||
listBuilder.setNoItemsMessage(carContext.getString(R.string.no_supported_entities))
|
||||
|
||||
return listBuilder
|
||||
}
|
||||
|
||||
|
|
|
@ -39,6 +39,7 @@ class DomainListScreen(
|
|||
}
|
||||
|
||||
private val domains = mutableSetOf<String>()
|
||||
private var domainsAdded = false
|
||||
|
||||
override fun onDrivingOptimizedChanged(newState: Boolean) {
|
||||
invalidate()
|
||||
|
@ -52,11 +53,11 @@ class DomainListScreen(
|
|||
.distinct()
|
||||
.filter { it in SUPPORTED_DOMAINS }
|
||||
.toSet()
|
||||
if (newDomains.size != domains.size || newDomains != domains) {
|
||||
domains.clear()
|
||||
domains.addAll(newDomains)
|
||||
invalidate()
|
||||
}
|
||||
val invalidate = newDomains.size != domains.size || newDomains != domains || !domainsAdded
|
||||
domains.clear()
|
||||
domains.addAll(newDomains)
|
||||
domainsAdded = true
|
||||
if (invalidate) invalidate()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -82,7 +83,7 @@ class DomainListScreen(
|
|||
setActionStrip(nativeModeActionStrip(carContext))
|
||||
}
|
||||
val domainBuild = domainList.build()
|
||||
if (domainBuild.items.isEmpty()) {
|
||||
if (!domainsAdded) {
|
||||
setLoading(true)
|
||||
} else {
|
||||
setLoading(false)
|
||||
|
|
|
@ -109,18 +109,20 @@ class EntityGridVehicleScreen(
|
|||
allEntities
|
||||
).build()
|
||||
)
|
||||
listBuilder.addItem(
|
||||
getDomainsGridItem(
|
||||
carContext,
|
||||
screenManager,
|
||||
serverManager,
|
||||
integrationRepository,
|
||||
serverId,
|
||||
allEntities,
|
||||
prefsRepository,
|
||||
entityRegistry
|
||||
).build()
|
||||
)
|
||||
if (domains.isNotEmpty()) {
|
||||
listBuilder.addItem(
|
||||
getDomainsGridItem(
|
||||
carContext,
|
||||
screenManager,
|
||||
serverManager,
|
||||
integrationRepository,
|
||||
serverId,
|
||||
allEntities,
|
||||
prefsRepository,
|
||||
entityRegistry
|
||||
).build()
|
||||
)
|
||||
}
|
||||
if (shouldSwitchServers) {
|
||||
listBuilder.addItem(
|
||||
getChangeServerGridItem(
|
||||
|
|
|
@ -124,7 +124,7 @@ class MainVehicleScreen(
|
|||
) { onChangeServer(it) }.getEntityGridItems(favoritesEntities)
|
||||
} else {
|
||||
var builder = ItemList.Builder()
|
||||
if (domains.isNotEmpty()) {
|
||||
if (domains.isNotEmpty() && domainsAdded) {
|
||||
builder = getDomainList(
|
||||
domains,
|
||||
carContext,
|
||||
|
|
Loading…
Reference in a new issue