From a686389baa2a7d3453502edade15df496817e523 Mon Sep 17 00:00:00 2001 From: Oizaro Date: Mon, 28 Dec 2020 06:08:40 +0100 Subject: [PATCH] Fix --- README.md | 1 - firebase-auth-core/build.gradle | 6 ++++-- .../gms/firebase/auth/FirebaseAuthService.kt | 18 ++++++++++++++++++ play-services-core/build.gradle | 1 - 4 files changed, 22 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index d09f5bcb..6bbc41f1 100644 --- a/README.md +++ b/README.md @@ -18,7 +18,6 @@ This fork tweaks MicroG to be usable by applications that require Google authent - Droidguard - Exposure-Notifications - Feedback - - Firebase - Games - Maps - Recovery diff --git a/firebase-auth-core/build.gradle b/firebase-auth-core/build.gradle index 5ca843e0..ffd72760 100644 --- a/firebase-auth-core/build.gradle +++ b/firebase-auth-core/build.gradle @@ -13,9 +13,11 @@ dependencies { implementation "androidx.lifecycle:lifecycle-service:$lifecycleVersion" implementation "androidx.lifecycle:lifecycle-runtime-ktx:$lifecycleVersion" - implementation "androidx.appcompat:appcompat:$appcompatVersion" + implementation "androidx.appcompat:appcompat:1.2.0" - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlinVersion" + implementation project(':play-services-core') + + implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.4.21" implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:$coroutineVersion" implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:$coroutineVersion" diff --git a/firebase-auth-core/src/main/kotlin/org/microg/gms/firebase/auth/FirebaseAuthService.kt b/firebase-auth-core/src/main/kotlin/org/microg/gms/firebase/auth/FirebaseAuthService.kt index b490b8d9..45a648ff 100644 --- a/firebase-auth-core/src/main/kotlin/org/microg/gms/firebase/auth/FirebaseAuthService.kt +++ b/firebase-auth-core/src/main/kotlin/org/microg/gms/firebase/auth/FirebaseAuthService.kt @@ -21,6 +21,8 @@ import androidx.lifecycle.LifecycleOwner import androidx.lifecycle.lifecycleScope import com.google.android.gms.common.api.CommonStatusCodes import com.google.android.gms.common.api.Status +import com.google.android.gms.common.internal.GetServiceRequest +import com.google.android.gms.common.internal.IGmsCallbacks import com.google.firebase.auth.ActionCodeSettings import com.google.firebase.auth.EmailAuthCredential import com.google.firebase.auth.PhoneAuthCredential @@ -28,6 +30,9 @@ import com.google.firebase.auth.UserProfileChangeRequest import com.google.firebase.auth.api.internal.* import org.json.JSONArray import org.json.JSONObject +import org.microg.gms.BaseService +import org.microg.gms.common.GmsService +import org.microg.gms.common.PackageUtils private const val TAG = "GmsFirebaseAuth" @@ -65,6 +70,19 @@ private fun Intent.getSmsMessages(): Array { } } +class FirebaseAuthService : BaseService(TAG, GmsService.FIREBASE_AUTH) { + override fun handleServiceRequest(callback: IGmsCallbacks, request: GetServiceRequest, service: GmsService?) { + PackageUtils.getAndCheckCallingPackage(this, request.packageName) + val apiKey = request.extras?.getString(Constants.EXTRA_API_KEY) + val libraryVersion = request.extras?.getString(Constants.EXTRA_LIBRARY_VERSION) + if (apiKey == null) { + callback.onPostInitComplete(CommonStatusCodes.DEVELOPER_ERROR, null, null) + } else { + callback.onPostInitComplete(0, FirebaseAuthServiceImpl(this, lifecycle, request.packageName, libraryVersion, apiKey).asBinder(), null) + } + } +} + class FirebaseAuthServiceImpl(private val context: Context, private val lifecycle: Lifecycle, private val packageName: String, private val libraryVersion: String?, private val apiKey: String) : IFirebaseAuthService.Stub(), LifecycleOwner { private val client = IdentityToolkitClient(context, apiKey) private var authorizedDomain: String? = null diff --git a/play-services-core/build.gradle b/play-services-core/build.gradle index 258e4152..93517ca0 100644 --- a/play-services-core/build.gradle +++ b/play-services-core/build.gradle @@ -29,7 +29,6 @@ dependencies { implementation "info.armills.chromecast-java-api-v2:api-v2-raw-request:0.10.4-raw-request-1" implementation project(':firebase-dynamic-links-api') - implementation project(':firebase-auth-core') implementation project(':play-services-core-proto') implementation project(':play-services-core:microg-ui-tools') // deprecated implementation project(':play-services-api')