@@ -714,40 +714,44 @@ class _FileSelectionActionsWidgetState
|
||||
}
|
||||
|
||||
Future<void> _onNotpersonClicked() async {
|
||||
final actionResult = await showActionSheet(
|
||||
context: context,
|
||||
buttons: [
|
||||
ButtonWidget(
|
||||
labelText: S.of(context).yesRemove,
|
||||
buttonType: ButtonType.neutral,
|
||||
buttonSize: ButtonSize.large,
|
||||
shouldStickToDarkTheme: true,
|
||||
buttonAction: ButtonAction.first,
|
||||
isInAlert: true,
|
||||
),
|
||||
ButtonWidget(
|
||||
labelText: S.of(context).cancel,
|
||||
buttonType: ButtonType.secondary,
|
||||
buttonSize: ButtonSize.large,
|
||||
buttonAction: ButtonAction.second,
|
||||
shouldStickToDarkTheme: true,
|
||||
isInAlert: true,
|
||||
),
|
||||
],
|
||||
title: "Remove these photos for ${widget.person!.data.name}?",
|
||||
actionSheetType: ActionSheetType.defaultActionSheet,
|
||||
);
|
||||
if (actionResult?.action != null) {
|
||||
if (actionResult!.action == ButtonAction.first) {
|
||||
await ClusterFeedbackService.instance.removeFilesFromPerson(
|
||||
widget.selectedFiles.files.toList(),
|
||||
widget.person!,
|
||||
);
|
||||
try {
|
||||
final actionResult = await showActionSheet(
|
||||
context: context,
|
||||
buttons: [
|
||||
ButtonWidget(
|
||||
labelText: S.of(context).yesRemove,
|
||||
buttonType: ButtonType.neutral,
|
||||
buttonSize: ButtonSize.large,
|
||||
shouldStickToDarkTheme: true,
|
||||
buttonAction: ButtonAction.first,
|
||||
isInAlert: true,
|
||||
),
|
||||
ButtonWidget(
|
||||
labelText: S.of(context).cancel,
|
||||
buttonType: ButtonType.secondary,
|
||||
buttonSize: ButtonSize.large,
|
||||
buttonAction: ButtonAction.second,
|
||||
shouldStickToDarkTheme: true,
|
||||
isInAlert: true,
|
||||
),
|
||||
],
|
||||
title: "Remove these photos for ${widget.person!.data.name}?",
|
||||
actionSheetType: ActionSheetType.defaultActionSheet,
|
||||
);
|
||||
if (actionResult?.action != null) {
|
||||
if (actionResult!.action == ButtonAction.first) {
|
||||
await ClusterFeedbackService.instance.removeFilesFromPerson(
|
||||
widget.selectedFiles.files.toList(),
|
||||
widget.person!,
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
widget.selectedFiles.clearAll();
|
||||
if (mounted) {
|
||||
setState(() => {});
|
||||
widget.selectedFiles.clearAll();
|
||||
if (mounted) {
|
||||
setState(() => {});
|
||||
}
|
||||
} catch (e, s) {
|
||||
_logger.severe("Failed to initiate `notPersonLabel`", e, s);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -5,6 +5,7 @@ import "dart:typed_data";
|
||||
import "package:flutter/cupertino.dart";
|
||||
import "package:flutter/foundation.dart" show kDebugMode;
|
||||
import "package:flutter/material.dart";
|
||||
import "package:logging/logging.dart";
|
||||
import "package:photos/db/ml/db.dart";
|
||||
import "package:photos/generated/l10n.dart";
|
||||
import "package:photos/models/base/id.dart";
|
||||
@@ -50,6 +51,8 @@ class FaceWidget extends StatefulWidget {
|
||||
class _FaceWidgetState extends State<FaceWidget> {
|
||||
bool isJustRemoved = false;
|
||||
|
||||
final _logger = Logger("FaceWidget");
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
final bool givenFaces = widget.faceCrops != null;
|
||||
@@ -266,7 +269,9 @@ class _FaceWidgetState extends State<FaceWidget> {
|
||||
);
|
||||
}
|
||||
if (snapshot.hasError) {
|
||||
log('Error getting face: ${snapshot.error}');
|
||||
_logger.severe(
|
||||
'Error getting face: ${snapshot.error} ${snapshot.stackTrace}',
|
||||
);
|
||||
}
|
||||
return const ClipRRect(
|
||||
borderRadius: BorderRadius.all(Radius.elliptical(16, 12)),
|
||||
@@ -296,7 +301,9 @@ class _FaceWidgetState extends State<FaceWidget> {
|
||||
isJustRemoved = !isJustRemoved;
|
||||
});
|
||||
} catch (e, s) {
|
||||
log("removing face/file from cluster from file info widget failed: $e, \n $s");
|
||||
_logger.severe(
|
||||
"removing face/file from cluster from file info widget failed: $e, \n $s",
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
import "dart:async";
|
||||
import "dart:developer";
|
||||
|
||||
import 'package:flutter/material.dart';
|
||||
import "package:logging/logging.dart";
|
||||
@@ -102,7 +101,6 @@ class _PeoplePageState extends State<PeoplePage> {
|
||||
}
|
||||
|
||||
Future<List<EnteFile>> loadPersonFiles() async {
|
||||
log("loadPersonFiles");
|
||||
final result = await SearchService.instance
|
||||
.getClusterFilesForPersonID(_person.remoteID);
|
||||
if (result.isEmpty) {
|
||||
@@ -243,7 +241,7 @@ class _PeoplePageState extends State<PeoplePage> {
|
||||
],
|
||||
);
|
||||
} else if (snapshot.hasError) {
|
||||
log("Error: ${snapshot.error} ${snapshot.stackTrace}}");
|
||||
_logger.severe("Error: ${snapshot.error} ${snapshot.stackTrace}}");
|
||||
//Need to show an error on the UI here
|
||||
return const SizedBox.shrink();
|
||||
} else {
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
import 'dart:async';
|
||||
import "dart:developer" as dev;
|
||||
import "dart:io";
|
||||
import "dart:math" show max;
|
||||
|
||||
@@ -444,7 +443,7 @@ class _SaveOrEditPersonState extends State<SaveOrEditPerson> {
|
||||
stream: _getPersonsWithRecentFileStream(),
|
||||
builder: (context, snapshot) {
|
||||
if (snapshot.hasError) {
|
||||
dev.log("Error: ${snapshot.error} ${snapshot.stackTrace}}");
|
||||
_logger.severe("Error in _getPersonItems: ${snapshot.error} ${snapshot.stackTrace}}");
|
||||
if (kDebugMode) {
|
||||
return Column(
|
||||
mainAxisSize: MainAxisSize.min,
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import "dart:developer";
|
||||
import "dart:typed_data";
|
||||
|
||||
import 'package:flutter/widgets.dart';
|
||||
import "package:logging/logging.dart";
|
||||
import "package:photos/db/files_db.dart";
|
||||
import "package:photos/db/ml/db.dart";
|
||||
import 'package:photos/models/file/file.dart';
|
||||
@@ -15,6 +15,8 @@ import "package:photos/ui/common/loading_widget.dart";
|
||||
import "package:photos/ui/viewer/file/thumbnail_widget.dart";
|
||||
import "package:photos/utils/face/face_box_crop.dart";
|
||||
|
||||
final _logger = Logger("PersonFaceWidget");
|
||||
|
||||
class PersonFaceWidget extends StatefulWidget {
|
||||
final EnteFile file;
|
||||
final String? personId;
|
||||
@@ -73,7 +75,9 @@ class _PersonFaceWidgetState extends State<PersonFaceWidget> {
|
||||
);
|
||||
} else {
|
||||
if (snapshot.hasError) {
|
||||
log('Error getting cover face for person: ${snapshot.error}');
|
||||
_logger.severe(
|
||||
"Error getting cover face for person: ${snapshot.error} ${snapshot.stackTrace}}",
|
||||
);
|
||||
}
|
||||
return widget.thumbnailFallback
|
||||
? ThumbnailWidget(widget.file)
|
||||
@@ -160,10 +164,10 @@ class _PersonFaceWidgetState extends State<PersonFaceWidget> {
|
||||
);
|
||||
return cropMap?[face.faceID];
|
||||
} catch (e, s) {
|
||||
log(
|
||||
_logger.severe(
|
||||
"Error getting cover face for person: ${widget.personId} and cluster ${widget.clusterID}",
|
||||
error: e,
|
||||
stackTrace: s,
|
||||
e,
|
||||
s,
|
||||
);
|
||||
return null;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user