summaryrefslogtreecommitdiffstats
path: root/proguard.flags
diff options
context:
space:
mode:
authorMike Dodd <mdodd@google.com>2015-08-11 11:16:59 -0700
committerMike Dodd <mdodd@google.com>2015-08-12 12:47:26 -0700
commitd3b009ae55651f1e60950342468e3c37fdeb0796 (patch)
treebc4b489af52d0e2521e21167d2ad76a47256f348 /proguard.flags
parentef8c7abbcfc9c770385d6609a4b4bc70240ebdc4 (diff)
downloadpackages_apps_Messaging-d3b009ae55651f1e60950342468e3c37fdeb0796.zip
packages_apps_Messaging-d3b009ae55651f1e60950342468e3c37fdeb0796.tar.gz
packages_apps_Messaging-d3b009ae55651f1e60950342468e3c37fdeb0796.tar.bz2
Initial checkin of AOSP Messaging app.
b/23110861 Change-Id: I11db999bd10656801e618f78ab2b2ef74136fff1
Diffstat (limited to 'proguard.flags')
-rw-r--r--proguard.flags58
1 files changed, 58 insertions, 0 deletions
diff --git a/proguard.flags b/proguard.flags
new file mode 100644
index 0000000..759f2d4
--- /dev/null
+++ b/proguard.flags
@@ -0,0 +1,58 @@
+# 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,*Annotation*
+
+# Keep classes and methods that have the guava @VisibleForTesting annotation
+-keep @com.google.common.annotations.VisibleForTesting class *
+-keepclassmembers class * {
+ @com.google.common.annotations.VisibleForTesting *;
+}
+
+# Keep methods that have the @VisibleForAnimation annotation
+-keep @interface com.android.messaging.annotation.VisibleForAnimation
+-keepclassmembers class * {
+ @com.android.messaging.annotation.VisibleForAnimation *;
+}
+
+-keep public class * extends android.app.Activity
+-keep public class * extends android.app.Application
+-keep public class * extends android.app.Service
+-keep public class * extends android.content.BroadcastReceiver
+-keep public class * extends android.content.ContentProvider
+-keep public class * extends android.app.backup.BackupAgentHelper
+-keep public class * extends android.preference.Preference
+-keep public class * extends android.support.v4.app.Fragment
+-keep public class com.android.vcard.* { *; }
+
+-keep class android.support.v4.* { *; }
+-keep class android.support.v4.*.* { *; }
+-keep class android.support.v7.* { *; }
+-keep class android.support.v7.*.* { *; }
+
+# 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>;
+}