diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/storage/LocalData.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/storage/LocalData.kt index 279d405c9973be0178628c99591b7104c7c9297f..2e0347c40203980058112cec2e5e6e660055134e 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/storage/LocalData.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/storage/LocalData.kt @@ -383,46 +383,24 @@ object LocalData { * SERVER FETCH DATA ****************************************************/ - /** - * Gets the last time the server fetched the diagnosis keys from the server as Date object - * from the EncryptedSharedPrefs - * - * @return timestamp as Date - */ - // TODO should be changed to Long as well to align with other timestamps - fun lastTimeDiagnosisKeysFromServerFetch(): Date? { - val time = getSharedPreferenceInstance().getLong( - CoronaWarnApplication.getAppContext() - .getString(R.string.preference_timestamp_diagnosis_keys_fetch), - 0L - ) - if (time == 0L) return null - - return Date(time) + private val dateMapperForFetchTime: (Long) -> Date? = { + if (it != 0L) Date(it) else null } - fun lastTimeDiagnosisKeysFromServerFetchFlow() = + private val lastTimeDiagnosisKeysFetchedFlowPref by lazy { getSharedPreferenceInstance() - .createFlowPreference<Long?>(CoronaWarnApplication.getAppContext() - .getString(R.string.preference_timestamp_diagnosis_keys_fetch), 0L).flow - .map { if (it != null && it != 0L) Date(it) else null } - - /** - * Sets the last time the server fetched the diagnosis keys from the server as Date object - * from the EncryptedSharedPrefs - * - * @param value timestamp as Date - */ - fun lastTimeDiagnosisKeysFromServerFetch(value: Date?) { - getSharedPreferenceInstance().edit(true) { - putLong( - CoronaWarnApplication.getAppContext() - .getString(R.string.preference_timestamp_diagnosis_keys_fetch), - value?.time ?: 0L - ) - } + .createFlowPreference<Long>(key = "preference_timestamp_diagnosis_keys_fetch", 0L) } + fun lastTimeDiagnosisKeysFromServerFetchFlow() = lastTimeDiagnosisKeysFetchedFlowPref.flow + .map { dateMapperForFetchTime(it) } + + fun lastTimeDiagnosisKeysFromServerFetch() = + dateMapperForFetchTime(lastTimeDiagnosisKeysFetchedFlowPref.value) + + fun lastTimeDiagnosisKeysFromServerFetch(value: Date?) = + lastTimeDiagnosisKeysFetchedFlowPref.update { value?.time ?: 0L } + /** * Gets the last time of successful risk level calculation as long * from the EncryptedSharedPrefs diff --git a/Corona-Warn-App/src/main/res/values-bg/strings.xml b/Corona-Warn-App/src/main/res/values-bg/strings.xml index 7190043852699ba78b8454cb60ccc1dadfe9f525..b12239756cda878ecf465ec29494361cd620ad17 100644 --- a/Corona-Warn-App/src/main/res/values-bg/strings.xml +++ b/Corona-Warn-App/src/main/res/values-bg/strings.xml @@ -20,8 +20,6 @@ <!-- NOTR --> <string name="preference_tracing"><xliff:g id="preference">"preference_tracing"</xliff:g></string> <!-- NOTR --> - <string name="preference_timestamp_diagnosis_keys_fetch"><xliff:g id="preference">"preference_timestamp_diagnosis_keys_fetch"</xliff:g></string> - <!-- NOTR --> <string name="preference_timestamp_manual_diagnosis_keys_retrieval"><xliff:g id="preference">"preference_timestamp_manual_diagnosis_keys_retrieval"</xliff:g></string> <!-- NOTR --> <string name="preference_string_google_api_token"><xliff:g id="preference">"preference_m_string_google_api_token"</xliff:g></string> diff --git a/Corona-Warn-App/src/main/res/values-de/strings.xml b/Corona-Warn-App/src/main/res/values-de/strings.xml index 8b872f6fd19fe7d4fb76aef2958e10144b089fc6..b00715903fcf8a1c2b114a2b9124188a2087fb67 100644 --- a/Corona-Warn-App/src/main/res/values-de/strings.xml +++ b/Corona-Warn-App/src/main/res/values-de/strings.xml @@ -21,8 +21,6 @@ <!-- NOTR --> <string name="preference_tracing"><xliff:g id="preference">"preference_tracing"</xliff:g></string> <!-- NOTR --> - <string name="preference_timestamp_diagnosis_keys_fetch"><xliff:g id="preference">"preference_timestamp_diagnosis_keys_fetch"</xliff:g></string> - <!-- NOTR --> <string name="preference_timestamp_manual_diagnosis_keys_retrieval"><xliff:g id="preference">"preference_timestamp_manual_diagnosis_keys_retrieval"</xliff:g></string> <!-- NOTR --> <string name="preference_string_google_api_token"><xliff:g id="preference">"preference_m_string_google_api_token"</xliff:g></string> diff --git a/Corona-Warn-App/src/main/res/values-en/strings.xml b/Corona-Warn-App/src/main/res/values-en/strings.xml index 9d8ce585c349ee851eb51c61acf866140fad5166..91c76999935c86873bccde7f657d70954c32abd8 100644 --- a/Corona-Warn-App/src/main/res/values-en/strings.xml +++ b/Corona-Warn-App/src/main/res/values-en/strings.xml @@ -20,8 +20,6 @@ <!-- NOTR --> <string name="preference_tracing"><xliff:g id="preference">"preference_tracing"</xliff:g></string> <!-- NOTR --> - <string name="preference_timestamp_diagnosis_keys_fetch"><xliff:g id="preference">"preference_timestamp_diagnosis_keys_fetch"</xliff:g></string> - <!-- NOTR --> <string name="preference_timestamp_manual_diagnosis_keys_retrieval"><xliff:g id="preference">"preference_timestamp_manual_diagnosis_keys_retrieval"</xliff:g></string> <!-- NOTR --> <string name="preference_string_google_api_token"><xliff:g id="preference">"preference_m_string_google_api_token"</xliff:g></string> diff --git a/Corona-Warn-App/src/main/res/values-pl/strings.xml b/Corona-Warn-App/src/main/res/values-pl/strings.xml index 7a02cc77e432e7b759abccf6b70709355bc9e5bb..ca91dc58b0906d568ce8935e4f0145479ade1e08 100644 --- a/Corona-Warn-App/src/main/res/values-pl/strings.xml +++ b/Corona-Warn-App/src/main/res/values-pl/strings.xml @@ -20,8 +20,6 @@ <!-- NOTR --> <string name="preference_tracing"><xliff:g id="preference">"preference_tracing"</xliff:g></string> <!-- NOTR --> - <string name="preference_timestamp_diagnosis_keys_fetch"><xliff:g id="preference">"preference_timestamp_diagnosis_keys_fetch"</xliff:g></string> - <!-- NOTR --> <string name="preference_timestamp_manual_diagnosis_keys_retrieval"><xliff:g id="preference">"preference_timestamp_manual_diagnosis_keys_retrieval"</xliff:g></string> <!-- NOTR --> <string name="preference_string_google_api_token"><xliff:g id="preference">"preference_m_string_google_api_token"</xliff:g></string> diff --git a/Corona-Warn-App/src/main/res/values-ro/strings.xml b/Corona-Warn-App/src/main/res/values-ro/strings.xml index 450e1d43d8ed8d36d654740c95fa828f1fa4ce01..e4113c7775d3d935cbe42ad3d799909bd5c557f0 100644 --- a/Corona-Warn-App/src/main/res/values-ro/strings.xml +++ b/Corona-Warn-App/src/main/res/values-ro/strings.xml @@ -20,8 +20,6 @@ <!-- NOTR --> <string name="preference_tracing"><xliff:g id="preference">"preference_tracing"</xliff:g></string> <!-- NOTR --> - <string name="preference_timestamp_diagnosis_keys_fetch"><xliff:g id="preference">"preference_timestamp_diagnosis_keys_fetch"</xliff:g></string> - <!-- NOTR --> <string name="preference_timestamp_manual_diagnosis_keys_retrieval"><xliff:g id="preference">"preference_timestamp_manual_diagnosis_keys_retrieval"</xliff:g></string> <!-- NOTR --> <string name="preference_string_google_api_token"><xliff:g id="preference">"preference_m_string_google_api_token"</xliff:g></string> diff --git a/Corona-Warn-App/src/main/res/values-tr/strings.xml b/Corona-Warn-App/src/main/res/values-tr/strings.xml index 6cfc04d3387a2264a34c84c8fcfa388f74338253..bc2369beb756168e1a0131c6b5ad03a0ce89180d 100644 --- a/Corona-Warn-App/src/main/res/values-tr/strings.xml +++ b/Corona-Warn-App/src/main/res/values-tr/strings.xml @@ -20,8 +20,6 @@ <!-- NOTR --> <string name="preference_tracing"><xliff:g id="preference">"preference_tracing"</xliff:g></string> <!-- NOTR --> - <string name="preference_timestamp_diagnosis_keys_fetch"><xliff:g id="preference">"preference_timestamp_diagnosis_keys_fetch"</xliff:g></string> - <!-- NOTR --> <string name="preference_timestamp_manual_diagnosis_keys_retrieval"><xliff:g id="preference">"preference_timestamp_manual_diagnosis_keys_retrieval"</xliff:g></string> <!-- NOTR --> <string name="preference_string_google_api_token"><xliff:g id="preference">"preference_m_string_google_api_token"</xliff:g></string> diff --git a/Corona-Warn-App/src/main/res/values/strings.xml b/Corona-Warn-App/src/main/res/values/strings.xml index 35bfadc55443338cd197aaef22edde94a91473bf..8299780eedc50fac4e1e5fcb2eee5f30783d6dcb 100644 --- a/Corona-Warn-App/src/main/res/values/strings.xml +++ b/Corona-Warn-App/src/main/res/values/strings.xml @@ -21,8 +21,6 @@ <!-- NOTR --> <string name="preference_tracing"><xliff:g id="preference">"preference_tracing"</xliff:g></string> <!-- NOTR --> - <string name="preference_timestamp_diagnosis_keys_fetch"><xliff:g id="preference">"preference_timestamp_diagnosis_keys_fetch"</xliff:g></string> - <!-- NOTR --> <string name="preference_timestamp_manual_diagnosis_keys_retrieval"><xliff:g id="preference">"preference_timestamp_manual_diagnosis_keys_retrieval"</xliff:g></string> <!-- NOTR --> <string name="preference_string_google_api_token"><xliff:g id="preference">"preference_m_string_google_api_token"</xliff:g></string>