# Patryk Kosieradzki

Zobacz jak tworzyć solidne i bezpieczne aplikacje na Androida i iOS. Od solidnej architektury po bezpieczeństwo aplikacji mobilnych.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## Comparing Objects in Swift Using the Equatable Protocol

DevFeed: [Comparing Objects in Swift Using the Equatable Protocol](<https://devfeed.tech/articles/comparing-objects-in-swift-using-the-equatable-protocol-25519.md>)

Original publisher: [Read original article](<https://patrykkosieradzki.com/comparing-objects-in-swift-using-the-equatable-protocol>)

Published: 2024-04-16T00:00:00Z

Content type: tutorial

Language: en

Sources: [Patryk Kosieradzki](<https://devfeed.tech/sources/patryk-kosieradzki.md>)

Topics: [Swift](<https://devfeed.tech/topics/swift.md>), [Protocol (disambiguation)](<https://devfeed.tech/topics/protocol.md>), [Code](<https://devfeed.tech/topics/code.md>)

Tags: [code](<https://devfeed.tech/tags/code.md>), [compiler](<https://devfeed.tech/tags/compiler.md>), [enums](<https://devfeed.tech/tags/enums.md>), [examples](<https://devfeed.tech/tags/examples.md>), [extensions](<https://devfeed.tech/tags/extensions.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [implementation](<https://devfeed.tech/tags/implementation.md>), [ios](<https://devfeed.tech/tags/ios.md>), [libraries](<https://devfeed.tech/tags/libraries.md>), [object](<https://devfeed.tech/tags/object.md>), [protocol](<https://devfeed.tech/tags/protocol.md>), [standard-library](<https://devfeed.tech/tags/standard-library.md>), [swift](<https://devfeed.tech/tags/swift.md>), [types](<https://devfeed.tech/tags/types.md>), [xcode](<https://devfeed.tech/tags/xcode.md>)

### AI overview

This tutorial explains how to compare objects in Swift with the Equatable protocol. It covers compiler-synthesized conformance, requirements for stored properties and enum values, extensions for external types, and custom comparison logic.

### Source excerpt

How to improve object comparison in Swift using the Equatable protocol? See it in concrete examples.

## How to Fix Keyboard Issues Introduced in the Latest Jetpack Compose (1.4.0)

DevFeed: [How to Fix Keyboard Issues Introduced in the Latest Jetpack Compose (1.4.0)](<https://devfeed.tech/articles/how-to-fix-keyboard-issues-introduced-in-the-latest-jetpack-compose-1-4-0-25521.md>)

Original publisher: [Read original article](<https://patrykkosieradzki.com/how-to-fix-keyboard-issues-introduced-in-the-latest-jetpack-compose-1-4-0>)

Published: 2023-03-31T00:00:00Z

Content type: tutorial

Language: en

Sources: [Patryk Kosieradzki](<https://devfeed.tech/sources/patryk-kosieradzki.md>)

Topics: [Jetpack Compose](<https://devfeed.tech/topics/jetpack-compose.md>), [bug](<https://devfeed.tech/topics/bug.md>), [Code](<https://devfeed.tech/topics/code.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [bug](<https://devfeed.tech/tags/bug.md>), [code](<https://devfeed.tech/tags/code.md>), [compose](<https://devfeed.tech/tags/compose.md>), [dialog](<https://devfeed.tech/tags/dialog.md>), [jetpack-compose](<https://devfeed.tech/tags/jetpack-compose.md>), [keyboard](<https://devfeed.tech/tags/keyboard.md>), [regression](<https://devfeed.tech/tags/regression.md>)

### AI overview

A troubleshooting tutorial about a keyboard regression in Jetpack Compose 1.4.0. The article demonstrates that the keyboard does not appear for text fields in DialogFragments containing ComposeView, investigates the problem through the Google Issue Tracker, and discusses the relevant code setup and fix.

### Source excerpt

Non-working keyboard in the latest version of Jetpack Compose - another case of keyboard issues in Compose.

## Dagger/Hilt vs. Koin for Jetpack Compose Apps

DevFeed: [Dagger/Hilt vs. Koin for Jetpack Compose Apps](<https://devfeed.tech/articles/dagger-hilt-vs-koin-for-jetpack-compose-apps-25520.md>)

Original publisher: [Read original article](<https://patrykkosieradzki.com/dagger-hilt-vs-koin-dependency-injection-for-jetpack-compose-apps>)

Published: 2022-03-13T00:00:00Z

Content type: comparison

Language: en

Sources: [Patryk Kosieradzki](<https://devfeed.tech/sources/patryk-kosieradzki.md>)

Topics: [Dagger](<https://devfeed.tech/topics/dagger.md>), [Dependency injection](<https://devfeed.tech/topics/dependency-injection.md>), [Jetpack Compose](<https://devfeed.tech/topics/jetpack-compose.md>), [Android](<https://devfeed.tech/topics/android.md>), [interoperability](<https://devfeed.tech/topics/interoperability.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [comparison](<https://devfeed.tech/tags/comparison.md>), [dagger](<https://devfeed.tech/tags/dagger.md>), [dagger-hilt](<https://devfeed.tech/tags/dagger-hilt.md>), [dependency-injection](<https://devfeed.tech/tags/dependency-injection.md>), [interoperability](<https://devfeed.tech/tags/interoperability.md>), [jetpack-compose](<https://devfeed.tech/tags/jetpack-compose.md>), [koin](<https://devfeed.tech/tags/koin.md>)

### AI overview

A comparison of Dagger/Hilt and Koin for dependency injection in Jetpack Compose Android applications. It discusses code generation, build and runtime considerations, Google's recommendation of Hilt, and two Compose integration approaches: pure Compose with navigation-compose or Fragments with ComposeView.

### Source excerpt

A detailed comparison of using Hilt versus Koin for dependency injection in Jetpack Compose applications.

## Navigation-Compose and Fragments in Jetpack Compose: Experience and Trade-offs

DevFeed: [Navigation-Compose and Fragments in Jetpack Compose: Experience and Trade-offs](<https://devfeed.tech/articles/why-using-navigation-compose-in-your-jetpack-compose-app-is-a-bad-idea-25523.md>)

Original publisher: [Read original article](<https://patrykkosieradzki.com/why-using-navigation-compose-in-your-jetpack-compose-app-is-a-bad-idea>)

Published: 2022-02-13T00:00:00Z

Content type: opinion

Language: en

Sources: [Patryk Kosieradzki](<https://devfeed.tech/sources/patryk-kosieradzki.md>)

Topics: [Jetpack Compose](<https://devfeed.tech/topics/jetpack-compose.md>), [navigation](<https://devfeed.tech/topics/navigation.md>), [Android](<https://devfeed.tech/topics/android.md>), [Compose](<https://devfeed.tech/topics/compose.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [jetpack-compose](<https://devfeed.tech/tags/jetpack-compose.md>), [navigation](<https://devfeed.tech/tags/navigation.md>), [navigation-component](<https://devfeed.tech/tags/navigation-component.md>), [opinion](<https://devfeed.tech/tags/opinion.md>)

### AI overview

The article compares Navigation-Compose with Fragments for navigation in Jetpack Compose applications. Based on the author's experience, it discusses concerns about route paths and navigation arguments, while presenting the author's opinion on the trade-offs of each approach.

### Source excerpt

Navigation Compose issues that will break your Android app and how to avoid them.

## Make sure to update your StateFlow safely in Kotlin!

DevFeed: [Make sure to update your StateFlow safely in Kotlin!](<https://devfeed.tech/articles/make-sure-to-update-your-stateflow-safely-in-kotlin-25522.md>)

Original publisher: [Read original article](<https://patrykkosieradzki.com/make-sure-to-update-your-stateflow-safely-in-kotlin>)

Published: 2021-07-25T00:00:00Z

Content type: tutorial

Language: en

Sources: [Patryk Kosieradzki](<https://devfeed.tech/sources/patryk-kosieradzki.md>)

Topics: [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [kotlin-coroutines](<https://devfeed.tech/topics/kotlin-coroutines.md>), [Coroutines](<https://devfeed.tech/topics/coroutines.md>), [Concurrency](<https://devfeed.tech/topics/concurrency.md>), [Android](<https://devfeed.tech/topics/android.md>), [Code](<https://devfeed.tech/topics/code.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [code](<https://devfeed.tech/tags/code.md>), [concurrency](<https://devfeed.tech/tags/concurrency.md>), [coroutines](<https://devfeed.tech/tags/coroutines.md>), [data-class](<https://devfeed.tech/tags/data-class.md>), [flow](<https://devfeed.tech/tags/flow.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [kotlin-coroutines](<https://devfeed.tech/tags/kotlin-coroutines.md>), [viewmodel](<https://devfeed.tech/tags/viewmodel.md>)

### AI overview

This Kotlin tutorial explains how concurrent updates to MutableStateFlow can lose changes when state is copied and emitted manually. It presents the Kotlin Coroutines update, updateAndGet, and getAndUpdate methods, which retry updates using compareAndSet to safely handle concurrent changes.

### Source excerpt

StateFlow is a common choice for storing app state in Android, e.g., view state. But do you know how to use it correctly?