From 36b9e33ffe942bc98eba96cc7cb6e2933318c09e Mon Sep 17 00:00:00 2001 From: Anish Kumar Date: Sat, 7 Feb 2026 14:32:15 +0530 Subject: [PATCH] Upgrade all dependencies to the latest version - Upgrade all dependencies to the latest version - Fix Unresolved reference 'icons': Use drawable for icons --- .github/workflows/build.yml | 18 ++++-------------- app/build.gradle | 8 ++++---- .../MainScreen.kt | 16 +++++++--------- .../screens/ProjectsScreen.kt | 10 +++++----- .../screens/SettingsScreen.kt | 8 +++++--- app/src/main/res/drawable/icon_delete.xml | 9 +++++++++ .../main/res/drawable/icon_projects_tab.xml | 10 ++++++++++ app/src/main/res/drawable/icon_refresh.xml | 9 +++++++++ app/src/main/res/drawable/icon_rootfs_tab.xml | 9 +++++++++ app/src/main/res/drawable/icon_settings.xml | 9 +++++++++ gradle/libs.versions.toml | 16 ++++++++-------- 11 files changed, 79 insertions(+), 43 deletions(-) create mode 100644 app/src/main/res/drawable/icon_delete.xml create mode 100644 app/src/main/res/drawable/icon_projects_tab.xml create mode 100644 app/src/main/res/drawable/icon_refresh.xml create mode 100644 app/src/main/res/drawable/icon_rootfs_tab.xml create mode 100644 app/src/main/res/drawable/icon_settings.xml diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 7a6246d..492c8f8 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -19,7 +19,7 @@ jobs: - name: Set up Android NDK uses: nttld/setup-ndk@v1 with: - ndk-version: r28b + ndk-version: r29 - name: Build proot run: | @@ -40,25 +40,15 @@ jobs: run: | echo "${{ secrets.KEYSTORE }}" | base64 -d > /tmp/release.keystore - - name: Build release APK + - name: Build release APK and AAB if: github.ref == 'refs/heads/main' env: GABE_RELEASE_KEYSTORE_FILE: /tmp/release.keystore - GABE_RELEASE_SIGNING_PASSWORD: ${{ secrets.SIGNING_PASSWORD }} + GABE_RELEASE_STORE_PASSWORD: ${{ secrets.SIGNING_PASSWORD }} GABE_RELEASE_KEY_ALIAS: ${{ secrets.KEY_ALIAS }} GABE_RELEASE_KEY_PASSWORD: ${{ secrets.SIGNING_PASSWORD }} run: | - ./gradlew assembleRelease - - - name: Build release AAB - if: github.ref == 'refs/heads/main' - env: - GABE_RELEASE_KEYSTORE_FILE: /tmp/release.keystore - GABE_RELEASE_SIGNING_PASSWORD: ${{ secrets.SIGNING_PASSWORD }} - GABE_RELEASE_KEY_ALIAS: ${{ secrets.KEY_ALIAS }} - GABE_RELEASE_KEY_PASSWORD: ${{ secrets.SIGNING_PASSWORD }} - run: | - ./gradlew bundleRelease + ./gradlew assembleRelease bundleRelease - name: Upload debug artifacts uses: actions/upload-artifact@v4 diff --git a/app/build.gradle b/app/build.gradle index e30c01e..e13bd62 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -7,8 +7,8 @@ plugins { android { namespace = 'org.godotengine.godot_gradle_build_environment' - compileSdk = 35 - ndkVersion = '28.1.13356709' + compileSdk = 36 + ndkVersion = '29.0.14206865' def keystoreFile = System.getenv("GABE_RELEASE_KEYSTORE_FILE") @@ -23,7 +23,7 @@ android { defaultConfig { applicationId = "org.godotengine.godot_gradle_build_environment" minSdk = 24 - targetSdk = 35 + targetSdk = 36 versionCode = 2 versionName = "0.2" @@ -34,7 +34,7 @@ android { signingConfigs { release { storeFile file(System.getenv("GABE_RELEASE_KEYSTORE_FILE")) - storePassword System.getenv("GABE_RELEASE_SIGNING_PASSWORD") + storePassword System.getenv("GABE_RELEASE_STORE_PASSWORD") keyAlias System.getenv("GABE_RELEASE_KEY_ALIAS") keyPassword System.getenv("GABE_RELEASE_KEY_PASSWORD") } diff --git a/app/src/main/java/org/godotengine/godot_gradle_build_environment/MainScreen.kt b/app/src/main/java/org/godotengine/godot_gradle_build_environment/MainScreen.kt index 2ca5869..3d47873 100644 --- a/app/src/main/java/org/godotengine/godot_gradle_build_environment/MainScreen.kt +++ b/app/src/main/java/org/godotengine/godot_gradle_build_environment/MainScreen.kt @@ -1,11 +1,8 @@ package org.godotengine.godot_gradle_build_environment import android.content.Context +import androidx.annotation.DrawableRes import androidx.compose.foundation.layout.padding -import androidx.compose.material.icons.Icons -import androidx.compose.material.icons.filled.Build -import androidx.compose.material.icons.filled.List -import androidx.compose.material.icons.filled.Settings import androidx.compose.material3.CenterAlignedTopAppBar import androidx.compose.material3.ExperimentalMaterial3Api import androidx.compose.material3.Icon @@ -22,6 +19,7 @@ import androidx.compose.runtime.setValue import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.vector.ImageVector import androidx.compose.ui.res.stringResource +import androidx.compose.ui.res.vectorResource import org.godotengine.godot_gradle_build_environment.screens.ProjectsScreen import org.godotengine.godot_gradle_build_environment.screens.RootfsScreen import org.godotengine.godot_gradle_build_environment.screens.SettingsScreen @@ -29,11 +27,11 @@ import java.io.File enum class AppTab( val label: String, - val icon: ImageVector + @DrawableRes val icon: Int ) { - PROJECTS("Projects", Icons.Filled.List), - ROOTFS("Rootfs", Icons.Filled.Build), - SETTINGS("Settings", Icons.Filled.Settings), + PROJECTS("Projects", R.drawable.icon_projects_tab), + ROOTFS("Rootfs", R.drawable.icon_rootfs_tab), + SETTINGS("Settings", R.drawable.icon_settings), } @OptIn(ExperimentalMaterial3Api::class) @@ -59,7 +57,7 @@ fun MainScreen( NavigationBar { AppTab.entries.forEach { tab -> NavigationBarItem( - icon = { Icon(tab.icon, contentDescription = tab.label) }, + icon = { Icon(ImageVector.vectorResource(tab.icon), contentDescription = tab.label) }, label = { Text(tab.label) }, selected = selectedTab == tab, onClick = { selectedTab = tab } diff --git a/app/src/main/java/org/godotengine/godot_gradle_build_environment/screens/ProjectsScreen.kt b/app/src/main/java/org/godotengine/godot_gradle_build_environment/screens/ProjectsScreen.kt index 1feadc4..5d15f64 100644 --- a/app/src/main/java/org/godotengine/godot_gradle_build_environment/screens/ProjectsScreen.kt +++ b/app/src/main/java/org/godotengine/godot_gradle_build_environment/screens/ProjectsScreen.kt @@ -22,9 +22,6 @@ import androidx.compose.foundation.layout.size import androidx.compose.foundation.layout.width import androidx.compose.foundation.lazy.LazyColumn import androidx.compose.foundation.lazy.items -import androidx.compose.material.icons.Icons -import androidx.compose.material.icons.filled.Delete -import androidx.compose.material.icons.filled.Refresh import androidx.compose.material3.Card import androidx.compose.material3.CardDefaults import androidx.compose.material3.CircularProgressIndicator @@ -44,7 +41,9 @@ import androidx.compose.runtime.saveable.rememberSaveable import androidx.compose.runtime.setValue import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier +import androidx.compose.ui.graphics.vector.ImageVector import androidx.compose.ui.platform.LocalContext +import androidx.compose.ui.res.vectorResource import androidx.compose.ui.unit.dp import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.withContext @@ -53,6 +52,7 @@ import org.godotengine.godot_gradle_build_environment.BuildEnvironmentService import org.godotengine.godot_gradle_build_environment.CachedProject import org.godotengine.godot_gradle_build_environment.FileUtils import org.godotengine.godot_gradle_build_environment.ProjectInfo +import org.godotengine.godot_gradle_build_environment.R @Composable fun ProjectsScreen(modifier: Modifier = Modifier) { @@ -253,7 +253,7 @@ private fun ProjectItem( } else { IconButton(onClick = onRefresh) { Icon( - imageVector = Icons.Filled.Refresh, + imageVector = ImageVector.vectorResource(R.drawable.icon_refresh), contentDescription = "Refresh size", tint = MaterialTheme.colorScheme.primary ) @@ -268,7 +268,7 @@ private fun ProjectItem( } else { IconButton(onClick = onDelete) { Icon( - imageVector = Icons.Filled.Delete, + imageVector = ImageVector.vectorResource(R.drawable.icon_delete), contentDescription = "Delete project cache", tint = MaterialTheme.colorScheme.error ) diff --git a/app/src/main/java/org/godotengine/godot_gradle_build_environment/screens/SettingsScreen.kt b/app/src/main/java/org/godotengine/godot_gradle_build_environment/screens/SettingsScreen.kt index 1a2e3ef..34284b2 100644 --- a/app/src/main/java/org/godotengine/godot_gradle_build_environment/screens/SettingsScreen.kt +++ b/app/src/main/java/org/godotengine/godot_gradle_build_environment/screens/SettingsScreen.kt @@ -19,8 +19,6 @@ import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.size import androidx.compose.foundation.layout.width -import androidx.compose.material.icons.Icons -import androidx.compose.material.icons.filled.Refresh import androidx.compose.material3.Button import androidx.compose.material3.ButtonDefaults import androidx.compose.material3.Card @@ -42,12 +40,16 @@ import androidx.compose.runtime.saveable.rememberSaveable import androidx.compose.runtime.setValue import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier +import androidx.compose.ui.graphics.vector.ImageVector +import androidx.compose.ui.res.painterResource +import androidx.compose.ui.res.vectorResource import androidx.compose.ui.unit.dp import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.withContext import org.godotengine.godot_gradle_build_environment.AppPaths import org.godotengine.godot_gradle_build_environment.BuildEnvironmentService import org.godotengine.godot_gradle_build_environment.FileUtils +import org.godotengine.godot_gradle_build_environment.R import org.godotengine.godot_gradle_build_environment.SettingsManager @Composable @@ -201,7 +203,7 @@ fun SettingsScreen( } else { IconButton(onClick = { onRefresh() }) { Icon( - imageVector = Icons.Filled.Refresh, + imageVector = ImageVector.vectorResource(R.drawable.icon_refresh), contentDescription = "Refresh cache size", tint = MaterialTheme.colorScheme.primary ) diff --git a/app/src/main/res/drawable/icon_delete.xml b/app/src/main/res/drawable/icon_delete.xml new file mode 100644 index 0000000..f538c1c --- /dev/null +++ b/app/src/main/res/drawable/icon_delete.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/icon_projects_tab.xml b/app/src/main/res/drawable/icon_projects_tab.xml new file mode 100644 index 0000000..8f6cdcd --- /dev/null +++ b/app/src/main/res/drawable/icon_projects_tab.xml @@ -0,0 +1,10 @@ + + + diff --git a/app/src/main/res/drawable/icon_refresh.xml b/app/src/main/res/drawable/icon_refresh.xml new file mode 100644 index 0000000..9e15ee1 --- /dev/null +++ b/app/src/main/res/drawable/icon_refresh.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/icon_rootfs_tab.xml b/app/src/main/res/drawable/icon_rootfs_tab.xml new file mode 100644 index 0000000..1fa4fc6 --- /dev/null +++ b/app/src/main/res/drawable/icon_rootfs_tab.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/icon_settings.xml b/app/src/main/res/drawable/icon_settings.xml new file mode 100644 index 0000000..0b0cc87 --- /dev/null +++ b/app/src/main/res/drawable/icon_settings.xml @@ -0,0 +1,9 @@ + + + diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 1255ed7..c033fe4 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,16 +1,16 @@ [versions] -agp = "8.13.0" +agp = "8.13.2" commonsCompress = "1.28.0" -kotlin = "2.0.21" -kotlinxSerialization = "1.7.3" -coreKtx = "1.13.1" +kotlin = "2.3.10" +kotlinxSerialization = "1.10.0" +coreKtx = "1.17.0" junit = "4.13.2" junitVersion = "1.3.0" espressoCore = "3.7.0" -lifecycleRuntimeKtx = "2.9.3" -activityCompose = "1.10.1" -composeBom = "2024.09.00" -xz = "1.10" +lifecycleRuntimeKtx = "2.10.0" +activityCompose = "1.12.3" +composeBom = "2026.01.01" +xz = "1.11" [libraries] androidx-core-ktx = { group = "androidx.core", name = "core-ktx", version.ref = "coreKtx" }