Skip to content
Snippets Groups Projects
Commit a11681ee authored by Lennart Goedhart's avatar Lennart Goedhart
Browse files

Add Fabric Crashlytics and Answers integration. Fixes #36.

parent 1a83b6dd
No related branches found
No related tags found
No related merge requests found
......@@ -3,3 +3,4 @@ app/build
build/generated
build
workspace.xml
fabric.properties
<component name="libraryTable">
<library name="answers-1.3.6">
<CLASSES>
<root url="jar://$PROJECT_DIR$/app/build/intermediates/exploded-aar/com.crashlytics.sdk.android/answers/1.3.6/jars/classes.jar!/" />
<root url="file://$PROJECT_DIR$/app/build/intermediates/exploded-aar/com.crashlytics.sdk.android/answers/1.3.6/res" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</component>
\ No newline at end of file
<component name="libraryTable">
<library name="beta-1.1.4">
<CLASSES>
<root url="jar://$PROJECT_DIR$/app/build/intermediates/exploded-aar/com.crashlytics.sdk.android/beta/1.1.4/jars/classes.jar!/" />
<root url="file://$PROJECT_DIR$/app/build/intermediates/exploded-aar/com.crashlytics.sdk.android/beta/1.1.4/res" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</component>
\ No newline at end of file
<component name="libraryTable">
<library name="crashlytics-2.5.5">
<CLASSES>
<root url="jar://$PROJECT_DIR$/app/build/intermediates/exploded-aar/com.crashlytics.sdk.android/crashlytics/2.5.5/jars/classes.jar!/" />
<root url="file://$PROJECT_DIR$/app/build/intermediates/exploded-aar/com.crashlytics.sdk.android/crashlytics/2.5.5/res" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</component>
\ No newline at end of file
<component name="libraryTable">
<library name="crashlytics-core-2.3.8">
<CLASSES>
<root url="file://$PROJECT_DIR$/app/build/intermediates/exploded-aar/com.crashlytics.sdk.android/crashlytics-core/2.3.8/res" />
<root url="jar://$PROJECT_DIR$/app/build/intermediates/exploded-aar/com.crashlytics.sdk.android/crashlytics-core/2.3.8/jars/classes.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</component>
\ No newline at end of file
<component name="libraryTable">
<library name="fabric-1.3.10">
<CLASSES>
<root url="jar://$PROJECT_DIR$/app/build/intermediates/exploded-aar/io.fabric.sdk.android/fabric/1.3.10/jars/classes.jar!/" />
<root url="file://$PROJECT_DIR$/app/build/intermediates/exploded-aar/io.fabric.sdk.android/fabric/1.3.10/res" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</component>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<module external.linked.project.id=":app" external.linked.project.path="$MODULE_DIR$" external.root.project.path="$MODULE_DIR$/.." external.system.id="GRADLE" external.system.module.group="640gAndroidUploader" external.system.module.version="0.2.0" type="JAVA_MODULE" version="4">
<module external.linked.project.id=":app" external.linked.project.path="$MODULE_DIR$" external.root.project.path="$MODULE_DIR$/.." external.system.id="GRADLE" external.system.module.group="640gAndroidUploader" external.system.module.version="0.2.1-SNAPSHOT" type="JAVA_MODULE" version="4">
<component name="FacetManager">
<facet type="android-gradle" name="Android-Gradle">
<configuration>
......@@ -32,6 +32,7 @@
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/aidl/debug" isTestSource="false" generated="true" />
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/buildConfig/debug" isTestSource="false" generated="true" />
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/rs/debug" isTestSource="false" generated="true" />
<sourceFolder url="file://$MODULE_DIR$/build/generated/fabric/res/debug" type="java-resource" />
<sourceFolder url="file://$MODULE_DIR$/build/generated/res/rs/debug" type="java-resource" />
<sourceFolder url="file://$MODULE_DIR$/build/generated/res/resValues/debug" type="java-resource" />
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/r/androidTest/debug" isTestSource="true" generated="true" />
......@@ -64,14 +65,6 @@
<sourceFolder url="file://$MODULE_DIR$/src/main/jni" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/main/rs" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/main/shaders" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/test/res" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/test/resources" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/test/assets" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/test/aidl" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/test/jni" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/test/rs" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/test/shaders" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/res" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/resources" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/assets" type="java-test-resource" />
......@@ -80,29 +73,61 @@
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/jni" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/rs" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/shaders" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/test/res" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/test/resources" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/test/assets" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/test/aidl" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/test/jni" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/test/rs" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/test/shaders" isTestSource="true" />
<excludeFolder url="file://$MODULE_DIR$/build/.DS_Store" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/assets" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/blame" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/builds" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/bundles" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/classes" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/dependency-cache" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.android.support/appcompat-v7/21.0.3/jars" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.android.support/support-v4/21.0.3/jars" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.crashlytics.sdk.android/answers/1.3.6/jars" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.crashlytics.sdk.android/beta/1.1.4/jars" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.crashlytics.sdk.android/crashlytics-core/2.3.8/jars" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.crashlytics.sdk.android/crashlytics/2.5.5/jars" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/io.fabric.sdk.android/fabric/1.3.10/jars" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental-classes" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental-runtime-classes" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental-safeguard" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental-verifier" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/instant-run-support" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/jniLibs" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/manifests" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/pre-dexed" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/reload-dex" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/res" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/restart-dex" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/rs" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/shaders" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/symbols" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/transforms" />
<excludeFolder url="file://$MODULE_DIR$/build/outputs" />
<excludeFolder url="file://$MODULE_DIR$/build/tmp" />
</content>
<orderEntry type="jdk" jdkName="Android API 21 Platform" jdkType="Android SDK" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="library" exported="" name="physicaloidlibrary" level="project" />
<orderEntry type="library" exported="" name="crashlytics-2.5.5" level="project" />
<orderEntry type="library" exported="" name="support-v4-21.0.3" level="project" />
<orderEntry type="library" exported="" name="crashlytics-core-2.3.8" level="project" />
<orderEntry type="library" exported="" name="beta-1.1.4" level="project" />
<orderEntry type="library" exported="" name="logback-android-1.1.1-3" level="project" />
<orderEntry type="library" exported="" name="appcompat-v7-21.0.3" level="project" />
<orderEntry type="library" exported="" name="mongo-java-driver-3.0.2" level="project" />
<orderEntry type="library" exported="" name="physicaloidlibrary" level="project" />
<orderEntry type="library" exported="" name="commons-lang3-3.4" level="project" />
<orderEntry type="library" exported="" name="support-v4-21.0.3" level="project" />
<orderEntry type="library" exported="" name="support-annotations-21.0.3" level="project" />
<orderEntry type="library" exported="" name="slf4j-api-1.7.2" level="project" />
<orderEntry type="library" exported="" name="logback-android-1.1.1-3" level="project" />
<orderEntry type="library" exported="" name="answers-1.3.6" level="project" />
<orderEntry type="library" exported="" name="fabric-1.3.10" level="project" />
</component>
</module>
\ No newline at end of file
buildscript {
repositories {
maven { url 'https://maven.fabric.io/public' }
}
dependencies {
classpath 'io.fabric.tools:gradle:1.+'
}
}
plugins {
id 'net.researchgate.release' version '2.3.4'
}
apply plugin: 'com.android.application'
apply plugin: 'io.fabric'
repositories {
maven { url 'https://maven.fabric.io/public' }
}
def gitVersion() {
def process = ['sh', '-c', 'git tag -l | grep -c ".*" -'].execute().text.trim()
......@@ -102,4 +117,7 @@ dependencies {
compile files('libs/mongo-java-driver-3.0.2.jar')
compile files('libs/physicaloidlibrary.jar')
compile files('libs/slf4j-api-1.7.2.jar')
compile('com.crashlytics.sdk.android:crashlytics:2.5.5@aar') {
transitive = true;
}
}
\ No newline at end of file
......@@ -38,6 +38,9 @@ import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.TextView.BufferType;
import com.crashlytics.android.Crashlytics;
import com.crashlytics.android.answers.Answers;
import info.nightscout.android.R;
import info.nightscout.android.dexcom.DexcomG4Service;
import info.nightscout.android.eula.Eula;
......@@ -49,6 +52,7 @@ import info.nightscout.android.upload.MedtronicNG.CGMRecord;
import info.nightscout.android.upload.MedtronicNG.PumpStatusRecord;
import info.nightscout.android.upload.Record;
import io.fabric.sdk.android.Fabric;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
......@@ -193,6 +197,13 @@ public class Medtronic640gActivity extends Activity implements OnSharedPreferenc
PreferenceManager.getDefaultSharedPreferences(getBaseContext()).registerOnSharedPreferenceChangeListener(this);
prefs = PreferenceManager.getDefaultSharedPreferences(getBaseContext());
if( prefs.getBoolean( getString(R.string.preferences_enable_crashlytics), true ) ) {
Fabric.with(this, new Crashlytics());
}
if( prefs.getBoolean( getString(R.string.preferences_enable_answers), true ) ) {
Fabric.with(this, new Answers());
}
keepServiceAlive = Eula.show(this, prefs);
mArrow = new BatteryReceiver();
......
......@@ -117,4 +117,6 @@
<string name="prompt_carelink_username_password">Please enter your CareLink details.\nThey will not be stored.</string>
<string name="close">Close</string>
<string name="register_contour_next_link">Register Contour Next Link</string>
<string name="preferences_enable_crashlytics">prefs_enable_crashlytics</string>
<string name="preferences_enable_answers">prefs_enable_answers</string>
</resources>
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
<PreferenceCategory android:title="Monitor">
<info.nightscout.android.utils.CustomSwitchPreference
android:title="mmol/l"
android:key="mmolxl"
android:disableDependentsState="false"
android:switchTextOn="mmol/l"
android:switchTextOff="mg/dl"
android:summaryOn="mmol/l. Values are shown and set in mmol/l"
android:summaryOff="mg/dl. Values are shown and set in mg/dl">
</info.nightscout.android.utils.CustomSwitchPreference>
<info.nightscout.android.utils.CustomSwitchPreference
android:title="mmol/l decimals"
android:key="mmolDecimals"
android:dependency = "mmolxl"
android:defaultValue="false"
android:switchTextOn="2"
android:switchTextOff="1"
android:summaryOn="Activated. 2 Decimal values will be shown ."
android:summaryOff="Deactivated. 1 Decimal value will be shown .">
</info.nightscout.android.utils.CustomSwitchPreference>
<info.nightscout.android.utils.CustomSwitchPreference
android:disableDependentsState="false"
android:key="mmolxl"
android:summaryOff="mg/dl. Values are shown and set in mg/dl"
android:summaryOn="mmol/l. Values are shown and set in mmol/l"
android:switchTextOff="mg/dl"
android:switchTextOn="mmol/l"
android:title="mmol/l"></info.nightscout.android.utils.CustomSwitchPreference>
<info.nightscout.android.utils.CustomSwitchPreference
android:defaultValue="false"
android:dependency="mmolxl"
android:key="mmolDecimals"
android:summaryOff="Deactivated. 1 Decimal value will be shown ."
android:summaryOn="Activated. 2 Decimal values will be shown ."
android:switchTextOff="1"
android:switchTextOn="2"
android:title="mmol/l decimals"></info.nightscout.android.utils.CustomSwitchPreference>
</PreferenceCategory>
<PreferenceCategory android:title="Sharing">
<info.nightscout.android.utils.CustomSwitchPreference
android:title="REST API Upload"
android:key="EnableRESTUpload"
<PreferenceCategory android:title="Sharing">
<info.nightscout.android.utils.CustomSwitchPreference
android:disableDependentsState="false"
android:summary="Enable upload of data to Nightscout">
</info.nightscout.android.utils.CustomSwitchPreference>
<EditTextPreference
android:key="EnableRESTUpload"
android:summary="Enable upload of data to Nightscout"
android:title="REST API Upload"></info.nightscout.android.utils.CustomSwitchPreference>
<EditTextPreference
android:defaultValue="https://YOUR.NIGHTSCOUT.SITE"
android:dependency="EnableRESTUpload"
android:title="Nightscout URL"
android:key="@string/preference_nightscout_url"
android:dialogMessage="The hostname of your Nightscout site"
android:dialogTitle="Enter Nightscout URL"
android:defaultValue="https://YOUR.NIGHTSCOUT.SITE"
android:dialogMessage="The hostname of your Nightscout site">
</EditTextPreference>
<EditTextPreference
android:dependency="EnableRESTUpload"
android:title="API Secret"
android:key="@string/preference_api_secret"
android:dialogTitle="Enter your Nightscout API secret"
android:defaultValue="YOURAPISECRET"
android:dialogMessage="Your Nightscout API secret">
</EditTextPreference>
android:key="@string/preference_nightscout_url"
android:title="Nightscout URL"></EditTextPreference>
<EditTextPreference
android:defaultValue="YOURAPISECRET"
android:dependency="EnableRESTUpload"
android:dialogMessage="Your Nightscout API secret"
android:dialogTitle="Enter your Nightscout API secret"
android:key="@string/preference_api_secret"
android:title="API Secret"></EditTextPreference>
</PreferenceCategory>
<PreferenceCategory android:title="Disclaimer">
<info.nightscout.android.utils.CustomSwitchPreference
android:disableDependentsState="false"
android:key="IUNDERSTAND"
android:summaryOff="Deactivated. Nightscout should not be used to make medical decisions. There is no support or any warranty of any kind. The quality and performance of the project is with you. This is a project that was created and is supported completely by volunteers"
android:summaryOn="Activated. Nightscout should not be used to make medical decisions. There is no support or any warranty of any kind. The quality and performance of the project is with you. This is a project that was created and is supported completely by volunteers"
android:switchTextOff="NO"
android:switchTextOn="YES"
android:title="I UNDERSTAND"></info.nightscout.android.utils.CustomSwitchPreference>
</PreferenceCategory>
<PreferenceCategory android:title="App Version">
<Preference
android:key="version"
android:title="@string/versionName" />
</PreferenceCategory>
<PreferenceCategory android:title="Disclaimer">
<info.nightscout.android.utils.CustomSwitchPreference
android:title="I UNDERSTAND"
android:key="IUNDERSTAND"
android:disableDependentsState="false"
android:switchTextOn="YES"
android:switchTextOff="NO"
android:summaryOn="Activated. Nightscout should not be used to make medical decisions. There is no support or any warranty of any kind. The quality and performance of the project is with you. This is a project that was created and is supported completely by volunteers"
android:summaryOff="Deactivated. Nightscout should not be used to make medical decisions. There is no support or any warranty of any kind. The quality and performance of the project is with you. This is a project that was created and is supported completely by volunteers">
</info.nightscout.android.utils.CustomSwitchPreference>
</PreferenceCategory>
<PreferenceCategory android:title="App Version">
<Preference
android:key="version"
android:title="@string/versionName" />
</PreferenceCategory>
<PreferenceCategory android:title="Debug">
<ListPreference
android:key="logLevel"
android:disableDependentsState="false"
android:title="Logging Level"
android:summary="Select item from array"
android:entries="@array/levelList"
android:entryValues="@array/calib_types_values"
android:defaultValue="1"
/>
</PreferenceCategory>
<info.nightscout.android.utils.CustomSwitchPreference
android:defaultValue="true"
android:key="@string/preferences_enable_crashlytics"
android:summary="Send crash errors to developer"
android:title="Automatic Crash Reporting" />
<info.nightscout.android.utils.CustomSwitchPreference
android:defaultValue="true"
android:key="@string/preferences_enable_answers"
android:summary="Sends usage data to the developer to help develop a better app."
android:title="Share usage data" />
<ListPreference
android:defaultValue="1"
android:disableDependentsState="false"
android:entries="@array/levelList"
android:entryValues="@array/calib_types_values"
android:key="logLevel"
android:summary="Select item from array"
android:title="Logging Level" />
</PreferenceCategory>
</PreferenceScreen>
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment