This commit is contained in:
2020-09-10 16:05:02 +06:30
24 changed files with 335 additions and 319 deletions

11
.vscode/launch.json vendored
View File

@@ -25,6 +25,17 @@
"dev" "dev"
], ],
}, },
{
"name": "Dev iOS",
"request": "launch",
"type": "dart",
"program": "lib/main-dev.dart",
"args": [
"-t",
"lib/main-dev.dart",
],
},
{ {
"name": "Pro", "name": "Pro",
"request": "launch", "request": "launch",

View File

@@ -0,0 +1 @@
771d17f946c2bdb9cccb6f6067d288ab

View File

@@ -0,0 +1,36 @@
<?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>CLIENT_ID</key>
<string>944560757353-o6emrja7ad8g8ulbcvvpah9a1tul3s21.apps.googleusercontent.com</string>
<key>REVERSED_CLIENT_ID</key>
<string>com.googleusercontent.apps.944560757353-o6emrja7ad8g8ulbcvvpah9a1tul3s21</string>
<key>API_KEY</key>
<string>AIzaSyBZICfIDWbWqjxHwY_jFnWv34EtCpiiE78</string>
<key>GCM_SENDER_ID</key>
<string>944560757353</string>
<key>PLIST_VERSION</key>
<string>1</string>
<key>BUNDLE_ID</key>
<string>com.mokkon.fcs.dev</string>
<key>PROJECT_ID</key>
<string>fcs-dev1</string>
<key>STORAGE_BUCKET</key>
<string>fcs-dev1.appspot.com</string>
<key>IS_ADS_ENABLED</key>
<false></false>
<key>IS_ANALYTICS_ENABLED</key>
<false></false>
<key>IS_APPINVITE_ENABLED</key>
<true></true>
<key>IS_GCM_ENABLED</key>
<true></true>
<key>IS_SIGNIN_ENABLED</key>
<true></true>
<key>GOOGLE_APP_ID</key>
<string>1:944560757353:ios:de037244faea4173fa60f8</string>
<key>DATABASE_URL</key>
<string>https://fcs-dev1.firebaseio.com</string>
</dict>
</plist>

View File

@@ -10,75 +10,30 @@ project 'Runner', {
'Release' => :release, 'Release' => :release,
} }
def parse_KV_file(file, separator='=') def flutter_root
file_abs_path = File.expand_path(file) generated_xcode_build_settings_path = File.expand_path(File.join('..', 'Flutter', 'Generated.xcconfig'), __FILE__)
if !File.exists? file_abs_path unless File.exist?(generated_xcode_build_settings_path)
return []; raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually, make sure flutter pub get is executed first"
end end
generated_key_values = {}
skip_line_start_symbols = ["#", "/"] File.foreach(generated_xcode_build_settings_path) do |line|
File.foreach(file_abs_path) do |line| matches = line.match(/FLUTTER_ROOT\=(.*)/)
next if skip_line_start_symbols.any? { |symbol| line =~ /^\s*#{symbol}/ } return matches[1].strip if matches
plugin = line.split(pattern=separator)
if plugin.length == 2
podname = plugin[0].strip()
path = plugin[1].strip()
podpath = File.expand_path("#{path}", file_abs_path)
generated_key_values[podname] = podpath
else
puts "Invalid plugin specification: #{line}"
end end
end raise "FLUTTER_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Generated.xcconfig, then run flutter pub get"
generated_key_values
end end
require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root)
flutter_ios_podfile_setup
target 'Runner' do target 'Runner' do
# Flutter Pod flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__))
copied_flutter_dir = File.join(__dir__, 'Flutter')
copied_framework_path = File.join(copied_flutter_dir, 'Flutter.framework')
copied_podspec_path = File.join(copied_flutter_dir, 'Flutter.podspec')
unless File.exist?(copied_framework_path) && File.exist?(copied_podspec_path)
# Copy Flutter.framework and Flutter.podspec to Flutter/ to have something to link against if the xcode backend script has not run yet.
# That script will copy the correct debug/profile/release version of the framework based on the currently selected Xcode configuration.
# CocoaPods will not embed the framework on pod install (before any build phases can generate) if the dylib does not exist.
generated_xcode_build_settings_path = File.join(copied_flutter_dir, 'Generated.xcconfig')
unless File.exist?(generated_xcode_build_settings_path)
raise "Generated.xcconfig must exist. If you're running pod install manually, make sure flutter pub get is executed first"
end
generated_xcode_build_settings = parse_KV_file(generated_xcode_build_settings_path)
cached_framework_dir = generated_xcode_build_settings['FLUTTER_FRAMEWORK_DIR'];
unless File.exist?(copied_framework_path)
FileUtils.cp_r(File.join(cached_framework_dir, 'Flutter.framework'), copied_flutter_dir)
end
unless File.exist?(copied_podspec_path)
FileUtils.cp(File.join(cached_framework_dir, 'Flutter.podspec'), copied_flutter_dir)
end
end
# Keep pod path relative so it can be checked into Podfile.lock.
pod 'Flutter', :path => 'Flutter'
# Plugin Pods
# Prepare symlinks folder. We use symlinks to avoid having Podfile.lock
# referring to absolute paths on developers' machines.
system('rm -rf .symlinks')
system('mkdir -p .symlinks/plugins')
plugin_pods = parse_KV_file('../.flutter-plugins')
plugin_pods.each do |name, path|
symlink = File.join('.symlinks', 'plugins', name)
File.symlink(path, symlink)
pod name, :path => File.join(symlink, 'ios')
end
end end
post_install do |installer| post_install do |installer|
installer.pods_project.targets.each do |target| installer.pods_project.targets.each do |target|
target.build_configurations.each do |config| flutter_additional_ios_build_settings(target)
config.build_settings['ENABLE_BITCODE'] = 'NO'
end
end end
end end
use_frameworks!

View File

@@ -212,6 +212,10 @@ PODS:
- abseil/base/base_internal - abseil/base/base_internal
- abseil/base/config - abseil/base/config
- abseil/meta/type_traits - abseil/meta/type_traits
- barcode_scan (0.0.1):
- Flutter
- MTBBarcodeScanner
- SwiftProtobuf
- BoringSSL-GRPC (0.0.7): - BoringSSL-GRPC (0.0.7):
- BoringSSL-GRPC/Implementation (= 0.0.7) - BoringSSL-GRPC/Implementation (= 0.0.7)
- BoringSSL-GRPC/Interface (= 0.0.7) - BoringSSL-GRPC/Interface (= 0.0.7)
@@ -224,43 +228,37 @@ PODS:
- Firebase/Core - Firebase/Core
- Firebase/Firestore (~> 6.0) - Firebase/Firestore (~> 6.0)
- Flutter - Flutter
- cloud_firestore_web (0.1.0):
- Flutter
- connectivity (0.0.1): - connectivity (0.0.1):
- Flutter - Flutter
- Reachability - Reachability
- connectivity_macos (0.0.1):
- Flutter
- device_info (0.0.1): - device_info (0.0.1):
- Flutter - Flutter
- downloads_path_provider (0.0.1): - downloads_path_provider (0.0.1):
- Flutter - Flutter
- Firebase/Auth (6.25.0): - Firebase/Auth (6.31.1):
- Firebase/CoreOnly - Firebase/CoreOnly
- FirebaseAuth (~> 6.5.3) - FirebaseAuth (~> 6.9.0)
- Firebase/Core (6.25.0): - Firebase/Core (6.31.1):
- Firebase/CoreOnly - Firebase/CoreOnly
- FirebaseAnalytics (= 6.5.1) - FirebaseAnalytics (= 6.8.0)
- Firebase/CoreOnly (6.25.0): - Firebase/CoreOnly (6.31.1):
- FirebaseCore (= 6.7.1) - FirebaseCore (= 6.10.1)
- Firebase/Firestore (6.25.0): - Firebase/Firestore (6.31.1):
- Firebase/CoreOnly - Firebase/CoreOnly
- FirebaseFirestore (~> 1.14.0) - FirebaseFirestore (~> 1.17.0)
- Firebase/Messaging (6.25.0): - Firebase/Messaging (6.31.1):
- Firebase/CoreOnly - Firebase/CoreOnly
- FirebaseMessaging (~> 4.4.1) - FirebaseMessaging (~> 4.6.2)
- Firebase/Storage (6.25.0): - Firebase/Storage (6.31.1):
- Firebase/CoreOnly - Firebase/CoreOnly
- FirebaseStorage (~> 3.6.1) - FirebaseStorage (~> 3.9.0)
- firebase_auth (0.0.1): - firebase_auth (0.0.1):
- Firebase/Auth (~> 6.0) - Firebase/Auth (~> 6.3)
- Firebase/Core - Firebase/Core
- Flutter - Flutter
- firebase_core (0.0.1): - firebase_core (0.0.1):
- Firebase/Core - Firebase/Core
- Flutter - Flutter
- firebase_core_web (0.1.0):
- Flutter
- firebase_messaging (0.0.1): - firebase_messaging (0.0.1):
- Firebase/Core - Firebase/Core
- Firebase/Messaging - Firebase/Messaging
@@ -268,36 +266,30 @@ PODS:
- firebase_storage (0.0.1): - firebase_storage (0.0.1):
- Firebase/Storage - Firebase/Storage
- Flutter - Flutter
- FirebaseAnalytics (6.5.1): - FirebaseAnalytics (6.8.0):
- FirebaseCore (~> 6.7) - FirebaseCore (~> 6.10)
- FirebaseInstallations (~> 1.2) - FirebaseInstallations (~> 1.6)
- GoogleAppMeasurement (= 6.5.1) - GoogleAppMeasurement (= 6.8.0)
- GoogleUtilities/AppDelegateSwizzler (~> 6.0) - GoogleUtilities/AppDelegateSwizzler (~> 6.7)
- GoogleUtilities/MethodSwizzler (~> 6.0) - GoogleUtilities/MethodSwizzler (~> 6.7)
- GoogleUtilities/Network (~> 6.0) - GoogleUtilities/Network (~> 6.7)
- "GoogleUtilities/NSData+zlib (~> 6.0)" - "GoogleUtilities/NSData+zlib (~> 6.7)"
- nanopb (~> 1.30905.0) - nanopb (~> 1.30906.0)
- FirebaseAnalyticsInterop (1.5.0) - FirebaseAuth (6.9.0):
- FirebaseAuth (6.5.3): - FirebaseCore (~> 6.10)
- FirebaseAuthInterop (~> 1.0) - GoogleUtilities/AppDelegateSwizzler (~> 6.7)
- FirebaseCore (~> 6.6) - GoogleUtilities/Environment (~> 6.7)
- GoogleUtilities/AppDelegateSwizzler (~> 6.5)
- GoogleUtilities/Environment (~> 6.5)
- GTMSessionFetcher/Core (~> 1.1) - GTMSessionFetcher/Core (~> 1.1)
- FirebaseAuthInterop (1.1.0) - FirebaseCore (6.10.1):
- FirebaseCore (6.7.1): - FirebaseCoreDiagnostics (~> 1.6)
- FirebaseCoreDiagnostics (~> 1.3) - GoogleUtilities/Environment (~> 6.7)
- FirebaseCoreDiagnosticsInterop (~> 1.2) - GoogleUtilities/Logger (~> 6.7)
- GoogleUtilities/Environment (~> 6.5) - FirebaseCoreDiagnostics (1.6.0):
- GoogleUtilities/Logger (~> 6.5) - GoogleDataTransport (~> 7.2)
- FirebaseCoreDiagnostics (1.3.0): - GoogleUtilities/Environment (~> 6.7)
- FirebaseCoreDiagnosticsInterop (~> 1.2) - GoogleUtilities/Logger (~> 6.7)
- GoogleDataTransportCCTSupport (~> 3.1) - nanopb (~> 1.30906.0)
- GoogleUtilities/Environment (~> 6.5) - FirebaseFirestore (1.17.0):
- GoogleUtilities/Logger (~> 6.5)
- nanopb (~> 1.30905.0)
- FirebaseCoreDiagnosticsInterop (1.2.0)
- FirebaseFirestore (1.14.0):
- abseil/algorithm (= 0.20200225.0) - abseil/algorithm (= 0.20200225.0)
- abseil/base (= 0.20200225.0) - abseil/base (= 0.20200225.0)
- abseil/memory (= 0.20200225.0) - abseil/memory (= 0.20200225.0)
@@ -305,71 +297,66 @@ PODS:
- abseil/strings/strings (= 0.20200225.0) - abseil/strings/strings (= 0.20200225.0)
- abseil/time (= 0.20200225.0) - abseil/time (= 0.20200225.0)
- abseil/types (= 0.20200225.0) - abseil/types (= 0.20200225.0)
- FirebaseAuthInterop (~> 1.0) - FirebaseCore (~> 6.10)
- FirebaseCore (~> 6.2)
- "gRPC-C++ (~> 1.28.0)" - "gRPC-C++ (~> 1.28.0)"
- leveldb-library (~> 1.22) - leveldb-library (~> 1.22)
- nanopb (~> 1.30905.0) - nanopb (~> 1.30906.0)
- FirebaseInstallations (1.2.0): - FirebaseInstallations (1.7.0):
- FirebaseCore (~> 6.6) - FirebaseCore (~> 6.10)
- GoogleUtilities/Environment (~> 6.6) - GoogleUtilities/Environment (~> 6.7)
- GoogleUtilities/UserDefaults (~> 6.6) - GoogleUtilities/UserDefaults (~> 6.7)
- PromisesObjC (~> 1.2) - PromisesObjC (~> 1.2)
- FirebaseInstanceID (4.3.4): - FirebaseInstanceID (4.6.0):
- FirebaseCore (~> 6.6) - FirebaseCore (~> 6.10)
- FirebaseInstallations (~> 1.0) - FirebaseInstallations (~> 1.6)
- GoogleUtilities/Environment (~> 6.5) - GoogleUtilities/Environment (~> 6.7)
- GoogleUtilities/UserDefaults (~> 6.5) - GoogleUtilities/UserDefaults (~> 6.7)
- FirebaseMessaging (4.4.1): - FirebaseMessaging (4.6.2):
- FirebaseAnalyticsInterop (~> 1.5) - FirebaseCore (~> 6.10)
- FirebaseCore (~> 6.6) - FirebaseInstanceID (~> 4.6)
- FirebaseInstanceID (~> 4.3) - GoogleUtilities/AppDelegateSwizzler (~> 6.7)
- GoogleUtilities/AppDelegateSwizzler (~> 6.5) - GoogleUtilities/Environment (~> 6.7)
- GoogleUtilities/Environment (~> 6.5) - GoogleUtilities/Reachability (~> 6.7)
- GoogleUtilities/Reachability (~> 6.5) - GoogleUtilities/UserDefaults (~> 6.7)
- GoogleUtilities/UserDefaults (~> 6.5)
- Protobuf (>= 3.9.2, ~> 3.9) - Protobuf (>= 3.9.2, ~> 3.9)
- FirebaseStorage (3.6.1): - FirebaseStorage (3.9.0):
- FirebaseAuthInterop (~> 1.1) - FirebaseCore (~> 6.10)
- FirebaseCore (~> 6.6)
- GTMSessionFetcher/Core (~> 1.1) - GTMSessionFetcher/Core (~> 1.1)
- Flutter (1.0.0) - Flutter (1.0.0)
- flutter_downloader (0.0.1): - flutter_downloader (0.0.1):
- Flutter - Flutter
- flutter_plugin_android_lifecycle (0.0.1): - flutter_local_notifications (0.0.1):
- Flutter
- flutter_pdfview (1.0.2):
- Flutter - Flutter
- flutter_ringtone_player (0.0.1): - flutter_ringtone_player (0.0.1):
- Flutter - Flutter
- google_api_availability (2.0.4): - GoogleAppMeasurement (6.8.0):
- Flutter - GoogleUtilities/AppDelegateSwizzler (~> 6.7)
- GoogleAppMeasurement (6.5.1): - GoogleUtilities/MethodSwizzler (~> 6.7)
- GoogleUtilities/AppDelegateSwizzler (~> 6.0) - GoogleUtilities/Network (~> 6.7)
- GoogleUtilities/MethodSwizzler (~> 6.0) - "GoogleUtilities/NSData+zlib (~> 6.7)"
- GoogleUtilities/Network (~> 6.0) - nanopb (~> 1.30906.0)
- "GoogleUtilities/NSData+zlib (~> 6.0)" - GoogleDataTransport (7.3.0):
- nanopb (~> 1.30905.0) - nanopb (~> 1.30906.0)
- GoogleDataTransport (6.1.1) - GoogleUtilities/AppDelegateSwizzler (6.7.2):
- GoogleDataTransportCCTSupport (3.1.0):
- GoogleDataTransport (~> 6.1)
- nanopb (~> 1.30905.0)
- GoogleUtilities/AppDelegateSwizzler (6.6.0):
- GoogleUtilities/Environment - GoogleUtilities/Environment
- GoogleUtilities/Logger - GoogleUtilities/Logger
- GoogleUtilities/Network - GoogleUtilities/Network
- GoogleUtilities/Environment (6.6.0): - GoogleUtilities/Environment (6.7.2):
- PromisesObjC (~> 1.2) - PromisesObjC (~> 1.2)
- GoogleUtilities/Logger (6.6.0): - GoogleUtilities/Logger (6.7.2):
- GoogleUtilities/Environment - GoogleUtilities/Environment
- GoogleUtilities/MethodSwizzler (6.6.0): - GoogleUtilities/MethodSwizzler (6.7.2):
- GoogleUtilities/Logger - GoogleUtilities/Logger
- GoogleUtilities/Network (6.6.0): - GoogleUtilities/Network (6.7.2):
- GoogleUtilities/Logger - GoogleUtilities/Logger
- "GoogleUtilities/NSData+zlib" - "GoogleUtilities/NSData+zlib"
- GoogleUtilities/Reachability - GoogleUtilities/Reachability
- "GoogleUtilities/NSData+zlib (6.6.0)" - "GoogleUtilities/NSData+zlib (6.7.2)"
- GoogleUtilities/Reachability (6.6.0): - GoogleUtilities/Reachability (6.7.2):
- GoogleUtilities/Logger - GoogleUtilities/Logger
- GoogleUtilities/UserDefaults (6.6.0): - GoogleUtilities/UserDefaults (6.7.2):
- GoogleUtilities/Logger - GoogleUtilities/Logger
- "gRPC-C++ (1.28.2)": - "gRPC-C++ (1.28.2)":
- "gRPC-C++/Implementation (= 1.28.2)" - "gRPC-C++/Implementation (= 1.28.2)"
@@ -399,67 +386,52 @@ PODS:
- image_picker (0.0.1): - image_picker (0.0.1):
- Flutter - Flutter
- leveldb-library (1.22) - leveldb-library (1.22)
- nanopb (1.30905.0): - MTBBarcodeScanner (5.0.11)
- nanopb/decode (= 1.30905.0) - nanopb (1.30906.0):
- nanopb/encode (= 1.30905.0) - nanopb/decode (= 1.30906.0)
- nanopb/decode (1.30905.0) - nanopb/encode (= 1.30906.0)
- nanopb/encode (1.30905.0) - nanopb/decode (1.30906.0)
- nanopb/encode (1.30906.0)
- open_file (0.0.1): - open_file (0.0.1):
- Flutter - Flutter
- package_info (0.0.1): - package_info (0.0.1):
- Flutter - Flutter
- path_provider (0.0.1): - path_provider (0.0.1):
- Flutter - Flutter
- path_provider_macos (0.0.1):
- Flutter
- "permission_handler (4.4.0+hotfix.4)": - "permission_handler (4.4.0+hotfix.4)":
- Flutter - Flutter
- PromisesObjC (1.2.8) - PromisesObjC (1.2.10)
- Protobuf (3.12.0) - Protobuf (3.13.0)
- Reachability (3.2) - Reachability (3.2)
- shared_preferences (0.0.1): - shared_preferences (0.0.1):
- Flutter - Flutter
- shared_preferences_macos (0.0.1): - SwiftProtobuf (1.12.0)
- Flutter
- shared_preferences_web (0.0.1):
- Flutter
- url_launcher (0.0.1): - url_launcher (0.0.1):
- Flutter - Flutter
- url_launcher_macos (0.0.1):
- Flutter
- url_launcher_web (0.0.1):
- Flutter
DEPENDENCIES: DEPENDENCIES:
- barcode_scan (from `.symlinks/plugins/barcode_scan/ios`)
- camera (from `.symlinks/plugins/camera/ios`) - camera (from `.symlinks/plugins/camera/ios`)
- cloud_firestore (from `.symlinks/plugins/cloud_firestore/ios`) - cloud_firestore (from `.symlinks/plugins/cloud_firestore/ios`)
- cloud_firestore_web (from `.symlinks/plugins/cloud_firestore_web/ios`)
- connectivity (from `.symlinks/plugins/connectivity/ios`) - connectivity (from `.symlinks/plugins/connectivity/ios`)
- connectivity_macos (from `.symlinks/plugins/connectivity_macos/ios`)
- device_info (from `.symlinks/plugins/device_info/ios`) - device_info (from `.symlinks/plugins/device_info/ios`)
- downloads_path_provider (from `.symlinks/plugins/downloads_path_provider/ios`) - downloads_path_provider (from `.symlinks/plugins/downloads_path_provider/ios`)
- firebase_auth (from `.symlinks/plugins/firebase_auth/ios`) - firebase_auth (from `.symlinks/plugins/firebase_auth/ios`)
- firebase_core (from `.symlinks/plugins/firebase_core/ios`) - firebase_core (from `.symlinks/plugins/firebase_core/ios`)
- firebase_core_web (from `.symlinks/plugins/firebase_core_web/ios`)
- firebase_messaging (from `.symlinks/plugins/firebase_messaging/ios`) - firebase_messaging (from `.symlinks/plugins/firebase_messaging/ios`)
- firebase_storage (from `.symlinks/plugins/firebase_storage/ios`) - firebase_storage (from `.symlinks/plugins/firebase_storage/ios`)
- Flutter (from `Flutter`) - Flutter (from `Flutter`)
- flutter_downloader (from `.symlinks/plugins/flutter_downloader/ios`) - flutter_downloader (from `.symlinks/plugins/flutter_downloader/ios`)
- flutter_plugin_android_lifecycle (from `.symlinks/plugins/flutter_plugin_android_lifecycle/ios`) - flutter_local_notifications (from `.symlinks/plugins/flutter_local_notifications/ios`)
- flutter_pdfview (from `.symlinks/plugins/flutter_pdfview/ios`)
- flutter_ringtone_player (from `.symlinks/plugins/flutter_ringtone_player/ios`) - flutter_ringtone_player (from `.symlinks/plugins/flutter_ringtone_player/ios`)
- google_api_availability (from `.symlinks/plugins/google_api_availability/ios`)
- image_picker (from `.symlinks/plugins/image_picker/ios`) - image_picker (from `.symlinks/plugins/image_picker/ios`)
- open_file (from `.symlinks/plugins/open_file/ios`) - open_file (from `.symlinks/plugins/open_file/ios`)
- package_info (from `.symlinks/plugins/package_info/ios`) - package_info (from `.symlinks/plugins/package_info/ios`)
- path_provider (from `.symlinks/plugins/path_provider/ios`) - path_provider (from `.symlinks/plugins/path_provider/ios`)
- path_provider_macos (from `.symlinks/plugins/path_provider_macos/ios`)
- permission_handler (from `.symlinks/plugins/permission_handler/ios`) - permission_handler (from `.symlinks/plugins/permission_handler/ios`)
- shared_preferences (from `.symlinks/plugins/shared_preferences/ios`) - shared_preferences (from `.symlinks/plugins/shared_preferences/ios`)
- shared_preferences_macos (from `.symlinks/plugins/shared_preferences_macos/ios`)
- shared_preferences_web (from `.symlinks/plugins/shared_preferences_web/ios`)
- url_launcher (from `.symlinks/plugins/url_launcher/ios`) - url_launcher (from `.symlinks/plugins/url_launcher/ios`)
- url_launcher_macos (from `.symlinks/plugins/url_launcher_macos/ios`)
- url_launcher_web (from `.symlinks/plugins/url_launcher_web/ios`)
SPEC REPOS: SPEC REPOS:
trunk: trunk:
@@ -467,12 +439,9 @@ SPEC REPOS:
- BoringSSL-GRPC - BoringSSL-GRPC
- Firebase - Firebase
- FirebaseAnalytics - FirebaseAnalytics
- FirebaseAnalyticsInterop
- FirebaseAuth - FirebaseAuth
- FirebaseAuthInterop
- FirebaseCore - FirebaseCore
- FirebaseCoreDiagnostics - FirebaseCoreDiagnostics
- FirebaseCoreDiagnosticsInterop
- FirebaseFirestore - FirebaseFirestore
- FirebaseInstallations - FirebaseInstallations
- FirebaseInstanceID - FirebaseInstanceID
@@ -480,28 +449,27 @@ SPEC REPOS:
- FirebaseStorage - FirebaseStorage
- GoogleAppMeasurement - GoogleAppMeasurement
- GoogleDataTransport - GoogleDataTransport
- GoogleDataTransportCCTSupport
- GoogleUtilities - GoogleUtilities
- "gRPC-C++" - "gRPC-C++"
- gRPC-Core - gRPC-Core
- GTMSessionFetcher - GTMSessionFetcher
- leveldb-library - leveldb-library
- MTBBarcodeScanner
- nanopb - nanopb
- PromisesObjC - PromisesObjC
- Protobuf - Protobuf
- Reachability - Reachability
- SwiftProtobuf
EXTERNAL SOURCES: EXTERNAL SOURCES:
barcode_scan:
:path: ".symlinks/plugins/barcode_scan/ios"
camera: camera:
:path: ".symlinks/plugins/camera/ios" :path: ".symlinks/plugins/camera/ios"
cloud_firestore: cloud_firestore:
:path: ".symlinks/plugins/cloud_firestore/ios" :path: ".symlinks/plugins/cloud_firestore/ios"
cloud_firestore_web:
:path: ".symlinks/plugins/cloud_firestore_web/ios"
connectivity: connectivity:
:path: ".symlinks/plugins/connectivity/ios" :path: ".symlinks/plugins/connectivity/ios"
connectivity_macos:
:path: ".symlinks/plugins/connectivity_macos/ios"
device_info: device_info:
:path: ".symlinks/plugins/device_info/ios" :path: ".symlinks/plugins/device_info/ios"
downloads_path_provider: downloads_path_provider:
@@ -510,8 +478,6 @@ EXTERNAL SOURCES:
:path: ".symlinks/plugins/firebase_auth/ios" :path: ".symlinks/plugins/firebase_auth/ios"
firebase_core: firebase_core:
:path: ".symlinks/plugins/firebase_core/ios" :path: ".symlinks/plugins/firebase_core/ios"
firebase_core_web:
:path: ".symlinks/plugins/firebase_core_web/ios"
firebase_messaging: firebase_messaging:
:path: ".symlinks/plugins/firebase_messaging/ios" :path: ".symlinks/plugins/firebase_messaging/ios"
firebase_storage: firebase_storage:
@@ -520,12 +486,12 @@ EXTERNAL SOURCES:
:path: Flutter :path: Flutter
flutter_downloader: flutter_downloader:
:path: ".symlinks/plugins/flutter_downloader/ios" :path: ".symlinks/plugins/flutter_downloader/ios"
flutter_plugin_android_lifecycle: flutter_local_notifications:
:path: ".symlinks/plugins/flutter_plugin_android_lifecycle/ios" :path: ".symlinks/plugins/flutter_local_notifications/ios"
flutter_pdfview:
:path: ".symlinks/plugins/flutter_pdfview/ios"
flutter_ringtone_player: flutter_ringtone_player:
:path: ".symlinks/plugins/flutter_ringtone_player/ios" :path: ".symlinks/plugins/flutter_ringtone_player/ios"
google_api_availability:
:path: ".symlinks/plugins/google_api_availability/ios"
image_picker: image_picker:
:path: ".symlinks/plugins/image_picker/ios" :path: ".symlinks/plugins/image_picker/ios"
open_file: open_file:
@@ -534,81 +500,62 @@ EXTERNAL SOURCES:
:path: ".symlinks/plugins/package_info/ios" :path: ".symlinks/plugins/package_info/ios"
path_provider: path_provider:
:path: ".symlinks/plugins/path_provider/ios" :path: ".symlinks/plugins/path_provider/ios"
path_provider_macos:
:path: ".symlinks/plugins/path_provider_macos/ios"
permission_handler: permission_handler:
:path: ".symlinks/plugins/permission_handler/ios" :path: ".symlinks/plugins/permission_handler/ios"
shared_preferences: shared_preferences:
:path: ".symlinks/plugins/shared_preferences/ios" :path: ".symlinks/plugins/shared_preferences/ios"
shared_preferences_macos:
:path: ".symlinks/plugins/shared_preferences_macos/ios"
shared_preferences_web:
:path: ".symlinks/plugins/shared_preferences_web/ios"
url_launcher: url_launcher:
:path: ".symlinks/plugins/url_launcher/ios" :path: ".symlinks/plugins/url_launcher/ios"
url_launcher_macos:
:path: ".symlinks/plugins/url_launcher_macos/ios"
url_launcher_web:
:path: ".symlinks/plugins/url_launcher_web/ios"
SPEC CHECKSUMS: SPEC CHECKSUMS:
abseil: 6c8eb7892aefa08d929b39f9bb108e5367e3228f abseil: 6c8eb7892aefa08d929b39f9bb108e5367e3228f
barcode_scan: a5c27959edfafaa0c771905bad0b29d6d39e4479
BoringSSL-GRPC: 8edf627ee524575e2f8d19d56f068b448eea3879 BoringSSL-GRPC: 8edf627ee524575e2f8d19d56f068b448eea3879
camera: d56ad165545ae5a0ffb892376033760a969c68c8 camera: d56ad165545ae5a0ffb892376033760a969c68c8
cloud_firestore: 4cc700e236ebfe2d5d980e49cb066d202cfee0e9 cloud_firestore: 2a4f8f802fb0b701cf809b283b6bec7477ebaa6f
cloud_firestore_web: 9ec3dc7f5f98de5129339802d491c1204462bfec
connectivity: c4130b2985d4ef6fd26f9702e886bd5260681467 connectivity: c4130b2985d4ef6fd26f9702e886bd5260681467
connectivity_macos: e2e9731b6b22dda39eb1b128f6969d574460e191
device_info: d7d233b645a32c40dfdc212de5cf646ca482f175 device_info: d7d233b645a32c40dfdc212de5cf646ca482f175
downloads_path_provider: fe0d06888d4b8c055a59edbc2f51f03e63cb0e28 downloads_path_provider: fe0d06888d4b8c055a59edbc2f51f03e63cb0e28
Firebase: 5719b4f965f76643241a1bb8244483ff6117db39 Firebase: 658370fa0181826a74b7cfca8d68c5856ca749ae
firebase_auth: d99b993c1405096e66c58211b1cd956c23eed1c5 firebase_auth: af8784c4d8d87c36f730a305f97bfbcb24db024b
firebase_core: 335c02abd48672b7c83c683df833d0488a72e73e firebase_core: 335c02abd48672b7c83c683df833d0488a72e73e
firebase_core_web: d501d8b946b60c8af265428ce483b0fff5ad52d1
firebase_messaging: 21344b3b3a7d9d325d63a70e3750c0c798fe1e03 firebase_messaging: 21344b3b3a7d9d325d63a70e3750c0c798fe1e03
firebase_storage: 22966fce4aa6e8848cbaa017df62107cee29f327 firebase_storage: 22966fce4aa6e8848cbaa017df62107cee29f327
FirebaseAnalytics: 93565f3f0f0f50a5d8770850bfe6a82eaba5db27 FirebaseAnalytics: 0ca9aa2af7cc4dc92392b7a78bfc49feaa2eb60f
FirebaseAnalyticsInterop: 3f86269c38ae41f47afeb43ebf32a001f58fcdae FirebaseAuth: 09f086fae98643f1ef235674cf3ae171ce26f5ba
FirebaseAuth: 7047aec89c0b17ecd924a550c853f0c27ac6015e FirebaseCore: 6fb954e350af0885803d5aa49865d15d9a6b264c
FirebaseAuthInterop: a0f37ae05833af156e72028f648d313f7e7592e9 FirebaseCoreDiagnostics: 7415bfb3883b3500c5a95c42b6ba66baae78f600
FirebaseCore: 6023faeada5afa95a349fccafb40900e32e9ac42 FirebaseFirestore: ef0ad529a72c8e6542050dc7742fbd4cf009f297
FirebaseCoreDiagnostics: 4a773a47bd83bbd5a9b1ccf1ce7caa8b2d535e67 FirebaseInstallations: 466c7b4d1f58fe16707693091da253726a731ed2
FirebaseCoreDiagnosticsInterop: 296e2c5f5314500a850ad0b83e9e7c10b011a850 FirebaseInstanceID: 84f5f5762f1bee94ca2254f693bbf5aec6666504
FirebaseFirestore: deb7242803734c97376278698de097499cf5194f FirebaseMessaging: 82d75b3770a78bbce470769a6980429608b4c407
FirebaseInstallations: 2119fb3e46b0a88bfdbf12562f855ee3252462fa FirebaseStorage: 33b92875a9b556824886cc7a65120c7d2cb3a8d8
FirebaseInstanceID: cef67c4967c7cecb56ea65d8acbb4834825c587b
FirebaseMessaging: 29543feb343b09546ab3aa04d008ee8595b43c44
FirebaseStorage: f4f39ae834a7145963b913f54e2f24a9db1d8fac
Flutter: 0e3d915762c693b495b44d77113d4970485de6ec Flutter: 0e3d915762c693b495b44d77113d4970485de6ec
flutter_downloader: 058b9c41564a90500f67f3e432e3524613a7fd83 flutter_downloader: 058b9c41564a90500f67f3e432e3524613a7fd83
flutter_plugin_android_lifecycle: dc0b544e129eebb77a6bfb1239d4d1c673a60a35 flutter_local_notifications: 9e4738ce2471c5af910d961a6b7eadcf57c50186
flutter_pdfview: 25f53dd6097661e6395b17de506e6060585946bd
flutter_ringtone_player: 15eba85187230b87b2512f0e1b92225618bc03e7 flutter_ringtone_player: 15eba85187230b87b2512f0e1b92225618bc03e7
google_api_availability: 15fa42a8cd83c0a6738507ffe6e87096f12abcb8 GoogleAppMeasurement: ecc30d0ab5b66d7d18e85ce1b8e2b345db60626d
GoogleAppMeasurement: 137afe68bfa406c3f4221b9395253d9e5d4654cf GoogleDataTransport: e85fb700c9b027079ce182c3d08e12e0f9618bb4
GoogleDataTransport: ad884314b81cdb808fb1d23787b367ff8da4e28a GoogleUtilities: 7f2f5a07f888cdb145101d6042bc4422f57e70b3
GoogleDataTransportCCTSupport: d70a561f7d236af529fee598835caad5e25f6d3d
GoogleUtilities: 39530bc0ad980530298e9c4af8549e991fd033b1
"gRPC-C++": 13d8ccef97d5c3c441b7e3c529ef28ebee86fad2 "gRPC-C++": 13d8ccef97d5c3c441b7e3c529ef28ebee86fad2
gRPC-Core: 4afa11bfbedf7cdecd04de535a9e046893404ed5 gRPC-Core: 4afa11bfbedf7cdecd04de535a9e046893404ed5
GTMSessionFetcher: 6f5c8abbab8a9bce4bb3f057e317728ec6182b10 GTMSessionFetcher: 6f5c8abbab8a9bce4bb3f057e317728ec6182b10
image_picker: 66aa71bc96850a90590a35d4c4a2907b0d823109 image_picker: 9c3312491f862b28d21ecd8fdf0ee14e601b3f09
leveldb-library: 55d93ee664b4007aac644a782d11da33fba316f7 leveldb-library: 55d93ee664b4007aac644a782d11da33fba316f7
nanopb: c43f40fadfe79e8b8db116583945847910cbabc9 MTBBarcodeScanner: f453b33c4b7dfe545d8c6484ed744d55671788cb
nanopb: 59317e09cf1f1a0af72f12af412d54edf52603fc
open_file: 02eb5cb6b21264bd3a696876f5afbfb7ca4f4b7d open_file: 02eb5cb6b21264bd3a696876f5afbfb7ca4f4b7d
package_info: 873975fc26034f0b863a300ad47e7f1ac6c7ec62 package_info: 873975fc26034f0b863a300ad47e7f1ac6c7ec62
path_provider: abfe2b5c733d04e238b0d8691db0cfd63a27a93c path_provider: abfe2b5c733d04e238b0d8691db0cfd63a27a93c
path_provider_macos: f760a3c5b04357c380e2fddb6f9db6f3015897e0
permission_handler: 8278954f2382902f63f00dd8828769c0bd6d511b permission_handler: 8278954f2382902f63f00dd8828769c0bd6d511b
PromisesObjC: c119f3cd559f50b7ae681fa59dc1acd19173b7e6 PromisesObjC: b14b1c6b68e306650688599de8a45e49fae81151
Protobuf: 2793fcd0622a00b546c60e7cbbcc493e043e9bb9 Protobuf: 3dac39b34a08151c6d949560efe3f86134a3f748
Reachability: 33e18b67625424e47b6cde6d202dce689ad7af96 Reachability: 33e18b67625424e47b6cde6d202dce689ad7af96
shared_preferences: af6bfa751691cdc24be3045c43ec037377ada40d shared_preferences: af6bfa751691cdc24be3045c43ec037377ada40d
shared_preferences_macos: f3f29b71ccbb56bf40c9dd6396c9acf15e214087 SwiftProtobuf: 4ef85479c18ca85b5482b343df9c319c62bda699
shared_preferences_web: 141cce0c3ed1a1c5bf2a0e44f52d31eeb66e5ea9
url_launcher: 6fef411d543ceb26efce54b05a0a40bfd74cbbef url_launcher: 6fef411d543ceb26efce54b05a0a40bfd74cbbef
url_launcher_macos: fd7894421cd39320dce5f292fc99ea9270b2a313
url_launcher_web: e5527357f037c87560776e36436bf2b0288b965c
PODFILE CHECKSUM: f32fb4e7c14f8b3ca19a369d7be425dd9241af27 PODFILE CHECKSUM: a7be649ff08e382c76abdb82aa94dd2686e03de2
COCOAPODS: 1.9.3 COCOAPODS: 1.9.3

View File

@@ -8,9 +8,9 @@
/* Begin PBXBuildFile section */ /* Begin PBXBuildFile section */
1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; }; 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; };
2BCB1E06702BEB21CC67037C /* libPods-Runner.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 32AB59F1C62AF5CE5121AFEC /* libPods-Runner.a */; };
3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; }; 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; };
846AC7DA24839A57005EDC47 /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 846AC7D924839A57005EDC47 /* GoogleService-Info.plist */; }; 84CCB9CC250686A6007CA635 /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 84CCB9CB250686A6007CA635 /* GoogleService-Info.plist */; };
8FF2990E87F63E94C0E96E91 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 31321200669E6437325AD4E8 /* Pods_Runner.framework */; };
978B8F6F1D3862AE00F588F7 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 7AFFD8EE1D35381100E5BB4D /* AppDelegate.m */; }; 978B8F6F1D3862AE00F588F7 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 7AFFD8EE1D35381100E5BB4D /* AppDelegate.m */; };
97C146F31CF9000F007C117D /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 97C146F21CF9000F007C117D /* main.m */; }; 97C146F31CF9000F007C117D /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 97C146F21CF9000F007C117D /* main.m */; };
97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; }; 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; };
@@ -34,13 +34,14 @@
/* Begin PBXFileReference section */ /* Begin PBXFileReference section */
1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = "<group>"; }; 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = "<group>"; };
1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = "<group>"; }; 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = "<group>"; };
32AB59F1C62AF5CE5121AFEC /* libPods-Runner.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-Runner.a"; sourceTree = BUILT_PRODUCTS_DIR; }; 31321200669E6437325AD4E8 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; };
3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = "<group>"; }; 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = "<group>"; };
4EC225A1B805CDBD5F102E79 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = "<group>"; }; 4EC225A1B805CDBD5F102E79 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = "<group>"; };
7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = "<group>"; }; 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = "<group>"; };
7AFFD8ED1D35381100E5BB4D /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = "<group>"; }; 7AFFD8ED1D35381100E5BB4D /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = "<group>"; };
7AFFD8EE1D35381100E5BB4D /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = "<group>"; }; 7AFFD8EE1D35381100E5BB4D /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = "<group>"; };
846AC7D924839A57005EDC47 /* GoogleService-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = "GoogleService-Info.plist"; path = "Runner/GoogleService-Info.plist"; sourceTree = "<group>"; }; 843570B12507BCA20027CE07 /* Runner.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = Runner.entitlements; sourceTree = "<group>"; };
84CCB9CB250686A6007CA635 /* GoogleService-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "GoogleService-Info.plist"; sourceTree = "<group>"; };
9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = "<group>"; }; 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = "<group>"; };
9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = "<group>"; }; 9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = "<group>"; };
97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; }; 97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; };
@@ -58,7 +59,7 @@
isa = PBXFrameworksBuildPhase; isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647; buildActionMask = 2147483647;
files = ( files = (
2BCB1E06702BEB21CC67037C /* libPods-Runner.a in Frameworks */, 8FF2990E87F63E94C0E96E91 /* Pods_Runner.framework in Frameworks */,
); );
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
}; };
@@ -89,7 +90,7 @@
97C146E51CF9000F007C117D = { 97C146E51CF9000F007C117D = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
846AC7D924839A57005EDC47 /* GoogleService-Info.plist */, 84CCB9CB250686A6007CA635 /* GoogleService-Info.plist */,
9740EEB11CF90186004384FC /* Flutter */, 9740EEB11CF90186004384FC /* Flutter */,
97C146F01CF9000F007C117D /* Runner */, 97C146F01CF9000F007C117D /* Runner */,
97C146EF1CF9000F007C117D /* Products */, 97C146EF1CF9000F007C117D /* Products */,
@@ -109,6 +110,7 @@
97C146F01CF9000F007C117D /* Runner */ = { 97C146F01CF9000F007C117D /* Runner */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
843570B12507BCA20027CE07 /* Runner.entitlements */,
7AFFD8ED1D35381100E5BB4D /* AppDelegate.h */, 7AFFD8ED1D35381100E5BB4D /* AppDelegate.h */,
7AFFD8EE1D35381100E5BB4D /* AppDelegate.m */, 7AFFD8EE1D35381100E5BB4D /* AppDelegate.m */,
97C146FA1CF9000F007C117D /* Main.storyboard */, 97C146FA1CF9000F007C117D /* Main.storyboard */,
@@ -133,7 +135,7 @@
DAE0DFCA6468DD1B18DA1D13 /* Frameworks */ = { DAE0DFCA6468DD1B18DA1D13 /* Frameworks */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
32AB59F1C62AF5CE5121AFEC /* libPods-Runner.a */, 31321200669E6437325AD4E8 /* Pods_Runner.framework */,
); );
name = Frameworks; name = Frameworks;
sourceTree = "<group>"; sourceTree = "<group>";
@@ -153,7 +155,6 @@
9705A1C41CF9048500538489 /* Embed Frameworks */, 9705A1C41CF9048500538489 /* Embed Frameworks */,
3B06AD1E1E4923F5004D2608 /* Thin Binary */, 3B06AD1E1E4923F5004D2608 /* Thin Binary */,
39EACD7450202B9456DD1588 /* [CP] Embed Pods Frameworks */, 39EACD7450202B9456DD1588 /* [CP] Embed Pods Frameworks */,
3F40F0B932775B103C077553 /* [CP] Copy Pods Resources */,
); );
buildRules = ( buildRules = (
); );
@@ -203,7 +204,7 @@
files = ( files = (
97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */, 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */,
3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */, 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */,
846AC7DA24839A57005EDC47 /* GoogleService-Info.plist in Resources */, 84CCB9CC250686A6007CA635 /* GoogleService-Info.plist in Resources */,
97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */, 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */,
97C146FC1CF9000F007C117D /* Main.storyboard in Resources */, 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */,
); );
@@ -243,23 +244,6 @@
shellPath = /bin/sh; shellPath = /bin/sh;
shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin";
}; };
3F40F0B932775B103C077553 /* [CP] Copy Pods Resources */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputFileListPaths = (
"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources-${CONFIGURATION}-input-files.xcfilelist",
);
name = "[CP] Copy Pods Resources";
outputFileListPaths = (
"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources-${CONFIGURATION}-output-files.xcfilelist",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources.sh\"\n";
showEnvVarsInLog = 0;
};
7B5736D5587E0AC72E154BA7 /* [CP] Check Pods Manifest.lock */ = { 7B5736D5587E0AC72E154BA7 /* [CP] Check Pods Manifest.lock */ = {
isa = PBXShellScriptBuildPhase; isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647; buildActionMask = 2147483647;
@@ -333,7 +317,6 @@
/* Begin XCBuildConfiguration section */ /* Begin XCBuildConfiguration section */
249021D3217E4FDB00AE95B9 /* Profile */ = { 249021D3217E4FDB00AE95B9 /* Profile */ = {
isa = XCBuildConfiguration; isa = XCBuildConfiguration;
baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */;
buildSettings = { buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO; ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_ANALYZER_NONNULL = YES; CLANG_ANALYZER_NONNULL = YES;
@@ -387,6 +370,9 @@
baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */;
buildSettings = { buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements;
CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
DEVELOPMENT_TEAM = M7FNQK9WX4; DEVELOPMENT_TEAM = M7FNQK9WX4;
ENABLE_BITCODE = NO; ENABLE_BITCODE = NO;
@@ -395,6 +381,7 @@
"$(PROJECT_DIR)/Flutter", "$(PROJECT_DIR)/Flutter",
); );
INFOPLIST_FILE = Runner/Info.plist; INFOPLIST_FILE = Runner/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 12.0;
LD_RUNPATH_SEARCH_PATHS = ( LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)", "$(inherited)",
"@executable_path/Frameworks", "@executable_path/Frameworks",
@@ -403,15 +390,15 @@
"$(inherited)", "$(inherited)",
"$(PROJECT_DIR)/Flutter", "$(PROJECT_DIR)/Flutter",
); );
PRODUCT_BUNDLE_IDENTIFIER = "com.mokkon.easycard-dev"; PRODUCT_BUNDLE_IDENTIFIER = com.mokkon.fcs.dev;
PRODUCT_NAME = "$(TARGET_NAME)"; PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";
VERSIONING_SYSTEM = "apple-generic"; VERSIONING_SYSTEM = "apple-generic";
}; };
name = Profile; name = Profile;
}; };
97C147031CF9000F007C117D /* Debug */ = { 97C147031CF9000F007C117D /* Debug */ = {
isa = XCBuildConfiguration; isa = XCBuildConfiguration;
baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */;
buildSettings = { buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO; ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_ANALYZER_NONNULL = YES; CLANG_ANALYZER_NONNULL = YES;
@@ -467,7 +454,6 @@
}; };
97C147041CF9000F007C117D /* Release */ = { 97C147041CF9000F007C117D /* Release */ = {
isa = XCBuildConfiguration; isa = XCBuildConfiguration;
baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */;
buildSettings = { buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO; ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_ANALYZER_NONNULL = YES; CLANG_ANALYZER_NONNULL = YES;
@@ -521,6 +507,9 @@
baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */; baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */;
buildSettings = { buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements;
CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
DEVELOPMENT_TEAM = M7FNQK9WX4; DEVELOPMENT_TEAM = M7FNQK9WX4;
ENABLE_BITCODE = NO; ENABLE_BITCODE = NO;
@@ -529,6 +518,7 @@
"$(PROJECT_DIR)/Flutter", "$(PROJECT_DIR)/Flutter",
); );
INFOPLIST_FILE = Runner/Info.plist; INFOPLIST_FILE = Runner/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 12.0;
LD_RUNPATH_SEARCH_PATHS = ( LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)", "$(inherited)",
"@executable_path/Frameworks", "@executable_path/Frameworks",
@@ -537,8 +527,9 @@
"$(inherited)", "$(inherited)",
"$(PROJECT_DIR)/Flutter", "$(PROJECT_DIR)/Flutter",
); );
PRODUCT_BUNDLE_IDENTIFIER = "com.mokkon.easycard-dev"; PRODUCT_BUNDLE_IDENTIFIER = com.mokkon.fcs.dev;
PRODUCT_NAME = "$(TARGET_NAME)"; PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";
VERSIONING_SYSTEM = "apple-generic"; VERSIONING_SYSTEM = "apple-generic";
}; };
name = Debug; name = Debug;
@@ -548,6 +539,9 @@
baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */;
buildSettings = { buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements;
CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
DEVELOPMENT_TEAM = M7FNQK9WX4; DEVELOPMENT_TEAM = M7FNQK9WX4;
ENABLE_BITCODE = NO; ENABLE_BITCODE = NO;
@@ -556,6 +550,7 @@
"$(PROJECT_DIR)/Flutter", "$(PROJECT_DIR)/Flutter",
); );
INFOPLIST_FILE = Runner/Info.plist; INFOPLIST_FILE = Runner/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 12.0;
LD_RUNPATH_SEARCH_PATHS = ( LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)", "$(inherited)",
"@executable_path/Frameworks", "@executable_path/Frameworks",
@@ -564,8 +559,9 @@
"$(inherited)", "$(inherited)",
"$(PROJECT_DIR)/Flutter", "$(PROJECT_DIR)/Flutter",
); );
PRODUCT_BUNDLE_IDENTIFIER = "com.mokkon.easycard-dev"; PRODUCT_BUNDLE_IDENTIFIER = com.mokkon.fcs.dev;
PRODUCT_NAME = "$(TARGET_NAME)"; PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";
VERSIONING_SYSTEM = "apple-generic"; VERSIONING_SYSTEM = "apple-generic";
}; };
name = Release; name = Release;

