Fix lint warnings

This commit is contained in:
vishnukvmd 2021-07-22 02:17:43 +05:30
parent 2747810cb3
commit 9f8c409f3d
14 changed files with 56 additions and 58 deletions

View file

@ -10,7 +10,7 @@ class ThumbnailLruCache {
static Uint8List get(File photo, [int size]) {
return _map.get(photo.generatedID.toString() +
"_" +
(size != null ? size.toString() : THUMBNAIL_LARGE_SIZE.toString()));
(size != null ? size.toString() : kThumbnailLargeSize.toString()));
}
static void put(
@ -21,7 +21,7 @@ class ThumbnailLruCache {
_map.put(
photo.generatedID.toString() +
"_" +
(size != null ? size.toString() : THUMBNAIL_LARGE_SIZE.toString()),
(size != null ? size.toString() : kThumbnailLargeSize.toString()),
imageData);
}
}

View file

@ -1,12 +1,12 @@
const int THUMBNAIL_SMALL_SIZE = 256;
const int THUMBNAIL_QUALITY = 50;
const int THUMBNAIL_LARGE_SIZE = 512;
const int COMPRESSED_THUMBNAIL_RESOLUTION = 1080;
const int THUMBNAIL_DATA_LIMIT = 100 * 1024;
const String SENTRY_DSN =
const int kThumbnailSmallSize = 256;
const int kThumbnailQuality = 50;
const int kThumbnailLargeSize = 512;
const int kCompressedThumbnailResolution = 1080;
const int kThumbnailDataLimit = 100 * 1024;
const String kSentryDSN =
"https://93b8ea6f54f442dc8408ebccdff6fe7a@errors.ente.io/2";
const String SENTRY_DEBUG_DSN =
const String kSentryDebugDSN =
"https://b31c8af8384a4ce980509b8f592a67eb@errors.ente.io/3";
const String ROADMAP_URL = "https://roadmap.ente.io";
const int MICRO_SECONDS_IN_DAY = 86400000000;
const int ANDROID_11_SDK_INT = 30;
const String kRoadmapURL = "https://roadmap.ente.io";
const int kMicroSecondsInDay = 86400000000;
const int kAndroid11SDKINT = 30;

View file

@ -5,9 +5,10 @@ import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:flutter_easyloading/flutter_easyloading.dart';
import 'package:in_app_purchase/in_app_purchase.dart';
import 'package:logging/logging.dart';
import 'package:path_provider/path_provider.dart';
import 'package:photos/core/constants.dart';
import 'package:photos/core/configuration.dart';
import 'package:photos/core/constants.dart';
import 'package:photos/core/network.dart';
import 'package:photos/db/upload_locks_db.dart';
import 'package:photos/services/billing_service.dart';
@ -25,7 +26,6 @@ import 'package:photos/utils/crypto_util.dart';
import 'package:photos/utils/file_uploader.dart';
import 'package:shared_preferences/shared_preferences.dart';
import 'package:super_logging/super_logging.dart';
import 'package:logging/logging.dart';
final _logger = Logger("main");
@ -166,7 +166,7 @@ Future _runWithLogs(Function() function, {String prefix = ""}) async {
body: function,
logDirPath: (await getTemporaryDirectory()).path + "/logs",
maxLogFiles: 5,
sentryDsn: kDebugMode ? SENTRY_DEBUG_DSN : SENTRY_DSN,
sentryDsn: kDebugMode ? kSentryDebugDSN : kSentryDSN,
enableInDebugMode: true,
prefix: prefix,
));

View file

