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:
components:
- tools
- build-tools-23.0.2
- build-tools-23.0.3
- android-23
- extra
- platform-tools

View file

@ -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'

View file

@ -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 <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
# 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); }

View file

@ -11,6 +11,8 @@
<uses-permission android:name="android.permission.CAMERA" />
<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
android:name="android.hardware.camera"

View file

@ -100,6 +100,7 @@ public class DrawingView extends SurfaceView implements SurfaceHolder.Callback {
drawingThread.requestCaptureBitmap = true;
}
@SuppressWarnings("ResourceType")
void initView() {
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).

View file

@ -5,7 +5,7 @@ buildscript {
jcenter()
}
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
// in the individual module build.gradle files
@ -14,6 +14,7 @@ buildscript {
allprojects {
repositories {
mavenLocal()
maven {
url "http://maven.affectiva.com"
}