• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1#  Copyright (C) 2015 The Android Open Source Project
2#
3#  Licensed under the Apache License, Version 2.0 (the "License");
4#  you may not use this file except in compliance with the License.
5#  You may obtain a copy of the License at
6#
7#       http://www.apache.org/licenses/LICENSE-2.0
8#
9#  Unless required by applicable law or agreed to in writing, software
10#  distributed under the License is distributed on an "AS IS" BASIS,
11#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12#  See the License for the specific language governing permissions and
13#  limitations under the License.
14#
15# Keep enough data for stack traces
16-renamesourcefileattribute SourceFile
17-keepattributes SourceFile,LineNumberTable,*Annotation*
18
19# Keep classes and methods that have the guava @VisibleForTesting annotation
20-keep @com.google.common.annotations.VisibleForTesting class *
21-keepclassmembers class * {
22  @com.google.common.annotations.VisibleForTesting *;
23}
24-keep class com.android.messaging.ui.contact.* { *; }
25
26# Keep methods that have the @VisibleForAnimation annotation
27-keep @interface com.android.messaging.annotation.VisibleForAnimation
28-keepclassmembers class * {
29  @com.android.messaging.annotation.VisibleForAnimation *;
30}
31
32-keep public class * extends android.app.Activity
33-keep public class * extends android.app.Application
34-keep public class * extends android.app.Service
35-keep public class * extends android.content.BroadcastReceiver
36-keep public class * extends android.content.ContentProvider
37-keep public class * extends android.app.backup.BackupAgentHelper
38-keep public class * extends android.preference.Preference
39-keep public class * extends androidx.fragment.app.Fragment
40-keep public class com.android.vcard.* { *; }
41
42-keep class androidx.core.* { *; }
43-keep class androidx.core.*.* { *; }
44-keep class androidx.appcompat.* { *; }
45-keep class androidx.appcompat.*.* { *; }
46
47# Keep rastermill classes that need to be accessed from native code (JNI)
48-keep class android.support.rastermill.** { *; }
49
50# Preserve the name of the getCaller method so it can find itself in the stack trace it generates
51-keepclassmembers public class com.android.messaging.util.DebugUtils {
52  public static java.lang.StackTraceElement getCaller(...);
53}
54
55# Keep the static fields of referenced inner classes of auto-generated R classes, in case we
56# access those fields by reflection (e.g. EmojiMarkup)
57-keepclassmembers class **.R$* {
58    public static <fields>;
59}
60