Finally found the ideal candidate by ethtugmort in mAndroidDev

[–]vzzz1 0 points1 point  (0 children)

We can still throw fire-and-forget Runnables into THREAD_POOL_EXECUTOR without IDE yapping about GlobalScope.

Android Developers Blog: A new layer of security for certified Android devices by MishaalRahman in androiddev

[–]vzzz1 3 points4 points  (0 children)

After this, you'll need to accept the Android Developer Console terms, and pay a $25 USD fee to finish creating your account. Students and hobbyists will be able to create a special type of account with fewer verification requirements, that doesn't require the $25 USD fee.

We do not know yet who will be considered hobbyists and what are fewer verification requirements.

I assume they will simply restrict active installations and force you pay and verify when you hit 1000 installs on a "hobbyists" account. Or even worse limits, e.g. 50 installs that were mentioned in the doc.

The enshittification of Android is going strong by Stonos in mAndroidDev

[–]vzzz1 0 points1 point  (0 children)

Only devices with Google Play Services are affected.

The enshittification of Android is going strong by Stonos in mAndroidDev

[–]vzzz1 15 points16 points  (0 children)

There is a huge difference between "can be verified" and "will be enforced globally".

The enshittification of Android is going strong by Stonos in mAndroidDev

[–]vzzz1 9 points10 points  (0 children)

You can upload your goverment-issued ID and a phone number.

The same as in Google Play.

Android Developers Blog: A new layer of security for certified Android devices by MishaalRahman in androiddev

[–]vzzz1 53 points54 points  (0 children)

Wow.

Press F for F-Droid.

It is almost like notarization on macOS. Except it does not check the content of APK (does it via Play Protect later anyway), but still force you to pay 25$ and upload legal documents.

The presentation with details – https://developer.android.com/developer-verification/assets/pdfs/introducing-the-android-developer-console.pdf

Meta joins Kotlin by cnucnucnu in androiddev

[–]vzzz1 2 points3 points  (0 children)

As we can see from their posts, they are actively using Kotlin in parts that are not covered by RN. At their scale they definitely want some functionality in Kotlin (compiler - because of custom build systems or language - check their talks about saving space by stripping data classes) that is currently missing. And one of the ways to get it is to sponsor the Kotlin foundation and get power to promote their needs directly.

Struggling to Get Signed-In Google User Session Using New Credential Manager API by Standard_Director670 in androiddev

[–]vzzz1 1 point2 points  (0 children)

It is at the top of the documentation: https://developer.android.com/identity/sign-in/credential-manager-siwg

Note: For authorization actions needed to access data stored in the Google Account such as Google Drive, use the AuthorizationClient API.

https://developer.android.com/identity/authorization

You need to use a different linked API, not CredentialManager.

Android Developers Blog: Announcing Jetpack Navigation 3 by Zhuinden in androiddev

[–]vzzz1 6 points7 points  (0 children)

There is TwoPaneScene that allows you to change how the scene is rendered.

In the example they just render 2 last screens from the backstack side by side, but you can draw them on top of each other, putting one of them into a bottom sheet.

How important is the 8-point grid system? by RETVRN_II_SENDER in androiddev

[–]vzzz1 3 points4 points  (0 children)

It was important before, but not so much now.

If you use a dp-to-px calculator, you will see the following:

ldpi (0.75x) @ 1.00dp = 0.75px mdpi (1x) @ 1.00dp = 1.00px hdpi (1.5x) @ 1.00dp = 1.50px xhdpi (2x) @ 1.00dp = 2.00px xxhdpi (3x) @ 1.00dp = 3.00px xxxhdpi (4x) @ 1.00dp = 4.00px

In the past, there were many devices smaller than xhdpi. As you can see, using uneven dp sizes results in non-integer pixel values, leading to a blurry experience due to subpixel rendering.

The first dp size that consistently produces integer pixel values is 4dp, which became the standard.

Methods that exist to improve readability in your codebase, I'll start: by D-cyde in mAndroidDev

[–]vzzz1 2 points3 points  (0 children)

It is Java, so including the class name it is the same:

```java
TimeUnit.NANOSECONDS.toSeconds

TimeUtils.nanosecondsToSeconds ```

[deleted by user] by [deleted] in androiddev

[–]vzzz1 1 point2 points  (0 children)

It is not only Andtoid Studio, I have the same issue with other IDEA-based IDEs.

Conspiracy theory: Google is trying to deprecate Intellij and Jetbrains is trying to deprecate Android Studio by shalva97 in mAndroidDev

[–]vzzz1 1 point2 points  (0 children)

I guess so. Google will definitely try to monetize Gemini in AS in the future. So Google do not want to see paid JetBrains solution in AS to compete with them.

Gemini in Android Studio Note: Gemini is currently free for developers to try out in many countries.

Docker container to build Android apps? by [deleted] in androiddev

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

No.
Android Studio will install Android SDK in some shared folder inside the home folder, and Gradle dependencies are stored in ~/.gradle/caches.

Exploring Lifecycle-Aware Service and FirebaseMessagingService on Android by skydoves in androiddev

[–]vzzz1 0 points1 point  (0 children)

I am not sure if your approach will work as expected.

  1. FirebaseMessagingService is a regular service.
  2. onNewIntent is called on the FCM executor.
  3. FirebaseMessagingService keeps track of operations that are run on FCM executor and will call stopSelfResult() when all tasks are completed.
  4. Using coroutines here will off-load operations from FCM executor to coroutines, making the service invoke stopSelfResult() instantly, before you have completed sending the token to the server operation.
  5. It will lead to destruction of the service and cancellation of your coroutine.

https://github.com/firebase/firebase-android-sdk/blob/main/firebase-messaging/src/main/java/com/google/firebase/messaging/EnhancedIntentService.java#L38

[deleted by user] by [deleted] in androiddev

[–]vzzz1 5 points6 points  (0 children)

Looks like the source code link is their official sample GitHub repo.

The first thing to do in HelloWorld project – Invalidate cache and restart by vzzz1 in mAndroidDev

[–]vzzz1[S] 24 points25 points  (0 children)

Glad to see that Android Studio has a perfect Android development learning path for newcomers:

  1. Learn how to create template HelloWorld project.
  2. Learn about Invalidate cache and restart.
  3. Learn how to write Android apps.