Skip to content

Commit

Permalink
BAHNHOFLIVE-2485 Select legal notice based on current date
Browse files Browse the repository at this point in the history
  • Loading branch information
mrcodeelements committed Dec 19, 2023
1 parent aa380f1 commit b89038e
Show file tree
Hide file tree
Showing 3 changed files with 20 additions and 10 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,8 @@ class AssetDocumentBroker(
) {

companion object {
const val FILE_NAME_LEGAL_NOTICE = "impressum.html"
const val FILE_NAME_LEGAL_NOTICE_EXPIRING = "impressum.html"
const val FILE_NAME_LEGAL_NOTICE_2024_01_01 = "impressum_2024-01-01.html"
const val FILE_NAME_PRIVACY_POLICY_2023_08_15 = "datenschutz_2023-08-15.html"
const val FILE_NAME_PRIVACY_POLICY_2024_01_01 = "datenschutz_2024-01-01.html"
}
Expand All @@ -27,7 +28,7 @@ class AssetDocumentBroker(

private fun hasFile(fileName: String) = assets.list("")?.contains(fileName) == true

val hasLegalNotice get() = hasFile(FILE_NAME_LEGAL_NOTICE)
val hasLegalNotice get() = hasFile(getCurrentLegalNotice().assetFileName)

val hasPrivacyPolicy get() = hasFile(getCurrentPrivacyPolicy().assetFileName)

Expand All @@ -36,8 +37,11 @@ class AssetDocumentBroker(
val trackingTag: String,
val title: String
) {
LEGAL_NOTICE(
FILE_NAME_LEGAL_NOTICE, TrackingManager.Entity.IMPRESSUM, "Impressum"
LEGAL_NOTICE_EXPRIRING(
FILE_NAME_LEGAL_NOTICE_EXPIRING, TrackingManager.Entity.IMPRESSUM, "Impressum"
),
LEGAL_NOTICE_UPCOMING(
FILE_NAME_LEGAL_NOTICE_2024_01_01, TrackingManager.Entity.IMPRESSUM, "Impressum"
),
PRIVACY_POLICY_EXPIRING(
FILE_NAME_PRIVACY_POLICY_2023_08_15, TrackingManager.Entity.DATENSCHUTZ, "Datenschutz"
Expand All @@ -63,4 +67,9 @@ class AssetDocumentBroker(
if (currentYear < 2024) Document.PRIVACY_POLICY_EXPIRING else Document.PRIVACY_POLICY_UPCOMING
}

fun getCurrentLegalNotice() =
Calendar.getInstance(Locale.GERMANY).get(Calendar.YEAR).let { currentYear ->
if (currentYear < 2024) Document.LEGAL_NOTICE_EXPRIRING else Document.LEGAL_NOTICE_UPCOMING
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -21,13 +21,14 @@ class ConsentFragment : DialogFragment() {
container: ViewGroup?,
savedInstanceState: Bundle?
) = FragmentConsentBinding.inflate(inflater, container, false).apply {
val currentPrivacyPolicy = AssetDocumentBroker(requireContext()).getCurrentPrivacyPolicy()

val assetDocumentBroker = AssetDocumentBroker(requireContext())

val onClickListener: (v: View) -> Unit = {
startActivity(
WebViewActivity.createIntent(
context,
currentPrivacyPolicy.assetFileName,
assetDocumentBroker.getCurrentPrivacyPolicy().assetFileName,
"Datenschutz"
)
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -126,14 +126,14 @@ class HubFragment : androidx.fragment.app.Fragment() {
with(AssetDocumentBroker(requireContext(), trackingManager)) {
legalNotice.prepareLegalButton(
hasLegalNotice,
AssetDocumentBroker.Document.LEGAL_NOTICE,
::getCurrentLegalNotice,
this
)


privacyPolicy.prepareLegalButton(
hasPrivacyPolicy,
getCurrentPrivacyPolicy(),
::getCurrentPrivacyPolicy,
this
)
}
Expand Down Expand Up @@ -169,12 +169,12 @@ class HubFragment : androidx.fragment.app.Fragment() {

private fun TextView.prepareLegalButton(
available: Boolean,
document: AssetDocumentBroker.Document,
documentProvider: () -> AssetDocumentBroker.Document,
assetDocumentBroker: AssetDocumentBroker
) {
if (available) {
setOnClickListener {
assetDocumentBroker.showDocument(document)
assetDocumentBroker.showDocument(documentProvider())
}
} else {
visibility = View.GONE
Expand Down

0 comments on commit b89038e

Please sign in to comment.