Add UX for handling CDS rate limits.

This commit is contained in:
Greyson Parrelli
2022-11-10 10:51:21 -05:00
parent 8eb3a1906e
commit c563ef27da
21 changed files with 570 additions and 18 deletions

View File

@@ -25,8 +25,15 @@ public class DirectoryRefreshListener extends PersistentAlarmManagerListener {
ApplicationDependencies.getJobManager().add(new DirectoryRefreshJob(true));
}
long interval = TimeUnit.SECONDS.toMillis(FeatureFlags.cdsRefreshIntervalSeconds());
long newTime = System.currentTimeMillis() + interval;
long newTime;
if (SignalStore.misc().isCdsBlocked()) {
newTime = Math.min(System.currentTimeMillis() + TimeUnit.HOURS.toMillis(6),
SignalStore.misc().getCdsBlockedUtil());
} else {
newTime = System.currentTimeMillis() + TimeUnit.SECONDS.toMillis(FeatureFlags.cdsRefreshIntervalSeconds());
TextSecurePreferences.setDirectoryRefreshTime(context, newTime);
}
TextSecurePreferences.setDirectoryRefreshTime(context, newTime);