Skip to content

Commit 6304d32

Browse files
author
Alex J Lennon
committed
Fix Android CI: Kotlin 2.1, args parsing, screen imports, Material3 opt-in, heap
1 parent dd65db6 commit 6304d32

6 files changed

Lines changed: 14 additions & 3 deletions

File tree

.github/workflows/android-build.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ jobs:
4646
gradle assembleDebug --no-daemon --stacktrace
4747
env:
4848
GITHUB_TOKEN: ${{ secrets.GH_PACKAGES_READ_TOKEN || secrets.GITHUB_TOKEN }}
49+
GRADLE_OPTS: -Xmx3072m -XX:MaxMetaspaceSize=512m
4950

5051
- name: Upload APK artifact
5152
uses: actions/upload-artifact@v4

samples/CameraAccessAndroid/app/src/main/java/com/dynamicdevices/visionclaw/gemini/GeminiLiveService.kt

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -250,7 +250,12 @@ class GeminiLiveService {
250250
GeminiFunctionCall(
251251
id = c.optString("id", ""),
252252
name = c.optString("name", ""),
253-
args = c.optJSONObject("args")?.keySet()?.associateWith { c.opt(it) } ?: emptyMap()
253+
args = c.optJSONObject("args")?.let { argsObj ->
254+
val keys = mutableListOf<String>()
255+
val iter = argsObj.keys()
256+
while (iter.hasNext()) keys.add(iter.next())
257+
keys.associateWith { argsObj.opt(it) }
258+
} ?: emptyMap()
254259
)
255260
}
256261
onToolCall?.invoke(GeminiToolCall(list))

samples/CameraAccessAndroid/app/src/main/java/com/dynamicdevices/visionclaw/ui/NavGraph.kt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,9 @@ package com.dynamicdevices.visionclaw.ui
22

33
import androidx.compose.runtime.Composable
44
import androidx.navigation.NavHostController
5+
import com.dynamicdevices.visionclaw.ui.screens.HomeScreen
6+
import com.dynamicdevices.visionclaw.ui.screens.SettingsScreen
7+
import com.dynamicdevices.visionclaw.ui.screens.StreamScreen
58
import androidx.navigation.compose.NavHost
69
import androidx.navigation.compose.composable
710
import androidx.navigation.compose.rememberNavController

samples/CameraAccessAndroid/app/src/main/java/com/dynamicdevices/visionclaw/ui/screens/SettingsScreen.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,11 @@ import androidx.compose.ui.Modifier
2020
import androidx.compose.ui.text.input.KeyboardType
2121
import androidx.compose.foundation.layout.fillMaxWidth
2222
import androidx.compose.ui.unit.dp
23+
import androidx.compose.material3.ExperimentalMaterial3Api
2324
import com.dynamicdevices.visionclaw.gemini.GeminiConfig
2425
import com.dynamicdevices.visionclaw.settings.SettingsProvider
2526

27+
@OptIn(ExperimentalMaterial3Api::class)
2628
@Composable
2729
fun SettingsScreen(onBack: () -> Unit) {
2830
var apiKey by rememberSaveable { mutableStateOf(SettingsProvider.geminiApiKey) }
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
org.gradle.jvmArgs=-Xmx2048m -Dfile.encoding=UTF-8
1+
org.gradle.jvmargs=-Xmx3072m -Dfile.encoding=UTF-8
22
android.useAndroidX=true
33
kotlin.code.style=official
44
android.nonTransitiveRClass=true

samples/CameraAccessAndroid/gradle/libs.versions.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[versions]
22
agp = "8.7.2"
3-
kotlin = "1.9.22"
3+
kotlin = "2.1.0"
44
coreKtx = "1.12.0"
55
lifecycleRuntimeKtx = "2.7.0"
66
activityCompose = "1.8.2"

0 commit comments

Comments
 (0)