Skip to content

Commit 08bde0d

Browse files
mar-v-inWSTxda
authored andcommitted
Auth: Migrate SignInConfiguration to preprocessor-based safe parcelable
(cherry picked from commit d00ed28)
1 parent fe375ca commit 08bde0d

File tree

1 file changed

+55
-8
lines changed

1 file changed

+55
-8
lines changed

play-services-auth/src/main/java/com/google/android/gms/auth/api/signin/internal/SignInConfiguration.java

Lines changed: 55 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,24 +5,71 @@
55

66
package com.google.android.gms.auth.api.signin.internal;
77

8+
import android.os.Parcel;
9+
810
import androidx.annotation.NonNull;
11+
912
import com.google.android.gms.auth.api.signin.GoogleSignInOptions;
13+
import com.google.android.gms.common.internal.safeparcel.AbstractSafeParcelable;
14+
import com.google.android.gms.common.internal.safeparcel.SafeParcelable;
15+
import com.google.android.gms.common.internal.safeparcel.SafeParcelableCreatorAndWriter;
16+
1017
import org.microg.gms.common.Hide;
1118
import org.microg.gms.utils.ToStringHelper;
12-
import org.microg.safeparcel.AutoSafeParcelable;
19+
20+
import java.util.Objects;
1321

1422
@Hide
15-
public class SignInConfiguration extends AutoSafeParcelable {
16-
@Field(2)
17-
public String packageName;
18-
@Field(5)
19-
public GoogleSignInOptions options;
23+
@SafeParcelable.Class
24+
public class SignInConfiguration extends AbstractSafeParcelable {
25+
@Field(value = 2, getterName = "getPackageName")
26+
@NonNull
27+
private final String packageName;
28+
@Field(value = 5, getterName = "getOptions")
29+
@NonNull
30+
private final GoogleSignInOptions options;
31+
32+
@Constructor
33+
public SignInConfiguration(@Param(2) @NonNull String packageName, @Param(5) @NonNull GoogleSignInOptions options) {
34+
this.packageName = packageName;
35+
this.options = options;
36+
}
37+
38+
@NonNull
39+
public String getPackageName() {
40+
return packageName;
41+
}
42+
43+
@NonNull
44+
public GoogleSignInOptions getOptions() {
45+
return options;
46+
}
47+
48+
49+
@Override
50+
public final boolean equals(Object o) {
51+
if (!(o instanceof SignInConfiguration that)) return false;
52+
53+
return packageName.equals(that.packageName) && Objects.equals(options, that.options);
54+
}
55+
56+
@Override
57+
public int hashCode() {
58+
int hash = packageName.hashCode() + 31;
59+
hash = Objects.hashCode(options) + (hash * 31);
60+
return hash;
61+
}
2062

2163
@NonNull
2264
@Override
2365
public String toString() {
2466
return ToStringHelper.name("SignInConfiguration").field("packageName", packageName).field("options", options).end();
2567
}
2668

27-
public static final Creator<SignInConfiguration> CREATOR = findCreator(SignInConfiguration.class);
28-
}
69+
@Override
70+
public void writeToParcel(@NonNull Parcel dest, int flags) {
71+
CREATOR.writeToParcel(this, dest, flags);
72+
}
73+
74+
public static final SafeParcelableCreatorAndWriter<SignInConfiguration> CREATOR = findCreator(SignInConfiguration.class);
75+
}

0 commit comments

Comments
 (0)