fix(android): surface expiring providers in palette

This commit is contained in:
Ayaan Zaidi
2026-06-05 16:51:10 +05:30
parent 61d121f1ca
commit d6dbcb2f4b
2 changed files with 17 additions and 4 deletions

View File

@@ -297,17 +297,16 @@ private fun CommandSectionLabel(title: String) {
}
}
/** Builds provider quick-action metadata from current gateway/catalog state. */
private fun providerCommandSubtitle(
internal fun providerCommandSubtitle(
isConnected: Boolean,
providers: List<GatewayModelProviderSummary>,
models: List<GatewayModelSummary>,
): String {
if (!isConnected) return "Connect Gateway to load models"
val readyProviderCount = readyModelProviderCount(providers, models)
if (readyProviderCount > 0) return "$readyProviderCount providers ready"
val expiringProviderCount = expiringModelProviderCount(providers)
if (expiringProviderCount > 0) return "$expiringProviderCount providers expiring"
val readyProviderCount = readyModelProviderCount(providers, models)
if (readyProviderCount > 0) return "$readyProviderCount providers ready"
if (models.isNotEmpty()) return "${models.size} models available"
return "Configure model access"
}

View File

@@ -88,6 +88,20 @@ class ProviderModelStatusTest {
assertFalse(modelProviderReady("expiring"))
}
@Test
fun providerCommandSubtitleSurfacesExpiringBeforeReadyModels() {
val providers =
listOf(
GatewayModelProviderSummary(id = "openai", displayName = "OpenAI", status = "expiring", profileCount = 1),
)
val models =
listOf(
model(provider = "openai", available = true),
)
assertEquals("1 providers expiring", providerCommandSubtitle(isConnected = true, providers = providers, models = models))
}
@Test
fun readyModelProviderCountDoesNotTreatUnavailableModelsAsReadyWhenAuthProviderNeedsSetup() {
val providers =