Skip to content

Releases: flipperdevices/Flipper-Android-App

Flipper App 1.7.1.1752

13 Sep 11:50
46140b1
Compare
Choose a tag to compare
Pre-release
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

13 Sep 10:28
00dceff
Compare
Choose a tag to compare
Pre-release
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

13 Sep 07:10
e5f7abf
Compare
Choose a tag to compare
Pre-release
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

09 Sep 14:50
e6f2aff
Compare
Choose a tag to compare
Pre-release
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

03 Sep 13:37
bc44fe2
Compare
Choose a tag to compare
Pre-release
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

03 Sep 12:56
72dac16
Compare
Choose a tag to compare
Pre-release
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

30 Aug 14:35
df9ad41
Compare
Choose a tag to compare
Pre-release
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
([#&#8203;328](https://togithub.com/mrmans0n/compose-rules/issues/328))
[@&#8203;mrmans0n](https://togithub.com/mrmans0n)
- Update dependency org.jetbrains.kotlin.jvm to v2.0.20
([#&#8203;324](https://togithub.com/mrmans0n/compose-rules/issues/324))
[@&#8203;renovate](https://togithub.com/renovate)
- Remove context receivers
([#&#8203;326](https://togithub.com/mrmans0n/compose-rules/issues/326))
[@&#8203;mrmans0n](https://togithub.com/mrmans0n)
- Simplify and optimize ModifierNotUsedAtRoot
([#&#8203;323](https://togithub.com/mrmans0n/compose-rules/issues/323))
[@&#8203;mrmans0n](https://togithub.com/mrmans0n)
- Process kts files with Spotless as well
([#&#8203;322](https://togithub.com/mrmans0n/compose-rules/issues/322))
[@&#8203;mrmans0n](https://togithub.com/mrmans0n)
- Update plugin com.gradle.develocity to v3.18
([#&#8203;321](https://togithub.com/mrmans0n/compose-rules/issues/321))
[@&#8203;renovate](https://togithub.com/renovate)
- Update dependency gradle to v8.10
([#&#8203;320](https://togithub.com/mrmans0n/compose-rules/issues/320))
[@&#8203;renovate](https://togithub.com/renovate)
- Update junit5 monorepo to v5.11.0
([#&#8203;319](https://togithub.com/mrmans0n/compose-rules/issues/319))
[@&#8203;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
([#&#8203;2540](https://togithub.com/airbnb/lottie-android/pull/2540))
- Fix shadow softness accuracy
([#&#8203;2541](https://togithub.com/airbnb/lottie-android/pull/2541))
- Add a global configuration to control reduced motion settings for a11y
([#&#8203;2536](https://togithub.com/airbnb/lottie-android/pull/2536))
- Fix a NPE on ImageAssetManager#getContext
([#&#8203;2532](https://togithub.com/airbnb/lottie-android/pull/2532))
- Improve strokes with skew
([#&#8203;2531](https://togithub.com/airbnb/lottie-android/pull/2531))
- LottieCompositionFactory: Avoid NPE when animation contains a Font
Family and Context is null
([#&#8203;2530](https://togithub.com/airbnb/lottie-android/pull/2530))
- LottieCompositionFactory: Add factory methods that take an okio Source
([#&#8203;2527](https://togithub.com/airbnb/lottie-android/pull/2527))
- LottieCompositionFactory#fromZipStreamSyncInternal close
FileOutputStream
([#&#8203;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:
[#&#8203;2758](https://togithub.com/Kotlin/kotlinx.serialization/pull/2758),
[#&#8203;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
([#&#8203;2766](https://togithub.com/Kotlin/kotlinx.serialization/issues/2766))
- Improve readability of protobuf decoding exception messages
([#&#8203;2768](https://togithub.com/Kotlin/kotlinx.serialization/issues/2768))
(thanks to [xiaozhikang0916](https://togithub.com/xiaozhikang0916))
- docs(serializers): Fix grammatical errors
([#&#8203;2779](https://togithub.com/Kotlin/kotlinx.serialization/issues/2779))
(thanks to [jamhour1g](https://togithub.com/jamhour1g))
- Fixed VerifyError after ProGuard optimization
([#&#8203;2728](https://togithub.com/Kotlin/kotlinx.serialization/issues/2728))
- Add wasm-wasi target to Okio integration
([#&#8203;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

30 Aug 13:36
a915b06
Compare
Choose a tag to compare
Pre-release
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

28 Aug 16:21
5345398
Compare
Choose a tag to compare
Pre-release
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

28 Aug 09:41
9ecb62a
Compare
Choose a tag to compare
Pre-release
Fix flaky test InstalledFapsUidsProducerTest (#928)

**Background**

Right now our tests sometimes flaky

**Changes**

Fix race condition in InstalledFapsUidsProducerTest

**Test plan**

Try launch InstalledFapsUidsProducerTest test