|
@@ -271,18 +271,27 @@ class FileUploader {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
- Future<File> _tryToUpload(
|
|
|
|
- File file,
|
|
|
|
- int collectionID,
|
|
|
|
- bool forcedUpload,
|
|
|
|
- ) async {
|
|
|
|
|
|
+ Future<void> checkNetworkForUpload({bool isForceUpload = false}) async {
|
|
|
|
+ // Note: We don't support force uploading currently. During force upload,
|
|
|
|
+ // network check is skipped completely
|
|
|
|
+ if (isForceUpload) {
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
final connectivityResult = await (Connectivity().checkConnectivity());
|
|
final connectivityResult = await (Connectivity().checkConnectivity());
|
|
final canUploadUnderCurrentNetworkConditions =
|
|
final canUploadUnderCurrentNetworkConditions =
|
|
(connectivityResult == ConnectivityResult.wifi ||
|
|
(connectivityResult == ConnectivityResult.wifi ||
|
|
Configuration.instance.shouldBackupOverMobileData());
|
|
Configuration.instance.shouldBackupOverMobileData());
|
|
- if (!canUploadUnderCurrentNetworkConditions && !forcedUpload) {
|
|
|
|
|
|
+ if (!canUploadUnderCurrentNetworkConditions) {
|
|
throw WiFiUnavailableError();
|
|
throw WiFiUnavailableError();
|
|
}
|
|
}
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ Future<File> _tryToUpload(
|
|
|
|
+ File file,
|
|
|
|
+ int collectionID,
|
|
|
|
+ bool forcedUpload,
|
|
|
|
+ ) async {
|
|
|
|
+ await checkNetworkForUpload(isForceUpload: forcedUpload);
|
|
final fileOnDisk = await FilesDB.instance.getFile(file.generatedID!);
|
|
final fileOnDisk = await FilesDB.instance.getFile(file.generatedID!);
|
|
final wasAlreadyUploaded = fileOnDisk != null &&
|
|
final wasAlreadyUploaded = fileOnDisk != null &&
|
|
fileOnDisk.uploadedFileID != null &&
|
|
fileOnDisk.uploadedFileID != null &&
|