Skip to content
This repository has been archived by the owner on Jun 20, 2023. It is now read-only.

Commit

Permalink
Merge pull request #367 from corona-warn-app/dev
Browse files Browse the repository at this point in the history
0.8.16
  • Loading branch information
jakobmoellerdev authored Jun 11, 2020
2 parents e8fdd4c + e8812ca commit cf53289
Show file tree
Hide file tree
Showing 77 changed files with 2,576 additions and 1,010 deletions.
9 changes: 7 additions & 2 deletions Corona-Warn-App/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -32,13 +32,14 @@ android {
applicationId 'de.rki.coronawarnapp'
minSdkVersion 23
targetSdkVersion 29
versionCode 23
versionName "0.8.15"
versionCode 24
versionName "0.8.16"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"

buildConfigField "String", "DOWNLOAD_CDN_URL", "\"$DOWNLOAD_CDN_URL\""
buildConfigField "String", "SUBMISSION_CDN_URL", "\"$SUBMISSION_CDN_URL\""
buildConfigField "String", "VERIFICATION_CDN_URL", "\"$VERIFICATION_CDN_URL\""
buildConfigField "String", "PUB_KEYS_SIGNATURE_VERIFICATION", "\"$PUB_KEYS_SIGNATURE_VERIFICATION\""

//override URLs. Use local.properties if exist.
// If environment.properties also exist, override local.properties
Expand Down Expand Up @@ -72,6 +73,10 @@ android {
def VERIFICATION_CDN_URL = overridingProperties.getProperty('VERIFICATION_CDN_URL')
if (VERIFICATION_CDN_URL)
buildConfigField "String", "VERIFICATION_CDN_URL", "\"$VERIFICATION_CDN_URL\""

def PUB_KEYS_SIGNATURE_VERIFICATION = overridingProperties.getProperty('PUB_KEYS_SIGNATURE_VERIFICATION')
if (PUB_KEYS_SIGNATURE_VERIFICATION)
buildConfigField "String", "PUB_KEYS_SIGNATURE_VERIFICATION", "\"$PUB_KEYS_SIGNATURE_VERIFICATION\""
}

javaCompileOptions {
Expand Down

This file was deleted.

10 changes: 5 additions & 5 deletions Corona-Warn-App/src/main/assets/technical_de.html
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<h2>ThirdPartyNotices</h2>
<h2>Third Party Notices</h2>
<p>corona-warn-app/cwa-app-android uses third-party software or other resources that
may be distributed under licenses different from corona-warn-app/cwa-app-android
software.
Expand Down Expand Up @@ -38,10 +38,6 @@ <h2>Components:</h2>
Licensor: Xtreme Labs, Pivotal Labs and Google Inc.
Website: https://robolectric.org/
License: MIT</p>
<p>Component: RootBeer
Licensor: Scott Alexander-Bown, Mat Rollings
Website: https://github.com/scottyab/rootbeer
License: Apache 2.0</p>
<p>Component: Zxing
Licensor: zxing
Website: https://github.com/zxing/zxing/
Expand Down Expand Up @@ -78,6 +74,10 @@ <h2>Components:</h2>
Licensor: Google
Website: https://github.com/google/protobuf-gradle-plugin
License: BSD 3-Clause</p>
<p>Component: Conscrypt
Licensor: Conscrypt
Website: https://github.com/google/conscrypt
License: Apache 2.0</p>
<p>Copyright (c) 2008-2020 Zetetic LLC
All rights reserved.</p>
<p>Redistribution and use in source and binary forms, with or without
Expand Down
10 changes: 5 additions & 5 deletions Corona-Warn-App/src/main/assets/technical_en.html
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<h2>ThirdPartyNotices</h2>
<h2>Third Party Notices</h2>
<p>corona-warn-app/cwa-app-android uses third-party software or other resources that
may be distributed under licenses different from corona-warn-app/cwa-app-android
software.
Expand Down Expand Up @@ -38,10 +38,6 @@ <h2>Components:</h2>
Licensor: Xtreme Labs, Pivotal Labs and Google Inc.
Website: https://robolectric.org/
License: MIT</p>
<p>Component: RootBeer
Licensor: Scott Alexander-Bown, Mat Rollings
Website: https://github.com/scottyab/rootbeer
License: Apache 2.0</p>
<p>Component: Zxing
Licensor: zxing
Website: https://github.com/zxing/zxing/
Expand Down Expand Up @@ -78,6 +74,10 @@ <h2>Components:</h2>
Licensor: Google
Website: https://github.com/google/protobuf-gradle-plugin
License: BSD 3-Clause</p>
<p>Component: Conscrypt
Licensor: Conscrypt
Website: https://github.com/google/conscrypt
License: Apache 2.0</p>
<p>Copyright (c) 2008-2020 Zetetic LLC
All rights reserved.</p>
<p>Redistribution and use in source and binary forms, with or without
Expand Down
4 changes: 2 additions & 2 deletions Corona-Warn-App/src/main/assets/terms_en.html
Original file line number Diff line number Diff line change
Expand Up @@ -210,7 +210,7 @@
</p>
<p>
3. WHAT DO I DO IF I HAVE BEEN EXPOSED TO A CONFIRMED CASE?

</p>
<p>
If the App notifies you that you have been exposed to a confirmed case, you
Expand Down Expand Up @@ -246,7 +246,7 @@
</p>
<p>
4. THE APP DOES NOT PROTECT YOU AGAINST INFECTION

</p>
<p>
The App serves to disrupt chains of infection.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,6 @@ import de.rki.coronawarnapp.storage.ExposureSummaryRepository
import de.rki.coronawarnapp.storage.LocalData
import de.rki.coronawarnapp.storage.tracing.TracingIntervalRepository
import de.rki.coronawarnapp.transaction.RiskLevelTransaction
import de.rki.coronawarnapp.transaction.SubmitDiagnosisKeysTransaction
import de.rki.coronawarnapp.ui.viewmodel.TracingViewModel
import de.rki.coronawarnapp.util.KeyFileHelper
import kotlinx.android.synthetic.main.fragment_test_for_a_p_i.button_api_enter_other_keys
Expand Down Expand Up @@ -201,7 +200,7 @@ class TestForAPIFragment : Fragment(), InternalExposureNotificationPermissionHel
try {
internalExposureNotificationPermissionHelper.requestPermissionToShareKeys()

SubmitDiagnosisKeysTransaction.start("123")
// SubmitDiagnosisKeysTransaction.start("123")
withContext(Dispatchers.Main) {
showToast("Key submission successful")
}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
package de.rki.coronawarnapp.exception

import de.rki.coronawarnapp.R
import de.rki.coronawarnapp.exception.reporting.ErrorCodes
import de.rki.coronawarnapp.exception.reporting.ReportedException

class ExternalActionException(cause: Throwable) : ReportedException(
ErrorCodes.EXTERNAL_NAVIGATION.code,
"Error during external navigation, likely due to bad target / action not available",
cause,
R.string.errors_external_action
)
Original file line number Diff line number Diff line change
Expand Up @@ -19,5 +19,6 @@ enum class ErrorCodes(val code: Int) {
REPORTED_EXCEPTION_UNKNOWN_PROBLEM(9002),

// NONTECHNICAL
NO_NETWORK_CONNECTIVITY(1)
NO_NETWORK_CONNECTIVITY(1),
EXTERNAL_NAVIGATION(10),
}
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ import de.rki.coronawarnapp.BuildConfig
import de.rki.coronawarnapp.CoronaWarnApplication
import de.rki.coronawarnapp.exception.http.ServiceFactoryException
import de.rki.coronawarnapp.http.config.HTTPVariables
import de.rki.coronawarnapp.http.interceptor.OfflineCacheInterceptor
import de.rki.coronawarnapp.http.interceptor.RetryInterceptor
import de.rki.coronawarnapp.http.interceptor.WebSecurityVerificationInterceptor
import de.rki.coronawarnapp.http.service.DistributionService
Expand Down Expand Up @@ -47,9 +46,6 @@ class ServiceFactory {
HttpLoggingInterceptor().also {
if (BuildConfig.DEBUG) it.setLevel(HttpLoggingInterceptor.Level.BODY)
},
OfflineCacheInterceptor(
CoronaWarnApplication.getAppContext()
),
RetryInterceptor(),
HttpErrorParser()
)
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -136,11 +136,11 @@ class InternalExposureNotificationPermissionHelper(
* @param exception
*/
private fun returnError(exception: Exception) {
exception.report(
ExceptionCategory.EXPOSURENOTIFICATION,
TAG,
null
)
exception.report(
ExceptionCategory.EXPOSURENOTIFICATION,
TAG,
null
)
permissionResolutionInProgress = false
callback.onFailure(exception)
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package de.rki.coronawarnapp.service.submission

import com.google.android.gms.nearby.exposurenotification.TemporaryExposureKey
import de.rki.coronawarnapp.exception.NoGUIDOrTANSetException
import de.rki.coronawarnapp.exception.NoRegistrationTokenSetException
import de.rki.coronawarnapp.http.WebRequestBuilder
Expand Down Expand Up @@ -48,10 +49,10 @@ object SubmissionService {
return WebRequestBuilder.getInstance().asyncGetTan(registrationToken)
}

suspend fun asyncSubmitExposureKeys() {
suspend fun asyncSubmitExposureKeys(keys: List<TemporaryExposureKey>) {
val registrationToken =
LocalData.registrationToken() ?: throw NoRegistrationTokenSetException()
SubmitDiagnosisKeysTransaction.start(registrationToken)
SubmitDiagnosisKeysTransaction.start(registrationToken, keys)
}

suspend fun asyncRequestTestResult(): TestResult {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package de.rki.coronawarnapp.transaction

import de.rki.coronawarnapp.nearby.InternalExposureNotificationClient
import com.google.android.gms.nearby.exposurenotification.TemporaryExposureKey
import de.rki.coronawarnapp.service.diagnosiskey.DiagnosisKeyService
import de.rki.coronawarnapp.service.submission.SubmissionService
import de.rki.coronawarnapp.transaction.SubmitDiagnosisKeysTransaction.SubmitDiagnosisKeysTransactionState.CLOSE
Expand Down Expand Up @@ -49,7 +49,7 @@ object SubmitDiagnosisKeysTransaction : Transaction() {
}

/** initiates the transaction. This suspend function guarantees a successful transaction once completed. */
suspend fun start(registrationToken: String) = lockAndExecuteUnique {
suspend fun start(registrationToken: String, keys: List<TemporaryExposureKey>) = lockAndExecuteUnique {
/****************************************************
* RETRIEVE TAN
****************************************************/
Expand All @@ -61,8 +61,7 @@ object SubmitDiagnosisKeysTransaction : Transaction() {
* RETRIEVE TEMPORARY EXPOSURE KEY HISTORY
****************************************************/
val temporaryExposureKeyList = executeState(RETRIEVE_TEMPORARY_EXPOSURE_KEY_HISTORY) {
InternalExposureNotificationClient.asyncGetTemporaryExposureKeyHistory()
.limitKeyCount()
keys.limitKeyCount()
.transformKeyHistoryToExternalFormat()
}
/****************************************************
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import androidx.fragment.app.Fragment
import de.rki.coronawarnapp.R
import de.rki.coronawarnapp.databinding.FragmentInformationContactBinding
import de.rki.coronawarnapp.ui.main.MainActivity
import de.rki.coronawarnapp.util.CallHelper
import de.rki.coronawarnapp.util.ExternalActionHelper

/**
* Basic Fragment which only displays static content.
Expand Down Expand Up @@ -57,7 +57,7 @@ class InformationContactFragment : Fragment() {
}
binding.informationContactNavigationRowPhone.navigationRow.setOnClickListener {
val number = getString(R.string.information_contact_phone_call_number)
CallHelper.call(this, "tel:$number")
ExternalActionHelper.call(this, number)
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ import de.rki.coronawarnapp.R
import de.rki.coronawarnapp.databinding.FragmentInformationBinding
import de.rki.coronawarnapp.ui.doNavigate
import de.rki.coronawarnapp.ui.main.MainActivity
import de.rki.coronawarnapp.util.OpenUrlHelper
import de.rki.coronawarnapp.util.ExternalActionHelper

/**
* Basic Fragment which links to static and web content.
Expand Down Expand Up @@ -75,7 +75,7 @@ class InformationFragment : Fragment() {
)
}
binding.informationHelp.mainRow.setOnClickListener {
OpenUrlHelper.navigate(this, requireContext().getString(R.string.main_about_link))
ExternalActionHelper.openUrl(this, requireContext().getString(R.string.main_about_link))
}
binding.informationLegal.mainRow.setOnClickListener {
findNavController().doNavigate(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ import de.rki.coronawarnapp.ui.doNavigate
import de.rki.coronawarnapp.ui.viewmodel.SettingsViewModel
import de.rki.coronawarnapp.ui.viewmodel.SubmissionViewModel
import de.rki.coronawarnapp.ui.viewmodel.TracingViewModel
import de.rki.coronawarnapp.util.OpenUrlHelper
import de.rki.coronawarnapp.util.ExternalActionHelper
import timber.log.Timber

/**
Expand Down Expand Up @@ -134,7 +134,7 @@ class MainFragment : Fragment() {
findNavController().doNavigate(MainFragmentDirections.actionMainFragmentToSettingsTracingFragment())
}
binding.mainAbout.mainCard.setOnClickListener {
OpenUrlHelper.navigate(this, requireContext().getString(R.string.main_about_link))
ExternalActionHelper.openUrl(this, requireContext().getString(R.string.main_about_link))
}
binding.mainHeaderShare.buttonIcon.setOnClickListener {
findNavController().doNavigate(MainFragmentDirections.actionMainFragmentToMainSharingFragment())
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import androidx.fragment.app.activityViewModels
import de.rki.coronawarnapp.R
import de.rki.coronawarnapp.databinding.FragmentMainShareBinding
import de.rki.coronawarnapp.ui.viewmodel.TracingViewModel
import de.rki.coronawarnapp.util.ShareHelper
import de.rki.coronawarnapp.util.ExternalActionHelper

/**
* This fragment informs the user about what he is going to share and how he is going to help everybody with this :)
Expand Down Expand Up @@ -49,7 +49,7 @@ class MainShareFragment : Fragment() {

private fun setButtonOnClickListener() {
binding.mainShareButton.setOnClickListener {
ShareHelper.shareText(this, getString(R.string.main_share_message), null)
ExternalActionHelper.shareText(this, getString(R.string.main_share_message), null)
}
binding.mainShareHeader.headerButtonBack.buttonIcon.setOnClickListener {
(activity as MainActivity).goBack()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,7 @@ class OnboardingTracingFragment : Fragment(),
}

override fun onFailure(exception: Exception?) {
navigate()
// dialog closed, user has to explicitly allow or deny the tracing permission
}

private fun showCancelDialog() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ import de.rki.coronawarnapp.databinding.FragmentSettingsNotificationsBinding
import de.rki.coronawarnapp.ui.main.MainActivity
import de.rki.coronawarnapp.ui.viewmodel.SettingsViewModel
import de.rki.coronawarnapp.ui.viewmodel.TracingViewModel
import de.rki.coronawarnapp.util.SettingsNavigationHelper
import de.rki.coronawarnapp.util.ExternalActionHelper

/**
* This is the setting notification page. Here the user sees his os notifications settings status.
Expand Down Expand Up @@ -88,7 +88,7 @@ class SettingsNotificationFragment : Fragment() {
}
// System Settings
settingsRow.setOnClickListener {
SettingsNavigationHelper.toNotifications(requireContext())
ExternalActionHelper.toNotifications(requireContext())
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ import de.rki.coronawarnapp.ui.main.MainActivity
import de.rki.coronawarnapp.ui.viewmodel.SettingsViewModel
import de.rki.coronawarnapp.ui.viewmodel.TracingViewModel
import de.rki.coronawarnapp.util.DialogHelper
import de.rki.coronawarnapp.util.SettingsNavigationHelper
import de.rki.coronawarnapp.util.ExternalActionHelper
import de.rki.coronawarnapp.worker.BackgroundWorkScheduler
import kotlinx.coroutines.launch

Expand Down Expand Up @@ -115,10 +115,10 @@ class SettingsTracingFragment : Fragment(),
(activity as MainActivity).goBack()
}
binding.settingsTracingStatusBluetooth.tracingStatusCardButton.setOnClickListener {
SettingsNavigationHelper.toConnections(requireContext())
ExternalActionHelper.toMainSettings(requireContext())
}
binding.settingsTracingStatusConnection.tracingStatusCardButton.setOnClickListener {
SettingsNavigationHelper.toConnections(requireContext())
ExternalActionHelper.toConnections(requireContext())
}
}

Expand Down
Loading

0 comments on commit cf53289

Please sign in to comment.