From 38d6ee430a05bdee882c4cc124ab9a3d72b0ecec Mon Sep 17 00:00:00 2001 From: Thibault Deckers Date: Sat, 23 Mar 2024 14:27:38 +0100 Subject: [PATCH] #956 fairphone burst pattern --- CHANGELOG.md | 4 ++++ lib/model/settings/settings.dart | 3 ++- lib/ref/bursts.dart | 8 +++++++- 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b5b5ba5d6..969b0d010 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,10 @@ All notable changes to this project will be documented in this file. ## [Unreleased] +### Added + +- Collection: support for Fairphone burst pattern + ### Changed - upgraded Flutter to stable v3.19.4 diff --git a/lib/model/settings/settings.dart b/lib/model/settings/settings.dart index f8a7325d8..51a19966f 100644 --- a/lib/model/settings/settings.dart +++ b/lib/model/settings/settings.dart @@ -83,7 +83,8 @@ class Settings with ChangeNotifier, SettingsAccess, AppSettings, DisplaySettings enableBlurEffect = performanceClass >= 29; final androidInfo = await DeviceInfoPlugin().androidInfo; - final pattern = BurstPatterns.byManufacturer[androidInfo.manufacturer]; + final manufacturer = androidInfo.manufacturer.toLowerCase(); + final pattern = BurstPatterns.byManufacturer[manufacturer]; collectionBurstPatterns = pattern != null ? [pattern] : []; // availability diff --git a/lib/ref/bursts.dart b/lib/ref/bursts.dart index 65e590a19..d7046729a 100644 --- a/lib/ref/bursts.dart +++ b/lib/ref/bursts.dart @@ -1,16 +1,19 @@ class BurstPatterns { static const _keyGroupName = 'key'; + static const fairphone = r'^IMG_(?\d{8}_\d{6})_BURST(\d+)$'; static const samsung = r'^(?\d{8}_\d{6})_(\d+)$'; static const sony = r'^DSC(PDC)?_\d+_BURST(?\d{17})(_COVER)?$'; static final options = [ + BurstPatterns.fairphone, BurstPatterns.samsung, BurstPatterns.sony, ]; static String getName(String pattern) { return switch (pattern) { + fairphone => 'Fairphone', samsung => 'Samsung', sony => 'Sony', _ => pattern, @@ -19,6 +22,7 @@ class BurstPatterns { static String getExample(String pattern) { return switch (pattern) { + fairphone => 'IMG_20151021_072800_BURST007', samsung => '20151021_072800_007', sony => 'DSC_0007_BURST20151021072800123', _ => '?', @@ -26,6 +30,7 @@ class BurstPatterns { } static const byManufacturer = { + _Manufacturers.fairphone: fairphone, _Manufacturers.samsung: samsung, _Manufacturers.sony: sony, }; @@ -47,8 +52,9 @@ class BurstPatterns { } } -// values as returned by `DeviceInfoPlugin().androidInfo` +// values as returned by `DeviceInfoPlugin().androidInfo` (lower-cased) class _Manufacturers { + static const fairphone = 'fairphone'; static const samsung = 'samsung'; static const sony = 'sony'; }