Refactoring

This commit is contained in:
ashilkn 2023-04-18 11:57:55 +05:30
parent 13cd4ce322
commit 85e011c762
3 changed files with 13 additions and 12 deletions

View file

@ -193,8 +193,7 @@ class File extends EnteFile {
if ((fileType == FileType.image || fileType == FileType.video) &&
Platform.isAndroid) {
//Fix for missing location data in lower android versions.
final exifLocation =
(await gpsDataFromExif(exifData)).toLocationObj();
final exifLocation = locationFromExif(exifData);
if (exifLocation?.latitude != null &&
exifLocation?.longitude != null) {
location = exifLocation;

View file

@ -60,11 +60,9 @@ class _FileDetailsWidgetState extends State<FileDetailsWidget> {
_currentUserID = Configuration.instance.getUserID()!;
_isImage = widget.file.fileType == FileType.image ||
widget.file.fileType == FileType.livePhoto;
_exifNotifier.addListener(() async {
_exifNotifier.addListener(() {
if (_exifNotifier.value != null) {
_hasLocationData().then(
(value) => hasLocationDataNotifer.value = value,
);
hasLocationDataNotifer.value = _hasLocationData();
}
});
if (_isImage) {
@ -234,7 +232,7 @@ class _FileDetailsWidgetState extends State<FileDetailsWidget> {
);
}
Future<bool> _hasLocationData() async {
bool _hasLocationData() {
final fileLocation = widget.file.location;
bool hasLocation = (fileLocation != null &&
fileLocation.latitude != null &&
@ -245,14 +243,13 @@ class _FileDetailsWidgetState extends State<FileDetailsWidget> {
//missing and the EXIF has location data. This is only happens for a
//certain specific minority of devices.
if (!hasLocation) {
hasLocation = await _setLocationDataFromExif();
hasLocation = _setLocationDataFromExif();
}
return hasLocation;
}
Future<bool> _setLocationDataFromExif() async {
final locationDataFromExif =
(await gpsDataFromExif(_exifNotifier.value!)).toLocationObj();
bool _setLocationDataFromExif() {
final locationDataFromExif = locationFromExif(_exifNotifier.value!);
if (locationDataFromExif?.latitude != null &&
locationDataFromExif?.longitude != null) {
widget.file.location = locationDataFromExif;

View file

@ -4,6 +4,7 @@ import 'package:exif/exif.dart';
import 'package:intl/intl.dart';
import 'package:logging/logging.dart';
import 'package:photos/models/file.dart';
import "package:photos/models/location/location.dart";
import "package:photos/services/location_service.dart";
import 'package:photos/utils/file_util.dart';
@ -62,7 +63,11 @@ Future<DateTime?> getCreationTimeFromEXIF(
return null;
}
Future<GPSData> gpsDataFromExif(Map<String, IfdTag> exif) async {
Location? locationFromExif(Map<String, IfdTag> exif) {
return _gpsDataFromExif(exif).toLocationObj();
}
GPSData _gpsDataFromExif(Map<String, IfdTag> exif) {
final Map<String, dynamic> exifLocationData = {
"lat": null,
"long": null,