From 8c4ecfdc74d0d4d489367b0576d4bbe91c9fb6f1 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 9 Oct 2024 11:07:44 +0100 Subject: [PATCH] Update all dependencies (#931) 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 | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---|---|---| | [actions/checkout](https://redirect.github.com/actions/checkout) | action | digest | `692973e` -> `eef6144` | | | | | | actions/download-artifact | action | digest | `fa0a91b` -> `d0ce8fd` | | | | | | [actions/setup-java](https://redirect.github.com/actions/setup-java) | action | digest | `6a0805f` -> `b36c23c` | | | | | | [actions/upload-artifact](https://redirect.github.com/actions/upload-artifact) | action | digest | `834a144` -> `604373d` | | | | | | actions/upload-artifact | action | digest | `5076954` -> `604373d` | | | | | | [gradle](https://gradle.org) ([source](https://redirect.github.com/gradle/gradle)) | | patch | `8.10` -> `8.10.2` | [![age](https://developer.mend.io/api/mc/badges/age/gradle-version/gradle/8.10.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/gradle-version/gradle/8.10.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/gradle-version/gradle/8.10/8.10.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/gradle-version/gradle/8.10/8.10.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [tj-actions/changed-files](https://redirect.github.com/tj-actions/changed-files) | action | patch | `v45.0.0` -> `v45.0.3` | [![age](https://developer.mend.io/api/mc/badges/age/github-tags/tj-actions%2fchanged-files/v45.0.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/github-tags/tj-actions%2fchanged-files/v45.0.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/github-tags/tj-actions%2fchanged-files/v45.0.0/v45.0.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/github-tags/tj-actions%2fchanged-files/v45.0.0/v45.0.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [com.squareup.okio:okio-fakefilesystem](https://redirect.github.com/square/okio) | dependencies | patch | `3.9.0` -> `3.9.1` | [![age](https://developer.mend.io/api/mc/badges/age/maven/com.squareup.okio:okio-fakefilesystem/3.9.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.squareup.okio:okio-fakefilesystem/3.9.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.squareup.okio:okio-fakefilesystem/3.9.0/3.9.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.squareup.okio:okio-fakefilesystem/3.9.0/3.9.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [com.squareup.okio:okio](https://redirect.github.com/square/okio) | dependencies | patch | `3.9.0` -> `3.9.1` | [![age](https://developer.mend.io/api/mc/badges/age/maven/com.squareup.okio:okio/3.9.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.squareup.okio:okio/3.9.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.squareup.okio:okio/3.9.0/3.9.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.squareup.okio:okio/3.9.0/3.9.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | com.squareup.wire | plugin | minor | `5.0.0` -> `5.1.0` | [![age](https://developer.mend.io/api/mc/badges/age/maven/com.squareup.wire/5.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.squareup.wire/5.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.squareup.wire/5.0.0/5.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.squareup.wire/5.0.0/5.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | com.github.gmazzo.buildconfig | plugin | minor | `5.4.0` -> `5.5.0` | [![age](https://developer.mend.io/api/mc/badges/age/maven/com.github.gmazzo.buildconfig/5.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.github.gmazzo.buildconfig/5.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.github.gmazzo.buildconfig/5.4.0/5.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.github.gmazzo.buildconfig/5.4.0/5.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [com.google.firebase:firebase-messaging](https://redirect.github.com/firebase/firebase-android-sdk) | dependencies | patch | `24.0.1` -> `24.0.2` | [![age](https://developer.mend.io/api/mc/badges/age/maven/com.google.firebase:firebase-messaging/24.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.google.firebase:firebase-messaging/24.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.google.firebase:firebase-messaging/24.0.1/24.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.google.firebase:firebase-messaging/24.0.1/24.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [io.nlopez.compose.rules:detekt](https://redirect.github.com/mrmans0n/compose-rules) | dependencies | patch | `0.4.11` -> `0.4.15` | [![age](https://developer.mend.io/api/mc/badges/age/maven/io.nlopez.compose.rules:detekt/0.4.15?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/io.nlopez.compose.rules:detekt/0.4.15?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/io.nlopez.compose.rules:detekt/0.4.11/0.4.15?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/io.nlopez.compose.rules:detekt/0.4.11/0.4.15?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | io.gitlab.arturbosch.detekt | plugin | patch | `1.23.6` -> `1.23.7` | [![age](https://developer.mend.io/api/mc/badges/age/maven/io.gitlab.arturbosch.detekt/1.23.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/io.gitlab.arturbosch.detekt/1.23.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/io.gitlab.arturbosch.detekt/1.23.6/1.23.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/io.gitlab.arturbosch.detekt/1.23.6/1.23.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [io.gitlab.arturbosch.detekt:detekt-formatting](https://detekt.dev) ([source](https://redirect.github.com/detekt/detekt)) | dependencies | patch | `1.23.6` -> `1.23.7` | [![age](https://developer.mend.io/api/mc/badges/age/maven/io.gitlab.arturbosch.detekt:detekt-formatting/1.23.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/io.gitlab.arturbosch.detekt:detekt-formatting/1.23.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/io.gitlab.arturbosch.detekt:detekt-formatting/1.23.6/1.23.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/io.gitlab.arturbosch.detekt:detekt-formatting/1.23.6/1.23.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [io.gitlab.arturbosch.detekt:detekt-gradle-plugin](https://detekt.dev) ([source](https://redirect.github.com/detekt/detekt)) | dependencies | patch | `1.23.6` -> `1.23.7` | [![age](https://developer.mend.io/api/mc/badges/age/maven/io.gitlab.arturbosch.detekt:detekt-gradle-plugin/1.23.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/io.gitlab.arturbosch.detekt:detekt-gradle-plugin/1.23.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/io.gitlab.arturbosch.detekt:detekt-gradle-plugin/1.23.6/1.23.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/io.gitlab.arturbosch.detekt:detekt-gradle-plugin/1.23.6/1.23.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [androidx.profileinstaller:profileinstaller](https://developer.android.com/jetpack/androidx/releases/profileinstaller#1.4.1) ([source](https://cs.android.com/androidx/platform/frameworks/support)) | dependencies | minor | `1.3.1` -> `1.4.1` | [![age](https://developer.mend.io/api/mc/badges/age/maven/androidx.profileinstaller:profileinstaller/1.4.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/androidx.profileinstaller:profileinstaller/1.4.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/androidx.profileinstaller:profileinstaller/1.3.1/1.4.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/androidx.profileinstaller:profileinstaller/1.3.1/1.4.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [androidx.baselineprofile](https://developer.android.com/jetpack/androidx/releases/benchmark#1.3.2) ([source](https://cs.android.com/androidx/platform/frameworks/support)) | plugin | patch | `1.3.0` -> `1.3.2` | [![age](https://developer.mend.io/api/mc/badges/age/maven/androidx.baselineprofile/1.3.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/androidx.baselineprofile/1.3.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/androidx.baselineprofile/1.3.0/1.3.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/androidx.baselineprofile/1.3.0/1.3.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [androidx.benchmark:benchmark-macro-junit4](https://developer.android.com/jetpack/androidx/releases/benchmark#1.3.2) ([source](https://cs.android.com/androidx/platform/frameworks/support)) | dependencies | patch | `1.3.0` -> `1.3.2` | [![age](https://developer.mend.io/api/mc/badges/age/maven/androidx.benchmark:benchmark-macro-junit4/1.3.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/androidx.benchmark:benchmark-macro-junit4/1.3.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/androidx.benchmark:benchmark-macro-junit4/1.3.0/1.3.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/androidx.benchmark:benchmark-macro-junit4/1.3.0/1.3.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [net.engawapg.lib:zoomable](https://redirect.github.com/usuiat/Zoomable) | dependencies | patch | `1.6.1` -> `1.6.2` | [![age](https://developer.mend.io/api/mc/badges/age/maven/net.engawapg.lib:zoomable/1.6.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/net.engawapg.lib:zoomable/1.6.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/net.engawapg.lib:zoomable/1.6.1/1.6.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/net.engawapg.lib:zoomable/1.6.1/1.6.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [ly.count.android:sdk](https://redirect.github.com/Countly/countly-sdk-android) | dependencies | patch | `24.7.2` -> `24.7.4` | [![age](https://developer.mend.io/api/mc/badges/age/maven/ly.count.android:sdk/24.7.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/ly.count.android:sdk/24.7.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/ly.count.android:sdk/24.7.2/24.7.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/ly.count.android:sdk/24.7.2/24.7.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [com.mikepenz:multiplatform-markdown-renderer](https://redirect.github.com/mikepenz/multiplatform-markdown-renderer) | dependencies | minor | `0.25.0` -> `0.26.0` | [![age](https://developer.mend.io/api/mc/badges/age/maven/com.mikepenz:multiplatform-markdown-renderer/0.26.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.mikepenz:multiplatform-markdown-renderer/0.26.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.mikepenz:multiplatform-markdown-renderer/0.25.0/0.26.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.mikepenz:multiplatform-markdown-renderer/0.25.0/0.26.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [com.airbnb.android:lottie-compose](https://redirect.github.com/airbnb/lottie-android) | dependencies | patch | `6.5.1` -> `6.5.2` | [![age](https://developer.mend.io/api/mc/badges/age/maven/com.airbnb.android:lottie-compose/6.5.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.airbnb.android:lottie-compose/6.5.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.airbnb.android:lottie-compose/6.5.1/6.5.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.airbnb.android:lottie-compose/6.5.1/6.5.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [androidx.lifecycle:lifecycle-runtime-testing](https://developer.android.com/jetpack/androidx/releases/lifecycle#2.8.6) ([source](https://cs.android.com/androidx/platform/frameworks/support)) | dependencies | patch | `2.8.4` -> `2.8.6` | [![age](https://developer.mend.io/api/mc/badges/age/maven/androidx.lifecycle:lifecycle-runtime-testing/2.8.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/androidx.lifecycle:lifecycle-runtime-testing/2.8.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/androidx.lifecycle:lifecycle-runtime-testing/2.8.4/2.8.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/androidx.lifecycle:lifecycle-runtime-testing/2.8.4/2.8.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [androidx.lifecycle:lifecycle-service](https://developer.android.com/jetpack/androidx/releases/lifecycle#2.8.6) ([source](https://cs.android.com/androidx/platform/frameworks/support)) | dependencies | patch | `2.8.4` -> `2.8.6` | [![age](https://developer.mend.io/api/mc/badges/age/maven/androidx.lifecycle:lifecycle-service/2.8.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/androidx.lifecycle:lifecycle-service/2.8.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/androidx.lifecycle:lifecycle-service/2.8.4/2.8.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/androidx.lifecycle:lifecycle-service/2.8.4/2.8.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [androidx.lifecycle:lifecycle-viewmodel-compose](https://developer.android.com/jetpack/androidx/releases/lifecycle#2.8.6) ([source](https://cs.android.com/androidx/platform/frameworks/support)) | dependencies | patch | `2.8.4` -> `2.8.6` | [![age](https://developer.mend.io/api/mc/badges/age/maven/androidx.lifecycle:lifecycle-viewmodel-compose/2.8.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/androidx.lifecycle:lifecycle-viewmodel-compose/2.8.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/androidx.lifecycle:lifecycle-viewmodel-compose/2.8.4/2.8.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/androidx.lifecycle:lifecycle-viewmodel-compose/2.8.4/2.8.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [androidx.lifecycle:lifecycle-runtime-ktx](https://developer.android.com/jetpack/androidx/releases/lifecycle#2.8.6) ([source](https://cs.android.com/androidx/platform/frameworks/support)) | dependencies | patch | `2.8.4` -> `2.8.6` | [![age](https://developer.mend.io/api/mc/badges/age/maven/androidx.lifecycle:lifecycle-runtime-ktx/2.8.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/androidx.lifecycle:lifecycle-runtime-ktx/2.8.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/androidx.lifecycle:lifecycle-runtime-ktx/2.8.4/2.8.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/androidx.lifecycle:lifecycle-runtime-ktx/2.8.4/2.8.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [androidx.lifecycle:lifecycle-viewmodel-ktx](https://developer.android.com/jetpack/androidx/releases/lifecycle#2.8.6) ([source](https://cs.android.com/androidx/platform/frameworks/support)) | dependencies | patch | `2.8.4` -> `2.8.6` | [![age](https://developer.mend.io/api/mc/badges/age/maven/androidx.lifecycle:lifecycle-viewmodel-ktx/2.8.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/androidx.lifecycle:lifecycle-viewmodel-ktx/2.8.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/androidx.lifecycle:lifecycle-viewmodel-ktx/2.8.4/2.8.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/androidx.lifecycle:lifecycle-viewmodel-ktx/2.8.4/2.8.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [androidx.activity:activity-ktx](https://developer.android.com/jetpack/androidx/releases/activity#1.9.2) ([source](https://cs.android.com/androidx/platform/frameworks/support)) | dependencies | patch | `1.9.1` -> `1.9.2` | [![age](https://developer.mend.io/api/mc/badges/age/maven/androidx.activity:activity-ktx/1.9.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/androidx.activity:activity-ktx/1.9.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/androidx.activity:activity-ktx/1.9.1/1.9.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/androidx.activity:activity-ktx/1.9.1/1.9.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [androidx.activity:activity-compose](https://developer.android.com/jetpack/androidx/releases/activity#1.9.2) ([source](https://cs.android.com/androidx/platform/frameworks/support)) | dependencies | patch | `1.9.1` -> `1.9.2` | [![age](https://developer.mend.io/api/mc/badges/age/maven/androidx.activity:activity-compose/1.9.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/androidx.activity:activity-compose/1.9.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/androidx.activity:activity-compose/1.9.1/1.9.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/androidx.activity:activity-compose/1.9.1/1.9.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [org.jetbrains.kotlinx:kotlinx-serialization-json](https://redirect.github.com/Kotlin/kotlinx.serialization) | dependencies | patch | `1.7.1` -> `1.7.3` | [![age](https://developer.mend.io/api/mc/badges/age/maven/org.jetbrains.kotlinx:kotlinx-serialization-json/1.7.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/org.jetbrains.kotlinx:kotlinx-serialization-json/1.7.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/org.jetbrains.kotlinx:kotlinx-serialization-json/1.7.1/1.7.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/org.jetbrains.kotlinx:kotlinx-serialization-json/1.7.1/1.7.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [com.google.accompanist:accompanist-swiperefresh](https://redirect.github.com/google/accompanist) | dependencies | minor | `0.34.0` -> `0.36.0` | [![age](https://developer.mend.io/api/mc/badges/age/maven/com.google.accompanist:accompanist-swiperefresh/0.36.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.google.accompanist:accompanist-swiperefresh/0.36.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.google.accompanist:accompanist-swiperefresh/0.34.0/0.36.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.google.accompanist:accompanist-swiperefresh/0.34.0/0.36.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [com.google.accompanist:accompanist-pager-indicators](https://redirect.github.com/google/accompanist) | dependencies | minor | `0.34.0` -> `0.36.0` | [![age](https://developer.mend.io/api/mc/badges/age/maven/com.google.accompanist:accompanist-pager-indicators/0.36.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.google.accompanist:accompanist-pager-indicators/0.36.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.google.accompanist:accompanist-pager-indicators/0.34.0/0.36.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.google.accompanist:accompanist-pager-indicators/0.34.0/0.36.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [com.google.accompanist:accompanist-pager](https://redirect.github.com/google/accompanist) | dependencies | minor | `0.34.0` -> `0.36.0` | [![age](https://developer.mend.io/api/mc/badges/age/maven/com.google.accompanist:accompanist-pager/0.36.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.google.accompanist:accompanist-pager/0.36.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.google.accompanist:accompanist-pager/0.34.0/0.36.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.google.accompanist:accompanist-pager/0.34.0/0.36.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [androidx.wear.compose:compose-foundation](https://developer.android.com/jetpack/androidx/releases/wear-compose#1.4.0) ([source](https://cs.android.com/androidx/platform/frameworks/support)) | dependencies | minor | `1.3.1` -> `1.4.0` | [![age](https://developer.mend.io/api/mc/badges/age/maven/androidx.wear.compose:compose-foundation/1.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/androidx.wear.compose:compose-foundation/1.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/androidx.wear.compose:compose-foundation/1.3.1/1.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/androidx.wear.compose:compose-foundation/1.3.1/1.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [androidx.wear.compose:compose-material](https://developer.android.com/jetpack/androidx/releases/wear-compose#1.4.0) ([source](https://cs.android.com/androidx/platform/frameworks/support)) | dependencies | minor | `1.3.1` -> `1.4.0` | [![age](https://developer.mend.io/api/mc/badges/age/maven/androidx.wear.compose:compose-material/1.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/androidx.wear.compose:compose-material/1.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/androidx.wear.compose:compose-material/1.3.1/1.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/androidx.wear.compose:compose-material/1.3.1/1.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [androidx.compose.ui:ui-tooling](https://developer.android.com/jetpack/androidx/releases/compose-ui#1.7.3) ([source](https://cs.android.com/androidx/platform/frameworks/support)) | dependencies | minor | `1.6.8` -> `1.7.3` | [![age](https://developer.mend.io/api/mc/badges/age/maven/androidx.compose.ui:ui-tooling/1.7.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/androidx.compose.ui:ui-tooling/1.7.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/androidx.compose.ui:ui-tooling/1.6.8/1.7.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/androidx.compose.ui:ui-tooling/1.6.8/1.7.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [androidx.compose.ui:ui](https://developer.android.com/jetpack/androidx/releases/compose-ui#1.7.3) ([source](https://cs.android.com/androidx/platform/frameworks/support)) | dependencies | minor | `1.6.8` -> `1.7.3` | [![age](https://developer.mend.io/api/mc/badges/age/maven/androidx.compose.ui:ui/1.7.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/androidx.compose.ui:ui/1.7.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/androidx.compose.ui:ui/1.6.8/1.7.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/androidx.compose.ui:ui/1.6.8/1.7.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [androidx.compose.foundation:foundation](https://developer.android.com/jetpack/androidx/releases/compose-foundation#1.7.3) ([source](https://cs.android.com/androidx/platform/frameworks/support)) | dependencies | minor | `1.6.8` -> `1.7.3` | [![age](https://developer.mend.io/api/mc/badges/age/maven/androidx.compose.foundation:foundation/1.7.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/androidx.compose.foundation:foundation/1.7.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/androidx.compose.foundation:foundation/1.6.8/1.7.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/androidx.compose.foundation:foundation/1.6.8/1.7.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [androidx.compose.material:material-icons-extended](https://developer.android.com/jetpack/androidx/releases/compose-material#1.7.3) ([source](https://cs.android.com/androidx/platform/frameworks/support)) | dependencies | minor | `1.6.8` -> `1.7.3` | [![age](https://developer.mend.io/api/mc/badges/age/maven/androidx.compose.material:material-icons-extended/1.7.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/androidx.compose.material:material-icons-extended/1.7.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/androidx.compose.material:material-icons-extended/1.6.8/1.7.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/androidx.compose.material:material-icons-extended/1.6.8/1.7.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [androidx.compose.material:material-icons-core](https://developer.android.com/jetpack/androidx/releases/compose-material#1.7.3) ([source](https://cs.android.com/androidx/platform/frameworks/support)) | dependencies | minor | `1.6.8` -> `1.7.3` | [![age](https://developer.mend.io/api/mc/badges/age/maven/androidx.compose.material:material-icons-core/1.7.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/androidx.compose.material:material-icons-core/1.7.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/androidx.compose.material:material-icons-core/1.6.8/1.7.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/androidx.compose.material:material-icons-core/1.6.8/1.7.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [androidx.compose.material:material](https://developer.android.com/jetpack/androidx/releases/compose-material#1.7.3) ([source](https://cs.android.com/androidx/platform/frameworks/support)) | dependencies | minor | `1.6.8` -> `1.7.3` | [![age](https://developer.mend.io/api/mc/badges/age/maven/androidx.compose.material:material/1.7.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/androidx.compose.material:material/1.7.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/androidx.compose.material:material/1.6.8/1.7.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/androidx.compose.material:material/1.6.8/1.7.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [com.google.protobuf:protoc](https://developers.google.com/protocol-buffers/) ([source](https://redirect.github.com/protocolbuffers/protobuf)) | dependencies | patch | `4.28.0` -> `4.28.2` | [![age](https://developer.mend.io/api/mc/badges/age/maven/com.google.protobuf:protoc/4.28.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.google.protobuf:protoc/4.28.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.google.protobuf:protoc/4.28.0/4.28.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.google.protobuf:protoc/4.28.0/4.28.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [com.google.protobuf:protobuf-kotlin-lite](https://developers.google.com/protocol-buffers/) ([source](https://redirect.github.com/protocolbuffers/protobuf)) | dependencies | patch | `4.28.0` -> `4.28.2` | [![age](https://developer.mend.io/api/mc/badges/age/maven/com.google.protobuf:protobuf-kotlin-lite/4.28.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.google.protobuf:protobuf-kotlin-lite/4.28.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.google.protobuf:protobuf-kotlin-lite/4.28.0/4.28.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.google.protobuf:protobuf-kotlin-lite/4.28.0/4.28.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [com.android.test](https://developer.android.com/studio/build) ([source](https://android.googlesource.com/platform/tools/base)) | plugin | minor | `8.6.0` -> `8.7.0` | [![age](https://developer.mend.io/api/mc/badges/age/maven/com.android.test/8.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.android.test/8.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.android.test/8.6.0/8.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.android.test/8.6.0/8.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [com.android.library](https://developer.android.com/studio/build) ([source](https://android.googlesource.com/platform/tools/base)) | plugin | minor | `8.6.0` -> `8.7.0` | [![age](https://developer.mend.io/api/mc/badges/age/maven/com.android.library/8.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.android.library/8.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.android.library/8.6.0/8.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.android.library/8.6.0/8.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [com.android.application](https://developer.android.com/studio/build) ([source](https://android.googlesource.com/platform/tools/base)) | plugin | minor | `8.6.0` -> `8.7.0` | [![age](https://developer.mend.io/api/mc/badges/age/maven/com.android.application/8.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.android.application/8.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.android.application/8.6.0/8.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.android.application/8.6.0/8.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [com.android.tools.build:gradle](https://developer.android.com/studio/build) ([source](https://android.googlesource.com/platform/tools/base)) | dependencies | minor | `8.6.0` -> `8.7.0` | [![age](https://developer.mend.io/api/mc/badges/age/maven/com.android.tools.build:gradle/8.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.android.tools.build:gradle/8.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.android.tools.build:gradle/8.6.0/8.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.android.tools.build:gradle/8.6.0/8.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [com.google.devtools.ksp](https://goo.gle/ksp) ([source](https://redirect.github.com/google/ksp)) | plugin | patch | `2.0.20-1.0.24` -> `2.0.20-1.0.25` | [![age](https://developer.mend.io/api/mc/badges/age/maven/com.google.devtools.ksp/2.0.20-1.0.25?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.google.devtools.ksp/2.0.20-1.0.25?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.google.devtools.ksp/2.0.20-1.0.24/2.0.20-1.0.25?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.google.devtools.ksp/2.0.20-1.0.24/2.0.20-1.0.25?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [com.google.devtools.ksp:com.google.devtools.ksp.gradle.plugin](https://goo.gle/ksp) ([source](https://redirect.github.com/google/ksp)) | dependencies | patch | `2.0.20-1.0.24` -> `2.0.20-1.0.25` | [![age](https://developer.mend.io/api/mc/badges/age/maven/com.google.devtools.ksp:com.google.devtools.ksp.gradle.plugin/2.0.20-1.0.25?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.google.devtools.ksp:com.google.devtools.ksp.gradle.plugin/2.0.20-1.0.25?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.google.devtools.ksp:com.google.devtools.ksp.gradle.plugin/2.0.20-1.0.24/2.0.20-1.0.25?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.google.devtools.ksp:com.google.devtools.ksp.gradle.plugin/2.0.20-1.0.24/2.0.20-1.0.25?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [org.jetbrains.kotlinx:kotlinx-coroutines-test](https://redirect.github.com/Kotlin/kotlinx.coroutines) | dependencies | minor | `1.8.1` -> `1.9.0` | [![age](https://developer.mend.io/api/mc/badges/age/maven/org.jetbrains.kotlinx:kotlinx-coroutines-test/1.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/org.jetbrains.kotlinx:kotlinx-coroutines-test/1.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/org.jetbrains.kotlinx:kotlinx-coroutines-test/1.8.1/1.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/org.jetbrains.kotlinx:kotlinx-coroutines-test/1.8.1/1.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [org.jetbrains.kotlinx:kotlinx-coroutines-play-services](https://redirect.github.com/Kotlin/kotlinx.coroutines) | dependencies | minor | `1.8.1` -> `1.9.0` | [![age](https://developer.mend.io/api/mc/badges/age/maven/org.jetbrains.kotlinx:kotlinx-coroutines-play-services/1.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/org.jetbrains.kotlinx:kotlinx-coroutines-play-services/1.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/org.jetbrains.kotlinx:kotlinx-coroutines-play-services/1.8.1/1.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/org.jetbrains.kotlinx:kotlinx-coroutines-play-services/1.8.1/1.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [org.jetbrains.kotlinx:kotlinx-coroutines-android](https://redirect.github.com/Kotlin/kotlinx.coroutines) | dependencies | minor | `1.8.1` -> `1.9.0` | [![age](https://developer.mend.io/api/mc/badges/age/maven/org.jetbrains.kotlinx:kotlinx-coroutines-android/1.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/org.jetbrains.kotlinx:kotlinx-coroutines-android/1.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/org.jetbrains.kotlinx:kotlinx-coroutines-android/1.8.1/1.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/org.jetbrains.kotlinx:kotlinx-coroutines-android/1.8.1/1.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [org.jetbrains.kotlinx:kotlinx-collections-immutable](https://redirect.github.com/Kotlin/kotlinx.collections.immutable) | dependencies | patch | `0.3.7` -> `0.3.8` | [![age](https://developer.mend.io/api/mc/badges/age/maven/org.jetbrains.kotlinx:kotlinx-collections-immutable/0.3.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/org.jetbrains.kotlinx:kotlinx-collections-immutable/0.3.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/org.jetbrains.kotlinx:kotlinx-collections-immutable/0.3.7/0.3.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/org.jetbrains.kotlinx:kotlinx-collections-immutable/0.3.7/0.3.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- > [!WARNING] > Some dependencies could not be looked up. Check the Dependency Dashboard for more information. --- ### Release Notes
gradle/gradle (gradle) ### [`v8.10.2`](https://redirect.github.com/gradle/gradle/compare/v8.10.1...v8.10.2) [Compare Source](https://redirect.github.com/gradle/gradle/compare/v8.10.1...v8.10.2) ### [`v8.10.1`](https://redirect.github.com/gradle/gradle/compare/v8.10.0...v8.10.1) [Compare Source](https://redirect.github.com/gradle/gradle/compare/v8.10.0...v8.10.1)
tj-actions/changed-files (tj-actions/changed-files) ### [`v45.0.3`](https://redirect.github.com/tj-actions/changed-files/releases/tag/v45.0.3) [Compare Source](https://redirect.github.com/tj-actions/changed-files/compare/v45.0.2...v45.0.3) #### What's Changed - Upgraded to v45.0.2 by [@​tj-actions-bot](https://redirect.github.com/tj-actions-bot) in [https://github.com/tj-actions/changed-files/pull/2282](https://redirect.github.com/tj-actions/changed-files/pull/2282) - chore(deps): update dependency eslint to v8.57.1 by [@​renovate](https://redirect.github.com/renovate) in [https://github.com/tj-actions/changed-files/pull/2284](https://redirect.github.com/tj-actions/changed-files/pull/2284) - chore(deps): update peter-evans/create-pull-request action to v7.0.5 by [@​renovate](https://redirect.github.com/renovate) in [https://github.com/tj-actions/changed-files/pull/2286](https://redirect.github.com/tj-actions/changed-files/pull/2286) - chore(deps): update actions/setup-node action to v4.0.4 by [@​renovate](https://redirect.github.com/renovate) in [https://github.com/tj-actions/changed-files/pull/2287](https://redirect.github.com/tj-actions/changed-files/pull/2287) - chore(deps): lock file maintenance by [@​renovate](https://redirect.github.com/renovate) in [https://github.com/tj-actions/changed-files/pull/2289](https://redirect.github.com/tj-actions/changed-files/pull/2289) - chore(deps): update dependency [@​types/lodash](https://redirect.github.com/types/lodash) to v4.17.9 by [@​renovate](https://redirect.github.com/renovate) in [https://github.com/tj-actions/changed-files/pull/2291](https://redirect.github.com/tj-actions/changed-files/pull/2291) - chore(deps): update dependency [@​vercel/ncc](https://redirect.github.com/vercel/ncc) to v0.38.2 by [@​renovate](https://redirect.github.com/renovate) in [https://github.com/tj-actions/changed-files/pull/2290](https://redirect.github.com/tj-actions/changed-files/pull/2290) - chore(deps): update dependency [@​types/node](https://redirect.github.com/types/node) to v22.6.1 by [@​renovate](https://redirect.github.com/renovate) in [https://github.com/tj-actions/changed-files/pull/2292](https://redirect.github.com/tj-actions/changed-files/pull/2292) - chore(deps): update dependency [@​types/node](https://redirect.github.com/types/node) to v22.7.0 by [@​renovate](https://redirect.github.com/renovate) in [https://github.com/tj-actions/changed-files/pull/2294](https://redirect.github.com/tj-actions/changed-files/pull/2294) - fix: test for since last remote commit check on pull_request closed by [@​jackton1](https://redirect.github.com/jackton1) in [https://github.com/tj-actions/changed-files/pull/2295](https://redirect.github.com/tj-actions/changed-files/pull/2295) - chore(deps): update dependency [@​types/node](https://redirect.github.com/types/node) to v22.7.2 by [@​renovate](https://redirect.github.com/renovate) in [https://github.com/tj-actions/changed-files/pull/2297](https://redirect.github.com/tj-actions/changed-files/pull/2297) - docs: Update README.md by [@​jackton1](https://redirect.github.com/jackton1) in [https://github.com/tj-actions/changed-files/pull/2296](https://redirect.github.com/tj-actions/changed-files/pull/2296) - chore(deps): update dependency [@​types/node](https://redirect.github.com/types/node) to v22.7.3 by [@​renovate](https://redirect.github.com/renovate) in [https://github.com/tj-actions/changed-files/pull/2298](https://redirect.github.com/tj-actions/changed-files/pull/2298) - chore(deps): update dependency [@​types/node](https://redirect.github.com/types/node) to v22.7.4 by [@​renovate](https://redirect.github.com/renovate) in [https://github.com/tj-actions/changed-files/pull/2299](https://redirect.github.com/tj-actions/changed-files/pull/2299) - chore(deps): lock file maintenance by [@​renovate](https://redirect.github.com/renovate) in [https://github.com/tj-actions/changed-files/pull/2301](https://redirect.github.com/tj-actions/changed-files/pull/2301) - docs: Update README.md by [@​jackton1](https://redirect.github.com/jackton1) in [https://github.com/tj-actions/changed-files/pull/2300](https://redirect.github.com/tj-actions/changed-files/pull/2300) - fix: bug with files ignore yaml patterns not filtering the list of files by [@​jackton1](https://redirect.github.com/jackton1) in [https://github.com/tj-actions/changed-files/pull/2304](https://redirect.github.com/tj-actions/changed-files/pull/2304) - fix(deps): update dependency [@​actions/core](https://redirect.github.com/actions/core) to v1.11.0 by [@​renovate](https://redirect.github.com/renovate) in [https://github.com/tj-actions/changed-files/pull/2305](https://redirect.github.com/tj-actions/changed-files/pull/2305) - chore(deps): update dependency [@​types/lodash](https://redirect.github.com/types/lodash) to v4.17.10 by [@​renovate](https://redirect.github.com/renovate) in [https://github.com/tj-actions/changed-files/pull/2306](https://redirect.github.com/tj-actions/changed-files/pull/2306) - fix: overwriting yaml filter patterns by [@​jackton1](https://redirect.github.com/jackton1) in [https://github.com/tj-actions/changed-files/pull/2307](https://redirect.github.com/tj-actions/changed-files/pull/2307) **Full Changelog**: https://github.com/tj-actions/changed-files/compare/v45...v45.0.3 ### [`v45.0.2`](https://redirect.github.com/tj-actions/changed-files/releases/tag/v45.0.2) [Compare Source](https://redirect.github.com/tj-actions/changed-files/compare/v45.0.1...v45.0.2) #### What's Changed - chore(deps): lock file maintenance by [@​renovate](https://redirect.github.com/renovate) in [https://github.com/tj-actions/changed-files/pull/2259](https://redirect.github.com/tj-actions/changed-files/pull/2259) - chore(deps): update dependency eslint-plugin-jest to v28.8.2 by [@​renovate](https://redirect.github.com/renovate) in [https://github.com/tj-actions/changed-files/pull/2260](https://redirect.github.com/tj-actions/changed-files/pull/2260) - Upgraded to v45.0.1 by [@​tj-actions-bot](https://redirect.github.com/tj-actions-bot) in [https://github.com/tj-actions/changed-files/pull/2258](https://redirect.github.com/tj-actions/changed-files/pull/2258) - chore(deps): update dependency [@​types/node](https://redirect.github.com/types/node) to v22.5.3 by [@​renovate](https://redirect.github.com/renovate) in [https://github.com/tj-actions/changed-files/pull/2263](https://redirect.github.com/tj-actions/changed-files/pull/2263) - chore(deps): update peter-evans/create-pull-request action to v7 by [@​renovate](https://redirect.github.com/renovate) in [https://github.com/tj-actions/changed-files/pull/2261](https://redirect.github.com/tj-actions/changed-files/pull/2261) - fix(deps): update dependency yaml to v2.5.1 by [@​renovate](https://redirect.github.com/renovate) in [https://github.com/tj-actions/changed-files/pull/2264](https://redirect.github.com/tj-actions/changed-files/pull/2264) - chore(deps): update dependency [@​types/node](https://redirect.github.com/types/node) to v22.5.4 by [@​renovate](https://redirect.github.com/renovate) in [https://github.com/tj-actions/changed-files/pull/2266](https://redirect.github.com/tj-actions/changed-files/pull/2266) - chore(deps): update dependency eslint-plugin-jest to v28.8.3 by [@​renovate](https://redirect.github.com/renovate) in [https://github.com/tj-actions/changed-files/pull/2267](https://redirect.github.com/tj-actions/changed-files/pull/2267) - chore(deps): update peter-evans/create-pull-request action to v7.0.1 by [@​renovate](https://redirect.github.com/renovate) in [https://github.com/tj-actions/changed-files/pull/2269](https://redirect.github.com/tj-actions/changed-files/pull/2269) - chore(deps): lock file maintenance by [@​renovate](https://redirect.github.com/renovate) in [https://github.com/tj-actions/changed-files/pull/2270](https://redirect.github.com/tj-actions/changed-files/pull/2270) - chore(deps): lock file maintenance by [@​renovate](https://redirect.github.com/renovate) in [https://github.com/tj-actions/changed-files/pull/2271](https://redirect.github.com/tj-actions/changed-files/pull/2271) - chore(deps): update dependency typescript to v5.6.2 by [@​renovate](https://redirect.github.com/renovate) in [https://github.com/tj-actions/changed-files/pull/2272](https://redirect.github.com/tj-actions/changed-files/pull/2272) - chore(deps): update dependency eslint-plugin-github to v5.0.2 by [@​renovate](https://redirect.github.com/renovate) in [https://github.com/tj-actions/changed-files/pull/2275](https://redirect.github.com/tj-actions/changed-files/pull/2275) - chore(deps): update peter-evans/create-pull-request action to v7.0.2 by [@​renovate](https://redirect.github.com/renovate) in [https://github.com/tj-actions/changed-files/pull/2277](https://redirect.github.com/tj-actions/changed-files/pull/2277) - chore(deps): update dependency [@​types/jest](https://redirect.github.com/types/jest) to v29.5.13 by [@​renovate](https://redirect.github.com/renovate) in [https://github.com/tj-actions/changed-files/pull/2278](https://redirect.github.com/tj-actions/changed-files/pull/2278) - chore(deps): update dependency [@​types/node](https://redirect.github.com/types/node) to v22.5.5 by [@​renovate](https://redirect.github.com/renovate) in [https://github.com/tj-actions/changed-files/pull/2279](https://redirect.github.com/tj-actions/changed-files/pull/2279) - chore(deps): lock file maintenance by [@​renovate](https://redirect.github.com/renovate) in [https://github.com/tj-actions/changed-files/pull/2280](https://redirect.github.com/tj-actions/changed-files/pull/2280) - chore(deps): update peter-evans/create-pull-request action to v7.0.3 by [@​renovate](https://redirect.github.com/renovate) in [https://github.com/tj-actions/changed-files/pull/2281](https://redirect.github.com/tj-actions/changed-files/pull/2281) **Full Changelog**: https://github.com/tj-actions/changed-files/compare/v45...v45.0.2 ### [`v45.0.1`](https://redirect.github.com/tj-actions/changed-files/releases/tag/v45.0.1) [Compare Source](https://redirect.github.com/tj-actions/changed-files/compare/v45.0.0...v45.0.1) ##### What's Changed - Upgraded to v45 by [@​tj-actions-bot](https://redirect.github.com/tj-actions-bot) in [https://github.com/tj-actions/changed-files/pull/2244](https://redirect.github.com/tj-actions/changed-files/pull/2244) - chore(deps): update dependency [@​types/node](https://redirect.github.com/types/node) to v22.5.0 by [@​renovate](https://redirect.github.com/renovate) in [https://github.com/tj-actions/changed-files/pull/2246](https://redirect.github.com/tj-actions/changed-files/pull/2246) - chore(deps): update dependency ts-jest to v29.2.5 by [@​renovate](https://redirect.github.com/renovate) in [https://github.com/tj-actions/changed-files/pull/2248](https://redirect.github.com/tj-actions/changed-files/pull/2248) - fix(deps): update dependency micromatch to v4.0.8 by [@​renovate](https://redirect.github.com/renovate) in [https://github.com/tj-actions/changed-files/pull/2249](https://redirect.github.com/tj-actions/changed-files/pull/2249) - chore(deps): lock file maintenance by [@​renovate](https://redirect.github.com/renovate) in [https://github.com/tj-actions/changed-files/pull/2251](https://redirect.github.com/tj-actions/changed-files/pull/2251) - chore(deps-dev): bump [@​types/node](https://redirect.github.com/types/node) from 22.5.0 to 22.5.1 by [@​dependabot](https://redirect.github.com/dependabot) in [https://github.com/tj-actions/changed-files/pull/2252](https://redirect.github.com/tj-actions/changed-files/pull/2252) - chore(deps): update dependency eslint-plugin-jest to v28.8.1 by [@​renovate](https://redirect.github.com/renovate) in [https://github.com/tj-actions/changed-files/pull/2255](https://redirect.github.com/tj-actions/changed-files/pull/2255) - chore(deps): update dependency [@​types/node](https://redirect.github.com/types/node) to v22.5.2 by [@​renovate](https://redirect.github.com/renovate) in [https://github.com/tj-actions/changed-files/pull/2257](https://redirect.github.com/tj-actions/changed-files/pull/2257) **Full Changelog**: https://github.com/tj-actions/changed-files/compare/v45...v45.0.1
square/okio (com.squareup.okio:okio-fakefilesystem) ### [`v3.9.1`](https://redirect.github.com/square/okio/blob/HEAD/CHANGELOG.md#Version-391) *2024-09-12* - Fix: Support paths containing a single dot (".") in `Path.relativeTo`. - Fix: Do not read from the upstream source when a 0-byte read is requested. - Fix: Update kotlinx.datetime to 0.6.0 to correct a Gradle module metadata problem with 0.5.0. Note: this artifact is only used in 'okio-fakefilesystem' and 'okio-nodefilesystem' and not in the Okio core.
mrmans0n/compose-rules (io.nlopez.compose.rules:detekt) ### [`v0.4.15`](https://redirect.github.com/mrmans0n/compose-rules/releases/tag/v0.4.15) #### What's changed - Fix KtTypeReference#isComposableLambda ([#​347](https://redirect.github.com/mrmans0n/compose-rules/issues/347)) [@​mrmans0n](https://redirect.github.com/mrmans0n) ### [`v0.4.14`](https://redirect.github.com/mrmans0n/compose-rules/releases/tag/v0.4.14) #### What's changed - Fix opt in rule enabled by default ([#​345](https://redirect.github.com/mrmans0n/compose-rules/issues/345)) [@​mrmans0n](https://redirect.github.com/mrmans0n) ### [`v0.4.13`](https://redirect.github.com/mrmans0n/compose-rules/releases/tag/v0.4.13) > \[!IMPORTANT] > In this version, `ParameterNaming` was enabled by default unknowingly in detekt. You should add this to your detekt configuration file to disable it, in case you don't want it (as this rule is supposed to be opt-in only). This will be fixed in the next version. ```yml PreviewNaming: active: false ``` #### What's changed - Add PreviewNaming opt-in rule ([#​344](https://redirect.github
--- ### Configuration 📅 **Schedule**: Branch creation - "before 4am on Monday" (UTC), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://redirect.github.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/flipperdevices/Flipper-Android-App). --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Nikita Kulikov --- .github/workflows/call-check-changelog.yml | 4 +- .../workflows/call-configuration-change.yml | 8 +-- .github/workflows/call-create-baseline.yml | 6 +- .../call-validate-gradle-wrapper.yml | 2 +- .github/workflows/internal.yml | 20 +++---- .github/workflows/internal_release.yml | 14 ++--- .github/workflows/pr.yml | 8 +-- .github/workflows/release.yml | 20 +++---- .../category/ComposableCategoryCard.kt | 2 +- .../category/ComposableCategoryItem.kt | 2 +- .../impl/composable/key/ComposableKeySmall.kt | 4 +- .../service/request/FlipperRequestApiImpl.kt | 4 +- .../FlipperSerialOverflowThrottlerTest.kt | 8 +-- .../provider/FlipperServiceProviderImpl.kt | 6 +- .../core/markdown/AnnotatedStringKtx.kt | 28 ++------- .../core/markdown/AnnotatedStringRenderer.kt | 10 ++-- .../markdown/AnnotatedStringGeneratorTest.kt | 8 +-- .../core/ui/hexkeyboard/build.gradle.kts | 9 +-- .../ui/hexkeyboard/ComposableHexKeyboard.kt | 8 +-- .../core/ui/hexkeyboard/ComposableKeys.kt | 0 .../core/ui/hexkeyboard/HexKey.kt | 0 .../core/ui/ktx/ClickableKtx.kt | 23 ++++---- .../ui/searchbar/ComposableSearchTextField.kt | 4 +- .../core/ui/theme/FlipperTheme.kt | 22 ------- .../content/ComposableFullScreenshotAppBar.kt | 2 +- .../bar/ComposableEllipsizeStartText.kt | 17 +++--- ...posableInAppNotificationSelfUpdateError.kt | 6 +- ...sableInAppNotificationSelfUpdateStarted.kt | 6 +- .../components/ComposableInfraredAppBar.kt | 2 +- .../bar/ComposableEllipsizeStartText.kt | 17 +++--- .../ComposableScaleFactorCalculate.kt | 37 +++++------- .../controls/ComposableButtonAnimation.kt | 3 +- .../controls/ComposableFlipperControls.kt | 4 +- .../controls/ComposableFlipperDPad.kt | 4 +- .../impl/composable/ComposableKeysList.kt | 15 +++-- config/detekt/detekt.yml | 4 ++ gradle/libs.versions.toml | 58 +++++++++---------- gradle/wrapper/gradle-wrapper.properties | 2 +- 38 files changed, 170 insertions(+), 227 deletions(-) rename components/core/ui/hexkeyboard/src/{main => commonMain}/kotlin/com/flipperdevices/core/ui/hexkeyboard/ComposableHexKeyboard.kt (95%) rename components/core/ui/hexkeyboard/src/{main => commonMain}/kotlin/com/flipperdevices/core/ui/hexkeyboard/ComposableKeys.kt (100%) rename components/core/ui/hexkeyboard/src/{main => commonMain}/kotlin/com/flipperdevices/core/ui/hexkeyboard/HexKey.kt (100%) diff --git a/.github/workflows/call-check-changelog.yml b/.github/workflows/call-check-changelog.yml index baf1514a14..4030169d9c 100644 --- a/.github/workflows/call-check-changelog.yml +++ b/.github/workflows/call-check-changelog.yml @@ -7,12 +7,12 @@ jobs: name: "Checking that changelog has changed" runs-on: ubuntu-latest steps: - - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4 + - uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4 with: submodules: 'recursive' - name: Get change status for CHANGELOG.md id: changed-changelog - uses: tj-actions/changed-files@40853de9f8ce2d6cfdc73c1b96f14e22ba44aec4 # v45.0.0 + uses: tj-actions/changed-files@c3a1bb2c992d77180ae65be6ae6c166cf40f857c # v45.0.3 with: files: CHANGELOG.md - name: Failed if changelog not changed diff --git a/.github/workflows/call-configuration-change.yml b/.github/workflows/call-configuration-change.yml index cbb23e87a3..8de822e52a 100644 --- a/.github/workflows/call-configuration-change.yml +++ b/.github/workflows/call-configuration-change.yml @@ -9,12 +9,12 @@ jobs: outputs: GRADLE_FILES_CHANGED: ${{ steps.gradle-related-changed.outputs.any_changed }} steps: - - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4 + - uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4 with: submodules: 'recursive' - name: Check that gradle files changed id: gradle-related-changed - uses: tj-actions/changed-files@40853de9f8ce2d6cfdc73c1b96f14e22ba44aec4 # v45.0.0 + uses: tj-actions/changed-files@c3a1bb2c992d77180ae65be6ae6c166cf40f857c # v45.0.3 with: files: | **.gradle.kts @@ -30,11 +30,11 @@ jobs: matrix: target: [ "Release", "Debug", "Internal" ] steps: - - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4 + - uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4 with: submodules: 'recursive' - name: Set up JDK 1.17 - uses: actions/setup-java@6a0805fcefea3d4657a47ac4c165951e33482018 # v4 + uses: actions/setup-java@b36c23c0d998641eff861008f374ee103c25ac73 # v4 with: distribution: 'temurin' java-version: '17' diff --git a/.github/workflows/call-create-baseline.yml b/.github/workflows/call-create-baseline.yml index aaad7ca82e..dc6ea629cb 100644 --- a/.github/workflows/call-create-baseline.yml +++ b/.github/workflows/call-create-baseline.yml @@ -25,12 +25,12 @@ jobs: BASELINE_FILE_PATH: ${{ steps.create_baseline_file_path.outputs.BASELINE_FILE_PATH }} steps: - name: Checkout Git repo - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4 + uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4 with: submodules: 'recursive' - name: Set up JDK 17 - uses: actions/setup-java@6a0805fcefea3d4657a47ac4c165951e33482018 # v4 + uses: actions/setup-java@b36c23c0d998641eff861008f374ee103c25ac73 # v4 with: distribution: 'adopt' java-version: 17 @@ -84,7 +84,7 @@ jobs: run: | ./gradlew ${{ steps.create_baseline_task.outputs.BASELINE_TASK }} - - uses: actions/upload-artifact@50769540e7f4bd5e21e526ee35c689e35e0d6874 + - uses: actions/upload-artifact@604373da6381bf24206979c74d06a550515601b9 name: "Upload baseline file" with: name: ${{ steps.create_baseline_file_id.outputs.BASELINE_FILE_ID }} diff --git a/.github/workflows/call-validate-gradle-wrapper.yml b/.github/workflows/call-validate-gradle-wrapper.yml index 7b8b8d2b4d..61caf17a22 100644 --- a/.github/workflows/call-validate-gradle-wrapper.yml +++ b/.github/workflows/call-validate-gradle-wrapper.yml @@ -7,5 +7,5 @@ jobs: name: "Validate gradle wrapper" runs-on: ubuntu-latest steps: - - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4 + - uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4 - uses: gradle/wrapper-validation-action@f9c9c575b8b21b6485636a91ffecd10e558c62f6 # v3 \ No newline at end of file diff --git a/.github/workflows/internal.yml b/.github/workflows/internal.yml index bcf2c5d2af..4ef1762a83 100644 --- a/.github/workflows/internal.yml +++ b/.github/workflows/internal.yml @@ -17,11 +17,11 @@ jobs: runs-on: ubuntu-latest needs: [ validate_gradle_wrapper ] steps: - - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4 + - uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4 with: submodules: 'recursive' - name: Set up JDK 1.17 - uses: actions/setup-java@6a0805fcefea3d4657a47ac4c165951e33482018 # v4 + uses: actions/setup-java@b36c23c0d998641eff861008f374ee103c25ac73 # v4 with: distribution: 'temurin' java-version: '17' @@ -70,16 +70,16 @@ jobs: matrix: target: [ "gh_gms", "gh_nogms", "googleplay" ] steps: - - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4 + - uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4 with: submodules: 'recursive' - - uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 + - uses: actions/download-artifact@d0ce8fd1167ed839810201de977912a090ab10a7 name: "Download ${{ needs.create_internal_baseline.outputs.BUILD_VARIANT_NAME }} baseline file" with: name: ${{ needs.create_internal_baseline.outputs.BASELINE_FILE_ID }} path: ${{ needs.create_internal_baseline.outputs.BASELINE_FILE_PATH }} - name: Set up JDK 1.17 - uses: actions/setup-java@6a0805fcefea3d4657a47ac4c165951e33482018 # v4 + uses: actions/setup-java@b36c23c0d998641eff861008f374ee103c25ac73 # v4 with: distribution: 'temurin' java-version: '17' @@ -130,7 +130,7 @@ jobs: cp instances/android/app/build/outputs/mapping/internal/mapping.txt artifacts/mapping-${{ matrix.target }}.txt echo "path=artifacts/" >> $GITHUB_OUTPUT - name: Upload Artifacts - uses: actions/upload-artifact@834a144ee995460fba8ed112a2fc961b36a5ec5a # v4 + uses: actions/upload-artifact@604373da6381bf24206979c74d06a550515601b9 # v4 with: name: artifacts-${{ matrix.target }} path: ${{ steps.artifacts_copy.outputs.path }} @@ -139,11 +139,11 @@ jobs: runs-on: ubuntu-latest needs: build_number steps: - - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4 + - uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4 with: submodules: 'recursive' - name: Set up JDK 1.17 - uses: actions/setup-java@6a0805fcefea3d4657a47ac4c165951e33482018 # v4 + uses: actions/setup-java@b36c23c0d998641eff861008f374ee103c25ac73 # v4 with: distribution: 'temurin' java-version: '17' @@ -192,7 +192,7 @@ jobs: cp instances/wearable/build/outputs/mapping/internal/mapping.txt artifacts/mapping-wearos.txt echo "path=artifacts/" >> $GITHUB_OUTPUT - name: Upload Artifacts - uses: actions/upload-artifact@834a144ee995460fba8ed112a2fc961b36a5ec5a # v4 + uses: actions/upload-artifact@604373da6381bf24206979c74d06a550515601b9 # v4 with: name: artifacts-wearos path: ${{ steps.artifacts_copy.outputs.path }} @@ -201,7 +201,7 @@ jobs: runs-on: ubuntu-latest needs: [ build_internal_release, build_internal_release_gms_wearos, build_number ] steps: - - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4 + - uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4 with: submodules: 'recursive' - uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4 diff --git a/.github/workflows/internal_release.yml b/.github/workflows/internal_release.yml index 5f585a363d..008fac59ab 100644 --- a/.github/workflows/internal_release.yml +++ b/.github/workflows/internal_release.yml @@ -49,16 +49,16 @@ jobs: matrix: target: [ "gh_gms", "gh_nogms", "googleplay" ] steps: - - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4 + - uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4 with: submodules: 'recursive' - - uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 + - uses: actions/download-artifact@d0ce8fd1167ed839810201de977912a090ab10a7 name: "Download ${{ needs.create_internal_baseline.outputs.BUILD_VARIANT_NAME }} baseline file" with: name: ${{ needs.create_internal_baseline.outputs.BASELINE_FILE_ID }} path: ${{ needs.create_internal_baseline.outputs.BASELINE_FILE_PATH }} - name: Set up JDK 1.17 - uses: actions/setup-java@6a0805fcefea3d4657a47ac4c165951e33482018 # v4 + uses: actions/setup-java@b36c23c0d998641eff861008f374ee103c25ac73 # v4 with: distribution: 'temurin' java-version: '17' @@ -109,7 +109,7 @@ jobs: cp instances/android/app/build/outputs/mapping/internal/mapping.txt artifacts/mapping-${{ matrix.target }}.txt echo "path=artifacts/" >> $GITHUB_OUTPUT - name: Upload Artifacts - uses: actions/upload-artifact@834a144ee995460fba8ed112a2fc961b36a5ec5a # v4 + uses: actions/upload-artifact@604373da6381bf24206979c74d06a550515601b9 # v4 with: name: artifacts-${{ matrix.target }} path: ${{ steps.artifacts_copy.outputs.path }} @@ -118,11 +118,11 @@ jobs: runs-on: ubuntu-latest needs: build_number steps: - - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4 + - uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4 with: submodules: 'recursive' - name: Set up JDK 1.17 - uses: actions/setup-java@6a0805fcefea3d4657a47ac4c165951e33482018 # v4 + uses: actions/setup-java@b36c23c0d998641eff861008f374ee103c25ac73 # v4 with: distribution: 'temurin' java-version: '17' @@ -171,7 +171,7 @@ jobs: cp instances/wearable/build/outputs/mapping/internal/mapping.txt artifacts/mapping-wearos.txt echo "path=artifacts/" >> $GITHUB_OUTPUT - name: Upload Artifacts - uses: actions/upload-artifact@834a144ee995460fba8ed112a2fc961b36a5ec5a # v4 + uses: actions/upload-artifact@604373da6381bf24206979c74d06a550515601b9 # v4 with: name: artifacts-wearos path: ${{ steps.artifacts_copy.outputs.path }} diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index 857fdfd715..6aff7fe34f 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -49,11 +49,11 @@ jobs: matrix: target: [ "testDebugUnitTest", "desktopTest" ] steps: - - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4 + - uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4 with: submodules: 'recursive' - name: Set up JDK 1.17 - uses: actions/setup-java@6a0805fcefea3d4657a47ac4c165951e33482018 # v4 + uses: actions/setup-java@b36c23c0d998641eff861008f374ee103c25ac73 # v4 with: distribution: 'temurin' java-version: '17' @@ -69,11 +69,11 @@ jobs: matrix: target: [ "detektMain", "lint" ] steps: - - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4 + - uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4 with: submodules: 'recursive' - name: Set up JDK 1.17 - uses: actions/setup-java@6a0805fcefea3d4657a47ac4c165951e33482018 # v4 + uses: actions/setup-java@b36c23c0d998641eff861008f374ee103c25ac73 # v4 with: distribution: 'temurin' java-version: '17' diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index e51f6d7c6b..60d1e0957b 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -50,15 +50,15 @@ jobs: matrix: target: [ "gh_gms", "gh_nogms", "googleplay" ] steps: - - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4 + - uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4 with: submodules: 'recursive' - name: Set up JDK 1.17 - uses: actions/setup-java@6a0805fcefea3d4657a47ac4c165951e33482018 # v4 + uses: actions/setup-java@b36c23c0d998641eff861008f374ee103c25ac73 # v4 with: distribution: 'temurin' java-version: '17' - - uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 + - uses: actions/download-artifact@d0ce8fd1167ed839810201de977912a090ab10a7 name: "Download ${{ needs.create_release_baseline.outputs.BUILD_VARIANT_NAME }} baseline file" with: name: ${{ needs.create_release_baseline.outputs.BASELINE_FILE_ID }} @@ -110,7 +110,7 @@ jobs: cp instances/android/app/build/outputs/mapping/release/mapping.txt artifacts/mapping-${{ matrix.target }}.txt echo "path=artifacts/" >> $GITHUB_OUTPUT - name: Upload Artifacts - uses: actions/upload-artifact@834a144ee995460fba8ed112a2fc961b36a5ec5a # v4 + uses: actions/upload-artifact@604373da6381bf24206979c74d06a550515601b9 # v4 with: name: artifacts-${{ matrix.target }} path: ${{ steps.artifacts_copy.outputs.path }} @@ -119,11 +119,11 @@ jobs: runs-on: ubuntu-latest needs: build_number steps: - - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4 + - uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4 with: submodules: 'recursive' - name: Set up JDK 1.17 - uses: actions/setup-java@6a0805fcefea3d4657a47ac4c165951e33482018 # v4 + uses: actions/setup-java@b36c23c0d998641eff861008f374ee103c25ac73 # v4 with: distribution: 'temurin' java-version: '17' @@ -172,7 +172,7 @@ jobs: cp instances/wearable/build/outputs/mapping/release/mapping.txt artifacts/mapping-wearos.txt echo "path=artifacts/" >> $GITHUB_OUTPUT - name: Upload Artifacts - uses: actions/upload-artifact@834a144ee995460fba8ed112a2fc961b36a5ec5a # v4 + uses: actions/upload-artifact@604373da6381bf24206979c74d06a550515601b9 # v4 with: name: artifacts-wearos path: ${{ steps.artifacts_copy.outputs.path }} @@ -182,7 +182,7 @@ jobs: if: ${{ github.ref == 'refs/heads/master' }} needs: [ build_release, build_release_gms_wearos, build_number ] steps: - - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4 + - uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4 with: submodules: 'recursive' - uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4 @@ -266,7 +266,7 @@ jobs: needs: [ build_release ] if: ${{ github.ref == 'refs/heads/master' }} steps: - - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4 + - uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4 with: submodules: 'recursive' - uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4 @@ -289,7 +289,7 @@ jobs: needs: [ build_release_gms_wearos ] if: ${{ github.ref == 'refs/heads/master' }} steps: - - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4 + - uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4 with: submodules: 'recursive' - uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4 diff --git a/components/archive/impl/src/main/java/com/flipperdevices/archive/impl/composable/category/ComposableCategoryCard.kt b/components/archive/impl/src/main/java/com/flipperdevices/archive/impl/composable/category/ComposableCategoryCard.kt index fb74b554ee..3c90cd688c 100644 --- a/components/archive/impl/src/main/java/com/flipperdevices/archive/impl/composable/category/ComposableCategoryCard.kt +++ b/components/archive/impl/src/main/java/com/flipperdevices/archive/impl/composable/category/ComposableCategoryCard.kt @@ -18,8 +18,8 @@ import kotlinx.collections.immutable.ImmutableList fun ComposableCategoryCard( categories: ImmutableList, deletedCategory: CategoryItem, - modifier: Modifier = Modifier, onOpenCategory: (CategoryType) -> Unit, + modifier: Modifier = Modifier ) { Card( modifier = modifier.padding(top = 14.dp, start = 14.dp, end = 14.dp, bottom = 2.dp) diff --git a/components/archive/impl/src/main/java/com/flipperdevices/archive/impl/composable/category/ComposableCategoryItem.kt b/components/archive/impl/src/main/java/com/flipperdevices/archive/impl/composable/category/ComposableCategoryItem.kt index 30438f5848..4e6b91a027 100644 --- a/components/archive/impl/src/main/java/com/flipperdevices/archive/impl/composable/category/ComposableCategoryItem.kt +++ b/components/archive/impl/src/main/java/com/flipperdevices/archive/impl/composable/category/ComposableCategoryItem.kt @@ -23,8 +23,8 @@ import com.flipperdevices.core.ui.res.R as DesignSystem @Composable fun ComposableCategoryItem( categoryItem: CategoryItem, - modifier: Modifier = Modifier, onOpenCategory: (CategoryType) -> Unit, + modifier: Modifier = Modifier ) { Row( modifier = modifier diff --git a/components/archive/impl/src/main/java/com/flipperdevices/archive/impl/composable/key/ComposableKeySmall.kt b/components/archive/impl/src/main/java/com/flipperdevices/archive/impl/composable/key/ComposableKeySmall.kt index f6d358ec31..89e2950b4d 100644 --- a/components/archive/impl/src/main/java/com/flipperdevices/archive/impl/composable/key/ComposableKeySmall.kt +++ b/components/archive/impl/src/main/java/com/flipperdevices/archive/impl/composable/key/ComposableKeySmall.kt @@ -20,8 +20,8 @@ import com.flipperdevices.core.ui.theme.LocalTypography fun ComposableKeySmall( keyPath: FlipperKeyPath, synchronizationContent: @Composable () -> Unit, - modifier: Modifier = Modifier, - onOpenKey: () -> Unit + onOpenKey: () -> Unit, + modifier: Modifier = Modifier ) { Card( modifier = modifier.padding(horizontal = 7.dp, vertical = 6.dp) diff --git a/components/bridge/impl/src/main/java/com/flipperdevices/bridge/impl/manager/service/request/FlipperRequestApiImpl.kt b/components/bridge/impl/src/main/java/com/flipperdevices/bridge/impl/manager/service/request/FlipperRequestApiImpl.kt index 21b1865379..3573075404 100644 --- a/components/bridge/impl/src/main/java/com/flipperdevices/bridge/impl/manager/service/request/FlipperRequestApiImpl.kt +++ b/components/bridge/impl/src/main/java/com/flipperdevices/bridge/impl/manager/service/request/FlipperRequestApiImpl.kt @@ -202,8 +202,8 @@ class FlipperRequestApiImpl @Inject constructor( ): Flipper.Main = suspendCancellableCoroutine { cont -> requestListeners[uniqueId] = { requestListeners.remove(uniqueId) - cont.resume(it) { throwable -> - error(throwable) { "Error on resume execution of $uniqueId command. Answer is $it" } + cont.resume(it) { cause, _, _ -> + error(cause) { "Error on resume execution of $uniqueId command. Answer is $it" } } } diff --git a/components/bridge/impl/src/test/java/com/flipperdevices/bridge/impl/manager/overflow/FlipperSerialOverflowThrottlerTest.kt b/components/bridge/impl/src/test/java/com/flipperdevices/bridge/impl/manager/overflow/FlipperSerialOverflowThrottlerTest.kt index dcf7cf1a47..0c4ce84959 100644 --- a/components/bridge/impl/src/test/java/com/flipperdevices/bridge/impl/manager/overflow/FlipperSerialOverflowThrottlerTest.kt +++ b/components/bridge/impl/src/test/java/com/flipperdevices/bridge/impl/manager/overflow/FlipperSerialOverflowThrottlerTest.kt @@ -11,7 +11,7 @@ import com.google.protobuf.ByteString import kotlinx.coroutines.ExperimentalCoroutinesApi import kotlinx.coroutines.cancel import kotlinx.coroutines.test.TestScope -import kotlinx.coroutines.test.runBlockingTest +import kotlinx.coroutines.test.runTest import no.nordicsemi.android.ble.data.Data import org.junit.Assert import org.junit.Before @@ -58,7 +58,7 @@ class FlipperSerialOverflowThrottlerTest { } @Test - fun `Send request fitting in buffer size`() = runBlockingTest { + fun `Send request fitting in buffer size`() = runTest { val testRequest = main { systemPingRequest = pingRequest { } }.wrapToRequest() val bufferSize = testRequest.data.toDelimitedBytes().size @@ -70,7 +70,7 @@ class FlipperSerialOverflowThrottlerTest { } @Test - fun `Send request if we fit in buffer`() = runBlockingTest { + fun `Send request if we fit in buffer`() = runTest { val testRequest = main { systemPingRequest = pingRequest { data = ByteString.EMPTY } }.wrapToRequest() @@ -87,7 +87,7 @@ class FlipperSerialOverflowThrottlerTest { } @Test - fun `Send request larger than buffer`() = runBlockingTest { + fun `Send request larger than buffer`() = runTest { val testRequest = main { storageWriteRequest = writeRequest { file = file { diff --git a/components/bridge/service/impl/src/main/java/com/flipperdevices/bridge/service/impl/provider/FlipperServiceProviderImpl.kt b/components/bridge/service/impl/src/main/java/com/flipperdevices/bridge/service/impl/provider/FlipperServiceProviderImpl.kt index 1c9cedf527..4c3074df0c 100644 --- a/components/bridge/service/impl/src/main/java/com/flipperdevices/bridge/service/impl/provider/FlipperServiceProviderImpl.kt +++ b/components/bridge/service/impl/src/main/java/com/flipperdevices/bridge/service/impl/provider/FlipperServiceProviderImpl.kt @@ -20,7 +20,6 @@ import com.flipperdevices.core.log.error import com.flipperdevices.core.log.info import com.flipperdevices.core.preference.pb.Settings import com.squareup.anvil.annotations.ContributesBinding -import kotlinx.coroutines.ExperimentalCoroutinesApi import kotlinx.coroutines.suspendCancellableCoroutine import javax.inject.Inject import javax.inject.Singleton @@ -84,10 +83,9 @@ class FlipperServiceProviderImpl @Inject constructor( lateinit var consumer: FlipperBleServiceConsumer consumer = object : FlipperBleServiceConsumer { override fun onServiceApiReady(serviceApi: FlipperServiceApi) { - @OptIn(ExperimentalCoroutinesApi::class) - continuation.resume(serviceApi, onCancellation = { + continuation.resume(serviceApi) { _, _, _ -> disconnectInternal(consumer) - }) + } disconnectInternal(consumer) } } diff --git a/components/core/markdown/src/main/java/com/flipperdevices/core/markdown/AnnotatedStringKtx.kt b/components/core/markdown/src/main/java/com/flipperdevices/core/markdown/AnnotatedStringKtx.kt index 6d7e14fe28..9bdcd09b97 100644 --- a/components/core/markdown/src/main/java/com/flipperdevices/core/markdown/AnnotatedStringKtx.kt +++ b/components/core/markdown/src/main/java/com/flipperdevices/core/markdown/AnnotatedStringKtx.kt @@ -1,13 +1,12 @@ package com.flipperdevices.core.markdown import androidx.annotation.StringRes -import androidx.compose.foundation.text.ClickableText import androidx.compose.material.LocalTextStyle +import androidx.compose.material.Text import androidx.compose.runtime.Composable import androidx.compose.runtime.remember import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Color -import androidx.compose.ui.platform.LocalUriHandler import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.AnnotatedString import androidx.compose.ui.text.TextStyle @@ -38,29 +37,12 @@ fun ClickableUrlText( @StringRes markdownResId: Int, modifier: Modifier = Modifier, style: TextStyle = TextStyle.Default -) { - ClickableUrlText( - annotatedStringFromMarkdown(markdownResId), - modifier, - style - ) -} - -@Composable -fun ClickableUrlText( - text: AnnotatedString, - modifier: Modifier = Modifier, - style: TextStyle = TextStyle.Default ) { val textStyle = LocalTextStyle.current.merge(style) - val uriHandler = LocalUriHandler.current - ClickableText( + + Text( + text = annotatedStringFromMarkdown(markdownResId), modifier = modifier, - text = text, - style = textStyle, - onClick = { index -> - text.getStringAnnotations(ANNOTATED_STRING_TAG_URL, index, index) - .firstOrNull()?.let { url -> uriHandler.openUri(url.item) } - } + style = textStyle ) } diff --git a/components/core/markdown/src/main/java/com/flipperdevices/core/markdown/AnnotatedStringRenderer.kt b/components/core/markdown/src/main/java/com/flipperdevices/core/markdown/AnnotatedStringRenderer.kt index 2ca915b4f5..69c8596190 100644 --- a/components/core/markdown/src/main/java/com/flipperdevices/core/markdown/AnnotatedStringRenderer.kt +++ b/components/core/markdown/src/main/java/com/flipperdevices/core/markdown/AnnotatedStringRenderer.kt @@ -3,6 +3,7 @@ package com.flipperdevices.core.markdown import androidx.compose.ui.graphics.Color import androidx.compose.ui.graphics.Shadow import androidx.compose.ui.text.AnnotatedString +import androidx.compose.ui.text.LinkAnnotation import androidx.compose.ui.text.SpanStyle import androidx.compose.ui.text.font.FontFamily import androidx.compose.ui.text.font.FontStyle @@ -22,8 +23,6 @@ import com.vladsch.flexmark.ast.StrongEmphasis import com.vladsch.flexmark.ast.Text import com.vladsch.flexmark.util.ast.Node -const val ANNOTATED_STRING_TAG_URL = "URL" - /** * Now support only: * 1) Bold (** tag) @@ -56,6 +55,7 @@ class AnnotatedStringRenderer( child = child.next } } + is BulletList -> { var child = node.firstChild while (child != null) { @@ -65,6 +65,7 @@ class AnnotatedStringRenderer( child = child.next } } + else -> renderChildren(node, builder) } } @@ -87,9 +88,8 @@ class AnnotatedStringRenderer( textDecoration = TextDecoration.Underline ) - addStringAnnotation( - tag = ANNOTATED_STRING_TAG_URL, - annotation = url.toString(), + addLink( + url = LinkAnnotation.Url(url.toString()), start = startIndex, end = endIndex ) diff --git a/components/core/markdown/src/test/java/com/flipperdevices/core/markdown/AnnotatedStringGeneratorTest.kt b/components/core/markdown/src/test/java/com/flipperdevices/core/markdown/AnnotatedStringGeneratorTest.kt index bbfbd63302..d299e92033 100644 --- a/components/core/markdown/src/test/java/com/flipperdevices/core/markdown/AnnotatedStringGeneratorTest.kt +++ b/components/core/markdown/src/test/java/com/flipperdevices/core/markdown/AnnotatedStringGeneratorTest.kt @@ -1,6 +1,7 @@ package com.flipperdevices.core.markdown import androidx.compose.ui.graphics.Color +import androidx.compose.ui.text.LinkAnnotation import androidx.compose.ui.text.font.FontStyle import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.text.style.TextDecoration @@ -57,12 +58,11 @@ class AnnotatedStringGeneratorTest { annotatedString.subSequence(spanStyle.start, spanStyle.end).toString() ) - val stringAnnotation = annotatedString.getStringAnnotations( - ANNOTATED_STRING_TAG_URL, + val linkAnnotation = annotatedString.getLinkAnnotations( 0, annotatedString.length ) - assertEquals(1, stringAnnotation.size) - assertEquals("https://google.com", stringAnnotation.first().item) + assertEquals(1, linkAnnotation.size) + assertEquals("https://google.com", (linkAnnotation.first().item as LinkAnnotation.Url).url) } } diff --git a/components/core/ui/hexkeyboard/build.gradle.kts b/components/core/ui/hexkeyboard/build.gradle.kts index 21ba08347b..1a26c81bc5 100644 --- a/components/core/ui/hexkeyboard/build.gradle.kts +++ b/components/core/ui/hexkeyboard/build.gradle.kts @@ -1,19 +1,16 @@ plugins { - id("flipper.android-compose") + id("flipper.multiplatform-compose") + id("flipper.multiplatform-dependencies") } android.namespace = "com.flipperdevices.core.ui.hexkeyboard" -dependencies { +commonDependencies { implementation(projects.components.core.ui.ktx) implementation(projects.components.core.data) implementation(libs.kotlin.immutable.collections) // Compose - implementation(libs.compose.ui) - implementation(libs.compose.tooling) - implementation(libs.compose.foundation) - implementation(libs.compose.material) implementation(libs.compose.constraint) } diff --git a/components/core/ui/hexkeyboard/src/main/kotlin/com/flipperdevices/core/ui/hexkeyboard/ComposableHexKeyboard.kt b/components/core/ui/hexkeyboard/src/commonMain/kotlin/com/flipperdevices/core/ui/hexkeyboard/ComposableHexKeyboard.kt similarity index 95% rename from components/core/ui/hexkeyboard/src/main/kotlin/com/flipperdevices/core/ui/hexkeyboard/ComposableHexKeyboard.kt rename to components/core/ui/hexkeyboard/src/commonMain/kotlin/com/flipperdevices/core/ui/hexkeyboard/ComposableHexKeyboard.kt index d3db57883d..2f1f9e2b4b 100644 --- a/components/core/ui/hexkeyboard/src/main/kotlin/com/flipperdevices/core/ui/hexkeyboard/ComposableHexKeyboard.kt +++ b/components/core/ui/hexkeyboard/src/commonMain/kotlin/com/flipperdevices/core/ui/hexkeyboard/ComposableHexKeyboard.kt @@ -15,7 +15,6 @@ import androidx.compose.material.MaterialTheme import androidx.compose.material.Text import androidx.compose.material.icons.Icons import androidx.compose.material.icons.automirrored.filled.ArrowBack -import androidx.compose.material.icons.filled.ArrowBack import androidx.compose.runtime.Composable import androidx.compose.runtime.CompositionLocalProvider import androidx.compose.runtime.compositionLocalOf @@ -24,13 +23,13 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.draw.clip import androidx.compose.ui.graphics.Color import androidx.compose.ui.text.TextStyle -import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.dp import androidx.constraintlayout.compose.ConstrainedLayoutReference import androidx.constraintlayout.compose.ConstraintLayout import com.flipperdevices.core.data.PredefinedEnumMap import com.flipperdevices.core.ui.ktx.clickableRipple +import org.jetbrains.compose.ui.tooling.preview.Preview /** * Fields for composition local @@ -98,10 +97,7 @@ internal fun ComposableKey( } } -@Preview( - showBackground = true, - showSystemUi = true -) +@Preview() @Composable private fun ComposableHexKeyboardPreview() { ComposableHexKeyboard( diff --git a/components/core/ui/hexkeyboard/src/main/kotlin/com/flipperdevices/core/ui/hexkeyboard/ComposableKeys.kt b/components/core/ui/hexkeyboard/src/commonMain/kotlin/com/flipperdevices/core/ui/hexkeyboard/ComposableKeys.kt similarity index 100% rename from components/core/ui/hexkeyboard/src/main/kotlin/com/flipperdevices/core/ui/hexkeyboard/ComposableKeys.kt rename to components/core/ui/hexkeyboard/src/commonMain/kotlin/com/flipperdevices/core/ui/hexkeyboard/ComposableKeys.kt diff --git a/components/core/ui/hexkeyboard/src/main/kotlin/com/flipperdevices/core/ui/hexkeyboard/HexKey.kt b/components/core/ui/hexkeyboard/src/commonMain/kotlin/com/flipperdevices/core/ui/hexkeyboard/HexKey.kt similarity index 100% rename from components/core/ui/hexkeyboard/src/main/kotlin/com/flipperdevices/core/ui/hexkeyboard/HexKey.kt rename to components/core/ui/hexkeyboard/src/commonMain/kotlin/com/flipperdevices/core/ui/hexkeyboard/HexKey.kt diff --git a/components/core/ui/ktx/src/commonMain/kotlin/com/flipperdevices/core/ui/ktx/ClickableKtx.kt b/components/core/ui/ktx/src/commonMain/kotlin/com/flipperdevices/core/ui/ktx/ClickableKtx.kt index a102bc3eca..ef2ae5b1bf 100644 --- a/components/core/ui/ktx/src/commonMain/kotlin/com/flipperdevices/core/ui/ktx/ClickableKtx.kt +++ b/components/core/ui/ktx/src/commonMain/kotlin/com/flipperdevices/core/ui/ktx/ClickableKtx.kt @@ -2,23 +2,20 @@ package com.flipperdevices.core.ui.ktx import androidx.compose.foundation.clickable import androidx.compose.foundation.interaction.MutableInteractionSource -import androidx.compose.material.ripple.rememberRipple +import androidx.compose.material.ripple +import androidx.compose.runtime.Composable import androidx.compose.runtime.remember import androidx.compose.ui.Modifier -import androidx.compose.ui.composed -@Suppress("ModifierComposed") // MOB-1039 +@Composable +@Suppress("ModifierComposable") fun Modifier.clickableRipple( bounded: Boolean = true, enabled: Boolean = true, onClick: () -> Unit -) = composed { - this.then( - clickable( - interactionSource = remember { MutableInteractionSource() }, - indication = rememberRipple(bounded = bounded), - onClick = onClick, - enabled = enabled - ) - ) -} +) = clickable( + interactionSource = remember { MutableInteractionSource() }, + indication = ripple(bounded), + onClick = onClick, + enabled = enabled +) diff --git a/components/core/ui/searchbar/src/main/java/com/flipperdevices/core/ui/searchbar/ComposableSearchTextField.kt b/components/core/ui/searchbar/src/main/java/com/flipperdevices/core/ui/searchbar/ComposableSearchTextField.kt index 29fccf0f3c..7857d8938e 100644 --- a/components/core/ui/searchbar/src/main/java/com/flipperdevices/core/ui/searchbar/ComposableSearchTextField.kt +++ b/components/core/ui/searchbar/src/main/java/com/flipperdevices/core/ui/searchbar/ComposableSearchTextField.kt @@ -64,8 +64,8 @@ private fun SearchTextBox( ), singleLine = true, keyboardOptions = KeyboardOptions( - imeAction = ImeAction.Search, - autoCorrect = false + autoCorrectEnabled = false, + imeAction = ImeAction.Search ), keyboardActions = KeyboardActions(onSearch = { focusManager.clearFocus() diff --git a/components/core/ui/theme/src/commonMain/kotlin/com/flipperdevices/core/ui/theme/FlipperTheme.kt b/components/core/ui/theme/src/commonMain/kotlin/com/flipperdevices/core/ui/theme/FlipperTheme.kt index efb176217b..0d7ee36281 100644 --- a/components/core/ui/theme/src/commonMain/kotlin/com/flipperdevices/core/ui/theme/FlipperTheme.kt +++ b/components/core/ui/theme/src/commonMain/kotlin/com/flipperdevices/core/ui/theme/FlipperTheme.kt @@ -1,9 +1,5 @@ package com.flipperdevices.core.ui.theme -import androidx.compose.foundation.Indication -import androidx.compose.foundation.IndicationInstance -import androidx.compose.foundation.LocalIndication -import androidx.compose.foundation.interaction.InteractionSource import androidx.compose.foundation.isSystemInDarkTheme import androidx.compose.foundation.shape.RoundedCornerShape import androidx.compose.foundation.text.selection.LocalTextSelectionColors @@ -16,7 +12,6 @@ import androidx.compose.runtime.CompositionLocalProvider import androidx.compose.runtime.collectAsState import androidx.compose.runtime.compositionLocalOf import androidx.compose.runtime.getValue -import androidx.compose.ui.graphics.drawscope.ContentDrawScope import androidx.compose.ui.unit.dp import com.flipperdevices.core.ui.theme.composable.FlipperPallet import com.flipperdevices.core.ui.theme.composable.FlipperTypography @@ -72,7 +67,6 @@ private fun FlipperTheme( LocalTypography provides getTypography(), LocalContentColor provides colors.contentColorFor(backgroundColor = pallet.background), LocalTextSelectionColors provides pallet.toTextSelectionColors(), - LocalIndication provides NoIndication, content = content ) } @@ -90,19 +84,3 @@ fun FlipperThemeInternal( isLight = !isSystemInDarkTheme() ) } - -/** - * Standardization of the indication for all clickable modifiers - **/ -private object NoIndication : Indication { - private object NoIndicationInstance : IndicationInstance { - override fun ContentDrawScope.drawIndication() { - drawContent() - } - } - - @Composable - override fun rememberUpdatedInstance(interactionSource: InteractionSource): IndicationInstance { - return NoIndicationInstance - } -} diff --git a/components/faphub/screenshotspreview/impl/src/main/kotlin/com/flipperdevices/faphub/screenshotspreview/impl/composable/content/ComposableFullScreenshotAppBar.kt b/components/faphub/screenshotspreview/impl/src/main/kotlin/com/flipperdevices/faphub/screenshotspreview/impl/composable/content/ComposableFullScreenshotAppBar.kt index 13f6c6e260..cac5509a29 100644 --- a/components/faphub/screenshotspreview/impl/src/main/kotlin/com/flipperdevices/faphub/screenshotspreview/impl/composable/content/ComposableFullScreenshotAppBar.kt +++ b/components/faphub/screenshotspreview/impl/src/main/kotlin/com/flipperdevices/faphub/screenshotspreview/impl/composable/content/ComposableFullScreenshotAppBar.kt @@ -91,7 +91,7 @@ internal fun ComposableFullScreenshotAppBar( @Preview @Composable -private fun FullScreenshotAppBar() { +private fun PreviewFullScreenshotAppBar() { FlipperThemeInternal { ComposableFullScreenshotAppBar( onBack = {}, diff --git a/components/filemanager/impl/src/main/java/com/flipperdevices/filemanager/impl/composable/bar/ComposableEllipsizeStartText.kt b/components/filemanager/impl/src/main/java/com/flipperdevices/filemanager/impl/composable/bar/ComposableEllipsizeStartText.kt index cfa429338d..bddbabd4c3 100644 --- a/components/filemanager/impl/src/main/java/com/flipperdevices/filemanager/impl/composable/bar/ComposableEllipsizeStartText.kt +++ b/components/filemanager/impl/src/main/java/com/flipperdevices/filemanager/impl/composable/bar/ComposableEllipsizeStartText.kt @@ -4,8 +4,6 @@ import androidx.compose.foundation.layout.BoxWithConstraints import androidx.compose.foundation.layout.BoxWithConstraintsScope import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.fillMaxWidth -import androidx.compose.foundation.text.InternalFoundationTextApi -import androidx.compose.foundation.text.TextDelegate import androidx.compose.material.LocalTextStyle import androidx.compose.material.Text import androidx.compose.runtime.Composable @@ -15,6 +13,7 @@ import androidx.compose.ui.platform.LocalFontFamilyResolver import androidx.compose.ui.platform.LocalLayoutDirection import androidx.compose.ui.text.AnnotatedString import androidx.compose.ui.text.TextStyle +import androidx.compose.ui.text.rememberTextMeasurer import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.tooling.preview.Preview @@ -46,26 +45,24 @@ fun ComposableEllipsizeStartText( } } -@OptIn(InternalFoundationTextApi::class) @Composable private fun BoxWithConstraintsScope.shouldShrink( text: String, textStyle: TextStyle ): Boolean { + val textMeasurer = rememberTextMeasurer() + // Represent line without index and paddings - val textDelegate = TextDelegate( + val textLayoutResult = textMeasurer.measure( AnnotatedString(text), textStyle, maxLines = 1, softWrap = false, overflow = TextOverflow.Visible, density = LocalDensity.current, - fontFamilyResolver = LocalFontFamilyResolver.current - ) - - val textLayoutResult = textDelegate.layout( - constraints, - LocalLayoutDirection.current + fontFamilyResolver = LocalFontFamilyResolver.current, + constraints = constraints, + layoutDirection = LocalLayoutDirection.current ) return textLayoutResult.hasVisualOverflow diff --git a/components/inappnotification/impl/src/main/java/com/flipperdevices/inappnotification/impl/composable/type/ComposableInAppNotificationSelfUpdateError.kt b/components/inappnotification/impl/src/main/java/com/flipperdevices/inappnotification/impl/composable/type/ComposableInAppNotificationSelfUpdateError.kt index 844c1d5afb..2f077940d0 100644 --- a/components/inappnotification/impl/src/main/java/com/flipperdevices/inappnotification/impl/composable/type/ComposableInAppNotificationSelfUpdateError.kt +++ b/components/inappnotification/impl/src/main/java/com/flipperdevices/inappnotification/impl/composable/type/ComposableInAppNotificationSelfUpdateError.kt @@ -32,7 +32,7 @@ internal fun ComposableInAppNotificationSelfUpdateError() { fontScale = 2.0f ) @Composable -private fun ComposableInAppNotificationSelfUpdateErrorPreviewX2Font() { +private fun PreviewComposableInAppNotificationSelfUpdateErrorPreviewX2Font() { FlipperThemeInternal { ComposableInAppNotificationSelfUpdateError() } @@ -42,7 +42,7 @@ private fun ComposableInAppNotificationSelfUpdateErrorPreviewX2Font() { fontScale = 1.5f ) @Composable -private fun ComposableInAppNotificationSelfUpdateErrorPreviewX15Font() { +private fun PreviewComposableInAppNotificationSelfUpdateErrorPreviewX15Font() { FlipperThemeInternal { ComposableInAppNotificationSelfUpdateError() } @@ -50,7 +50,7 @@ private fun ComposableInAppNotificationSelfUpdateErrorPreviewX15Font() { @Preview @Composable -private fun ComposableInAppNotificationSelfUpdateErrorPreview() { +private fun PreviewComposableInAppNotificationSelfUpdateErrorPreview() { FlipperThemeInternal { ComposableInAppNotificationSelfUpdateError() } diff --git a/components/inappnotification/impl/src/main/java/com/flipperdevices/inappnotification/impl/composable/type/ComposableInAppNotificationSelfUpdateStarted.kt b/components/inappnotification/impl/src/main/java/com/flipperdevices/inappnotification/impl/composable/type/ComposableInAppNotificationSelfUpdateStarted.kt index 8fa86cb515..cd65f026bc 100644 --- a/components/inappnotification/impl/src/main/java/com/flipperdevices/inappnotification/impl/composable/type/ComposableInAppNotificationSelfUpdateStarted.kt +++ b/components/inappnotification/impl/src/main/java/com/flipperdevices/inappnotification/impl/composable/type/ComposableInAppNotificationSelfUpdateStarted.kt @@ -34,7 +34,7 @@ internal fun ComposableInAppNotificationSelfUpdateStarted() { fontScale = 2.0f ) @Composable -private fun ComposableInAppNotificationSelfUpdateStartedPreviewX2Font() { +private fun PreviewComposableInAppNotificationSelfUpdateStartedPreviewX2Font() { FlipperThemeInternal { ComposableInAppNotificationSelfUpdateStarted() } @@ -44,7 +44,7 @@ private fun ComposableInAppNotificationSelfUpdateStartedPreviewX2Font() { fontScale = 1.5f ) @Composable -private fun ComposableInAppNotificationSelfUpdateStartedPreviewX15Font() { +private fun PreviewComposableInAppNotificationSelfUpdateStartedPreviewX15Font() { FlipperThemeInternal { ComposableInAppNotificationSelfUpdateStarted() } @@ -52,7 +52,7 @@ private fun ComposableInAppNotificationSelfUpdateStartedPreviewX15Font() { @Preview @Composable -private fun ComposableInAppNotificationSelfUpdateStartedPreview() { +private fun PreviewComposableInAppNotificationSelfUpdateStartedPreview() { FlipperThemeInternal { ComposableInAppNotificationSelfUpdateStarted() } diff --git a/components/infrared/impl/src/main/kotlin/com/flipperdevices/infrared/impl/composable/components/ComposableInfraredAppBar.kt b/components/infrared/impl/src/main/kotlin/com/flipperdevices/infrared/impl/composable/components/ComposableInfraredAppBar.kt index 25f9d44671..a16f1daa7b 100644 --- a/components/infrared/impl/src/main/kotlin/com/flipperdevices/infrared/impl/composable/components/ComposableInfraredAppBar.kt +++ b/components/infrared/impl/src/main/kotlin/com/flipperdevices/infrared/impl/composable/components/ComposableInfraredAppBar.kt @@ -42,7 +42,7 @@ internal fun ComposableInfraredAppBar( @Preview @Composable -private fun InfraredAppBar() { +private fun PreviewInfraredAppBar() { FlipperThemeInternal { ComposableInfraredAppBar( onBack = {}, diff --git a/components/newfilemanager/impl/src/androidMain/kotlin/com/flipperdevices/newfilemanager/impl/composable/bar/ComposableEllipsizeStartText.kt b/components/newfilemanager/impl/src/androidMain/kotlin/com/flipperdevices/newfilemanager/impl/composable/bar/ComposableEllipsizeStartText.kt index f82ab1b538..d37909327a 100644 --- a/components/newfilemanager/impl/src/androidMain/kotlin/com/flipperdevices/newfilemanager/impl/composable/bar/ComposableEllipsizeStartText.kt +++ b/components/newfilemanager/impl/src/androidMain/kotlin/com/flipperdevices/newfilemanager/impl/composable/bar/ComposableEllipsizeStartText.kt @@ -4,8 +4,6 @@ import androidx.compose.foundation.layout.BoxWithConstraints import androidx.compose.foundation.layout.BoxWithConstraintsScope import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.fillMaxWidth -import androidx.compose.foundation.text.InternalFoundationTextApi -import androidx.compose.foundation.text.TextDelegate import androidx.compose.material.LocalTextStyle import androidx.compose.material.Text import androidx.compose.runtime.Composable @@ -15,6 +13,7 @@ import androidx.compose.ui.platform.LocalFontFamilyResolver import androidx.compose.ui.platform.LocalLayoutDirection import androidx.compose.ui.text.AnnotatedString import androidx.compose.ui.text.TextStyle +import androidx.compose.ui.text.rememberTextMeasurer import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.tooling.preview.Preview @@ -46,26 +45,24 @@ fun ComposableEllipsizeStartText( } } -@OptIn(InternalFoundationTextApi::class) @Composable private fun BoxWithConstraintsScope.shouldShrink( text: String, textStyle: TextStyle ): Boolean { + val textMeasurer = rememberTextMeasurer() + // Represent line without index and paddings - val textDelegate = TextDelegate( + val textLayoutResult = textMeasurer.measure( AnnotatedString(text), textStyle, maxLines = 1, softWrap = false, overflow = TextOverflow.Visible, density = LocalDensity.current, - fontFamilyResolver = LocalFontFamilyResolver.current - ) - - val textLayoutResult = textDelegate.layout( - constraints, - LocalLayoutDirection.current + fontFamilyResolver = LocalFontFamilyResolver.current, + constraints = constraints, + layoutDirection = LocalLayoutDirection.current ) return textLayoutResult.hasVisualOverflow diff --git a/components/nfceditor/impl/src/main/java/com/flipperdevices/nfceditor/impl/composable/ComposableScaleFactorCalculate.kt b/components/nfceditor/impl/src/main/java/com/flipperdevices/nfceditor/impl/composable/ComposableScaleFactorCalculate.kt index 7cbe3c80b2..a844b86c25 100644 --- a/components/nfceditor/impl/src/main/java/com/flipperdevices/nfceditor/impl/composable/ComposableScaleFactorCalculate.kt +++ b/components/nfceditor/impl/src/main/java/com/flipperdevices/nfceditor/impl/composable/ComposableScaleFactorCalculate.kt @@ -1,14 +1,13 @@ package com.flipperdevices.nfceditor.impl.composable import androidx.compose.foundation.layout.BoxWithConstraintsScope -import androidx.compose.foundation.text.InternalFoundationTextApi -import androidx.compose.foundation.text.TextDelegate import androidx.compose.material.LocalTextStyle import androidx.compose.runtime.Composable import androidx.compose.ui.platform.LocalDensity import androidx.compose.ui.platform.LocalFontFamilyResolver import androidx.compose.ui.platform.LocalLayoutDirection import androidx.compose.ui.text.AnnotatedString +import androidx.compose.ui.text.rememberTextMeasurer import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.unit.dp import kotlin.math.roundToInt @@ -42,23 +41,10 @@ fun BoxWithConstraintsScope.calculateScaleFactor(maxIndexCount: Int): Float { } } -@OptIn(InternalFoundationTextApi::class) @Composable private fun BoxWithConstraintsScope.shouldShrink(maxIndexCount: Int, scaleFactor: Float): Boolean { val textStyle = LocalTextStyle.current - - // Represent line without index and paddings - val textDelegate = TextDelegate( - AnnotatedString("00".repeat(NFC_LINE_BYTE_COUNT)), - textStyle.copy( - fontSize = textStyle.fontSize * scaleFactor - ), - maxLines = 1, - softWrap = false, - overflow = TextOverflow.Visible, - density = LocalDensity.current, - fontFamilyResolver = LocalFontFamilyResolver.current - ) + val textMeasurer = rememberTextMeasurer() val otherWidthsDpWithoutScaleFactor = (maxIndexCount * WIDTH_LINE_INDEX_DP) + (PADDING_CELL_DP * 2 * NFC_LINE_BYTE_COUNT) @@ -72,10 +58,17 @@ private fun BoxWithConstraintsScope.shouldShrink(maxIndexCount: Int, scaleFactor maxWidth = Integer.max(0, constraints.maxWidth - otherWidthsPx.roundToInt()) ) - val textLayoutResult = textDelegate.layout( - textConstraints, - LocalLayoutDirection.current - ) - - return textLayoutResult.hasVisualOverflow + return textMeasurer.measure( + AnnotatedString("00".repeat(NFC_LINE_BYTE_COUNT)), + textStyle.copy( + fontSize = textStyle.fontSize * scaleFactor + ), + maxLines = 1, + softWrap = false, + overflow = TextOverflow.Visible, + density = LocalDensity.current, + fontFamilyResolver = LocalFontFamilyResolver.current, + constraints = textConstraints, + layoutDirection = LocalLayoutDirection.current + ).hasVisualOverflow } diff --git a/components/screenstreaming/impl/src/main/java/com/flipperdevices/screenstreaming/impl/composable/controls/ComposableButtonAnimation.kt b/components/screenstreaming/impl/src/main/java/com/flipperdevices/screenstreaming/impl/composable/controls/ComposableButtonAnimation.kt index 998bbe8ab3..8e6e1066cd 100644 --- a/components/screenstreaming/impl/src/main/java/com/flipperdevices/screenstreaming/impl/composable/controls/ComposableButtonAnimation.kt +++ b/components/screenstreaming/impl/src/main/java/com/flipperdevices/screenstreaming/impl/composable/controls/ComposableButtonAnimation.kt @@ -41,8 +41,7 @@ internal fun ComposableFlipperButtonAnimation( ) { val button = buttons[it] Image( - modifier = Modifier - .animateItemPlacement() + modifier = Modifier.animateItem(fadeInSpec = null, fadeOutSpec = null) .size(24.dp), painter = painterResource( if (MaterialTheme.colors.isLight) { diff --git a/components/screenstreaming/impl/src/main/java/com/flipperdevices/screenstreaming/impl/composable/controls/ComposableFlipperControls.kt b/components/screenstreaming/impl/src/main/java/com/flipperdevices/screenstreaming/impl/composable/controls/ComposableFlipperControls.kt index 07554bb24c..038d8affa7 100644 --- a/components/screenstreaming/impl/src/main/java/com/flipperdevices/screenstreaming/impl/composable/controls/ComposableFlipperControls.kt +++ b/components/screenstreaming/impl/src/main/java/com/flipperdevices/screenstreaming/impl/composable/controls/ComposableFlipperControls.kt @@ -11,7 +11,7 @@ import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.size import androidx.compose.foundation.shape.CircleShape -import androidx.compose.material.ripple.rememberRipple +import androidx.compose.material.ripple import androidx.compose.runtime.Composable import androidx.compose.runtime.remember import androidx.compose.ui.Alignment @@ -64,7 +64,7 @@ private fun ComposableFlipperBackButton( .background(LocalPallet.current.accent) .combinedClickable( interactionSource = remember { MutableInteractionSource() }, - indication = rememberRipple(), + indication = ripple(), onClick = { onPress() }, onLongClick = { onLongPress() } ), diff --git a/components/screenstreaming/impl/src/main/java/com/flipperdevices/screenstreaming/impl/composable/controls/ComposableFlipperDPad.kt b/components/screenstreaming/impl/src/main/java/com/flipperdevices/screenstreaming/impl/composable/controls/ComposableFlipperDPad.kt index dcdbd6d077..620d155c34 100644 --- a/components/screenstreaming/impl/src/main/java/com/flipperdevices/screenstreaming/impl/composable/controls/ComposableFlipperDPad.kt +++ b/components/screenstreaming/impl/src/main/java/com/flipperdevices/screenstreaming/impl/composable/controls/ComposableFlipperDPad.kt @@ -14,7 +14,7 @@ import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.size import androidx.compose.foundation.shape.CircleShape -import androidx.compose.material.ripple.rememberRipple +import androidx.compose.material.ripple import androidx.compose.runtime.Composable import androidx.compose.runtime.remember import androidx.compose.ui.Alignment @@ -131,7 +131,7 @@ private fun ControlButton( .fillMaxSize() .combinedClickable( interactionSource = remember { MutableInteractionSource() }, - indication = rememberRipple(), + indication = ripple(), onClick = { onPressButton(button) }, onLongClick = { onLongPressButton(button) } ), diff --git a/components/wearable/sync/wear/impl/src/main/java/com/flipperdevices/wearable/sync/wear/impl/composable/ComposableKeysList.kt b/components/wearable/sync/wear/impl/src/main/java/com/flipperdevices/wearable/sync/wear/impl/composable/ComposableKeysList.kt index cf0cc3c66f..048b980a37 100644 --- a/components/wearable/sync/wear/impl/src/main/java/com/flipperdevices/wearable/sync/wear/impl/composable/ComposableKeysList.kt +++ b/components/wearable/sync/wear/impl/src/main/java/com/flipperdevices/wearable/sync/wear/impl/composable/ComposableKeysList.kt @@ -58,11 +58,6 @@ private fun ComposableKeysListLoading() { } @Composable -@Preview( - showSystemUi = true, - showBackground = true, - device = WearDevices.LARGE_ROUND -) private fun ComposableKeysListEmpty() { ComposableWearOsScrollableColumn { Image( @@ -106,3 +101,13 @@ private fun ComposableKeysListInternal( } } } + +@Preview( + showSystemUi = true, + showBackground = true, + device = WearDevices.LARGE_ROUND +) +@Composable +private fun PreviewComposableKeysListEmpty() { + ComposableKeysListLoading() +} diff --git a/config/detekt/detekt.yml b/config/detekt/detekt.yml index 3569737889..2b62684633 100755 --- a/config/detekt/detekt.yml +++ b/config/detekt/detekt.yml @@ -766,6 +766,7 @@ Compose: active: true PreviewNaming: active: true + previewNamingStrategy: anywhere PreviewPublic: active: true RememberMissing: @@ -780,6 +781,9 @@ Compose: active: false ModifierNotUsedAtRoot: active: true + LambdaParameterEventTrailing: + active: false + DecomposeRule: PushForbiddenRule: diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 06230a9928..db5e261e13 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,32 +1,32 @@ [versions] # You also need to bump the version of ksp kotlin-general = "2.0.20" # https://kotlinlang.org/docs/releases.html#release-details -kotlin-immutable-collections = "0.3.7" # https://github.com/Kotlin/kotlinx.collections.immutable/releases +kotlin-immutable-collections = "0.3.8" # https://github.com/Kotlin/kotlinx.collections.immutable/releases kotlin-datetime = "0.6.1" # https://github.com/Kotlin/kotlinx-datetime/releases -kotlinx = "1.8.1" # https://github.com/Kotlin/kotlinx.coroutines/releases -ksp = "2.0.20-1.0.24" # https://github.com/google/ksp/releases +kotlinx = "1.9.0" # https://github.com/Kotlin/kotlinx.coroutines/releases +ksp = "2.0.20-1.0.25" # https://github.com/google/ksp/releases anvil = "2.5.0-beta11" # https://github.com/square/anvil/releases anvil-utils = "0.2.1-beta01" # https://github.com/IlyaGulya/anvil-utils/releases -android-gradle = "8.6.0" # https://developer.android.com/studio/releases/gradle-plugin -protobuf = "4.28.0" # https://github.com/protocolbuffers/protobuf/releases +android-gradle = "8.7.0" # https://developer.android.com/studio/releases/gradle-plugin +protobuf = "4.28.2" # https://github.com/protocolbuffers/protobuf/releases protobuf-gradle = "0.9.4" # https://github.com/google/protobuf-gradle-plugin/releases -compose-material = "1.6.8" # https://developer.android.com/jetpack/androidx/releases/compose#versions -compose-foundation = "1.6.8" # https://developer.android.com/jetpack/androidx/releases/compose#versions -compose-ui = "1.6.8" # https://developer.android.com/jetpack/androidx/releases/compose#versions -compose-wear = "1.3.1" # https://developer.android.com/jetpack/androidx/releases/wear-compose +compose-material = "1.7.3" # https://developer.android.com/jetpack/androidx/releases/compose#versions +compose-foundation = "1.7.3" # https://developer.android.com/jetpack/androidx/releases/compose#versions +compose-ui = "1.7.3" # https://developer.android.com/jetpack/androidx/releases/compose#versions +compose-wear = "1.4.0" # https://developer.android.com/jetpack/androidx/releases/wear-compose compose-wear-preview = "1.0.0" # https://mvnrepository.com/artifact/androidx.wear/wear-tooling-preview -compose-accompanist = "0.34.0" # https://github.com/google/accompanist/releases +compose-accompanist = "0.36.0" # https://github.com/google/accompanist/releases compose-placeholder = "2.0.0" # https://github.com/fornewid/placeholder/releases -compose-constraint = "1.0.1" # https://developer.android.com/jetpack/compose/layouts/constraintlayout +compose-constraint = "0.4.0" # https://github.com/Lavmee/constraintlayout-compose-multiplatform/releases compose-paging = "3.3.2" # https://developer.android.com/jetpack/androidx/releases/paging compose-drag-drop = "0.9.6" # https://github.com/aclassen/ComposeReorderable/releases -compose-multiplatform = "1.6.11" # https://github.com/JetBrains/compose-multiplatform/releases +compose-multiplatform = "1.7.0-rc01" # https://github.com/JetBrains/compose-multiplatform/releases # 0.6.17 requires androidx.navigation:navigation-compose:2.8.0-beta0 # androidx.navigation:navigation-compose:2.8.0-beta0 requires Android API 35 # Android API 35 not supported by roboelectric horologist = "0.6.17" # https://github.com/google/horologist/releases # Until fix https://github.com/Kotlin/kotlinx.serialization/issues/2803 -serialization-json = "1.7.1" # https://github.com/Kotlin/kotlinx.serialization/releases +serialization-json = "1.7.3" # https://github.com/Kotlin/kotlinx.serialization/releases wear = "1.3.0" # https://developer.android.com/jetpack/androidx/releases/wear wear-gms = "18.2.0" # https://mvnrepository.com/artifact/com.google.android.gms/play-services-wearable?repo=google wear-interaction-phone = "1.1.0-alpha04" # https://developer.android.com/jetpack/androidx/releases/wear @@ -39,9 +39,9 @@ sentry-runtime = "7.14.0" # https://github.com/getsentry/sentry-java/releases sentry-gradle = "4.11.0" # https://github.com/getsentry/sentry-android-gradle-plugin/releases zip4j = "2.11.5" # https://github.com/srikanth-lingala/zip4j/releases ktx = "1.13.1" # https://developer.android.com/jetpack/androidx/releases/core -ktx-activity = "1.9.1" # https://developer.android.com/jetpack/androidx/releases/activity +ktx-activity = "1.9.2" # https://developer.android.com/jetpack/androidx/releases/activity ktx-testing = "1.2.1" # https://developer.android.com/jetpack/androidx/releases/test -lifecycle = "2.8.4" # https://developer.android.com/jetpack/androidx/releases/lifecycle +lifecycle = "2.8.6" # https://developer.android.com/jetpack/androidx/releases/lifecycle fastutil = "8.5.14" # https://github.com/vigna/fastutil/tags ble = "2.8.0" # https://github.com/NordicSemiconductor/Android-BLE-Library/releases ble-scan = "1.6.0" # https://github.com/NordicSemiconductor/Android-Scanner-Compat-Library/releases @@ -49,7 +49,7 @@ ble-kotlin = "1.1.0" # https://github.com/NordicSemiconductor/Kotlin-BLE-Library # don't update to 2.x, unless the ble-kotlin is also updated. PR: https://github.com/arcao/slf4j-timber/pull/12 slf4j = "1.7.36" # https://github.com/qos-ch/slf4j/tags slf4j-timber = "3.1" # https://github.com/arcao/slf4j-timber -lottie = "6.5.1" # https://github.com/airbnb/lottie/blob/master/android-compose.md +lottie = "6.5.2" # https://github.com/airbnb/lottie/blob/master/android-compose.md material = "1.12.0" # https://github.com/material-components/material-components-android/releases splashscreen = "1.1.0-rc01" # https://developer.android.com/jetpack/androidx/releases/core annotations = "1.8.2" # https://developer.android.com/jetpack/androidx/releases/annotation @@ -58,18 +58,18 @@ androidx-core = "1.13.1" # https://developer.android.com/jetpack/androidx/releas datastore = "1.1.1" # https://developer.android.com/topic/libraries/architecture/datastore # https://github.com/vsch/flexmark-java/issues/442 flexmark = "0.42.14" # https://github.com/vsch/flexmark-java/tags -markdown = "0.25.0" # https://github.com/mikepenz/multiplatform-markdown-renderer/releases +markdown = "0.26.0" # https://github.com/mikepenz/multiplatform-markdown-renderer/releases ktor = "2.3.12" # https://ktor.io/ apache-compress = "1.27.1" # https://commons.apache.org/proper/commons-compress/ apache-codec = "1.17.1" # https://mvnrepository.com/artifact/commons-codec/commons-codec -countly = "24.7.2" # https://github.com/Countly/countly-sdk-android/releases +countly = "24.7.4" # https://github.com/Countly/countly-sdk-android/releases grgit-gradle = "8d818b74b9" work = "2.9.1" # https://developer.android.com/jetpack/androidx/releases/work coil = "2.7.0" # https://github.com/coil-kt/coil/releases play-core = "2.1.0" # https://developer.android.com/guide/playcore#java-kotlin-in-app-update decompose = "3.1.0" # https://github.com/arkivanov/Decompose/releases essenty = "2.1.0" # https://github.com/arkivanov/Essenty/releases -zoomable = "1.6.1" #https://github.com/usuiat/Zoomable +zoomable = "1.6.2" #https://github.com/usuiat/Zoomable # Testing junit = "4.13.2" # https://github.com/junit-team/junit4/releases mockito = "5.4.0" # https://github.com/mockito/mockito/releases @@ -79,26 +79,26 @@ mockk = "1.13.12" # https://mockk.io/ # Testing UI espresso-core = "3.6.1" # https://github.com/android/android-test uiautomator = "2.3.0" # https://developer.android.com/training/testing/other-components/ui-automator#set-ui -benchmark-macro-junit4 = "1.3.0" # https://developer.android.com/jetpack/androidx/releases/benchmark -baselineprofile = "1.3.0" # https://developer.android.com/topic/performance/baselineprofiles/overview#recommended-versions -profileinstaller = "1.3.1" # https://developer.android.com/topic/performance/baselineprofiles/overview#recommended-versions +benchmark-macro-junit4 = "1.3.2" # https://developer.android.com/jetpack/androidx/releases/benchmark +baselineprofile = "1.3.2" # https://developer.android.com/topic/performance/baselineprofiles/overview#recommended-versions +profileinstaller = "1.4.1" # https://developer.android.com/topic/performance/baselineprofiles/overview#recommended-versions # Linters -detekt = "1.23.6" # https://detekt.dev/docs/gettingstarted/gradle/ +detekt = "1.23.7" # https://detekt.dev/docs/gettingstarted/gradle/ detekt-ruleset-compiler = "0.0.4" # https://github.com/BraisGabin/detekt-compiler-rules/releases detekt-ruleset-ktlint = "0.50.0" # https://github.com/pinterest/ktlint/releases -detekt-ruleset-compose = "0.4.11" # https://github.com/mrmans0n/compose-rules/releases +detekt-ruleset-compose = "0.4.15" # https://github.com/mrmans0n/compose-rules/releases detekt-ruleset-decompose = "1.0.1" # https://github.com/LionZXY/detekt-decompose-rule/releases # Firebase google-gms-gradle = "4.4.2" # https://developers.google.com/android/guides/google-services-plugin -google-gms-firebase = "24.0.1" # https://firebase.google.com/docs/android/setup#kotlin:~:text=com.google.firebase%3Afirebase%2Dmessaging +google-gms-firebase = "24.0.2" # https://firebase.google.com/docs/android/setup#kotlin:~:text=com.google.firebase%3Afirebase%2Dmessaging # Build Config -buildkonfig = "5.4.0" +buildkonfig = "5.5.0" -wire = "5.0.0" -okio = "3.9.0" +wire = "5.1.0" +okio = "3.9.1" [libraries] # Gradle - Core @@ -157,7 +157,7 @@ compose-pager = { module = "com.google.accompanist:accompanist-pager", version.r compose-pager-indicators = { module = "com.google.accompanist:accompanist-pager-indicators", version.ref = "compose-accompanist" } compose-placeholder = { module = "io.github.fornewid:placeholder-foundation", version.ref = "compose-placeholder" } compose-swipetorefresh = { module = "com.google.accompanist:accompanist-swiperefresh", version.ref = "compose-accompanist" } -compose-constraint = { module = "androidx.constraintlayout:constraintlayout-compose", version.ref = "compose-constraint" } +compose-constraint = { module = "tech.annexflow.compose:constraintlayout-compose-multiplatform", version.ref = "compose-constraint" } compose-paging = { module = "androidx.paging:paging-compose", version.ref = "compose-paging" } compose-drag-drop = { module = "org.burnoutcrew.composereorderable:reorderable", version.ref = "compose-drag-drop" } diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 66cd5a0e49..79eb9d003f 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.10-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.2-all.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME