diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 6ae1079e..1704ba4b 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -4,6 +4,7 @@ stages:
- build-artifacts
- release-artifacts
- notification
+ - clean-up
variables:
LC_ALL: "en_US.UTF-8"
@@ -61,7 +62,7 @@ variables:
before_script:
- ls -li
- export NEXT_VERSION="$(cat app_new.version)"
- - flutter pub get
+# - flutter pub get
- bundle install --gemfile android/Gemfile --quiet
cache:
paths:
@@ -72,7 +73,7 @@ variables:
before_script:
- ls -li
- export NEXT_VERSION="$(cat app_new.version)"
- - flutter pub get
+# - flutter pub get
- bundle install --gemfile ios/Gemfile --quiet
cache:
paths:
@@ -204,4 +205,11 @@ notify_failure:
script:
- bash notify.sh failure
allow_failure: true
- when: on_failure
\ No newline at end of file
+ when: on_failure
+
+clean_up:
+ stage: clean-up
+ extends: .build_rule
+ script:
+ - git reset --hard
+ when: always
\ No newline at end of file
diff --git a/android/app/build.gradle b/android/app/build.gradle
index baeb56c7..587f16e3 100755
--- a/android/app/build.gradle
+++ b/android/app/build.gradle
@@ -23,6 +23,9 @@ if (flutterVersionName == null) {
}
apply plugin: 'com.android.application'
+//
+apply plugin: 'com.google.gms.google-services'
+//
apply plugin: 'kotlin-android'
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
apply plugin: 'com.android.application'
@@ -304,6 +307,8 @@ dependencies {
implementation 'cn.jiguang.sdk.plugin:vivo:5.2.3'
// Umeng统计
+ //
implementation 'com.umeng.umsdk:common:9.7.9'
implementation 'com.umeng.umsdk:asms:1.8.5'
+ //
}
diff --git a/android/app/google-services.json b/android/app/google-services.json
index cbcbc271..c2bc204a 100755
--- a/android/app/google-services.json
+++ b/android/app/google-services.json
@@ -2,14 +2,14 @@
"project_info": {
"project_number": "281500445726",
"project_id": "skychip2023-ecdff",
- "storage_bucket": "skychip2023-ecdff.appspot.com"
+ "storage_bucket": "skychip2023-ecdff.firebasestorage.app"
},
"client": [
{
"client_info": {
- "mobilesdk_app_id": "1:281500445726:android:ddf52ac7b7f83cf5c4d20f",
+ "mobilesdk_app_id": "1:281500445726:android:468195b9cc68dd6cc4d20f",
"android_client_info": {
- "package_name": "com.skychip.lock"
+ "package_name": "com.starlock.lock.local"
}
},
"oauth_client": [],
diff --git a/android/app/src/main/kotlin/com/skychip/lock/App.kt b/android/app/src/main/kotlin/com/skychip/lock/App.kt
index fb6c753d..06adbaf6 100755
--- a/android/app/src/main/kotlin/com/skychip/lock/App.kt
+++ b/android/app/src/main/kotlin/com/skychip/lock/App.kt
@@ -2,15 +2,11 @@ package com.skychip.lock
import io.flutter.app.FlutterApplication
import android.util.Log
-import com.umeng.commonsdk.UMConfigure;
class App : FlutterApplication() {
override fun onCreate() {
super.onCreate()
-// UMConfigure.setLogEnabled(true);
- //友盟预初始化
-// UMConfigure.preInit(getApplicationContext(), "671244cf80464b33f6df9648", "Product");
Log.d("MyApplication", "Application has started")
}
}
\ No newline at end of file
diff --git a/android/app/src/main/kotlin/com/skychip/lock/MainActivity.kt b/android/app/src/main/kotlin/com/skychip/lock/MainActivity.kt
index c788ca3c..76fc8e66 100755
--- a/android/app/src/main/kotlin/com/skychip/lock/MainActivity.kt
+++ b/android/app/src/main/kotlin/com/skychip/lock/MainActivity.kt
@@ -12,16 +12,10 @@ import android.bluetooth.BluetoothAdapter;
import androidx.core.content.FileProvider
import java.io.File
-import com.umeng.commonsdk.UMConfigure
-
class MainActivity : FlutterActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
GeneratedPluginRegistrant.registerWith(flutterEngine!!)
-
- // 初始化 Umeng SDK
-// UMConfigure.init(this, "671244cf80464b33f6df9648", "Product", UMConfigure.DEVICE_TYPE_PHONE, null)
-
MethodChannel(
flutterEngine?.dartExecutor!!.binaryMessenger,
"starLockFlutterSend"
diff --git a/android/app/src/sky/google-services.json b/android/app/src/sky/google-services.json
new file mode 100644
index 00000000..a712cf64
--- /dev/null
+++ b/android/app/src/sky/google-services.json
@@ -0,0 +1,48 @@
+{
+ "project_info": {
+ "project_number": "281500445726",
+ "project_id": "skychip2023-ecdff",
+ "storage_bucket": "skychip2023-ecdff.firebasestorage.app"
+ },
+ "client": [
+ {
+ "client_info": {
+ "mobilesdk_app_id": "1:281500445726:android:ddf52ac7b7f83cf5c4d20f",
+ "android_client_info": {
+ "package_name": "com.skychip.lock"
+ }
+ },
+ "oauth_client": [],
+ "api_key": [
+ {
+ "current_key": "AIzaSyC-3-ABWuy9LrYyAw_KxDRto4DanQ0sq9g"
+ }
+ ],
+ "services": {
+ "appinvite_service": {
+ "other_platform_oauth_client": []
+ }
+ }
+ },
+ {
+ "client_info": {
+ "mobilesdk_app_id": "1:281500445726:android:468195b9cc68dd6cc4d20f",
+ "android_client_info": {
+ "package_name": "com.starlock.lock.local"
+ }
+ },
+ "oauth_client": [],
+ "api_key": [
+ {
+ "current_key": "AIzaSyC-3-ABWuy9LrYyAw_KxDRto4DanQ0sq9g"
+ }
+ ],
+ "services": {
+ "appinvite_service": {
+ "other_platform_oauth_client": []
+ }
+ }
+ }
+ ],
+ "configuration_version": "1"
+}
\ No newline at end of file
diff --git a/android/app/src/xhj/google-services.json b/android/app/src/xhj/google-services.json
new file mode 100644
index 00000000..791f2d92
--- /dev/null
+++ b/android/app/src/xhj/google-services.json
@@ -0,0 +1,48 @@
+{
+ "project_info": {
+ "project_number": "28150044todo",
+ "project_id": "skychip2023-etodo",
+ "storage_bucket": "skychip2023-etodo.firebasestorage.app"
+ },
+ "client": [
+ {
+ "client_info": {
+ "mobilesdk_app_id": "1:281500445726:android:ddf52ac7b7f83cf5c4todo",
+ "android_client_info": {
+ "package_name": "com.xhjcn.lock"
+ }
+ },
+ "oauth_client": [],
+ "api_key": [
+ {
+ "current_key": "AIzaSyC-3-ABWuy9LrYyAw_KxDRto4DanQ0todo"
+ }
+ ],
+ "services": {
+ "appinvite_service": {
+ "other_platform_oauth_client": []
+ }
+ }
+ },
+ {
+ "client_info": {
+ "mobilesdk_app_id": "1:281500445726:android:468195b9cc68dd6cc4todo",
+ "android_client_info": {
+ "package_name": "com.xhjcn.lock.local"
+ }
+ },
+ "oauth_client": [],
+ "api_key": [
+ {
+ "current_key": "AIzaSyC-3-ABWuy9LrYyAw_KxDRto4Dank9todo"
+ }
+ ],
+ "services": {
+ "appinvite_service": {
+ "other_platform_oauth_client": []
+ }
+ }
+ }
+ ],
+ "configuration_version": "1"
+}
\ No newline at end of file
diff --git a/android/build.sh b/android/build.sh
index 8e672739..6482e5a0 100755
--- a/android/build.sh
+++ b/android/build.sh
@@ -12,12 +12,14 @@ regex='^v[0-9]+\.[0-9]+\.[0-9]+(-[a-zA-Z]+\.[0-9]+)?$'
if [[ "${ENV_BUILD_BRANCH}" == "canary_release" ]]; then
echo "===build canary_release: ${NEXT_VERSION}"
export ENV_BUILD_TAG=${NEXT_VERSION}
- bundle exec fastlane release flavor:xhj --verbose
- bundle exec fastlane release flavor:sky --verbose
+ bundle exec fastlane release_apk flavor:xhj --verbose
+ bundle exec fastlane release_apk flavor:sky --verbose
elif [[ $ENV_BUILD_TAG =~ $regex ]]; then
echo "===build release===$ENV_BUILD_TAG"
- bundle exec fastlane release flavor:xhj --verbose
- bundle exec fastlane release flavor:sky --verbose
+ bundle exec fastlane release_apk flavor:xhj --verbose
+ bundle exec fastlane release_apk flavor:sky --verbose
+ bundle exec fastlane release_bundle flavor:xhj --verbose
+ bundle exec fastlane release_bundle flavor:sky --verbose
elif [[ "${ENV_BUILD_BRANCH}" == "develop" ]]; then
echo "===build dev===${NEXT_VERSION}"
bundle exec fastlane beta flavor:xhj env:dev --verbose
diff --git a/android/fastlane/Fastfile b/android/fastlane/Fastfile
index 3930650f..a99f62f0 100644
--- a/android/fastlane/Fastfile
+++ b/android/fastlane/Fastfile
@@ -67,7 +67,9 @@ platform :android do
commit_hash = last_git_commit
short_hash = commit_hash[:abbreviated_commit_hash]
print_log "last_git_commit_short_hash #{short_hash}"
+ remove_zone_pre_build(zone:"com")
Dir.chdir "../.." do
+ sh("flutter","pub","get")
sh("flutter", "build", "apk", "--no-tree-shake-icons", "--release", "--flavor", "#{flavor}_#{env}", "-t", "lib/main_#{flavor}_#{env}.dart", "--build-number=#{build_number}", "--build-name=#{build_version}")
end
old_file_path = File.join($path_apk_output_dir, "app-#{flavor}_#{env}-release.apk")
@@ -82,7 +84,7 @@ platform :android do
end
desc "Build & upload a new version to Gitlab Release"
- lane :release do |options|
+ lane :release_apk do |options|
flavor = options[:flavor]
UI.user_error!("flavor is required") unless flavor
print_log "build flavor for: #{flavor}"
@@ -93,13 +95,31 @@ platform :android do
commit_hash = last_git_commit
short_hash = commit_hash[:abbreviated_commit_hash]
print_log "last_git_commit_short_hash #{short_hash}"
+ remove_zone_pre_build(zone:"com")
Dir.chdir "../.." do
+ sh("flutter","pub","get")
sh("flutter", "build", "apk", "--no-tree-shake-icons", "--release", "--flavor", "#{flavor}", "-t", "lib/main_#{flavor}_lite.dart", "--build-number=#{build_number}", "--build-name=#{build_version}")
end
old_apk_file_path = File.join($path_apk_output_dir, "app-#{flavor}-release.apk")
new_apk_file_path = File.join($path_apk_output_dir, "starlock-#{flavor}-release-"+$current_tag+".apk")
File.rename(old_apk_file_path, new_apk_file_path)
+ end
+
+ desc "Build & upload a new version to Gitlab Release"
+ lane :release_bundle do |options|
+ flavor = options[:flavor]
+ UI.user_error!("flavor is required") unless flavor
+ print_log "build flavor for: #{flavor}"
+ build_number = Time.now.strftime("%Y%m%d%H")
+ print_log "BuildNo #{build_number}"
+ build_version = $current_tag.match(/^v(\d+\.\d+\.\d+)/).captures[0]
+ print_log "buildVersion #{build_version}"
+ commit_hash = last_git_commit
+ short_hash = commit_hash[:abbreviated_commit_hash]
+ print_log "last_git_commit_short_hash #{short_hash}"
+ remove_zone_pre_build(zone:"cn")
Dir.chdir "../.." do
+ sh("flutter","pub","get")
sh("flutter", "build", "appbundle", "--no-tree-shake-icons", "--release", "--flavor", "#{flavor}", "-t", "lib/main_#{flavor}_lite.dart", "--build-number=#{build_number}", "--build-name=#{build_version}")
end
old_bundle_file_path = File.join($path_bundle_output_dir , "/#{flavor}Release/app-#{flavor}-release.aab")
@@ -122,4 +142,45 @@ platform :android do
File.delete(file)
end
end
+
+ lane :remove_zone_pre_build do |options|
+ sh("git", "reset", "--hard")
+ zone = options[:zone]
+ UI.user_error!("Please provide valid 'zone'") unless zone
+ pathList=["pubspec.yaml","/android/app/build.gradle","/lib/apm"]
+ extensions = [".dart",".gradle"] #options[:extensions]
+ if pathList.empty? || extensions.empty?
+ UI.user_error!("Please provide valid 'paths' and 'extensions' arrays.")
+ end
+ puts "start prepare zone: #{zone},pathList:#{pathList},extensions:#{extensions}"
+ regexp_List = [/#<#{zone}>.*?#<\/#{zone}>/m,/\/\/\<#{zone}\>.*?\/\/\<\/#{zone}\>/m]
+ UI.message("Processed RegExpList: #{regexp_List}")
+ def process_file(file_path, regexpList)
+ content = File.read(file_path)
+ regexpList.each do |tag|
+ content = content.gsub(tag,'')
+ end
+ File.write(file_path, content)
+ UI.message("Processed file: #{file_path},content :\n #{content}")
+ end
+
+ pathList.each do |path|
+ realPath = File.join($path_dir_build, path)
+ if File.directory?(realPath)
+ Dir.glob("#{realPath}/**/*").each do |file|
+ if File.directory?(file)
+ UI.message("Find child dir path: #{file}")
+ elsif extensions.include?(File.extname(file))
+ process_file(file,regexp_List)
+ end
+ end
+ elsif File.file?(realPath)
+ process_file(realPath,regexp_List)
+ else
+ UI.message("Invalid path: #{realPath}")
+ end
+ end
+ UI.success("All matching content removed from specified files.")
+ end
+
end
diff --git a/firebase.json b/firebase.json
new file mode 100644
index 00000000..30b98ac5
--- /dev/null
+++ b/firebase.json
@@ -0,0 +1 @@
+{"flutter":{"platforms":{"android":{"default":{"projectId":"skychip2023-ecdff","appId":"1:281500445726:android:468195b9cc68dd6cc4d20f","fileOutput":"android/app/google-services.json"}},"ios":{"default":{"projectId":"skychip2023-ecdff","appId":"1:281500445726:ios:b194ccffb92fb86cc4d20f","uploadDebugSymbols":false,"fileOutput":"ios/Runner/GoogleService-Info.plist"}},"dart":{"lib/firebase_options.dart":{"projectId":"skychip2023-ecdff","configurations":{"android":"1:281500445726:android:468195b9cc68dd6cc4d20f","ios":"1:281500445726:ios:b194ccffb92fb86cc4d20f"}}}}}}
\ No newline at end of file
diff --git a/images/icon_main_sky_1024.png b/images/icon_main_sky_1024.png
index 1401d392..d03e73fa 100644
Binary files a/images/icon_main_sky_1024.png and b/images/icon_main_sky_1024.png differ
diff --git a/ios/Runner.xcodeproj/project.pbxproj b/ios/Runner.xcodeproj/project.pbxproj
index 238827f8..26844532 100644
--- a/ios/Runner.xcodeproj/project.pbxproj
+++ b/ios/Runner.xcodeproj/project.pbxproj
@@ -107,6 +107,146 @@
04717D702D1B9B5A00089BD3 /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/InfoPlist_xhj.strings"; sourceTree = ""; };
04717D722D1B9B5D00089BD3 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist_xhj.strings; sourceTree = ""; };
04BFC4482BCFE05100688FCA /* RunnerRelease-xhj.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = "RunnerRelease-xhj.entitlements"; sourceTree = ""; };
+ 04FF45362D3218240085A7B2 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/Main.strings; sourceTree = ""; };
+ 04FF45372D3218240085A7B2 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/InfoPlist.strings; sourceTree = ""; };
+ 04FF45382D3218240085A7B2 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/InfoPlist_sky.strings; sourceTree = ""; };
+ 04FF45392D3218240085A7B2 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/InfoPlist_xhj.strings; sourceTree = ""; };
+ 04FF453A2D32199F0085A7B2 /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/Main.strings; sourceTree = ""; };
+ 04FF453B2D32199F0085A7B2 /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/InfoPlist.strings; sourceTree = ""; };
+ 04FF453C2D32199F0085A7B2 /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/InfoPlist_sky.strings; sourceTree = ""; };
+ 04FF453D2D32199F0085A7B2 /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/InfoPlist_xhj.strings; sourceTree = ""; };
+ 04FF453E2D321A410085A7B2 /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/Main.strings; sourceTree = ""; };
+ 04FF453F2D321A410085A7B2 /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/InfoPlist.strings; sourceTree = ""; };
+ 04FF45402D321A420085A7B2 /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/InfoPlist_sky.strings; sourceTree = ""; };
+ 04FF45412D321A420085A7B2 /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/InfoPlist_xhj.strings; sourceTree = ""; };
+ 04FF45422D321AB50085A7B2 /* ja */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ja; path = ja.lproj/Main.strings; sourceTree = ""; };
+ 04FF45432D321AB50085A7B2 /* ja */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ja; path = ja.lproj/InfoPlist.strings; sourceTree = ""; };
+ 04FF45442D321AB60085A7B2 /* ja */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ja; path = ja.lproj/InfoPlist_sky.strings; sourceTree = ""; };
+ 04FF45452D321AB60085A7B2 /* ja */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ja; path = ja.lproj/InfoPlist_xhj.strings; sourceTree = ""; };
+ 04FF45462D321DB80085A7B2 /* ko */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ko; path = ko.lproj/Main.strings; sourceTree = ""; };
+ 04FF45472D321DB80085A7B2 /* ko */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ko; path = ko.lproj/InfoPlist.strings; sourceTree = ""; };
+ 04FF45482D321DB80085A7B2 /* ko */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ko; path = ko.lproj/InfoPlist_sky.strings; sourceTree = ""; };
+ 04FF45492D321DB80085A7B2 /* ko */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ko; path = ko.lproj/InfoPlist_xhj.strings; sourceTree = ""; };
+ 04FF454A2D321E590085A7B2 /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/Main.strings; sourceTree = ""; };
+ 04FF454B2D321E590085A7B2 /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/InfoPlist.strings; sourceTree = ""; };
+ 04FF454C2D321E590085A7B2 /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/InfoPlist_sky.strings; sourceTree = ""; };
+ 04FF454D2D321E590085A7B2 /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/InfoPlist_xhj.strings; sourceTree = ""; };
+ 04FF454E2D321EA00085A7B2 /* uk */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = uk; path = uk.lproj/Main.strings; sourceTree = ""; };
+ 04FF454F2D321EA00085A7B2 /* uk */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = uk; path = uk.lproj/InfoPlist.strings; sourceTree = ""; };
+ 04FF45502D321EA00085A7B2 /* uk */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = uk; path = uk.lproj/InfoPlist_sky.strings; sourceTree = ""; };
+ 04FF45512D321EA00085A7B2 /* uk */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = uk; path = uk.lproj/InfoPlist_xhj.strings; sourceTree = ""; };
+ 04FF45522D321F080085A7B2 /* pt-PT */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pt-PT"; path = "pt-PT.lproj/Main.strings"; sourceTree = ""; };
+ 04FF45532D321F080085A7B2 /* pt-PT */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pt-PT"; path = "pt-PT.lproj/InfoPlist.strings"; sourceTree = ""; };
+ 04FF45542D321F080085A7B2 /* pt-PT */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pt-PT"; path = "pt-PT.lproj/InfoPlist_sky.strings"; sourceTree = ""; };
+ 04FF45552D321F080085A7B2 /* pt-PT */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pt-PT"; path = "pt-PT.lproj/InfoPlist_xhj.strings"; sourceTree = ""; };
+ 04FF45562D321F720085A7B2 /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/Main.strings; sourceTree = ""; };
+ 04FF45572D321F720085A7B2 /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/InfoPlist.strings; sourceTree = ""; };
+ 04FF45582D321F720085A7B2 /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/InfoPlist_sky.strings; sourceTree = ""; };
+ 04FF45592D321F720085A7B2 /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/InfoPlist_xhj.strings; sourceTree = ""; };
+ 04FF455A2D3220840085A7B2 /* ar */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ar; path = ar.lproj/Main.strings; sourceTree = ""; };
+ 04FF455B2D3220840085A7B2 /* ar */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ar; path = ar.lproj/InfoPlist.strings; sourceTree = ""; };
+ 04FF455C2D3220850085A7B2 /* ar */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ar; path = ar.lproj/InfoPlist_sky.strings; sourceTree = ""; };
+ 04FF455D2D3220850085A7B2 /* ar */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ar; path = ar.lproj/InfoPlist_xhj.strings; sourceTree = ""; };
+ 04FF455E2D3220F00085A7B2 /* vi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = vi; path = vi.lproj/Main.strings; sourceTree = ""; };
+ 04FF455F2D3220F00085A7B2 /* vi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = vi; path = vi.lproj/InfoPlist.strings; sourceTree = ""; };
+ 04FF45602D3220F00085A7B2 /* vi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = vi; path = vi.lproj/InfoPlist_sky.strings; sourceTree = ""; };
+ 04FF45612D3220F00085A7B2 /* vi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = vi; path = vi.lproj/InfoPlist_xhj.strings; sourceTree = ""; };
+ 04FF45622D32212D0085A7B2 /* ms */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ms; path = ms.lproj/Main.strings; sourceTree = ""; };
+ 04FF45632D32212D0085A7B2 /* ms */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ms; path = ms.lproj/InfoPlist.strings; sourceTree = ""; };
+ 04FF45642D32212D0085A7B2 /* ms */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ms; path = ms.lproj/InfoPlist_sky.strings; sourceTree = ""; };
+ 04FF45652D32212D0085A7B2 /* ms */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ms; path = ms.lproj/InfoPlist_xhj.strings; sourceTree = ""; };
+ 04FF45662D3221820085A7B2 /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/Main.strings; sourceTree = ""; };
+ 04FF45672D3221820085A7B2 /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/InfoPlist.strings; sourceTree = ""; };
+ 04FF45682D3221820085A7B2 /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/InfoPlist_sky.strings; sourceTree = ""; };
+ 04FF45692D3221820085A7B2 /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/InfoPlist_xhj.strings; sourceTree = ""; };
+ 04FF456A2D3221BD0085A7B2 /* ro */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ro; path = ro.lproj/Main.strings; sourceTree = ""; };
+ 04FF456B2D3221BD0085A7B2 /* ro */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ro; path = ro.lproj/InfoPlist.strings; sourceTree = ""; };
+ 04FF456C2D3221BD0085A7B2 /* ro */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ro; path = ro.lproj/InfoPlist_sky.strings; sourceTree = ""; };
+ 04FF456D2D3221BD0085A7B2 /* ro */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ro; path = ro.lproj/InfoPlist_xhj.strings; sourceTree = ""; };
+ 04FF456E2D3222620085A7B2 /* lt */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = lt; path = lt.lproj/Main.strings; sourceTree = ""; };
+ 04FF456F2D3222620085A7B2 /* lt */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = lt; path = lt.lproj/InfoPlist.strings; sourceTree = ""; };
+ 04FF45702D3222620085A7B2 /* lt */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = lt; path = lt.lproj/InfoPlist_sky.strings; sourceTree = ""; };
+ 04FF45712D3222620085A7B2 /* lt */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = lt; path = lt.lproj/InfoPlist_xhj.strings; sourceTree = ""; };
+ 04FF45722D3222B40085A7B2 /* sv */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sv; path = sv.lproj/Main.strings; sourceTree = ""; };
+ 04FF45732D3222B40085A7B2 /* sv */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sv; path = sv.lproj/InfoPlist.strings; sourceTree = ""; };
+ 04FF45742D3222B50085A7B2 /* sv */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sv; path = sv.lproj/InfoPlist_sky.strings; sourceTree = ""; };
+ 04FF45752D3222B50085A7B2 /* sv */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sv; path = sv.lproj/InfoPlist_xhj.strings; sourceTree = ""; };
+ 04FF45762D3223130085A7B2 /* et */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = et; path = et.lproj/Main.strings; sourceTree = ""; };
+ 04FF45772D3223130085A7B2 /* et */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = et; path = et.lproj/InfoPlist.strings; sourceTree = ""; };
+ 04FF45782D3223130085A7B2 /* et */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = et; path = et.lproj/InfoPlist_sky.strings; sourceTree = ""; };
+ 04FF45792D3223130085A7B2 /* et */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = et; path = et.lproj/InfoPlist_xhj.strings; sourceTree = ""; };
+ 04FF457A2D3223620085A7B2 /* pl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = pl; path = pl.lproj/Main.strings; sourceTree = ""; };
+ 04FF457B2D3223620085A7B2 /* pl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = pl; path = pl.lproj/InfoPlist.strings; sourceTree = ""; };
+ 04FF457C2D3223620085A7B2 /* pl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = pl; path = pl.lproj/InfoPlist_sky.strings; sourceTree = ""; };
+ 04FF457D2D3223620085A7B2 /* pl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = pl; path = pl.lproj/InfoPlist_xhj.strings; sourceTree = ""; };
+ 04FF457E2D3223A90085A7B2 /* sk */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sk; path = sk.lproj/Main.strings; sourceTree = ""; };
+ 04FF457F2D3223A90085A7B2 /* sk */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sk; path = sk.lproj/InfoPlist.strings; sourceTree = ""; };
+ 04FF45802D3223A90085A7B2 /* sk */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sk; path = sk.lproj/InfoPlist_sky.strings; sourceTree = ""; };
+ 04FF45812D3223A90085A7B2 /* sk */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sk; path = sk.lproj/InfoPlist_xhj.strings; sourceTree = ""; };
+ 04FF45822D3223EA0085A7B2 /* cs */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = cs; path = cs.lproj/Main.strings; sourceTree = ""; };
+ 04FF45832D3223EA0085A7B2 /* cs */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = cs; path = cs.lproj/InfoPlist.strings; sourceTree = ""; };
+ 04FF45842D3223EA0085A7B2 /* cs */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = cs; path = cs.lproj/InfoPlist_sky.strings; sourceTree = ""; };
+ 04FF45852D3223EA0085A7B2 /* cs */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = cs; path = cs.lproj/InfoPlist_xhj.strings; sourceTree = ""; };
+ 04FF45862D323B300085A7B2 /* he */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = he; path = he.lproj/Main.strings; sourceTree = ""; };
+ 04FF45872D323B300085A7B2 /* he */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = he; path = he.lproj/InfoPlist.strings; sourceTree = ""; };
+ 04FF45882D323B300085A7B2 /* he */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = he; path = he.lproj/InfoPlist_sky.strings; sourceTree = ""; };
+ 04FF45892D323B300085A7B2 /* he */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = he; path = he.lproj/InfoPlist_xhj.strings; sourceTree = ""; };
+ 04FF458A2D323B6F0085A7B2 /* el */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = el; path = el.lproj/Main.strings; sourceTree = ""; };
+ 04FF458B2D323B6F0085A7B2 /* el */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = el; path = el.lproj/InfoPlist.strings; sourceTree = ""; };
+ 04FF458C2D323B6F0085A7B2 /* el */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = el; path = el.lproj/InfoPlist_sky.strings; sourceTree = ""; };
+ 04FF458D2D323B6F0085A7B2 /* el */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = el; path = el.lproj/InfoPlist_xhj.strings; sourceTree = ""; };
+ 04FF458E2D323DE60085A7B2 /* sr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sr; path = sr.lproj/Main.strings; sourceTree = ""; };
+ 04FF458F2D323DE60085A7B2 /* sr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sr; path = sr.lproj/InfoPlist.strings; sourceTree = ""; };
+ 04FF45902D323DE60085A7B2 /* sr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sr; path = sr.lproj/InfoPlist_sky.strings; sourceTree = ""; };
+ 04FF45912D323DE70085A7B2 /* sr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sr; path = sr.lproj/InfoPlist_xhj.strings; sourceTree = ""; };
+ 04FF45922D323EAC0085A7B2 /* tr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = tr; path = tr.lproj/Main.strings; sourceTree = ""; };
+ 04FF45932D323EAC0085A7B2 /* tr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = tr; path = tr.lproj/InfoPlist.strings; sourceTree = ""; };
+ 04FF45942D323EAC0085A7B2 /* tr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = tr; path = tr.lproj/InfoPlist_sky.strings; sourceTree = ""; };
+ 04FF45952D323EAC0085A7B2 /* tr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = tr; path = tr.lproj/InfoPlist_xhj.strings; sourceTree = ""; };
+ 04FF45962D323EEF0085A7B2 /* hu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hu; path = hu.lproj/Main.strings; sourceTree = ""; };
+ 04FF45972D323EEF0085A7B2 /* hu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hu; path = hu.lproj/InfoPlist.strings; sourceTree = ""; };
+ 04FF45982D323EEF0085A7B2 /* hu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hu; path = hu.lproj/InfoPlist_sky.strings; sourceTree = ""; };
+ 04FF45992D323EEF0085A7B2 /* hu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hu; path = hu.lproj/InfoPlist_xhj.strings; sourceTree = ""; };
+ 04FF459A2D323F610085A7B2 /* bg */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = bg; path = bg.lproj/Main.strings; sourceTree = ""; };
+ 04FF459B2D323F610085A7B2 /* bg */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = bg; path = bg.lproj/InfoPlist.strings; sourceTree = ""; };
+ 04FF459C2D323F620085A7B2 /* bg */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = bg; path = bg.lproj/InfoPlist_sky.strings; sourceTree = ""; };
+ 04FF459D2D323F620085A7B2 /* bg */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = bg; path = bg.lproj/InfoPlist_xhj.strings; sourceTree = ""; };
+ 04FF459E2D3240110085A7B2 /* kk */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = kk; path = kk.lproj/Main.strings; sourceTree = ""; };
+ 04FF459F2D3240110085A7B2 /* kk */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = kk; path = kk.lproj/InfoPlist.strings; sourceTree = ""; };
+ 04FF45A02D3240110085A7B2 /* kk */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = kk; path = kk.lproj/InfoPlist_sky.strings; sourceTree = ""; };
+ 04FF45A12D3240110085A7B2 /* kk */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = kk; path = kk.lproj/InfoPlist_xhj.strings; sourceTree = ""; };
+ 04FF45A22D32414C0085A7B2 /* hr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hr; path = hr.lproj/Main.strings; sourceTree = ""; };
+ 04FF45A32D32414C0085A7B2 /* hr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hr; path = hr.lproj/InfoPlist.strings; sourceTree = ""; };
+ 04FF45A42D32414C0085A7B2 /* hr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hr; path = hr.lproj/InfoPlist_sky.strings; sourceTree = ""; };
+ 04FF45A52D32414C0085A7B2 /* hr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hr; path = hr.lproj/InfoPlist_xhj.strings; sourceTree = ""; };
+ 04FF45A62D32418D0085A7B2 /* th */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = th; path = th.lproj/Main.strings; sourceTree = ""; };
+ 04FF45A72D32418D0085A7B2 /* th */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = th; path = th.lproj/InfoPlist.strings; sourceTree = ""; };
+ 04FF45A82D32418E0085A7B2 /* th */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = th; path = th.lproj/InfoPlist_sky.strings; sourceTree = ""; };
+ 04FF45A92D32418E0085A7B2 /* th */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = th; path = th.lproj/InfoPlist_xhj.strings; sourceTree = ""; };
+ 04FF45AA2D32420B0085A7B2 /* id */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = id; path = id.lproj/Main.strings; sourceTree = ""; };
+ 04FF45AB2D32420B0085A7B2 /* id */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = id; path = id.lproj/InfoPlist.strings; sourceTree = ""; };
+ 04FF45AC2D32420B0085A7B2 /* id */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = id; path = id.lproj/InfoPlist_sky.strings; sourceTree = ""; };
+ 04FF45AD2D32420B0085A7B2 /* id */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = id; path = id.lproj/InfoPlist_xhj.strings; sourceTree = ""; };
+ 04FF45AE2D32424F0085A7B2 /* fi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fi; path = fi.lproj/Main.strings; sourceTree = ""; };
+ 04FF45AF2D32424F0085A7B2 /* fi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fi; path = fi.lproj/InfoPlist.strings; sourceTree = ""; };
+ 04FF45B02D32424F0085A7B2 /* fi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fi; path = fi.lproj/InfoPlist_sky.strings; sourceTree = ""; };
+ 04FF45B12D32424F0085A7B2 /* fi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fi; path = fi.lproj/InfoPlist_xhj.strings; sourceTree = ""; };
+ 04FF45B22D3242920085A7B2 /* da */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = da; path = da.lproj/Main.strings; sourceTree = ""; };
+ 04FF45B32D3242920085A7B2 /* da */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = da; path = da.lproj/InfoPlist.strings; sourceTree = ""; };
+ 04FF45B42D3242920085A7B2 /* da */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = da; path = da.lproj/InfoPlist_sky.strings; sourceTree = ""; };
+ 04FF45B52D3242920085A7B2 /* da */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = da; path = da.lproj/InfoPlist_xhj.strings; sourceTree = ""; };
+ 04FF45B62D3243560085A7B2 /* zh-HK */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-HK"; path = "zh-HK.lproj/Main.strings"; sourceTree = ""; };
+ 04FF45B72D3243560085A7B2 /* zh-HK */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-HK"; path = "zh-HK.lproj/InfoPlist.strings"; sourceTree = ""; };
+ 04FF45B82D3243560085A7B2 /* zh-HK */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-HK"; path = "zh-HK.lproj/InfoPlist_sky.strings"; sourceTree = ""; };
+ 04FF45B92D3243560085A7B2 /* zh-HK */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-HK"; path = "zh-HK.lproj/InfoPlist_xhj.strings"; sourceTree = ""; };
+ 04FF45BA2D32437B0085A7B2 /* zh-Hant */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hant"; path = "zh-Hant.lproj/Main.strings"; sourceTree = ""; };
+ 04FF45BB2D32437B0085A7B2 /* zh-Hant */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hant"; path = "zh-Hant.lproj/InfoPlist.strings"; sourceTree = ""; };
+ 04FF45BC2D32437C0085A7B2 /* zh-Hant */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hant"; path = "zh-Hant.lproj/InfoPlist_sky.strings"; sourceTree = ""; };
+ 04FF45BD2D32437C0085A7B2 /* zh-Hant */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hant"; path = "zh-Hant.lproj/InfoPlist_xhj.strings"; sourceTree = ""; };
+ 04FF45BE2D3247190085A7B2 /* bn */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = bn; path = bn.lproj/Main.strings; sourceTree = ""; };
+ 04FF45BF2D3247190085A7B2 /* bn */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = bn; path = bn.lproj/InfoPlist.strings; sourceTree = ""; };
+ 04FF45C02D3247190085A7B2 /* bn */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = bn; path = bn.lproj/InfoPlist_sky.strings; sourceTree = ""; };
+ 04FF45C12D3247190085A7B2 /* bn */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = bn; path = bn.lproj/InfoPlist_xhj.strings; sourceTree = ""; };
0BEB3ADCCEC961E2916B9004 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; };
0D02C18E16914A687A4A1AC2 /* devDebug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = devDebug.xcconfig; path = Flutter/devDebug.xcconfig; sourceTree = ""; };
126D1370182AB44291C67A10 /* Pods-Runner.dev-release-sky.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.dev-release-sky.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.dev-release-sky.xcconfig"; sourceTree = ""; };
@@ -478,6 +618,41 @@
en,
Base,
"zh-Hans",
+ fr,
+ ru,
+ de,
+ ja,
+ ko,
+ it,
+ uk,
+ "pt-PT",
+ es,
+ ar,
+ vi,
+ ms,
+ nl,
+ ro,
+ lt,
+ sv,
+ et,
+ pl,
+ sk,
+ cs,
+ he,
+ el,
+ sr,
+ tr,
+ hu,
+ bg,
+ kk,
+ hr,
+ th,
+ id,
+ fi,
+ da,
+ "zh-HK",
+ "zh-Hant",
+ bn,
);
mainGroup = 97C146E51CF9000F007C117D;
productRefGroup = 97C146EF1CF9000F007C117D /* Products */;
@@ -649,6 +824,41 @@
children = (
04717D682D1B97E100089BD3 /* zh-Hans */,
04717D6A2D1B97E800089BD3 /* en */,
+ 04FF45382D3218240085A7B2 /* fr */,
+ 04FF453C2D32199F0085A7B2 /* ru */,
+ 04FF45402D321A420085A7B2 /* de */,
+ 04FF45442D321AB60085A7B2 /* ja */,
+ 04FF45482D321DB80085A7B2 /* ko */,
+ 04FF454C2D321E590085A7B2 /* it */,
+ 04FF45502D321EA00085A7B2 /* uk */,
+ 04FF45542D321F080085A7B2 /* pt-PT */,
+ 04FF45582D321F720085A7B2 /* es */,
+ 04FF455C2D3220850085A7B2 /* ar */,
+ 04FF45602D3220F00085A7B2 /* vi */,
+ 04FF45642D32212D0085A7B2 /* ms */,
+ 04FF45682D3221820085A7B2 /* nl */,
+ 04FF456C2D3221BD0085A7B2 /* ro */,
+ 04FF45702D3222620085A7B2 /* lt */,
+ 04FF45742D3222B50085A7B2 /* sv */,
+ 04FF45782D3223130085A7B2 /* et */,
+ 04FF457C2D3223620085A7B2 /* pl */,
+ 04FF45802D3223A90085A7B2 /* sk */,
+ 04FF45842D3223EA0085A7B2 /* cs */,
+ 04FF45882D323B300085A7B2 /* he */,
+ 04FF458C2D323B6F0085A7B2 /* el */,
+ 04FF45902D323DE60085A7B2 /* sr */,
+ 04FF45942D323EAC0085A7B2 /* tr */,
+ 04FF45982D323EEF0085A7B2 /* hu */,
+ 04FF459C2D323F620085A7B2 /* bg */,
+ 04FF45A02D3240110085A7B2 /* kk */,
+ 04FF45A42D32414C0085A7B2 /* hr */,
+ 04FF45A82D32418E0085A7B2 /* th */,
+ 04FF45AC2D32420B0085A7B2 /* id */,
+ 04FF45B02D32424F0085A7B2 /* fi */,
+ 04FF45B42D3242920085A7B2 /* da */,
+ 04FF45B82D3243560085A7B2 /* zh-HK */,
+ 04FF45BC2D32437C0085A7B2 /* zh-Hant */,
+ 04FF45C02D3247190085A7B2 /* bn */,
);
name = InfoPlist_sky.strings;
sourceTree = "";
@@ -658,6 +868,41 @@
children = (
04717D6C2D1B983200089BD3 /* en */,
04717D6E2D1B983900089BD3 /* zh-Hans */,
+ 04FF45372D3218240085A7B2 /* fr */,
+ 04FF453B2D32199F0085A7B2 /* ru */,
+ 04FF453F2D321A410085A7B2 /* de */,
+ 04FF45432D321AB50085A7B2 /* ja */,
+ 04FF45472D321DB80085A7B2 /* ko */,
+ 04FF454B2D321E590085A7B2 /* it */,
+ 04FF454F2D321EA00085A7B2 /* uk */,
+ 04FF45532D321F080085A7B2 /* pt-PT */,
+ 04FF45572D321F720085A7B2 /* es */,
+ 04FF455B2D3220840085A7B2 /* ar */,
+ 04FF455F2D3220F00085A7B2 /* vi */,
+ 04FF45632D32212D0085A7B2 /* ms */,
+ 04FF45672D3221820085A7B2 /* nl */,
+ 04FF456B2D3221BD0085A7B2 /* ro */,
+ 04FF456F2D3222620085A7B2 /* lt */,
+ 04FF45732D3222B40085A7B2 /* sv */,
+ 04FF45772D3223130085A7B2 /* et */,
+ 04FF457B2D3223620085A7B2 /* pl */,
+ 04FF457F2D3223A90085A7B2 /* sk */,
+ 04FF45832D3223EA0085A7B2 /* cs */,
+ 04FF45872D323B300085A7B2 /* he */,
+ 04FF458B2D323B6F0085A7B2 /* el */,
+ 04FF458F2D323DE60085A7B2 /* sr */,
+ 04FF45932D323EAC0085A7B2 /* tr */,
+ 04FF45972D323EEF0085A7B2 /* hu */,
+ 04FF459B2D323F610085A7B2 /* bg */,
+ 04FF459F2D3240110085A7B2 /* kk */,
+ 04FF45A32D32414C0085A7B2 /* hr */,
+ 04FF45A72D32418D0085A7B2 /* th */,
+ 04FF45AB2D32420B0085A7B2 /* id */,
+ 04FF45AF2D32424F0085A7B2 /* fi */,
+ 04FF45B32D3242920085A7B2 /* da */,
+ 04FF45B72D3243560085A7B2 /* zh-HK */,
+ 04FF45BB2D32437B0085A7B2 /* zh-Hant */,
+ 04FF45BF2D3247190085A7B2 /* bn */,
);
name = InfoPlist.strings;
sourceTree = "";
@@ -667,6 +912,41 @@
children = (
04717D702D1B9B5A00089BD3 /* zh-Hans */,
04717D722D1B9B5D00089BD3 /* en */,
+ 04FF45392D3218240085A7B2 /* fr */,
+ 04FF453D2D32199F0085A7B2 /* ru */,
+ 04FF45412D321A420085A7B2 /* de */,
+ 04FF45452D321AB60085A7B2 /* ja */,
+ 04FF45492D321DB80085A7B2 /* ko */,
+ 04FF454D2D321E590085A7B2 /* it */,
+ 04FF45512D321EA00085A7B2 /* uk */,
+ 04FF45552D321F080085A7B2 /* pt-PT */,
+ 04FF45592D321F720085A7B2 /* es */,
+ 04FF455D2D3220850085A7B2 /* ar */,
+ 04FF45612D3220F00085A7B2 /* vi */,
+ 04FF45652D32212D0085A7B2 /* ms */,
+ 04FF45692D3221820085A7B2 /* nl */,
+ 04FF456D2D3221BD0085A7B2 /* ro */,
+ 04FF45712D3222620085A7B2 /* lt */,
+ 04FF45752D3222B50085A7B2 /* sv */,
+ 04FF45792D3223130085A7B2 /* et */,
+ 04FF457D2D3223620085A7B2 /* pl */,
+ 04FF45812D3223A90085A7B2 /* sk */,
+ 04FF45852D3223EA0085A7B2 /* cs */,
+ 04FF45892D323B300085A7B2 /* he */,
+ 04FF458D2D323B6F0085A7B2 /* el */,
+ 04FF45912D323DE70085A7B2 /* sr */,
+ 04FF45952D323EAC0085A7B2 /* tr */,
+ 04FF45992D323EEF0085A7B2 /* hu */,
+ 04FF459D2D323F620085A7B2 /* bg */,
+ 04FF45A12D3240110085A7B2 /* kk */,
+ 04FF45A52D32414C0085A7B2 /* hr */,
+ 04FF45A92D32418E0085A7B2 /* th */,
+ 04FF45AD2D32420B0085A7B2 /* id */,
+ 04FF45B12D32424F0085A7B2 /* fi */,
+ 04FF45B52D3242920085A7B2 /* da */,
+ 04FF45B92D3243560085A7B2 /* zh-HK */,
+ 04FF45BD2D32437C0085A7B2 /* zh-Hant */,
+ 04FF45C12D3247190085A7B2 /* bn */,
);
name = InfoPlist_xhj.strings;
sourceTree = "";
@@ -676,6 +956,41 @@
children = (
97C146FB1CF9000F007C117D /* Base */,
0420903B2C0EEAA50073E654 /* zh-Hans */,
+ 04FF45362D3218240085A7B2 /* fr */,
+ 04FF453A2D32199F0085A7B2 /* ru */,
+ 04FF453E2D321A410085A7B2 /* de */,
+ 04FF45422D321AB50085A7B2 /* ja */,
+ 04FF45462D321DB80085A7B2 /* ko */,
+ 04FF454A2D321E590085A7B2 /* it */,
+ 04FF454E2D321EA00085A7B2 /* uk */,
+ 04FF45522D321F080085A7B2 /* pt-PT */,
+ 04FF45562D321F720085A7B2 /* es */,
+ 04FF455A2D3220840085A7B2 /* ar */,
+ 04FF455E2D3220F00085A7B2 /* vi */,
+ 04FF45622D32212D0085A7B2 /* ms */,
+ 04FF45662D3221820085A7B2 /* nl */,
+ 04FF456A2D3221BD0085A7B2 /* ro */,
+ 04FF456E2D3222620085A7B2 /* lt */,
+ 04FF45722D3222B40085A7B2 /* sv */,
+ 04FF45762D3223130085A7B2 /* et */,
+ 04FF457A2D3223620085A7B2 /* pl */,
+ 04FF457E2D3223A90085A7B2 /* sk */,
+ 04FF45822D3223EA0085A7B2 /* cs */,
+ 04FF45862D323B300085A7B2 /* he */,
+ 04FF458A2D323B6F0085A7B2 /* el */,
+ 04FF458E2D323DE60085A7B2 /* sr */,
+ 04FF45922D323EAC0085A7B2 /* tr */,
+ 04FF45962D323EEF0085A7B2 /* hu */,
+ 04FF459A2D323F610085A7B2 /* bg */,
+ 04FF459E2D3240110085A7B2 /* kk */,
+ 04FF45A22D32414C0085A7B2 /* hr */,
+ 04FF45A62D32418D0085A7B2 /* th */,
+ 04FF45AA2D32420B0085A7B2 /* id */,
+ 04FF45AE2D32424F0085A7B2 /* fi */,
+ 04FF45B22D3242920085A7B2 /* da */,
+ 04FF45B62D3243560085A7B2 /* zh-HK */,
+ 04FF45BA2D32437B0085A7B2 /* zh-Hant */,
+ 04FF45BE2D3247190085A7B2 /* bn */,
);
name = Main.storyboard;
sourceTree = "";
diff --git a/ios/Runner/AppDelegate.m b/ios/Runner/AppDelegate.m
index f4187699..c6d3389b 100755
--- a/ios/Runner/AppDelegate.m
+++ b/ios/Runner/AppDelegate.m
@@ -5,7 +5,7 @@
#import "XSFlutterManager.h"
#import
-#import
+// #import
@interface AppDelegate()
diff --git a/ios/Runner/ar.lproj/InfoPlist.strings b/ios/Runner/ar.lproj/InfoPlist.strings
new file mode 100644
index 00000000..8695cc42
--- /dev/null
+++ b/ios/Runner/ar.lproj/InfoPlist.strings
@@ -0,0 +1,18 @@
+/*
+ InfoPlist_sky.strings
+ Runner
+
+ Created by Mac on 2024/12/25.
+
+*/
+CFBundleName="TTLock Pro";
+CFBundleDisplayName="TTLock Pro";
+NSBluetoothAlwaysUsageDescription="يستخدم هذا التطبيق البلوتوث للبحث عن الأجهزة المختلفة والاتصال بها ونقل البيانات";
+NSBluetoothPeripheralUsageDescription="يستخدم هذا التطبيق البلوتوث للبحث عن الأجهزة المختلفة والاتصال بها ونقل البيانات";
+NSCameraUsageDescription="يطلب التطبيق الوصول إلى الكاميرا لالتقاط الصور وتحميل الصور الرمزية والتحقق من الوجه";
+NSContactsUsageDescription="يصل التطبيق إلى جهات الاتصال لإرسال المفاتيح الإلكترونية إلى جهات الاتصال في دفتر العناوين الخاص بك";
+NSLocationAlwaysAndWhenlnUseUsageDescription="نحتاج إلى الوصول إلى موقعك لتحديد أجهزة أقفال البلوتوث بدقة أكبر";
+NSLocationAlwaysUsageDescription="نحتاج إلى الوصول إلى موقعك لتحديد أجهزة أقفال البلوتوث بدقة أكبر";
+NSLocationWhenInUseUsageDescription="نحتاج إلى الوصول إلى موقعك لتحديد أجهزة أقفال البلوتوث بدقة أكبر";
+NSMicrophoneUsageDescription="يطلب التطبيق الوصول إلى الميكروفون لإجراء المكالمات";
+NSPhotoLibraryUsageDescription="يطلب التطبيق الوصول إلى مكتبة الصور لتحميل الصور الرمزية";
diff --git a/ios/Runner/ar.lproj/InfoPlist_sky.strings b/ios/Runner/ar.lproj/InfoPlist_sky.strings
new file mode 100644
index 00000000..8695cc42
--- /dev/null
+++ b/ios/Runner/ar.lproj/InfoPlist_sky.strings
@@ -0,0 +1,18 @@
+/*
+ InfoPlist_sky.strings
+ Runner
+
+ Created by Mac on 2024/12/25.
+
+*/
+CFBundleName="TTLock Pro";
+CFBundleDisplayName="TTLock Pro";
+NSBluetoothAlwaysUsageDescription="يستخدم هذا التطبيق البلوتوث للبحث عن الأجهزة المختلفة والاتصال بها ونقل البيانات";
+NSBluetoothPeripheralUsageDescription="يستخدم هذا التطبيق البلوتوث للبحث عن الأجهزة المختلفة والاتصال بها ونقل البيانات";
+NSCameraUsageDescription="يطلب التطبيق الوصول إلى الكاميرا لالتقاط الصور وتحميل الصور الرمزية والتحقق من الوجه";
+NSContactsUsageDescription="يصل التطبيق إلى جهات الاتصال لإرسال المفاتيح الإلكترونية إلى جهات الاتصال في دفتر العناوين الخاص بك";
+NSLocationAlwaysAndWhenlnUseUsageDescription="نحتاج إلى الوصول إلى موقعك لتحديد أجهزة أقفال البلوتوث بدقة أكبر";
+NSLocationAlwaysUsageDescription="نحتاج إلى الوصول إلى موقعك لتحديد أجهزة أقفال البلوتوث بدقة أكبر";
+NSLocationWhenInUseUsageDescription="نحتاج إلى الوصول إلى موقعك لتحديد أجهزة أقفال البلوتوث بدقة أكبر";
+NSMicrophoneUsageDescription="يطلب التطبيق الوصول إلى الميكروفون لإجراء المكالمات";
+NSPhotoLibraryUsageDescription="يطلب التطبيق الوصول إلى مكتبة الصور لتحميل الصور الرمزية";
diff --git a/ios/Runner/ar.lproj/InfoPlist_xhj.strings b/ios/Runner/ar.lproj/InfoPlist_xhj.strings
new file mode 100644
index 00000000..c96b2316
--- /dev/null
+++ b/ios/Runner/ar.lproj/InfoPlist_xhj.strings
@@ -0,0 +1,18 @@
+/*
+ InfoPlist_xhj.strings
+ Runner
+
+ Created by Mac on 2024/12/25.
+
+*/
+CFBundleName="StarLock Pro";
+CFBundleDisplayName="StarLock Pro";
+NSBluetoothAlwaysUsageDescription="يستخدم هذا التطبيق البلوتوث للبحث عن الأجهزة المختلفة والاتصال بها ونقل البيانات";
+NSBluetoothPeripheralUsageDescription="يستخدم هذا التطبيق البلوتوث للبحث عن الأجهزة المختلفة والاتصال بها ونقل البيانات";
+NSCameraUsageDescription="يطلب التطبيق الوصول إلى الكاميرا لالتقاط الصور وتحميل الصور الرمزية والتحقق من الوجه";
+NSContactsUsageDescription="يصل التطبيق إلى جهات الاتصال لإرسال المفاتيح الإلكترونية إلى جهات الاتصال في دفتر العناوين الخاص بك";
+NSLocationAlwaysAndWhenlnUseUsageDescription="نحتاج إلى الوصول إلى موقعك لتحديد أجهزة أقفال البلوتوث بدقة أكبر";
+NSLocationAlwaysUsageDescription="نحتاج إلى الوصول إلى موقعك لتحديد أجهزة أقفال البلوتوث بدقة أكبر";
+NSLocationWhenInUseUsageDescription="نحتاج إلى الوصول إلى موقعك لتحديد أجهزة أقفال البلوتوث بدقة أكبر";
+NSMicrophoneUsageDescription="يطلب التطبيق الوصول إلى الميكروفون لإجراء المكالمات";
+NSPhotoLibraryUsageDescription="يطلب التطبيق الوصول إلى مكتبة الصور لتحميل الصور الرمزية";
diff --git a/ios/Runner/ar.lproj/Main.strings b/ios/Runner/ar.lproj/Main.strings
new file mode 100644
index 00000000..8b137891
--- /dev/null
+++ b/ios/Runner/ar.lproj/Main.strings
@@ -0,0 +1 @@
+
diff --git a/ios/Runner/bg.lproj/InfoPlist.strings b/ios/Runner/bg.lproj/InfoPlist.strings
new file mode 100644
index 00000000..d6a8f4aa
--- /dev/null
+++ b/ios/Runner/bg.lproj/InfoPlist.strings
@@ -0,0 +1,18 @@
+/*
+ InfoPlist_sky.strings
+ Runner
+
+ Created by Mac on 2024/12/25.
+
+*/
+CFBundleName="TTLock Pro";
+CFBundleDisplayName="TTLock Pro";
+NSBluetoothAlwaysUsageDescription="Тази приложение използва Bluetooth за търсене, свързване и прехвърляне на данни между различни устройства";
+NSBluetoothPeripheralUsageDescription="Тази приложение използва Bluetooth за търсене, свързване и прехвърляне на данни между различни устройства";
+NSCameraUsageDescription="Приложението иска достъп до камерата, за да прави снимки, качва аватари и извършва разпознаване на лице";
+NSContactsUsageDescription="Приложението има достъп до контактите ви, за да изпраща електронни ключове на вашите контакти";
+NSLocationAlwaysAndWhenInUseUsageDescription="Необходимо е да имаме достъп до вашето местоположение, за да сканираме по-точно Bluetooth устройства за заключване в района";
+NSLocationAlwaysUsageDescription="Необходимо е да имаме достъп до вашето местоположение, за да сканираме по-точно Bluetooth устройства за заключване в района";
+NSLocationWhenInUseUsageDescription="Необходимо е да имаме достъп до вашето местоположение, за да сканираме по-точно Bluetooth устройства за заключване в района";
+NSMicrophoneUsageDescription="Приложението иска достъп до микрофона за провеждане на разговори";
+NSPhotoLibraryUsageDescription="Приложението иска достъп до фотогалерията за качване на аватари";
diff --git a/ios/Runner/bg.lproj/InfoPlist_sky.strings b/ios/Runner/bg.lproj/InfoPlist_sky.strings
new file mode 100644
index 00000000..d6a8f4aa
--- /dev/null
+++ b/ios/Runner/bg.lproj/InfoPlist_sky.strings
@@ -0,0 +1,18 @@
+/*
+ InfoPlist_sky.strings
+ Runner
+
+ Created by Mac on 2024/12/25.
+
+*/
+CFBundleName="TTLock Pro";
+CFBundleDisplayName="TTLock Pro";
+NSBluetoothAlwaysUsageDescription="Тази приложение използва Bluetooth за търсене, свързване и прехвърляне на данни между различни устройства";
+NSBluetoothPeripheralUsageDescription="Тази приложение използва Bluetooth за търсене, свързване и прехвърляне на данни между различни устройства";
+NSCameraUsageDescription="Приложението иска достъп до камерата, за да прави снимки, качва аватари и извършва разпознаване на лице";
+NSContactsUsageDescription="Приложението има достъп до контактите ви, за да изпраща електронни ключове на вашите контакти";
+NSLocationAlwaysAndWhenInUseUsageDescription="Необходимо е да имаме достъп до вашето местоположение, за да сканираме по-точно Bluetooth устройства за заключване в района";
+NSLocationAlwaysUsageDescription="Необходимо е да имаме достъп до вашето местоположение, за да сканираме по-точно Bluetooth устройства за заключване в района";
+NSLocationWhenInUseUsageDescription="Необходимо е да имаме достъп до вашето местоположение, за да сканираме по-точно Bluetooth устройства за заключване в района";
+NSMicrophoneUsageDescription="Приложението иска достъп до микрофона за провеждане на разговори";
+NSPhotoLibraryUsageDescription="Приложението иска достъп до фотогалерията за качване на аватари";
diff --git a/ios/Runner/bg.lproj/InfoPlist_xhj.strings b/ios/Runner/bg.lproj/InfoPlist_xhj.strings
new file mode 100644
index 00000000..14685003
--- /dev/null
+++ b/ios/Runner/bg.lproj/InfoPlist_xhj.strings
@@ -0,0 +1,18 @@
+/*
+ InfoPlist_xhj.strings
+ Runner
+
+ Created by Mac on 2024/12/25.
+
+*/
+CFBundleName="StarLock Pro";
+CFBundleDisplayName="StarLock Pro";
+NSBluetoothAlwaysUsageDescription="Тази приложение използва Bluetooth за търсене, свързване и прехвърляне на данни между различни устройства";
+NSBluetoothPeripheralUsageDescription="Тази приложение използва Bluetooth за търсене, свързване и прехвърляне на данни между различни устройства";
+NSCameraUsageDescription="Приложението иска достъп до камерата, за да прави снимки, качва аватари и извършва разпознаване на лице";
+NSContactsUsageDescription="Приложението има достъп до контактите ви, за да изпраща електронни ключове на вашите контакти";
+NSLocationAlwaysAndWhenInUseUsageDescription="Необходимо е да имаме достъп до вашето местоположение, за да сканираме по-точно Bluetooth устройства за заключване в района";
+NSLocationAlwaysUsageDescription="Необходимо е да имаме достъп до вашето местоположение, за да сканираме по-точно Bluetooth устройства за заключване в района";
+NSLocationWhenInUseUsageDescription="Необходимо е да имаме достъп до вашето местоположение, за да сканираме по-точно Bluetooth устройства за заключване в района";
+NSMicrophoneUsageDescription="Приложението иска достъп до микрофона за провеждане на разговори";
+NSPhotoLibraryUsageDescription="Приложението иска достъп до фотогалерията за качване на аватари";
diff --git a/ios/Runner/bg.lproj/Main.strings b/ios/Runner/bg.lproj/Main.strings
new file mode 100644
index 00000000..8b137891
--- /dev/null
+++ b/ios/Runner/bg.lproj/Main.strings
@@ -0,0 +1 @@
+
diff --git a/ios/Runner/bn.lproj/InfoPlist.strings b/ios/Runner/bn.lproj/InfoPlist.strings
new file mode 100644
index 00000000..dcab1a09
--- /dev/null
+++ b/ios/Runner/bn.lproj/InfoPlist.strings
@@ -0,0 +1,18 @@
+/*
+ InfoPlist_sky.strings
+ Runner
+
+ Created by Mac on 2024/12/25.
+
+*/
+CFBundleName="TTLock Pro";
+CFBundleDisplayName="TTLock Pro";
+NSBluetoothAlwaysUsageDescription="এই অ্যাপ্লিকেশনটি বিভিন্ন ডিভাইসের মধ্যে ডেটা খুঁজে বের করতে, সংযোগ করতে এবং ট্রান্সফার করতে Bluetooth ব্যবহার করে";
+NSBluetoothPeripheralUsageDescription="এই অ্যাপ্লিকেশনটি বিভিন্ন ডিভাইসের মধ্যে ডেটা খুঁজে বের করতে, সংযোগ করতে এবং ট্রান্সফার করতে Bluetooth ব্যবহার করে";
+NSCameraUsageDescription="অ্যাপ্লিকেশনটি ক্যামেরার অ্যাক্সেস চায়, ছবি তুলতে, অ্যাভাটার আপলোড করতে এবং ফেস রিকগনিশন করতে";
+NSContactsUsageDescription="অ্যাপ্লিকেশনটি আপনার কন্টাক্টের অ্যাক্সেস চায়, যাতে কন্টাক্টের কাছে ইলেকট্রনিক কিপি পাঠানো যায়";
+NSLocationAlwaysAndWhenInUseUsageDescription="আমরা আপনার অবস্থান তথ্যের অ্যাক্সেস প্রয়োজন যাতে নিকটস্থ Bluetooth লক ডিভাইসগুলিকে আরও সঠিকভাবে স্ক্যান করা যায়";
+NSLocationAlwaysUsageDescription="আমরা আপনার অবস্থান তথ্যের অ্যাক্সেস প্রয়োজন যাতে নিকটস্থ Bluetooth লক ডিভাইসগুলিকে আরও সঠিকভাবে স্ক্যান করা যায়";
+NSLocationWhenInUseUsageDescription="আমরা আপনার অবস্থান তথ্যের অ্যাক্সেস প্রয়োজন যাতে নিকটস্থ Bluetooth লক ডিভাইসগুলিকে আরও সঠিকভাবে স্ক্যান করা যায়";
+NSMicrophoneUsageDescription="অ্যাপ্লিকেশনটি কল করার জন্য মাইক্রোফোনের অ্যাক্সেস চায়";
+NSPhotoLibraryUsageDescription="অ্যাপ্লিকেশনটি অ্যাভাটার আপলোড করার জন্য ফটো লাইব্রেরির অ্যাক্সেস চায়";
diff --git a/ios/Runner/bn.lproj/InfoPlist_sky.strings b/ios/Runner/bn.lproj/InfoPlist_sky.strings
new file mode 100644
index 00000000..dcab1a09
--- /dev/null
+++ b/ios/Runner/bn.lproj/InfoPlist_sky.strings
@@ -0,0 +1,18 @@
+/*
+ InfoPlist_sky.strings
+ Runner
+
+ Created by Mac on 2024/12/25.
+
+*/
+CFBundleName="TTLock Pro";
+CFBundleDisplayName="TTLock Pro";
+NSBluetoothAlwaysUsageDescription="এই অ্যাপ্লিকেশনটি বিভিন্ন ডিভাইসের মধ্যে ডেটা খুঁজে বের করতে, সংযোগ করতে এবং ট্রান্সফার করতে Bluetooth ব্যবহার করে";
+NSBluetoothPeripheralUsageDescription="এই অ্যাপ্লিকেশনটি বিভিন্ন ডিভাইসের মধ্যে ডেটা খুঁজে বের করতে, সংযোগ করতে এবং ট্রান্সফার করতে Bluetooth ব্যবহার করে";
+NSCameraUsageDescription="অ্যাপ্লিকেশনটি ক্যামেরার অ্যাক্সেস চায়, ছবি তুলতে, অ্যাভাটার আপলোড করতে এবং ফেস রিকগনিশন করতে";
+NSContactsUsageDescription="অ্যাপ্লিকেশনটি আপনার কন্টাক্টের অ্যাক্সেস চায়, যাতে কন্টাক্টের কাছে ইলেকট্রনিক কিপি পাঠানো যায়";
+NSLocationAlwaysAndWhenInUseUsageDescription="আমরা আপনার অবস্থান তথ্যের অ্যাক্সেস প্রয়োজন যাতে নিকটস্থ Bluetooth লক ডিভাইসগুলিকে আরও সঠিকভাবে স্ক্যান করা যায়";
+NSLocationAlwaysUsageDescription="আমরা আপনার অবস্থান তথ্যের অ্যাক্সেস প্রয়োজন যাতে নিকটস্থ Bluetooth লক ডিভাইসগুলিকে আরও সঠিকভাবে স্ক্যান করা যায়";
+NSLocationWhenInUseUsageDescription="আমরা আপনার অবস্থান তথ্যের অ্যাক্সেস প্রয়োজন যাতে নিকটস্থ Bluetooth লক ডিভাইসগুলিকে আরও সঠিকভাবে স্ক্যান করা যায়";
+NSMicrophoneUsageDescription="অ্যাপ্লিকেশনটি কল করার জন্য মাইক্রোফোনের অ্যাক্সেস চায়";
+NSPhotoLibraryUsageDescription="অ্যাপ্লিকেশনটি অ্যাভাটার আপলোড করার জন্য ফটো লাইব্রেরির অ্যাক্সেস চায়";
diff --git a/ios/Runner/bn.lproj/InfoPlist_xhj.strings b/ios/Runner/bn.lproj/InfoPlist_xhj.strings
new file mode 100644
index 00000000..429a1ec5
--- /dev/null
+++ b/ios/Runner/bn.lproj/InfoPlist_xhj.strings
@@ -0,0 +1,18 @@
+/*
+ InfoPlist_xhj.strings
+ Runner
+
+ Created by Mac on 2024/12/25.
+
+*/
+CFBundleName="StarLock Pro";
+CFBundleDisplayName="StarLock Pro";
+NSBluetoothAlwaysUsageDescription="এই অ্যাপ্লিকেশনটি বিভিন্ন ডিভাইসের মধ্যে ডেটা খুঁজে বের করতে, সংযোগ করতে এবং ট্রান্সফার করতে Bluetooth ব্যবহার করে";
+NSBluetoothPeripheralUsageDescription="এই অ্যাপ্লিকেশনটি বিভিন্ন ডিভাইসের মধ্যে ডেটা খুঁজে বের করতে, সংযোগ করতে এবং ট্রান্সফার করতে Bluetooth ব্যবহার করে";
+NSCameraUsageDescription="অ্যাপ্লিকেশনটি ক্যামেরার অ্যাক্সেস চায়, ছবি তুলতে, অ্যাভাটার আপলোড করতে এবং ফেস রিকগনিশন করতে";
+NSContactsUsageDescription="অ্যাপ্লিকেশনটি আপনার কন্টাক্টের অ্যাক্সেস চায়, যাতে কন্টাক্টের কাছে ইলেকট্রনিক কিপি পাঠানো যায়";
+NSLocationAlwaysAndWhenInUseUsageDescription="আমরা আপনার অবস্থান তথ্যের অ্যাক্সেস প্রয়োজন যাতে নিকটস্থ Bluetooth লক ডিভাইসগুলিকে আরও সঠিকভাবে স্ক্যান করা যায়";
+NSLocationAlwaysUsageDescription="আমরা আপনার অবস্থান তথ্যের অ্যাক্সেস প্রয়োজন যাতে নিকটস্থ Bluetooth লক ডিভাইসগুলিকে আরও সঠিকভাবে স্ক্যান করা যায়";
+NSLocationWhenInUseUsageDescription="আমরা আপনার অবস্থান তথ্যের অ্যাক্সেস প্রয়োজন যাতে নিকটস্থ Bluetooth লক ডিভাইসগুলিকে আরও সঠিকভাবে স্ক্যান করা যায়";
+NSMicrophoneUsageDescription="অ্যাপ্লিকেশনটি কল করার জন্য মাইক্রোফোনের অ্যাক্সেস চায়";
+NSPhotoLibraryUsageDescription="অ্যাপ্লিকেশনটি অ্যাভাটার আপলোড করার জন্য ফটো লাইব্রেরির অ্যাক্সেস চায়";
diff --git a/ios/Runner/bn.lproj/Main.strings b/ios/Runner/bn.lproj/Main.strings
new file mode 100644
index 00000000..8b137891
--- /dev/null
+++ b/ios/Runner/bn.lproj/Main.strings
@@ -0,0 +1 @@
+
diff --git a/ios/Runner/cs.lproj/InfoPlist.strings b/ios/Runner/cs.lproj/InfoPlist.strings
new file mode 100644
index 00000000..580e05ec
--- /dev/null
+++ b/ios/Runner/cs.lproj/InfoPlist.strings
@@ -0,0 +1,18 @@
+/*
+ InfoPlist_sky.strings
+ Runner
+
+ Created by Mac on 2024/12/25.
+
+*/
+CFBundleName="TTLock Pro";
+CFBundleDisplayName="TTLock Pro";
+NSBluetoothAlwaysUsageDescription="Tato aplikace používá Bluetooth k vyhledávání, připojování a přenosu dat mezi různými zařízeními";
+NSBluetoothPeripheralUsageDescription="Tato aplikace používá Bluetooth k vyhledávání, připojování a přenosu dat mezi různými zařízeními";
+NSCameraUsageDescription="Aplikace požaduje přístup k fotoaparátu pro pořízení fotografií, nahrávání avatarů a ověřování tváře";
+NSContactsUsageDescription="Aplikace přistupuje k vašim kontaktům, aby poslala elektronické klíče do kontaktů ve vašem adresáři";
+NSLocationAlwaysAndWhenInUseUsageDescription="Potřebujeme přístup k vaší poloze, abychom přesněji skenovali Bluetooth zámky v okolí";
+NSLocationAlwaysUsageDescription="Potřebujeme přístup k vaší poloze, abychom přesněji skenovali Bluetooth zámky v okolí";
+NSLocationWhenInUseUsageDescription="Potřebujeme přístup k vaší poloze, abychom přesněji skenovali Bluetooth zámky v okolí";
+NSMicrophoneUsageDescription="Aplikace požaduje přístup k mikrofonu pro hovory";
+NSPhotoLibraryUsageDescription="Aplikace požaduje přístup k knihovně fotografií pro nahrávání avatarů";
diff --git a/ios/Runner/cs.lproj/InfoPlist_sky.strings b/ios/Runner/cs.lproj/InfoPlist_sky.strings
new file mode 100644
index 00000000..580e05ec
--- /dev/null
+++ b/ios/Runner/cs.lproj/InfoPlist_sky.strings
@@ -0,0 +1,18 @@
+/*
+ InfoPlist_sky.strings
+ Runner
+
+ Created by Mac on 2024/12/25.
+
+*/
+CFBundleName="TTLock Pro";
+CFBundleDisplayName="TTLock Pro";
+NSBluetoothAlwaysUsageDescription="Tato aplikace používá Bluetooth k vyhledávání, připojování a přenosu dat mezi různými zařízeními";
+NSBluetoothPeripheralUsageDescription="Tato aplikace používá Bluetooth k vyhledávání, připojování a přenosu dat mezi různými zařízeními";
+NSCameraUsageDescription="Aplikace požaduje přístup k fotoaparátu pro pořízení fotografií, nahrávání avatarů a ověřování tváře";
+NSContactsUsageDescription="Aplikace přistupuje k vašim kontaktům, aby poslala elektronické klíče do kontaktů ve vašem adresáři";
+NSLocationAlwaysAndWhenInUseUsageDescription="Potřebujeme přístup k vaší poloze, abychom přesněji skenovali Bluetooth zámky v okolí";
+NSLocationAlwaysUsageDescription="Potřebujeme přístup k vaší poloze, abychom přesněji skenovali Bluetooth zámky v okolí";
+NSLocationWhenInUseUsageDescription="Potřebujeme přístup k vaší poloze, abychom přesněji skenovali Bluetooth zámky v okolí";
+NSMicrophoneUsageDescription="Aplikace požaduje přístup k mikrofonu pro hovory";
+NSPhotoLibraryUsageDescription="Aplikace požaduje přístup k knihovně fotografií pro nahrávání avatarů";
diff --git a/ios/Runner/cs.lproj/InfoPlist_xhj.strings b/ios/Runner/cs.lproj/InfoPlist_xhj.strings
new file mode 100644
index 00000000..2731751b
--- /dev/null
+++ b/ios/Runner/cs.lproj/InfoPlist_xhj.strings
@@ -0,0 +1,18 @@
+/*
+ InfoPlist_xhj.strings
+ Runner
+
+ Created by Mac on 2024/12/25.
+
+*/
+CFBundleName="StarLock Pro";
+CFBundleDisplayName="StarLock Pro";
+NSBluetoothAlwaysUsageDescription="Tato aplikace používá Bluetooth k vyhledávání, připojování a přenosu dat mezi různými zařízeními";
+NSBluetoothPeripheralUsageDescription="Tato aplikace používá Bluetooth k vyhledávání, připojování a přenosu dat mezi různými zařízeními";
+NSCameraUsageDescription="Aplikace požaduje přístup k fotoaparátu pro pořízení fotografií, nahrávání avatarů a ověřování tváře";
+NSContactsUsageDescription="Aplikace přistupuje k vašim kontaktům, aby poslala elektronické klíče do kontaktů ve vašem adresáři";
+NSLocationAlwaysAndWhenInUseUsageDescription="Potřebujeme přístup k vaší poloze, abychom přesněji skenovali Bluetooth zámky v okolí";
+NSLocationAlwaysUsageDescription="Potřebujeme přístup k vaší poloze, abychom přesněji skenovali Bluetooth zámky v okolí";
+NSLocationWhenInUseUsageDescription="Potřebujeme přístup k vaší poloze, abychom přesněji skenovali Bluetooth zámky v okolí";
+NSMicrophoneUsageDescription="Aplikace požaduje přístup k mikrofonu pro hovory";
+NSPhotoLibraryUsageDescription="Aplikace požaduje přístup k knihovně fotografií pro nahrávání avatarů";
diff --git a/ios/Runner/cs.lproj/Main.strings b/ios/Runner/cs.lproj/Main.strings
new file mode 100644
index 00000000..8b137891
--- /dev/null
+++ b/ios/Runner/cs.lproj/Main.strings
@@ -0,0 +1 @@
+
diff --git a/ios/Runner/da.lproj/InfoPlist.strings b/ios/Runner/da.lproj/InfoPlist.strings
new file mode 100644
index 00000000..6acd442e
--- /dev/null
+++ b/ios/Runner/da.lproj/InfoPlist.strings
@@ -0,0 +1,18 @@
+/*
+ InfoPlist_sky.strings
+ Runner
+
+ Created by Mac on 2024/12/25.
+
+*/
+CFBundleName="TTLock Pro";
+CFBundleDisplayName="TTLock Pro";
+NSBluetoothAlwaysUsageDescription="Denne app bruger Bluetooth til at søge efter, oprette forbindelse til og overføre data mellem forskellige enheder";
+NSBluetoothPeripheralUsageDescription="Denne app bruger Bluetooth til at søge efter, oprette forbindelse til og overføre data mellem forskellige enheder";
+NSCameraUsageDescription="Appen anmoder om adgang til kameraet for at tage billeder, uploade avatarer og udføre ansigtsgenkendelse";
+NSContactsUsageDescription="Appen har adgang til dine kontakter for at sende elektroniske nøgler til dine kontakter";
+NSLocationAlwaysAndWhenInUseUsageDescription="Vi har brug for adgang til dine placering oplysninger for at kunne scanne Bluetooth-låse enheder mere præcist i dit område";
+NSLocationAlwaysUsageDescription="Vi har brug for adgang til dine placering oplysninger for at kunne scanne Bluetooth-låse enheder mere præcist i dit område";
+NSLocationWhenInUseUsageDescription="Vi har brug for adgang til dine placering oplysninger for at kunne scanne Bluetooth-låse enheder mere præcist i dit område";
+NSMicrophoneUsageDescription="Appen anmoder om adgang til mikrofonen til opkald";
+NSPhotoLibraryUsageDescription="Appen anmoder om adgang til fotobiblioteket til upload af avatar";
diff --git a/ios/Runner/da.lproj/InfoPlist_sky.strings b/ios/Runner/da.lproj/InfoPlist_sky.strings
new file mode 100644
index 00000000..6acd442e
--- /dev/null
+++ b/ios/Runner/da.lproj/InfoPlist_sky.strings
@@ -0,0 +1,18 @@
+/*
+ InfoPlist_sky.strings
+ Runner
+
+ Created by Mac on 2024/12/25.
+
+*/
+CFBundleName="TTLock Pro";
+CFBundleDisplayName="TTLock Pro";
+NSBluetoothAlwaysUsageDescription="Denne app bruger Bluetooth til at søge efter, oprette forbindelse til og overføre data mellem forskellige enheder";
+NSBluetoothPeripheralUsageDescription="Denne app bruger Bluetooth til at søge efter, oprette forbindelse til og overføre data mellem forskellige enheder";
+NSCameraUsageDescription="Appen anmoder om adgang til kameraet for at tage billeder, uploade avatarer og udføre ansigtsgenkendelse";
+NSContactsUsageDescription="Appen har adgang til dine kontakter for at sende elektroniske nøgler til dine kontakter";
+NSLocationAlwaysAndWhenInUseUsageDescription="Vi har brug for adgang til dine placering oplysninger for at kunne scanne Bluetooth-låse enheder mere præcist i dit område";
+NSLocationAlwaysUsageDescription="Vi har brug for adgang til dine placering oplysninger for at kunne scanne Bluetooth-låse enheder mere præcist i dit område";
+NSLocationWhenInUseUsageDescription="Vi har brug for adgang til dine placering oplysninger for at kunne scanne Bluetooth-låse enheder mere præcist i dit område";
+NSMicrophoneUsageDescription="Appen anmoder om adgang til mikrofonen til opkald";
+NSPhotoLibraryUsageDescription="Appen anmoder om adgang til fotobiblioteket til upload af avatar";
diff --git a/ios/Runner/da.lproj/InfoPlist_xhj.strings b/ios/Runner/da.lproj/InfoPlist_xhj.strings
new file mode 100644
index 00000000..9e18e016
--- /dev/null
+++ b/ios/Runner/da.lproj/InfoPlist_xhj.strings
@@ -0,0 +1,18 @@
+/*
+ InfoPlist_xhj.strings
+ Runner
+
+ Created by Mac on 2024/12/25.
+
+*/
+CFBundleName="StarLock Pro";
+CFBundleDisplayName="StarLock Pro";
+NSBluetoothAlwaysUsageDescription="Denne app bruger Bluetooth til at søge efter, oprette forbindelse til og overføre data mellem forskellige enheder";
+NSBluetoothPeripheralUsageDescription="Denne app bruger Bluetooth til at søge efter, oprette forbindelse til og overføre data mellem forskellige enheder";
+NSCameraUsageDescription="Appen anmoder om adgang til kameraet for at tage billeder, uploade avatarer og udføre ansigtsgenkendelse";
+NSContactsUsageDescription="Appen har adgang til dine kontakter for at sende elektroniske nøgler til dine kontakter";
+NSLocationAlwaysAndWhenInUseUsageDescription="Vi har brug for adgang til dine placering oplysninger for at kunne scanne Bluetooth-låse enheder mere præcist i dit område";
+NSLocationAlwaysUsageDescription="Vi har brug for adgang til dine placering oplysninger for at kunne scanne Bluetooth-låse enheder mere præcist i dit område";
+NSLocationWhenInUseUsageDescription="Vi har brug for adgang til dine placering oplysninger for at kunne scanne Bluetooth-låse enheder mere præcist i dit område";
+NSMicrophoneUsageDescription="Appen anmoder om adgang til mikrofonen til opkald";
+NSPhotoLibraryUsageDescription="Appen anmoder om adgang til fotobiblioteket til upload af avatar";
diff --git a/ios/Runner/da.lproj/Main.strings b/ios/Runner/da.lproj/Main.strings
new file mode 100644
index 00000000..8b137891
--- /dev/null
+++ b/ios/Runner/da.lproj/Main.strings
@@ -0,0 +1 @@
+
diff --git a/ios/Runner/de.lproj/InfoPlist.strings b/ios/Runner/de.lproj/InfoPlist.strings
new file mode 100644
index 00000000..6352ee57
--- /dev/null
+++ b/ios/Runner/de.lproj/InfoPlist.strings
@@ -0,0 +1,18 @@
+/*
+ InfoPlist_sky.strings
+ Runner
+
+ Created by Mac on 2024/12/25.
+
+*/
+CFBundleName="TTLock Pro";
+CFBundleDisplayName="TTLock Pro";
+NSBluetoothAlwaysUsageDescription="Diese App verwendet Bluetooth, um Daten zwischen verschiedenen Geräten zu suchen, zu verbinden und zu übertragen.";
+NSBluetoothPeripheralUsageDescription="Diese App verwendet Bluetooth, um Daten zwischen verschiedenen Geräten zu suchen, zu verbinden und zu übertragen.";
+NSCameraUsageDescription="Die App benötigt Zugriff auf die Kamera, um Fotos aufzunehmen, Avatare hochzuladen und zur Gesichtserkennung.";
+NSContactsUsageDescription="Die App greift auf Ihr Adressbuch zu, um elektronische Schlüssel an Kontakte zu senden.";
+NSLocationAlwaysAndWhenlnUseUsageDescription="Wir benötigen Zugriff auf Ihre Standortdaten, um Bluetooth-Schlossgeräte in Ihrer Nähe genauer zu scannen.";
+NSLocationAlwaysUsageDescription="Wir benötigen Zugriff auf Ihre Standortdaten, um Bluetooth-Schlossgeräte in Ihrer Nähe genauer zu scannen.";
+NSLocationWhenInUseUsageDescription="Wir benötigen Zugriff auf Ihre Standortdaten, um Bluetooth-Schlossgeräte in Ihrer Nähe genauer zu scannen.";
+NSMicrophoneUsageDescription="Die App benötigt Zugriff auf das Mikrofon für Anrufe.";
+NSPhotoLibraryUsageDescription="Die App benötigt Zugriff auf die Fotobibliothek, um Avatare hochzuladen.";
diff --git a/ios/Runner/de.lproj/InfoPlist_sky.strings b/ios/Runner/de.lproj/InfoPlist_sky.strings
new file mode 100644
index 00000000..6352ee57
--- /dev/null
+++ b/ios/Runner/de.lproj/InfoPlist_sky.strings
@@ -0,0 +1,18 @@
+/*
+ InfoPlist_sky.strings
+ Runner
+
+ Created by Mac on 2024/12/25.
+
+*/
+CFBundleName="TTLock Pro";
+CFBundleDisplayName="TTLock Pro";
+NSBluetoothAlwaysUsageDescription="Diese App verwendet Bluetooth, um Daten zwischen verschiedenen Geräten zu suchen, zu verbinden und zu übertragen.";
+NSBluetoothPeripheralUsageDescription="Diese App verwendet Bluetooth, um Daten zwischen verschiedenen Geräten zu suchen, zu verbinden und zu übertragen.";
+NSCameraUsageDescription="Die App benötigt Zugriff auf die Kamera, um Fotos aufzunehmen, Avatare hochzuladen und zur Gesichtserkennung.";
+NSContactsUsageDescription="Die App greift auf Ihr Adressbuch zu, um elektronische Schlüssel an Kontakte zu senden.";
+NSLocationAlwaysAndWhenlnUseUsageDescription="Wir benötigen Zugriff auf Ihre Standortdaten, um Bluetooth-Schlossgeräte in Ihrer Nähe genauer zu scannen.";
+NSLocationAlwaysUsageDescription="Wir benötigen Zugriff auf Ihre Standortdaten, um Bluetooth-Schlossgeräte in Ihrer Nähe genauer zu scannen.";
+NSLocationWhenInUseUsageDescription="Wir benötigen Zugriff auf Ihre Standortdaten, um Bluetooth-Schlossgeräte in Ihrer Nähe genauer zu scannen.";
+NSMicrophoneUsageDescription="Die App benötigt Zugriff auf das Mikrofon für Anrufe.";
+NSPhotoLibraryUsageDescription="Die App benötigt Zugriff auf die Fotobibliothek, um Avatare hochzuladen.";
diff --git a/ios/Runner/de.lproj/InfoPlist_xhj.strings b/ios/Runner/de.lproj/InfoPlist_xhj.strings
new file mode 100644
index 00000000..5f4de660
--- /dev/null
+++ b/ios/Runner/de.lproj/InfoPlist_xhj.strings
@@ -0,0 +1,18 @@
+/*
+ InfoPlist_xhj.strings
+ Runner
+
+ Created by Mac on 2024/12/25.
+
+*/
+CFBundleName="StarLock Pro";
+CFBundleDisplayName="StarLock Pro";
+NSBluetoothAlwaysUsageDescription="Diese App verwendet Bluetooth, um Daten zwischen verschiedenen Geräten zu suchen, zu verbinden und zu übertragen.";
+NSBluetoothPeripheralUsageDescription="Diese App verwendet Bluetooth, um Daten zwischen verschiedenen Geräten zu suchen, zu verbinden und zu übertragen.";
+NSCameraUsageDescription="Die App benötigt Zugriff auf die Kamera, um Fotos aufzunehmen, Avatare hochzuladen und zur Gesichtserkennung.";
+NSContactsUsageDescription="Die App greift auf Ihr Adressbuch zu, um elektronische Schlüssel an Kontakte zu senden.";
+NSLocationAlwaysAndWhenlnUseUsageDescription="Wir benötigen Zugriff auf Ihre Standortdaten, um Bluetooth-Schlossgeräte in Ihrer Nähe genauer zu scannen.";
+NSLocationAlwaysUsageDescription="Wir benötigen Zugriff auf Ihre Standortdaten, um Bluetooth-Schlossgeräte in Ihrer Nähe genauer zu scannen.";
+NSLocationWhenInUseUsageDescription="Wir benötigen Zugriff auf Ihre Standortdaten, um Bluetooth-Schlossgeräte in Ihrer Nähe genauer zu scannen.";
+NSMicrophoneUsageDescription="Die App benötigt Zugriff auf das Mikrofon für Anrufe.";
+NSPhotoLibraryUsageDescription="Die App benötigt Zugriff auf die Fotobibliothek, um Avatare hochzuladen.";
diff --git a/ios/Runner/de.lproj/Main.strings b/ios/Runner/de.lproj/Main.strings
new file mode 100644
index 00000000..8b137891
--- /dev/null
+++ b/ios/Runner/de.lproj/Main.strings
@@ -0,0 +1 @@
+
diff --git a/ios/Runner/el.lproj/InfoPlist.strings b/ios/Runner/el.lproj/InfoPlist.strings
new file mode 100644
index 00000000..131b5705
--- /dev/null
+++ b/ios/Runner/el.lproj/InfoPlist.strings
@@ -0,0 +1,18 @@
+/*
+ InfoPlist_sky.strings
+ Runner
+
+ Created by Mac on 2024/12/25.
+
+*/
+CFBundleName="TTLock Pro";
+CFBundleDisplayName="TTLock Pro";
+NSBluetoothAlwaysUsageDescription="Αυτή η εφαρμογή χρησιμοποιεί το Bluetooth για να αναζητήσει, να συνδεθεί και να μεταφέρει δεδομένα μεταξύ διαφόρων συσκευών";
+NSBluetoothPeripheralUsageDescription="Αυτή η εφαρμογή χρησιμοποιεί το Bluetooth για να αναζητήσει, να συνδεθεί και να μεταφέρει δεδομένα μεταξύ διαφόρων συσκευών";
+NSCameraUsageDescription="Η εφαρμογή ζητά πρόσβαση στην κάμερα για να τραβήξει φωτογραφίες, να ανεβάσει avatar και να κάνει αναγνώριση προσώπου";
+NSContactsUsageDescription="Η εφαρμογή αποκτά πρόσβαση στις επαφές σας για να στείλει ηλεκτρονικά κλειδιά στις επαφές σας";
+NSLocationAlwaysAndWhenInUseUsageDescription="Χρειαζόμαστε πρόσβαση στην τοποθεσία σας για να σαρώσουμε πιο ακριβώς τις συσκευές κλειδώματος Bluetooth στην περιοχή σας";
+NSLocationAlwaysUsageDescription="Χρειαζόμαστε πρόσβαση στην τοποθεσία σας για να σαρώσουμε πιο ακριβώς τις συσκευές κλειδώματος Bluetooth στην περιοχή σας";
+NSLocationWhenInUseUsageDescription="Χρειαζόμαστε πρόσβαση στην τοποθεσία σας για να σαρώσουμε πιο ακριβώς τις συσκευές κλειδώματος Bluetooth στην περιοχή σας";
+NSMicrophoneUsageDescription="Η εφαρμογή ζητά πρόσβαση στο μικρόφωνο για κλήσεις";
+NSPhotoLibraryUsageDescription="Η εφαρμογή ζητά πρόσβαση στη βιβλιοθήκη φωτογραφιών για να ανεβάσει avatar";
diff --git a/ios/Runner/el.lproj/InfoPlist_sky.strings b/ios/Runner/el.lproj/InfoPlist_sky.strings
new file mode 100644
index 00000000..131b5705
--- /dev/null
+++ b/ios/Runner/el.lproj/InfoPlist_sky.strings
@@ -0,0 +1,18 @@
+/*
+ InfoPlist_sky.strings
+ Runner
+
+ Created by Mac on 2024/12/25.
+
+*/
+CFBundleName="TTLock Pro";
+CFBundleDisplayName="TTLock Pro";
+NSBluetoothAlwaysUsageDescription="Αυτή η εφαρμογή χρησιμοποιεί το Bluetooth για να αναζητήσει, να συνδεθεί και να μεταφέρει δεδομένα μεταξύ διαφόρων συσκευών";
+NSBluetoothPeripheralUsageDescription="Αυτή η εφαρμογή χρησιμοποιεί το Bluetooth για να αναζητήσει, να συνδεθεί και να μεταφέρει δεδομένα μεταξύ διαφόρων συσκευών";
+NSCameraUsageDescription="Η εφαρμογή ζητά πρόσβαση στην κάμερα για να τραβήξει φωτογραφίες, να ανεβάσει avatar και να κάνει αναγνώριση προσώπου";
+NSContactsUsageDescription="Η εφαρμογή αποκτά πρόσβαση στις επαφές σας για να στείλει ηλεκτρονικά κλειδιά στις επαφές σας";
+NSLocationAlwaysAndWhenInUseUsageDescription="Χρειαζόμαστε πρόσβαση στην τοποθεσία σας για να σαρώσουμε πιο ακριβώς τις συσκευές κλειδώματος Bluetooth στην περιοχή σας";
+NSLocationAlwaysUsageDescription="Χρειαζόμαστε πρόσβαση στην τοποθεσία σας για να σαρώσουμε πιο ακριβώς τις συσκευές κλειδώματος Bluetooth στην περιοχή σας";
+NSLocationWhenInUseUsageDescription="Χρειαζόμαστε πρόσβαση στην τοποθεσία σας για να σαρώσουμε πιο ακριβώς τις συσκευές κλειδώματος Bluetooth στην περιοχή σας";
+NSMicrophoneUsageDescription="Η εφαρμογή ζητά πρόσβαση στο μικρόφωνο για κλήσεις";
+NSPhotoLibraryUsageDescription="Η εφαρμογή ζητά πρόσβαση στη βιβλιοθήκη φωτογραφιών για να ανεβάσει avatar";
diff --git a/ios/Runner/el.lproj/InfoPlist_xhj.strings b/ios/Runner/el.lproj/InfoPlist_xhj.strings
new file mode 100644
index 00000000..a4161dce
--- /dev/null
+++ b/ios/Runner/el.lproj/InfoPlist_xhj.strings
@@ -0,0 +1,18 @@
+/*
+ InfoPlist_xhj.strings
+ Runner
+
+ Created by Mac on 2024/12/25.
+
+*/
+CFBundleName="StarLock Pro";
+CFBundleDisplayName="StarLock Pro";
+NSBluetoothAlwaysUsageDescription="Αυτή η εφαρμογή χρησιμοποιεί το Bluetooth για να αναζητήσει, να συνδεθεί και να μεταφέρει δεδομένα μεταξύ διαφόρων συσκευών";
+NSBluetoothPeripheralUsageDescription="Αυτή η εφαρμογή χρησιμοποιεί το Bluetooth για να αναζητήσει, να συνδεθεί και να μεταφέρει δεδομένα μεταξύ διαφόρων συσκευών";
+NSCameraUsageDescription="Η εφαρμογή ζητά πρόσβαση στην κάμερα για να τραβήξει φωτογραφίες, να ανεβάσει avatar και να κάνει αναγνώριση προσώπου";
+NSContactsUsageDescription="Η εφαρμογή αποκτά πρόσβαση στις επαφές σας για να στείλει ηλεκτρονικά κλειδιά στις επαφές σας";
+NSLocationAlwaysAndWhenInUseUsageDescription="Χρειαζόμαστε πρόσβαση στην τοποθεσία σας για να σαρώσουμε πιο ακριβώς τις συσκευές κλειδώματος Bluetooth στην περιοχή σας";
+NSLocationAlwaysUsageDescription="Χρειαζόμαστε πρόσβαση στην τοποθεσία σας για να σαρώσουμε πιο ακριβώς τις συσκευές κλειδώματος Bluetooth στην περιοχή σας";
+NSLocationWhenInUseUsageDescription="Χρειαζόμαστε πρόσβαση στην τοποθεσία σας για να σαρώσουμε πιο ακριβώς τις συσκευές κλειδώματος Bluetooth στην περιοχή σας";
+NSMicrophoneUsageDescription="Η εφαρμογή ζητά πρόσβαση στο μικρόφωνο για κλήσεις";
+NSPhotoLibraryUsageDescription="Η εφαρμογή ζητά πρόσβαση στη βιβλιοθήκη φωτογραφιών για να ανεβάσει avatar";
diff --git a/ios/Runner/el.lproj/Main.strings b/ios/Runner/el.lproj/Main.strings
new file mode 100644
index 00000000..8b137891
--- /dev/null
+++ b/ios/Runner/el.lproj/Main.strings
@@ -0,0 +1 @@
+
diff --git a/ios/Runner/en.lproj/InfoPlist.strings b/ios/Runner/en.lproj/InfoPlist.strings
index f735249c..8002da87 100644
--- a/ios/Runner/en.lproj/InfoPlist.strings
+++ b/ios/Runner/en.lproj/InfoPlist.strings
@@ -11,8 +11,8 @@ NSBluetoothAlwaysUsageDescription="The app uses bluetooth to find, connect and t
NSBluetoothPeripheralUsageDescription="The app uses bluetooth to find, connect and transfer data between different devices";
NSCameraUsageDescription="The application requests the camera to take photos for avatar upload and face authentication";
NSContactsUsageDescription="Access the address book to send electronic keys to contacts in the address book";
-NSLocationAlwaysAndWhenInUseUsageDescription="updated location information when applying in the front and backend";
-NSLocationAlwaysUsageDescription="updated location information when the app is in the background";
-NSLocationWhenInUseUsageDescription="updated location information when the app is in the foreground";
+NSLocationAlwaysAndWhenInUseUsageDescription="We need to access your location information in order to more accurately scan the Bluetooth lock device at your location.";
+NSLocationAlwaysUsageDescription="We need to access your location information in order to more accurately scan the Bluetooth lock device at your location.";
+NSLocationWhenInUseUsageDescription="We need to access your location information in order to more accurately scan the Bluetooth lock device at your location.";
NSMicrophoneUsageDescription="request microphone for calls";
NSPhotoLibraryUsageDescription="request photo album for avatar upload";
diff --git a/ios/Runner/es.lproj/InfoPlist.strings b/ios/Runner/es.lproj/InfoPlist.strings
new file mode 100644
index 00000000..48ee305a
--- /dev/null
+++ b/ios/Runner/es.lproj/InfoPlist.strings
@@ -0,0 +1,18 @@
+/*
+ InfoPlist_sky.strings
+ Runner
+
+ Created by Mac on 2024/12/25.
+
+*/
+CFBundleName="TTLock Pro";
+CFBundleDisplayName="TTLock Pro";
+NSBluetoothAlwaysUsageDescription="Esta aplicación utiliza Bluetooth para buscar, conectar y transferir datos entre diferentes dispositivos";
+NSBluetoothPeripheralUsageDescription="Esta aplicación utiliza Bluetooth para buscar, conectar y transferir datos entre diferentes dispositivos";
+NSCameraUsageDescription="La aplicación solicita acceso a la cámara para tomar fotos, cargar avatares y realizar autenticación facial";
+NSContactsUsageDescription="La aplicación accede a los contactos para enviar claves electrónicas a los contactos de su agenda";
+NSLocationAlwaysAndWhenlnUseUsageDescription="Necesitamos acceder a su ubicación para identificar dispositivos de bloqueo Bluetooth con mayor precisión";
+NSLocationAlwaysUsageDescription="Necesitamos acceder a su ubicación para identificar dispositivos de bloqueo Bluetooth con mayor precisión";
+NSLocationWhenInUseUsageDescription="Necesitamos acceder a su ubicación para identificar dispositivos de bloqueo Bluetooth con mayor precisión";
+NSMicrophoneUsageDescription="La aplicación solicita acceso al micrófono para realizar llamadas";
+NSPhotoLibraryUsageDescription="La aplicación solicita acceso a la biblioteca de fotos para cargar avatares";
diff --git a/ios/Runner/es.lproj/InfoPlist_sky.strings b/ios/Runner/es.lproj/InfoPlist_sky.strings
new file mode 100644
index 00000000..48ee305a
--- /dev/null
+++ b/ios/Runner/es.lproj/InfoPlist_sky.strings
@@ -0,0 +1,18 @@
+/*
+ InfoPlist_sky.strings
+ Runner
+
+ Created by Mac on 2024/12/25.
+
+*/
+CFBundleName="TTLock Pro";
+CFBundleDisplayName="TTLock Pro";
+NSBluetoothAlwaysUsageDescription="Esta aplicación utiliza Bluetooth para buscar, conectar y transferir datos entre diferentes dispositivos";
+NSBluetoothPeripheralUsageDescription="Esta aplicación utiliza Bluetooth para buscar, conectar y transferir datos entre diferentes dispositivos";
+NSCameraUsageDescription="La aplicación solicita acceso a la cámara para tomar fotos, cargar avatares y realizar autenticación facial";
+NSContactsUsageDescription="La aplicación accede a los contactos para enviar claves electrónicas a los contactos de su agenda";
+NSLocationAlwaysAndWhenlnUseUsageDescription="Necesitamos acceder a su ubicación para identificar dispositivos de bloqueo Bluetooth con mayor precisión";
+NSLocationAlwaysUsageDescription="Necesitamos acceder a su ubicación para identificar dispositivos de bloqueo Bluetooth con mayor precisión";
+NSLocationWhenInUseUsageDescription="Necesitamos acceder a su ubicación para identificar dispositivos de bloqueo Bluetooth con mayor precisión";
+NSMicrophoneUsageDescription="La aplicación solicita acceso al micrófono para realizar llamadas";
+NSPhotoLibraryUsageDescription="La aplicación solicita acceso a la biblioteca de fotos para cargar avatares";
diff --git a/ios/Runner/es.lproj/InfoPlist_xhj.strings b/ios/Runner/es.lproj/InfoPlist_xhj.strings
new file mode 100644
index 00000000..301596c6
--- /dev/null
+++ b/ios/Runner/es.lproj/InfoPlist_xhj.strings
@@ -0,0 +1,18 @@
+/*
+ InfoPlist_xhj.strings
+ Runner
+
+ Created by Mac on 2024/12/25.
+
+*/
+CFBundleName="StarLock Pro";
+CFBundleDisplayName="StarLock Pro";
+NSBluetoothAlwaysUsageDescription="Esta aplicación utiliza Bluetooth para buscar, conectar y transferir datos entre diferentes dispositivos";
+NSBluetoothPeripheralUsageDescription="Esta aplicación utiliza Bluetooth para buscar, conectar y transferir datos entre diferentes dispositivos";
+NSCameraUsageDescription="La aplicación solicita acceso a la cámara para tomar fotos, cargar avatares y realizar autenticación facial";
+NSContactsUsageDescription="La aplicación accede a los contactos para enviar claves electrónicas a los contactos de su agenda";
+NSLocationAlwaysAndWhenlnUseUsageDescription="Necesitamos acceder a su ubicación para identificar dispositivos de bloqueo Bluetooth con mayor precisión";
+NSLocationAlwaysUsageDescription="Necesitamos acceder a su ubicación para identificar dispositivos de bloqueo Bluetooth con mayor precisión";
+NSLocationWhenInUseUsageDescription="Necesitamos acceder a su ubicación para identificar dispositivos de bloqueo Bluetooth con mayor precisión";
+NSMicrophoneUsageDescription="La aplicación solicita acceso al micrófono para realizar llamadas";
+NSPhotoLibraryUsageDescription="La aplicación solicita acceso a la biblioteca de fotos para cargar avatares";
diff --git a/ios/Runner/es.lproj/Main.strings b/ios/Runner/es.lproj/Main.strings
new file mode 100644
index 00000000..8b137891
--- /dev/null
+++ b/ios/Runner/es.lproj/Main.strings
@@ -0,0 +1 @@
+
diff --git a/ios/Runner/et.lproj/InfoPlist.strings b/ios/Runner/et.lproj/InfoPlist.strings
new file mode 100644
index 00000000..213ff7d9
--- /dev/null
+++ b/ios/Runner/et.lproj/InfoPlist.strings
@@ -0,0 +1,18 @@
+/*
+ InfoPlist_sky.strings
+ Runner
+
+ Created by Mac on 2024/12/25.
+
+*/
+CFBundleName="TTLock Pro";
+CFBundleDisplayName="TTLock Pro";
+NSBluetoothAlwaysUsageDescription="See rakendus kasutab Bluetoothi, et otsida, ühendada ja edastada andmeid erinevate seadmete vahel";
+NSBluetoothPeripheralUsageDescription="See rakendus kasutab Bluetoothi, et otsida, ühendada ja edastada andmeid erinevate seadmete vahel";
+NSCameraUsageDescription="Rakendus küsib juurdepääsu kaamerale, et teha pilte, üles laadida avatarit ja teha näo autentimist";
+NSContactsUsageDescription="Rakendus pääseb juurde teie kontaktidele, et saata elektroonilisi võtmeid teie kontaktidele";
+NSLocationAlwaysAndWhenInUseUsageDescription="Meil on vaja ligipääsu teie asukohale, et täpsemalt skannida lähikonnas olevaid Bluetooth-lukkude seadmeid";
+NSLocationAlwaysUsageDescription="Meil on vaja ligipääsu teie asukohale, et täpsemalt skannida lähikonnas olevaid Bluetooth-lukkude seadmeid";
+NSLocationWhenInUseUsageDescription="Meil on vaja ligipääsu teie asukohale, et täpsemalt skannida lähikonnas olevaid Bluetooth-lukkude seadmeid";
+NSMicrophoneUsageDescription="Rakendus küsib juurdepääsu mikrofonile, et teha kõnesid";
+NSPhotoLibraryUsageDescription="Rakendus küsib juurdepääsu fotokogule avatarite üleslaadimiseks";
diff --git a/ios/Runner/et.lproj/InfoPlist_sky.strings b/ios/Runner/et.lproj/InfoPlist_sky.strings
new file mode 100644
index 00000000..213ff7d9
--- /dev/null
+++ b/ios/Runner/et.lproj/InfoPlist_sky.strings
@@ -0,0 +1,18 @@
+/*
+ InfoPlist_sky.strings
+ Runner
+
+ Created by Mac on 2024/12/25.
+
+*/
+CFBundleName="TTLock Pro";
+CFBundleDisplayName="TTLock Pro";
+NSBluetoothAlwaysUsageDescription="See rakendus kasutab Bluetoothi, et otsida, ühendada ja edastada andmeid erinevate seadmete vahel";
+NSBluetoothPeripheralUsageDescription="See rakendus kasutab Bluetoothi, et otsida, ühendada ja edastada andmeid erinevate seadmete vahel";
+NSCameraUsageDescription="Rakendus küsib juurdepääsu kaamerale, et teha pilte, üles laadida avatarit ja teha näo autentimist";
+NSContactsUsageDescription="Rakendus pääseb juurde teie kontaktidele, et saata elektroonilisi võtmeid teie kontaktidele";
+NSLocationAlwaysAndWhenInUseUsageDescription="Meil on vaja ligipääsu teie asukohale, et täpsemalt skannida lähikonnas olevaid Bluetooth-lukkude seadmeid";
+NSLocationAlwaysUsageDescription="Meil on vaja ligipääsu teie asukohale, et täpsemalt skannida lähikonnas olevaid Bluetooth-lukkude seadmeid";
+NSLocationWhenInUseUsageDescription="Meil on vaja ligipääsu teie asukohale, et täpsemalt skannida lähikonnas olevaid Bluetooth-lukkude seadmeid";
+NSMicrophoneUsageDescription="Rakendus küsib juurdepääsu mikrofonile, et teha kõnesid";
+NSPhotoLibraryUsageDescription="Rakendus küsib juurdepääsu fotokogule avatarite üleslaadimiseks";
diff --git a/ios/Runner/et.lproj/InfoPlist_xhj.strings b/ios/Runner/et.lproj/InfoPlist_xhj.strings
new file mode 100644
index 00000000..f2ed2755
--- /dev/null
+++ b/ios/Runner/et.lproj/InfoPlist_xhj.strings
@@ -0,0 +1,18 @@
+/*
+ InfoPlist_xhj.strings
+ Runner
+
+ Created by Mac on 2024/12/25.
+
+*/
+CFBundleName="StarLock Pro";
+CFBundleDisplayName="StarLock Pro";
+NSBluetoothAlwaysUsageDescription="See rakendus kasutab Bluetoothi, et otsida, ühendada ja edastada andmeid erinevate seadmete vahel";
+NSBluetoothPeripheralUsageDescription="See rakendus kasutab Bluetoothi, et otsida, ühendada ja edastada andmeid erinevate seadmete vahel";
+NSCameraUsageDescription="Rakendus küsib juurdepääsu kaamerale, et teha pilte, üles laadida avatarit ja teha näo autentimist";
+NSContactsUsageDescription="Rakendus pääseb juurde teie kontaktidele, et saata elektroonilisi võtmeid teie kontaktidele";
+NSLocationAlwaysAndWhenInUseUsageDescription="Meil on vaja ligipääsu teie asukohale, et täpsemalt skannida lähikonnas olevaid Bluetooth-lukkude seadmeid";
+NSLocationAlwaysUsageDescription="Meil on vaja ligipääsu teie asukohale, et täpsemalt skannida lähikonnas olevaid Bluetooth-lukkude seadmeid";
+NSLocationWhenInUseUsageDescription="Meil on vaja ligipääsu teie asukohale, et täpsemalt skannida lähikonnas olevaid Bluetooth-lukkude seadmeid";
+NSMicrophoneUsageDescription="Rakendus küsib juurdepääsu mikrofonile, et teha kõnesid";
+NSPhotoLibraryUsageDescription="Rakendus küsib juurdepääsu fotokogule avatarite üleslaadimiseks";
diff --git a/ios/Runner/et.lproj/Main.strings b/ios/Runner/et.lproj/Main.strings
new file mode 100644
index 00000000..8b137891
--- /dev/null
+++ b/ios/Runner/et.lproj/Main.strings
@@ -0,0 +1 @@
+
diff --git a/ios/Runner/fi.lproj/InfoPlist.strings b/ios/Runner/fi.lproj/InfoPlist.strings
new file mode 100644
index 00000000..37a5a7ac
--- /dev/null
+++ b/ios/Runner/fi.lproj/InfoPlist.strings
@@ -0,0 +1,18 @@
+/*
+ InfoPlist_sky.strings
+ Runner
+
+ Created by Mac on 2024/12/25.
+
+*/
+CFBundleName="TTLock Pro";
+CFBundleDisplayName="TTLock Pro";
+NSBluetoothAlwaysUsageDescription="Tämä sovellus käyttää Bluetoothia etsimään, yhdistämään ja siirtämään tietoja eri laitteiden välillä";
+NSBluetoothPeripheralUsageDescription="Tämä sovellus käyttää Bluetoothia etsimään, yhdistämään ja siirtämään tietoja eri laitteiden välillä";
+NSCameraUsageDescription="Sovellus pyytää pääsyä kameraan valokuvien ottamiseen, avatarin lataamiseen ja kasvojentunnistukseen";
+NSContactsUsageDescription="Sovellus käyttää yhteystietojasi lähettääkseen sähköisiä avaimia yhteystiedoissasi oleville henkilöille";
+NSLocationAlwaysAndWhenInUseUsageDescription="Tarvitsemme pääsyn sijaintitietoihisi, jotta voimme tarkempaa skannata ympäristössäsi olevia Bluetooth-lukkoja";
+NSLocationAlwaysUsageDescription="Tarvitsemme pääsyn sijaintitietoihisi, jotta voimme tarkempaa skannata ympäristössäsi olevia Bluetooth-lukkoja";
+NSLocationWhenInUseUsageDescription="Tarvitsemme pääsyn sijaintitietoihisi, jotta voimme tarkempaa skannata ympäristössäsi olevia Bluetooth-lukkoja";
+NSMicrophoneUsageDescription="Sovellus pyytää pääsyä mikrofoniin puheluita varten";
+NSPhotoLibraryUsageDescription="Sovellus pyytää pääsyä valokuvakirjastoon avataren lataamista varten";
diff --git a/ios/Runner/fi.lproj/InfoPlist_sky.strings b/ios/Runner/fi.lproj/InfoPlist_sky.strings
new file mode 100644
index 00000000..37a5a7ac
--- /dev/null
+++ b/ios/Runner/fi.lproj/InfoPlist_sky.strings
@@ -0,0 +1,18 @@
+/*
+ InfoPlist_sky.strings
+ Runner
+
+ Created by Mac on 2024/12/25.
+
+*/
+CFBundleName="TTLock Pro";
+CFBundleDisplayName="TTLock Pro";
+NSBluetoothAlwaysUsageDescription="Tämä sovellus käyttää Bluetoothia etsimään, yhdistämään ja siirtämään tietoja eri laitteiden välillä";
+NSBluetoothPeripheralUsageDescription="Tämä sovellus käyttää Bluetoothia etsimään, yhdistämään ja siirtämään tietoja eri laitteiden välillä";
+NSCameraUsageDescription="Sovellus pyytää pääsyä kameraan valokuvien ottamiseen, avatarin lataamiseen ja kasvojentunnistukseen";
+NSContactsUsageDescription="Sovellus käyttää yhteystietojasi lähettääkseen sähköisiä avaimia yhteystiedoissasi oleville henkilöille";
+NSLocationAlwaysAndWhenInUseUsageDescription="Tarvitsemme pääsyn sijaintitietoihisi, jotta voimme tarkempaa skannata ympäristössäsi olevia Bluetooth-lukkoja";
+NSLocationAlwaysUsageDescription="Tarvitsemme pääsyn sijaintitietoihisi, jotta voimme tarkempaa skannata ympäristössäsi olevia Bluetooth-lukkoja";
+NSLocationWhenInUseUsageDescription="Tarvitsemme pääsyn sijaintitietoihisi, jotta voimme tarkempaa skannata ympäristössäsi olevia Bluetooth-lukkoja";
+NSMicrophoneUsageDescription="Sovellus pyytää pääsyä mikrofoniin puheluita varten";
+NSPhotoLibraryUsageDescription="Sovellus pyytää pääsyä valokuvakirjastoon avataren lataamista varten";
diff --git a/ios/Runner/fi.lproj/InfoPlist_xhj.strings b/ios/Runner/fi.lproj/InfoPlist_xhj.strings
new file mode 100644
index 00000000..15ce1693
--- /dev/null
+++ b/ios/Runner/fi.lproj/InfoPlist_xhj.strings
@@ -0,0 +1,18 @@
+/*
+ InfoPlist_xhj.strings
+ Runner
+
+ Created by Mac on 2024/12/25.
+
+*/
+CFBundleName="StarLock Pro";
+CFBundleDisplayName="StarLock Pro";
+NSBluetoothAlwaysUsageDescription="Tämä sovellus käyttää Bluetoothia etsimään, yhdistämään ja siirtämään tietoja eri laitteiden välillä";
+NSBluetoothPeripheralUsageDescription="Tämä sovellus käyttää Bluetoothia etsimään, yhdistämään ja siirtämään tietoja eri laitteiden välillä";
+NSCameraUsageDescription="Sovellus pyytää pääsyä kameraan valokuvien ottamiseen, avatarin lataamiseen ja kasvojentunnistukseen";
+NSContactsUsageDescription="Sovellus käyttää yhteystietojasi lähettääkseen sähköisiä avaimia yhteystiedoissasi oleville henkilöille";
+NSLocationAlwaysAndWhenInUseUsageDescription="Tarvitsemme pääsyn sijaintitietoihisi, jotta voimme tarkempaa skannata ympäristössäsi olevia Bluetooth-lukkoja";
+NSLocationAlwaysUsageDescription="Tarvitsemme pääsyn sijaintitietoihisi, jotta voimme tarkempaa skannata ympäristössäsi olevia Bluetooth-lukkoja";
+NSLocationWhenInUseUsageDescription="Tarvitsemme pääsyn sijaintitietoihisi, jotta voimme tarkempaa skannata ympäristössäsi olevia Bluetooth-lukkoja";
+NSMicrophoneUsageDescription="Sovellus pyytää pääsyä mikrofoniin puheluita varten";
+NSPhotoLibraryUsageDescription="Sovellus pyytää pääsyä valokuvakirjastoon avataren lataamista varten";
diff --git a/ios/Runner/fi.lproj/Main.strings b/ios/Runner/fi.lproj/Main.strings
new file mode 100644
index 00000000..8b137891
--- /dev/null
+++ b/ios/Runner/fi.lproj/Main.strings
@@ -0,0 +1 @@
+
diff --git a/ios/Runner/fr.lproj/InfoPlist.strings b/ios/Runner/fr.lproj/InfoPlist.strings
new file mode 100644
index 00000000..dda217ab
--- /dev/null
+++ b/ios/Runner/fr.lproj/InfoPlist.strings
@@ -0,0 +1,19 @@
+/*
+ InfoPlist_sky.strings
+ Runner
+
+ Created by Mac on 2024/12/25.
+
+*/
+CFBundleName="TTLock Pro";
+CFBundleDisplayName="TTLock Pro";
+
+NSBluetoothAlwaysUsageDescription="Cette application utilise le Bluetooth pour rechercher, connecter et transférer des données entre différents appareils.";
+NSBluetoothPeripheralUsageDescription="Cette application utilise le Bluetooth pour rechercher, connecter et transférer des données entre différents appareils.";
+NSCameraUsageDescription="L'application demande l'accès à la caméra pour prendre des photos, utilisées pour le téléchargement d'avatars et la reconnaissance faciale.";
+NSContactsUsageDescription="L'application accède à votre carnet d'adresses pour envoyer des clés électroniques aux contacts.";
+NSLocationAlwaysAndWhenlnUseUsageDescription="Nous avons besoin d'accéder à vos informations de localisation pour scanner avec précision les dispositifs de serrure Bluetooth dans votre zone.";
+NSLocationAlwaysUsageDescription="Nous avons besoin d'accéder à vos informations de localisation pour scanner avec précision les dispositifs de serrure Bluetooth dans votre zone.";
+NSLocationWhenInUseUsageDescription="Nous avons besoin d'accéder à vos informations de localisation pour scanner avec précision les dispositifs de serrure Bluetooth dans votre zone.";
+NSMicrophoneUsageDescription="L'application demande l'accès au microphone pour passer des appels.";
+NSPhotoLibraryUsageDescription="L'application demande l'accès à la photothèque pour télécharger des avatars.";
diff --git a/ios/Runner/fr.lproj/InfoPlist_sky.strings b/ios/Runner/fr.lproj/InfoPlist_sky.strings
new file mode 100644
index 00000000..dda217ab
--- /dev/null
+++ b/ios/Runner/fr.lproj/InfoPlist_sky.strings
@@ -0,0 +1,19 @@
+/*
+ InfoPlist_sky.strings
+ Runner
+
+ Created by Mac on 2024/12/25.
+
+*/
+CFBundleName="TTLock Pro";
+CFBundleDisplayName="TTLock Pro";
+
+NSBluetoothAlwaysUsageDescription="Cette application utilise le Bluetooth pour rechercher, connecter et transférer des données entre différents appareils.";
+NSBluetoothPeripheralUsageDescription="Cette application utilise le Bluetooth pour rechercher, connecter et transférer des données entre différents appareils.";
+NSCameraUsageDescription="L'application demande l'accès à la caméra pour prendre des photos, utilisées pour le téléchargement d'avatars et la reconnaissance faciale.";
+NSContactsUsageDescription="L'application accède à votre carnet d'adresses pour envoyer des clés électroniques aux contacts.";
+NSLocationAlwaysAndWhenlnUseUsageDescription="Nous avons besoin d'accéder à vos informations de localisation pour scanner avec précision les dispositifs de serrure Bluetooth dans votre zone.";
+NSLocationAlwaysUsageDescription="Nous avons besoin d'accéder à vos informations de localisation pour scanner avec précision les dispositifs de serrure Bluetooth dans votre zone.";
+NSLocationWhenInUseUsageDescription="Nous avons besoin d'accéder à vos informations de localisation pour scanner avec précision les dispositifs de serrure Bluetooth dans votre zone.";
+NSMicrophoneUsageDescription="L'application demande l'accès au microphone pour passer des appels.";
+NSPhotoLibraryUsageDescription="L'application demande l'accès à la photothèque pour télécharger des avatars.";
diff --git a/ios/Runner/fr.lproj/InfoPlist_xhj.strings b/ios/Runner/fr.lproj/InfoPlist_xhj.strings
new file mode 100644
index 00000000..c0ad200f
--- /dev/null
+++ b/ios/Runner/fr.lproj/InfoPlist_xhj.strings
@@ -0,0 +1,19 @@
+/*
+ InfoPlist_xhj.strings
+ Runner
+
+ Created by Mac on 2024/12/25.
+
+*/
+CFBundleName="StarLock Pro";
+CFBundleDisplayName="StarLock Pro";
+
+NSBluetoothAlwaysUsageDescription="Cette application utilise le Bluetooth pour rechercher, connecter et transférer des données entre différents appareils.";
+NSBluetoothPeripheralUsageDescription="Cette application utilise le Bluetooth pour rechercher, connecter et transférer des données entre différents appareils.";
+NSCameraUsageDescription="L'application demande l'accès à la caméra pour prendre des photos, utilisées pour le téléchargement d'avatars et la reconnaissance faciale.";
+NSContactsUsageDescription="L'application accède à votre carnet d'adresses pour envoyer des clés électroniques aux contacts.";
+NSLocationAlwaysAndWhenlnUseUsageDescription="Nous avons besoin d'accéder à vos informations de localisation pour scanner avec précision les dispositifs de serrure Bluetooth dans votre zone.";
+NSLocationAlwaysUsageDescription="Nous avons besoin d'accéder à vos informations de localisation pour scanner avec précision les dispositifs de serrure Bluetooth dans votre zone.";
+NSLocationWhenInUseUsageDescription="Nous avons besoin d'accéder à vos informations de localisation pour scanner avec précision les dispositifs de serrure Bluetooth dans votre zone.";
+NSMicrophoneUsageDescription="L'application demande l'accès au microphone pour passer des appels.";
+NSPhotoLibraryUsageDescription="L'application demande l'accès à la photothèque pour télécharger des avatars.";
diff --git a/ios/Runner/fr.lproj/Main.strings b/ios/Runner/fr.lproj/Main.strings
new file mode 100644
index 00000000..8b137891
--- /dev/null
+++ b/ios/Runner/fr.lproj/Main.strings
@@ -0,0 +1 @@
+
diff --git a/ios/Runner/he.lproj/InfoPlist.strings b/ios/Runner/he.lproj/InfoPlist.strings
new file mode 100644
index 00000000..d32753b6
--- /dev/null
+++ b/ios/Runner/he.lproj/InfoPlist.strings
@@ -0,0 +1,18 @@
+/*
+ InfoPlist_sky.strings
+ Runner
+
+ Created by Mac on 2024/12/25.
+
+*/
+CFBundleName="TTLock Pro";
+CFBundleDisplayName="TTLock Pro";
+NSBluetoothAlwaysUsageDescription="היישום הזה משתמש ב-Bluetooth לחיפוש, חיבור והעברת נתונים בין מכשירים שונים";
+NSBluetoothPeripheralUsageDescription="היישום הזה משתמש ב-Bluetooth לחיפוש, חיבור והעברת נתונים בין מכשירים שונים";
+NSCameraUsageDescription="היישום מבקש גישה למצלמה לצורך צילום תמונות, העלאת תצלומי פרופיל ואימות פנים";
+NSContactsUsageDescription="היישום מבקש גישה לקטגוריית אנשי הקשר שלך על מנת לשלוח מפתחות אלקטרוניים לאנשי הקשר שלך";
+NSLocationAlwaysAndWhenInUseUsageDescription="אנו צריכים גישה למיקום שלך כדי לסרוק בצורה מדויקת יותר את מכשירי ה-Bluetooth נעילה באזור שלך";
+NSLocationAlwaysUsageDescription="אנו צריכים גישה למיקום שלך כדי לסרוק בצורה מדויקת יותר את מכשירי ה-Bluetooth נעילה באזור שלך";
+NSLocationWhenInUseUsageDescription="אנו צריכים גישה למיקום שלך כדי לסרוק בצורה מדויקת יותר את מכשירי ה-Bluetooth נעילה באזור שלך";
+NSMicrophoneUsageDescription="היישום מבקש גישה למיקרופון לצורך שיחות";
+NSPhotoLibraryUsageDescription="היישום מבקש גישה לספריית התמונות לצורך העלאת תצלומי פרופיל";
diff --git a/ios/Runner/he.lproj/InfoPlist_sky.strings b/ios/Runner/he.lproj/InfoPlist_sky.strings
new file mode 100644
index 00000000..d32753b6
--- /dev/null
+++ b/ios/Runner/he.lproj/InfoPlist_sky.strings
@@ -0,0 +1,18 @@
+/*
+ InfoPlist_sky.strings
+ Runner
+
+ Created by Mac on 2024/12/25.
+
+*/
+CFBundleName="TTLock Pro";
+CFBundleDisplayName="TTLock Pro";
+NSBluetoothAlwaysUsageDescription="היישום הזה משתמש ב-Bluetooth לחיפוש, חיבור והעברת נתונים בין מכשירים שונים";
+NSBluetoothPeripheralUsageDescription="היישום הזה משתמש ב-Bluetooth לחיפוש, חיבור והעברת נתונים בין מכשירים שונים";
+NSCameraUsageDescription="היישום מבקש גישה למצלמה לצורך צילום תמונות, העלאת תצלומי פרופיל ואימות פנים";
+NSContactsUsageDescription="היישום מבקש גישה לקטגוריית אנשי הקשר שלך על מנת לשלוח מפתחות אלקטרוניים לאנשי הקשר שלך";
+NSLocationAlwaysAndWhenInUseUsageDescription="אנו צריכים גישה למיקום שלך כדי לסרוק בצורה מדויקת יותר את מכשירי ה-Bluetooth נעילה באזור שלך";
+NSLocationAlwaysUsageDescription="אנו צריכים גישה למיקום שלך כדי לסרוק בצורה מדויקת יותר את מכשירי ה-Bluetooth נעילה באזור שלך";
+NSLocationWhenInUseUsageDescription="אנו צריכים גישה למיקום שלך כדי לסרוק בצורה מדויקת יותר את מכשירי ה-Bluetooth נעילה באזור שלך";
+NSMicrophoneUsageDescription="היישום מבקש גישה למיקרופון לצורך שיחות";
+NSPhotoLibraryUsageDescription="היישום מבקש גישה לספריית התמונות לצורך העלאת תצלומי פרופיל";
diff --git a/ios/Runner/he.lproj/InfoPlist_xhj.strings b/ios/Runner/he.lproj/InfoPlist_xhj.strings
new file mode 100644
index 00000000..59350d66
--- /dev/null
+++ b/ios/Runner/he.lproj/InfoPlist_xhj.strings
@@ -0,0 +1,18 @@
+/*
+ InfoPlist_xhj.strings
+ Runner
+
+ Created by Mac on 2024/12/25.
+
+*/
+CFBundleName="StarLock Pro";
+CFBundleDisplayName="StarLock Pro";
+NSBluetoothAlwaysUsageDescription="היישום הזה משתמש ב-Bluetooth לחיפוש, חיבור והעברת נתונים בין מכשירים שונים";
+NSBluetoothPeripheralUsageDescription="היישום הזה משתמש ב-Bluetooth לחיפוש, חיבור והעברת נתונים בין מכשירים שונים";
+NSCameraUsageDescription="היישום מבקש גישה למצלמה לצורך צילום תמונות, העלאת תצלומי פרופיל ואימות פנים";
+NSContactsUsageDescription="היישום מבקש גישה לקטגוריית אנשי הקשר שלך על מנת לשלוח מפתחות אלקטרוניים לאנשי הקשר שלך";
+NSLocationAlwaysAndWhenInUseUsageDescription="אנו צריכים גישה למיקום שלך כדי לסרוק בצורה מדויקת יותר את מכשירי ה-Bluetooth נעילה באזור שלך";
+NSLocationAlwaysUsageDescription="אנו צריכים גישה למיקום שלך כדי לסרוק בצורה מדויקת יותר את מכשירי ה-Bluetooth נעילה באזור שלך";
+NSLocationWhenInUseUsageDescription="אנו צריכים גישה למיקום שלך כדי לסרוק בצורה מדויקת יותר את מכשירי ה-Bluetooth נעילה באזור שלך";
+NSMicrophoneUsageDescription="היישום מבקש גישה למיקרופון לצורך שיחות";
+NSPhotoLibraryUsageDescription="היישום מבקש גישה לספריית התמונות לצורך העלאת תצלומי פרופיל";
diff --git a/ios/Runner/he.lproj/Main.strings b/ios/Runner/he.lproj/Main.strings
new file mode 100644
index 00000000..8b137891
--- /dev/null
+++ b/ios/Runner/he.lproj/Main.strings
@@ -0,0 +1 @@
+
diff --git a/ios/Runner/hr.lproj/InfoPlist.strings b/ios/Runner/hr.lproj/InfoPlist.strings
new file mode 100644
index 00000000..508f23eb
--- /dev/null
+++ b/ios/Runner/hr.lproj/InfoPlist.strings
@@ -0,0 +1,18 @@
+/*
+ InfoPlist_sky.strings
+ Runner
+
+ Created by Mac on 2024/12/25.
+
+*/
+CFBundleName="TTLock Pro";
+CFBundleDisplayName="TTLock Pro";
+NSBluetoothAlwaysUsageDescription="Ova aplikacija koristi Bluetooth za pretragu, povezivanje i prijenos podataka između različitih uređaja";
+NSBluetoothPeripheralUsageDescription="Ova aplikacija koristi Bluetooth za pretragu, povezivanje i prijenos podataka između različitih uređaja";
+NSCameraUsageDescription="Aplikacija traži pristup kameri za snimanje fotografija, učitavanje avatara i prepoznavanje lica";
+NSContactsUsageDescription="Aplikacija pristupa vašim kontaktima za slanje elektroničkih ključeva vašim kontaktima";
+NSLocationAlwaysAndWhenInUseUsageDescription="Treba nam pristup vašoj lokaciji kako bismo preciznije skenirali Bluetooth uređaje za zaključavanje u vašoj okolini";
+NSLocationAlwaysUsageDescription="Treba nam pristup vašoj lokaciji kako bismo preciznije skenirali Bluetooth uređaje za zaključavanje u vašoj okolini";
+NSLocationWhenInUseUsageDescription="Treba nam pristup vašoj lokaciji kako bismo preciznije skenirali Bluetooth uređaje za zaključavanje u vašoj okolini";
+NSMicrophoneUsageDescription="Aplikacija traži pristup mikrofonu za obavljanje poziva";
+NSPhotoLibraryUsageDescription="Aplikacija traži pristup biblioteci fotografija za učitavanje avatara";
diff --git a/ios/Runner/hr.lproj/InfoPlist_sky.strings b/ios/Runner/hr.lproj/InfoPlist_sky.strings
new file mode 100644
index 00000000..508f23eb
--- /dev/null
+++ b/ios/Runner/hr.lproj/InfoPlist_sky.strings
@@ -0,0 +1,18 @@
+/*
+ InfoPlist_sky.strings
+ Runner
+
+ Created by Mac on 2024/12/25.
+
+*/
+CFBundleName="TTLock Pro";
+CFBundleDisplayName="TTLock Pro";
+NSBluetoothAlwaysUsageDescription="Ova aplikacija koristi Bluetooth za pretragu, povezivanje i prijenos podataka između različitih uređaja";
+NSBluetoothPeripheralUsageDescription="Ova aplikacija koristi Bluetooth za pretragu, povezivanje i prijenos podataka između različitih uređaja";
+NSCameraUsageDescription="Aplikacija traži pristup kameri za snimanje fotografija, učitavanje avatara i prepoznavanje lica";
+NSContactsUsageDescription="Aplikacija pristupa vašim kontaktima za slanje elektroničkih ključeva vašim kontaktima";
+NSLocationAlwaysAndWhenInUseUsageDescription="Treba nam pristup vašoj lokaciji kako bismo preciznije skenirali Bluetooth uređaje za zaključavanje u vašoj okolini";
+NSLocationAlwaysUsageDescription="Treba nam pristup vašoj lokaciji kako bismo preciznije skenirali Bluetooth uređaje za zaključavanje u vašoj okolini";
+NSLocationWhenInUseUsageDescription="Treba nam pristup vašoj lokaciji kako bismo preciznije skenirali Bluetooth uređaje za zaključavanje u vašoj okolini";
+NSMicrophoneUsageDescription="Aplikacija traži pristup mikrofonu za obavljanje poziva";
+NSPhotoLibraryUsageDescription="Aplikacija traži pristup biblioteci fotografija za učitavanje avatara";
diff --git a/ios/Runner/hr.lproj/InfoPlist_xhj.strings b/ios/Runner/hr.lproj/InfoPlist_xhj.strings
new file mode 100644
index 00000000..a86b3ca1
--- /dev/null
+++ b/ios/Runner/hr.lproj/InfoPlist_xhj.strings
@@ -0,0 +1,18 @@
+/*
+ InfoPlist_xhj.strings
+ Runner
+
+ Created by Mac on 2024/12/25.
+
+*/
+CFBundleName="StarLock Pro";
+CFBundleDisplayName="StarLock Pro";
+NSBluetoothAlwaysUsageDescription="Ova aplikacija koristi Bluetooth za pretragu, povezivanje i prijenos podataka između različitih uređaja";
+NSBluetoothPeripheralUsageDescription="Ova aplikacija koristi Bluetooth za pretragu, povezivanje i prijenos podataka između različitih uređaja";
+NSCameraUsageDescription="Aplikacija traži pristup kameri za snimanje fotografija, učitavanje avatara i prepoznavanje lica";
+NSContactsUsageDescription="Aplikacija pristupa vašim kontaktima za slanje elektroničkih ključeva vašim kontaktima";
+NSLocationAlwaysAndWhenInUseUsageDescription="Treba nam pristup vašoj lokaciji kako bismo preciznije skenirali Bluetooth uređaje za zaključavanje u vašoj okolini";
+NSLocationAlwaysUsageDescription="Treba nam pristup vašoj lokaciji kako bismo preciznije skenirali Bluetooth uređaje za zaključavanje u vašoj okolini";
+NSLocationWhenInUseUsageDescription="Treba nam pristup vašoj lokaciji kako bismo preciznije skenirali Bluetooth uređaje za zaključavanje u vašoj okolini";
+NSMicrophoneUsageDescription="Aplikacija traži pristup mikrofonu za obavljanje poziva";
+NSPhotoLibraryUsageDescription="Aplikacija traži pristup biblioteci fotografija za učitavanje avatara";
diff --git a/ios/Runner/hr.lproj/Main.strings b/ios/Runner/hr.lproj/Main.strings
new file mode 100644
index 00000000..8b137891
--- /dev/null
+++ b/ios/Runner/hr.lproj/Main.strings
@@ -0,0 +1 @@
+
diff --git a/ios/Runner/hu.lproj/InfoPlist.strings b/ios/Runner/hu.lproj/InfoPlist.strings
new file mode 100644
index 00000000..0335a280
--- /dev/null
+++ b/ios/Runner/hu.lproj/InfoPlist.strings
@@ -0,0 +1,18 @@
+/*
+ InfoPlist_sky.strings
+ Runner
+
+ Created by Mac on 2024/12/25.
+
+*/
+CFBundleName="TTLock Pro";
+CFBundleDisplayName="TTLock Pro";
+NSBluetoothAlwaysUsageDescription="Ez az alkalmazás Bluetooth-ot használ különböző eszközök közötti adatkeresésre, csatlakozásra és átvitelre";
+NSBluetoothPeripheralUsageDescription="Ez az alkalmazás Bluetooth-ot használ különböző eszközök közötti adatkeresésre, csatlakozásra és átvitelre";
+NSCameraUsageDescription="Az alkalmazás kamerához kér hozzáférést fényképek készítésére, avatár feltöltésére és arcazonosításra";
+NSContactsUsageDescription="Az alkalmazás hozzáfér a kapcsolataidhoz, hogy elektronikus kulcsokat küldjön a kapcsolataidnak";
+NSLocationAlwaysAndWhenInUseUsageDescription="Szükség van a helyadatokhoz való hozzáférésre a Bluetooth zárak pontosabb kereséséhez a környéken";
+NSLocationAlwaysUsageDescription="Szükség van a helyadatokhoz való hozzáférésre a Bluetooth zárak pontosabb kereséséhez a környéken";
+NSLocationWhenInUseUsageDescription="Szükség van a helyadatokhoz való hozzáférésre a Bluetooth zárak pontosabb kereséséhez a környéken";
+NSMicrophoneUsageDescription="Az alkalmazás mikrofonhoz kér hozzáférést hívásokhoz";
+NSPhotoLibraryUsageDescription="Az alkalmazás fényképtárhoz kér hozzáférést avatár feltöltésére";
diff --git a/ios/Runner/hu.lproj/InfoPlist_sky.strings b/ios/Runner/hu.lproj/InfoPlist_sky.strings
new file mode 100644
index 00000000..0335a280
--- /dev/null
+++ b/ios/Runner/hu.lproj/InfoPlist_sky.strings
@@ -0,0 +1,18 @@
+/*
+ InfoPlist_sky.strings
+ Runner
+
+ Created by Mac on 2024/12/25.
+
+*/
+CFBundleName="TTLock Pro";
+CFBundleDisplayName="TTLock Pro";
+NSBluetoothAlwaysUsageDescription="Ez az alkalmazás Bluetooth-ot használ különböző eszközök közötti adatkeresésre, csatlakozásra és átvitelre";
+NSBluetoothPeripheralUsageDescription="Ez az alkalmazás Bluetooth-ot használ különböző eszközök közötti adatkeresésre, csatlakozásra és átvitelre";
+NSCameraUsageDescription="Az alkalmazás kamerához kér hozzáférést fényképek készítésére, avatár feltöltésére és arcazonosításra";
+NSContactsUsageDescription="Az alkalmazás hozzáfér a kapcsolataidhoz, hogy elektronikus kulcsokat küldjön a kapcsolataidnak";
+NSLocationAlwaysAndWhenInUseUsageDescription="Szükség van a helyadatokhoz való hozzáférésre a Bluetooth zárak pontosabb kereséséhez a környéken";
+NSLocationAlwaysUsageDescription="Szükség van a helyadatokhoz való hozzáférésre a Bluetooth zárak pontosabb kereséséhez a környéken";
+NSLocationWhenInUseUsageDescription="Szükség van a helyadatokhoz való hozzáférésre a Bluetooth zárak pontosabb kereséséhez a környéken";
+NSMicrophoneUsageDescription="Az alkalmazás mikrofonhoz kér hozzáférést hívásokhoz";
+NSPhotoLibraryUsageDescription="Az alkalmazás fényképtárhoz kér hozzáférést avatár feltöltésére";
diff --git a/ios/Runner/hu.lproj/InfoPlist_xhj.strings b/ios/Runner/hu.lproj/InfoPlist_xhj.strings
new file mode 100644
index 00000000..900b475f
--- /dev/null
+++ b/ios/Runner/hu.lproj/InfoPlist_xhj.strings
@@ -0,0 +1,18 @@
+/*
+ InfoPlist_xhj.strings
+ Runner
+
+ Created by Mac on 2024/12/25.
+
+*/
+CFBundleName="StarLock Pro";
+CFBundleDisplayName="StarLock Pro";
+NSBluetoothAlwaysUsageDescription="Ez az alkalmazás Bluetooth-ot használ különböző eszközök közötti adatkeresésre, csatlakozásra és átvitelre";
+NSBluetoothPeripheralUsageDescription="Ez az alkalmazás Bluetooth-ot használ különböző eszközök közötti adatkeresésre, csatlakozásra és átvitelre";
+NSCameraUsageDescription="Az alkalmazás kamerához kér hozzáférést fényképek készítésére, avatár feltöltésére és arcazonosításra";
+NSContactsUsageDescription="Az alkalmazás hozzáfér a kapcsolataidhoz, hogy elektronikus kulcsokat küldjön a kapcsolataidnak";
+NSLocationAlwaysAndWhenInUseUsageDescription="Szükség van a helyadatokhoz való hozzáférésre a Bluetooth zárak pontosabb kereséséhez a környéken";
+NSLocationAlwaysUsageDescription="Szükség van a helyadatokhoz való hozzáférésre a Bluetooth zárak pontosabb kereséséhez a környéken";
+NSLocationWhenInUseUsageDescription="Szükség van a helyadatokhoz való hozzáférésre a Bluetooth zárak pontosabb kereséséhez a környéken";
+NSMicrophoneUsageDescription="Az alkalmazás mikrofonhoz kér hozzáférést hívásokhoz";
+NSPhotoLibraryUsageDescription="Az alkalmazás fényképtárhoz kér hozzáférést avatár feltöltésére";
diff --git a/ios/Runner/hu.lproj/Main.strings b/ios/Runner/hu.lproj/Main.strings
new file mode 100644
index 00000000..8b137891
--- /dev/null
+++ b/ios/Runner/hu.lproj/Main.strings
@@ -0,0 +1 @@
+
diff --git a/ios/Runner/id.lproj/InfoPlist.strings b/ios/Runner/id.lproj/InfoPlist.strings
new file mode 100644
index 00000000..5c89f3f7
--- /dev/null
+++ b/ios/Runner/id.lproj/InfoPlist.strings
@@ -0,0 +1,18 @@
+/*
+ InfoPlist_sky.strings
+ Runner
+
+ Created by Mac on 2024/12/25.
+
+*/
+CFBundleName="TTLock Pro";
+CFBundleDisplayName="TTLock Pro";
+NSBluetoothAlwaysUsageDescription="Aplikasi ini menggunakan Bluetooth untuk mencari, menghubungkan, dan mentransfer data antar perangkat yang berbeda";
+NSBluetoothPeripheralUsageDescription="Aplikasi ini menggunakan Bluetooth untuk mencari, menghubungkan, dan mentransfer data antar perangkat yang berbeda";
+NSCameraUsageDescription="Aplikasi meminta akses ke kamera untuk mengambil foto, mengunggah avatar, dan verifikasi wajah";
+NSContactsUsageDescription="Aplikasi mengakses kontak Anda untuk mengirimkan kunci elektronik ke kontak dalam daftar Anda";
+NSLocationAlwaysAndWhenInUseUsageDescription="Kami memerlukan akses ke informasi lokasi Anda untuk memindai perangkat kunci Bluetooth yang lebih akurat di sekitar Anda";
+NSLocationAlwaysUsageDescription="Kami memerlukan akses ke informasi lokasi Anda untuk memindai perangkat kunci Bluetooth yang lebih akurat di sekitar Anda";
+NSLocationWhenInUseUsageDescription="Kami memerlukan akses ke informasi lokasi Anda untuk memindai perangkat kunci Bluetooth yang lebih akurat di sekitar Anda";
+NSMicrophoneUsageDescription="Aplikasi meminta akses ke mikrofon untuk panggilan";
+NSPhotoLibraryUsageDescription="Aplikasi meminta akses ke perpustakaan foto untuk mengunggah avatar";
diff --git a/ios/Runner/id.lproj/InfoPlist_sky.strings b/ios/Runner/id.lproj/InfoPlist_sky.strings
new file mode 100644
index 00000000..5c89f3f7
--- /dev/null
+++ b/ios/Runner/id.lproj/InfoPlist_sky.strings
@@ -0,0 +1,18 @@
+/*
+ InfoPlist_sky.strings
+ Runner
+
+ Created by Mac on 2024/12/25.
+
+*/
+CFBundleName="TTLock Pro";
+CFBundleDisplayName="TTLock Pro";
+NSBluetoothAlwaysUsageDescription="Aplikasi ini menggunakan Bluetooth untuk mencari, menghubungkan, dan mentransfer data antar perangkat yang berbeda";
+NSBluetoothPeripheralUsageDescription="Aplikasi ini menggunakan Bluetooth untuk mencari, menghubungkan, dan mentransfer data antar perangkat yang berbeda";
+NSCameraUsageDescription="Aplikasi meminta akses ke kamera untuk mengambil foto, mengunggah avatar, dan verifikasi wajah";
+NSContactsUsageDescription="Aplikasi mengakses kontak Anda untuk mengirimkan kunci elektronik ke kontak dalam daftar Anda";
+NSLocationAlwaysAndWhenInUseUsageDescription="Kami memerlukan akses ke informasi lokasi Anda untuk memindai perangkat kunci Bluetooth yang lebih akurat di sekitar Anda";
+NSLocationAlwaysUsageDescription="Kami memerlukan akses ke informasi lokasi Anda untuk memindai perangkat kunci Bluetooth yang lebih akurat di sekitar Anda";
+NSLocationWhenInUseUsageDescription="Kami memerlukan akses ke informasi lokasi Anda untuk memindai perangkat kunci Bluetooth yang lebih akurat di sekitar Anda";
+NSMicrophoneUsageDescription="Aplikasi meminta akses ke mikrofon untuk panggilan";
+NSPhotoLibraryUsageDescription="Aplikasi meminta akses ke perpustakaan foto untuk mengunggah avatar";
diff --git a/ios/Runner/id.lproj/InfoPlist_xhj.strings b/ios/Runner/id.lproj/InfoPlist_xhj.strings
new file mode 100644
index 00000000..af76ab04
--- /dev/null
+++ b/ios/Runner/id.lproj/InfoPlist_xhj.strings
@@ -0,0 +1,18 @@
+/*
+ InfoPlist_xhj.strings
+ Runner
+
+ Created by Mac on 2024/12/25.
+
+*/
+CFBundleName="StarLock Pro";
+CFBundleDisplayName="StarLock Pro";
+NSBluetoothAlwaysUsageDescription="Aplikasi ini menggunakan Bluetooth untuk mencari, menghubungkan, dan mentransfer data antar perangkat yang berbeda";
+NSBluetoothPeripheralUsageDescription="Aplikasi ini menggunakan Bluetooth untuk mencari, menghubungkan, dan mentransfer data antar perangkat yang berbeda";
+NSCameraUsageDescription="Aplikasi meminta akses ke kamera untuk mengambil foto, mengunggah avatar, dan verifikasi wajah";
+NSContactsUsageDescription="Aplikasi mengakses kontak Anda untuk mengirimkan kunci elektronik ke kontak dalam daftar Anda";
+NSLocationAlwaysAndWhenInUseUsageDescription="Kami memerlukan akses ke informasi lokasi Anda untuk memindai perangkat kunci Bluetooth yang lebih akurat di sekitar Anda";
+NSLocationAlwaysUsageDescription="Kami memerlukan akses ke informasi lokasi Anda untuk memindai perangkat kunci Bluetooth yang lebih akurat di sekitar Anda";
+NSLocationWhenInUseUsageDescription="Kami memerlukan akses ke informasi lokasi Anda untuk memindai perangkat kunci Bluetooth yang lebih akurat di sekitar Anda";
+NSMicrophoneUsageDescription="Aplikasi meminta akses ke mikrofon untuk panggilan";
+NSPhotoLibraryUsageDescription="Aplikasi meminta akses ke perpustakaan foto untuk mengunggah avatar";
diff --git a/ios/Runner/id.lproj/Main.strings b/ios/Runner/id.lproj/Main.strings
new file mode 100644
index 00000000..8b137891
--- /dev/null
+++ b/ios/Runner/id.lproj/Main.strings
@@ -0,0 +1 @@
+
diff --git a/ios/Runner/it.lproj/InfoPlist.strings b/ios/Runner/it.lproj/InfoPlist.strings
new file mode 100644
index 00000000..3f9e41d7
--- /dev/null
+++ b/ios/Runner/it.lproj/InfoPlist.strings
@@ -0,0 +1,18 @@
+/*
+ InfoPlist_sky.strings
+ Runner
+
+ Created by Mac on 2024/12/25.
+
+*/
+CFBundleName="TTLock Pro";
+CFBundleDisplayName="TTLock Pro";
+NSBluetoothAlwaysUsageDescription="Questa applicazione utilizza il Bluetooth per cercare, connettersi e trasferire dati tra diversi dispositivi";
+NSBluetoothPeripheralUsageDescription="Questa applicazione utilizza il Bluetooth per cercare, connettersi e trasferire dati tra diversi dispositivi";
+NSCameraUsageDescription="L'app richiede l'accesso alla fotocamera per scattare foto, caricare avatar e autenticare il volto";
+NSContactsUsageDescription="L'app accede alla rubrica per inviare chiavi elettroniche ai contatti";
+NSLocationAlwaysAndWhenlnUseUsageDescription="Abbiamo bisogno del tuo accesso alla posizione per individuare con maggiore precisione i dispositivi Bluetooth";
+NSLocationAlwaysUsageDescription="Abbiamo bisogno del tuo accesso alla posizione per individuare con maggiore precisione i dispositivi Bluetooth";
+NSLocationWhenInUseUsageDescription="Abbiamo bisogno del tuo accesso alla posizione per individuare con maggiore precisione i dispositivi Bluetooth";
+NSMicrophoneUsageDescription="L'app richiede l'accesso al microfono per effettuare chiamate";
+NSPhotoLibraryUsageDescription="L'app richiede l'accesso alla libreria fotografica per caricare avatar";
diff --git a/ios/Runner/it.lproj/InfoPlist_sky.strings b/ios/Runner/it.lproj/InfoPlist_sky.strings
new file mode 100644
index 00000000..3f9e41d7
--- /dev/null
+++ b/ios/Runner/it.lproj/InfoPlist_sky.strings
@@ -0,0 +1,18 @@
+/*
+ InfoPlist_sky.strings
+ Runner
+
+ Created by Mac on 2024/12/25.
+
+*/
+CFBundleName="TTLock Pro";
+CFBundleDisplayName="TTLock Pro";
+NSBluetoothAlwaysUsageDescription="Questa applicazione utilizza il Bluetooth per cercare, connettersi e trasferire dati tra diversi dispositivi";
+NSBluetoothPeripheralUsageDescription="Questa applicazione utilizza il Bluetooth per cercare, connettersi e trasferire dati tra diversi dispositivi";
+NSCameraUsageDescription="L'app richiede l'accesso alla fotocamera per scattare foto, caricare avatar e autenticare il volto";
+NSContactsUsageDescription="L'app accede alla rubrica per inviare chiavi elettroniche ai contatti";
+NSLocationAlwaysAndWhenlnUseUsageDescription="Abbiamo bisogno del tuo accesso alla posizione per individuare con maggiore precisione i dispositivi Bluetooth";
+NSLocationAlwaysUsageDescription="Abbiamo bisogno del tuo accesso alla posizione per individuare con maggiore precisione i dispositivi Bluetooth";
+NSLocationWhenInUseUsageDescription="Abbiamo bisogno del tuo accesso alla posizione per individuare con maggiore precisione i dispositivi Bluetooth";
+NSMicrophoneUsageDescription="L'app richiede l'accesso al microfono per effettuare chiamate";
+NSPhotoLibraryUsageDescription="L'app richiede l'accesso alla libreria fotografica per caricare avatar";
diff --git a/ios/Runner/it.lproj/InfoPlist_xhj.strings b/ios/Runner/it.lproj/InfoPlist_xhj.strings
new file mode 100644
index 00000000..b90714f1
--- /dev/null
+++ b/ios/Runner/it.lproj/InfoPlist_xhj.strings
@@ -0,0 +1,18 @@
+/*
+ InfoPlist_xhj.strings
+ Runner
+
+ Created by Mac on 2024/12/25.
+
+*/
+CFBundleName="StarLock Pro";
+CFBundleDisplayName="StarLock Pro";
+NSBluetoothAlwaysUsageDescription="Questa applicazione utilizza il Bluetooth per cercare, connettersi e trasferire dati tra diversi dispositivi";
+NSBluetoothPeripheralUsageDescription="Questa applicazione utilizza il Bluetooth per cercare, connettersi e trasferire dati tra diversi dispositivi";
+NSCameraUsageDescription="L'app richiede l'accesso alla fotocamera per scattare foto, caricare avatar e autenticare il volto";
+NSContactsUsageDescription="L'app accede alla rubrica per inviare chiavi elettroniche ai contatti";
+NSLocationAlwaysAndWhenlnUseUsageDescription="Abbiamo bisogno del tuo accesso alla posizione per individuare con maggiore precisione i dispositivi Bluetooth";
+NSLocationAlwaysUsageDescription="Abbiamo bisogno del tuo accesso alla posizione per individuare con maggiore precisione i dispositivi Bluetooth";
+NSLocationWhenInUseUsageDescription="Abbiamo bisogno del tuo accesso alla posizione per individuare con maggiore precisione i dispositivi Bluetooth";
+NSMicrophoneUsageDescription="L'app richiede l'accesso al microfono per effettuare chiamate";
+NSPhotoLibraryUsageDescription="L'app richiede l'accesso alla libreria fotografica per caricare avatar";
diff --git a/ios/Runner/it.lproj/Main.strings b/ios/Runner/it.lproj/Main.strings
new file mode 100644
index 00000000..8b137891
--- /dev/null
+++ b/ios/Runner/it.lproj/Main.strings
@@ -0,0 +1 @@
+
diff --git a/ios/Runner/ja.lproj/InfoPlist.strings b/ios/Runner/ja.lproj/InfoPlist.strings
new file mode 100644
index 00000000..50a9e93e
--- /dev/null
+++ b/ios/Runner/ja.lproj/InfoPlist.strings
@@ -0,0 +1,18 @@
+/*
+ InfoPlist_sky.strings
+ Runner
+
+ Created by Mac on 2024/12/25.
+
+*/
+CFBundleName="TTLock Pro";
+CFBundleDisplayName="TTLock Pro";
+NSBluetoothAlwaysUsageDescription="このアプリは、異なるデバイス間でデータを検索、接続、および転送するためにBluetoothを使用します。";
+NSBluetoothPeripheralUsageDescription="このアプリは、異なるデバイス間でデータを検索、接続、および転送するためにBluetoothを使用します。";
+NSCameraUsageDescription="アプリは写真撮影、アバターアップロード、顔認証のためにカメラへのアクセスを要求します。";
+NSContactsUsageDescription="アプリはアドレス帳にアクセスし、連絡先に電子キーを送信します。";
+NSLocationAlwaysAndWhenlnUseUsageDescription="お客様の位置情報にアクセスし、近くのBluetoothロックデバイスを正確にスキャンする必要があります。";
+NSLocationAlwaysUsageDescription="お客様の位置情報にアクセスし、近くのBluetoothロックデバイスを正確にスキャンする必要があります。";
+NSLocationWhenInUseUsageDescription="お客様の位置情報にアクセスし、近くのBluetoothロックデバイスを正確にスキャンする必要があります。";
+NSMicrophoneUsageDescription="アプリは通話のためにマイクへのアクセスを要求します。";
+NSPhotoLibraryUsageDescription="アプリはアバターアップロードのためにフォトライブラリへのアクセスを要求します。";
diff --git a/ios/Runner/ja.lproj/InfoPlist_sky.strings b/ios/Runner/ja.lproj/InfoPlist_sky.strings
new file mode 100644
index 00000000..50a9e93e
--- /dev/null
+++ b/ios/Runner/ja.lproj/InfoPlist_sky.strings
@@ -0,0 +1,18 @@
+/*
+ InfoPlist_sky.strings
+ Runner
+
+ Created by Mac on 2024/12/25.
+
+*/
+CFBundleName="TTLock Pro";
+CFBundleDisplayName="TTLock Pro";
+NSBluetoothAlwaysUsageDescription="このアプリは、異なるデバイス間でデータを検索、接続、および転送するためにBluetoothを使用します。";
+NSBluetoothPeripheralUsageDescription="このアプリは、異なるデバイス間でデータを検索、接続、および転送するためにBluetoothを使用します。";
+NSCameraUsageDescription="アプリは写真撮影、アバターアップロード、顔認証のためにカメラへのアクセスを要求します。";
+NSContactsUsageDescription="アプリはアドレス帳にアクセスし、連絡先に電子キーを送信します。";
+NSLocationAlwaysAndWhenlnUseUsageDescription="お客様の位置情報にアクセスし、近くのBluetoothロックデバイスを正確にスキャンする必要があります。";
+NSLocationAlwaysUsageDescription="お客様の位置情報にアクセスし、近くのBluetoothロックデバイスを正確にスキャンする必要があります。";
+NSLocationWhenInUseUsageDescription="お客様の位置情報にアクセスし、近くのBluetoothロックデバイスを正確にスキャンする必要があります。";
+NSMicrophoneUsageDescription="アプリは通話のためにマイクへのアクセスを要求します。";
+NSPhotoLibraryUsageDescription="アプリはアバターアップロードのためにフォトライブラリへのアクセスを要求します。";
diff --git a/ios/Runner/ja.lproj/InfoPlist_xhj.strings b/ios/Runner/ja.lproj/InfoPlist_xhj.strings
new file mode 100644
index 00000000..c50c1aad
--- /dev/null
+++ b/ios/Runner/ja.lproj/InfoPlist_xhj.strings
@@ -0,0 +1,18 @@
+/*
+ InfoPlist_xhj.strings
+ Runner
+
+ Created by Mac on 2024/12/25.
+
+*/
+CFBundleName="StarLock Pro";
+CFBundleDisplayName="StarLock Pro";
+NSBluetoothAlwaysUsageDescription="このアプリは、異なるデバイス間でデータを検索、接続、および転送するためにBluetoothを使用します。";
+NSBluetoothPeripheralUsageDescription="このアプリは、異なるデバイス間でデータを検索、接続、および転送するためにBluetoothを使用します。";
+NSCameraUsageDescription="アプリは写真撮影、アバターアップロード、顔認証のためにカメラへのアクセスを要求します。";
+NSContactsUsageDescription="アプリはアドレス帳にアクセスし、連絡先に電子キーを送信します。";
+NSLocationAlwaysAndWhenlnUseUsageDescription="お客様の位置情報にアクセスし、近くのBluetoothロックデバイスを正確にスキャンする必要があります。";
+NSLocationAlwaysUsageDescription="お客様の位置情報にアクセスし、近くのBluetoothロックデバイスを正確にスキャンする必要があります。";
+NSLocationWhenInUseUsageDescription="お客様の位置情報にアクセスし、近くのBluetoothロックデバイスを正確にスキャンする必要があります。";
+NSMicrophoneUsageDescription="アプリは通話のためにマイクへのアクセスを要求します。";
+NSPhotoLibraryUsageDescription="アプリはアバターアップロードのためにフォトライブラリへのアクセスを要求します。";
diff --git a/ios/Runner/ja.lproj/Main.strings b/ios/Runner/ja.lproj/Main.strings
new file mode 100644
index 00000000..8b137891
--- /dev/null
+++ b/ios/Runner/ja.lproj/Main.strings
@@ -0,0 +1 @@
+
diff --git a/ios/Runner/kk.lproj/InfoPlist.strings b/ios/Runner/kk.lproj/InfoPlist.strings
new file mode 100644
index 00000000..c261e112
--- /dev/null
+++ b/ios/Runner/kk.lproj/InfoPlist.strings
@@ -0,0 +1,18 @@
+/*
+ InfoPlist_sky.strings
+ Runner
+
+ Created by Mac on 2024/12/25.
+
+*/
+CFBundleName="TTLock Pro";
+CFBundleDisplayName="TTLock Pro";
+NSBluetoothAlwaysUsageDescription="Бұл қосымша әртүрлі құрылғылар арасында деректерді іздеу, қосылу және беру үшін Bluetooth пайдаланады";
+NSBluetoothPeripheralUsageDescription="Бұл қосымша әртүрлі құрылғылар арасында деректерді іздеу, қосылу және беру үшін Bluetooth пайдаланады";
+NSCameraUsageDescription="Қосымша камераға қол жеткізуді сұрайды, фотосуреттер түсіру, аватарларды жүктеу және бет-әлпетті тану үшін";
+NSContactsUsageDescription="Қосымша байланыс кітапшаларына қол жеткізеді, байланыстарға электронды кілттер жіберу үшін";
+NSLocationAlwaysAndWhenInUseUsageDescription="Bluetooth құлып құрылғыларын нақтырақ сканерлеу үшін бізге сіздің орналасқан жеріңізге қол жеткізу қажет";
+NSLocationAlwaysUsageDescription="Bluetooth құлып құрылғыларын нақтырақ сканерлеу үшін бізге сіздің орналасқан жеріңізге қол жеткізу қажет";
+NSLocationWhenInUseUsageDescription="Bluetooth құлып құрылғыларын нақтырақ сканерлеу үшін бізге сіздің орналасқан жеріңізге қол жеткізу қажет";
+NSMicrophoneUsageDescription="Қосымша дауыстық қоңыраулар үшін микрофонға қол жеткізуді сұрайды";
+NSPhotoLibraryUsageDescription="Қосымша аватарларды жүктеу үшін фотокітапханаға қол жеткізуді сұрайды";
diff --git a/ios/Runner/kk.lproj/InfoPlist_sky.strings b/ios/Runner/kk.lproj/InfoPlist_sky.strings
new file mode 100644
index 00000000..c261e112
--- /dev/null
+++ b/ios/Runner/kk.lproj/InfoPlist_sky.strings
@@ -0,0 +1,18 @@
+/*
+ InfoPlist_sky.strings
+ Runner
+
+ Created by Mac on 2024/12/25.
+
+*/
+CFBundleName="TTLock Pro";
+CFBundleDisplayName="TTLock Pro";
+NSBluetoothAlwaysUsageDescription="Бұл қосымша әртүрлі құрылғылар арасында деректерді іздеу, қосылу және беру үшін Bluetooth пайдаланады";
+NSBluetoothPeripheralUsageDescription="Бұл қосымша әртүрлі құрылғылар арасында деректерді іздеу, қосылу және беру үшін Bluetooth пайдаланады";
+NSCameraUsageDescription="Қосымша камераға қол жеткізуді сұрайды, фотосуреттер түсіру, аватарларды жүктеу және бет-әлпетті тану үшін";
+NSContactsUsageDescription="Қосымша байланыс кітапшаларына қол жеткізеді, байланыстарға электронды кілттер жіберу үшін";
+NSLocationAlwaysAndWhenInUseUsageDescription="Bluetooth құлып құрылғыларын нақтырақ сканерлеу үшін бізге сіздің орналасқан жеріңізге қол жеткізу қажет";
+NSLocationAlwaysUsageDescription="Bluetooth құлып құрылғыларын нақтырақ сканерлеу үшін бізге сіздің орналасқан жеріңізге қол жеткізу қажет";
+NSLocationWhenInUseUsageDescription="Bluetooth құлып құрылғыларын нақтырақ сканерлеу үшін бізге сіздің орналасқан жеріңізге қол жеткізу қажет";
+NSMicrophoneUsageDescription="Қосымша дауыстық қоңыраулар үшін микрофонға қол жеткізуді сұрайды";
+NSPhotoLibraryUsageDescription="Қосымша аватарларды жүктеу үшін фотокітапханаға қол жеткізуді сұрайды";
diff --git a/ios/Runner/kk.lproj/InfoPlist_xhj.strings b/ios/Runner/kk.lproj/InfoPlist_xhj.strings
new file mode 100644
index 00000000..6b853be2
--- /dev/null
+++ b/ios/Runner/kk.lproj/InfoPlist_xhj.strings
@@ -0,0 +1,18 @@
+/*
+ InfoPlist_xhj.strings
+ Runner
+
+ Created by Mac on 2024/12/25.
+
+*/
+CFBundleName="StarLock Pro";
+CFBundleDisplayName="StarLock Pro";
+NSBluetoothAlwaysUsageDescription="Бұл қосымша әртүрлі құрылғылар арасында деректерді іздеу, қосылу және беру үшін Bluetooth пайдаланады";
+NSBluetoothPeripheralUsageDescription="Бұл қосымша әртүрлі құрылғылар арасында деректерді іздеу, қосылу және беру үшін Bluetooth пайдаланады";
+NSCameraUsageDescription="Қосымша камераға қол жеткізуді сұрайды, фотосуреттер түсіру, аватарларды жүктеу және бет-әлпетті тану үшін";
+NSContactsUsageDescription="Қосымша байланыс кітапшаларына қол жеткізеді, байланыстарға электронды кілттер жіберу үшін";
+NSLocationAlwaysAndWhenInUseUsageDescription="Bluetooth құлып құрылғыларын нақтырақ сканерлеу үшін бізге сіздің орналасқан жеріңізге қол жеткізу қажет";
+NSLocationAlwaysUsageDescription="Bluetooth құлып құрылғыларын нақтырақ сканерлеу үшін бізге сіздің орналасқан жеріңізге қол жеткізу қажет";
+NSLocationWhenInUseUsageDescription="Bluetooth құлып құрылғыларын нақтырақ сканерлеу үшін бізге сіздің орналасқан жеріңізге қол жеткізу қажет";
+NSMicrophoneUsageDescription="Қосымша дауыстық қоңыраулар үшін микрофонға қол жеткізуді сұрайды";
+NSPhotoLibraryUsageDescription="Қосымша аватарларды жүктеу үшін фотокітапханаға қол жеткізуді сұрайды";
diff --git a/ios/Runner/kk.lproj/Main.strings b/ios/Runner/kk.lproj/Main.strings
new file mode 100644
index 00000000..8b137891
--- /dev/null
+++ b/ios/Runner/kk.lproj/Main.strings
@@ -0,0 +1 @@
+
diff --git a/ios/Runner/ko.lproj/InfoPlist.strings b/ios/Runner/ko.lproj/InfoPlist.strings
new file mode 100644
index 00000000..5596dc02
--- /dev/null
+++ b/ios/Runner/ko.lproj/InfoPlist.strings
@@ -0,0 +1,18 @@
+/*
+ InfoPlist_sky.strings
+ Runner
+
+ Created by Mac on 2024/12/25.
+
+*/
+CFBundleName="TTLock Pro";
+CFBundleDisplayName="TTLock Pro";
+NSBluetoothAlwaysUsageDescription="이 애플리케이션은 블루투스를 사용하여 다른 기기 간에 검색, 연결 및 데이터를 전송합니다";
+NSBluetoothPeripheralUsageDescription="이 애플리케이션은 블루투스를 사용하여 다른 기기 간에 검색, 연결 및 데이터를 전송합니다";
+NSCameraUsageDescription="앱이 사진 촬영, 아바타 업로드 및 얼굴 인증을 위해 카메라 접근 권한을 요청합니다";
+NSContactsUsageDescription="앱이 연락처에 접근하여 전자 키를 연락처에 전송합니다";
+NSLocationAlwaysAndWhenlnUseUsageDescription="블루투스 잠금 장치를 보다 정확하게 검색하기 위해 귀하의 위치 정보가 필요합니다";
+NSLocationAlwaysUsageDescription="블루투스 잠금 장치를 보다 정확하게 검색하기 위해 귀하의 위치 정보가 필요합니다";
+NSLocationWhenInUseUsageDescription="블루투스 잠금 장치를 보다 정확하게 검색하기 위해 귀하의 위치 정보가 필요합니다";
+NSMicrophoneUsageDescription="앱이 통화를 위해 마이크 접근 권한을 요청합니다";
+NSPhotoLibraryUsageDescription="앱이 아바타 업로드를 위해 사진 라이브러리 접근 권한을 요청합니다";
diff --git a/ios/Runner/ko.lproj/InfoPlist_sky.strings b/ios/Runner/ko.lproj/InfoPlist_sky.strings
new file mode 100644
index 00000000..5596dc02
--- /dev/null
+++ b/ios/Runner/ko.lproj/InfoPlist_sky.strings
@@ -0,0 +1,18 @@
+/*
+ InfoPlist_sky.strings
+ Runner
+
+ Created by Mac on 2024/12/25.
+
+*/
+CFBundleName="TTLock Pro";
+CFBundleDisplayName="TTLock Pro";
+NSBluetoothAlwaysUsageDescription="이 애플리케이션은 블루투스를 사용하여 다른 기기 간에 검색, 연결 및 데이터를 전송합니다";
+NSBluetoothPeripheralUsageDescription="이 애플리케이션은 블루투스를 사용하여 다른 기기 간에 검색, 연결 및 데이터를 전송합니다";
+NSCameraUsageDescription="앱이 사진 촬영, 아바타 업로드 및 얼굴 인증을 위해 카메라 접근 권한을 요청합니다";
+NSContactsUsageDescription="앱이 연락처에 접근하여 전자 키를 연락처에 전송합니다";
+NSLocationAlwaysAndWhenlnUseUsageDescription="블루투스 잠금 장치를 보다 정확하게 검색하기 위해 귀하의 위치 정보가 필요합니다";
+NSLocationAlwaysUsageDescription="블루투스 잠금 장치를 보다 정확하게 검색하기 위해 귀하의 위치 정보가 필요합니다";
+NSLocationWhenInUseUsageDescription="블루투스 잠금 장치를 보다 정확하게 검색하기 위해 귀하의 위치 정보가 필요합니다";
+NSMicrophoneUsageDescription="앱이 통화를 위해 마이크 접근 권한을 요청합니다";
+NSPhotoLibraryUsageDescription="앱이 아바타 업로드를 위해 사진 라이브러리 접근 권한을 요청합니다";
diff --git a/ios/Runner/ko.lproj/InfoPlist_xhj.strings b/ios/Runner/ko.lproj/InfoPlist_xhj.strings
new file mode 100644
index 00000000..ab41cc4c
--- /dev/null
+++ b/ios/Runner/ko.lproj/InfoPlist_xhj.strings
@@ -0,0 +1,18 @@
+/*
+ InfoPlist_xhj.strings
+ Runner
+
+ Created by Mac on 2024/12/25.
+
+*/
+CFBundleName="StarLock Pro";
+CFBundleDisplayName="StarLock Pro";
+NSBluetoothAlwaysUsageDescription="이 애플리케이션은 블루투스를 사용하여 다른 기기 간에 검색, 연결 및 데이터를 전송합니다";
+NSBluetoothPeripheralUsageDescription="이 애플리케이션은 블루투스를 사용하여 다른 기기 간에 검색, 연결 및 데이터를 전송합니다";
+NSCameraUsageDescription="앱이 사진 촬영, 아바타 업로드 및 얼굴 인증을 위해 카메라 접근 권한을 요청합니다";
+NSContactsUsageDescription="앱이 연락처에 접근하여 전자 키를 연락처에 전송합니다";
+NSLocationAlwaysAndWhenlnUseUsageDescription="블루투스 잠금 장치를 보다 정확하게 검색하기 위해 귀하의 위치 정보가 필요합니다";
+NSLocationAlwaysUsageDescription="블루투스 잠금 장치를 보다 정확하게 검색하기 위해 귀하의 위치 정보가 필요합니다";
+NSLocationWhenInUseUsageDescription="블루투스 잠금 장치를 보다 정확하게 검색하기 위해 귀하의 위치 정보가 필요합니다";
+NSMicrophoneUsageDescription="앱이 통화를 위해 마이크 접근 권한을 요청합니다";
+NSPhotoLibraryUsageDescription="앱이 아바타 업로드를 위해 사진 라이브러리 접근 권한을 요청합니다";
diff --git a/ios/Runner/ko.lproj/Main.strings b/ios/Runner/ko.lproj/Main.strings
new file mode 100644
index 00000000..8b137891
--- /dev/null
+++ b/ios/Runner/ko.lproj/Main.strings
@@ -0,0 +1 @@
+
diff --git a/ios/Runner/lt.lproj/InfoPlist.strings b/ios/Runner/lt.lproj/InfoPlist.strings
new file mode 100644
index 00000000..3409e88a
--- /dev/null
+++ b/ios/Runner/lt.lproj/InfoPlist.strings
@@ -0,0 +1,18 @@
+/*
+ InfoPlist_sky.strings
+ Runner
+
+ Created by Mac on 2024/12/25.
+
+*/
+CFBundleName="TTLock Pro";
+CFBundleDisplayName="TTLock Pro";
+NSBluetoothAlwaysUsageDescription="Ši programa naudoja „Bluetooth“, kad surastų, prisijungtų ir perduotų duomenis tarp skirtingų įrenginių";
+NSBluetoothPeripheralUsageDescription="Ši programa naudoja „Bluetooth“, kad surastų, prisijungtų ir perduotų duomenis tarp skirtingų įrenginių";
+NSCameraUsageDescription="Programa prašo prieigos prie kameros, kad darytų nuotraukas, įkeltų avatarus ir atliktų veido autentifikaciją";
+NSContactsUsageDescription="Programa pasiekia jūsų kontaktus, kad siųstų elektroninius raktus jūsų kontaktams";
+NSLocationAlwaysAndWhenlnUseUsageDescription="Mes turime prieigą prie jūsų vietos, kad tiksliau nuskaitytume netoliese esančius „Bluetooth“ spynos įrenginius";
+NSLocationAlwaysUsageDescription="Mes turime prieigą prie jūsų vietos, kad tiksliau nuskaitytume netoliese esančius „Bluetooth“ spynos įrenginius";
+NSLocationWhenInUseUsageDescription="Mes turime prieigą prie jūsų vietos, kad tiksliau nuskaitytume netoliese esančius „Bluetooth“ spynos įrenginius";
+NSMicrophoneUsageDescription="Programa prašo prieigos prie mikrofono pokalbiams";
+NSPhotoLibraryUsageDescription="Programa prašo prieigos prie nuotraukų bibliotekos, kad įkeltų avatarus";
diff --git a/ios/Runner/lt.lproj/InfoPlist_sky.strings b/ios/Runner/lt.lproj/InfoPlist_sky.strings
new file mode 100644
index 00000000..3409e88a
--- /dev/null
+++ b/ios/Runner/lt.lproj/InfoPlist_sky.strings
@@ -0,0 +1,18 @@
+/*
+ InfoPlist_sky.strings
+ Runner
+
+ Created by Mac on 2024/12/25.
+
+*/
+CFBundleName="TTLock Pro";
+CFBundleDisplayName="TTLock Pro";
+NSBluetoothAlwaysUsageDescription="Ši programa naudoja „Bluetooth“, kad surastų, prisijungtų ir perduotų duomenis tarp skirtingų įrenginių";
+NSBluetoothPeripheralUsageDescription="Ši programa naudoja „Bluetooth“, kad surastų, prisijungtų ir perduotų duomenis tarp skirtingų įrenginių";
+NSCameraUsageDescription="Programa prašo prieigos prie kameros, kad darytų nuotraukas, įkeltų avatarus ir atliktų veido autentifikaciją";
+NSContactsUsageDescription="Programa pasiekia jūsų kontaktus, kad siųstų elektroninius raktus jūsų kontaktams";
+NSLocationAlwaysAndWhenlnUseUsageDescription="Mes turime prieigą prie jūsų vietos, kad tiksliau nuskaitytume netoliese esančius „Bluetooth“ spynos įrenginius";
+NSLocationAlwaysUsageDescription="Mes turime prieigą prie jūsų vietos, kad tiksliau nuskaitytume netoliese esančius „Bluetooth“ spynos įrenginius";
+NSLocationWhenInUseUsageDescription="Mes turime prieigą prie jūsų vietos, kad tiksliau nuskaitytume netoliese esančius „Bluetooth“ spynos įrenginius";
+NSMicrophoneUsageDescription="Programa prašo prieigos prie mikrofono pokalbiams";
+NSPhotoLibraryUsageDescription="Programa prašo prieigos prie nuotraukų bibliotekos, kad įkeltų avatarus";
diff --git a/ios/Runner/lt.lproj/InfoPlist_xhj.strings b/ios/Runner/lt.lproj/InfoPlist_xhj.strings
new file mode 100644
index 00000000..6db05fd8
--- /dev/null
+++ b/ios/Runner/lt.lproj/InfoPlist_xhj.strings
@@ -0,0 +1,18 @@
+/*
+ InfoPlist_xhj.strings
+ Runner
+
+ Created by Mac on 2024/12/25.
+
+*/
+CFBundleName="StarLock Pro";
+CFBundleDisplayName="StarLock Pro";
+NSBluetoothAlwaysUsageDescription="Ši programa naudoja „Bluetooth“, kad surastų, prisijungtų ir perduotų duomenis tarp skirtingų įrenginių";
+NSBluetoothPeripheralUsageDescription="Ši programa naudoja „Bluetooth“, kad surastų, prisijungtų ir perduotų duomenis tarp skirtingų įrenginių";
+NSCameraUsageDescription="Programa prašo prieigos prie kameros, kad darytų nuotraukas, įkeltų avatarus ir atliktų veido autentifikaciją";
+NSContactsUsageDescription="Programa pasiekia jūsų kontaktus, kad siųstų elektroninius raktus jūsų kontaktams";
+NSLocationAlwaysAndWhenlnUseUsageDescription="Mes turime prieigą prie jūsų vietos, kad tiksliau nuskaitytume netoliese esančius „Bluetooth“ spynos įrenginius";
+NSLocationAlwaysUsageDescription="Mes turime prieigą prie jūsų vietos, kad tiksliau nuskaitytume netoliese esančius „Bluetooth“ spynos įrenginius";
+NSLocationWhenInUseUsageDescription="Mes turime prieigą prie jūsų vietos, kad tiksliau nuskaitytume netoliese esančius „Bluetooth“ spynos įrenginius";
+NSMicrophoneUsageDescription="Programa prašo prieigos prie mikrofono pokalbiams";
+NSPhotoLibraryUsageDescription="Programa prašo prieigos prie nuotraukų bibliotekos, kad įkeltų avatarus";
diff --git a/ios/Runner/lt.lproj/Main.strings b/ios/Runner/lt.lproj/Main.strings
new file mode 100644
index 00000000..8b137891
--- /dev/null
+++ b/ios/Runner/lt.lproj/Main.strings
@@ -0,0 +1 @@
+
diff --git a/ios/Runner/ms.lproj/InfoPlist.strings b/ios/Runner/ms.lproj/InfoPlist.strings
new file mode 100644
index 00000000..bb055d6a
--- /dev/null
+++ b/ios/Runner/ms.lproj/InfoPlist.strings
@@ -0,0 +1,18 @@
+/*
+ InfoPlist_sky.strings
+ Runner
+
+ Created by Mac on 2024/12/25.
+
+*/
+CFBundleName="TTLock Pro";
+CFBundleDisplayName="TTLock Pro";
+NSBluetoothAlwaysUsageDescription="Aplikasi ini menggunakan Bluetooth untuk mencari, menyambung, dan memindahkan data antara peranti yang berbeza";
+NSBluetoothPeripheralUsageDescription="Aplikasi ini menggunakan Bluetooth untuk mencari, menyambung, dan memindahkan data antara peranti yang berbeza";
+NSCameraUsageDescription="Aplikasi ini meminta akses kepada kamera untuk mengambil gambar, memuat naik avatar dan pengesahan wajah";
+NSContactsUsageDescription="Aplikasi ini mengakses kenalan untuk menghantar kunci elektronik kepada kenalan dalam buku alamat anda";
+NSLocationAlwaysAndWhenlnUseUsageDescription="Kami memerlukan akses kepada maklumat lokasi anda untuk mengesan peranti kunci Bluetooth dengan lebih tepat";
+NSLocationAlwaysUsageDescription="Kami memerlukan akses kepada maklumat lokasi anda untuk mengesan peranti kunci Bluetooth dengan lebih tepat";
+NSLocationWhenInUseUsageDescription="Kami memerlukan akses kepada maklumat lokasi anda untuk mengesan peranti kunci Bluetooth dengan lebih tepat";
+NSMicrophoneUsageDescription="Aplikasi ini meminta akses kepada mikrofon untuk membuat panggilan";
+NSPhotoLibraryUsageDescription="Aplikasi ini meminta akses kepada perpustakaan foto untuk memuat naik avatar";
diff --git a/ios/Runner/ms.lproj/InfoPlist_sky.strings b/ios/Runner/ms.lproj/InfoPlist_sky.strings
new file mode 100644
index 00000000..bb055d6a
--- /dev/null
+++ b/ios/Runner/ms.lproj/InfoPlist_sky.strings
@@ -0,0 +1,18 @@
+/*
+ InfoPlist_sky.strings
+ Runner
+
+ Created by Mac on 2024/12/25.
+
+*/
+CFBundleName="TTLock Pro";
+CFBundleDisplayName="TTLock Pro";
+NSBluetoothAlwaysUsageDescription="Aplikasi ini menggunakan Bluetooth untuk mencari, menyambung, dan memindahkan data antara peranti yang berbeza";
+NSBluetoothPeripheralUsageDescription="Aplikasi ini menggunakan Bluetooth untuk mencari, menyambung, dan memindahkan data antara peranti yang berbeza";
+NSCameraUsageDescription="Aplikasi ini meminta akses kepada kamera untuk mengambil gambar, memuat naik avatar dan pengesahan wajah";
+NSContactsUsageDescription="Aplikasi ini mengakses kenalan untuk menghantar kunci elektronik kepada kenalan dalam buku alamat anda";
+NSLocationAlwaysAndWhenlnUseUsageDescription="Kami memerlukan akses kepada maklumat lokasi anda untuk mengesan peranti kunci Bluetooth dengan lebih tepat";
+NSLocationAlwaysUsageDescription="Kami memerlukan akses kepada maklumat lokasi anda untuk mengesan peranti kunci Bluetooth dengan lebih tepat";
+NSLocationWhenInUseUsageDescription="Kami memerlukan akses kepada maklumat lokasi anda untuk mengesan peranti kunci Bluetooth dengan lebih tepat";
+NSMicrophoneUsageDescription="Aplikasi ini meminta akses kepada mikrofon untuk membuat panggilan";
+NSPhotoLibraryUsageDescription="Aplikasi ini meminta akses kepada perpustakaan foto untuk memuat naik avatar";
diff --git a/ios/Runner/ms.lproj/InfoPlist_xhj.strings b/ios/Runner/ms.lproj/InfoPlist_xhj.strings
new file mode 100644
index 00000000..3d85d049
--- /dev/null
+++ b/ios/Runner/ms.lproj/InfoPlist_xhj.strings
@@ -0,0 +1,18 @@
+/*
+ InfoPlist_xhj.strings
+ Runner
+
+ Created by Mac on 2024/12/25.
+
+*/
+CFBundleName="StarLock Pro";
+CFBundleDisplayName="StarLock Pro";
+NSBluetoothAlwaysUsageDescription="Aplikasi ini menggunakan Bluetooth untuk mencari, menyambung, dan memindahkan data antara peranti yang berbeza";
+NSBluetoothPeripheralUsageDescription="Aplikasi ini menggunakan Bluetooth untuk mencari, menyambung, dan memindahkan data antara peranti yang berbeza";
+NSCameraUsageDescription="Aplikasi ini meminta akses kepada kamera untuk mengambil gambar, memuat naik avatar dan pengesahan wajah";
+NSContactsUsageDescription="Aplikasi ini mengakses kenalan untuk menghantar kunci elektronik kepada kenalan dalam buku alamat anda";
+NSLocationAlwaysAndWhenlnUseUsageDescription="Kami memerlukan akses kepada maklumat lokasi anda untuk mengesan peranti kunci Bluetooth dengan lebih tepat";
+NSLocationAlwaysUsageDescription="Kami memerlukan akses kepada maklumat lokasi anda untuk mengesan peranti kunci Bluetooth dengan lebih tepat";
+NSLocationWhenInUseUsageDescription="Kami memerlukan akses kepada maklumat lokasi anda untuk mengesan peranti kunci Bluetooth dengan lebih tepat";
+NSMicrophoneUsageDescription="Aplikasi ini meminta akses kepada mikrofon untuk membuat panggilan";
+NSPhotoLibraryUsageDescription="Aplikasi ini meminta akses kepada perpustakaan foto untuk memuat naik avatar";
diff --git a/ios/Runner/ms.lproj/Main.strings b/ios/Runner/ms.lproj/Main.strings
new file mode 100644
index 00000000..8b137891
--- /dev/null
+++ b/ios/Runner/ms.lproj/Main.strings
@@ -0,0 +1 @@
+
diff --git a/ios/Runner/nl.lproj/InfoPlist.strings b/ios/Runner/nl.lproj/InfoPlist.strings
new file mode 100644
index 00000000..9a3397aa
--- /dev/null
+++ b/ios/Runner/nl.lproj/InfoPlist.strings
@@ -0,0 +1,18 @@
+/*
+ InfoPlist_sky.strings
+ Runner
+
+ Created by Mac on 2024/12/25.
+
+*/
+CFBundleName="TTLock Pro";
+CFBundleDisplayName="TTLock Pro";
+NSBluetoothAlwaysUsageDescription="Deze applicatie maakt gebruik van Bluetooth om gegevens te zoeken, verbinden en over te dragen tussen verschillende apparaten";
+NSBluetoothPeripheralUsageDescription="Deze applicatie maakt gebruik van Bluetooth om gegevens te zoeken, verbinden en over te dragen tussen verschillende apparaten";
+NSCameraUsageDescription="De applicatie vraagt om toegang tot de camera om foto's te maken, avatars te uploaden en gezichtsverificatie uit te voeren";
+NSContactsUsageDescription="De applicatie krijgt toegang tot uw contacten om elektronische sleutels naar uw contacten te sturen";
+NSLocationAlwaysAndWhenlnUseUsageDescription="We hebben toegang nodig tot uw locatie om Bluetooth-sloten op uw locatie nauwkeuriger te scannen";
+NSLocationAlwaysUsageDescription="We hebben toegang nodig tot uw locatie om Bluetooth-sloten op uw locatie nauwkeuriger te scannen";
+NSLocationWhenInUseUsageDescription="We hebben toegang nodig tot uw locatie om Bluetooth-sloten op uw locatie nauwkeuriger te scannen";
+NSMicrophoneUsageDescription="De applicatie vraagt om toegang tot de microfoon voor gesprekken";
+NSPhotoLibraryUsageDescription="De applicatie vraagt om toegang tot de fotobibliotheek voor het uploaden van avatars";
diff --git a/ios/Runner/nl.lproj/InfoPlist_sky.strings b/ios/Runner/nl.lproj/InfoPlist_sky.strings
new file mode 100644
index 00000000..9a3397aa
--- /dev/null
+++ b/ios/Runner/nl.lproj/InfoPlist_sky.strings
@@ -0,0 +1,18 @@
+/*
+ InfoPlist_sky.strings
+ Runner
+
+ Created by Mac on 2024/12/25.
+
+*/
+CFBundleName="TTLock Pro";
+CFBundleDisplayName="TTLock Pro";
+NSBluetoothAlwaysUsageDescription="Deze applicatie maakt gebruik van Bluetooth om gegevens te zoeken, verbinden en over te dragen tussen verschillende apparaten";
+NSBluetoothPeripheralUsageDescription="Deze applicatie maakt gebruik van Bluetooth om gegevens te zoeken, verbinden en over te dragen tussen verschillende apparaten";
+NSCameraUsageDescription="De applicatie vraagt om toegang tot de camera om foto's te maken, avatars te uploaden en gezichtsverificatie uit te voeren";
+NSContactsUsageDescription="De applicatie krijgt toegang tot uw contacten om elektronische sleutels naar uw contacten te sturen";
+NSLocationAlwaysAndWhenlnUseUsageDescription="We hebben toegang nodig tot uw locatie om Bluetooth-sloten op uw locatie nauwkeuriger te scannen";
+NSLocationAlwaysUsageDescription="We hebben toegang nodig tot uw locatie om Bluetooth-sloten op uw locatie nauwkeuriger te scannen";
+NSLocationWhenInUseUsageDescription="We hebben toegang nodig tot uw locatie om Bluetooth-sloten op uw locatie nauwkeuriger te scannen";
+NSMicrophoneUsageDescription="De applicatie vraagt om toegang tot de microfoon voor gesprekken";
+NSPhotoLibraryUsageDescription="De applicatie vraagt om toegang tot de fotobibliotheek voor het uploaden van avatars";
diff --git a/ios/Runner/nl.lproj/InfoPlist_xhj.strings b/ios/Runner/nl.lproj/InfoPlist_xhj.strings
new file mode 100644
index 00000000..485e330e
--- /dev/null
+++ b/ios/Runner/nl.lproj/InfoPlist_xhj.strings
@@ -0,0 +1,18 @@
+/*
+ InfoPlist_xhj.strings
+ Runner
+
+ Created by Mac on 2024/12/25.
+
+*/
+CFBundleName="StarLock Pro";
+CFBundleDisplayName="StarLock Pro";
+NSBluetoothAlwaysUsageDescription="Deze applicatie maakt gebruik van Bluetooth om gegevens te zoeken, verbinden en over te dragen tussen verschillende apparaten";
+NSBluetoothPeripheralUsageDescription="Deze applicatie maakt gebruik van Bluetooth om gegevens te zoeken, verbinden en over te dragen tussen verschillende apparaten";
+NSCameraUsageDescription="De applicatie vraagt om toegang tot de camera om foto's te maken, avatars te uploaden en gezichtsverificatie uit te voeren";
+NSContactsUsageDescription="De applicatie krijgt toegang tot uw contacten om elektronische sleutels naar uw contacten te sturen";
+NSLocationAlwaysAndWhenlnUseUsageDescription="We hebben toegang nodig tot uw locatie om Bluetooth-sloten op uw locatie nauwkeuriger te scannen";
+NSLocationAlwaysUsageDescription="We hebben toegang nodig tot uw locatie om Bluetooth-sloten op uw locatie nauwkeuriger te scannen";
+NSLocationWhenInUseUsageDescription="We hebben toegang nodig tot uw locatie om Bluetooth-sloten op uw locatie nauwkeuriger te scannen";
+NSMicrophoneUsageDescription="De applicatie vraagt om toegang tot de microfoon voor gesprekken";
+NSPhotoLibraryUsageDescription="De applicatie vraagt om toegang tot de fotobibliotheek voor het uploaden van avatars";
diff --git a/ios/Runner/nl.lproj/Main.strings b/ios/Runner/nl.lproj/Main.strings
new file mode 100644
index 00000000..8b137891
--- /dev/null
+++ b/ios/Runner/nl.lproj/Main.strings
@@ -0,0 +1 @@
+
diff --git a/ios/Runner/pl.lproj/InfoPlist.strings b/ios/Runner/pl.lproj/InfoPlist.strings
new file mode 100644
index 00000000..4252fc00
--- /dev/null
+++ b/ios/Runner/pl.lproj/InfoPlist.strings
@@ -0,0 +1,18 @@
+/*
+ InfoPlist_sky.strings
+ Runner
+
+ Created by Mac on 2024/12/25.
+
+*/
+CFBundleName="TTLock Pro";
+CFBundleDisplayName="TTLock Pro";
+NSBluetoothAlwaysUsageDescription="Ta aplikacja używa Bluetooth do wyszukiwania, łączenia i przesyłania danych między różnymi urządzeniami";
+NSBluetoothPeripheralUsageDescription="Ta aplikacja używa Bluetooth do wyszukiwania, łączenia i przesyłania danych między różnymi urządzeniami";
+NSCameraUsageDescription="Aplikacja prosi o dostęp do kamery, aby robić zdjęcia, przesyłać awatary i przeprowadzać weryfikację twarzy";
+NSContactsUsageDescription="Aplikacja uzyskuje dostęp do Twoich kontaktów, aby wysyłać klucze elektroniczne do kontaktów w książce adresowej";
+NSLocationAlwaysAndWhenInUseUsageDescription="Potrzebujemy dostępu do Twojej lokalizacji, aby dokładniej zeskanować urządzenia Bluetooth w pobliżu";
+NSLocationAlwaysUsageDescription="Potrzebujemy dostępu do Twojej lokalizacji, aby dokładniej zeskanować urządzenia Bluetooth w pobliżu";
+NSLocationWhenInUseUsageDescription="Potrzebujemy dostępu do Twojej lokalizacji, aby dokładniej zeskanować urządzenia Bluetooth w pobliżu";
+NSMicrophoneUsageDescription="Aplikacja prosi o dostęp do mikrofonu do rozmów";
+NSPhotoLibraryUsageDescription="Aplikacja prosi o dostęp do biblioteki zdjęć w celu przesyłania awatarów";
diff --git a/ios/Runner/pl.lproj/InfoPlist_sky.strings b/ios/Runner/pl.lproj/InfoPlist_sky.strings
new file mode 100644
index 00000000..4252fc00
--- /dev/null
+++ b/ios/Runner/pl.lproj/InfoPlist_sky.strings
@@ -0,0 +1,18 @@
+/*
+ InfoPlist_sky.strings
+ Runner
+
+ Created by Mac on 2024/12/25.
+
+*/
+CFBundleName="TTLock Pro";
+CFBundleDisplayName="TTLock Pro";
+NSBluetoothAlwaysUsageDescription="Ta aplikacja używa Bluetooth do wyszukiwania, łączenia i przesyłania danych między różnymi urządzeniami";
+NSBluetoothPeripheralUsageDescription="Ta aplikacja używa Bluetooth do wyszukiwania, łączenia i przesyłania danych między różnymi urządzeniami";
+NSCameraUsageDescription="Aplikacja prosi o dostęp do kamery, aby robić zdjęcia, przesyłać awatary i przeprowadzać weryfikację twarzy";
+NSContactsUsageDescription="Aplikacja uzyskuje dostęp do Twoich kontaktów, aby wysyłać klucze elektroniczne do kontaktów w książce adresowej";
+NSLocationAlwaysAndWhenInUseUsageDescription="Potrzebujemy dostępu do Twojej lokalizacji, aby dokładniej zeskanować urządzenia Bluetooth w pobliżu";
+NSLocationAlwaysUsageDescription="Potrzebujemy dostępu do Twojej lokalizacji, aby dokładniej zeskanować urządzenia Bluetooth w pobliżu";
+NSLocationWhenInUseUsageDescription="Potrzebujemy dostępu do Twojej lokalizacji, aby dokładniej zeskanować urządzenia Bluetooth w pobliżu";
+NSMicrophoneUsageDescription="Aplikacja prosi o dostęp do mikrofonu do rozmów";
+NSPhotoLibraryUsageDescription="Aplikacja prosi o dostęp do biblioteki zdjęć w celu przesyłania awatarów";
diff --git a/ios/Runner/pl.lproj/InfoPlist_xhj.strings b/ios/Runner/pl.lproj/InfoPlist_xhj.strings
new file mode 100644
index 00000000..4dbce07e
--- /dev/null
+++ b/ios/Runner/pl.lproj/InfoPlist_xhj.strings
@@ -0,0 +1,18 @@
+/*
+ InfoPlist_xhj.strings
+ Runner
+
+ Created by Mac on 2024/12/25.
+
+*/
+CFBundleName="StarLock Pro";
+CFBundleDisplayName="StarLock Pro";
+NSBluetoothAlwaysUsageDescription="Ta aplikacja używa Bluetooth do wyszukiwania, łączenia i przesyłania danych między różnymi urządzeniami";
+NSBluetoothPeripheralUsageDescription="Ta aplikacja używa Bluetooth do wyszukiwania, łączenia i przesyłania danych między różnymi urządzeniami";
+NSCameraUsageDescription="Aplikacja prosi o dostęp do kamery, aby robić zdjęcia, przesyłać awatary i przeprowadzać weryfikację twarzy";
+NSContactsUsageDescription="Aplikacja uzyskuje dostęp do Twoich kontaktów, aby wysyłać klucze elektroniczne do kontaktów w książce adresowej";
+NSLocationAlwaysAndWhenInUseUsageDescription="Potrzebujemy dostępu do Twojej lokalizacji, aby dokładniej zeskanować urządzenia Bluetooth w pobliżu";
+NSLocationAlwaysUsageDescription="Potrzebujemy dostępu do Twojej lokalizacji, aby dokładniej zeskanować urządzenia Bluetooth w pobliżu";
+NSLocationWhenInUseUsageDescription="Potrzebujemy dostępu do Twojej lokalizacji, aby dokładniej zeskanować urządzenia Bluetooth w pobliżu";
+NSMicrophoneUsageDescription="Aplikacja prosi o dostęp do mikrofonu do rozmów";
+NSPhotoLibraryUsageDescription="Aplikacja prosi o dostęp do biblioteki zdjęć w celu przesyłania awatarów";
diff --git a/ios/Runner/pl.lproj/Main.strings b/ios/Runner/pl.lproj/Main.strings
new file mode 100644
index 00000000..8b137891
--- /dev/null
+++ b/ios/Runner/pl.lproj/Main.strings
@@ -0,0 +1 @@
+
diff --git a/ios/Runner/pt-PT.lproj/InfoPlist.strings b/ios/Runner/pt-PT.lproj/InfoPlist.strings
new file mode 100644
index 00000000..64e6e78d
--- /dev/null
+++ b/ios/Runner/pt-PT.lproj/InfoPlist.strings
@@ -0,0 +1,18 @@
+/*
+ InfoPlist_sky.strings
+ Runner
+
+ Created by Mac on 2024/12/25.
+
+*/
+CFBundleName="TTLock Pro";
+CFBundleDisplayName="TTLock Pro";
+NSBluetoothAlwaysUsageDescription="Este aplicativo utiliza Bluetooth para localizar, conectar e transferir dados entre dispositivos diferentes";
+NSBluetoothPeripheralUsageDescription="Este aplicativo utiliza Bluetooth para localizar, conectar e transferir dados entre dispositivos diferentes";
+NSCameraUsageDescription="O aplicativo solicita acesso à câmera para tirar fotos, carregar avatares e realizar autenticação facial";
+NSContactsUsageDescription="O aplicativo acessa sua lista de contatos para enviar chaves eletrônicas";
+NSLocationAlwaysAndWhenlnUseUsageDescription="Precisamos acessar sua localização para identificar dispositivos de fechadura Bluetooth com maior precisão";
+NSLocationAlwaysUsageDescription="Precisamos acessar sua localização para identificar dispositivos de fechadura Bluetooth com maior precisão";
+NSLocationWhenInUseUsageDescription="Precisamos acessar sua localização para identificar dispositivos de fechadura Bluetooth com maior precisão";
+NSMicrophoneUsageDescription="O aplicativo solicita acesso ao microfone para chamadas";
+NSPhotoLibraryUsageDescription="O aplicativo solicita acesso à biblioteca de fotos para carregar avatares";
diff --git a/ios/Runner/pt-PT.lproj/InfoPlist_sky.strings b/ios/Runner/pt-PT.lproj/InfoPlist_sky.strings
new file mode 100644
index 00000000..64e6e78d
--- /dev/null
+++ b/ios/Runner/pt-PT.lproj/InfoPlist_sky.strings
@@ -0,0 +1,18 @@
+/*
+ InfoPlist_sky.strings
+ Runner
+
+ Created by Mac on 2024/12/25.
+
+*/
+CFBundleName="TTLock Pro";
+CFBundleDisplayName="TTLock Pro";
+NSBluetoothAlwaysUsageDescription="Este aplicativo utiliza Bluetooth para localizar, conectar e transferir dados entre dispositivos diferentes";
+NSBluetoothPeripheralUsageDescription="Este aplicativo utiliza Bluetooth para localizar, conectar e transferir dados entre dispositivos diferentes";
+NSCameraUsageDescription="O aplicativo solicita acesso à câmera para tirar fotos, carregar avatares e realizar autenticação facial";
+NSContactsUsageDescription="O aplicativo acessa sua lista de contatos para enviar chaves eletrônicas";
+NSLocationAlwaysAndWhenlnUseUsageDescription="Precisamos acessar sua localização para identificar dispositivos de fechadura Bluetooth com maior precisão";
+NSLocationAlwaysUsageDescription="Precisamos acessar sua localização para identificar dispositivos de fechadura Bluetooth com maior precisão";
+NSLocationWhenInUseUsageDescription="Precisamos acessar sua localização para identificar dispositivos de fechadura Bluetooth com maior precisão";
+NSMicrophoneUsageDescription="O aplicativo solicita acesso ao microfone para chamadas";
+NSPhotoLibraryUsageDescription="O aplicativo solicita acesso à biblioteca de fotos para carregar avatares";
diff --git a/ios/Runner/pt-PT.lproj/InfoPlist_xhj.strings b/ios/Runner/pt-PT.lproj/InfoPlist_xhj.strings
new file mode 100644
index 00000000..e65546bf
--- /dev/null
+++ b/ios/Runner/pt-PT.lproj/InfoPlist_xhj.strings
@@ -0,0 +1,18 @@
+/*
+ InfoPlist_xhj.strings
+ Runner
+
+ Created by Mac on 2024/12/25.
+
+*/
+CFBundleName="StarLock Pro";
+CFBundleDisplayName="StarLock Pro";
+NSBluetoothAlwaysUsageDescription="Este aplicativo utiliza Bluetooth para localizar, conectar e transferir dados entre dispositivos diferentes";
+NSBluetoothPeripheralUsageDescription="Este aplicativo utiliza Bluetooth para localizar, conectar e transferir dados entre dispositivos diferentes";
+NSCameraUsageDescription="O aplicativo solicita acesso à câmera para tirar fotos, carregar avatares e realizar autenticação facial";
+NSContactsUsageDescription="O aplicativo acessa sua lista de contatos para enviar chaves eletrônicas";
+NSLocationAlwaysAndWhenlnUseUsageDescription="Precisamos acessar sua localização para identificar dispositivos de fechadura Bluetooth com maior precisão";
+NSLocationAlwaysUsageDescription="Precisamos acessar sua localização para identificar dispositivos de fechadura Bluetooth com maior precisão";
+NSLocationWhenInUseUsageDescription="Precisamos acessar sua localização para identificar dispositivos de fechadura Bluetooth com maior precisão";
+NSMicrophoneUsageDescription="O aplicativo solicita acesso ao microfone para chamadas";
+NSPhotoLibraryUsageDescription="O aplicativo solicita acesso à biblioteca de fotos para carregar avatares";
diff --git a/ios/Runner/pt-PT.lproj/Main.strings b/ios/Runner/pt-PT.lproj/Main.strings
new file mode 100644
index 00000000..8b137891
--- /dev/null
+++ b/ios/Runner/pt-PT.lproj/Main.strings
@@ -0,0 +1 @@
+
diff --git a/ios/Runner/ro.lproj/InfoPlist.strings b/ios/Runner/ro.lproj/InfoPlist.strings
new file mode 100644
index 00000000..6c172450
--- /dev/null
+++ b/ios/Runner/ro.lproj/InfoPlist.strings
@@ -0,0 +1,18 @@
+/*
+ InfoPlist_sky.strings
+ Runner
+
+ Created by Mac on 2024/12/25.
+
+*/
+CFBundleName="TTLock Pro";
+CFBundleDisplayName="TTLock Pro";
+NSBluetoothAlwaysUsageDescription="Această aplicație utilizează Bluetooth pentru a căuta, conecta și transfera date între diferite dispozitive";
+NSBluetoothPeripheralUsageDescription="Această aplicație utilizează Bluetooth pentru a căuta, conecta și transfera date între diferite dispozitive";
+NSCameraUsageDescription="Aplicația solicită accesul la cameră pentru a face fotografii, a încărca avataruri și a autentifica fața";
+NSContactsUsageDescription="Aplicația accesează contactele pentru a trimite chei electronice contactelor din agenda ta";
+NSLocationAlwaysAndWhenlnUseUsageDescription="Avem nevoie de acces la locația dumneavoastră pentru a scana dispozitivele Bluetooth din apropiere cu mai multă precizie";
+NSLocationAlwaysUsageDescription="Avem nevoie de acces la locația dumneavoastră pentru a scana dispozitivele Bluetooth din apropiere cu mai multă precizie";
+NSLocationWhenInUseUsageDescription="Avem nevoie de acces la locația dumneavoastră pentru a scana dispozitivele Bluetooth din apropiere cu mai multă precizie";
+NSMicrophoneUsageDescription="Aplicația solicită acces la microfon pentru a efectua apeluri";
+NSPhotoLibraryUsageDescription="Aplicația solicită acces la biblioteca foto pentru a încărca avataruri";
diff --git a/ios/Runner/ro.lproj/InfoPlist_sky.strings b/ios/Runner/ro.lproj/InfoPlist_sky.strings
new file mode 100644
index 00000000..6c172450
--- /dev/null
+++ b/ios/Runner/ro.lproj/InfoPlist_sky.strings
@@ -0,0 +1,18 @@
+/*
+ InfoPlist_sky.strings
+ Runner
+
+ Created by Mac on 2024/12/25.
+
+*/
+CFBundleName="TTLock Pro";
+CFBundleDisplayName="TTLock Pro";
+NSBluetoothAlwaysUsageDescription="Această aplicație utilizează Bluetooth pentru a căuta, conecta și transfera date între diferite dispozitive";
+NSBluetoothPeripheralUsageDescription="Această aplicație utilizează Bluetooth pentru a căuta, conecta și transfera date între diferite dispozitive";
+NSCameraUsageDescription="Aplicația solicită accesul la cameră pentru a face fotografii, a încărca avataruri și a autentifica fața";
+NSContactsUsageDescription="Aplicația accesează contactele pentru a trimite chei electronice contactelor din agenda ta";
+NSLocationAlwaysAndWhenlnUseUsageDescription="Avem nevoie de acces la locația dumneavoastră pentru a scana dispozitivele Bluetooth din apropiere cu mai multă precizie";
+NSLocationAlwaysUsageDescription="Avem nevoie de acces la locația dumneavoastră pentru a scana dispozitivele Bluetooth din apropiere cu mai multă precizie";
+NSLocationWhenInUseUsageDescription="Avem nevoie de acces la locația dumneavoastră pentru a scana dispozitivele Bluetooth din apropiere cu mai multă precizie";
+NSMicrophoneUsageDescription="Aplicația solicită acces la microfon pentru a efectua apeluri";
+NSPhotoLibraryUsageDescription="Aplicația solicită acces la biblioteca foto pentru a încărca avataruri";
diff --git a/ios/Runner/ro.lproj/InfoPlist_xhj.strings b/ios/Runner/ro.lproj/InfoPlist_xhj.strings
new file mode 100644
index 00000000..94561c12
--- /dev/null
+++ b/ios/Runner/ro.lproj/InfoPlist_xhj.strings
@@ -0,0 +1,18 @@
+/*
+ InfoPlist_xhj.strings
+ Runner
+
+ Created by Mac on 2024/12/25.
+
+*/
+CFBundleName="StarLock Pro";
+CFBundleDisplayName="StarLock Pro";
+NSBluetoothAlwaysUsageDescription="Această aplicație utilizează Bluetooth pentru a căuta, conecta și transfera date între diferite dispozitive";
+NSBluetoothPeripheralUsageDescription="Această aplicație utilizează Bluetooth pentru a căuta, conecta și transfera date între diferite dispozitive";
+NSCameraUsageDescription="Aplicația solicită accesul la cameră pentru a face fotografii, a încărca avataruri și a autentifica fața";
+NSContactsUsageDescription="Aplicația accesează contactele pentru a trimite chei electronice contactelor din agenda ta";
+NSLocationAlwaysAndWhenlnUseUsageDescription="Avem nevoie de acces la locația dumneavoastră pentru a scana dispozitivele Bluetooth din apropiere cu mai multă precizie";
+NSLocationAlwaysUsageDescription="Avem nevoie de acces la locația dumneavoastră pentru a scana dispozitivele Bluetooth din apropiere cu mai multă precizie";
+NSLocationWhenInUseUsageDescription="Avem nevoie de acces la locația dumneavoastră pentru a scana dispozitivele Bluetooth din apropiere cu mai multă precizie";
+NSMicrophoneUsageDescription="Aplicația solicită acces la microfon pentru a efectua apeluri";
+NSPhotoLibraryUsageDescription="Aplicația solicită acces la biblioteca foto pentru a încărca avataruri";
diff --git a/ios/Runner/ro.lproj/Main.strings b/ios/Runner/ro.lproj/Main.strings
new file mode 100644
index 00000000..8b137891
--- /dev/null
+++ b/ios/Runner/ro.lproj/Main.strings
@@ -0,0 +1 @@
+
diff --git a/ios/Runner/ru.lproj/InfoPlist.strings b/ios/Runner/ru.lproj/InfoPlist.strings
new file mode 100644
index 00000000..13b8474a
--- /dev/null
+++ b/ios/Runner/ru.lproj/InfoPlist.strings
@@ -0,0 +1,18 @@
+/*
+ InfoPlist_sky.strings
+ Runner
+
+ Created by Mac on 2024/12/25.
+
+*/
+CFBundleName="TTLock Pro";
+CFBundleDisplayName="TTLock Pro";
+NSBluetoothAlwaysUsageDescription="Это приложение использует Bluetooth для поиска, подключения и передачи данных между различными устройствами.";
+NSBluetoothPeripheralUsageDescription="Это приложение использует Bluetooth для поиска, подключения и передачи данных между различными устройствами.";
+NSCameraUsageDescription="Приложение запрашивает доступ к камере для фотографирования, загрузки аватаров и распознавания лиц.";
+NSContactsUsageDescription="Приложение получает доступ к вашим контактам для отправки электронных ключей контактам из вашего списка.";
+NSLocationAlwaysAndWhenlnUseUsageDescription="Нам нужен доступ к вашей геолокации для точного сканирования устройств Bluetooth-замков поблизости.";
+NSLocationAlwaysUsageDescription="Нам нужен доступ к вашей геолокации для точного сканирования устройств Bluetooth-замков поблизости.";
+NSLocationWhenInUseUsageDescription="Нам нужен доступ к вашей геолокации для точного сканирования устройств Bluetooth-замков поблизости.";
+NSMicrophoneUsageDescription="Приложение запрашивает доступ к микрофону для звонков.";
+NSPhotoLibraryUsageDescription="Приложение запрашивает доступ к библиотеке фотографий для загрузки аватаров.";
diff --git a/ios/Runner/ru.lproj/InfoPlist_sky.strings b/ios/Runner/ru.lproj/InfoPlist_sky.strings
new file mode 100644
index 00000000..13b8474a
--- /dev/null
+++ b/ios/Runner/ru.lproj/InfoPlist_sky.strings
@@ -0,0 +1,18 @@
+/*
+ InfoPlist_sky.strings
+ Runner
+
+ Created by Mac on 2024/12/25.
+
+*/
+CFBundleName="TTLock Pro";
+CFBundleDisplayName="TTLock Pro";
+NSBluetoothAlwaysUsageDescription="Это приложение использует Bluetooth для поиска, подключения и передачи данных между различными устройствами.";
+NSBluetoothPeripheralUsageDescription="Это приложение использует Bluetooth для поиска, подключения и передачи данных между различными устройствами.";
+NSCameraUsageDescription="Приложение запрашивает доступ к камере для фотографирования, загрузки аватаров и распознавания лиц.";
+NSContactsUsageDescription="Приложение получает доступ к вашим контактам для отправки электронных ключей контактам из вашего списка.";
+NSLocationAlwaysAndWhenlnUseUsageDescription="Нам нужен доступ к вашей геолокации для точного сканирования устройств Bluetooth-замков поблизости.";
+NSLocationAlwaysUsageDescription="Нам нужен доступ к вашей геолокации для точного сканирования устройств Bluetooth-замков поблизости.";
+NSLocationWhenInUseUsageDescription="Нам нужен доступ к вашей геолокации для точного сканирования устройств Bluetooth-замков поблизости.";
+NSMicrophoneUsageDescription="Приложение запрашивает доступ к микрофону для звонков.";
+NSPhotoLibraryUsageDescription="Приложение запрашивает доступ к библиотеке фотографий для загрузки аватаров.";
diff --git a/ios/Runner/ru.lproj/InfoPlist_xhj.strings b/ios/Runner/ru.lproj/InfoPlist_xhj.strings
new file mode 100644
index 00000000..b77eca88
--- /dev/null
+++ b/ios/Runner/ru.lproj/InfoPlist_xhj.strings
@@ -0,0 +1,12 @@
+
+CFBundleName="StarLock Pro";
+CFBundleDisplayName="StarLock Pro";
+NSBluetoothAlwaysUsageDescription="Это приложение использует Bluetooth для поиска, подключения и передачи данных между различными устройствами.";
+NSBluetoothPeripheralUsageDescription="Это приложение использует Bluetooth для поиска, подключения и передачи данных между различными устройствами.";
+NSCameraUsageDescription="Приложение запрашивает доступ к камере для фотографирования, загрузки аватаров и распознавания лиц.";
+NSContactsUsageDescription="Приложение получает доступ к вашим контактам для отправки электронных ключей контактам из вашего списка.";
+NSLocationAlwaysAndWhenlnUseUsageDescription="Нам нужен доступ к вашей геолокации для точного сканирования устройств Bluetooth-замков поблизости.";
+NSLocationAlwaysUsageDescription="Нам нужен доступ к вашей геолокации для точного сканирования устройств Bluetooth-замков поблизости.";
+NSLocationWhenInUseUsageDescription="Нам нужен доступ к вашей геолокации для точного сканирования устройств Bluetooth-замков поблизости.";
+NSMicrophoneUsageDescription="Приложение запрашивает доступ к микрофону для звонков.";
+NSPhotoLibraryUsageDescription="Приложение запрашивает доступ к библиотеке фотографий для загрузки аватаров.";
diff --git a/ios/Runner/ru.lproj/Main.strings b/ios/Runner/ru.lproj/Main.strings
new file mode 100644
index 00000000..8b137891
--- /dev/null
+++ b/ios/Runner/ru.lproj/Main.strings
@@ -0,0 +1 @@
+
diff --git a/ios/Runner/sk.lproj/InfoPlist.strings b/ios/Runner/sk.lproj/InfoPlist.strings
new file mode 100644
index 00000000..edce8638
--- /dev/null
+++ b/ios/Runner/sk.lproj/InfoPlist.strings
@@ -0,0 +1,18 @@
+/*
+ InfoPlist_sky.strings
+ Runner
+
+ Created by Mac on 2024/12/25.
+
+*/
+CFBundleName="TTLock Pro";
+CFBundleDisplayName="TTLock Pro";
+NSBluetoothAlwaysUsageDescription="Táto aplikácia používa Bluetooth na vyhľadávanie, pripojenie a prenos údajov medzi rôznymi zariadeniami";
+NSBluetoothPeripheralUsageDescription="Táto aplikácia používa Bluetooth na vyhľadávanie, pripojenie a prenos údajov medzi rôznymi zariadeniami";
+NSCameraUsageDescription="Aplikácia žiada prístup k fotoaparátu na fotografovanie, nahrávanie avatarov a overenie tváre";
+NSContactsUsageDescription="Aplikácia získava prístup k vašim kontaktom na odosielanie elektronických kľúčov do vašich kontaktov";
+NSLocationAlwaysAndWhenInUseUsageDescription="Potrebujeme prístup k vašej polohe, aby sme presnejšie skenovali Bluetooth zámky v okolí";
+NSLocationAlwaysUsageDescription="Potrebujeme prístup k vašej polohe, aby sme presnejšie skenovali Bluetooth zámky v okolí";
+NSLocationWhenInUseUsageDescription="Potrebujeme prístup k vašej polohe, aby sme presnejšie skenovali Bluetooth zámky v okolí";
+NSMicrophoneUsageDescription="Aplikácia žiada prístup k mikrofónu na uskutočnenie hovorov";
+NSPhotoLibraryUsageDescription="Aplikácia žiada prístup k knižnici fotografií na nahrávanie avatarov";
diff --git a/ios/Runner/sk.lproj/InfoPlist_sky.strings b/ios/Runner/sk.lproj/InfoPlist_sky.strings
new file mode 100644
index 00000000..edce8638
--- /dev/null
+++ b/ios/Runner/sk.lproj/InfoPlist_sky.strings
@@ -0,0 +1,18 @@
+/*
+ InfoPlist_sky.strings
+ Runner
+
+ Created by Mac on 2024/12/25.
+
+*/
+CFBundleName="TTLock Pro";
+CFBundleDisplayName="TTLock Pro";
+NSBluetoothAlwaysUsageDescription="Táto aplikácia používa Bluetooth na vyhľadávanie, pripojenie a prenos údajov medzi rôznymi zariadeniami";
+NSBluetoothPeripheralUsageDescription="Táto aplikácia používa Bluetooth na vyhľadávanie, pripojenie a prenos údajov medzi rôznymi zariadeniami";
+NSCameraUsageDescription="Aplikácia žiada prístup k fotoaparátu na fotografovanie, nahrávanie avatarov a overenie tváre";
+NSContactsUsageDescription="Aplikácia získava prístup k vašim kontaktom na odosielanie elektronických kľúčov do vašich kontaktov";
+NSLocationAlwaysAndWhenInUseUsageDescription="Potrebujeme prístup k vašej polohe, aby sme presnejšie skenovali Bluetooth zámky v okolí";
+NSLocationAlwaysUsageDescription="Potrebujeme prístup k vašej polohe, aby sme presnejšie skenovali Bluetooth zámky v okolí";
+NSLocationWhenInUseUsageDescription="Potrebujeme prístup k vašej polohe, aby sme presnejšie skenovali Bluetooth zámky v okolí";
+NSMicrophoneUsageDescription="Aplikácia žiada prístup k mikrofónu na uskutočnenie hovorov";
+NSPhotoLibraryUsageDescription="Aplikácia žiada prístup k knižnici fotografií na nahrávanie avatarov";
diff --git a/ios/Runner/sk.lproj/InfoPlist_xhj.strings b/ios/Runner/sk.lproj/InfoPlist_xhj.strings
new file mode 100644
index 00000000..be736e26
--- /dev/null
+++ b/ios/Runner/sk.lproj/InfoPlist_xhj.strings
@@ -0,0 +1,18 @@
+/*
+ InfoPlist_xhj.strings
+ Runner
+
+ Created by Mac on 2024/12/25.
+
+*/
+CFBundleName="StarLock Pro";
+CFBundleDisplayName="StarLock Pro";
+NSBluetoothAlwaysUsageDescription="Táto aplikácia používa Bluetooth na vyhľadávanie, pripojenie a prenos údajov medzi rôznymi zariadeniami";
+NSBluetoothPeripheralUsageDescription="Táto aplikácia používa Bluetooth na vyhľadávanie, pripojenie a prenos údajov medzi rôznymi zariadeniami";
+NSCameraUsageDescription="Aplikácia žiada prístup k fotoaparátu na fotografovanie, nahrávanie avatarov a overenie tváre";
+NSContactsUsageDescription="Aplikácia získava prístup k vašim kontaktom na odosielanie elektronických kľúčov do vašich kontaktov";
+NSLocationAlwaysAndWhenInUseUsageDescription="Potrebujeme prístup k vašej polohe, aby sme presnejšie skenovali Bluetooth zámky v okolí";
+NSLocationAlwaysUsageDescription="Potrebujeme prístup k vašej polohe, aby sme presnejšie skenovali Bluetooth zámky v okolí";
+NSLocationWhenInUseUsageDescription="Potrebujeme prístup k vašej polohe, aby sme presnejšie skenovali Bluetooth zámky v okolí";
+NSMicrophoneUsageDescription="Aplikácia žiada prístup k mikrofónu na uskutočnenie hovorov";
+NSPhotoLibraryUsageDescription="Aplikácia žiada prístup k knižnici fotografií na nahrávanie avatarov";
diff --git a/ios/Runner/sk.lproj/Main.strings b/ios/Runner/sk.lproj/Main.strings
new file mode 100644
index 00000000..8b137891
--- /dev/null
+++ b/ios/Runner/sk.lproj/Main.strings
@@ -0,0 +1 @@
+
diff --git a/ios/Runner/sr.lproj/InfoPlist.strings b/ios/Runner/sr.lproj/InfoPlist.strings
new file mode 100644
index 00000000..e26693a0
--- /dev/null
+++ b/ios/Runner/sr.lproj/InfoPlist.strings
@@ -0,0 +1,18 @@
+/*
+ InfoPlist_sky.strings
+ Runner
+
+ Created by Mac on 2024/12/25.
+
+*/
+CFBundleName="TTLock Pro";
+CFBundleDisplayName="TTLock Pro";
+NSBluetoothAlwaysUsageDescription="Ova aplikacija koristi Bluetooth za pretragu, povezivanje i prenos podataka između različitih uređaja";
+NSBluetoothPeripheralUsageDescription="Ova aplikacija koristi Bluetooth za pretragu, povezivanje i prenos podataka između različitih uređaja";
+NSCameraUsageDescription="Aplikacija zahteva pristup kameri za snimanje fotografija, otpremanje avatara i verifikaciju lica";
+NSContactsUsageDescription="Aplikacija pristupa vašim kontaktima kako bi slala elektronske ključeve vašim kontaktima";
+NSLocationAlwaysAndWhenInUseUsageDescription="Potrebno nam je da pristupimo vašoj lokaciji kako bismo preciznije skenirali Bluetooth uređaje u vašem okruženju";
+NSLocationAlwaysUsageDescription="Potrebno nam je da pristupimo vašoj lokaciji kako bismo preciznije skenirali Bluetooth uređaje u vašem okruženju";
+NSLocationWhenInUseUsageDescription="Potrebno nam je da pristupimo vašoj lokaciji kako bismo preciznije skenirali Bluetooth uređaje u vašem okruženju";
+NSMicrophoneUsageDescription="Aplikacija zahteva pristup mikrofonu za obavljanje poziva";
+NSPhotoLibraryUsageDescription="Aplikacija zahteva pristup biblioteci fotografija za otpremanje avatara";
diff --git a/ios/Runner/sr.lproj/InfoPlist_sky.strings b/ios/Runner/sr.lproj/InfoPlist_sky.strings
new file mode 100644
index 00000000..e26693a0
--- /dev/null
+++ b/ios/Runner/sr.lproj/InfoPlist_sky.strings
@@ -0,0 +1,18 @@
+/*
+ InfoPlist_sky.strings
+ Runner
+
+ Created by Mac on 2024/12/25.
+
+*/
+CFBundleName="TTLock Pro";
+CFBundleDisplayName="TTLock Pro";
+NSBluetoothAlwaysUsageDescription="Ova aplikacija koristi Bluetooth za pretragu, povezivanje i prenos podataka između različitih uređaja";
+NSBluetoothPeripheralUsageDescription="Ova aplikacija koristi Bluetooth za pretragu, povezivanje i prenos podataka između različitih uređaja";
+NSCameraUsageDescription="Aplikacija zahteva pristup kameri za snimanje fotografija, otpremanje avatara i verifikaciju lica";
+NSContactsUsageDescription="Aplikacija pristupa vašim kontaktima kako bi slala elektronske ključeve vašim kontaktima";
+NSLocationAlwaysAndWhenInUseUsageDescription="Potrebno nam je da pristupimo vašoj lokaciji kako bismo preciznije skenirali Bluetooth uređaje u vašem okruženju";
+NSLocationAlwaysUsageDescription="Potrebno nam je da pristupimo vašoj lokaciji kako bismo preciznije skenirali Bluetooth uređaje u vašem okruženju";
+NSLocationWhenInUseUsageDescription="Potrebno nam je da pristupimo vašoj lokaciji kako bismo preciznije skenirali Bluetooth uređaje u vašem okruženju";
+NSMicrophoneUsageDescription="Aplikacija zahteva pristup mikrofonu za obavljanje poziva";
+NSPhotoLibraryUsageDescription="Aplikacija zahteva pristup biblioteci fotografija za otpremanje avatara";
diff --git a/ios/Runner/sr.lproj/InfoPlist_xhj.strings b/ios/Runner/sr.lproj/InfoPlist_xhj.strings
new file mode 100644
index 00000000..55cfdfdb
--- /dev/null
+++ b/ios/Runner/sr.lproj/InfoPlist_xhj.strings
@@ -0,0 +1,18 @@
+/*
+ InfoPlist_xhj.strings
+ Runner
+
+ Created by Mac on 2024/12/25.
+
+*/
+CFBundleName="StarLock Pro";
+CFBundleDisplayName="StarLock Pro";
+NSBluetoothAlwaysUsageDescription="Ova aplikacija koristi Bluetooth za pretragu, povezivanje i prenos podataka između različitih uređaja";
+NSBluetoothPeripheralUsageDescription="Ova aplikacija koristi Bluetooth za pretragu, povezivanje i prenos podataka između različitih uređaja";
+NSCameraUsageDescription="Aplikacija zahteva pristup kameri za snimanje fotografija, otpremanje avatara i verifikaciju lica";
+NSContactsUsageDescription="Aplikacija pristupa vašim kontaktima kako bi slala elektronske ključeve vašim kontaktima";
+NSLocationAlwaysAndWhenInUseUsageDescription="Potrebno nam je da pristupimo vašoj lokaciji kako bismo preciznije skenirali Bluetooth uređaje u vašem okruženju";
+NSLocationAlwaysUsageDescription="Potrebno nam je da pristupimo vašoj lokaciji kako bismo preciznije skenirali Bluetooth uređaje u vašem okruženju";
+NSLocationWhenInUseUsageDescription="Potrebno nam je da pristupimo vašoj lokaciji kako bismo preciznije skenirali Bluetooth uređaje u vašem okruženju";
+NSMicrophoneUsageDescription="Aplikacija zahteva pristup mikrofonu za obavljanje poziva";
+NSPhotoLibraryUsageDescription="Aplikacija zahteva pristup biblioteci fotografija za otpremanje avatara";
diff --git a/ios/Runner/sr.lproj/Main.strings b/ios/Runner/sr.lproj/Main.strings
new file mode 100644
index 00000000..8b137891
--- /dev/null
+++ b/ios/Runner/sr.lproj/Main.strings
@@ -0,0 +1 @@
+
diff --git a/ios/Runner/sv.lproj/InfoPlist.strings b/ios/Runner/sv.lproj/InfoPlist.strings
new file mode 100644
index 00000000..d8148434
--- /dev/null
+++ b/ios/Runner/sv.lproj/InfoPlist.strings
@@ -0,0 +1,18 @@
+/*
+ InfoPlist_sky.strings
+ Runner
+
+ Created by Mac on 2024/12/25.
+
+*/
+CFBundleName="TTLock Pro";
+CFBundleDisplayName="TTLock Pro";
+NSBluetoothAlwaysUsageDescription="Den här appen använder Bluetooth för att söka, ansluta och överföra data mellan olika enheter";
+NSBluetoothPeripheralUsageDescription="Den här appen använder Bluetooth för att söka, ansluta och överföra data mellan olika enheter";
+NSCameraUsageDescription="Appen begär åtkomst till kameran för att ta bilder, ladda upp avatarer och autentisera ansikten";
+NSContactsUsageDescription="Appen får åtkomst till dina kontakter för att skicka elektroniska nycklar till dina kontakter";
+NSLocationAlwaysAndWhenlnUseUsageDescription="Vi behöver åtkomst till din plats för att mer exakt skanna Bluetooth-lås på din plats";
+NSLocationAlwaysUsageDescription="Vi behöver åtkomst till din plats för att mer exakt skanna Bluetooth-lås på din plats";
+NSLocationWhenInUseUsageDescription="Vi behöver åtkomst till din plats för att mer exakt skanna Bluetooth-lås på din plats";
+NSMicrophoneUsageDescription="Appen begär åtkomst till mikrofonen för att ringa samtal";
+NSPhotoLibraryUsageDescription="Appen begär åtkomst till fotobiblioteket för att ladda upp avatarer";
diff --git a/ios/Runner/sv.lproj/InfoPlist_sky.strings b/ios/Runner/sv.lproj/InfoPlist_sky.strings
new file mode 100644
index 00000000..d8148434
--- /dev/null
+++ b/ios/Runner/sv.lproj/InfoPlist_sky.strings
@@ -0,0 +1,18 @@
+/*
+ InfoPlist_sky.strings
+ Runner
+
+ Created by Mac on 2024/12/25.
+
+*/
+CFBundleName="TTLock Pro";
+CFBundleDisplayName="TTLock Pro";
+NSBluetoothAlwaysUsageDescription="Den här appen använder Bluetooth för att söka, ansluta och överföra data mellan olika enheter";
+NSBluetoothPeripheralUsageDescription="Den här appen använder Bluetooth för att söka, ansluta och överföra data mellan olika enheter";
+NSCameraUsageDescription="Appen begär åtkomst till kameran för att ta bilder, ladda upp avatarer och autentisera ansikten";
+NSContactsUsageDescription="Appen får åtkomst till dina kontakter för att skicka elektroniska nycklar till dina kontakter";
+NSLocationAlwaysAndWhenlnUseUsageDescription="Vi behöver åtkomst till din plats för att mer exakt skanna Bluetooth-lås på din plats";
+NSLocationAlwaysUsageDescription="Vi behöver åtkomst till din plats för att mer exakt skanna Bluetooth-lås på din plats";
+NSLocationWhenInUseUsageDescription="Vi behöver åtkomst till din plats för att mer exakt skanna Bluetooth-lås på din plats";
+NSMicrophoneUsageDescription="Appen begär åtkomst till mikrofonen för att ringa samtal";
+NSPhotoLibraryUsageDescription="Appen begär åtkomst till fotobiblioteket för att ladda upp avatarer";
diff --git a/ios/Runner/sv.lproj/InfoPlist_xhj.strings b/ios/Runner/sv.lproj/InfoPlist_xhj.strings
new file mode 100644
index 00000000..d59b6b79
--- /dev/null
+++ b/ios/Runner/sv.lproj/InfoPlist_xhj.strings
@@ -0,0 +1,18 @@
+/*
+ InfoPlist_xhj.strings
+ Runner
+
+ Created by Mac on 2024/12/25.
+
+*/
+CFBundleName="StarLock Pro";
+CFBundleDisplayName="StarLock Pro";
+NSBluetoothAlwaysUsageDescription="Den här appen använder Bluetooth för att söka, ansluta och överföra data mellan olika enheter";
+NSBluetoothPeripheralUsageDescription="Den här appen använder Bluetooth för att söka, ansluta och överföra data mellan olika enheter";
+NSCameraUsageDescription="Appen begär åtkomst till kameran för att ta bilder, ladda upp avatarer och autentisera ansikten";
+NSContactsUsageDescription="Appen får åtkomst till dina kontakter för att skicka elektroniska nycklar till dina kontakter";
+NSLocationAlwaysAndWhenlnUseUsageDescription="Vi behöver åtkomst till din plats för att mer exakt skanna Bluetooth-lås på din plats";
+NSLocationAlwaysUsageDescription="Vi behöver åtkomst till din plats för att mer exakt skanna Bluetooth-lås på din plats";
+NSLocationWhenInUseUsageDescription="Vi behöver åtkomst till din plats för att mer exakt skanna Bluetooth-lås på din plats";
+NSMicrophoneUsageDescription="Appen begär åtkomst till mikrofonen för att ringa samtal";
+NSPhotoLibraryUsageDescription="Appen begär åtkomst till fotobiblioteket för att ladda upp avatarer";
diff --git a/ios/Runner/sv.lproj/Main.strings b/ios/Runner/sv.lproj/Main.strings
new file mode 100644
index 00000000..8b137891
--- /dev/null
+++ b/ios/Runner/sv.lproj/Main.strings
@@ -0,0 +1 @@
+
diff --git a/ios/Runner/th.lproj/InfoPlist.strings b/ios/Runner/th.lproj/InfoPlist.strings
new file mode 100644
index 00000000..67c8b316
--- /dev/null
+++ b/ios/Runner/th.lproj/InfoPlist.strings
@@ -0,0 +1,18 @@
+/*
+ InfoPlist_sky.strings
+ Runner
+
+ Created by Mac on 2024/12/25.
+
+*/
+CFBundleName="TTLock Pro";
+CFBundleDisplayName="TTLock Pro";
+NSBluetoothAlwaysUsageDescription="แอปนี้ใช้ Bluetooth ในการค้นหา เชื่อมต่อ และถ่ายโอนข้อมูลระหว่างอุปกรณ์ต่างๆ";
+NSBluetoothPeripheralUsageDescription="แอปนี้ใช้ Bluetooth ในการค้นหา เชื่อมต่อ และถ่ายโอนข้อมูลระหว่างอุปกรณ์ต่างๆ";
+NSCameraUsageDescription="แอปขอเข้าถึงกล้องเพื่อถ่ายภาพ อัพโหลดภาพโปรไฟล์ และทำการยืนยันตัวตนด้วยใบหน้า";
+NSContactsUsageDescription="แอปเข้าถึงรายชื่อผู้ติดต่อของคุณเพื่อส่งคีย์อิเล็กทรอนิกส์ให้กับผู้ติดต่อในรายชื่อ";
+NSLocationAlwaysAndWhenInUseUsageDescription="เราต้องการเข้าถึงข้อมูลตำแหน่งของคุณเพื่อสแกนอุปกรณ์ Bluetooth ล็อกที่อยู่ใกล้เคียงได้แม่นยำยิ่งขึ้น";
+NSLocationAlwaysUsageDescription="เราต้องการเข้าถึงข้อมูลตำแหน่งของคุณเพื่อสแกนอุปกรณ์ Bluetooth ล็อกที่อยู่ใกล้เคียงได้แม่นยำยิ่งขึ้น";
+NSLocationWhenInUseUsageDescription="เราต้องการเข้าถึงข้อมูลตำแหน่งของคุณเพื่อสแกนอุปกรณ์ Bluetooth ล็อกที่อยู่ใกล้เคียงได้แม่นยำยิ่งขึ้น";
+NSMicrophoneUsageDescription="แอปขอเข้าถึงไมโครโฟนเพื่อการโทร";
+NSPhotoLibraryUsageDescription="แอปขอเข้าถึงห้องสมุดภาพเพื่ออัพโหลดภาพโปรไฟล์";
diff --git a/ios/Runner/th.lproj/InfoPlist_sky.strings b/ios/Runner/th.lproj/InfoPlist_sky.strings
new file mode 100644
index 00000000..67c8b316
--- /dev/null
+++ b/ios/Runner/th.lproj/InfoPlist_sky.strings
@@ -0,0 +1,18 @@
+/*
+ InfoPlist_sky.strings
+ Runner
+
+ Created by Mac on 2024/12/25.
+
+*/
+CFBundleName="TTLock Pro";
+CFBundleDisplayName="TTLock Pro";
+NSBluetoothAlwaysUsageDescription="แอปนี้ใช้ Bluetooth ในการค้นหา เชื่อมต่อ และถ่ายโอนข้อมูลระหว่างอุปกรณ์ต่างๆ";
+NSBluetoothPeripheralUsageDescription="แอปนี้ใช้ Bluetooth ในการค้นหา เชื่อมต่อ และถ่ายโอนข้อมูลระหว่างอุปกรณ์ต่างๆ";
+NSCameraUsageDescription="แอปขอเข้าถึงกล้องเพื่อถ่ายภาพ อัพโหลดภาพโปรไฟล์ และทำการยืนยันตัวตนด้วยใบหน้า";
+NSContactsUsageDescription="แอปเข้าถึงรายชื่อผู้ติดต่อของคุณเพื่อส่งคีย์อิเล็กทรอนิกส์ให้กับผู้ติดต่อในรายชื่อ";
+NSLocationAlwaysAndWhenInUseUsageDescription="เราต้องการเข้าถึงข้อมูลตำแหน่งของคุณเพื่อสแกนอุปกรณ์ Bluetooth ล็อกที่อยู่ใกล้เคียงได้แม่นยำยิ่งขึ้น";
+NSLocationAlwaysUsageDescription="เราต้องการเข้าถึงข้อมูลตำแหน่งของคุณเพื่อสแกนอุปกรณ์ Bluetooth ล็อกที่อยู่ใกล้เคียงได้แม่นยำยิ่งขึ้น";
+NSLocationWhenInUseUsageDescription="เราต้องการเข้าถึงข้อมูลตำแหน่งของคุณเพื่อสแกนอุปกรณ์ Bluetooth ล็อกที่อยู่ใกล้เคียงได้แม่นยำยิ่งขึ้น";
+NSMicrophoneUsageDescription="แอปขอเข้าถึงไมโครโฟนเพื่อการโทร";
+NSPhotoLibraryUsageDescription="แอปขอเข้าถึงห้องสมุดภาพเพื่ออัพโหลดภาพโปรไฟล์";
diff --git a/ios/Runner/th.lproj/InfoPlist_xhj.strings b/ios/Runner/th.lproj/InfoPlist_xhj.strings
new file mode 100644
index 00000000..3d561b5a
--- /dev/null
+++ b/ios/Runner/th.lproj/InfoPlist_xhj.strings
@@ -0,0 +1,18 @@
+/*
+ InfoPlist_xhj.strings
+ Runner
+
+ Created by Mac on 2024/12/25.
+
+*/
+CFBundleName="StarLock Pro";
+CFBundleDisplayName="StarLock Pro";
+NSBluetoothAlwaysUsageDescription="แอปนี้ใช้ Bluetooth ในการค้นหา เชื่อมต่อ และถ่ายโอนข้อมูลระหว่างอุปกรณ์ต่างๆ";
+NSBluetoothPeripheralUsageDescription="แอปนี้ใช้ Bluetooth ในการค้นหา เชื่อมต่อ และถ่ายโอนข้อมูลระหว่างอุปกรณ์ต่างๆ";
+NSCameraUsageDescription="แอปขอเข้าถึงกล้องเพื่อถ่ายภาพ อัพโหลดภาพโปรไฟล์ และทำการยืนยันตัวตนด้วยใบหน้า";
+NSContactsUsageDescription="แอปเข้าถึงรายชื่อผู้ติดต่อของคุณเพื่อส่งคีย์อิเล็กทรอนิกส์ให้กับผู้ติดต่อในรายชื่อ";
+NSLocationAlwaysAndWhenInUseUsageDescription="เราต้องการเข้าถึงข้อมูลตำแหน่งของคุณเพื่อสแกนอุปกรณ์ Bluetooth ล็อกที่อยู่ใกล้เคียงได้แม่นยำยิ่งขึ้น";
+NSLocationAlwaysUsageDescription="เราต้องการเข้าถึงข้อมูลตำแหน่งของคุณเพื่อสแกนอุปกรณ์ Bluetooth ล็อกที่อยู่ใกล้เคียงได้แม่นยำยิ่งขึ้น";
+NSLocationWhenInUseUsageDescription="เราต้องการเข้าถึงข้อมูลตำแหน่งของคุณเพื่อสแกนอุปกรณ์ Bluetooth ล็อกที่อยู่ใกล้เคียงได้แม่นยำยิ่งขึ้น";
+NSMicrophoneUsageDescription="แอปขอเข้าถึงไมโครโฟนเพื่อการโทร";
+NSPhotoLibraryUsageDescription="แอปขอเข้าถึงห้องสมุดภาพเพื่ออัพโหลดภาพโปรไฟล์";
diff --git a/ios/Runner/th.lproj/Main.strings b/ios/Runner/th.lproj/Main.strings
new file mode 100644
index 00000000..8b137891
--- /dev/null
+++ b/ios/Runner/th.lproj/Main.strings
@@ -0,0 +1 @@
+
diff --git a/ios/Runner/tr.lproj/InfoPlist.strings b/ios/Runner/tr.lproj/InfoPlist.strings
new file mode 100644
index 00000000..609cd9d0
--- /dev/null
+++ b/ios/Runner/tr.lproj/InfoPlist.strings
@@ -0,0 +1,18 @@
+/*
+ InfoPlist_sky.strings
+ Runner
+
+ Created by Mac on 2024/12/25.
+
+*/
+CFBundleName="TTLock Pro";
+CFBundleDisplayName="TTLock Pro";
+NSBluetoothAlwaysUsageDescription="Bu uygulama, farklı cihazlar arasında veri aramak, bağlanmak ve iletmek için Bluetooth kullanır";
+NSBluetoothPeripheralUsageDescription="Bu uygulama, farklı cihazlar arasında veri aramak, bağlanmak ve iletmek için Bluetooth kullanır";
+NSCameraUsageDescription="Uygulama, fotoğraf çekmek, avatar yüklemek ve yüz doğrulaması yapmak için kameraya erişim ister";
+NSContactsUsageDescription="Uygulama, rehberinize erişerek, rehberinizdeki kişilere elektronik anahtar göndermek için kullanır";
+NSLocationAlwaysAndWhenInUseUsageDescription="Bluetooth kilit cihazlarını daha doğru tarayabilmemiz için konumunuza erişmemiz gerekiyor";
+NSLocationAlwaysUsageDescription="Bluetooth kilit cihazlarını daha doğru tarayabilmemiz için konumunuza erişmemiz gerekiyor";
+NSLocationWhenInUseUsageDescription="Bluetooth kilit cihazlarını daha doğru tarayabilmemiz için konumunuza erişmemiz gerekiyor";
+NSMicrophoneUsageDescription="Uygulama, çağrı yapabilmek için mikrofonunuza erişim ister";
+NSPhotoLibraryUsageDescription="Uygulama, avatar yüklemek için fotoğraf kütüphanenize erişim ister";
diff --git a/ios/Runner/tr.lproj/InfoPlist_sky.strings b/ios/Runner/tr.lproj/InfoPlist_sky.strings
new file mode 100644
index 00000000..609cd9d0
--- /dev/null
+++ b/ios/Runner/tr.lproj/InfoPlist_sky.strings
@@ -0,0 +1,18 @@
+/*
+ InfoPlist_sky.strings
+ Runner
+
+ Created by Mac on 2024/12/25.
+
+*/
+CFBundleName="TTLock Pro";
+CFBundleDisplayName="TTLock Pro";
+NSBluetoothAlwaysUsageDescription="Bu uygulama, farklı cihazlar arasında veri aramak, bağlanmak ve iletmek için Bluetooth kullanır";
+NSBluetoothPeripheralUsageDescription="Bu uygulama, farklı cihazlar arasında veri aramak, bağlanmak ve iletmek için Bluetooth kullanır";
+NSCameraUsageDescription="Uygulama, fotoğraf çekmek, avatar yüklemek ve yüz doğrulaması yapmak için kameraya erişim ister";
+NSContactsUsageDescription="Uygulama, rehberinize erişerek, rehberinizdeki kişilere elektronik anahtar göndermek için kullanır";
+NSLocationAlwaysAndWhenInUseUsageDescription="Bluetooth kilit cihazlarını daha doğru tarayabilmemiz için konumunuza erişmemiz gerekiyor";
+NSLocationAlwaysUsageDescription="Bluetooth kilit cihazlarını daha doğru tarayabilmemiz için konumunuza erişmemiz gerekiyor";
+NSLocationWhenInUseUsageDescription="Bluetooth kilit cihazlarını daha doğru tarayabilmemiz için konumunuza erişmemiz gerekiyor";
+NSMicrophoneUsageDescription="Uygulama, çağrı yapabilmek için mikrofonunuza erişim ister";
+NSPhotoLibraryUsageDescription="Uygulama, avatar yüklemek için fotoğraf kütüphanenize erişim ister";
diff --git a/ios/Runner/tr.lproj/InfoPlist_xhj.strings b/ios/Runner/tr.lproj/InfoPlist_xhj.strings
new file mode 100644
index 00000000..9d464d0c
--- /dev/null
+++ b/ios/Runner/tr.lproj/InfoPlist_xhj.strings
@@ -0,0 +1,18 @@
+/*
+ InfoPlist_xhj.strings
+ Runner
+
+ Created by Mac on 2024/12/25.
+
+*/
+CFBundleName="StarLock Pro";
+CFBundleDisplayName="StarLock Pro";
+NSBluetoothAlwaysUsageDescription="Bu uygulama, farklı cihazlar arasında veri aramak, bağlanmak ve iletmek için Bluetooth kullanır";
+NSBluetoothPeripheralUsageDescription="Bu uygulama, farklı cihazlar arasında veri aramak, bağlanmak ve iletmek için Bluetooth kullanır";
+NSCameraUsageDescription="Uygulama, fotoğraf çekmek, avatar yüklemek ve yüz doğrulaması yapmak için kameraya erişim ister";
+NSContactsUsageDescription="Uygulama, rehberinize erişerek, rehberinizdeki kişilere elektronik anahtar göndermek için kullanır";
+NSLocationAlwaysAndWhenInUseUsageDescription="Bluetooth kilit cihazlarını daha doğru tarayabilmemiz için konumunuza erişmemiz gerekiyor";
+NSLocationAlwaysUsageDescription="Bluetooth kilit cihazlarını daha doğru tarayabilmemiz için konumunuza erişmemiz gerekiyor";
+NSLocationWhenInUseUsageDescription="Bluetooth kilit cihazlarını daha doğru tarayabilmemiz için konumunuza erişmemiz gerekiyor";
+NSMicrophoneUsageDescription="Uygulama, çağrı yapabilmek için mikrofonunuza erişim ister";
+NSPhotoLibraryUsageDescription="Uygulama, avatar yüklemek için fotoğraf kütüphanenize erişim ister";
diff --git a/ios/Runner/tr.lproj/Main.strings b/ios/Runner/tr.lproj/Main.strings
new file mode 100644
index 00000000..8b137891
--- /dev/null
+++ b/ios/Runner/tr.lproj/Main.strings
@@ -0,0 +1 @@
+
diff --git a/ios/Runner/uk.lproj/InfoPlist.strings b/ios/Runner/uk.lproj/InfoPlist.strings
new file mode 100644
index 00000000..789bbc76
--- /dev/null
+++ b/ios/Runner/uk.lproj/InfoPlist.strings
@@ -0,0 +1,18 @@
+/*
+ InfoPlist_sky.strings
+ Runner
+
+ Created by Mac on 2024/12/25.
+
+*/
+CFBundleName="TTLock Pro";
+CFBundleDisplayName="TTLock Pro";
+NSBluetoothAlwaysUsageDescription="Цей додаток використовує Bluetooth для пошуку, підключення та передачі даних між різними пристроями";
+NSBluetoothPeripheralUsageDescription="Цей додаток використовує Bluetooth для пошуку, підключення та передачі даних між різними пристроями";
+NSCameraUsageDescription="Додаток запитує доступ до камери для фотографування, завантаження аватарів та автентифікації обличчя";
+NSContactsUsageDescription="Додаток отримує доступ до контактів для надсилання електронних ключів контактам у вашій адресній книзі";
+NSLocationAlwaysAndWhenlnUseUsageDescription="Нам потрібен доступ до вашого місцезнаходження для точнішого виявлення пристроїв Bluetooth замків";
+NSLocationAlwaysUsageDescription="Нам потрібен доступ до вашого місцезнаходження для точнішого виявлення пристроїв Bluetooth замків";
+NSLocationWhenInUseUsageDescription="Нам потрібен доступ до вашого місцезнаходження для точнішого виявлення пристроїв Bluetooth замків";
+NSMicrophoneUsageDescription="Додаток запитує доступ до мікрофона для здійснення дзвінків";
+NSPhotoLibraryUsageDescription="Додаток запитує доступ до фотоальбому для завантаження аватарів";
diff --git a/ios/Runner/uk.lproj/InfoPlist_sky.strings b/ios/Runner/uk.lproj/InfoPlist_sky.strings
new file mode 100644
index 00000000..789bbc76
--- /dev/null
+++ b/ios/Runner/uk.lproj/InfoPlist_sky.strings
@@ -0,0 +1,18 @@
+/*
+ InfoPlist_sky.strings
+ Runner
+
+ Created by Mac on 2024/12/25.
+
+*/
+CFBundleName="TTLock Pro";
+CFBundleDisplayName="TTLock Pro";
+NSBluetoothAlwaysUsageDescription="Цей додаток використовує Bluetooth для пошуку, підключення та передачі даних між різними пристроями";
+NSBluetoothPeripheralUsageDescription="Цей додаток використовує Bluetooth для пошуку, підключення та передачі даних між різними пристроями";
+NSCameraUsageDescription="Додаток запитує доступ до камери для фотографування, завантаження аватарів та автентифікації обличчя";
+NSContactsUsageDescription="Додаток отримує доступ до контактів для надсилання електронних ключів контактам у вашій адресній книзі";
+NSLocationAlwaysAndWhenlnUseUsageDescription="Нам потрібен доступ до вашого місцезнаходження для точнішого виявлення пристроїв Bluetooth замків";
+NSLocationAlwaysUsageDescription="Нам потрібен доступ до вашого місцезнаходження для точнішого виявлення пристроїв Bluetooth замків";
+NSLocationWhenInUseUsageDescription="Нам потрібен доступ до вашого місцезнаходження для точнішого виявлення пристроїв Bluetooth замків";
+NSMicrophoneUsageDescription="Додаток запитує доступ до мікрофона для здійснення дзвінків";
+NSPhotoLibraryUsageDescription="Додаток запитує доступ до фотоальбому для завантаження аватарів";
diff --git a/ios/Runner/uk.lproj/InfoPlist_xhj.strings b/ios/Runner/uk.lproj/InfoPlist_xhj.strings
new file mode 100644
index 00000000..745c900c
--- /dev/null
+++ b/ios/Runner/uk.lproj/InfoPlist_xhj.strings
@@ -0,0 +1,19 @@
+/*
+ InfoPlist_xhj.strings
+ Runner
+
+ Created by Mac on 2024/12/25.
+
+*/
+CFBundleName="StarLock Pro";
+CFBundleDisplayName="StarLock Pro";
+
+NSBluetoothAlwaysUsageDescription="Цей додаток використовує Bluetooth для пошуку, підключення та передачі даних між різними пристроями";
+NSBluetoothPeripheralUsageDescription="Цей додаток використовує Bluetooth для пошуку, підключення та передачі даних між різними пристроями";
+NSCameraUsageDescription="Додаток запитує доступ до камери для фотографування, завантаження аватарів та автентифікації обличчя";
+NSContactsUsageDescription="Додаток отримує доступ до контактів для надсилання електронних ключів контактам у вашій адресній книзі";
+NSLocationAlwaysAndWhenlnUseUsageDescription="Нам потрібен доступ до вашого місцезнаходження для точнішого виявлення пристроїв Bluetooth замків";
+NSLocationAlwaysUsageDescription="Нам потрібен доступ до вашого місцезнаходження для точнішого виявлення пристроїв Bluetooth замків";
+NSLocationWhenInUseUsageDescription="Нам потрібен доступ до вашого місцезнаходження для точнішого виявлення пристроїв Bluetooth замків";
+NSMicrophoneUsageDescription="Додаток запитує доступ до мікрофона для здійснення дзвінків";
+NSPhotoLibraryUsageDescription="Додаток запитує доступ до фотоальбому для завантаження аватарів";
diff --git a/ios/Runner/uk.lproj/Main.strings b/ios/Runner/uk.lproj/Main.strings
new file mode 100644
index 00000000..8b137891
--- /dev/null
+++ b/ios/Runner/uk.lproj/Main.strings
@@ -0,0 +1 @@
+
diff --git a/ios/Runner/vi.lproj/InfoPlist.strings b/ios/Runner/vi.lproj/InfoPlist.strings
new file mode 100644
index 00000000..1c8e5387
--- /dev/null
+++ b/ios/Runner/vi.lproj/InfoPlist.strings
@@ -0,0 +1,18 @@
+/*
+ InfoPlist_sky.strings
+ Runner
+
+ Created by Mac on 2024/12/25.
+
+*/
+CFBundleName="TTLock Pro";
+CFBundleDisplayName="TTLock Pro";
+NSBluetoothAlwaysUsageDescription="Ứng dụng này sử dụng Bluetooth để tìm kiếm, kết nối và truyền tải dữ liệu giữa các thiết bị khác nhau";
+NSBluetoothPeripheralUsageDescription="Ứng dụng này sử dụng Bluetooth để tìm kiếm, kết nối và truyền tải dữ liệu giữa các thiết bị khác nhau";
+NSCameraUsageDescription="Ứng dụng yêu cầu quyền truy cập camera để chụp ảnh, tải lên ảnh đại diện và xác thực khuôn mặt";
+NSContactsUsageDescription="Ứng dụng truy cập danh bạ để gửi khóa điện tử đến các liên hệ trong danh bạ của bạn";
+NSLocationAlwaysAndWhenlnUseUsageDescription="Chúng tôi cần truy cập vị trí của bạn để quét thiết bị khóa Bluetooth ở vị trí chính xác hơn";
+NSLocationAlwaysUsageDescription="Chúng tôi cần truy cập vị trí của bạn để quét thiết bị khóa Bluetooth ở vị trí chính xác hơn";
+NSLocationWhenInUseUsageDescription="Chúng tôi cần truy cập vị trí của bạn để quét thiết bị khóa Bluetooth ở vị trí chính xác hơn";
+NSMicrophoneUsageDescription="Ứng dụng yêu cầu quyền truy cập vào microphone để thực hiện cuộc gọi";
+NSPhotoLibraryUsageDescription="Ứng dụng yêu cầu quyền truy cập vào thư viện ảnh để tải lên ảnh đại diện";
diff --git a/ios/Runner/vi.lproj/InfoPlist_sky.strings b/ios/Runner/vi.lproj/InfoPlist_sky.strings
new file mode 100644
index 00000000..1c8e5387
--- /dev/null
+++ b/ios/Runner/vi.lproj/InfoPlist_sky.strings
@@ -0,0 +1,18 @@
+/*
+ InfoPlist_sky.strings
+ Runner
+
+ Created by Mac on 2024/12/25.
+
+*/
+CFBundleName="TTLock Pro";
+CFBundleDisplayName="TTLock Pro";
+NSBluetoothAlwaysUsageDescription="Ứng dụng này sử dụng Bluetooth để tìm kiếm, kết nối và truyền tải dữ liệu giữa các thiết bị khác nhau";
+NSBluetoothPeripheralUsageDescription="Ứng dụng này sử dụng Bluetooth để tìm kiếm, kết nối và truyền tải dữ liệu giữa các thiết bị khác nhau";
+NSCameraUsageDescription="Ứng dụng yêu cầu quyền truy cập camera để chụp ảnh, tải lên ảnh đại diện và xác thực khuôn mặt";
+NSContactsUsageDescription="Ứng dụng truy cập danh bạ để gửi khóa điện tử đến các liên hệ trong danh bạ của bạn";
+NSLocationAlwaysAndWhenlnUseUsageDescription="Chúng tôi cần truy cập vị trí của bạn để quét thiết bị khóa Bluetooth ở vị trí chính xác hơn";
+NSLocationAlwaysUsageDescription="Chúng tôi cần truy cập vị trí của bạn để quét thiết bị khóa Bluetooth ở vị trí chính xác hơn";
+NSLocationWhenInUseUsageDescription="Chúng tôi cần truy cập vị trí của bạn để quét thiết bị khóa Bluetooth ở vị trí chính xác hơn";
+NSMicrophoneUsageDescription="Ứng dụng yêu cầu quyền truy cập vào microphone để thực hiện cuộc gọi";
+NSPhotoLibraryUsageDescription="Ứng dụng yêu cầu quyền truy cập vào thư viện ảnh để tải lên ảnh đại diện";
diff --git a/ios/Runner/vi.lproj/InfoPlist_xhj.strings b/ios/Runner/vi.lproj/InfoPlist_xhj.strings
new file mode 100644
index 00000000..af76f825
--- /dev/null
+++ b/ios/Runner/vi.lproj/InfoPlist_xhj.strings
@@ -0,0 +1,18 @@
+/*
+ InfoPlist_xhj.strings
+ Runner
+
+ Created by Mac on 2024/12/25.
+
+*/
+CFBundleName="StarLock Pro";
+CFBundleDisplayName="StarLock Pro";
+NSBluetoothAlwaysUsageDescription="Ứng dụng này sử dụng Bluetooth để tìm kiếm, kết nối và truyền tải dữ liệu giữa các thiết bị khác nhau";
+NSBluetoothPeripheralUsageDescription="Ứng dụng này sử dụng Bluetooth để tìm kiếm, kết nối và truyền tải dữ liệu giữa các thiết bị khác nhau";
+NSCameraUsageDescription="Ứng dụng yêu cầu quyền truy cập camera để chụp ảnh, tải lên ảnh đại diện và xác thực khuôn mặt";
+NSContactsUsageDescription="Ứng dụng truy cập danh bạ để gửi khóa điện tử đến các liên hệ trong danh bạ của bạn";
+NSLocationAlwaysAndWhenlnUseUsageDescription="Chúng tôi cần truy cập vị trí của bạn để quét thiết bị khóa Bluetooth ở vị trí chính xác hơn";
+NSLocationAlwaysUsageDescription="Chúng tôi cần truy cập vị trí của bạn để quét thiết bị khóa Bluetooth ở vị trí chính xác hơn";
+NSLocationWhenInUseUsageDescription="Chúng tôi cần truy cập vị trí của bạn để quét thiết bị khóa Bluetooth ở vị trí chính xác hơn";
+NSMicrophoneUsageDescription="Ứng dụng yêu cầu quyền truy cập vào microphone để thực hiện cuộc gọi";
+NSPhotoLibraryUsageDescription="Ứng dụng yêu cầu quyền truy cập vào thư viện ảnh để tải lên ảnh đại diện";
diff --git a/ios/Runner/vi.lproj/Main.strings b/ios/Runner/vi.lproj/Main.strings
new file mode 100644
index 00000000..8b137891
--- /dev/null
+++ b/ios/Runner/vi.lproj/Main.strings
@@ -0,0 +1 @@
+
diff --git a/ios/Runner/zh-HK.lproj/InfoPlist.strings b/ios/Runner/zh-HK.lproj/InfoPlist.strings
new file mode 100644
index 00000000..72b1c592
--- /dev/null
+++ b/ios/Runner/zh-HK.lproj/InfoPlist.strings
@@ -0,0 +1,18 @@
+/*
+ InfoPlist_sky.strings
+ Runner
+
+ Created by Mac on 2024/12/25.
+
+*/
+CFBundleName="锁通通";
+CFBundleDisplayName="锁通通";
+NSBluetoothAlwaysUsageDescription="此應用程式使用藍牙在不同裝置之間查找、連接和傳輸數據";
+NSBluetoothPeripheralUsageDescription="此應用程式使用藍牙在不同裝置之間查找、連接和傳輸數據";
+NSCameraUsageDescription="應用程式請求使用相機,以便拍攝照片,用於頭像上傳及臉部識別";
+NSContactsUsageDescription="應用程式存取聯絡人,用於向聯絡人發送電子鑰匙";
+NSLocationAlwaysAndWhenInUseUsageDescription="我們需要存取您的位置信息,以便更精確地掃描您所在位置的藍牙鎖設備";
+NSLocationAlwaysUsageDescription="我們需要存取您的位置信息,以便更精確地掃描您所在位置的藍牙鎖設備";
+NSLocationWhenInUseUsageDescription="我們需要存取您的位置信息,以便更精確地掃描您所在位置的藍牙鎖設備";
+NSMicrophoneUsageDescription="應用程式請求使用麥克風來進行通話";
+NSPhotoLibraryUsageDescription="應用程式請求使用相簿來進行頭像上傳";
diff --git a/ios/Runner/zh-HK.lproj/InfoPlist_sky.strings b/ios/Runner/zh-HK.lproj/InfoPlist_sky.strings
new file mode 100644
index 00000000..72b1c592
--- /dev/null
+++ b/ios/Runner/zh-HK.lproj/InfoPlist_sky.strings
@@ -0,0 +1,18 @@
+/*
+ InfoPlist_sky.strings
+ Runner
+
+ Created by Mac on 2024/12/25.
+
+*/
+CFBundleName="锁通通";
+CFBundleDisplayName="锁通通";
+NSBluetoothAlwaysUsageDescription="此應用程式使用藍牙在不同裝置之間查找、連接和傳輸數據";
+NSBluetoothPeripheralUsageDescription="此應用程式使用藍牙在不同裝置之間查找、連接和傳輸數據";
+NSCameraUsageDescription="應用程式請求使用相機,以便拍攝照片,用於頭像上傳及臉部識別";
+NSContactsUsageDescription="應用程式存取聯絡人,用於向聯絡人發送電子鑰匙";
+NSLocationAlwaysAndWhenInUseUsageDescription="我們需要存取您的位置信息,以便更精確地掃描您所在位置的藍牙鎖設備";
+NSLocationAlwaysUsageDescription="我們需要存取您的位置信息,以便更精確地掃描您所在位置的藍牙鎖設備";
+NSLocationWhenInUseUsageDescription="我們需要存取您的位置信息,以便更精確地掃描您所在位置的藍牙鎖設備";
+NSMicrophoneUsageDescription="應用程式請求使用麥克風來進行通話";
+NSPhotoLibraryUsageDescription="應用程式請求使用相簿來進行頭像上傳";
diff --git a/ios/Runner/zh-HK.lproj/InfoPlist_xhj.strings b/ios/Runner/zh-HK.lproj/InfoPlist_xhj.strings
new file mode 100644
index 00000000..50bb2198
--- /dev/null
+++ b/ios/Runner/zh-HK.lproj/InfoPlist_xhj.strings
@@ -0,0 +1,18 @@
+/*
+ InfoPlist_xhj.strings
+ Runner
+
+ Created by Mac on 2024/12/25.
+
+*/
+CFBundleName="星星锁";
+CFBundleDisplayName="星星锁";
+NSBluetoothAlwaysUsageDescription="此應用程式使用藍牙在不同裝置之間查找、連接和傳輸數據";
+NSBluetoothPeripheralUsageDescription="此應用程式使用藍牙在不同裝置之間查找、連接和傳輸數據";
+NSCameraUsageDescription="應用程式請求使用相機,以便拍攝照片,用於頭像上傳及臉部識別";
+NSContactsUsageDescription="應用程式存取聯絡人,用於向聯絡人發送電子鑰匙";
+NSLocationAlwaysAndWhenInUseUsageDescription="我們需要存取您的位置信息,以便更精確地掃描您所在位置的藍牙鎖設備";
+NSLocationAlwaysUsageDescription="我們需要存取您的位置信息,以便更精確地掃描您所在位置的藍牙鎖設備";
+NSLocationWhenInUseUsageDescription="我們需要存取您的位置信息,以便更精確地掃描您所在位置的藍牙鎖設備";
+NSMicrophoneUsageDescription="應用程式請求使用麥克風來進行通話";
+NSPhotoLibraryUsageDescription="應用程式請求使用相簿來進行頭像上傳";
diff --git a/ios/Runner/zh-HK.lproj/Main.strings b/ios/Runner/zh-HK.lproj/Main.strings
new file mode 100644
index 00000000..8b137891
--- /dev/null
+++ b/ios/Runner/zh-HK.lproj/Main.strings
@@ -0,0 +1 @@
+
diff --git a/ios/Runner/zh-Hant.lproj/InfoPlist.strings b/ios/Runner/zh-Hant.lproj/InfoPlist.strings
new file mode 100644
index 00000000..e4403041
--- /dev/null
+++ b/ios/Runner/zh-Hant.lproj/InfoPlist.strings
@@ -0,0 +1,18 @@
+/*
+ InfoPlist_sky.strings
+ Runner
+
+ Created by Mac on 2024/12/25.
+
+*/
+CFBundleName="锁通通";
+CFBundleDisplayName="锁通通";
+NSBluetoothAlwaysUsageDescription="此應用程式使用藍牙在不同裝置之間查找、連接與傳輸資料";
+NSBluetoothPeripheralUsageDescription="此應用程式使用藍牙在不同裝置之間查找、連接與傳輸資料";
+NSCameraUsageDescription="應用程式請求使用相機,以便拍攝照片,用於頭像上傳及臉部辨識";
+NSContactsUsageDescription="應用程式存取聯絡人,用於向聯絡人發送電子鑰匙";
+NSLocationAlwaysAndWhenInUseUsageDescription="我們需要存取您的位置資訊,以便更精確地掃描您所在位置的藍牙鎖裝置";
+NSLocationAlwaysUsageDescription="我們需要存取您的位置資訊,以便更精確地掃描您所在位置的藍牙鎖裝置";
+NSLocationWhenInUseUsageDescription="我們需要存取您的位置資訊,以便更精確地掃描您所在位置的藍牙鎖裝置";
+NSMicrophoneUsageDescription="應用程式請求使用麥克風進行通話";
+NSPhotoLibraryUsageDescription="應用程式請求使用相簿進行頭像上傳";
diff --git a/ios/Runner/zh-Hant.lproj/InfoPlist_sky.strings b/ios/Runner/zh-Hant.lproj/InfoPlist_sky.strings
new file mode 100644
index 00000000..e4403041
--- /dev/null
+++ b/ios/Runner/zh-Hant.lproj/InfoPlist_sky.strings
@@ -0,0 +1,18 @@
+/*
+ InfoPlist_sky.strings
+ Runner
+
+ Created by Mac on 2024/12/25.
+
+*/
+CFBundleName="锁通通";
+CFBundleDisplayName="锁通通";
+NSBluetoothAlwaysUsageDescription="此應用程式使用藍牙在不同裝置之間查找、連接與傳輸資料";
+NSBluetoothPeripheralUsageDescription="此應用程式使用藍牙在不同裝置之間查找、連接與傳輸資料";
+NSCameraUsageDescription="應用程式請求使用相機,以便拍攝照片,用於頭像上傳及臉部辨識";
+NSContactsUsageDescription="應用程式存取聯絡人,用於向聯絡人發送電子鑰匙";
+NSLocationAlwaysAndWhenInUseUsageDescription="我們需要存取您的位置資訊,以便更精確地掃描您所在位置的藍牙鎖裝置";
+NSLocationAlwaysUsageDescription="我們需要存取您的位置資訊,以便更精確地掃描您所在位置的藍牙鎖裝置";
+NSLocationWhenInUseUsageDescription="我們需要存取您的位置資訊,以便更精確地掃描您所在位置的藍牙鎖裝置";
+NSMicrophoneUsageDescription="應用程式請求使用麥克風進行通話";
+NSPhotoLibraryUsageDescription="應用程式請求使用相簿進行頭像上傳";
diff --git a/ios/Runner/zh-Hant.lproj/InfoPlist_xhj.strings b/ios/Runner/zh-Hant.lproj/InfoPlist_xhj.strings
new file mode 100644
index 00000000..fd71aba8
--- /dev/null
+++ b/ios/Runner/zh-Hant.lproj/InfoPlist_xhj.strings
@@ -0,0 +1,18 @@
+/*
+ InfoPlist_xhj.strings
+ Runner
+
+ Created by Mac on 2024/12/25.
+
+*/
+CFBundleName="星星锁";
+CFBundleDisplayName="星星锁";
+NSBluetoothAlwaysUsageDescription="此應用程式使用藍牙在不同裝置之間查找、連接與傳輸資料";
+NSBluetoothPeripheralUsageDescription="此應用程式使用藍牙在不同裝置之間查找、連接與傳輸資料";
+NSCameraUsageDescription="應用程式請求使用相機,以便拍攝照片,用於頭像上傳及臉部辨識";
+NSContactsUsageDescription="應用程式存取聯絡人,用於向聯絡人發送電子鑰匙";
+NSLocationAlwaysAndWhenInUseUsageDescription="我們需要存取您的位置資訊,以便更精確地掃描您所在位置的藍牙鎖裝置";
+NSLocationAlwaysUsageDescription="我們需要存取您的位置資訊,以便更精確地掃描您所在位置的藍牙鎖裝置";
+NSLocationWhenInUseUsageDescription="我們需要存取您的位置資訊,以便更精確地掃描您所在位置的藍牙鎖裝置";
+NSMicrophoneUsageDescription="應用程式請求使用麥克風進行通話";
+NSPhotoLibraryUsageDescription="應用程式請求使用相簿進行頭像上傳";
diff --git a/ios/Runner/zh-Hant.lproj/Main.strings b/ios/Runner/zh-Hant.lproj/Main.strings
new file mode 100644
index 00000000..8b137891
--- /dev/null
+++ b/ios/Runner/zh-Hant.lproj/Main.strings
@@ -0,0 +1 @@
+
diff --git a/ios/build.sh b/ios/build.sh
index 2900f4d8..a8a977bf 100755
--- a/ios/build.sh
+++ b/ios/build.sh
@@ -7,18 +7,18 @@ export ENV_BUILD_BRANCH=${CI_COMMIT_BRANCH}
export ENV_BUILD_WORKSPACE=${CI_PROJECT_DIR}
echo "GITLAB_WORKSPACE: ${CI_PROJECT_DIR}"
cd ${CI_PROJECT_DIR}/ios
-bundle exec pod install
+#bundle exec pod install
echo "ENV_BUILD_TAG:${ENV_BUILD_TAG},ENV_BUILD_BRANCH:${ENV_BUILD_BRANCH}"
regex='^v[0-9]+\.[0-9]+\.[0-9]+(-[a-zA-Z]+\.[0-9]+)?$'
if [[ "${ENV_BUILD_BRANCH}" == "canary_release" ]]; then
echo "===build canary_release: ${NEXT_VERSION}"
export ENV_BUILD_TAG=${NEXT_VERSION}
- bundle exec fastlane release flavor:xhj --verbose
- bundle exec fastlane release flavor:sky --verbose
+ bundle exec fastlane release_ipa flavor:xhj --verbose
+ bundle exec fastlane release_ipa flavor:sky --verbose
elif [[ $ENV_BUILD_TAG =~ $regex ]]; then
echo "===build release===$ENV_BUILD_TAG"
- bundle exec fastlane release flavor:xhj --verbose
- bundle exec fastlane release flavor:sky --verbose
+ bundle exec fastlane release_ipa flavor:xhj --verbose
+ bundle exec fastlane release_ipa flavor:sky --verbose
elif [[ "${ENV_BUILD_BRANCH}" == "develop" ]]; then
echo "===build dev===${NEXT_VERSION}"
bundle exec fastlane beta flavor:xhj env:Dev --verbose
diff --git a/ios/fastlane/Fastfile b/ios/fastlane/Fastfile
index e43dcdf3..169ea544 100644
--- a/ios/fastlane/Fastfile
+++ b/ios/fastlane/Fastfile
@@ -84,6 +84,13 @@ platform :ios do
commit_hash = last_git_commit
short_hash = commit_hash[:abbreviated_commit_hash]
print_log "last_git_commit_short_hash #{short_hash}"
+ remove_zone_pre_build(zone:"com")
+ Dir.chdir "../.." do
+ sh("flutter","pub","get")
+ end
+ Dir.chdir ".." do
+ sh("bundle", "exec" ,"pod", "install")
+ end
Dir.chdir "../.." do
sh("flutter", "build", "ios", "--no-tree-shake-icons", "--no-codesign", "--release", "--flavor", "#{flavor}", "-t", "lib/main_#{flavor}_#{env}.dart", "--build-number=#{build_number}", "--build-name=#{build_version}")
end
@@ -119,7 +126,7 @@ platform :ios do
end
desc "Build & Deliver to App Store Connect"
- lane :release do |options|
+ lane :release_ipa do |options|
flavor = options[:flavor]
UI.user_error!("flavor is required") unless flavor
print_log "build flavor: #{flavor}"
@@ -130,6 +137,13 @@ platform :ios do
commit_hash = last_git_commit
short_hash = commit_hash[:abbreviated_commit_hash]
print_log "last_git_commit_short_hash #{short_hash}"
+ remove_zone_pre_build(zone:"com")
+ Dir.chdir "../.." do
+ sh("flutter","pub","get")
+ end
+ Dir.chdir ".." do
+ sh("bundle", "exec" ,"pod", "install")
+ end
Dir.chdir "../.." do
sh("flutter", "build", "ios", "--no-tree-shake-icons", "--no-codesign", "--release", "--flavor", "#{flavor}", "-t", "lib/main_#{flavor}_lite.dart", "--build-number=#{build_number}", "--build-name=#{build_version}")
end
@@ -188,6 +202,46 @@ platform :ios do
end
end
+ lane :remove_zone_pre_build do |options|
+ sh("git", "reset", "--hard")
+ zone = options[:zone]
+ UI.user_error!("Please provide valid 'zone'") unless zone
+ pathList=["pubspec.yaml","/lib/apm"]
+ extensions = [".dart"] #options[:extensions]
+ if pathList.empty? || extensions.empty?
+ UI.user_error!("Please provide valid 'paths' and 'extensions' arrays.")
+ end
+ puts "start prepare zone: #{zone},pathList:#{pathList},extensions:#{extensions}"
+ regexp_List = [/#<#{zone}>.*?#<\/#{zone}>/m,/\/\/\<#{zone}\>.*?\/\/\<\/#{zone}\>/m]
+ UI.message("Processed RegExpList: #{regexp_List}")
+ def process_file(file_path, regexpList)
+ content = File.read(file_path)
+ regexpList.each do |tag|
+ content = content.gsub(tag,'')
+ end
+ File.write(file_path, content)
+ UI.message("Processed file: #{file_path},content :\n #{content}")
+ end
+
+ pathList.each do |path|
+ realPath = File.join($path_dir_build, path)
+ if File.directory?(realPath)
+ Dir.glob("#{realPath}/**/*").each do |file|
+ if File.directory?(file)
+ UI.message("Find child dir path: #{file}")
+ elsif extensions.include?(File.extname(file))
+ process_file(file,regexp_List)
+ end
+ end
+ elsif File.file?(realPath)
+ process_file(realPath,regexp_List)
+ else
+ UI.message("Invalid path: #{realPath}")
+ end
+ end
+ UI.success("All matching content removed from specified files.")
+ end
+
end
diff --git a/lan/lan_zh.json b/lan/lan_zh.json
index 264281be..c42ecdbf 100755
--- a/lan/lan_zh.json
+++ b/lan/lan_zh.json
@@ -1114,11 +1114,11 @@
"普通管理员英文": "普通管理员",
"网关设备英文": "网关设备",
"手机需联网英文": "手机需联网",
- "年简称": "Y",
- "月简称": "M",
- "日简称": "D",
- "时简称": "H",
- "分简称": "M",
+ "年简称": "年",
+ "月简称": "月",
+ "日简称": "日",
+ "时简称": "时",
+ "分简称": "分",
"跟随系统": "跟随系统",
"重置后,该锁的指纹都将被删除哦,确认要重置吗?": "重置后,该锁的指纹都将被删除哦,确认要重置吗?",
"重置后,该锁的遥控都将被删除哦,确认要重置吗?": "重置后,该锁的遥控都将被删除哦,确认要重置吗?"
diff --git a/lib/apm/apm_helper.dart b/lib/apm/apm_helper.dart
new file mode 100644
index 00000000..928b940f
--- /dev/null
+++ b/lib/apm/apm_helper.dart
@@ -0,0 +1,71 @@
+//
+import 'firebase/firebase_helper.dart';
+
+//
+
+//
+import 'umeng/umeng_helper.dart';
+//
+
+class ApmHelper {
+ ApmHelper._internal();
+
+ factory ApmHelper() => _getInstance();
+
+ static ApmHelper get instance => _getInstance();
+ static ApmHelper? _instance;
+
+ // 增加开关
+ static bool enabled = false;
+
+ static ApmHelper _getInstance() {
+ _instance ??= ApmHelper._internal();
+ return _instance!;
+ }
+
+ Future initApp() async {
+ //
+ await UmengHelper.instance.initApp();
+ //
+ //
+ await FirebaseHelper.instance.initApp();
+ //
+ }
+
+ Future initSdk() async {
+ //
+ UmengHelper.instance.initSdk();
+ //
+ //
+ FirebaseHelper.instance.initSdk();
+ //
+ }
+
+ Future login(String userId) async {
+ //
+ UmengHelper.instance.login(userId);
+ //
+ //
+ FirebaseHelper.instance.login(userId);
+ //
+ }
+
+ Future trackEvent(
+ String eventName, Map parameters) async {
+ //
+ UmengHelper.instance.trackEvent(eventName, parameters);
+ //
+ //
+ FirebaseHelper.instance.trackEvent(eventName, parameters);
+ //
+ }
+
+ Future logout() async {
+ //
+ UmengHelper.instance.logout();
+ //
+ //
+ FirebaseHelper.instance.logout();
+ //
+ }
+}
diff --git a/lib/apm/firebase/firebase_helper.dart b/lib/apm/firebase/firebase_helper.dart
new file mode 100644
index 00000000..98188c1c
--- /dev/null
+++ b/lib/apm/firebase/firebase_helper.dart
@@ -0,0 +1,77 @@
+//
+import 'package:firebase_analytics/firebase_analytics.dart';
+import 'package:firebase_core/firebase_core.dart'
+ show Firebase, FirebaseOptions;
+import 'package:flutter/foundation.dart'
+ show defaultTargetPlatform, kIsWeb, TargetPlatform;
+
+class DefaultFirebaseOptions {
+ static FirebaseOptions get currentPlatform {
+ switch (defaultTargetPlatform) {
+ case TargetPlatform.android:
+ return android;
+ case TargetPlatform.iOS:
+ return ios;
+ default:
+ throw UnsupportedError(
+ 'DefaultFirebaseOptions are not supported for this platform.',
+ );
+ }
+ }
+
+ static const FirebaseOptions android = FirebaseOptions(
+ apiKey: 'AIzaSyC-3-ABWuy9LrYyAw_KxDRto4DanQ0sq9g',
+ appId: '1:281500445726:android:ddf52ac7b7f83cf5c4d20f',
+ messagingSenderId: '281500445726',
+ projectId: 'skychip2023-ecdff',
+ storageBucket: 'skychip2023-ecdff.firebasestorage.app',
+ );
+
+ static const FirebaseOptions ios = FirebaseOptions(
+ apiKey: 'AIzaSyACbp5aUKhLU1SMg8iIdm9WmNX7wxI7fVc',
+ appId: '1:281500445726:ios:b194ccffb92fb86cc4d20f',
+ messagingSenderId: '281500445726',
+ projectId: 'skychip2023-ecdff',
+ storageBucket: 'skychip2023-ecdff.firebasestorage.app',
+ iosBundleId: 'com.starlock.lock.local',
+ );
+}
+
+class FirebaseHelper {
+ factory FirebaseHelper() => _getInstance();
+
+ FirebaseHelper._internal();
+
+ static FirebaseHelper get instance => _getInstance();
+ static FirebaseHelper? _instance;
+
+ static FirebaseHelper _getInstance() {
+ _instance ??= FirebaseHelper._internal();
+ return _instance!;
+ }
+
+ Future initApp() async {
+ await Firebase.initializeApp(
+ options: DefaultFirebaseOptions.currentPlatform,
+ );
+ }
+
+ Future initSdk() async {
+ FirebaseAnalytics.instance.setAnalyticsCollectionEnabled(true);
+ }
+
+ Future login(String userId) async {
+ FirebaseAnalytics.instance.setUserId(id: userId);
+ }
+
+ Future trackEvent(
+ String eventName, Map? parameters) async {
+ FirebaseAnalytics.instance
+ .logEvent(name: eventName, parameters: parameters);
+ }
+
+ Future logout() async {
+ FirebaseAnalytics.instance.setUserId(id: '');
+ }
+}
+//
diff --git a/lib/apm/umeng/umeng_helper.dart b/lib/apm/umeng/umeng_helper.dart
new file mode 100644
index 00000000..bc1e3c04
--- /dev/null
+++ b/lib/apm/umeng/umeng_helper.dart
@@ -0,0 +1,41 @@
+//
+import 'package:umeng_common_sdk/umeng_common_sdk.dart';
+import '../../flavors.dart';
+
+class UmengHelper {
+ UmengHelper._internal();
+
+ factory UmengHelper() => _getInstance();
+
+ static UmengHelper get instance => _getInstance();
+ static UmengHelper? _instance;
+
+ static UmengHelper _getInstance() {
+ _instance ??= UmengHelper._internal();
+ return _instance!;
+ }
+
+ Future initApp() async {
+
+ }
+
+ Future initSdk() async {
+ UmengCommonSdk.initCommon(
+ F.umengKey.androidKey, F.umengKey.iosKey, F.umengKey.channel);
+ UmengCommonSdk.setPageCollectionModeManual();
+ }
+
+ Future login(String userId) async {
+ UmengCommonSdk.onProfileSignIn(userId);
+ }
+
+ Future trackEvent(
+ String eventName, Map parameters) async {
+ UmengCommonSdk.onEvent(eventName, parameters);
+ }
+
+ Future logout() async {
+ UmengCommonSdk.onProfileSignOff();
+ }
+}
+//
diff --git a/lib/flavors.dart b/lib/flavors.dart
index 5123fbfa..6479398a 100755
--- a/lib/flavors.dart
+++ b/lib/flavors.dart
@@ -22,6 +22,20 @@ class StarLockAMapKey {
const StarLockAMapKey({required this.iosKey, required this.androidKey});
}
+class UmengKey {
+ //iOS平台的key
+ final String iosKey;
+
+ //Android平台的key
+ final String androidKey;
+
+ //channle
+ final String channel;
+
+ const UmengKey(
+ {required this.iosKey, required this.androidKey, required this.channel});
+}
+
typedef dynamic fCallFunction();
class F {
@@ -180,6 +194,62 @@ class F {
}
}
+ // StarLockAMapKey
+ static UmengKey get umengKey {
+ switch (appFlavor) {
+ case Flavor.local:
+ return const UmengKey(
+ androidKey: '671244cf80464b33f6df9648',
+ iosKey: '671244ae80464b33f6df9646',
+ channel: 'Product');
+ case Flavor.dev:
+ return const UmengKey(
+ androidKey: '671244cf80464b33f6df9648',
+ iosKey: '671244ae80464b33f6df9646',
+ channel: 'Product');
+ case Flavor.pre:
+ return const UmengKey(
+ androidKey: '671244cf80464b33f6df9648',
+ iosKey: '671244ae80464b33f6df9646',
+ channel: 'Product');
+ case Flavor.sky_dev:
+ return const UmengKey(
+ androidKey: '671244cf80464b33f6df9648',
+ iosKey: '671244ae80464b33f6df9646',
+ channel: 'Product');
+ case Flavor.sky_pre:
+ return const UmengKey(
+ androidKey: '671244cf80464b33f6df9648',
+ iosKey: '671244ae80464b33f6df9646',
+ channel: 'Product');
+ case Flavor.sky:
+ return const UmengKey(
+ androidKey: '6784e6c99a16fe6dcd2b64b0',
+ iosKey: '6784e6fd8f232a05f1f7d729',
+ channel: 'Product');
+ case Flavor.xhj_dev:
+ return const UmengKey(
+ androidKey: '671244cf80464b33f6df9648',
+ iosKey: '671244ae80464b33f6df9646',
+ channel: 'Product');
+ case Flavor.xhj_pre:
+ return const UmengKey(
+ androidKey: '671244cf80464b33f6df9648',
+ iosKey: '671244ae80464b33f6df9646',
+ channel: 'Product');
+ case Flavor.xhj:
+ return const UmengKey(
+ androidKey: '671244cf80464b33f6df9648',
+ iosKey: '671244ae80464b33f6df9646',
+ channel: 'Product');
+ default:
+ return const UmengKey(
+ androidKey: '671244cf80464b33f6df9648',
+ iosKey: '671244ae80464b33f6df9646',
+ channel: 'Product');
+ }
+ }
+
// 是否是生产环境
static bool get isProductionEnv {
switch (appFlavor) {
diff --git a/lib/login/forgetPassword/starLock_forgetPassword_logic.dart b/lib/login/forgetPassword/starLock_forgetPassword_logic.dart
index 3566ba34..7036c80c 100755
--- a/lib/login/forgetPassword/starLock_forgetPassword_logic.dart
+++ b/lib/login/forgetPassword/starLock_forgetPassword_logic.dart
@@ -2,11 +2,11 @@ import 'dart:async';
import 'package:flutter/material.dart';
import 'package:get/get.dart';
+import 'package:star_lock/apm/apm_helper.dart';
import 'package:star_lock/app_settings/app_settings.dart';
import 'package:star_lock/login/forgetPassword/starLock_forgetPassword_state.dart';
import 'package:star_lock/login/login/entity/LoginEntity.dart';
import 'package:star_lock/login/register/entity/SendValidationCodeEntity.dart';
-import 'package:umeng_common_sdk/umeng_common_sdk.dart';
import '../../network/api_repository.dart';
import '../../tools/baseGetXController.dart';
@@ -55,7 +55,7 @@ class StarLockForgetPasswordLogic extends BaseGetXController {
'B748F838-94EE-4BDB-A0E6-7B2D16849792',
state.verificationCode.value);
if (entity.errorCode!.codeIsSuccessful) {
- UmengCommonSdk.onEvent('resetPassword_result', {
+ ApmHelper.instance.trackEvent('resetPassword_result', {
'account':state.phoneStr.value,
'date':DateTool().getNowDateWithType(1),
'resetPassword_res':'成功',
@@ -64,7 +64,7 @@ class StarLockForgetPasswordLogic extends BaseGetXController {
showToast('重置成功'.tr);
Get.back();
}else{
- UmengCommonSdk.onEvent('resetPassword_result', {
+ ApmHelper.instance.trackEvent('resetPassword_result', {
'account':state.phoneStr.value,
'date':DateTool().getNowDateWithType(1),
'resetPassword_res':'${entity.errorCode}--${entity.errorMsg}',
diff --git a/lib/login/login/entity/LoginData.dart b/lib/login/login/entity/LoginData.dart
index 0879cc53..8c269cf0 100755
--- a/lib/login/login/entity/LoginData.dart
+++ b/lib/login/login/entity/LoginData.dart
@@ -31,6 +31,7 @@ class LoginData {
? Starchart.fromJson(json['starchart'])
: null;
}
+
String? accessToken;
int? userid;
int? expiresAt;
diff --git a/lib/login/login/starLock_login_logic.dart b/lib/login/login/starLock_login_logic.dart
index 82426458..4dac8e8f 100755
--- a/lib/login/login/starLock_login_logic.dart
+++ b/lib/login/login/starLock_login_logic.dart
@@ -1,5 +1,6 @@
import 'package:flutter/material.dart';
import 'package:get/get.dart';
+import 'package:star_lock/apm/apm_helper.dart';
import 'package:star_lock/appRouters.dart';
import 'package:star_lock/app_settings/app_settings.dart';
import 'package:star_lock/blue/blue_manage.dart';
@@ -9,7 +10,6 @@ import 'package:star_lock/mine/mine/starLockMine_state.dart';
import 'package:star_lock/mine/minePersonInfo/minePersonInfoPage/minePersonInfo_entity.dart';
import 'package:star_lock/talk/startChart/entity/star_chart_register_node_entity.dart';
import 'package:star_lock/tools/baseGetXController.dart';
-import 'package:umeng_common_sdk/umeng_common_sdk.dart';
import '../../main/lockMian/lockMain/lockMain_logic.dart';
import '../../mine/mine/starLockMine_logic.dart';
@@ -52,7 +52,7 @@ class StarLockLoginLogic extends BaseGetXController {
username: state.emailOrPhone.value,
deviceInfo: state.deviceInfoMap);
if (entity.errorCode!.codeIsSuccessful) {
- UmengCommonSdk.onEvent('login_result', {
+ ApmHelper.instance.trackEvent('login_result', {
'account': state.emailOrPhone.value,
'date': DateTool().getNowDateWithType(1),
'login_res': '成功',
@@ -76,7 +76,7 @@ class StarLockLoginLogic extends BaseGetXController {
Get.offNamedUntil(Routers.starLockMain, (Route route) => false);
BlueManage().scanDevices.clear(); //清除设备缓存
} else {
- UmengCommonSdk.onEvent('login_result', {
+ ApmHelper.instance.trackEvent('login_result', {
'account': state.emailOrPhone.value,
'date': DateTool().getNowDateWithType(1),
'login_res': '${entity.errorCode}--${entity.errorMsg}',
diff --git a/lib/login/register/starLock_register_logic.dart b/lib/login/register/starLock_register_logic.dart
index 69a653d7..b60be331 100755
--- a/lib/login/register/starLock_register_logic.dart
+++ b/lib/login/register/starLock_register_logic.dart
@@ -1,8 +1,8 @@
-
import 'dart:async';
import 'package:flutter/material.dart';
import 'package:get/get.dart';
+import 'package:star_lock/apm/apm_helper.dart';
import 'package:star_lock/appRouters.dart';
import 'package:star_lock/app_settings/app_settings.dart';
import 'package:star_lock/blue/blue_manage.dart';
@@ -12,7 +12,6 @@ import 'package:star_lock/login/register/entity/SendValidationCodeEntity.dart';
import 'package:star_lock/tools/eventBusEventManage.dart';
import 'package:star_lock/tools/push/xs_jPhush.dart';
import 'package:star_lock/tools/storage.dart';
-import 'package:umeng_common_sdk/umeng_common_sdk.dart';
import '../../network/api_repository.dart';
import '../../tools/baseGetXController.dart';
@@ -26,6 +25,7 @@ class StarLockRegisterLogic extends BaseGetXController {
final StarLockRegisterState state = StarLockRegisterState();
late Timer _timer;
+
void _startTimer() {
_timer = Timer.periodic(1.seconds, (Timer timer) {
if (state.currentSecond > 1) {
@@ -49,7 +49,7 @@ class StarLockRegisterLogic extends BaseGetXController {
return;
}
- if(!RegularExpression().validateString(state.pwd.value)){
+ if (!RegularExpression().validateString(state.pwd.value)) {
showToast('密码需至少包含数字/字母/字符中的2种组合'.tr);
return;
}
@@ -61,10 +61,10 @@ class StarLockRegisterLogic extends BaseGetXController {
verificationCode: state.verificationCode.value,
deviceInfo: state.deviceInfoMap.value);
if (entity.errorCode!.codeIsSuccessful) {
- UmengCommonSdk.onEvent('register_result', {
- 'account':state.phoneOrEmailStr.value,
- 'date':DateTool().getNowDateWithType(1),
- 'register_res':'成功',
+ ApmHelper.instance.trackEvent('register_result', {
+ 'account': state.phoneOrEmailStr.value,
+ 'date': DateTool().getNowDateWithType(1),
+ 'register_res': '成功',
});
Storage.saveLoginData(entity.data);
@@ -73,11 +73,11 @@ class StarLockRegisterLogic extends BaseGetXController {
XSJPushProvider().initLocalNotification(isCancelLocalPush: false);
Get.offNamedUntil(Routers.starLockMain, (Route route) => false);
BlueManage().scanDevices.clear(); //清除设备缓存
- }else{
- UmengCommonSdk.onEvent('register_result', {
- 'account':state.phoneOrEmailStr.value,
- 'date':DateTool().getNowDateWithType(1),
- 'register_res':'${entity.errorCode}--${entity.errorMsg}',
+ } else {
+ ApmHelper.instance.trackEvent('register_result', {
+ 'account': state.phoneOrEmailStr.value,
+ 'date': DateTool().getNowDateWithType(1),
+ 'register_res': '${entity.errorCode}--${entity.errorMsg}',
});
}
}
@@ -135,12 +135,15 @@ class StarLockRegisterLogic extends BaseGetXController {
// 重置是否能提交
void _resetCanSub() {
- state.canSub.value = state.pwdIsOK && state.codeIsOK && state.phoneOrEmailStr.value.isNotEmpty;
+ state.canSub.value = state.pwdIsOK &&
+ state.codeIsOK &&
+ state.phoneOrEmailStr.value.isNotEmpty;
}
// 重置是否能发送验证码
void _resetCanSendCode() {
- state.canSendCode.value = state.pwdIsOK && state.phoneOrEmailStr.value.isNotEmpty;
+ state.canSendCode.value =
+ state.pwdIsOK && state.phoneOrEmailStr.value.isNotEmpty;
}
@override
diff --git a/lib/main.dart b/lib/main.dart
index 52a85949..3a84ac58 100755
--- a/lib/main.dart
+++ b/lib/main.dart
@@ -19,8 +19,8 @@ import 'package:star_lock/tools/platform_info_services.dart';
import 'package:star_lock/tools/push/xs_jPhush.dart';
import 'package:star_lock/tools/storage.dart';
import 'package:star_lock/translations/trans_lib.dart';
-import 'package:umeng_common_sdk/umeng_common_sdk.dart';
+import 'apm/apm_helper.dart';
import 'app.dart';
import 'app_settings/app_settings.dart';
import 'tools/store_service.dart';
@@ -34,6 +34,7 @@ FutureOr main() async {
AppLifecycleObserver appLifecycleObserver = AppLifecycleObserver();
WidgetsBinding.instance.addObserver(appLifecycleObserver);
+ await ApmHelper.instance.initApp();
await _setCommonServices();
// 设置国际化信息
@@ -81,10 +82,7 @@ Future _setCommonServices() async {
//关于隐私协议的初始化
Future privacySDKInitialization() async {
- UmengCommonSdk.initCommon(
- '671244cf80464b33f6df9648', '671244ae80464b33f6df9646', 'Product');
- UmengCommonSdk.setPageCollectionModeManual();
-
+ ApmHelper.instance.initSdk();
await Get.putAsync(() => PlatformInfoService().init());
await BuglyTool.init();
// 初始化JPush服务
diff --git a/lib/main/lockDetail/authorizedAdmin/authorizedAdmin/authorizedAdmin_logic.dart b/lib/main/lockDetail/authorizedAdmin/authorizedAdmin/authorizedAdmin_logic.dart
index 209e9024..18537ef1 100755
--- a/lib/main/lockDetail/authorizedAdmin/authorizedAdmin/authorizedAdmin_logic.dart
+++ b/lib/main/lockDetail/authorizedAdmin/authorizedAdmin/authorizedAdmin_logic.dart
@@ -1,8 +1,8 @@
import 'dart:async';
import 'package:flutter/material.dart';
-import 'package:flutter_blue_plus/flutter_blue_plus.dart';
import 'package:get/get.dart';
+import 'package:star_lock/apm/apm_helper.dart';
import 'package:star_lock/appRouters.dart';
import 'package:star_lock/app_settings/app_settings.dart';
import 'package:star_lock/login/login/entity/LoginEntity.dart';
@@ -12,13 +12,8 @@ import 'package:star_lock/mine/valueAddedServices/valueAddedServicesHighFunction
import 'package:star_lock/tools/NativeInteractionTool.dart';
import 'package:star_lock/tools/dateTool.dart';
import 'package:star_lock/tools/showCupertinoAlertView.dart';
-import 'package:umeng_common_sdk/umeng_common_sdk.dart';
import '../../../../blue/blue_manage.dart';
-import '../../../../blue/io_reply.dart';
-import '../../../../blue/io_tool/io_tool.dart';
-import '../../../../blue/io_tool/manager_event_bus.dart';
-import '../../../../blue/sender_manage.dart';
import '../../../../network/api_repository.dart';
import '../../../../tools/baseGetXController.dart';
import '../../../../tools/commonDataManage.dart';
@@ -222,7 +217,7 @@ class AuthorizedAdminLogic extends BaseGetXController {
: '');
final String getMobile = (await Storage.getMobile())!;
if (entity.errorCode!.codeIsSuccessful) {
- UmengCommonSdk.onEvent('add_authorizedAdmin', {
+ ApmHelper.instance.trackEvent('add_authorizedAdmin', {
'lock_name': BlueManage().connectDeviceName,
'account':
getMobile.isNotEmpty ? getMobile : (await Storage.getEmail())!,
@@ -245,7 +240,7 @@ class AuthorizedAdminLogic extends BaseGetXController {
sendElectronicKeyRequest();
});
} else {
- UmengCommonSdk.onEvent('add_authorizedAdmin', {
+ ApmHelper.instance.trackEvent('add_authorizedAdmin', {
'lock_name': BlueManage().connectDeviceName,
'account':
getMobile.isNotEmpty ? getMobile : (await Storage.getEmail())!,
diff --git a/lib/main/lockDetail/card/addICCard/addICCard_logic.dart b/lib/main/lockDetail/card/addICCard/addICCard_logic.dart
index 8e0df9c7..17398032 100755
--- a/lib/main/lockDetail/card/addICCard/addICCard_logic.dart
+++ b/lib/main/lockDetail/card/addICCard/addICCard_logic.dart
@@ -1,14 +1,12 @@
-
import 'dart:async';
import 'package:flutter_blue_plus/flutter_blue_plus.dart';
import 'package:get/get.dart';
-import 'package:star_lock/app_settings/app_settings.dart';
import 'package:star_lock/login/login/entity/LoginEntity.dart';
import 'package:star_lock/main/lockDetail/card/addICCard/addICCard_entity.dart';
import 'package:star_lock/tools/baseGetXController.dart';
-import 'package:umeng_common_sdk/umeng_common_sdk.dart';
+import '../../../../apm/apm_helper.dart';
import '../../../../blue/blue_manage.dart';
import '../../../../blue/io_protocol/io_addICCardWithTimeCycleCoercion.dart';
import '../../../../blue/io_reply.dart';
@@ -22,20 +20,23 @@ import '../../../../tools/eventBusEventManage.dart';
import '../../../../tools/storage.dart';
import 'addICCard_state.dart';
-class AddICCardLogic extends BaseGetXController{
+class AddICCardLogic extends BaseGetXController {
AddICCardState state = AddICCardState();
// 监听设备返回的数据
late StreamSubscription _replySubscription;
+
void _initReplySubscription() {
- _replySubscription = EventBusManager().eventBus!.on().listen((Reply reply) async {
+ _replySubscription =
+ EventBusManager().eventBus!.on().listen((Reply reply) async {
// 添加IC卡开始
- if((reply is SenderAddICCardWithTimeCycleCoercionReply) && (state.ifCurrentScreen.value == true)) {
+ if ((reply is SenderAddICCardWithTimeCycleCoercionReply) &&
+ (state.ifCurrentScreen.value == true)) {
_replyAddICCardBegin(reply);
}
// 添加卡确认
- if(reply is SenderAddICCardConfirmationReply) {
+ if (reply is SenderAddICCardConfirmationReply) {
_replyAddICCardConfirmation(reply);
}
});
@@ -46,13 +47,13 @@ class AddICCardLogic extends BaseGetXController{
BuglyTool.uploadException(
message: '添加卡开始,解析数据',
detail: '添加卡开始,解析数据 _replyAddICCardBegin:${reply.data}',
- upload: false
- );
+ upload: false);
- switch(status){
+ switch (status) {
case 0x00:
//成功
- final List cardNumberList = reply.data.sublist(reply.data.length - 2);
+ final List cardNumberList =
+ reply.data.sublist(reply.data.length - 2);
final String cardNumber = listChangInt(cardNumberList).toString();
// AppLog.log("添加卡号:$cardNumberList cardNumber:$cardNumber");
state.cardNumber.value = cardNumber.toString();
@@ -63,10 +64,13 @@ class AddICCardLogic extends BaseGetXController{
break;
case 0x06:
//无权限
- final List? privateKey = await Storage.getStringList(saveBluePrivateKey);
- final List getPrivateKeyList = changeStringListToIntList(privateKey!);
+ final List? privateKey =
+ await Storage.getStringList(saveBluePrivateKey);
+ final List getPrivateKeyList =
+ changeStringListToIntList(privateKey!);
- final List? signKey = await Storage.getStringList(saveBlueSignKey);
+ final List? signKey =
+ await Storage.getStringList(saveBlueSignKey);
final List signKeyDataList = changeStringListToIntList(signKey!);
// var publicKey = await Storage.getStringList(saveBluePublicKey);
@@ -78,25 +82,29 @@ class AddICCardLogic extends BaseGetXController{
// AppLog.log('添加卡token:$token');
IoSenderManage.senderAddCardWithTimeCycleCoercionCommand(
- keyID:'1',
- userID:await Storage.getUid(),
- cardNo:0,
- useCountLimit:0xffff,
- operate:0, // 0:注册 1:修改 2:删除 3:删除全部
- isAdmin:state.isAdministrator.value == '2' ? 1 : 0,
- isForce:state.isCoerced.value == '1' ? 1 : 0, // 是否是胁迫
- isRound:state.selectType.value == '2' ? 1: 0, // 是否是循环
- weekRound:DateTool().accordingTheCycleIntoTheCorrespondingNumber(state.weekDay.value), // 周循环
- startDate: int.parse(state.startDate.value)~/1000,
- endDate: int.parse(state.endDate.value)~/1000,
- startTime:DateTool().dateToHNString(state.effectiveDateTime.value),
- endTime:DateTool().dateToHNString(state.failureDateTime.value),
- needAuthor:1,
- signKey:signKeyDataList,
- privateKey:getPrivateKeyList,
- token: token,
- isBeforeAddUser: false
- );
+ keyID: '1',
+ userID: await Storage.getUid(),
+ cardNo: 0,
+ useCountLimit: 0xffff,
+ operate: 0,
+ // 0:注册 1:修改 2:删除 3:删除全部
+ isAdmin: state.isAdministrator.value == '2' ? 1 : 0,
+ isForce: state.isCoerced.value == '1' ? 1 : 0,
+ // 是否是胁迫
+ isRound: state.selectType.value == '2' ? 1 : 0,
+ // 是否是循环
+ weekRound: DateTool().accordingTheCycleIntoTheCorrespondingNumber(
+ state.weekDay.value),
+ // 周循环
+ startDate: int.parse(state.startDate.value) ~/ 1000,
+ endDate: int.parse(state.endDate.value) ~/ 1000,
+ startTime: DateTool().dateToHNString(state.effectiveDateTime.value),
+ endTime: DateTool().dateToHNString(state.failureDateTime.value),
+ needAuthor: 1,
+ signKey: signKeyDataList,
+ privateKey: getPrivateKeyList,
+ token: token,
+ isBeforeAddUser: false);
break;
default:
//失败
@@ -113,58 +121,59 @@ class AddICCardLogic extends BaseGetXController{
message: '添加卡结果,解析数据',
detail: '添加卡结果,解析数据 _replyAddICCardConfirmation:${reply.data}',
eventStr: '添加卡事件结果',
- upload: true
- );
+ upload: true);
final String getMobile = (await Storage.getMobile())!;
- switch(status){
+ switch (status) {
case 0x00:
//成功
- UmengCommonSdk.onEvent('add_card', {
- 'lock_name':BlueManage().connectDeviceName,
- 'account':getMobile.isNotEmpty ? getMobile : (await Storage.getEmail())!,
- 'date':DateTool().getNowDateWithType(1),
- 'add_card_result':'成功',
+ ApmHelper.instance.trackEvent('add_card', {
+ 'lock_name': BlueManage().connectDeviceName,
+ 'account':
+ getMobile.isNotEmpty ? getMobile : (await Storage.getEmail())!,
+ 'date': DateTool().getNowDateWithType(1),
+ 'add_card_result': '成功',
});
- switch(reply.data[5]){
+ switch (reply.data[5]) {
case 0xff:
- // 注册指纹失败
+ // 注册指纹失败
showToast('退出添加'.tr);
Get.close(1);
break;
case 0xFE:
- // 管理员已满
+ // 管理员已满
showToast('管理员已满'.tr);
Get.close(1);
break;
case 0xFD:
- // 用户已满
+ // 用户已满
showToast('用户已满'.tr);
Get.close(1);
break;
case 0xFC:
- // 指纹已满
+ // 指纹已满
showToast('锁上面添加卡已满'.tr);
Get.close(1);
break;
case 0xFB:
- // 指纹已存在
+ // 指纹已存在
showToast('卡已存在'.tr);
break;
default:
- // 添加指纹中
- // 当前注册数
+ // 添加指纹中
+ // 当前注册数
addICCardData();
break;
}
break;
default:
//失败
- UmengCommonSdk.onEvent('add_card', {
- 'lock_name':BlueManage().connectDeviceName,
- 'account':getMobile.isNotEmpty ? getMobile : (await Storage.getEmail())!,
- 'date':DateTool().getNowDateWithType(1),
- 'add_card_result':reply.data[2],
+ ApmHelper.instance.trackEvent('add_card', {
+ 'lock_name': BlueManage().connectDeviceName,
+ 'account':
+ getMobile.isNotEmpty ? getMobile : (await Storage.getEmail())!,
+ 'date': DateTool().getNowDateWithType(1),
+ 'add_card_result': reply.data[2],
});
break;
}
@@ -175,91 +184,105 @@ class AddICCardLogic extends BaseGetXController{
final List? signKey = await Storage.getStringList(saveBlueSignKey);
final List signKeyDataList = changeStringListToIntList(signKey!);
- final List? privateKey = await Storage.getStringList(saveBluePrivateKey);
+ final List? privateKey =
+ await Storage.getStringList(saveBluePrivateKey);
final List getPrivateKeyList = changeStringListToIntList(privateKey!);
final List? token = await Storage.getStringList(saveBlueToken);
final List getTokenList = changeStringListToIntList(token!);
final String command = SenderAddICCardWithTimeCycleCoercionCommand(
- keyID:'1',
- userID:await Storage.getUid(),
- cardNo:0,
- useCountLimit:0xffff,
- operate:0, // 0:注册 1:修改 2:删除 3:删除全部
- isAdmin:state.isAdministrator.value == '2' ? 1 : 0,
- isForce:state.isCoerced.value == '1' ? 1 : 0, // 是否是胁迫
- isRound:state.selectType.value == '2' ? 1: 0, // 是否是循环
- weekRound:DateTool().accordingTheCycleIntoTheCorrespondingNumber(state.weekDay.value), // 周循环
- startDate: int.parse(state.startDate.value)~/1000,
- endDate: int.parse(state.endDate.value)~/1000,
- startTime:DateTool().dateToHNString(state.effectiveDateTime.value),
- endTime:DateTool().dateToHNString(state.failureDateTime.value),
- needAuthor:1,
- signKey:signKeyDataList,
- privateKey:getPrivateKeyList,
- token: getTokenList,
+ keyID: '1',
+ userID: await Storage.getUid(),
+ cardNo: 0,
+ useCountLimit: 0xffff,
+ operate: 0,
+ // 0:注册 1:修改 2:删除 3:删除全部
+ isAdmin: state.isAdministrator.value == '2' ? 1 : 0,
+ isForce: state.isCoerced.value == '1' ? 1 : 0,
+ // 是否是胁迫
+ isRound: state.selectType.value == '2' ? 1 : 0,
+ // 是否是循环
+ weekRound: DateTool()
+ .accordingTheCycleIntoTheCorrespondingNumber(state.weekDay.value),
+ // 周循环
+ startDate: int.parse(state.startDate.value) ~/ 1000,
+ endDate: int.parse(state.endDate.value) ~/ 1000,
+ startTime: DateTool().dateToHNString(state.effectiveDateTime.value),
+ endTime: DateTool().dateToHNString(state.failureDateTime.value),
+ needAuthor: 1,
+ signKey: signKeyDataList,
+ privateKey: getPrivateKeyList,
+ token: getTokenList,
).toString();
showBlueConnetctToastTimer(action: () async {
final String getMobile = (await Storage.getMobile())!;
- UmengCommonSdk.onEvent('add_card', {
- 'lock_name':BlueManage().connectDeviceName,
- 'account':getMobile.isNotEmpty ? getMobile : (await Storage.getEmail())!,
- 'date':DateTool().getNowDateWithType(1),
- 'add_card_result':'添加卡超时',
+ ApmHelper.instance.trackEvent('add_card', {
+ 'lock_name': BlueManage().connectDeviceName,
+ 'account':
+ getMobile.isNotEmpty ? getMobile : (await Storage.getEmail())!,
+ 'date': DateTool().getNowDateWithType(1),
+ 'add_card_result': '添加卡超时',
});
BuglyTool.uploadException(
message: '添加卡超时处理-添加卡失败',
- detail: '添加卡超时处理,断开连接,添加卡失败--SenderAddICCardWithTimeCycleCoercionCommand:$command',
+ detail:
+ '添加卡超时处理,断开连接,添加卡失败--SenderAddICCardWithTimeCycleCoercionCommand:$command',
eventStr: '添加卡事件超时',
- upload: true
- );
+ upload: true);
Get.close(1);
});
- BlueManage().blueSendData(BlueManage().connectDeviceName, (BluetoothConnectionState deviceConnectionState) async {
- if (deviceConnectionState == BluetoothConnectionState.connected){
+ BlueManage().blueSendData(BlueManage().connectDeviceName,
+ (BluetoothConnectionState deviceConnectionState) async {
+ if (deviceConnectionState == BluetoothConnectionState.connected) {
cancelBlueConnetctToastTimer();
IoSenderManage.senderAddCardWithTimeCycleCoercionCommand(
- keyID:'1',
- userID:await Storage.getUid(),
- cardNo:0,
- useCountLimit:0xffff,
- operate:0, // 0:注册 1:修改 2:删除 3:删除全部
- isAdmin:state.isAdministrator.value == '2' ? 1 : 0,
- isForce:state.isCoerced.value == '1' ? 1 : 0, // 是否是胁迫
- isRound:state.selectType.value == '2' ? 1: 0, // 是否是循环
- weekRound:DateTool().accordingTheCycleIntoTheCorrespondingNumber(state.weekDay.value), // 周循环
- startDate: int.parse(state.startDate.value)~/1000,
- endDate: int.parse(state.endDate.value)~/1000,
- startTime:DateTool().dateToHNString(state.effectiveDateTime.value),
- endTime:DateTool().dateToHNString(state.failureDateTime.value),
- needAuthor:1,
- signKey:signKeyDataList,
- privateKey:getPrivateKeyList,
- token: getTokenList,
- isBeforeAddUser: false
- );
- } else if (deviceConnectionState == BluetoothConnectionState.disconnected){
+ keyID: '1',
+ userID: await Storage.getUid(),
+ cardNo: 0,
+ useCountLimit: 0xffff,
+ operate: 0,
+ // 0:注册 1:修改 2:删除 3:删除全部
+ isAdmin: state.isAdministrator.value == '2' ? 1 : 0,
+ isForce: state.isCoerced.value == '1' ? 1 : 0,
+ // 是否是胁迫
+ isRound: state.selectType.value == '2' ? 1 : 0,
+ // 是否是循环
+ weekRound: DateTool().accordingTheCycleIntoTheCorrespondingNumber(
+ state.weekDay.value),
+ // 周循环
+ startDate: int.parse(state.startDate.value) ~/ 1000,
+ endDate: int.parse(state.endDate.value) ~/ 1000,
+ startTime: DateTool().dateToHNString(state.effectiveDateTime.value),
+ endTime: DateTool().dateToHNString(state.failureDateTime.value),
+ needAuthor: 1,
+ signKey: signKeyDataList,
+ privateKey: getPrivateKeyList,
+ token: getTokenList,
+ isBeforeAddUser: false);
+ } else if (deviceConnectionState ==
+ BluetoothConnectionState.disconnected) {
final String getMobile = (await Storage.getMobile())!;
- UmengCommonSdk.onEvent('add_card', {
- 'lock_name':BlueManage().connectDeviceName,
- 'account':getMobile.isNotEmpty ? getMobile : (await Storage.getEmail())!,
- 'date':DateTool().getNowDateWithType(1),
- 'add_card_result':'添加卡断开连接',
+ ApmHelper.instance.trackEvent('add_card', {
+ 'lock_name': BlueManage().connectDeviceName,
+ 'account':
+ getMobile.isNotEmpty ? getMobile : (await Storage.getEmail())!,
+ 'date': DateTool().getNowDateWithType(1),
+ 'add_card_result': '添加卡断开连接',
});
BuglyTool.uploadException(
message: '添加卡超时处理-添加卡失败',
- detail: '添加卡超时处理,断开连接,添加卡失败--SenderAddICCardWithTimeCycleCoercionCommand:$command',
+ detail:
+ '添加卡超时处理,断开连接,添加卡失败--SenderAddICCardWithTimeCycleCoercionCommand:$command',
eventStr: '添加卡事件断开连接',
- upload: true
- );
+ upload: true);
- if(state.ifCurrentScreen.value == true){
+ if (state.ifCurrentScreen.value == true) {
showBlueConnetctToast();
}
cancelBlueConnetctToastTimer();
@@ -270,27 +293,32 @@ class AddICCardLogic extends BaseGetXController{
// 取消添加指纹
Future senderCancelAddCardCommand() async {
- BlueManage().blueSendData(BlueManage().connectDeviceName, (BluetoothConnectionState deviceConnectionState) async {
- if (deviceConnectionState == BluetoothConnectionState.connected){
- final List? privateKey = await Storage.getStringList(saveBluePrivateKey);
- final List getPrivateKeyList = changeStringListToIntList(privateKey!);
+ BlueManage().blueSendData(BlueManage().connectDeviceName,
+ (BluetoothConnectionState deviceConnectionState) async {
+ if (deviceConnectionState == BluetoothConnectionState.connected) {
+ final List? privateKey =
+ await Storage.getStringList(saveBluePrivateKey);
+ final List getPrivateKeyList =
+ changeStringListToIntList(privateKey!);
- final List? signKey = await Storage.getStringList(saveBlueSignKey);
+ final List? signKey =
+ await Storage.getStringList(saveBlueSignKey);
final List signKeyDataList = changeStringListToIntList(signKey!);
final List? token = await Storage.getStringList(saveBlueToken);
final List getTokenList = changeStringListToIntList(token!);
IoSenderManage.senderCancelAddCardCommand(
- keyID:'1',
- userID:await Storage.getUid(),
- needAuthor:1,
- signKey:signKeyDataList,
- privateKey:getPrivateKeyList,
+ keyID: '1',
+ userID: await Storage.getUid(),
+ needAuthor: 1,
+ signKey: signKeyDataList,
+ privateKey: getPrivateKeyList,
token: getTokenList,
);
- }else if (deviceConnectionState == BluetoothConnectionState.disconnected){
- if(state.ifCurrentScreen.value == true){
+ } else if (deviceConnectionState ==
+ BluetoothConnectionState.disconnected) {
+ if (state.ifCurrentScreen.value == true) {
showBlueConnetctToast();
}
cancelBlueConnetctToastTimer();
@@ -319,18 +347,20 @@ class AddICCardLogic extends BaseGetXController{
}
}
- Future updateIdCardUserNoLoadData(String cardId) async{
- final LoginEntity entity = await ApiRepository.to.updateIdCardUserNoLoadData(
+ Future updateIdCardUserNoLoadData(String cardId) async {
+ final LoginEntity entity =
+ await ApiRepository.to.updateIdCardUserNoLoadData(
lockId: state.lockId.value.toString(),
cardId: cardId,
cardUserNo: state.cardNumber.value,
);
- if(entity.errorCode!.codeIsSuccessful){
- showToast('添加成功'.tr, something:(){
- if(state.fromType.value == 2){
+ if (entity.errorCode!.codeIsSuccessful) {
+ showToast('添加成功'.tr, something: () {
+ if (state.fromType.value == 2) {
// 回调指纹号
- eventBus.fire(ChickInAddStaffCardAndFingerprintBlockNumberEvent(state.cardNumber.value));
- }else if(state.fromType.value == 1){
+ eventBus.fire(ChickInAddStaffCardAndFingerprintBlockNumberEvent(
+ state.cardNumber.value));
+ } else if (state.fromType.value == 1) {
eventBus.fire(OtherTypeRefreshListEvent());
}
Get.close(2);
@@ -356,5 +386,4 @@ class AddICCardLogic extends BaseGetXController{
void onClose() {
_replySubscription.cancel();
}
-
-}
\ No newline at end of file
+}
diff --git a/lib/main/lockDetail/doorLockLog/doorLockLog_logic.dart b/lib/main/lockDetail/doorLockLog/doorLockLog_logic.dart
index 155c4d5c..f8bc3360 100755
--- a/lib/main/lockDetail/doorLockLog/doorLockLog_logic.dart
+++ b/lib/main/lockDetail/doorLockLog/doorLockLog_logic.dart
@@ -2,8 +2,7 @@ import 'dart:async';
import 'package:flutter_blue_plus/flutter_blue_plus.dart';
import 'package:get/get.dart';
-import 'package:flutter_easyloading/flutter_easyloading.dart';
-import 'package:star_lock/app_settings/app_settings.dart';
+import 'package:star_lock/apm/apm_helper.dart';
import 'package:star_lock/main/lockDetail/doorLockLog/doorLockLog_entity.dart';
import 'package:star_lock/main/lockDetail/doorLockLog/doorLockLog_state.dart';
@@ -11,7 +10,6 @@ import 'package:star_lock/main/lockDetail/lockOperatingRecord/lockOperatingRecor
import 'package:star_lock/tools/commonDataManage.dart';
import 'package:star_lock/tools/dateTool.dart';
import 'package:star_lock/tools/eventBusEventManage.dart';
-import 'package:umeng_common_sdk/umeng_common_sdk.dart';
import '../../../blue/blue_manage.dart';
import '../../../blue/io_protocol/io_referEventRecordTime.dart';
@@ -151,7 +149,7 @@ class DoorLockLogLogic extends BaseGetXController {
cancelBlueConnetctToastTimer();
final String getMobile = (await Storage.getMobile())!;
- UmengCommonSdk.onEvent('check_doorLockLog', {
+ ApmHelper.instance.trackEvent('check_doorLockLog', {
'lockName': state.keyInfos.value.lockName!,
'account':
getMobile.isNotEmpty ? getMobile : (await Storage.getEmail())!,
@@ -205,7 +203,7 @@ class DoorLockLogLogic extends BaseGetXController {
cancelBlueConnetctToastTimer();
final String getMobile = (await Storage.getMobile())!;
- UmengCommonSdk.onEvent('check_doorLockLog', {
+ ApmHelper.instance.trackEvent('check_doorLockLog', {
'lockName': state.keyInfos.value.lockName!,
'account':
getMobile.isNotEmpty ? getMobile : (await Storage.getEmail())!,
@@ -304,7 +302,7 @@ class DoorLockLogLogic extends BaseGetXController {
showEasyLoading();
getLockRecordLastUploadDataTime();
} else {
- UmengCommonSdk.onEvent('check_doorLockLog', {
+ ApmHelper.instance.trackEvent('check_doorLockLog', {
'lockName': state.keyInfos.value.lockName!,
'account':
getMobile.isNotEmpty ? getMobile : (await Storage.getEmail())!,
@@ -315,7 +313,7 @@ class DoorLockLogLogic extends BaseGetXController {
}
dismissEasyLoading();
} else {
- UmengCommonSdk.onEvent('check_doorLockLog', {
+ ApmHelper.instance.trackEvent('check_doorLockLog', {
'lockName': state.keyInfos.value.lockName!,
'account':
getMobile.isNotEmpty ? getMobile : (await Storage.getEmail())!,
diff --git a/lib/main/lockDetail/doorLockLog/doorLockLog_page.dart b/lib/main/lockDetail/doorLockLog/doorLockLog_page.dart
index e3ef4213..dc1cd3eb 100755
--- a/lib/main/lockDetail/doorLockLog/doorLockLog_page.dart
+++ b/lib/main/lockDetail/doorLockLog/doorLockLog_page.dart
@@ -127,7 +127,7 @@ class _DoorLockLogPageState extends State with RouteAware {
void _onMenuItemSelected(String value) {
if (value == '读取记录'.tr) {
- logic.mockNetworkDataRequest(isRefresh: true);
+ logic.getLockRecordLastUploadDataTime();
} else if (value == '清空记录'.tr) {
ShowCupertinoAlertView().showClearOperationRecordAlert(clearClick: () {
logic.clearOperationRecordRequest();
diff --git a/lib/main/lockDetail/electronicKey/sendElectronicKey/sendElectronicKey/view/sendElectronicKeyView_logic.dart b/lib/main/lockDetail/electronicKey/sendElectronicKey/sendElectronicKey/view/sendElectronicKeyView_logic.dart
index e7eb9336..d885aafa 100755
--- a/lib/main/lockDetail/electronicKey/sendElectronicKey/sendElectronicKey/view/sendElectronicKeyView_logic.dart
+++ b/lib/main/lockDetail/electronicKey/sendElectronicKey/sendElectronicKey/view/sendElectronicKeyView_logic.dart
@@ -1,5 +1,6 @@
import 'package:flutter/material.dart';
import 'package:get/get.dart';
+import 'package:star_lock/apm/apm_helper.dart';
import 'package:star_lock/appRouters.dart';
import 'package:star_lock/common/XSConstantMacro/XSConstantMacro.dart';
import 'package:star_lock/main/lockDetail/authorizedAdmin/authorizedAdmin/authorizedAdmin_entity.dart';
@@ -17,7 +18,6 @@ import 'package:star_lock/tools/regularExpression.dart';
import 'package:star_lock/tools/showCupertinoAlertView.dart';
import 'package:star_lock/tools/showTipView.dart';
import 'package:star_lock/tools/storage.dart';
-import 'package:umeng_common_sdk/umeng_common_sdk.dart';
import '../../../../../../blue/blue_manage.dart';
@@ -185,7 +185,7 @@ class SendElectronicKeyViewLogic extends BaseGetXController {
: '');
final String getMobile = (await Storage.getMobile())!;
if (entity.errorCode!.codeIsSuccessful) {
- UmengCommonSdk.onEvent('add_electronic_key', {
+ ApmHelper.instance.trackEvent('add_electronic_key', {
'lock_name':BlueManage().connectDeviceName,
'account':getMobile.isNotEmpty ? getMobile : (await Storage.getEmail())!,
'date':DateTool().getNowDateWithType(1),
@@ -201,7 +201,7 @@ class SendElectronicKeyViewLogic extends BaseGetXController {
update();
eventBus.fire(ElectronicKeyListRefreshUI());
} else {
- UmengCommonSdk.onEvent('add_electronic_key', {
+ ApmHelper.instance.trackEvent('add_electronic_key', {
'lock_name':BlueManage().connectDeviceName,
'account':getMobile.isNotEmpty ? getMobile : (await Storage.getEmail())!,
'date':DateTool().getNowDateWithType(1),
diff --git a/lib/main/lockDetail/electronicKey/sendElectronicKey/sendElectronicKey/view/sendElectronicKeyView_page.dart b/lib/main/lockDetail/electronicKey/sendElectronicKey/sendElectronicKey/view/sendElectronicKeyView_page.dart
index 4aa39e86..9e2b8986 100755
--- a/lib/main/lockDetail/electronicKey/sendElectronicKey/sendElectronicKey/view/sendElectronicKeyView_page.dart
+++ b/lib/main/lockDetail/electronicKey/sendElectronicKey/sendElectronicKey/view/sendElectronicKeyView_page.dart
@@ -154,7 +154,14 @@ class _SendElectronicKeyViewState extends State
Container(
height: 65.h,
padding: EdgeInsets.only(left: 20.w, right: 20.w),
- color: Colors.white,
+ decoration: BoxDecoration(
+ color: Colors.white,
+ border: Border(
+ bottom: BorderSide(
+ color: AppColors.greyLineColor, // 设置边框颜色
+ width: 2.0.h, // 设置边框宽度
+ ),
+ )),
child: Row(
children: [
Text(titleStr, style: TextStyle(fontSize: 22.sp)),
@@ -222,6 +229,10 @@ class _SendElectronicKeyViewState extends State
}
},
),
+ ),
+ Container(
+ color: AppColors.greyLineColor, // 设置边框颜色
+ height: 2.0.h, //
)
],
),
diff --git a/lib/main/lockDetail/fingerprint/addFingerprint/addFingerprint_logic.dart b/lib/main/lockDetail/fingerprint/addFingerprint/addFingerprint_logic.dart
index b657a491..bab8f1f0 100755
--- a/lib/main/lockDetail/fingerprint/addFingerprint/addFingerprint_logic.dart
+++ b/lib/main/lockDetail/fingerprint/addFingerprint/addFingerprint_logic.dart
@@ -3,11 +3,10 @@ import 'dart:async';
import 'package:flutter_blue_plus/flutter_blue_plus.dart';
import 'package:get/get.dart';
-import 'package:star_lock/app_settings/app_settings.dart';
+import 'package:star_lock/apm/apm_helper.dart';
import 'package:star_lock/login/login/entity/LoginEntity.dart';
import 'package:star_lock/main/lockDetail/fingerprint/addFingerprint/addFingerprint_entity.dart';
import 'package:star_lock/tools/dateTool.dart';
-import 'package:umeng_common_sdk/umeng_common_sdk.dart';
import '../../../../../blue/blue_manage.dart';
import '../../../../../blue/io_reply.dart';
@@ -171,7 +170,7 @@ class AddFingerprintLogic extends BaseGetXController {
case 0x00:
//成功
// var fingerprintNum = listChangInt(reply.data.sublist(9, 11)).toString();
- UmengCommonSdk.onEvent('add_fingerprint', {
+ ApmHelper.instance.trackEvent('add_fingerprint', {
'lock_name':BlueManage().connectDeviceName,
'account':getMobile.isNotEmpty ? getMobile : (await Storage.getEmail())!,
'date':DateTool().getNowDateWithType(1),
@@ -203,7 +202,7 @@ class AddFingerprintLogic extends BaseGetXController {
break;
default:
//失败
- UmengCommonSdk.onEvent('add_fingerprint', {
+ ApmHelper.instance.trackEvent('add_fingerprint', {
'lock_name':BlueManage().connectDeviceName,
'account':getMobile.isNotEmpty ? getMobile : (await Storage.getEmail())!,
'date':DateTool().getNowDateWithType(1),
@@ -254,7 +253,7 @@ class AddFingerprintLogic extends BaseGetXController {
showBlueConnetctToastTimer(action: () async {
final String getMobile = (await Storage.getMobile())!;
- UmengCommonSdk.onEvent('add_fingerprint', {
+ ApmHelper.instance.trackEvent('add_fingerprint', {
'lock_name':BlueManage().connectDeviceName,
'account':getMobile.isNotEmpty ? getMobile : (await Storage.getEmail())!,
'date':DateTool().getNowDateWithType(1),
@@ -302,7 +301,7 @@ class AddFingerprintLogic extends BaseGetXController {
);
}else if (deviceConnectionState == BluetoothConnectionState.disconnected){
final String getMobile = (await Storage.getMobile())!;
- UmengCommonSdk.onEvent('add_fingerprint', {
+ ApmHelper.instance.trackEvent('add_fingerprint', {
'lock_name':BlueManage().connectDeviceName,
'account':getMobile.isNotEmpty ? getMobile : (await Storage.getEmail())!,
'date':DateTool().getNowDateWithType(1),
diff --git a/lib/main/lockDetail/lockDetail/lockDetail_logic.dart b/lib/main/lockDetail/lockDetail/lockDetail_logic.dart
index 074847ea..5cef5acf 100755
--- a/lib/main/lockDetail/lockDetail/lockDetail_logic.dart
+++ b/lib/main/lockDetail/lockDetail/lockDetail_logic.dart
@@ -6,6 +6,7 @@ import 'package:flutter_easyloading/flutter_easyloading.dart';
import 'package:get/get.dart';
import 'package:intl/intl.dart';
import 'package:permission_handler/permission_handler.dart';
+import 'package:star_lock/apm/apm_helper.dart';
import 'package:star_lock/common/XSConstantMacro/XSConstantMacro.dart';
import 'package:star_lock/login/login/entity/LoginEntity.dart';
import 'package:star_lock/main/lockDetail/electronicKey/electronicKeyList/entity/ElectronicKeyListEntity.dart';
@@ -14,7 +15,6 @@ import 'package:star_lock/main/lockMian/entity/lockListInfo_entity.dart';
import 'package:star_lock/tools/bugly/bugly_tool.dart';
import 'package:star_lock/tools/throttler.dart';
import 'package:star_lock/widget/permission/permission_dialog.dart';
-import 'package:umeng_common_sdk/umeng_common_sdk.dart';
import '../../../app_settings/app_settings.dart';
import '../../../blue/blue_manage.dart';
@@ -71,7 +71,7 @@ class LockDetailLogic extends BaseGetXController {
if (status != 6) {
final String getMobile = (await Storage.getMobile())!;
- UmengCommonSdk.onEvent('open_lock', {
+ ApmHelper.instance.trackEvent('open_lock', {
'lock_name': state.keyInfos.value.lockName!,
'account':
getMobile.isNotEmpty ? getMobile : (await Storage.getEmail())!,
@@ -378,7 +378,7 @@ class LockDetailLogic extends BaseGetXController {
outTimer: 20,
action: () async {
final String getMobile = (await Storage.getMobile())!;
- UmengCommonSdk.onEvent('open_lock', {
+ ApmHelper.instance.trackEvent('open_lock', {
'lock_name': state.keyInfos.value.lockName!,
'account':
getMobile.isNotEmpty ? getMobile : (await Storage.getEmail())!,
@@ -422,7 +422,7 @@ class LockDetailLogic extends BaseGetXController {
detail: '蓝牙连接失败,断开连接, 开锁失败--OpenLockCommand:$command',
upload: true);
final String getMobile = (await Storage.getMobile())!;
- UmengCommonSdk.onEvent('open_lock', {
+ ApmHelper.instance.trackEvent('open_lock', {
'lock_name': state.keyInfos.value.lockName!,
'account':
getMobile.isNotEmpty ? getMobile : (await Storage.getEmail())!,
diff --git a/lib/main/lockDetail/lockSet/lockSet/lockSet_logic.dart b/lib/main/lockDetail/lockSet/lockSet/lockSet_logic.dart
index 1f33e666..7d6b4a65 100755
--- a/lib/main/lockDetail/lockSet/lockSet/lockSet_logic.dart
+++ b/lib/main/lockDetail/lockSet/lockSet/lockSet_logic.dart
@@ -3,9 +3,9 @@ import 'dart:async';
import 'package:flutter/scheduler.dart';
import 'package:flutter_blue_plus/flutter_blue_plus.dart';
import 'package:get/get.dart';
+import 'package:star_lock/apm/apm_helper.dart';
import 'package:star_lock/login/login/entity/LoginEntity.dart';
import 'package:star_lock/main/lockMian/entity/lockListInfo_entity.dart';
-import 'package:umeng_common_sdk/umeng_common_sdk.dart';
import '../../../../blue/blue_manage.dart';
import '../../../../blue/io_protocol/io_factoryDataReset.dart';
@@ -294,7 +294,7 @@ class LockSetLogic extends BaseGetXController {
isShowBlueConnetctToast: false,
action: () async {
final String getMobile = (await Storage.getMobile())!;
- UmengCommonSdk.onEvent('delet_lock', {
+ ApmHelper.instance.trackEvent('delet_lock', {
'lock_name': BlueManage().connectDeviceName,
'account':
getMobile.isNotEmpty ? getMobile : (await Storage.getEmail())!,
@@ -332,7 +332,7 @@ class LockSetLogic extends BaseGetXController {
token: getTokenList);
} else if (connectionState == BluetoothConnectionState.disconnected) {
final String getMobile = (await Storage.getMobile())!;
- UmengCommonSdk.onEvent('delet_lock', {
+ ApmHelper.instance.trackEvent('delet_lock', {
'lock_name': BlueManage().connectDeviceName,
'account':
getMobile.isNotEmpty ? getMobile : (await Storage.getEmail())!,
@@ -538,6 +538,7 @@ class LockSetLogic extends BaseGetXController {
// 下级界面修改成功后传递数据
StreamSubscription? _passCurrentLockInformationEvent;
+
void initLoadDataAction(BlockSetStateCallback blockSetStateCallback) {
// 蓝牙协议通知传输跟蓝牙之外的数据传输类不一样 eventBus
_passCurrentLockInformationEvent = eventBus
@@ -597,7 +598,7 @@ class LockSetLogic extends BaseGetXController {
);
final String getMobile = (await Storage.getMobile())!;
if (entity.errorCode!.codeIsSuccessful) {
- UmengCommonSdk.onEvent('delet_lock', {
+ ApmHelper.instance.trackEvent('delet_lock', {
'lock_name': BlueManage().connectDeviceName,
'account':
getMobile.isNotEmpty ? getMobile : (await Storage.getEmail())!,
@@ -616,7 +617,7 @@ class LockSetLogic extends BaseGetXController {
eventBus.fire(RefreshLockListInfoDataEvent());
});
} else {
- UmengCommonSdk.onEvent('delet_lock', {
+ ApmHelper.instance.trackEvent('delet_lock', {
'lock_name': BlueManage().connectDeviceName,
'account':
getMobile.isNotEmpty ? getMobile : (await Storage.getEmail())!,
@@ -636,7 +637,7 @@ class LockSetLogic extends BaseGetXController {
state.deleteAdministratorIsHaveAllData.value == true ? 1 : 0);
final String getMobile = (await Storage.getMobile())!;
if (entity.errorCode!.codeIsSuccessful) {
- UmengCommonSdk.onEvent('delet_lock', {
+ ApmHelper.instance.trackEvent('delet_lock', {
'lock_name': BlueManage().connectDeviceName,
'account':
getMobile.isNotEmpty ? getMobile : (await Storage.getEmail())!,
@@ -655,7 +656,7 @@ class LockSetLogic extends BaseGetXController {
eventBus.fire(RefreshLockListInfoDataEvent());
});
} else {
- UmengCommonSdk.onEvent('delet_lock', {
+ ApmHelper.instance.trackEvent('delet_lock', {
'lock_name': BlueManage().connectDeviceName,
'account':
getMobile.isNotEmpty ? getMobile : (await Storage.getEmail())!,
diff --git a/lib/main/lockDetail/passwordKey/passwordKey_perpetual/passwordKey_perpetual_logic.dart b/lib/main/lockDetail/passwordKey/passwordKey_perpetual/passwordKey_perpetual_logic.dart
index 3c9e006e..b0cf5756 100755
--- a/lib/main/lockDetail/passwordKey/passwordKey_perpetual/passwordKey_perpetual_logic.dart
+++ b/lib/main/lockDetail/passwordKey/passwordKey_perpetual/passwordKey_perpetual_logic.dart
@@ -2,11 +2,11 @@ import 'dart:async';
import 'package:flutter_blue_plus/flutter_blue_plus.dart';
import 'package:get/get.dart';
+import 'package:star_lock/apm/apm_helper.dart';
import 'package:star_lock/main/lockDetail/passwordKey/passwordKey_perpetual/passwordKeyEntity.dart';
import 'package:star_lock/main/lockDetail/passwordKey/passwordKey_perpetual/passwordKey_perpetual_state.dart';
import 'package:star_lock/network/api_repository.dart';
import 'package:star_lock/tools/eventBusEventManage.dart';
-import 'package:umeng_common_sdk/umeng_common_sdk.dart';
import '../../../../blue/blue_manage.dart';
import '../../../../blue/io_modelVendor.dart';
@@ -182,7 +182,7 @@ class PasswordKeyPerpetualLogic extends BaseGetXController {
pwdRight: state.isAdministrator.value == true ? 1 : 0);
final String getMobile = (await Storage.getMobile())!;
if (entity.errorCode!.codeIsSuccessful) {
- UmengCommonSdk.onEvent('add_password', {
+ ApmHelper.instance.trackEvent('add_password', {
'lock_name':BlueManage().connectDeviceName,
'account':getMobile.isNotEmpty ? getMobile : (await Storage.getEmail())!,
'date':DateTool().getNowDateWithType(1),
@@ -199,7 +199,7 @@ class PasswordKeyPerpetualLogic extends BaseGetXController {
updatePWDNumberRequest(entity.data!.keyboardPwdId.toString());
}
} else {
- UmengCommonSdk.onEvent('add_password', {
+ ApmHelper.instance.trackEvent('add_password', {
'lock_name':BlueManage().connectDeviceName,
'account':getMobile.isNotEmpty ? getMobile : (await Storage.getEmail())!,
'date':DateTool().getNowDateWithType(1),
@@ -419,7 +419,7 @@ class PasswordKeyPerpetualLogic extends BaseGetXController {
showEasyLoading();
showBlueConnetctToastTimer(action: () async {
final String getMobile = (await Storage.getMobile())!;
- UmengCommonSdk.onEvent('add_password', {
+ ApmHelper.instance.trackEvent('add_password', {
'lock_name':BlueManage().connectDeviceName,
'account':getMobile.isNotEmpty ? getMobile : (await Storage.getEmail())!,
'date':DateTool().getNowDateWithType(1),
@@ -465,7 +465,7 @@ class PasswordKeyPerpetualLogic extends BaseGetXController {
token: getTokenList);
} else if (deviceConnectionState == BluetoothConnectionState.disconnected) {
final String getMobile = (await Storage.getMobile())!;
- UmengCommonSdk.onEvent('add_password', {
+ ApmHelper.instance.trackEvent('add_password', {
'lock_name':BlueManage().connectDeviceName,
'account':getMobile.isNotEmpty ? getMobile : (await Storage.getEmail())!,
'date':DateTool().getNowDateWithType(1),
diff --git a/lib/main_local.dart b/lib/main_local.dart
index f56b6d65..9e30d007 100755
--- a/lib/main_local.dart
+++ b/lib/main_local.dart
@@ -4,7 +4,7 @@ import 'flavors.dart';
import 'main.dart' as runner;
Future main() async {
- F.appFlavor = Flavor.xhj_pre;
+ F.appFlavor = Flavor.xhj;
// AppLog.log('local调用了main函数');
await runner.main();
}
diff --git a/lib/mine/addLock/lockAddress/gaode/lockAddressGaoDe_page.dart b/lib/mine/addLock/lockAddress/gaode/lockAddressGaoDe_page.dart
index 44483d67..ce2f6f09 100755
--- a/lib/mine/addLock/lockAddress/gaode/lockAddressGaoDe_page.dart
+++ b/lib/mine/addLock/lockAddress/gaode/lockAddressGaoDe_page.dart
@@ -1,4 +1,3 @@
-
import 'dart:async';
import 'dart:io';
@@ -31,11 +30,13 @@ class LockAddressGaoDePage extends StatefulWidget {
class _LockAddressGaoDePageState extends State
with RouteAware {
final LockAddressGaoDeLogic logic = Get.put(LockAddressGaoDeLogic());
- final LockAddressGaoDeState state = Get.find().state;
+ final LockAddressGaoDeState state = Get
+ .find()
+ .state;
// 高德地图
static AMapApiKey amapApiKeys =
- AMapApiKey(iosKey: F.aMapKey.iosKey, androidKey: F.aMapKey.androidKey);
+ AMapApiKey(iosKey: F.aMapKey.iosKey, androidKey: F.aMapKey.androidKey);
AMapController? mapController;
AMapFlutterLocation location = AMapFlutterLocation();
@@ -52,51 +53,16 @@ class _LockAddressGaoDePageState extends State
requestPermission();
}
- // Future requestPermission() async {
- // final status = await Permission.location.request();
- // AppLog.log("Permission.location.request()=status:$status");
- // permissionStatus = status;
- // if(Platform.isIOS){
- // _setLocationOption();
- // requestIOSLocation();
- // }
- // switch (status) {
- // case PermissionStatus.denied:
- // // AppLog.log("拒绝");
- // break;
- // case PermissionStatus.granted:
- // if(Platform.isIOS){
- // // _setLocationOption();
- // // requestIOSLocation();
- // }else{
- // requestAndroidLocation();
- // location.startLocation();
- // }
- // break;
- // case PermissionStatus.limited:
- // // AppLog.log("限制");
- // break;
- // case PermissionStatus.permanentlyDenied:
- // // AppLog.log("永久的否认");
- // break;
- // case PermissionStatus.provisional:
- // // AppLog.log("临时");
- // break;
- // default:
- // // AppLog.log("其他状态");
- // // requestLocation();
- // break;
- // }
- // }
Future requestPermission() async {
final bool status = await PermissionDialog.request(Permission.location);
- if(Platform.isIOS){
+ if (Platform.isIOS) {
_setLocationOption();
requestIOSLocation();
}
if (!Platform.isIOS || status) {
+ _setLocationOption();
requestAndroidLocation();
location.startLocation();
}
@@ -114,19 +80,18 @@ class _LockAddressGaoDePageState extends State
}
Future requestIOSLocation() async {
- location = AMapFlutterLocation()
- ..setLocationOption(AMapLocationOption())
- ..onLocationChanged().listen((Map event) {
- // AppLog.log("listenLocationChanged$event");
- // EasyLoading.dismiss();
- if (event.isNotEmpty) {
- setState(() {
- addressInfo = event;
- });
- // location.stopLocation();
- }
- })
- ..startLocation();
+ location.setLocationOption(AMapLocationOption());
+ location.onLocationChanged().listen((Map event) {
+ // AppLog.log("listenLocationChanged$event");
+ // EasyLoading.dismiss();
+ if (event.isNotEmpty) {
+ setState(() {
+ addressInfo = event;
+ });
+ // location.stopLocation();
+ }
+ });
+ location.startLocation();
}
@override
@@ -152,85 +117,88 @@ class _LockAddressGaoDePageState extends State
SizedBox(
child: (addressInfo != null && addressInfo!.containsKey('latitude'))
? Column(
+ children: [
+ SizedBox(
+ height: 1.sw / 5 * 4,
+ width: 1.sw,
+ child: AMapWidget(
+ apiKey: amapApiKeys,
+ // 初始化地图中心
+ initialCameraPosition: CameraPosition(
+ target: LatLng(
+ double.parse(
+ addressInfo!['latitude'].toString()),
+ double.parse(
+ addressInfo!['longitude'].toString())),
+ zoom: 10.0,
+ ),
+ //定位小蓝点
+ myLocationStyleOptions: MyLocationStyleOptions(
+ true,
+ ),
+ // 普通地图normal,卫星地图satellite,夜间视图night,导航视图 navi,公交视图bus,
+ mapType: MapType.normal,
+ // 缩放级别范围
+ minMaxZoomPreference:
+ const MinMaxZoomPreference(3, 20),
+ // 隐私政策包含高德 必须填写
+ privacyStatement: const AMapPrivacyStatement(
+ hasAgree: true, hasContains: true, hasShow: true),
+ // 地图创建成功时返回AMapController
+ onMapCreated: (AMapController controller) {
+ mapController = controller;
+ },
+ onLocationChanged: (AMapLocation location) {
+ print("onLocationChanged ${location}");
+ },
+ ),
+ ),
+ Container(
+ // color: Colors.red,
+ margin:
+ EdgeInsets.only(left: 25.w, top: 20.h, right: 25.w),
+ child: Row(
+ mainAxisAlignment: MainAxisAlignment.start,
children: [
- SizedBox(
- height: 1.sw / 5 * 4,
- width: 1.sw,
- child: AMapWidget(
- apiKey: amapApiKeys,
- // 初始化地图中心
- initialCameraPosition: CameraPosition(
- target: LatLng(
- double.parse(
- addressInfo!['latitude'].toString()),
- double.parse(
- addressInfo!['longitude'].toString())),
- zoom: 10.0,
- ),
- //定位小蓝点
- myLocationStyleOptions: MyLocationStyleOptions(
- true,
- ),
- // 普通地图normal,卫星地图satellite,夜间视图night,导航视图 navi,公交视图bus,
- mapType: MapType.normal,
- // 缩放级别范围
- minMaxZoomPreference:
- const MinMaxZoomPreference(3, 20),
- // 隐私政策包含高德 必须填写
- privacyStatement: const AMapPrivacyStatement(
- hasAgree: true, hasContains: true, hasShow: true),
- // 地图创建成功时返回AMapController
- onMapCreated: (AMapController controller) {
- mapController = controller;
- },
- ),
- ),
- Container(
- // color: Colors.red,
- margin:
- EdgeInsets.only(left: 25.w, top: 20.h, right: 25.w),
- child: Row(
- mainAxisAlignment: MainAxisAlignment.start,
+ Flexible(
+ child: Text('检查以确保以下地址是正确的'.tr,
+ style: TextStyle(fontSize: 24.sp))),
+ ],
+ ),
+ ),
+ // SizedBox(height: 20.h),
+ Container(
+ // color: Colors.red,
+ // height: 45.h,
+ margin: EdgeInsets.only(
+ left: 25.w, top: 20.h, right: 25.w),
+ child: Column(
+ children: [
+ Row(
children: [
- Flexible(
- child: Text('检查以确保以下地址是正确的'.tr,
- style: TextStyle(fontSize: 24.sp))),
+ Expanded(
+ child: Text(
+ addressInfo!['address'].toString() ??
+ '',
+ style: const TextStyle(
+ color: Colors.grey,
+ fontSize: 16,
+ fontWeight: FontWeight.w500,
+ overflow: TextOverflow.clip))),
],
),
- ),
- // SizedBox(height: 20.h),
- Container(
- // color: Colors.red,
- // height: 45.h,
- margin: EdgeInsets.only(
- left: 25.w, top: 20.h, right: 25.w),
- child: Column(
- children: [
- Row(
- children: [
- Expanded(
- child: Text(
- addressInfo!['address'].toString() ??
- '',
- style: const TextStyle(
- color: Colors.grey,
- fontSize: 16,
- fontWeight: FontWeight.w500,
- overflow: TextOverflow.clip))),
- ],
- ),
- SizedBox(height: 5.h),
- Container(
- height: 1.h,
- color: AppColors.mainColor,
- ),
- ],
- )),
- ],
- )
+ SizedBox(height: 5.h),
+ Container(
+ height: 1.h,
+ color: AppColors.mainColor,
+ ),
+ ],
+ )),
+ ],
+ )
: SizedBox(
- height: 1.sw / 5 * 4 + 65.h * 2,
- child: Center(child: Text('地图加载中,请稍候。。。'.tr))),
+ height: 1.sw / 5 * 4 + 65.h * 2,
+ child: Center(child: Text('地图加载中,请稍候。。。'.tr))),
),
SizedBox(height: 200.h),
Row(
@@ -242,14 +210,15 @@ class _LockAddressGaoDePageState extends State
style: TextStyle(color: Colors.black, fontSize: 24.sp),
),
onPressed: () {
- Get.toNamed(Routers.addLockSelectCountryPage, arguments: {
- 'addressInfo': {},
- 'pwdTimestamp': state.pwdTimestamp.value,
- 'lockInfo': state.lockInfo,
- 'featureValue': state.featureValue,
- 'featureSettingValue': state.featureSettingValue,
- 'featureSettingParams': state.featureSettingParams,
- });
+ Get.toNamed(Routers.addLockSelectCountryPage,
+ arguments: {
+ 'addressInfo': {},
+ 'pwdTimestamp': state.pwdTimestamp.value,
+ 'lockInfo': state.lockInfo,
+ 'featureValue': state.featureValue,
+ 'featureSettingValue': state.featureSettingValue,
+ 'featureSettingParams': state.featureSettingParams,
+ });
},
),
TextButton(
@@ -262,15 +231,16 @@ class _LockAddressGaoDePageState extends State
logic.showToast('还未获取到位置信息哦,请耐心等待一下!'.tr);
return;
}
- Get.toNamed(Routers.saveLockPage, arguments: {
- 'addressInfo': addressInfo,
- 'pwdTimestamp': state.pwdTimestamp.value,
- 'lockInfo': state.lockInfo,
- 'featureValue': state.featureValue,
- 'featureSettingValue': state.featureSettingValue,
- 'featureSettingParams': state.featureSettingParams,
- 'isFromMap': 1,
- });
+ Get.toNamed(Routers.saveLockPage,
+ arguments: {
+ 'addressInfo': addressInfo,
+ 'pwdTimestamp': state.pwdTimestamp.value,
+ 'lockInfo': state.lockInfo,
+ 'featureValue': state.featureValue,
+ 'featureSettingValue': state.featureSettingValue,
+ 'featureSettingParams': state.featureSettingParams,
+ 'isFromMap': 1,
+ });
// Navigator.pushNamed(context, Routers.saveLockPage);
},
),
diff --git a/lib/mine/addLock/saveLock/saveLock_logic.dart b/lib/mine/addLock/saveLock/saveLock_logic.dart
index 2074d793..7e8ae377 100755
--- a/lib/mine/addLock/saveLock/saveLock_logic.dart
+++ b/lib/mine/addLock/saveLock/saveLock_logic.dart
@@ -3,10 +3,10 @@ import 'dart:async';
import 'package:flutter_blue_plus/flutter_blue_plus.dart';
import 'package:get/get.dart';
+import 'package:star_lock/apm/apm_helper.dart';
import 'package:star_lock/main/lockDetail/lockDetail/lockDetail_logic.dart';
import 'package:star_lock/mine/addLock/saveLock/entity/SaveLockEntity.dart';
-import 'package:umeng_common_sdk/umeng_common_sdk.dart';
import '../../../app_settings/app_settings.dart';
import '../../../blue/blue_manage.dart';
@@ -407,7 +407,7 @@ class SaveLockLogic extends BaseGetXController {
state.lockId = entity.data!.lockId!;
final String getMobile = (await Storage.getMobile())!;
- UmengCommonSdk.onEvent('save_lock_result', {
+ ApmHelper.instance.trackEvent('save_lock_result', {
'lock_name':BlueManage().connectDeviceName,
'account':getMobile.isNotEmpty ? getMobile : (await Storage.getEmail())!,
'date':DateTool().getNowDateWithType(1),
@@ -423,7 +423,7 @@ class SaveLockLogic extends BaseGetXController {
state.sureBtnState.value = 0;
final String getMobile = (await Storage.getMobile())!;
- UmengCommonSdk.onEvent('save_lock_result', {
+ ApmHelper.instance.trackEvent('save_lock_result', {
'lock_name':BlueManage().connectDeviceName,
'account':getMobile.isNotEmpty ? getMobile : (await Storage.getEmail())!,
'date':DateTool().getNowDateWithType(1),
diff --git a/lib/mine/mineSet/mineSet/mineSet_logic.dart b/lib/mine/mineSet/mineSet/mineSet_logic.dart
index 8dd91687..e9666460 100755
--- a/lib/mine/mineSet/mineSet/mineSet_logic.dart
+++ b/lib/mine/mineSet/mineSet/mineSet_logic.dart
@@ -2,6 +2,7 @@ import 'dart:async';
import 'package:flutter/material.dart';
import 'package:get/get.dart';
+import 'package:star_lock/apm/apm_helper.dart';
import 'package:star_lock/appRouters.dart';
import 'package:star_lock/login/login/entity/LoginEntity.dart';
import 'package:star_lock/mine/minePersonInfo/minePersonInfoPage/minePersonInfo_entity.dart';
@@ -14,7 +15,6 @@ import 'package:star_lock/tools/push/xs_jPhush.dart';
import 'package:star_lock/tools/showCupertinoAlertView.dart';
import 'package:star_lock/tools/storage.dart';
import 'package:star_lock/versionUndate/versionUndate_entity.dart';
-import 'package:umeng_common_sdk/umeng_common_sdk.dart';
import '../../../../network/api_repository.dart';
import '../../../../tools/baseGetXController.dart';
@@ -132,7 +132,8 @@ class MineSetLogic extends BaseGetXController {
await ApiRepository.to.userLogout(deviceld: getPushDeviceID);
final String getMobile = (await Storage.getMobile())!;
if (entity.errorCode!.codeIsSuccessful) {
- UmengCommonSdk.onEvent('logout', {
+ ApmHelper.instance.logout();
+ ApmHelper.instance.trackEvent('logout', {
'lock_name': BlueManage().connectDeviceName,
'account':
getMobile.isNotEmpty ? getMobile : (await Storage.getEmail())!,
@@ -151,7 +152,8 @@ class MineSetLogic extends BaseGetXController {
StartChartManage().destruction();
Get.offNamedUntil(Routers.starLockLoginPage, (Route route) => false);
} else {
- UmengCommonSdk.onEvent('logout', {
+ ApmHelper.instance.logout();
+ ApmHelper.instance.trackEvent('logout', {
'lock_name': BlueManage().connectDeviceName,
'account':
getMobile.isNotEmpty ? getMobile : (await Storage.getEmail())!,
diff --git a/lib/tools/storage.dart b/lib/tools/storage.dart
index 236e8d0f..34a9e425 100755
--- a/lib/tools/storage.dart
+++ b/lib/tools/storage.dart
@@ -4,6 +4,7 @@
import 'dart:convert';
import 'package:shared_preferences/shared_preferences.dart';
+import 'package:star_lock/apm/apm_helper.dart';
import 'package:star_lock/talk/startChart/entity/relay_info_entity.dart';
import 'package:star_lock/talk/startChart/entity/star_chart_register_node_entity.dart';
@@ -197,12 +198,14 @@ class Storage {
final String? data = await Storage.getString(saveUserLoginData);
if (data != null && data.isNotEmpty) {
loginData = LoginData.fromJson(jsonDecode(data));
+ ApmHelper.instance.login(loginData.userid!.toString());
}
// AppLog.log("loginData:$loginData");
return loginData;
}
static Future saveLoginData(LoginData? data) async {
+ ApmHelper.instance.login(data!.userid!.toString());
await Storage.setString(saveUserLoginData, jsonEncode(data));
}
diff --git a/lib/tools/wechat/wx_push_miniProgram/wx_push_miniProgram.dart b/lib/tools/wechat/wx_push_miniProgram/wx_push_miniProgram.dart
index 2779eb4b..e877bae0 100644
--- a/lib/tools/wechat/wx_push_miniProgram/wx_push_miniProgram.dart
+++ b/lib/tools/wechat/wx_push_miniProgram/wx_push_miniProgram.dart
@@ -31,16 +31,16 @@ class WxPushWeChatMiniProgramTool {
final MiniProgram miniProgram = MiniProgram(
username: 'gh_93a4493485e1', // 微信小程序原始ID
- path: 'pages/index/index', // 跳转的小程序页面路径,可选
- miniProgramType: WXMiniProgramType.release, // 小程序版本类型
+ // path: 'pages/index/index', // 跳转的小程序页面路径,可选
+ // miniProgramType: WXMiniProgramType.release, // 小程序版本类型
);
await fluwx.open(target: miniProgram);
} else {
final MiniProgram miniProgram = MiniProgram(
username: 'gh_93a4493485e1', // 微信小程序原始ID
- path: 'pages/index/index', // 跳转的小程序页面路径,可选
- miniProgramType: WXMiniProgramType.release, // 小程序版本类型
+ // path: 'pages/index/index', // 跳转的小程序页面路径,可选
+ // miniProgramType: WXMiniProgramType.release, // 小程序版本类型
);
await fluwx.open(target: miniProgram);
diff --git a/pubspec.lock b/pubspec.lock
new file mode 100644
index 00000000..a31c6a96
--- /dev/null
+++ b/pubspec.lock
@@ -0,0 +1,1766 @@
+# Generated by pub
+# See https://dart.dev/tools/pub/glossary#lockfile
+packages:
+ _flutterfire_internals:
+ dependency: transitive
+ description:
+ name: _flutterfire_internals
+ sha256: "9371d13b8ee442e3bfc08a24e3a1b3742c839abbfaf5eef11b79c4b862c89bf7"
+ url: "https://pub.dev"
+ source: hosted
+ version: "1.3.41"
+ aj_captcha_flutter:
+ dependency: "direct main"
+ description:
+ name: aj_captcha_flutter
+ sha256: "5e771eece35b0f99ebc405e7bb2df09509e3a683e38c94a5775e98c19230e3f2"
+ url: "https://pub.dev"
+ source: hosted
+ version: "0.0.1"
+ aliyun_face_plugin:
+ dependency: "direct main"
+ description:
+ path: aliyun_face_plugin
+ relative: true
+ source: path
+ version: "0.0.1"
+ amap_flutter_base:
+ dependency: transitive
+ description:
+ name: amap_flutter_base
+ sha256: "9ef2439b8de7100cdd1b4357701b8ca8c059c0f2d9d0257b81750bbf0c6f53bb"
+ url: "https://pub.dev"
+ source: hosted
+ version: "3.0.0"
+ amap_flutter_location:
+ dependency: "direct main"
+ description:
+ name: amap_flutter_location
+ sha256: f35ff00e196d579608e0bc28ccbc1f6f53787644702f947de941f775769cc701
+ url: "https://pub.dev"
+ source: hosted
+ version: "3.0.0"
+ amap_flutter_map:
+ dependency: "direct main"
+ description:
+ name: amap_flutter_map
+ sha256: "9cebb0b2f5fc7d3ae0427e99c41edc883e8f5459f6a28bc850f0f9e16918cf2f"
+ url: "https://pub.dev"
+ source: hosted
+ version: "3.0.0"
+ app_settings:
+ dependency: "direct main"
+ description:
+ name: app_settings
+ sha256: "09bc7fe0313a507087bec1a3baf555f0576e816a760cbb31813a88890a09d9e5"
+ url: "https://pub.dev"
+ source: hosted
+ version: "5.1.1"
+ archive:
+ dependency: transitive
+ description:
+ name: archive
+ sha256: cb6a278ef2dbb298455e1a713bda08524a175630ec643a242c399c932a0a1f7d
+ url: "https://pub.dev"
+ source: hosted
+ version: "3.6.1"
+ args:
+ dependency: transitive
+ description:
+ name: args
+ sha256: bf9f5caeea8d8fe6721a9c358dd8a5c1947b27f1cfaa18b39c301273594919e6
+ url: "https://pub.dev"
+ source: hosted
+ version: "2.6.0"
+ asn1lib:
+ dependency: transitive
+ description:
+ name: asn1lib
+ sha256: "4bae5ae63e6d6dd17c4aac8086f3dec26c0236f6a0f03416c6c19d830c367cf5"
+ url: "https://pub.dev"
+ source: hosted
+ version: "1.5.8"
+ async:
+ dependency: transitive
+ description:
+ name: async
+ sha256: "947bfcf187f74dbc5e146c9eb9c0f10c9f8b30743e341481c1e2ed3ecc18c20c"
+ url: "https://pub.dev"
+ source: hosted
+ version: "2.11.0"
+ audio_session:
+ dependency: transitive
+ description:
+ name: audio_session
+ sha256: "343e83bc7809fbda2591a49e525d6b63213ade10c76f15813be9aed6657b3261"
+ url: "https://pub.dev"
+ source: hosted
+ version: "0.1.21"
+ audioplayers:
+ dependency: "direct main"
+ description:
+ name: audioplayers
+ sha256: c05c6147124cd63e725e861335a8b4d57300b80e6e92cea7c145c739223bbaef
+ url: "https://pub.dev"
+ source: hosted
+ version: "5.2.1"
+ audioplayers_android:
+ dependency: transitive
+ description:
+ name: audioplayers_android
+ sha256: b00e1a0e11365d88576320ec2d8c192bc21f1afb6c0e5995d1c57ae63156acb5
+ url: "https://pub.dev"
+ source: hosted
+ version: "4.0.3"
+ audioplayers_darwin:
+ dependency: transitive
+ description:
+ name: audioplayers_darwin
+ sha256: "3034e99a6df8d101da0f5082dcca0a2a99db62ab1d4ddb3277bed3f6f81afe08"
+ url: "https://pub.dev"
+ source: hosted
+ version: "5.0.2"
+ audioplayers_linux:
+ dependency: transitive
+ description:
+ name: audioplayers_linux
+ sha256: "60787e73fefc4d2e0b9c02c69885402177e818e4e27ef087074cf27c02246c9e"
+ url: "https://pub.dev"
+ source: hosted
+ version: "3.1.0"
+ audioplayers_platform_interface:
+ dependency: transitive
+ description:
+ name: audioplayers_platform_interface
+ sha256: "365c547f1bb9e77d94dd1687903a668d8f7ac3409e48e6e6a3668a1ac2982adb"
+ url: "https://pub.dev"
+ source: hosted
+ version: "6.1.0"
+ audioplayers_web:
+ dependency: transitive
+ description:
+ name: audioplayers_web
+ sha256: "22cd0173e54d92bd9b2c80b1204eb1eb159ece87475ab58c9788a70ec43c2a62"
+ url: "https://pub.dev"
+ source: hosted
+ version: "4.1.0"
+ audioplayers_windows:
+ dependency: transitive
+ description:
+ name: audioplayers_windows
+ sha256: "9536812c9103563644ada2ef45ae523806b0745f7a78e89d1b5fb1951de90e1a"
+ url: "https://pub.dev"
+ source: hosted
+ version: "3.1.0"
+ auto_orientation:
+ dependency: "direct main"
+ description:
+ name: auto_orientation
+ sha256: cd56bb59b36fa54cc28ee254bc600524f022a4862f31d5ab20abd7bb1c54e678
+ url: "https://pub.dev"
+ source: hosted
+ version: "2.3.1"
+ azlistview:
+ dependency: "direct main"
+ description:
+ name: azlistview
+ sha256: "93e865f11777a271b439f0d6b00799c0797e9daeec2e082a2e01373809c4b90d"
+ url: "https://pub.dev"
+ source: hosted
+ version: "2.0.0"
+ boolean_selector:
+ dependency: transitive
+ description:
+ name: boolean_selector
+ sha256: "6cfb5af12253eaf2b368f07bacc5a80d1301a071c73360d746b7f2e32d762c66"
+ url: "https://pub.dev"
+ source: hosted
+ version: "2.1.1"
+ cached_network_image:
+ dependency: "direct main"
+ description:
+ name: cached_network_image
+ sha256: "28ea9690a8207179c319965c13cd8df184d5ee721ae2ce60f398ced1219cea1f"
+ url: "https://pub.dev"
+ source: hosted
+ version: "3.3.1"
+ cached_network_image_platform_interface:
+ dependency: transitive
+ description:
+ name: cached_network_image_platform_interface
+ sha256: "9e90e78ae72caa874a323d78fa6301b3fb8fa7ea76a8f96dc5b5bf79f283bf2f"
+ url: "https://pub.dev"
+ source: hosted
+ version: "4.0.0"
+ cached_network_image_web:
+ dependency: transitive
+ description:
+ name: cached_network_image_web
+ sha256: "205d6a9f1862de34b93184f22b9d2d94586b2f05c581d546695e3d8f6a805cd7"
+ url: "https://pub.dev"
+ source: hosted
+ version: "1.2.0"
+ camera:
+ dependency: "direct main"
+ description:
+ name: camera
+ sha256: dfa8fc5a1adaeb95e7a54d86a5bd56f4bb0e035515354c8ac6d262e35cec2ec8
+ url: "https://pub.dev"
+ source: hosted
+ version: "0.10.6"
+ camera_android:
+ dependency: transitive
+ description:
+ name: camera_android
+ sha256: b350ac087f111467e705b2b76cc1322f7f5bdc122aa83b4b243b0872f390d229
+ url: "https://pub.dev"
+ source: hosted
+ version: "0.10.9+2"
+ camera_avfoundation:
+ dependency: transitive
+ description:
+ name: camera_avfoundation
+ sha256: "2e4c568f70e406ccb87376bc06b53d2f5bebaab71e2fbcc1a950e31449381bcf"
+ url: "https://pub.dev"
+ source: hosted
+ version: "0.9.17+5"
+ camera_platform_interface:
+ dependency: transitive
+ description:
+ name: camera_platform_interface
+ sha256: b3ede1f171532e0d83111fe0980b46d17f1aa9788a07a2fbed07366bbdbb9061
+ url: "https://pub.dev"
+ source: hosted
+ version: "2.8.0"
+ camera_web:
+ dependency: transitive
+ description:
+ name: camera_web
+ sha256: "595f28c89d1fb62d77c73c633193755b781c6d2e0ebcd8dc25b763b514e6ba8f"
+ url: "https://pub.dev"
+ source: hosted
+ version: "0.3.5"
+ characters:
+ dependency: transitive
+ description:
+ name: characters
+ sha256: "04a925763edad70e8443c99234dc3328f442e811f1d8fd1a72f1c8ad0f69a605"
+ url: "https://pub.dev"
+ source: hosted
+ version: "1.3.0"
+ checked_yaml:
+ dependency: transitive
+ description:
+ name: checked_yaml
+ sha256: feb6bed21949061731a7a75fc5d2aa727cf160b91af9a3e464c5e3a32e28b5ff
+ url: "https://pub.dev"
+ source: hosted
+ version: "2.0.3"
+ clock:
+ dependency: transitive
+ description:
+ name: clock
+ sha256: cb6d7f03e1de671e34607e909a7213e31d7752be4fb66a86d29fe1eb14bfb5cf
+ url: "https://pub.dev"
+ source: hosted
+ version: "1.1.1"
+ collection:
+ dependency: transitive
+ description:
+ name: collection
+ sha256: ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a
+ url: "https://pub.dev"
+ source: hosted
+ version: "1.18.0"
+ colorfilter_generator:
+ dependency: "direct main"
+ description:
+ name: colorfilter_generator
+ sha256: ccc2995e440b1d828d55d99150e7cad64624f3cb4a1e235000de3f93cf10d35c
+ url: "https://pub.dev"
+ source: hosted
+ version: "0.0.8"
+ common_utils:
+ dependency: "direct main"
+ description:
+ name: common_utils
+ sha256: c26884339b13ff99b0739e56f4b02090c84054ed9dd3a045435cd24e7b99c2c1
+ url: "https://pub.dev"
+ source: hosted
+ version: "2.1.0"
+ connectivity_plus:
+ dependency: "direct main"
+ description:
+ name: connectivity_plus
+ sha256: "2056db5241f96cdc0126bd94459fc4cdc13876753768fc7a31c425e50a7177d0"
+ url: "https://pub.dev"
+ source: hosted
+ version: "6.0.5"
+ connectivity_plus_platform_interface:
+ dependency: transitive
+ description:
+ name: connectivity_plus_platform_interface
+ sha256: "42657c1715d48b167930d5f34d00222ac100475f73d10162ddf43e714932f204"
+ url: "https://pub.dev"
+ source: hosted
+ version: "2.0.1"
+ convert:
+ dependency: "direct main"
+ description:
+ name: convert
+ sha256: "0f08b14755d163f6e2134cb58222dd25ea2a2ee8a195e53983d57c075324d592"
+ url: "https://pub.dev"
+ source: hosted
+ version: "3.1.1"
+ crop_your_image:
+ dependency: "direct main"
+ description:
+ name: crop_your_image
+ sha256: "1dc98a5a35b424007bb0960bed011f2d0eecbcef7839707e97d349520245354c"
+ url: "https://pub.dev"
+ source: hosted
+ version: "0.7.5"
+ cross_file:
+ dependency: transitive
+ description:
+ name: cross_file
+ sha256: "7caf6a750a0c04effbb52a676dce9a4a592e10ad35c34d6d2d0e4811160d5670"
+ url: "https://pub.dev"
+ source: hosted
+ version: "0.3.4+2"
+ crypto:
+ dependency: "direct main"
+ description:
+ name: crypto
+ sha256: ff625774173754681d66daaf4a448684fb04b78f902da9cb3d308c19cc5e8bab
+ url: "https://pub.dev"
+ source: hosted
+ version: "3.0.3"
+ csslib:
+ dependency: transitive
+ description:
+ name: csslib
+ sha256: "09bad715f418841f976c77db72d5398dc1253c21fb9c0c7f0b0b985860b2d58e"
+ url: "https://pub.dev"
+ source: hosted
+ version: "1.0.2"
+ cupertino_icons:
+ dependency: "direct main"
+ description:
+ name: cupertino_icons
+ sha256: ba631d1c7f7bef6b729a622b7b752645a2d076dba9976925b8f25725a30e1ee6
+ url: "https://pub.dev"
+ source: hosted
+ version: "1.0.8"
+ date_format:
+ dependency: "direct main"
+ description:
+ name: date_format
+ sha256: a48254e60bdb7f1d5a15cac7f86e37491808056c0a99dbdc850841def4754ddc
+ url: "https://pub.dev"
+ source: hosted
+ version: "2.0.9"
+ dbus:
+ dependency: transitive
+ description:
+ name: dbus
+ sha256: "365c771ac3b0e58845f39ec6deebc76e3276aa9922b0cc60840712094d9047ac"
+ url: "https://pub.dev"
+ source: hosted
+ version: "0.7.10"
+ decimal:
+ dependency: transitive
+ description:
+ name: decimal
+ sha256: "24a261d5d5c87e86c7651c417a5dbdf8bcd7080dd592533910e8d0505a279f21"
+ url: "https://pub.dev"
+ source: hosted
+ version: "2.3.3"
+ device_info_plus:
+ dependency: "direct main"
+ description:
+ name: device_info_plus
+ sha256: f52ab3b76b36ede4d135aab80194df8925b553686f0fa12226b4e2d658e45903
+ url: "https://pub.dev"
+ source: hosted
+ version: "8.2.2"
+ device_info_plus_platform_interface:
+ dependency: transitive
+ description:
+ name: device_info_plus_platform_interface
+ sha256: "0b04e02b30791224b31969eb1b50d723498f402971bff3630bca2ba839bd1ed2"
+ url: "https://pub.dev"
+ source: hosted
+ version: "7.0.2"
+ dio:
+ dependency: transitive
+ description:
+ name: dio
+ sha256: "7d328c4d898a61efc3cd93655a0955858e29a0aa647f0f9e02d59b3bb275e2e8"
+ url: "https://pub.dev"
+ source: hosted
+ version: "4.0.6"
+ easy_refresh:
+ dependency: "direct main"
+ description:
+ name: easy_refresh
+ sha256: "486e30abfcaae66c0f2c2798a10de2298eb9dc5e0bb7e1dba9328308968cae0c"
+ url: "https://pub.dev"
+ source: hosted
+ version: "3.4.0"
+ encrypt:
+ dependency: "direct main"
+ description:
+ name: encrypt
+ sha256: "62d9aa4670cc2a8798bab89b39fc71b6dfbacf615de6cf5001fb39f7e4a996a2"
+ url: "https://pub.dev"
+ source: hosted
+ version: "5.0.3"
+ event_bus:
+ dependency: "direct main"
+ description:
+ name: event_bus
+ sha256: "1a55e97923769c286d295240048fc180e7b0768902c3c2e869fe059aafa15304"
+ url: "https://pub.dev"
+ source: hosted
+ version: "2.0.1"
+ expandable:
+ dependency: "direct main"
+ description:
+ name: expandable
+ sha256: "9604d612d4d1146dafa96c6d8eec9c2ff0994658d6d09fed720ab788c7f5afc2"
+ url: "https://pub.dev"
+ source: hosted
+ version: "5.0.1"
+ fake_async:
+ dependency: transitive
+ description:
+ name: fake_async
+ sha256: "511392330127add0b769b75a987850d136345d9227c6b94c96a04cf4a391bf78"
+ url: "https://pub.dev"
+ source: hosted
+ version: "1.3.1"
+ fast_gbk:
+ dependency: "direct main"
+ description:
+ name: fast_gbk
+ sha256: "3f0dc0309986f615404ea8d1fccf00a535dc00ee90b88d71492866bd95586489"
+ url: "https://pub.dev"
+ source: hosted
+ version: "1.0.0"
+ ffi:
+ dependency: "direct main"
+ description:
+ name: ffi
+ sha256: "16ed7b077ef01ad6170a3d0c57caa4a112a38d7a2ed5602e0aca9ca6f3d98da6"
+ url: "https://pub.dev"
+ source: hosted
+ version: "2.1.3"
+ file:
+ dependency: transitive
+ description:
+ name: file
+ sha256: "1b92bec4fc2a72f59a8e15af5f52cd441e4a7860b49499d69dfa817af20e925d"
+ url: "https://pub.dev"
+ source: hosted
+ version: "6.1.4"
+ file_picker:
+ dependency: "direct main"
+ description:
+ name: file_picker
+ sha256: "9d6e95ec73abbd31ec54d0e0df8a961017e165aba1395e462e5b31ea0c165daf"
+ url: "https://pub.dev"
+ source: hosted
+ version: "5.3.1"
+ file_selector_linux:
+ dependency: transitive
+ description:
+ name: file_selector_linux
+ sha256: "54cbbd957e1156d29548c7d9b9ec0c0ebb6de0a90452198683a7d23aed617a33"
+ url: "https://pub.dev"
+ source: hosted
+ version: "0.9.3+2"
+ file_selector_macos:
+ dependency: transitive
+ description:
+ name: file_selector_macos
+ sha256: "271ab9986df0c135d45c3cdb6bd0faa5db6f4976d3e4b437cf7d0f258d941bfc"
+ url: "https://pub.dev"
+ source: hosted
+ version: "0.9.4+2"
+ file_selector_platform_interface:
+ dependency: transitive
+ description:
+ name: file_selector_platform_interface
+ sha256: a3994c26f10378a039faa11de174d7b78eb8f79e4dd0af2a451410c1a5c3f66b
+ url: "https://pub.dev"
+ source: hosted
+ version: "2.6.2"
+ file_selector_windows:
+ dependency: transitive
+ description:
+ name: file_selector_windows
+ sha256: "8f5d2f6590d51ecd9179ba39c64f722edc15226cc93dcc8698466ad36a4a85a4"
+ url: "https://pub.dev"
+ source: hosted
+ version: "0.9.3+3"
+ firebase_analytics:
+ dependency: "direct main"
+ description:
+ name: firebase_analytics
+ sha256: "7e032ade38dec2a92f543ba02c5f72f54ffaa095c60d2132b867eab56de3bc73"
+ url: "https://pub.dev"
+ source: hosted
+ version: "11.3.0"
+ firebase_analytics_platform_interface:
+ dependency: transitive
+ description:
+ name: firebase_analytics_platform_interface
+ sha256: b62a2444767d95067a7e36b1d6e335e0b877968574bbbfb656168c46f2e95a13
+ url: "https://pub.dev"
+ source: hosted
+ version: "4.2.2"
+ firebase_analytics_web:
+ dependency: transitive
+ description:
+ name: firebase_analytics_web
+ sha256: bad44f71f96cfca6c16c9dd4f70b85f123ddca7d5dd698977449fadf298b1782
+ url: "https://pub.dev"
+ source: hosted
+ version: "0.5.9+2"
+ firebase_core:
+ dependency: transitive
+ description:
+ name: firebase_core
+ sha256: "06537da27db981947fa535bb91ca120b4e9cb59cb87278dbdde718558cafc9ff"
+ url: "https://pub.dev"
+ source: hosted
+ version: "3.4.0"
+ firebase_core_platform_interface:
+ dependency: transitive
+ description:
+ name: firebase_core_platform_interface
+ sha256: d7253d255ff10f85cfd2adaba9ac17bae878fa3ba577462451163bd9f1d1f0bf
+ url: "https://pub.dev"
+ source: hosted
+ version: "5.4.0"
+ firebase_core_web:
+ dependency: transitive
+ description:
+ name: firebase_core_web
+ sha256: "362e52457ed2b7b180964769c1e04d1e0ea0259fdf7025fdfedd019d4ae2bd88"
+ url: "https://pub.dev"
+ source: hosted
+ version: "2.17.5"
+ flustars:
+ dependency: "direct main"
+ description:
+ name: flustars
+ sha256: "7019ab8d68c0d4759ee122644d91a165d450b0492717f9e7e9d0ce277dcf664b"
+ url: "https://pub.dev"
+ source: hosted
+ version: "2.0.1"
+ flutter:
+ dependency: "direct main"
+ description: flutter
+ source: sdk
+ version: "0.0.0"
+ flutter_blue_plus:
+ dependency: "direct main"
+ description:
+ name: flutter_blue_plus
+ sha256: c762a694c2f67b1f492ef19ead2a30ed3254650bafd852cb8933823d13d7c89f
+ url: "https://pub.dev"
+ source: hosted
+ version: "1.32.7"
+ flutter_bugly:
+ dependency: "direct main"
+ description:
+ name: flutter_bugly
+ sha256: a968eae20a0684e19222ba3e7b37c100a13549299305ea914d791dc56b4cff9a
+ url: "https://pub.dev"
+ source: hosted
+ version: "1.0.7+1"
+ flutter_cache_manager:
+ dependency: transitive
+ description:
+ name: flutter_cache_manager
+ sha256: "8207f27539deb83732fdda03e259349046a39a4c767269285f449ade355d54ba"
+ url: "https://pub.dev"
+ source: hosted
+ version: "3.3.1"
+ flutter_cupertino_datetime_picker:
+ dependency: "direct main"
+ description:
+ name: flutter_cupertino_datetime_picker
+ sha256: "631fbd3abed4d1151888e053d2153d905663a3b33ff24bdfa64afbcf750682cb"
+ url: "https://pub.dev"
+ source: hosted
+ version: "3.0.0"
+ flutter_easyloading:
+ dependency: "direct main"
+ description:
+ name: flutter_easyloading
+ sha256: ba21a3c883544e582f9cc455a4a0907556714e1e9cf0eababfcb600da191d17c
+ url: "https://pub.dev"
+ source: hosted
+ version: "3.0.5"
+ flutter_flavorizr:
+ dependency: "direct dev"
+ description:
+ name: flutter_flavorizr
+ sha256: e9550f67a890b9111ac5a555954f3808cb8c0132ce6dea08e3381964de39b906
+ url: "https://pub.dev"
+ source: hosted
+ version: "2.2.3"
+ flutter_hooks:
+ dependency: transitive
+ description:
+ name: flutter_hooks
+ sha256: cde36b12f7188c85286fba9b38cc5a902e7279f36dd676967106c041dc9dde70
+ url: "https://pub.dev"
+ source: hosted
+ version: "0.20.5"
+ flutter_lints:
+ dependency: "direct dev"
+ description:
+ name: flutter_lints
+ sha256: a25a15ebbdfc33ab1cd26c63a6ee519df92338a9c10f122adda92938253bef04
+ url: "https://pub.dev"
+ source: hosted
+ version: "2.0.3"
+ flutter_local_notifications:
+ dependency: "direct main"
+ description:
+ name: flutter_local_notifications
+ sha256: "674173fd3c9eda9d4c8528da2ce0ea69f161577495a9cc835a2a4ecd7eadeb35"
+ url: "https://pub.dev"
+ source: hosted
+ version: "17.2.4"
+ flutter_local_notifications_linux:
+ dependency: transitive
+ description:
+ name: flutter_local_notifications_linux
+ sha256: c49bd06165cad9beeb79090b18cd1eb0296f4bf4b23b84426e37dd7c027fc3af
+ url: "https://pub.dev"
+ source: hosted
+ version: "4.0.1"
+ flutter_local_notifications_platform_interface:
+ dependency: transitive
+ description:
+ name: flutter_local_notifications_platform_interface
+ sha256: "85f8d07fe708c1bdcf45037f2c0109753b26ae077e9d9e899d55971711a4ea66"
+ url: "https://pub.dev"
+ source: hosted
+ version: "7.2.0"
+ flutter_localizations:
+ dependency: "direct main"
+ description: flutter
+ source: sdk
+ version: "0.0.0"
+ flutter_mjpeg:
+ dependency: "direct main"
+ description:
+ name: flutter_mjpeg
+ sha256: "46ea3f1a49838deb8e2b01a70b897313c7f985affecfaf3b3bae6f4e15405b6b"
+ url: "https://pub.dev"
+ source: hosted
+ version: "2.0.4"
+ flutter_native_contact_picker:
+ dependency: "direct main"
+ description:
+ name: flutter_native_contact_picker
+ sha256: "4df435115a23f7ba9464d945ccda81e02d5906552a2d3daec30feca53c2d051c"
+ url: "https://pub.dev"
+ source: hosted
+ version: "0.0.7"
+ flutter_pcm_sound:
+ dependency: "direct main"
+ description:
+ name: flutter_pcm_sound
+ sha256: e963b3a0c7658d57255f6e44fceddff6c7751dff82b7bcd561cfc1d5478d4e20
+ url: "https://pub.dev"
+ source: hosted
+ version: "1.2.7"
+ flutter_picker:
+ dependency: "direct main"
+ description:
+ name: flutter_picker
+ sha256: "2f94c6eefba8697b07e3cd008b75f06b4ba7053cb26d23ae0fcd5932b7dc75af"
+ url: "https://pub.dev"
+ source: hosted
+ version: "2.1.0"
+ flutter_plugin_android_lifecycle:
+ dependency: "direct overridden"
+ description:
+ name: flutter_plugin_android_lifecycle
+ sha256: "592dc01a18961a51c24ae5d963b724b2b7fa4a95c100fe8eb6ca8a5a4732cadf"
+ url: "https://pub.dev"
+ source: hosted
+ version: "2.0.18"
+ flutter_screenutil:
+ dependency: "direct main"
+ description:
+ name: flutter_screenutil
+ sha256: "8239210dd68bee6b0577aa4a090890342d04a136ce1c81f98ee513fc0ce891de"
+ url: "https://pub.dev"
+ source: hosted
+ version: "5.9.3"
+ flutter_slidable:
+ dependency: "direct main"
+ description:
+ name: flutter_slidable
+ sha256: a857de7ea701f276fd6a6c4c67ae885b60729a3449e42766bb0e655171042801
+ url: "https://pub.dev"
+ source: hosted
+ version: "3.1.2"
+ flutter_spinkit:
+ dependency: transitive
+ description:
+ name: flutter_spinkit
+ sha256: d2696eed13732831414595b98863260e33e8882fc069ee80ec35d4ac9ddb0472
+ url: "https://pub.dev"
+ source: hosted
+ version: "5.2.1"
+ flutter_test:
+ dependency: "direct dev"
+ description: flutter
+ source: sdk
+ version: "0.0.0"
+ flutter_voice_processor:
+ dependency: "direct main"
+ description:
+ name: flutter_voice_processor
+ sha256: "3c91d8ab34b33016643ae7586a305b81c47c1b66a95b489807c34f127537fcbc"
+ url: "https://pub.dev"
+ source: hosted
+ version: "1.1.1"
+ flutter_web_plugins:
+ dependency: transitive
+ description: flutter
+ source: sdk
+ version: "0.0.0"
+ fluttertoast:
+ dependency: "direct main"
+ description:
+ name: fluttertoast
+ sha256: "95f349437aeebe524ef7d6c9bde3e6b4772717cf46a0eb6a3ceaddc740b297cc"
+ url: "https://pub.dev"
+ source: hosted
+ version: "8.2.8"
+ fluwx:
+ dependency: "direct main"
+ description:
+ name: fluwx
+ sha256: "935194aaa6aa48b99c7ce6200a075e4c9a9480fa4fb91e29255c6a2763c27b13"
+ url: "https://pub.dev"
+ source: hosted
+ version: "4.5.5"
+ get:
+ dependency: "direct main"
+ description:
+ name: get
+ sha256: e4e7335ede17452b391ed3b2ede016545706c01a02292a6c97619705e7d2a85e
+ url: "https://pub.dev"
+ source: hosted
+ version: "4.6.6"
+ get_storage:
+ dependency: "direct main"
+ description:
+ name: get_storage
+ sha256: "39db1fffe779d0c22b3a744376e86febe4ade43bf65e06eab5af707dc84185a2"
+ url: "https://pub.dev"
+ source: hosted
+ version: "2.1.1"
+ google_maps:
+ dependency: transitive
+ description:
+ name: google_maps
+ sha256: "47eef3836b49bb030d5cb3afc60b8451408bf34cf753e571b645d6529eb4251a"
+ url: "https://pub.dev"
+ source: hosted
+ version: "7.1.0"
+ google_maps_flutter:
+ dependency: "direct main"
+ description:
+ name: google_maps_flutter
+ sha256: c1972cbad779bc5346c49045f26ae45550a0958b1cbca5b524dd3c8954995d28
+ url: "https://pub.dev"
+ source: hosted
+ version: "2.6.1"
+ google_maps_flutter_android:
+ dependency: transitive
+ description:
+ name: google_maps_flutter_android
+ sha256: "0bcadb80eba39afda77dede89a6caafd3b68f2786b90491eceea4a01c3db181c"
+ url: "https://pub.dev"
+ source: hosted
+ version: "2.8.0"
+ google_maps_flutter_ios:
+ dependency: "direct overridden"
+ description:
+ name: google_maps_flutter_ios
+ sha256: "6c50bce26ff73079b4401de5bfe77e89d89138897b9dcc6bdfbc7ada842f2bc1"
+ url: "https://pub.dev"
+ source: hosted
+ version: "2.5.2"
+ google_maps_flutter_platform_interface:
+ dependency: transitive
+ description:
+ name: google_maps_flutter_platform_interface
+ sha256: a951981c22d790848efb9f114f81794945bc5c06bc566238a419a92f110af6cb
+ url: "https://pub.dev"
+ source: hosted
+ version: "2.9.5"
+ google_maps_flutter_web:
+ dependency: transitive
+ description:
+ name: google_maps_flutter_web
+ sha256: f3155c12119d8a5c2732fdf39ceb5cc095bc662059a03b4ea23294ecebe1d199
+ url: "https://pub.dev"
+ source: hosted
+ version: "0.5.8"
+ html:
+ dependency: transitive
+ description:
+ name: html
+ sha256: "1fc58edeaec4307368c60d59b7e15b9d658b57d7f3125098b6294153c75337ec"
+ url: "https://pub.dev"
+ source: hosted
+ version: "0.15.5"
+ http:
+ dependency: transitive
+ description:
+ name: http
+ sha256: "5895291c13fa8a3bd82e76d5627f69e0d85ca6a30dcac95c4ea19a5d555879c2"
+ url: "https://pub.dev"
+ source: hosted
+ version: "0.13.6"
+ http_parser:
+ dependency: transitive
+ description:
+ name: http_parser
+ sha256: "2aa08ce0341cc9b354a498388e30986515406668dbcc4f7c950c3e715496693b"
+ url: "https://pub.dev"
+ source: hosted
+ version: "4.0.2"
+ image:
+ dependency: transitive
+ description:
+ name: image
+ sha256: f31d52537dc417fdcde36088fdf11d191026fd5e4fae742491ebd40e5a8bea7d
+ url: "https://pub.dev"
+ source: hosted
+ version: "4.3.0"
+ image_gallery_saver:
+ dependency: "direct main"
+ description:
+ name: image_gallery_saver
+ sha256: "0aba74216a4d9b0561510cb968015d56b701ba1bd94aace26aacdd8ae5761816"
+ url: "https://pub.dev"
+ source: hosted
+ version: "2.0.3"
+ image_picker:
+ dependency: "direct main"
+ description:
+ name: image_picker
+ sha256: "021834d9c0c3de46bf0fe40341fa07168407f694d9b2bb18d532dc1261867f7a"
+ url: "https://pub.dev"
+ source: hosted
+ version: "1.1.2"
+ image_picker_android:
+ dependency: transitive
+ description:
+ name: image_picker_android
+ sha256: "0f57fee1e8bfadf8cc41818bbcd7f72e53bb768a54d9496355d5e8a5681a19f1"
+ url: "https://pub.dev"
+ source: hosted
+ version: "0.8.12+1"
+ image_picker_for_web:
+ dependency: transitive
+ description:
+ name: image_picker_for_web
+ sha256: "65d94623e15372c5c51bebbcb820848d7bcb323836e12dfdba60b5d3a8b39e50"
+ url: "https://pub.dev"
+ source: hosted
+ version: "3.0.5"
+ image_picker_ios:
+ dependency: transitive
+ description:
+ name: image_picker_ios
+ sha256: "4f0568120c6fcc0aaa04511cb9f9f4d29fc3d0139884b1d06be88dcec7641d6b"
+ url: "https://pub.dev"
+ source: hosted
+ version: "0.8.12+1"
+ image_picker_linux:
+ dependency: transitive
+ description:
+ name: image_picker_linux
+ sha256: "4ed1d9bb36f7cd60aa6e6cd479779cc56a4cb4e4de8f49d487b1aaad831300fa"
+ url: "https://pub.dev"
+ source: hosted
+ version: "0.2.1+1"
+ image_picker_macos:
+ dependency: transitive
+ description:
+ name: image_picker_macos
+ sha256: "3f5ad1e8112a9a6111c46d0b57a7be2286a9a07fc6e1976fdf5be2bd31d4ff62"
+ url: "https://pub.dev"
+ source: hosted
+ version: "0.2.1+1"
+ image_picker_platform_interface:
+ dependency: transitive
+ description:
+ name: image_picker_platform_interface
+ sha256: "9ec26d410ff46f483c5519c29c02ef0e02e13a543f882b152d4bfd2f06802f80"
+ url: "https://pub.dev"
+ source: hosted
+ version: "2.10.0"
+ image_picker_windows:
+ dependency: transitive
+ description:
+ name: image_picker_windows
+ sha256: "6ad07afc4eb1bc25f3a01084d28520496c4a3bb0cb13685435838167c9dcedeb"
+ url: "https://pub.dev"
+ source: hosted
+ version: "0.2.1+1"
+ intl:
+ dependency: "direct main"
+ description:
+ name: intl
+ sha256: "3bc132a9dbce73a7e4a21a17d06e1878839ffbf975568bc875c60537824b0c4d"
+ url: "https://pub.dev"
+ source: hosted
+ version: "0.18.1"
+ io:
+ dependency: transitive
+ description:
+ name: io
+ sha256: "2ec25704aba361659e10e3e5f5d672068d332fc8ac516421d483a11e5cbd061e"
+ url: "https://pub.dev"
+ source: hosted
+ version: "1.0.4"
+ jpush_flutter:
+ dependency: "direct main"
+ description:
+ name: jpush_flutter
+ sha256: bb29ce650c6765a54ecbdd8f448840ecea83b4e24564e554d11eba20ed3b37d9
+ url: "https://pub.dev"
+ source: hosted
+ version: "2.5.8"
+ js:
+ dependency: transitive
+ description:
+ name: js
+ sha256: f2c445dce49627136094980615a031419f7f3eb393237e4ecd97ac15dea343f3
+ url: "https://pub.dev"
+ source: hosted
+ version: "0.6.7"
+ js_wrapping:
+ dependency: transitive
+ description:
+ name: js_wrapping
+ sha256: e385980f7c76a8c1c9a560dfb623b890975841542471eade630b2871d243851c
+ url: "https://pub.dev"
+ source: hosted
+ version: "0.7.4"
+ json_annotation:
+ dependency: transitive
+ description:
+ name: json_annotation
+ sha256: "1ce844379ca14835a50d2f019a3099f419082cfdd231cd86a142af94dd5c6bb1"
+ url: "https://pub.dev"
+ source: hosted
+ version: "4.9.0"
+ just_audio:
+ dependency: "direct main"
+ description:
+ name: just_audio
+ sha256: a49e7120b95600bd357f37a2bb04cd1e88252f7cdea8f3368803779b925b1049
+ url: "https://pub.dev"
+ source: hosted
+ version: "0.9.42"
+ just_audio_platform_interface:
+ dependency: transitive
+ description:
+ name: just_audio_platform_interface
+ sha256: "0243828cce503c8366cc2090cefb2b3c871aa8ed2f520670d76fd47aa1ab2790"
+ url: "https://pub.dev"
+ source: hosted
+ version: "4.3.0"
+ just_audio_web:
+ dependency: transitive
+ description:
+ name: just_audio_web
+ sha256: "9a98035b8b24b40749507687520ec5ab404e291d2b0937823ff45d92cb18d448"
+ url: "https://pub.dev"
+ source: hosted
+ version: "0.4.13"
+ leak_tracker:
+ dependency: transitive
+ description:
+ name: leak_tracker
+ sha256: "78eb209deea09858f5269f5a5b02be4049535f568c07b275096836f01ea323fa"
+ url: "https://pub.dev"
+ source: hosted
+ version: "10.0.0"
+ leak_tracker_flutter_testing:
+ dependency: transitive
+ description:
+ name: leak_tracker_flutter_testing
+ sha256: b46c5e37c19120a8a01918cfaf293547f47269f7cb4b0058f21531c2465d6ef0
+ url: "https://pub.dev"
+ source: hosted
+ version: "2.0.1"
+ leak_tracker_testing:
+ dependency: transitive
+ description:
+ name: leak_tracker_testing
+ sha256: a597f72a664dbd293f3bfc51f9ba69816f84dcd403cdac7066cb3f6003f3ab47
+ url: "https://pub.dev"
+ source: hosted
+ version: "2.0.1"
+ lints:
+ dependency: transitive
+ description:
+ name: lints
+ sha256: "0a217c6c989d21039f1498c3ed9f3ed71b354e69873f13a8dfc3c9fe76f1b452"
+ url: "https://pub.dev"
+ source: hosted
+ version: "2.1.1"
+ lpinyin:
+ dependency: "direct main"
+ description:
+ name: lpinyin
+ sha256: "0bb843363f1f65170efd09fbdfc760c7ec34fc6354f9fcb2f89e74866a0d814a"
+ url: "https://pub.dev"
+ source: hosted
+ version: "2.0.3"
+ matcher:
+ dependency: transitive
+ description:
+ name: matcher
+ sha256: d2323aa2060500f906aa31a895b4030b6da3ebdcc5619d14ce1aada65cd161cb
+ url: "https://pub.dev"
+ source: hosted
+ version: "0.12.16+1"
+ material_color_utilities:
+ dependency: transitive
+ description:
+ name: material_color_utilities
+ sha256: "0e0a020085b65b6083975e499759762399b4475f766c21668c4ecca34ea74e5a"
+ url: "https://pub.dev"
+ source: hosted
+ version: "0.8.0"
+ matrix2d:
+ dependency: transitive
+ description:
+ name: matrix2d
+ sha256: "188718dd3bc2a31e372cfd0791b0f77f4f13ea76164147342cc378d9132949e7"
+ url: "https://pub.dev"
+ source: hosted
+ version: "1.0.4"
+ meta:
+ dependency: transitive
+ description:
+ name: meta
+ sha256: d584fa6707a52763a52446f02cc621b077888fb63b93bbcb1143a7be5a0c0c04
+ url: "https://pub.dev"
+ source: hosted
+ version: "1.11.0"
+ mime:
+ dependency: transitive
+ description:
+ name: mime
+ sha256: "801fd0b26f14a4a58ccb09d5892c3fbdeff209594300a542492cf13fba9d247a"
+ url: "https://pub.dev"
+ source: hosted
+ version: "1.0.6"
+ network_info_plus:
+ dependency: "direct main"
+ description:
+ name: network_info_plus
+ sha256: "4601b815b1c6a46d84839f65cd774a7d999738471d910fae00d813e9e98b04e1"
+ url: "https://pub.dev"
+ source: hosted
+ version: "4.1.0+1"
+ network_info_plus_platform_interface:
+ dependency: transitive
+ description:
+ name: network_info_plus_platform_interface
+ sha256: "881f5029c5edaf19c616c201d3d8b366c5b1384afd5c1da5a49e4345de82fb8b"
+ url: "https://pub.dev"
+ source: hosted
+ version: "1.1.3"
+ nm:
+ dependency: transitive
+ description:
+ name: nm
+ sha256: "2c9aae4127bdc8993206464fcc063611e0e36e72018696cd9631023a31b24254"
+ url: "https://pub.dev"
+ source: hosted
+ version: "0.5.0"
+ octo_image:
+ dependency: transitive
+ description:
+ name: octo_image
+ sha256: "34faa6639a78c7e3cbe79be6f9f96535867e879748ade7d17c9b1ae7536293bd"
+ url: "https://pub.dev"
+ source: hosted
+ version: "2.1.0"
+ open_filex:
+ dependency: "direct main"
+ description:
+ name: open_filex
+ sha256: dcb7bd3d32db8db5260253a62f1564c02c2c8df64bc0187cd213f65f827519bd
+ url: "https://pub.dev"
+ source: hosted
+ version: "4.6.0"
+ package_info_plus:
+ dependency: "direct main"
+ description:
+ name: package_info_plus
+ sha256: "10259b111176fba5c505b102e3a5b022b51dd97e30522e906d6922c745584745"
+ url: "https://pub.dev"
+ source: hosted
+ version: "3.1.2"
+ package_info_plus_platform_interface:
+ dependency: transitive
+ description:
+ name: package_info_plus_platform_interface
+ sha256: "9bc8ba46813a4cc42c66ab781470711781940780fd8beddd0c3da62506d3a6c6"
+ url: "https://pub.dev"
+ source: hosted
+ version: "2.0.1"
+ path:
+ dependency: transitive
+ description:
+ name: path
+ sha256: "087ce49c3f0dc39180befefc60fdb4acd8f8620e5682fe2476afd0b3688bb4af"
+ url: "https://pub.dev"
+ source: hosted
+ version: "1.9.0"
+ path_drawing:
+ dependency: transitive
+ description:
+ name: path_drawing
+ sha256: bbb1934c0cbb03091af082a6389ca2080345291ef07a5fa6d6e078ba8682f977
+ url: "https://pub.dev"
+ source: hosted
+ version: "1.0.1"
+ path_parsing:
+ dependency: transitive
+ description:
+ name: path_parsing
+ sha256: "883402936929eac138ee0a45da5b0f2c80f89913e6dc3bf77eb65b84b409c6ca"
+ url: "https://pub.dev"
+ source: hosted
+ version: "1.1.0"
+ path_provider:
+ dependency: "direct main"
+ description:
+ name: path_provider
+ sha256: fec0d61223fba3154d87759e3cc27fe2c8dc498f6386c6d6fc80d1afdd1bf378
+ url: "https://pub.dev"
+ source: hosted
+ version: "2.1.4"
+ path_provider_android:
+ dependency: transitive
+ description:
+ name: path_provider_android
+ sha256: a248d8146ee5983446bf03ed5ea8f6533129a12b11f12057ad1b4a67a2b3b41d
+ url: "https://pub.dev"
+ source: hosted
+ version: "2.2.4"
+ path_provider_foundation:
+ dependency: transitive
+ description:
+ name: path_provider_foundation
+ sha256: "4843174df4d288f5e29185bd6e72a6fbdf5a4a4602717eed565497429f179942"
+ url: "https://pub.dev"
+ source: hosted
+ version: "2.4.1"
+ path_provider_linux:
+ dependency: transitive
+ description:
+ name: path_provider_linux
+ sha256: f7a1fe3a634fe7734c8d3f2766ad746ae2a2884abe22e241a8b301bf5cac3279
+ url: "https://pub.dev"
+ source: hosted
+ version: "2.2.1"
+ path_provider_platform_interface:
+ dependency: transitive
+ description:
+ name: path_provider_platform_interface
+ sha256: "88f5779f72ba699763fa3a3b06aa4bf6de76c8e5de842cf6f29e2e06476c2334"
+ url: "https://pub.dev"
+ source: hosted
+ version: "2.1.2"
+ path_provider_windows:
+ dependency: transitive
+ description:
+ name: path_provider_windows
+ sha256: bd6f00dbd873bfb70d0761682da2b3a2c2fccc2b9e84c495821639601d81afe7
+ url: "https://pub.dev"
+ source: hosted
+ version: "2.3.0"
+ permission_handler:
+ dependency: "direct main"
+ description:
+ name: permission_handler
+ sha256: "18bf33f7fefbd812f37e72091a15575e72d5318854877e0e4035a24ac1113ecb"
+ url: "https://pub.dev"
+ source: hosted
+ version: "11.3.1"
+ permission_handler_android:
+ dependency: transitive
+ description:
+ name: permission_handler_android
+ sha256: "71bbecfee799e65aff7c744761a57e817e73b738fedf62ab7afd5593da21f9f1"
+ url: "https://pub.dev"
+ source: hosted
+ version: "12.0.13"
+ permission_handler_apple:
+ dependency: transitive
+ description:
+ name: permission_handler_apple
+ sha256: e6f6d73b12438ef13e648c4ae56bd106ec60d17e90a59c4545db6781229082a0
+ url: "https://pub.dev"
+ source: hosted
+ version: "9.4.5"
+ permission_handler_html:
+ dependency: transitive
+ description:
+ name: permission_handler_html
+ sha256: "38f000e83355abb3392140f6bc3030660cfaef189e1f87824facb76300b4ff24"
+ url: "https://pub.dev"
+ source: hosted
+ version: "0.1.3+5"
+ permission_handler_platform_interface:
+ dependency: transitive
+ description:
+ name: permission_handler_platform_interface
+ sha256: e9c8eadee926c4532d0305dff94b85bf961f16759c3af791486613152af4b4f9
+ url: "https://pub.dev"
+ source: hosted
+ version: "4.2.3"
+ permission_handler_windows:
+ dependency: transitive
+ description:
+ name: permission_handler_windows
+ sha256: "1a790728016f79a41216d88672dbc5df30e686e811ad4e698bfc51f76ad91f1e"
+ url: "https://pub.dev"
+ source: hosted
+ version: "0.2.1"
+ petitparser:
+ dependency: transitive
+ description:
+ name: petitparser
+ sha256: c15605cd28af66339f8eb6fbe0e541bfe2d1b72d5825efc6598f3e0a31b9ad27
+ url: "https://pub.dev"
+ source: hosted
+ version: "6.0.2"
+ platform:
+ dependency: transitive
+ description:
+ name: platform
+ sha256: "5d6b1b0036a5f331ebc77c850ebc8506cbc1e9416c27e59b439f917a902a4984"
+ url: "https://pub.dev"
+ source: hosted
+ version: "3.1.6"
+ plugin_platform_interface:
+ dependency: transitive
+ description:
+ name: plugin_platform_interface
+ sha256: "4820fbfdb9478b1ebae27888254d445073732dae3d6ea81f0b7e06d5dedc3f02"
+ url: "https://pub.dev"
+ source: hosted
+ version: "2.1.8"
+ pointycastle:
+ dependency: transitive
+ description:
+ name: pointycastle
+ sha256: "4be0097fcf3fd3e8449e53730c631200ebc7b88016acecab2b0da2f0149222fe"
+ url: "https://pub.dev"
+ source: hosted
+ version: "3.9.1"
+ qr:
+ dependency: transitive
+ description:
+ name: qr
+ sha256: "64957a3930367bf97cc211a5af99551d630f2f4625e38af10edd6b19131b64b3"
+ url: "https://pub.dev"
+ source: hosted
+ version: "3.0.1"
+ qr_flutter:
+ dependency: "direct main"
+ description:
+ name: qr_flutter
+ sha256: "5095f0fc6e3f71d08adef8feccc8cea4f12eec18a2e31c2e8d82cb6019f4b097"
+ url: "https://pub.dev"
+ source: hosted
+ version: "4.1.0"
+ rational:
+ dependency: transitive
+ description:
+ name: rational
+ sha256: cb808fb6f1a839e6fc5f7d8cb3b0a10e1db48b3be102de73938c627f0b636336
+ url: "https://pub.dev"
+ source: hosted
+ version: "2.2.3"
+ rxdart:
+ dependency: transitive
+ description:
+ name: rxdart
+ sha256: "0c7c0cedd93788d996e33041ffecda924cc54389199cde4e6a34b440f50044cb"
+ url: "https://pub.dev"
+ source: hosted
+ version: "0.27.7"
+ sanitize_html:
+ dependency: transitive
+ description:
+ name: sanitize_html
+ sha256: "12669c4a913688a26555323fb9cec373d8f9fbe091f2d01c40c723b33caa8989"
+ url: "https://pub.dev"
+ source: hosted
+ version: "2.1.0"
+ scrollable_positioned_list:
+ dependency: transitive
+ description:
+ name: scrollable_positioned_list
+ sha256: "9566352ab9ba05794ee6c8864f154afba5d36c5637d0e3e32c615ba4ceb92772"
+ url: "https://pub.dev"
+ source: hosted
+ version: "0.2.3"
+ shared_preferences:
+ dependency: "direct main"
+ description:
+ name: shared_preferences
+ sha256: d3bbe5553a986e83980916ded2f0b435ef2e1893dfaa29d5a7a790d0eca12180
+ url: "https://pub.dev"
+ source: hosted
+ version: "2.2.3"
+ shared_preferences_android:
+ dependency: transitive
+ description:
+ name: shared_preferences_android
+ sha256: "1ee8bf911094a1b592de7ab29add6f826a7331fb854273d55918693d5364a1f2"
+ url: "https://pub.dev"
+ source: hosted
+ version: "2.2.2"
+ shared_preferences_foundation:
+ dependency: transitive
+ description:
+ name: shared_preferences_foundation
+ sha256: "07e050c7cd39bad516f8d64c455f04508d09df104be326d8c02551590a0d513d"
+ url: "https://pub.dev"
+ source: hosted
+ version: "2.5.3"
+ shared_preferences_linux:
+ dependency: transitive
+ description:
+ name: shared_preferences_linux
+ sha256: "580abfd40f415611503cae30adf626e6656dfb2f0cee8f465ece7b6defb40f2f"
+ url: "https://pub.dev"
+ source: hosted
+ version: "2.4.1"
+ shared_preferences_platform_interface:
+ dependency: transitive
+ description:
+ name: shared_preferences_platform_interface
+ sha256: "57cbf196c486bc2cf1f02b85784932c6094376284b3ad5779d1b1c6c6a816b80"
+ url: "https://pub.dev"
+ source: hosted
+ version: "2.4.1"
+ shared_preferences_web:
+ dependency: transitive
+ description:
+ name: shared_preferences_web
+ sha256: "59dc807b94d29d52ddbb1b3c0d3b9d0a67fc535a64e62a5542c8db0513fcb6c2"
+ url: "https://pub.dev"
+ source: hosted
+ version: "2.4.1"
+ shared_preferences_windows:
+ dependency: transitive
+ description:
+ name: shared_preferences_windows
+ sha256: "94ef0f72b2d71bc3e700e025db3710911bd51a71cefb65cc609dd0d9a982e3c1"
+ url: "https://pub.dev"
+ source: hosted
+ version: "2.4.1"
+ sky_engine:
+ dependency: transitive
+ description: flutter
+ source: sdk
+ version: "0.0.99"
+ source_span:
+ dependency: transitive
+ description:
+ name: source_span
+ sha256: "53e943d4206a5e30df338fd4c6e7a077e02254531b138a15aec3bd143c1a8b3c"
+ url: "https://pub.dev"
+ source: hosted
+ version: "1.10.0"
+ sp_util:
+ dependency: transitive
+ description:
+ name: sp_util
+ sha256: "9da43dce5de79c17a787d0626bf01538d63090ca32521200d22a232171c495dc"
+ url: "https://pub.dev"
+ source: hosted
+ version: "2.0.3"
+ sprintf:
+ dependency: transitive
+ description:
+ name: sprintf
+ sha256: "1fc9ffe69d4df602376b52949af107d8f5703b77cda567c4d7d86a0693120f23"
+ url: "https://pub.dev"
+ source: hosted
+ version: "7.0.0"
+ sqflite:
+ dependency: transitive
+ description:
+ name: sqflite
+ sha256: a43e5a27235518c03ca238e7b4732cf35eabe863a369ceba6cbefa537a66f16d
+ url: "https://pub.dev"
+ source: hosted
+ version: "2.3.3+1"
+ sqflite_common:
+ dependency: transitive
+ description:
+ name: sqflite_common
+ sha256: "3da423ce7baf868be70e2c0976c28a1bb2f73644268b7ffa7d2e08eab71f16a4"
+ url: "https://pub.dev"
+ source: hosted
+ version: "2.5.4"
+ stack_trace:
+ dependency: transitive
+ description:
+ name: stack_trace
+ sha256: "73713990125a6d93122541237550ee3352a2d84baad52d375a4cad2eb9b7ce0b"
+ url: "https://pub.dev"
+ source: hosted
+ version: "1.11.1"
+ steel_crypt:
+ dependency: transitive
+ description:
+ name: steel_crypt
+ sha256: "4f86a8ddc690ed1adff486faeb4ceece9e09f59cd90c8bd7e2ff48c42ca271dd"
+ url: "https://pub.dev"
+ source: hosted
+ version: "3.0.0+1"
+ stream_channel:
+ dependency: transitive
+ description:
+ name: stream_channel
+ sha256: ba2aa5d8cc609d96bbb2899c28934f9e1af5cddbd60a827822ea467161eb54e7
+ url: "https://pub.dev"
+ source: hosted
+ version: "2.1.2"
+ stream_transform:
+ dependency: transitive
+ description:
+ name: stream_transform
+ sha256: ad47125e588cfd37a9a7f86c7d6356dde8dfe89d071d293f80ca9e9273a33871
+ url: "https://pub.dev"
+ source: hosted
+ version: "2.1.1"
+ string_scanner:
+ dependency: transitive
+ description:
+ name: string_scanner
+ sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde"
+ url: "https://pub.dev"
+ source: hosted
+ version: "1.2.0"
+ syncfusion_flutter_core:
+ dependency: transitive
+ description:
+ name: syncfusion_flutter_core
+ sha256: "9f0a4593f7642b2f106e329734d0e5fc746baf8d0a59495eec586cd0d9ba7d02"
+ url: "https://pub.dev"
+ source: hosted
+ version: "22.2.12"
+ syncfusion_flutter_datepicker:
+ dependency: "direct main"
+ description:
+ name: syncfusion_flutter_datepicker
+ sha256: c09d8a84f07da41c12b02ac350f4aab8b73be2c51095fca9f9404b2a5af67585
+ url: "https://pub.dev"
+ source: hosted
+ version: "22.2.12"
+ synchronized:
+ dependency: transitive
+ description:
+ name: synchronized
+ sha256: "539ef412b170d65ecdafd780f924e5be3f60032a1128df156adad6c5b373d558"
+ url: "https://pub.dev"
+ source: hosted
+ version: "3.1.0+1"
+ system_settings:
+ dependency: "direct main"
+ description:
+ name: system_settings
+ sha256: "666693f8dace789bcf1200a88f6132b6906026643a5ee93ff140d3a547e5faf1"
+ url: "https://pub.dev"
+ source: hosted
+ version: "2.1.0"
+ term_glyph:
+ dependency: transitive
+ description:
+ name: term_glyph
+ sha256: a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84
+ url: "https://pub.dev"
+ source: hosted
+ version: "1.2.1"
+ test_api:
+ dependency: transitive
+ description:
+ name: test_api
+ sha256: "5c2f730018264d276c20e4f1503fd1308dfbbae39ec8ee63c5236311ac06954b"
+ url: "https://pub.dev"
+ source: hosted
+ version: "0.6.1"
+ timelines:
+ dependency: "direct main"
+ description:
+ name: timelines
+ sha256: "40214f5ab772ff45459cb8c15e5f60505a6828af0c0eb1eec6f29ed911a4c1c5"
+ url: "https://pub.dev"
+ source: hosted
+ version: "0.1.0"
+ timezone:
+ dependency: transitive
+ description:
+ name: timezone
+ sha256: "2236ec079a174ce07434e89fcd3fcda430025eb7692244139a9cf54fdcf1fc7d"
+ url: "https://pub.dev"
+ source: hosted
+ version: "0.9.4"
+ typed_data:
+ dependency: transitive
+ description:
+ name: typed_data
+ sha256: facc8d6582f16042dd49f2463ff1bd6e2c9ef9f3d5da3d9b087e244a7b564b3c
+ url: "https://pub.dev"
+ source: hosted
+ version: "1.3.2"
+ umeng_common_sdk:
+ dependency: "direct main"
+ description:
+ name: umeng_common_sdk
+ sha256: ba4ac629987f88cb42cb89a0a885be1a93cce8080bb6134014fe2ce4df7bac88
+ url: "https://pub.dev"
+ source: hosted
+ version: "1.2.8"
+ url_launcher:
+ dependency: "direct main"
+ description:
+ name: url_launcher
+ sha256: "9d06212b1362abc2f0f0d78e6f09f726608c74e3b9462e8368bb03314aa8d603"
+ url: "https://pub.dev"
+ source: hosted
+ version: "6.3.1"
+ url_launcher_android:
+ dependency: transitive
+ description:
+ name: url_launcher_android
+ sha256: "17cd5e205ea615e2c6ea7a77323a11712dffa0720a8a90540db57a01347f9ad9"
+ url: "https://pub.dev"
+ source: hosted
+ version: "6.3.2"
+ url_launcher_ios:
+ dependency: transitive
+ description:
+ name: url_launcher_ios
+ sha256: "16a513b6c12bb419304e72ea0ae2ab4fed569920d1c7cb850263fe3acc824626"
+ url: "https://pub.dev"
+ source: hosted
+ version: "6.3.2"
+ url_launcher_linux:
+ dependency: transitive
+ description:
+ name: url_launcher_linux
+ sha256: "4e9ba368772369e3e08f231d2301b4ef72b9ff87c31192ef471b380ef29a4935"
+ url: "https://pub.dev"
+ source: hosted
+ version: "3.2.1"
+ url_launcher_macos:
+ dependency: transitive
+ description:
+ name: url_launcher_macos
+ sha256: "17ba2000b847f334f16626a574c702b196723af2a289e7a93ffcb79acff855c2"
+ url: "https://pub.dev"
+ source: hosted
+ version: "3.2.2"
+ url_launcher_platform_interface:
+ dependency: transitive
+ description:
+ name: url_launcher_platform_interface
+ sha256: "552f8a1e663569be95a8190206a38187b531910283c3e982193e4f2733f01029"
+ url: "https://pub.dev"
+ source: hosted
+ version: "2.3.2"
+ url_launcher_web:
+ dependency: transitive
+ description:
+ name: url_launcher_web
+ sha256: "772638d3b34c779ede05ba3d38af34657a05ac55b06279ea6edd409e323dca8e"
+ url: "https://pub.dev"
+ source: hosted
+ version: "2.3.3"
+ url_launcher_windows:
+ dependency: transitive
+ description:
+ name: url_launcher_windows
+ sha256: "44cf3aabcedde30f2dba119a9dea3b0f2672fbe6fa96e85536251d678216b3c4"
+ url: "https://pub.dev"
+ source: hosted
+ version: "3.1.3"
+ uuid:
+ dependency: "direct main"
+ description:
+ name: uuid
+ sha256: "648e103079f7c64a36dc7d39369cabb358d377078a051d6ae2ad3aa539519313"
+ url: "https://pub.dev"
+ source: hosted
+ version: "3.0.7"
+ vector_math:
+ dependency: transitive
+ description:
+ name: vector_math
+ sha256: "80b3257d1492ce4d091729e3a67a60407d227c27241d6927be0130c98e741803"
+ url: "https://pub.dev"
+ source: hosted
+ version: "2.1.4"
+ video_player:
+ dependency: "direct main"
+ description:
+ name: video_player
+ sha256: "4a8c3492d734f7c39c2588a3206707a05ee80cef52e8c7f3b2078d430c84bc17"
+ url: "https://pub.dev"
+ source: hosted
+ version: "2.9.2"
+ video_player_android:
+ dependency: transitive
+ description:
+ name: video_player_android
+ sha256: "134e1ad410d67e18a19486ed9512c72dfc6d8ffb284d0e8f2e99e903d1ba8fa3"
+ url: "https://pub.dev"
+ source: hosted
+ version: "2.4.14"
+ video_player_avfoundation:
+ dependency: transitive
+ description:
+ name: video_player_avfoundation
+ sha256: "33224c19775fd244be2d6e3dbd8e1826ab162877bd61123bf71890772119a2b7"
+ url: "https://pub.dev"
+ source: hosted
+ version: "2.6.5"
+ video_player_platform_interface:
+ dependency: transitive
+ description:
+ name: video_player_platform_interface
+ sha256: "229d7642ccd9f3dc4aba169609dd6b5f3f443bb4cc15b82f7785fcada5af9bbb"
+ url: "https://pub.dev"
+ source: hosted
+ version: "6.2.3"
+ video_player_web:
+ dependency: transitive
+ description:
+ name: video_player_web
+ sha256: "6dcdd298136523eaf7dfc31abaf0dfba9aa8a8dbc96670e87e9d42b6f2caf774"
+ url: "https://pub.dev"
+ source: hosted
+ version: "2.3.2"
+ visibility_detector:
+ dependency: transitive
+ description:
+ name: visibility_detector
+ sha256: dd5cc11e13494f432d15939c3aa8ae76844c42b723398643ce9addb88a5ed420
+ url: "https://pub.dev"
+ source: hosted
+ version: "0.4.0+2"
+ vm_service:
+ dependency: transitive
+ description:
+ name: vm_service
+ sha256: b3d56ff4341b8f182b96aceb2fa20e3dcb336b9f867bc0eafc0de10f1048e957
+ url: "https://pub.dev"
+ source: hosted
+ version: "13.0.0"
+ web:
+ dependency: transitive
+ description:
+ name: web
+ sha256: "97da13628db363c635202ad97068d47c5b8aa555808e7a9411963c533b449b27"
+ url: "https://pub.dev"
+ source: hosted
+ version: "0.5.1"
+ webview_flutter:
+ dependency: "direct main"
+ description:
+ name: webview_flutter
+ sha256: "6869c8786d179f929144b4a1f86e09ac0eddfe475984951ea6c634774c16b522"
+ url: "https://pub.dev"
+ source: hosted
+ version: "4.8.0"
+ webview_flutter_android:
+ dependency: transitive
+ description:
+ name: webview_flutter_android
+ sha256: "0d21cfc3bfdd2e30ab2ebeced66512b91134b39e72e97b43db2d47dda1c4e53a"
+ url: "https://pub.dev"
+ source: hosted
+ version: "3.16.3"
+ webview_flutter_platform_interface:
+ dependency: transitive
+ description:
+ name: webview_flutter_platform_interface
+ sha256: d937581d6e558908d7ae3dc1989c4f87b786891ab47bb9df7de548a151779d8d
+ url: "https://pub.dev"
+ source: hosted
+ version: "2.10.0"
+ webview_flutter_wkwebview:
+ dependency: transitive
+ description:
+ name: webview_flutter_wkwebview
+ sha256: "9c62cc46fa4f2d41e10ab81014c1de470a6c6f26051a2de32111b2ee55287feb"
+ url: "https://pub.dev"
+ source: hosted
+ version: "3.14.0"
+ win32:
+ dependency: transitive
+ description:
+ name: win32
+ sha256: "5a751eddf9db89b3e5f9d50c20ab8612296e4e8db69009788d6c8b060a84191c"
+ url: "https://pub.dev"
+ source: hosted
+ version: "4.1.4"
+ xdg_directories:
+ dependency: transitive
+ description:
+ name: xdg_directories
+ sha256: "7a3f37b05d989967cdddcbb571f1ea834867ae2faa29725fd085180e0883aa15"
+ url: "https://pub.dev"
+ source: hosted
+ version: "1.1.0"
+ xml:
+ dependency: transitive
+ description:
+ name: xml
+ sha256: b015a8ad1c488f66851d762d3090a21c600e479dc75e68328c52774040cf9226
+ url: "https://pub.dev"
+ source: hosted
+ version: "6.5.0"
+ yaml:
+ dependency: transitive
+ description:
+ name: yaml
+ sha256: "75769501ea3489fca56601ff33454fe45507ea3bfb014161abc3b43ae25989d5"
+ url: "https://pub.dev"
+ source: hosted
+ version: "3.1.2"
+sdks:
+ dart: ">=3.3.0 <4.0.0"
+ flutter: ">=3.19.0"
diff --git a/pubspec.yaml b/pubspec.yaml
index bd8d52e2..dcb93df9 100755
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -194,11 +194,11 @@ dependencies:
easy_refresh: ^3.3.4
#高德地图定位
- amap_flutter_location: ^3.0.0
+ amap_flutter_location: 3.0.0
#权限使用
permission_handler: ^11.3.1
#高德地图地图
- amap_flutter_map: ^3.0.0
+ amap_flutter_map: 3.0.0
# 谷歌地图
google_maps_flutter: ^2.2.5
@@ -250,7 +250,12 @@ dependencies:
flutter_bugly: ^1.0.2
open_filex: ^4.4.0
+ #
umeng_common_sdk: 1.2.8
+ #
+ #
+ firebase_analytics: 11.3.0
+ #
cryptography: ^2.7.0
asn1lib: ^1.0.0