Skip to content

Commit 1f69cc4

Browse files
committed
Add NPU badge and Snapdragon 8 Gen 2+ requirement tag to Genie models in model picker UI
1 parent 5b46187 commit 1f69cc4

2 files changed

Lines changed: 18 additions & 1 deletion

File tree

219 KB
Loading

examples/android/RunAnywhereAI/app/src/main/java/com/runanywhere/runanywhereai/presentation/models/ModelSelectionBottomSheet.kt

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,7 @@ private data class AIModel(
7979
val size: String,
8080
val isDownloaded: Boolean,
8181
val supportsLora: Boolean = false,
82+
val isNpu: Boolean = false,
8283
)
8384

8485
/**
@@ -240,14 +241,20 @@ private fun toDeviceStatus(info: DeviceInfo): DeviceStatus =
240241
)
241242

242243
private fun toAIModel(m: ModelInfo): AIModel {
244+
val isGenie = m.framework == InferenceFramework.GENIE
243245
val formatStr = when (m.framework) {
244246
InferenceFramework.LLAMA_CPP -> "Fast"
245247
InferenceFramework.ONNX -> "ONNX"
246248
InferenceFramework.FOUNDATION_MODELS -> "Apple"
247249
InferenceFramework.SYSTEM_TTS -> "System"
250+
InferenceFramework.GENIE -> "NPU"
248251
else -> m.framework.displayName
249252
}
250-
val formatColor = if (m.framework == InferenceFramework.ONNX) AppColors.primaryPurple else AppColors.primaryAccent
253+
val formatColor = when (m.framework) {
254+
InferenceFramework.ONNX -> AppColors.primaryPurple
255+
InferenceFramework.GENIE -> AppColors.primaryBlue
256+
else -> AppColors.primaryAccent
257+
}
251258
val sizeStr = if (m.downloadSize != null && m.downloadSize!! > 0) formatBytes(m.downloadSize!!) else ""
252259
return AIModel(
253260
name = m.name,
@@ -257,6 +264,7 @@ private fun toAIModel(m: ModelInfo): AIModel {
257264
size = sizeStr,
258265
isDownloaded = m.isDownloaded || m.framework == InferenceFramework.FOUNDATION_MODELS || m.framework == InferenceFramework.SYSTEM_TTS,
259266
supportsLora = m.supportsLora,
267+
isNpu = isGenie,
260268
)
261269
}
262270

@@ -514,6 +522,15 @@ private fun ModelCard(
514522
backgroundColor = model.formatColor.copy(alpha = 0.10f),
515523
)
516524

525+
if (model.isNpu) {
526+
Spacer(modifier = Modifier.width(4.dp))
527+
Badge(
528+
text = "SD 8 Gen 2+",
529+
textColor = AppColors.primaryBlue,
530+
backgroundColor = AppColors.primaryBlue.copy(alpha = 0.10f),
531+
)
532+
}
533+
517534
if (model.supportsLora) {
518535
Spacer(modifier = Modifier.width(4.dp))
519536
Badge(

0 commit comments

Comments
 (0)