From 5d7c701da8f1e4110f68cddd050d03111f5f57df Mon Sep 17 00:00:00 2001 From: "B. Petersen" Date: Fri, 22 Aug 2025 15:43:22 +0200 Subject: [PATCH 1/3] drop disappearing messages options 1 and 30 minutes - with the recent change to start the timer when the chat is opened, one minute is too easy too short to miss important information - "30 minutes" does not really fit into the distribution; all other option have at least the factor 5 to the previous one, from "30 minutes" to "60 minutes", the time is doubled only. removing the overall number of options and dropping the ones without larger usecases, does not only simplifies UI; having less tiny details also reduces noise in groups where ppl people changing it very often for various weird reasons (found the latter point somewhere in the Signal forum, btw) --- .../securesms/EphemeralMessagesDialog.java | 14 ++++++-------- src/main/res/values/arrays.xml | 14 ++++++-------- 2 files changed, 12 insertions(+), 16 deletions(-) diff --git a/src/main/java/org/thoughtcrime/securesms/EphemeralMessagesDialog.java b/src/main/java/org/thoughtcrime/securesms/EphemeralMessagesDialog.java index ecc0881cf..cad06974b 100644 --- a/src/main/java/org/thoughtcrime/securesms/EphemeralMessagesDialog.java +++ b/src/main/java/org/thoughtcrime/securesms/EphemeralMessagesDialog.java @@ -60,14 +60,12 @@ public class EphemeralMessagesDialog { .setPositiveButton(R.string.ok, (dialog, which) -> { final long burnAfter; switch (selectedChoice[0]) { - case 1: burnAfter = TimeUnit.MINUTES.toSeconds(1); break; - case 2: burnAfter = TimeUnit.MINUTES.toSeconds(5); break; - case 3: burnAfter = TimeUnit.MINUTES.toSeconds(30); break; - case 4: burnAfter = TimeUnit.HOURS.toSeconds(1); break; - case 5: burnAfter = TimeUnit.DAYS.toSeconds(1); break; - case 6: burnAfter = TimeUnit.DAYS.toSeconds(7); break; - case 7: burnAfter = TimeUnit.DAYS.toSeconds(35); break; - case 8: burnAfter = TimeUnit.DAYS.toSeconds(365); break; + case 1: burnAfter = TimeUnit.MINUTES.toSeconds(5); break; + case 2: burnAfter = TimeUnit.HOURS.toSeconds(1); break; + case 3: burnAfter = TimeUnit.DAYS.toSeconds(1); break; + case 4: burnAfter = TimeUnit.DAYS.toSeconds(7); break; + case 5: burnAfter = TimeUnit.DAYS.toSeconds(35); break; + case 6: burnAfter = TimeUnit.DAYS.toSeconds(365); break; default: burnAfter = 0; break; } listener.onTimeSelected(burnAfter); diff --git a/src/main/res/values/arrays.xml b/src/main/res/values/arrays.xml index c48e1bf4f..1d7556af4 100644 --- a/src/main/res/values/arrays.xml +++ b/src/main/res/values/arrays.xml @@ -49,14 +49,12 @@ @string/off - @string/after_1_minute - @string/after_5_minutes - @string/after_30_minutes - @string/autodel_after_1_hour - @string/autodel_after_1_day - @string/autodel_after_1_week - @string/after_5_weeks - @string/autodel_after_1_year + @string/after_5_minutes + @string/autodel_after_1_hour + @string/autodel_after_1_day + @string/autodel_after_1_week + @string/after_5_weeks + @string/autodel_after_1_year From 06130c7cd8442d4fdbb57a0af208c4c1071c6e55 Mon Sep 17 00:00:00 2001 From: "B. Petersen" Date: Fri, 22 Aug 2025 16:07:02 +0200 Subject: [PATCH 2/3] fix initial selection --- .../securesms/EphemeralMessagesDialog.java | 19 ++++++------------- 1 file changed, 6 insertions(+), 13 deletions(-) diff --git a/src/main/java/org/thoughtcrime/securesms/EphemeralMessagesDialog.java b/src/main/java/org/thoughtcrime/securesms/EphemeralMessagesDialog.java index cad06974b..338660eef 100644 --- a/src/main/java/org/thoughtcrime/securesms/EphemeralMessagesDialog.java +++ b/src/main/java/org/thoughtcrime/securesms/EphemeralMessagesDialog.java @@ -82,30 +82,23 @@ public class EphemeralMessagesDialog { if (timespan == 0) { return 0; // off } - // Choose timespan close to the current one out of available options. - if (timespan < TimeUnit.MINUTES.toSeconds(5)) { - return 1; // 1 minute - } - if (timespan < TimeUnit.MINUTES.toSeconds(30)) { - return 2; // 5 minutes - } if (timespan < TimeUnit.HOURS.toSeconds(1)) { - return 3; // 30 minutes + return 1; // 5 minutes } if (timespan < TimeUnit.DAYS.toSeconds(1)) { - return 4; // 1 hour + return 2; // 1 hour } if (timespan < TimeUnit.DAYS.toSeconds(7)) { - return 5; // 1 day + return 3; // 1 day } if (timespan < TimeUnit.DAYS.toSeconds(35)) { - return 6; // 1 week + return 4; // 1 week } if (timespan < TimeUnit.DAYS.toSeconds(365)) { - return 7; // 5 weeks + return 5; // 5 weeks } - return 8; // 1 year + return 6; // 1 year } } From 05dde13e68c59cc940aab8e29b743226f9f149ef Mon Sep 17 00:00:00 2001 From: "B. Petersen" Date: Fri, 22 Aug 2025 16:07:47 +0200 Subject: [PATCH 3/3] update CHANGELOG --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index e233f6d7e..2dcf239f5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,7 @@ * target Android 15 * improve readability of info messages in dark mode +* drop too short disappearing messages options * fix Direct Share shortcuts * fix: don't show error message when cancelling profile creation