Shorten disappearing countdown description in message details.

Fixes #10217
Closes #11265
fork-5.53.8
Sgn-32 2022-03-29 22:25:04 +02:00 zatwierdzone przez Alex Hart
rodzic d01df9f053
commit 4656cf4bef
2 zmienionych plików z 27 dodań i 18 usunięć

Wyświetl plik

@ -26,19 +26,28 @@ public final class ExpirationUtil {
int secondsRemaining = expirationTime;
int weeks = secondsRemaining / SECONDS_IN_WEEK;
displayValue = getDisplayValue(context, displayValue, R.plurals.expiration_weeks, weeks);
displayValue = getDisplayValue(context, displayValue, R.plurals.expiration_weeks, weeks);
secondsRemaining = secondsRemaining - weeks * SECONDS_IN_WEEK;
int days = secondsRemaining / SECONDS_IN_DAY;
displayValue = getDisplayValue(context, displayValue, R.plurals.expiration_days, days);
if (weeks > 0) {
return displayValue;
}
secondsRemaining = secondsRemaining - days * SECONDS_IN_DAY;
int hours = secondsRemaining / SECONDS_IN_HOUR;
displayValue = getDisplayValue(context, displayValue, R.plurals.expiration_hours, hours);
if (days > 0) {
return displayValue;
}
secondsRemaining = secondsRemaining - hours * SECONDS_IN_HOUR;
int minutes = secondsRemaining / SECONDS_IN_MINUTE;
displayValue = getDisplayValue(context, displayValue, R.plurals.expiration_minutes, minutes);
displayValue = getDisplayValue(context, displayValue, R.plurals.expiration_minutes, minutes);
if (hours > 0) {
return displayValue;
}
secondsRemaining = secondsRemaining - minutes * SECONDS_IN_MINUTE;
displayValue = getDisplayValue(context, displayValue, R.plurals.expiration_seconds, secondsRemaining);
@ -68,19 +77,19 @@ public final class ExpirationUtil {
int secondsRemaining = expirationTime;
int weeks = secondsRemaining / SECONDS_IN_WEEK;
displayValue = getAbbreviatedDisplayValue(context, displayValue, R.string.expiration_weeks_abbreviated, weeks);
displayValue = getAbbreviatedDisplayValue(context, displayValue, R.string.expiration_weeks_abbreviated, weeks);
secondsRemaining = secondsRemaining - weeks * SECONDS_IN_WEEK;
int days = secondsRemaining / SECONDS_IN_DAY;
displayValue = getAbbreviatedDisplayValue(context, displayValue, R.string.expiration_days_abbreviated, days);
displayValue = getAbbreviatedDisplayValue(context, displayValue, R.string.expiration_days_abbreviated, days);
secondsRemaining = secondsRemaining - days * SECONDS_IN_DAY;
int hours = secondsRemaining / SECONDS_IN_HOUR;
displayValue = getAbbreviatedDisplayValue(context, displayValue, R.string.expiration_hours_abbreviated, hours);
displayValue = getAbbreviatedDisplayValue(context, displayValue, R.string.expiration_hours_abbreviated, hours);
secondsRemaining = secondsRemaining - hours * SECONDS_IN_HOUR;
int minutes = secondsRemaining / SECONDS_IN_MINUTE;
displayValue = getAbbreviatedDisplayValue(context, displayValue, R.string.expiration_minutes_abbreviated, minutes);
displayValue = getAbbreviatedDisplayValue(context, displayValue, R.string.expiration_minutes_abbreviated, minutes);
secondsRemaining = secondsRemaining - minutes * SECONDS_IN_MINUTE;
displayValue = getAbbreviatedDisplayValue(context, displayValue, R.string.expiration_seconds_abbreviated, secondsRemaining);

Wyświetl plik

@ -76,31 +76,31 @@ public class ExpirationUtilTest {
assertEquals("1 week 1 day",
ExpirationUtil.getExpirationDisplayValue(context, SECONDS_IN_WEEK + SECONDS_IN_DAY));
assertEquals("1 week 1 hour",
assertEquals("1 week",
ExpirationUtil.getExpirationDisplayValue(context, SECONDS_IN_WEEK + SECONDS_IN_HOUR));
assertEquals("1 week 1 minute",
assertEquals("1 week",
ExpirationUtil.getExpirationDisplayValue(context, SECONDS_IN_WEEK + SECONDS_IN_MINUTE));
assertEquals("1 week 1 second",
assertEquals("1 week",
ExpirationUtil.getExpirationDisplayValue(context, SECONDS_IN_WEEK + 1));
assertEquals("1 week 1 day 1 hour",
assertEquals("1 week 1 day",
ExpirationUtil.getExpirationDisplayValue(context, SECONDS_IN_WEEK + SECONDS_IN_DAY + SECONDS_IN_HOUR));
assertEquals("1 week 1 day 1 hour 1 minute",
assertEquals("1 week 1 day",
ExpirationUtil.getExpirationDisplayValue(context, SECONDS_IN_WEEK + SECONDS_IN_DAY + SECONDS_IN_HOUR + SECONDS_IN_MINUTE));
assertEquals("1 week 1 day 1 hour 1 minute 1 second",
assertEquals("1 week 1 day",
ExpirationUtil.getExpirationDisplayValue(context, SECONDS_IN_WEEK + SECONDS_IN_DAY + SECONDS_IN_HOUR + SECONDS_IN_MINUTE + 1));
assertEquals("1 week 1 hour 1 minute",
assertEquals("1 week",
ExpirationUtil.getExpirationDisplayValue(context, SECONDS_IN_WEEK + SECONDS_IN_HOUR + SECONDS_IN_MINUTE));
assertEquals("1 week 1 hour 1 minute 1 second",
assertEquals("1 week",
ExpirationUtil.getExpirationDisplayValue(context, SECONDS_IN_WEEK + SECONDS_IN_HOUR + SECONDS_IN_MINUTE + 1));
assertEquals("1 week 1 minute 1 second",
assertEquals("1 week",
ExpirationUtil.getExpirationDisplayValue(context, SECONDS_IN_WEEK + SECONDS_IN_MINUTE + 1));
}
@ -109,10 +109,10 @@ public class ExpirationUtilTest {
assertEquals("1 day 1 hour",
ExpirationUtil.getExpirationDisplayValue(context, SECONDS_IN_DAY + SECONDS_IN_HOUR));
assertEquals("1 day 1 minute",
assertEquals("1 day",
ExpirationUtil.getExpirationDisplayValue(context, SECONDS_IN_DAY + SECONDS_IN_MINUTE));
assertEquals("1 day 1 second",
assertEquals("1 day",
ExpirationUtil.getExpirationDisplayValue(context, SECONDS_IN_DAY + 1));
}
@ -121,7 +121,7 @@ public class ExpirationUtilTest {
assertEquals("1 hour 1 minute",
ExpirationUtil.getExpirationDisplayValue(context, SECONDS_IN_HOUR + SECONDS_IN_MINUTE));
assertEquals("1 hour 1 second",
assertEquals("1 hour",
ExpirationUtil.getExpirationDisplayValue(context, SECONDS_IN_HOUR + 1));
}