diff --git a/.travis.yml b/.travis.yml index 64274b0..c07e960 100644 --- a/.travis.yml +++ b/.travis.yml @@ -3,7 +3,7 @@ language: android android: components: - tools - - build-tools-23.0.2 + - build-tools-23.0.3 - android-23 - extra - platform-tools diff --git a/app/build.gradle b/app/build.gradle index f8b6203..c6705a9 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -2,14 +2,14 @@ apply plugin: 'com.android.application' android { compileSdkVersion 23 - buildToolsVersion '23.0.2' + buildToolsVersion '23.0.3' defaultConfig { applicationId "com.affectiva.affdexme" minSdkVersion 16 targetSdkVersion 23 - versionCode 493 - versionName "3.0.1" + versionCode 494 + versionName "3.1" setProperty("archivesBaseName", "AffdexMe-$versionName-$versionCode") } buildTypes { @@ -37,7 +37,7 @@ android { dependencies { //include the Affdex SDK - compile('com.affectiva.android:affdexsdk:3.0.1') + compile('com.affectiva.android:affdexsdk:3.1') //include project dependencies compile 'com.android.support:support-v4:23.1.1' diff --git a/app/proguard-rules.pro b/app/proguard-rules.pro index fb45170..4b0b2d2 100644 --- a/app/proguard-rules.pro +++ b/app/proguard-rules.pro @@ -1,85 +1,9 @@ # This is a configuration file for ProGuard. # http://proguard.sourceforge.net/index.html#manual/usage.html --dontskipnonpubliclibraryclasses - -# Optimization is turned off by default. Dex does not like code run -# through the ProGuard optimize and preverify steps (and performs some -# of these optimizations on its own). --dontoptimize --dontpreverify -# Note that if you want to enable optimization, you cannot just -# include optimization flags in your own project configuration file; -# instead you will need to point to the -# "proguard-android-optimize.txt" file instead of this one from your -# project.properties file. - --keepattributes Exceptions,InnerClasses,Signature,Deprecated,SourceFile,LineNumberTable,*Annotation*,EnclosingMethod --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 --keepclasseswithmembernames class * { - native ; -} - -# 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*(); -} - -# 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); -} - -# For enumeration classes, see http://proguard.sourceforge.net/manual/examples.html#enumerations --keepclassmembers enum * { - public static **[] values(); - public static ** valueOf(java.lang.String); -} - --keep class * implements android.os.Parcelable { - public static final android.os.Parcelable$Creator *; -} - --keepclassmembers class **.R$* { - public static ; -} - -# The support library contains references to newer platform versions. -# Don't warn about those in case this app is linking against an older -# platform version. We know about them, and they are safe. --dontwarn android.support.** - -#keep all classes (otherwise Proguard may remove classes that use reflection, injection, Gson, etc...) --keep class sun.** --keepclassmembers class sun.** {*;} --keep class android.** --keepclassmembers class android.** {*;} --keep class dagger.** --keepclassmembers class dagger.** {*;} --keep class javax.** --keepclassmembers class javax.** {*;} - -#keep certain class members (otherwise Proguard would strip the members of these classes) --keep class com.** --keepclassmembers class !com.affectiva.affdexme.MainActivity,!com.affectiva.android.affdex.sdk.detector.Detector {*;} --keepclassmembers class com.affectiva.android.affdex.sdk.detector.Detector { - public void setDetect**; -} - -# Dagger --dontwarn dagger.internal.codegen.** --keepclassmembers,allowobfuscation class * { - @javax.inject.* *; - @dagger.* *; - (); -} --keep class dagger.* { *; } --keep class javax.inject.* { *; } --keep class * extends dagger.internal.Binding --keep class * extends dagger.internal.ModuleAdapter --keep class * extends dagger.internal.StaticInjection +# MainActivity accesses the following methods through reflection, so make sure they +# are kept +-keep class com.affectiva.android.affdex.sdk.detector.Face$Expressions { float get*(); } +-keep class com.affectiva.android.affdex.sdk.detector.Face$Emotions { float get*(); } +-keep class com.affectiva.android.affdex.sdk.detector.Face$Emojis { float get*(); } +-keep class com.affectiva.android.affdex.sdk.detector.Detector { void setDetect*(boolean); } diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 96b31ca..bb64ece 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -11,6 +11,8 @@ + +