[mob][photos] Show magic section in search tab from cached results
This commit is contained in:
@@ -1,4 +1,3 @@
|
||||
import "dart:convert";
|
||||
import "dart:math";
|
||||
|
||||
import "package:flutter/cupertino.dart";
|
||||
@@ -33,13 +32,14 @@ import "package:photos/services/location_service.dart";
|
||||
import "package:photos/services/machine_learning/face_ml/face_filtering/face_filtering_constants.dart";
|
||||
import "package:photos/services/machine_learning/face_ml/person/person_service.dart";
|
||||
import 'package:photos/services/machine_learning/semantic_search/semantic_search_service.dart';
|
||||
import "package:photos/services/remote_assets_service.dart";
|
||||
import "package:photos/services/magic_cache_service.dart";
|
||||
import "package:photos/states/location_screen_state.dart";
|
||||
import "package:photos/ui/viewer/location/add_location_sheet.dart";
|
||||
import "package:photos/ui/viewer/location/location_screen.dart";
|
||||
import "package:photos/ui/viewer/people/cluster_page.dart";
|
||||
import "package:photos/ui/viewer/people/people_page.dart";
|
||||
import 'package:photos/utils/date_time_util.dart';
|
||||
import "package:photos/utils/local_settings.dart";
|
||||
import "package:photos/utils/navigation_util.dart";
|
||||
import 'package:tuple/tuple.dart';
|
||||
|
||||
@@ -49,9 +49,9 @@ class SearchService {
|
||||
final _logger = Logger((SearchService).toString());
|
||||
final _collectionService = CollectionsService.instance;
|
||||
static const _maximumResultsLimit = 20;
|
||||
static const _kMagicPromptsDataUrl = "https://discover.ente.io/v1.json";
|
||||
// static const _kMagicPromptsDataUrl = "https://discover.ente.io/v1.json";
|
||||
|
||||
var magicPromptsData = [];
|
||||
// var magicPromptsData = [];
|
||||
|
||||
SearchService._privateConstructor();
|
||||
|
||||
@@ -64,17 +64,17 @@ class SearchService {
|
||||
_cachedHiddenFilesFuture = null;
|
||||
});
|
||||
if (flagService.internalUser) {
|
||||
_loadMagicPrompts();
|
||||
// _loadMagicPrompts();
|
||||
}
|
||||
}
|
||||
|
||||
Future<dynamic> _loadMagicPrompts() async {
|
||||
final file = await RemoteAssetsService.instance
|
||||
.getAsset(_kMagicPromptsDataUrl, refetch: true);
|
||||
// Future<dynamic> _loadMagicPrompts() async {
|
||||
// final file = await RemoteAssetsService.instance
|
||||
// .getAsset(_kMagicPromptsDataUrl, refetch: true);
|
||||
|
||||
final json = jsonDecode(await file.readAsString());
|
||||
magicPromptsData = json["prompts"];
|
||||
}
|
||||
// final json = jsonDecode(await file.readAsString());
|
||||
// magicPromptsData = json["prompts"];
|
||||
// }
|
||||
|
||||
Set<int> ignoreCollections() {
|
||||
return CollectionsService.instance.getHiddenCollectionIds();
|
||||
@@ -192,26 +192,12 @@ class SearchService {
|
||||
}
|
||||
|
||||
Future<List<GenericSearchResult>> getMagicSectionResutls() async {
|
||||
if (!SemanticSearchService.instance.isMagicSearchEnabledAndReady()) {
|
||||
if (LocalSettings.instance.hasEnabledMagicSearch() &&
|
||||
flagService.internalUser) {
|
||||
return MagicCacheService.instance.getMagicGenericSearchResult();
|
||||
} else {
|
||||
return <GenericSearchResult>[];
|
||||
}
|
||||
final searchResuts = <GenericSearchResult>[];
|
||||
for (Map<String, dynamic> magicPrompt in magicPromptsData) {
|
||||
final files = await SemanticSearchService.instance.getMatchingFiles(
|
||||
magicPrompt["prompt"],
|
||||
scoreThreshold: magicPrompt["minimumScore"],
|
||||
);
|
||||
if (files.isNotEmpty) {
|
||||
searchResuts.add(
|
||||
GenericSearchResult(
|
||||
ResultType.magic,
|
||||
magicPrompt["title"],
|
||||
files,
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
return searchResuts;
|
||||
}
|
||||
|
||||
Future<List<GenericSearchResult>> getRandomMomentsSearchResults(
|
||||
|
||||
Reference in New Issue
Block a user