From 8d3775cf1f4ca9dd1be6f8504a1bca2f0601c0a3 Mon Sep 17 00:00:00 2001 From: Anael MOBILIA Date: Tue, 28 Nov 2023 01:38:59 +0100 Subject: [PATCH] Factorisation code formatage date --- .../com/pcinpact/CommentairesActivity.java | 6 ++--- .../com/pcinpact/ListeArticlesActivity.java | 5 ++-- .../java/com/pcinpact/items/ArticleItem.java | 22 ++++------------- .../java/com/pcinpact/utils/MyDateUtils.java | 24 +++++++++++++++---- 4 files changed, 28 insertions(+), 29 deletions(-) diff --git a/app/src/main/java/com/pcinpact/CommentairesActivity.java b/app/src/main/java/com/pcinpact/CommentairesActivity.java index c5059caa..dfebed58 100644 --- a/app/src/main/java/com/pcinpact/CommentairesActivity.java +++ b/app/src/main/java/com/pcinpact/CommentairesActivity.java @@ -43,8 +43,8 @@ import com.pcinpact.network.AsyncHTMLDownloader; import com.pcinpact.network.RefreshDisplayInterface; import com.pcinpact.utils.Constantes; +import com.pcinpact.utils.MyDateUtils; -import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.concurrent.TimeUnit; @@ -469,13 +469,13 @@ public void downloadHTMLFini(String uneURL, ArrayList desItems) */ private void majDateRefresh() { // Date de dernier refresh - long dernierRefresh = TimeUnit.SECONDS.toMillis(monDAO.chargerDateRefresh(idArticle)); + long dernierRefresh = monDAO.chargerDateRefresh(idArticle); if (dernierRefresh == 0) { // Jamais synchro... headerTextView.setText(getString(R.string.lastUpdateNever)); } else { - String monTexte = getString(R.string.lastUpdate) + new SimpleDateFormat(Constantes.FORMAT_DATE_DERNIER_REFRESH, Constantes.LOCALE).format(dernierRefresh); + String monTexte = getString(R.string.lastUpdate) + MyDateUtils.formatDate(Constantes.FORMAT_DATE_DERNIER_REFRESH, dernierRefresh); // Une MàJ à déjà été faite headerTextView.setText(monTexte); } diff --git a/app/src/main/java/com/pcinpact/ListeArticlesActivity.java b/app/src/main/java/com/pcinpact/ListeArticlesActivity.java index 70c93f9f..10812cae 100644 --- a/app/src/main/java/com/pcinpact/ListeArticlesActivity.java +++ b/app/src/main/java/com/pcinpact/ListeArticlesActivity.java @@ -56,7 +56,6 @@ import com.pcinpact.utils.Constantes; import com.pcinpact.utils.MyDateUtils; -import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Arrays; import java.util.concurrent.TimeUnit; @@ -606,13 +605,13 @@ private ArrayList prepareAffichage() { } // MàJ de la date de dernier refresh - long dernierRefresh = TimeUnit.SECONDS.toMillis(monDAO.chargerDateRefresh(Constantes.DB_REFRESH_ID_LISTE_ARTICLES)); + long dernierRefresh = monDAO.chargerDateRefresh(Constantes.DB_REFRESH_ID_LISTE_ARTICLES); if (dernierRefresh == 0) { // Jamais synchro... headerTextView.setText(getString(R.string.lastUpdateNever)); } else { - String monTexte = getString(R.string.lastUpdate) + new SimpleDateFormat(Constantes.FORMAT_DATE_DERNIER_REFRESH, Constantes.LOCALE).format(dernierRefresh); + String monTexte = getString(R.string.lastUpdate) + MyDateUtils.formatDate(Constantes.FORMAT_DATE_DERNIER_REFRESH, dernierRefresh); // Une MàJ à déjà été faite headerTextView.setText(monTexte); } diff --git a/app/src/main/java/com/pcinpact/items/ArticleItem.java b/app/src/main/java/com/pcinpact/items/ArticleItem.java index 3217a6c4..8674cd05 100644 --- a/app/src/main/java/com/pcinpact/items/ArticleItem.java +++ b/app/src/main/java/com/pcinpact/items/ArticleItem.java @@ -19,11 +19,7 @@ package com.pcinpact.items; import com.pcinpact.utils.Constantes; - -import java.text.DateFormat; -import java.text.SimpleDateFormat; -import java.util.Date; -import java.util.concurrent.TimeUnit; +import com.pcinpact.utils.MyDateUtils; /** * Objet Article. @@ -95,11 +91,7 @@ public int getType() { * @return Heure & minute de la publication */ public String getHeureMinutePublication() { - Date maDate = new Date(TimeUnit.SECONDS.toMillis(this.getTimeStampPublication())); - // Format souhaité - DateFormat dfm = new SimpleDateFormat(Constantes.FORMAT_AFFICHAGE_ARTICLE_HEURE, Constantes.LOCALE); - - return dfm.format(maDate); + return MyDateUtils.formatDate(Constantes.FORMAT_AFFICHAGE_ARTICLE_HEURE, this.getTimeStampPublication()); } /** @@ -108,15 +100,9 @@ public String getHeureMinutePublication() { * @return Date de la publication */ public String getDatePublication() { - Date maDate = new Date(TimeUnit.SECONDS.toMillis(this.getTimeStampPublication())); - // Format souhaité - DateFormat dfm = new SimpleDateFormat(Constantes.FORMAT_AFFICHAGE_SECTION_DATE, Constantes.LOCALE); - String laDate = dfm.format(maDate); - + String laDate = MyDateUtils.formatDate(Constantes.FORMAT_AFFICHAGE_SECTION_DATE, this.getTimeStampPublication()); // Première lettre en majuscule - laDate = String.valueOf(laDate.charAt(0)).toUpperCase(Constantes.LOCALE) + laDate.substring(1); - - return laDate; + return String.valueOf(laDate.charAt(0)).toUpperCase(Constantes.LOCALE) + laDate.substring(1); } /** diff --git a/app/src/main/java/com/pcinpact/utils/MyDateUtils.java b/app/src/main/java/com/pcinpact/utils/MyDateUtils.java index 35abed3e..1bd4d605 100644 --- a/app/src/main/java/com/pcinpact/utils/MyDateUtils.java +++ b/app/src/main/java/com/pcinpact/utils/MyDateUtils.java @@ -24,6 +24,7 @@ import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; +import java.util.Date; import java.util.TimeZone; import java.util.concurrent.TimeUnit; @@ -64,15 +65,28 @@ public static long convertToTimestamp(String uneDate) { } /** - * Convertit un timestamp en date ISO8601 + * Convertir un timestamp en date ISO8601 * * @param unTimestamp timestamp * @return String */ - public static String convertToDateISO8601(long unTimestamp) { - DateFormat dfm = new SimpleDateFormat(Constantes.FORMAT_DATE, Constantes.LOCALE); + public static String convertToDateISO8601(final long unTimestamp) { + return formatDate(Constantes.FORMAT_DATE, unTimestamp); + } + + /** + * Formatter une date + * + * @param format format souhaité (SimpleDateFormat) + * @param unTimestamp un timestamp + * @return String + */ + public static String formatDate(final String format, final long unTimestamp) { + Date maDate = new Date(TimeUnit.SECONDS.toMillis(unTimestamp)); + // Format souhaité + DateFormat dfm = new SimpleDateFormat(format, Constantes.LOCALE); dfm.setTimeZone(TimeZone.getTimeZone("Europe/Paris")); - return dfm.format(unTimestamp * 1000L); + return dfm.format(maDate); } /** @@ -81,7 +95,7 @@ public static String convertToDateISO8601(long unTimestamp) { * @param nbJours nombre de jours à enlever * @return timestamp */ - public static long timeStampDateActuelleMinus(int nbJours) { + public static long timeStampDateActuelleMinus(final int nbJours) { long monRetour; // Date du jour