Files
packages_apps_Messaging/proguard.flags
Christoffer Adamsen b0f8c82e37 Do not keep runtime invisible annotations in proguard.flags
This updates the corresponding Android.bp file to keep the runtime invisible annotations, meaning this should be a no-op.

When RELEASE_R8_ONLY_RUNTIME_VISIBLE_ANNOTATIONS is enabled, keep_runtime_invisible_annotations will become a no-op, which should lead to all runtime invisible annotations being stripped from this build.

Bug: 387958004
Change-Id: Ib0090cd30d44630a1b0a1d1f0605edb7fef8c5cf
Test: existing
2025-01-17 04:34:59 -08:00

100 lines
3.6 KiB
Plaintext

# Copyright (C) 2015 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
# Keep enough data for stack traces
-renamesourcefileattribute SourceFile
-keepattributes SourceFile,
LineNumberTable,
RuntimeVisibleAnnotations,
RuntimeVisibleParameterAnnotations,
RuntimeVisibleTypeAnnotations,
AnnotationDefault
# Keep classes and methods that have the guava @VisibleForTesting annotation
# TODO(b/373579455): Evaluate if <init> needs to be kept.
-keep @com.google.common.annotations.VisibleForTesting class * {
void <init>();
}
-keepclassmembers class * {
@com.google.common.annotations.VisibleForTesting *;
}
-keep class com.android.messaging.* { *; }
-keep class com.android.messaging.*.* { *; }
-keep class com.android.messaging.*.*.* { *; }
# Keep methods that have the @VisibleForAnimation annotation
# TODO(b/373579455): Evaluate if <init> needs to be kept.
-keep @interface com.android.messaging.annotation.VisibleForAnimation {
void <init>();
}
-keepclassmembers class * {
@com.android.messaging.annotation.VisibleForAnimation *;
}
# TODO(b/373579455): Evaluate if <init> needs to be kept.
-keep public class * extends android.app.Activity {
void <init>();
}
# TODO(b/373579455): Evaluate if <init> needs to be kept.
-keep public class * extends android.app.Application {
void <init>();
}
# TODO(b/373579455): Evaluate if <init> needs to be kept.
-keep public class * extends android.app.Service {
void <init>();
}
# TODO(b/373579455): Evaluate if <init> needs to be kept.
-keep public class * extends android.content.BroadcastReceiver {
void <init>();
}
# TODO(b/373579455): Evaluate if <init> needs to be kept.
-keep public class * extends android.content.ContentProvider {
void <init>();
}
# TODO(b/373579455): Evaluate if <init> needs to be kept.
-keep public class * extends android.app.backup.BackupAgentHelper {
void <init>();
}
# TODO(b/373579455): Evaluate if <init> needs to be kept.
-keep public class * extends android.preference.Preference {
void <init>();
}
# TODO(b/373579455): Evaluate if <init> needs to be kept.
-keep public class * extends androidx.fragment.app.Fragment {
void <init>();
}
-keep public class com.android.vcard.* { *; }
-keep class androidx.collection.* { *; }
-keep class androidx.core.* { *; }
-keep class androidx.core.*.* { *; }
-keep class androidx.appcompat.* { *; }
-keep class androidx.appcompat.*.* { *; }
-keep class androidx.recyclerview.widget.* { *; }
-keep class androidx.viewpager.widget.* { *; }
# Keep rastermill classes that need to be accessed from native code (JNI)
-keep class android.support.rastermill.** { *; }
# Preserve the name of the getCaller method so it can find itself in the stack trace it generates
-keepclassmembers public class com.android.messaging.util.DebugUtils {
public static java.lang.StackTraceElement getCaller(...);
}
# Keep the static fields of referenced inner classes of auto-generated R classes, in case we
# access those fields by reflection (e.g. EmojiMarkup)
-keepclassmembers class **.R$* {
public static <fields>;
}