Skip to content

Commit f0b8ad5

Browse files
committed
Add GetSignInWithGoogleOption for sign in manually flow
1 parent f5e644c commit f0b8ad5

File tree

1 file changed

+18
-10
lines changed

1 file changed

+18
-10
lines changed

Plugins/Android/src/main/java/com/google/googlesignin/GoogleSignInHelper.java

+18-10
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@
4646
import com.google.android.gms.tasks.TaskCompletionSource;
4747
import com.google.android.gms.tasks.TaskExecutors;
4848
import com.google.android.libraries.identity.googleid.GetGoogleIdOption;
49+
import com.google.android.libraries.identity.googleid.GetSignInWithGoogleOption;
4950
import com.google.android.libraries.identity.googleid.GoogleIdTokenCredential;
5051
import com.unity3d.player.UnityPlayer;
5152

@@ -150,19 +151,26 @@ public Task<AuthorizationResult> apply(@NonNull Boolean silent) {
150151

151152
CancellationSignal signal = cancellationSignal;
152153

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);
156161

157-
if(defaultAccountName != null)
158-
getGoogleIdOptionBuilder.setNonce(defaultAccountName);
162+
if(defaultAccountName != null)
163+
getGoogleIdOptionBuilder.setNonce(defaultAccountName);
159164

160-
if(!Strings.isEmptyOrWhitespace(webClientId))
161-
getGoogleIdOptionBuilder.setServerClientId(webClientId);
165+
if(!Strings.isEmptyOrWhitespace(webClientId))
166+
getGoogleIdOptionBuilder.setServerClientId(webClientId);
162167

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+
}
166174

167175
TaskCompletionSource<GetCredentialResponse> source = new TaskCompletionSource<>();
168176

0 commit comments

Comments
 (0)