|
46 | 46 | import com.google.android.gms.tasks.TaskCompletionSource;
|
47 | 47 | import com.google.android.gms.tasks.TaskExecutors;
|
48 | 48 | import com.google.android.libraries.identity.googleid.GetGoogleIdOption;
|
| 49 | +import com.google.android.libraries.identity.googleid.GetSignInWithGoogleOption; |
49 | 50 | import com.google.android.libraries.identity.googleid.GoogleIdTokenCredential;
|
50 | 51 | import com.unity3d.player.UnityPlayer;
|
51 | 52 |
|
@@ -150,19 +151,26 @@ public Task<AuthorizationResult> apply(@NonNull Boolean silent) {
|
150 | 151 |
|
151 | 152 | CancellationSignal signal = cancellationSignal;
|
152 | 153 |
|
153 |
| - GetGoogleIdOption.Builder getGoogleIdOptionBuilder = new GetGoogleIdOption.Builder() |
154 |
| - .setFilterByAuthorizedAccounts(silent) |
155 |
| - .setAutoSelectEnabled(hideUiPopups); |
| 154 | + GetCredentialRequest.Builder getCredentialRequestBuilder = new GetCredentialRequest.Builder() |
| 155 | + .setPreferImmediatelyAvailableCredentials(hideUiPopups); |
| 156 | + |
| 157 | + if(silent) { |
| 158 | + GetGoogleIdOption.Builder getGoogleIdOptionBuilder = new GetGoogleIdOption.Builder() |
| 159 | + .setFilterByAuthorizedAccounts(false) |
| 160 | + .setAutoSelectEnabled(hideUiPopups); |
156 | 161 |
|
157 |
| - if(defaultAccountName != null) |
158 |
| - getGoogleIdOptionBuilder.setNonce(defaultAccountName); |
| 162 | + if(defaultAccountName != null) |
| 163 | + getGoogleIdOptionBuilder.setNonce(defaultAccountName); |
159 | 164 |
|
160 |
| - if(!Strings.isEmptyOrWhitespace(webClientId)) |
161 |
| - getGoogleIdOptionBuilder.setServerClientId(webClientId); |
| 165 | + if(!Strings.isEmptyOrWhitespace(webClientId)) |
| 166 | + getGoogleIdOptionBuilder.setServerClientId(webClientId); |
162 | 167 |
|
163 |
| - GetCredentialRequest.Builder getCredentialRequestBuilder = new GetCredentialRequest.Builder() |
164 |
| - .addCredentialOption(getGoogleIdOptionBuilder.build()) |
165 |
| - .setPreferImmediatelyAvailableCredentials(hideUiPopups); |
| 168 | + getCredentialRequestBuilder.addCredentialOption(getGoogleIdOptionBuilder.build()); |
| 169 | + } |
| 170 | + else { |
| 171 | + GetSignInWithGoogleOption.Builder getSignInWithGoogleOptionBuilder = new GetSignInWithGoogleOption.Builder(webClientId); |
| 172 | + getCredentialRequestBuilder.addCredentialOption(getSignInWithGoogleOptionBuilder.build()); |
| 173 | + } |
166 | 174 |
|
167 | 175 | TaskCompletionSource<GetCredentialResponse> source = new TaskCompletionSource<>();
|
168 | 176 |
|
|
0 commit comments