diff --git a/lib/photo_loader.dart b/lib/photo_loader.dart index 28de39084..4d7503fee 100644 --- a/lib/photo_loader.dart +++ b/lib/photo_loader.dart @@ -1,15 +1,11 @@ -import 'dart:typed_data'; - import 'package:flutter/material.dart'; import 'package:logger/logger.dart'; import 'package:myapp/db/db_helper.dart'; import 'package:myapp/models/photo.dart'; -import 'package:photo_manager/photo_manager.dart'; class PhotoLoader extends ChangeNotifier { final logger = Logger(); final _photos = List(); - final _assetMap = Map(); PhotoLoader._privateConstructor(); static final PhotoLoader instance = PhotoLoader._privateConstructor(); @@ -32,16 +28,4 @@ class PhotoLoader extends ChangeNotifier { logger.i("Reloading..."); notifyListeners(); } - - void addAsset(String path, AssetEntity asset) { - _assetMap[path] = asset; - } - - Future getThumbnail(String path, int size) { - if (!_assetMap.containsKey(path)) { - logger.w("No thumbnail"); - return Future.value(null); - } - return _assetMap[path].thumbDataWithSize(size, size); - } } \ No newline at end of file diff --git a/lib/photo_sync_manager.dart b/lib/photo_sync_manager.dart index 3ef7a4830..8d5fd7b79 100644 --- a/lib/photo_sync_manager.dart +++ b/lib/photo_sync_manager.dart @@ -1,5 +1,3 @@ -import 'dart:typed_data'; - import 'package:logger/logger.dart'; import 'package:myapp/db/db_helper.dart'; import 'package:myapp/photo_loader.dart'; @@ -28,7 +26,11 @@ class PhotoSyncManager { Future init() async { await _updateDatabase(); - await _syncPhotos(); + try { + _syncPhotos(); + } catch (e) { + _logger.e(e); + } } Future _updateDatabase() async { @@ -41,7 +43,6 @@ class PhotoSyncManager { if (asset.createDateTime.millisecondsSinceEpoch > lastDBUpdateTimestamp) { await DatabaseHelper.instance.insertPhoto(await Photo.fromAsset(asset)); } - PhotoLoader.instance.addAsset((await asset.originFile).path, asset); } return await prefs.setInt( _lastDBUpdateTimestampKey, DateTime.now().millisecondsSinceEpoch); @@ -55,10 +56,11 @@ class PhotoSyncManager { } _logger.i("Last sync timestamp: " + lastSyncTimestamp.toString()); - List diff = await _getDiff(lastSyncTimestamp); - await _downloadDiff(diff, prefs); - - await _uploadDiff(prefs); + _getDiff(lastSyncTimestamp).then((diff) { + _downloadDiff(diff, prefs).then((_) { + _uploadDiff(prefs); + }); + }); // TODO: Fix race conditions triggered due to concurrent syncs. // Add device_id/last_sync_timestamp to the upload request? diff --git a/lib/ui/image_widget.dart b/lib/ui/image_widget.dart index 3425d8e99..cd18ac999 100644 --- a/lib/ui/image_widget.dart +++ b/lib/ui/image_widget.dart @@ -51,21 +51,8 @@ class _ImageWidgetState extends State { } Future _buildImageWidget(String path, num size) async { - var thumbnail = await photoLoader.getThumbnail(path, size); - if (thumbnail != null) { - return Image.memory( - thumbnail, - width: size.toDouble(), - height: size.toDouble(), - fit: BoxFit.cover, - ); - } else { - return Image.file( - File(path), - width: size.toDouble(), - height: size.toDouble(), - fit: BoxFit.cover); - } + return Image.file(File(path), + width: size.toDouble(), height: size.toDouble(), fit: BoxFit.cover); } @override