# Ravenwood "policy" file for framework-minus-apex.

# To avoid VerifyError on nano proto files (b/324063814), we rename nano proto classes.
# Note: The "rename" directive must use slashes (/) as a package name separator.
rename com/.*/nano/   devicenano/
rename android/.*/nano/   devicenano/


# StatsD autogenerated classes. Maybe add a heuristic?
class com.android.internal.util.FrameworkStatsLog keepclass

# Exported to Mainline modules; cannot use annotations
class com.android.internal.util.FastXmlSerializer keepclass
class com.android.internal.util.FileRotator keepclass
class com.android.internal.util.HexDump keepclass
class com.android.internal.util.IndentingPrintWriter keepclass
class com.android.internal.util.LocalLog keepclass
class com.android.internal.util.MessageUtils keepclass
class com.android.internal.util.TokenBucket keepclass
class android.os.HandlerExecutor keepclass
class android.util.BackupUtils keepclass
class android.util.IndentingPrintWriter keepclass
class android.util.LocalLog keepclass
class android.util.Pair keepclass
class android.util.Rational keepclass

# From modules-utils; cannot use annotations
class com.android.internal.util.Preconditions keepclass
class com.android.internal.logging.InstanceId keepclass
class com.android.internal.logging.InstanceIdSequence keepclass
class com.android.internal.logging.UiEvent keepclass
class com.android.internal.logging.UiEventLogger keepclass

# From modules-utils; cannot use annotations
class com.android.modules.utils.BinaryXmlPullParser keepclass
class com.android.modules.utils.BinaryXmlSerializer keepclass
class com.android.modules.utils.FastDataInput keepclass
class com.android.modules.utils.FastDataOutput keepclass
class com.android.modules.utils.ModifiedUtf8 keepclass
class com.android.modules.utils.TypedXmlPullParser keepclass
class com.android.modules.utils.TypedXmlSerializer keepclass

# Uri
class android.net.Uri keepclass
class android.net.UriCodec keepclass

# Telephony
class android.telephony.PinResult keepclass

# Just enough to support mocking, no further functionality
class android.content.BroadcastReceiver keep
    method <init> ()V keep
class android.content.Context keep
    method <init> ()V keep
    method getSystemService (Ljava/lang/Class;)Ljava/lang/Object; keep
class android.content.pm.PackageManager keep
    method <init> ()V keep
class android.text.ClipboardManager keep
    method <init> ()V keep

# Just enough to allow ResourcesManager to run
class android.hardware.display.DisplayManagerGlobal keep
    method getInstance ()Landroid/hardware/display/DisplayManagerGlobal; ignore
