diff --git a/app/src/main/java/org/thoughtcrime/securesms/jobs/JobManagerFactories.java b/app/src/main/java/org/thoughtcrime/securesms/jobs/JobManagerFactories.java index 786136d80a..785030c09d 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/jobs/JobManagerFactories.java +++ b/app/src/main/java/org/thoughtcrime/securesms/jobs/JobManagerFactories.java @@ -96,6 +96,7 @@ import org.thoughtcrime.securesms.migrations.ResetArchiveTierMigrationJob; import org.thoughtcrime.securesms.migrations.SelfRegisteredStateMigrationJob; import org.thoughtcrime.securesms.migrations.StickerAdditionMigrationJob; import org.thoughtcrime.securesms.migrations.StickerDayByDayMigrationJob; +import org.thoughtcrime.securesms.migrations.StickerPackAddition2MigrationJob; import org.thoughtcrime.securesms.migrations.StickerLaunchMigrationJob; import org.thoughtcrime.securesms.migrations.StickerMyDailyLifeMigrationJob; import org.thoughtcrime.securesms.migrations.StorageCapabilityMigrationJob; @@ -348,6 +349,7 @@ public final class JobManagerFactories { put(StickerAdditionMigrationJob.KEY, new StickerAdditionMigrationJob.Factory()); put(StickerDayByDayMigrationJob.KEY, new StickerDayByDayMigrationJob.Factory()); put(StickerMyDailyLifeMigrationJob.KEY, new StickerMyDailyLifeMigrationJob.Factory()); + put(StickerPackAddition2MigrationJob.KEY, new StickerPackAddition2MigrationJob.Factory()); put(StorageCapabilityMigrationJob.KEY, new StorageCapabilityMigrationJob.Factory()); put(StorageFixLocalUnknownMigrationJob.KEY, new StorageFixLocalUnknownMigrationJob.Factory()); put(StorageServiceMigrationJob.KEY, new StorageServiceMigrationJob.Factory()); diff --git a/app/src/main/java/org/thoughtcrime/securesms/migrations/ApplicationMigrations.java b/app/src/main/java/org/thoughtcrime/securesms/migrations/ApplicationMigrations.java index bfb54679c9..ff7b208c7d 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/migrations/ApplicationMigrations.java +++ b/app/src/main/java/org/thoughtcrime/securesms/migrations/ApplicationMigrations.java @@ -192,9 +192,10 @@ public class ApplicationMigrations { static final int AEP_ROTATE_FIX = 148; static final int ATTACHMENT_HASH_BACKFILL_2 = 149; static final int SVR2_ENCLAVE_UPDATE_5 = 150; + static final int STICKER_PACK_ADDITION_2 = 151; } - public static final int CURRENT_VERSION = 150; + public static final int CURRENT_VERSION = 151; /** * This *must* be called after the {@link JobManager} has been instantiated, but *before* the call @@ -889,6 +890,10 @@ public class ApplicationMigrations { jobs.put(Version.SVR2_ENCLAVE_UPDATE_5, new Svr2MirrorMigrationJob()); } + if (lastSeenVersion < Version.STICKER_PACK_ADDITION_2) { + jobs.put(Version.STICKER_PACK_ADDITION_2, new StickerPackAddition2MigrationJob()); + } + return jobs; } diff --git a/app/src/main/java/org/thoughtcrime/securesms/migrations/StickerPackAddition2MigrationJob.kt b/app/src/main/java/org/thoughtcrime/securesms/migrations/StickerPackAddition2MigrationJob.kt new file mode 100644 index 0000000000..0605dcaff9 --- /dev/null +++ b/app/src/main/java/org/thoughtcrime/securesms/migrations/StickerPackAddition2MigrationJob.kt @@ -0,0 +1,41 @@ +package org.thoughtcrime.securesms.migrations + +import org.thoughtcrime.securesms.dependencies.AppDependencies +import org.thoughtcrime.securesms.jobmanager.Job +import org.thoughtcrime.securesms.jobs.StickerPackDownloadJob +import org.thoughtcrime.securesms.stickers.BlessedPacks + +/** + * Installs the second wave of blessed sticker packs. Some are installed by default, others as references. + */ +internal class StickerPackAddition2MigrationJob private constructor(parameters: Parameters) : MigrationJob(parameters) { + + companion object { + const val KEY = "StickerPackAddition2MigrationJob" + } + + internal constructor() : this(Parameters.Builder().build()) + + override fun isUiBlocking(): Boolean = false + + override fun getFactoryKey(): String = KEY + + override fun performMigration() { + val jobManager = AppDependencies.jobManager + + jobManager.add(StickerPackDownloadJob.forInstall(BlessedPacks.ROCKY_TALK.packId, BlessedPacks.ROCKY_TALK.packKey, false)) + jobManager.add(StickerPackDownloadJob.forInstall(BlessedPacks.CROCOS_FEELINGS.packId, BlessedPacks.CROCOS_FEELINGS.packKey, false)) + + jobManager.add(StickerPackDownloadJob.forReference(BlessedPacks.MY_DAILY_LIFE_2.packId, BlessedPacks.MY_DAILY_LIFE_2.packKey)) + jobManager.add(StickerPackDownloadJob.forReference(BlessedPacks.COZY_SEASON.packId, BlessedPacks.COZY_SEASON.packKey)) + jobManager.add(StickerPackDownloadJob.forReference(BlessedPacks.CHUG_THE_MOUSE.packId, BlessedPacks.CHUG_THE_MOUSE.packKey)) + } + + override fun shouldRetry(e: Exception): Boolean = false + + class Factory : Job.Factory { + override fun create(parameters: Parameters, serializedData: ByteArray?): StickerPackAddition2MigrationJob { + return StickerPackAddition2MigrationJob(parameters) + } + } +} diff --git a/app/src/main/java/org/thoughtcrime/securesms/stickers/BlessedPacks.kt b/app/src/main/java/org/thoughtcrime/securesms/stickers/BlessedPacks.kt index f24333e184..65bed70f57 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/stickers/BlessedPacks.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/stickers/BlessedPacks.kt @@ -28,21 +28,36 @@ object BlessedPacks { @JvmField val MY_DAILY_LIFE = Pack("ccc89a05dc077856b57351e90697976c", "45730e60f09d5566115223744537a6b7d9ea99ceeacb77a1fbd6801b9607fbcf") + @JvmField + val MY_DAILY_LIFE_2 = Pack("a2414255948558316f37c1d36c64cd28", "fda12937196d236f1ca9e1196a56542e1d1cef6ff84e2be03828717fa20ad366") + + @JvmField + val ROCKY_TALK = Pack("42fb75e1827c0c945cfb5ca0975db03c", "eee27e2b9f773e0a55ea24c340b7be858711a6e2bd9b6ee7044343e0e428be65") + + @JvmField + val COZY_SEASON = Pack("684d2b7bcfc2eec6f57f2e7be0078e0f", "866e0dcb4a1b25f2b04df270cd742723e4a6555c0a1abc3f3f30dcc5a2010c55") + + @JvmField + val CHUG_THE_MOUSE = Pack("f19548e5afa38d1ce4f5c3191eba5e30", "2cb3076740f669aa44c6c063290b249a7d00a4b02ed8f9e9a5b902a37f1bbc41") + + @JvmField + val CROCOS_FEELINGS = Pack("3044281a51307306e5442f2e9070953a", "c4caaa84397e1a630a5960f54a0b82753c88a5e52e0defe615ba4dd80f130cbf") + private val packs = listOf( + BlessedPackInfo( + pack = ROCKY_TALK, + installMode = BlessedPackInfo.InstallMode.InstallByDefault + ), + BlessedPackInfo( + pack = MY_DAILY_LIFE, + installMode = BlessedPackInfo.InstallMode.InstallByDefault + ), BlessedPackInfo( pack = ZOZO, installMode = BlessedPackInfo.InstallMode.InstallByDefault ), BlessedPackInfo( - pack = BANDIT, - installMode = BlessedPackInfo.InstallMode.InstallByDefault - ), - BlessedPackInfo( - pack = DAY_BY_DAY, - installMode = BlessedPackInfo.InstallMode.InstallByDefault - ), - BlessedPackInfo( - pack = MY_DAILY_LIFE, + pack = CROCOS_FEELINGS, installMode = BlessedPackInfo.InstallMode.InstallByDefault ), BlessedPackInfo( @@ -52,6 +67,26 @@ object BlessedPacks { BlessedPackInfo( pack = SWOON_FACES, installMode = BlessedPackInfo.InstallMode.AvailableAsReference + ), + BlessedPackInfo( + pack = MY_DAILY_LIFE_2, + installMode = BlessedPackInfo.InstallMode.AvailableAsReference + ), + BlessedPackInfo( + pack = BANDIT, + installMode = BlessedPackInfo.InstallMode.AvailableAsReference + ), + BlessedPackInfo( + pack = DAY_BY_DAY, + installMode = BlessedPackInfo.InstallMode.AvailableAsReference + ), + BlessedPackInfo( + pack = COZY_SEASON, + installMode = BlessedPackInfo.InstallMode.AvailableAsReference + ), + BlessedPackInfo( + pack = CHUG_THE_MOUSE, + installMode = BlessedPackInfo.InstallMode.AvailableAsReference ) )