diff --git a/app/src/main/assets/attestation.pdf b/app/src/main/assets/attestation.pdf index 7b13041..ef92461 100644 Binary files a/app/src/main/assets/attestation.pdf and b/app/src/main/assets/attestation.pdf differ diff --git a/app/src/main/java/fr/sanchezm/attestationsCovid19/data/db/entity/Attestation.kt b/app/src/main/java/fr/sanchezm/attestationsCovid19/data/db/entity/Attestation.kt index 3e11403..acdb3ca 100644 --- a/app/src/main/java/fr/sanchezm/attestationsCovid19/data/db/entity/Attestation.kt +++ b/app/src/main/java/fr/sanchezm/attestationsCovid19/data/db/entity/Attestation.kt @@ -37,13 +37,14 @@ data class Attestation( fun getMotifText(i: Int): String { return when (i) { 1 -> "travail" - 2 -> "sante" - 3 -> "famille" - 4 -> "handicap" - 5 -> "convocation" - 6 -> "missions" - 7 -> "transits" - 8 -> "animaux" + 2 -> "achats" + 3 -> "sante" + 4 -> "famille" + 5 -> "handicap" + 6 -> "sport_animaux" + 7 -> "convocation" + 8 -> "missions" + 9 -> "enfants" else -> "Error $i not found" } } diff --git a/app/src/main/java/fr/sanchezm/attestationsCovid19/ui/add/AddViewModel.kt b/app/src/main/java/fr/sanchezm/attestationsCovid19/ui/add/AddViewModel.kt index 0441e0e..53d91f7 100644 --- a/app/src/main/java/fr/sanchezm/attestationsCovid19/ui/add/AddViewModel.kt +++ b/app/src/main/java/fr/sanchezm/attestationsCovid19/ui/add/AddViewModel.kt @@ -56,6 +56,7 @@ class AddViewModel( val reason6 = MutableLiveData(false) val reason7 = MutableLiveData(false) val reason8 = MutableLiveData(false) + val reason9 = MutableLiveData(false) // endregion private val datePattern = "dd/MM/yyyy" @@ -139,6 +140,7 @@ class AddViewModel( if (reason6.value!!) reasons.add(6) if (reason7.value!!) reasons.add(7) if (reason8.value!!) reasons.add(8) + if (reason9.value!!) reasons.add(9) return reasons } @@ -164,6 +166,8 @@ class AddViewModel( || reason5.value!! || reason6.value!! || reason7.value!! + || reason8.value!! + || reason9.value!! } } \ No newline at end of file diff --git a/app/src/main/java/fr/sanchezm/attestationsCovid19/utilities/PdfUtils.kt b/app/src/main/java/fr/sanchezm/attestationsCovid19/utilities/PdfUtils.kt index 829af30..eef49fe 100644 --- a/app/src/main/java/fr/sanchezm/attestationsCovid19/utilities/PdfUtils.kt +++ b/app/src/main/java/fr/sanchezm/attestationsCovid19/utilities/PdfUtils.kt @@ -21,8 +21,8 @@ class PdfUtils private constructor( private val path: String ) { - private val checkboxListNames = ArrayList() - private val font = PDType1Font.HELVETICA + // private val checkboxListNames = ArrayList() + // private val font = PDType1Font.HELVETICA fun fillForm(attestation: Attestation, callback: (Boolean) -> Unit) { checkFolder() @@ -65,7 +65,7 @@ class PdfUtils private constructor( attestation, size / 3, page1.mediaBox.upperRightX - margin - size / 3 - 30, - 101f + 99f ) // Add QRCode on a new page @@ -102,20 +102,17 @@ class PdfUtils private constructor( val birthdayField = acroForm.getField("Date de naissance") as PDTextField val birthPlaceField = acroForm.getField("Lieu de naissance") as PDTextField val addressField = acroForm.getField("Adresse") as PDTextField - val postalAndCityField = acroForm.getField("Ville et code postal") as PDTextField val cityField = acroForm.getField("Ville") as PDTextField val dateField = acroForm.getField("Date") as PDTextField val exitField = acroForm.getField("Heure") as PDTextField -// val signatureField = acroForm.getField("Signature") as PDTextField namesField.value = "${profile.firstName} ${profile.lastName}" birthdayField.value = profile.birthday birthPlaceField.value = profile.birthPlace - addressField.value = profile.address - postalAndCityField.value = "${profile.postalCode} ${profile.city}" + addressField.value = "${profile.address}, ${profile.city} ${profile.postalCode}" cityField.value = profile.city dateField.value = attestation.exitDate - exitField.value = attestation.exitHour + exitField.value = attestation.exitHour.replace('h', ':') return true } catch (e: Exception) { Log.e(TAG, "${e.message}") @@ -147,20 +144,10 @@ class PdfUtils private constructor( fun getInstance() = instance fun getInstance(assetManager: AssetManager, path: String) = instance ?: synchronized(LOCK) { - instance ?: PdfUtils(assetManager, path).also { instance = it; it.initList() } + instance ?: PdfUtils(assetManager, path).also { instance = it } } fun getPath(path: String, createAt: Long): String = "$path/$folderPath/$createAt.pdf" } - - private fun initList() { - checkboxListNames.add("Déplacements entre domicile et travail") - checkboxListNames.add("Déplacements achats nécéssaires") - checkboxListNames.add("Consultations et soins") - checkboxListNames.add("Déplacements pour motif familial") - checkboxListNames.add("Déplacements brefs (activité physique et animaux)") - checkboxListNames.add("Convcation judiciaire ou administrative") - checkboxListNames.add("Mission d'intérêt général") - } } \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_add_attestation.xml b/app/src/main/res/layout/fragment_add_attestation.xml index 13a39d2..83f8314 100644 --- a/app/src/main/res/layout/fragment_add_attestation.xml +++ b/app/src/main/res/layout/fragment_add_attestation.xml @@ -258,6 +258,14 @@ android:checked="@={viewModel.reason8}" android:text="@string/reason_8" /> + + Votre date doit être au format 01/01/1970 - Erreur lors de la génération de l\'attestation, tout les champs ne sont pas compléter + Erreur lors de la génération de l\'attestation, tout les champs ne sont pas complétés Erreur lors de la génération de l\'attestion, veuillez vérifiez vos champs ou contacter le développeur. \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 629434a..3b9866b 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -24,14 +24,15 @@ Générer l\'attestation - Déplacements entre le domicile et le lieu d\'exercice de l\'activité professionnelle ou le lieu d\'enseignement et de formation. - Déplacements pour des consultations et soins ne pouvant être assurés à distance et ne pouvant être différés ou pour l\'achat de produits de santé. - Déplacements pour motif familial impérieux, pour l\'assistance aux personnes vulnérables ou précaires ou pour la garde d\'enfants. - Déplacements des personnes en situation de handicap et de leur accompagnant. - Déplacements pour répondre à une convocation judiciaire ou administrative. - Déplacements pour participer à des missions d\'intérêt général sur demande de l\'autorité administrative. - Déplacements liés à des transits pour des déplacements de longues distances. - Déplacements brefs, dans un rayon maximal d\'un kilomètre autour du domicile pour les besoins des animaux de compagnie. + Déplacements entre le domicile et le lieu d\'exercice de l\'activité professionnelle ou les déplacements professionnels ne pouvant être différés. + Déplacements pour effectuer des achats de fournitures nécessaires à l\'activité professionnelle, des achats de première nécessité dans des établissements dont les activités demeurent autorisées (liste sur gouvernement.fr) et les livraisons à domicile. + Consultations et soins ne pouvant être assurés à distance et ne pouvant être différés et l’achat de médicaments. + Déplacements pour motif familial impérieux, pour l\'assistance aux personnes vulnérables et précaires ou la garde d\'enfants. + Déplacements des personnes en situation de handicap et de leur accompagnant. + Déplacements brefs, dans la limite d\'une heure quotidienne et dans un rayon maximal d\'un kilomètre autour du domicile, liés soit à l\'activité physique individuelle des personnes, à l\'exclusion de toute pratique sportive collective et de toute proximité avec d\'autres personnes, soit à la promenade avec les seules personnes regroupées dans un même domicile, soit aux besoins des animaux de compagnie. + Convocation judiciaire ou administrative et rendez-vous dans un service public. + Participation à des missions d\'intérêt général sur demande de l\'autorité administrative. + Déplacement pour chercher les enfants à l’écoles et à l’occasion de leurs activités périscolaires. - Merci de n\'utiliser l\'application qu\'en cas de nécessité.