Detect storage space issues during restore.

This commit is contained in:
Alex Hart
2024-11-14 13:26:30 -04:00
committed by Greyson Parrelli
parent b4472833b8
commit 7f1a866e79
14 changed files with 163 additions and 35 deletions

View File

@@ -42,6 +42,7 @@ import org.signal.libsignal.protocol.logging.SignalProtocolLoggerProvider;
import org.signal.ringrtc.CallManager;
import org.thoughtcrime.securesms.apkupdate.ApkUpdateRefreshListener;
import org.thoughtcrime.securesms.avatar.AvatarPickerStorage;
import org.thoughtcrime.securesms.backup.v2.BackupRepository;
import org.thoughtcrime.securesms.crypto.AttachmentSecretProvider;
import org.thoughtcrime.securesms.crypto.DatabaseSecretProvider;
import org.thoughtcrime.securesms.database.LogDatabase;
@@ -253,6 +254,7 @@ public class ApplicationContext extends Application implements AppForegroundObse
KeyCachingService.onAppForegrounded(this);
AppDependencies.getShakeToReport().enable();
checkBuildExpiration();
checkFreeDiskSpace();
MemoryTracker.start();
BackupSubscriptionCheckJob.enqueueIfAble();
@@ -289,6 +291,13 @@ public class ApplicationContext extends Application implements AppForegroundObse
}
}
public void checkFreeDiskSpace() {
if (RemoteConfig.messageBackups()) {
long availableBytes = BackupRepository.INSTANCE.getFreeStorageSpace().getBytes();
SignalStore.backup().setSpaceAvailableOnDiskBytes(availableBytes);
}
}
/**
* Note: this is purposefully "started" twice -- once during application create, and once during foreground.
* This is so we can capture ANR's that happen on boot before the foreground event.