From 932ed2633e89af60ffbc3c31610ef133b3a1f4c7 Mon Sep 17 00:00:00 2001 From: Phie Date: Wed, 20 Nov 2019 15:58:11 +0000 Subject: [PATCH] always refresh when asked since it happens when an app using the api encounters autentification issues + return null when sending an async response, as the api describes (cherry picked from commit 99ff2f4af043e5dcbf9c91816b83c2fb1dae9caf) --- .../syncadapter/GoogleAccountAuthenticatorService.kt | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/foundation/e/accountmanager/syncadapter/GoogleAccountAuthenticatorService.kt b/app/src/main/java/foundation/e/accountmanager/syncadapter/GoogleAccountAuthenticatorService.kt index a3abccbd7..5215dab36 100644 --- a/app/src/main/java/foundation/e/accountmanager/syncadapter/GoogleAccountAuthenticatorService.kt +++ b/app/src/main/java/foundation/e/accountmanager/syncadapter/GoogleAccountAuthenticatorService.kt @@ -123,12 +123,12 @@ class GoogleAccountAuthenticatorService : Service(), OnAccountsUpdateListener { override fun getAuthTokenLabel(p0: String?) = null override fun confirmCredentials(p0: AccountAuthenticatorResponse?, p1: Account?, p2: Bundle?) = null override fun updateCredentials(p0: AccountAuthenticatorResponse?, p1: Account?, p2: String?, p3: Bundle?) = null - override fun getAuthToken(response: AccountAuthenticatorResponse?, account: Account?, authTokenType: String?, options: Bundle?): Bundle { + override fun getAuthToken(response: AccountAuthenticatorResponse?, account: Account?, authTokenType: String?, options: Bundle?): Bundle? { val accountManager = AccountManager.get(context) val authState = AuthState.jsonDeserialize(accountManager.getUserData(account, AccountSettings.KEY_AUTH_STATE)) if (authState != null) { - if (authState.needsTokenRefresh) { + if (authState.needsTokenRefresh || true) { //keep true for now since it is refreshed only when invalidated, so when having an issue val tokenRequest = authState.createTokenRefreshRequest() AuthorizationService(context).performTokenRequest(tokenRequest) { tokenResponse, ex -> @@ -140,6 +140,7 @@ class GoogleAccountAuthenticatorService : Service(), OnAccountsUpdateListener { result.putString(AccountManager.KEY_AUTHTOKEN, authState.accessToken) response?.onResult(result) } + return null; //should return null when returned via an async response } else { val result = Bundle() -- GitLab