Releases: flipperdevices/Flipper-Android-App
Releases · flipperdevices/Flipper-Android-App
Flipper App 1.7.1.1752
Remotecontrols/save files api (#951) **Background** Sometimes app can crash when saving files on remote controls screen **Changes** - Replaces saving files with FlipperStorageApi **Test plan** - Open remote controls setup or remote control screen - See files are saving as previous without crash - Optionally delete temp folder
Flipper App 1.7.1.1750
remove share from remote controls (#952) **Background** We can't currently share the ui with ir file **Changes** - Remove share from remote controls screen **Test plan** - Open saved remote control screen - See there's no share option
Flipper App 1.7.1.1748
Fix bottombar bottomsheet (#949) **Background** The bottom sheet on setup remote control is displayed above bottom bar. This pr wrap it inside dialog and shows on top of bottombar **Changes** - Wrap confirm display inside dialog to display it on top of screen **Test plan** - Open setup menu - Press button to see bottomsheet - Press back or yes/no/skip - See it good animated and displayed on top of screen
Flipper App 1.7.1.1736
Remotecontrols/dialogs (#942) **Background** On new remote-controls screen we don't have much dialogs to determine current flipper conditions. This PR adds new dialogs to improve the situation **Changes** - Add dialogs into remote-controls for NotSupported/Busy/NotConnected - Move remotecontrols into bottombar **Test plan** - Open some saved remote or new remote with flipper disconnected or busy - try press button and see dialog
Flipper App 1.7.1.1726
Fix infinite dispatch (#932) **Background** Remote controls screens dispatching signals even when screen is closed. This PR introduces fix for this behaviour **Changes** - Fix infinite dispatch on infrareds screen - Move CloseEmulateAppTaskHolder into api - Fix self-hosted runners on release workflow **Test plan** - Open remote-controls setup or remote-control screen - Press emulate and close screen - See emulaste work is stopped
Flipper App 1.7.1.1724
Fix wrong animation confirm setup (#933) **Background** On setup screen of infrared remotes bottom sheet animation has bad behaviour on state change **Changes** - Use transitions to implement target state and current state for bottom sheet animation **Test plan** - Open setup screen - Press button, waith for bottom sheet opened with beautiful animation - Click yes or no and see another beautiful close animation
Flipper App 1.7.1.1722
Update all dependencies (#930) This PR contains the following updates: | Package | Type | Update | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---|---|---| | actions/upload-artifact | action | digest | `834a144` -> `5076954` | | | | | | [io.nlopez.compose.rules:detekt](https://togithub.com/mrmans0n/compose-rules) | dependencies | patch | `0.4.10` -> `0.4.11` | [![age](https://developer.mend.io/api/mc/badges/age/maven/io.nlopez.compose.rules:detekt/0.4.11?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.11?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.10/0.4.11?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.10/0.4.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [com.airbnb.android:lottie-compose](https://togithub.com/airbnb/lottie-android) | dependencies | patch | `6.5.0` -> `6.5.1` | [![age](https://developer.mend.io/api/mc/badges/age/maven/com.airbnb.android:lottie-compose/6.5.1?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.1?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.0/6.5.1?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.0/6.5.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [org.jetbrains.kotlinx:kotlinx-serialization-json](https://togithub.com/Kotlin/kotlinx.serialization) | dependencies | patch | `1.7.1` -> `1.7.2` | [![age](https://developer.mend.io/api/mc/badges/age/maven/org.jetbrains.kotlinx:kotlinx-serialization-json/1.7.2?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.2?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.2?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.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [com.google.protobuf:protoc](https://developers.google.com/protocol-buffers/) ([source](https://togithub.com/protocolbuffers/protobuf)) | dependencies | minor | `4.27.3` -> `4.28.0` | [![age](https://developer.mend.io/api/mc/badges/age/maven/com.google.protobuf:protoc/4.28.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.google.protobuf:protoc/4.28.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.google.protobuf:protoc/4.27.3/4.28.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.google.protobuf:protoc/4.27.3/4.28.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [com.google.protobuf:protobuf-kotlin-lite](https://developers.google.com/protocol-buffers/) ([source](https://togithub.com/protocolbuffers/protobuf)) | dependencies | minor | `4.27.3` -> `4.28.0` | [![age](https://developer.mend.io/api/mc/badges/age/maven/com.google.protobuf:protobuf-kotlin-lite/4.28.0?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.0?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.27.3/4.28.0?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.27.3/4.28.0?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.5.2` -> `8.6.0` | [![age](https://developer.mend.io/api/mc/badges/age/maven/com.android.test/8.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.android.test/8.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.android.test/8.5.2/8.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.android.test/8.5.2/8.6.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.5.2` -> `8.6.0` | [![age](https://developer.mend.io/api/mc/badges/age/maven/com.android.library/8.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.android.library/8.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.android.library/8.5.2/8.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.android.library/8.5.2/8.6.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.5.2` -> `8.6.0` | [![age](https://developer.mend.io/api/mc/badges/age/maven/com.android.application/8.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.android.application/8.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.android.application/8.5.2/8.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.android.application/8.5.2/8.6.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.5.2` -> `8.6.0` | [![age](https://developer.mend.io/api/mc/badges/age/maven/com.android.tools.build:gradle/8.6.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.6.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.5.2/8.6.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.5.2/8.6.0?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 <details> <summary>mrmans0n/compose-rules (io.nlopez.compose.rules:detekt)</summary> ### [`v0.4.11`](https://togithub.com/mrmans0n/compose-rules/releases/tag/v0.4.11) #### Changelog - Fix false positive in LambdaParameterInRestartableEffect ([#​328](https://togithub.com/mrmans0n/compose-rules/issues/328)) [@​mrmans0n](https://togithub.com/mrmans0n) - Update dependency org.jetbrains.kotlin.jvm to v2.0.20 ([#​324](https://togithub.com/mrmans0n/compose-rules/issues/324)) [@​renovate](https://togithub.com/renovate) - Remove context receivers ([#​326](https://togithub.com/mrmans0n/compose-rules/issues/326)) [@​mrmans0n](https://togithub.com/mrmans0n) - Simplify and optimize ModifierNotUsedAtRoot ([#​323](https://togithub.com/mrmans0n/compose-rules/issues/323)) [@​mrmans0n](https://togithub.com/mrmans0n) - Process kts files with Spotless as well ([#​322](https://togithub.com/mrmans0n/compose-rules/issues/322)) [@​mrmans0n](https://togithub.com/mrmans0n) - Update plugin com.gradle.develocity to v3.18 ([#​321](https://togithub.com/mrmans0n/compose-rules/issues/321)) [@​renovate](https://togithub.com/renovate) - Update dependency gradle to v8.10 ([#​320](https://togithub.com/mrmans0n/compose-rules/issues/320)) [@​renovate](https://togithub.com/renovate) - Update junit5 monorepo to v5.11.0 ([#​319](https://togithub.com/mrmans0n/compose-rules/issues/319)) [@​renovate](https://togithub.com/renovate) </details> <details> <summary>airbnb/lottie-android (com.airbnb.android:lottie-compose)</summary> ### [`v6.5.1`](https://togithub.com/airbnb/lottie-android/blob/HEAD/CHANGELOG.md#651) ##### Bugs Fixed - Fix value callback is not called for PathKeyframeAnimation ([#​2540](https://togithub.com/airbnb/lottie-android/pull/2540)) - Fix shadow softness accuracy ([#​2541](https://togithub.com/airbnb/lottie-android/pull/2541)) - Add a global configuration to control reduced motion settings for a11y ([#​2536](https://togithub.com/airbnb/lottie-android/pull/2536)) - Fix a NPE on ImageAssetManager#getContext ([#​2532](https://togithub.com/airbnb/lottie-android/pull/2532)) - Improve strokes with skew ([#​2531](https://togithub.com/airbnb/lottie-android/pull/2531)) - LottieCompositionFactory: Avoid NPE when animation contains a Font Family and Context is null ([#​2530](https://togithub.com/airbnb/lottie-android/pull/2530)) - LottieCompositionFactory: Add factory methods that take an okio Source ([#​2527](https://togithub.com/airbnb/lottie-android/pull/2527)) - LottieCompositionFactory#fromZipStreamSyncInternal close FileOutputStream ([#​2548](https://togithub.com/airbnb/lottie-android/pull/2548)) </details> <details> <summary>Kotlin/kotlinx.serialization (org.jetbrains.kotlinx:kotlinx-serialization-json)</summary> ### [`v1.7.2`](https://togithub.com/Kotlin/kotlinx.serialization/blob/HEAD/CHANGELOG.md#172--2024-08-28) \================== This release provides several new features, including a major Cbor configuration rework. It uses Kotlin 2.0.20 by default. #### Cbor feature set for COSE compliance This change brings a lot of features to the CBOR format, namely: - Serial Labels — see `@CborLabel` annotation and `preferCborLabelsOverNames` flag. - Tagging of keys and values — see `encode*Tags` and `verify*Tags` set of flags - Definite length encoding — see `useDefiniteLengthEncoding`. This flag affects object encoding, since decoding of arrays with definite lenghts is automatically supported. - Option to globally prefer major type 2 for byte array encoding — see `alwaysUseByteString` flag. Since there are quite a lot of flags now, they were restructured to a separate `CborConfiguration` class, similarly to `JsonConfiguration`. It is possible to retrieve this configuration from `CborEncoder/CborDecoder` interfaces in your custom serializers (see their documentation for details). All of these features make it possible to serialize and parse [COSE-compliant CBOR](https://datatracker.ietf.org/doc/html/rfc8152), for example, ISO/IEC 18013-5:2021-compliant mobile driving license data. In case you want to make use of them, there is a predefined `Cbor.CoseCompliant` instance. However, some canonicalization steps (such as sorting keys) still need to be performed manually. This functionality [was contributed](https://togithub.com/Kotlin/kotlinx.serialization/pull/2412) to us by [Bernd Prünster](https://togithub.com/JesusMcCloud). #### Keeping generated serializers One of the most requested features for serialization plugin was to continue to generate a serializer even if a custom one is specified for the class. It allows using a plugin-generated serializer in a fallback or delegate strategy, accessing type structure via descriptor, using default serialization behavior in inheritors that do not use custom serializers. Starting with this release, you can specify the `@KeepGeneratedSerializer` annotation on the class declaration to instruct the plugin to continue generating the serializer. In this case, the serializer will be accessible using the `.generatedSerializer()` function on the class's companion object. > This annotation is currently experimental. Kotlin 2.0.20 or higher is required for this feature to work. You can check out the examples in [the documentation](docs/serializers.md#simultaneous-use-of-plugin-generated-and-custom-serializers) and in the PRs: [#​2758](https://togithub.com/Kotlin/kotlinx.serialization/pull/2758), [#​2669](https://togithub.com/Kotlin/kotlinx.serialization/pull/2669). #### Serializer for kotlin.uuid.Uuid Kotlin 2.0.20 [added](https://kotlinlang.org/docs/whatsnew2020.html#support-for-uuids-in-the-common-kotlin-standard-library) a common class to represent UUIDs in a multiplatform code. kotlinx.serialization 1.7.2 provides a corresponding `Uuid.serializer()` for it, making it possible to use it in `@Serializable` classes. Note that for now, serializer should be provided manually with [`@Contextual` annotation](https://togithub.com/Kotlin/kotlinx.serialization/blob/master/docs/serializers.md#contextual-serialization). Plugin will be able to automatically insert `Uuid` serializer in Kotlin 2.1.0. See more details in the [corresponding PR](https://togithub.com/Kotlin/kotlinx.serialization/pull/2744). #### Other bugfixes and improvements - Prohibited using of zero and negative field numbers in ProtoNumber ([#​2766](https://togithub.com/Kotlin/kotlinx.serialization/issues/2766)) - Improve readability of protobuf decoding exception messages ([#​2768](https://togithub.com/Kotlin/kotlinx.serialization/issues/2768)) (thanks to [xiaozhikang0916](https://togithub.com/xiaozhikang0916)) - docs(serializers): Fix grammatical errors ([#​2779](https://togithub.com/Kotlin/kotlinx.serialization/issues/2779)) (thanks to [jamhour1g](https://togithub.com/jamhour1g)) - Fixed VerifyError after ProGuard optimization ([#​2728](https://togithub.com/Kotlin/kotlinx.serialization/issues/2728)) - Add wasm-wasi target to Okio integration ([#​2727](https://togithub.com/Kotlin/kotlinx.serialization/issues/2727)) </details> --- ### 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://togithub.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] <!-- rebase-check -->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). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC41Ni4wIiwidXBkYXRlZEluVmVyIjoiMzguNTYuMCIsInRhcmdldEJyYW5jaCI6ImRldiIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Flipper App 1.7.1.1720
Migrate :bridge:synchronization, :core:ktx and :core:theme to KMP (#929) **Background** Right now we can't move forward with the new transport API without migrating to KMP **Changes** - Migrate `:bridge:synchronization:ui` to KMP - Migrate `:bridge:synchronization:api` to KMP - Migrate `:core:ktx` to KMP - Migrate `:core:theme` to KMP - Remove parcelize from almost all modules and add `:core:kmpparcelizable` **Test plan** Try build app
Flipper App 1.7.1.1718
Update ci to github runners (#921) **Background** The github runners have [been updated](https://docs.github.com/en/actions/using-github-hosted-runners/using-github-hosted-runners/about-github-hosted-runners#standard-github-hosted-runners-for-public-repositories) to more powerful. The new runners should have required amount of RAM to handle the project of current state. **Changes** - Replace self-hosted runners and replace with github runners ubuntu-latest - Update some jobs to matrix for concurrency run **Test plan** Let's see some of the workflows is fine: - Check current PR is ok - Check PR is ok [HERE](https:/makeevrserg/Flipper-Android-App/actions/runs/10430363915) - Check that assemble is ok [HERE](https:/makeevrserg/Flipper-Android-App/actions/runs/10430365770)
Flipper App 1.7.1.1716
Fix flaky test InstalledFapsUidsProducerTest (#928) **Background** Right now our tests sometimes flaky **Changes** Fix race condition in InstalledFapsUidsProducerTest **Test plan** Try launch InstalledFapsUidsProducerTest test