# SPDX-FileCopyrightText: 2016, microG Project Team
# SPDX-License-Identifier: CC0-1.0

# Keep AutoSafeParcelables
-keep public class * extends org.microg.safeparcel.AutoSafeParcelable {
    @org.microg.safeparcel.SafeParcelable.Field *;
    @org.microg.safeparcel.SafeParceled *;
}

# Keep asInterface method cause it's accessed from SafeParcel
-keepattributes InnerClasses
-keepclassmembers interface * extends android.os.IInterface {
    public static class *;
}
-keep public class * extends android.os.Binder { public static *; }

# Keep rules to prevent R8 from removing necessary classes
-dontwarn com.google.j2objc.annotations.RetainedWith
-keep class com.google.j2objc.annotations.RetainedWith { *; }

-keep class com.google.common.reflect.TypeToken
-keep class * extends com.google.common.reflect.TypeToken

-keep class com.google.gson.reflect.TypeToken { *; }
-keep class com.google.common.reflect.TypeToken { *; }

