From 13b166c170d5000d87f3e217e16e5ba265e40dd4 Mon Sep 17 00:00:00 2001 From: Jingran Wang Date: Tue, 27 Aug 2019 16:33:23 -0400 Subject: [PATCH 1/8] Update gradle plugin to support Android Studio 3.5 --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index 0b338e621a..108ec1a6f4 100644 --- a/build.gradle +++ b/build.gradle @@ -11,7 +11,7 @@ buildscript { maven { url "https://plugins.gradle.org/m2/" } } dependencies { - classpath 'com.android.tools.build:gradle:3.4.2' + classpath 'com.android.tools.build:gradle:3.5.0' classpath 'com.github.triplet.gradle:play-publisher:2.0.0' classpath 'net.ltgt.gradle:gradle-errorprone-plugin:0.6.1' } From dd4b6e3eb96f0a2bbca296e327cf762f6586d4be Mon Sep 17 00:00:00 2001 From: Jingran Wang Date: Tue, 27 Aug 2019 16:33:44 -0400 Subject: [PATCH 2/8] Enable multidex for project --- app/build.gradle | 1 + 1 file changed, 1 insertion(+) diff --git a/app/build.gradle b/app/build.gradle index 141ff2a842..3f3faa25b2 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -33,6 +33,7 @@ android { defaultConfig { applicationId 'com.menny.android.anysoftkeyboard' minSdkVersion 19 + multiDexEnabled true versionCode versionData.versionCode versionName versionData.versionName From f9c312efd5c2ec0e35b44ee46b080311dbc8f3db Mon Sep 17 00:00:00 2001 From: Jingran Wang Date: Tue, 27 Aug 2019 16:34:11 -0400 Subject: [PATCH 3/8] Add additional .gitignore for AS 3.5 --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index d781ccbac8..7ac83ef566 100644 --- a/.gitignore +++ b/.gitignore @@ -13,3 +13,4 @@ local.properties .classpath .vscode/ NDK_14b/ +.cxx/ From c5d35f041777ff473c7cd8932a9d9f04a15be21f Mon Sep 17 00:00:00 2001 From: Jingran Wang Date: Tue, 27 Aug 2019 16:36:20 -0400 Subject: [PATCH 4/8] Update gradle wrapper to minimum supported version (5.4.1) --- gradle/wrapper/gradle-wrapper.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index d441624d41..162fec4419 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-5.2.1-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-5.4.1-all.zip From 66e3c85f423df9ee28a07e80cb0d7a511da36184 Mon Sep 17 00:00:00 2001 From: Jingran Wang Date: Tue, 27 Aug 2019 16:36:52 -0400 Subject: [PATCH 5/8] Add additional imports to build.gradle for compilation --- app/build.gradle | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/app/build.gradle b/app/build.gradle index 3f3faa25b2..3d5959fda8 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -139,6 +139,11 @@ dependencies { implementation 'com.squareup.okhttp3:logging-interceptor:3.14.1' implementation 'io.reactivex:rxjava:1.3.8' + implementation "io.reactivex.rxjava2:rxjava:2.2.11" + + api 'com.squareup.retrofit2:retrofit:2.3.0' + api 'com.squareup.retrofit2:adapter-rxjava:2.3.0' + api 'net.danlew:android.joda:2.9.9.4' implementation 'com.android.support:multidex:1.0.3' From 49894b25bde5af2a96cd544407f0237e69c8f48d Mon Sep 17 00:00:00 2001 From: Jingran Wang Date: Tue, 27 Aug 2019 16:37:26 -0400 Subject: [PATCH 6/8] Add dummy data upload code for helping debug --- .../BiAffect/bridge/BiAffectBridge.java | 45 +++++++++++++++++ .../BiAffect/bridge/Session.java | 50 +++++++++++++++++++ 2 files changed, 95 insertions(+) create mode 100644 app/src/main/java/com/menny/android/anysoftkeyboard/BiAffect/bridge/Session.java diff --git a/app/src/main/java/com/menny/android/anysoftkeyboard/BiAffect/bridge/BiAffectBridge.java b/app/src/main/java/com/menny/android/anysoftkeyboard/BiAffect/bridge/BiAffectBridge.java index 493d05991e..275678fb07 100644 --- a/app/src/main/java/com/menny/android/anysoftkeyboard/BiAffect/bridge/BiAffectBridge.java +++ b/app/src/main/java/com/menny/android/anysoftkeyboard/BiAffect/bridge/BiAffectBridge.java @@ -1,11 +1,21 @@ package com.menny.android.anysoftkeyboard.BiAffect.bridge; import android.text.TextUtils; +import android.util.Log; +import com.google.gson.Gson; + +import org.joda.time.DateTime; +import org.sagebionetworks.bridge.android.BridgeConfig; import org.sagebionetworks.bridge.android.manager.BridgeManagerProvider; +import org.sagebionetworks.bridge.data.Archive; +import org.sagebionetworks.bridge.data.JsonArchiveFile; import org.sagebionetworks.bridge.rest.model.UserSessionInfo; +import java.util.Locale; + import rx.Single; +import rx.functions.Action0; /** * Utility class to help manage the connection between BiAffect data and the Sage Bridge SDK @@ -63,4 +73,39 @@ public Single logIn( String email, String password ) { return BridgeManagerProvider.getInstance().getAuthenticationManager().signIn( email, password ); } + + public void upload() { + String json = new Gson().toJson( new Session() ); + + + //this is found in upload schemas under upload&export + // TODO: 8/15/2019 Figure out what exactly the endDate is. + JsonArchiveFile file = new JsonArchiveFile("Session.json", DateTime.now(), json); + Archive.Builder builder = Archive.Builder.forActivity( "KeyboardSession" ); + builder.addDataFile( file ); + + BridgeConfig config = BridgeManagerProvider.getInstance().getBridgeConfig(); + String appVersionString = String.format(Locale.ENGLISH, "version %s, build %d", + config.getAppVersionName(), + config.getAppVersion()); + builder.withAppVersionName(appVersionString); + builder.withPhoneInfo(config.getDeviceName()); + Archive archive = builder.build(); + + BridgeManagerProvider.getInstance().getUploadManager().queueUpload( "UUID filename", archive ).subscribe( success -> { + BridgeManagerProvider.getInstance().getUploadManager().processUploadFiles().subscribe(new Action0() { + @Override + public void call() { + Log.wtf("asf", "i'm complete??"); + } + }, error -> { + Log.wtf( "asdf", error); + }); + }, error -> { + Log.wtf("asdf", error.getMessage()); + }); + + //Call this only when ready to upload files (maybe with work manager) + } + } diff --git a/app/src/main/java/com/menny/android/anysoftkeyboard/BiAffect/bridge/Session.java b/app/src/main/java/com/menny/android/anysoftkeyboard/BiAffect/bridge/Session.java new file mode 100644 index 0000000000..443314a4e7 --- /dev/null +++ b/app/src/main/java/com/menny/android/anysoftkeyboard/BiAffect/bridge/Session.java @@ -0,0 +1,50 @@ +package com.menny.android.anysoftkeyboard.BiAffect.bridge; + +import org.joda.time.DateTime; + +import java.util.ArrayList; +import java.util.List; + +public class Session { + private double duration; + private DateTime timestamp; + private List keylogs; + private List accelerations; + + public Session() { + duration = 2.3; + timestamp = DateTime.now(); + + keylogs = new ArrayList<>(); + keylogs.add(new Keylogs()); + + accelerations = new ArrayList<>(); + accelerations.add(new Accelerations()); + } + + private static class Keylogs { + private DateTime timestamp; + private String value; + private double duration; + private double distanceFromCenter; + + private Keylogs() { + timestamp = DateTime.now(); + value = "test"; + duration = 0.83; + distanceFromCenter = 3.2; + } + } + + private static class Accelerations { + private double x; + private double y; + private double z; + + private Accelerations() { + x = 0.33289; + y = -0.9381; + z = 0.319742; + } + } +} From ad0e722fcbc7257c3698536d996089c9fa9445cd Mon Sep 17 00:00:00 2001 From: Joshua Liu Date: Thu, 29 Aug 2019 01:33:09 -0700 Subject: [PATCH 7/8] Get build working --- app/build.gradle | 15 +++++---------- build.gradle | 1 + 2 files changed, 6 insertions(+), 10 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 3d5959fda8..f96539bb05 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -9,14 +9,15 @@ buildscript { } dependencies { - classpath 'com.github.menny:GradleVersion:0.0.3' + classpath 'net.evendanan.autoversion:gradle-plugin:0.1.7' +// classpath 'com.github.menny:GradleVersion:0.0.3' //classpath 'com.android.tools.build:gradle:3.3.0' } } apply plugin: 'com.android.application' apply plugin: 'com.github.triplet.play' -apply plugin: 'net.evendanan.versiongenerator' +apply plugin: 'net.evendanan.autoversion' def generators = [ new net.evendanan.versiongenerator.generators.EnvBuildVersionGenerator.CircleCi( @@ -127,14 +128,8 @@ dependencies { implementation project(':overlay') implementation project(':pixel') - implementation 'com.github.Sage-Bionetworks.BridgeAndroidSDK:android-sdk:02dfcdb', { - exclude group: 'joda-time', module: 'joda-time' - } - implementation 'org.sagebionetworks.bridge:rest-client:0.16.14', { - exclude group: 'joda-time', module: 'joda-time' - } - implementation 'org.sagebionetworks:BridgeDataUploadUtils:0.2.6', { - exclude group: 'joda-time', module: 'joda-time' + implementation('org.sagebionetworks.bridge:android-sdk:0.2.0') { + exclude group: 'com.google.code.findbugs' } implementation 'com.squareup.okhttp3:logging-interceptor:3.14.1' diff --git a/build.gradle b/build.gradle index 108ec1a6f4..42df332251 100644 --- a/build.gradle +++ b/build.gradle @@ -26,6 +26,7 @@ allprojects { maven { url 'https://oss.sonatype.org/content/repositories/snapshots/' } maven { url "https://jitpack.io" } maven { url 'http://repo-maven.sagebridge.org/' } + maven { url 'https://dl.bintray.com/sage-bionetworks/bridge-maven-release' } } } From e58ca7b3e9b5a9ba65df62a40ba3676a954b91d5 Mon Sep 17 00:00:00 2001 From: Jingran Wang Date: Sun, 8 Sep 2019 15:43:59 -0400 Subject: [PATCH 8/8] Remove unnecessary imports in build.gradle --- app/build.gradle | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index f96539bb05..88a8d2bdf7 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -132,19 +132,6 @@ dependencies { exclude group: 'com.google.code.findbugs' } - implementation 'com.squareup.okhttp3:logging-interceptor:3.14.1' - implementation 'io.reactivex:rxjava:1.3.8' - implementation "io.reactivex.rxjava2:rxjava:2.2.11" - - api 'com.squareup.retrofit2:retrofit:2.3.0' - api 'com.squareup.retrofit2:adapter-rxjava:2.3.0' - - api 'net.danlew:android.joda:2.9.9.4' - - implementation 'com.android.support:multidex:1.0.3' - api "com.google.dagger:dagger-android:2.21" - api "com.google.dagger:dagger-android-support:2.21" - implementation "com.anysoftkeyboard.api:api:$AnySoftKeyboardApiVersion" implementation "com.android.support:support-fragment:$supportLibVersion" implementation "com.android.support:appcompat-v7:$supportLibVersion"