@ -27,7 +27,7 @@ class MemoriesService extends ChangeNotifier {
_cachedMemories = null;
});
await _memoriesDB.clearMemoriesSeenBeforeTime(
DateTime.now().microsecondsSinceEpoch - (7 * MICRO_SECONDS_IN_DAY));
DateTime.now().microsecondsSinceEpoch - (7 * kMicroSecondsInDay));
}
void clearCache() {

View file

@ -231,7 +231,7 @@ class SyncService {
final lastNotificationShownTime =
_prefs.getInt(kLastStorageLimitExceededNotificationPushTime) ?? 0;
final now = DateTime.now().microsecondsSinceEpoch;
if ((now - lastNotificationShownTime) > MICRO_SECONDS_IN_DAY) {
if ((now - lastNotificationShownTime) > kMicroSecondsInDay) {
await _prefs.setInt(kLastStorageLimitExceededNotificationPushTime, now);
NotificationService.instance.showNotification(
"storage limit exceeded", "sorry, we had to pause your backups");

View file

@ -51,7 +51,7 @@ class UpdateService {
_prefs.getInt(kUpdateAvailableShownTimeKey) ?? 0;
final now = DateTime.now().microsecondsSinceEpoch;
final hasBeen3DaysSinceLastNotification =
(now - lastNotificationShownTime) > (3 * MICRO_SECONDS_IN_DAY);
(now - lastNotificationShownTime) > (3 * kMicroSecondsInDay);
if (shouldUpdate &&
hasBeen3DaysSinceLastNotification &&
_latestVersion.shouldNotify) {

View file

@ -99,7 +99,7 @@ class _LazyLoadingGalleryState extends State<LazyLoadingGallery> {
DateTime(galleryDate.year, galleryDate.month, galleryDate.day);
final result = await widget.asyncLoader(
dayStartTime.microsecondsSinceEpoch,
dayStartTime.microsecondsSinceEpoch + MICRO_SECONDS_IN_DAY - 1);
dayStartTime.microsecondsSinceEpoch + kMicroSecondsInDay - 1);
if (result.files.isEmpty) {
// All files on this day were deleted, let gallery trigger the reload
} else {

View file

@ -72,7 +72,7 @@ class SupportSectionWidget extends StatelessWidget {
final isLoggedIn = Configuration.instance.getToken() != null;
final url = isLoggedIn
? endpoint + "?token=" + Configuration.instance.getToken()
: ROADMAP_URL;
: kRoadmapURL;
return WebPage("roadmap", url);
},
),

View file

@ -1,12 +1,12 @@
import 'package:flutter/material.dart';
import 'package:logging/logging.dart';
import 'package:photos/core/cache/thumbnail_cache.dart';
import 'package:photos/core/constants.dart';
import 'package:photos/core/errors.dart';
import 'package:photos/core/event_bus.dart';
import 'package:photos/db/files_db.dart';
import 'package:photos/events/local_photos_updated_event.dart';
import 'package:photos/models/file.dart';
import 'package:logging/logging.dart';
import 'package:photos/core/constants.dart';
import 'package:photos/models/file_type.dart';
import 'package:photos/ui/common_elements.dart';
import 'package:photos/utils/thumbnail_util.dart';
@ -152,7 +152,7 @@ class _ThumbnailWidgetState extends State<ThumbnailWidget> {
!_isLoadingThumbnail) {
_isLoadingThumbnail = true;
final cachedSmallThumbnail =
ThumbnailLruCache.get(widget.file, THUMBNAIL_SMALL_SIZE);
ThumbnailLruCache.get(widget.file, kThumbnailSmallSize);
if (cachedSmallThumbnail != null) {
_imageProvider = Image.memory(cachedSmallThumbnail).image;
_hasLoadedThumbnail = true;
@ -185,16 +185,16 @@ class _ThumbnailWidgetState extends State<ThumbnailWidget> {
}
asset
.thumbDataWithSize(
THUMBNAIL_SMALL_SIZE,
THUMBNAIL_SMALL_SIZE,
quality: THUMBNAIL_QUALITY,
kThumbnailSmallSize,
kThumbnailSmallSize,
quality: kThumbnailQuality,
)
.then((data) {
if (data != null && mounted) {
final imageProvider = Image.memory(data).image;
_cacheAndRender(imageProvider);
}
ThumbnailLruCache.put(widget.file, data, THUMBNAIL_SMALL_SIZE);
ThumbnailLruCache.put(widget.file, data, kThumbnailSmallSize);
});
}).catchError((e) {
_logger.warning("Could not load image: ", e);

View file

@ -2,15 +2,15 @@ import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:flutter/widgets.dart';
import 'package:logging/logging.dart';
import 'package:photo_view/photo_view.dart';
import 'package:photos/core/cache/image_cache.dart';
import 'package:photos/core/cache/thumbnail_cache.dart';
import 'package:photos/core/constants.dart';
import 'package:photos/core/event_bus.dart';
import 'package:photos/db/files_db.dart';
import 'package:photos/events/local_photos_updated_event.dart';
import 'package:photos/models/file.dart';
import 'package:photos/ui/loading_widget.dart';
import 'package:photo_view/photo_view.dart';
import 'package:photos/core/constants.dart';
import 'package:photos/utils/file_util.dart';
import 'package:photos/utils/thumbnail_util.dart';
@ -119,7 +119,7 @@ class _ZoomableImageState extends State<ZoomableImage>
!_loadedLargeThumbnail &&
!_loadedFinalImage) {
final cachedThumbnail =
ThumbnailLruCache.get(_photo, THUMBNAIL_SMALL_SIZE);
ThumbnailLruCache.get(_photo, kThumbnailSmallSize);
if (cachedThumbnail != null) {
_imageProvider = Image.memory(cachedThumbnail).image;
_loadedSmallThumbnail = true;
@ -131,7 +131,7 @@ class _ZoomableImageState extends State<ZoomableImage>
!_loadedFinalImage) {
_loadingLargeThumbnail = true;
final cachedThumbnail =
ThumbnailLruCache.get(_photo, THUMBNAIL_LARGE_SIZE);
ThumbnailLruCache.get(_photo, kThumbnailLargeSize);
if (cachedThumbnail != null) {
_onLargeThumbnailLoaded(Image.memory(cachedThumbnail).image, context);
} else {
@ -141,14 +141,14 @@ class _ZoomableImageState extends State<ZoomableImage>
return;
}
asset
.thumbDataWithSize(THUMBNAIL_LARGE_SIZE, THUMBNAIL_LARGE_SIZE)
.thumbDataWithSize(kThumbnailLargeSize, kThumbnailLargeSize)
.then((data) {
if (data == null) {
// Deleted file
return;
}
_onLargeThumbnailLoaded(Image.memory(data).image, context);
ThumbnailLruCache.put(_photo, data, THUMBNAIL_LARGE_SIZE);
ThumbnailLruCache.put(_photo, data, kThumbnailLargeSize);
});
});
}

View file

@ -147,7 +147,7 @@ Future<bool> deleteLocalFiles(
final List<String> deletedIDs = [];
if (Platform.isAndroid) {
final androidInfo = await DeviceInfoPlugin().androidInfo;
if (androidInfo.version.sdkInt < ANDROID_11_SDK_INT) {
if (androidInfo.version.sdkInt < kAndroid11SDKINT) {
deletedIDs.addAll(await _deleteLocalFilesInBatches(context, localIDs));
} else {
deletedIDs.addAll(await _deleteLocalFilesInOneShot(context, localIDs));

View file

@ -1,14 +1,13 @@
import 'dart:async';
import 'dart:io' as io;
import 'dart:typed_data';
import 'package:logging/logging.dart';
import 'package:photo_manager/photo_manager.dart';
import 'package:photos/core/constants.dart';
import 'package:photos/core/errors.dart';
import 'package:photos/models/location.dart';
import 'package:photos/models/file.dart' as ente;
import 'package:photos/models/location.dart';
import 'file_util.dart';
@ -60,12 +59,12 @@ Future<MediaUploadData> _getMediaUploadDataFromAssetFile(ente.File file) async {
throw InvalidFileError();
}
thumbnailData = await asset.thumbDataWithSize(
THUMBNAIL_SMALL_SIZE,
THUMBNAIL_SMALL_SIZE,
quality: THUMBNAIL_QUALITY,
kThumbnailSmallSize,
kThumbnailSmallSize,
quality: kThumbnailQuality,
);
int compressionAttempts = 0;
while (thumbnailData.length > THUMBNAIL_DATA_LIMIT &&
while (thumbnailData.length > kThumbnailDataLimit &&
compressionAttempts < kMaximumThumbnailCompressionAttempts) {
_logger.info("Thumbnail size " + thumbnailData.length.toString());
thumbnailData = await compressThumbnail(thumbnailData);

View file

@ -2,12 +2,12 @@ import 'dart:async';
import 'dart:io' as io;
import 'dart:typed_data';
import 'package:flutter_sodium/flutter_sodium.dart';
import 'package:logging/logging.dart';
import 'package:path/path.dart';
import 'package:dio/dio.dart';
import 'package:flutter_cache_manager/flutter_cache_manager.dart';
import 'package:flutter_image_compress/flutter_image_compress.dart';
import 'package:flutter_sodium/flutter_sodium.dart';
import 'package:logging/logging.dart';
import 'package:path/path.dart';
import 'package:photos/core/cache/image_cache.dart';
import 'package:photos/core/cache/thumbnail_cache.dart';
import 'package:photos/core/cache/video_cache_manager.dart';
@ -48,19 +48,19 @@ void preloadThumbnail(ente.File file) {
if (file.isRemoteFile()) {
getThumbnailFromServer(file);
} else {
if (ThumbnailLruCache.get(file, THUMBNAIL_SMALL_SIZE) != null) {
if (ThumbnailLruCache.get(file, kThumbnailSmallSize) != null) {
return;
}
file.getAsset().then((asset) {
if (asset != null) {
asset
.thumbDataWithSize(
THUMBNAIL_SMALL_SIZE,
THUMBNAIL_SMALL_SIZE,
quality: THUMBNAIL_QUALITY,
kThumbnailSmallSize,
kThumbnailSmallSize,
quality: kThumbnailQuality,
)
.then((data) {
ThumbnailLruCache.put(file, data, THUMBNAIL_SMALL_SIZE);
ThumbnailLruCache.put(file, data, kThumbnailSmallSize);
});
}
});
@ -136,11 +136,11 @@ Future<io.File> _downloadAndDecrypt(
var fileExtension = "unknown";
try {
fileExtension = extension(file.title).substring(1).toLowerCase();
} catch(e) {
} catch (e) {
_logger.severe("Could not capture file extension");
}
var outputFile = decryptedFile;
if ((fileExtension=="unknown" && file.fileType == FileType.image) ||
if ((fileExtension == "unknown" && file.fileType == FileType.image) ||
(io.Platform.isAndroid && fileExtension == "heic")) {
outputFile = await FlutterImageCompress.compressAndGetFile(
decryptedFilePath,
@ -175,8 +175,8 @@ Uint8List decryptFileKey(ente.File file) {
Future<Uint8List> compressThumbnail(Uint8List thumbnail) {
return FlutterImageCompress.compressWithList(
thumbnail,
minHeight: COMPRESSED_THUMBNAIL_RESOLUTION,
minWidth: COMPRESSED_THUMBNAIL_RESOLUTION,
minHeight: kCompressedThumbnailResolution,
minWidth: kCompressedThumbnailResolution,
quality: 25,
);
}

View file

@ -1,6 +1,6 @@
import 'dart:async';
import 'dart:collection';
import 'dart:io' as io;
import 'dart:typed_data';
import 'package:dio/dio.dart';
@ -15,8 +15,6 @@ import 'package:photos/models/file.dart';
import 'package:photos/utils/crypto_util.dart';
import 'package:photos/utils/file_util.dart';
import 'dart:io' as io;
final _logger = Logger("ThumbnailUtil");
final _map = LinkedHashMap<int, FileDownloadItem>();
final _queue = Queue<int>();
@ -110,7 +108,7 @@ Future<void> _downloadAndDecryptThumbnail(FileDownloadItem item) async {
Sodium.base642bin(file.thumbnailDecryptionHeader),
);
final thumbnailSize = data.length;
if (thumbnailSize > THUMBNAIL_DATA_LIMIT) {
if (thumbnailSize > kThumbnailDataLimit) {
data = await compressThumbnail(data);
}
ThumbnailLruCache.put(item.file, data);
@ -132,5 +130,6 @@ Future<void> _downloadAndDecryptThumbnail(FileDownloadItem item) async {
io.File getCachedThumbnail(File file) {
final thumbnailCacheDirectory =
Configuration.instance.getThumbnailCacheDirectory();
return io.File(thumbnailCacheDirectory + "/" + file.uploadedFileID.toString());
}
return io.File(
thumbnailCacheDirectory + "/" + file.uploadedFileID.toString());
}