summaryrefslogtreecommitdiff
path: root/proguard.flags
diff options
context:
space:
mode:
Diffstat (limited to 'proguard.flags')
-rw-r--r--proguard.flags79
1 files changed, 65 insertions, 14 deletions
diff --git a/proguard.flags b/proguard.flags
index 6eed9983d..a5e34b712 100644
--- a/proguard.flags
+++ b/proguard.flags
@@ -1,22 +1,73 @@
-# Xml files containing onClick (menus and layouts) require that proguard not
-# remove their handlers.
--keepclassmembers class * extends android.app.Activity {
- public void *(android.view.View);
- public void *(android.view.MenuItem);
+#
+# Copyright (C) 2016 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
+#
+
+-keepattributes SourceFile,LineNumberTable
+-dontpreverify
+-dontskipnonpubliclibraryclasses
+-dontusemixedcaseclassnames
+-keepclasseswithmembernames class * {
+ native <methods>;
}
--keep class com.android.contacts.common.** { *;}
+-keepclassmembers enum * {
+ public static **[] values();
+}
-# Any class or method annotated with NeededForTesting or NeededForReflection.
--keep @com.android.contacts.common.testing.NeededForTesting class *
--keepclassmembers class * {
-@com.android.contacts.common.testing.NeededForTesting *;
-@com.android.dialer.NeededForReflection *;
+-keepclassmembers class * implements android.os.Parcelable {
+ public static *** CREATOR;
+}
+
+-keepclassmembers class * implements java.io.Serializable {
+ static final long serialVersionUID;
+ private static final java.io.ObjectStreamField[] serialPersistentFields;
+ private void writeObject(java.io.ObjectOutputStream);
+ private void readObject(java.io.ObjectInputStream);
+ java.lang.Object writeReplace();
+ java.lang.Object readResolve();
+}
+
+-dontwarn com.google.common.**
+-dontwarn com.google.errorprone.annotations.**
+-dontwarn android.app.Notification
+-dontnote android.graphics.Insets
+-dontnote libcore.icu.ICU
+-keep class libcore.icu.ICU { *** get(...);}
+-dontnote android.support.v4.app.NotificationCompatJellybean
+
+-allowaccessmodification
+-renamesourcefileattribute PG
+
+-assumenosideeffects class android.util.Log {
+ static *** i(...);
+ static *** d(...);
+ static *** v(...);
+ static *** isLoggable(...);
}
-# For design libraries
--keep public class * extends android.support.design.widget.CoordinatorLayout$Behavior {
+-dontwarn org.apache.http.**
+
+# Used in com.android.dialer.answer.impl.SmsBottomSheetFragment
+-keep class android.support.design.widget.BottomSheetBehavior {
public <init>(android.content.Context, android.util.AttributeSet);
+ public <init>();
}
--verbose
+# Keep the annotation, classes, methods, and fields marked as UsedByReflection
+-keep class com.android.dialer.proguard.UsedByReflection
+-keep @com.android.dialer.proguard.UsedByReflection class *
+-keepclassmembers class * {
+ @com.android.dialer.proguard.UsedByReflection *;
+}