[mob] Refactor
This commit is contained in:
@@ -13,6 +13,7 @@ import 'package:photos/db/file_updation_db.dart';
|
||||
import 'package:photos/db/files_db.dart';
|
||||
import 'package:photos/events/backup_folders_updated_event.dart';
|
||||
import 'package:photos/events/local_photos_updated_event.dart';
|
||||
import "package:photos/events/permission_granted_event.dart";
|
||||
import 'package:photos/events/sync_status_update_event.dart';
|
||||
import 'package:photos/extensions/stop_watch.dart';
|
||||
import 'package:photos/models/file/file.dart';
|
||||
@@ -48,7 +49,11 @@ class LocalSyncService {
|
||||
await PhotoManager.setIgnorePermissionCheck(true);
|
||||
}
|
||||
if (permissionService.hasGrantedPermissions()) {
|
||||
registerChangeCallback();
|
||||
_registerChangeCallback();
|
||||
} else {
|
||||
Bus.instance.on<PermissionGrantedEvent>().listen((event) async {
|
||||
_registerChangeCallback();
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -317,7 +322,7 @@ class LocalSyncService {
|
||||
}
|
||||
}
|
||||
|
||||
void registerChangeCallback() {
|
||||
void _registerChangeCallback() {
|
||||
_changeCallbackDebouncer = Debouncer(const Duration(milliseconds: 500));
|
||||
// In case of iOS limit permission, this call back is fired immediately
|
||||
// after file selection dialog is dismissed.
|
||||
|
||||
@@ -169,7 +169,6 @@ class SyncService {
|
||||
}
|
||||
|
||||
Future<void> onPermissionGranted() async {
|
||||
_localSyncService.registerChangeCallback();
|
||||
_doSync().ignore();
|
||||
}
|
||||
|
||||
|
||||
@@ -147,12 +147,12 @@ class _GrantPermissionsWidgetState extends State<GrantPermissionsWidget> {
|
||||
Future<void> onPermissionGranted(PermissionState state) async {
|
||||
_logger.info("Permission granted " + state.toString());
|
||||
await permissionService.onUpdatePermission(state);
|
||||
await SyncService.instance.onPermissionGranted();
|
||||
if (state == PermissionState.limited) {
|
||||
// when limited permission is granted, by default mark all folders for
|
||||
// backup
|
||||
await Configuration.instance.setSelectAllFoldersForBackup(true);
|
||||
}
|
||||
SyncService.instance.onPermissionGranted().ignore();
|
||||
Bus.instance.fire(PermissionGrantedEvent());
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user