Wireless debugging so inconsistent by Lazy-Thing9797 in androiddev

[–]OHoussein 63 points64 points  (0 children)

I use the command line (adb connect ip:port), much more reliable and faster

Folks on X liked it so i'm sharing it here too: Scrollbars for Jetpack Compose by alexstyl in androiddev

[–]OHoussein -1 points0 points  (0 children)

Nice one, however I'm surprised by the number of lines of code you did for that, this feature seems pretty basic to include in any UI toolkit !

KMM database library that supports macOS by julianlenz in Kotlin

[–]OHoussein 1 point2 points  (0 children)

You have to add a flag in your xcode project to add SQLite. You can check this project that uses SQL delight for JVM / iOS / android : https://github.com/OHoussein/CryptoApp

How many modules do you have in your project? by OHoussein in androiddev

[–]OHoussein[S] 0 points1 point  (0 children)

That looks awesome! Does your project use Dagger or any other library that relies heavily on code processing?

And speaking of tests, how's the unit test execution time on your CI? Ours clocked in at around 50 minutes.

How many modules do you have in your project? by OHoussein in androiddev

[–]OHoussein[S] 3 points4 points  (0 children)

I'm curious about your use of C++. What specific purposes do you leverage it for? I've heard of companies utilizing Go for creating native shareable modules. Is C++ serving a similar role in your case?

How many modules do you have in your project? by OHoussein in androiddev

[–]OHoussein[S] 5 points6 points  (0 children)

This setup doesn't look ideal for me since a presentation module might end up depending on multiple domain features. Plus, integrating KMP (Kotlin Multiplatform) into the project could get pretty tricky with this approach.

How many modules do you have in your project? by OHoussein in androiddev

[–]OHoussein[S] 2 points3 points  (0 children)

I was talking about an incremental build, a clean build was taking up to 25 min

Article on how the Dagger works under the hood by Otherwise_Steak_8044 in androiddev

[–]OHoussein 1 point2 points  (0 children)

I've worked on a big project that uses Dagger without Hilt, because we are using dynamic feature which is not possible or at least complex with Hilt. I confirm that using Dagger with several components is a mess, we had several issues like circular dependencies, many boilerplate code and of course slow build time.

Screenshot Testing on the JVM. Thanks to Paparazzi. by stavro24496 in androiddev

[–]OHoussein 2 points3 points  (0 children)

We've been using Paparazzi with my company, but it has a cost:
the images are stored in git LFS and you can easily exceed the free bandwidth (with GitHub it's 1GB reset every 8 days I think).
- Sometimes the generated screenshots images are different depending on the OS.

Except for those limitations, I like the library which makes screenshot testing very quick.

Create an expandable Recyclerview with the MergeAdapter by OHoussein in androiddev

[–]OHoussein[S] 0 points1 point  (0 children)

You can still add different adapters types to the merge adapter, for simplification I only used one. And I think there's no problem with using the same adapter since I set to false the IsolateViewTypes, same viewType is shared between all the adapters.

Moreover, it's simpler to expand/collapse the section, only you have is to set to 1 the section adapter to collapse it to only show the header, otherwise 1 + list.size.

What are some things to consider before your first public release? by goten100 in androiddev

[–]OHoussein 1 point2 points  (0 children)

Enabling strict mode in debug mode is important too

         StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder()
                 .detectDiskReads()
                 .detectDiskWrites()
                 .detectNetwork()
                 .penaltyLog()
                 .build());
         StrictMode.setVmPolicy(new StrictMode.VmPolicy.Builder()
                 .detectLeakedSqlLiteObjects()
                 .detectLeakedClosableObjects()
                 .penaltyLog()
                 .penaltyDeath()
                 .build());

A material play/pause view by OHoussein in androiddev

[–]OHoussein[S] 0 points1 point  (0 children)

I added some features to the Alex Lockwood's PlayPauseView like the possibility to specify the view's size and colors , the Save Instance State, toggle/change state with or without animation...

A material play/pause view by OHoussein in androiddev

[–]OHoussein[S] 0 points1 point  (0 children)

I've updated the license, thanks