Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
8e54887
Random change to create a release commit (#198)
simekadam Apr 21, 2020
dd846ba
Remove wakelock (#200)
simekadam Apr 25, 2020
e5dcc38
UI Espresso TestCase (#199)
JanTrnavsky Apr 26, 2020
de22ff9
Updade the saving logic (#202)
simekadam Apr 29, 2020
fd5e26b
Fixed ProteGO link (#203)
May 7, 2020
02b7df2
Fix tests in firebase testlab (#201)
JanTrnavsky May 7, 2020
000a52d
Automatically restart the app when it's updated (#209)
simekadam May 7, 2020
288eeda
Fix data partitioning (#208)
simekadam May 7, 2020
bcae5ec
Change default language, add Ukraian, Russian, Vietnamese, Slovak and…
davidvavra May 7, 2020
923f1d8
check links in app during the tests (#211)
JanTrnavsky May 9, 2020
67944dc
Fix background service starts (#212)
simekadam May 11, 2020
5d8fc5d
Don't spam user with notifications when device is put awake (#213)
simekadam May 17, 2020
71330a5
Post error notifications with another ID if ongoing channel is disabl…
simekadam May 19, 2020
9ba9222
Anežka chat bot + update localizations (#215)
davidvavra May 20, 2020
01074d6
Add code style to repo (#218)
davidvavra Jul 15, 2020
7e064a1
Feature/force update (#220)
Pavel-Habzansky Jul 17, 2020
84e43bc
Update localizations (#221)
davidvavra Jul 19, 2020
f4eac00
Feature/exposure notifications api (#219)
stepansonsky Jul 21, 2020
29f9acf
Text changes + activation flow update (#217)
Pavel-Habzansky Jul 21, 2020
462df27
Feature/activation flow login (#222)
Pavel-Habzansky Jul 23, 2020
8c187b9
Communication with our sample exposure server (#224)
davidvavra Jul 27, 2020
93df276
Feature/send data ui (#225)
Pavel-Habzansky Jul 27, 2020
dfeb565
Downloading key export & unzip it (#226)
davidvavra Jul 30, 2020
ea02842
Translate remote config phrases to EN (#227)
radeksimko Aug 3, 2020
8e2657e
Feature/update data ui (#229)
Pavel-Habzansky Aug 6, 2020
5405357
Feature/exposure ui (#228)
Pavel-Habzansky Aug 7, 2020
eed17ea
Feature/exposure notification ui (#231)
Pavel-Habzansky Aug 10, 2020
ab1a69b
Feature/newsletter ui (#230)
Pavel-Habzansky Aug 11, 2020
5f28c5a
Feature/exposure keys (#234)
Pavel-Habzansky Aug 12, 2020
43916b9
Feature/exposure notifications api (#233)
stepansonsky Aug 12, 2020
6986b8d
Feature/dashboard states ui (#235)
Pavel-Habzansky Aug 12, 2020
b9672be
Symptoms+Prevention JSON fix (#237)
Pavel-Habzansky Aug 13, 2020
b9a7ade
Added DEBUG buttons (#239)
Pavel-Habzansky Aug 13, 2020
3c08e43
Feature/exposure notifications api (#238)
stepansonsky Aug 13, 2020
f0e11db
make tests compilable again
JanTrnavsky Aug 16, 2020
ecec775
prepare screen for exposures
JanTrnavsky Aug 16, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
33 changes: 21 additions & 12 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -6,27 +6,36 @@
*.iml

## Directory-based project format:
.idea/
#.idea/
# if you remove the above rule, at least ignore the following:

# User-specific stuff:
# .idea/workspace.xml
# .idea/tasks.xml
# .idea/dictionaries
.idea/workspace.xml
.idea/tasks.xml
.idea/dictionaries

# Sensitive or high-churn files:
# .idea/dataSources.ids
# .idea/dataSources.xml
# .idea/sqlDataSources.xml
# .idea/dynamic.xml
# .idea/uiDesigner.xml
.idea/dataSources.ids
.idea/dataSources.xml
.idea/sqlDataSources.xml
.idea/dynamic.xml
.idea/uiDesigner.xml
/.idea/jarRepositories.xml
/.idea/misc.xml
/.idea/modules.xml
/.idea/runConfigurations.xml
/.idea/vcs.xml
.idea/caches
.idea/.name
.idea/navEditor.xml
.idea/assetWizardSettings.xml

# Gradle:
# .idea/gradle.xml
# .idea/libraries
.idea/gradle.xml
.idea/libraries

# Mongo Explorer plugin:
# .idea/mongoSettings.xml
.idea/mongoSettings.xml

## File-based project format:
*.ipr
Expand Down
122 changes: 122 additions & 0 deletions .idea/codeStyles/Project.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions .idea/codeStyles/codeStyleConfig.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ We are open-source from day one and we will be happy to work with people in othe

We got inspired by similar apps in other countries:
- [**OpenTrace** from Singapore](https://github.com/OpenTrace-Community)
- [**ProteGO-app** from Poland](https://github.com/ProteGO-app)
- [**ProteGO-app** from Poland](https://github.com/ProteGO-Safe)
- [**Covid World** from Slovakia](https://github.com/CovidWorld)

## Technical details
Expand Down
105 changes: 66 additions & 39 deletions app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -18,14 +18,20 @@ android {
archivesBaseName = "covid19-cz"
multiDexEnabled true
// If we support another language, add it here
def supportedLanguages = ["cs", "en"]
def supportedLanguages = ["en", "cs", "ro", "ru", "sk", "uk", "vi"]
resConfigs supportedLanguages
buildConfigField "String[]", "SUPPORTED_LANGUAGES", "{\"" + supportedLanguages.join("\",\"") + "\"}"

testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
testInstrumentationRunnerArguments clearPackageData: 'true'
}

testOptions {
execution 'ANDROIDX_TEST_ORCHESTRATOR'
}

flavorDimensions "environment"
testBuildType "debug"

productFlavors {
dev {
Expand Down Expand Up @@ -68,6 +74,7 @@ android {
main.java.srcDirs += 'src/main/kotlin'
debug.java.srcDirs += 'src/debug/kotlin'
release.java.srcDirs += 'src/release/kotlin'
androidTest.java.srcDirs += 'src/androidTest/kotlin'
}

compileOptions {
Expand All @@ -79,8 +86,8 @@ android {
jvmTarget = JavaVersion.VERSION_1_8.toString()
}

dataBinding {
enabled = true
buildFeatures {
dataBinding = true
}

lintOptions {
Expand All @@ -97,84 +104,104 @@ androidExtensions {
}

dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation fileTree(dir: 'libs', include: ['*.jar', '*.aar'])

implementation "org.jetbrains.kotlin:kotlin-stdlib"

implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core-common:$versions.coroutines"
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:$versions.coroutines"
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-play-services:1.1.1'
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core-common:1.3.5"
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:1.3.5"
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-play-services:1.3.7'

// Android Basics
implementation 'androidx.multidex:multidex:2.0.1'
implementation 'androidx.core:core-ktx:1.2.0'
implementation "androidx.appcompat:appcompat:$versions.appcompat"
implementation 'androidx.fragment:fragment:1.2.3'
implementation 'androidx.constraintlayout:constraintlayout:2.0.0-beta4'
implementation "com.google.android.material:material:$versions.material"
implementation 'androidx.core:core-ktx:1.3.1'
implementation "androidx.appcompat:appcompat:1.1.0"
implementation 'androidx.fragment:fragment:1.2.5'
implementation 'androidx.constraintlayout:constraintlayout:2.0.0-rc1'
implementation "com.google.android.material:material:1.1.0"
implementation "androidx.recyclerview:recyclerview:1.1.0"
implementation "androidx.browser:browser:1.2.0"
implementation "com.google.android.play:core-ktx:1.8.0"
implementation "androidx.work:work-runtime-ktx:2.4.0"

// Arch
implementation project(':arch')

// Navigation
implementation "androidx.navigation:navigation-fragment-ktx:$versions.nav"
implementation "androidx.navigation:navigation-ui-ktx:$versions.nav"
implementation "androidx.navigation:navigation-fragment-ktx:2.3.0"
implementation "androidx.navigation:navigation-ui-ktx:2.3.0"

// Koin for Android
implementation "org.koin:koin-android:$versions.koin"
implementation "org.koin:koin-androidx-scope:$versions.koin"
implementation "org.koin:koin-androidx-viewmodel:$versions.koin"
implementation "org.koin:koin-android:2.0.1"
implementation "org.koin:koin-androidx-scope:2.0.1"
implementation "org.koin:koin-androidx-viewmodel:2.0.1"

//RxJava
implementation "io.reactivex.rxjava2:rxjava:$versions.rxjava"
implementation "io.reactivex.rxjava2:rxandroid:$versions.rxandroid"
implementation "io.reactivex.rxjava2:rxjava:2.2.17"
implementation "io.reactivex.rxjava2:rxandroid:2.1.1"

//RxPermisssions
implementation 'com.github.tbruyelle:rxpermissions:0.10.2'

// BLE Scanner Compat
implementation 'no.nordicsemi.android.support.v18:scanner:1.4.2'

// ViewModel and LiveData
implementation "android.arch.lifecycle:extensions:$versions.lifecycle"
implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:$versions.lifecycle"
implementation "android.arch.lifecycle:extensions:2.2.0"
implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:2.2.0"

// Gson
implementation 'com.google.code.gson:gson:2.8.6'

// Firebase
implementation 'com.google.firebase:firebase-auth:19.3.0'
implementation 'com.google.firebase:firebase-auth:19.3.2'
implementation 'com.crashlytics.sdk.android:crashlytics:2.10.1'
implementation 'com.google.firebase:firebase-config-ktx:19.1.3'
implementation 'com.google.firebase:firebase-config-ktx:19.2.0'
implementation 'com.google.firebase:firebase-functions-ktx:19.0.2'
implementation 'com.google.firebase:firebase-storage-ktx:19.1.1'
implementation 'com.google.firebase:firebase-messaging:20.1.3'
implementation 'com.google.firebase:firebase-messaging:20.2.4'

// Play Services
implementation 'com.google.android.play:core:1.8.0'
implementation 'com.google.android.gms:play-services-base:17.3.0'
implementation 'com.google.android.gms:play-services-basement:17.3.0'
implementation 'com.google.android.gms:play-services-safetynet:17.0.0'
implementation 'com.google.android.gms:play-services-tasks:17.1.0'

// Room
implementation "androidx.room:room-runtime:$versions.room"
implementation "androidx.room:room-rxjava2:$versions.room"
kapt "androidx.room:room-compiler:$versions.room"
implementation "androidx.room:room-runtime:2.2.5"
implementation "androidx.room:room-rxjava2:2.2.5"
implementation "androidx.room:room-ktx:2.2.5"
kapt "androidx.room:room-compiler:2.2.5"

// Markdown
implementation "io.noties.markwon:core:4.3.1"
implementation 'io.noties.markwon:image-glide:4.3.1'
implementation 'com.atlassian.commonmark:commonmark-ext-autolink:0.12.1'

// Retrofit
implementation 'com.squareup.retrofit2:retrofit:2.9.0'
implementation 'com.squareup.retrofit2:converter-gson:2.9.0'
implementation 'com.squareup.okhttp3:logging-interceptor:4.7.2'

// Others
implementation "net.sf.supercsv:super-csv:$versions.super_csv"
implementation 'com.android.support:customtabs:28.0.0'
implementation 'com.jaredrummler:android-device-names:2.0.0'
implementation 'com.jakewharton.threetenabp:threetenabp:1.2.3'
implementation 'com.jakewharton.threetenabp:threetenabp:1.2.4'
implementation 'net.lingala.zip4j:zip4j:2.6.1'

// Tests
testImplementation 'junit:junit:4.12'

androidTestImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'

testImplementation 'junit:junit:4.13'
androidTestImplementation 'org.awaitility:awaitility:3.1.6'

androidTestImplementation 'junit:junit:4.13'
androidTestImplementation 'androidx.test.ext:junit:1.1.1'
androidTestImplementation 'androidx.test:runner:1.2.0'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
androidTestImplementation 'androidx.test:rules:1.2.0'
androidTestImplementation "org.koin:koin-test:2.0.1"
androidTestImplementation 'androidx.test.espresso:espresso-intents:3.2.0'
androidTestUtil 'androidx.test:orchestrator:1.2.0'

debugImplementation 'com.facebook.stetho:stetho-okhttp3:1.5.1'
debugImplementation 'com.idescout.sql:sqlscout-server:4.1'
releaseImplementation 'com.idescout.sql:sqlscout-server-noop:4.1'
androidTestImplementation 'androidx.test.uiautomator:uiautomator:2.2.0'
}
Binary file not shown.

This file was deleted.

Loading