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