Merge pull request #20 from Affectiva/sdk_usage

SDK 3.1 changes
This commit is contained in:
Abdelrahman Mahmoud 2016-07-27 17:30:58 -04:00 committed by GitHub
commit 082ba45ac8
6 changed files with 16 additions and 88 deletions

View file

@ -3,7 +3,7 @@ language: android
android: android:
components: components:
- tools - tools
- build-tools-23.0.2 - build-tools-23.0.3
- android-23 - android-23
- extra - extra
- platform-tools - platform-tools

View file

@ -2,14 +2,14 @@ apply plugin: 'com.android.application'
android { android {
compileSdkVersion 23 compileSdkVersion 23
buildToolsVersion '23.0.2' buildToolsVersion '23.0.3'
defaultConfig { defaultConfig {
applicationId "com.affectiva.affdexme" applicationId "com.affectiva.affdexme"
minSdkVersion 16 minSdkVersion 16
targetSdkVersion 23 targetSdkVersion 23
versionCode 493 versionCode 494
versionName "3.0.1" versionName "3.1"
setProperty("archivesBaseName", "AffdexMe-$versionName-$versionCode") setProperty("archivesBaseName", "AffdexMe-$versionName-$versionCode")
} }
buildTypes { buildTypes {
@ -37,7 +37,7 @@ android {
dependencies { dependencies {
//include the Affdex SDK //include the Affdex SDK
compile('com.affectiva.android:affdexsdk:3.0.1') compile('com.affectiva.android:affdexsdk:3.1')
//include project dependencies //include project dependencies
compile 'com.android.support:support-v4:23.1.1' compile 'com.android.support:support-v4:23.1.1'

View file

@ -1,85 +1,9 @@
# This is a configuration file for ProGuard. # This is a configuration file for ProGuard.
# http://proguard.sourceforge.net/index.html#manual/usage.html # http://proguard.sourceforge.net/index.html#manual/usage.html
-dontskipnonpubliclibraryclasses # MainActivity accesses the following methods through reflection, so make sure they
# are kept
# Optimization is turned off by default. Dex does not like code run -keep class com.affectiva.android.affdex.sdk.detector.Face$Expressions { float get*(); }
# through the ProGuard optimize and preverify steps (and performs some -keep class com.affectiva.android.affdex.sdk.detector.Face$Emotions { float get*(); }
# of these optimizations on its own). -keep class com.affectiva.android.affdex.sdk.detector.Face$Emojis { float get*(); }
-dontoptimize -keep class com.affectiva.android.affdex.sdk.detector.Detector { void setDetect*(boolean); }
-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 <methods>;
}
# 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 <fields>;
}
# 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.* *;
<init>();
}
-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

View file

@ -11,6 +11,8 @@
<uses-permission android:name="android.permission.CAMERA" /> <uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-feature <uses-feature
android:name="android.hardware.camera" android:name="android.hardware.camera"

View file

@ -100,6 +100,7 @@ public class DrawingView extends SurfaceView implements SurfaceHolder.Callback {
drawingThread.requestCaptureBitmap = true; drawingThread.requestCaptureBitmap = true;
} }
@SuppressWarnings("ResourceType")
void initView() { void initView() {
surfaceHolder = getHolder(); //The SurfaceHolder object will be used by the thread to request canvas to draw on SurfaceView surfaceHolder = getHolder(); //The SurfaceHolder object will be used by the thread to request canvas to draw on SurfaceView
surfaceHolder.setFormat(PixelFormat.TRANSPARENT); //set to Transparent so this surfaceView does not obscure the one it is overlaying (the one displaying the camera). surfaceHolder.setFormat(PixelFormat.TRANSPARENT); //set to Transparent so this surfaceView does not obscure the one it is overlaying (the one displaying the camera).

View file

@ -5,7 +5,7 @@ buildscript {
jcenter() jcenter()
} }
dependencies { dependencies {
classpath 'com.android.tools.build:gradle:2.1.0' classpath 'com.android.tools.build:gradle:2.1.2'
// NOTE: Do not place your application dependencies here; they belong // NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files // in the individual module build.gradle files
@ -14,6 +14,7 @@ buildscript {
allprojects { allprojects {
repositories { repositories {
mavenLocal()
maven { maven {
url "http://maven.affectiva.com" url "http://maven.affectiva.com"
} }