Update to adhere to the new face-search API

This commit is contained in:
Vishnu Mohandas 2020-07-20 03:21:45 +05:30
parent 7c75093b15
commit 185b2f078b
4 changed files with 13 additions and 9 deletions

View file

@ -29,7 +29,8 @@ class FaceSearchManager {
}
Future<List<File>> getFaceSearchResults(
Face face, int sinceTime, int limit) async {
Face face, int beforeCreationTime, int limit) async {
_logger.info("Fetching since creation " + beforeCreationTime.toString());
final result = await _dio
.get(
Configuration.instance.getHttpEndpoint() +
@ -37,7 +38,7 @@ class FaceSearchManager {
face.faceID.toString(),
queryParameters: {
"limit": limit,
"sinceTime": sinceTime,
"beforeCreationTime": beforeCreationTime,
},
options:
Options(headers: {"X-Auth-Token": Configuration.instance.getToken()}),

View file

@ -15,9 +15,12 @@ class FaceSearchResultsPage extends StatelessWidget {
@override
Widget build(BuildContext context) {
var gallery = Gallery(
asyncLoader: (sinceFile, limit) =>
_faceSearchManager.getFaceSearchResults(
face, sinceFile == null ? 0 : sinceFile.updationTime, limit),
asyncLoader: (lastFile, limit) => _faceSearchManager.getFaceSearchResults(
face,
lastFile == null
? DateTime.now().microsecondsSinceEpoch
: lastFile.creationTime,
limit),
tagPrefix: "face_search_results",
selectedFiles: selectedFiles,
);

View file

@ -16,7 +16,7 @@ import 'package:pull_to_refresh/pull_to_refresh.dart';
class Gallery extends StatefulWidget {
final List<File> Function() syncLoader;
final Future<List<File>> Function(File file, int limit) asyncLoader;
final Future<List<File>> Function(File lastFile, int limit) asyncLoader;
// TODO: Verify why the event is necessary when calling loader post onRefresh
// should have done the job.
final Stream<Event> reloadEvent;
@ -40,7 +40,7 @@ class Gallery extends StatefulWidget {
}
class _GalleryState extends State<Gallery> {
static final int kLoadLimit = 100;
static final int kLoadLimit = 200;
static final int kEagerLoadTrigger = 10;
final Logger _logger = Logger("Gallery");

View file

@ -21,9 +21,9 @@ class _RemoteFolderPageState extends State<RemoteFolderPage> {
@override
Widget build(Object context) {
var gallery = Gallery(
asyncLoader: (sinceFile, limit) => FileDB.instance.getAllInFolder(
asyncLoader: (lastFile, limit) => FileDB.instance.getAllInFolder(
widget.folder.id,
sinceFile == null ? 0 : sinceFile.updationTime,
lastFile == null ? 0 : lastFile.updationTime,
limit),
onRefresh: () => FolderSharingService.instance.syncDiff(widget.folder),
tagPrefix: "remote_folder",