That fuck shit the fascists are using
at master 85 lines 5.5 kB view raw
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}