# Keep class's integer static field for MessageUtils to parsing their name.
-keepclassmembers class com.android.server.**,android.net.**,com.android.networkstack.** {
    static final % POLICY_*;
    static final % NOTIFY_TYPE_*;
    static final % TRANSPORT_*;
    static final % CMD_*;
    static final % EVENT_*;
}

-keep class com.android.networkstack.tethering.util.BpfMap {
    native <methods>;
}

-keep class com.android.networkstack.tethering.util.TcUtils {
    native <methods>;
}

# Ensure runtime-visible field annotations are kept when using R8 full mode.
-keepattributes RuntimeVisibleAnnotations,AnnotationDefault
-keep interface com.android.networkstack.tethering.util.Struct$Field {
    *;
}
-keepclassmembers public class * extends com.android.networkstack.tethering.util.Struct {
    *;
}

# The lite proto runtime uses reflection to access fields based on the names in
# the schema, keep all the fields.
-keepclassmembers class * extends com.android.networkstack.tethering.protobuf.MessageLite {
    <fields>;
}
