Skip to content

Commit 8f83833

Browse files
author
Paolo Rotolo
committed
Merge pull request #217 from Glucosio/develop
Releasing Glucosio 0.10.3
2 parents f5ea5f1 + 22875ec commit 8f83833

File tree

839 files changed

+18410
-1378
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

839 files changed

+18410
-1378
lines changed

.travis.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ after_success:
2323

2424
script:
2525
- cd $TRAVIS_BUILD_DIR/
26-
- ./gradlew assembleDebug
26+
- ./gradlew testDebugUnitTest assembleDebug
2727

2828
notifications:
2929
slack: glucosio:uk2xb9sAxOaVedj7zePyuBqa

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
[![Crowdin](https://d322cqt584bo4o.cloudfront.net/glucosio/localized.png)](https://crowdin.com/project/glucosio)
22
[![Build Status](https://travis-ci.org/Glucosio/glucosio-android.svg)](https://travis-ci.org/Glucosio/glucosio-android)
3+
[![Codacy](https://img.shields.io/codacy/e27821fb6289410b8f58338c7e0bc686.svg)]()
34
[![Stories in Ready](https://badge.waffle.io/Glucosio/android.svg?label=ready&title=Ready)](http://waffle.io/Glucosio/android)
45
# Glucosio for Android
56
Glucosio for Android, an user centered free and open source app for Diabetes management and research for Android.

app/build.gradle

Lines changed: 91 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,67 +1,115 @@
1+
/*
2+
* Copyright (C) 2016 Glucosio Foundation
3+
*
4+
* This file is part of Glucosio.
5+
*
6+
* Glucosio is free software: you can redistribute it and/or modify
7+
* it under the terms of the GNU General Public License as published by
8+
* the Free Software Foundation, version 3.
9+
*
10+
* Glucosio is distributed in the hope that it will be useful,
11+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
12+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13+
* GNU General Public License for more details.
14+
*
15+
* You should have received a copy of the GNU General Public License
16+
* along with Glucosio. If not, see <http://www.gnu.org/licenses/>.
17+
*
18+
*
19+
*/
20+
121
apply plugin: 'com.android.application'
222

323
android {
424
compileSdkVersion 23
525
buildToolsVersion '23.0.2'
26+
627
lintOptions {
728
abortOnError false
829
}
30+
931
defaultConfig {
1032
minSdkVersion 16
1133
targetSdkVersion 23
12-
versionCode 14
13-
versionName '0.10.2'
34+
versionCode 18
35+
versionName '0.10.3'
1436

15-
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
37+
testInstrumentationRunner 'android.support.test.runner.AndroidJUnitRunner'
1638
}
39+
1740
buildTypes {
1841
debug {
1942
minifyEnabled false
2043
debuggable true
2144

22-
buildConfigField "String", "GOOGLE_ANALYTICS_TRACKER", '"UA-68882401-2"'
23-
24-
applicationIdSuffix '.daily'
2545
versionNameSuffix '-DEVEL'
46+
applicationIdSuffix '.daily'
47+
48+
buildConfigField 'String', 'GOOGLE_ANALYTICS_TRACKER', '"UA-68882401-2"'
2649
}
50+
2751
release {
2852
debuggable false
2953
minifyEnabled true
3054
shrinkResources true
3155
zipAlignEnabled true
32-
buildConfigField "String", "GOOGLE_ANALYTICS_TRACKER", '"UA-68882401-2"'
56+
57+
buildConfigField 'String', 'GOOGLE_ANALYTICS_TRACKER', '"UA-68882401-2"'
3358
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
3459
}
3560
}
61+
3662
lintOptions {
3763
abortOnError false
3864
}
65+
66+
testOptions {
67+
unitTests {
68+
all {
69+
// configure the test JVM arguments
70+
jvmArgs '-noverify'
71+
}
72+
}
73+
}
3974
}
4075

4176
repositories {
4277
mavenCentral()
43-
maven { url "https://jitpack.io" }
44-
maven { url "https://oss.sonatype.org/content/repositories/snapshots/" }
78+
jcenter()
79+
maven { url 'https://jitpack.io' }
80+
maven { url 'https://oss.sonatype.org/content/repositories/snapshots/' }
4581
}
4682

4783
dependencies {
84+
wearApp project(':wear')
85+
4886
compile fileTree(include: ['*.jar'], dir: 'libs')
4987

5088
// Android Support libraries
51-
compile 'com.android.support:appcompat-v7:23.2.0'
52-
compile 'com.android.support:design:23.2.0'
53-
compile 'com.android.support:cardview-v7:23.2.0'
54-
compile 'com.android.support:recyclerview-v7:23.2.0'
55-
compile 'com.android.support:percent:23.2.0'
89+
compile "com.android.support:appcompat-v7:${androidSupportVer}"
90+
compile "com.android.support:design:${androidSupportVer}"
91+
compile "com.android.support:cardview-v7:${androidSupportVer}"
92+
compile "com.android.support:recyclerview-v7:${androidSupportVer}"
93+
compile "com.android.support:percent:${androidSupportVer}"
94+
5695
compile 'com.google.android.support:wearable:1.3.0'
5796

5897
// Google Play Services
59-
compile 'com.google.android.gms:play-services-appinvite:8.4.0'
60-
compile 'com.google.android.gms:play-services-analytics:8.4.0'
61-
compile 'com.google.android.gms:play-services-drive:8.4.0'
62-
compile 'com.google.android.gms:play-services-wearable:8.4.0'
98+
compile "com.google.android.gms:play-services-appinvite:${googlePlayServicesVer}"
99+
compile "com.google.android.gms:play-services-analytics:${googlePlayServicesVer}"
100+
compile "com.google.android.gms:play-services-drive:${googlePlayServicesVer}"
101+
compile "com.google.android.gms:play-services-wearable:${googlePlayServicesVer}"
102+
compile "com.google.android.gms:play-services-gcm:${googlePlayServicesVer}"
103+
104+
//Smooch
105+
compile 'com.google.code.gson:gson:2.4'
106+
compile 'com.squareup.okhttp:okhttp:2.4.0'
107+
compile 'io.smooch:core:latest.release'
108+
compile 'io.smooch:ui:latest.release'
109+
63110

64111
// Other libraries
112+
compile 'com.instabug.library:instabugcompat:2.3.1'
65113
compile 'io.realm:realm-android:0.87.5'
66114
compile 'com.github.clans:fab:1.6.2'
67115
compile 'com.wdullaer:materialdatetimepicker:2.2.0'
@@ -71,17 +119,33 @@ dependencies {
71119
compile('com.mikepenz:materialdrawer:5.0.5@aar') {
72120
transitive = true
73121
}
74-
compile 'com.instabug.library:instabugcompat:2.1.1'
75122

76-
wearApp project(':wear')
123+
testCompile "junit:junit:${junitVer}"
124+
testCompile "org.mockito:mockito-all:${mockitoVer}"
125+
testCompile "com.squareup.assertj:assertj-android:${androidAssertJVer}"
126+
testCompile("org.robolectric:robolectric:${robolectricVer}") {
127+
exclude group: 'commons-logging', module: 'commons-logging'
128+
exclude group: 'org.apache.httpcomponents', module: 'httpclient'
129+
}
130+
testCompile("org.robolectric:shadows-support-v4:${robolectricVer}") {
131+
exclude group: 'commons-logging', module: 'commons-logging'
132+
exclude group: 'org.apache.httpcomponents', module: 'httpclient'
133+
}
134+
testCompile 'io.reactivex:rxjava:1.0.13'
135+
77136
// Testing libraries
78-
/* androidTestCompile 'com.android.support.test:rules:0.4.1'
137+
androidTestCompile 'com.android.support.test:rules:0.4.1'
79138
androidTestCompile 'com.android.support.test:runner:0.4.1'
80-
androidTestCompile 'com.android.support:support-annotations:23.2.0'
81-
androidTestCompile 'com.android.support:recyclerview-v7:23.2.0'
82-
androidTestCompile 'com.android.support.test.espresso:espresso-core:2.2.1'
83-
androidTestCompile 'com.android.support.test.espresso:espresso-intents:2.2.1'
84-
androidTestCompile 'com.android.support.test.espresso:espresso-contrib:2.2.1'*/
139+
androidTestCompile "com.android.support:support-annotations:${androidSupportVer}"
140+
androidTestCompile "com.android.support:recyclerview-v7:${androidSupportVer}"
141+
androidTestCompile 'com.android.support.test.espresso:espresso-core:2.2.2'
142+
androidTestCompile 'com.android.support.test.espresso:espresso-intents:2.2.2'
143+
androidTestCompile 'com.android.support.test.espresso:espresso-contrib:2.2.2'
85144
}
86145

87-
apply plugin: 'com.google.gms.google-services'
146+
configurations.all {
147+
resolutionStrategy.force "com.android.support:support-annotations:${androidSupportVer}"
148+
resolutionStrategy.force "com.android.support:design:${androidSupportVer}"
149+
resolutionStrategy.force "com.android.support:appcompat-v7:${androidSupportVer}"
150+
}
151+
apply plugin: 'com.google.gms.google-services'

app/google-services.json

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,8 @@
1111
"client_id": "android:org.glucosio.android",
1212
"client_type": 1,
1313
"android_client_info": {
14-
"package_name": "org.glucosio.android"
14+
"package_name": "org.glucosio.android",
15+
"certificate_hash": []
1516
}
1617
},
1718
"oauth_client": [
@@ -54,7 +55,8 @@
5455
"client_id": "android:org.glucosio.android.daily",
5556
"client_type": 1,
5657
"android_client_info": {
57-
"package_name": "org.glucosio.android.daily"
58+
"package_name": "org.glucosio.android.daily",
59+
"certificate_hash": []
5860
}
5961
},
6062
"oauth_client": [

app/proguard-rules.pro

Lines changed: 80 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,38 +1,49 @@
1-
# Add project specific ProGuard rules here.
2-
# By default, the flags in this file are appended to flags specified
3-
# in /home/paolo/Android/Sdk/tools/proguard/proguard-android.txt
4-
# You can edit the include path and order by changing the proguardFiles
5-
# directive in build.gradle.
6-
#
7-
# For more details, see
8-
# http://developer.android.com/guide/developing/tools/proguard.html
9-
10-
# Add any project specific keep options here:
11-
12-
# If your project uses WebView with JS, uncomment the following
13-
# and specify the fully qualified class name to the JavaScript interface
14-
# class:
15-
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
16-
# public *;
17-
#}
1+
-optimizationpasses 5
2+
-dump class_files.txt
3+
-printseeds seeds.txt
4+
-printusage unused.txt
5+
-printmapping mapping.txt
6+
-optimizations !code/simplification/arithmetic,!field/*,!class/merging*/
7+
-allowaccessmodification
8+
-repackageclasses ''
189

10+
-keep public class * extends android.app.Activity
11+
-keep public class * extends android.app.Application
12+
-keep public class * extends android.app.MapActivity
13+
-keep public class * extends android.app.Service
14+
-keep public class * extends android.content.BroadcastReceiver
15+
-keep public class * extends android.content.ContentProvider
16+
17+
-keep public class org.apache.commons.io.**
18+
-keep public class com.google.gson.**
19+
-keep public class com.google.gson.** {public private protected *;}
20+
21+
##---------------Begin: proguard configuration for Gson ----------
22+
-keepattributes *Annotation*,Signature
23+
-keep class org.glucosio.android.ActivityMonitor.ClassMultiPoints.** { *; }
24+
-keep public class org.glucosio.android.ActivityMonitor$ClassMultiPoints { public protected *; }
25+
-keep public class org.glucosio.android.ActivityMonitor$ClassMultiPoints$ClassPoints { public protected *; }
26+
-keep public class org.glucosio.android.ActivityMonitor$ClassMultiPoints$ClassPoints$ClassPoint { public protected *; }
27+
-keepclassmembers enum * { *; }
28+
29+
##---------------End: proguard configuration for Gson ----------
30+
31+
32+
33+
# MPAndoridChart
34+
-keep class com.github.mikephil.charting.** { *; }
35+
36+
# RxAndroid
37+
-dontwarn rx.internal.util.unsafe.**
38+
39+
# Realm
1940
-keep class io.realm.annotations.RealmModule
2041
-keep @io.realm.annotations.RealmModule class *
2142
-keep class io.realm.internal.Keep
2243
-keep @io.realm.internal.Keep class * { *; }
2344
-dontwarn javax.**
2445
-dontwarn io.realm.**
2546

26-
# RxAndroid
27-
-dontwarn rx.internal.util.unsafe.**
28-
29-
## Instabug
30-
-dontwarn org.apache.http.**
31-
-dontwarn android.net.http.AndroidHttpClient
32-
-dontwarn com.google.android.gms.**
33-
-dontwarn com.android.volley.toolbox.**
34-
-dontwarn com.instabug.**
35-
3647
## AppCompat
3748
-keep public class android.support.v7.widget.** { *; }
3849
-keep public class android.support.v7.internal.widget.** { *; }
@@ -59,4 +70,46 @@
5970

6071
-keepnames class * implements android.os.Parcelable {
6172
public static final ** CREATOR;
73+
}
74+
75+
## Instabug
76+
-dontwarn org.apache.http.**
77+
-dontwarn android.net.http.AndroidHttpClient
78+
-dontwarn com.google.android.gms.**
79+
-dontwarn com.android.volley.toolbox.**
80+
-dontwarn com.instabug.**
81+
82+
## Smooch
83+
-dontwarn okio.**
84+
-keep class okio.**
85+
-keep class com.google.gson.**
86+
87+
88+
-keep class * extends java.util.ListResourceBundle {
89+
protected java.lang.Object[][] getContents();
90+
}
91+
92+
# Keep SafeParcelable value, needed for reflection. This is required to support backwards
93+
# compatibility of some classes.
94+
-keep public class com.google.android.gms.common.internal.safeparcel.SafeParcelable {
95+
public static final *** NULL;
96+
}
97+
98+
# Keep the names of classes/members we need for client functionality.
99+
-keepnames @com.google.android.gms.common.annotation.KeepName class *
100+
-keepclassmembernames class * {
101+
@com.google.android.gms.common.annotation.KeepName *;
102+
}
103+
104+
# Needed for Parcelable/SafeParcelable Creators to not get stripped
105+
-keepnames class * implements android.os.Parcelable {
106+
public static final ** CREATOR;
107+
}
108+
109+
# Needed by google-api-client to keep generic types and @Key annotations accessed via reflection
110+
111+
-keepattributes Signature,RuntimeVisibleAnnotations,AnnotationDefault
112+
113+
-keepclassmembers class * {
114+
@com.google.api.client.util.Key <fields>;
62115
}

app/src/androidTest/java/org/glucosio/android/HelloActivityTest.java

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,23 @@
1+
/*
2+
* Copyright (C) 2016 Glucosio Foundation
3+
*
4+
* This file is part of Glucosio.
5+
*
6+
* Glucosio is free software: you can redistribute it and/or modify
7+
* it under the terms of the GNU General Public License as published by
8+
* the Free Software Foundation, version 3.
9+
*
10+
* Glucosio is distributed in the hope that it will be useful,
11+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
12+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13+
* GNU General Public License for more details.
14+
*
15+
* You should have received a copy of the GNU General Public License
16+
* along with Glucosio. If not, see <http://www.gnu.org/licenses/>.
17+
*
18+
*
19+
*/
20+
121
package org.glucosio.android;
222

323
import android.support.test.rule.ActivityTestRule;

app/src/androidTest/java/org/glucosio/android/MainActivityTest.java

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,23 @@
1+
/*
2+
* Copyright (C) 2016 Glucosio Foundation
3+
*
4+
* This file is part of Glucosio.
5+
*
6+
* Glucosio is free software: you can redistribute it and/or modify
7+
* it under the terms of the GNU General Public License as published by
8+
* the Free Software Foundation, version 3.
9+
*
10+
* Glucosio is distributed in the hope that it will be useful,
11+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
12+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13+
* GNU General Public License for more details.
14+
*
15+
* You should have received a copy of the GNU General Public License
16+
* along with Glucosio. If not, see <http://www.gnu.org/licenses/>.
17+
*
18+
*
19+
*/
20+
121
package org.glucosio.android;
222

323
import android.support.test.rule.ActivityTestRule;
@@ -25,7 +45,7 @@ public class MainActivityTest {
2545
@Rule
2646
public ActivityTestRule<MainActivity> mRule = new ActivityTestRule<>(MainActivity.class);
2747

28-
HelloActivityTest previousTest = new HelloActivityTest();
48+
private HelloActivityTest previousTest = new HelloActivityTest();
2949

3050
private void goThroughHelloActivity() throws InterruptedException {
3151
previousTest.check_004_IfICanEnterMyAgeUsingHelloAgeEditText();

0 commit comments

Comments
 (0)