From 1872894698079873cf5c2f2c9f768a6fad0d0ca8 Mon Sep 17 00:00:00 2001 From: Greyson Parrelli Date: Tue, 8 Sep 2026 10:39:39 -0400 Subject: [PATCH] Start fullscreen local backup migration megaphone. --- .../org/thoughtcrime/securesms/MainActivity.kt | 4 ++++ .../settings/app/AppSettingsActivity.kt | 2 ++ .../securesms/megaphone/Megaphones.java | 17 ++++++----------- app/src/main/res/values/strings.xml | 9 --------- 4 files changed, 12 insertions(+), 20 deletions(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/MainActivity.kt b/app/src/main/java/org/thoughtcrime/securesms/MainActivity.kt index d0262d86b4..4711108c2f 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/MainActivity.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/MainActivity.kt @@ -791,6 +791,10 @@ class MainActivity : ) mainNavigationViewModel.onEvent(MainNavigationEvents.MegaphoneSnoozed(Megaphones.Event.VERIFY_BACKUP_KEY)) } + + if (requestCode == AppSettingsActivity.REQUEST_CODE_UPGRADE_LOCAL_BACKUPS) { + mainNavigationViewModel.onEvent(MainNavigationEvents.MegaphoneSnoozed(Megaphones.Event.USE_NEW_ON_DEVICE_BACKUPS)) + } } override fun onFirstRender() { diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/AppSettingsActivity.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/AppSettingsActivity.kt index 241242873b..34b284c370 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/AppSettingsActivity.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/AppSettingsActivity.kt @@ -165,6 +165,8 @@ class AppSettingsActivity : DSLSettingsActivity(), GooglePayComponent { companion object { const val ACTION_CHANGE_NUMBER_SUCCESS = "action_change_number_success" + const val REQUEST_CODE_UPGRADE_LOCAL_BACKUPS = 1205 + @JvmStatic @JvmOverloads fun home(context: Context, action: String? = null): Intent { diff --git a/app/src/main/java/org/thoughtcrime/securesms/megaphone/Megaphones.java b/app/src/main/java/org/thoughtcrime/securesms/megaphone/Megaphones.java index 19dce765cb..9396336ab8 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/megaphone/Megaphones.java +++ b/app/src/main/java/org/thoughtcrime/securesms/megaphone/Megaphones.java @@ -134,7 +134,7 @@ public final class Megaphones { put(Event.BACKUP_MESSAGE_COUNT_UPSELL, shouldShowBackupMessageCountUpsell(context) ? new BackupUpsellSchedule(records, TimeUnit.DAYS.toMillis(60)) : NEVER); put(Event.BACKUPS_GENERIC_UPSELL, shouldShowGenericBackupsMegaphone(context) ? new BackupUpsellSchedule(records, TimeUnit.DAYS.toMillis(60)) : NEVER); put(Event.VERIFY_BACKUP_KEY, new VerifyBackupKeyReminderSchedule()); - put(Event.USE_NEW_ON_DEVICE_BACKUPS, shouldShowUseNewOnDeviceBackupsMegaphone() ? RecurringSchedule.every(TimeUnit.DAYS.toMillis(14)) : NEVER); + put(Event.USE_NEW_ON_DEVICE_BACKUPS, shouldShowUseNewOnDeviceBackupsMegaphone() ? RecurringSchedule.every(TimeUnit.DAYS.toMillis(7)) : NEVER); // The Great Wall of PIN Reminder -- megaphones below this may not be seen by users who never do reminders put(Event.PIN_REMINDER, new SignalPinReminderSchedule()); @@ -515,18 +515,13 @@ public final class Megaphones { } public static @NonNull Megaphone buildUseNewOnDeviceBackupsMegaphone() { - return new Megaphone.Builder(Event.USE_NEW_ON_DEVICE_BACKUPS, Megaphone.Style.BASIC) - .setImage(R.drawable.backups_megaphone_image) - .setTitle(R.string.UseNewOnDeviceBackups__title) - .setBody(R.string.UseNewOnDeviceBackups__body) - .setActionButton(R.string.UseNewOnDeviceBackups__upgrade, (megaphone, controller) -> { + return new Megaphone.Builder(Event.USE_NEW_ON_DEVICE_BACKUPS, Megaphone.Style.FULLSCREEN) + .setOnVisibleListener((megaphone, controller) -> { + Log.i(TAG, "Prompting the user to upgrade their on-device backups."); + Intent intent = AppSettingsActivity.upgradeLocalBackups(controller.getMegaphoneActivity()); - controller.onMegaphoneNavigationRequested(intent); - controller.onMegaphoneSnooze(Event.USE_NEW_ON_DEVICE_BACKUPS); - }) - .setSecondaryButton(R.string.UseNewOnDeviceBackups__not_now, (megaphone, controller) -> { - controller.onMegaphoneSnooze(Event.USE_NEW_ON_DEVICE_BACKUPS); + controller.onMegaphoneNavigationRequested(intent, AppSettingsActivity.REQUEST_CODE_UPGRADE_LOCAL_BACKUPS); }) .build(); } diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index c13963df9b..2d4f215301 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -8210,15 +8210,6 @@ Back up now - - Use new on-device backups - - On-device backups now save faster and use less data. - - Upgrade - - Not now - Open Signal on your phone