Schedule TrimThreadsByDateManager on app startup.
If enabled, this reschedules the alarm on every startup to make sure that the system never loses track of it.
This commit is contained in:
parent
bd5747b7f6
commit
d458ddba55
1 changed files with 9 additions and 0 deletions
|
@ -63,6 +63,7 @@ import org.thoughtcrime.securesms.jobs.RetrieveProfileJob;
|
||||||
import org.thoughtcrime.securesms.jobs.RetrieveRemoteAnnouncementsJob;
|
import org.thoughtcrime.securesms.jobs.RetrieveRemoteAnnouncementsJob;
|
||||||
import org.thoughtcrime.securesms.jobs.StoryOnboardingDownloadJob;
|
import org.thoughtcrime.securesms.jobs.StoryOnboardingDownloadJob;
|
||||||
import org.thoughtcrime.securesms.jobs.SubscriptionKeepAliveJob;
|
import org.thoughtcrime.securesms.jobs.SubscriptionKeepAliveJob;
|
||||||
|
import org.thoughtcrime.securesms.keyvalue.KeepMessagesDuration;
|
||||||
import org.thoughtcrime.securesms.keyvalue.SignalStore;
|
import org.thoughtcrime.securesms.keyvalue.SignalStore;
|
||||||
import org.thoughtcrime.securesms.logging.CustomSignalProtocolLogger;
|
import org.thoughtcrime.securesms.logging.CustomSignalProtocolLogger;
|
||||||
import org.thoughtcrime.securesms.logging.PersistentLogger;
|
import org.thoughtcrime.securesms.logging.PersistentLogger;
|
||||||
|
@ -194,6 +195,7 @@ public class ApplicationContext extends MultiDexApplication implements AppForegr
|
||||||
.addPostRender(() -> RateLimitUtil.retryAllRateLimitedMessages(this))
|
.addPostRender(() -> RateLimitUtil.retryAllRateLimitedMessages(this))
|
||||||
.addPostRender(this::initializeExpiringMessageManager)
|
.addPostRender(this::initializeExpiringMessageManager)
|
||||||
.addPostRender(() -> SignalStore.settings().setDefaultSms(Util.isDefaultSmsProvider(this)))
|
.addPostRender(() -> SignalStore.settings().setDefaultSms(Util.isDefaultSmsProvider(this)))
|
||||||
|
.addPostRender(this::initializeTrimThreadsByDateManager)
|
||||||
.addPostRender(() -> DownloadLatestEmojiDataJob.scheduleIfNecessary(this))
|
.addPostRender(() -> DownloadLatestEmojiDataJob.scheduleIfNecessary(this))
|
||||||
.addPostRender(EmojiSearchIndexDownloadJob::scheduleIfNecessary)
|
.addPostRender(EmojiSearchIndexDownloadJob::scheduleIfNecessary)
|
||||||
.addPostRender(() -> SignalDatabase.messageLog().trimOldMessages(System.currentTimeMillis(), FeatureFlags.retryRespondMaxAge()))
|
.addPostRender(() -> SignalDatabase.messageLog().trimOldMessages(System.currentTimeMillis(), FeatureFlags.retryRespondMaxAge()))
|
||||||
|
@ -383,6 +385,13 @@ public class ApplicationContext extends MultiDexApplication implements AppForegr
|
||||||
ApplicationDependencies.getPendingRetryReceiptManager().scheduleIfNecessary();
|
ApplicationDependencies.getPendingRetryReceiptManager().scheduleIfNecessary();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void initializeTrimThreadsByDateManager() {
|
||||||
|
KeepMessagesDuration keepMessagesDuration = SignalStore.settings().getKeepMessagesDuration();
|
||||||
|
if (keepMessagesDuration != KeepMessagesDuration.FOREVER) {
|
||||||
|
ApplicationDependencies.getTrimThreadsByDateManager().scheduleIfNecessary();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private void initializePeriodicTasks() {
|
private void initializePeriodicTasks() {
|
||||||
RotateSignedPreKeyListener.schedule(this);
|
RotateSignedPreKeyListener.schedule(this);
|
||||||
DirectoryRefreshListener.schedule(this);
|
DirectoryRefreshListener.schedule(this);
|
||||||
|
|
Loading…
Add table
Reference in a new issue