mirror of
https://github.com/pezkuwichain/pezkuwi-wallet-android.git
synced 2026-08-01 20:55:42 +00:00
8c4550780e
Enabling notifications started failing with java.util.concurrent.ExecutionException: java.io.IOException: SERVICE_NOT_AVAILABLE SERVICE_NOT_AVAILABLE is Firebase saying its endpoint is momentarily unreachable. It is transient, and Firebase's own guidance is to retry with backoff. requestToken() made a single attempt with no catch, so a few seconds of that ended the flow and put a raw stack trace in front of the user. Nothing about the app or its Firebase project changed — the project is healthy and the API key still authenticates. The app simply had no tolerance for a service that is documented as intermittently unavailable, so it worked until the first time Google was slow to answer. Now four attempts with 1s/2s/4s backoff. The wrapping matters: the IOException arrives inside an ExecutionException, so catching IOException directly would never have matched and the retry would have been dead code. The check walks the cause chain instead. Failures that are not network-related — a wrong google-services.json, a missing Play Services install — are rethrown on the first attempt, since retrying those only delays the same error.