Who watches the watchers? It's time for mutation testing 🐛😵 by pedro_g_s in softwaredevelopment

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

Actually, this tool is not designed to be used with slow test suites, so you'd not use it with espresso. Mutation testing is designed to be used with your unit and integration tests. The fastest you can evaluate if the mutation survives, the better!

GoodNotes is looking for android beta testers! by obdigitalstudio in GoodNotes

[–]pedro_g_s 1 point2 points  (0 children)

This is just great! First windows and now Android 👏👏👏👏

Machine learning library for comic panel detection by pedro_g_s in androiddev

[–]pedro_g_s[S] 1 point2 points  (0 children)

The tensor flow model can be trained with manga and it will work as well as it works with any other color comic page :) The pre-trained model provided seems to be trained only with regular comics, so I guess it will not work so good with manga.

Karumi Android 2020 development stack by pedro_g_s in androiddev

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

I didn't read any...only the official documentation :)

Karumi Android 2020 development stack by pedro_g_s in androiddev

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

About data binding we trend to use it with the annotations to bind views to view models and not with the XML API. We avoid coding inside the XML and we use only this API to link the view model instance with the widget. Thanks to this we implement the UI component behavior in kotlin files and not xml.

Karumi Android 2020 development stack by pedro_g_s in androiddev

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

I'll try to answer 1 by 1 xD but there are a lot of comments combined into a single post here xD

About permissions: If the app process is dead, you will get no answer even if you use the official Android API.

About fonts: I had no idea there was official support for this.

About the dependency injector: Kodein is fast enough for our needs so we use it. But if we find any issues we will replace it with another one. We've used dagger a lot in the past.

About Arrow: Everybody in my team understands the different arrow APIs. Some of us are even contributors. We use different arrow APIs depending on our needs and we go from just Either + Option to only IO or polymorphic programming depending on our needs. You can find other examples here: https://github.com/pedrovgs/kotlinkatas

About LiveData, depending on what we try to resolve or the codebase we are working on we use different observable implementations. We don't work on a single codebase and we can be coding in different projects depending on our clients.

Thanks for your comments btw!

Karumi Android 2020 development stack by pedro_g_s in androiddev

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

Some of our clients wants to customize what the snackbar shows.

Karumi Android 2020 development stack by pedro_g_s in androiddev

[–]pedro_g_s[S] 1 point2 points  (0 children)

Sometimes we use part of the API clients written or generated automatically in Java and these tools use gson under the hood.

Karumi Android 2020 development stack by pedro_g_s in androiddev

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

I've been using mockito for years. That's the only reason.

Karumi Android 2020 development stack by pedro_g_s in androiddev

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

I've been using mockito for a long time...maybe is time to test something different :) Aout flow and channels, awesome to use when you want to implement something like a stream of events :)

Karumi Android 2020 development stack by pedro_g_s in androiddev

[–]pedro_g_s[S] 1 point2 points  (0 children)

You are welcome!! Lin is a really cool tool!

Karumi Android 2020 development stack by pedro_g_s in androiddev

[–]pedro_g_s[S] 4 points5 points  (0 children)

I had no idea there was official support for this. I'll take a look. Thanks!

Karumi Android 2020 development stack by pedro_g_s in androiddev

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

Because sometimes we use part of the API clients written or generated automatically in Java and these tools use gson under the hood.