From 79fd03ba8b153de40bf7a81f46234233cef986fb Mon Sep 17 00:00:00 2001 From: Joshua Liu Date: Mon, 8 Jul 2019 13:07:57 -0700 Subject: [PATCH 1/5] Fix build by adding placeholder config values and removing Crashlytics --- README.md | 4 --- app/build.gradle | 26 ++++++++++--------- app/src/main/AndroidManifest.xml | 4 --- .../molemapper/MoleMapperApplication.java | 7 ----- build.gradle | 3 --- 5 files changed, 14 insertions(+), 30 deletions(-) diff --git a/README.md b/README.md index 57de979..7621de8 100644 --- a/README.md +++ b/README.md @@ -49,7 +49,3 @@ pl.charmas.android:android-reactive-location
com.google.android.gms:play-services-location
- play-services-location allows the app to get the user's location while being conscious of battery life. Android-reactive-location library wraps the location services API’s in Rx Observables. - -com.crashlytics.sdk.android:crashlytics - -- Crash / Logging library being used during the QA period. This library will be removed at v1.0 release. diff --git a/app/build.gradle b/app/build.gradle index cf30568..05ac013 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -1,7 +1,6 @@ apply plugin: 'com.android.application' apply plugin: 'me.tatarka.retrolambda' apply plugin: 'com.neenbedankt.android-apt' -apply plugin: 'io.fabric' android { compileSdkVersion 23 @@ -26,16 +25,19 @@ android { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' buildConfigField 'String', 'STUDY_BASE_URL', "\"https://webservices.sagebridge.org/\"" - + // Define STUDY_ID, STUDY_NAME, STUDY_PEM can be defined here or in your local.properties // file. These variables are needed for upload to properly work. // RELEASE_STUDY_ID is of type String (e.g. "id-mole-mapper-study") // RELEASE_STUDY_NAME is of type String (e.g. "MoleMapper Study") // RELEASE_STUDY_PEM_FILE_NAME is of type String, (e.g. "molemapper"). The pem file should // be located at the root directory of your assets folder. - buildConfigField 'String', 'STUDY_ID', RELEASE_STUDY_ID - buildConfigField 'String', 'STUDY_NAME', RELEASE_STUDY_NAME - buildConfigField 'String', 'STUDY_PEM', RELEASE_STUDY_PEM_FILE_NAME + buildConfigField 'String', 'STUDY_ID', + project.hasProperty('RELEASE_STUDY_ID') ? project.get('RELEASE_STUDY_ID') : "\"placeholder\"" + buildConfigField 'String', 'STUDY_NAME', + project.hasProperty('RELEASE_STUDY_NAME') ? project.get('RELEASE_STUDY_NAME') : "\"placeholder\"" + buildConfigField 'String', 'STUDY_PEM', + project.hasProperty('RELEASE_STUDY_PEM_FILE_NAME') ? project.get('RELEASE_STUDY_PEM_FILE_NAME') : "\"placeholder\"" } debug { @@ -43,16 +45,19 @@ android { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' buildConfigField 'String', 'STUDY_BASE_URL', "\"https://webservices.sagebridge.org/\"" - + // Define STUDY_ID, STUDY_NAME, STUDY_PEM can be defined here or in your local.properties // file. These variables are needed for upload to properly work. // RELEASE_STUDY_ID is of type String (e.g. "id-mole-mapper-study") // RELEASE_STUDY_NAME is of type String (e.g. "MoleMapper Study") // RELEASE_STUDY_PEM_FILE_NAME is of type String, (e.g. "molemapper"). The pem file should // be located at the root directory of your assets folder. - buildConfigField 'String', 'STUDY_ID', DEBUG_STUDY_ID - buildConfigField 'String', 'STUDY_NAME', DEBUG_STUDY_NAME - buildConfigField 'String', 'STUDY_PEM', DEBUG_STUDY_PEM_FILE_NAME + buildConfigField 'String', 'STUDY_ID', + project.hasProperty('DEBUG_STUDY_ID') ? project.get('DEBUG_STUDY_ID') : "\"placeholder\"" + buildConfigField 'String', 'STUDY_NAME', + project.hasProperty('DEBUG_STUDY_NAME') ? project.get('DEBUG_STUDY_NAME') : "\"placeholder\"" + buildConfigField 'String', 'STUDY_PEM', + project.hasProperty('DEBUG_STUDY_PEM_FILE_NAME') ? project.get('DEBUG_STUDY_PEM_FILE_NAME') : "\"placeholder\"" } } @@ -87,7 +92,4 @@ dependencies { compile 'com.madgag.spongycastle:pkix:1.54.0.0' compile 'pl.charmas.android:android-reactive-location:0.8@aar' compile 'com.google.android.gms:play-services-location:8.4.0' - compile('com.crashlytics.sdk.android:crashlytics:2.5.5@aar') { - transitive = true; - } } diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 5e9aa5d..3f00bb2 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -142,10 +142,6 @@ - - diff --git a/app/src/main/java/org/researchstack/molemapper/MoleMapperApplication.java b/app/src/main/java/org/researchstack/molemapper/MoleMapperApplication.java index 43efd15..3f93628 100644 --- a/app/src/main/java/org/researchstack/molemapper/MoleMapperApplication.java +++ b/app/src/main/java/org/researchstack/molemapper/MoleMapperApplication.java @@ -3,12 +3,8 @@ import android.app.Application; import android.support.multidex.MultiDex; -import com.crashlytics.android.Crashlytics; - import org.researchstack.skin.ResearchStack; -import io.fabric.sdk.android.Fabric; - public class MoleMapperApplication extends Application { @Override @@ -16,10 +12,7 @@ public void onCreate() { super.onCreate(); MultiDex.install(this); - // TODO remove Fabric/Crashlytics after QA process - Fabric.with(this, new Crashlytics()); ResearchStack.init(this, new MoleMapperResearchStack()); } - } diff --git a/build.gradle b/build.gradle index 0201370..0711865 100644 --- a/build.gradle +++ b/build.gradle @@ -5,7 +5,6 @@ buildscript { mavenCentral() mavenLocal() jcenter() - maven { url 'https://maven.fabric.io/public' } } dependencies { @@ -14,7 +13,6 @@ buildscript { classpath 'com.github.dcendents:android-maven-gradle-plugin:1.3' classpath 'me.tatarka:gradle-retrolambda:3.2.3' classpath "com.neenbedankt.gradle.plugins:android-apt:1.4" - classpath 'io.fabric.tools:gradle:1.+' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files @@ -26,7 +24,6 @@ allprojects { jcenter() mavenLocal() maven { url "https://jitpack.io" } - maven { url 'https://maven.fabric.io/public' } } } From eef1625a7abefc1dc6f3f3e1d4dd7ed53168a76c Mon Sep 17 00:00:00 2001 From: Joshua Liu Date: Mon, 8 Jul 2019 13:26:54 -0700 Subject: [PATCH 2/5] Update dependencies * ResearchStack to 1.1.1 * Android API 28 and associated dependencies --- app/build.gradle | 47 +++++++++++-------- .../molemapper/MoleHistoryActivity.java | 2 +- build.gradle | 6 +-- gradle/wrapper/gradle-wrapper.properties | 12 ++--- 4 files changed, 37 insertions(+), 30 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 05ac013..eb1e069 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -1,15 +1,13 @@ apply plugin: 'com.android.application' -apply plugin: 'me.tatarka.retrolambda' -apply plugin: 'com.neenbedankt.android-apt' android { - compileSdkVersion 23 - buildToolsVersion "23.0.2" + compileSdkVersion 28 + buildToolsVersion "28.0.3" defaultConfig { applicationId "org.researchstack.molemapper" minSdkVersion 16 - targetSdkVersion 23 + targetSdkVersion 28 versionCode 9 versionName "0.9.4" multiDexEnabled true @@ -77,19 +75,28 @@ android { } dependencies { - compile fileTree(dir: 'libs', include: ['*.jar']) - testCompile 'junit:junit:4.12' - compile 'com.android.support:appcompat-v7:23.2.1' - compile 'com.android.support:cardview-v7:23.2.1' - compile 'com.android.support:support-v13:23.2.1' - compile 'com.android.support:design:23.2.1' - compile 'com.android.support:multidex:1.0.1' - compile 'org.researchstack:skin:1.0.0.rc3' - compile 'com.davemorrissey.labs:subsampling-scale-image-view:3.4.1' - apt 'co.touchlab.squeaky:squeaky-processor:0.4.0.0' - compile 'com.madgag.spongycastle:core:1.54.0.0' - compile 'com.madgag.spongycastle:prov:1.54.0.0' - compile 'com.madgag.spongycastle:pkix:1.54.0.0' - compile 'pl.charmas.android:android-reactive-location:0.8@aar' - compile 'com.google.android.gms:play-services-location:8.4.0' + implementation fileTree(dir: 'libs', include: ['*.jar']) + + implementation 'org.researchstack:skin:1.1.1' + + implementation 'com.android.support:appcompat-v7:28.0.0' + implementation 'com.android.support:preference-v14:28.0.0' + implementation 'com.android.support:cardview-v7:28.0.0' + implementation 'com.android.support:support-v13:28.0.0' + implementation 'com.android.support:design:28.0.0' + implementation 'com.android.support:multidex:1.0.3' + + implementation 'com.google.android.gms:play-services-location:8.4.0' + + implementation 'com.davemorrissey.labs:subsampling-scale-image-view:3.4.1' + + annotationProcessor 'co.touchlab.squeaky:squeaky-processor:0.4.0.0' + + implementation 'com.madgag.spongycastle:core:1.58.0.0' + implementation 'com.madgag.spongycastle:prov:1.58.0.0' + implementation 'com.madgag.spongycastle:pkix:1.54.0.0' + implementation 'pl.charmas.android:android-reactive-location:0.8@aar' + + testImplementation 'junit:junit:4.12' + } diff --git a/app/src/main/java/org/researchstack/molemapper/MoleHistoryActivity.java b/app/src/main/java/org/researchstack/molemapper/MoleHistoryActivity.java index 3358ff1..2999a07 100644 --- a/app/src/main/java/org/researchstack/molemapper/MoleHistoryActivity.java +++ b/app/src/main/java/org/researchstack/molemapper/MoleHistoryActivity.java @@ -67,7 +67,7 @@ protected void onCreate(Bundle savedInstanceState) Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); toolbar.setBackgroundColor(ContextCompat.getColor(this, R.color.rsb_black_40)); - toolbar.setNavigationIcon(R.drawable.abc_ic_clear_mtrl_alpha); + toolbar.setNavigationIcon(R.drawable.abc_ic_clear_material); setSupportActionBar(toolbar); ActionBar actionBar = getSupportActionBar(); diff --git a/build.gradle b/build.gradle index 0711865..a7534d2 100644 --- a/build.gradle +++ b/build.gradle @@ -5,14 +5,13 @@ buildscript { mavenCentral() mavenLocal() jcenter() + google() } dependencies { // change this to 1.5.x if you're not on Android Studio 2.0.0 beta - classpath 'com.android.tools.build:gradle:2.1.2' + classpath 'com.android.tools.build:gradle:3.4.1' classpath 'com.github.dcendents:android-maven-gradle-plugin:1.3' - classpath 'me.tatarka:gradle-retrolambda:3.2.3' - classpath "com.neenbedankt.gradle.plugins:android-apt:1.4" // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files @@ -22,6 +21,7 @@ buildscript { allprojects { repositories { jcenter() + google() mavenLocal() maven { url "https://jitpack.io" } } diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 446e0fd..5669d0c 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ -#Tue Mar 01 15:33:12 EST 2016 -distributionBase=GRADLE_USER_HOME -distributionPath=wrapper/dists -zipStoreBase=GRADLE_USER_HOME -zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-2.10-all.zip +#Mon Jul 08 13:12:03 PDT 2019 +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-5.1.1-all.zip From 3ceddf17e809506b92a9f6ddd06ecb2926235df7 Mon Sep 17 00:00:00 2001 From: Joshua Liu Date: Mon, 8 Jul 2019 13:33:05 -0700 Subject: [PATCH 3/5] Update SQLCipher for ANdroid N fix --- app/build.gradle | 1 + 1 file changed, 1 insertion(+) diff --git a/app/build.gradle b/app/build.gradle index eb1e069..2f7144f 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -78,6 +78,7 @@ dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) implementation 'org.researchstack:skin:1.1.1' + implementation 'net.zetetic:android-database-sqlcipher:3.5.4@aar' implementation 'com.android.support:appcompat-v7:28.0.0' implementation 'com.android.support:preference-v14:28.0.0' From 1e7a255c5eb3887615c637be098d2db157e0ce1b Mon Sep 17 00:00:00 2001 From: Joshua Liu Date: Mon, 8 Jul 2019 13:38:02 -0700 Subject: [PATCH 4/5] Set to API 26 due to deprecated API used by skin --- app/build.gradle | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 2f7144f..3e47eac 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -1,13 +1,12 @@ apply plugin: 'com.android.application' android { - compileSdkVersion 28 - buildToolsVersion "28.0.3" + compileSdkVersion 26 defaultConfig { applicationId "org.researchstack.molemapper" minSdkVersion 16 - targetSdkVersion 28 + targetSdkVersion 26 versionCode 9 versionName "0.9.4" multiDexEnabled true @@ -80,11 +79,11 @@ dependencies { implementation 'org.researchstack:skin:1.1.1' implementation 'net.zetetic:android-database-sqlcipher:3.5.4@aar' - implementation 'com.android.support:appcompat-v7:28.0.0' - implementation 'com.android.support:preference-v14:28.0.0' - implementation 'com.android.support:cardview-v7:28.0.0' - implementation 'com.android.support:support-v13:28.0.0' - implementation 'com.android.support:design:28.0.0' + implementation 'com.android.support:appcompat-v7:26.1.0' + implementation 'com.android.support:preference-v14:26.1.0' + implementation 'com.android.support:cardview-v7:26.1.0' + implementation 'com.android.support:support-v13:26.1.0' + implementation 'com.android.support:design:26.1.0' implementation 'com.android.support:multidex:1.0.3' implementation 'com.google.android.gms:play-services-location:8.4.0' From 5ada5e152d399d833d27843d6d04929ca04cd446 Mon Sep 17 00:00:00 2001 From: Joshua Liu Date: Mon, 8 Jul 2019 15:34:37 -0700 Subject: [PATCH 5/5] Update :skin to 1.1.2 --- app/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/build.gradle b/app/build.gradle index 3e47eac..5de53ba 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -76,7 +76,7 @@ android { dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) - implementation 'org.researchstack:skin:1.1.1' + implementation 'org.researchstack:skin:1.1.2' implementation 'net.zetetic:android-database-sqlcipher:3.5.4@aar' implementation 'com.android.support:appcompat-v7:26.1.0'