View File

@@ -1,5 +1,6 @@
#import "AppDelegate.h" #import "AppDelegate.h"
#import "GeneratedPluginRegistrant.h" #import "GeneratedPluginRegistrant.h"
@import Firebase;
@implementation AppDelegate @implementation AppDelegate
@@ -7,7 +8,16 @@
didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
[GeneratedPluginRegistrant registerWithRegistry:self]; [GeneratedPluginRegistrant registerWithRegistry:self];
// Override point for customization after application launch. // Override point for customization after application launch.
if (@available(iOS 10.0, *)) {
[UNUserNotificationCenter currentNotificationCenter].delegate = (id<UNUserNotificationCenterDelegate>) self;
}
return [super application:application didFinishLaunchingWithOptions:launchOptions]; return [super application:application didFinishLaunchingWithOptions:launchOptions];
} }
//- (void)application:(UIApplication *)application
// didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken {
// // Pass device token to auth.
// [[FIRAuth auth] setAPNSToken:deviceToken type:FIRAuthAPNSTokenTypeUnknown];
// // Further handling of the device token if needed by the app.
//}
@end @end

View File

@@ -3,21 +3,21 @@
<plist version="1.0"> <plist version="1.0">
<dict> <dict>
<key>CLIENT_ID</key> <key>CLIENT_ID</key>
<string>865099544652-okjme55c71n8piiphtjaqk543ngl2n3g.apps.googleusercontent.com</string> <string>944560757353-o6emrja7ad8g8ulbcvvpah9a1tul3s21.apps.googleusercontent.com</string>
<key>REVERSED_CLIENT_ID</key> <key>REVERSED_CLIENT_ID</key>
<string>com.googleusercontent.apps.865099544652-okjme55c71n8piiphtjaqk543ngl2n3g</string> <string>com.googleusercontent.apps.944560757353-o6emrja7ad8g8ulbcvvpah9a1tul3s21</string>
<key>API_KEY</key> <key>API_KEY</key>
<string>AIzaSyCdYfjf7aYtMHMHwS4_pZ2H6lHg0kSVOlk</string> <string>AIzaSyBZICfIDWbWqjxHwY_jFnWv34EtCpiiE78</string>
<key>GCM_SENDER_ID</key> <key>GCM_SENDER_ID</key>
<string>865099544652</string> <string>944560757353</string>
<key>PLIST_VERSION</key> <key>PLIST_VERSION</key>
<string>1</string> <string>1</string>
<key>BUNDLE_ID</key> <key>BUNDLE_ID</key>
<string>com.mokkon.easycard-dev</string> <string>com.mokkon.fcs.dev</string>
<key>PROJECT_ID</key> <key>PROJECT_ID</key>
<string>easy-card-dev</string> <string>fcs-dev1</string>
<key>STORAGE_BUCKET</key> <key>STORAGE_BUCKET</key>
<string>easy-card-dev.appspot.com</string> <string>fcs-dev1.appspot.com</string>
<key>IS_ADS_ENABLED</key> <key>IS_ADS_ENABLED</key>
<false></false> <false></false>
<key>IS_ANALYTICS_ENABLED</key> <key>IS_ANALYTICS_ENABLED</key>
@@ -29,8 +29,8 @@
<key>IS_SIGNIN_ENABLED</key> <key>IS_SIGNIN_ENABLED</key>
<true></true> <true></true>
<key>GOOGLE_APP_ID</key> <key>GOOGLE_APP_ID</key>
<string>1:865099544652:ios:4dfae368fb05f4cc</string> <string>1:944560757353:ios:de037244faea4173fa60f8</string>
<key>DATABASE_URL</key> <key>DATABASE_URL</key>
<string>https://easy-card-dev.firebaseio.com</string> <string>https://fcs-dev1.firebaseio.com</string>
</dict> </dict>
</plist> </plist>

