diff --git a/play-services-auth/src/main/aidl/com/google/android/gms/auth/api/identity/BeginSignInRequest.aidl b/play-services-auth/src/main/aidl/com/google/android/gms/auth/api/identity/BeginSignInRequest.aidl new file mode 100644 index 00000000..843cdbfa --- /dev/null +++ b/play-services-auth/src/main/aidl/com/google/android/gms/auth/api/identity/BeginSignInRequest.aidl @@ -0,0 +1,8 @@ +/* + * SPDX-FileCopyrightText: 2023 microG Project Team + * SPDX-License-Identifier: Apache-2.0 + */ + +package com.google.android.gms.auth.api.identity; + +parcelable BeginSignInRequest; \ No newline at end of file diff --git a/play-services-auth/src/main/aidl/com/google/android/gms/auth/api/identity/BeginSignInResult.aidl b/play-services-auth/src/main/aidl/com/google/android/gms/auth/api/identity/BeginSignInResult.aidl new file mode 100644 index 00000000..994924a7 --- /dev/null +++ b/play-services-auth/src/main/aidl/com/google/android/gms/auth/api/identity/BeginSignInResult.aidl @@ -0,0 +1,8 @@ +/* + * SPDX-FileCopyrightText: 2023 microG Project Team + * SPDX-License-Identifier: Apache-2.0 + */ + +package com.google.android.gms.auth.api.identity; + +parcelable BeginSignInResult; \ No newline at end of file diff --git a/play-services-auth/src/main/aidl/com/google/android/gms/auth/api/identity/GetPhoneNumberHintIntentRequest.aidl b/play-services-auth/src/main/aidl/com/google/android/gms/auth/api/identity/GetPhoneNumberHintIntentRequest.aidl new file mode 100644 index 00000000..fc8071fc --- /dev/null +++ b/play-services-auth/src/main/aidl/com/google/android/gms/auth/api/identity/GetPhoneNumberHintIntentRequest.aidl @@ -0,0 +1,8 @@ +/* + * SPDX-FileCopyrightText: 2023 microG Project Team + * SPDX-License-Identifier: Apache-2.0 + */ + +package com.google.android.gms.auth.api.identity; + +parcelable GetPhoneNumberHintIntentRequest; \ No newline at end of file diff --git a/play-services-auth/src/main/aidl/com/google/android/gms/auth/api/identity/GetSignInIntentRequest.aidl b/play-services-auth/src/main/aidl/com/google/android/gms/auth/api/identity/GetSignInIntentRequest.aidl new file mode 100644 index 00000000..69650b83 --- /dev/null +++ b/play-services-auth/src/main/aidl/com/google/android/gms/auth/api/identity/GetSignInIntentRequest.aidl @@ -0,0 +1,8 @@ +/* + * SPDX-FileCopyrightText: 2023 microG Project Team + * SPDX-License-Identifier: Apache-2.0 + */ + +package com.google.android.gms.auth.api.identity; + +parcelable GetSignInIntentRequest; \ No newline at end of file diff --git a/play-services-auth/src/main/aidl/com/google/android/gms/auth/api/identity/SignInCredential.aidl b/play-services-auth/src/main/aidl/com/google/android/gms/auth/api/identity/SignInCredential.aidl new file mode 100644 index 00000000..d2de2746 --- /dev/null +++ b/play-services-auth/src/main/aidl/com/google/android/gms/auth/api/identity/SignInCredential.aidl @@ -0,0 +1,8 @@ +/* + * SPDX-FileCopyrightText: 2023 microG Project Team + * SPDX-License-Identifier: Apache-2.0 + */ + +package com.google.android.gms.auth.api.identity; + +parcelable SignInCredential; \ No newline at end of file diff --git a/play-services-auth/src/main/aidl/com/google/android/gms/auth/api/identity/internal/IBeginSignInCallback.aidl b/play-services-auth/src/main/aidl/com/google/android/gms/auth/api/identity/internal/IBeginSignInCallback.aidl new file mode 100644 index 00000000..41b3e006 --- /dev/null +++ b/play-services-auth/src/main/aidl/com/google/android/gms/auth/api/identity/internal/IBeginSignInCallback.aidl @@ -0,0 +1,13 @@ +/* + * SPDX-FileCopyrightText: 2023 microG Project Team + * SPDX-License-Identifier: Apache-2.0 + */ + +package com.google.android.gms.auth.api.identity.internal; + +import com.google.android.gms.auth.api.identity.BeginSignInResult; +import com.google.android.gms.common.api.Status; + +interface IBeginSignInCallback { + void onResult(in Status status, in BeginSignInResult beginSignInResult); +} \ No newline at end of file diff --git a/play-services-auth/src/main/aidl/com/google/android/gms/auth/api/identity/internal/IGetPhoneNumberHintIntentCallback.aidl b/play-services-auth/src/main/aidl/com/google/android/gms/auth/api/identity/internal/IGetPhoneNumberHintIntentCallback.aidl new file mode 100644 index 00000000..a07988a2 --- /dev/null +++ b/play-services-auth/src/main/aidl/com/google/android/gms/auth/api/identity/internal/IGetPhoneNumberHintIntentCallback.aidl @@ -0,0 +1,12 @@ +/* + * SPDX-FileCopyrightText: 2023 microG Project Team + * SPDX-License-Identifier: Apache-2.0 + */ + +package com.google.android.gms.auth.api.identity.internal; + +import com.google.android.gms.common.api.Status; + +interface IGetPhoneNumberHintIntentCallback { + void onResult(in Status status, in PendingIntent pendingIntent); +} \ No newline at end of file diff --git a/play-services-auth/src/main/aidl/com/google/android/gms/auth/api/identity/internal/IGetSignInIntentCallback.aidl b/play-services-auth/src/main/aidl/com/google/android/gms/auth/api/identity/internal/IGetSignInIntentCallback.aidl new file mode 100644 index 00000000..ba6c5850 --- /dev/null +++ b/play-services-auth/src/main/aidl/com/google/android/gms/auth/api/identity/internal/IGetSignInIntentCallback.aidl @@ -0,0 +1,12 @@ +/* + * SPDX-FileCopyrightText: 2023 microG Project Team + * SPDX-License-Identifier: Apache-2.0 + */ + +package com.google.android.gms.auth.api.identity.internal; + +import com.google.android.gms.common.api.Status; + +interface IGetSignInIntentCallback { + void onResult(in Status status, in PendingIntent pendingIntent); +} \ No newline at end of file diff --git a/play-services-auth/src/main/aidl/com/google/android/gms/auth/api/identity/internal/ISignInService.aidl b/play-services-auth/src/main/aidl/com/google/android/gms/auth/api/identity/internal/ISignInService.aidl new file mode 100644 index 00000000..cbb5bb66 --- /dev/null +++ b/play-services-auth/src/main/aidl/com/google/android/gms/auth/api/identity/internal/ISignInService.aidl @@ -0,0 +1,21 @@ +/* + * SPDX-FileCopyrightText: 2023 microG Project Team + * SPDX-License-Identifier: Apache-2.0 + */ + +package com.google.android.gms.auth.api.identity.internal; + +import com.google.android.gms.common.api.internal.IStatusCallback; +import com.google.android.gms.auth.api.identity.internal.IBeginSignInCallback; +import com.google.android.gms.auth.api.identity.internal.IGetSignInIntentCallback; +import com.google.android.gms.auth.api.identity.internal.IGetPhoneNumberHintIntentCallback; +import com.google.android.gms.auth.api.identity.BeginSignInRequest; +import com.google.android.gms.auth.api.identity.GetSignInIntentRequest; +import com.google.android.gms.auth.api.identity.GetPhoneNumberHintIntentRequest; + +interface ISignInService { + void beginSignIn(in IBeginSignInCallback callback, in BeginSignInRequest request) = 0; + void signOut(in IStatusCallback callback, String userId) = 1; + void getSignInIntent(in IGetSignInIntentCallback callback, in GetSignInIntentRequest request) = 2; + void getPhoneNumberHintIntent(in IGetPhoneNumberHintIntentCallback callback, in GetPhoneNumberHintIntentRequest request) = 3; +} \ No newline at end of file diff --git a/play-services-auth/src/main/java/com/google/android/gms/auth/api/identity/BeginSignInRequest.java b/play-services-auth/src/main/java/com/google/android/gms/auth/api/identity/BeginSignInRequest.java new file mode 100644 index 00000000..22d74516 --- /dev/null +++ b/play-services-auth/src/main/java/com/google/android/gms/auth/api/identity/BeginSignInRequest.java @@ -0,0 +1,35 @@ +/* + * SPDX-FileCopyrightText: 2023 microG Project Team + * SPDX-License-Identifier: Apache-2.0 + */ + +package com.google.android.gms.auth.api.identity; + +import android.os.Parcel; + +import androidx.annotation.NonNull; + +import com.google.android.gms.common.internal.safeparcel.AbstractSafeParcelable; +import com.google.android.gms.common.internal.safeparcel.SafeParcelable; +import com.google.android.gms.common.internal.safeparcel.SafeParcelableCreatorAndWriter; + +@SafeParcelable.Class +public class BeginSignInRequest extends AbstractSafeParcelable { + @Field(1) + public PasswordRequestOptions passwordRequestOptions; + @Field(2) + public GoogleIdTokenRequestOptions googleIdTokenRequestOptions; + @Field(3) + public String score; + @Field(4) + public boolean isPrimary; + @Field(5) + public int code; + + @Override + public void writeToParcel(@NonNull Parcel dest, int flags) { + CREATOR.writeToParcel(this, dest, flags); + } + + public static final SafeParcelableCreatorAndWriter CREATOR = findCreator(BeginSignInRequest.class); +} diff --git a/play-services-auth/src/main/java/com/google/android/gms/auth/api/identity/BeginSignInResult.java b/play-services-auth/src/main/java/com/google/android/gms/auth/api/identity/BeginSignInResult.java new file mode 100644 index 00000000..7c9b887d --- /dev/null +++ b/play-services-auth/src/main/java/com/google/android/gms/auth/api/identity/BeginSignInResult.java @@ -0,0 +1,28 @@ +/* + * SPDX-FileCopyrightText: 2023 microG Project Team + * SPDX-License-Identifier: Apache-2.0 + */ + +package com.google.android.gms.auth.api.identity; + +import android.app.PendingIntent; +import android.os.Parcel; + +import androidx.annotation.NonNull; + +import com.google.android.gms.common.internal.safeparcel.AbstractSafeParcelable; +import com.google.android.gms.common.internal.safeparcel.SafeParcelable; +import com.google.android.gms.common.internal.safeparcel.SafeParcelableCreatorAndWriter; + +@SafeParcelable.Class +public class BeginSignInResult extends AbstractSafeParcelable { + @Field(1) + public PendingIntent pendingIntent; + + @Override + public void writeToParcel(@NonNull Parcel dest, int flags) { + CREATOR.writeToParcel(this, dest, flags); + } + + public static final SafeParcelableCreatorAndWriter CREATOR = findCreator(BeginSignInResult.class); +} diff --git a/play-services-auth/src/main/java/com/google/android/gms/auth/api/identity/GetPhoneNumberHintIntentRequest.java b/play-services-auth/src/main/java/com/google/android/gms/auth/api/identity/GetPhoneNumberHintIntentRequest.java new file mode 100644 index 00000000..11343886 --- /dev/null +++ b/play-services-auth/src/main/java/com/google/android/gms/auth/api/identity/GetPhoneNumberHintIntentRequest.java @@ -0,0 +1,27 @@ +/* + * SPDX-FileCopyrightText: 2023 microG Project Team + * SPDX-License-Identifier: Apache-2.0 + */ + +package com.google.android.gms.auth.api.identity; + +import android.os.Parcel; + +import androidx.annotation.NonNull; + +import com.google.android.gms.common.internal.safeparcel.AbstractSafeParcelable; +import com.google.android.gms.common.internal.safeparcel.SafeParcelable; +import com.google.android.gms.common.internal.safeparcel.SafeParcelableCreatorAndWriter; + +@SafeParcelable.Class +public class GetPhoneNumberHintIntentRequest extends AbstractSafeParcelable { + @Field(1) + public int code; + + @Override + public void writeToParcel(@NonNull Parcel dest, int flags) { + CREATOR.writeToParcel(this, dest, flags); + } + + public static final SafeParcelableCreatorAndWriter CREATOR = findCreator(GetPhoneNumberHintIntentRequest.class); +} diff --git a/play-services-auth/src/main/java/com/google/android/gms/auth/api/identity/GetSignInIntentRequest.java b/play-services-auth/src/main/java/com/google/android/gms/auth/api/identity/GetSignInIntentRequest.java new file mode 100644 index 00000000..bbb02c78 --- /dev/null +++ b/play-services-auth/src/main/java/com/google/android/gms/auth/api/identity/GetSignInIntentRequest.java @@ -0,0 +1,38 @@ +/* + * SPDX-FileCopyrightText: 2023 microG Project Team + * SPDX-License-Identifier: Apache-2.0 + */ + +package com.google.android.gms.auth.api.identity; + +import android.os.Parcel; + +import androidx.annotation.NonNull; + +import com.google.android.gms.common.internal.safeparcel.AbstractSafeParcelable; +import com.google.android.gms.common.internal.safeparcel.SafeParcelable; +import com.google.android.gms.common.internal.safeparcel.SafeParcelableCreatorAndWriter; + +@SafeParcelable.Class +public class GetSignInIntentRequest extends AbstractSafeParcelable { + @Field(1) + public String clientId; + @Field(2) + public String scope; + @Field(3) + public String requestTag; + @Field(4) + public String requestToken; + @Field(5) + public boolean isPrimary; + @Field(6) + public int code; + + @Override + public void writeToParcel(@NonNull Parcel dest, int flags) { + CREATOR.writeToParcel(this, dest, flags); + } + + public static final SafeParcelableCreatorAndWriter CREATOR = findCreator(GetSignInIntentRequest.class); + +} diff --git a/play-services-auth/src/main/java/com/google/android/gms/auth/api/identity/GoogleIdTokenRequestOptions.java b/play-services-auth/src/main/java/com/google/android/gms/auth/api/identity/GoogleIdTokenRequestOptions.java new file mode 100644 index 00000000..ffdf5c5e --- /dev/null +++ b/play-services-auth/src/main/java/com/google/android/gms/auth/api/identity/GoogleIdTokenRequestOptions.java @@ -0,0 +1,41 @@ +/* + * SPDX-FileCopyrightText: 2023 microG Project Team + * SPDX-License-Identifier: Apache-2.0 + */ + +package com.google.android.gms.auth.api.identity; + +import android.os.Parcel; + +import androidx.annotation.NonNull; + +import com.google.android.gms.common.internal.safeparcel.AbstractSafeParcelable; +import com.google.android.gms.common.internal.safeparcel.SafeParcelable; +import com.google.android.gms.common.internal.safeparcel.SafeParcelableCreatorAndWriter; + +import java.util.ArrayList; + +@SafeParcelable.Class +public class GoogleIdTokenRequestOptions extends AbstractSafeParcelable { + @Field(1) + public boolean idTokenRequested; + @Field(2) + public String clientId; + @Field(3) + public String requestToken; + @Field(4) + public boolean serverAuthCodeRequested; + @Field(5) + public String serverClientId; + @Field(6) + public ArrayList scopes; + @Field(7) + public boolean forceCodeForRefreshToken; + + @Override + public void writeToParcel(@NonNull Parcel dest, int flags) { + CREATOR.writeToParcel(this, dest, flags); + } + + public static final SafeParcelableCreatorAndWriter CREATOR = findCreator(GoogleIdTokenRequestOptions.class); +} diff --git a/play-services-auth/src/main/java/com/google/android/gms/auth/api/identity/PasswordRequestOptions.java b/play-services-auth/src/main/java/com/google/android/gms/auth/api/identity/PasswordRequestOptions.java new file mode 100644 index 00000000..dfca1e06 --- /dev/null +++ b/play-services-auth/src/main/java/com/google/android/gms/auth/api/identity/PasswordRequestOptions.java @@ -0,0 +1,27 @@ +/* + * SPDX-FileCopyrightText: 2023 microG Project Team + * SPDX-License-Identifier: Apache-2.0 + */ + +package com.google.android.gms.auth.api.identity; + +import android.os.Parcel; + +import androidx.annotation.NonNull; + +import com.google.android.gms.common.internal.safeparcel.AbstractSafeParcelable; +import com.google.android.gms.common.internal.safeparcel.SafeParcelable; +import com.google.android.gms.common.internal.safeparcel.SafeParcelableCreatorAndWriter; + +@SafeParcelable.Class +public class PasswordRequestOptions extends AbstractSafeParcelable { + @Field(1) + public boolean primary; + + @Override + public void writeToParcel(@NonNull Parcel dest, int flags) { + CREATOR.writeToParcel(this, dest, flags); + } + + public static final SafeParcelableCreatorAndWriter CREATOR = findCreator(PasswordRequestOptions.class); +} diff --git a/play-services-auth/src/main/java/com/google/android/gms/auth/api/identity/SignInCredential.java b/play-services-auth/src/main/java/com/google/android/gms/auth/api/identity/SignInCredential.java new file mode 100644 index 00000000..5d4c8d38 --- /dev/null +++ b/play-services-auth/src/main/java/com/google/android/gms/auth/api/identity/SignInCredential.java @@ -0,0 +1,41 @@ +/* + * SPDX-FileCopyrightText: 2023 microG Project Team + * SPDX-License-Identifier: Apache-2.0 + */ + +package com.google.android.gms.auth.api.identity; + +import android.os.Parcel; + +import androidx.annotation.NonNull; + +import com.google.android.gms.common.internal.safeparcel.AbstractSafeParcelable; +import com.google.android.gms.common.internal.safeparcel.SafeParcelable; +import com.google.android.gms.common.internal.safeparcel.SafeParcelableCreatorAndWriter; + +@SafeParcelable.Class +public class SignInCredential extends AbstractSafeParcelable { + @Field(1) + public String email; + @Field(2) + public String displayName; + @Field(3) + public String familyName; + @Field(4) + public String givenName; + @Field(5) + public String avatar; + @Field(6) + public String serverAuthCode; + @Field(7) + public String idToken; + @Field(8) + public String obfuscatedIdentifier; + + @Override + public void writeToParcel(@NonNull Parcel dest, int flags) { + CREATOR.writeToParcel(this, dest, flags); + } + + public static final SafeParcelableCreatorAndWriter CREATOR = findCreator(SignInCredential.class); +} diff --git a/play-services-basement/src/main/java/org/microg/gms/auth/AuthConstants.java b/play-services-basement/src/main/java/org/microg/gms/auth/AuthConstants.java deleted file mode 100644 index 774f5756..00000000 --- a/play-services-basement/src/main/java/org/microg/gms/auth/AuthConstants.java +++ /dev/null @@ -1,26 +0,0 @@ -/* - * Copyright (C) 2013-2017 microG Project Team - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.microg.gms.auth; - -public class AuthConstants { - public static final String SCOPE_GET_ACCOUNT_ID = "^^_account_id_^^"; - public static final String PROVIDER_METHOD_GET_ACCOUNTS = "get_accounts"; - public static final String PROVIDER_METHOD_CLEAR_PASSWORD = "clear_password"; - public static final String PROVIDER_EXTRA_CLEAR_PASSWORD = "clear_password"; - public static final String PROVIDER_EXTRA_ACCOUNTS = "accounts"; - public static final String DEFAULT_ACCOUNT_TYPE = "com.mgoogle"; -} diff --git a/play-services-core/src/main/AndroidManifest.xml b/play-services-core/src/main/AndroidManifest.xml index 175f0256..cec102fb 100644 --- a/play-services-core/src/main/AndroidManifest.xml +++ b/play-services-core/src/main/AndroidManifest.xml @@ -319,6 +319,119 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + >>>>>> 048a6e59 (Add identity sign-in service (#2130)) android:name="org.microg.gms.ui.SettingsActivity" android:icon="@mipmap/ic_launcher" android:label="@string/gms_settings_name" @@ -416,6 +529,73 @@ android:exported="true"> +<<<<<<< HEAD +======= + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +>>>>>>> 048a6e59 (Add identity sign-in service (#2130)) diff --git a/play-services-core/src/main/kotlin/org/microg/gms/auth/credentials/identity/IdentitySignInService.kt b/play-services-core/src/main/kotlin/org/microg/gms/auth/credentials/identity/IdentitySignInService.kt new file mode 100644 index 00000000..bf09ec58 --- /dev/null +++ b/play-services-core/src/main/kotlin/org/microg/gms/auth/credentials/identity/IdentitySignInService.kt @@ -0,0 +1,89 @@ +/* + * SPDX-FileCopyrightText: 2023 microG Project Team + * SPDX-License-Identifier: Apache-2.0 + */ + +package org.microg.gms.auth.credentials.identity + +import android.app.PendingIntent +import android.content.Context +import android.content.Intent +import android.util.Log +import com.google.android.gms.auth.api.identity.BeginSignInRequest +import com.google.android.gms.auth.api.identity.GetPhoneNumberHintIntentRequest +import com.google.android.gms.auth.api.identity.GetSignInIntentRequest +import com.google.android.gms.auth.api.identity.internal.IBeginSignInCallback +import com.google.android.gms.auth.api.identity.internal.IGetPhoneNumberHintIntentCallback +import com.google.android.gms.auth.api.identity.internal.IGetSignInIntentCallback +import com.google.android.gms.auth.api.identity.internal.ISignInService +import com.google.android.gms.auth.api.signin.GoogleSignInOptions +import com.google.android.gms.auth.api.signin.internal.SignInConfiguration +import com.google.android.gms.common.ConnectionResult +import com.google.android.gms.common.api.Status +import com.google.android.gms.common.api.internal.IStatusCallback +import com.google.android.gms.common.internal.ConnectionInfo +import com.google.android.gms.common.internal.GetServiceRequest +import com.google.android.gms.common.internal.IGmsCallbacks +import org.microg.gms.BaseService +import org.microg.gms.auth.credentials.FEATURES +import org.microg.gms.auth.signin.AuthSignInActivity +import org.microg.gms.common.Constants +import org.microg.gms.common.GmsService + +const val TAG = "IdentitySignInService" + +class IdentitySignInService : BaseService(TAG, GmsService.IDENTITY_SIGN_IN) { + + override fun handleServiceRequest(callback: IGmsCallbacks, request: GetServiceRequest, service: GmsService) { + val connectionInfo = ConnectionInfo() + connectionInfo.features = FEATURES + callback.onPostInitCompleteWithConnectionInfo( + ConnectionResult.SUCCESS, + IdentitySignInServiceImpl(this, request.packageName).asBinder(), + connectionInfo + ) + } +} + +class IdentitySignInServiceImpl(private val mContext: Context, private val clientPackageName: String) : + ISignInService.Stub() { + override fun beginSignIn(callback: IBeginSignInCallback, request: BeginSignInRequest) { + Log.d(TAG, "method 'beginSignIn' not fully implemented, return status is CANCELED") + callback.onResult(Status.CANCELED, null) + } + + override fun signOut(callback: IStatusCallback, requestTag: String) { + Log.d(TAG, "method signOut called, requestTag=$requestTag") + callback.onResult(Status.SUCCESS) + } + + override fun getSignInIntent( + callback: IGetSignInIntentCallback, + request: GetSignInIntentRequest + ) { + val signInConfiguration = SignInConfiguration().apply { + options = GoogleSignInOptions.Builder() + .requestIdToken(request.clientId) + .requestId() + .requestEmail() + .requestProfile() + .build() + packageName = clientPackageName + } + val intent = Intent(mContext, AuthSignInActivity::class.java).apply { + `package` = Constants.GMS_PACKAGE_NAME + putExtra("config", signInConfiguration) + } + val flags = PendingIntent.FLAG_ONE_SHOT or PendingIntent.FLAG_UPDATE_CURRENT + val activity = PendingIntent.getActivity(mContext, 0, intent, flags) + callback.onResult(Status.SUCCESS, activity) + } + + override fun getPhoneNumberHintIntent( + callback: IGetPhoneNumberHintIntentCallback, + request: GetPhoneNumberHintIntentRequest + ) { + Log.w(TAG, "method 'getPhoneNumberHintIntent' not fully implemented, return status is CANCELED.") + callback.onResult(Status.CANCELED, null) + } +} \ No newline at end of file