That fuck shit the fascists are using
at master 161 lines 5.8 kB view raw
1package org.tm.archive.keyvalue; 2 3import androidx.annotation.NonNull; 4 5import java.util.Arrays; 6import java.util.List; 7 8public class UiHints extends SignalStoreValues { 9 10 private static final int NEVER_DISPLAY_PULL_TO_FILTER_TIP_THRESHOLD = 3; 11 12 private static final String HAS_SEEN_GROUP_SETTINGS_MENU_TOAST = "uihints.has_seen_group_settings_menu_toast"; 13 private static final String HAS_CONFIRMED_DELETE_FOR_EVERYONE_ONCE = "uihints.has_confirmed_delete_for_everyone_once"; 14 private static final String HAS_SET_OR_SKIPPED_USERNAME_CREATION = "uihints.has_set_or_skipped_username_creation"; 15 private static final String NEVER_DISPLAY_PULL_TO_FILTER_TIP = "uihints.never_display_pull_to_filter_tip"; 16 private static final String HAS_SEEN_SCHEDULED_MESSAGES_INFO_ONCE = "uihints.has_seen_scheduled_messages_info_once"; 17 private static final String HAS_SEEN_TEXT_FORMATTING_ALERT = "uihints.text_formatting.has_seen_alert"; 18 private static final String HAS_NOT_SEEN_EDIT_MESSAGE_BETA_ALERT = "uihints.edit_message.has_not_seen_beta_alert"; 19 private static final String HAS_SEEN_SAFETY_NUMBER_NUX = "uihints.has_seen_safety_number_nux"; 20 private static final String DECLINED_NOTIFICATION_LOGS_PROMPT = "uihints.declined_notification_logs"; 21 private static final String LAST_NOTIFICATION_LOGS_PROMPT_TIME = "uihints.last_notification_logs_prompt"; 22 private static final String DISMISSED_BATTERY_SAVER_PROMPT = "uihints.declined_battery_saver_prompt"; 23 private static final String LAST_BATTERY_SAVER_PROMPT = "uihints.last_battery_saver_prompt"; 24 private static final String LAST_CRASH_PROMPT = "uihints.last_crash_prompt"; 25 private static final String HAS_COMPLETED_USERNAME_ONBOARDING = "uihints.has_completed_username_onboarding"; 26 27 UiHints(@NonNull KeyValueStore store) { 28 super(store); 29 } 30 31 @Override 32 void onFirstEverAppLaunch() { 33 markHasSeenGroupSettingsMenuToast(); 34 } 35 36 @Override 37 @NonNull List<String> getKeysToIncludeInBackup() { 38 return Arrays.asList(NEVER_DISPLAY_PULL_TO_FILTER_TIP, HAS_COMPLETED_USERNAME_ONBOARDING, HAS_SEEN_TEXT_FORMATTING_ALERT); 39 } 40 41 public void markHasSeenGroupSettingsMenuToast() { 42 putBoolean(HAS_SEEN_GROUP_SETTINGS_MENU_TOAST, true); 43 } 44 45 public boolean hasSeenGroupSettingsMenuToast() { 46 return getBoolean(HAS_SEEN_GROUP_SETTINGS_MENU_TOAST, false); 47 } 48 49 public void markHasSeenScheduledMessagesInfoSheet() { 50 putBoolean(HAS_SEEN_SCHEDULED_MESSAGES_INFO_ONCE, true); 51 } 52 53 public boolean hasSeenScheduledMessagesInfoSheet() { 54 return getBoolean(HAS_SEEN_SCHEDULED_MESSAGES_INFO_ONCE, false); 55 } 56 57 public void markHasConfirmedDeleteForEveryoneOnce() { 58 putBoolean(HAS_CONFIRMED_DELETE_FOR_EVERYONE_ONCE, true); 59 } 60 61 public boolean hasConfirmedDeleteForEveryoneOnce() { 62 return getBoolean(HAS_CONFIRMED_DELETE_FOR_EVERYONE_ONCE, false); 63 } 64 65 public boolean hasSetOrSkippedUsernameCreation() { 66 return getBoolean(HAS_SET_OR_SKIPPED_USERNAME_CREATION, false); 67 } 68 69 public void markHasSetOrSkippedUsernameCreation() { 70 putBoolean(HAS_SET_OR_SKIPPED_USERNAME_CREATION, true); 71 } 72 73 public void setHasCompletedUsernameOnboarding(boolean value) { 74 putBoolean(HAS_COMPLETED_USERNAME_ONBOARDING, value); 75 } 76 77 public boolean hasCompletedUsernameOnboarding() { 78 return getBoolean(HAS_COMPLETED_USERNAME_ONBOARDING, false); 79 } 80 81 public void resetNeverDisplayPullToRefreshCount() { 82 putInteger(NEVER_DISPLAY_PULL_TO_FILTER_TIP, 0); 83 } 84 85 public boolean canDisplayPullToFilterTip() { 86 return getNeverDisplayPullToFilterTip() < NEVER_DISPLAY_PULL_TO_FILTER_TIP_THRESHOLD; 87 } 88 89 public void incrementNeverDisplayPullToFilterTip() { 90 int inc = Math.min(NEVER_DISPLAY_PULL_TO_FILTER_TIP_THRESHOLD, getNeverDisplayPullToFilterTip() + 1); 91 putInteger(NEVER_DISPLAY_PULL_TO_FILTER_TIP, inc); 92 } 93 94 private int getNeverDisplayPullToFilterTip() { 95 return getInteger(NEVER_DISPLAY_PULL_TO_FILTER_TIP, 0); 96 } 97 98 public boolean hasNotSeenTextFormattingAlert() { 99 return getBoolean(HAS_SEEN_TEXT_FORMATTING_ALERT, true); 100 } 101 102 public void markHasSeenTextFormattingAlert() { 103 putBoolean(HAS_SEEN_TEXT_FORMATTING_ALERT, false); 104 } 105 106 public boolean hasNotSeenEditMessageBetaAlert() { 107 return getBoolean(HAS_NOT_SEEN_EDIT_MESSAGE_BETA_ALERT, true); 108 } 109 110 public void markHasSeenEditMessageBetaAlert() { 111 putBoolean(HAS_NOT_SEEN_EDIT_MESSAGE_BETA_ALERT, false); 112 } 113 114 public boolean hasSeenSafetyNumberUpdateNux() { 115 return getBoolean(HAS_SEEN_SAFETY_NUMBER_NUX, false); 116 } 117 118 public void markHasSeenSafetyNumberUpdateNux() { 119 putBoolean(HAS_SEEN_SAFETY_NUMBER_NUX, true); 120 } 121 122 public long getLastNotificationLogsPrompt() { 123 return getLong(LAST_NOTIFICATION_LOGS_PROMPT_TIME, 0); 124 } 125 126 public void setLastNotificationLogsPrompt(long timeMs) { 127 putLong(LAST_NOTIFICATION_LOGS_PROMPT_TIME, timeMs); 128 } 129 130 public void markDeclinedShareNotificationLogs() { 131 putBoolean(DECLINED_NOTIFICATION_LOGS_PROMPT, true); 132 } 133 134 public boolean hasDeclinedToShareNotificationLogs() { 135 return getBoolean(DECLINED_NOTIFICATION_LOGS_PROMPT, false); 136 } 137 138 public void markDismissedBatterySaverPrompt() { 139 putBoolean(DISMISSED_BATTERY_SAVER_PROMPT, true); 140 } 141 142 public boolean hasDismissedBatterySaverPrompt() { 143 return getBoolean(DISMISSED_BATTERY_SAVER_PROMPT, false); 144 } 145 146 public long getLastBatterySaverPrompt() { 147 return getLong(LAST_BATTERY_SAVER_PROMPT, 0); 148 } 149 150 public void setLastBatterySaverPrompt(long time) { 151 putLong(LAST_BATTERY_SAVER_PROMPT, time); 152 } 153 154 public void setLastCrashPrompt(long time) { 155 putLong(LAST_CRASH_PROMPT, time); 156 } 157 158 public long getLastCrashPrompt() { 159 return getLong(LAST_CRASH_PROMPT, 0); 160 } 161}