View File

@@ -18,10 +18,28 @@
<string>$(FLUTTER_BUILD_NAME)</string> <string>$(FLUTTER_BUILD_NAME)</string>
<key>CFBundleSignature</key> <key>CFBundleSignature</key>
<string>????</string> <string>????</string>
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleTypeRole</key>
<string>Editor</string>
<key>CFBundleURLSchemes</key>
<array>
<string>com.googleusercontent.apps.944560757353-o6emrja7ad8g8ulbcvvpah9a1tul3s21</string>
</array>
</dict>
</array>
<key>CFBundleVersion</key> <key>CFBundleVersion</key>
<string>$(FLUTTER_BUILD_NUMBER)</string> <string>$(FLUTTER_BUILD_NUMBER)</string>
<key>LSRequiresIPhoneOS</key> <key>LSRequiresIPhoneOS</key>
<true/> <true/>
<key>NSCameraUsageDescription</key>
<string>Camera permission is required for barcode scanning.</string>
<key>UIBackgroundModes</key>
<array>
<string>fetch</string>
<string>remote-notification</string>
</array>
<key>UILaunchStoryboardName</key> <key>UILaunchStoryboardName</key>
<string>LaunchScreen</string> <string>LaunchScreen</string>
<key>UIMainStoryboardFile</key> <key>UIMainStoryboardFile</key>

