Remove shitty thumbnail generation
This commit is contained in:
parent
53442cbf14
commit
2b238a0df3
3 changed files with 12 additions and 39 deletions
|
@ -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<Photo>();
|
||||
final _assetMap = Map<String, AssetEntity>();
|
||||
|
||||
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<Uint8List> getThumbnail(String path, int size) {
|
||||
if (!_assetMap.containsKey(path)) {
|
||||
logger.w("No thumbnail");
|
||||
return Future.value(null);
|
||||
}
|
||||
return _assetMap[path].thumbDataWithSize(size, size);
|
||||
}
|
||||
}
|
|
@ -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<void> init() async {
|
||||
await _updateDatabase();
|
||||
await _syncPhotos();
|
||||
try {
|
||||
_syncPhotos();
|
||||
} catch (e) {
|
||||
_logger.e(e);
|
||||
}
|
||||
}
|
||||
|
||||
Future<bool> _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<Photo> 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?
|
||||
|
|
|
@ -51,21 +51,8 @@ class _ImageWidgetState extends State<ImageWidget> {
|
|||
}
|
||||
|
||||
Future<Image> _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
|
||||
|
|
Loading…
Add table
Reference in a new issue