|
@@ -9,7 +9,7 @@ import 'package:photos/models/collection.dart';
|
|
import 'package:photos/models/collection_items.dart';
|
|
import 'package:photos/models/collection_items.dart';
|
|
import 'package:photos/models/file.dart';
|
|
import 'package:photos/models/file.dart';
|
|
import 'package:photos/models/location.dart';
|
|
import 'package:photos/models/location.dart';
|
|
-import 'package:photos/models/search/holiday_data.dart';
|
|
|
|
|
|
+import 'package:photos/models/search/holiday_search_result.dart';
|
|
import 'package:photos/models/search/location_api_response.dart';
|
|
import 'package:photos/models/search/location_api_response.dart';
|
|
import 'package:photos/models/search/location_search_result.dart';
|
|
import 'package:photos/models/search/location_search_result.dart';
|
|
import 'package:photos/services/collections_service.dart';
|
|
import 'package:photos/services/collections_service.dart';
|
|
@@ -21,11 +21,11 @@ class SearchService {
|
|
final _logger = Logger((SearchService).toString());
|
|
final _logger = Logger((SearchService).toString());
|
|
final _collectionService = CollectionsService.instance;
|
|
final _collectionService = CollectionsService.instance;
|
|
static const _maximumResultsLimit = 20;
|
|
static const _maximumResultsLimit = 20;
|
|
- static const List<HolidayData> holidays = [
|
|
|
|
- HolidayData('Chirstmas', 11, 25),
|
|
|
|
- HolidayData('Christmas Eve', 11, 24),
|
|
|
|
- HolidayData('New Year', 0, 1),
|
|
|
|
- HolidayData('New Year Eve', 11, 31),
|
|
|
|
|
|
+ static final List<HolidaySearchResult> holidays = [
|
|
|
|
+ HolidaySearchResult('Christmas', 11, 25),
|
|
|
|
+ HolidaySearchResult('Christmas Eve', 11, 24),
|
|
|
|
+ HolidaySearchResult('New Year', 0, 1),
|
|
|
|
+ HolidaySearchResult('New Year Eve', 11, 31),
|
|
];
|
|
];
|
|
|
|
|
|
SearchService._privateConstructor();
|
|
SearchService._privateConstructor();
|
|
@@ -160,6 +160,17 @@ class SearchService {
|
|
return yearSearchResults;
|
|
return yearSearchResults;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ List<HolidaySearchResult> getHolidaySearchResults(String query) {
|
|
|
|
+ final nonCaseSensitiveRegexForQuery = RegExp(query, caseSensitive: false);
|
|
|
|
+ final List<HolidaySearchResult> holidaySearchResult = [];
|
|
|
|
+ for (HolidaySearchResult holiday in holidays) {
|
|
|
|
+ if (holiday.name.contains(nonCaseSensitiveRegexForQuery)) {
|
|
|
|
+ holidaySearchResult.add(holiday);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ return holidaySearchResult;
|
|
|
|
+ }
|
|
|
|
+
|
|
bool _isValidLocation(Location location) {
|
|
bool _isValidLocation(Location location) {
|
|
return location != null &&
|
|
return location != null &&
|
|
location.latitude != null &&
|
|
location.latitude != null &&
|