Skip to content

Commit 6882020

Browse files
Merge branch 'GrapheneOS:main' into feature/added-release-states-display
2 parents 52b6bf9 + c63b9df commit 6882020

File tree

7 files changed

+805
-789
lines changed

7 files changed

+805
-789
lines changed

.github/workflows/build.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,9 @@ jobs:
77
runs-on: ubuntu-latest
88

99
steps:
10-
- uses: actions/checkout@v4
10+
- uses: actions/checkout@v5
1111
- name: Set up JDK 21
12-
uses: actions/setup-java@v4
12+
uses: actions/setup-java@v5
1313
with:
1414
distribution: 'temurin'
1515
java-version: 21

.github/workflows/validate-gradle-wrapper.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,5 +7,5 @@ jobs:
77
name: Validation
88
runs-on: ubuntu-latest
99
steps:
10-
- uses: actions/checkout@v4
10+
- uses: actions/checkout@v5
1111
- uses: gradle/actions/wrapper-validation@v4

app/build.gradle.kts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ if (useKeystoreProperties) {
1111
plugins {
1212
id("com.android.application")
1313
id("org.jetbrains.kotlin.android")
14-
id("org.jetbrains.kotlin.plugin.compose") version "2.2.0"
14+
id("org.jetbrains.kotlin.plugin.compose") version "2.2.10"
1515
}
1616

1717
android {
@@ -95,15 +95,15 @@ android {
9595
}
9696

9797
dependencies {
98-
implementation("androidx.core:core-ktx:1.16.0")
98+
implementation("androidx.core:core-ktx:1.17.0")
9999
implementation("androidx.activity:activity-compose:1.10.1")
100100
implementation("androidx.navigation:navigation-compose:2.9.3")
101101
implementation("androidx.datastore:datastore-preferences:1.1.7")
102-
val lifecycleVersion = "2.9.2"
102+
val lifecycleVersion = "2.9.3"
103103
implementation("androidx.lifecycle:lifecycle-runtime-ktx:$lifecycleVersion")
104104
implementation("androidx.lifecycle:lifecycle-process:$lifecycleVersion")
105105

106-
implementation(platform("androidx.compose:compose-bom:2025.07.00"))
106+
implementation(platform("androidx.compose:compose-bom:2025.08.01"))
107107
implementation("androidx.compose.ui:ui")
108108
implementation("androidx.compose.ui:ui-text")
109109
implementation("androidx.compose.ui:ui-graphics")

app/src/main/kotlin/app/grapheneos/info/InfoApp.kt

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -318,7 +318,12 @@ fun InfoApp() {
318318
top = 0.dp,
319319
end = innerPadding.calculateEndPadding(layoutDirection),
320320
bottom = innerPadding.calculateBottomPadding()
321-
)
321+
),
322+
showSnackbarError = {
323+
snackbarCoroutine.launch {
324+
snackbarHostState.showSnackbar(it)
325+
}
326+
}
322327
)
323328
}
324329
composableWithDefaultSlideTransitions(

app/src/main/kotlin/app/grapheneos/info/ui/releases/ReleasesScreen.kt

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ import kotlinx.coroutines.launch
3535
@Composable
3636
fun ReleasesScreen(
3737
modifier: Modifier = Modifier,
38+
showSnackbarError: (String) -> Unit,
3839
entries: List<Pair<String, String>>,
3940
releaseStates: List<Pair<String, String>>,
4041
updateChangelog: (useCaches: Boolean, finishedUpdating: () -> Unit) -> Unit,
@@ -48,6 +49,9 @@ fun ReleasesScreen(
4849

4950
val refreshCoroutineScope = rememberCoroutineScope()
5051

52+
val openUriIllegalArguementExceptionSnackbarError =
53+
stringResource(R.string.browser_link_illegal_argument_exception_snackbar_error)
54+
5155
DisposableEffect(lifecycleOwner) {
5256
val observer = LifecycleEventObserver { _, event ->
5357
if (event == Lifecycle.Event.ON_START) {
@@ -130,7 +134,13 @@ fun ReleasesScreen(
130134
modifier = Modifier.fillMaxWidth().padding(vertical = 16.dp),
131135
horizontalArrangement = Arrangement.Center,
132136
) {
133-
Button(onClick = { localUriHandler.openUri("https://grapheneos.org/releases") }) {
137+
Button(onClick = {
138+
try {
139+
localUriHandler.openUri("https://grapheneos.org/releases")
140+
} catch (_: IllegalArgumentException) {
141+
showSnackbarError(openUriIllegalArguementExceptionSnackbarError)
142+
}
143+
}) {
134144
Text(text = stringResource(R.string.releases_see_all_button))
135145
}
136146
}

build.gradle.kts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
plugins {
2-
id("com.android.application") version "8.12.0" apply false
3-
id("org.jetbrains.kotlin.android") version "2.2.0" apply false
2+
id("com.android.application") version "8.13.0" apply false
3+
id("org.jetbrains.kotlin.android") version "2.2.10" apply false
44
}

0 commit comments

Comments
 (0)