From 19b1beee6c41c14708cd2f195ca77950494a4784 Mon Sep 17 00:00:00 2001 From: Neeraj Gupta <254676+ua741@users.noreply.github.com> Date: Tue, 13 Jun 2023 16:28:08 +0530 Subject: [PATCH 01/10] Override ffi for tflite_flutter_helper Signed-off-by: Neeraj Gupta <254676+ua741@users.noreply.github.com> --- pubspec.yaml | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/pubspec.yaml b/pubspec.yaml index 5ea01b555..14352e493 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -138,7 +138,13 @@ dependencies: widgets_to_image: ^0.0.2 flutter_intl: - enabled: true + enabled: true + +dependency_overrides: + # package_info_plus depends on ffi ^2 but tflite_flutter_helper + # depends on ffi: ^1 + ffi: ^1.0.0 + dev_dependencies: build_runner: ^2.3.3 From 5d4784e3ff2f56f088f08ce917adb2b05baf0289 Mon Sep 17 00:00:00 2001 From: Neeraj Gupta <254676+ua741@users.noreply.github.com> Date: Tue, 13 Jun 2023 16:31:15 +0530 Subject: [PATCH 02/10] Upgrade packages --- android/build.gradle | 2 +- pubspec.lock | 110 +++++++++++++++---------------------------- pubspec.yaml | 8 ++-- 3 files changed, 44 insertions(+), 76 deletions(-) diff --git a/android/build.gradle b/android/build.gradle index 8e1176b4c..ce75713c0 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -32,6 +32,6 @@ subprojects { project.evaluationDependsOn(':app') } -task clean(type: Delete) { +tasks.register("clean", Delete) { delete rootProject.buildDir } diff --git a/pubspec.lock b/pubspec.lock index 6f9115fb0..4a58454c3 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -69,10 +69,10 @@ packages: dependency: transitive description: name: async - sha256: bfe67ef28df125b7dddcea62755991f807aa39a2492a23e1550161692950bbe0 + sha256: "947bfcf187f74dbc5e146c9eb9c0f10c9f8b30743e341481c1e2ed3ecc18c20c" url: "https://pub.dev" source: hosted - version: "2.10.0" + version: "2.11.0" background_fetch: dependency: "direct main" description: @@ -229,10 +229,10 @@ packages: dependency: transitive description: name: characters - sha256: e6a326c8af69605aec75ed6c187d06b349707a27fbff8222ca9cc2cff167975c + sha256: "04a925763edad70e8443c99234dc3328f442e811f1d8fd1a72f1c8ad0f69a605" url: "https://pub.dev" source: hosted - version: "1.2.1" + version: "1.3.0" checked_yaml: dependency: transitive description: @@ -270,10 +270,10 @@ packages: dependency: "direct main" description: name: collection - sha256: cfc915e6923fe5ce6e153b0723c753045de46de1b4d63771530504004a45fae0 + sha256: "4a07be6cb69c84d677a6c3096fcf960cc3285a8330b4603e0d463d15d9bd934c" url: "https://pub.dev" source: hosted - version: "1.17.0" + version: "1.17.1" computer: dependency: "direct main" description: @@ -463,18 +463,18 @@ packages: dependency: "direct main" description: name: expansion_tile_card - sha256: "0812d52e4a2effa4957286b9037c81394e1881ac49bcd8f006f631f2ea5ef6eb" + sha256: "27ce4cb518f00e21d0f2309aaa6462b26b148e93cee2029a73088cecf42b1eb0" url: "https://pub.dev" source: hosted - version: "2.0.0" + version: "3.0.0" extended_image: dependency: "direct main" description: name: extended_image - sha256: a6b738d9b8d5513be72c545cc3e9c5c451fbee77c8db3cbec7c32ae85b82fb93 + sha256: e77d18f956649ba6e5ecebd0cb68542120886336a75ee673788145bd4c3f0767 url: "https://pub.dev" source: hosted - version: "6.4.1" + version: "8.0.2" extended_image_library: dependency: transitive description: @@ -500,7 +500,7 @@ packages: source: hosted version: "0.2.1" ffi: - dependency: transitive + dependency: "direct overridden" description: name: ffi sha256: "13a6ccf6a459a125b3fcdb6ec73bd5ff90822e071207c663bfd1f70062d51d18" @@ -986,10 +986,10 @@ packages: dependency: "direct main" description: name: intl - sha256: "910f85bce16fb5c6f614e117efa303e85a1731bb0081edf3604a2ae6e9a3cc91" + sha256: a3715e3bc90294e971cb7dc063fbf3cd9ee0ebf8604ffeafabd9e6f16abbdbe6 url: "https://pub.dev" source: hosted - version: "0.17.0" + version: "0.18.0" io: dependency: transitive description: @@ -1002,10 +1002,10 @@ packages: dependency: transitive description: name: js - sha256: "5528c2f391ededb7775ec1daa69e65a2d61276f7552de2b5f7b8d34ee9fd4ab7" + sha256: f2c445dce49627136094980615a031419f7f3eb393237e4ecd97ac15dea343f3 url: "https://pub.dev" source: hosted - version: "0.6.5" + version: "0.6.7" json_annotation: dependency: "direct main" description: @@ -1106,10 +1106,10 @@ packages: dependency: transitive description: name: matcher - sha256: "16db949ceee371e9b99d22f88fa3a73c4e59fd0afed0bd25fc336eb76c198b72" + sha256: "6501fbd55da300384b768785b83e5ce66991266cec21af89ab9ae7f5ce1c4cbb" url: "https://pub.dev" source: hosted - version: "0.12.13" + version: "0.12.15" material_color_utilities: dependency: transitive description: @@ -1130,10 +1130,10 @@ packages: dependency: transitive description: name: meta - sha256: "6c268b42ed578a53088d834796959e4a1814b5e9e164f147f580a386e5decf42" + sha256: "3c74dbf8763d36539f114c799d8a2d87343b5067e9d796ca22b5eb8437090ee3" url: "https://pub.dev" source: hosted - version: "1.8.0" + version: "1.9.1" mime: dependency: transitive description: @@ -1228,50 +1228,18 @@ packages: dependency: "direct main" description: name: package_info_plus - sha256: "7a6114becdf042be2b0777d77ace954d4a205644171a1cbd8712976b9bbb837c" + sha256: cbff87676c352d97116af6dbea05aa28c4d65eb0f6d5677a520c11a69ca9a24d url: "https://pub.dev" source: hosted - version: "1.4.2" - package_info_plus_linux: - dependency: transitive - description: - name: package_info_plus_linux - sha256: "04b575f44233d30edbb80a94e57cad9107aada334fc02aabb42b6becd13c43fc" - url: "https://pub.dev" - source: hosted - version: "1.0.5" - package_info_plus_macos: - dependency: transitive - description: - name: package_info_plus_macos - sha256: a2ad8b4acf4cd479d4a0afa5a74ea3f5b1c7563b77e52cc32b3ee6956d5482a6 - url: "https://pub.dev" - source: hosted - version: "1.3.0" + version: "3.1.0" package_info_plus_platform_interface: dependency: transitive description: name: package_info_plus_platform_interface - sha256: f7a0c8f1e7e981bc65f8b64137a53fd3c195b18d429fba960babc59a5a1c7ae8 + sha256: "9bc8ba46813a4cc42c66ab781470711781940780fd8beddd0c3da62506d3a6c6" url: "https://pub.dev" source: hosted - version: "1.0.2" - package_info_plus_web: - dependency: transitive - description: - name: package_info_plus_web - sha256: f0829327eb534789e0a16ccac8936a80beed4e2401c4d3a74f3f39094a822d3b - url: "https://pub.dev" - source: hosted - version: "1.0.6" - package_info_plus_windows: - dependency: transitive - description: - name: package_info_plus_windows - sha256: a6040b8695c82f8dd3c3d4dfab7ef96fbe9c67aac21b9bcf5db272589ef84441 - url: "https://pub.dev" - source: hosted - version: "1.0.5" + version: "2.0.1" page_transition: dependency: "direct main" description: @@ -1292,10 +1260,10 @@ packages: dependency: "direct main" description: name: path - sha256: db9d4f58c908a4ba5953fcee2ae317c94889433e5024c27ce74a37f94267945b + sha256: "8829d8a55c13fc0e37127c29fedf290c102f4e40ae94ada574091fe0ff96c917" url: "https://pub.dev" source: hosted - version: "1.8.2" + version: "1.8.3" path_drawing: dependency: transitive description: @@ -1817,26 +1785,26 @@ packages: dependency: "direct dev" description: name: test - sha256: a5fcd2d25eeadbb6589e80198a47d6a464ba3e2049da473943b8af9797900c2d + sha256: "3dac9aecf2c3991d09b9cdde4f98ded7b30804a88a0d7e4e7e1678e78d6b97f4" url: "https://pub.dev" source: hosted - version: "1.22.0" + version: "1.24.1" test_api: dependency: transitive description: name: test_api - sha256: ad540f65f92caa91bf21dfc8ffb8c589d6e4dc0c2267818b4cc2792857706206 + sha256: eb6ac1540b26de412b3403a163d919ba86f6a973fe6cc50ae3541b80092fdcfb url: "https://pub.dev" source: hosted - version: "0.4.16" + version: "0.5.1" test_core: dependency: transitive description: name: test_core - sha256: "0ef9755ec6d746951ba0aabe62f874b707690b5ede0fecc818b138fcc9b14888" + sha256: "5138dbffb77b2289ecb12b81c11ba46036590b72a64a7a90d6ffb880f1a29e93" url: "https://pub.dev" source: hosted - version: "0.4.20" + version: "0.5.1" tflite_flutter: dependency: "direct main" description: @@ -2059,10 +2027,10 @@ packages: dependency: transitive description: name: vm_service - sha256: e7fb6c2282f7631712b69c19d1bff82f3767eea33a2321c14fa59ad67ea391c7 + sha256: f6deed8ed625c52864792459709183da231ebf66ff0cf09e69b573227c377efe url: "https://pub.dev" source: hosted - version: "9.4.0" + version: "11.3.0" wakelock: dependency: "direct main" description: @@ -2131,10 +2099,10 @@ packages: dependency: transitive description: name: webdriver - sha256: ef67178f0cc7e32c1494645b11639dd1335f1d18814aa8435113a92e9ef9d841 + sha256: "3c923e918918feeb90c4c9fdf1fe39220fa4c0e8e2c0fffaded174498ef86c49" url: "https://pub.dev" source: hosted - version: "3.0.1" + version: "3.0.2" webkit_inspection_protocol: dependency: transitive description: @@ -2155,10 +2123,10 @@ packages: dependency: transitive description: name: win32 - sha256: c0e3a4f7be7dae51d8f152230b86627e3397c1ba8c3fa58e63d44a9f3edc9cef + sha256: "6b75ac2ddd42f5c226fdaf4498a2b04071c06f1f2b8f7ab1c3f77cc7f2285ff1" url: "https://pub.dev" source: hosted - version: "2.6.1" + version: "2.7.0" xdg_directories: dependency: transitive description: @@ -2192,5 +2160,5 @@ packages: source: hosted version: "3.1.2" sdks: - dart: ">=2.19.2 <3.0.0" - flutter: ">=3.7.0" + dart: ">=3.0.0-0 <4.0.0" + flutter: ">=3.10.0" diff --git a/pubspec.yaml b/pubspec.yaml index 14352e493..40bf4ce2c 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -46,8 +46,8 @@ dependencies: event_bus: ^2.0.0 exif: ^3.0.0 expandable: ^5.0.1 - expansion_tile_card: ^2.0.0 - extended_image: ^6.2.1 + expansion_tile_card: ^3.0.0 + extended_image: ^8.0.2 fast_base58: ^0.2.1 firebase_core: ^2.13.1 firebase_messaging: ^14.6.2 @@ -77,7 +77,7 @@ dependencies: image: ^3.0.2 image_editor: ^1.3.0 in_app_purchase: ^3.0.7 - intl: ^0.17.0 + intl: ^0.18.0 json_annotation: ^4.8.0 like_button: ^2.0.2 loading_animations: ^2.1.0 @@ -94,7 +94,7 @@ dependencies: # open_file: ^3.2.1 open_mail_app: ^0.4.5 - package_info_plus: ^1.0.1 + package_info_plus: 3.1.0 page_transition: ^2.0.2 password_strength: ^0.2.0 path: #dart From 766946c3daf167d8561052281b95dcb0e144a271 Mon Sep 17 00:00:00 2001 From: Neeraj Gupta <254676+ua741@users.noreply.github.com> Date: Tue, 13 Jun 2023 16:43:34 +0530 Subject: [PATCH 03/10] Switch to different package for date-picker --- ios/Podfile.lock | 14 +++++++------- ios/Runner.xcodeproj/project.pbxproj | 1 + lib/ente_theme_data.dart | 8 ++++---- .../sharing/pickers/link_expiry_picker_page.dart | 6 +++--- .../file_details/creation_time_item_widget.dart | 6 +++--- pubspec.lock | 8 ++++---- pubspec.yaml | 2 +- 7 files changed, 23 insertions(+), 22 deletions(-) diff --git a/ios/Podfile.lock b/ios/Podfile.lock index 9eddc820b..4854643f4 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -193,7 +193,7 @@ DEPENDENCIES: - flutter_sodium (from `.symlinks/plugins/flutter_sodium/ios`) - fluttertoast (from `.symlinks/plugins/fluttertoast/ios`) - image_editor_common (from `.symlinks/plugins/image_editor_common/ios`) - - in_app_purchase_storekit (from `.symlinks/plugins/in_app_purchase_storekit/ios`) + - in_app_purchase_storekit (from `.symlinks/plugins/in_app_purchase_storekit/darwin`) - integration_test (from `.symlinks/plugins/integration_test/ios`) - local_auth_ios (from `.symlinks/plugins/local_auth_ios/ios`) - media_extension (from `.symlinks/plugins/media_extension/ios`) @@ -201,12 +201,12 @@ DEPENDENCIES: - move_to_background (from `.symlinks/plugins/move_to_background/ios`) - open_mail_app (from `.symlinks/plugins/open_mail_app/ios`) - package_info_plus (from `.symlinks/plugins/package_info_plus/ios`) - - path_provider_foundation (from `.symlinks/plugins/path_provider_foundation/ios`) + - path_provider_foundation (from `.symlinks/plugins/path_provider_foundation/darwin`) - photo_manager (from `.symlinks/plugins/photo_manager/ios`) - receive_sharing_intent (from `.symlinks/plugins/receive_sharing_intent/ios`) - sentry_flutter (from `.symlinks/plugins/sentry_flutter/ios`) - share_plus (from `.symlinks/plugins/share_plus/ios`) - - shared_preferences_foundation (from `.symlinks/plugins/shared_preferences_foundation/ios`) + - shared_preferences_foundation (from `.symlinks/plugins/shared_preferences_foundation/darwin`) - sqflite (from `.symlinks/plugins/sqflite/ios`) - tflite_flutter (from `.symlinks/plugins/tflite_flutter/ios`) - tflite_flutter_helper (from `.symlinks/plugins/tflite_flutter_helper/ios`) @@ -273,7 +273,7 @@ EXTERNAL SOURCES: image_editor_common: :path: ".symlinks/plugins/image_editor_common/ios" in_app_purchase_storekit: - :path: ".symlinks/plugins/in_app_purchase_storekit/ios" + :path: ".symlinks/plugins/in_app_purchase_storekit/darwin" integration_test: :path: ".symlinks/plugins/integration_test/ios" local_auth_ios: @@ -289,7 +289,7 @@ EXTERNAL SOURCES: package_info_plus: :path: ".symlinks/plugins/package_info_plus/ios" path_provider_foundation: - :path: ".symlinks/plugins/path_provider_foundation/ios" + :path: ".symlinks/plugins/path_provider_foundation/darwin" photo_manager: :path: ".symlinks/plugins/photo_manager/ios" receive_sharing_intent: @@ -299,7 +299,7 @@ EXTERNAL SOURCES: share_plus: :path: ".symlinks/plugins/share_plus/ios" shared_preferences_foundation: - :path: ".symlinks/plugins/shared_preferences_foundation/ios" + :path: ".symlinks/plugins/shared_preferences_foundation/darwin" sqflite: :path: ".symlinks/plugins/sqflite/ios" tflite_flutter: @@ -344,7 +344,7 @@ SPEC CHECKSUMS: GoogleUtilities: 9aa0ad5a7bc171f8bae016300bfcfa3fb8425749 image_editor_common: d6f6644ae4a6de80481e89fe6d0a8c49e30b4b43 in_app_purchase_storekit: 4fb7ee9e824b1f09107fbfbbce8c4b276366dc43 - integration_test: a1e7d09bd98eca2fc37aefd79d4f41ad37bdbbe5 + integration_test: 13825b8a9334a850581300559b8839134b124670 libwebp: f62cb61d0a484ba548448a4bd52aabf150ff6eef local_auth_ios: c6cf091ded637a88f24f86a8875d8b0f526e2605 Mantle: c5aa8794a29a022dfbbfc9799af95f477a69b62d diff --git a/ios/Runner.xcodeproj/project.pbxproj b/ios/Runner.xcodeproj/project.pbxproj index 56a1a7930..2ae2c1367 100644 --- a/ios/Runner.xcodeproj/project.pbxproj +++ b/ios/Runner.xcodeproj/project.pbxproj @@ -228,6 +228,7 @@ files = ( ); inputPaths = ( + "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}", ); name = "Thin Binary"; outputPaths = ( diff --git a/lib/ente_theme_data.dart b/lib/ente_theme_data.dart index a7407fb6f..cb40d2cdd 100644 --- a/lib/ente_theme_data.dart +++ b/lib/ente_theme_data.dart @@ -1,5 +1,5 @@ import 'package:flutter/material.dart'; -import 'package:flutter_datetime_picker/flutter_datetime_picker.dart'; +import "package:flutter_datetime_picker_bdaya/flutter_datetime_picker_bdaya.dart"; import 'package:photos/theme/colors.dart'; import 'package:photos/theme/ente_theme.dart'; @@ -277,13 +277,13 @@ extension CustomColorScheme on ColorScheme { ? const Color.fromARGB(255, 238, 238, 238) : const Color.fromRGBO(255, 255, 255, 1).withOpacity(0.1); - DatePickerTheme get dateTimePickertheme => brightness == Brightness.light - ? const DatePickerTheme( + DatePickerThemeBdaya get dateTimePickertheme => brightness == Brightness.light + ? const DatePickerThemeBdaya( backgroundColor: Colors.white, itemStyle: TextStyle(color: Colors.black), cancelStyle: TextStyle(color: Colors.black), ) - : const DatePickerTheme( + : const DatePickerThemeBdaya( backgroundColor: Colors.black, itemStyle: TextStyle(color: Colors.white), cancelStyle: TextStyle(color: Colors.white), diff --git a/lib/ui/sharing/pickers/link_expiry_picker_page.dart b/lib/ui/sharing/pickers/link_expiry_picker_page.dart index e575f94d3..3611d5bbf 100644 --- a/lib/ui/sharing/pickers/link_expiry_picker_page.dart +++ b/lib/ui/sharing/pickers/link_expiry_picker_page.dart @@ -1,5 +1,5 @@ import 'package:flutter/material.dart'; -import 'package:flutter_datetime_picker/flutter_datetime_picker.dart'; +import "package:flutter_datetime_picker_bdaya/flutter_datetime_picker_bdaya.dart"; import 'package:photos/ente_theme_data.dart'; import "package:photos/generated/l10n.dart"; import 'package:photos/models/collection.dart'; @@ -142,7 +142,7 @@ class _ItemsWidgetState extends State { // _showDateTimePicker return null if user doesn't select date-time Future _showDateTimePicker(BuildContext context) async { - final dateResult = await DatePicker.showDatePicker( + final dateResult = await DatePickerBdaya.showDatePicker( context, minTime: DateTime.now(), currentTime: DateTime.now(), @@ -152,7 +152,7 @@ class _ItemsWidgetState extends State { if (dateResult == null) { return null; } - final dateWithTimeResult = await DatePicker.showTime12hPicker( + final dateWithTimeResult = await DatePickerBdaya.showTime12hPicker( context, showTitleActions: true, currentTime: dateResult, diff --git a/lib/ui/viewer/file_details/creation_time_item_widget.dart b/lib/ui/viewer/file_details/creation_time_item_widget.dart index b7fc4d61f..92288349e 100644 --- a/lib/ui/viewer/file_details/creation_time_item_widget.dart +++ b/lib/ui/viewer/file_details/creation_time_item_widget.dart @@ -1,5 +1,5 @@ import "package:flutter/material.dart"; -import "package:flutter_datetime_picker/flutter_datetime_picker.dart"; +import "package:flutter_datetime_picker_bdaya/flutter_datetime_picker_bdaya.dart"; import "package:intl/intl.dart"; import "package:photos/ente_theme_data.dart"; import "package:photos/models/file.dart"; @@ -46,7 +46,7 @@ class _CreationTimeItemState extends State { } void _showDateTimePicker(File file) async { - final dateResult = await DatePicker.showDatePicker( + final dateResult = await DatePickerBdaya.showDatePicker( context, minTime: DateTime(1800, 1, 1), maxTime: DateTime.now(), @@ -57,7 +57,7 @@ class _CreationTimeItemState extends State { if (dateResult == null) { return; } - final dateWithTimeResult = await DatePicker.showTime12hPicker( + final dateWithTimeResult = await DatePickerBdaya.showTime12hPicker( context, showTitleActions: true, currentTime: dateResult, diff --git a/pubspec.lock b/pubspec.lock index 4a58454c3..9884b607d 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -608,14 +608,14 @@ packages: url: "https://pub.dev" source: hosted version: "3.3.0" - flutter_datetime_picker: + flutter_datetime_picker_bdaya: dependency: "direct main" description: - name: flutter_datetime_picker - sha256: "8e695c63c769350e541951227c2775190ec73ceda774a315b1dc9a99d5facfe5" + name: flutter_datetime_picker_bdaya + sha256: "6cb42a7d659cb9a10afa0a390b81677e15fd2f7e340e7eaffabf770e6b6709c0" url: "https://pub.dev" source: hosted - version: "1.5.1" + version: "3.0.2" flutter_driver: dependency: "direct dev" description: flutter diff --git a/pubspec.yaml b/pubspec.yaml index 40bf4ce2c..7b01bcc99 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -56,7 +56,7 @@ dependencies: sdk: flutter flutter_animate: ^4.1.0 flutter_cache_manager: ^3.3.0 - flutter_datetime_picker: ^1.5.1 + flutter_datetime_picker_bdaya: ^3.0.2 flutter_easyloading: ^3.0.0 flutter_email_sender: ^5.2.0 flutter_image_compress: ^1.1.0 From f6f19a07a80d04a465dd4d2129ad8a4266ab15f8 Mon Sep 17 00:00:00 2001 From: Neeraj Gupta <254676+ua741@users.noreply.github.com> Date: Tue, 13 Jun 2023 16:54:55 +0530 Subject: [PATCH 04/10] Enable FLTEnableWideGamut flag for DP3 --- ios/Runner/Info.plist | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/ios/Runner/Info.plist b/ios/Runner/Info.plist index d29f37d80..45ffd7c08 100644 --- a/ios/Runner/Info.plist +++ b/ios/Runner/Info.plist @@ -64,6 +64,10 @@ ITSAppUsesNonExemptEncryption + FLTEnableImpeller + + FLTEnableWideGamut + NSFaceIDUsageDescription Please allow ente to lock itself with FaceID or TouchID NSCameraUsageDescription From 83f9456b04422fab2549bcf48bc8405b61900621 Mon Sep 17 00:00:00 2001 From: Neeraj Gupta <254676+ua741@users.noreply.github.com> Date: Wed, 14 Jun 2023 07:38:00 +0530 Subject: [PATCH 05/10] Bump sdk min requirements --- pubspec.lock | 2 +- pubspec.yaml | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/pubspec.lock b/pubspec.lock index 9884b607d..c5af75fda 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -2160,5 +2160,5 @@ packages: source: hosted version: "3.1.2" sdks: - dart: ">=3.0.0-0 <4.0.0" + dart: ">=3.0.0 <4.0.0" flutter: ">=3.10.0" diff --git a/pubspec.yaml b/pubspec.yaml index 7b01bcc99..58ff78990 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -12,10 +12,10 @@ description: ente photos application # Read more about iOS versioning at # https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html -version: 0.7.64+464 +version: 0.7.65+464 environment: - sdk: '>=2.17.0 <3.0.0' + sdk: ">=3.0.0 <4.0.0" dependencies: adaptive_theme: ^3.1.0 From cae625ea0439414e12a8548ce62b1192f8c728d0 Mon Sep 17 00:00:00 2001 From: Neeraj Gupta <254676+ua741@users.noreply.github.com> Date: Tue, 15 Aug 2023 13:56:11 +0530 Subject: [PATCH 06/10] bump version --- pubspec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pubspec.yaml b/pubspec.yaml index ce4f2c173..2cf57e034 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -12,7 +12,7 @@ description: ente photos application # Read more about iOS versioning at # https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html -version: 0.7.78+478 +version: 0.7.81+481 environment: sdk: ">=3.0.0 <4.0.0" From 6527807049592a6dd567f2ec1a445e9a19be1eb6 Mon Sep 17 00:00:00 2001 From: Neeraj Gupta <254676+ua741@users.noreply.github.com> Date: Tue, 15 Aug 2023 15:08:27 +0530 Subject: [PATCH 07/10] Check for mounted state before state refresh --- lib/ui/components/buttons/icon_button_widget.dart | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/lib/ui/components/buttons/icon_button_widget.dart b/lib/ui/components/buttons/icon_button_widget.dart index af58a7d99..258b339d7 100644 --- a/lib/ui/components/buttons/icon_button_widget.dart +++ b/lib/ui/components/buttons/icon_button_widget.dart @@ -36,11 +36,13 @@ class IconButtonWidget extends StatefulWidget { class _IconButtonWidgetState extends State { Color? iconStateColor; @override - void didChangeDependencies() { - setState(() { - iconStateColor = null; - }); - super.didChangeDependencies(); + void didUpdateWidget(IconButtonWidget oldWidget) { + if (oldWidget.icon != widget.icon && mounted) { + setState(() { + iconStateColor = null; + }); + } + super.didUpdateWidget(oldWidget); } @override From e26e49754b2a88f4c09b953beb8cc870a130717a Mon Sep 17 00:00:00 2001 From: Neeraj Gupta <254676+ua741@users.noreply.github.com> Date: Wed, 16 Aug 2023 10:47:50 +0530 Subject: [PATCH 08/10] Upgrade package info & wakelock --- ios/Podfile.lock | 12 ++-- ios/Runner.xcodeproj/project.pbxproj | 4 +- lib/core/configuration.dart | 4 +- lib/ui/viewer/file/video_widget.dart | 12 ++-- pubspec.lock | 104 +++++++-------------------- pubspec.yaml | 11 ++- 6 files changed, 48 insertions(+), 99 deletions(-) diff --git a/ios/Podfile.lock b/ios/Podfile.lock index 9c2406ba2..a922b5699 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -179,7 +179,7 @@ PODS: - video_thumbnail (0.0.1): - Flutter - libwebp - - wakelock (0.0.1): + - wakelock_plus (0.0.1): - Flutter DEPENDENCIES: @@ -222,7 +222,7 @@ DEPENDENCIES: - url_launcher_ios (from `.symlinks/plugins/url_launcher_ios/ios`) - video_player_avfoundation (from `.symlinks/plugins/video_player_avfoundation/ios`) - video_thumbnail (from `.symlinks/plugins/video_thumbnail/ios`) - - wakelock (from `.symlinks/plugins/wakelock/ios`) + - wakelock_plus (from `.symlinks/plugins/wakelock_plus/ios`) SPEC REPOS: trunk: @@ -325,8 +325,8 @@ EXTERNAL SOURCES: :path: ".symlinks/plugins/video_player_avfoundation/ios" video_thumbnail: :path: ".symlinks/plugins/video_thumbnail/ios" - wakelock: - :path: ".symlinks/plugins/wakelock/ios" + wakelock_plus: + :path: ".symlinks/plugins/wakelock_plus/ios" SPEC CHECKSUMS: background_fetch: bc9b44b0bf8b434e282a2ac9be8662800a0296ed @@ -366,7 +366,7 @@ SPEC CHECKSUMS: nanopb: b552cce312b6c8484180ef47159bc0f65a1f0431 open_mail_app: 794172f6a22cd16319d3ddaf45e945b2f74952b0 OrderedSet: aaeb196f7fef5a9edf55d89760da9176ad40b93c - package_info_plus: 6c92f08e1f853dc01228d6f553146438dafcd14e + package_info_plus: fd030dabf36271f146f1f3beacd48f564b0f17f7 path_provider_foundation: eaf5b3e458fc0e5fbb9940fb09980e853fe058b8 photo_manager: 4f6810b7dfc4feb03b461ac1a70dacf91fba7604 PromisesObjC: c50d2056b5253dadbd6c2bea79b0674bd5a52fa4 @@ -387,7 +387,7 @@ SPEC CHECKSUMS: url_launcher_ios: 08a3dfac5fb39e8759aeb0abbd5d9480f30fc8b4 video_player_avfoundation: 81e49bb3d9fb63dccf9fa0f6d877dc3ddbeac126 video_thumbnail: c4e2a3c539e247d4de13cd545344fd2d26ffafd1 - wakelock: d0fc7c864128eac40eba1617cb5264d9c940b46f + wakelock_plus: 8b09852c8876491e4b6d179e17dfe2a0b5f60d47 PODFILE CHECKSUM: c1a8f198a245ed1f10e40b617efdb129b021b225 diff --git a/ios/Runner.xcodeproj/project.pbxproj b/ios/Runner.xcodeproj/project.pbxproj index b5e3d789e..0464f6ee3 100644 --- a/ios/Runner.xcodeproj/project.pbxproj +++ b/ios/Runner.xcodeproj/project.pbxproj @@ -312,7 +312,7 @@ "${BUILT_PRODUCTS_DIR}/url_launcher_ios/url_launcher_ios.framework", "${BUILT_PRODUCTS_DIR}/video_player_avfoundation/video_player_avfoundation.framework", "${BUILT_PRODUCTS_DIR}/video_thumbnail/video_thumbnail.framework", - "${BUILT_PRODUCTS_DIR}/wakelock/wakelock.framework", + "${BUILT_PRODUCTS_DIR}/wakelock_plus/wakelock_plus.framework", ); name = "[CP] Embed Pods Frameworks"; outputPaths = ( @@ -370,7 +370,7 @@ "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/url_launcher_ios.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/video_player_avfoundation.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/video_thumbnail.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/wakelock.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/wakelock_plus.framework", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; diff --git a/lib/core/configuration.dart b/lib/core/configuration.dart index 075264564..883363bc6 100644 --- a/lib/core/configuration.dart +++ b/lib/core/configuration.dart @@ -33,7 +33,7 @@ import 'package:photos/utils/validator_util.dart'; import 'package:shared_preferences/shared_preferences.dart'; import "package:tuple/tuple.dart"; import 'package:uuid/uuid.dart'; -import 'package:wakelock/wakelock.dart'; +import 'package:wakelock_plus/wakelock_plus.dart'; class Configuration { Configuration._privateConstructor(); @@ -547,7 +547,7 @@ class Configuration { Future setShouldKeepDeviceAwake(bool value) async { await _preferences.setBool(keyShouldKeepDeviceAwake, value); - await Wakelock.toggle(enable: value); + await WakelockPlus.toggle(enable: value); } Future setShouldBackupVideos(bool value) async { diff --git a/lib/ui/viewer/file/video_widget.dart b/lib/ui/viewer/file/video_widget.dart index 5f83ca1ce..670793a15 100644 --- a/lib/ui/viewer/file/video_widget.dart +++ b/lib/ui/viewer/file/video_widget.dart @@ -18,7 +18,7 @@ import 'package:photos/utils/file_util.dart'; import 'package:photos/utils/toast_util.dart'; import 'package:video_player/video_player.dart'; import 'package:visibility_detector/visibility_detector.dart'; -import 'package:wakelock/wakelock.dart'; +import 'package:wakelock_plus/wakelock_plus.dart'; class VideoWidget extends StatefulWidget { final File file; @@ -115,8 +115,8 @@ class _VideoWidgetState extends State { _chewieController?.dispose(); if (_wakeLockEnabledHere) { unawaited( - Wakelock.enabled.then((isEnabled) { - isEnabled ? Wakelock.disable() : null; + WakelockPlus.enabled.then((isEnabled) { + isEnabled ? WakelockPlus.disable() : null; }), ); } @@ -233,9 +233,9 @@ class _VideoWidgetState extends State { Future _keepScreenAliveOnPlaying(bool isPlaying) async { if (isPlaying) { - return Wakelock.enabled.then((value) { + return WakelockPlus.enabled.then((value) { if (value == false) { - Wakelock.enable(); + WakelockPlus.enable(); //wakeLockEnabledHere will not be set to true if wakeLock is already enabled from settings on iOS. //We shouldn't disable when video is not playing if it was enabled manually by the user from ente settings by user. _wakeLockEnabledHere = true; @@ -243,7 +243,7 @@ class _VideoWidgetState extends State { }); } if (_wakeLockEnabledHere && !isPlaying) { - return Wakelock.disable(); + return WakelockPlus.disable(); } } diff --git a/pubspec.lock b/pubspec.lock index 885dd6607..85d6329fd 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -253,11 +253,11 @@ packages: dependency: "direct main" description: path: "." - ref: forked_video_player - resolved-ref: "548fa399c76adc3f1a1c0f9d42fcac954cf0345d" + ref: forked_video_player_plus + resolved-ref: "643b887f6f89aaae12646b0c79991f4f81faaa98" url: "https://github.com/ente-io/chewie.git" source: git - version: "1.5.0" + version: "1.7.0" clock: dependency: transitive description: @@ -367,10 +367,10 @@ packages: dependency: transitive description: name: dbus - sha256: "253bfaa3d340778d8bc755e89c3af38e85ef95e65fd5d5670aa3167f8d4f6577" + sha256: "6f07cba3f7b3448d42d015bfd3d53fe12e5b36da2423f23838efc1d5fb31a263" url: "https://pub.dev" source: hosted - version: "0.7.4" + version: "0.7.8" defer_pointer: dependency: "direct main" description: @@ -508,13 +508,13 @@ packages: source: hosted version: "0.2.1" ffi: - dependency: transitive + dependency: "direct overridden" description: name: ffi - sha256: "13a6ccf6a459a125b3fcdb6ec73bd5ff90822e071207c663bfd1f70062d51d18" + sha256: "7bf0adc28a23d395f19f3f1eb21dd7cfd1dd9f8e1c50051c069122e6853bc878" url: "https://pub.dev" source: hosted - version: "1.2.1" + version: "2.1.0" file: dependency: transitive description: @@ -1380,50 +1380,18 @@ packages: dependency: "direct main" description: name: package_info_plus - sha256: "7a6114becdf042be2b0777d77ace954d4a205644171a1cbd8712976b9bbb837c" + sha256: "6ff267fcd9d48cb61c8df74a82680e8b82e940231bb5f68356672fde0397334a" url: "https://pub.dev" source: hosted - version: "1.4.2" - package_info_plus_linux: - dependency: transitive - description: - name: package_info_plus_linux - sha256: "04b575f44233d30edbb80a94e57cad9107aada334fc02aabb42b6becd13c43fc" - url: "https://pub.dev" - source: hosted - version: "1.0.5" - package_info_plus_macos: - dependency: transitive - description: - name: package_info_plus_macos - sha256: a2ad8b4acf4cd479d4a0afa5a74ea3f5b1c7563b77e52cc32b3ee6956d5482a6 - url: "https://pub.dev" - source: hosted - version: "1.3.0" + version: "4.1.0" package_info_plus_platform_interface: dependency: transitive description: name: package_info_plus_platform_interface - sha256: f7a0c8f1e7e981bc65f8b64137a53fd3c195b18d429fba960babc59a5a1c7ae8 + sha256: "9bc8ba46813a4cc42c66ab781470711781940780fd8beddd0c3da62506d3a6c6" url: "https://pub.dev" source: hosted - version: "1.0.2" - package_info_plus_web: - dependency: transitive - description: - name: package_info_plus_web - sha256: f0829327eb534789e0a16ccac8936a80beed4e2401c4d3a74f3f39094a822d3b - url: "https://pub.dev" - source: hosted - version: "1.0.6" - package_info_plus_windows: - dependency: transitive - description: - name: package_info_plus_windows - sha256: a6040b8695c82f8dd3c3d4dfab7ef96fbe9c67aac21b9bcf5db272589ef84441 - url: "https://pub.dev" - source: hosted - version: "1.0.5" + version: "2.0.1" page_transition: dependency: "direct main" description: @@ -1508,10 +1476,10 @@ packages: dependency: transitive description: name: path_provider_windows - sha256: a34ecd7fb548f8e57321fd8e50d865d266941b54e6c3b7758cf8f37c24116905 + sha256: "1cb68ba4cd3a795033de62ba1b7b4564dace301f952de6bfb3cd91b202b6ee96" url: "https://pub.dev" source: hosted - version: "2.0.7" + version: "2.1.7" pedantic: dependency: "direct main" description: @@ -2239,46 +2207,22 @@ packages: url: "https://pub.dev" source: hosted version: "9.4.0" - wakelock: + wakelock_plus: dependency: "direct main" description: - name: wakelock - sha256: "769ecf42eb2d07128407b50cb93d7c10bd2ee48f0276ef0119db1d25cc2f87db" + name: wakelock_plus + sha256: aac3f3258f01781ec9212df94eecef1eb9ba9350e106728def405baa096ba413 url: "https://pub.dev" source: hosted - version: "0.6.2" - wakelock_macos: + version: "1.1.1" + wakelock_plus_platform_interface: dependency: transitive description: - name: wakelock_macos - sha256: "047c6be2f88cb6b76d02553bca5a3a3b95323b15d30867eca53a19a0a319d4cd" + name: wakelock_plus_platform_interface + sha256: "40fabed5da06caff0796dc638e1f07ee395fb18801fbff3255a2372db2d80385" url: "https://pub.dev" source: hosted - version: "0.4.0" - wakelock_platform_interface: - dependency: transitive - description: - name: wakelock_platform_interface - sha256: "1f4aeb81fb592b863da83d2d0f7b8196067451e4df91046c26b54a403f9de621" - url: "https://pub.dev" - source: hosted - version: "0.3.0" - wakelock_web: - dependency: transitive - description: - name: wakelock_web - sha256: "1b256b811ee3f0834888efddfe03da8d18d0819317f20f6193e2922b41a501b5" - url: "https://pub.dev" - source: hosted - version: "0.4.0" - wakelock_windows: - dependency: transitive - description: - name: wakelock_windows - sha256: "108b1b73711f1664ee462e73af34a9286ff496e27d4d8371e2fb4da8fde4cdac" - url: "https://pub.dev" - source: hosted - version: "0.2.0" + version: "1.1.0" wallpaper_manager_flutter: dependency: "direct main" description: @@ -2331,10 +2275,10 @@ packages: dependency: transitive description: name: win32 - sha256: c0e3a4f7be7dae51d8f152230b86627e3397c1ba8c3fa58e63d44a9f3edc9cef + sha256: "5a751eddf9db89b3e5f9d50c20ab8612296e4e8db69009788d6c8b060a84191c" url: "https://pub.dev" source: hosted - version: "2.6.1" + version: "4.1.4" wkt_parser: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index 427ae4082..6937e91c7 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -28,7 +28,7 @@ dependencies: chewie: git: url: https://github.com/ente-io/chewie.git - ref: forked_video_player + ref: forked_video_player_plus collection: # dart computer: git: "https://github.com/ente-io/computer.git" @@ -100,7 +100,7 @@ dependencies: # open_file: ^3.2.1 open_mail_app: ^0.4.5 - package_info_plus: ^1.0.1 + package_info_plus: ^4.1.0 page_transition: ^2.0.2 password_strength: ^0.2.0 path: #dart @@ -140,10 +140,15 @@ dependencies: path: packages/video_player/video_player/ video_thumbnail: ^0.5.3 visibility_detector: ^0.3.3 - wakelock: ^0.6.2 + wakelock_plus: ^1.1.1 wallpaper_manager_flutter: ^0.0.2 widgets_to_image: ^0.0.2 +dependency_overrides: + # current fork of tfite_flutter_helper depends on ffi: ^1.x.x + # but we need ffi: ^2.0.1 for newer packages. The original tfite_flutter_helper + # + ffi: ^2.0.1 flutter_intl: enabled: true From 6ee2f2cc6a3ea6728087f8dbd2159e43937ffe06 Mon Sep 17 00:00:00 2001 From: Neeraj Gupta <254676+ua741@users.noreply.github.com> Date: Wed, 16 Aug 2023 16:39:53 +0530 Subject: [PATCH 09/10] Disable FLTEnableWideGamut --- ios/Runner/Info.plist | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ios/Runner/Info.plist b/ios/Runner/Info.plist index 45ffd7c08..037996520 100644 --- a/ios/Runner/Info.plist +++ b/ios/Runner/Info.plist @@ -67,7 +67,7 @@ FLTEnableImpeller FLTEnableWideGamut - + NSFaceIDUsageDescription Please allow ente to lock itself with FaceID or TouchID NSCameraUsageDescription From 1a4a9c98aa27dbbf8c7e9c42e6eea7fec24322c5 Mon Sep 17 00:00:00 2001 From: Neeraj Gupta <254676+ua741@users.noreply.github.com> Date: Wed, 16 Aug 2023 17:58:43 +0530 Subject: [PATCH 10/10] Upgrade flutter version for CI release --- .github/workflows/release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 7b0601e4c..6533a7ebb 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -26,7 +26,7 @@ jobs: - uses: subosito/flutter-action@v2 with: channel: 'stable' - flutter-version: '3.7.7' + flutter-version: '3.10.6' # Fetch sub modules - run: git submodule update --init --recursive