+ * A minimum version string is also available. If the installed app is an older version, the user is taken to the Play Store to upgrade the app.
+ */
+ public Builder setAndroidPackageName(String androidPackageName, boolean installIfNotAvailable, String minimumVersion) {
+ this.androidPackageName = androidPackageName;
+ this.androidInstallApp = installIfNotAvailable;
+ this.androidMinimumVersion = minimumVersion;
+ return this;
+ }
+
+ /**
+ * Sets the optional FDL domain, overriding the default FDL domain that would be used.
+ * Must be one of the 5 domains configured in the Firebase console.
+ */
+ public Builder setDynamicLinkDomain(String dynamicLinkDomain) {
+ this.dynamicLinkDomain = dynamicLinkDomain;
+ return this;
+ }
+
+ /**
+ * The default is false. When set to true, the action code link will be sent as a universal link and will be open by the app if installed.
+ * In the false case, the code will be sent to the web widget first and then on continue will redirect to the app if installed.
+ */
+ public Builder setHandleCodeInApp(boolean status) {
+ this.canHandleCodeInApp = status;
+ return this;
+ }
+
+ /**
+ * To be used if the email link that is sent might be opened on an iOS device.
+ *
+ * Sets the iOS bundle Id and returns the current {@link ActionCodeSettings.Builder} instance.
+ */
+ public Builder setIOSBundleId(String iOSBundleId) {
+ this.iOSBundleId = iOSBundleId;
+ return this;
+ }
+
+ /**
+ * Sets the URL, which has different meanings in different contexts. For email actions, this is the state/continue URL.
+ * When the app is not installed, this is the web continue URL with any developer provided state appended (the continueURL query parameter).
+ * When the app is installed, this is contained in the Firebase dynamic link payload.
+ * In the case where the code is sent directly to the app and the app is installed, this is the continueURL query parameter in the dynamic link payload.
+ * Otherwise, when the code is handled by the widget itself, it is the payload itself.
+ */
+ public Builder setUrl(String url) {
+ this.url = url;
+ return this;
+ }
+ }
+
+ public static final Creator CREATOR = new AutoCreator<>(ActionCodeSettings.class);
+}
diff --git a/firebase-auth-api/src/main/java/com/google/firebase/auth/AuthCredential.java b/firebase-auth-api/src/main/java/com/google/firebase/auth/AuthCredential.java
new file mode 100644
index 00000000..bf3b7e6e
--- /dev/null
+++ b/firebase-auth-api/src/main/java/com/google/firebase/auth/AuthCredential.java
@@ -0,0 +1,28 @@
+/*
+ * SPDX-FileCopyrightText: 2020, microG Project Team
+ * SPDX-License-Identifier: Apache-2.0
+ * Notice: Portions of this file are reproduced from work created and shared by Google and used
+ * according to terms described in the Creative Commons 4.0 Attribution License.
+ * See https://developers.google.com/readme/policies for details.
+ */
+
+package com.google.firebase.auth;
+
+import org.microg.gms.common.PublicApi;
+import org.microg.safeparcel.AutoSafeParcelable;
+
+/**
+ * Represents a credential that the Firebase Authentication server can use to authenticate a user.
+ */
+@PublicApi
+public abstract class AuthCredential extends AutoSafeParcelable {
+ /**
+ * Returns the unique string identifier for the provider type with which the credential is associated.
+ */
+ public abstract String getProvider();
+
+ /**
+ * Returns the unique string identifier for the sign in method with which the credential is associated. Should match that returned by {@link FirebaseAuth#fetchSignInMethodsForEmail(String)} after this user has signed in with this type of credential.
+ */
+ public abstract String getSignInMethod();
+}
diff --git a/firebase-auth-api/src/main/java/com/google/firebase/auth/DefaultOAuthCredential.java b/firebase-auth-api/src/main/java/com/google/firebase/auth/DefaultOAuthCredential.java
new file mode 100644
index 00000000..f224434b
--- /dev/null
+++ b/firebase-auth-api/src/main/java/com/google/firebase/auth/DefaultOAuthCredential.java
@@ -0,0 +1,66 @@
+/*
+ * SPDX-FileCopyrightText: 2020, microG Project Team
+ * SPDX-License-Identifier: Apache-2.0
+ * Notice: Portions of this file are reproduced from work created and shared by Google and used
+ * according to terms described in the Creative Commons 4.0 Attribution License.
+ * See https://developers.google.com/readme/policies for details.
+ */
+
+package com.google.firebase.auth;
+
+import com.google.firebase.auth.api.internal.VerifyAssertionRequest;
+
+import org.microg.gms.common.PublicApi;
+
+@PublicApi
+public class DefaultOAuthCredential extends OAuthCredential {
+ @Field(1)
+ @PublicApi(exclude = true)
+ public String provider;
+ @Field(2)
+ @PublicApi(exclude = true)
+ public String idToken;
+ @Field(3)
+ @PublicApi(exclude = true)
+ public String accessToken;
+ @Field(4)
+ @PublicApi(exclude = true)
+ public VerifyAssertionRequest webSignInToken;
+ @Field(5)
+ @PublicApi(exclude = true)
+ public String pendingToken;
+ @Field(6)
+ @PublicApi(exclude = true)
+ public String secret;
+ @Field(7)
+ @PublicApi(exclude = true)
+ public String rawNonce;
+
+
+ @Override
+ public String getAccessToken() {
+ return accessToken;
+ }
+
+ @Override
+ public String getIdToken() {
+ return idToken;
+ }
+
+ @Override
+ public String getSecret() {
+ return secret;
+ }
+
+ @Override
+ public String getProvider() {
+ return provider;
+ }
+
+ @Override
+ public String getSignInMethod() {
+ return provider;
+ }
+
+ public static final Creator CREATOR = new AutoCreator<>(DefaultOAuthCredential.class);
+}
diff --git a/firebase-auth-api/src/main/java/com/google/firebase/auth/EmailAuthCredential.java b/firebase-auth-api/src/main/java/com/google/firebase/auth/EmailAuthCredential.java
new file mode 100644
index 00000000..d6adfd2c
--- /dev/null
+++ b/firebase-auth-api/src/main/java/com/google/firebase/auth/EmailAuthCredential.java
@@ -0,0 +1,54 @@
+/*
+ * SPDX-FileCopyrightText: 2020, microG Project Team
+ * SPDX-License-Identifier: Apache-2.0
+ * Notice: Portions of this file are reproduced from work created and shared by Google and used
+ * according to terms described in the Creative Commons 4.0 Attribution License.
+ * See https://developers.google.com/readme/policies for details.
+ */
+
+package com.google.firebase.auth;
+
+import org.microg.gms.common.PublicApi;
+
+/**
+ * Wraps an email and password tuple for authentication purposes.
+ */
+@PublicApi
+public class EmailAuthCredential extends AuthCredential {
+ @Field(1)
+ @PublicApi(exclude = true)
+ public String email;
+ @Field(2)
+ @PublicApi(exclude = true)
+ public String password;
+ @Field(3)
+ @PublicApi(exclude = true)
+ public String signInLink;
+ @Field(4)
+ @PublicApi(exclude = true)
+ public String cachedState;
+ @Field(5)
+ @PublicApi(exclude = true)
+ public boolean isForLinking;
+
+ /**
+ * Returns the unique string identifier for the provider type with which the credential is associated.
+ */
+ @Override
+ public String getProvider() {
+ return "password";
+ }
+
+ /**
+ * Returns either {@link EmailAuthProvider#EMAIL_LINK_SIGN_IN_METHOD} for a credential generated with {@link EmailAuthProvider#getCredentialWithLink(String, String)} or {@link EmailAuthProvider#EMAIL_PASSWORD_SIGN_IN_METHOD} for a credential generated with {@link EmailAuthProvider#getCredential(String, String)}.
+ */
+ @Override
+ public String getSignInMethod() {
+ if (password != null && !password.isEmpty()) {
+ return "password";
+ }
+ return "emailLink";
+ }
+
+ public static final Creator CREATOR = new AutoCreator<>(EmailAuthCredential.class);
+}
diff --git a/firebase-auth-api/src/main/java/com/google/firebase/auth/OAuthCredential.java b/firebase-auth-api/src/main/java/com/google/firebase/auth/OAuthCredential.java
new file mode 100644
index 00000000..772a456e
--- /dev/null
+++ b/firebase-auth-api/src/main/java/com/google/firebase/auth/OAuthCredential.java
@@ -0,0 +1,32 @@
+/*
+ * SPDX-FileCopyrightText: 2020, microG Project Team
+ * SPDX-License-Identifier: Apache-2.0
+ * Notice: Portions of this file are reproduced from work created and shared by Google and used
+ * according to terms described in the Creative Commons 4.0 Attribution License.
+ * See https://developers.google.com/readme/policies for details.
+ */
+
+package com.google.firebase.auth;
+
+import org.microg.gms.common.PublicApi;
+
+/**
+ * Holds credentials generated by a sign-in with a credential to an IDP that uses OAuth
+ */
+@PublicApi
+public abstract class OAuthCredential extends AuthCredential {
+ /**
+ * Returns the OAuth access token associated with this credential.
+ */
+ public abstract String getAccessToken();
+
+ /**
+ * Returns the OAuth ID token associated with this credential.
+ */
+ public abstract String getIdToken();
+
+ /**
+ * Returns the OAuth secret associated with this credential. This will be null for OAuth 2.0 providers.
+ */
+ public abstract String getSecret();
+}
diff --git a/firebase-auth-api/src/main/java/com/google/firebase/auth/PhoneAuthCredential.java b/firebase-auth-api/src/main/java/com/google/firebase/auth/PhoneAuthCredential.java
new file mode 100644
index 00000000..1798a307
--- /dev/null
+++ b/firebase-auth-api/src/main/java/com/google/firebase/auth/PhoneAuthCredential.java
@@ -0,0 +1,64 @@
+/*
+ * SPDX-FileCopyrightText: 2020, microG Project Team
+ * SPDX-License-Identifier: Apache-2.0
+ * Notice: Portions of this file are reproduced from work created and shared by Google and used
+ * according to terms described in the Creative Commons 4.0 Attribution License.
+ * See https://developers.google.com/readme/policies for details.
+ */
+
+package com.google.firebase.auth;
+
+import org.microg.gms.common.PublicApi;
+
+/**
+ * Wraps phone number and verification information for authentication purposes.
+ */
+@PublicApi
+public class PhoneAuthCredential extends AuthCredential {
+ @Field(1)
+ @PublicApi(exclude = true)
+ public String sessionInfo;
+ @Field(2)
+ @PublicApi(exclude = true)
+ public String smsCode;
+ @Field(3)
+ @PublicApi(exclude = true)
+ public boolean hasVerificationCode;
+ @Field(4)
+ @PublicApi(exclude = true)
+ public String phoneNumber;
+ @Field(5)
+ @PublicApi(exclude = true)
+ public boolean autoCreate;
+ @Field(6)
+ @PublicApi(exclude = true)
+ public String temporaryProof;
+ @Field(7)
+ @PublicApi(exclude = true)
+ public String mfaEnrollmentId;
+
+ /**
+ * Returns the unique string identifier for the provider type with which the credential is associated.
+ */
+ @Override
+ public String getProvider() {
+ return "phone";
+ }
+
+ /**
+ * Returns the unique string identifier for the sign in method with which the credential is associated. Should match that returned by {@link FirebaseAuth#fetchSignInMethodsForEmail(String)} after this user has signed in with this type of credential.
+ */
+ @Override
+ public String getSignInMethod() {
+ return "phone";
+ }
+
+ /**
+ * Gets the auto-retrieved SMS verification code if applicable. When SMS verification is used, you will be called back first via onCodeSent(String, PhoneAuthProvider.ForceResendingToken), and later onVerificationCompleted(PhoneAuthCredential) with a {@link PhoneAuthCredential} containing a non-null SMS code if auto-retrieval succeeded. If Firebase used another approach to verify the phone number and triggers a callback via onVerificationCompleted(PhoneAuthCredential), then SMS code can be null.
+ */
+ public String getSmsCode() {
+ return smsCode;
+ }
+
+ public static final Creator CREATOR = new AutoCreator<>(PhoneAuthCredential.class);
+}
diff --git a/firebase-auth-api/src/main/java/com/google/firebase/auth/UserProfileChangeRequest.java b/firebase-auth-api/src/main/java/com/google/firebase/auth/UserProfileChangeRequest.java
new file mode 100644
index 00000000..a86c21da
--- /dev/null
+++ b/firebase-auth-api/src/main/java/com/google/firebase/auth/UserProfileChangeRequest.java
@@ -0,0 +1,88 @@
+/*
+ * SPDX-FileCopyrightText: 2020, microG Project Team
+ * SPDX-License-Identifier: Apache-2.0
+ * Notice: Portions of this file are reproduced from work created and shared by Google and used
+ * according to terms described in the Creative Commons 4.0 Attribution License.
+ * See https://developers.google.com/readme/policies for details.
+ */
+
+package com.google.firebase.auth;
+
+import android.net.Uri;
+
+import org.microg.gms.common.PublicApi;
+import org.microg.safeparcel.AutoSafeParcelable;
+
+/**
+ * Request used to update user profile information.
+ */
+@PublicApi
+public class UserProfileChangeRequest extends AutoSafeParcelable {
+ @Field(1)
+ @PublicApi(exclude = true)
+ public String displayName;
+ @Field(2)
+ @PublicApi(exclude = true)
+ public String photoUrl;
+ @Field(3)
+ @PublicApi(exclude = true)
+ public boolean shouldRemoveDisplayName;
+ @Field(4)
+ @PublicApi(exclude = true)
+ public boolean shouldRemovePhotoUri;
+
+ private UserProfileChangeRequest() {
+ }
+
+ public String getDisplayName() {
+ return displayName;
+ }
+
+ public Uri getPhotoUri() {
+ return Uri.parse(photoUrl);
+ }
+
+ /**
+ * The request builder.
+ */
+ public static class Builder {
+ private String displayName;
+ private Uri photoUri;
+ private boolean shouldRemoveDisplayName;
+ private boolean shouldRemovePhotoUri;
+
+ /**
+ * Sets the updated display name.
+ * @return the {@link UserProfileChangeRequest.Builder} for chaining
+ */
+ public Builder setDisplayName(String displayName) {
+ this.displayName = displayName;
+ shouldRemoveDisplayName = displayName == null;
+ return this;
+ }
+
+ /**
+ * Sets the updated photo {@link Uri}.
+ * @return the {@link UserProfileChangeRequest.Builder} for chaining
+ */
+ public Builder setPhotoUri(Uri photoUri) {
+ this.photoUri = photoUri;
+ shouldRemovePhotoUri = photoUri == null;
+ return this;
+ }
+
+ /**
+ * Returns a {@link UserProfileChangeRequest} instance
+ */
+ public UserProfileChangeRequest build() {
+ UserProfileChangeRequest request = new UserProfileChangeRequest();
+ request.displayName = displayName;
+ request.photoUrl = photoUri.toString();
+ request.shouldRemoveDisplayName = shouldRemoveDisplayName;
+ request.shouldRemovePhotoUri = shouldRemovePhotoUri;
+ return request;
+ }
+ }
+
+ public static final Creator CREATOR = new AutoCreator<>(UserProfileChangeRequest.class);
+}
diff --git a/firebase-auth-api/src/main/java/com/google/firebase/auth/api/internal/ApplyActionCodeAidlRequest.java b/firebase-auth-api/src/main/java/com/google/firebase/auth/api/internal/ApplyActionCodeAidlRequest.java
new file mode 100644
index 00000000..d68ed77c
--- /dev/null
+++ b/firebase-auth-api/src/main/java/com/google/firebase/auth/api/internal/ApplyActionCodeAidlRequest.java
@@ -0,0 +1,12 @@
+/*
+ * SPDX-FileCopyrightText: 2020, microG Project Team
+ * SPDX-License-Identifier: Apache-2.0
+ */
+
+package com.google.firebase.auth.api.internal;
+
+import org.microg.safeparcel.AutoSafeParcelable;
+
+public class ApplyActionCodeAidlRequest extends AutoSafeParcelable {
+ public static final Creator CREATOR = new AutoCreator<>(ApplyActionCodeAidlRequest.class);
+}
diff --git a/firebase-auth-api/src/main/java/com/google/firebase/auth/api/internal/ChangeEmailAidlRequest.java b/firebase-auth-api/src/main/java/com/google/firebase/auth/api/internal/ChangeEmailAidlRequest.java
new file mode 100644
index 00000000..70b4e103
--- /dev/null
+++ b/firebase-auth-api/src/main/java/com/google/firebase/auth/api/internal/ChangeEmailAidlRequest.java
@@ -0,0 +1,12 @@
+/*
+ * SPDX-FileCopyrightText: 2020, microG Project Team
+ * SPDX-License-Identifier: Apache-2.0
+ */
+
+package com.google.firebase.auth.api.internal;
+
+import org.microg.safeparcel.AutoSafeParcelable;
+
+public class ChangeEmailAidlRequest extends AutoSafeParcelable {
+ public static final Creator CREATOR = new AutoCreator<>(ChangeEmailAidlRequest.class);
+}
diff --git a/firebase-auth-api/src/main/java/com/google/firebase/auth/api/internal/ChangePasswordAidlRequest.java b/firebase-auth-api/src/main/java/com/google/firebase/auth/api/internal/ChangePasswordAidlRequest.java
new file mode 100644
index 00000000..70823dad
--- /dev/null
+++ b/firebase-auth-api/src/main/java/com/google/firebase/auth/api/internal/ChangePasswordAidlRequest.java
@@ -0,0 +1,12 @@
+/*
+ * SPDX-FileCopyrightText: 2020, microG Project Team
+ * SPDX-License-Identifier: Apache-2.0
+ */
+
+package com.google.firebase.auth.api.internal;
+
+import org.microg.safeparcel.AutoSafeParcelable;
+
+public class ChangePasswordAidlRequest extends AutoSafeParcelable {
+ public static final Creator CREATOR = new AutoCreator<>(ChangePasswordAidlRequest.class);
+}
diff --git a/firebase-auth-api/src/main/java/com/google/firebase/auth/api/internal/CheckActionCodeAidlRequest.java b/firebase-auth-api/src/main/java/com/google/firebase/auth/api/internal/CheckActionCodeAidlRequest.java
new file mode 100644
index 00000000..57f3f942
--- /dev/null
+++ b/firebase-auth-api/src/main/java/com/google/firebase/auth/api/internal/CheckActionCodeAidlRequest.java
@@ -0,0 +1,12 @@
+/*
+ * SPDX-FileCopyrightText: 2020, microG Project Team
+ * SPDX-License-Identifier: Apache-2.0
+ */
+
+package com.google.firebase.auth.api.internal;
+
+import org.microg.safeparcel.AutoSafeParcelable;
+
+public class CheckActionCodeAidlRequest extends AutoSafeParcelable {
+ public static final Creator CREATOR = new AutoCreator<>(CheckActionCodeAidlRequest.class);
+}
diff --git a/firebase-auth-api/src/main/java/com/google/firebase/auth/api/internal/ConfirmPasswordResetAidlRequest.java b/firebase-auth-api/src/main/java/com/google/firebase/auth/api/internal/ConfirmPasswordResetAidlRequest.java
new file mode 100644
index 00000000..f9505ed8
--- /dev/null
+++ b/firebase-auth-api/src/main/java/com/google/firebase/auth/api/internal/ConfirmPasswordResetAidlRequest.java
@@ -0,0 +1,12 @@
+/*
+ * SPDX-FileCopyrightText: 2020, microG Project Team
+ * SPDX-License-Identifier: Apache-2.0
+ */
+
+package com.google.firebase.auth.api.internal;
+
+import org.microg.safeparcel.AutoSafeParcelable;
+
+public class ConfirmPasswordResetAidlRequest extends AutoSafeParcelable {
+ public static final Creator CREATOR = new AutoCreator<>(ConfirmPasswordResetAidlRequest.class);
+}
diff --git a/firebase-auth-api/src/main/java/com/google/firebase/auth/api/internal/CreateAuthUriResponse.java b/firebase-auth-api/src/main/java/com/google/firebase/auth/api/internal/CreateAuthUriResponse.java
new file mode 100644
index 00000000..e32735a4
--- /dev/null
+++ b/firebase-auth-api/src/main/java/com/google/firebase/auth/api/internal/CreateAuthUriResponse.java
@@ -0,0 +1,27 @@
+/*
+ * SPDX-FileCopyrightText: 2020, microG Project Team
+ * SPDX-License-Identifier: Apache-2.0
+ */
+
+package com.google.firebase.auth.api.internal;
+
+import org.microg.safeparcel.AutoSafeParcelable;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class CreateAuthUriResponse extends AutoSafeParcelable {
+ @Field(2)
+ public String authUri;
+ @Field(3)
+ public boolean isRegistered;
+ @Field(4)
+ public String providerId;
+ @Field(5)
+ public boolean isForExistingProvider;
+ @Field(6)
+ public StringList stringList = new StringList();
+ @Field(7)
+ public List signInMethods = new ArrayList<>();
+ public static final Creator CREATOR = new AutoCreator<>(CreateAuthUriResponse.class);
+}
diff --git a/firebase-auth-api/src/main/java/com/google/firebase/auth/api/internal/CreateUserWithEmailAndPasswordAidlRequest.java b/firebase-auth-api/src/main/java/com/google/firebase/auth/api/internal/CreateUserWithEmailAndPasswordAidlRequest.java
new file mode 100644
index 00000000..a1eb8b99
--- /dev/null
+++ b/firebase-auth-api/src/main/java/com/google/firebase/auth/api/internal/CreateUserWithEmailAndPasswordAidlRequest.java
@@ -0,0 +1,19 @@
+/*
+ * SPDX-FileCopyrightText: 2020, microG Project Team
+ * SPDX-License-Identifier: Apache-2.0
+ */
+
+package com.google.firebase.auth.api.internal;
+
+import org.microg.safeparcel.AutoSafeParcelable;
+
+public class CreateUserWithEmailAndPasswordAidlRequest extends AutoSafeParcelable {
+ @Field(1)
+ public String email;
+ @Field(2)
+ public String password;
+ @Field(3)
+ public String tenantId;
+
+ public static final Creator CREATOR = new AutoCreator<>(CreateUserWithEmailAndPasswordAidlRequest.class);
+}
diff --git a/firebase-auth-api/src/main/java/com/google/firebase/auth/api/internal/DeleteAidlRequest.java b/firebase-auth-api/src/main/java/com/google/firebase/auth/api/internal/DeleteAidlRequest.java
new file mode 100644
index 00000000..3d815a6e
--- /dev/null
+++ b/firebase-auth-api/src/main/java/com/google/firebase/auth/api/internal/DeleteAidlRequest.java
@@ -0,0 +1,12 @@
+/*
+ * SPDX-FileCopyrightText: 2020, microG Project Team
+ * SPDX-License-Identifier: Apache-2.0
+ */
+
+package com.google.firebase.auth.api.internal;
+
+import org.microg.safeparcel.AutoSafeParcelable;
+
+public class DeleteAidlRequest extends AutoSafeParcelable {
+ public static final Creator CREATOR = new AutoCreator<>(DeleteAidlRequest.class);
+}
diff --git a/firebase-auth-api/src/main/java/com/google/firebase/auth/api/internal/FinalizeMfaEnrollmentAidlRequest.java b/firebase-auth-api/src/main/java/com/google/firebase/auth/api/internal/FinalizeMfaEnrollmentAidlRequest.java
new file mode 100644
index 00000000..d76ac82f
--- /dev/null
+++ b/firebase-auth-api/src/main/java/com/google/firebase/auth/api/internal/FinalizeMfaEnrollmentAidlRequest.java
@@ -0,0 +1,12 @@
+/*
+ * SPDX-FileCopyrightText: 2020, microG Project Team
+ * SPDX-License-Identifier: Apache-2.0
+ */
+
+package com.google.firebase.auth.api.internal;
+
+import org.microg.safeparcel.AutoSafeParcelable;
+
+public class FinalizeMfaEnrollmentAidlRequest extends AutoSafeParcelable {
+ public static final Creator CREATOR = new AutoCreator<>(FinalizeMfaEnrollmentAidlRequest.class);
+}
diff --git a/firebase-auth-api/src/main/java/com/google/firebase/auth/api/internal/FinalizeMfaSignInAidlRequest.java b/firebase-auth-api/src/main/java/com/google/firebase/auth/api/internal/FinalizeMfaSignInAidlRequest.java
new file mode 100644
index 00000000..f578a740
--- /dev/null
+++ b/firebase-auth-api/src/main/java/com/google/firebase/auth/api/internal/FinalizeMfaSignInAidlRequest.java
@@ -0,0 +1,12 @@
+/*
+ * SPDX-FileCopyrightText: 2020, microG Project Team
+ * SPDX-License-Identifier: Apache-2.0
+ */
+
+package com.google.firebase.auth.api.internal;
+
+import org.microg.safeparcel.AutoSafeParcelable;
+
+public class FinalizeMfaSignInAidlRequest extends AutoSafeParcelable {
+ public static final Creator CREATOR = new AutoCreator<>(FinalizeMfaSignInAidlRequest.class);
+}
diff --git a/firebase-auth-api/src/main/java/com/google/firebase/auth/api/internal/GetAccessTokenAidlRequest.java b/firebase-auth-api/src/main/java/com/google/firebase/auth/api/internal/GetAccessTokenAidlRequest.java
new file mode 100644
index 00000000..6b7d9e99
--- /dev/null
+++ b/firebase-auth-api/src/main/java/com/google/firebase/auth/api/internal/GetAccessTokenAidlRequest.java
@@ -0,0 +1,15 @@
+/*
+ * SPDX-FileCopyrightText: 2020, microG Project Team
+ * SPDX-License-Identifier: Apache-2.0
+ */
+
+package com.google.firebase.auth.api.internal;
+
+import org.microg.safeparcel.AutoSafeParcelable;
+
+public class GetAccessTokenAidlRequest extends AutoSafeParcelable {
+ @Field(1)
+ public String refreshToken;
+
+ public static final Creator CREATOR = new AutoCreator<>(GetAccessTokenAidlRequest.class);
+}
diff --git a/firebase-auth-api/src/main/java/com/google/firebase/auth/api/internal/GetAccountInfoUser.java b/firebase-auth-api/src/main/java/com/google/firebase/auth/api/internal/GetAccountInfoUser.java
new file mode 100644
index 00000000..6113649c
--- /dev/null
+++ b/firebase-auth-api/src/main/java/com/google/firebase/auth/api/internal/GetAccountInfoUser.java
@@ -0,0 +1,43 @@
+/*
+ * SPDX-FileCopyrightText: 2020, microG Project Team
+ * SPDX-License-Identifier: Apache-2.0
+ */
+
+package com.google.firebase.auth.api.internal;
+
+import com.google.firebase.auth.DefaultOAuthCredential;
+
+import org.microg.safeparcel.AutoSafeParcelable;
+
+import java.util.List;
+
+public class GetAccountInfoUser extends AutoSafeParcelable {
+ @Field(2)
+ public String localId;
+ @Field(3)
+ public String email;
+ @Field(4)
+ public boolean isEmailVerified;
+ @Field(5)
+ public String displayName;
+ @Field(6)
+ public String photoUrl;
+ @Field(7)
+ public ProviderUserInfoList providerInfoList = new ProviderUserInfoList();
+ @Field(8)
+ public String password;
+ @Field(9)
+ public String phoneNumber;
+ @Field(10)
+ public long creationTimestamp;
+ @Field(11)
+ public long lastSignInTimestamp;
+ @Field(12)
+ public boolean isNewUser;
+ @Field(13)
+ public DefaultOAuthCredential defaultOAuthCredential;
+ @Field(14)
+ public List mfaInfoList;
+
+ public static final Creator CREATOR = new AutoCreator<>(GetAccountInfoUser.class);
+}
diff --git a/firebase-auth-api/src/main/java/com/google/firebase/auth/api/internal/GetProvidersForEmailAidlRequest.java b/firebase-auth-api/src/main/java/com/google/firebase/auth/api/internal/GetProvidersForEmailAidlRequest.java
new file mode 100644
index 00000000..393bf119
--- /dev/null
+++ b/firebase-auth-api/src/main/java/com/google/firebase/auth/api/internal/GetProvidersForEmailAidlRequest.java
@@ -0,0 +1,16 @@
+/*
+ * SPDX-FileCopyrightText: 2020, microG Project Team
+ * SPDX-License-Identifier: Apache-2.0
+ */
+
+package com.google.firebase.auth.api.internal;
+
+import org.microg.safeparcel.AutoSafeParcelable;
+
+public class GetProvidersForEmailAidlRequest extends AutoSafeParcelable {
+ @Field(1)
+ public String email;
+ @Field(2)
+ public String tenantId;
+ public static final Creator CREATOR = new AutoCreator<>(GetProvidersForEmailAidlRequest.class);
+}
diff --git a/firebase-auth-api/src/main/java/com/google/firebase/auth/api/internal/GetTokenResponse.java b/firebase-auth-api/src/main/java/com/google/firebase/auth/api/internal/GetTokenResponse.java
new file mode 100644
index 00000000..66e786f7
--- /dev/null
+++ b/firebase-auth-api/src/main/java/com/google/firebase/auth/api/internal/GetTokenResponse.java
@@ -0,0 +1,44 @@
+/*
+ * SPDX-FileCopyrightText: 2020, microG Project Team
+ * SPDX-License-Identifier: Apache-2.0
+ */
+
+package com.google.firebase.auth.api.internal;
+
+import org.json.JSONException;
+import org.json.JSONObject;
+import org.microg.safeparcel.AutoSafeParcelable;
+
+public class GetTokenResponse extends AutoSafeParcelable {
+ @Field(2)
+ public String refreshToken;
+ @Field(3)
+ public String accessToken;
+ @Field(4)
+ public Long expiresIn;
+ @Field(5)
+ public String tokenType;
+ @Field(6)
+ public Long issuedAt;
+
+ public GetTokenResponse() {
+ issuedAt = System.currentTimeMillis();
+ }
+
+ public static GetTokenResponse parseJson(String json) {
+ try {
+ JSONObject object = new JSONObject(json);
+ GetTokenResponse response = new GetTokenResponse();
+ response.refreshToken = object.optString("refresh_token", null);
+ response.accessToken = object.optString("access_token", null);
+ response.tokenType = object.optString("token_type", null);
+ response.expiresIn = object.optLong("expires_in");
+ response.issuedAt = object.optLong("issued_at");
+ return response;
+ } catch (JSONException e) {
+ throw new RuntimeException(e);
+ }
+ }
+
+ public static final Creator CREATOR = new AutoCreator<>(GetTokenResponse.class);
+}
diff --git a/firebase-auth-api/src/main/java/com/google/firebase/auth/api/internal/LinkEmailAuthCredentialAidlRequest.java b/firebase-auth-api/src/main/java/com/google/firebase/auth/api/internal/LinkEmailAuthCredentialAidlRequest.java
new file mode 100644
index 00000000..f80f2cee
--- /dev/null
+++ b/firebase-auth-api/src/main/java/com/google/firebase/auth/api/internal/LinkEmailAuthCredentialAidlRequest.java
@@ -0,0 +1,18 @@
+/*
+ * SPDX-FileCopyrightText: 2020, microG Project Team
+ * SPDX-License-Identifier: Apache-2.0
+ */
+
+package com.google.firebase.auth.api.internal;
+
+import org.microg.safeparcel.AutoSafeParcelable;
+
+public class LinkEmailAuthCredentialAidlRequest extends AutoSafeParcelable {
+ @Field(1)
+ public String email;
+ @Field(2)
+ public String password;
+ @Field(3)
+ public String cachedState;
+ public static final Creator CREATOR = new AutoCreator<>(LinkEmailAuthCredentialAidlRequest.class);
+}
diff --git a/firebase-auth-api/src/main/java/com/google/firebase/auth/api/internal/LinkFederatedCredentialAidlRequest.java b/firebase-auth-api/src/main/java/com/google/firebase/auth/api/internal/LinkFederatedCredentialAidlRequest.java
new file mode 100644
index 00000000..6fd81225
--- /dev/null
+++ b/firebase-auth-api/src/main/java/com/google/firebase/auth/api/internal/LinkFederatedCredentialAidlRequest.java
@@ -0,0 +1,12 @@
+/*
+ * SPDX-FileCopyrightText: 2020, microG Project Team
+ * SPDX-License-Identifier: Apache-2.0
+ */
+
+package com.google.firebase.auth.api.internal;
+
+import org.microg.safeparcel.AutoSafeParcelable;
+
+public class LinkFederatedCredentialAidlRequest extends AutoSafeParcelable {
+ public static final Creator CREATOR = new AutoCreator<>(LinkFederatedCredentialAidlRequest.class);
+}
diff --git a/firebase-auth-api/src/main/java/com/google/firebase/auth/api/internal/LinkPhoneAuthCredentialAidlRequest.java b/firebase-auth-api/src/main/java/com/google/firebase/auth/api/internal/LinkPhoneAuthCredentialAidlRequest.java
new file mode 100644
index 00000000..afc653b4
--- /dev/null
+++ b/firebase-auth-api/src/main/java/com/google/firebase/auth/api/internal/LinkPhoneAuthCredentialAidlRequest.java
@@ -0,0 +1,12 @@
+/*
+ * SPDX-FileCopyrightText: 2020, microG Project Team
+ * SPDX-License-Identifier: Apache-2.0
+ */
+
+package com.google.firebase.auth.api.internal;
+
+import org.microg.safeparcel.AutoSafeParcelable;
+
+public class LinkPhoneAuthCredentialAidlRequest extends AutoSafeParcelable {
+ public static final Creator CREATOR = new AutoCreator<>(LinkPhoneAuthCredentialAidlRequest.class);
+}
diff --git a/firebase-auth-api/src/main/java/com/google/firebase/auth/api/internal/MfaInfo.java b/firebase-auth-api/src/main/java/com/google/firebase/auth/api/internal/MfaInfo.java
new file mode 100644
index 00000000..1e2ddaf0
--- /dev/null
+++ b/firebase-auth-api/src/main/java/com/google/firebase/auth/api/internal/MfaInfo.java
@@ -0,0 +1,14 @@
+/*
+ * SPDX-FileCopyrightText: 2020, microG Project Team
+ * SPDX-License-Identifier: Apache-2.0
+ */
+
+package com.google.firebase.auth.api.internal;
+
+import org.microg.safeparcel.AutoSafeParcelable;
+
+public class MfaInfo extends AutoSafeParcelable {
+
+
+ public static final Creator CREATOR = new AutoCreator<>(MfaInfo.class);
+}
diff --git a/firebase-auth-api/src/main/java/com/google/firebase/auth/api/internal/ProviderUserInfo.java b/firebase-auth-api/src/main/java/com/google/firebase/auth/api/internal/ProviderUserInfo.java
new file mode 100644
index 00000000..1f7a19b0
--- /dev/null
+++ b/firebase-auth-api/src/main/java/com/google/firebase/auth/api/internal/ProviderUserInfo.java
@@ -0,0 +1,27 @@
+/*
+ * SPDX-FileCopyrightText: 2020, microG Project Team
+ * SPDX-License-Identifier: Apache-2.0
+ */
+
+package com.google.firebase.auth.api.internal;
+
+import org.microg.safeparcel.AutoSafeParcelable;
+
+public class ProviderUserInfo extends AutoSafeParcelable {
+ @Field(2)
+ public String federatedId;
+ @Field(3)
+ public String displayName;
+ @Field(4)
+ public String photoUrl;
+ @Field(5)
+ public String providerId;
+ @Field(6)
+ public String rawUserInfo;
+ @Field(7)
+ public String phoneNumber;
+ @Field(8)
+ public String email;
+
+ public static final Creator CREATOR = new AutoCreator<>(ProviderUserInfo.class);
+}
diff --git a/firebase-auth-api/src/main/java/com/google/firebase/auth/api/internal/ProviderUserInfoList.java b/firebase-auth-api/src/main/java/com/google/firebase/auth/api/internal/ProviderUserInfoList.java
new file mode 100644
index 00000000..ff99d31e
--- /dev/null
+++ b/firebase-auth-api/src/main/java/com/google/firebase/auth/api/internal/ProviderUserInfoList.java
@@ -0,0 +1,19 @@
+/*
+ * SPDX-FileCopyrightText: 2020, microG Project Team
+ * SPDX-License-Identifier: Apache-2.0
+ */
+
+package com.google.firebase.auth.api.internal;
+
+import org.microg.safeparcel.AutoSafeParcelable;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class ProviderUserInfoList extends AutoSafeParcelable {
+ @Field(2)
+ public List providerUserInfos = new ArrayList<>();
+
+
+ public static final Creator CREATOR = new AutoCreator<>(ProviderUserInfoList.class);
+}
diff --git a/firebase-auth-api/src/main/java/com/google/firebase/auth/api/internal/ReloadAidlRequest.java b/firebase-auth-api/src/main/java/com/google/firebase/auth/api/internal/ReloadAidlRequest.java
new file mode 100644
index 00000000..de609f76
--- /dev/null
+++ b/firebase-auth-api/src/main/java/com/google/firebase/auth/api/internal/ReloadAidlRequest.java
@@ -0,0 +1,14 @@
+/*
+ * SPDX-FileCopyrightText: 2020, microG Project Team
+ * SPDX-License-Identifier: Apache-2.0
+ */
+
+package com.google.firebase.auth.api.internal;
+
+import org.microg.safeparcel.AutoSafeParcelable;
+
+public class ReloadAidlRequest extends AutoSafeParcelable {
+ @Field(1)
+ public String cachedState;
+ public static final Creator CREATOR = new AutoCreator<>(ReloadAidlRequest.class);
+}
diff --git a/firebase-auth-api/src/main/java/com/google/firebase/auth/api/internal/ResetPasswordResponse.java b/firebase-auth-api/src/main/java/com/google/firebase/auth/api/internal/ResetPasswordResponse.java
new file mode 100644
index 00000000..06af0636
--- /dev/null
+++ b/firebase-auth-api/src/main/java/com/google/firebase/auth/api/internal/ResetPasswordResponse.java
@@ -0,0 +1,20 @@
+/*
+ * SPDX-FileCopyrightText: 2020, microG Project Team
+ * SPDX-License-Identifier: Apache-2.0
+ */
+
+package com.google.firebase.auth.api.internal;
+
+import org.microg.safeparcel.AutoSafeParcelable;
+
+public class ResetPasswordResponse extends AutoSafeParcelable {
+ @Field(2)
+ public String email;
+ @Field(3)
+ public String newEmail;
+ @Field(4)
+ public String requestType;
+ @Field(5)
+ public MfaInfo mfaInfo;
+ public static final Creator CREATOR = new AutoCreator<>(ResetPasswordResponse.class);
+}
diff --git a/firebase-auth-api/src/main/java/com/google/firebase/auth/api/internal/SendEmailVerificationWithSettingsAidlRequest.java b/firebase-auth-api/src/main/java/com/google/firebase/auth/api/internal/SendEmailVerificationWithSettingsAidlRequest.java
new file mode 100644
index 00000000..9bda971e
--- /dev/null
+++ b/firebase-auth-api/src/main/java/com/google/firebase/auth/api/internal/SendEmailVerificationWithSettingsAidlRequest.java
@@ -0,0 +1,18 @@
+/*
+ * SPDX-FileCopyrightText: 2020, microG Project Team
+ * SPDX-License-Identifier: Apache-2.0
+ */
+
+package com.google.firebase.auth.api.internal;
+
+import com.google.firebase.auth.ActionCodeSettings;
+
+import org.microg.safeparcel.AutoSafeParcelable;
+
+public class SendEmailVerificationWithSettingsAidlRequest extends AutoSafeParcelable {
+ @Field(1)
+ public String token;
+ @Field(2)
+ public ActionCodeSettings settings;
+ public static final Creator CREATOR = new AutoCreator<>(SendEmailVerificationWithSettingsAidlRequest.class);
+}
diff --git a/firebase-auth-api/src/main/java/com/google/firebase/auth/api/internal/SendGetOobConfirmationCodeEmailAidlRequest.java b/firebase-auth-api/src/main/java/com/google/firebase/auth/api/internal/SendGetOobConfirmationCodeEmailAidlRequest.java
new file mode 100644
index 00000000..04dd49cc
--- /dev/null
+++ b/firebase-auth-api/src/main/java/com/google/firebase/auth/api/internal/SendGetOobConfirmationCodeEmailAidlRequest.java
@@ -0,0 +1,20 @@
+/*
+ * SPDX-FileCopyrightText: 2020, microG Project Team
+ * SPDX-License-Identifier: Apache-2.0
+ */
+
+package com.google.firebase.auth.api.internal;
+
+import com.google.firebase.auth.ActionCodeSettings;
+
+import org.microg.safeparcel.AutoSafeParcelable;
+
+public class SendGetOobConfirmationCodeEmailAidlRequest extends AutoSafeParcelable {
+ @Field(1)
+ public String email;
+ @Field(2)
+ public ActionCodeSettings settings;
+ @Field(3)
+ public String tenantId;
+ public static final Creator CREATOR = new AutoCreator<>(SendGetOobConfirmationCodeEmailAidlRequest.class);
+}
diff --git a/firebase-auth-api/src/main/java/com/google/firebase/auth/api/internal/SendVerificationCodeAidlRequest.java b/firebase-auth-api/src/main/java/com/google/firebase/auth/api/internal/SendVerificationCodeAidlRequest.java
new file mode 100644
index 00000000..9b3eccd3
--- /dev/null
+++ b/firebase-auth-api/src/main/java/com/google/firebase/auth/api/internal/SendVerificationCodeAidlRequest.java
@@ -0,0 +1,14 @@
+/*
+ * SPDX-FileCopyrightText: 2020, microG Project Team
+ * SPDX-License-Identifier: Apache-2.0
+ */
+
+package com.google.firebase.auth.api.internal;
+
+import org.microg.safeparcel.AutoSafeParcelable;
+
+public class SendVerificationCodeAidlRequest extends AutoSafeParcelable {
+ @Field(1)
+ public SendVerificationCodeRequest request;
+ public static final Creator CREATOR = new AutoCreator<>(SendVerificationCodeAidlRequest.class);
+}
diff --git a/firebase-auth-api/src/main/java/com/google/firebase/auth/api/internal/SendVerificationCodeRequest.java b/firebase-auth-api/src/main/java/com/google/firebase/auth/api/internal/SendVerificationCodeRequest.java
new file mode 100644
index 00000000..971d6fa7
--- /dev/null
+++ b/firebase-auth-api/src/main/java/com/google/firebase/auth/api/internal/SendVerificationCodeRequest.java
@@ -0,0 +1,25 @@
+/*
+ * SPDX-FileCopyrightText: 2020, microG Project Team
+ * SPDX-License-Identifier: Apache-2.0
+ */
+
+package com.google.firebase.auth.api.internal;
+
+import org.microg.safeparcel.AutoSafeParcelable;
+
+public class SendVerificationCodeRequest extends AutoSafeParcelable {
+ @Field(1)
+ public String phoneNumber;
+ @Field(2)
+ public Long timeoutInSeconds;
+ @Field(3)
+ public boolean forceNewSmsVerificationSession;
+ @Field(4)
+ public String languageHeader;
+ @Field(5)
+ public String tenantId;
+ @Field(6)
+ public String recaptchaToken;
+
+ public static final Creator CREATOR = new AutoCreator<>(SendVerificationCodeRequest.class);
+}
diff --git a/firebase-auth-api/src/main/java/com/google/firebase/auth/api/internal/SetFirebaseUiVersionAidlRequest.java b/firebase-auth-api/src/main/java/com/google/firebase/auth/api/internal/SetFirebaseUiVersionAidlRequest.java
new file mode 100644
index 00000000..964382e8
--- /dev/null
+++ b/firebase-auth-api/src/main/java/com/google/firebase/auth/api/internal/SetFirebaseUiVersionAidlRequest.java
@@ -0,0 +1,12 @@
+/*
+ * SPDX-FileCopyrightText: 2020, microG Project Team
+ * SPDX-License-Identifier: Apache-2.0
+ */
+
+package com.google.firebase.auth.api.internal;
+
+import org.microg.safeparcel.AutoSafeParcelable;
+
+public class SetFirebaseUiVersionAidlRequest extends AutoSafeParcelable {
+ public static final Creator CREATOR = new AutoCreator<>(SetFirebaseUiVersionAidlRequest.class);
+}
diff --git a/firebase-auth-api/src/main/java/com/google/firebase/auth/api/internal/SignInAnonymouslyAidlRequest.java b/firebase-auth-api/src/main/java/com/google/firebase/auth/api/internal/SignInAnonymouslyAidlRequest.java
new file mode 100644
index 00000000..2549412d
--- /dev/null
+++ b/firebase-auth-api/src/main/java/com/google/firebase/auth/api/internal/SignInAnonymouslyAidlRequest.java
@@ -0,0 +1,14 @@
+/*
+ * SPDX-FileCopyrightText: 2020, microG Project Team
+ * SPDX-License-Identifier: Apache-2.0
+ */
+
+package com.google.firebase.auth.api.internal;
+
+import org.microg.safeparcel.AutoSafeParcelable;
+
+public class SignInAnonymouslyAidlRequest extends AutoSafeParcelable {
+ @Field(1)
+ public String tenantId;
+ public static final Creator CREATOR = new AutoCreator<>(SignInAnonymouslyAidlRequest.class);
+}
diff --git a/firebase-auth-api/src/main/java/com/google/firebase/auth/api/internal/SignInWithCredentialAidlRequest.java b/firebase-auth-api/src/main/java/com/google/firebase/auth/api/internal/SignInWithCredentialAidlRequest.java
new file mode 100644
index 00000000..94190acb
--- /dev/null
+++ b/firebase-auth-api/src/main/java/com/google/firebase/auth/api/internal/SignInWithCredentialAidlRequest.java
@@ -0,0 +1,12 @@
+/*
+ * SPDX-FileCopyrightText: 2020, microG Project Team
+ * SPDX-License-Identifier: Apache-2.0
+ */
+
+package com.google.firebase.auth.api.internal;
+
+import org.microg.safeparcel.AutoSafeParcelable;
+
+public class SignInWithCredentialAidlRequest extends AutoSafeParcelable {
+ public static final Creator CREATOR = new AutoCreator<>(SignInWithCredentialAidlRequest.class);
+}
diff --git a/firebase-auth-api/src/main/java/com/google/firebase/auth/api/internal/SignInWithCustomTokenAidlRequest.java b/firebase-auth-api/src/main/java/com/google/firebase/auth/api/internal/SignInWithCustomTokenAidlRequest.java
new file mode 100644
index 00000000..0f7f1077
--- /dev/null
+++ b/firebase-auth-api/src/main/java/com/google/firebase/auth/api/internal/SignInWithCustomTokenAidlRequest.java
@@ -0,0 +1,17 @@
+/*
+ * SPDX-FileCopyrightText: 2020, microG Project Team
+ * SPDX-License-Identifier: Apache-2.0
+ */
+
+package com.google.firebase.auth.api.internal;
+
+import org.microg.safeparcel.AutoSafeParcelable;
+
+public class SignInWithCustomTokenAidlRequest extends AutoSafeParcelable {
+ @Field(1)
+ public String token;
+ @Field(2)
+ public String tenantId;
+
+ public static final Creator CREATOR = new AutoCreator<>(SignInWithCustomTokenAidlRequest.class);
+}
diff --git a/firebase-auth-api/src/main/java/com/google/firebase/auth/api/internal/SignInWithEmailAndPasswordAidlRequest.java b/firebase-auth-api/src/main/java/com/google/firebase/auth/api/internal/SignInWithEmailAndPasswordAidlRequest.java
new file mode 100644
index 00000000..c8aa04d9
--- /dev/null
+++ b/firebase-auth-api/src/main/java/com/google/firebase/auth/api/internal/SignInWithEmailAndPasswordAidlRequest.java
@@ -0,0 +1,18 @@
+/*
+ * SPDX-FileCopyrightText: 2020, microG Project Team
+ * SPDX-License-Identifier: Apache-2.0
+ */
+
+package com.google.firebase.auth.api.internal;
+
+import org.microg.safeparcel.AutoSafeParcelable;
+
+public class SignInWithEmailAndPasswordAidlRequest extends AutoSafeParcelable {
+ @Field(1)
+ public String email;
+ @Field(2)
+ public String password;
+ @Field(3)
+ public String tenantId;
+ public static final Creator CREATOR = new AutoCreator<>(SignInWithEmailAndPasswordAidlRequest.class);
+}
diff --git a/firebase-auth-api/src/main/java/com/google/firebase/auth/api/internal/SignInWithEmailLinkAidlRequest.java b/firebase-auth-api/src/main/java/com/google/firebase/auth/api/internal/SignInWithEmailLinkAidlRequest.java
new file mode 100644
index 00000000..71028fa1
--- /dev/null
+++ b/firebase-auth-api/src/main/java/com/google/firebase/auth/api/internal/SignInWithEmailLinkAidlRequest.java
@@ -0,0 +1,12 @@
+/*
+ * SPDX-FileCopyrightText: 2020, microG Project Team
+ * SPDX-License-Identifier: Apache-2.0
+ */
+
+package com.google.firebase.auth.api.internal;
+
+import org.microg.safeparcel.AutoSafeParcelable;
+
+public class SignInWithEmailLinkAidlRequest extends AutoSafeParcelable {
+ public static final Creator CREATOR = new AutoCreator<>(SignInWithEmailLinkAidlRequest.class);
+}
diff --git a/firebase-auth-api/src/main/java/com/google/firebase/auth/api/internal/SignInWithPhoneNumberAidlRequest.java b/firebase-auth-api/src/main/java/com/google/firebase/auth/api/internal/SignInWithPhoneNumberAidlRequest.java
new file mode 100644
index 00000000..d076cf30
--- /dev/null
+++ b/firebase-auth-api/src/main/java/com/google/firebase/auth/api/internal/SignInWithPhoneNumberAidlRequest.java
@@ -0,0 +1,19 @@
+/*
+ * SPDX-FileCopyrightText: 2020, microG Project Team
+ * SPDX-License-Identifier: Apache-2.0
+ */
+
+package com.google.firebase.auth.api.internal;
+
+import com.google.firebase.auth.PhoneAuthCredential;
+
+import org.microg.safeparcel.AutoSafeParcelable;
+
+public class SignInWithPhoneNumberAidlRequest extends AutoSafeParcelable {
+ @Field(1)
+ public PhoneAuthCredential credential;
+ @Field(2)
+ public String tenantId;
+
+ public static final Creator CREATOR = new AutoCreator<>(SignInWithPhoneNumberAidlRequest.class);
+}
diff --git a/firebase-auth-api/src/main/java/com/google/firebase/auth/api/internal/StartMfaPhoneNumberEnrollmentAidlRequest.java b/firebase-auth-api/src/main/java/com/google/firebase/auth/api/internal/StartMfaPhoneNumberEnrollmentAidlRequest.java
new file mode 100644
index 00000000..b4a93b6b
--- /dev/null
+++ b/firebase-auth-api/src/main/java/com/google/firebase/auth/api/internal/StartMfaPhoneNumberEnrollmentAidlRequest.java
@@ -0,0 +1,12 @@
+/*
+ * SPDX-FileCopyrightText: 2020, microG Project Team
+ * SPDX-License-Identifier: Apache-2.0
+ */
+
+package com.google.firebase.auth.api.internal;
+
+import org.microg.safeparcel.AutoSafeParcelable;
+
+public class StartMfaPhoneNumberEnrollmentAidlRequest extends AutoSafeParcelable {
+ public static final Creator CREATOR = new AutoCreator<>(StartMfaPhoneNumberEnrollmentAidlRequest.class);
+}
diff --git a/firebase-auth-api/src/main/java/com/google/firebase/auth/api/internal/StartMfaPhoneNumberSignInAidlRequest.java b/firebase-auth-api/src/main/java/com/google/firebase/auth/api/internal/StartMfaPhoneNumberSignInAidlRequest.java
new file mode 100644
index 00000000..151d4e6e
--- /dev/null
+++ b/firebase-auth-api/src/main/java/com/google/firebase/auth/api/internal/StartMfaPhoneNumberSignInAidlRequest.java
@@ -0,0 +1,12 @@
+/*
+ * SPDX-FileCopyrightText: 2020, microG Project Team
+ * SPDX-License-Identifier: Apache-2.0
+ */
+
+package com.google.firebase.auth.api.internal;
+
+import org.microg.safeparcel.AutoSafeParcelable;
+
+public class StartMfaPhoneNumberSignInAidlRequest extends AutoSafeParcelable {
+ public static final Creator CREATOR = new AutoCreator<>(StartMfaPhoneNumberSignInAidlRequest.class);
+}
diff --git a/firebase-auth-api/src/main/java/com/google/firebase/auth/api/internal/StringList.java b/firebase-auth-api/src/main/java/com/google/firebase/auth/api/internal/StringList.java
new file mode 100644
index 00000000..8c72245c
--- /dev/null
+++ b/firebase-auth-api/src/main/java/com/google/firebase/auth/api/internal/StringList.java
@@ -0,0 +1,19 @@
+/*
+ * SPDX-FileCopyrightText: 2020, microG Project Team
+ * SPDX-License-Identifier: Apache-2.0
+ */
+
+package com.google.firebase.auth.api.internal;
+
+import org.microg.safeparcel.AutoSafeParcelable;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class StringList extends AutoSafeParcelable {
+ @Field(1)
+ public int versionCode = 1;
+ @Field(2)
+ public List values = new ArrayList<>();
+ public static final Creator CREATOR = new AutoCreator<>(StringList.class);
+}
diff --git a/firebase-auth-api/src/main/java/com/google/firebase/auth/api/internal/UnenrollMfaAidlRequest.java b/firebase-auth-api/src/main/java/com/google/firebase/auth/api/internal/UnenrollMfaAidlRequest.java
new file mode 100644
index 00000000..49c4b0f6
--- /dev/null
+++ b/firebase-auth-api/src/main/java/com/google/firebase/auth/api/internal/UnenrollMfaAidlRequest.java
@@ -0,0 +1,12 @@
+/*
+ * SPDX-FileCopyrightText: 2020, microG Project Team
+ * SPDX-License-Identifier: Apache-2.0
+ */
+
+package com.google.firebase.auth.api.internal;
+
+import org.microg.safeparcel.AutoSafeParcelable;
+
+public class UnenrollMfaAidlRequest extends AutoSafeParcelable {
+ public static final Creator CREATOR = new AutoCreator<>(UnenrollMfaAidlRequest.class);
+}
diff --git a/firebase-auth-api/src/main/java/com/google/firebase/auth/api/internal/UnlinkEmailCredentialAidlRequest.java b/firebase-auth-api/src/main/java/com/google/firebase/auth/api/internal/UnlinkEmailCredentialAidlRequest.java
new file mode 100644
index 00000000..55770dd9
--- /dev/null
+++ b/firebase-auth-api/src/main/java/com/google/firebase/auth/api/internal/UnlinkEmailCredentialAidlRequest.java
@@ -0,0 +1,12 @@
+/*
+ * SPDX-FileCopyrightText: 2020, microG Project Team
+ * SPDX-License-Identifier: Apache-2.0
+ */
+
+package com.google.firebase.auth.api.internal;
+
+import org.microg.safeparcel.AutoSafeParcelable;
+
+public class UnlinkEmailCredentialAidlRequest extends AutoSafeParcelable {
+ public static final Creator CREATOR = new AutoCreator<>(UnlinkEmailCredentialAidlRequest.class);
+}
diff --git a/firebase-auth-api/src/main/java/com/google/firebase/auth/api/internal/UnlinkFederatedCredentialAidlRequest.java b/firebase-auth-api/src/main/java/com/google/firebase/auth/api/internal/UnlinkFederatedCredentialAidlRequest.java
new file mode 100644
index 00000000..1533997c
--- /dev/null
+++ b/firebase-auth-api/src/main/java/com/google/firebase/auth/api/internal/UnlinkFederatedCredentialAidlRequest.java
@@ -0,0 +1,12 @@
+/*
+ * SPDX-FileCopyrightText: 2020, microG Project Team
+ * SPDX-License-Identifier: Apache-2.0
+ */
+
+package com.google.firebase.auth.api.internal;
+
+import org.microg.safeparcel.AutoSafeParcelable;
+
+public class UnlinkFederatedCredentialAidlRequest extends AutoSafeParcelable {
+ public static final Creator CREATOR = new AutoCreator<>(UnlinkFederatedCredentialAidlRequest.class);
+}
diff --git a/firebase-auth-api/src/main/java/com/google/firebase/auth/api/internal/UpdateProfileAidlRequest.java b/firebase-auth-api/src/main/java/com/google/firebase/auth/api/internal/UpdateProfileAidlRequest.java
new file mode 100644
index 00000000..25d40202
--- /dev/null
+++ b/firebase-auth-api/src/main/java/com/google/firebase/auth/api/internal/UpdateProfileAidlRequest.java
@@ -0,0 +1,18 @@
+/*
+ * SPDX-FileCopyrightText: 2020, microG Project Team
+ * SPDX-License-Identifier: Apache-2.0
+ */
+
+package com.google.firebase.auth.api.internal;
+
+import com.google.firebase.auth.UserProfileChangeRequest;
+
+import org.microg.safeparcel.AutoSafeParcelable;
+
+public class UpdateProfileAidlRequest extends AutoSafeParcelable {
+ @Field(1)
+ public UserProfileChangeRequest request;
+ @Field(2)
+ public String cachedState;
+ public static final Creator CREATOR = new AutoCreator<>(UpdateProfileAidlRequest.class);
+}
diff --git a/firebase-auth-api/src/main/java/com/google/firebase/auth/api/internal/VerifyAssertionRequest.java b/firebase-auth-api/src/main/java/com/google/firebase/auth/api/internal/VerifyAssertionRequest.java
new file mode 100644
index 00000000..47e3c220
--- /dev/null
+++ b/firebase-auth-api/src/main/java/com/google/firebase/auth/api/internal/VerifyAssertionRequest.java
@@ -0,0 +1,12 @@
+/*
+ * SPDX-FileCopyrightText: 2020, microG Project Team
+ * SPDX-License-Identifier: Apache-2.0
+ */
+
+package com.google.firebase.auth.api.internal;
+
+import org.microg.safeparcel.AutoSafeParcelable;
+
+public class VerifyAssertionRequest extends AutoSafeParcelable {
+ public static final Creator CREATOR = new AutoCreator<>(VerifyAssertionRequest.class);
+}
diff --git a/firebase-auth-api/src/main/java/com/google/firebase/auth/api/internal/VerifyBeforeUpdateEmailAidlRequest.java b/firebase-auth-api/src/main/java/com/google/firebase/auth/api/internal/VerifyBeforeUpdateEmailAidlRequest.java
new file mode 100644
index 00000000..d6d5c121
--- /dev/null
+++ b/firebase-auth-api/src/main/java/com/google/firebase/auth/api/internal/VerifyBeforeUpdateEmailAidlRequest.java
@@ -0,0 +1,12 @@
+/*
+ * SPDX-FileCopyrightText: 2020, microG Project Team
+ * SPDX-License-Identifier: Apache-2.0
+ */
+
+package com.google.firebase.auth.api.internal;
+
+import org.microg.safeparcel.AutoSafeParcelable;
+
+public class VerifyBeforeUpdateEmailAidlRequest extends AutoSafeParcelable {
+ public static final Creator CREATOR = new AutoCreator<>(VerifyBeforeUpdateEmailAidlRequest.class);
+}
diff --git a/firebase-auth-api/src/main/java/org/microg/gms/firebase/auth/Constants.java b/firebase-auth-api/src/main/java/org/microg/gms/firebase/auth/Constants.java
new file mode 100644
index 00000000..0f83c9fe
--- /dev/null
+++ b/firebase-auth-api/src/main/java/org/microg/gms/firebase/auth/Constants.java
@@ -0,0 +1,11 @@
+/*
+ * SPDX-FileCopyrightText: 2020, microG Project Team
+ * SPDX-License-Identifier: Apache-2.0
+ */
+
+package org.microg.gms.firebase.auth;
+
+public class Constants {
+ public static final String EXTRA_API_KEY = "com.google.firebase.auth.API_KEY";
+ public static final String EXTRA_LIBRARY_VERSION = "com.google.firebase.auth.LIBRARY_VERSION";
+}
diff --git a/firebase-auth-core/build.gradle b/firebase-auth-core/build.gradle
new file mode 100644
index 00000000..4a2e3e46
--- /dev/null
+++ b/firebase-auth-core/build.gradle
@@ -0,0 +1,46 @@
+/*
+ * SPDX-FileCopyrightText: 2020, microG Project Team
+ * SPDX-License-Identifier: Apache-2.0
+ */
+
+apply plugin: 'com.android.library'
+apply plugin: 'kotlin-android'
+apply plugin: 'kotlin-android-extensions'
+
+dependencies {
+ api project(':firebase-auth-api')
+
+ implementation "androidx.lifecycle:lifecycle-service:$lifecycleVersion"
+ implementation "androidx.lifecycle:lifecycle-runtime-ktx:$lifecycleVersion"
+
+ implementation "androidx.appcompat:appcompat:$appcompatVersion"
+
+ implementation project(':play-services-base-core')
+ implementation project(':play-services-base-core-ui')
+
+ implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlinVersion"
+ implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:$coroutineVersion"
+ implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:$coroutineVersion"
+
+ implementation "com.android.volley:volley:$volleyVersion"
+}
+
+android {
+ compileSdkVersion androidCompileSdk
+ buildToolsVersion "$androidBuildVersionTools"
+
+ defaultConfig {
+ versionName version
+ minSdkVersion androidMinSdk
+ targetSdkVersion androidTargetSdk
+ }
+
+ sourceSets {
+ main.java.srcDirs += 'src/main/kotlin'
+ }
+
+ compileOptions {
+ sourceCompatibility = 1.8
+ targetCompatibility = 1.8
+ }
+}
diff --git a/firebase-auth-core/src/main/AndroidManifest.xml b/firebase-auth-core/src/main/AndroidManifest.xml
new file mode 100644
index 00000000..d3507793
--- /dev/null
+++ b/firebase-auth-core/src/main/AndroidManifest.xml
@@ -0,0 +1,25 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/firebase-auth-core/src/main/assets/recaptcha.html b/firebase-auth-core/src/main/assets/recaptcha.html
new file mode 100644
index 00000000..3da22b32
--- /dev/null
+++ b/firebase-auth-core/src/main/assets/recaptcha.html
@@ -0,0 +1,54 @@
+
+
+
+
+
+