From 658c61f582720684dc2f3029e2e3265e1942e1c7 Mon Sep 17 00:00:00 2001 From: happycastle <41810556+happycastle114@users.noreply.github.com> Date: Tue, 13 Aug 2024 05:10:00 +0900 Subject: [PATCH 01/18] Add Channel Talk --- android/app/src/main/AndroidManifest.xml | 9 +++ ios/Podfile | 1 + ios/Runner/AppDelegate.swift | 2 + ios/Runner/Info.plist | 11 +++ lib/main.dart | 27 ++++++++ pubspec.lock | 87 ++++++++++++++++-------- pubspec.yaml | 6 ++ 7 files changed, 116 insertions(+), 27 deletions(-) diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml index a73cbda9..df6bec9f 100644 --- a/android/app/src/main/AndroidManifest.xml +++ b/android/app/src/main/AndroidManifest.xml @@ -11,6 +11,7 @@ android:maxSdkVersion="28"/> + + + + + + Bool { + ChannelIO.initialize(application) GeneratedPluginRegistrant.register(with: self) return super.application(application, didFinishLaunchingWithOptions: launchOptions) } diff --git a/ios/Runner/Info.plist b/ios/Runner/Info.plist index 575f03ff..cfbb5334 100644 --- a/ios/Runner/Info.plist +++ b/ios/Runner/Info.plist @@ -78,5 +78,16 @@ 사용자 요청 시 해당 기능을 사용합니다. UIStatusBarHidden + NSCameraUsageDescription + Accessing to camera in order to provide better user experience + + NSMicrophoneUsageDescription + Accessing to microphone to record voice for video + + NSPhotoLibraryAddUsageDescription + Accessing to photo library in order to save photos + + NSPhotoLibraryUsageDescription + Accessing to photo library in order to provide better user experience diff --git a/lib/main.dart b/lib/main.dart index 9b1dc048..b2424f3f 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -24,6 +24,8 @@ import 'package:otlplus/providers/latest_reviews_model.dart'; import 'package:otlplus/providers/lecture_search_model.dart'; import 'package:otlplus/providers/timetable_model.dart'; import 'package:otlplus/utils/create_material_color.dart'; +import 'package:firebase_messaging/firebase_messaging.dart'; +import 'package:channel_talk_flutter/channel_talk_flutter.dart'; import 'firebase_options.dart'; @@ -31,11 +33,36 @@ void main() { runZonedGuarded>(() async { WidgetsFlutterBinding.ensureInitialized(); await EasyLocalization.ensureInitialized(); + await Firebase.initializeApp( options: DefaultFirebaseOptions.currentPlatform, ); + + await FirebaseMessaging.instance.requestPermission( + alert: true, + announcement: false, + badge: true, + carPlay: false, + criticalAlert: false, + provisional: true, + sound: true, + ); + + final token = await FirebaseMessaging.instance.getToken(); + FlutterError.onError = FirebaseCrashlytics.instance.recordFlutterFatalError; + await ChannelTalk.boot( + pluginKey: '0abc4b50-9e66-4b45-b910-eb654a481f08', // Required + memberHash: token, + language: Language.korean, + appearance: Appearance.dark, + ); + + await ChannelTalk.initPushToken(deviceToken: token ?? ""); + + await ChannelTalk.showChannelButton(); + runApp( EasyLocalization( supportedLocales: [Locale('en'), Locale('ko')], diff --git a/pubspec.lock b/pubspec.lock index 7ade5fdb..f9474668 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -13,10 +13,10 @@ packages: dependency: transitive description: name: _flutterfire_internals - sha256: dd68ecea9f1e3556d385521bd21c7bafd6311a8c1e11abe2595ca27974f468ee + sha256: "4eec93681221723a686ad580c2e7d960e1017cf1a4e0a263c2573c2c6b0bf5cd" url: "https://pub.dev" source: hosted - version: "1.3.13" + version: "1.3.25" analyzer: dependency: transitive description: @@ -65,6 +65,15 @@ packages: url: "https://pub.dev" source: hosted version: "2.1.1" + channel_talk_flutter: + dependency: "direct main" + description: + path: "." + ref: main + resolved-ref: d90abf1380f5d61ae035ca63f53421a640fa4498 + url: "https://github.com/happycastle114/channel_talk_flutter.git" + source: git + version: "3.1.3" characters: dependency: transitive description: @@ -221,10 +230,10 @@ packages: dependency: "direct main" description: name: firebase_core - sha256: "471b46ea6a9af503184d4de691566887daedd312aec5baac5baa42d819f56446" + sha256: "53316975310c8af75a96e365f9fccb67d1c544ef0acdbf0d88bbe30eedd1c4f9" url: "https://pub.dev" source: hosted - version: "2.23.0" + version: "2.27.0" firebase_core_platform_interface: dependency: transitive description: @@ -237,10 +246,10 @@ packages: dependency: transitive description: name: firebase_core_web - sha256: "0631a2ec971dbc540275e2fa00c3a8a2676f0a7adbc3c197d6fba569db689d97" + sha256: c8e1d59385eee98de63c92f961d2a7062c5d9a65e7f45bdc7f1b0b205aab2492 url: "https://pub.dev" source: hosted - version: "2.8.1" + version: "2.11.5" firebase_crashlytics: dependency: "direct main" description: @@ -257,6 +266,30 @@ packages: url: "https://pub.dev" source: hosted version: "3.6.13" + firebase_messaging: + dependency: "direct main" + description: + name: firebase_messaging + sha256: e41586e0fd04fe9a40424f8b0053d0832e6d04f49e020cdaf9919209a28497e9 + url: "https://pub.dev" + source: hosted + version: "14.7.19" + firebase_messaging_platform_interface: + dependency: transitive + description: + name: firebase_messaging_platform_interface + sha256: f7a9d74ff7fc588a924f6b2eaeaa148b0db521b13a9db55f6ad45864fa98c06e + url: "https://pub.dev" + source: hosted + version: "4.5.27" + firebase_messaging_web: + dependency: transitive + description: + name: firebase_messaging_web + sha256: fc21e771166860c55b103701c5ac7cdb2eec28897b97c42e6e5703cbedf9e02e + url: "https://pub.dev" + source: hosted + version: "3.6.8" flutter: dependency: "direct main" description: flutter @@ -403,26 +436,18 @@ packages: dependency: transitive description: name: leak_tracker - sha256: "78eb209deea09858f5269f5a5b02be4049535f568c07b275096836f01ea323fa" + sha256: "04be76c4a4bb50f14904e64749237e541e7c7bcf7ec0b196907322ab5d2fc739" url: "https://pub.dev" source: hosted - version: "10.0.0" - leak_tracker_flutter_testing: - dependency: transitive - description: - name: leak_tracker_flutter_testing - sha256: b46c5e37c19120a8a01918cfaf293547f47269f7cb4b0058f21531c2465d6ef0 - url: "https://pub.dev" - source: hosted - version: "2.0.1" + version: "9.0.16" leak_tracker_testing: dependency: transitive description: name: leak_tracker_testing - sha256: a597f72a664dbd293f3bfc51f9ba69816f84dcd403cdac7066cb3f6003f3ab47 + sha256: b06739349ec2477e943055aea30172c5c7000225f79dad4702e2ec0eda79a6ff url: "https://pub.dev" source: hosted - version: "2.0.1" + version: "1.0.5" logging: dependency: transitive description: @@ -443,10 +468,10 @@ packages: dependency: transitive description: name: matcher - sha256: d2323aa2060500f906aa31a895b4030b6da3ebdcc5619d14ce1aada65cd161cb + sha256: "1803e76e6653768d64ed8ff2e1e67bea3ad4b923eb5c56a295c3e634bad5960e" url: "https://pub.dev" source: hosted - version: "0.12.16+1" + version: "0.12.16" material_color_utilities: dependency: transitive description: @@ -507,10 +532,10 @@ packages: dependency: transitive description: name: path - sha256: "087ce49c3f0dc39180befefc60fdb4acd8f8620e5682fe2476afd0b3688bb4af" + sha256: "8829d8a55c13fc0e37127c29fedf290c102f4e40ae94ada574091fe0ff96c917" url: "https://pub.dev" source: hosted - version: "1.9.0" + version: "1.8.3" path_drawing: dependency: transitive description: @@ -635,10 +660,10 @@ packages: dependency: transitive description: name: platform - sha256: "12220bb4b65720483f8fa9450b4332347737cf8213dd2840d8b2c823e47243ec" + sha256: "0a279f0707af40c890e80b1e9df8bb761694c074ba7e1d4ab1bc4b728e200b59" url: "https://pub.dev" source: hosted - version: "3.1.4" + version: "3.1.3" plugin_platform_interface: dependency: transitive description: @@ -667,10 +692,10 @@ packages: dependency: transitive description: name: process - sha256: "21e54fd2faf1b5bdd5102afd25012184a6793927648ea81eea80552ac9405b32" + sha256: "266ca5be5820feefc777793d0a583acfc8c40834893c87c00c6c09e2cf58ea42" url: "https://pub.dev" source: hosted - version: "5.0.2" + version: "5.0.1" provider: dependency: "direct main" description: @@ -996,6 +1021,14 @@ packages: url: "https://pub.dev" source: hosted version: "1.1.0" + web: + dependency: transitive + description: + name: web + sha256: edc8a9573dd8c5a83a183dae1af2b6fd4131377404706ca4e5420474784906fa + url: "https://pub.dev" + source: hosted + version: "0.4.0" web_socket_channel: dependency: transitive description: @@ -1093,5 +1126,5 @@ packages: source: hosted version: "3.1.2" sdks: - dart: ">=3.2.0-0 <4.0.0" + dart: ">=3.2.0 <4.0.0" flutter: ">=3.16.0" diff --git a/pubspec.yaml b/pubspec.yaml index 064bfd38..663a60bf 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -43,6 +43,12 @@ dependencies: firebase_core: ^2.23.0 firebase_analytics: ^10.7.1 firebase_crashlytics: ^3.4.5 + channel_talk_flutter: + git: + url: https://github.com/happycastle114/channel_talk_flutter.git + ref: main + + firebase_messaging: ^14.7.19 dev_dependencies: test: ^1.24.9 From c3550c876c9c78ba5cba83c6ea7b46305ee6306a Mon Sep 17 00:00:00 2001 From: happycastle <41810556+happycastle114@users.noreply.github.com> Date: Tue, 13 Aug 2024 05:31:28 +0900 Subject: [PATCH 02/18] Fix Ios Settings --- ios/Podfile.lock | 186 +++++++++++++++++---------- ios/Runner.xcodeproj/project.pbxproj | 12 +- 2 files changed, 124 insertions(+), 74 deletions(-) diff --git a/ios/Podfile.lock b/ios/Podfile.lock index f8225c72..56307e29 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -1,71 +1,92 @@ PODS: - - Firebase/Analytics (10.18.0): + - channel_talk_flutter (3.1.3): + - ChannelIOSDK (= 11.7.3) + - Flutter + - ChannelIOSDK (11.7.3) + - Firebase/Analytics (10.22.0): - Firebase/Core - - Firebase/Core (10.18.0): + - Firebase/Core (10.22.0): + - Firebase/CoreOnly + - FirebaseAnalytics (~> 10.22.0) + - Firebase/CoreOnly (10.22.0): + - FirebaseCore (= 10.22.0) + - Firebase/Crashlytics (10.22.0): - Firebase/CoreOnly - - FirebaseAnalytics (~> 10.18.0) - - Firebase/CoreOnly (10.18.0): - - FirebaseCore (= 10.18.0) - - Firebase/Crashlytics (10.18.0): + - FirebaseCrashlytics (~> 10.22.0) + - Firebase/Messaging (10.22.0): - Firebase/CoreOnly - - FirebaseCrashlytics (~> 10.18.0) + - FirebaseMessaging (~> 10.22.0) - firebase_analytics (10.7.1): - - Firebase/Analytics (= 10.18.0) + - Firebase/Analytics (= 10.22.0) - firebase_core - Flutter - - firebase_core (2.23.0): - - Firebase/CoreOnly (= 10.18.0) + - firebase_core (2.27.0): + - Firebase/CoreOnly (= 10.22.0) - Flutter - firebase_crashlytics (3.4.5): - - Firebase/Crashlytics (= 10.18.0) + - Firebase/Crashlytics (= 10.22.0) + - firebase_core + - Flutter + - firebase_messaging (14.7.19): + - Firebase/Messaging (= 10.22.0) - firebase_core - Flutter - - FirebaseAnalytics (10.18.0): - - FirebaseAnalytics/AdIdSupport (= 10.18.0) + - FirebaseAnalytics (10.22.0): + - FirebaseAnalytics/AdIdSupport (= 10.22.0) - FirebaseCore (~> 10.0) - FirebaseInstallations (~> 10.0) - GoogleUtilities/AppDelegateSwizzler (~> 7.11) - GoogleUtilities/MethodSwizzler (~> 7.11) - GoogleUtilities/Network (~> 7.11) - "GoogleUtilities/NSData+zlib (~> 7.11)" - - nanopb (< 2.30910.0, >= 2.30908.0) - - FirebaseAnalytics/AdIdSupport (10.18.0): + - nanopb (< 2.30911.0, >= 2.30908.0) + - FirebaseAnalytics/AdIdSupport (10.22.0): - FirebaseCore (~> 10.0) - FirebaseInstallations (~> 10.0) - - GoogleAppMeasurement (= 10.18.0) + - GoogleAppMeasurement (= 10.22.0) - GoogleUtilities/AppDelegateSwizzler (~> 7.11) - GoogleUtilities/MethodSwizzler (~> 7.11) - GoogleUtilities/Network (~> 7.11) - "GoogleUtilities/NSData+zlib (~> 7.11)" - - nanopb (< 2.30910.0, >= 2.30908.0) - - FirebaseCore (10.18.0): + - nanopb (< 2.30911.0, >= 2.30908.0) + - FirebaseCore (10.22.0): - FirebaseCoreInternal (~> 10.0) - GoogleUtilities/Environment (~> 7.12) - GoogleUtilities/Logger (~> 7.12) - - FirebaseCoreExtension (10.18.0): + - FirebaseCoreExtension (10.29.0): - FirebaseCore (~> 10.0) - - FirebaseCoreInternal (10.18.0): + - FirebaseCoreInternal (10.29.0): - "GoogleUtilities/NSData+zlib (~> 7.8)" - - FirebaseCrashlytics (10.18.0): + - FirebaseCrashlytics (10.22.0): - FirebaseCore (~> 10.5) - FirebaseInstallations (~> 10.0) - FirebaseSessions (~> 10.5) - GoogleDataTransport (~> 9.2) - GoogleUtilities/Environment (~> 7.8) - - nanopb (< 2.30910.0, >= 2.30908.0) + - nanopb (< 2.30911.0, >= 2.30908.0) - PromisesObjC (~> 2.1) - - FirebaseInstallations (10.18.0): + - FirebaseInstallations (10.29.0): - FirebaseCore (~> 10.0) - GoogleUtilities/Environment (~> 7.8) - GoogleUtilities/UserDefaults (~> 7.8) - PromisesObjC (~> 2.1) - - FirebaseSessions (10.18.0): + - FirebaseMessaging (10.22.0): + - FirebaseCore (~> 10.0) + - FirebaseInstallations (~> 10.0) + - GoogleDataTransport (~> 9.3) + - GoogleUtilities/AppDelegateSwizzler (~> 7.8) + - GoogleUtilities/Environment (~> 7.8) + - GoogleUtilities/Reachability (~> 7.8) + - GoogleUtilities/UserDefaults (~> 7.8) + - nanopb (< 2.30911.0, >= 2.30908.0) + - FirebaseSessions (10.29.0): - FirebaseCore (~> 10.5) - FirebaseCoreExtension (~> 10.0) - FirebaseInstallations (~> 10.0) - GoogleDataTransport (~> 9.2) - - GoogleUtilities/Environment (~> 7.10) - - nanopb (< 2.30910.0, >= 2.30908.0) + - GoogleUtilities/Environment (~> 7.13) + - GoogleUtilities/UserDefaults (~> 7.13) + - nanopb (< 2.30911.0, >= 2.30908.0) - PromisesSwift (~> 2.1) - Flutter (1.0.0) - flutter_native_splash (0.0.1): @@ -74,54 +95,63 @@ PODS: - Flutter - flutter_widgetkit (0.0.1): - Flutter - - GoogleAppMeasurement (10.18.0): - - GoogleAppMeasurement/AdIdSupport (= 10.18.0) + - GoogleAppMeasurement (10.22.0): + - GoogleAppMeasurement/AdIdSupport (= 10.22.0) - GoogleUtilities/AppDelegateSwizzler (~> 7.11) - GoogleUtilities/MethodSwizzler (~> 7.11) - GoogleUtilities/Network (~> 7.11) - "GoogleUtilities/NSData+zlib (~> 7.11)" - - nanopb (< 2.30910.0, >= 2.30908.0) - - GoogleAppMeasurement/AdIdSupport (10.18.0): - - GoogleAppMeasurement/WithoutAdIdSupport (= 10.18.0) + - nanopb (< 2.30911.0, >= 2.30908.0) + - GoogleAppMeasurement/AdIdSupport (10.22.0): + - GoogleAppMeasurement/WithoutAdIdSupport (= 10.22.0) - GoogleUtilities/AppDelegateSwizzler (~> 7.11) - GoogleUtilities/MethodSwizzler (~> 7.11) - GoogleUtilities/Network (~> 7.11) - "GoogleUtilities/NSData+zlib (~> 7.11)" - - nanopb (< 2.30910.0, >= 2.30908.0) - - GoogleAppMeasurement/WithoutAdIdSupport (10.18.0): + - nanopb (< 2.30911.0, >= 2.30908.0) + - GoogleAppMeasurement/WithoutAdIdSupport (10.22.0): - GoogleUtilities/AppDelegateSwizzler (~> 7.11) - GoogleUtilities/MethodSwizzler (~> 7.11) - GoogleUtilities/Network (~> 7.11) - "GoogleUtilities/NSData+zlib (~> 7.11)" - - nanopb (< 2.30910.0, >= 2.30908.0) - - GoogleDataTransport (9.2.5): + - nanopb (< 2.30911.0, >= 2.30908.0) + - GoogleDataTransport (9.4.1): - GoogleUtilities/Environment (~> 7.7) - - nanopb (< 2.30910.0, >= 2.30908.0) + - nanopb (< 2.30911.0, >= 2.30908.0) - PromisesObjC (< 3.0, >= 1.2) - - GoogleUtilities/AppDelegateSwizzler (7.12.0): + - GoogleUtilities/AppDelegateSwizzler (7.13.3): - GoogleUtilities/Environment - GoogleUtilities/Logger - GoogleUtilities/Network - - GoogleUtilities/Environment (7.12.0): + - GoogleUtilities/Privacy + - GoogleUtilities/Environment (7.13.3): + - GoogleUtilities/Privacy - PromisesObjC (< 3.0, >= 1.2) - - GoogleUtilities/Logger (7.12.0): + - GoogleUtilities/Logger (7.13.3): - GoogleUtilities/Environment - - GoogleUtilities/MethodSwizzler (7.12.0): + - GoogleUtilities/Privacy + - GoogleUtilities/MethodSwizzler (7.13.3): - GoogleUtilities/Logger - - GoogleUtilities/Network (7.12.0): + - GoogleUtilities/Privacy + - GoogleUtilities/Network (7.13.3): - GoogleUtilities/Logger - "GoogleUtilities/NSData+zlib" + - GoogleUtilities/Privacy - GoogleUtilities/Reachability - - "GoogleUtilities/NSData+zlib (7.12.0)" - - GoogleUtilities/Reachability (7.12.0): + - "GoogleUtilities/NSData+zlib (7.13.3)": + - GoogleUtilities/Privacy + - GoogleUtilities/Privacy (7.13.3) + - GoogleUtilities/Reachability (7.13.3): - GoogleUtilities/Logger - - GoogleUtilities/UserDefaults (7.12.0): + - GoogleUtilities/Privacy + - GoogleUtilities/UserDefaults (7.13.3): - GoogleUtilities/Logger - - nanopb (2.30909.1): - - nanopb/decode (= 2.30909.1) - - nanopb/encode (= 2.30909.1) - - nanopb/decode (2.30909.1) - - nanopb/encode (2.30909.1) + - GoogleUtilities/Privacy + - nanopb (2.30910.0): + - nanopb/decode (= 2.30910.0) + - nanopb/encode (= 2.30910.0) + - nanopb/decode (2.30910.0) + - nanopb/encode (2.30910.0) - open_app_file (3.2.2): - Flutter - path_provider_foundation (0.0.1): @@ -129,9 +159,9 @@ PODS: - FlutterMacOS - permission_handler_apple (9.1.1): - Flutter - - PromisesObjC (2.3.1) - - PromisesSwift (2.3.1): - - PromisesObjC (= 2.3.1) + - PromisesObjC (2.4.0) + - PromisesSwift (2.4.0): + - PromisesObjC (= 2.4.0) - shared_preferences_foundation (0.0.1): - Flutter - FlutterMacOS @@ -143,9 +173,12 @@ PODS: - Flutter DEPENDENCIES: + - channel_talk_flutter (from `.symlinks/plugins/channel_talk_flutter/ios`) + - ChannelIOSDK (from `https://mobile-static.channel.io/ios/11.7.3/xcframework.podspec`) - firebase_analytics (from `.symlinks/plugins/firebase_analytics/ios`) - firebase_core (from `.symlinks/plugins/firebase_core/ios`) - firebase_crashlytics (from `.symlinks/plugins/firebase_crashlytics/ios`) + - firebase_messaging (from `.symlinks/plugins/firebase_messaging/ios`) - Flutter (from `Flutter`) - flutter_native_splash (from `.symlinks/plugins/flutter_native_splash/ios`) - flutter_web_browser (from `.symlinks/plugins/flutter_web_browser/ios`) @@ -167,6 +200,7 @@ SPEC REPOS: - FirebaseCoreInternal - FirebaseCrashlytics - FirebaseInstallations + - FirebaseMessaging - FirebaseSessions - GoogleAppMeasurement - GoogleDataTransport @@ -176,12 +210,18 @@ SPEC REPOS: - PromisesSwift EXTERNAL SOURCES: + channel_talk_flutter: + :path: ".symlinks/plugins/channel_talk_flutter/ios" + ChannelIOSDK: + :podspec: https://mobile-static.channel.io/ios/11.7.3/xcframework.podspec firebase_analytics: :path: ".symlinks/plugins/firebase_analytics/ios" firebase_core: :path: ".symlinks/plugins/firebase_core/ios" firebase_crashlytics: :path: ".symlinks/plugins/firebase_crashlytics/ios" + firebase_messaging: + :path: ".symlinks/plugins/firebase_messaging/ios" Flutter: :path: Flutter flutter_native_splash: @@ -206,35 +246,39 @@ EXTERNAL SOURCES: :path: ".symlinks/plugins/webview_flutter_wkwebview/ios" SPEC CHECKSUMS: - Firebase: 414ad272f8d02dfbf12662a9d43f4bba9bec2a06 - firebase_analytics: 3e5dba777bb51d1e0358b5a37adefa69746a94bd - firebase_core: 29d66baf806970cda37c93621b27cd369b27db1b - firebase_crashlytics: d568dbe2dfb06c3f3ba985c7f6a59f2961288512 - FirebaseAnalytics: 4d310b35c48eaa4a058ddc04bdca6bdb5dc0fe80 - FirebaseCore: 2322423314d92f946219c8791674d2f3345b598f - FirebaseCoreExtension: 62b201498aa10535801cdf3448c7f4db5e24ed80 - FirebaseCoreInternal: 8eb002e564b533bdcf1ba011f33f2b5c10e2ed4a - FirebaseCrashlytics: 86d5bce01f42fa1db265f87ff1d591f04db610ec - FirebaseInstallations: e842042ec6ac1fd2e37d7706363ebe7f662afea4 - FirebaseSessions: f90fe9212ee2818641eda051c0835c9c4e30d9ae + channel_talk_flutter: 62d078feeddfa94b03dfa72f39ecf26f2731c2ee + ChannelIOSDK: 3d4bee1e1a077cf60394b439801e5078bb69a3b1 + Firebase: 797fd7297b7e1be954432743a0b3f90038e45a71 + firebase_analytics: 6eb10731f062aa96ed92b81286d519840976ac7b + firebase_core: 100945864b4aedce3cfef0c62ab864858bf013cf + firebase_crashlytics: 0b6f21dea4c091e151ce9feef020e3b936d6ec88 + firebase_messaging: e65050bf9b187511d80ea3a4de7cf5573d2c7543 + FirebaseAnalytics: 8d0ff929c63b7f72260f332b86ccf569776b75d3 + FirebaseCore: 0326ec9b05fbed8f8716cddbf0e36894a13837f7 + FirebaseCoreExtension: 705ca5b14bf71d2564a0ddc677df1fc86ffa600f + FirebaseCoreInternal: df84dd300b561c27d5571684f389bf60b0a5c934 + FirebaseCrashlytics: e568d68ce89117c80cddb04073ab9018725fbb8c + FirebaseInstallations: 913cf60d0400ebd5d6b63a28b290372ab44590dd + FirebaseMessaging: 9f71037fd9db3376a4caa54e5a3949d1027b4b6e + FirebaseSessions: dbd14adac65ce996228652c1fc3a3f576bdf3ecc Flutter: f04841e97a9d0b0a8025694d0796dd46242b2854 flutter_native_splash: 52501b97d1c0a5f898d687f1646226c1f93c56ef flutter_web_browser: 7bccaafbb0c5b8862afe7bcd158f15557109f61f flutter_widgetkit: a0e9b0d50ee9bec366dad36c639509daaafc397a - GoogleAppMeasurement: 70ce9aa438cff1cfb31ea3e660bcc67734cb716e - GoogleDataTransport: 54dee9d48d14580407f8f5fbf2f496e92437a2f2 - GoogleUtilities: 0759d1a57ebb953965c2dfe0ba4c82e95ccc2e34 - nanopb: d4d75c12cd1316f4a64e3c6963f879ecd4b5e0d5 + GoogleAppMeasurement: ccefe3eac9b0aa27f96066809fb1a7fe4b462626 + GoogleDataTransport: 6c09b596d841063d76d4288cc2d2f42cc36e1e2a + GoogleUtilities: ea963c370a38a8069cc5f7ba4ca849a60b6d7d15 + nanopb: 438bc412db1928dac798aa6fd75726007be04262 open_app_file: 205f73051668bfbd68356005fef8a62e620f0a77 path_provider_foundation: 29f094ae23ebbca9d3d0cec13889cd9060c0e943 permission_handler_apple: e76247795d700c14ea09e3a2d8855d41ee80a2e6 - PromisesObjC: c50d2056b5253dadbd6c2bea79b0674bd5a52fa4 - PromisesSwift: 28dca69a9c40779916ac2d6985a0192a5cb4a265 + PromisesObjC: f5707f49cb48b9636751c5b2e7d227e43fba9f47 + PromisesSwift: 9d77319bbe72ebf6d872900551f7eeba9bce2851 shared_preferences_foundation: 5b919d13b803cadd15ed2dc053125c68730e5126 url_launcher_ios: bf5ce03e0e2088bad9cc378ea97fa0ed5b49673b webview_cookie_manager: eaf920722b493bd0f7611b5484771ca53fed03f7 webview_flutter_wkwebview: b7e70ef1ddded7e69c796c7390ee74180182971f -PODFILE CHECKSUM: 7368163408c647b7eb699d0d788ba6718e18fb8d +PODFILE CHECKSUM: e449250f1b94b4fe503fafa456eb8bfadb338998 -COCOAPODS: 1.14.3 +COCOAPODS: 1.15.2 diff --git a/ios/Runner.xcodeproj/project.pbxproj b/ios/Runner.xcodeproj/project.pbxproj index fd797b8a..8aa3b645 100644 --- a/ios/Runner.xcodeproj/project.pbxproj +++ b/ios/Runner.xcodeproj/project.pbxproj @@ -384,7 +384,7 @@ ); mainGroup = 97C146E51CF9000F007C117D; packageReferences = ( - 8BB397432A8E003300DD352E /* XCRemoteSwiftPackageReference "Alamofire.git" */, + 8BB397432A8E003300DD352E /* XCRemoteSwiftPackageReference "Alamofire" */, ); productRefGroup = 97C146EF1CF9000F007C117D /* Products */; projectDirPath = ""; @@ -518,11 +518,13 @@ "${BUILT_PRODUCTS_DIR}/FirebaseCoreInternal/FirebaseCoreInternal.framework", "${BUILT_PRODUCTS_DIR}/FirebaseCrashlytics/FirebaseCrashlytics.framework", "${BUILT_PRODUCTS_DIR}/FirebaseInstallations/FirebaseInstallations.framework", + "${BUILT_PRODUCTS_DIR}/FirebaseMessaging/FirebaseMessaging.framework", "${BUILT_PRODUCTS_DIR}/FirebaseSessions/FirebaseSessions.framework", "${BUILT_PRODUCTS_DIR}/GoogleDataTransport/GoogleDataTransport.framework", "${BUILT_PRODUCTS_DIR}/GoogleUtilities/GoogleUtilities.framework", "${BUILT_PRODUCTS_DIR}/PromisesObjC/FBLPromises.framework", "${BUILT_PRODUCTS_DIR}/PromisesSwift/Promises.framework", + "${BUILT_PRODUCTS_DIR}/channel_talk_flutter/channel_talk_flutter.framework", "${BUILT_PRODUCTS_DIR}/flutter_native_splash/flutter_native_splash.framework", "${BUILT_PRODUCTS_DIR}/flutter_web_browser/flutter_web_browser.framework", "${BUILT_PRODUCTS_DIR}/flutter_widgetkit/flutter_widgetkit.framework", @@ -533,6 +535,7 @@ "${BUILT_PRODUCTS_DIR}/url_launcher_ios/url_launcher_ios.framework", "${BUILT_PRODUCTS_DIR}/webview_cookie_manager/webview_cookie_manager.framework", "${BUILT_PRODUCTS_DIR}/webview_flutter_wkwebview/webview_flutter_wkwebview.framework", + "${PODS_XCFRAMEWORKS_BUILD_DIR}/ChannelIOSDK/ChannelIOFront.framework/ChannelIOFront", ); name = "[CP] Embed Pods Frameworks"; outputPaths = ( @@ -541,11 +544,13 @@ "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FirebaseCoreInternal.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FirebaseCrashlytics.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FirebaseInstallations.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FirebaseMessaging.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FirebaseSessions.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/GoogleDataTransport.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/GoogleUtilities.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FBLPromises.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Promises.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/channel_talk_flutter.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/flutter_native_splash.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/flutter_web_browser.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/flutter_widgetkit.framework", @@ -556,6 +561,7 @@ "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/url_launcher_ios.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/webview_cookie_manager.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/webview_flutter_wkwebview.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/ChannelIOFront.framework", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; @@ -1203,7 +1209,7 @@ /* End XCConfigurationList section */ /* Begin XCRemoteSwiftPackageReference section */ - 8BB397432A8E003300DD352E /* XCRemoteSwiftPackageReference "Alamofire.git" */ = { + 8BB397432A8E003300DD352E /* XCRemoteSwiftPackageReference "Alamofire" */ = { isa = XCRemoteSwiftPackageReference; repositoryURL = "https://github.com/Alamofire/Alamofire.git"; requirement = { @@ -1216,7 +1222,7 @@ /* Begin XCSwiftPackageProductDependency section */ 8BB397442A8E003300DD352E /* Alamofire */ = { isa = XCSwiftPackageProductDependency; - package = 8BB397432A8E003300DD352E /* XCRemoteSwiftPackageReference "Alamofire.git" */; + package = 8BB397432A8E003300DD352E /* XCRemoteSwiftPackageReference "Alamofire" */; productName = Alamofire; }; /* End XCSwiftPackageProductDependency section */ From c4da3e8c3ac85789d7e1802b4d71188a60802a0e Mon Sep 17 00:00:00 2001 From: happycastle <41810556+happycastle114@users.noreply.github.com> Date: Tue, 13 Aug 2024 18:03:28 +0900 Subject: [PATCH 03/18] fix change version --- .../xcshareddata/IDEWorkspaceChecks.plist | 8 ++ pubspec.lock | 76 ++++++++++--------- 2 files changed, 50 insertions(+), 34 deletions(-) create mode 100644 ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist diff --git a/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 00000000..18d98100 --- /dev/null +++ b/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/pubspec.lock b/pubspec.lock index f9474668..53f9f504 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -94,10 +94,10 @@ packages: dependency: transitive description: name: collection - sha256: ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a + sha256: a1ace0a119f20aabc852d165077c036cd864315bd99b7eaa10a60100341941bf url: "https://pub.dev" source: hosted - version: "1.18.0" + version: "1.19.0" convert: dependency: transitive description: @@ -158,10 +158,10 @@ packages: dependency: "direct main" description: name: easy_localization - sha256: de63e3b422adfc97f256cbb3f8cf12739b6a4993d390f3cadb3f51837afaefe5 + sha256: fa59bcdbbb911a764aa6acf96bbb6fa7a5cf8234354fc45ec1a43a0349ef0201 url: "https://pub.dev" source: hosted - version: "3.0.3" + version: "3.0.7" easy_logger: dependency: transitive description: @@ -412,10 +412,10 @@ packages: dependency: transitive description: name: intl - sha256: "3bc132a9dbce73a7e4a21a17d06e1878839ffbf975568bc875c60537824b0c4d" + sha256: d6f56758b7d3014a48af9701c085700aac781a92a87a62b1333b46d8879661cf url: "https://pub.dev" source: hosted - version: "0.18.1" + version: "0.19.0" io: dependency: transitive description: @@ -436,18 +436,26 @@ packages: dependency: transitive description: name: leak_tracker - sha256: "04be76c4a4bb50f14904e64749237e541e7c7bcf7ec0b196907322ab5d2fc739" + sha256: "3f87a60e8c63aecc975dda1ceedbc8f24de75f09e4856ea27daf8958f2f0ce05" + url: "https://pub.dev" + source: hosted + version: "10.0.5" + leak_tracker_flutter_testing: + dependency: transitive + description: + name: leak_tracker_flutter_testing + sha256: "932549fb305594d82d7183ecd9fa93463e9914e1b67cacc34bc40906594a1806" url: "https://pub.dev" source: hosted - version: "9.0.16" + version: "3.0.5" leak_tracker_testing: dependency: transitive description: name: leak_tracker_testing - sha256: b06739349ec2477e943055aea30172c5c7000225f79dad4702e2ec0eda79a6ff + sha256: "6ba465d5d76e67ddf503e1161d1f4a6bc42306f9d66ca1e8f079a47290fb06d3" url: "https://pub.dev" source: hosted - version: "1.0.5" + version: "3.0.1" logging: dependency: transitive description: @@ -468,26 +476,26 @@ packages: dependency: transitive description: name: matcher - sha256: "1803e76e6653768d64ed8ff2e1e67bea3ad4b923eb5c56a295c3e634bad5960e" + sha256: d2323aa2060500f906aa31a895b4030b6da3ebdcc5619d14ce1aada65cd161cb url: "https://pub.dev" source: hosted - version: "0.12.16" + version: "0.12.16+1" material_color_utilities: dependency: transitive description: name: material_color_utilities - sha256: "0e0a020085b65b6083975e499759762399b4475f766c21668c4ecca34ea74e5a" + sha256: f7142bb1154231d7ea5f96bc7bde4bda2a0945d2806bb11670e30b850d56bdec url: "https://pub.dev" source: hosted - version: "0.8.0" + version: "0.11.1" meta: dependency: transitive description: name: meta - sha256: d584fa6707a52763a52446f02cc621b077888fb63b93bbcb1143a7be5a0c0c04 + sha256: bdb68674043280c3428e9ec998512fb681678676b3c54e773629ffe74419f8c7 url: "https://pub.dev" source: hosted - version: "1.11.0" + version: "1.15.0" mime: dependency: transitive description: @@ -532,10 +540,10 @@ packages: dependency: transitive description: name: path - sha256: "8829d8a55c13fc0e37127c29fedf290c102f4e40ae94ada574091fe0ff96c917" + sha256: "087ce49c3f0dc39180befefc60fdb4acd8f8620e5682fe2476afd0b3688bb4af" url: "https://pub.dev" source: hosted - version: "1.8.3" + version: "1.9.0" path_drawing: dependency: transitive description: @@ -660,10 +668,10 @@ packages: dependency: transitive description: name: platform - sha256: "0a279f0707af40c890e80b1e9df8bb761694c074ba7e1d4ab1bc4b728e200b59" + sha256: "9b71283fc13df574056616011fb138fd3b793ea47cc509c189a6c3fa5f8a1a65" url: "https://pub.dev" source: hosted - version: "3.1.3" + version: "3.1.5" plugin_platform_interface: dependency: transitive description: @@ -692,10 +700,10 @@ packages: dependency: transitive description: name: process - sha256: "266ca5be5820feefc777793d0a583acfc8c40834893c87c00c6c09e2cf58ea42" + sha256: "21e54fd2faf1b5bdd5102afd25012184a6793927648ea81eea80552ac9405b32" url: "https://pub.dev" source: hosted - version: "5.0.1" + version: "5.0.2" provider: dependency: "direct main" description: @@ -849,10 +857,10 @@ packages: dependency: transitive description: name: string_scanner - sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde" + sha256: "688af5ed3402a4bde5b3a6c15fd768dbf2621a614950b17f04626c431ab3c4c3" url: "https://pub.dev" source: hosted - version: "1.2.0" + version: "1.3.0" sync_http: dependency: transitive description: @@ -873,26 +881,26 @@ packages: dependency: "direct dev" description: name: test - sha256: a1f7595805820fcc05e5c52e3a231aedd0b72972cb333e8c738a8b1239448b6f + sha256: "713a8789d62f3233c46b4a90b174737b2c04cb6ae4500f2aa8b1be8f03f5e67f" url: "https://pub.dev" source: hosted - version: "1.24.9" + version: "1.25.8" test_api: dependency: transitive description: name: test_api - sha256: "5c2f730018264d276c20e4f1503fd1308dfbbae39ec8ee63c5236311ac06954b" + sha256: "664d3a9a64782fcdeb83ce9c6b39e78fd2971d4e37827b9b06c3aa1edc5e760c" url: "https://pub.dev" source: hosted - version: "0.6.1" + version: "0.7.3" test_core: dependency: transitive description: name: test_core - sha256: a757b14fc47507060a162cc2530d9a4a2f92f5100a952c7443b5cad5ef5b106a + sha256: "12391302411737c176b0b5d6491f466b0dd56d4763e347b6714efbaa74d7953d" url: "https://pub.dev" source: hosted - version: "0.5.9" + version: "0.6.5" typed_data: dependency: transitive description: @@ -1009,10 +1017,10 @@ packages: dependency: transitive description: name: vm_service - sha256: b3d56ff4341b8f182b96aceb2fa20e3dcb336b9f867bc0eafc0de10f1048e957 + sha256: f652077d0bdf60abe4c1f6377448e8655008eef28f128bc023f7b5e8dfeb48fc url: "https://pub.dev" source: hosted - version: "13.0.0" + version: "14.2.4" watcher: dependency: transitive description: @@ -1126,5 +1134,5 @@ packages: source: hosted version: "3.1.2" sdks: - dart: ">=3.2.0 <4.0.0" - flutter: ">=3.16.0" + dart: ">=3.4.0 <4.0.0" + flutter: ">=3.18.0-18.0.pre.54" From 8beac860ab32b7e4a0666bd0c97d6c5b88217359 Mon Sep 17 00:00:00 2001 From: happycastle <41810556+happycastle114@users.noreply.github.com> Date: Tue, 13 Aug 2024 18:17:44 +0900 Subject: [PATCH 04/18] Update Libraries --- ios/Podfile.lock | 4 +-- ios/Runner.xcodeproj/project.pbxproj | 8 ++--- .../xcshareddata/swiftpm/Package.resolved | 14 -------- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- pubspec.lock | 32 +++++++++---------- pubspec.yaml | 1 + 6 files changed, 24 insertions(+), 37 deletions(-) delete mode 100644 ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved diff --git a/ios/Podfile.lock b/ios/Podfile.lock index 56307e29..b2778a73 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -261,7 +261,7 @@ SPEC CHECKSUMS: FirebaseInstallations: 913cf60d0400ebd5d6b63a28b290372ab44590dd FirebaseMessaging: 9f71037fd9db3376a4caa54e5a3949d1027b4b6e FirebaseSessions: dbd14adac65ce996228652c1fc3a3f576bdf3ecc - Flutter: f04841e97a9d0b0a8025694d0796dd46242b2854 + Flutter: e0871f40cf51350855a761d2e70bf5af5b9b5de7 flutter_native_splash: 52501b97d1c0a5f898d687f1646226c1f93c56ef flutter_web_browser: 7bccaafbb0c5b8862afe7bcd158f15557109f61f flutter_widgetkit: a0e9b0d50ee9bec366dad36c639509daaafc397a @@ -275,7 +275,7 @@ SPEC CHECKSUMS: PromisesObjC: f5707f49cb48b9636751c5b2e7d227e43fba9f47 PromisesSwift: 9d77319bbe72ebf6d872900551f7eeba9bce2851 shared_preferences_foundation: 5b919d13b803cadd15ed2dc053125c68730e5126 - url_launcher_ios: bf5ce03e0e2088bad9cc378ea97fa0ed5b49673b + url_launcher_ios: 5334b05cef931de560670eeae103fd3e431ac3fe webview_cookie_manager: eaf920722b493bd0f7611b5484771ca53fed03f7 webview_flutter_wkwebview: b7e70ef1ddded7e69c796c7390ee74180182971f diff --git a/ios/Runner.xcodeproj/project.pbxproj b/ios/Runner.xcodeproj/project.pbxproj index 8aa3b645..a3194c53 100644 --- a/ios/Runner.xcodeproj/project.pbxproj +++ b/ios/Runner.xcodeproj/project.pbxproj @@ -358,7 +358,7 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 1430; - LastUpgradeCheck = 1430; + LastUpgradeCheck = 1510; ORGANIZATIONNAME = "The Chromium Authors"; TargetAttributes = { 8BB3457F2A012C99008A0E30 = { @@ -694,7 +694,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 11.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; SUPPORTED_PLATFORMS = iphoneos; @@ -1026,7 +1026,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 11.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; SDKROOT = iphoneos; @@ -1075,7 +1075,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 11.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; SUPPORTED_PLATFORMS = iphoneos; diff --git a/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved b/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved deleted file mode 100644 index 397609ad..00000000 --- a/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved +++ /dev/null @@ -1,14 +0,0 @@ -{ - "pins" : [ - { - "identity" : "alamofire", - "kind" : "remoteSourceControl", - "location" : "https://github.com/Alamofire/Alamofire.git", - "state" : { - "revision" : "bc268c28fb170f494de9e9927c371b8342979ece", - "version" : "5.7.1" - } - } - ], - "version" : 2 -} diff --git a/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index a6b826db..5e31d3d3 100644 --- a/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ =3.4.0 <4.0.0" - flutter: ">=3.18.0-18.0.pre.54" + flutter: ">=3.22.0" diff --git a/pubspec.yaml b/pubspec.yaml index 663a60bf..7c7c4133 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -49,6 +49,7 @@ dependencies: ref: main firebase_messaging: ^14.7.19 + win32: ^5.5.4 dev_dependencies: test: ^1.24.9 From 9406e637d05b7ed9a011008ec21c840adf2e8c57 Mon Sep 17 00:00:00 2001 From: happycastle <41810556+happycastle114@users.noreply.github.com> Date: Tue, 13 Aug 2024 18:55:34 +0900 Subject: [PATCH 05/18] Add: Force Options --- android/app/build.gradle | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/android/app/build.gradle b/android/app/build.gradle index 4c566efd..97d50d96 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -86,3 +86,9 @@ dependencies { androidTestImplementation 'androidx.test:runner:1.5.2' androidTestImplementation 'androidx.test.espresso:espresso-core:3.5.1' } + +configurations.all { + resolutionStrategy { + force 'androidx.core:core-ktx:1.6.0' + } +} From a926ae798724255fbff377b4ddcbbe0e14631929 Mon Sep 17 00:00:00 2001 From: happycastle <41810556+happycastle114@users.noreply.github.com> Date: Tue, 13 Aug 2024 19:03:38 +0900 Subject: [PATCH 06/18] Fix Lints --- android/app/build.gradle | 6 +- android/build.gradle | 6 + lib/pages/course_search_page.dart | 267 +++++++++---------- lib/pages/lecture_search_page.dart | 277 ++++++++++--------- lib/widgets/dropdown.dart | 248 ++++++++--------- lib/widgets/lecture_search.dart | 266 +++++++++--------- lib/widgets/pop_up.dart | 414 ++++++++++++++--------------- 7 files changed, 742 insertions(+), 742 deletions(-) diff --git a/android/app/build.gradle b/android/app/build.gradle index 97d50d96..a5e41dfe 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -87,8 +87,4 @@ dependencies { androidTestImplementation 'androidx.test.espresso:espresso-core:3.5.1' } -configurations.all { - resolutionStrategy { - force 'androidx.core:core-ktx:1.6.0' - } -} + diff --git a/android/build.gradle b/android/build.gradle index fbe785de..5d4c35d1 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -35,3 +35,9 @@ subprojects { tasks.register("clean", Delete) { delete rootProject.buildDir } + +configurations.all { + resolutionStrategy { + force 'androidx.core:core-ktx:1.6.0' + } +} \ No newline at end of file diff --git a/lib/pages/course_search_page.dart b/lib/pages/course_search_page.dart index 29893372..33949969 100644 --- a/lib/pages/course_search_page.dart +++ b/lib/pages/course_search_page.dart @@ -1,134 +1,133 @@ -import 'package:easy_localization/easy_localization.dart'; -import 'package:flutter/material.dart'; -import 'package:otlplus/constants/color.dart'; -import 'package:otlplus/constants/text_styles.dart'; -import 'package:otlplus/providers/course_search_model.dart'; -import 'package:otlplus/utils/navigator.dart'; -import 'package:otlplus/widgets/otl_scaffold.dart'; -import 'package:otlplus/widgets/search_filter_panel.dart'; -import 'package:otlplus/widgets/search_textfield.dart'; -import 'package:provider/provider.dart'; - -class CourseSearchPage extends StatefulWidget { - final bool openKeyboard; - const CourseSearchPage({Key? key, this.openKeyboard = true}) - : super(key: key); - - @override - State createState() => _CourseSearchPageState(); -} - -class _CourseSearchPageState extends State { - final _searchTextController = TextEditingController(); - late FocusNode _focusNode; - - @override - void initState() { - super.initState(); - _searchTextController.text = - context.read().courseSearchText; - _searchTextController.addListener(() { - context - .read() - .setCourseSearchText(_searchTextController.text); - }); - _focusNode = FocusNode(); - } - - @override - void dispose() { - _searchTextController.dispose(); - _focusNode.dispose(); - super.dispose(); - } - - @override - Widget build(BuildContext context) { - return OTLScaffold( - resizeToAvoidBottomInset: true, - child: OTLLayout( - middle: Padding( - padding: EdgeInsets.only(right: 16.0), - child: SearchTextfield( - autoFocus: _searchTextController.text == '' && widget.openKeyboard, - backgroundColor: OTLColor.grayF, - textController: _searchTextController, - focusNode: _focusNode, - ), - ), - body: SafeArea( - top: false, - minimum: const EdgeInsets.only(left: 16.0, right: 16.0, bottom: 16.0), - child: Column( - children: [ - Expanded( - child: Column( - children: [ - Expanded( - child: SearchFilterPanel( - filter: context.watch().courseFilter, - setFilter: context - .read() - .setCourseFilterSelected, - ), - ), - const SizedBox(height: 16.0), - ], - ), - ), - Row( - children: [ - Expanded( - child: FilledButton( - onPressed: () { - _searchTextController.clear(); - context.read().resetCourseFilter(); - }, - child: Text( - "common.reset_all".tr(), - style: bodyBold.copyWith(color: OTLColor.pinksMain), - ), - style: ButtonStyle( - backgroundColor: - MaterialStatePropertyAll(OTLColor.grayF), - shape: MaterialStatePropertyAll( - RoundedRectangleBorder( - borderRadius: BorderRadius.circular(8.0), - ), - ), - ), - ), - ), - SizedBox( - width: 12, - ), - Expanded( - child: FilledButton( - style: ButtonStyle( - shape: MaterialStatePropertyAll( - RoundedRectangleBorder( - borderRadius: BorderRadius.circular(8.0), - ), - ), - ), - onPressed: () async { - if (await context - .read() - .courseSearch()) { - OTLNavigator.pop(context, result: true); - } else { - _focusNode.requestFocus(); - } - }, - child: Text("common.search".tr(), style: bodyBold), - ), - ), - ], - ), - ], - ), - ), - ), - ); - } -} +import 'package:easy_localization/easy_localization.dart'; +import 'package:flutter/material.dart'; +import 'package:otlplus/constants/color.dart'; +import 'package:otlplus/constants/text_styles.dart'; +import 'package:otlplus/providers/course_search_model.dart'; +import 'package:otlplus/utils/navigator.dart'; +import 'package:otlplus/widgets/otl_scaffold.dart'; +import 'package:otlplus/widgets/search_filter_panel.dart'; +import 'package:otlplus/widgets/search_textfield.dart'; +import 'package:provider/provider.dart'; + +class CourseSearchPage extends StatefulWidget { + final bool openKeyboard; + const CourseSearchPage({Key? key, this.openKeyboard = true}) + : super(key: key); + + @override + State createState() => _CourseSearchPageState(); +} + +class _CourseSearchPageState extends State { + final _searchTextController = TextEditingController(); + late FocusNode _focusNode; + + @override + void initState() { + super.initState(); + _searchTextController.text = + context.read().courseSearchText; + _searchTextController.addListener(() { + context + .read() + .setCourseSearchText(_searchTextController.text); + }); + _focusNode = FocusNode(); + } + + @override + void dispose() { + _searchTextController.dispose(); + _focusNode.dispose(); + super.dispose(); + } + + @override + Widget build(BuildContext context) { + return OTLScaffold( + resizeToAvoidBottomInset: true, + child: OTLLayout( + middle: Padding( + padding: EdgeInsets.only(right: 16.0), + child: SearchTextfield( + autoFocus: _searchTextController.text == '' && widget.openKeyboard, + backgroundColor: OTLColor.grayF, + textController: _searchTextController, + focusNode: _focusNode, + ), + ), + body: SafeArea( + top: false, + minimum: const EdgeInsets.only(left: 16.0, right: 16.0, bottom: 16.0), + child: Column( + children: [ + Expanded( + child: Column( + children: [ + Expanded( + child: SearchFilterPanel( + filter: context.watch().courseFilter, + setFilter: context + .read() + .setCourseFilterSelected, + ), + ), + const SizedBox(height: 16.0), + ], + ), + ), + Row( + children: [ + Expanded( + child: FilledButton( + onPressed: () { + _searchTextController.clear(); + context.read().resetCourseFilter(); + }, + child: Text( + "common.reset_all".tr(), + style: bodyBold.copyWith(color: OTLColor.pinksMain), + ), + style: ButtonStyle( + backgroundColor: WidgetStatePropertyAll(OTLColor.grayF), + shape: WidgetStatePropertyAll( + RoundedRectangleBorder( + borderRadius: BorderRadius.circular(8.0), + ), + ), + ), + ), + ), + SizedBox( + width: 12, + ), + Expanded( + child: FilledButton( + style: ButtonStyle( + shape: WidgetStatePropertyAll( + RoundedRectangleBorder( + borderRadius: BorderRadius.circular(8.0), + ), + ), + ), + onPressed: () async { + if (await context + .read() + .courseSearch()) { + OTLNavigator.pop(context, result: true); + } else { + _focusNode.requestFocus(); + } + }, + child: Text("common.search".tr(), style: bodyBold), + ), + ), + ], + ), + ], + ), + ), + ), + ); + } +} diff --git a/lib/pages/lecture_search_page.dart b/lib/pages/lecture_search_page.dart index 159a7106..540170b9 100644 --- a/lib/pages/lecture_search_page.dart +++ b/lib/pages/lecture_search_page.dart @@ -1,139 +1,138 @@ -import 'package:easy_localization/easy_localization.dart'; -import 'package:flutter/material.dart'; -import 'package:otlplus/constants/color.dart'; -import 'package:otlplus/constants/text_styles.dart'; -import 'package:otlplus/providers/lecture_search_model.dart'; -import 'package:otlplus/providers/timetable_model.dart'; -import 'package:otlplus/utils/navigator.dart'; -import 'package:otlplus/widgets/otl_scaffold.dart'; -import 'package:otlplus/widgets/search_filter_panel.dart'; -import 'package:otlplus/widgets/search_textfield.dart'; -import 'package:provider/provider.dart'; - -class LectureSearchPage extends StatefulWidget { - final bool openKeyboard; - const LectureSearchPage({Key? key, this.openKeyboard = true}) - : super(key: key); - - @override - State createState() => _LectureSearchPageState(); -} - -class _LectureSearchPageState extends State { - final _searchTextController = TextEditingController(); - late FocusNode _focusNode; - - @override - void initState() { - super.initState(); - _searchTextController.text = - context.read().lectureSearchText; - _searchTextController.addListener(() { - context - .read() - .setLectureSearchText(_searchTextController.text); - }); - _focusNode = FocusNode(); - } - - @override - void dispose() { - _searchTextController.dispose(); - _focusNode.dispose(); - super.dispose(); - } - - @override - Widget build(BuildContext context) { - return OTLScaffold( - resizeToAvoidBottomInset: true, - child: OTLLayout( - middle: Padding( - padding: EdgeInsets.only(right: 16.0), - child: SearchTextfield( - autoFocus: _searchTextController.text == '' && widget.openKeyboard, - backgroundColor: OTLColor.grayF, - textController: _searchTextController, - focusNode: _focusNode, - ), - ), - body: SafeArea( - top: false, - minimum: const EdgeInsets.only(left: 16.0, right: 16.0, bottom: 16.0), - child: Column( - children: [ - Flexible( - child: Column( - children: [ - Flexible( - child: SearchFilterPanel( - filter: - context.watch().lectureFilter, - setFilter: context - .read() - .setLectureFilterSelected, - ), - ), - const SizedBox(height: 16.0), - ], - ), - ), - Row( - children: [ - Expanded( - child: FilledButton( - onPressed: () { - _searchTextController.clear(); - context.read().resetLectureFilter(); - context.read().setTempLecture(null); - }, - child: Text( - "common.reset_all".tr(), - style: bodyBold.copyWith(color: OTLColor.pinksMain), - ), - style: ButtonStyle( - backgroundColor: - MaterialStatePropertyAll(OTLColor.grayF), - shape: MaterialStatePropertyAll( - RoundedRectangleBorder( - borderRadius: BorderRadius.circular(8.0), - ), - ), - ), - ), - ), - SizedBox( - width: 12, - ), - Expanded( - child: FilledButton( - style: ButtonStyle( - shape: MaterialStatePropertyAll( - RoundedRectangleBorder( - borderRadius: BorderRadius.circular(8.0), - ), - ), - ), - onPressed: () async { - context.read().setTempLecture(null); - if (await context - .read() - .lectureSearch( - context.read().selectedSemester, - )) - OTLNavigator.pop(context); - else - _focusNode.requestFocus(); - }, - child: Text("common.search".tr(), style: bodyBold), - ), - ), - ], - ), - ], - ), - ), - ), - ); - } -} +import 'package:easy_localization/easy_localization.dart'; +import 'package:flutter/material.dart'; +import 'package:otlplus/constants/color.dart'; +import 'package:otlplus/constants/text_styles.dart'; +import 'package:otlplus/providers/lecture_search_model.dart'; +import 'package:otlplus/providers/timetable_model.dart'; +import 'package:otlplus/utils/navigator.dart'; +import 'package:otlplus/widgets/otl_scaffold.dart'; +import 'package:otlplus/widgets/search_filter_panel.dart'; +import 'package:otlplus/widgets/search_textfield.dart'; +import 'package:provider/provider.dart'; + +class LectureSearchPage extends StatefulWidget { + final bool openKeyboard; + const LectureSearchPage({Key? key, this.openKeyboard = true}) + : super(key: key); + + @override + State createState() => _LectureSearchPageState(); +} + +class _LectureSearchPageState extends State { + final _searchTextController = TextEditingController(); + late FocusNode _focusNode; + + @override + void initState() { + super.initState(); + _searchTextController.text = + context.read().lectureSearchText; + _searchTextController.addListener(() { + context + .read() + .setLectureSearchText(_searchTextController.text); + }); + _focusNode = FocusNode(); + } + + @override + void dispose() { + _searchTextController.dispose(); + _focusNode.dispose(); + super.dispose(); + } + + @override + Widget build(BuildContext context) { + return OTLScaffold( + resizeToAvoidBottomInset: true, + child: OTLLayout( + middle: Padding( + padding: EdgeInsets.only(right: 16.0), + child: SearchTextfield( + autoFocus: _searchTextController.text == '' && widget.openKeyboard, + backgroundColor: OTLColor.grayF, + textController: _searchTextController, + focusNode: _focusNode, + ), + ), + body: SafeArea( + top: false, + minimum: const EdgeInsets.only(left: 16.0, right: 16.0, bottom: 16.0), + child: Column( + children: [ + Flexible( + child: Column( + children: [ + Flexible( + child: SearchFilterPanel( + filter: + context.watch().lectureFilter, + setFilter: context + .read() + .setLectureFilterSelected, + ), + ), + const SizedBox(height: 16.0), + ], + ), + ), + Row( + children: [ + Expanded( + child: FilledButton( + onPressed: () { + _searchTextController.clear(); + context.read().resetLectureFilter(); + context.read().setTempLecture(null); + }, + child: Text( + "common.reset_all".tr(), + style: bodyBold.copyWith(color: OTLColor.pinksMain), + ), + style: ButtonStyle( + backgroundColor: WidgetStatePropertyAll(OTLColor.grayF), + shape: WidgetStatePropertyAll( + RoundedRectangleBorder( + borderRadius: BorderRadius.circular(8.0), + ), + ), + ), + ), + ), + SizedBox( + width: 12, + ), + Expanded( + child: FilledButton( + style: ButtonStyle( + shape: WidgetStatePropertyAll( + RoundedRectangleBorder( + borderRadius: BorderRadius.circular(8.0), + ), + ), + ), + onPressed: () async { + context.read().setTempLecture(null); + if (await context + .read() + .lectureSearch( + context.read().selectedSemester, + )) + OTLNavigator.pop(context); + else + _focusNode.requestFocus(); + }, + child: Text("common.search".tr(), style: bodyBold), + ), + ), + ], + ), + ], + ), + ), + ), + ); + } +} diff --git a/lib/widgets/dropdown.dart b/lib/widgets/dropdown.dart index d0c7ef49..bdf80c2d 100644 --- a/lib/widgets/dropdown.dart +++ b/lib/widgets/dropdown.dart @@ -1,124 +1,124 @@ -import 'package:flutter/material.dart'; -import 'package:dropdown_button2/dropdown_button2.dart'; -import 'package:otlplus/constants/color.dart'; -import 'package:otlplus/constants/text_styles.dart'; - -class ItemData { - final T value; - final String text; - final IconData? icon; - final Color textColor, iconColor; - final bool disabled; - - ItemData({ - required this.value, - required this.text, - this.icon, - this.textColor = OTLColor.grayF, - this.iconColor = OTLColor.grayF, - this.disabled = false, - }); -} - -class Dropdown extends StatelessWidget { - const Dropdown({ - Key? key, - required this.customButton, - required this.items, - this.isIconLeft = false, - this.offsetFromLeft = false, - this.offsetY = -8, - this.hasScrollbar = false, - required this.onChanged, - this.onMenuStateChange, - }) : super(key: key); - - final Widget customButton; - final List> items; - final bool isIconLeft; - final bool offsetFromLeft; - final double offsetY; - final bool hasScrollbar; - final void Function(T?) onChanged; - final void Function(bool)? onMenuStateChange; - - @override - Widget build(BuildContext context) { - return DropdownButtonHideUnderline( - child: DropdownButton2( - customButton: customButton, - dropdownStyleData: DropdownStyleData( - direction: - offsetFromLeft ? DropdownDirection.right : DropdownDirection.left, - width: 200, - maxHeight: 237, - elevation: 0, - padding: EdgeInsets.zero, - decoration: BoxDecoration( - borderRadius: BorderRadius.circular(10), - color: OTLColor.gray6, - ), - offset: Offset(0, offsetY), - scrollbarTheme: hasScrollbar - ? ScrollbarThemeData( - radius: Radius.circular(1.5), - mainAxisMargin: 11.5, - crossAxisMargin: 4.5, - thickness: MaterialStatePropertyAll(3), - thumbColor: MaterialStatePropertyAll(OTLColor.grayF), - interactive: true, - ) - : null, - ), - menuItemStyleData: MenuItemStyleData( - padding: EdgeInsets.zero, - ), - items: items.map((itemData) { - final children = [ - Expanded( - child: Text( - itemData.text, - style: bodyRegular.copyWith(color: itemData.textColor), - ), - ), - Padding( - padding: EdgeInsets.only(right: isIconLeft ? 12 : 0), - child: Icon( - itemData.icon, - size: 16, - color: itemData.iconColor, - ), - ), - ]; - return DropdownItem( - value: itemData.value, - height: 42, - child: Stack( - alignment: AlignmentDirectional.bottomStart, - children: [ - Opacity( - opacity: itemData.disabled ? 0.5 : 1, - child: Container( - height: 42, - padding: const EdgeInsets.symmetric(horizontal: 16), - child: Row( - children: - isIconLeft ? children.reversed.toList() : children, - ), - ), - ), - if (itemData != items.last) - Container( - color: OTLColor.grayF.withOpacity(0.5), - height: 0.5, - ), - ], - ), - ); - }).toList(), - onChanged: onChanged, - onMenuStateChange: onMenuStateChange, - ), - ); - } -} +import 'package:flutter/material.dart'; +import 'package:dropdown_button2/dropdown_button2.dart'; +import 'package:otlplus/constants/color.dart'; +import 'package:otlplus/constants/text_styles.dart'; + +class ItemData { + final T value; + final String text; + final IconData? icon; + final Color textColor, iconColor; + final bool disabled; + + ItemData({ + required this.value, + required this.text, + this.icon, + this.textColor = OTLColor.grayF, + this.iconColor = OTLColor.grayF, + this.disabled = false, + }); +} + +class Dropdown extends StatelessWidget { + const Dropdown({ + Key? key, + required this.customButton, + required this.items, + this.isIconLeft = false, + this.offsetFromLeft = false, + this.offsetY = -8, + this.hasScrollbar = false, + required this.onChanged, + this.onMenuStateChange, + }) : super(key: key); + + final Widget customButton; + final List> items; + final bool isIconLeft; + final bool offsetFromLeft; + final double offsetY; + final bool hasScrollbar; + final void Function(T?) onChanged; + final void Function(bool)? onMenuStateChange; + + @override + Widget build(BuildContext context) { + return DropdownButtonHideUnderline( + child: DropdownButton2( + customButton: customButton, + dropdownStyleData: DropdownStyleData( + direction: + offsetFromLeft ? DropdownDirection.right : DropdownDirection.left, + width: 200, + maxHeight: 237, + elevation: 0, + padding: EdgeInsets.zero, + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(10), + color: OTLColor.gray6, + ), + offset: Offset(0, offsetY), + scrollbarTheme: hasScrollbar + ? ScrollbarThemeData( + radius: Radius.circular(1.5), + mainAxisMargin: 11.5, + crossAxisMargin: 4.5, + thickness: WidgetStatePropertyAll(3), + thumbColor: WidgetStatePropertyAll(OTLColor.grayF), + interactive: true, + ) + : null, + ), + menuItemStyleData: MenuItemStyleData( + padding: EdgeInsets.zero, + ), + items: items.map((itemData) { + final children = [ + Expanded( + child: Text( + itemData.text, + style: bodyRegular.copyWith(color: itemData.textColor), + ), + ), + Padding( + padding: EdgeInsets.only(right: isIconLeft ? 12 : 0), + child: Icon( + itemData.icon, + size: 16, + color: itemData.iconColor, + ), + ), + ]; + return DropdownItem( + value: itemData.value, + height: 42, + child: Stack( + alignment: AlignmentDirectional.bottomStart, + children: [ + Opacity( + opacity: itemData.disabled ? 0.5 : 1, + child: Container( + height: 42, + padding: const EdgeInsets.symmetric(horizontal: 16), + child: Row( + children: + isIconLeft ? children.reversed.toList() : children, + ), + ), + ), + if (itemData != items.last) + Container( + color: OTLColor.grayF.withOpacity(0.5), + height: 0.5, + ), + ], + ), + ); + }).toList(), + onChanged: onChanged, + onMenuStateChange: onMenuStateChange, + ), + ); + } +} diff --git a/lib/widgets/lecture_search.dart b/lib/widgets/lecture_search.dart index d0b9fb4a..71a2f4e3 100644 --- a/lib/widgets/lecture_search.dart +++ b/lib/widgets/lecture_search.dart @@ -1,133 +1,133 @@ -import 'package:flutter/material.dart'; -import 'package:flutter_svg/flutter_svg.dart'; -import 'package:otlplus/pages/lecture_detail_page.dart'; -import 'package:otlplus/utils/navigator.dart'; -import 'package:otlplus/pages/lecture_search_page.dart'; -import 'package:otlplus/widgets/responsive_button.dart'; -import 'package:provider/provider.dart'; -import 'package:otlplus/constants/color.dart'; -import 'package:otlplus/models/lecture.dart'; -import 'package:otlplus/providers/lecture_detail_model.dart'; -import 'package:otlplus/providers/lecture_search_model.dart'; -import 'package:otlplus/widgets/lecture_group_block.dart'; - -class LectureSearch extends StatefulWidget { - final Future Function()? onClosed; - const LectureSearch({Key? key, this.onClosed}) : super(key: key); - - @override - _LectureSearchState createState() => _LectureSearchState(); -} - -class _LectureSearchState extends State { - final _scrollController = ScrollController(); - - @override - Widget build(BuildContext context) { - final searchModel = context.watch(); - - return PopScope( - onPopInvoked: (_) { - if (widget.onClosed != null) { - widget.onClosed!(); - } - }, - child: ColoredBox( - color: OTLColor.grayF, - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Row( - mainAxisAlignment: MainAxisAlignment.spaceBetween, - crossAxisAlignment: CrossAxisAlignment.center, - children: [ - Expanded( - child: Padding( - padding: const EdgeInsets.fromLTRB(16, 12, 0, 12), - child: ClipRRect( - borderRadius: BorderRadius.all(Radius.circular(8.0)), - child: BackgroundButton( - onTap: () => OTLNavigator.push( - context, - LectureSearchPage( - openKeyboard: true, - )), - color: OTLColor.pinksLight, - child: Padding( - padding: EdgeInsets.all(8.0), - child: SizedBox( - height: 20, - child: Row( - mainAxisAlignment: MainAxisAlignment.start, - crossAxisAlignment: CrossAxisAlignment.center, - children: [ - SvgPicture.asset( - 'assets/icons/search.svg', - height: 24.0, - width: 24.0, - colorFilter: ColorFilter.mode( - OTLColor.pinksMain, - BlendMode.srcIn, - ), - ), - SizedBox(width: 12.0), - Flexible( - child: context - .watch() - .lectureSearchquery, - ), - ], - ), - ), - ), - ), - ), - ), - ), - IconTextButton( - padding: EdgeInsets.fromLTRB(8, 12, 16, 12), - icon: Icons.close_outlined, - iconSize: 24, - onTap: widget.onClosed, - ) - ], - ), - Expanded( - child: searchModel.isSearching - ? Center( - child: const CircularProgressIndicator(), - ) - : Scrollbar( - controller: _scrollController, - child: _buildListView( - searchModel.lectures ?? [[]], - _scrollController, - ), - ), - ), - ], - ), - ), - ); - } - - ListView _buildListView( - List> lectures, - ScrollController scrollController, - ) { - return ListView.separated( - padding: EdgeInsets.fromLTRB(16, 0, 16, 12), - controller: scrollController, - itemCount: lectures.length, - itemBuilder: (context, index) => LectureGroupBlock( - lectures: lectures[index], - onLongPress: (lecture) { - context - .read() - .loadLecture(lecture.id, true); - OTLNavigator.push(context, LectureDetailPage()); - }, - ), - separatorBuilder: (context, index) => SizedBox(height: 8)); - } -} +import 'package:flutter/material.dart'; +import 'package:flutter_svg/flutter_svg.dart'; +import 'package:otlplus/pages/lecture_detail_page.dart'; +import 'package:otlplus/utils/navigator.dart'; +import 'package:otlplus/pages/lecture_search_page.dart'; +import 'package:otlplus/widgets/responsive_button.dart'; +import 'package:provider/provider.dart'; +import 'package:otlplus/constants/color.dart'; +import 'package:otlplus/models/lecture.dart'; +import 'package:otlplus/providers/lecture_detail_model.dart'; +import 'package:otlplus/providers/lecture_search_model.dart'; +import 'package:otlplus/widgets/lecture_group_block.dart'; + +class LectureSearch extends StatefulWidget { + final Future Function()? onClosed; + const LectureSearch({Key? key, this.onClosed}) : super(key: key); + + @override + _LectureSearchState createState() => _LectureSearchState(); +} + +class _LectureSearchState extends State { + final _scrollController = ScrollController(); + + @override + Widget build(BuildContext context) { + final searchModel = context.watch(); + + return PopScope( + onPopInvokedWithResult: (_, __) { + if (widget.onClosed != null) { + widget.onClosed!(); + } + }, + child: ColoredBox( + color: OTLColor.grayF, + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + crossAxisAlignment: CrossAxisAlignment.center, + children: [ + Expanded( + child: Padding( + padding: const EdgeInsets.fromLTRB(16, 12, 0, 12), + child: ClipRRect( + borderRadius: BorderRadius.all(Radius.circular(8.0)), + child: BackgroundButton( + onTap: () => OTLNavigator.push( + context, + LectureSearchPage( + openKeyboard: true, + )), + color: OTLColor.pinksLight, + child: Padding( + padding: EdgeInsets.all(8.0), + child: SizedBox( + height: 20, + child: Row( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.center, + children: [ + SvgPicture.asset( + 'assets/icons/search.svg', + height: 24.0, + width: 24.0, + colorFilter: ColorFilter.mode( + OTLColor.pinksMain, + BlendMode.srcIn, + ), + ), + SizedBox(width: 12.0), + Flexible( + child: context + .watch() + .lectureSearchquery, + ), + ], + ), + ), + ), + ), + ), + ), + ), + IconTextButton( + padding: EdgeInsets.fromLTRB(8, 12, 16, 12), + icon: Icons.close_outlined, + iconSize: 24, + onTap: widget.onClosed, + ) + ], + ), + Expanded( + child: searchModel.isSearching + ? Center( + child: const CircularProgressIndicator(), + ) + : Scrollbar( + controller: _scrollController, + child: _buildListView( + searchModel.lectures ?? [[]], + _scrollController, + ), + ), + ), + ], + ), + ), + ); + } + + ListView _buildListView( + List> lectures, + ScrollController scrollController, + ) { + return ListView.separated( + padding: EdgeInsets.fromLTRB(16, 0, 16, 12), + controller: scrollController, + itemCount: lectures.length, + itemBuilder: (context, index) => LectureGroupBlock( + lectures: lectures[index], + onLongPress: (lecture) { + context + .read() + .loadLecture(lecture.id, true); + OTLNavigator.push(context, LectureDetailPage()); + }, + ), + separatorBuilder: (context, index) => SizedBox(height: 8)); + } +} diff --git a/lib/widgets/pop_up.dart b/lib/widgets/pop_up.dart index a30337f1..6c2b5a22 100644 --- a/lib/widgets/pop_up.dart +++ b/lib/widgets/pop_up.dart @@ -1,207 +1,207 @@ -import 'package:easy_localization/easy_localization.dart'; -import 'package:flutter/material.dart'; -import 'package:otlplus/constants/color.dart'; -import 'package:otlplus/constants/text_styles.dart'; -import 'package:otlplus/widgets/responsive_button.dart'; -import 'package:otlplus/utils/navigator.dart'; -import 'package:shared_preferences/shared_preferences.dart'; -import 'package:url_launcher/url_launcher.dart'; - -class PopUp extends StatefulWidget { - const PopUp({Key? key}) : super(key: key); - - @override - State createState() => _PopUpState(); -} - -class _PopUpState extends State { - bool _checked = false; - - @override - Widget build(BuildContext context) { - return AlertDialog( - backgroundColor: Colors.transparent, - contentPadding: EdgeInsets.all(0.0), - actionsPadding: EdgeInsets.only(top: 8.0), - elevation: 0.0, - content: _build23fRecruiting(), - actions: [ - Container( - decoration: BoxDecoration( - color: Colors.transparent, - borderRadius: BorderRadius.only( - bottomLeft: Radius.circular(16.0), - bottomRight: Radius.circular(16.0), - ), - ), - child: Row( - mainAxisAlignment: MainAxisAlignment.spaceBetween, - children: [ - IconTextButton( - onTap: () { - setState(() { - _checked = !_checked; - SharedPreferences.getInstance().then( - (value) => value.setBool('popup', !_checked), - ); - }); - }, - tapEffect: ButtonTapEffect.none, - icon: Icons.check_circle_outline, - color: _checked ? OTLColor.pinksMain : OTLColor.grayA, - spaceBetween: 8.0, - text: 'popup.dont_show_again'.tr(), - textStyle: bodyRegular.copyWith( - color: _checked ? OTLColor.grayF : OTLColor.grayA, - ), - ), - IconTextButton( - onTap: () async { - OTLNavigator.pop(context); - }, - icon: Icons.close, - color: OTLColor.grayF, - tapEffect: ButtonTapEffect.darken, - tapEffectColorRatio: 0.24, - ), - ], - ), - ), - ], - ); - } -} - -Widget _build23fRecruiting() { - return SingleChildScrollView( - child: Container( - child: Stack( - alignment: AlignmentDirectional.center, - children: [ - Image.asset( - 'assets/popups/23f-recruiting.png', - height: 328.0, - width: 285.0, - ), - Column( - children: [ - const SizedBox(height: 262.0), - FilledButton( - style: ButtonStyle( - backgroundColor: MaterialStateProperty.all(Color(0xFFEBA12A)), - ), - onPressed: () => launchUrl( - Uri.parse( - 'https://apply.sparcs.org/', - ), - ), - child: Row( - mainAxisSize: MainAxisSize.min, - children: [ - Text( - '지원하러 가기', - style: bodyBold.copyWith(color: OTLColor.gray0), - textAlign: TextAlign.center, - ), - const SizedBox(width: 8.0), - Icon( - Icons.arrow_forward, - color: OTLColor.gray0, - ) - ], - ), - ), - ], - ), - ], - ), - ), - ); -} - -// ignore: unused_element -Widget _buildAppEvent(BuildContext context) { - final isEn = EasyLocalization.of(context)?.currentLocale == Locale('en'); - - return SingleChildScrollView( - child: Container( - child: Stack( - alignment: AlignmentDirectional.center, - children: [ - Image.asset( - isEn - ? 'assets/popups/app-event-image-en.png' - : 'assets/popups/app-event-image.png', - height: 328.0, - width: 285.0, - ), - Column( - children: [ - const SizedBox(height: 262.0), - FilledButton( - onPressed: () => launchUrl( - Uri.parse( - 'https://docs.google.com/forms/d/e/1FAIpQLSfZbU_TFUPN53De_ihtS4ZK5Tb_nRDazRS7EYQgp3QWAYvyhQ/viewform', - ), - ), - child: Row( - mainAxisSize: MainAxisSize.min, - children: [ - Text('popup.join_the_event'.tr(), style: bodyBold), - const SizedBox(width: 8.0), - Icon(Icons.arrow_forward) - ], - ), - ), - ], - ), - ], - ), - ), - ); -} - -// ignore: unused_element -Widget _buildGraduatePlanner() { - return SingleChildScrollView( - child: Column( - children: [ - Text.rich( - TextSpan( - style: titleBold, - children: [ - TextSpan(text: '졸업플래너'), - TextSpan(style: labelBold, text: 'BETA'), - TextSpan(text: ' 서비스 이용 안내'), - ], - ), - textAlign: TextAlign.center, - ), - const SizedBox(height: 16.0), - Image.asset('assets/popups/graduate-planner.png', height: 128.0), - const SizedBox(height: 8.0), - Text( - '웹에서 지금 바로 만나보세요!', - style: bodyRegular, - ), - const SizedBox(height: 8.0), - FilledButton( - onPressed: () => launchUrl( - Uri.https("otl.sparcs.org", "planner"), - ), - child: Text.rich( - TextSpan( - style: titleBold, - children: [ - TextSpan(text: '졸업플래너'), - TextSpan(style: labelBold, text: 'BETA'), - TextSpan(text: ' 이용하러 가기'), - ], - ), - textAlign: TextAlign.center, - ), - ), - ], - ), - ); -} +import 'package:easy_localization/easy_localization.dart'; +import 'package:flutter/material.dart'; +import 'package:otlplus/constants/color.dart'; +import 'package:otlplus/constants/text_styles.dart'; +import 'package:otlplus/widgets/responsive_button.dart'; +import 'package:otlplus/utils/navigator.dart'; +import 'package:shared_preferences/shared_preferences.dart'; +import 'package:url_launcher/url_launcher.dart'; + +class PopUp extends StatefulWidget { + const PopUp({Key? key}) : super(key: key); + + @override + State createState() => _PopUpState(); +} + +class _PopUpState extends State { + bool _checked = false; + + @override + Widget build(BuildContext context) { + return AlertDialog( + backgroundColor: Colors.transparent, + contentPadding: EdgeInsets.all(0.0), + actionsPadding: EdgeInsets.only(top: 8.0), + elevation: 0.0, + content: _build23fRecruiting(), + actions: [ + Container( + decoration: BoxDecoration( + color: Colors.transparent, + borderRadius: BorderRadius.only( + bottomLeft: Radius.circular(16.0), + bottomRight: Radius.circular(16.0), + ), + ), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + IconTextButton( + onTap: () { + setState(() { + _checked = !_checked; + SharedPreferences.getInstance().then( + (value) => value.setBool('popup', !_checked), + ); + }); + }, + tapEffect: ButtonTapEffect.none, + icon: Icons.check_circle_outline, + color: _checked ? OTLColor.pinksMain : OTLColor.grayA, + spaceBetween: 8.0, + text: 'popup.dont_show_again'.tr(), + textStyle: bodyRegular.copyWith( + color: _checked ? OTLColor.grayF : OTLColor.grayA, + ), + ), + IconTextButton( + onTap: () async { + OTLNavigator.pop(context); + }, + icon: Icons.close, + color: OTLColor.grayF, + tapEffect: ButtonTapEffect.darken, + tapEffectColorRatio: 0.24, + ), + ], + ), + ), + ], + ); + } +} + +Widget _build23fRecruiting() { + return SingleChildScrollView( + child: Container( + child: Stack( + alignment: AlignmentDirectional.center, + children: [ + Image.asset( + 'assets/popups/23f-recruiting.png', + height: 328.0, + width: 285.0, + ), + Column( + children: [ + const SizedBox(height: 262.0), + FilledButton( + style: ButtonStyle( + backgroundColor: WidgetStatePropertyAll(Color(0xFFEBA12A)), + ), + onPressed: () => launchUrl( + Uri.parse( + 'https://apply.sparcs.org/', + ), + ), + child: Row( + mainAxisSize: MainAxisSize.min, + children: [ + Text( + '지원하러 가기', + style: bodyBold.copyWith(color: OTLColor.gray0), + textAlign: TextAlign.center, + ), + const SizedBox(width: 8.0), + Icon( + Icons.arrow_forward, + color: OTLColor.gray0, + ) + ], + ), + ), + ], + ), + ], + ), + ), + ); +} + +// ignore: unused_element +Widget _buildAppEvent(BuildContext context) { + final isEn = EasyLocalization.of(context)?.currentLocale == Locale('en'); + + return SingleChildScrollView( + child: Container( + child: Stack( + alignment: AlignmentDirectional.center, + children: [ + Image.asset( + isEn + ? 'assets/popups/app-event-image-en.png' + : 'assets/popups/app-event-image.png', + height: 328.0, + width: 285.0, + ), + Column( + children: [ + const SizedBox(height: 262.0), + FilledButton( + onPressed: () => launchUrl( + Uri.parse( + 'https://docs.google.com/forms/d/e/1FAIpQLSfZbU_TFUPN53De_ihtS4ZK5Tb_nRDazRS7EYQgp3QWAYvyhQ/viewform', + ), + ), + child: Row( + mainAxisSize: MainAxisSize.min, + children: [ + Text('popup.join_the_event'.tr(), style: bodyBold), + const SizedBox(width: 8.0), + Icon(Icons.arrow_forward) + ], + ), + ), + ], + ), + ], + ), + ), + ); +} + +// ignore: unused_element +Widget _buildGraduatePlanner() { + return SingleChildScrollView( + child: Column( + children: [ + Text.rich( + TextSpan( + style: titleBold, + children: [ + TextSpan(text: '졸업플래너'), + TextSpan(style: labelBold, text: 'BETA'), + TextSpan(text: ' 서비스 이용 안내'), + ], + ), + textAlign: TextAlign.center, + ), + const SizedBox(height: 16.0), + Image.asset('assets/popups/graduate-planner.png', height: 128.0), + const SizedBox(height: 8.0), + Text( + '웹에서 지금 바로 만나보세요!', + style: bodyRegular, + ), + const SizedBox(height: 8.0), + FilledButton( + onPressed: () => launchUrl( + Uri.https("otl.sparcs.org", "planner"), + ), + child: Text.rich( + TextSpan( + style: titleBold, + children: [ + TextSpan(text: '졸업플래너'), + TextSpan(style: labelBold, text: 'BETA'), + TextSpan(text: ' 이용하러 가기'), + ], + ), + textAlign: TextAlign.center, + ), + ), + ], + ), + ); +} From c1d8ff98bd3d5bedee1843ba269ced58e692b13e Mon Sep 17 00:00:00 2001 From: happycastle <41810556+happycastle114@users.noreply.github.com> Date: Tue, 13 Aug 2024 22:07:38 +0900 Subject: [PATCH 07/18] fix: try upgrade force build gradle --- android/app/build.gradle | 2 - android/build.gradle | 6 + pubspec.lock | 293 ++++++++++++++++++++------------------- pubspec.yaml | 1 - 4 files changed, 159 insertions(+), 143 deletions(-) diff --git a/android/app/build.gradle b/android/app/build.gradle index a5e41dfe..4c566efd 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -86,5 +86,3 @@ dependencies { androidTestImplementation 'androidx.test:runner:1.5.2' androidTestImplementation 'androidx.test.espresso:espresso-core:3.5.1' } - - diff --git a/android/build.gradle b/android/build.gradle index 5d4c35d1..ea1de30f 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -6,6 +6,11 @@ allprojects { google() mavenCentral() } + ext { + compileSdkVersion = 34 + targetSdkVersion = 34 + appCompatVersion = "1.7.0" + } } rootProject.buildDir = '../build' @@ -36,6 +41,7 @@ tasks.register("clean", Delete) { delete rootProject.buildDir } + configurations.all { resolutionStrategy { force 'androidx.core:core-ktx:1.6.0' diff --git a/pubspec.lock b/pubspec.lock index 90b33de1..e5b63306 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -5,50 +5,55 @@ packages: dependency: transitive description: name: _fe_analyzer_shared - sha256: ae92f5d747aee634b87f89d9946000c2de774be1d6ac3e58268224348cd0101a + sha256: "45cfa8471b89fb6643fe9bf51bd7931a76b8f5ec2d65de4fb176dba8d4f22c77" url: "https://pub.dev" source: hosted - version: "61.0.0" + version: "73.0.0" _flutterfire_internals: dependency: transitive description: name: _flutterfire_internals - sha256: "4eec93681221723a686ad580c2e7d960e1017cf1a4e0a263c2573c2c6b0bf5cd" + sha256: "37a42d06068e2fe3deddb2da079a8c4d105f241225ba27b7122b37e9865fd8f7" url: "https://pub.dev" source: hosted - version: "1.3.25" + version: "1.3.35" + _macros: + dependency: transitive + description: dart + source: sdk + version: "0.3.2" analyzer: dependency: transitive description: name: analyzer - sha256: ea3d8652bda62982addfd92fdc2d0214e5f82e43325104990d4f4c4a2a313562 + sha256: "4959fec185fe70cce007c57e9ab6983101dbe593d2bf8bbfb4453aaec0cf470a" url: "https://pub.dev" source: hosted - version: "5.13.0" + version: "6.8.0" ansicolor: dependency: transitive description: name: ansicolor - sha256: "8bf17a8ff6ea17499e40a2d2542c2f481cd7615760c6d34065cb22bfd22e6880" + sha256: "50e982d500bc863e1d703448afdbf9e5a72eb48840a4f766fa361ffd6877055f" url: "https://pub.dev" source: hosted - version: "2.0.2" + version: "2.0.3" archive: dependency: transitive description: name: archive - sha256: "7b875fd4a20b165a3084bd2d210439b22ebc653f21cea4842729c0c30c82596b" + sha256: cb6a278ef2dbb298455e1a713bda08524a175630ec643a242c399c932a0a1f7d url: "https://pub.dev" source: hosted - version: "3.4.9" + version: "3.6.1" args: dependency: transitive description: name: args - sha256: eef6c46b622e0494a36c5a12d10d77fb4e855501a91c1b9ef9339326e58f0596 + sha256: "7cf60b9f0cc88203c5a190b4cd62a99feea42759a7fa695010eb5de1c0b2252a" url: "https://pub.dev" source: hosted - version: "2.4.2" + version: "2.5.0" async: dependency: transitive description: @@ -110,10 +115,10 @@ packages: dependency: transitive description: name: coverage - sha256: "3945034e86ea203af7a056d98e98e42a5518fff200d6e8e6647e1886b07e936e" + sha256: "576aaab8b1abdd452e0f656c3e73da9ead9d7880e15bdc494189d9c1a1baf0db" url: "https://pub.dev" source: hosted - version: "1.8.0" + version: "1.9.0" crypto: dependency: transitive description: @@ -134,10 +139,18 @@ packages: dependency: "direct main" description: name: dio - sha256: "01870acd87986f768e0c09cc4d7a19a59d814af7b34cbeb0b437d2c33bdfea4c" + sha256: "0dfb6b6a1979dac1c1245e17cef824d7b452ea29bd33d3467269f9bef3715fb0" url: "https://pub.dev" source: hosted - version: "5.3.4" + version: "5.6.0" + dio_web_adapter: + dependency: transitive + description: + name: dio_web_adapter + sha256: "33259a9276d6cea88774a0000cfae0d861003497755969c92faa223108620dc8" + url: "https://pub.dev" + source: hosted + version: "2.0.0" dotted_border: dependency: "direct main" description: @@ -150,10 +163,10 @@ packages: dependency: "direct main" description: name: dropdown_button2 - sha256: cbf05433833cfb77730e05c678b0b055547d488a8ce05280d62fb07f269cc03d + sha256: "68845af17775c57628d8018b450be3467c5f8de386b801fbad4eaa6fff7a9ee5" url: "https://pub.dev" source: hosted - version: "3.0.0-beta.7" + version: "3.0.0-beta.16" easy_localization: dependency: "direct main" description: @@ -206,90 +219,90 @@ packages: dependency: "direct main" description: name: firebase_analytics - sha256: de3d73b5c5618bf31004308b017b4067b7d9156b96e97b62d59ae5eab71081ec + sha256: dbf1e7ab22cfb1f4a4adb103b46a26276b4edc593d4a78ef6fb942bafc92e035 url: "https://pub.dev" source: hosted - version: "10.7.1" + version: "10.10.7" firebase_analytics_platform_interface: dependency: transitive description: name: firebase_analytics_platform_interface - sha256: ffc59c0b00a572cd1fbf915a1d50cb4ccdc61e429614aa6ae9a598ee5723b96a + sha256: "3729b74f8cf1d974a27ba70332ecb55ff5ff560edc8164a6469f4a055b429c37" url: "https://pub.dev" source: hosted - version: "3.8.1" + version: "3.10.8" firebase_analytics_web: dependency: transitive description: name: firebase_analytics_web - sha256: "0e725a7dcdeb0a59e44d93d1d45dfec94efe54329ac9d6aa145e24d31429100c" + sha256: "019cd7eee74254d33fbd2e29229367ce33063516bf6b3258a341d89e3b0f1655" url: "https://pub.dev" source: hosted - version: "0.5.5+8" + version: "0.5.7+7" firebase_core: dependency: "direct main" description: name: firebase_core - sha256: "53316975310c8af75a96e365f9fccb67d1c544ef0acdbf0d88bbe30eedd1c4f9" + sha256: "26de145bb9688a90962faec6f838247377b0b0d32cc0abecd9a4e43525fc856c" url: "https://pub.dev" source: hosted - version: "2.27.0" + version: "2.32.0" firebase_core_platform_interface: dependency: transitive description: name: firebase_core_platform_interface - sha256: c437ae5d17e6b5cc7981cf6fd458a5db4d12979905f9aafd1fea930428a9fe63 + sha256: "3c3a1e92d6f4916c32deea79c4a7587aa0e9dbbe5889c7a16afcf005a485ee02" url: "https://pub.dev" source: hosted - version: "5.0.0" + version: "5.2.0" firebase_core_web: dependency: transitive description: name: firebase_core_web - sha256: c8e1d59385eee98de63c92f961d2a7062c5d9a65e7f45bdc7f1b0b205aab2492 + sha256: e8d1e22de72cb21cdcfc5eed7acddab3e99cd83f3b317f54f7a96c32f25fd11e url: "https://pub.dev" source: hosted - version: "2.11.5" + version: "2.17.4" firebase_crashlytics: dependency: "direct main" description: name: firebase_crashlytics - sha256: "27f78b1fdad2a7f557abea17c3e0ba882bd0430ddffb7844634d41e51422e43e" + sha256: "9897c01efaa950d2f6da8317d12452749a74dc45f33b46390a14cfe28067f271" url: "https://pub.dev" source: hosted - version: "3.4.5" + version: "3.5.7" firebase_crashlytics_platform_interface: dependency: transitive description: name: firebase_crashlytics_platform_interface - sha256: "48b6cfb3e2fe3955ce1dfe16a0cceacb7d293277fda77eb47c058bfff94268e0" + sha256: "16a71e08fbf6e00382816e1b13397898c29a54fa0ad969c2c2a3b82a704877f0" url: "https://pub.dev" source: hosted - version: "3.6.13" + version: "3.6.35" firebase_messaging: dependency: "direct main" description: name: firebase_messaging - sha256: e41586e0fd04fe9a40424f8b0053d0832e6d04f49e020cdaf9919209a28497e9 + sha256: a1662cc95d9750a324ad9df349b873360af6f11414902021f130c68ec02267c4 url: "https://pub.dev" source: hosted - version: "14.7.19" + version: "14.9.4" firebase_messaging_platform_interface: dependency: transitive description: name: firebase_messaging_platform_interface - sha256: f7a9d74ff7fc588a924f6b2eaeaa148b0db521b13a9db55f6ad45864fa98c06e + sha256: "87c4a922cb6f811cfb7a889bdbb3622702443c52a0271636cbc90d813ceac147" url: "https://pub.dev" source: hosted - version: "4.5.27" + version: "4.5.37" firebase_messaging_web: dependency: transitive description: name: firebase_messaging_web - sha256: fc21e771166860c55b103701c5ac7cdb2eec28897b97c42e6e5703cbedf9e02e + sha256: "0d34dca01a7b103ed7f20138bffbb28eb0e61a677bf9e78a028a932e2c7322d5" url: "https://pub.dev" source: hosted - version: "3.6.8" + version: "3.8.7" flutter: dependency: "direct main" description: flutter @@ -309,18 +322,18 @@ packages: dependency: "direct main" description: name: flutter_native_splash - sha256: c4d899312b36e7454bedfd0a4740275837b99e532d81c8477579d8183db1de6c + sha256: aa06fec78de2190f3db4319dd60fdc8d12b2626e93ef9828633928c2dcaea840 url: "https://pub.dev" source: hosted - version: "2.3.6" + version: "2.4.1" flutter_svg: dependency: "direct main" description: name: flutter_svg - sha256: d39e7f95621fc84376bc0f7d504f05c3a41488c562f4a8ad410569127507402c + sha256: "7b4ca6cf3304575fe9c8ec64813c8d02ee41d2afe60bcfe0678bcb5375d596a2" url: "https://pub.dev" source: hosted - version: "2.0.9" + version: "2.0.10+1" flutter_test: dependency: "direct dev" description: flutter @@ -351,10 +364,10 @@ packages: dependency: transitive description: name: frontend_server_client - sha256: "408e3ca148b31c20282ad6f37ebfa6f4bdc8fede5b74bc2f08d9d92b55db3612" + sha256: f64a0333a82f30b0cca061bc3d143813a486dc086b574bfb233b7c1372427694 url: "https://pub.dev" source: hosted - version: "3.2.0" + version: "4.0.0" fuchsia_remote_debug_protocol: dependency: transitive description: flutter @@ -380,10 +393,10 @@ packages: dependency: "direct dev" description: name: http - sha256: "759d1a329847dd0f39226c688d3e06a6b8679668e350e2891a6474f8b4bb8525" + sha256: b9c29a161230ee03d3ccf545097fccd9b87a5264228c5d348202e0f0c28f9010 url: "https://pub.dev" source: hosted - version: "1.1.0" + version: "1.2.2" http_multi_server: dependency: transitive description: @@ -396,18 +409,18 @@ packages: dependency: transitive description: name: http_parser - sha256: "2aa08ce0341cc9b354a498388e30986515406668dbcc4f7c950c3e715496693b" + sha256: "40f592dd352890c3b60fec1b68e786cefb9603e05ff303dbc4dda49b304ecdf4" url: "https://pub.dev" source: hosted - version: "4.0.2" + version: "4.1.0" image: dependency: transitive description: name: image - sha256: "028f61960d56f26414eb616b48b04eb37d700cbe477b7fb09bf1d7ce57fd9271" + sha256: "2237616a36c0d69aef7549ab439b833fb7f9fb9fc861af2cc9ac3eedddd69ca8" url: "https://pub.dev" source: hosted - version: "4.1.3" + version: "4.2.0" intl: dependency: transitive description: @@ -428,10 +441,10 @@ packages: dependency: transitive description: name: js - sha256: f2c445dce49627136094980615a031419f7f3eb393237e4ecd97ac15dea343f3 + sha256: c1b2e9b5ea78c45e1a0788d29606ba27dc5f71f019f32ca5140f61ef071838cf url: "https://pub.dev" source: hosted - version: "0.6.7" + version: "0.7.1" leak_tracker: dependency: transitive description: @@ -464,6 +477,14 @@ packages: url: "https://pub.dev" source: hosted version: "1.2.0" + macros: + dependency: transitive + description: + name: macros + sha256: "0acaed5d6b7eab89f63350bccd82119e6c602df0f391260d0e32b5e23db79536" + url: "https://pub.dev" + source: hosted + version: "0.1.2-main.4" mailto: dependency: "direct main" description: @@ -500,10 +521,10 @@ packages: dependency: transitive description: name: mime - sha256: e4ff8e8564c03f255408decd16e7899da1733852a9110a58fe6d1b817684a63e + sha256: "2e123074287cc9fd6c09de8336dae606d1ddb88d9ac47358826db698c176a1f2" url: "https://pub.dev" source: hosted - version: "1.0.4" + version: "1.0.5" nested: dependency: transitive description: @@ -564,26 +585,26 @@ packages: dependency: "direct main" description: name: path_provider - sha256: a1aa8aaa2542a6bc57e381f132af822420216c80d4781f7aa085ca3229208aaa + sha256: fec0d61223fba3154d87759e3cc27fe2c8dc498f6386c6d6fc80d1afdd1bf378 url: "https://pub.dev" source: hosted - version: "2.1.1" + version: "2.1.4" path_provider_android: dependency: transitive description: name: path_provider_android - sha256: e595b98692943b4881b219f0a9e3945118d3c16bd7e2813f98ec6e532d905f72 + sha256: "6f01f8e37ec30b07bc424b4deabac37cacb1bc7e2e515ad74486039918a37eb7" url: "https://pub.dev" source: hosted - version: "2.2.1" + version: "2.2.10" path_provider_foundation: dependency: transitive description: name: path_provider_foundation - sha256: "19314d595120f82aca0ba62787d58dde2cc6b5df7d2f0daf72489e38d1b57f2d" + sha256: f234384a3fdd67f989b4d54a5d73ca2a6c422fa55ae694381ae0f4375cd1ea16 url: "https://pub.dev" source: hosted - version: "2.3.1" + version: "2.4.0" path_provider_linux: dependency: transitive description: @@ -596,74 +617,74 @@ packages: dependency: transitive description: name: path_provider_platform_interface - sha256: bced5679c7df11190e1ddc35f3222c858f328fff85c3942e46e7f5589bf9eb84 + sha256: "88f5779f72ba699763fa3a3b06aa4bf6de76c8e5de842cf6f29e2e06476c2334" url: "https://pub.dev" source: hosted - version: "2.1.0" + version: "2.1.2" path_provider_windows: dependency: transitive description: name: path_provider_windows - sha256: "8bc9f22eee8690981c22aa7fc602f5c85b497a6fb2ceb35ee5a5e5ed85ad8170" + sha256: bd6f00dbd873bfb70d0761682da2b3a2c2fccc2b9e84c495821639601d81afe7 url: "https://pub.dev" source: hosted - version: "2.2.1" + version: "2.3.0" permission_handler: dependency: "direct main" description: name: permission_handler - sha256: "860c6b871c94c78e202dc69546d4d8fd84bd59faeb36f8fb9888668a53ff4f78" + sha256: "18bf33f7fefbd812f37e72091a15575e72d5318854877e0e4035a24ac1113ecb" url: "https://pub.dev" source: hosted - version: "11.1.0" + version: "11.3.1" permission_handler_android: dependency: transitive description: name: permission_handler_android - sha256: "2f1bec180ee2f5665c22faada971a8f024761f632e93ddc23310487df52dcfa6" + sha256: eaf2a1ec4472775451e88ca6a7b86559ef2f1d1ed903942ed135e38ea0097dca url: "https://pub.dev" source: hosted - version: "12.0.1" + version: "12.0.8" permission_handler_apple: dependency: transitive description: name: permission_handler_apple - sha256: "1a816084338ada8d574b1cb48390e6e8b19305d5120fe3a37c98825bacc78306" + sha256: e6f6d73b12438ef13e648c4ae56bd106ec60d17e90a59c4545db6781229082a0 url: "https://pub.dev" source: hosted - version: "9.2.0" + version: "9.4.5" permission_handler_html: dependency: transitive description: name: permission_handler_html - sha256: d96ff56a757b7f04fa825c469d296c5aebc55f743e87bd639fef91a466a24da8 + sha256: "6cac773d389e045a8d4f85418d07ad58ef9e42a56e063629ce14c4c26344de24" url: "https://pub.dev" source: hosted - version: "0.1.0+1" + version: "0.1.2" permission_handler_platform_interface: dependency: transitive description: name: permission_handler_platform_interface - sha256: d87349312f7eaf6ce0adaf668daf700ac5b06af84338bd8b8574dfbd93ffe1a1 + sha256: fe0ffe274d665be8e34f9c59705441a7d248edebbe5d9e3ec2665f88b79358ea url: "https://pub.dev" source: hosted - version: "4.0.2" + version: "4.2.2" permission_handler_windows: dependency: transitive description: name: permission_handler_windows - sha256: "1e8640c1e39121128da6b816d236e714d2cf17fac5a105dd6acdd3403a628004" + sha256: "1a790728016f79a41216d88672dbc5df30e686e811ad4e698bfc51f76ad91f1e" url: "https://pub.dev" source: hosted - version: "0.2.0" + version: "0.2.1" petitparser: dependency: transitive description: name: petitparser - sha256: cb3798bef7fc021ac45b308f4b51208a152792445cce0448c9a4ba5879dd8750 + sha256: c15605cd28af66339f8eb6fbe0e541bfe2d1b72d5825efc6598f3e0a31b9ad27 url: "https://pub.dev" source: hosted - version: "5.4.0" + version: "6.0.2" platform: dependency: transitive description: @@ -680,14 +701,6 @@ packages: url: "https://pub.dev" source: hosted version: "2.1.8" - pointycastle: - dependency: transitive - description: - name: pointycastle - sha256: "7c1e5f0d23c9016c5bbd8b1473d0d3fb3fc851b876046039509e18e0c7485f2c" - url: "https://pub.dev" - source: hosted - version: "3.7.3" pool: dependency: transitive description: @@ -708,10 +721,10 @@ packages: dependency: "direct main" description: name: provider - sha256: "9a96a0a19b594dbc5bf0f1f27d2bc67d5f95957359b461cd9feb44ed6ae75096" + sha256: c8a055ee5ce3fd98d6fc872478b03823ffdb448699c6ebdbbc71d59b596fd48c url: "https://pub.dev" source: hosted - version: "6.1.1" + version: "6.1.2" pub_semver: dependency: transitive description: @@ -724,66 +737,66 @@ packages: dependency: "direct main" description: name: shared_preferences - sha256: "81429e4481e1ccfb51ede496e916348668fd0921627779233bd24cc3ff6abd02" + sha256: c272f9cabca5a81adc9b0894381e9c1def363e980f960fa903c604c471b22f68 url: "https://pub.dev" source: hosted - version: "2.2.2" + version: "2.3.1" shared_preferences_android: dependency: transitive description: name: shared_preferences_android - sha256: fe8401ec5b6dcd739a0fe9588802069e608c3fdbfd3c3c93e546cf2f90438076 + sha256: a7e8467e9181cef109f601e3f65765685786c1a738a83d7fbbde377589c0d974 url: "https://pub.dev" source: hosted - version: "2.2.0" + version: "2.3.1" shared_preferences_foundation: dependency: transitive description: name: shared_preferences_foundation - sha256: f39696b83e844923b642ce9dd4bd31736c17e697f6731a5adf445b1274cf3cd4 + sha256: c4b35f6cb8f63c147312c054ce7c2254c8066745125264f0c88739c417fc9d9f url: "https://pub.dev" source: hosted - version: "2.3.2" + version: "2.5.2" shared_preferences_linux: dependency: transitive description: name: shared_preferences_linux - sha256: "9f2cbcf46d4270ea8be39fa156d86379077c8a5228d9dfdb1164ae0bb93f1faa" + sha256: "580abfd40f415611503cae30adf626e6656dfb2f0cee8f465ece7b6defb40f2f" url: "https://pub.dev" source: hosted - version: "2.3.2" + version: "2.4.1" shared_preferences_platform_interface: dependency: transitive description: name: shared_preferences_platform_interface - sha256: "23b052f17a25b90ff2b61aad4cc962154da76fb62848a9ce088efe30d7c50ab1" + sha256: "57cbf196c486bc2cf1f02b85784932c6094376284b3ad5779d1b1c6c6a816b80" url: "https://pub.dev" source: hosted - version: "2.3.0" + version: "2.4.1" shared_preferences_web: dependency: transitive description: name: shared_preferences_web - sha256: "7347b194fb0bbeb4058e6a4e87ee70350b6b2b90f8ac5f8bd5b3a01548f6d33a" + sha256: d2ca4132d3946fec2184261726b355836a82c33d7d5b67af32692aff18a4684e url: "https://pub.dev" source: hosted - version: "2.2.0" + version: "2.4.2" shared_preferences_windows: dependency: transitive description: name: shared_preferences_windows - sha256: "841ad54f3c8381c480d0c9b508b89a34036f512482c407e6df7a9c4aa2ef8f59" + sha256: "94ef0f72b2d71bc3e700e025db3710911bd51a71cefb65cc609dd0d9a982e3c1" url: "https://pub.dev" source: hosted - version: "2.3.2" + version: "2.4.1" shelf: dependency: transitive description: name: shelf - sha256: ad29c505aee705f41a4d8963641f91ac4cee3c8fad5947e033390a7bd8180fa4 + sha256: e7dd780a7ffb623c57850b33f43309312fc863fb6aa3d276a754bb299839ef12 url: "https://pub.dev" source: hosted - version: "1.4.1" + version: "1.4.2" shelf_packages_handler: dependency: transitive description: @@ -804,10 +817,10 @@ packages: dependency: transitive description: name: shelf_web_socket - sha256: "9ca081be41c60190ebcb4766b2486a7d50261db7bd0f5d9615f2d653637a84c1" + sha256: "073c147238594ecd0d193f3456a5fe91c4b0abbcc68bf5cd95b36c4e194ac611" url: "https://pub.dev" source: hosted - version: "1.0.4" + version: "2.0.0" sky_engine: dependency: transitive description: flutter @@ -945,18 +958,18 @@ packages: dependency: transitive description: name: url_launcher_linux - sha256: "9f2d390e096fdbe1e6e6256f97851e51afc2d9c423d3432f1d6a02a8a9a8b9fd" + sha256: e2b9622b4007f97f504cd64c0128309dfb978ae66adbe944125ed9e1750f06af url: "https://pub.dev" source: hosted - version: "3.1.0" + version: "3.2.0" url_launcher_macos: dependency: transitive description: name: url_launcher_macos - sha256: b7244901ea3cf489c5335bdacda07264a6e960b1c1b1a9f91e4bc371d9e68234 + sha256: "9a1a42d5d2d95400c795b2914c36fdcb525870c752569438e4ebb09a2b5d90de" url: "https://pub.dev" source: hosted - version: "3.1.0" + version: "3.2.0" url_launcher_platform_interface: dependency: transitive description: @@ -969,42 +982,42 @@ packages: dependency: transitive description: name: url_launcher_web - sha256: "7fd2f55fe86cea2897b963e864dc01a7eb0719ecc65fcef4c1cc3d686d718bb2" + sha256: "772638d3b34c779ede05ba3d38af34657a05ac55b06279ea6edd409e323dca8e" url: "https://pub.dev" source: hosted - version: "2.2.0" + version: "2.3.3" url_launcher_windows: dependency: transitive description: name: url_launcher_windows - sha256: "7754a1ad30ee896b265f8d14078b0513a4dba28d358eabb9d5f339886f4a1adc" + sha256: "49c10f879746271804767cb45551ec5592cdab00ee105c06dddde1a98f73b185" url: "https://pub.dev" source: hosted - version: "3.1.0" + version: "3.1.2" vector_graphics: dependency: transitive description: name: vector_graphics - sha256: "0f0c746dd2d6254a0057218ff980fc7f5670fd0fcf5e4db38a490d31eed4ad43" + sha256: "32c3c684e02f9bc0afb0ae0aa653337a2fe022e8ab064bcd7ffda27a74e288e3" url: "https://pub.dev" source: hosted - version: "1.1.9+1" + version: "1.1.11+1" vector_graphics_codec: dependency: transitive description: name: vector_graphics_codec - sha256: "0edf6d630d1bfd5589114138ed8fada3234deacc37966bec033d3047c29248b7" + sha256: c86987475f162fadff579e7320c7ddda04cd2fdeffbe1129227a85d9ac9e03da url: "https://pub.dev" source: hosted - version: "1.1.9+1" + version: "1.1.11+1" vector_graphics_compiler: dependency: transitive description: name: vector_graphics_compiler - sha256: d24333727332d9bd20990f1483af4e09abdb9b1fc7c3db940b56ab5c42790c26 + sha256: "12faff3f73b1741a36ca7e31b292ddeb629af819ca9efe9953b70bd63fc8cd81" url: "https://pub.dev" source: hosted - version: "1.1.9+1" + version: "1.1.11+1" vector_math: dependency: transitive description: @@ -1033,18 +1046,26 @@ packages: dependency: transitive description: name: web - sha256: edc8a9573dd8c5a83a183dae1af2b6fd4131377404706ca4e5420474784906fa + sha256: "97da13628db363c635202ad97068d47c5b8aa555808e7a9411963c533b449b27" url: "https://pub.dev" source: hosted - version: "0.4.0" + version: "0.5.1" + web_socket: + dependency: transitive + description: + name: web_socket + sha256: "3c12d96c0c9a4eec095246debcea7b86c0324f22df69893d538fcc6f1b8cce83" + url: "https://pub.dev" + source: hosted + version: "0.1.6" web_socket_channel: dependency: transitive description: name: web_socket_channel - sha256: d88238e5eac9a42bb43ca4e721edba3c08c6354d4a53063afaa568516217621b + sha256: "9f187088ed104edd8662ca07af4b124465893caf063ba29758f97af57e61da8f" url: "https://pub.dev" source: hosted - version: "2.4.0" + version: "3.0.1" webdriver: dependency: transitive description: @@ -1057,10 +1078,10 @@ packages: dependency: transitive description: name: webkit_inspection_protocol - sha256: "67d3a8b6c79e1987d19d848b0892e582dbb0c66c57cc1fef58a177dd2aa2823d" + sha256: "87d3f2333bb240704cd3f1c6b5b7acd8a10e7f0bc28c28dcf14e782014f4a572" url: "https://pub.dev" source: hosted - version: "1.2.0" + version: "1.2.1" webview_cookie_manager: dependency: "direct main" description: @@ -1101,30 +1122,22 @@ packages: url: "https://pub.dev" source: hosted version: "2.9.5" - win32: - dependency: "direct main" - description: - name: win32 - sha256: "68d1e89a91ed61ad9c370f9f8b6effed9ae5e0ede22a270bdfa6daf79fc2290a" - url: "https://pub.dev" - source: hosted - version: "5.5.4" xdg_directories: dependency: transitive description: name: xdg_directories - sha256: e0b1147eec179d3911f1f19b59206448f78195ca1d20514134e10641b7d7fbff + sha256: faea9dee56b520b55a566385b84f2e8de55e7496104adada9962e0bd11bcff1d url: "https://pub.dev" source: hosted - version: "1.0.1" + version: "1.0.4" xml: dependency: transitive description: name: xml - sha256: "5bc72e1e45e941d825fd7468b9b4cc3b9327942649aeb6fc5cdbf135f0a86e84" + sha256: b015a8ad1c488f66851d762d3090a21c600e479dc75e68328c52774040cf9226 url: "https://pub.dev" source: hosted - version: "6.3.0" + version: "6.5.0" yaml: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index 7c7c4133..663a60bf 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -49,7 +49,6 @@ dependencies: ref: main firebase_messaging: ^14.7.19 - win32: ^5.5.4 dev_dependencies: test: ^1.24.9 From 2994fa725cbb6b5cbbd8c2481fb3bfabcf076384 Mon Sep 17 00:00:00 2001 From: happycastle <41810556+happycastle114@users.noreply.github.com> Date: Tue, 13 Aug 2024 22:51:00 +0900 Subject: [PATCH 08/18] Fix: iOS problem --- ios/Podfile.lock | 92 +++++++++++++++------------- ios/Runner.xcodeproj/project.pbxproj | 23 +++++++ 2 files changed, 71 insertions(+), 44 deletions(-) diff --git a/ios/Podfile.lock b/ios/Podfile.lock index b2778a73..873732e9 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -3,36 +3,36 @@ PODS: - ChannelIOSDK (= 11.7.3) - Flutter - ChannelIOSDK (11.7.3) - - Firebase/Analytics (10.22.0): + - Firebase/Analytics (10.25.0): - Firebase/Core - - Firebase/Core (10.22.0): + - Firebase/Core (10.25.0): - Firebase/CoreOnly - - FirebaseAnalytics (~> 10.22.0) - - Firebase/CoreOnly (10.22.0): - - FirebaseCore (= 10.22.0) - - Firebase/Crashlytics (10.22.0): + - FirebaseAnalytics (~> 10.25.0) + - Firebase/CoreOnly (10.25.0): + - FirebaseCore (= 10.25.0) + - Firebase/Crashlytics (10.25.0): - Firebase/CoreOnly - - FirebaseCrashlytics (~> 10.22.0) - - Firebase/Messaging (10.22.0): + - FirebaseCrashlytics (~> 10.25.0) + - Firebase/Messaging (10.25.0): - Firebase/CoreOnly - - FirebaseMessaging (~> 10.22.0) - - firebase_analytics (10.7.1): - - Firebase/Analytics (= 10.22.0) + - FirebaseMessaging (~> 10.25.0) + - firebase_analytics (10.10.7): + - Firebase/Analytics (= 10.25.0) - firebase_core - Flutter - - firebase_core (2.27.0): - - Firebase/CoreOnly (= 10.22.0) + - firebase_core (2.32.0): + - Firebase/CoreOnly (= 10.25.0) - Flutter - - firebase_crashlytics (3.4.5): - - Firebase/Crashlytics (= 10.22.0) + - firebase_crashlytics (3.5.7): + - Firebase/Crashlytics (= 10.25.0) - firebase_core - Flutter - - firebase_messaging (14.7.19): - - Firebase/Messaging (= 10.22.0) + - firebase_messaging (14.9.4): + - Firebase/Messaging (= 10.25.0) - firebase_core - Flutter - - FirebaseAnalytics (10.22.0): - - FirebaseAnalytics/AdIdSupport (= 10.22.0) + - FirebaseAnalytics (10.25.0): + - FirebaseAnalytics/AdIdSupport (= 10.25.0) - FirebaseCore (~> 10.0) - FirebaseInstallations (~> 10.0) - GoogleUtilities/AppDelegateSwizzler (~> 7.11) @@ -40,16 +40,16 @@ PODS: - GoogleUtilities/Network (~> 7.11) - "GoogleUtilities/NSData+zlib (~> 7.11)" - nanopb (< 2.30911.0, >= 2.30908.0) - - FirebaseAnalytics/AdIdSupport (10.22.0): + - FirebaseAnalytics/AdIdSupport (10.25.0): - FirebaseCore (~> 10.0) - FirebaseInstallations (~> 10.0) - - GoogleAppMeasurement (= 10.22.0) + - GoogleAppMeasurement (= 10.25.0) - GoogleUtilities/AppDelegateSwizzler (~> 7.11) - GoogleUtilities/MethodSwizzler (~> 7.11) - GoogleUtilities/Network (~> 7.11) - "GoogleUtilities/NSData+zlib (~> 7.11)" - nanopb (< 2.30911.0, >= 2.30908.0) - - FirebaseCore (10.22.0): + - FirebaseCore (10.25.0): - FirebaseCoreInternal (~> 10.0) - GoogleUtilities/Environment (~> 7.12) - GoogleUtilities/Logger (~> 7.12) @@ -57,9 +57,10 @@ PODS: - FirebaseCore (~> 10.0) - FirebaseCoreInternal (10.29.0): - "GoogleUtilities/NSData+zlib (~> 7.8)" - - FirebaseCrashlytics (10.22.0): + - FirebaseCrashlytics (10.25.0): - FirebaseCore (~> 10.5) - FirebaseInstallations (~> 10.0) + - FirebaseRemoteConfigInterop (~> 10.23) - FirebaseSessions (~> 10.5) - GoogleDataTransport (~> 9.2) - GoogleUtilities/Environment (~> 7.8) @@ -70,7 +71,7 @@ PODS: - GoogleUtilities/Environment (~> 7.8) - GoogleUtilities/UserDefaults (~> 7.8) - PromisesObjC (~> 2.1) - - FirebaseMessaging (10.22.0): + - FirebaseMessaging (10.25.0): - FirebaseCore (~> 10.0) - FirebaseInstallations (~> 10.0) - GoogleDataTransport (~> 9.3) @@ -79,6 +80,7 @@ PODS: - GoogleUtilities/Reachability (~> 7.8) - GoogleUtilities/UserDefaults (~> 7.8) - nanopb (< 2.30911.0, >= 2.30908.0) + - FirebaseRemoteConfigInterop (10.29.0) - FirebaseSessions (10.29.0): - FirebaseCore (~> 10.5) - FirebaseCoreExtension (~> 10.0) @@ -95,21 +97,21 @@ PODS: - Flutter - flutter_widgetkit (0.0.1): - Flutter - - GoogleAppMeasurement (10.22.0): - - GoogleAppMeasurement/AdIdSupport (= 10.22.0) + - GoogleAppMeasurement (10.25.0): + - GoogleAppMeasurement/AdIdSupport (= 10.25.0) - GoogleUtilities/AppDelegateSwizzler (~> 7.11) - GoogleUtilities/MethodSwizzler (~> 7.11) - GoogleUtilities/Network (~> 7.11) - "GoogleUtilities/NSData+zlib (~> 7.11)" - nanopb (< 2.30911.0, >= 2.30908.0) - - GoogleAppMeasurement/AdIdSupport (10.22.0): - - GoogleAppMeasurement/WithoutAdIdSupport (= 10.22.0) + - GoogleAppMeasurement/AdIdSupport (10.25.0): + - GoogleAppMeasurement/WithoutAdIdSupport (= 10.25.0) - GoogleUtilities/AppDelegateSwizzler (~> 7.11) - GoogleUtilities/MethodSwizzler (~> 7.11) - GoogleUtilities/Network (~> 7.11) - "GoogleUtilities/NSData+zlib (~> 7.11)" - nanopb (< 2.30911.0, >= 2.30908.0) - - GoogleAppMeasurement/WithoutAdIdSupport (10.22.0): + - GoogleAppMeasurement/WithoutAdIdSupport (10.25.0): - GoogleUtilities/AppDelegateSwizzler (~> 7.11) - GoogleUtilities/MethodSwizzler (~> 7.11) - GoogleUtilities/Network (~> 7.11) @@ -157,7 +159,7 @@ PODS: - path_provider_foundation (0.0.1): - Flutter - FlutterMacOS - - permission_handler_apple (9.1.1): + - permission_handler_apple (9.3.0): - Flutter - PromisesObjC (2.4.0) - PromisesSwift (2.4.0): @@ -201,6 +203,7 @@ SPEC REPOS: - FirebaseCrashlytics - FirebaseInstallations - FirebaseMessaging + - FirebaseRemoteConfigInterop - FirebaseSessions - GoogleAppMeasurement - GoogleDataTransport @@ -248,33 +251,34 @@ EXTERNAL SOURCES: SPEC CHECKSUMS: channel_talk_flutter: 62d078feeddfa94b03dfa72f39ecf26f2731c2ee ChannelIOSDK: 3d4bee1e1a077cf60394b439801e5078bb69a3b1 - Firebase: 797fd7297b7e1be954432743a0b3f90038e45a71 - firebase_analytics: 6eb10731f062aa96ed92b81286d519840976ac7b - firebase_core: 100945864b4aedce3cfef0c62ab864858bf013cf - firebase_crashlytics: 0b6f21dea4c091e151ce9feef020e3b936d6ec88 - firebase_messaging: e65050bf9b187511d80ea3a4de7cf5573d2c7543 - FirebaseAnalytics: 8d0ff929c63b7f72260f332b86ccf569776b75d3 - FirebaseCore: 0326ec9b05fbed8f8716cddbf0e36894a13837f7 + Firebase: 0312a2352584f782ea56f66d91606891d4607f06 + firebase_analytics: cc06e24d6a2343c44f845b3112143db72d10ef78 + firebase_core: a626d00494efa398e7c54f25f1454a64c8abf197 + firebase_crashlytics: 17e856fabec68d993662abaf2f6fe2413f0abece + firebase_messaging: 06391e8f35dc65a00c56580266285263d2861f10 + FirebaseAnalytics: ec00fe8b93b41dc6fe4a28784b8e51da0647a248 + FirebaseCore: 7ec4d0484817f12c3373955bc87762d96842d483 FirebaseCoreExtension: 705ca5b14bf71d2564a0ddc677df1fc86ffa600f FirebaseCoreInternal: df84dd300b561c27d5571684f389bf60b0a5c934 - FirebaseCrashlytics: e568d68ce89117c80cddb04073ab9018725fbb8c + FirebaseCrashlytics: 4b96efb0ce73b38b2a85e8b8bd1bd8f63f09d015 FirebaseInstallations: 913cf60d0400ebd5d6b63a28b290372ab44590dd - FirebaseMessaging: 9f71037fd9db3376a4caa54e5a3949d1027b4b6e + FirebaseMessaging: 88950ba9485052891ebe26f6c43a52bb62248952 + FirebaseRemoteConfigInterop: 6efda51fb5e2f15b16585197e26eaa09574e8a4d FirebaseSessions: dbd14adac65ce996228652c1fc3a3f576bdf3ecc Flutter: e0871f40cf51350855a761d2e70bf5af5b9b5de7 - flutter_native_splash: 52501b97d1c0a5f898d687f1646226c1f93c56ef + flutter_native_splash: edf599c81f74d093a4daf8e17bd7a018854bc778 flutter_web_browser: 7bccaafbb0c5b8862afe7bcd158f15557109f61f flutter_widgetkit: a0e9b0d50ee9bec366dad36c639509daaafc397a - GoogleAppMeasurement: ccefe3eac9b0aa27f96066809fb1a7fe4b462626 + GoogleAppMeasurement: 9abf64b682732fed36da827aa2a68f0221fd2356 GoogleDataTransport: 6c09b596d841063d76d4288cc2d2f42cc36e1e2a GoogleUtilities: ea963c370a38a8069cc5f7ba4ca849a60b6d7d15 nanopb: 438bc412db1928dac798aa6fd75726007be04262 open_app_file: 205f73051668bfbd68356005fef8a62e620f0a77 - path_provider_foundation: 29f094ae23ebbca9d3d0cec13889cd9060c0e943 - permission_handler_apple: e76247795d700c14ea09e3a2d8855d41ee80a2e6 + path_provider_foundation: 2b6b4c569c0fb62ec74538f866245ac84301af46 + permission_handler_apple: 9878588469a2b0d0fc1e048d9f43605f92e6cec2 PromisesObjC: f5707f49cb48b9636751c5b2e7d227e43fba9f47 PromisesSwift: 9d77319bbe72ebf6d872900551f7eeba9bce2851 - shared_preferences_foundation: 5b919d13b803cadd15ed2dc053125c68730e5126 + shared_preferences_foundation: fcdcbc04712aee1108ac7fda236f363274528f78 url_launcher_ios: 5334b05cef931de560670eeae103fd3e431ac3fe webview_cookie_manager: eaf920722b493bd0f7611b5484771ca53fed03f7 webview_flutter_wkwebview: b7e70ef1ddded7e69c796c7390ee74180182971f diff --git a/ios/Runner.xcodeproj/project.pbxproj b/ios/Runner.xcodeproj/project.pbxproj index a3194c53..c2db953b 100644 --- a/ios/Runner.xcodeproj/project.pbxproj +++ b/ios/Runner.xcodeproj/project.pbxproj @@ -339,6 +339,7 @@ 3B06AD1E1E4923F5004D2608 /* Thin Binary */, E81541A619F92FF6837FDEEC /* [CP] Embed Pods Frameworks */, 894C64DD28C8F8FC006549F9 /* ShellScript */, + ECCBEE31A5B090F7A5D85162 /* [CP] Copy Pods Resources */, ); buildRules = ( ); @@ -519,6 +520,7 @@ "${BUILT_PRODUCTS_DIR}/FirebaseCrashlytics/FirebaseCrashlytics.framework", "${BUILT_PRODUCTS_DIR}/FirebaseInstallations/FirebaseInstallations.framework", "${BUILT_PRODUCTS_DIR}/FirebaseMessaging/FirebaseMessaging.framework", + "${BUILT_PRODUCTS_DIR}/FirebaseRemoteConfigInterop/FirebaseRemoteConfigInterop.framework", "${BUILT_PRODUCTS_DIR}/FirebaseSessions/FirebaseSessions.framework", "${BUILT_PRODUCTS_DIR}/GoogleDataTransport/GoogleDataTransport.framework", "${BUILT_PRODUCTS_DIR}/GoogleUtilities/GoogleUtilities.framework", @@ -545,6 +547,7 @@ "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FirebaseCrashlytics.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FirebaseInstallations.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FirebaseMessaging.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FirebaseRemoteConfigInterop.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FirebaseSessions.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/GoogleDataTransport.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/GoogleUtilities.framework", @@ -568,6 +571,26 @@ shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; + ECCBEE31A5B090F7A5D85162 /* [CP] Copy Pods Resources */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources.sh", + "${PODS_CONFIGURATION_BUILD_DIR}/firebase_messaging/firebase_messaging_Privacy.bundle", + "${PODS_CONFIGURATION_BUILD_DIR}/permission_handler_apple/permission_handler_apple_privacy.bundle", + ); + name = "[CP] Copy Pods Resources"; + outputPaths = ( + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/firebase_messaging_Privacy.bundle", + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/permission_handler_apple_privacy.bundle", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources.sh\"\n"; + showEnvVarsInLog = 0; + }; /* End PBXShellScriptBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ From b9dd20e824ed754710202d000061636f7a7148b0 Mon Sep 17 00:00:00 2001 From: happycastle <41810556+happycastle114@users.noreply.github.com> Date: Wed, 14 Aug 2024 00:49:38 +0900 Subject: [PATCH 09/18] Downgrade flutter version 3.24.0 -> 3.22.0 --- android/app/build.gradle | 6 +- android/build.gradle | 18 ++--- lib/widgets/dropdown.dart | 4 +- lib/widgets/lecture_search.dart | 2 +- pubspec.lock | 129 +++++++++++++------------------- pubspec.yaml | 10 +-- 6 files changed, 71 insertions(+), 98 deletions(-) diff --git a/android/app/build.gradle b/android/app/build.gradle index 4c566efd..17894429 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -31,7 +31,7 @@ if (keystorePropertiesFile.exists()) { android { namespace 'org.sparcs.otlplus' - compileSdk 34 + compileSdk rootProject.ext.targetSdkVersion sourceSets { main.java.srcDirs += 'src/main/kotlin' @@ -43,8 +43,8 @@ android { defaultConfig { applicationId "org.sparcs.otlplus" - minSdkVersion 21 - targetSdkVersion 34 + minSdkVersion 26 + targetSdkVersion rootProject.ext.targetSdkVersion versionCode flutterVersionCode.toInteger() versionName flutterVersionName testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" diff --git a/android/build.gradle b/android/build.gradle index ea1de30f..c2152574 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -6,11 +6,12 @@ allprojects { google() mavenCentral() } - ext { - compileSdkVersion = 34 - targetSdkVersion = 34 - appCompatVersion = "1.7.0" - } +} + +ext { + compileSdkVersion = 34 + targetSdkVersion = 34 + appCompatVersion = "1.7.0" } rootProject.buildDir = '../build' @@ -40,10 +41,3 @@ subprojects { tasks.register("clean", Delete) { delete rootProject.buildDir } - - -configurations.all { - resolutionStrategy { - force 'androidx.core:core-ktx:1.6.0' - } -} \ No newline at end of file diff --git a/lib/widgets/dropdown.dart b/lib/widgets/dropdown.dart index bdf80c2d..28f22985 100644 --- a/lib/widgets/dropdown.dart +++ b/lib/widgets/dropdown.dart @@ -64,8 +64,8 @@ class Dropdown extends StatelessWidget { radius: Radius.circular(1.5), mainAxisMargin: 11.5, crossAxisMargin: 4.5, - thickness: WidgetStatePropertyAll(3), - thumbColor: WidgetStatePropertyAll(OTLColor.grayF), + thickness: MaterialStatePropertyAll(3), + thumbColor: MaterialStatePropertyAll(OTLColor.grayF), interactive: true, ) : null, diff --git a/lib/widgets/lecture_search.dart b/lib/widgets/lecture_search.dart index 71a2f4e3..25e9791e 100644 --- a/lib/widgets/lecture_search.dart +++ b/lib/widgets/lecture_search.dart @@ -27,7 +27,7 @@ class _LectureSearchState extends State { final searchModel = context.watch(); return PopScope( - onPopInvokedWithResult: (_, __) { + onPopInvoked: (_) { if (widget.onClosed != null) { widget.onClosed!(); } diff --git a/pubspec.lock b/pubspec.lock index e5b63306..323df374 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -5,31 +5,26 @@ packages: dependency: transitive description: name: _fe_analyzer_shared - sha256: "45cfa8471b89fb6643fe9bf51bd7931a76b8f5ec2d65de4fb176dba8d4f22c77" + sha256: "0b2f2bd91ba804e53a61d757b986f89f1f9eaed5b11e4b2f5a2468d86d6c9fc7" url: "https://pub.dev" source: hosted - version: "73.0.0" + version: "67.0.0" _flutterfire_internals: dependency: transitive description: name: _flutterfire_internals - sha256: "37a42d06068e2fe3deddb2da079a8c4d105f241225ba27b7122b37e9865fd8f7" + sha256: b1595874fbc8f7a50da90f5d8f327bb0bfd6a95dc906c390efe991540c3b54aa url: "https://pub.dev" source: hosted - version: "1.3.35" - _macros: - dependency: transitive - description: dart - source: sdk - version: "0.3.2" + version: "1.3.40" analyzer: dependency: transitive description: name: analyzer - sha256: "4959fec185fe70cce007c57e9ab6983101dbe593d2bf8bbfb4453aaec0cf470a" + sha256: "37577842a27e4338429a1cbc32679d508836510b056f1eedf0c8d20e39c1383d" url: "https://pub.dev" source: hosted - version: "6.8.0" + version: "6.4.1" ansicolor: dependency: transitive description: @@ -99,10 +94,10 @@ packages: dependency: transitive description: name: collection - sha256: a1ace0a119f20aabc852d165077c036cd864315bd99b7eaa10a60100341941bf + sha256: ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a url: "https://pub.dev" source: hosted - version: "1.19.0" + version: "1.18.0" convert: dependency: transitive description: @@ -219,34 +214,34 @@ packages: dependency: "direct main" description: name: firebase_analytics - sha256: dbf1e7ab22cfb1f4a4adb103b46a26276b4edc593d4a78ef6fb942bafc92e035 + sha256: "064e5b57b0693305946b7caa6a80ed80a918f46804c247b6cd7ed9cd327df48f" url: "https://pub.dev" source: hosted - version: "10.10.7" + version: "11.2.1" firebase_analytics_platform_interface: dependency: transitive description: name: firebase_analytics_platform_interface - sha256: "3729b74f8cf1d974a27ba70332ecb55ff5ff560edc8164a6469f4a055b429c37" + sha256: d094547c9022c404b5ca39b7209607fc80e75e39d38875f050508fa4346b3e74 url: "https://pub.dev" source: hosted - version: "3.10.8" + version: "4.2.1" firebase_analytics_web: dependency: transitive description: name: firebase_analytics_web - sha256: "019cd7eee74254d33fbd2e29229367ce33063516bf6b3258a341d89e3b0f1655" + sha256: "06dc023b0144c0df630a56b6262cc9e7d6069fe78148853d97614dbefb6ea923" url: "https://pub.dev" source: hosted - version: "0.5.7+7" + version: "0.5.9+1" firebase_core: dependency: "direct main" description: name: firebase_core - sha256: "26de145bb9688a90962faec6f838247377b0b0d32cc0abecd9a4e43525fc856c" + sha256: "3187f4f8e49968573fd7403011dca67ba95aae419bc0d8131500fae160d94f92" url: "https://pub.dev" source: hosted - version: "2.32.0" + version: "3.3.0" firebase_core_platform_interface: dependency: transitive description: @@ -267,42 +262,42 @@ packages: dependency: "direct main" description: name: firebase_crashlytics - sha256: "9897c01efaa950d2f6da8317d12452749a74dc45f33b46390a14cfe28067f271" + sha256: "30260e1b8ad1464b41ca4531b44ce63d752daaf2f12c92ca6cdcd82b270abecc" url: "https://pub.dev" source: hosted - version: "3.5.7" + version: "4.0.4" firebase_crashlytics_platform_interface: dependency: transitive description: name: firebase_crashlytics_platform_interface - sha256: "16a71e08fbf6e00382816e1b13397898c29a54fa0ad969c2c2a3b82a704877f0" + sha256: a75e1826d92ea4e86e4a753c7b5d64b844a362676fa653185f1581c859186d18 url: "https://pub.dev" source: hosted - version: "3.6.35" + version: "3.6.40" firebase_messaging: dependency: "direct main" description: name: firebase_messaging - sha256: a1662cc95d9750a324ad9df349b873360af6f11414902021f130c68ec02267c4 + sha256: "1b0a4f9ecbaf9007771bac152afad738ddfacc4b8431a7591c00829480d99553" url: "https://pub.dev" source: hosted - version: "14.9.4" + version: "15.0.4" firebase_messaging_platform_interface: dependency: transitive description: name: firebase_messaging_platform_interface - sha256: "87c4a922cb6f811cfb7a889bdbb3622702443c52a0271636cbc90d813ceac147" + sha256: c5a6443e66ae064fe186901d740ee7ce648ca2a6fd0484b8c5e963849ac0fc28 url: "https://pub.dev" source: hosted - version: "4.5.37" + version: "4.5.42" firebase_messaging_web: dependency: transitive description: name: firebase_messaging_web - sha256: "0d34dca01a7b103ed7f20138bffbb28eb0e61a677bf9e78a028a932e2c7322d5" + sha256: "232ef63b986467ae5b5577a09c2502b26e2e2aebab5b85e6c966a5ca9b038b89" url: "https://pub.dev" source: hosted - version: "3.8.7" + version: "3.8.12" flutter: dependency: "direct main" description: flutter @@ -409,10 +404,10 @@ packages: dependency: transitive description: name: http_parser - sha256: "40f592dd352890c3b60fec1b68e786cefb9603e05ff303dbc4dda49b304ecdf4" + sha256: "2aa08ce0341cc9b354a498388e30986515406668dbcc4f7c950c3e715496693b" url: "https://pub.dev" source: hosted - version: "4.1.0" + version: "4.0.2" image: dependency: transitive description: @@ -449,18 +444,18 @@ packages: dependency: transitive description: name: leak_tracker - sha256: "3f87a60e8c63aecc975dda1ceedbc8f24de75f09e4856ea27daf8958f2f0ce05" + sha256: "7f0df31977cb2c0b88585095d168e689669a2cc9b97c309665e3386f3e9d341a" url: "https://pub.dev" source: hosted - version: "10.0.5" + version: "10.0.4" leak_tracker_flutter_testing: dependency: transitive description: name: leak_tracker_flutter_testing - sha256: "932549fb305594d82d7183ecd9fa93463e9914e1b67cacc34bc40906594a1806" + sha256: "06e98f569d004c1315b991ded39924b21af84cf14cc94791b8aea337d25b57f8" url: "https://pub.dev" source: hosted - version: "3.0.5" + version: "3.0.3" leak_tracker_testing: dependency: transitive description: @@ -477,14 +472,6 @@ packages: url: "https://pub.dev" source: hosted version: "1.2.0" - macros: - dependency: transitive - description: - name: macros - sha256: "0acaed5d6b7eab89f63350bccd82119e6c602df0f391260d0e32b5e23db79536" - url: "https://pub.dev" - source: hosted - version: "0.1.2-main.4" mailto: dependency: "direct main" description: @@ -505,18 +492,18 @@ packages: dependency: transitive description: name: material_color_utilities - sha256: f7142bb1154231d7ea5f96bc7bde4bda2a0945d2806bb11670e30b850d56bdec + sha256: "0e0a020085b65b6083975e499759762399b4475f766c21668c4ecca34ea74e5a" url: "https://pub.dev" source: hosted - version: "0.11.1" + version: "0.8.0" meta: dependency: transitive description: name: meta - sha256: bdb68674043280c3428e9ec998512fb681678676b3c54e773629ffe74419f8c7 + sha256: "7687075e408b093f36e6bbf6c91878cc0d4cd10f409506f7bc996f68220b9136" url: "https://pub.dev" source: hosted - version: "1.15.0" + version: "1.12.0" mime: dependency: transitive description: @@ -689,10 +676,10 @@ packages: dependency: transitive description: name: platform - sha256: "9b71283fc13df574056616011fb138fd3b793ea47cc509c189a6c3fa5f8a1a65" + sha256: "12220bb4b65720483f8fa9450b4332347737cf8213dd2840d8b2c823e47243ec" url: "https://pub.dev" source: hosted - version: "3.1.5" + version: "3.1.4" plugin_platform_interface: dependency: transitive description: @@ -793,10 +780,10 @@ packages: dependency: transitive description: name: shelf - sha256: e7dd780a7ffb623c57850b33f43309312fc863fb6aa3d276a754bb299839ef12 + sha256: ad29c505aee705f41a4d8963641f91ac4cee3c8fad5947e033390a7bd8180fa4 url: "https://pub.dev" source: hosted - version: "1.4.2" + version: "1.4.1" shelf_packages_handler: dependency: transitive description: @@ -817,10 +804,10 @@ packages: dependency: transitive description: name: shelf_web_socket - sha256: "073c147238594ecd0d193f3456a5fe91c4b0abbcc68bf5cd95b36c4e194ac611" + sha256: "9ca081be41c60190ebcb4766b2486a7d50261db7bd0f5d9615f2d653637a84c1" url: "https://pub.dev" source: hosted - version: "2.0.0" + version: "1.0.4" sky_engine: dependency: transitive description: flutter @@ -870,10 +857,10 @@ packages: dependency: transitive description: name: string_scanner - sha256: "688af5ed3402a4bde5b3a6c15fd768dbf2621a614950b17f04626c431ab3c4c3" + sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde" url: "https://pub.dev" source: hosted - version: "1.3.0" + version: "1.2.0" sync_http: dependency: transitive description: @@ -894,26 +881,26 @@ packages: dependency: "direct dev" description: name: test - sha256: "713a8789d62f3233c46b4a90b174737b2c04cb6ae4500f2aa8b1be8f03f5e67f" + sha256: "7ee446762c2c50b3bd4ea96fe13ffac69919352bd3b4b17bac3f3465edc58073" url: "https://pub.dev" source: hosted - version: "1.25.8" + version: "1.25.2" test_api: dependency: transitive description: name: test_api - sha256: "664d3a9a64782fcdeb83ce9c6b39e78fd2971d4e37827b9b06c3aa1edc5e760c" + sha256: "9955ae474176f7ac8ee4e989dadfb411a58c30415bcfb648fa04b2b8a03afa7f" url: "https://pub.dev" source: hosted - version: "0.7.3" + version: "0.7.0" test_core: dependency: transitive description: name: test_core - sha256: "12391302411737c176b0b5d6491f466b0dd56d4763e347b6714efbaa74d7953d" + sha256: "2bc4b4ecddd75309300d8096f781c0e3280ca1ef85beda558d33fcbedc2eead4" url: "https://pub.dev" source: hosted - version: "0.6.5" + version: "0.6.0" typed_data: dependency: transitive description: @@ -1030,10 +1017,10 @@ packages: dependency: transitive description: name: vm_service - sha256: f652077d0bdf60abe4c1f6377448e8655008eef28f128bc023f7b5e8dfeb48fc + sha256: "3923c89304b715fb1eb6423f017651664a03bf5f4b29983627c4da791f74a4ec" url: "https://pub.dev" source: hosted - version: "14.2.4" + version: "14.2.1" watcher: dependency: transitive description: @@ -1050,22 +1037,14 @@ packages: url: "https://pub.dev" source: hosted version: "0.5.1" - web_socket: - dependency: transitive - description: - name: web_socket - sha256: "3c12d96c0c9a4eec095246debcea7b86c0324f22df69893d538fcc6f1b8cce83" - url: "https://pub.dev" - source: hosted - version: "0.1.6" web_socket_channel: dependency: transitive description: name: web_socket_channel - sha256: "9f187088ed104edd8662ca07af4b124465893caf063ba29758f97af57e61da8f" + sha256: "58c6666b342a38816b2e7e50ed0f1e261959630becd4c879c4f26bfa14aa5a42" url: "https://pub.dev" source: hosted - version: "3.0.1" + version: "2.4.5" webdriver: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index 663a60bf..96196bf5 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -14,7 +14,7 @@ description: Online Timeplanner with Lectures Plus App @ KAIST version: 2.3.0+21 environment: - sdk: ">=2.14.0 <3.0.0" + sdk: ">=3.2.0 <4.0.0" publish_to: none dependencies: @@ -40,15 +40,15 @@ dependencies: mailto: ^2.0.0 dropdown_button2: ^3.0.0-beta.7 # Firebase - firebase_core: ^2.23.0 - firebase_analytics: ^10.7.1 - firebase_crashlytics: ^3.4.5 + firebase_core: ^3.3.0 + firebase_analytics: ^11.2.1 + firebase_crashlytics: ^4.0.4 channel_talk_flutter: git: url: https://github.com/happycastle114/channel_talk_flutter.git ref: main - firebase_messaging: ^14.7.19 + firebase_messaging: ^15.0.4 dev_dependencies: test: ^1.24.9 From f8f5fdebaca51738e003a799c84593488600ea22 Mon Sep 17 00:00:00 2001 From: happycastle <41810556+happycastle114@users.noreply.github.com> Date: Wed, 14 Aug 2024 01:02:11 +0900 Subject: [PATCH 10/18] Fix pod update for Firebase/Messaging --- ios/Podfile.lock | 78 ++++++++++++++++++++++++------------------------ 1 file changed, 39 insertions(+), 39 deletions(-) diff --git a/ios/Podfile.lock b/ios/Podfile.lock index 873732e9..8cf74493 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -3,36 +3,36 @@ PODS: - ChannelIOSDK (= 11.7.3) - Flutter - ChannelIOSDK (11.7.3) - - Firebase/Analytics (10.25.0): + - Firebase/Analytics (10.29.0): - Firebase/Core - - Firebase/Core (10.25.0): + - Firebase/Core (10.29.0): - Firebase/CoreOnly - - FirebaseAnalytics (~> 10.25.0) - - Firebase/CoreOnly (10.25.0): - - FirebaseCore (= 10.25.0) - - Firebase/Crashlytics (10.25.0): + - FirebaseAnalytics (~> 10.29.0) + - Firebase/CoreOnly (10.29.0): + - FirebaseCore (= 10.29.0) + - Firebase/Crashlytics (10.29.0): - Firebase/CoreOnly - - FirebaseCrashlytics (~> 10.25.0) - - Firebase/Messaging (10.25.0): + - FirebaseCrashlytics (~> 10.29.0) + - Firebase/Messaging (10.29.0): - Firebase/CoreOnly - - FirebaseMessaging (~> 10.25.0) - - firebase_analytics (10.10.7): - - Firebase/Analytics (= 10.25.0) + - FirebaseMessaging (~> 10.29.0) + - firebase_analytics (11.2.1): + - Firebase/Analytics (= 10.29.0) - firebase_core - Flutter - - firebase_core (2.32.0): - - Firebase/CoreOnly (= 10.25.0) + - firebase_core (3.3.0): + - Firebase/CoreOnly (= 10.29.0) - Flutter - - firebase_crashlytics (3.5.7): - - Firebase/Crashlytics (= 10.25.0) + - firebase_crashlytics (4.0.4): + - Firebase/Crashlytics (= 10.29.0) - firebase_core - Flutter - - firebase_messaging (14.9.4): - - Firebase/Messaging (= 10.25.0) + - firebase_messaging (15.0.4): + - Firebase/Messaging (= 10.29.0) - firebase_core - Flutter - - FirebaseAnalytics (10.25.0): - - FirebaseAnalytics/AdIdSupport (= 10.25.0) + - FirebaseAnalytics (10.29.0): + - FirebaseAnalytics/AdIdSupport (= 10.29.0) - FirebaseCore (~> 10.0) - FirebaseInstallations (~> 10.0) - GoogleUtilities/AppDelegateSwizzler (~> 7.11) @@ -40,16 +40,16 @@ PODS: - GoogleUtilities/Network (~> 7.11) - "GoogleUtilities/NSData+zlib (~> 7.11)" - nanopb (< 2.30911.0, >= 2.30908.0) - - FirebaseAnalytics/AdIdSupport (10.25.0): + - FirebaseAnalytics/AdIdSupport (10.29.0): - FirebaseCore (~> 10.0) - FirebaseInstallations (~> 10.0) - - GoogleAppMeasurement (= 10.25.0) + - GoogleAppMeasurement (= 10.29.0) - GoogleUtilities/AppDelegateSwizzler (~> 7.11) - GoogleUtilities/MethodSwizzler (~> 7.11) - GoogleUtilities/Network (~> 7.11) - "GoogleUtilities/NSData+zlib (~> 7.11)" - nanopb (< 2.30911.0, >= 2.30908.0) - - FirebaseCore (10.25.0): + - FirebaseCore (10.29.0): - FirebaseCoreInternal (~> 10.0) - GoogleUtilities/Environment (~> 7.12) - GoogleUtilities/Logger (~> 7.12) @@ -57,7 +57,7 @@ PODS: - FirebaseCore (~> 10.0) - FirebaseCoreInternal (10.29.0): - "GoogleUtilities/NSData+zlib (~> 7.8)" - - FirebaseCrashlytics (10.25.0): + - FirebaseCrashlytics (10.29.0): - FirebaseCore (~> 10.5) - FirebaseInstallations (~> 10.0) - FirebaseRemoteConfigInterop (~> 10.23) @@ -71,7 +71,7 @@ PODS: - GoogleUtilities/Environment (~> 7.8) - GoogleUtilities/UserDefaults (~> 7.8) - PromisesObjC (~> 2.1) - - FirebaseMessaging (10.25.0): + - FirebaseMessaging (10.29.0): - FirebaseCore (~> 10.0) - FirebaseInstallations (~> 10.0) - GoogleDataTransport (~> 9.3) @@ -97,21 +97,21 @@ PODS: - Flutter - flutter_widgetkit (0.0.1): - Flutter - - GoogleAppMeasurement (10.25.0): - - GoogleAppMeasurement/AdIdSupport (= 10.25.0) + - GoogleAppMeasurement (10.29.0): + - GoogleAppMeasurement/AdIdSupport (= 10.29.0) - GoogleUtilities/AppDelegateSwizzler (~> 7.11) - GoogleUtilities/MethodSwizzler (~> 7.11) - GoogleUtilities/Network (~> 7.11) - "GoogleUtilities/NSData+zlib (~> 7.11)" - nanopb (< 2.30911.0, >= 2.30908.0) - - GoogleAppMeasurement/AdIdSupport (10.25.0): - - GoogleAppMeasurement/WithoutAdIdSupport (= 10.25.0) + - GoogleAppMeasurement/AdIdSupport (10.29.0): + - GoogleAppMeasurement/WithoutAdIdSupport (= 10.29.0) - GoogleUtilities/AppDelegateSwizzler (~> 7.11) - GoogleUtilities/MethodSwizzler (~> 7.11) - GoogleUtilities/Network (~> 7.11) - "GoogleUtilities/NSData+zlib (~> 7.11)" - nanopb (< 2.30911.0, >= 2.30908.0) - - GoogleAppMeasurement/WithoutAdIdSupport (10.25.0): + - GoogleAppMeasurement/WithoutAdIdSupport (10.29.0): - GoogleUtilities/AppDelegateSwizzler (~> 7.11) - GoogleUtilities/MethodSwizzler (~> 7.11) - GoogleUtilities/Network (~> 7.11) @@ -251,25 +251,25 @@ EXTERNAL SOURCES: SPEC CHECKSUMS: channel_talk_flutter: 62d078feeddfa94b03dfa72f39ecf26f2731c2ee ChannelIOSDK: 3d4bee1e1a077cf60394b439801e5078bb69a3b1 - Firebase: 0312a2352584f782ea56f66d91606891d4607f06 - firebase_analytics: cc06e24d6a2343c44f845b3112143db72d10ef78 - firebase_core: a626d00494efa398e7c54f25f1454a64c8abf197 - firebase_crashlytics: 17e856fabec68d993662abaf2f6fe2413f0abece - firebase_messaging: 06391e8f35dc65a00c56580266285263d2861f10 - FirebaseAnalytics: ec00fe8b93b41dc6fe4a28784b8e51da0647a248 - FirebaseCore: 7ec4d0484817f12c3373955bc87762d96842d483 + Firebase: cec914dab6fd7b1bd8ab56ea07ce4e03dd251c2d + firebase_analytics: 04491d1ee74c8e7c2330c96afc54188a969b06ee + firebase_core: 57aeb91680e5d5e6df6b888064be7c785f146efb + firebase_crashlytics: e3d3e0c99bad5aaab5908385133dea8ec344693f + firebase_messaging: c862b3d2b973ecc769194dc8de09bd22c77ae757 + FirebaseAnalytics: 23717de130b779aa506e757edb9713d24b6ffeda + FirebaseCore: 30e9c1cbe3d38f5f5e75f48bfcea87d7c358ec16 FirebaseCoreExtension: 705ca5b14bf71d2564a0ddc677df1fc86ffa600f FirebaseCoreInternal: df84dd300b561c27d5571684f389bf60b0a5c934 - FirebaseCrashlytics: 4b96efb0ce73b38b2a85e8b8bd1bd8f63f09d015 + FirebaseCrashlytics: 34647b41e18de773717fdd348a22206f2f9bc774 FirebaseInstallations: 913cf60d0400ebd5d6b63a28b290372ab44590dd - FirebaseMessaging: 88950ba9485052891ebe26f6c43a52bb62248952 + FirebaseMessaging: 7b5d8033e183ab59eb5b852a53201559e976d366 FirebaseRemoteConfigInterop: 6efda51fb5e2f15b16585197e26eaa09574e8a4d FirebaseSessions: dbd14adac65ce996228652c1fc3a3f576bdf3ecc Flutter: e0871f40cf51350855a761d2e70bf5af5b9b5de7 flutter_native_splash: edf599c81f74d093a4daf8e17bd7a018854bc778 flutter_web_browser: 7bccaafbb0c5b8862afe7bcd158f15557109f61f flutter_widgetkit: a0e9b0d50ee9bec366dad36c639509daaafc397a - GoogleAppMeasurement: 9abf64b682732fed36da827aa2a68f0221fd2356 + GoogleAppMeasurement: f9de05ee17401e3355f68e8fc8b5064d429f5918 GoogleDataTransport: 6c09b596d841063d76d4288cc2d2f42cc36e1e2a GoogleUtilities: ea963c370a38a8069cc5f7ba4ca849a60b6d7d15 nanopb: 438bc412db1928dac798aa6fd75726007be04262 From fe827b60f77e4af42b8f6d7c8648fb46d21b7376 Mon Sep 17 00:00:00 2001 From: happycastle <41810556+happycastle114@users.noreply.github.com> Date: Wed, 14 Aug 2024 01:03:44 +0900 Subject: [PATCH 11/18] Refactor for Lints --- lib/widgets/dropdown.dart | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/widgets/dropdown.dart b/lib/widgets/dropdown.dart index 28f22985..bdf80c2d 100644 --- a/lib/widgets/dropdown.dart +++ b/lib/widgets/dropdown.dart @@ -64,8 +64,8 @@ class Dropdown extends StatelessWidget { radius: Radius.circular(1.5), mainAxisMargin: 11.5, crossAxisMargin: 4.5, - thickness: MaterialStatePropertyAll(3), - thumbColor: MaterialStatePropertyAll(OTLColor.grayF), + thickness: WidgetStatePropertyAll(3), + thumbColor: WidgetStatePropertyAll(OTLColor.grayF), interactive: true, ) : null, From 396f711b91a79a6a94a5a2af6254c0b0fc051b45 Mon Sep 17 00:00:00 2001 From: happycastle <41810556+happycastle114@users.noreply.github.com> Date: Wed, 14 Aug 2024 01:18:15 +0900 Subject: [PATCH 12/18] (refactor) fix flutter version to 3.22.3 because recent version has problems --- pubspec.lock | 2 +- pubspec.yaml | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/pubspec.lock b/pubspec.lock index 323df374..e3ab13f1 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -1127,4 +1127,4 @@ packages: version: "3.1.2" sdks: dart: ">=3.4.0 <4.0.0" - flutter: ">=3.22.0" + flutter: ">=3.22.3" diff --git a/pubspec.yaml b/pubspec.yaml index 96196bf5..73752e74 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -15,6 +15,7 @@ version: 2.3.0+21 environment: sdk: ">=3.2.0 <4.0.0" + flutter: 3.22.3 publish_to: none dependencies: From 205246778c605f44ea45caf672fbf22fc408f937 Mon Sep 17 00:00:00 2001 From: happycastle <41810556+happycastle114@users.noreply.github.com> Date: Wed, 14 Aug 2024 05:51:36 +0900 Subject: [PATCH 13/18] Use self hosted runners for build speed --- .github/workflows/build.yml | 4 ++-- pubspec.yaml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index fb5c4ce5..c567dc2e 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -7,13 +7,13 @@ on: branches: [main] env: - FLUTTER_VERSION: "3" + FLUTTER_VERSION: "3.22.3" JAVA_VERSION: "17" jobs: build-android: name: Build Android - runs-on: macos-latest + runs-on: [self-hosted, linux] steps: - uses: actions/checkout@v3 - name: Set up Java diff --git a/pubspec.yaml b/pubspec.yaml index 73752e74..a92a5314 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -11,7 +11,7 @@ description: Online Timeplanner with Lectures Plus App @ KAIST # In iOS, build-name is used as CFBundleShortVersionString while build-number used as CFBundleVersion. # Read more about iOS versioning at # https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html -version: 2.3.0+21 +version: 2.3.1+22 environment: sdk: ">=3.2.0 <4.0.0" From 0ffc53b568d0865ef7936ca4b740187df7cecbcb Mon Sep 17 00:00:00 2001 From: happycastle <41810556+happycastle114@users.noreply.github.com> Date: Wed, 14 Aug 2024 05:53:15 +0900 Subject: [PATCH 14/18] Change Lints Flutter version --- .github/workflows/lint.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 8bb87350..75ecf430 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -7,7 +7,7 @@ on: branches: [main] env: - FLUTTER_VERSION: "3" + FLUTTER_VERSION: "3.22.3" jobs: lint: From 7e5880d762f939794d777844f1c50bfc0a3d305b Mon Sep 17 00:00:00 2001 From: happycastle <41810556+happycastle114@users.noreply.github.com> Date: Wed, 14 Aug 2024 05:59:30 +0900 Subject: [PATCH 15/18] (fix) try to downgrade version --- .github/workflows/build.yml | 4 ++-- .github/workflows/coverage.yml | 4 ++-- .github/workflows/lint.yml | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index c567dc2e..1190e6a9 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -25,7 +25,7 @@ jobs: uses: subosito/flutter-action@v2 with: flutter-version: ${{ env.FLUTTER_VERSION }} - channel: "stable" + # channel: "stable" - name: Create key.properties run: | echo "storeFile=../ci.jks" > android/key.properties @@ -48,7 +48,7 @@ jobs: uses: subosito/flutter-action@v2 with: flutter-version: ${{ env.FLUTTER_VERSION }} - channel: "stable" + # channel: "stable" - uses: actions/cache@v3 with: path: Pods diff --git a/.github/workflows/coverage.yml b/.github/workflows/coverage.yml index 47b82c5d..ecaf9ed3 100644 --- a/.github/workflows/coverage.yml +++ b/.github/workflows/coverage.yml @@ -3,7 +3,7 @@ name: Coverage on: [push] env: - FLUTTER_VERSION: "3" + FLUTTER_VERSION: "3.22.3" jobs: coverage: @@ -15,7 +15,7 @@ jobs: uses: subosito/flutter-action@v2 with: flutter-version: ${{ env.FLUTTER_VERSION }} - channel: "stable" + # channel: "stable" - name: Install lcov run: sudo apt-get install -y lcov - name: Install dependencies diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 75ecf430..c623fbb9 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -19,7 +19,7 @@ jobs: uses: subosito/flutter-action@v2 with: flutter-version: ${{ env.FLUTTER_VERSION }} - channel: "stable" + # channel: "stable" - name: Install dependencies run: flutter pub get - name: Format From 66278759d7cf1c253b7c0eb14032a4b7a1fe9465 Mon Sep 17 00:00:00 2001 From: happycastle <41810556+happycastle114@users.noreply.github.com> Date: Wed, 14 Aug 2024 07:06:13 +0900 Subject: [PATCH 16/18] fix) not to use self hosted runner --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 1190e6a9..3aa2df47 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -13,7 +13,7 @@ env: jobs: build-android: name: Build Android - runs-on: [self-hosted, linux] + runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - name: Set up Java From ed395b20025280ce4a7b014da5b1a6d933330cca Mon Sep 17 00:00:00 2001 From: happycastle <41810556+happycastle114@users.noreply.github.com> Date: Wed, 14 Aug 2024 14:38:06 +0900 Subject: [PATCH 17/18] (refactor) fix for some feedbacks --- android/app/build.gradle | 4 ++-- ios/Runner/Info.plist | 8 ++++---- lib/main.dart | 2 +- pubspec.yaml | 2 +- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/android/app/build.gradle b/android/app/build.gradle index 17894429..a51ee9b9 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -31,7 +31,7 @@ if (keystorePropertiesFile.exists()) { android { namespace 'org.sparcs.otlplus' - compileSdk rootProject.ext.targetSdkVersion + compileSdk 34 sourceSets { main.java.srcDirs += 'src/main/kotlin' @@ -43,7 +43,7 @@ android { defaultConfig { applicationId "org.sparcs.otlplus" - minSdkVersion 26 + minSdkVersion 21 targetSdkVersion rootProject.ext.targetSdkVersion versionCode flutterVersionCode.toInteger() versionName flutterVersionName diff --git a/ios/Runner/Info.plist b/ios/Runner/Info.plist index cfbb5334..38ef792c 100644 --- a/ios/Runner/Info.plist +++ b/ios/Runner/Info.plist @@ -79,15 +79,15 @@ UIStatusBarHidden NSCameraUsageDescription - Accessing to camera in order to provide better user experience + 사용자 요청 시 고객센터에서 사진을 주고받기 위해 필요합니다. NSMicrophoneUsageDescription - Accessing to microphone to record voice for video + 사용자 요청 시 고객센터에서 음성을 주고받기 위해 필요합니다. NSPhotoLibraryAddUsageDescription - Accessing to photo library in order to save photos + 사용자 요청 시 고객센터에서 주고받은 사진을 저장합니다. NSPhotoLibraryUsageDescription - Accessing to photo library in order to provide better user experience + 사용자 요청 시 고객센터에서 사진을 주고받기 위해 필요합니다. diff --git a/lib/main.dart b/lib/main.dart index b2424f3f..03241d92 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -56,7 +56,7 @@ void main() { pluginKey: '0abc4b50-9e66-4b45-b910-eb654a481f08', // Required memberHash: token, language: Language.korean, - appearance: Appearance.dark, + appearance: Appearance.light, ); await ChannelTalk.initPushToken(deviceToken: token ?? ""); diff --git a/pubspec.yaml b/pubspec.yaml index a92a5314..73752e74 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -11,7 +11,7 @@ description: Online Timeplanner with Lectures Plus App @ KAIST # In iOS, build-name is used as CFBundleShortVersionString while build-number used as CFBundleVersion. # Read more about iOS versioning at # https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html -version: 2.3.1+22 +version: 2.3.0+21 environment: sdk: ">=3.2.0 <4.0.0" From f1bba1b1a3dce9c2d129561833e5c1da0c6af27e Mon Sep 17 00:00:00 2001 From: Seungbin Oh Date: Wed, 14 Aug 2024 20:40:03 +0900 Subject: [PATCH 18/18] chore: apply rootProject.ext.compileSdkVersion --- android/app/build.gradle | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/android/app/build.gradle b/android/app/build.gradle index a51ee9b9..42cf5e62 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -31,7 +31,7 @@ if (keystorePropertiesFile.exists()) { android { namespace 'org.sparcs.otlplus' - compileSdk 34 + compileSdk rootProject.ext.compileSdkVersion sourceSets { main.java.srcDirs += 'src/main/kotlin' @@ -83,6 +83,6 @@ flutter { dependencies { testImplementation 'junit:junit:4.13.2' - androidTestImplementation 'androidx.test:runner:1.5.2' - androidTestImplementation 'androidx.test.espresso:espresso-core:3.5.1' + androidTestImplementation 'androidx.test:runner:1.6.1' + androidTestImplementation 'androidx.test.espresso:espresso-core:3.6.1' }