That fuck shit the fascists are using
1package org.tm.archive;
2
3import android.content.Context;
4
5import androidx.annotation.NonNull;
6
7import org.signal.core.util.logging.Log;
8import org.tm.archive.dependencies.ApplicationDependencies;
9import org.tm.archive.jobmanager.JobManager;
10import org.tm.archive.jobs.EmojiSearchIndexDownloadJob;
11import org.tm.archive.jobs.StickerPackDownloadJob;
12import org.tm.archive.keyvalue.SignalStore;
13import org.tm.archive.migrations.ApplicationMigrations;
14import org.tm.archive.stickers.BlessedPacks;
15import org.tm.archive.util.TextSecurePreferences;
16import org.tm.archive.util.Util;
17
18/**
19 * Rule of thumb: if there's something you want to do on the first app launch that involves
20 * persisting state to the database, you'll almost certainly *also* want to do it post backup
21 * restore, since a backup restore will wipe the current state of the database.
22 */
23public final class AppInitialization {
24
25 private static final String TAG = Log.tag(AppInitialization.class);
26
27 private AppInitialization() {}
28
29 public static void onFirstEverAppLaunch(@NonNull Context context) {
30 Log.i(TAG, "onFirstEverAppLaunch()");
31
32 TextSecurePreferences.setAppMigrationVersion(context, ApplicationMigrations.CURRENT_VERSION);
33 TextSecurePreferences.setJobManagerVersion(context, JobManager.CURRENT_VERSION);
34 TextSecurePreferences.setLastVersionCode(context, Util.getCanonicalVersionCode());
35 TextSecurePreferences.setHasSeenStickerIntroTooltip(context, true);
36 TextSecurePreferences.setPasswordDisabled(context, true);
37 TextSecurePreferences.setReadReceiptsEnabled(context, true);
38 TextSecurePreferences.setTypingIndicatorsEnabled(context, true);
39 TextSecurePreferences.setHasSeenWelcomeScreen(context, false);
40 ApplicationDependencies.getMegaphoneRepository().onFirstEverAppLaunch();
41 SignalStore.onFirstEverAppLaunch();
42 ApplicationDependencies.getJobManager().add(StickerPackDownloadJob.forInstall(BlessedPacks.ZOZO.getPackId(), BlessedPacks.ZOZO.getPackKey(), false));
43 ApplicationDependencies.getJobManager().add(StickerPackDownloadJob.forInstall(BlessedPacks.BANDIT.getPackId(), BlessedPacks.BANDIT.getPackKey(), false));
44 ApplicationDependencies.getJobManager().add(StickerPackDownloadJob.forInstall(BlessedPacks.DAY_BY_DAY.getPackId(), BlessedPacks.DAY_BY_DAY.getPackKey(), false));
45 ApplicationDependencies.getJobManager().add(StickerPackDownloadJob.forReference(BlessedPacks.SWOON_HANDS.getPackId(), BlessedPacks.SWOON_HANDS.getPackKey()));
46 ApplicationDependencies.getJobManager().add(StickerPackDownloadJob.forReference(BlessedPacks.SWOON_FACES.getPackId(), BlessedPacks.SWOON_FACES.getPackKey()));
47 }
48
49 public static void onPostBackupRestore(@NonNull Context context) {
50 Log.i(TAG, "onPostBackupRestore()");
51
52 ApplicationDependencies.getMegaphoneRepository().onFirstEverAppLaunch();
53 SignalStore.onPostBackupRestore();
54 SignalStore.onFirstEverAppLaunch();
55 SignalStore.onboarding().clearAll();
56 TextSecurePreferences.onPostBackupRestore(context);
57 TextSecurePreferences.setPasswordDisabled(context, true);
58 ApplicationDependencies.getJobManager().add(StickerPackDownloadJob.forInstall(BlessedPacks.ZOZO.getPackId(), BlessedPacks.ZOZO.getPackKey(), false));
59 ApplicationDependencies.getJobManager().add(StickerPackDownloadJob.forInstall(BlessedPacks.BANDIT.getPackId(), BlessedPacks.BANDIT.getPackKey(), false));
60 ApplicationDependencies.getJobManager().add(StickerPackDownloadJob.forInstall(BlessedPacks.DAY_BY_DAY.getPackId(), BlessedPacks.DAY_BY_DAY.getPackKey(), false));
61 ApplicationDependencies.getJobManager().add(StickerPackDownloadJob.forReference(BlessedPacks.SWOON_HANDS.getPackId(), BlessedPacks.SWOON_HANDS.getPackKey()));
62 ApplicationDependencies.getJobManager().add(StickerPackDownloadJob.forReference(BlessedPacks.SWOON_FACES.getPackId(), BlessedPacks.SWOON_FACES.getPackKey()));
63 EmojiSearchIndexDownloadJob.scheduleImmediately();
64 }
65
66 /**
67 * Temporary migration method that does the safest bits of {@link #onFirstEverAppLaunch(Context)}
68 */
69 public static void onRepairFirstEverAppLaunch(@NonNull Context context) {
70 Log.w(TAG, "onRepairFirstEverAppLaunch()");
71
72 TextSecurePreferences.setAppMigrationVersion(context, ApplicationMigrations.CURRENT_VERSION);
73 TextSecurePreferences.setJobManagerVersion(context, JobManager.CURRENT_VERSION);
74 TextSecurePreferences.setLastVersionCode(context, Util.getCanonicalVersionCode());
75 TextSecurePreferences.setHasSeenStickerIntroTooltip(context, true);
76 TextSecurePreferences.setPasswordDisabled(context, true);
77 ApplicationDependencies.getMegaphoneRepository().onFirstEverAppLaunch();
78 SignalStore.onFirstEverAppLaunch();
79 ApplicationDependencies.getJobManager().add(StickerPackDownloadJob.forInstall(BlessedPacks.ZOZO.getPackId(), BlessedPacks.ZOZO.getPackKey(), false));
80 ApplicationDependencies.getJobManager().add(StickerPackDownloadJob.forInstall(BlessedPacks.BANDIT.getPackId(), BlessedPacks.BANDIT.getPackKey(), false));
81 ApplicationDependencies.getJobManager().add(StickerPackDownloadJob.forInstall(BlessedPacks.DAY_BY_DAY.getPackId(), BlessedPacks.DAY_BY_DAY.getPackKey(), false));
82 ApplicationDependencies.getJobManager().add(StickerPackDownloadJob.forReference(BlessedPacks.SWOON_HANDS.getPackId(), BlessedPacks.SWOON_HANDS.getPackKey()));
83 ApplicationDependencies.getJobManager().add(StickerPackDownloadJob.forReference(BlessedPacks.SWOON_FACES.getPackId(), BlessedPacks.SWOON_FACES.getPackKey()));
84 }
85}