fix actionsheets utils and ai 2
This commit is contained in:
commit
6c3117a918
|
|
@ -1,5 +1,5 @@
|
|||
# Uncomment this line to define a global platform for your project
|
||||
platform :ios, '12.0'
|
||||
platform :ios, '14.0'
|
||||
|
||||
# CocoaPods analytics sends network stats synchronously affecting flutter build latency.
|
||||
ENV['COCOAPODS_DISABLE_STATS'] = 'true'
|
||||
|
|
|
|||
226
ios/Podfile.lock
226
ios/Podfile.lock
|
|
@ -1,59 +1,67 @@
|
|||
PODS:
|
||||
- assets_audio_player (0.0.1):
|
||||
- Flutter
|
||||
- assets_audio_player_web (0.0.1):
|
||||
- audio_session (0.0.1):
|
||||
- Flutter
|
||||
- awesome_notifications (0.8.1):
|
||||
- Flutter
|
||||
- IosAwnCore (~> 0.8.0)
|
||||
- awesome_notifications_core (0.0.1):
|
||||
- DKImagePickerController/Core (4.3.9):
|
||||
- DKImagePickerController/ImageDataManager
|
||||
- DKImagePickerController/Resource
|
||||
- DKImagePickerController/ImageDataManager (4.3.9)
|
||||
- DKImagePickerController/PhotoGallery (4.3.9):
|
||||
- DKImagePickerController/Core
|
||||
- DKPhotoGallery
|
||||
- DKImagePickerController/Resource (4.3.9)
|
||||
- DKPhotoGallery (0.0.19):
|
||||
- DKPhotoGallery/Core (= 0.0.19)
|
||||
- DKPhotoGallery/Model (= 0.0.19)
|
||||
- DKPhotoGallery/Preview (= 0.0.19)
|
||||
- DKPhotoGallery/Resource (= 0.0.19)
|
||||
- SDWebImage
|
||||
- SwiftyGif
|
||||
- DKPhotoGallery/Core (0.0.19):
|
||||
- DKPhotoGallery/Model
|
||||
- DKPhotoGallery/Preview
|
||||
- SDWebImage
|
||||
- SwiftyGif
|
||||
- DKPhotoGallery/Model (0.0.19):
|
||||
- SDWebImage
|
||||
- SwiftyGif
|
||||
- DKPhotoGallery/Preview (0.0.19):
|
||||
- DKPhotoGallery/Model
|
||||
- DKPhotoGallery/Resource
|
||||
- SDWebImage
|
||||
- SwiftyGif
|
||||
- DKPhotoGallery/Resource (0.0.19):
|
||||
- SDWebImage
|
||||
- SwiftyGif
|
||||
- file_picker (0.0.1):
|
||||
- DKImagePickerController/PhotoGallery
|
||||
- Flutter
|
||||
- better_player (0.0.1):
|
||||
- Cache (~> 6.0.0)
|
||||
- Firebase/CoreOnly (10.29.0):
|
||||
- FirebaseCore (= 10.29.0)
|
||||
- Firebase/Messaging (10.29.0):
|
||||
- Firebase/CoreOnly
|
||||
- FirebaseMessaging (~> 10.29.0)
|
||||
- firebase_core (3.3.0):
|
||||
- Firebase/CoreOnly (= 10.29.0)
|
||||
- Flutter
|
||||
- GCDWebServer
|
||||
- HLSCachingReverseProxyServer
|
||||
- PINCache
|
||||
- Cache (6.0.0)
|
||||
- Firebase/Auth (10.25.0):
|
||||
- Firebase/CoreOnly
|
||||
- FirebaseAuth (~> 10.25.0)
|
||||
- Firebase/CoreOnly (10.25.0):
|
||||
- FirebaseCore (= 10.25.0)
|
||||
- Firebase/Messaging (10.25.0):
|
||||
- Firebase/CoreOnly
|
||||
- FirebaseMessaging (~> 10.25.0)
|
||||
- firebase_auth (4.19.6):
|
||||
- Firebase/Auth (= 10.25.0)
|
||||
- firebase_messaging (15.0.4):
|
||||
- Firebase/Messaging (= 10.29.0)
|
||||
- firebase_core
|
||||
- Flutter
|
||||
- firebase_core (2.31.1):
|
||||
- Firebase/CoreOnly (= 10.25.0)
|
||||
- Flutter
|
||||
- firebase_messaging (14.9.2):
|
||||
- Firebase/Messaging (= 10.25.0)
|
||||
- firebase_core
|
||||
- Flutter
|
||||
- FirebaseAppCheckInterop (10.25.0)
|
||||
- FirebaseAuth (10.25.0):
|
||||
- FirebaseAppCheckInterop (~> 10.17)
|
||||
- FirebaseCore (~> 10.0)
|
||||
- GoogleUtilities/AppDelegateSwizzler (~> 7.8)
|
||||
- GoogleUtilities/Environment (~> 7.8)
|
||||
- GTMSessionFetcher/Core (< 4.0, >= 2.1)
|
||||
- RecaptchaInterop (~> 100.0)
|
||||
- FirebaseCore (10.25.0):
|
||||
- FirebaseCore (10.29.0):
|
||||
- FirebaseCoreInternal (~> 10.0)
|
||||
- GoogleUtilities/Environment (~> 7.12)
|
||||
- GoogleUtilities/Logger (~> 7.12)
|
||||
- FirebaseCoreInternal (10.25.0):
|
||||
- FirebaseCoreInternal (10.29.0):
|
||||
- "GoogleUtilities/NSData+zlib (~> 7.8)"
|
||||
- FirebaseInstallations (10.25.0):
|
||||
- FirebaseInstallations (10.29.0):
|
||||
- FirebaseCore (~> 10.0)
|
||||
- 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)
|
||||
|
|
@ -63,15 +71,10 @@ PODS:
|
|||
- GoogleUtilities/UserDefaults (~> 7.8)
|
||||
- nanopb (< 2.30911.0, >= 2.30908.0)
|
||||
- Flutter (1.0.0)
|
||||
- flutter_local_notifications (0.0.1):
|
||||
- Flutter
|
||||
- flutter_secure_storage (6.0.0):
|
||||
- Flutter
|
||||
- flutter_vibrate (0.0.1):
|
||||
- Flutter
|
||||
- GCDWebServer (3.5.4):
|
||||
- GCDWebServer/Core (= 3.5.4)
|
||||
- GCDWebServer/Core (3.5.4)
|
||||
- GoogleDataTransport (9.4.1):
|
||||
- GoogleUtilities/Environment (~> 7.7)
|
||||
- nanopb (< 2.30911.0, >= 2.30908.0)
|
||||
|
|
@ -101,10 +104,6 @@ PODS:
|
|||
- GoogleUtilities/UserDefaults (7.13.3):
|
||||
- GoogleUtilities/Logger
|
||||
- GoogleUtilities/Privacy
|
||||
- GTMSessionFetcher/Core (3.4.1)
|
||||
- HLSCachingReverseProxyServer (0.1.0):
|
||||
- GCDWebServer (~> 3.5)
|
||||
- PINCache (>= 3.0.1-beta.3)
|
||||
- home_widget (0.0.1):
|
||||
- Flutter
|
||||
- image_cropper (0.0.4):
|
||||
|
|
@ -113,110 +112,96 @@ PODS:
|
|||
- image_picker_ios (0.0.1):
|
||||
- Flutter
|
||||
- IosAwnCore (0.8.0)
|
||||
- just_audio (0.0.1):
|
||||
- Flutter
|
||||
- nanopb (2.30910.0):
|
||||
- nanopb/decode (= 2.30910.0)
|
||||
- nanopb/encode (= 2.30910.0)
|
||||
- nanopb/decode (2.30910.0)
|
||||
- nanopb/encode (2.30910.0)
|
||||
- package_info_plus (0.4.5):
|
||||
- Flutter
|
||||
- path_provider_foundation (0.0.1):
|
||||
- Flutter
|
||||
- FlutterMacOS
|
||||
- permission_handler_apple (9.3.0):
|
||||
- Flutter
|
||||
- PINCache (3.0.4):
|
||||
- PINCache/Arc-exception-safe (= 3.0.4)
|
||||
- PINCache/Core (= 3.0.4)
|
||||
- PINCache/Arc-exception-safe (3.0.4):
|
||||
- PINCache/Core
|
||||
- PINCache/Core (3.0.4):
|
||||
- PINOperation (~> 1.2.3)
|
||||
- PINOperation (1.2.3)
|
||||
- PromisesObjC (2.4.0)
|
||||
- RecaptchaInterop (100.0.0)
|
||||
- record (0.0.1):
|
||||
- record_darwin (1.0.0):
|
||||
- Flutter
|
||||
- FlutterMacOS
|
||||
- rive_common (0.0.1):
|
||||
- Flutter
|
||||
- SDWebImage (5.19.7):
|
||||
- SDWebImage/Core (= 5.19.7)
|
||||
- SDWebImage/Core (5.19.7)
|
||||
- sqflite (0.0.3):
|
||||
- Flutter
|
||||
- FlutterMacOS
|
||||
- SwiftyGif (5.4.5)
|
||||
- TOCropViewController (2.6.1)
|
||||
- url_launcher_ios (0.0.1):
|
||||
- video_player_avfoundation (0.0.1):
|
||||
- Flutter
|
||||
- wakelock (0.0.1):
|
||||
- FlutterMacOS
|
||||
- wakelock_plus (0.0.1):
|
||||
- Flutter
|
||||
- webview_flutter_wkwebview (0.0.1):
|
||||
- Flutter
|
||||
|
||||
DEPENDENCIES:
|
||||
- assets_audio_player (from `.symlinks/plugins/assets_audio_player/ios`)
|
||||
- assets_audio_player_web (from `.symlinks/plugins/assets_audio_player_web/ios`)
|
||||
- audio_session (from `.symlinks/plugins/audio_session/ios`)
|
||||
- awesome_notifications (from `.symlinks/plugins/awesome_notifications/ios`)
|
||||
- awesome_notifications_core (from `.symlinks/plugins/awesome_notifications_core/ios`)
|
||||
- better_player (from `.symlinks/plugins/better_player/ios`)
|
||||
- firebase_auth (from `.symlinks/plugins/firebase_auth/ios`)
|
||||
- file_picker (from `.symlinks/plugins/file_picker/ios`)
|
||||
- firebase_core (from `.symlinks/plugins/firebase_core/ios`)
|
||||
- firebase_messaging (from `.symlinks/plugins/firebase_messaging/ios`)
|
||||
- Flutter (from `Flutter`)
|
||||
- flutter_local_notifications (from `.symlinks/plugins/flutter_local_notifications/ios`)
|
||||
- flutter_secure_storage (from `.symlinks/plugins/flutter_secure_storage/ios`)
|
||||
- flutter_vibrate (from `.symlinks/plugins/flutter_vibrate/ios`)
|
||||
- home_widget (from `.symlinks/plugins/home_widget/ios`)
|
||||
- image_cropper (from `.symlinks/plugins/image_cropper/ios`)
|
||||
- image_picker_ios (from `.symlinks/plugins/image_picker_ios/ios`)
|
||||
- just_audio (from `.symlinks/plugins/just_audio/ios`)
|
||||
- package_info_plus (from `.symlinks/plugins/package_info_plus/ios`)
|
||||
- path_provider_foundation (from `.symlinks/plugins/path_provider_foundation/darwin`)
|
||||
- permission_handler_apple (from `.symlinks/plugins/permission_handler_apple/ios`)
|
||||
- record (from `.symlinks/plugins/record/ios`)
|
||||
- record_darwin (from `.symlinks/plugins/record_darwin/ios`)
|
||||
- rive_common (from `.symlinks/plugins/rive_common/ios`)
|
||||
- sqflite (from `.symlinks/plugins/sqflite/darwin`)
|
||||
- url_launcher_ios (from `.symlinks/plugins/url_launcher_ios/ios`)
|
||||
- wakelock (from `.symlinks/plugins/wakelock/ios`)
|
||||
- video_player_avfoundation (from `.symlinks/plugins/video_player_avfoundation/darwin`)
|
||||
- wakelock_plus (from `.symlinks/plugins/wakelock_plus/ios`)
|
||||
- webview_flutter_wkwebview (from `.symlinks/plugins/webview_flutter_wkwebview/ios`)
|
||||
|
||||
SPEC REPOS:
|
||||
trunk:
|
||||
- Cache
|
||||
- DKImagePickerController
|
||||
- DKPhotoGallery
|
||||
- Firebase
|
||||
- FirebaseAppCheckInterop
|
||||
- FirebaseAuth
|
||||
- FirebaseCore
|
||||
- FirebaseCoreInternal
|
||||
- FirebaseInstallations
|
||||
- FirebaseMessaging
|
||||
- GCDWebServer
|
||||
- GoogleDataTransport
|
||||
- GoogleUtilities
|
||||
- GTMSessionFetcher
|
||||
- HLSCachingReverseProxyServer
|
||||
- IosAwnCore
|
||||
- nanopb
|
||||
- PINCache
|
||||
- PINOperation
|
||||
- PromisesObjC
|
||||
- RecaptchaInterop
|
||||
- SDWebImage
|
||||
- SwiftyGif
|
||||
- TOCropViewController
|
||||
|
||||
EXTERNAL SOURCES:
|
||||
assets_audio_player:
|
||||
:path: ".symlinks/plugins/assets_audio_player/ios"
|
||||
assets_audio_player_web:
|
||||
:path: ".symlinks/plugins/assets_audio_player_web/ios"
|
||||
audio_session:
|
||||
:path: ".symlinks/plugins/audio_session/ios"
|
||||
awesome_notifications:
|
||||
:path: ".symlinks/plugins/awesome_notifications/ios"
|
||||
awesome_notifications_core:
|
||||
:path: ".symlinks/plugins/awesome_notifications_core/ios"
|
||||
better_player:
|
||||
:path: ".symlinks/plugins/better_player/ios"
|
||||
firebase_auth:
|
||||
:path: ".symlinks/plugins/firebase_auth/ios"
|
||||
file_picker:
|
||||
:path: ".symlinks/plugins/file_picker/ios"
|
||||
firebase_core:
|
||||
:path: ".symlinks/plugins/firebase_core/ios"
|
||||
firebase_messaging:
|
||||
:path: ".symlinks/plugins/firebase_messaging/ios"
|
||||
Flutter:
|
||||
:path: Flutter
|
||||
flutter_local_notifications:
|
||||
:path: ".symlinks/plugins/flutter_local_notifications/ios"
|
||||
flutter_secure_storage:
|
||||
:path: ".symlinks/plugins/flutter_secure_storage/ios"
|
||||
flutter_vibrate:
|
||||
|
|
@ -227,68 +212,65 @@ EXTERNAL SOURCES:
|
|||
:path: ".symlinks/plugins/image_cropper/ios"
|
||||
image_picker_ios:
|
||||
:path: ".symlinks/plugins/image_picker_ios/ios"
|
||||
just_audio:
|
||||
:path: ".symlinks/plugins/just_audio/ios"
|
||||
package_info_plus:
|
||||
:path: ".symlinks/plugins/package_info_plus/ios"
|
||||
path_provider_foundation:
|
||||
:path: ".symlinks/plugins/path_provider_foundation/darwin"
|
||||
permission_handler_apple:
|
||||
:path: ".symlinks/plugins/permission_handler_apple/ios"
|
||||
record:
|
||||
:path: ".symlinks/plugins/record/ios"
|
||||
record_darwin:
|
||||
:path: ".symlinks/plugins/record_darwin/ios"
|
||||
rive_common:
|
||||
:path: ".symlinks/plugins/rive_common/ios"
|
||||
sqflite:
|
||||
:path: ".symlinks/plugins/sqflite/darwin"
|
||||
url_launcher_ios:
|
||||
:path: ".symlinks/plugins/url_launcher_ios/ios"
|
||||
wakelock:
|
||||
:path: ".symlinks/plugins/wakelock/ios"
|
||||
video_player_avfoundation:
|
||||
:path: ".symlinks/plugins/video_player_avfoundation/darwin"
|
||||
wakelock_plus:
|
||||
:path: ".symlinks/plugins/wakelock_plus/ios"
|
||||
webview_flutter_wkwebview:
|
||||
:path: ".symlinks/plugins/webview_flutter_wkwebview/ios"
|
||||
|
||||
SPEC CHECKSUMS:
|
||||
assets_audio_player: edee322b9cb625571b830b35872ead1a295fd917
|
||||
assets_audio_player_web: 19826380c44375761aa0b9053665c1e3fbc3b86b
|
||||
audio_session: 088d2483ebd1dc43f51d253d4a1c517d9a2e7207
|
||||
awesome_notifications: db394d2e061e4583ba0f738ddea611e3986cc3fb
|
||||
awesome_notifications_core: d02eed89738fa362d56cbd372850e9adcd2c6bef
|
||||
better_player: 2406bfe8175203c7a46fa15f9d778d73b12e1646
|
||||
Cache: 4ca7e00363fca5455f26534e5607634c820ffc2d
|
||||
Firebase: 0312a2352584f782ea56f66d91606891d4607f06
|
||||
firebase_auth: 193301a23be35329120526c6a83672ea40676472
|
||||
firebase_core: 22e117a2e0dec3cb318c8f53f2dd01c140375617
|
||||
firebase_messaging: 8999827b6efc9c3ab4b1f9dc246deaa7f13dbf88
|
||||
FirebaseAppCheckInterop: 5da5ce93e8797a215e3f677fb0654b74e736c8b8
|
||||
FirebaseAuth: c0f93dcc570c9da2bffb576969d793e95c344fbb
|
||||
FirebaseCore: 7ec4d0484817f12c3373955bc87762d96842d483
|
||||
FirebaseCoreInternal: 910a81992c33715fec9263ca7381d59ab3a750b7
|
||||
FirebaseInstallations: 91950fe859846fff0fbd296180909dd273103b09
|
||||
FirebaseMessaging: 88950ba9485052891ebe26f6c43a52bb62248952
|
||||
DKImagePickerController: 946cec48c7873164274ecc4624d19e3da4c1ef3c
|
||||
DKPhotoGallery: b3834fecb755ee09a593d7c9e389d8b5d6deed60
|
||||
file_picker: 09aa5ec1ab24135ccd7a1621c46c84134bfd6655
|
||||
Firebase: cec914dab6fd7b1bd8ab56ea07ce4e03dd251c2d
|
||||
firebase_core: 57aeb91680e5d5e6df6b888064be7c785f146efb
|
||||
firebase_messaging: c862b3d2b973ecc769194dc8de09bd22c77ae757
|
||||
FirebaseCore: 30e9c1cbe3d38f5f5e75f48bfcea87d7c358ec16
|
||||
FirebaseCoreInternal: df84dd300b561c27d5571684f389bf60b0a5c934
|
||||
FirebaseInstallations: 913cf60d0400ebd5d6b63a28b290372ab44590dd
|
||||
FirebaseMessaging: 7b5d8033e183ab59eb5b852a53201559e976d366
|
||||
Flutter: e0871f40cf51350855a761d2e70bf5af5b9b5de7
|
||||
flutter_local_notifications: 4cde75091f6327eb8517fa068a0a5950212d2086
|
||||
flutter_secure_storage: 23fc622d89d073675f2eaa109381aefbcf5a49be
|
||||
flutter_vibrate: 9f4c2ab57008965f78969472367c329dd77eb801
|
||||
GCDWebServer: 2c156a56c8226e2d5c0c3f208a3621ccffbe3ce4
|
||||
GoogleDataTransport: 6c09b596d841063d76d4288cc2d2f42cc36e1e2a
|
||||
GoogleUtilities: ea963c370a38a8069cc5f7ba4ca849a60b6d7d15
|
||||
GTMSessionFetcher: 8000756fc1c19d2e5697b90311f7832d2e33f6cd
|
||||
HLSCachingReverseProxyServer: 59935e1e0244ad7f3375d75b5ef46e8eb26ab181
|
||||
home_widget: 0434835a4c9a75704264feff6be17ea40e0f0d57
|
||||
image_cropper: 60c2789d1f1a78c873235d4319ca0c34a69f2d98
|
||||
image_picker_ios: c560581cceedb403a6ff17f2f816d7fea1421fc1
|
||||
IosAwnCore: ed1b2b6d84962a758354dbacd9ce525c72ce28a9
|
||||
just_audio: baa7252489dbcf47a4c7cc9ca663e9661c99aafa
|
||||
nanopb: 438bc412db1928dac798aa6fd75726007be04262
|
||||
package_info_plus: 58f0028419748fad15bf008b270aaa8e54380b1c
|
||||
path_provider_foundation: 2b6b4c569c0fb62ec74538f866245ac84301af46
|
||||
permission_handler_apple: 9878588469a2b0d0fc1e048d9f43605f92e6cec2
|
||||
PINCache: d9a87a0ff397acffe9e2f0db972ac14680441158
|
||||
PINOperation: fb563bcc9c32c26d6c78aaff967d405aa2ee74a7
|
||||
PromisesObjC: f5707f49cb48b9636751c5b2e7d227e43fba9f47
|
||||
RecaptchaInterop: 7d1a4a01a6b2cb1610a47ef3f85f0c411434cb21
|
||||
record: cae05d8dd3cdb1dea3511b20e5a5811a1ae00d0d
|
||||
record_darwin: df0a677188e5fed18472550298e675f19ddaffbe
|
||||
rive_common: c537b4eed761e903a9403d93c347b69bd7a4762f
|
||||
SDWebImage: 8a6b7b160b4d710e2a22b6900e25301075c34cb3
|
||||
sqflite: 673a0e54cc04b7d6dba8d24fb8095b31c3a99eec
|
||||
SwiftyGif: 706c60cf65fa2bc5ee0313beece843c8eb8194d4
|
||||
TOCropViewController: edfd4f25713d56905ad1e0b9f5be3fbe0f59c863
|
||||
url_launcher_ios: 5334b05cef931de560670eeae103fd3e431ac3fe
|
||||
wakelock: d0fc7c864128eac40eba1617cb5264d9c940b46f
|
||||
video_player_avfoundation: 7c6c11d8470e1675df7397027218274b6d2360b3
|
||||
wakelock_plus: 78ec7c5b202cab7761af8e2b2b3d0671be6c4ae1
|
||||
webview_flutter_wkwebview: be0f0d33777f1bfd0c9fdcb594786704dbf65f36
|
||||
|
||||
PODFILE CHECKSUM: d9825a12b7b9489d4776b9c9434f6b977b656841
|
||||
PODFILE CHECKSUM: 76346ded4b0438dd89826a25813fc91ef681eb1f
|
||||
|
||||
COCOAPODS: 1.15.2
|
||||
|
|
|
|||
|
|
@ -220,6 +220,7 @@
|
|||
97C146E61CF9000F007C117D /* Project object */ = {
|
||||
isa = PBXProject;
|
||||
attributes = {
|
||||
BuildIndependentTargetsInParallel = YES;
|
||||
LastSwiftUpdateCheck = 1530;
|
||||
LastUpgradeCheck = 1510;
|
||||
ORGANIZATIONNAME = "";
|
||||
|
|
@ -478,7 +479,7 @@
|
|||
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 12.0;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 14.0;
|
||||
MTL_ENABLE_DEBUG_INFO = NO;
|
||||
SDKROOT = iphoneos;
|
||||
SUPPORTED_PLATFORMS = iphoneos;
|
||||
|
|
@ -503,7 +504,7 @@
|
|||
INFOPLIST_FILE = Runner/Info.plist;
|
||||
INFOPLIST_KEY_CFBundleDisplayName = Didvan;
|
||||
INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.news";
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 12.0;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 14.0;
|
||||
LD_RUNPATH_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
"@executable_path/Frameworks",
|
||||
|
|
@ -565,7 +566,7 @@
|
|||
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 12.0;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 14.0;
|
||||
MTL_ENABLE_DEBUG_INFO = YES;
|
||||
ONLY_ACTIVE_ARCH = YES;
|
||||
SDKROOT = iphoneos;
|
||||
|
|
@ -615,10 +616,11 @@
|
|||
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 12.0;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 14.0;
|
||||
MTL_ENABLE_DEBUG_INFO = NO;
|
||||
SDKROOT = iphoneos;
|
||||
SUPPORTED_PLATFORMS = iphoneos;
|
||||
SWIFT_COMPILATION_MODE = wholemodule;
|
||||
SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule";
|
||||
TARGETED_DEVICE_FAMILY = "1,2";
|
||||
VALIDATE_PRODUCT = YES;
|
||||
|
|
@ -641,7 +643,7 @@
|
|||
INFOPLIST_FILE = Runner/Info.plist;
|
||||
INFOPLIST_KEY_CFBundleDisplayName = Didvan;
|
||||
INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.news";
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 12.0;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 14.0;
|
||||
LD_RUNPATH_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
"@executable_path/Frameworks",
|
||||
|
|
@ -673,7 +675,7 @@
|
|||
INFOPLIST_FILE = Runner/Info.plist;
|
||||
INFOPLIST_KEY_CFBundleDisplayName = Didvan;
|
||||
INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.news";
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 12.0;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 14.0;
|
||||
LD_RUNPATH_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
"@executable_path/Frameworks",
|
||||
|
|
|
|||
|
|
@ -1,62 +1,69 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>CADisableMinimumFrameDurationOnPhone</key>
|
||||
<true/>
|
||||
<key>CFBundleDevelopmentRegion</key>
|
||||
<string>$(DEVELOPMENT_LANGUAGE)</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>$(EXECUTABLE_NAME)</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundleName</key>
|
||||
<string>didvan</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>APPL</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>$(FLUTTER_BUILD_NAME)</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>$(FLUTTER_BUILD_NUMBER)</string>
|
||||
<key>FirebaseAppDelegateProxyEnabled</key>
|
||||
<false/>
|
||||
<key>LSRequiresIPhoneOS</key>
|
||||
<true/>
|
||||
<key>NSCameraUsageDescription</key>
|
||||
<string>We need to access to the user gallery to add user profile photo</string>
|
||||
<key>NSMicrophoneUsageDescription</key>
|
||||
<string>Some message to describe why you need this permission</string>
|
||||
<key>NSPhotoLibraryUsageDescription</key>
|
||||
<string>We need to access to the user gallery to add user profile photo</string>
|
||||
<key>UIApplicationSupportsIndirectInputEvents</key>
|
||||
<true/>
|
||||
<key>UIBackgroundModes</key>
|
||||
<array>
|
||||
<string>audio</string>
|
||||
<string>fetch</string>
|
||||
<string>remote-notification</string>
|
||||
</array>
|
||||
<key>UILaunchStoryboardName</key>
|
||||
<string>LaunchScreen</string>
|
||||
<key>UIMainStoryboardFile</key>
|
||||
<string>Main</string>
|
||||
<key>UISupportedInterfaceOrientations</key>
|
||||
<array>
|
||||
<string>UIInterfaceOrientationLandscapeLeft</string>
|
||||
<string>UIInterfaceOrientationLandscapeRight</string>
|
||||
<string>UIInterfaceOrientationPortrait</string>
|
||||
</array>
|
||||
<key>UIViewControllerBasedStatusBarAppearance</key>
|
||||
<false/>
|
||||
<key>UNNotificationServiceExtension</key>
|
||||
<array>
|
||||
<string>$(PRODUCT_BUNDLE_IDENTIFIER).MyNotificationServiceExtension</string>
|
||||
</array>
|
||||
<key>NSAppleMusicUsageDescription</key>
|
||||
<string>This app requires access to Apple Music to [explain specific reason].</string>
|
||||
<key>NSMicrophoneUsageDescription</key>
|
||||
<string>... explain why the app uses the microphone here ...</string>
|
||||
<key>NSAppTransportSecurity</key>
|
||||
<dict>
|
||||
<key>CADisableMinimumFrameDurationOnPhone</key>
|
||||
<true />
|
||||
<key>CFBundleDevelopmentRegion</key>
|
||||
<string>$(DEVELOPMENT_LANGUAGE)</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>$(EXECUTABLE_NAME)</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundleName</key>
|
||||
<string>didvan</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>APPL</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>$(FLUTTER_BUILD_NAME)</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>$(FLUTTER_BUILD_NUMBER)</string>
|
||||
<key>FirebaseAppDelegateProxyEnabled</key>
|
||||
<false />
|
||||
<key>LSRequiresIPhoneOS</key>
|
||||
<true />
|
||||
<key>NSCameraUsageDescription</key>
|
||||
<string>We need to access to the user gallery to add user profile photo</string>
|
||||
<key>NSMicrophoneUsageDescription</key>
|
||||
<string>We need to access to the microphone to record audio file</string>
|
||||
<key>NSPhotoLibraryUsageDescription</key>
|
||||
<string>We need to access to the user gallery to add user profile photo</string>
|
||||
<key>UIApplicationSupportsIndirectInputEvents</key>
|
||||
<true />
|
||||
<key>UIBackgroundModes</key>
|
||||
<array>
|
||||
<string>audio</string>
|
||||
<string>fetch</string>
|
||||
<string>remote-notification</string>
|
||||
</array>
|
||||
<key>UILaunchStoryboardName</key>
|
||||
<string>LaunchScreen</string>
|
||||
<key>UIMainStoryboardFile</key>
|
||||
<string>Main</string>
|
||||
<key>UISupportedInterfaceOrientations</key>
|
||||
<array>
|
||||
<string>UIInterfaceOrientationLandscapeLeft</string>
|
||||
<string>UIInterfaceOrientationLandscapeRight</string>
|
||||
<string>UIInterfaceOrientationPortrait</string>
|
||||
</array>
|
||||
<key>UIViewControllerBasedStatusBarAppearance</key>
|
||||
<false />
|
||||
<key>UNNotificationServiceExtension</key>
|
||||
<array>
|
||||
<string>$(PRODUCT_BUNDLE_IDENTIFIER).MyNotificationServiceExtension</string>
|
||||
</array>
|
||||
<key>NSMicrophoneUsageDescription</key>
|
||||
<string>Some message to describe why you need this permission</string>
|
||||
<key>NSAllowsArbitraryLoads</key>
|
||||
<true/>
|
||||
</dict>
|
||||
</dict>
|
||||
</plist>
|
||||
|
|
@ -35,7 +35,13 @@ class AiApiService {
|
|||
request.fields['edit'] = edite.toString().toLowerCase();
|
||||
}
|
||||
if (file != null) {
|
||||
final length = await file.length();
|
||||
int length = 0;
|
||||
try {
|
||||
length = await file.length();
|
||||
// ...
|
||||
} catch (e) {
|
||||
// Handle the error or return an error response
|
||||
}
|
||||
String basename = p.basename(file.path);
|
||||
String? mimeType =
|
||||
lookupMimeType(file.path); // Use MIME type instead of file extension
|
||||
|
|
|
|||
|
|
@ -1,10 +1,15 @@
|
|||
import 'package:didvan/constants/assets.dart';
|
||||
import 'package:didvan/models/requests/studio.dart';
|
||||
import 'package:didvan/models/studio_details_data.dart';
|
||||
import 'package:didvan/models/view/action_sheet_data.dart';
|
||||
import 'package:didvan/providers/media.dart';
|
||||
import 'package:didvan/services/network/request.dart';
|
||||
import 'package:didvan/services/network/request_helper.dart';
|
||||
import 'package:didvan/services/storage/storage.dart';
|
||||
import 'package:didvan/utils/action_sheet.dart';
|
||||
import 'package:flutter/foundation.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:get/get.dart';
|
||||
import 'package:image_picker/image_picker.dart';
|
||||
import 'package:just_audio/just_audio.dart';
|
||||
import 'package:file_picker/file_picker.dart';
|
||||
|
|
@ -96,24 +101,55 @@ class MediaService {
|
|||
}
|
||||
|
||||
static Future<XFile?> pickImage({required ImageSource source}) async {
|
||||
final imagePicker = ImagePicker();
|
||||
final XFile? pickedFile = await imagePicker.pickImage(source: source);
|
||||
return pickedFile;
|
||||
try {
|
||||
final imagePicker = ImagePicker();
|
||||
final XFile? pickedFile = await imagePicker.pickImage(source: source);
|
||||
return pickedFile;
|
||||
} catch (e) {
|
||||
e.printError(info: 'Pick Image Fail');
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
static Future<FilePickerResult?> pickPdfFile() async {
|
||||
final FilePickerResult? result = await FilePicker.platform.pickFiles(
|
||||
type: FileType.custom,
|
||||
allowedExtensions: ['pdf'],
|
||||
allowMultiple: false,
|
||||
);
|
||||
return result;
|
||||
try {
|
||||
final FilePickerResult? result = await FilePicker.platform.pickFiles(
|
||||
type: FileType.custom,
|
||||
allowedExtensions: ['pdf'],
|
||||
allowMultiple: false,
|
||||
);
|
||||
return result;
|
||||
} catch (e) {
|
||||
e.printError(info: 'Pick PDF Fail');
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
static Future<FilePickerResult?> pickAudioFile() async {
|
||||
return await FilePicker.platform.pickFiles(
|
||||
type: FileType.audio,
|
||||
allowMultiple: false,
|
||||
);
|
||||
try {
|
||||
return await FilePicker.platform.pickFiles(
|
||||
type: FileType.audio,
|
||||
allowMultiple: false,
|
||||
);
|
||||
} catch (e) {
|
||||
e.printError(info: 'Pick Audio Fail');
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
static onLoadingPickFile(BuildContext context) {
|
||||
ActionSheetUtils(context).openDialog(
|
||||
barrierDismissible: false,
|
||||
data: ActionSheetData(
|
||||
content: Center(
|
||||
child: Image.asset(
|
||||
Assets.loadingAnimation,
|
||||
width: 60,
|
||||
height: 60,
|
||||
),
|
||||
),
|
||||
hasConfirmButton: false,
|
||||
hasDismissButton: false,
|
||||
));
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -184,9 +184,12 @@ class ActionSheetUtils {
|
|||
);
|
||||
}
|
||||
|
||||
Future<void> openDialog({required ActionSheetData data}) async {
|
||||
Future<void> openDialog(
|
||||
{required ActionSheetData data,
|
||||
final bool barrierDismissible = true}) async {
|
||||
await showDialog(
|
||||
context: context,
|
||||
barrierDismissible: barrierDismissible,
|
||||
builder: (context) => BackdropFilter(
|
||||
filter: ImageFilter.blur(
|
||||
sigmaX: data.isBackgroundDropBlur ? 10 : 0,
|
||||
|
|
|
|||
|
|
@ -16,7 +16,6 @@ import 'package:didvan/utils/date_time.dart';
|
|||
import 'package:didvan/views/ai/history_ai_chat_state.dart';
|
||||
import 'package:didvan/views/widgets/didvan/scaffold.dart';
|
||||
import 'package:didvan/views/widgets/didvan/text.dart';
|
||||
import 'package:didvan/views/widgets/search_app_bar.dart';
|
||||
import 'package:didvan/views/widgets/search_field.dart';
|
||||
import 'package:didvan/views/widgets/shimmer_placeholder.dart';
|
||||
import 'package:didvan/views/widgets/state_handlers/empty_state.dart';
|
||||
|
|
|
|||
|
|
@ -9,6 +9,7 @@ import 'package:didvan/models/ai/chats_model.dart';
|
|||
import 'package:didvan/models/ai/files_model.dart';
|
||||
import 'package:didvan/models/ai/messages_model.dart';
|
||||
import 'package:didvan/services/media/media.dart';
|
||||
import 'package:didvan/utils/action_sheet.dart';
|
||||
import 'package:didvan/utils/date_time.dart';
|
||||
import 'package:didvan/views/ai/ai_chat_state.dart';
|
||||
import 'package:didvan/views/ai/history_ai_chat_state.dart';
|
||||
|
|
@ -154,13 +155,18 @@ class _AiMessageBarState extends State<AiMessageBar> {
|
|||
icon: CupertinoIcons.doc_fill,
|
||||
color: Colors.redAccent,
|
||||
click: () async {
|
||||
MediaService.onLoadingPickFile(context);
|
||||
FilePickerResult? result =
|
||||
await MediaService.pickPdfFile();
|
||||
if (result != null) {
|
||||
state.file =
|
||||
FilesModel(result.files.single.path!);
|
||||
// Do something with the selected PDF file
|
||||
openAttach = false;
|
||||
}
|
||||
Future.delayed(
|
||||
Duration.zero,
|
||||
() => ActionSheetUtils(context).pop(),
|
||||
);
|
||||
},
|
||||
),
|
||||
if (historyState.bot!.attachmentType!
|
||||
|
|
@ -170,6 +176,8 @@ class _AiMessageBarState extends State<AiMessageBar> {
|
|||
icon: CupertinoIcons.photo,
|
||||
color: Colors.deepOrangeAccent,
|
||||
click: () async {
|
||||
MediaService.onLoadingPickFile(context);
|
||||
|
||||
final pickedFile =
|
||||
await MediaService.pickImage(
|
||||
source: ImageSource.gallery);
|
||||
|
|
@ -187,12 +195,32 @@ class _AiMessageBarState extends State<AiMessageBar> {
|
|||
),
|
||||
compressQuality: 30,
|
||||
);
|
||||
if (file == null) return;
|
||||
|
||||
if (file == null) {
|
||||
await Future.delayed(
|
||||
Duration.zero,
|
||||
() => ActionSheetUtils(context).pop(),
|
||||
);
|
||||
|
||||
return;
|
||||
}
|
||||
}
|
||||
if (pickedFile == null) {
|
||||
await Future.delayed(
|
||||
Duration.zero,
|
||||
() => ActionSheetUtils(context).pop(),
|
||||
);
|
||||
|
||||
return;
|
||||
}
|
||||
if (pickedFile == null) return;
|
||||
state.file = kIsWeb
|
||||
? FilesModel(pickedFile.path)
|
||||
: FilesModel(file!.path);
|
||||
openAttach = false;
|
||||
await Future.delayed(
|
||||
Duration.zero,
|
||||
() => ActionSheetUtils(context).pop(),
|
||||
);
|
||||
},
|
||||
),
|
||||
if (historyState.bot!.attachmentType!
|
||||
|
|
@ -202,12 +230,18 @@ class _AiMessageBarState extends State<AiMessageBar> {
|
|||
icon: CupertinoIcons.music_note_2,
|
||||
color: Colors.indigoAccent,
|
||||
click: () async {
|
||||
MediaService.onLoadingPickFile(context);
|
||||
FilePickerResult? result =
|
||||
await MediaService.pickAudioFile();
|
||||
if (result != null) {
|
||||
state.file =
|
||||
FilesModel(result.files.single.path!);
|
||||
openAttach = false;
|
||||
}
|
||||
await Future.delayed(
|
||||
Duration.zero,
|
||||
() => ActionSheetUtils(context).pop(),
|
||||
);
|
||||
},
|
||||
)
|
||||
],
|
||||
|
|
@ -259,6 +293,7 @@ class _AiMessageBarState extends State<AiMessageBar> {
|
|||
final path =
|
||||
await record
|
||||
.stop();
|
||||
|
||||
state.file = FilesModel(
|
||||
path.toString(),
|
||||
isRecorded: true);
|
||||
|
|
@ -285,12 +320,12 @@ class _AiMessageBarState extends State<AiMessageBar> {
|
|||
.hasPermission()) {
|
||||
Directory?
|
||||
downloadDir =
|
||||
await getDownloadsDirectory();
|
||||
await getApplicationDocumentsDirectory();
|
||||
|
||||
record.start(
|
||||
const RecordConfig(),
|
||||
path:
|
||||
'${downloadDir!.path}/${DateTime.now().millisecondsSinceEpoch ~/ 1000}.m4a');
|
||||
'${downloadDir.path}/${DateTime.now().millisecondsSinceEpoch ~/ 1000}.m4a');
|
||||
startTimer();
|
||||
}
|
||||
},
|
||||
|
|
@ -638,10 +673,8 @@ class _AiMessageBarState extends State<AiMessageBar> {
|
|||
return InkWell(
|
||||
onTap: () async {
|
||||
await click?.call();
|
||||
|
||||
state.update();
|
||||
setState(() {
|
||||
openAttach = false;
|
||||
});
|
||||
},
|
||||
child: Column(
|
||||
children: [
|
||||
|
|
|
|||
|
|
@ -12,6 +12,7 @@ import 'package:didvan/views/widgets/didvan/text.dart';
|
|||
import 'package:flutter/foundation.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_spinkit/flutter_spinkit.dart';
|
||||
import 'package:get/get.dart';
|
||||
import 'package:just_audio/just_audio.dart';
|
||||
|
||||
class AudioWave extends StatefulWidget {
|
||||
|
|
@ -63,6 +64,7 @@ class _AudioWaveState extends State<AudioWave> {
|
|||
if (widget.file.startsWith('/uploads')) {
|
||||
final audioSource = LockCachingAudioSource(Uri.parse(
|
||||
'${RequestHelper.baseUrl + path}?accessToken=${RequestService.token}'));
|
||||
await audioSource.request();
|
||||
totalDuration =
|
||||
await audioPlayer.setAudioSource(audioSource) ?? Duration.zero;
|
||||
} else {
|
||||
|
|
@ -86,15 +88,24 @@ class _AudioWaveState extends State<AudioWave> {
|
|||
|
||||
Future<void> listeners() async {
|
||||
audioPlayer.positionStream.listen((position) async {
|
||||
for (var i = 0; i < itemCount; i++) {
|
||||
if (i <
|
||||
((position.inMilliseconds * 40) / totalDuration.inMilliseconds)) {
|
||||
final ran = randomsDisable.value[i];
|
||||
randoms.value[i] = ran;
|
||||
} else {
|
||||
randoms.value[i] = 0;
|
||||
if (randomsDisable.value.isEmpty) return;
|
||||
|
||||
try {
|
||||
for (var i = 0; i < itemCount; i++) {
|
||||
if (i < randomsDisable.value.length &&
|
||||
i <
|
||||
((position.inMilliseconds * 40) /
|
||||
totalDuration.inMilliseconds)) {
|
||||
final ran = randomsDisable.value[i];
|
||||
randoms.value[i] = ran;
|
||||
} else {
|
||||
randoms.value[i] = 0;
|
||||
}
|
||||
}
|
||||
} catch (e) {
|
||||
e.printError(info: 'listener Error');
|
||||
}
|
||||
|
||||
if (position.inMilliseconds >= totalDuration.inMilliseconds) {
|
||||
audioPlayer.stop();
|
||||
audioPlayer.seek(Duration.zero);
|
||||
|
|
|
|||
|
|
@ -1,19 +1,13 @@
|
|||
import 'dart:async';
|
||||
|
||||
import 'package:didvan/config/theme_data.dart';
|
||||
import 'package:didvan/constants/app_icons.dart';
|
||||
import 'package:didvan/models/view/action_sheet_data.dart';
|
||||
import 'package:didvan/providers/theme.dart';
|
||||
import 'package:didvan/routes/routes.dart';
|
||||
import 'package:didvan/utils/action_sheet.dart';
|
||||
import 'package:didvan/views/home/home_state.dart';
|
||||
import 'package:didvan/views/home/main/main_page_state.dart';
|
||||
import 'package:didvan/views/widgets/date_picker_button.dart';
|
||||
import 'package:didvan/views/widgets/didvan/checkbox.dart';
|
||||
import 'package:didvan/views/widgets/item_title.dart';
|
||||
import 'package:didvan/views/widgets/search_field.dart';
|
||||
import 'package:didvan/views/widgets/didvan/icon_button.dart';
|
||||
import 'package:didvan/views/widgets/logos/didvan_vertical_logo.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue