diff --git a/lib/db/files_db.dart b/lib/db/files_db.dart index a44f40d11..e952081ec 100644 --- a/lib/db/files_db.dart +++ b/lib/db/files_db.dart @@ -78,8 +78,10 @@ class FilesDB { final dbConfig = MigrationConfig( initializationScript: initializationScript, migrationScripts: migrationScripts); + // make this a singleton class FilesDB._privateConstructor(); + static final FilesDB instance = FilesDB._privateConstructor(); // only have a single app-wide reference to the database diff --git a/lib/db/trash_db.dart b/lib/db/trash_db.dart index 4d1f451ff..fd6f7e432 100644 --- a/lib/db/trash_db.dart +++ b/lib/db/trash_db.dart @@ -41,8 +41,6 @@ class TrashDB { static final columnPubMMdEncodedJson = 'pub_mmd_encoded_json'; static final columnPubMMdVersion = 'pub_mmd_ver'; - - Future _onCreate(Database db, int version) async { await db.execute(''' CREATE TABLE $tableName ( @@ -161,8 +159,7 @@ class TrashDB { tableName, where: '$columnCreationTime >= ? AND $columnCreationTime <= ?', whereArgs: [startTime, endTime], - orderBy: - '$columnCreationTime ' + order , + orderBy: '$columnCreationTime ' + order, limit: limit, ); final files = _convertToFiles(results); diff --git a/lib/models/file.dart b/lib/models/file.dart index 21123703d..f57bf5cb7 100644 --- a/lib/models/file.dart +++ b/lib/models/file.dart @@ -39,16 +39,20 @@ class File { String mMdEncodedJson; int mMdVersion = 0; MagicMetadata _mmd; + MagicMetadata get magicMetadata => _mmd ?? MagicMetadata.fromEncodedJson(mMdEncodedJson ?? '{}'); + set magicMetadata(val) => _mmd = val; // public magic metadata is shared if during file/album sharing String pubMmdEncodedJson; int pubMmdVersion = 0; PubMagicMetadata _pubMmd; + PubMagicMetadata get pubMagicMetadata => _pubMmd ?? PubMagicMetadata.fromEncodedJson(pubMmdEncodedJson ?? '{}'); + set pubMagicMetadata(val) => _pubMmd = val; static const kCurrentMetadataVersion = 1; diff --git a/lib/models/magic_metadata.dart b/lib/models/magic_metadata.dart index e9e4bcb23..8eeb3c3f6 100644 --- a/lib/models/magic_metadata.dart +++ b/lib/models/magic_metadata.dart @@ -1,4 +1,3 @@ - import 'dart:convert'; const kVisibilityVisible = 0; @@ -19,8 +18,7 @@ class MagicMetadata { factory MagicMetadata.fromEncodedJson(String encodedJson) => MagicMetadata.fromJson(jsonDecode(encodedJson)); - factory MagicMetadata.fromJson(dynamic json) => - MagicMetadata.fromMap(json); + factory MagicMetadata.fromJson(dynamic json) => MagicMetadata.fromMap(json); Map toJson() { final map = {}; diff --git a/lib/services/file_magic_service.dart b/lib/services/file_magic_service.dart index 24a63102c..77ac12572 100644 --- a/lib/services/file_magic_service.dart +++ b/lib/services/file_magic_service.dart @@ -3,14 +3,14 @@ import 'dart:convert'; import 'package:dio/dio.dart'; import 'package:flutter_sodium/flutter_sodium.dart'; import 'package:logging/logging.dart'; +import 'package:photos/core/configuration.dart'; import 'package:photos/core/event_bus.dart'; import 'package:photos/core/network.dart'; import 'package:photos/db/files_db.dart'; -import 'package:photos/events/force_reload_home_gallery_event.dart'; import 'package:photos/events/files_updated_event.dart'; +import 'package:photos/events/force_reload_home_gallery_event.dart'; import 'package:photos/events/local_photos_updated_event.dart'; import 'package:photos/models/file.dart'; -import 'package:photos/core/configuration.dart'; import 'package:photos/models/magic_metadata.dart'; import 'package:photos/services/remote_sync_service.dart'; import 'package:photos/utils/crypto_util.dart'; @@ -41,8 +41,8 @@ class FileMagicService { } } - Future updatePublicMagicMetadata(List files, Map newMetadataUpdate) async - { + Future updatePublicMagicMetadata( + List files, Map newMetadataUpdate) async { final params = {}; params['metadataList'] = []; final int ownerID = Configuration.instance.getUserID(); @@ -81,7 +81,8 @@ class FileMagicService { } await _dio.put( - Configuration.instance.getHttpEndpoint() + "/files/public-magic-metadata", + Configuration.instance.getHttpEndpoint() + + "/files/public-magic-metadata", data: params, options: Options( headers: {"X-Auth-Token": Configuration.instance.getToken()}), @@ -99,8 +100,8 @@ class FileMagicService { _logger.severe("failed to sync magic metadata", e, s); rethrow; } - } + Future _updateMagicData( List files, Map newMetadataUpdate) async { final params = {}; diff --git a/lib/ui/fading_app_bar.dart b/lib/ui/fading_app_bar.dart index ecf270d17..1a3a750fd 100644 --- a/lib/ui/fading_app_bar.dart +++ b/lib/ui/fading_app_bar.dart @@ -1,13 +1,13 @@ import 'dart:io'; - import 'dart:io' as io; + import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; +import 'package:flutter_datetime_picker/flutter_datetime_picker.dart'; import 'package:like_button/like_button.dart'; import 'package:logging/logging.dart'; import 'package:photo_manager/photo_manager.dart'; import 'package:photos/core/event_bus.dart'; -import 'package:flutter_datetime_picker/flutter_datetime_picker.dart'; import 'package:photos/db/files_db.dart'; import 'package:photos/events/local_photos_updated_event.dart'; import 'package:photos/models/file.dart'; @@ -93,7 +93,7 @@ class FadingAppBarState extends State { AppBar _buildAppBar() { final List actions = []; - final isTrashedFile = widget.file is TrashFile; + final isTrashedFile = widget.file is TrashFile; final shouldShowActions = widget.shouldShowActions && !isTrashedFile; // only show fav option for files owned by the user if (widget.file.ownerID == null || widget.file.ownerID == widget.userID) { @@ -123,7 +123,7 @@ class FadingAppBarState extends State { // options for files owned by the user if (widget.file.ownerID == null || widget.file.ownerID == widget.userID) { - if(widget.file.uploadedFileID != null) { + if (widget.file.uploadedFileID != null) { items.add( PopupMenuItem( value: 2, diff --git a/lib/utils/trash_diff_fetcher.dart b/lib/utils/trash_diff_fetcher.dart index 2507d55cc..231048db6 100644 --- a/lib/utils/trash_diff_fetcher.dart +++ b/lib/utils/trash_diff_fetcher.dart @@ -120,6 +120,6 @@ class Diff { final bool hasMore; final int lastSyncedTimeStamp; - Diff(this.trashedFiles, this.restoredFiles, this.deletedFiles, - this.hasMore, this.lastSyncedTimeStamp); + Diff(this.trashedFiles, this.restoredFiles, this.deletedFiles, this.hasMore, + this.lastSyncedTimeStamp); }