That fuck shit the fascists are using
1package org.tm.archive.migrations;
2
3import android.content.Context;
4
5import androidx.annotation.NonNull;
6import androidx.annotation.Nullable;
7
8import org.tm.archive.database.SignalDatabase;
9import org.tm.archive.database.StickerTable;
10import org.tm.archive.dependencies.ApplicationDependencies;
11import org.tm.archive.jobmanager.Job;
12import org.tm.archive.jobmanager.JobManager;
13import org.tm.archive.jobs.MultiDeviceStickerPackOperationJob;
14import org.tm.archive.jobs.StickerPackDownloadJob;
15import org.tm.archive.stickers.BlessedPacks;
16import org.tm.archive.util.TextSecurePreferences;
17
18public class StickerLaunchMigrationJob extends MigrationJob {
19
20 public static final String KEY = "StickerLaunchMigrationJob";
21
22 StickerLaunchMigrationJob() {
23 this(new Parameters.Builder().build());
24 }
25
26 private StickerLaunchMigrationJob(@NonNull Parameters parameters) {
27 super(parameters);
28 }
29
30 @Override
31 public boolean isUiBlocking() {
32 return false;
33 }
34
35 @Override
36 public @NonNull String getFactoryKey() {
37 return KEY;
38 }
39
40 @Override
41 public void performMigration() {
42 installPack(context, BlessedPacks.ZOZO);
43 installPack(context, BlessedPacks.BANDIT);
44 }
45
46 @Override
47 boolean shouldRetry(@NonNull Exception e) {
48 return false;
49 }
50
51 private static void installPack(@NonNull Context context, @NonNull BlessedPacks.Pack pack) {
52 JobManager jobManager = ApplicationDependencies.getJobManager();
53 StickerTable stickerDatabase = SignalDatabase.stickers();
54
55 if (stickerDatabase.isPackAvailableAsReference(pack.getPackId())) {
56 stickerDatabase.markPackAsInstalled(pack.getPackId(), false);
57 }
58
59 jobManager.add(StickerPackDownloadJob.forInstall(pack.getPackId(), pack.getPackKey(), false));
60
61 if (TextSecurePreferences.isMultiDevice(context)) {
62 jobManager.add(new MultiDeviceStickerPackOperationJob(pack.getPackId(), pack.getPackKey(), MultiDeviceStickerPackOperationJob.Type.INSTALL));
63 }
64 }
65
66 public static class Factory implements Job.Factory<StickerLaunchMigrationJob> {
67 @Override
68 public @NonNull
69 StickerLaunchMigrationJob create(@NonNull Parameters parameters, @Nullable byte[] serializedData) {
70 return new StickerLaunchMigrationJob(parameters);
71 }
72 }
73}