From 3cb2a649fc72fee682bf6c0eed9f09361bab7ab0 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Tue, 21 Jan 2025 14:35:54 +0000 Subject: [PATCH 1/8] chore(deps): update agp to v8.8.0 --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index d9ed41f..5aea00d 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,5 +1,5 @@ [versions] -agp = "8.5.2" +agp = "8.8.0" android-compileSdk = "34" android-minSdk = "24" android-targetSdk = "34" From 063ec7632f3ca9ae4583c202e7c655e4d75c8824 Mon Sep 17 00:00:00 2001 From: Ben Martin Date: Tue, 21 Jan 2025 14:37:45 +0000 Subject: [PATCH 2/8] feat: improve UI with sentiment selection, input field, and feedback submission (#17) This commit enhances the UI of the application with the following changes: - Adds sentiment selection via `FilterChip` components with leading icons and friendly names for each `Sentiment` option. - Introduces a `TextField` for user comments. - Implements feedback submission, which resets the selected sentiment and clears the comment field upon clicking the button. - Shows a snackbar to display feedback success after the button is clicked. - Improves `FilterChip` styling with `ChipDefaults` properties and uses larger font size. - Uses `Scaffold` to provide a structure for the app. Closes #4 Reviewed-on: https://git.brmartin.co.uk/bob/mobile-application/pulls/17 Co-authored-by: Ben Martin Co-committed-by: Ben Martin --- .../kotlin/uk/sky/bob/application/App.kt | 83 +++++++++++-------- 1 file changed, 50 insertions(+), 33 deletions(-) diff --git a/composeApp/src/commonMain/kotlin/uk/sky/bob/application/App.kt b/composeApp/src/commonMain/kotlin/uk/sky/bob/application/App.kt index 3a7cd69..407cdd3 100644 --- a/composeApp/src/commonMain/kotlin/uk/sky/bob/application/App.kt +++ b/composeApp/src/commonMain/kotlin/uk/sky/bob/application/App.kt @@ -8,24 +8,30 @@ import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.material.Button +import androidx.compose.material.ChipDefaults import androidx.compose.material.ExperimentalMaterialApi import androidx.compose.material.FilterChip import androidx.compose.material.Icon import androidx.compose.material.MaterialTheme +import androidx.compose.material.Scaffold import androidx.compose.material.Text import androidx.compose.material.TextField import androidx.compose.material.icons.Icons import androidx.compose.material.icons.automirrored.filled.Send +import androidx.compose.material.rememberScaffoldState import androidx.compose.runtime.Composable import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember +import androidx.compose.runtime.rememberCoroutineScope 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.text.input.TextFieldValue import androidx.compose.ui.unit.dp +import androidx.compose.ui.unit.sp +import kotlinx.coroutines.launch import org.jetbrains.compose.ui.tooling.preview.Preview @OptIn(ExperimentalMaterialApi::class) @@ -33,45 +39,56 @@ import org.jetbrains.compose.ui.tooling.preview.Preview @Preview fun App() { MaterialTheme { - Box( - modifier = Modifier.fillMaxHeight(), - contentAlignment = Alignment.Center, - ) { - Column( - Modifier.fillMaxWidth(), - horizontalAlignment = Alignment.CenterHorizontally, - ) { - Row(modifier = Modifier.padding(8.dp)) { - val state = remember { mutableStateOf(Sentiment.HAPPY) } - for (emotion in Sentiment.entries) { - FilterChip( - onClick = { state.value = emotion }, - selected = state.value == emotion, - modifier = Modifier.padding(8.dp), - leadingIcon = { Text(emotion.leadingIcon) }, - ) { - Text(emotion.friendlyName) - } - } - } + val scaffoldState = rememberScaffoldState() + val scope = rememberCoroutineScope() - Row(modifier = Modifier.padding(8.dp)) { - var text by rememberSaveable(stateSaver = TextFieldValue.Saver) { + Scaffold(scaffoldState = scaffoldState) { + Box( + modifier = Modifier.fillMaxHeight(), + contentAlignment = Alignment.Center, + ) { + Column( + Modifier.fillMaxWidth(), + horizontalAlignment = Alignment.CenterHorizontally, + ) { + val sentiment = remember { mutableStateOf(Sentiment.HAPPY) } + var comment by rememberSaveable(stateSaver = TextFieldValue.Saver) { mutableStateOf( TextFieldValue("") ) } - TextField( - value = text, - onValueChange = { text = it }, - label = { Text("Your comment") }, - modifier = Modifier.height(100.dp).fillMaxWidth().padding(8.dp), - ) - } + Row(modifier = Modifier.padding(8.dp)) { + for (emotion in Sentiment.entries) { + FilterChip( + onClick = { sentiment.value = emotion }, + selected = sentiment.value == emotion, + modifier = Modifier.padding(8.dp), + leadingIcon = { Text(emotion.leadingIcon, fontSize = 20.sp) }, + colors = ChipDefaults.outlinedFilterChipColors(), + border = ChipDefaults.outlinedBorder, + ) { + Text(emotion.friendlyName, fontSize = 20.sp) + } + } + } - Row(modifier = Modifier.padding(8.dp)) { - Button(onClick = { /* Handle submit */ }, modifier = Modifier.padding(8.dp)) { - Icon(Icons.AutoMirrored.Filled.Send, contentDescription = "Send") + Row(modifier = Modifier.padding(8.dp)) { + TextField( + value = comment, + onValueChange = { comment = it }, + label = { Text("Your comment") }, + modifier = Modifier.height(100.dp).fillMaxWidth().padding(8.dp), + ) + } + + Row(modifier = Modifier.padding(8.dp)) { + Button(onClick = { + sentiment.value = Sentiment.HAPPY + comment = TextFieldValue("") + scope.launch { scaffoldState.snackbarHostState.showSnackbar("Feedback sent") } + }, modifier = Modifier.padding(8.dp)) { + Icon(Icons.AutoMirrored.Filled.Send, contentDescription = "Send") + } } } } From ed227bf2b666d8488b4eccd236f1ac644c487d62 Mon Sep 17 00:00:00 2001 From: Ben Martin Date: Tue, 21 Jan 2025 14:49:02 +0000 Subject: [PATCH 3/8] docs: add README.md and update form submission logic (#21) This commit updates the README.md with project details, including features, technologies, installation instructions, and project structure. - It also includes a description of the app, features like free-text input, sentiment selection, submitting content to a server, and displaying a Snackbar. - It updates the form submission logic in `App.kt` to delay showing the "Feedback sent" Snackbar by 1 second. Closes #2 Reviewed-on: https://git.brmartin.co.uk/bob/mobile-application/pulls/21 Co-authored-by: Ben Martin Co-committed-by: Ben Martin --- README.md | 45 ++++++++++++++----- .../kotlin/uk/sky/bob/application/App.kt | 6 ++- 2 files changed, 40 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index 1ba257b..6a09ff1 100644 --- a/README.md +++ b/README.md @@ -1,14 +1,39 @@ -This is a Kotlin Multiplatform project targeting Android, iOS. +# Bob -- The Handy Feedback App -* `/composeApp` is for code that will be shared across your Compose Multiplatform applications. - It contains several subfolders: - - `commonMain` is for code that’s common for all targets. - - Other folders are for Kotlin code that will be compiled for only the platform indicated in the folder name. - For example, if you want to use Apple’s CoreCrypto for the iOS part of your Kotlin app, - `iosMain` would be the right folder for such calls. +This project is a simple Kotlin Multiplatform Application that allows users to enter free-text and +submit the content to a server over HTTP. It also includes a form with sentiment selection and +displays a Snackbar whenever the submit button is pressed. -* `/iosApp` contains iOS applications. Even if you’re sharing your UI with Compose Multiplatform, - you need this entry point for your iOS app. This is also where you should add SwiftUI code for your project. +## Features +- Free-text input form +- Sentiment selection using FilterChips +- Submit content to a server using Retrofit +- Display Snackbar on form submission -Learn more about [Kotlin Multiplatform](https://www.jetbrains.com/help/kotlin-multiplatform-dev/get-started.html)… \ No newline at end of file +## Technologies Used + +- Kotlin +- Jetpack Compose +- Retrofit +- Gradle + +## Getting Started + +### Installation + +1. Download the latest release from + the [releases page](https://git.brmartin.co.uk/bob/mobile-application/releases) +2. Install the application following the on-screen instructions. + +### Usage + +1. Run the application on an Android emulator or a physical device. +2. Select a sentiment using the FilterChips. +3. Enter your text in the provided text field. +4. Press the submit button to send the content to the server. + +### Project Structure + +- `composeApp/src/commonMain/kotlin/uk/sky/bob/application/App.kt`: Main Compose UI and form + submission logic. diff --git a/composeApp/src/commonMain/kotlin/uk/sky/bob/application/App.kt b/composeApp/src/commonMain/kotlin/uk/sky/bob/application/App.kt index 407cdd3..4793c10 100644 --- a/composeApp/src/commonMain/kotlin/uk/sky/bob/application/App.kt +++ b/composeApp/src/commonMain/kotlin/uk/sky/bob/application/App.kt @@ -31,6 +31,7 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.text.input.TextFieldValue import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp +import kotlinx.coroutines.delay import kotlinx.coroutines.launch import org.jetbrains.compose.ui.tooling.preview.Preview @@ -85,7 +86,10 @@ fun App() { Button(onClick = { sentiment.value = Sentiment.HAPPY comment = TextFieldValue("") - scope.launch { scaffoldState.snackbarHostState.showSnackbar("Feedback sent") } + scope.launch { + delay(1000) + scaffoldState.snackbarHostState.showSnackbar("Feedback sent") + } }, modifier = Modifier.padding(8.dp)) { Icon(Icons.AutoMirrored.Filled.Send, contentDescription = "Send") } From bd9163b2e1ec36ec36d04f729472d6e9ab783b5e Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Tue, 21 Jan 2025 14:49:48 +0000 Subject: [PATCH 4/8] chore(deps): update dependency org.jetbrains.compose to v1.7.3 (#18) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [org.jetbrains.compose](https://github.com/JetBrains/compose-jb) | plugin | patch | `1.7.0` -> `1.7.3` | --- ### Release Notes
JetBrains/compose-jb (org.jetbrains.compose) ### [`v1.7.3`](https://github.com/JetBrains/compose-jb/blob/HEAD/CHANGELOG.md#173-December-2024) *Changes since 1.7.1* #### Features ##### Desktop - [Compose plugin for IntelliJ IDEA now supports K2 mode](https://github.com/JetBrains/compose-multiplatform/pull/5138) #### Fixes ##### iOS - [Taps should be properly registered on interop views with `UIKitInteropInteractionMode.Cooperative` interaction mode](https://github.com/JetBrains/compose-multiplatform-core/pull/1731) - [Interactive pop](https://github.com/JetBrains/compose-multiplatform-core/pull/1731) (swipe to go back) on `UINavigationController` should recognize correctly #### Dependencies - Gradle Plugin `org.jetbrains.compose`, version `1.7.3`. Based on Jetpack Compose libraries: - [Runtime 1.7.6](https://developer.android.com/jetpack/androidx/releases/compose-runtime#1.7.6) - [UI 1.7.6](https://developer.android.com/jetpack/androidx/releases/compose-ui#1.7.6) - [Foundation 1.7.6](https://developer.android.com/jetpack/androidx/releases/compose-foundation#1.7.6) - [Material 1.7.6](https://developer.android.com/jetpack/androidx/releases/compose-material#1.7.6) - [Material3 1.3.1](https://developer.android.com/jetpack/androidx/releases/compose-material3#1.3.1) - Lifecycle libraries `org.jetbrains.androidx.lifecycle:lifecycle-*:2.8.4`. Based on [Jetpack Lifecycle 2.8.5](https://developer.android.com/jetpack/androidx/releases/lifecycle#2.8.5) - Navigation libraries `org.jetbrains.androidx.navigation:navigation-*:2.8.0-alpha11`. Based on [Jetpack Navigation 2.8.0](https://developer.android.com/jetpack/androidx/releases/navigation#2.8.0) - Material3 Adaptive libraries `org.jetbrains.compose.material3.adaptive:adaptive*:1.0.1`. Based on [Jetpack Material3 Adaptive 1.0.0](https://developer.android.com/jetpack/androidx/releases/compose-material3-adaptive#1.0.0) *** ### [`v1.7.1`](https://github.com/JetBrains/compose-jb/blob/HEAD/CHANGELOG.md#171-November-2024) *Changes since 1.7.0* #### Fixes ##### Multiple Platforms - [Fixed `Modifier.clickable` binary compatibility with 1.6 on non-JVM targets](https://github.com/JetBrains/compose-multiplatform-core/pull/1647) - [Fixed `Modifier.toggleable` and `Modifier.selectable` binary compatibility with 1.6 on non-JVM targets](https://github.com/JetBrains/compose-multiplatform-core/pull/1649) - [Fix issue where `DateRangePicker` doesn't show confirmation button on iOS and Desktop](https://github.com/JetBrains/compose-multiplatform-core/pull/1666) - [Fix Skia paragraph caching performance degradation](https://github.com/JetBrains/compose-multiplatform-core/pull/1676) ##### iOS - [Fling animation works correctly for fast scrolling gestures](https://github.com/JetBrains/compose-multiplatform-core/pull/1616) - [Fix HorizontalPager snapping on iOS](https://github.com/JetBrains/compose-multiplatform-core/pull/1661) - [Fixed double recomposition on the first screen](https://github.com/JetBrains/compose-multiplatform-core/pull/1668) - [Fix Accessibility Items availability inside dialogs](https://github.com/JetBrains/compose-multiplatform-core/pull/1678) - [Memory leak due to Compose view controller never GCed](https://github.com/JetBrains/compose-multiplatform-core/pull/1660) ##### Desktop - [Fix for excessive garbage generation from redrawing on Swing](https://github.com/JetBrains/compose-multiplatform-core/pull/1657) #### Dependencies - Gradle Plugin `org.jetbrains.compose`, version `1.7.1`. Based on Jetpack Compose libraries: - [Runtime 1.7.5](https://developer.android.com/jetpack/androidx/releases/compose-runtime#1.7.5) - [UI 1.7.5](https://developer.android.com/jetpack/androidx/releases/compose-ui#1.7.5) - [Foundation 1.7.5](https://developer.android.com/jetpack/androidx/releases/compose-foundation#1.7.5) - [Material 1.7.5](https://developer.android.com/jetpack/androidx/releases/compose-material#1.7.5) - [Material3 1.3.1](https://developer.android.com/jetpack/androidx/releases/compose-material3#1.3.1) - Lifecycle libraries `org.jetbrains.androidx.lifecycle:lifecycle-*:2.8.4`. Based on [Jetpack Lifecycle 2.8.5](https://developer.android.com/jetpack/androidx/releases/lifecycle#2.8.5) - Navigation libraries `org.jetbrains.androidx.navigation:navigation-*:2.8.0-alpha10`. Based on [Jetpack Navigation 2.8.0](https://developer.android.com/jetpack/androidx/releases/navigation#2.8.0) - Material3 Adaptive libraries `org.jetbrains.compose.material3.adaptive:adaptive*:1.0.1`. Based on [Jetpack Material3 Adaptive 1.0.0](https://developer.android.com/jetpack/androidx/releases/compose-material3-adaptive#1.0.0) ***
--- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). Reviewed-on: https://git.brmartin.co.uk/bob/mobile-application/pulls/18 Co-authored-by: Renovate Bot Co-committed-by: Renovate Bot --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index d9ed41f..dd76857 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -11,7 +11,7 @@ androidx-espresso-core = "3.6.1" androidx-lifecycle = "2.8.4" androidx-material = "1.12.0" androidx-test-junit = "1.2.1" -compose-multiplatform = "1.7.0" +compose-multiplatform = "1.7.3" junit = "4.13.2" kotlin = "2.1.0" From ec6fe692a3652d85e87b2eb64515f916b242c305 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Sun, 26 Jan 2025 20:49:26 +0000 Subject: [PATCH 5/8] chore(deps): update actions/setup-java action to v4 (#25) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [actions/setup-java](https://github.com/actions/setup-java) | action | major | `v3` -> `v4` | --- ### Release Notes
actions/setup-java (actions/setup-java) ### [`v4`](https://github.com/actions/setup-java/compare/v3...v4) [Compare Source](https://github.com/actions/setup-java/compare/v3...v4)
--- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). Reviewed-on: https://git.brmartin.co.uk/bob/mobile-application/pulls/25 Co-authored-by: Renovate Bot Co-committed-by: Renovate Bot --- .github/workflows/build.yaml | 2 +- .github/workflows/release.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index f5e8b61..05e048e 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -15,7 +15,7 @@ jobs: uses: actions/checkout@v2 - name: Set up JDK 17 - uses: actions/setup-java@v3 + uses: actions/setup-java@v4 with: java-version: '17' distribution: 'temurin' diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 624e7e7..d36d8b3 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -14,7 +14,7 @@ jobs: uses: actions/checkout@v2 - name: Set up JDK 17 - uses: actions/setup-java@v3 + uses: actions/setup-java@v4 with: java-version: '17' distribution: 'temurin' From de8fe102bfb5df3dd88e916f8ee21b0ac9121134 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Sun, 26 Jan 2025 20:49:40 +0000 Subject: [PATCH 6/8] chore(deps): update actions/checkout action to v4 (#24) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [actions/checkout](https://github.com/actions/checkout) | action | major | `v2` -> `v4` | --- ### Release Notes
actions/checkout (actions/checkout) ### [`v4`](https://github.com/actions/checkout/blob/HEAD/CHANGELOG.md#v422) [Compare Source](https://github.com/actions/checkout/compare/v3...v4) - `url-helper.ts` now leverages well-known environment variables by [@​jww3](https://github.com/jww3) in https://github.com/actions/checkout/pull/1941 - Expand unit test coverage for `isGhes` by [@​jww3](https://github.com/jww3) in https://github.com/actions/checkout/pull/1946 ### [`v3`](https://github.com/actions/checkout/blob/HEAD/CHANGELOG.md#v360) [Compare Source](https://github.com/actions/checkout/compare/v2...v3) - [Fix: Mark test scripts with Bash'isms to be run via Bash](https://github.com/actions/checkout/pull/1377) - [Add option to fetch tags even if fetch-depth > 0](https://github.com/actions/checkout/pull/579)
--- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). Reviewed-on: https://git.brmartin.co.uk/bob/mobile-application/pulls/24 Co-authored-by: Renovate Bot Co-committed-by: Renovate Bot --- .github/workflows/build.yaml | 2 +- .github/workflows/release.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 05e048e..75cf723 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -12,7 +12,7 @@ jobs: steps: - name: Checkout code - uses: actions/checkout@v2 + uses: actions/checkout@v4 - name: Set up JDK 17 uses: actions/setup-java@v4 diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index d36d8b3..7e7be7b 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -11,7 +11,7 @@ jobs: steps: - name: Checkout code - uses: actions/checkout@v2 + uses: actions/checkout@v4 - name: Set up JDK 17 uses: actions/setup-java@v4 From a41ee75b0351283d2ed7422f2aad3447594fc798 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Sun, 26 Jan 2025 20:55:35 +0000 Subject: [PATCH 7/8] chore(deps): update dependency gradle to v8.12.1 (#23) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This PR contains the following updates: | Package | Update | Change | |---|---|---| | [gradle](https://gradle.org) ([source](https://github.com/gradle/gradle)) | minor | `8.9` -> `8.12.1` | --- ### Release Notes
gradle/gradle (gradle) ### [`v8.12.1`](https://github.com/gradle/gradle/releases/tag/v8.12.1): 8.12.1 [Compare Source](https://github.com/gradle/gradle/compare/v8.12.0...v8.12.1) The Gradle team is excited to announce Gradle 8.12.1. [Read the Release Notes](https://docs.gradle.org/8.12.1/release-notes.html) We would like to thank the following community members for their contributions to this release of Gradle: [Abhiraj Adhikary](https://github.com/abhirajadhikary06), [Ayush Saxena](https://github.com/Ayushcode10), [Björn Kautler](https://github.com/Vampire), [davidburstrom](https://github.com/davidburstrom), [Dominic Fellbaum](https://github.com/felldo), [Emmanuel Ferdman](https://github.com/emmanuel-ferdman), [Finn Petersen](https://github.com/fp7), [Johnny Lim](https://github.com/izeye), [Mahdi Hosseinzadeh](https://github.com/mahozad), [Martin Bonnin](https://github.com/martinbonnin), [Paint_Ninja](https://github.com/PaintNinja), [Petter Måhlén](https://github.com/pettermahlen), [Philip Wedemann](https://github.com/hfhbd), [stegeto22](https://github.com/stegeto22), [Tanish](https://github.com/Taz03), [TheGoesen](https://github.com/TheGoesen), [Tim Nielens](https://github.com/tnielens), [Trout Zhang](https://github.com/TroutZhang), [Victor Merkulov](https://github.com/urdak) #### Upgrade instructions Switch your build to use Gradle 8.12.1 by updating your wrapper: ./gradlew wrapper --gradle-version=8.12.1 See the Gradle [8.x upgrade guide](https://docs.gradle.org/8.12.1/userguide/upgrading_version\_8.html) to learn about deprecations, breaking changes and other considerations when upgrading. For Java, Groovy, Kotlin and Android compatibility, see the [full compatibility notes](https://docs.gradle.org/8.12.1/userguide/compatibility.html). #### Reporting problems If you find a problem with this release, please file a bug on [GitHub Issues](https://github.com/gradle/gradle/issues) adhering to our issue guidelines. If you're not sure you're encountering a bug, please use the [forum](https://discuss.gradle.org/c/help-discuss). We hope you will build happiness with Gradle, and we look forward to your feedback via [Twitter](https://twitter.com/gradle) or on [GitHub](https://github.com/gradle). ### [`v8.12`](https://github.com/gradle/gradle/releases/tag/v8.12.0): 8.12 [Compare Source](https://github.com/gradle/gradle/compare/v8.11.1...v8.12.0) The Gradle team is excited to announce Gradle 8.12. [Read the Release Notes](https://docs.gradle.org/8.12/release-notes.html) We would like to thank the following community members for their contributions to this release of Gradle: [Abhiraj Adhikary](https://github.com/abhirajadhikary06), [Ayush Saxena](https://github.com/Ayushcode10), [Björn Kautler](https://github.com/Vampire), [davidburstrom](https://github.com/davidburstrom), [Dominic Fellbaum](https://github.com/felldo), [Emmanuel Ferdman](https://github.com/emmanuel-ferdman), [Finn Petersen](https://github.com/fp7), [Johnny Lim](https://github.com/izeye), [Mahdi Hosseinzadeh](https://github.com/mahozad), [Martin Bonnin](https://github.com/martinbonnin), [Paint_Ninja](https://github.com/PaintNinja), [Petter Måhlén](https://github.com/pettermahlen), [Philip Wedemann](https://github.com/hfhbd), [stegeto22](https://github.com/stegeto22), [Tanish](https://github.com/Taz03), [TheGoesen](https://github.com/TheGoesen), [Tim Nielens](https://github.com/tnielens), [Trout Zhang](https://github.com/TroutZhang), [Victor Merkulov](https://github.com/urdak) #### Upgrade instructions Switch your build to use Gradle 8.12 by updating your wrapper: ./gradlew wrapper --gradle-version=8.12 See the Gradle [8.x upgrade guide](https://docs.gradle.org/8.12/userguide/upgrading_version\_8.html) to learn about deprecations, breaking changes and other considerations when upgrading. For Java, Groovy, Kotlin and Android compatibility, see the [full compatibility notes](https://docs.gradle.org/8.12/userguide/compatibility.html). #### Reporting problems If you find a problem with this release, please file a bug on [GitHub Issues](https://github.com/gradle/gradle/issues) adhering to our issue guidelines. If you're not sure you're encountering a bug, please use the [forum](https://discuss.gradle.org/c/help-discuss). We hope you will build happiness with Gradle, and we look forward to your feedback via [Twitter](https://twitter.com/gradle) or on [GitHub](https://github.com/gradle). ### [`v8.11.1`](https://github.com/gradle/gradle/releases/tag/v8.11.1): 8.11.1 [Compare Source](https://github.com/gradle/gradle/compare/v8.11.0...v8.11.1) This is a patch release for Gradle 8.11. We recommend users upgrade to 8.11.1 instead of 8.11. It fixes the following issues: - [#​31268](https://github.com/gradle/gradle/issues/31268) BuildEventsListenerRegistry corrupted with Isolated Projects and parallel configuration - [#​31282](https://github.com/gradle/gradle/issues/31282) Running executables sporadically fails with ETXTBSY (Text file busy) - [#​31284](https://github.com/gradle/gradle/issues/31284) ArrayIndexOutOfBoundsException after upgrading to gradle 8.11 when generating problems report - [#​31310](https://github.com/gradle/gradle/issues/31310) Unable to run Gradle task in 8.10 due to bytecode interception [Read the Release Notes](https://docs.gradle.org/8.11.1/release-notes.html) #### Upgrade instructions Switch your build to use Gradle 8.11.1 by updating your wrapper: ./gradlew wrapper --gradle-version=8.11.1 See the Gradle [8.x upgrade guide](https://docs.gradle.org/8.11.1/userguide/upgrading_version\_8.html) to learn about deprecations, breaking changes and other considerations when upgrading. For Java, Groovy, Kotlin and Android compatibility, see the [full compatibility notes](https://docs.gradle.org/8.11.1/userguide/compatibility.html). #### Reporting problems If you find a problem with this release, please file a bug on [GitHub Issues](https://github.com/gradle/gradle/issues) adhering to our issue guidelines. If you're not sure you're encountering a bug, please use the [forum](https://discuss.gradle.org/c/help-discuss). We hope you will build happiness with Gradle, and we look forward to your feedback via [Twitter](https://twitter.com/gradle) or on [GitHub](https://github.com/gradle). ### [`v8.11`](https://github.com/gradle/gradle/releases/tag/v8.11.0): 8.11 [Compare Source](https://github.com/gradle/gradle/compare/v8.10.2...v8.11.0) The Gradle team is excited to announce Gradle 8.11. [Read the Release Notes](https://docs.gradle.org/8.11/release-notes.html) We would like to thank the following community members for their contributions to this release of Gradle: [Adam](https://github.com/adam-enko), [alyssoncs](https://github.com/alyssoncs), [Bilel MEDIMEGH](https://github.com/LelouBil), [Björn Kautler](https://github.com/Vampire), [Chuck Thomas](https://github.com/chuckthemole), [Daniel Lacasse](https://github.com/lacasseio), [Finn Petersen](https://github.com/fp7), [JK](https://github.com/jknair0), [Jérémie Bresson](https://github.com/jmini), [luozexuan](https://github.com/luozexuan), [Mahdi Hosseinzadeh](https://github.com/mahozad), [Markus Gaisbauer](https://github.com/quijote), [Matthew Haughton](https://github.com/3flex), [Matthew Von-Maszewski](https://github.com/matthewvon), [ploober](https://github.com/ploober), [Siarhei](https://github.com/madhead), [Titus James](https://github.com/tj330), [vrp0211](https://github.com/vrp0211) #### Upgrade instructions Switch your build to use Gradle 8.11 by updating your wrapper: ./gradlew wrapper --gradle-version=8.11 See the Gradle [8.x upgrade guide](https://docs.gradle.org/8.11/userguide/upgrading_version\_8.html) to learn about deprecations, breaking changes and other considerations when upgrading. For Java, Groovy, Kotlin and Android compatibility, see the [full compatibility notes](https://docs.gradle.org/8.11/userguide/compatibility.html). #### Reporting problems If you find a problem with this release, please file a bug on [GitHub Issues](https://github.com/gradle/gradle/issues) adhering to our issue guidelines. If you're not sure you're encountering a bug, please use the [forum](https://discuss.gradle.org/c/help-discuss). We hope you will build happiness with Gradle, and we look forward to your feedback via [Twitter](https://twitter.com/gradle) or on [GitHub](https://github.com/gradle). ### [`v8.10.2`](https://github.com/gradle/gradle/releases/tag/v8.10.2): 8.10.2 [Compare Source](https://github.com/gradle/gradle/compare/v8.10.1...v8.10.2) This is a patch release for 8.10. We recommend using 8.10.2 instead of 8.10 It fixes the following issues: - [#​30472](https://github.com/gradle/gradle/issues/30472) Investigate possibly broken 8.10.1 - [#​30477](https://github.com/gradle/gradle/issues/30477) Kotlin Mutliplatform build with reused daemon fails with "Cannot query the value of task ':compileKotlinWindows' property 'kotlinNativeBundleBuildService' because it has no value available." - [#​30497](https://github.com/gradle/gradle/issues/30497) DefaultTaskCollection#configureEach(Action) on task set cannot be executed in the current context Issues fixed in the first patch release: - [#​30239](https://github.com/gradle/gradle/issues/30239) Gradle 8.10 Significantly Slower Due to Dependency Resolution - [#​30272](https://github.com/gradle/gradle/issues/30272) Broken equals() contract for LifecycleAwareProject - [#​30385](https://github.com/gradle/gradle/issues/30385) Gradle should not validate isolated projects when isolated projects is disabled [Read the Release Notes](https://docs.gradle.org/8.10.2/release-notes.html) #### Upgrade instructions Switch your build to use Gradle 8.10.2 by updating your wrapper: ./gradlew wrapper --gradle-version=8.10.2 See the Gradle [8.x upgrade guide](https://docs.gradle.org/8.10.2/userguide/upgrading_version\_8.html) to learn about deprecations, breaking changes and other considerations when upgrading. For Java, Groovy, Kotlin and Android compatibility, see the [full compatibility notes](https://docs.gradle.org/8.10.2/userguide/compatibility.html). #### Reporting problems If you find a problem with this release, please file a bug on [GitHub Issues](https://github.com/gradle/gradle/issues) adhering to our issue guidelines. If you're not sure you're encountering a bug, please use the [forum](https://discuss.gradle.org/c/help-discuss). We hope you will build happiness with Gradle, and we look forward to your feedback via [Twitter](https://twitter.com/gradle) or on [GitHub](https://github.com/gradle). ### [`v8.10.1`](https://github.com/gradle/gradle/releases/tag/v8.10.1): 8.10.1 [Compare Source](https://github.com/gradle/gradle/compare/v8.10.0...v8.10.1) This is a patch release for 8.10. We recommend using 8.10.1 instead of 8.10 It fixes the following issues: - [#​30239](https://github.com/gradle/gradle/issues/30239) Gradle 8.10 Significantly Slower Due to Dependency Resolution - [#​30272](https://github.com/gradle/gradle/issues/30272) Broken equals() contract for LifecycleAwareProject - [#​30385](https://github.com/gradle/gradle/issues/30385) Gradle should not validate isolated projects when isolated projects is disabled [Read the Release Notes](https://docs.gradle.org/8.10.1/release-notes.html) #### Upgrade instructions Switch your build to use Gradle 8.10.1 by updating your wrapper: ./gradlew wrapper --gradle-version=8.10.1 See the Gradle [8.x upgrade guide](https://docs.gradle.org/8.10.1/userguide/upgrading_version\_8.html) to learn about deprecations, breaking changes and other considerations when upgrading. For Java, Groovy, Kotlin and Android compatibility, see the [full compatibility notes](https://docs.gradle.org/8.10.1/userguide/compatibility.html). #### Reporting problems If you find a problem with this release, please file a bug on [GitHub Issues](https://github.com/gradle/gradle/issues) adhering to our issue guidelines. If you're not sure you're encountering a bug, please use the [forum](https://discuss.gradle.org/c/help-discuss). We hope you will build happiness with Gradle, and we look forward to your feedback via [Twitter](https://twitter.com/gradle) or on [GitHub](https://github.com/gradle). ### [`v8.10`](https://github.com/gradle/gradle/releases/tag/v8.10.0): 8.10 [Compare Source](https://github.com/gradle/gradle/compare/v8.9.0...v8.10.0) The Gradle team is excited to announce Gradle 8.10. [Read the Release Notes](https://docs.gradle.org/8.10/release-notes.html) We would like to thank the following community members for their contributions to this release of Gradle: [Björn Kautler](https://github.com/Vampire), [Craig Andrews](https://github.com/candrews), [gotovsky](https://github.com/SergeyGotovskiy), [Jeff](https://github.com/mathjeff), [Kirill Gavrilov](https://github.com/gavvvr), [Madalin Valceleanu](https://github.com/vmadalin), [Sergei Vorobev](https://github.com/HackerMadCat), [Thach Le](https://github.com/thachlp), [Thad Guidry](https://github.com/thadguidry) #### Upgrade instructions Switch your build to use Gradle 8.10 by updating your wrapper: ./gradlew wrapper --gradle-version=8.10 See the Gradle [8.x upgrade guide](https://docs.gradle.org/8.10/userguide/upgrading_version\_8.html) to learn about deprecations, breaking changes and other considerations when upgrading. For Java, Groovy, Kotlin and Android compatibility, see the [full compatibility notes](https://docs.gradle.org/8.10/userguide/compatibility.html). #### Reporting problems If you find a problem with this release, please file a bug on [GitHub Issues](https://github.com/gradle/gradle/issues) adhering to our issue guidelines. If you're not sure you're encountering a bug, please use the [forum](https://discuss.gradle.org/c/help-discuss). We hope you will build happiness with Gradle, and we look forward to your feedback via [Twitter](https://twitter.com/gradle) or on [GitHub](https://github.com/gradle).
--- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). Reviewed-on: https://git.brmartin.co.uk/bob/mobile-application/pulls/23 Co-authored-by: Renovate Bot Co-committed-by: Renovate Bot --- gradle/wrapper/gradle-wrapper.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 09523c0..e18bc25 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.9-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.12.1-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME From 706848b2409f4e0e537480cdc906cfaf5d1b8b7e Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Tue, 21 Jan 2025 14:35:54 +0000 Subject: [PATCH 8/8] chore(deps): update agp to v8.8.0 --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index dd76857..b3b87db 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,5 +1,5 @@ [versions] -agp = "8.5.2" +agp = "8.8.0" android-compileSdk = "34" android-minSdk = "24" android-targetSdk = "34"