Having an issue on some devices when trying to Save Password with the Identity Credential service. We make this call:
Identity.getCredentialSavingClient(activity).savePassword(savePasswordRequest)
We have an onCompleteListener that is not getting fired at all, the failure seems to happen within the Task and never communicates back out, causing our process to stall. Here's the stack from the error on the device:
2022-07-25 11:17:27.264 15235-15235/? D/BoundBrokerSvc: onBind: Intent { act=com.google.android.gms.auth.api.identity.service.credentialsaving.START dat=chimera-action:com.google.android.gms.auth.api.identity.service.credentialsaving.START cmp=com.google.android.gms/.chimera.GmsApiService }
2022-07-25 11:17:27.264 15235-15235/? D/BoundBrokerSvc: Loading bound service for intent: Intent { act=com.google.android.gms.auth.api.identity.service.credentialsaving.START dat=chimera-action:com.google.android.gms.auth.api.identity.service.credentialsaving.START cmp=com.google.android.gms/.chimera.GmsApiService }
2022-07-25 11:17:27.285 15235-15235/? D/BoundBrokerSvc: onBind: Intent { act=com.google.android.gms.chromesync.service.zeroparty.START dat=chimera-action:com.google.android.gms.chromesync.service.zeroparty.START cmp=com.google.android.gms/.chimera.GmsApiService }
2022-07-25 11:17:27.285 15235-15235/? D/BoundBrokerSvc: Loading bound service for intent: Intent { act=com.google.android.gms.chromesync.service.zeroparty.START dat=chimera-action:com.google.android.gms.chromesync.service.zeroparty.START cmp=com.google.android.gms/.chimera.GmsApiService }
2022-07-25 11:17:27.300 1813-1889/? D/CompatibilityInfo: mCompatibilityFlags - 0
2022-07-25 11:17:27.300 1813-1889/? D/CompatibilityInfo: applicationDensity - 280
2022-07-25 11:17:27.300 1813-1889/? D/CompatibilityInfo: applicationScale - 1.0
2022-07-25 11:17:27.312 32339-32355/? E/AuthPII: [GoogleAccountDataServiceImpl] getToken() -> BAD_AUTHENTICATION. App: com.google.android.gms, Service: oauth2:https://www.googleapis.com/auth/plus.me
wno: Long live credential not available.
at jel.a(:com.google.android.gms@222615037@22.26.15 (150400-461192076):8)
at jeq.g(:com.google.android.gms@222615037@22.26.15 (150400-461192076):1)
at jeq.e(:com.google.android.gms@222615037@22.26.15 (150400-461192076):3)
at jcy.m(:com.google.android.gms@222615037@22.26.15 (150400-461192076):108)
12:21
at jbx.a(:com.google.android.gms@222615037@22.26.15 (150400-461192076):8)
at eys.p(:com.google.android.gms@222615037@22.26.15 (150400-461192076):9)
at eys.e(:com.google.android.gms@222615037@22.26.15 (150400-461192076):68)
at eys.h(:com.google.android.gms@222615037@22.26.15 (150400-461192076):0)
at eys.el(:com.google.android.gms@222615037@22.26.15 (150400-461192076):6)
at ewl.onTransact(:com.google.android.gms@222615037@22.26.15 (150400-461192076):5)
at android.os.Binder.transact(Binder.java:1043)
at fch.onTransact(:com.google.android.gms@222615037@22.26.15 (150400-461192076):2)
at android.os.Binder.transact(Binder.java:1043)
at ahmp.onTransact(:com.google.android.gms@222615037@22.26.15 (150400-461192076):17)
at android.os.Binder.execTransactInternal(Binder.java:1154)
at android.os.Binder.execTransact(Binder.java:1123)
2022-07-25 11:17:27.312 32339-32355/? E/AuthPII: Message is Long live credential not available.
wno: Long live credential not available.
at jel.a(:com.google.android.gms@222615037@22.26.15 (150400-461192076):8)
at jeq.g(:com.google.android.gms@222615037@22.26.15 (150400-461192076):1)
at jeq.e(:com.google.android.gms@222615037@22.26.15 (150400-461192076):3)
at jcy.m(:com.google.android.gms@222615037@22.26.15 (150400-461192076):108)
at jbx.a(:com.google.android.gms@222615037@22.26.15 (150400-461192076):8)
at eys.p(:com.google.android.gms@222615037@22.26.15 (150400-461192076):9)
at eys.e(:com.google.android.gms@222615037@22.26.15 (150400-461192076):68)
at eys.h(:com.google.android.gms@222615037@22.26.15 (150400-461192076):0)
at eys.el(:com.google.android.gms@222615037@22.26.15 (150400-461192076):6)
at ewl.onTransact(:com.google.android.gms@222615037@22.26.15 (150400-461192076):5)
at android.os.Binder.transact(Binder.java:1043)
at fch.onTransact(:com.google.android.gms@222615037@22.26.15 (150400-461192076):2)
at android.os.Binder.transact(Binder.java:1043)
at ahmp.onTransact(:com.google.android.gms@222615037@22.26.15 (150400-461192076):17)
at android.os.Binder.execTransactInternal(Binder.java:1154)
at android.os.Binder.execTransact(Binder.java:1123)
2022-07-25 11:17:27.312 32339-32355/? I/Auth: [AccountIdManager] Token response failed with status=BadAuthentication [CONTEXT service_id=153 ]
2022-07-25 11:17:27.313 32339-32355/? W/Auth: [GetToken] Failed to get account ID
2022-07-25 11:17:27.314 15235-1472/? W/Auth: [GoogleAuthUtil] isUserRecoverableError status: BAD_AUTHENTICATION
2022-07-25 11:17:27.327 1813-3803/? D/CompatibilityInfo: mCompatibilityFlags - 0
2022-07-25 11:17:27.327 1813-3803/? D/CompatibilityInfo: applicationDensity - 280
2022-07-25 11:17:27.327 1813-3803/? D/CompatibilityInfo: applicationScale - 1.0
2022-07-25 11:17:27.410 32339-32427/? W/Auth: [GetTokenResponse] No token found in response, service=chromesync [CONTEXT service_id=153 ]
2022-07-25 11:17:27.410 32339-32427/? W/Auth: [GetToken] GetToken failed with status code: BadRequest
2022-07-25 11:17:27.411 15235-1472/? W/AsyncOperation: operation=GetState, opStatusCode=11006 [CONTEXT service_id=80 ]
OperationException[Status{statusCode=Error accessing account in operation GetState, resolution=null}]
It doesn't happen on most of our devices, but it does happen across multiple device types (Samsung/pixel) and multiple versions of Android. Doesn't seem to be much documentation on this sort of issue, but I've tried to replicate it on a device that works by adding multiple google accounts, removing all the accounts, turning on and off autofill, denying the smart lock, and all of these ways just lead to actual errors returned to the complete listener, not this one that dies in the task. Any ideas?