View File

@@ -0,0 +1,8 @@
<?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>aps-environment</key>
<string>development</string>
</dict>
</plist>

View File

@@ -1,3 +1,5 @@
import 'dart:io';
import 'package:fcs/fcs/common/services/messaging_service.dart'; import 'package:fcs/fcs/common/services/messaging_service.dart';
import 'package:firebase_messaging/firebase_messaging.dart'; import 'package:firebase_messaging/firebase_messaging.dart';
import 'package:logging/logging.dart'; import 'package:logging/logging.dart';
@@ -29,7 +31,7 @@ class MessagingFCM {
log.info("onMessage: $message"); log.info("onMessage: $message");
if (onMessage != null) _onNotify(message, onMessage); if (onMessage != null) _onNotify(message, onMessage);
}, },
onBackgroundMessage: backgroundMessageHandler, onBackgroundMessage: Platform.isIOS ? null : backgroundMessageHandler,
onLaunch: (Map<String, dynamic> message) async { onLaunch: (Map<String, dynamic> message) async {
log.info("onLaunch: $message"); log.info("onLaunch: $message");
if (onLaunch != null) _onNotify(message, onLaunch); if (onLaunch != null) _onNotify(message, onLaunch);
@@ -39,9 +41,8 @@ class MessagingFCM {
if (onResume != null) _onNotify(message, onResume); if (onResume != null) _onNotify(message, onResume);
}, },
); );
_firebaseMessaging.requestNotificationPermissions( _firebaseMessaging
const IosNotificationSettings( .requestNotificationPermissions(const IosNotificationSettings());
sound: true, badge: true, alert: true, provisional: true));
_firebaseMessaging.onIosSettingsRegistered _firebaseMessaging.onIosSettingsRegistered
.listen((IosNotificationSettings settings) { .listen((IosNotificationSettings settings) {
log.info("Settings registered: $settings"); log.info("Settings registered: $settings");

View File

@@ -7,6 +7,7 @@ import 'package:logging/logging.dart';
import 'package:fcs/vo/status.dart'; import 'package:fcs/vo/status.dart';
import '../../../config.dart'; import '../../../config.dart';
import 'dev_info.dart';
final log = Logger('requestAPI'); final log = Logger('requestAPI');
@@ -19,18 +20,16 @@ Future<dynamic> requestAPI(
String token, String token,
String url, String url,
}) async { }) async {
DeviceInfoPlugin deviceInfo = DeviceInfoPlugin(); DevInfo devInfo = await DevInfo.getDevInfo();
AndroidDeviceInfo androidInfo = await deviceInfo.androidInfo;
String deviceName = "${androidInfo.model}(${androidInfo.id})"; String deviceName = "${devInfo.model}(${devInfo.id})";
log.info("device:${androidInfo.androidId},deviceName:$deviceName"); log.info("device:${devInfo.deviceID},deviceName:$deviceName");
Map<String, dynamic> headers = {}; Map<String, dynamic> headers = {};
if (token != null) { if (token != null) {
headers["Token"] = token; headers["Token"] = token;
} }
if (androidInfo.androidId != null) { headers["Device"] = devInfo.deviceID + ":" + deviceName;
headers["Device"] = androidInfo.androidId + ":" + deviceName;
}
headers["Project-ID"] = Config.instance.reportProjectID; headers["Project-ID"] = Config.instance.reportProjectID;
BaseOptions options = new BaseOptions( BaseOptions options = new BaseOptions(

View File

@@ -0,0 +1,32 @@
import 'package:device_info/device_info.dart';
import 'dart:io' show Platform;
class DevInfo {
bool isAndroid;
bool isIOS;
String deviceID;
String id;
String model;
static DevInfo _instance;
static Future<DevInfo> getDevInfo() async {
if (_instance != null) return Future.value(_instance);
_instance = DevInfo();
DeviceInfoPlugin deviceInfo = DeviceInfoPlugin();
if (Platform.isAndroid) {
AndroidDeviceInfo androidInfo = await deviceInfo.androidInfo;
_instance.deviceID = androidInfo.androidId;
_instance.id = androidInfo.id;
_instance.model = androidInfo.model;
} else if (Platform.isIOS) {
IosDeviceInfo iosDeviceInfo = await deviceInfo.iosInfo;
_instance.deviceID = iosDeviceInfo.identifierForVendor;
_instance.id = iosDeviceInfo.utsname.release;
_instance.model = iosDeviceInfo.model;
}
return Future.value(_instance);
}
}

View File

@@ -15,7 +15,7 @@ import 'package:fcs/pages_fcs/package_list.dart';
import 'package:fcs/widget/banner.dart'; import 'package:fcs/widget/banner.dart';
import 'package:fcs/widget/bottom_up_page_route.dart'; import 'package:fcs/widget/bottom_up_page_route.dart';
import 'package:fcs/widget/offline_redirect.dart'; import 'package:fcs/widget/offline_redirect.dart';
import 'package:fcs/widget/right_left_page_route%20copy.dart'; import 'package:fcs/widget/right_left_page_rout.dart';
import 'package:flutter/cupertino.dart'; import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_icons/flutter_icons.dart'; import 'package:flutter_icons/flutter_icons.dart';

View File

@@ -141,6 +141,7 @@ class MainModel extends ChangeNotifier {
} }
bool isSupport() { bool isSupport() {
return true;
if (packageInfo == null || setting == null) return false; if (packageInfo == null || setting == null) return false;
return int.parse(packageInfo.buildNumber) >= setting.supportBuildNum; return int.parse(packageInfo.buildNumber) >= setting.supportBuildNum;
} }

View File

@@ -2,7 +2,7 @@ import 'dart:async';
import 'package:fcs/fcs/common/pages/model/main_model.dart'; import 'package:fcs/fcs/common/pages/model/main_model.dart';
import 'package:fcs/fcs/common/helpers/theme.dart'; import 'package:fcs/fcs/common/helpers/theme.dart';
import 'package:fcs/widget/local_text.dart'; import 'package:fcs/fcs/common/pages/widgets/local_text.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:logging/logging.dart'; import 'package:logging/logging.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';

View File

@@ -579,7 +579,6 @@ Widget fcsButton(BuildContext context, String text, {Function callack}) {
); );
} }
String getLocalString(BuildContext context, String key) {
String getLocalString(BuildContext context,String key){
return AppTranslations.of(context).text(key); return AppTranslations.of(context).text(key);
} }

View File

@@ -13,8 +13,9 @@ final FirebaseAuth auth = FirebaseAuth.instance;
Future<String> getToken() async { Future<String> getToken() async {
FirebaseUser firebaseUser = await auth.currentUser(); FirebaseUser firebaseUser = await auth.currentUser();
IdTokenResult token = await firebaseUser.getIdToken(); // IdTokenResult token = await firebaseUser.getIdToken();
return token.token; // return token.token;
return "";
} }
Stream<QuerySnapshot> getQuerySnapshot(String path) { Stream<QuerySnapshot> getQuerySnapshot(String path) {

View File

@@ -322,32 +322,33 @@ class MainModel extends ChangeNotifier {
var token = result["Token"]; var token = result["Token"];
// login with custom token // login with custom token
AuthResult r = await this.auth.signInWithCustomToken(token: token); // AuthResult r = await this.auth.signInWithCustomToken(token: token);
this.firebaseUser = r.user; // this.firebaseUser = r.user;
isLoaded = false; isLoaded = false;
_loadUser(); _loadUser();
_logUser(this.firebaseUser); _logUser(this.firebaseUser);
} }
Future<FirebaseUser> getProfile(FirebaseUser firebaseUser) async { Future<FirebaseUser> getProfile(FirebaseUser firebaseUser) async {
IdTokenResult idtoken = await firebaseUser.getIdToken(); // IdTokenResult idtoken = await firebaseUser.getIdToken();
var data = await requestAPI( var data = await requestAPI(
"/profile", "/profile",
"GET", "GET",
token: idtoken.token, token: "", //idtoken.token,
); );
var _token = data["Token"]; var _token = data["Token"];
AuthResult a = await this.auth.signInWithCustomToken(token: _token); // AuthResult a = await this.auth.signInWithCustomToken(token: _token);
return a.user; // return a.user;
return null;
} }
Future<void> _logUser(FirebaseUser firebaseUser) async { Future<void> _logUser(FirebaseUser firebaseUser) async {
IdTokenResult idtoken = await firebaseUser.getIdToken(); // IdTokenResult idtoken = await firebaseUser.getIdToken();
await requestAPI( await requestAPI(
"/log", "/log",
"GET", "GET",
token: idtoken.token, token: "", //idtoken.token,
); );
} }

View File

@@ -67,13 +67,13 @@ class User {
} }
Future<void> setFirebaseUser(FirebaseUser firebaseUser) async { Future<void> setFirebaseUser(FirebaseUser firebaseUser) async {
IdTokenResult idToken = await firebaseUser.getIdToken(refresh: true); // IdTokenResult idToken = await firebaseUser.getIdToken(refresh: true);
String privileges = idToken.claims["privileges"]; // String privileges = idToken.claims["privileges"];
if (privileges == null || privileges == "") return; // if (privileges == null || privileges == "") return;
this.claimPrivileges = privileges.split(":").toList(); // this.claimPrivileges = privileges.split(":").toList();
this.accountID = idToken.claims["account_id"]; // this.accountID = idToken.claims["account_id"];
this.bizID = idToken.claims["biz_id"]; // this.bizID = idToken.claims["biz_id"];
} }
User( User(

View File

@@ -1,10 +1,9 @@
import 'package:fcs/fcs/common/localization/app_translations.dart';
import 'package:fcs/fcs/common/pages/model/language_model.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
import 'package:fcs/model/language_model.dart';
import 'package:fcs/fcs/common/helpers/theme.dart'; import 'package:fcs/fcs/common/helpers/theme.dart';
import 'localization/app_translations.dart';
class LocalText extends Text { class LocalText extends Text {
final BuildContext context; final BuildContext context;
LocalText(this.context, String translationKey, LocalText(this.context, String translationKey,

View File

@@ -27,7 +27,7 @@ class _OfflineRedirectState extends State<OfflineRedirect> {
} }
_startOfflineTimer() async { _startOfflineTimer() async {
if (offlineTimer!=null && offlineTimer.isActive) return; if (offlineTimer != null && offlineTimer.isActive) return;
var _duration = new Duration(milliseconds: 500); var _duration = new Duration(milliseconds: 500);
this.offlineTimer = new Timer.periodic(_duration, offlineNav); this.offlineTimer = new Timer.periodic(_duration, offlineNav);
} }
@@ -47,6 +47,6 @@ class _OfflineRedirectState extends State<OfflineRedirect> {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return widget.child; return SafeArea(child: widget.child);
} }
} }

View File

@@ -16,7 +16,8 @@ dependencies:
firebase_core: ^0.4.3+2 firebase_core: ^0.4.3+2
cloud_firestore: ^0.13.0+1 cloud_firestore: ^0.13.0+1
firebase_storage: ^3.1.0 firebase_storage: ^3.1.0
firebase_auth: ^0.14.0 firebase_auth: ^0.16.1
#firebase_auth: ^0.15.5+3
firebase_messaging: ^6.0.15 firebase_messaging: ^6.0.15
provider: ^4.3.2+1 provider: ^4.3.2+1
flutter_launcher_icons: "^0.7.2" flutter_launcher_icons: "^0.7.2"