Use aapt output to feed proguard's keep list.

This allows us to only keep classes that are really used either
through code or through XML. Also tweak the default rules for
better control of animated properties.

Added a test of a custom property animation and fixed some other
misc test files.

Change-Id: I7cc5839a764881d8d3c7bfce0a3f12ea7cba660e
diff --git a/files/proguard-android.txt b/files/proguard-android.txt
index 6613823..3cc5c8a 100644
--- a/files/proguard-android.txt
+++ b/files/proguard-android.txt
@@ -24,15 +24,7 @@
 # file from your project's proguard.config path property.
 
 -keepattributes *Annotation*
--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.BackupAgent
--keep public class * extends android.preference.Preference
--keep public class * extends android.support.v4.app.Fragment
--keep public class * extends android.app.Fragment
+-keep public class com.google.vending.licensing.ILicensingService
 -keep public class com.android.vending.licensing.ILicensingService
 
 # For native methods, see http://proguard.sourceforge.net/manual/examples.html#native
@@ -40,21 +32,14 @@
     native <methods>;
 }
 
--keep public class * extends android.view.View {
-    public <init>(android.content.Context);
-    public <init>(android.content.Context, android.util.AttributeSet);
-    public <init>(android.content.Context, android.util.AttributeSet, int);
-    public void set*(...);
+# keep setters in Views so that animations can still work.
+# see http://proguard.sourceforge.net/manual/examples.html#beans
+-keepclassmembers public class * extends android.view.View {
+   void set*(***);
+   *** get*();
 }
 
--keepclasseswithmembers class * {
-    public <init>(android.content.Context, android.util.AttributeSet);
-}
-
--keepclasseswithmembers class * {
-    public <init>(android.content.Context, android.util.AttributeSet, int);
-}
-
+# We want to keep methods in Activity that could be used in the XML attribute onClick
 -keepclassmembers class * extends android.app.Activity {
    public void *(android.view.View);
 }