diff --git a/mih_api_hub/Minio_Storage/minioConnection.py b/mih_api_hub/Minio_Storage/minioConnection.py index 25a848df..106d0010 100644 --- a/mih_api_hub/Minio_Storage/minioConnection.py +++ b/mih_api_hub/Minio_Storage/minioConnection.py @@ -5,21 +5,21 @@ from dotenv import load_dotenv load_dotenv() minioAccess = os.getenv("MINIO_ACCESS_KEY") minioSecret = os.getenv("MINIO_SECRET_KEY") -minioEndpoint = os.getenv("MINIO_ENDPOINT", "mih-minio:9000") -minioSecure = os.getenv("MINIO_SECURE", "False") in ("True") def minioConnect(env): if(env == "Dev"): return Minio( - endpoint=minioEndpoint, + endpoint="mih-minio:9000", + # "minio.mzansi-innovation-hub.co.za", access_key=minioAccess, secret_key=minioSecret, - secure=minioSecure, + secure=False ) else: return Minio( - endpoint=minioEndpoint, + # endpoint="mih-minio:9000", + endpoint="minio.mzansi-innovation-hub.co.za", access_key=minioAccess, secret_key=minioSecret, - secure=minioSecure, - ) + secure=True + ) \ No newline at end of file diff --git a/mih_api_hub/routers/fileStorage.py b/mih_api_hub/routers/fileStorage.py index a515f515..60ddd6a7 100644 --- a/mih_api_hub/routers/fileStorage.py +++ b/mih_api_hub/routers/fileStorage.py @@ -5,7 +5,7 @@ from typing import List import requests from fastapi import APIRouter, HTTPException, File, UploadFile, Form -from fastapi.responses import FileResponse, JSONResponse, StreamingResponse +from fastapi.responses import FileResponse, JSONResponse from pydantic import BaseModel @@ -108,26 +108,6 @@ class claimStatementUploud(BaseModel): logo_path: str sig_path: str -@router.get("/v2/minio/pull/file/{env}/{app_id}/{folder}/{file_name}", tags=["Minio"]) -async def pullFileFromMinioV2(app_id: str, folder: str, file_name: str, env: str): - object_path = f"{app_id}/{folder}/{file_name}" - try: - client = Minio_Storage.minioConnection.minioConnect(env) - - response = client.get_object(bucket_name="mih", object_name=object_path) - - ext = file_name.split(".")[-1].lower() - content_type = f"image/{ext}" if ext in ["png", "jpg", "jpeg", "gif", "webp"] else "application/octet-stream" - - return StreamingResponse( - io.BytesIO(response.read()), - media_type=content_type, - headers={"Cache-Control": "public, max-age=31536000"} - ) - - except Exception as error: - raise HTTPException(status_code=404, detail=f"File not found or MinIO connection failed: {str(error)}") - @router.get("/minio/pull/file/{env}/{app_id}/{folder}/{file_name}", tags=["Minio"]) async def pull_File_from_user(app_id: str, folder: str, file_name: str, env: str): #, session: SessionContainer = Depends(verify_session()) path = app_id + "/" + folder + "/" + file_name diff --git a/mih_ui/android/app/build.gradle.kts b/mih_ui/android/app/build.gradle.kts index 0c703761..8250e847 100644 --- a/mih_ui/android/app/build.gradle.kts +++ b/mih_ui/android/app/build.gradle.kts @@ -6,7 +6,7 @@ plugins { // START: FlutterFire Configuration id("com.google.gms.google-services") // END: FlutterFire Configuration - //id("kotlin-android") + id("kotlin-android") // The Flutter Gradle Plugin must be applied after the Android and Kotlin Gradle plugins. id("dev.flutter.flutter-gradle-plugin") } @@ -20,17 +20,17 @@ if (keystorePropertiesFile.exists()) { android { namespace = "za.co.mzansiinnovationhub.mih" compileSdk = 36 - ndkVersion = "28.2.13676358" + ndkVersion = "27.0.12077973" // ndkVersion = flutter.ndkVersion compileOptions { - sourceCompatibility = JavaVersion.VERSION_17 - targetCompatibility = JavaVersion.VERSION_17 + sourceCompatibility = JavaVersion.VERSION_11 + targetCompatibility = JavaVersion.VERSION_11 } - //kotlinOptions { - // jvmTarget = JavaVersion.VERSION_17.toString() - //} + kotlinOptions { + jvmTarget = JavaVersion.VERSION_11.toString() + } defaultConfig { // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html). @@ -67,12 +67,6 @@ android { } } -kotlin { - compilerOptions { - jvmTarget = org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_17 - } -} - flutter { source = "../.." } diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/CHANGELOG.md b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/CHANGELOG.md deleted file mode 100644 index ee988ff3..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/CHANGELOG.md +++ /dev/null @@ -1,576 +0,0 @@ -## 0.4.5 - - - **FEAT**(appcheck): appcheck reCAPTCHA mobile support (gradually rolling out) ([#18261](https://github.com/firebase/flutterfire/issues/18261)). ([036a860a](https://github.com/firebase/flutterfire/commit/036a860a0e66d46b5c57eb3df3a0f9e5846ef00b)) - -## 0.4.4+2 - - - Update a dependency to the latest release. - -## 0.4.4+1 - - - Update a dependency to the latest release. - -## 0.4.4 - - - **REFACTOR**: move all packages to workspace ([#18182](https://github.com/firebase/flutterfire/issues/18182)). ([6cdfcb10](https://github.com/firebase/flutterfire/commit/6cdfcb103da7be46ccb190d7e107d8c537aa1ff8)) - - **FIX**: update core, auth and app-check logic so internal resources on method channels are properly disposed ([#18268](https://github.com/firebase/flutterfire/issues/18268)). ([a0de4ed8](https://github.com/firebase/flutterfire/commit/a0de4ed86b0dff89bb9e557f2a54f38cd2546016)) - - **FEAT**(core): Add Auth and AppCheck as App's registered service. ([#18237](https://github.com/firebase/flutterfire/issues/18237)). ([7ce191cb](https://github.com/firebase/flutterfire/commit/7ce191cbd598b299cd0ec64b45d1366914367a5d)) - -## 0.4.3 - - - **FEAT**(app_check,windows): add support for AppCheck for Windows ([#18140](https://github.com/firebase/flutterfire/issues/18140)). ([81f30325](https://github.com/firebase/flutterfire/commit/81f30325fc926fe94b630e49f56b795c781a4cbe)) - - **FEAT**: use local firebase_core instead of remote SPM dependency ([#18141](https://github.com/firebase/flutterfire/issues/18141)). ([995caf40](https://github.com/firebase/flutterfire/commit/995caf400df80c0fde7151c651ccc6c0f756e381)) - -## 0.4.2 - - - **FEAT**(messaging,web): add support for debug tokens on Web ([#18057](https://github.com/firebase/flutterfire/issues/18057)). ([b853386e](https://github.com/firebase/flutterfire/commit/b853386e987d686eab4b8fd9b8dad14eda97479c)) - - **FEAT**(ios): migrate iOS to UIScene lifecycle ([#18054](https://github.com/firebase/flutterfire/issues/18054)). ([3ffa4110](https://github.com/firebase/flutterfire/commit/3ffa411098132fd5182a84be4e7a226106bc7451)) - -## 0.4.1+5 - - - Update a dependency to the latest release. - -## 0.4.1+4 - - - Update a dependency to the latest release. - -## 0.4.1+3 - - - Update a dependency to the latest release. - -## 0.4.1+2 - - - Update a dependency to the latest release. - -## 0.4.1+1 - - - **FIX**(app_check): Deprecate androidProvider and appleProvider parameters in activate method ([#17742](https://github.com/firebase/flutterfire/issues/17742)). ([4e7f800e](https://github.com/firebase/flutterfire/commit/4e7f800e94a895c6553bd3c1595b4f06ac69bb81)) - - **FIX**(app_check): Expose AppleAppAttestProvider without importing platform interface ([#17740](https://github.com/firebase/flutterfire/issues/17740)). ([6c2355a0](https://github.com/firebase/flutterfire/commit/6c2355a05d6bba763768ce3bc09c3cc0528fa900)) - -## 0.4.1 - - - **FEAT**(app-check): Debug token support for the activate method ([#17723](https://github.com/firebase/flutterfire/issues/17723)). ([3c638264](https://github.com/firebase/flutterfire/commit/3c638264565d902ddbe4dff5bb027aef9e1c2140)) - -## 0.4.0+1 - - - **FIX**(app_check,iOS): correctly parse `forceRefresh` argument using `boolValue` ([#17627](https://github.com/firebase/flutterfire/issues/17627)). ([8c0802d0](https://github.com/firebase/flutterfire/commit/8c0802d098c970740a34e83952f56dbe9eb279fd)) - -## 0.4.0 - -> Note: This release has breaking changes. - - - **BREAKING** **FEAT**: bump iOS SDK to version 12.0.0 ([#17549](https://github.com/firebase/flutterfire/issues/17549)). ([b2619e68](https://github.com/firebase/flutterfire/commit/b2619e685fec897513483df1d7be347b64f95606)) - - **BREAKING** **FEAT**(app-check): remove deprecated functions ([#17561](https://github.com/firebase/flutterfire/issues/17561)). ([3e4302c4](https://github.com/firebase/flutterfire/commit/3e4302c4281d1d39c140ff116643d700cd3c5ace)) - - **BREAKING** **FEAT**: bump Android SDK to version 34.0.0 ([#17554](https://github.com/firebase/flutterfire/issues/17554)). ([a5bdc051](https://github.com/firebase/flutterfire/commit/a5bdc051d40ee44e39cf0b8d2a7801bc6f618b67)) - -## 0.3.2+10 - - - Update a dependency to the latest release. - -## 0.3.2+9 - - - Update a dependency to the latest release. - -## 0.3.2+8 - - - Update a dependency to the latest release. - -## 0.3.2+7 - - - Update a dependency to the latest release. - -## 0.3.2+6 - - - Update a dependency to the latest release. - -## 0.3.2+5 - - - Update a dependency to the latest release. - -## 0.3.2+4 - - - Update a dependency to the latest release. - -## 0.3.2+3 - - - Update a dependency to the latest release. - -## 0.3.2+2 - - - Update a dependency to the latest release. - -## 0.3.2+1 - - - Update a dependency to the latest release. - -## 0.3.2 - - - - **FEAT**(app-check): Swift Package Manager support ([#16810](https://github.com/firebase/flutterfire/issues/16810)). ([f2e3f396](https://github.com/firebase/flutterfire/commit/f2e3f3965e83a6bf8c52c1cd9f80509a08907a84)) - -## 0.3.1+7 - - - Update a dependency to the latest release. - -## 0.3.1+6 - - - Update a dependency to the latest release. - -## 0.3.1+5 - - - Update a dependency to the latest release. - -## 0.3.1+4 - - - Update a dependency to the latest release. - -## 0.3.1+3 - - - **FIX**(all,apple): use modular headers to import ([#13400](https://github.com/firebase/flutterfire/issues/13400)). ([d7d2d4b9](https://github.com/firebase/flutterfire/commit/d7d2d4b93e7c00226027fffde46699f3d5388a41)) - -## 0.3.1+2 - - - Update a dependency to the latest release. - -## 0.3.1+1 - - - Update a dependency to the latest release. - -## 0.3.1 - - - **FEAT**(firestore,web): expose `webExperimentalForceLongPolling`, `webExperimentalAutoDetectLongPolling` and `timeoutSeconds` on web ([#13201](https://github.com/firebase/flutterfire/issues/13201)). ([6ec2a103](https://github.com/firebase/flutterfire/commit/6ec2a103a3a325a73550bdfff4c0d524ae7e4068)) - -## 0.3.0+5 - - - **DOCS**: remove reference to flutter.io and firebase.flutter.dev ([#13152](https://github.com/firebase/flutterfire/issues/13152)). ([5f0874b9](https://github.com/firebase/flutterfire/commit/5f0874b91e28a203dd62d37d391e5760c91f5729)) - -## 0.3.0+4 - - - Update a dependency to the latest release. - -## 0.3.0+3 - - - Update a dependency to the latest release. - -## 0.3.0+2 - - - Update a dependency to the latest release. - -## 0.3.0+1 - - - **FIX**(app-check,web): fixed broken `onTokenChanged` and ensured it is properly cleaned up. Streams are also cleaned up on "hot restart" ([#12933](https://github.com/firebase/flutterfire/issues/12933)). ([093b5fef](https://github.com/firebase/flutterfire/commit/093b5fef8c3b8314835dc954ce02daacd1e077f4)) - - **FIX**(firebase_app_check,ios): Replace angles with quotes in import statement ([#12929](https://github.com/firebase/flutterfire/issues/12929)). ([f2fc902b](https://github.com/firebase/flutterfire/commit/f2fc902b9e954baf9d72bd3863a85bde402d2133)) - - **FIX**(app-check,ios): update app check to stable release ([#12924](https://github.com/firebase/flutterfire/issues/12924)). ([ced11684](https://github.com/firebase/flutterfire/commit/ced1168482c3b8e8b4746abde13649d212a503fd)) - -## 0.3.0 - -> Note: This release has breaking changes. - - - **BREAKING** **REFACTOR**: android plugins require `minSdk 21`, auth requires `minSdk 23` ahead of android BOM `>=33.0.0` ([#12873](https://github.com/firebase/flutterfire/issues/12873)). ([52accfc6](https://github.com/firebase/flutterfire/commit/52accfc6c39d6360d9c0f36efe369ede990b7362)) - - **BREAKING** **REFACTOR**: bump all iOS deployment targets to iOS 13 ahead of Firebase iOS SDK `v11` breaking change ([#12872](https://github.com/firebase/flutterfire/issues/12872)). ([de0cea2c](https://github.com/firebase/flutterfire/commit/de0cea2c3c36694a76361be784255986fac84a43)) - -## 0.2.2+7 - - - Update a dependency to the latest release. - -## 0.2.2+6 - - - Update a dependency to the latest release. - -## 0.2.2+5 - - - Update a dependency to the latest release. - -## 0.2.2+4 - - - Update a dependency to the latest release. - -## 0.2.2+3 - - - Update a dependency to the latest release. - -## 0.2.2+2 - - - Update a dependency to the latest release. - -## 0.2.2+1 - - - **FIX**(app-check,android): fix unnecessary deprecation warning ([#12578](https://github.com/firebase/flutterfire/issues/12578)). ([805ca028](https://github.com/firebase/flutterfire/commit/805ca028d20c582e93bcebbeca3105deab365edc)) - -## 0.2.2 - - - **FEAT**(android): Bump `compileSdk` version of Android plugins to latest stable (34) ([#12566](https://github.com/firebase/flutterfire/issues/12566)). ([e891fab2](https://github.com/firebase/flutterfire/commit/e891fab291e9beebc223000b133a6097e066a7fc)) - -## 0.2.1+19 - - - **REFACTOR**(app_check,web): small refactor around initialisation of FirebaseAppCheckWeb ([#12474](https://github.com/firebase/flutterfire/issues/12474)). ([83aab7f8](https://github.com/firebase/flutterfire/commit/83aab7f8f6a6dde6e71765826c0e1f9aabc110a0)) - -## 0.2.1+18 - - - Update a dependency to the latest release. - -## 0.2.1+17 - - - Update a dependency to the latest release. - -## 0.2.1+16 - - - Update a dependency to the latest release. - -## 0.2.1+15 - - - Update a dependency to the latest release. - -## 0.2.1+14 - - - Update a dependency to the latest release. - -## 0.2.1+13 - - - Update a dependency to the latest release. - -## 0.2.1+12 - - - Update a dependency to the latest release. - -## 0.2.1+11 - - - Update a dependency to the latest release. - -## 0.2.1+10 - - - Update a dependency to the latest release. - -## 0.2.1+9 - - - Update a dependency to the latest release. - -## 0.2.1+8 - - - Update a dependency to the latest release. - -## 0.2.1+7 - - - Update a dependency to the latest release. - -## 0.2.1+6 - - - Update a dependency to the latest release. - -## 0.2.1+5 - - - Update a dependency to the latest release. - -## 0.2.1+4 - - - Update a dependency to the latest release. - -## 0.2.1+3 - - - Update a dependency to the latest release. - -## 0.2.1+2 - - - Update a dependency to the latest release. - -## 0.2.1+1 - - - Update a dependency to the latest release. - -## 0.2.1 - - - **REFACTOR**(app-check,android): update linting warnings ([#11666](https://github.com/firebase/flutterfire/issues/11666)). ([fa9c8181](https://github.com/firebase/flutterfire/commit/fa9c8181156697a96b2615906b24613f28346175)) - - **FIX**(firebase_app_check): Allow non-default app for Android debug provider ([#11680](https://github.com/firebase/flutterfire/issues/11680)). ([dd20c0c7](https://github.com/firebase/flutterfire/commit/dd20c0c7413dd9c9cd4c54426afc2572f9438607)) - - **FEAT**: Full support of AGP 8 ([#11699](https://github.com/firebase/flutterfire/issues/11699)). ([bdb5b270](https://github.com/firebase/flutterfire/commit/bdb5b27084d225809883bdaa6aa5954650551927)) - - **FEAT**(app_check): Use Android dependencies from Firebase BOM ([#11671](https://github.com/firebase/flutterfire/issues/11671)). ([378fcbdc](https://github.com/firebase/flutterfire/commit/378fcbdc4909e448d47cc204147a2ecd978b4fb7)) - - **DOCS**: Updated documentation link in firebase_app_check README.md ([#11712](https://github.com/firebase/flutterfire/issues/11712)). ([dd3e56c6](https://github.com/firebase/flutterfire/commit/dd3e56c67a2ddad0a11043f00e9d80544d36355a)) - -## 0.2.0+1 - - - Update a dependency to the latest release. - -## 0.2.0 - -> Note: This release has breaking changes. - - - **BREAKING** **FEAT**(app-check,web): support for `ReCaptchaEnterpriseProvider`. User facing API updated. ([#11573](https://github.com/firebase/flutterfire/issues/11573)). ([09825edd](https://github.com/firebase/flutterfire/commit/09825edd0e1ecd609e2046fdefda439ce4099087)) - -## 0.1.5+2 - - - Update a dependency to the latest release. - -## 0.1.5+1 - - - Update a dependency to the latest release. - -## 0.1.5 - - - **FEAT**(app-check): support for `getLimitedUseToken()` API ([#11091](https://github.com/firebase/flutterfire/issues/11091)). ([9db9326f](https://github.com/firebase/flutterfire/commit/9db9326fe503c31299c9685449150e809543974e)) - -## 0.1.4+3 - - - Update a dependency to the latest release. - -## 0.1.4+2 - - - Update a dependency to the latest release. - -## 0.1.4+1 - - - Update a dependency to the latest release. - -## 0.1.4 - - - **FEAT**: update dependency constraints to `sdk: '>=2.18.0 <4.0.0'` `flutter: '>=3.3.0'` ([#10946](https://github.com/firebase/flutterfire/issues/10946)). ([2772d10f](https://github.com/firebase/flutterfire/commit/2772d10fe510dcc28ec2d37a26b266c935699fa6)) - - **FEAT**: update libraries to be compatible with Flutter 3.10.0 ([#10944](https://github.com/firebase/flutterfire/issues/10944)). ([e1f5a5ea](https://github.com/firebase/flutterfire/commit/e1f5a5ea798c54f19d1d2f7b8f2250f8819f44b7)) - -## 0.1.3 - - - **FIX**: add support for AGP 8.0 ([#10901](https://github.com/firebase/flutterfire/issues/10901)). ([a3b96735](https://github.com/firebase/flutterfire/commit/a3b967354294c295a9be8d699a6adb7f4b1dba7f)) - - **FEAT**: upgrade to dart 3 compatible dependencies ([#10890](https://github.com/firebase/flutterfire/issues/10890)). ([4bd7e59b](https://github.com/firebase/flutterfire/commit/4bd7e59b1f2b09a2230c49830159342dd4592041)) - -## 0.1.2+3 - - - **FIX**(app-check): use correct `getAppCheckToken()` method. Print out debug token for iOS. ([#10819](https://github.com/firebase/flutterfire/issues/10819)). ([66909a9c](https://github.com/firebase/flutterfire/commit/66909a9c5b10e85f93565cbc308fdbee4ec6f607)) - -## 0.1.2+2 - - - Update a dependency to the latest release. - -## 0.1.2+1 - - - **FIX**(app-check): fix 'Semantic Issue (Xcode): `new` is unavailable' on XCode 14.3 ([#10734](https://github.com/firebase/flutterfire/issues/10734)). ([cc6d1c28](https://github.com/firebase/flutterfire/commit/cc6d1c28193d5cdaaa564729340c380b5f632982)) - -## 0.1.2 - - - **FEAT**: bump dart sdk constraint to 2.18 ([#10618](https://github.com/firebase/flutterfire/issues/10618)). ([f80948a2](https://github.com/firebase/flutterfire/commit/f80948a28b62eead358bdb900d5a0dfb97cebb33)) - -## 0.1.1+14 - - - Update a dependency to the latest release. - -## 0.1.1+13 - - - Update a dependency to the latest release. - -## 0.1.1+12 - - - Update a dependency to the latest release. - -## 0.1.1+11 - - - Update a dependency to the latest release. - -## 0.1.1+10 - - - Update a dependency to the latest release. - -## 0.1.1+9 - - - Update a dependency to the latest release. - -## 0.1.1+8 - - - Update a dependency to the latest release. - -## 0.1.1+7 - - - Update a dependency to the latest release. - -## 0.1.1+6 - - - Update a dependency to the latest release. - -## 0.1.1+5 - - - Update a dependency to the latest release. - -## 0.1.1+4 - - - Update a dependency to the latest release. - -## 0.1.1+3 - - - Update a dependency to the latest release. - -## 0.1.1+2 - - - **REFACTOR**: add `verify` to `QueryPlatform` and change internal `verifyToken` API to `verify` ([#9711](https://github.com/firebase/flutterfire/issues/9711)). ([c99a842f](https://github.com/firebase/flutterfire/commit/c99a842f3e3f5f10246e73f51530cc58c42b49a3)) - -## 0.1.1+1 - - - Update a dependency to the latest release. - -## 0.1.1 - -- Update a dependency to the latest release. - -## 0.1.0 - -> Note: This release has breaking changes. - - - **BREAKING** **FEAT**: Firebase iOS SDK version: `10.0.0` ([#9708](https://github.com/firebase/flutterfire/issues/9708)). ([9627c56a](https://github.com/firebase/flutterfire/commit/9627c56a37d657d0250b6f6b87d0fec1c31d4ba3)) - -## 0.0.9+1 - - - Update a dependency to the latest release. - -## 0.0.9 - - - **FEAT**: provide `androidDebugProvider` boolean for android debug provider & update app check example app ([#9412](https://github.com/firebase/flutterfire/issues/9412)). ([f1f26748](https://github.com/firebase/flutterfire/commit/f1f26748615c7c9d406e1d3d605e2987e1134ee7)) - -## 0.0.8 - - - **FEAT**: provide `androidDebugProvider` boolean for android debug provider & update app check example app ([#9412](https://github.com/firebase/flutterfire/issues/9412)). ([f1f26748](https://github.com/firebase/flutterfire/commit/f1f26748615c7c9d406e1d3d605e2987e1134ee7)) - -## 0.0.7+2 - - - Update a dependency to the latest release. - -## 0.0.7+1 - - - Update a dependency to the latest release. - -## 0.0.7 - - - **FEAT**: update the example app with webRecaptcha in activate button ([#9373](https://github.com/firebase/flutterfire/issues/9373)). ([1ff76c1b](https://github.com/firebase/flutterfire/commit/1ff76c1b87b623ff21c921d6a6cc2c586cf43ac3)) - - **REFACTOR**: update deprecated `Tasks.call()` to `TaskCompletionSource` API ([#9404](https://github.com/firebase/flutterfire/pull/9404)). ([837d68ea](https://github.com/firebase/flutterfire/commit/5aa9f665e70297fecb88bd0fda5445753470660f)) - -## 0.0.6+20 - - - Update a dependency to the latest release. - -## 0.0.6+19 - - - Update a dependency to the latest release. - -## 0.0.6+18 - - - Update a dependency to the latest release. - -## 0.0.6+17 - - - Update a dependency to the latest release. - -## 0.0.6+16 - - - **FIX**: bump `firebase_core_platform_interface` version to fix previous release. ([bea70ea5](https://github.com/firebase/flutterfire/commit/bea70ea5cbbb62cbfd2a7a74ae3a07cb12b3ee5a)) - -## 0.0.6+15 - - - **DOCS**: separate the first sentence of a doc comment into its own paragraph for `getToken()` (#8968). ([4d487ef7](https://github.com/firebase/flutterfire/commit/4d487ef7abdb9a8333735ced9c40438fef9912a3)) - -## 0.0.6+14 - - - **REFACTOR**: use `firebase.google.com` link for `homepage` in `pubspec.yaml` (#8727). ([41a963b3](https://github.com/firebase/flutterfire/commit/41a963b376ae4ec23e1394bc074f8feee6ae16b2)) - - **REFACTOR**: use "firebase" instead of "FirebaseExtended" as organisation in all links for this repository (#8791). ([d90b8357](https://github.com/firebase/flutterfire/commit/d90b8357db01d65e753021358668f0b129713e6b)) - - **DOCS**: point to "firebase.google" domain for hyperlinks in the usage section of `README.md` files (for the missing packages) (#8818). ([5bda8c92](https://github.com/firebase/flutterfire/commit/5bda8c92be1651a941d1285d36e885ee0b967b11)) - -## 0.0.6+13 - - - **DOCS**: use camel case style for "FlutterFire" in `README.md` (#8747). ([e2a022d7](https://github.com/firebase/flutterfire/commit/e2a022d7427817002e4114eb7434aa6e53384891)) - -## 0.0.6+12 - - - Update a dependency to the latest release. - -## 0.0.6+11 - - - Update a dependency to the latest release. - -## 0.0.6+10 - - - Update a dependency to the latest release. - -## 0.0.6+9 - - - Update a dependency to the latest release. - -## 0.0.6+8 - - - Update a dependency to the latest release. - -## 0.0.6+7 - - - **FIX**: update all Dart SDK version constraints to Dart >= 2.16.0 (#8184). ([df4a5bab](https://github.com/firebase/flutterfire/commit/df4a5bab3c029399b4f257a5dd658d302efe3908)) - -## 0.0.6+6 - - - Update a dependency to the latest release. - -## 0.0.6+5 - - - **FIX**: workaround iOS build issue when targeting platforms < iOS 11. ([c78e0b79](https://github.com/firebase/flutterfire/commit/c78e0b79bde479e78c558d3df92988c130280e81)) - -## 0.0.6+4 - - - **FIX**: bump Android `compileSdkVersion` to 31 (#7726). ([a9562bac](https://github.com/firebase/flutterfire/commit/a9562bac60ba927fb3664a47a7f7eaceb277dca6)) - -## 0.0.6+3 - - - **REFACTOR**: fix all `unnecessary_import` analyzer issues introduced with Flutter 2.8. ([7f0e82c9](https://github.com/firebase/flutterfire/commit/7f0e82c978a3f5a707dd95c7e9136a3e106ff75e)) - -## 0.0.6+2 - - - Update a dependency to the latest release. - -## 0.0.6+1 - - - Update a dependency to the latest release. - -## 0.0.6 - - - **FEAT**: add token apis and documentation (#7419). - -## 0.0.5 - -- **NEW**: Added support for multi-app via the `instanceFor()` method. -- **NEW**: Added support for getting the current App Check token via the `getToken()` method. -- **NEW**: Added support for enabling automatic token refreshing via the `setTokenAutoRefreshEnabled()` method. -- **NEW**: Added support for subscribing to token change events (as a `Stream`) via `onTokenChange`. - -## 0.0.4 - - - **REFACTOR**: migrate remaining examples & e2e tests to null-safety (#7393). - - **FEAT**: automatically inject Firebase JS SDKs (#7359). - -## 0.0.3 - - - **FEAT**: support initializing default `FirebaseApp` instances from Dart (#6549). - -## 0.0.2+4 - - - Update a dependency to the latest release. - -## 0.0.2+3 - - - Update a dependency to the latest release. - -## 0.0.2+2 - - - Update a dependency to the latest release. - -## 0.0.2+1 - - - **DOCS**: using for version `0.0.1` the same markdown headline level as the other versions have in the changelog (#6845). - -## 0.0.2 - - - **STYLE**: enable additional lint rules (#6832). - - **FEAT**: lower iOS & macOS deployment targets for relevant plugins (#6757). - -## 0.0.1+3 - - - Update a dependency to the latest release. - -## 0.0.1+2 - - - Update a dependency to the latest release. - -## 0.0.1+1 - - - Update a dependency to the latest release. - -## 0.0.1 - - - Initial release. diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/LICENSE b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/LICENSE deleted file mode 100644 index 88629004..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/LICENSE +++ /dev/null @@ -1,27 +0,0 @@ -// Copyright 2021 The Chromium Authors. All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/README.md b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/README.md deleted file mode 100644 index 1d0c9574..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/README.md +++ /dev/null @@ -1,24 +0,0 @@ -# Firebase App Check for Flutter -[![pub package](https://img.shields.io/pub/v/firebase_app_check.svg)](https://pub.dev/packages/firebase_app_check) - -A Flutter plugin to use the [Firebase App Check API](https://firebase.google.com/docs/app-check/). - -To learn more about Firebase App Check, please visit the [Firebase website](https://firebase.google.com/docs/app-check) - -## Getting Started - -To get started with Firebase App Check for Flutter, please [see the documentation](https://firebase.google.com/docs/app-check/flutter/default-providers). - -## Usage - -To use this plugin, please visit the [App Check Usage documentation](https://firebase.google.com/docs/app-check/flutter/default-providers#initialize) - -## Issues and feedback - -Please file FlutterFire specific issues, bugs, or feature requests in our [issue tracker](https://github.com/firebase/flutterfire/issues/new). - -Plugin issues that are not specific to FlutterFire can be filed in the [Flutter issue tracker](https://github.com/flutter/flutter/issues/new). - -To contribute a change to this plugin, -please review our [contribution guide](https://github.com/firebase/flutterfire/blob/main/CONTRIBUTING.md) -and open a [pull request](https://github.com/firebase/flutterfire/pulls). diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/android/build.gradle b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/android/build.gradle deleted file mode 100644 index cc7c342a..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/android/build.gradle +++ /dev/null @@ -1,94 +0,0 @@ -group 'io.flutter.plugins.firebase.appcheck' -version '1.0-SNAPSHOT' - -apply plugin: 'com.android.library' -apply from: file("local-config.gradle") - -buildscript { - ext.kotlin_version = "2.0.0" - repositories { - google() - mavenCentral() - } -} - -rootProject.allprojects { - repositories { - google() - mavenCentral() - } -} - -// AGP 9+ has built-in Kotlin support unless Flutter opts out via android.builtInKotlin=false. -def agpMajor = com.android.Version.ANDROID_GRADLE_PLUGIN_VERSION.tokenize('.')[0] as int -def builtInKotlin = providers.gradleProperty("android.builtInKotlin") - .map { it.toBoolean() } - .orElse(agpMajor >= 9) - .get() -if (agpMajor < 9 || !builtInKotlin) { - apply plugin: 'kotlin-android' -} - -def firebaseCoreProject = findProject(':firebase_core') -if (firebaseCoreProject == null) { - throw new GradleException('Could not find the firebase_core FlutterFire plugin, have you added it as a dependency in your pubspec?') -} else if (!firebaseCoreProject.properties['FirebaseSDKVersion']) { - throw new GradleException('A newer version of the firebase_core FlutterFire plugin is required, please update your firebase_core pubspec dependency.') -} - -def getRootProjectExtOrCoreProperty(name, firebaseCoreProject) { - if (!rootProject.ext.has('FlutterFire')) return firebaseCoreProject.properties[name] - if (!rootProject.ext.get('FlutterFire')[name]) return firebaseCoreProject.properties[name] - return rootProject.ext.get('FlutterFire').get(name) -} - -android { - // Conditional for compatibility with AGP <4.2. - if (project.android.hasProperty("namespace")) { - namespace 'io.flutter.plugins.firebase.appcheck' - } - - compileSdkVersion project.ext.compileSdk - - defaultConfig { - minSdkVersion project.ext.minSdk - testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" - } - - compileOptions { - sourceCompatibility project.ext.javaVersion - targetCompatibility project.ext.javaVersion - } - - sourceSets { - main.java.srcDirs += "src/main/kotlin" - test.java.srcDirs += "src/test/kotlin" - } - - buildFeatures { - buildConfig true - } - - lintOptions { - disable 'InvalidPackage' - } - - dependencies { - api firebaseCoreProject - implementation platform("com.google.firebase:firebase-bom:${getRootProjectExtOrCoreProperty("FirebaseSDKVersion", firebaseCoreProject)}") - implementation 'com.google.firebase:firebase-appcheck-debug' - implementation 'com.google.firebase:firebase-appcheck-playintegrity' - implementation 'com.google.firebase:firebase-appcheck-recaptcha' - implementation 'androidx.annotation:annotation:1.7.0' - } -} - -plugins.withId("org.jetbrains.kotlin.android") { - kotlin { - compilerOptions { - jvmTarget = org.jetbrains.kotlin.gradle.dsl.JvmTarget.fromTarget(project.ext.javaVersion.toString()) - } - } -} - -apply from: file("./user-agent.gradle") diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/android/gradle.properties b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/android/gradle.properties deleted file mode 100644 index d9cf55df..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/android/gradle.properties +++ /dev/null @@ -1,2 +0,0 @@ -org.gradle.jvmargs=-Xmx1536M -android.useAndroidX=true diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/android/gradle/wrapper/gradle-wrapper.properties b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/android/gradle/wrapper/gradle-wrapper.properties deleted file mode 100644 index e411586a..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/android/gradle/wrapper/gradle-wrapper.properties +++ /dev/null @@ -1,5 +0,0 @@ -distributionBase=GRADLE_USER_HOME -distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.4-bin.zip -zipStoreBase=GRADLE_USER_HOME -zipStorePath=wrapper/dists diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/android/local-config.gradle b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/android/local-config.gradle deleted file mode 100644 index 802b7e1d..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/android/local-config.gradle +++ /dev/null @@ -1,7 +0,0 @@ -ext { - compileSdk=34 - minSdk=23 - targetSdk=34 - javaVersion = JavaVersion.toVersion(17) - androidGradlePluginVersion = '8.3.0' -} \ No newline at end of file diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/android/settings.gradle b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/android/settings.gradle deleted file mode 100644 index 11ac1690..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/android/settings.gradle +++ /dev/null @@ -1,10 +0,0 @@ -rootProject.name = 'firebase_app_check' - -apply from: file("local-config.gradle") - -pluginManagement { - plugins { - id "com.android.application" version project.ext.androidGradlePluginVersion - id "com.android.library" version project.ext.androidGradlePluginVersion - } -} diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/android/src/main/AndroidManifest.xml b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/android/src/main/AndroidManifest.xml deleted file mode 100644 index 18867831..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/android/src/main/AndroidManifest.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/android/src/main/kotlin/io/flutter/plugins/firebase/appcheck/FirebaseAppCheckPlugin.kt b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/android/src/main/kotlin/io/flutter/plugins/firebase/appcheck/FirebaseAppCheckPlugin.kt deleted file mode 100644 index 99aab95e..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/android/src/main/kotlin/io/flutter/plugins/firebase/appcheck/FirebaseAppCheckPlugin.kt +++ /dev/null @@ -1,161 +0,0 @@ -// Copyright 2025 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. -package io.flutter.plugins.firebase.appcheck - -import android.os.Handler -import android.os.Looper -import com.google.android.gms.tasks.Task -import com.google.android.gms.tasks.TaskCompletionSource -import com.google.firebase.FirebaseApp -import com.google.firebase.appcheck.FirebaseAppCheck -import com.google.firebase.appcheck.debug.DebugAppCheckProviderFactory -import com.google.firebase.appcheck.playintegrity.PlayIntegrityAppCheckProviderFactory -import com.google.firebase.appcheck.recaptcha.RecaptchaAppCheckProviderFactory -import io.flutter.embedding.engine.plugins.FlutterPlugin -import io.flutter.embedding.engine.plugins.FlutterPlugin.FlutterPluginBinding -import io.flutter.plugin.common.BinaryMessenger -import io.flutter.plugin.common.EventChannel -import io.flutter.plugins.firebase.core.FlutterFirebasePlugin -import io.flutter.plugins.firebase.core.FlutterFirebasePluginRegistry - -class FirebaseAppCheckPlugin : FlutterFirebasePlugin, FlutterPlugin, FirebaseAppCheckHostApi { - - private val streamHandlers: MutableMap = HashMap() - private val eventChannels: MutableMap = HashMap() - private val mainThreadHandler = Handler(Looper.getMainLooper()) - private var messenger: BinaryMessenger? = null - - companion object { - const val METHOD_CHANNEL = "plugins.flutter.io/firebase_app_check" - const val EVENT_CHANNEL_PREFIX = "plugins.flutter.io/firebase_app_check/token/" - } - - override fun onAttachedToEngine(binding: FlutterPluginBinding) { - messenger = binding.binaryMessenger - FirebaseAppCheckHostApi.setUp(binding.binaryMessenger, this) - FlutterFirebasePluginRegistry.registerPlugin(METHOD_CHANNEL, this) - } - - override fun onDetachedFromEngine(binding: FlutterPluginBinding) { - FirebaseAppCheckHostApi.setUp(binding.binaryMessenger, null) - messenger = null - removeEventListeners() - } - - private fun getAppCheck(appName: String): FirebaseAppCheck { - val app = FirebaseApp.getInstance(appName) - return FirebaseAppCheck.getInstance(app) - } - - override fun activate( - appName: String, - androidProvider: String?, - appleProvider: String?, - debugToken: String?, - callback: (Result) -> Unit - ) { - try { - val firebaseAppCheck = getAppCheck(appName) - when (androidProvider) { - "debug" -> { - FlutterFirebaseAppRegistrar.debugToken = debugToken - firebaseAppCheck.installAppCheckProviderFactory( - DebugAppCheckProviderFactory.getInstance()) - } - "recaptcha" -> { - firebaseAppCheck.installAppCheckProviderFactory( - RecaptchaAppCheckProviderFactory.getInstance()) - } - else -> { - firebaseAppCheck.installAppCheckProviderFactory( - PlayIntegrityAppCheckProviderFactory.getInstance()) - } - } - callback(Result.success(Unit)) - } catch (e: Exception) { - callback(Result.failure(FlutterError("unknown", e.message, null))) - } - } - - override fun getToken( - appName: String, - forceRefresh: Boolean, - callback: (Result) -> Unit - ) { - val firebaseAppCheck = getAppCheck(appName) - firebaseAppCheck.getAppCheckToken(forceRefresh).addOnCompleteListener { task -> - if (task.isSuccessful) { - callback(Result.success(task.result?.token)) - } else { - callback(Result.failure(FlutterError("firebase_app_check", task.exception?.message, null))) - } - } - } - - override fun setTokenAutoRefreshEnabled( - appName: String, - isTokenAutoRefreshEnabled: Boolean, - callback: (Result) -> Unit - ) { - try { - val firebaseAppCheck = getAppCheck(appName) - firebaseAppCheck.setTokenAutoRefreshEnabled(isTokenAutoRefreshEnabled) - callback(Result.success(Unit)) - } catch (e: Exception) { - callback(Result.failure(FlutterError("unknown", e.message, null))) - } - } - - override fun registerTokenListener(appName: String, callback: (Result) -> Unit) { - try { - val firebaseAppCheck = getAppCheck(appName) - val name = EVENT_CHANNEL_PREFIX + appName - - val handler = TokenChannelStreamHandler(firebaseAppCheck) - val channel = EventChannel(messenger, name) - channel.setStreamHandler(handler) - eventChannels[name] = channel - streamHandlers[name] = handler - - callback(Result.success(name)) - } catch (e: Exception) { - callback(Result.failure(FlutterError("unknown", e.message, null))) - } - } - - override fun getLimitedUseAppCheckToken(appName: String, callback: (Result) -> Unit) { - val firebaseAppCheck = getAppCheck(appName) - firebaseAppCheck.limitedUseAppCheckToken.addOnCompleteListener { task -> - if (task.isSuccessful) { - callback(Result.success(task.result?.token ?: "")) - } else { - callback(Result.failure(FlutterError("firebase_app_check", task.exception?.message, null))) - } - } - } - - override fun getPluginConstantsForFirebaseApp(firebaseApp: FirebaseApp): Task> { - val taskCompletionSource = TaskCompletionSource>() - taskCompletionSource.setResult(HashMap()) - return taskCompletionSource.task - } - - override fun didReinitializeFirebaseCore(): Task { - val taskCompletionSource = TaskCompletionSource() - removeEventListeners() - taskCompletionSource.setResult(null) - return taskCompletionSource.task - } - - private fun removeEventListeners() { - for ((name, channel) in eventChannels) { - channel.setStreamHandler(null) - } - for ((name, handler) in streamHandlers) { - handler.onCancel(null) - } - eventChannels.clear() - streamHandlers.clear() - } -} diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/android/src/main/kotlin/io/flutter/plugins/firebase/appcheck/FlutterFirebaseAppRegistrar.kt b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/android/src/main/kotlin/io/flutter/plugins/firebase/appcheck/FlutterFirebaseAppRegistrar.kt deleted file mode 100644 index 1f1087b1..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/android/src/main/kotlin/io/flutter/plugins/firebase/appcheck/FlutterFirebaseAppRegistrar.kt +++ /dev/null @@ -1,37 +0,0 @@ -// Copyright 2025 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. -package io.flutter.plugins.firebase.appcheck - -import androidx.annotation.Keep -import com.google.firebase.appcheck.debug.InternalDebugSecretProvider -import com.google.firebase.components.Component -import com.google.firebase.components.ComponentRegistrar -import com.google.firebase.platforminfo.LibraryVersionComponent - -@Keep -class FlutterFirebaseAppRegistrar : ComponentRegistrar, InternalDebugSecretProvider { - - companion object { - private const val DEBUG_SECRET_NAME = "fire-app-check-debug-secret" - - @JvmStatic var debugToken: String? = null - } - - override fun getComponents(): List> { - val library = - LibraryVersionComponent.create(BuildConfig.LIBRARY_NAME, BuildConfig.LIBRARY_VERSION) - - val debugSecretProvider = - Component.builder(InternalDebugSecretProvider::class.java) - .name(DEBUG_SECRET_NAME) - .factory { this } - .build() - - return listOf(library, debugSecretProvider) - } - - override fun getDebugSecret(): String? { - return debugToken - } -} diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/android/src/main/kotlin/io/flutter/plugins/firebase/appcheck/GeneratedAndroidFirebaseAppCheck.g.kt b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/android/src/main/kotlin/io/flutter/plugins/firebase/appcheck/GeneratedAndroidFirebaseAppCheck.g.kt deleted file mode 100644 index 4cd7a39b..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/android/src/main/kotlin/io/flutter/plugins/firebase/appcheck/GeneratedAndroidFirebaseAppCheck.g.kt +++ /dev/null @@ -1,223 +0,0 @@ -// Copyright 2025, the Chromium project authors. Please see the AUTHORS file -// for details. All rights reserved. Use of this source code is governed by a -// BSD-style license that can be found in the LICENSE file. -// Autogenerated from Pigeon (v26.3.4), do not edit directly. -// See also: https://pub.dev/packages/pigeon -@file:Suppress("UNCHECKED_CAST", "ArrayInDataClass") - -package io.flutter.plugins.firebase.appcheck - -import android.util.Log -import io.flutter.plugin.common.BasicMessageChannel -import io.flutter.plugin.common.BinaryMessenger -import io.flutter.plugin.common.MessageCodec -import io.flutter.plugin.common.StandardMessageCodec -import java.io.ByteArrayOutputStream -import java.nio.ByteBuffer - -private object GeneratedAndroidFirebaseAppCheckPigeonUtils { - - fun wrapResult(result: Any?): List { - return listOf(result) - } - - fun wrapError(exception: Throwable): List { - return if (exception is FlutterError) { - listOf(exception.code, exception.message, exception.details) - } else { - listOf( - exception.javaClass.simpleName, - exception.toString(), - "Cause: " + exception.cause + ", Stacktrace: " + Log.getStackTraceString(exception)) - } - } -} - -/** - * Error class for passing custom error details to Flutter via a thrown PlatformException. - * - * @property code The error code. - * @property message The error message. - * @property details The error details. Must be a datatype supported by the api codec. - */ -class FlutterError( - val code: String, - override val message: String? = null, - val details: Any? = null -) : RuntimeException() - -private open class GeneratedAndroidFirebaseAppCheckPigeonCodec : StandardMessageCodec() { - override fun readValueOfType(type: Byte, buffer: ByteBuffer): Any? { - return super.readValueOfType(type, buffer) - } - - override fun writeValue(stream: ByteArrayOutputStream, value: Any?) { - super.writeValue(stream, value) - } -} - -/** Generated interface from Pigeon that represents a handler of messages from Flutter. */ -interface FirebaseAppCheckHostApi { - fun activate( - appName: String, - androidProvider: String?, - appleProvider: String?, - debugToken: String?, - callback: (Result) -> Unit - ) - - fun getToken(appName: String, forceRefresh: Boolean, callback: (Result) -> Unit) - - fun setTokenAutoRefreshEnabled( - appName: String, - isTokenAutoRefreshEnabled: Boolean, - callback: (Result) -> Unit - ) - - fun registerTokenListener(appName: String, callback: (Result) -> Unit) - - fun getLimitedUseAppCheckToken(appName: String, callback: (Result) -> Unit) - - companion object { - /** The codec used by FirebaseAppCheckHostApi. */ - val codec: MessageCodec by lazy { GeneratedAndroidFirebaseAppCheckPigeonCodec() } - /** - * Sets up an instance of `FirebaseAppCheckHostApi` to handle messages through the - * `binaryMessenger`. - */ - @JvmOverloads - fun setUp( - binaryMessenger: BinaryMessenger, - api: FirebaseAppCheckHostApi?, - messageChannelSuffix: String = "" - ) { - val separatedMessageChannelSuffix = - if (messageChannelSuffix.isNotEmpty()) ".$messageChannelSuffix" else "" - run { - val channel = - BasicMessageChannel( - binaryMessenger, - "dev.flutter.pigeon.firebase_app_check_platform_interface.FirebaseAppCheckHostApi.activate$separatedMessageChannelSuffix", - codec) - if (api != null) { - channel.setMessageHandler { message, reply -> - val args = message as List - val appNameArg = args[0] as String - val androidProviderArg = args[1] as String? - val appleProviderArg = args[2] as String? - val debugTokenArg = args[3] as String? - api.activate(appNameArg, androidProviderArg, appleProviderArg, debugTokenArg) { - result: Result -> - val error = result.exceptionOrNull() - if (error != null) { - reply.reply(GeneratedAndroidFirebaseAppCheckPigeonUtils.wrapError(error)) - } else { - reply.reply(GeneratedAndroidFirebaseAppCheckPigeonUtils.wrapResult(null)) - } - } - } - } else { - channel.setMessageHandler(null) - } - } - run { - val channel = - BasicMessageChannel( - binaryMessenger, - "dev.flutter.pigeon.firebase_app_check_platform_interface.FirebaseAppCheckHostApi.getToken$separatedMessageChannelSuffix", - codec) - if (api != null) { - channel.setMessageHandler { message, reply -> - val args = message as List - val appNameArg = args[0] as String - val forceRefreshArg = args[1] as Boolean - api.getToken(appNameArg, forceRefreshArg) { result: Result -> - val error = result.exceptionOrNull() - if (error != null) { - reply.reply(GeneratedAndroidFirebaseAppCheckPigeonUtils.wrapError(error)) - } else { - val data = result.getOrNull() - reply.reply(GeneratedAndroidFirebaseAppCheckPigeonUtils.wrapResult(data)) - } - } - } - } else { - channel.setMessageHandler(null) - } - } - run { - val channel = - BasicMessageChannel( - binaryMessenger, - "dev.flutter.pigeon.firebase_app_check_platform_interface.FirebaseAppCheckHostApi.setTokenAutoRefreshEnabled$separatedMessageChannelSuffix", - codec) - if (api != null) { - channel.setMessageHandler { message, reply -> - val args = message as List - val appNameArg = args[0] as String - val isTokenAutoRefreshEnabledArg = args[1] as Boolean - api.setTokenAutoRefreshEnabled(appNameArg, isTokenAutoRefreshEnabledArg) { - result: Result -> - val error = result.exceptionOrNull() - if (error != null) { - reply.reply(GeneratedAndroidFirebaseAppCheckPigeonUtils.wrapError(error)) - } else { - reply.reply(GeneratedAndroidFirebaseAppCheckPigeonUtils.wrapResult(null)) - } - } - } - } else { - channel.setMessageHandler(null) - } - } - run { - val channel = - BasicMessageChannel( - binaryMessenger, - "dev.flutter.pigeon.firebase_app_check_platform_interface.FirebaseAppCheckHostApi.registerTokenListener$separatedMessageChannelSuffix", - codec) - if (api != null) { - channel.setMessageHandler { message, reply -> - val args = message as List - val appNameArg = args[0] as String - api.registerTokenListener(appNameArg) { result: Result -> - val error = result.exceptionOrNull() - if (error != null) { - reply.reply(GeneratedAndroidFirebaseAppCheckPigeonUtils.wrapError(error)) - } else { - val data = result.getOrNull() - reply.reply(GeneratedAndroidFirebaseAppCheckPigeonUtils.wrapResult(data)) - } - } - } - } else { - channel.setMessageHandler(null) - } - } - run { - val channel = - BasicMessageChannel( - binaryMessenger, - "dev.flutter.pigeon.firebase_app_check_platform_interface.FirebaseAppCheckHostApi.getLimitedUseAppCheckToken$separatedMessageChannelSuffix", - codec) - if (api != null) { - channel.setMessageHandler { message, reply -> - val args = message as List - val appNameArg = args[0] as String - api.getLimitedUseAppCheckToken(appNameArg) { result: Result -> - val error = result.exceptionOrNull() - if (error != null) { - reply.reply(GeneratedAndroidFirebaseAppCheckPigeonUtils.wrapError(error)) - } else { - val data = result.getOrNull() - reply.reply(GeneratedAndroidFirebaseAppCheckPigeonUtils.wrapResult(data)) - } - } - } - } else { - channel.setMessageHandler(null) - } - } - } - } -} diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/android/src/main/kotlin/io/flutter/plugins/firebase/appcheck/TokenChannelStreamHandler.kt b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/android/src/main/kotlin/io/flutter/plugins/firebase/appcheck/TokenChannelStreamHandler.kt deleted file mode 100644 index 81d1b83e..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/android/src/main/kotlin/io/flutter/plugins/firebase/appcheck/TokenChannelStreamHandler.kt +++ /dev/null @@ -1,30 +0,0 @@ -// Copyright 2025 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. -package io.flutter.plugins.firebase.appcheck - -import com.google.firebase.appcheck.FirebaseAppCheck -import io.flutter.plugin.common.EventChannel - -class TokenChannelStreamHandler(private val firebaseAppCheck: FirebaseAppCheck) : - EventChannel.StreamHandler { - - private var listener: FirebaseAppCheck.AppCheckListener? = null - - override fun onListen(arguments: Any?, events: EventChannel.EventSink) { - listener = - FirebaseAppCheck.AppCheckListener { result -> - val event = HashMap() - event["token"] = result.token - events.success(event) - } - firebaseAppCheck.addAppCheckListener(listener!!) - } - - override fun onCancel(arguments: Any?) { - listener?.let { - firebaseAppCheck.removeAppCheckListener(it) - listener = null - } - } -} diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/android/user-agent.gradle b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/android/user-agent.gradle deleted file mode 100644 index 7b9c028a..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/android/user-agent.gradle +++ /dev/null @@ -1,22 +0,0 @@ -import java.util.regex.Matcher -import java.util.regex.Pattern - -String libraryVersionName = "UNKNOWN" -String libraryName = "flutter-fire-app-check" -File pubspec = new File(project.projectDir.parentFile, 'pubspec.yaml') - -if (pubspec.exists()) { - String yaml = pubspec.text - // Using \s*['|"]?([^\n|'|"]*)['|"]? to extract version number. - Matcher versionMatcher = Pattern.compile("^version:\\s*['|\"]?([^\\n|'|\"]*)['|\"]?\$", Pattern.MULTILINE).matcher(yaml) - if (versionMatcher.find()) libraryVersionName = versionMatcher.group(1).replaceAll("\\+", "-") -} - -android { - defaultConfig { - // BuildConfig.VERSION_NAME - buildConfigField 'String', 'LIBRARY_VERSION', "\"${libraryVersionName}\"" - // BuildConfig.LIBRARY_NAME - buildConfigField 'String', 'LIBRARY_NAME', "\"${libraryName}\"" - } -} diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/README.md b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/README.md deleted file mode 100644 index 595e1145..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/README.md +++ /dev/null @@ -1,8 +0,0 @@ -# firebase_app_check_example - -Demonstrates how to use the firebase_app_check plugin. - -## Getting Started - -For help getting started with Flutter, view our online -[documentation](https://flutter.dev/). diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/analysis_options.yaml b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/analysis_options.yaml deleted file mode 100644 index b6cd704f..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/analysis_options.yaml +++ /dev/null @@ -1,10 +0,0 @@ -# Copyright 2021 The Chromium Authors. All rights reserved. -# Use of this source code is governed by a BSD-style license that can be -# in the LICENSE file. - -include: ../../../../analysis_options.yaml -linter: - rules: - avoid_print: false - depend_on_referenced_packages: false - library_private_types_in_public_api: false diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/android/app/build.gradle b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/android/app/build.gradle deleted file mode 100644 index 92298e72..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/android/app/build.gradle +++ /dev/null @@ -1,65 +0,0 @@ -plugins { - id "com.android.application" - // START: FlutterFire Configuration - id 'com.google.gms.google-services' - // END: FlutterFire Configuration - id "kotlin-android" - // The Flutter Gradle Plugin must be applied after the Android and Kotlin Gradle plugins. - id "dev.flutter.flutter-gradle-plugin" -} -apply from: file("../../../android/local-config.gradle") - -def localProperties = new Properties() -def localPropertiesFile = rootProject.file("local.properties") -if (localPropertiesFile.exists()) { - localPropertiesFile.withReader("UTF-8") { reader -> - localProperties.load(reader) - } -} - -def flutterVersionCode = localProperties.getProperty("flutter.versionCode") -if (flutterVersionCode == null) { - flutterVersionCode = "1" -} - -def flutterVersionName = localProperties.getProperty("flutter.versionName") -if (flutterVersionName == null) { - flutterVersionName = "1.0" -} - -android { - namespace = "io.flutter.plugins.firebase.appcheck.example" - compileSdk = flutter.compileSdkVersion - ndkVersion = flutter.ndkVersion - - compileOptions { - sourceCompatibility = project.ext.javaVersion - targetCompatibility = project.ext.javaVersion - } - - kotlinOptions { - jvmTarget = "17" - } - - defaultConfig { - applicationId = "io.flutter.plugins.firebase.appcheck.example" - // You can update the following values to match your application needs. - // For more information, see: https://docs.flutter.dev/deployment/android#reviewing-the-gradle-build-configuration. - minSdkVersion = flutter.minSdkVersion - targetSdk = flutter.targetSdkVersion - versionCode = flutterVersionCode.toInteger() - versionName = flutterVersionName - } - - buildTypes { - release { - // TODO: Add your own signing config for the release build. - // Signing with the debug keys for now, so `flutter run --release` works. - signingConfig = signingConfigs.debug - } - } -} - -flutter { - source = "../.." -} diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/android/app/google-services.json b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/android/app/google-services.json deleted file mode 100644 index 6b7e0408..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/android/app/google-services.json +++ /dev/null @@ -1,615 +0,0 @@ -{ - "project_info": { - "project_number": "406099696497", - "firebase_url": "https://flutterfire-e2e-tests-default-rtdb.europe-west1.firebasedatabase.app", - "project_id": "flutterfire-e2e-tests", - "storage_bucket": "flutterfire-e2e-tests.appspot.com" - }, - "client": [ - { - "client_info": { - "mobilesdk_app_id": "1:406099696497:android:d86a91cc7b338b233574d0", - "android_client_info": { - "package_name": "io.flutter.plugins.firebase.analytics.example" - } - }, - "oauth_client": [ - { - "client_id": "406099696497-a12gakvts4epfk5pkio7dphc1anjiggc.apps.googleusercontent.com", - "client_type": 3 - } - ], - "api_key": [ - { - "current_key": "AIzaSyCdRjCVZlhrq72RuEklEyyxYlBRCYhI2Sw" - } - ], - "services": { - "appinvite_service": { - "other_platform_oauth_client": [ - { - "client_id": "406099696497-a12gakvts4epfk5pkio7dphc1anjiggc.apps.googleusercontent.com", - "client_type": 3 - }, - { - "client_id": "406099696497-0mofiof3ofcgmpmirb6q0fllvb372sme.apps.googleusercontent.com", - "client_type": 2, - "ios_info": { - "bundle_id": "io.flutter.plugins.firebase.example" - } - } - ] - } - } - }, - { - "client_info": { - "mobilesdk_app_id": "1:406099696497:android:a241c4b471513a203574d0", - "android_client_info": { - "package_name": "io.flutter.plugins.firebase.appcheck.example" - } - }, - "oauth_client": [ - { - "client_id": "406099696497-7bvmqp0fffe24vm2arng0dtdeh2tvkgl.apps.googleusercontent.com", - "client_type": 1, - "android_info": { - "package_name": "io.flutter.plugins.firebase.appcheck.example", - "certificate_hash": "909ca1482ef022bbae45a2db6b6d05d807a4c4aa" - } - }, - { - "client_id": "406099696497-a12gakvts4epfk5pkio7dphc1anjiggc.apps.googleusercontent.com", - "client_type": 3 - } - ], - "api_key": [ - { - "current_key": "AIzaSyCdRjCVZlhrq72RuEklEyyxYlBRCYhI2Sw" - } - ], - "services": { - "appinvite_service": { - "other_platform_oauth_client": [ - { - "client_id": "406099696497-a12gakvts4epfk5pkio7dphc1anjiggc.apps.googleusercontent.com", - "client_type": 3 - }, - { - "client_id": "406099696497-0mofiof3ofcgmpmirb6q0fllvb372sme.apps.googleusercontent.com", - "client_type": 2, - "ios_info": { - "bundle_id": "io.flutter.plugins.firebase.example" - } - } - ] - } - } - }, - { - "client_info": { - "mobilesdk_app_id": "1:406099696497:android:21d5142deea38dda3574d0", - "android_client_info": { - "package_name": "io.flutter.plugins.firebase.auth.example" - } - }, - "oauth_client": [ - { - "client_id": "406099696497-emmujnd7g2ammh5uu9ni6v04p4ateqac.apps.googleusercontent.com", - "client_type": 1, - "android_info": { - "package_name": "io.flutter.plugins.firebase.auth.example", - "certificate_hash": "5ad0d6d5cbe577ca185b8df246656bebc3957128" - } - }, - { - "client_id": "406099696497-in8bfp0nali85oul1o98huoar6eo1vv1.apps.googleusercontent.com", - "client_type": 1, - "android_info": { - "package_name": "io.flutter.plugins.firebase.auth.example", - "certificate_hash": "909ca1482ef022bbae45a2db6b6d05d807a4c4aa" - } - }, - { - "client_id": "406099696497-a12gakvts4epfk5pkio7dphc1anjiggc.apps.googleusercontent.com", - "client_type": 3 - } - ], - "api_key": [ - { - "current_key": "AIzaSyCdRjCVZlhrq72RuEklEyyxYlBRCYhI2Sw" - } - ], - "services": { - "appinvite_service": { - "other_platform_oauth_client": [ - { - "client_id": "406099696497-a12gakvts4epfk5pkio7dphc1anjiggc.apps.googleusercontent.com", - "client_type": 3 - }, - { - "client_id": "406099696497-0mofiof3ofcgmpmirb6q0fllvb372sme.apps.googleusercontent.com", - "client_type": 2, - "ios_info": { - "bundle_id": "io.flutter.plugins.firebase.example" - } - } - ] - } - } - }, - { - "client_info": { - "mobilesdk_app_id": "1:406099696497:android:3ef965ff044efc0b3574d0", - "android_client_info": { - "package_name": "io.flutter.plugins.firebase.database.example" - } - }, - "oauth_client": [ - { - "client_id": "406099696497-a12gakvts4epfk5pkio7dphc1anjiggc.apps.googleusercontent.com", - "client_type": 3 - } - ], - "api_key": [ - { - "current_key": "AIzaSyCdRjCVZlhrq72RuEklEyyxYlBRCYhI2Sw" - } - ], - "services": { - "appinvite_service": { - "other_platform_oauth_client": [ - { - "client_id": "406099696497-a12gakvts4epfk5pkio7dphc1anjiggc.apps.googleusercontent.com", - "client_type": 3 - }, - { - "client_id": "406099696497-0mofiof3ofcgmpmirb6q0fllvb372sme.apps.googleusercontent.com", - "client_type": 2, - "ios_info": { - "bundle_id": "io.flutter.plugins.firebase.example" - } - } - ] - } - } - }, - { - "client_info": { - "mobilesdk_app_id": "1:406099696497:android:40da41183cb3d3ff3574d0", - "android_client_info": { - "package_name": "io.flutter.plugins.firebase.dynamiclinksexample" - } - }, - "oauth_client": [ - { - "client_id": "406099696497-a12gakvts4epfk5pkio7dphc1anjiggc.apps.googleusercontent.com", - "client_type": 3 - } - ], - "api_key": [ - { - "current_key": "AIzaSyCdRjCVZlhrq72RuEklEyyxYlBRCYhI2Sw" - } - ], - "services": { - "appinvite_service": { - "other_platform_oauth_client": [ - { - "client_id": "406099696497-a12gakvts4epfk5pkio7dphc1anjiggc.apps.googleusercontent.com", - "client_type": 3 - }, - { - "client_id": "406099696497-0mofiof3ofcgmpmirb6q0fllvb372sme.apps.googleusercontent.com", - "client_type": 2, - "ios_info": { - "bundle_id": "io.flutter.plugins.firebase.example" - } - } - ] - } - } - }, - { - "client_info": { - "mobilesdk_app_id": "1:406099696497:android:175ea7a64b2faf5e3574d0", - "android_client_info": { - "package_name": "io.flutter.plugins.firebase.firestore.example" - } - }, - "oauth_client": [ - { - "client_id": "406099696497-a12gakvts4epfk5pkio7dphc1anjiggc.apps.googleusercontent.com", - "client_type": 3 - } - ], - "api_key": [ - { - "current_key": "AIzaSyCdRjCVZlhrq72RuEklEyyxYlBRCYhI2Sw" - } - ], - "services": { - "appinvite_service": { - "other_platform_oauth_client": [ - { - "client_id": "406099696497-a12gakvts4epfk5pkio7dphc1anjiggc.apps.googleusercontent.com", - "client_type": 3 - }, - { - "client_id": "406099696497-0mofiof3ofcgmpmirb6q0fllvb372sme.apps.googleusercontent.com", - "client_type": 2, - "ios_info": { - "bundle_id": "io.flutter.plugins.firebase.example" - } - } - ] - } - } - }, - { - "client_info": { - "mobilesdk_app_id": "1:406099696497:android:7ca3394493cc601a3574d0", - "android_client_info": { - "package_name": "io.flutter.plugins.firebase.functions.example" - } - }, - "oauth_client": [ - { - "client_id": "406099696497-17qn06u8a0dc717u8ul7s49ampk13lul.apps.googleusercontent.com", - "client_type": 1, - "android_info": { - "package_name": "io.flutter.plugins.firebase.functions.example", - "certificate_hash": "a4256c0612686b336af6d138a5479b7dc1ee1af6" - } - }, - { - "client_id": "406099696497-tvtvuiqogct1gs1s6lh114jeps7hpjm5.apps.googleusercontent.com", - "client_type": 1, - "android_info": { - "package_name": "io.flutter.plugins.firebase.functions.example", - "certificate_hash": "909ca1482ef022bbae45a2db6b6d05d807a4c4aa" - } - }, - { - "client_id": "406099696497-a12gakvts4epfk5pkio7dphc1anjiggc.apps.googleusercontent.com", - "client_type": 3 - } - ], - "api_key": [ - { - "current_key": "AIzaSyCdRjCVZlhrq72RuEklEyyxYlBRCYhI2Sw" - } - ], - "services": { - "appinvite_service": { - "other_platform_oauth_client": [ - { - "client_id": "406099696497-a12gakvts4epfk5pkio7dphc1anjiggc.apps.googleusercontent.com", - "client_type": 3 - }, - { - "client_id": "406099696497-0mofiof3ofcgmpmirb6q0fllvb372sme.apps.googleusercontent.com", - "client_type": 2, - "ios_info": { - "bundle_id": "io.flutter.plugins.firebase.example" - } - } - ] - } - } - }, - { - "client_info": { - "mobilesdk_app_id": "1:406099696497:android:6d1c1fbf4688f39c3574d0", - "android_client_info": { - "package_name": "io.flutter.plugins.firebase.installations.example" - } - }, - "oauth_client": [ - { - "client_id": "406099696497-a12gakvts4epfk5pkio7dphc1anjiggc.apps.googleusercontent.com", - "client_type": 3 - } - ], - "api_key": [ - { - "current_key": "AIzaSyCdRjCVZlhrq72RuEklEyyxYlBRCYhI2Sw" - } - ], - "services": { - "appinvite_service": { - "other_platform_oauth_client": [ - { - "client_id": "406099696497-a12gakvts4epfk5pkio7dphc1anjiggc.apps.googleusercontent.com", - "client_type": 3 - }, - { - "client_id": "406099696497-0mofiof3ofcgmpmirb6q0fllvb372sme.apps.googleusercontent.com", - "client_type": 2, - "ios_info": { - "bundle_id": "io.flutter.plugins.firebase.example" - } - } - ] - } - } - }, - { - "client_info": { - "mobilesdk_app_id": "1:406099696497:android:74ebb073d7727cd43574d0", - "android_client_info": { - "package_name": "io.flutter.plugins.firebase.messaging.example" - } - }, - "oauth_client": [ - { - "client_id": "406099696497-a12gakvts4epfk5pkio7dphc1anjiggc.apps.googleusercontent.com", - "client_type": 3 - } - ], - "api_key": [ - { - "current_key": "AIzaSyCdRjCVZlhrq72RuEklEyyxYlBRCYhI2Sw" - } - ], - "services": { - "appinvite_service": { - "other_platform_oauth_client": [ - { - "client_id": "406099696497-a12gakvts4epfk5pkio7dphc1anjiggc.apps.googleusercontent.com", - "client_type": 3 - }, - { - "client_id": "406099696497-0mofiof3ofcgmpmirb6q0fllvb372sme.apps.googleusercontent.com", - "client_type": 2, - "ios_info": { - "bundle_id": "io.flutter.plugins.firebase.example" - } - } - ] - } - } - }, - { - "client_info": { - "mobilesdk_app_id": "1:406099696497:android:f54b85cfa36a39f73574d0", - "android_client_info": { - "package_name": "io.flutter.plugins.firebase.remoteconfig.example" - } - }, - "oauth_client": [ - { - "client_id": "406099696497-a12gakvts4epfk5pkio7dphc1anjiggc.apps.googleusercontent.com", - "client_type": 3 - } - ], - "api_key": [ - { - "current_key": "AIzaSyCdRjCVZlhrq72RuEklEyyxYlBRCYhI2Sw" - } - ], - "services": { - "appinvite_service": { - "other_platform_oauth_client": [ - { - "client_id": "406099696497-a12gakvts4epfk5pkio7dphc1anjiggc.apps.googleusercontent.com", - "client_type": 3 - }, - { - "client_id": "406099696497-0mofiof3ofcgmpmirb6q0fllvb372sme.apps.googleusercontent.com", - "client_type": 2, - "ios_info": { - "bundle_id": "io.flutter.plugins.firebase.example" - } - } - ] - } - } - }, - { - "client_info": { - "mobilesdk_app_id": "1:406099696497:android:0d4ed619c031c0ac3574d0", - "android_client_info": { - "package_name": "io.flutter.plugins.firebase.tests" - } - }, - "oauth_client": [ - { - "client_id": "406099696497-ib9hj9281l3343cm3nfvvdotaojrthdc.apps.googleusercontent.com", - "client_type": 1, - "android_info": { - "package_name": "io.flutter.plugins.firebase.tests", - "certificate_hash": "5ad0d6d5cbe577ca185b8df246656bebc3957128" - } - }, - { - "client_id": "406099696497-lc54d5l8sp90k39r0bb39ovsgo1s9bek.apps.googleusercontent.com", - "client_type": 1, - "android_info": { - "package_name": "io.flutter.plugins.firebase.tests", - "certificate_hash": "909ca1482ef022bbae45a2db6b6d05d807a4c4aa" - } - }, - { - "client_id": "406099696497-a12gakvts4epfk5pkio7dphc1anjiggc.apps.googleusercontent.com", - "client_type": 3 - } - ], - "api_key": [ - { - "current_key": "AIzaSyCdRjCVZlhrq72RuEklEyyxYlBRCYhI2Sw" - } - ], - "services": { - "appinvite_service": { - "other_platform_oauth_client": [ - { - "client_id": "406099696497-a12gakvts4epfk5pkio7dphc1anjiggc.apps.googleusercontent.com", - "client_type": 3 - }, - { - "client_id": "406099696497-0mofiof3ofcgmpmirb6q0fllvb372sme.apps.googleusercontent.com", - "client_type": 2, - "ios_info": { - "bundle_id": "io.flutter.plugins.firebase.example" - } - } - ] - } - } - }, - { - "client_info": { - "mobilesdk_app_id": "1:406099696497:android:899c6485cfce26c13574d0", - "android_client_info": { - "package_name": "io.flutter.plugins.firebase_ui_example" - } - }, - "oauth_client": [ - { - "client_id": "406099696497-ltgvphphcckosvqhituel5km2k3aecg8.apps.googleusercontent.com", - "client_type": 1, - "android_info": { - "package_name": "io.flutter.plugins.firebase_ui_example", - "certificate_hash": "a4256c0612686b336af6d138a5479b7dc1ee1af6" - } - }, - { - "client_id": "406099696497-a12gakvts4epfk5pkio7dphc1anjiggc.apps.googleusercontent.com", - "client_type": 3 - } - ], - "api_key": [ - { - "current_key": "AIzaSyCdRjCVZlhrq72RuEklEyyxYlBRCYhI2Sw" - } - ], - "services": { - "appinvite_service": { - "other_platform_oauth_client": [ - { - "client_id": "406099696497-a12gakvts4epfk5pkio7dphc1anjiggc.apps.googleusercontent.com", - "client_type": 3 - }, - { - "client_id": "406099696497-0mofiof3ofcgmpmirb6q0fllvb372sme.apps.googleusercontent.com", - "client_type": 2, - "ios_info": { - "bundle_id": "io.flutter.plugins.firebase.example" - } - } - ] - } - } - }, - { - "client_info": { - "mobilesdk_app_id": "1:406099696497:android:bc0b12b0605df8633574d0", - "android_client_info": { - "package_name": "io.flutter.plugins.firebasecoreexample" - } - }, - "oauth_client": [ - { - "client_id": "406099696497-a12gakvts4epfk5pkio7dphc1anjiggc.apps.googleusercontent.com", - "client_type": 3 - } - ], - "api_key": [ - { - "current_key": "AIzaSyCdRjCVZlhrq72RuEklEyyxYlBRCYhI2Sw" - } - ], - "services": { - "appinvite_service": { - "other_platform_oauth_client": [ - { - "client_id": "406099696497-a12gakvts4epfk5pkio7dphc1anjiggc.apps.googleusercontent.com", - "client_type": 3 - }, - { - "client_id": "406099696497-0mofiof3ofcgmpmirb6q0fllvb372sme.apps.googleusercontent.com", - "client_type": 2, - "ios_info": { - "bundle_id": "io.flutter.plugins.firebase.example" - } - } - ] - } - } - }, - { - "client_info": { - "mobilesdk_app_id": "1:406099696497:android:0f3f7bfe78b8b7103574d0", - "android_client_info": { - "package_name": "io.flutter.plugins.firebasecrashlyticsexample" - } - }, - "oauth_client": [ - { - "client_id": "406099696497-a12gakvts4epfk5pkio7dphc1anjiggc.apps.googleusercontent.com", - "client_type": 3 - } - ], - "api_key": [ - { - "current_key": "AIzaSyCdRjCVZlhrq72RuEklEyyxYlBRCYhI2Sw" - } - ], - "services": { - "appinvite_service": { - "other_platform_oauth_client": [ - { - "client_id": "406099696497-a12gakvts4epfk5pkio7dphc1anjiggc.apps.googleusercontent.com", - "client_type": 3 - }, - { - "client_id": "406099696497-0mofiof3ofcgmpmirb6q0fllvb372sme.apps.googleusercontent.com", - "client_type": 2, - "ios_info": { - "bundle_id": "io.flutter.plugins.firebase.example" - } - } - ] - } - } - }, - { - "client_info": { - "mobilesdk_app_id": "1:406099696497:android:2751af6868a69f073574d0", - "android_client_info": { - "package_name": "io.flutter.plugins.firebasestorageexample" - } - }, - "oauth_client": [ - { - "client_id": "406099696497-a12gakvts4epfk5pkio7dphc1anjiggc.apps.googleusercontent.com", - "client_type": 3 - } - ], - "api_key": [ - { - "current_key": "AIzaSyCdRjCVZlhrq72RuEklEyyxYlBRCYhI2Sw" - } - ], - "services": { - "appinvite_service": { - "other_platform_oauth_client": [ - { - "client_id": "406099696497-a12gakvts4epfk5pkio7dphc1anjiggc.apps.googleusercontent.com", - "client_type": 3 - }, - { - "client_id": "406099696497-0mofiof3ofcgmpmirb6q0fllvb372sme.apps.googleusercontent.com", - "client_type": 2, - "ios_info": { - "bundle_id": "io.flutter.plugins.firebase.example" - } - } - ] - } - } - } - ], - "configuration_version": "1" -} \ No newline at end of file diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/android/app/src/debug/AndroidManifest.xml b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/android/app/src/debug/AndroidManifest.xml deleted file mode 100644 index 399f6981..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/android/app/src/debug/AndroidManifest.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/android/app/src/main/AndroidManifest.xml b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/android/app/src/main/AndroidManifest.xml deleted file mode 100644 index 74a78b93..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/android/app/src/main/AndroidManifest.xml +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/android/app/src/main/kotlin/io/flutter/plugins/firebase/appcheck/example/MainActivity.kt b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/android/app/src/main/kotlin/io/flutter/plugins/firebase/appcheck/example/MainActivity.kt deleted file mode 100644 index fd3526f1..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/android/app/src/main/kotlin/io/flutter/plugins/firebase/appcheck/example/MainActivity.kt +++ /dev/null @@ -1,5 +0,0 @@ -package io.flutter.plugins.firebase.appcheck.example - -import io.flutter.embedding.android.FlutterActivity - -class MainActivity : FlutterActivity() diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/android/app/src/main/res/drawable-v21/launch_background.xml b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/android/app/src/main/res/drawable-v21/launch_background.xml deleted file mode 100644 index f74085f3..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/android/app/src/main/res/drawable-v21/launch_background.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/android/app/src/main/res/drawable/launch_background.xml b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/android/app/src/main/res/drawable/launch_background.xml deleted file mode 100644 index 304732f8..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/android/app/src/main/res/drawable/launch_background.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/android/app/src/main/res/mipmap-hdpi/ic_launcher.png b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/android/app/src/main/res/mipmap-hdpi/ic_launcher.png deleted file mode 100644 index db77bb4b..00000000 Binary files a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/android/app/src/main/res/mipmap-hdpi/ic_launcher.png and /dev/null differ diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/android/app/src/main/res/mipmap-mdpi/ic_launcher.png b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/android/app/src/main/res/mipmap-mdpi/ic_launcher.png deleted file mode 100644 index 17987b79..00000000 Binary files a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/android/app/src/main/res/mipmap-mdpi/ic_launcher.png and /dev/null differ diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png deleted file mode 100644 index 09d43914..00000000 Binary files a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png and /dev/null differ diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png deleted file mode 100644 index d5f1c8d3..00000000 Binary files a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png and /dev/null differ diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png deleted file mode 100644 index 4d6372ee..00000000 Binary files a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png and /dev/null differ diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/android/app/src/main/res/values-night/styles.xml b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/android/app/src/main/res/values-night/styles.xml deleted file mode 100644 index 06952be7..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/android/app/src/main/res/values-night/styles.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/android/app/src/main/res/values/styles.xml b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/android/app/src/main/res/values/styles.xml deleted file mode 100644 index cb1ef880..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/android/app/src/main/res/values/styles.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/android/app/src/profile/AndroidManifest.xml b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/android/app/src/profile/AndroidManifest.xml deleted file mode 100644 index 399f6981..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/android/app/src/profile/AndroidManifest.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/android/build.gradle b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/android/build.gradle deleted file mode 100644 index d2ffbffa..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/android/build.gradle +++ /dev/null @@ -1,18 +0,0 @@ -allprojects { - repositories { - google() - mavenCentral() - } -} - -rootProject.buildDir = "../build" -subprojects { - project.buildDir = "${rootProject.buildDir}/${project.name}" -} -subprojects { - project.evaluationDependsOn(":app") -} - -tasks.register("clean", Delete) { - delete rootProject.buildDir -} diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/android/gradle.properties b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/android/gradle.properties deleted file mode 100644 index 3c0f502f..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/android/gradle.properties +++ /dev/null @@ -1,4 +0,0 @@ -org.gradle.jvmargs=-Xmx4G -XX:+HeapDumpOnOutOfMemoryError -android.useAndroidX=true -android.enableJetifier=true -androidGradlePluginVersion=8.3.0 \ No newline at end of file diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/android/gradle/wrapper/gradle-wrapper.properties b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/android/gradle/wrapper/gradle-wrapper.properties deleted file mode 100644 index e411586a..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/android/gradle/wrapper/gradle-wrapper.properties +++ /dev/null @@ -1,5 +0,0 @@ -distributionBase=GRADLE_USER_HOME -distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.4-bin.zip -zipStoreBase=GRADLE_USER_HOME -zipStorePath=wrapper/dists diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/android/settings.gradle b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/android/settings.gradle deleted file mode 100644 index 4fb566e9..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/android/settings.gradle +++ /dev/null @@ -1,28 +0,0 @@ -pluginManagement { - def flutterSdkPath = { - def properties = new Properties() - file("local.properties").withInputStream { properties.load(it) } - def flutterSdkPath = properties.getProperty("flutter.sdk") - assert flutterSdkPath != null, "flutter.sdk not set in local.properties" - return flutterSdkPath - }() - - includeBuild("$flutterSdkPath/packages/flutter_tools/gradle") - - repositories { - google() - mavenCentral() - gradlePluginPortal() - } -} - -plugins { - id "dev.flutter.flutter-plugin-loader" version "1.0.0" - id "com.android.application" version "${androidGradlePluginVersion}" apply false - // START: FlutterFire Configuration - id "com.google.gms.google-services" version "4.3.15" apply false - // END: FlutterFire Configuration - id "org.jetbrains.kotlin.android" version "2.1.0" apply false -} - -include ":app" diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/ios/Flutter/AppFrameworkInfo.plist b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/ios/Flutter/AppFrameworkInfo.plist deleted file mode 100644 index 391a902b..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/ios/Flutter/AppFrameworkInfo.plist +++ /dev/null @@ -1,24 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleExecutable - App - CFBundleIdentifier - io.flutter.flutter.app - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - App - CFBundlePackageType - FMWK - CFBundleShortVersionString - 1.0 - CFBundleSignature - ???? - CFBundleVersion - 1.0 - - diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/ios/Flutter/Debug.xcconfig b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/ios/Flutter/Debug.xcconfig deleted file mode 100644 index ec97fc6f..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/ios/Flutter/Debug.xcconfig +++ /dev/null @@ -1,2 +0,0 @@ -#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig" -#include "Generated.xcconfig" diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/ios/Flutter/Release.xcconfig b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/ios/Flutter/Release.xcconfig deleted file mode 100644 index c4855bfe..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/ios/Flutter/Release.xcconfig +++ /dev/null @@ -1,2 +0,0 @@ -#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig" -#include "Generated.xcconfig" diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/ios/Podfile b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/ios/Podfile deleted file mode 100644 index 620e46eb..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/ios/Podfile +++ /dev/null @@ -1,43 +0,0 @@ -# Uncomment this line to define a global platform for your project -# platform :ios, '13.0' - -# CocoaPods analytics sends network stats synchronously affecting flutter build latency. -ENV['COCOAPODS_DISABLE_STATS'] = 'true' - -project 'Runner', { - 'Debug' => :debug, - 'Profile' => :release, - 'Release' => :release, -} - -def flutter_root - generated_xcode_build_settings_path = File.expand_path(File.join('..', 'Flutter', 'Generated.xcconfig'), __FILE__) - unless File.exist?(generated_xcode_build_settings_path) - raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually, make sure flutter pub get is executed first" - end - - File.foreach(generated_xcode_build_settings_path) do |line| - matches = line.match(/FLUTTER_ROOT\=(.*)/) - return matches[1].strip if matches - end - raise "FLUTTER_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Generated.xcconfig, then run flutter pub get" -end - -require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root) - -flutter_ios_podfile_setup - -target 'Runner' do - use_frameworks! - - flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__)) - target 'RunnerTests' do - inherit! :search_paths - end -end - -post_install do |installer| - installer.pods_project.targets.each do |target| - flutter_additional_ios_build_settings(target) - end -end diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner.xcodeproj/project.pbxproj b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner.xcodeproj/project.pbxproj deleted file mode 100644 index 1ef35c77..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner.xcodeproj/project.pbxproj +++ /dev/null @@ -1,553 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 54; - objects = { - -/* Begin PBXBuildFile section */ - 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; }; - 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; }; - 4627F94B299406540090DA25 /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = BBE2A093D0D5DFBA7CE858E4 /* GoogleService-Info.plist */; }; - 78A318202AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage in Frameworks */ = {isa = PBXBuildFile; productRef = 78A3181F2AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage */; }; - 978B8F6F1D3862AE00F588F7 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 7AFFD8EE1D35381100E5BB4D /* AppDelegate.m */; }; - 97C146F31CF9000F007C117D /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 97C146F21CF9000F007C117D /* main.m */; }; - 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; }; - 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; }; - 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; }; -/* End PBXBuildFile section */ - -/* Begin PBXCopyFilesBuildPhase section */ - 9705A1C41CF9048500538489 /* Embed Frameworks */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = ""; - dstSubfolderSpec = 10; - files = ( - ); - name = "Embed Frameworks"; - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXCopyFilesBuildPhase section */ - -/* Begin PBXFileReference section */ - 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = ""; }; - 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = ""; }; - 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; }; - 4632D5BC275CD47A0059DC83 /* Runner.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = Runner.entitlements; sourceTree = ""; }; - 46A64A032996811C003FC4F3 /* RunnerRelease.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = RunnerRelease.entitlements; sourceTree = ""; }; - 78E0A7A72DC9AD7400C4905E /* FlutterGeneratedPluginSwiftPackage */ = {isa = PBXFileReference; lastKnownFileType = wrapper; name = FlutterGeneratedPluginSwiftPackage; path = Flutter/ephemeral/Packages/FlutterGeneratedPluginSwiftPackage; sourceTree = ""; }; - 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; }; - 7AFFD8ED1D35381100E5BB4D /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; }; - 7AFFD8EE1D35381100E5BB4D /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = ""; }; - 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = ""; }; - 9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = ""; }; - 97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; }; - 97C146F21CF9000F007C117D /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; - 97C146FB1CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; - 97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; - 97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; - 97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - BBE2A093D0D5DFBA7CE858E4 /* GoogleService-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; name = "GoogleService-Info.plist"; path = "Runner/GoogleService-Info.plist"; sourceTree = ""; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - 97C146EB1CF9000F007C117D /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 78A318202AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 9740EEB11CF90186004384FC /* Flutter */ = { - isa = PBXGroup; - children = ( - 78E0A7A72DC9AD7400C4905E /* FlutterGeneratedPluginSwiftPackage */, - 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */, - 9740EEB21CF90195004384FC /* Debug.xcconfig */, - 7AFA3C8E1D35360C0083082E /* Release.xcconfig */, - 9740EEB31CF90195004384FC /* Generated.xcconfig */, - ); - name = Flutter; - sourceTree = ""; - }; - 97C146E51CF9000F007C117D = { - isa = PBXGroup; - children = ( - 9740EEB11CF90186004384FC /* Flutter */, - 97C146F01CF9000F007C117D /* Runner */, - 97C146EF1CF9000F007C117D /* Products */, - F919868105D7CB93D33CAD83 /* Pods */, - BBE2A093D0D5DFBA7CE858E4 /* GoogleService-Info.plist */, - ); - sourceTree = ""; - }; - 97C146EF1CF9000F007C117D /* Products */ = { - isa = PBXGroup; - children = ( - 97C146EE1CF9000F007C117D /* Runner.app */, - ); - name = Products; - sourceTree = ""; - }; - 97C146F01CF9000F007C117D /* Runner */ = { - isa = PBXGroup; - children = ( - 46A64A032996811C003FC4F3 /* RunnerRelease.entitlements */, - 4632D5BC275CD47A0059DC83 /* Runner.entitlements */, - 7AFFD8ED1D35381100E5BB4D /* AppDelegate.h */, - 7AFFD8EE1D35381100E5BB4D /* AppDelegate.m */, - 97C146FA1CF9000F007C117D /* Main.storyboard */, - 97C146FD1CF9000F007C117D /* Assets.xcassets */, - 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */, - 97C147021CF9000F007C117D /* Info.plist */, - 97C146F11CF9000F007C117D /* Supporting Files */, - 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */, - 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */, - ); - path = Runner; - sourceTree = ""; - }; - 97C146F11CF9000F007C117D /* Supporting Files */ = { - isa = PBXGroup; - children = ( - 97C146F21CF9000F007C117D /* main.m */, - ); - name = "Supporting Files"; - sourceTree = ""; - }; - F919868105D7CB93D33CAD83 /* Pods */ = { - isa = PBXGroup; - children = ( - ); - path = Pods; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXNativeTarget section */ - 97C146ED1CF9000F007C117D /* Runner */ = { - isa = PBXNativeTarget; - buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */; - buildPhases = ( - 9740EEB61CF901F6004384FC /* Run Script */, - 97C146EA1CF9000F007C117D /* Sources */, - 97C146EB1CF9000F007C117D /* Frameworks */, - 97C146EC1CF9000F007C117D /* Resources */, - 9705A1C41CF9048500538489 /* Embed Frameworks */, - 3B06AD1E1E4923F5004D2608 /* Thin Binary */, - 46A64A04299681F5003FC4F3 /* ShellScript */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = Runner; - packageProductDependencies = ( - 78A3181F2AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage */, - ); - productName = Runner; - productReference = 97C146EE1CF9000F007C117D /* Runner.app */; - productType = "com.apple.product-type.application"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - 97C146E61CF9000F007C117D /* Project object */ = { - isa = PBXProject; - attributes = { - LastUpgradeCheck = 1510; - ORGANIZATIONNAME = ""; - TargetAttributes = { - 97C146ED1CF9000F007C117D = { - CreatedOnToolsVersion = 7.3.1; - }; - }; - }; - buildConfigurationList = 97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */; - compatibilityVersion = "Xcode 9.3"; - developmentRegion = en; - hasScannedForEncodings = 0; - knownRegions = ( - en, - Base, - ); - mainGroup = 97C146E51CF9000F007C117D; - packageReferences = ( - 781AD8BC2B33823900A9FFBB /* XCLocalSwiftPackageReference "FlutterGeneratedPluginSwiftPackage" */, - ); - productRefGroup = 97C146EF1CF9000F007C117D /* Products */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - 97C146ED1CF9000F007C117D /* Runner */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXResourcesBuildPhase section */ - 97C146EC1CF9000F007C117D /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 4627F94B299406540090DA25 /* GoogleService-Info.plist in Resources */, - 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */, - 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */, - 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */, - 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXShellScriptBuildPhase section */ - 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { - isa = PBXShellScriptBuildPhase; - alwaysOutOfDate = 1; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}", - ); - name = "Thin Binary"; - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; - }; - 46A64A04299681F5003FC4F3 /* ShellScript */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - ); - inputPaths = ( - ); - outputFileListPaths = ( - ); - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "# Type a script or drag a script file from your workspace to insert its path.\necho \"YYYYYYYY: ${CONFIGURATION}\"\n"; - }; - 9740EEB61CF901F6004384FC /* Run Script */ = { - isa = PBXShellScriptBuildPhase; - alwaysOutOfDate = 1; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - name = "Run Script"; - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build\n"; - }; -/* End PBXShellScriptBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - 97C146EA1CF9000F007C117D /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 978B8F6F1D3862AE00F588F7 /* AppDelegate.m in Sources */, - 97C146F31CF9000F007C117D /* main.m in Sources */, - 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin PBXVariantGroup section */ - 97C146FA1CF9000F007C117D /* Main.storyboard */ = { - isa = PBXVariantGroup; - children = ( - 97C146FB1CF9000F007C117D /* Base */, - ); - name = Main.storyboard; - sourceTree = ""; - }; - 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */ = { - isa = PBXVariantGroup; - children = ( - 97C147001CF9000F007C117D /* Base */, - ); - name = LaunchScreen.storyboard; - sourceTree = ""; - }; -/* End PBXVariantGroup section */ - -/* Begin XCBuildConfiguration section */ - 249021D3217E4FDB00AE95B9 /* Profile */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 15.0; - MTL_ENABLE_DEBUG_INFO = NO; - SDKROOT = iphoneos; - SUPPORTED_PLATFORMS = iphoneos; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - }; - name = Profile; - }; - 249021D4217E4FDB00AE95B9 /* Profile */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; - buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements; - CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; - DEVELOPMENT_TEAM = YYX2P3XVJ7; - ENABLE_BITCODE = NO; - INFOPLIST_FILE = Runner/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = io.flutter.plugins.firebase.appcheck.example; - PRODUCT_NAME = "$(TARGET_NAME)"; - VERSIONING_SYSTEM = "apple-generic"; - }; - name = Profile; - }; - 97C147031CF9000F007C117D /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = dwarf; - ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_TESTABILITY = YES; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_DYNAMIC_NO_PIC = NO; - GCC_NO_COMMON_BLOCKS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 15.0; - MTL_ENABLE_DEBUG_INFO = YES; - ONLY_ACTIVE_ARCH = YES; - SDKROOT = iphoneos; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Debug; - }; - 97C147041CF9000F007C117D /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 15.0; - MTL_ENABLE_DEBUG_INFO = NO; - SDKROOT = iphoneos; - SUPPORTED_PLATFORMS = iphoneos; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; - 97C147061CF9000F007C117D /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */; - buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements; - CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; - DEVELOPMENT_TEAM = YYX2P3XVJ7; - ENABLE_BITCODE = NO; - INFOPLIST_FILE = Runner/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = io.flutter.plugins.firebase.appcheck.example; - PRODUCT_NAME = "$(TARGET_NAME)"; - VERSIONING_SYSTEM = "apple-generic"; - }; - name = Debug; - }; - 97C147071CF9000F007C117D /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; - buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CODE_SIGN_ENTITLEMENTS = Runner/RunnerRelease.entitlements; - CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; - DEVELOPMENT_TEAM = YYX2P3XVJ7; - ENABLE_BITCODE = NO; - INFOPLIST_FILE = Runner/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = io.flutter.plugins.firebase.appcheck.example; - PRODUCT_NAME = "$(TARGET_NAME)"; - VERSIONING_SYSTEM = "apple-generic"; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 97C147031CF9000F007C117D /* Debug */, - 97C147041CF9000F007C117D /* Release */, - 249021D3217E4FDB00AE95B9 /* Profile */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 97C147061CF9000F007C117D /* Debug */, - 97C147071CF9000F007C117D /* Release */, - 249021D4217E4FDB00AE95B9 /* Profile */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - -/* Begin XCLocalSwiftPackageReference section */ - 781AD8BC2B33823900A9FFBB /* XCLocalSwiftPackageReference "FlutterGeneratedPluginSwiftPackage" */ = { - isa = XCLocalSwiftPackageReference; - relativePath = Flutter/ephemeral/Packages/FlutterGeneratedPluginSwiftPackage; - }; -/* End XCLocalSwiftPackageReference section */ - -/* Begin XCSwiftPackageProductDependency section */ - 78A3181F2AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage */ = { - isa = XCSwiftPackageProductDependency; - productName = FlutterGeneratedPluginSwiftPackage; - }; -/* End XCSwiftPackageProductDependency section */ - }; - rootObject = 97C146E61CF9000F007C117D /* Project object */; -} diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata deleted file mode 100644 index 919434a6..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata +++ /dev/null @@ -1,7 +0,0 @@ - - - - - diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist deleted file mode 100644 index 18d98100..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +++ /dev/null @@ -1,8 +0,0 @@ - - - - - IDEDidComputeMac32BitWarning - - - diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings deleted file mode 100644 index f9b0d7c5..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings +++ /dev/null @@ -1,8 +0,0 @@ - - - - - PreviewsEnabled - - - diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme deleted file mode 100644 index 8a6c683e..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ /dev/null @@ -1,114 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner.xcworkspace/contents.xcworkspacedata b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner.xcworkspace/contents.xcworkspacedata deleted file mode 100644 index 21a3cc14..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner.xcworkspace/contents.xcworkspacedata +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist deleted file mode 100644 index 18d98100..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +++ /dev/null @@ -1,8 +0,0 @@ - - - - - IDEDidComputeMac32BitWarning - - - diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings deleted file mode 100644 index f9b0d7c5..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings +++ /dev/null @@ -1,8 +0,0 @@ - - - - - PreviewsEnabled - - - diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/AppDelegate.h b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/AppDelegate.h deleted file mode 100644 index 01e6e1d4..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/AppDelegate.h +++ /dev/null @@ -1,6 +0,0 @@ -#import -#import - -@interface AppDelegate : FlutterAppDelegate - -@end diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/AppDelegate.m b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/AppDelegate.m deleted file mode 100644 index 7171162c..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/AppDelegate.m +++ /dev/null @@ -1,16 +0,0 @@ -#import "AppDelegate.h" -#import "GeneratedPluginRegistrant.h" -@import Firebase; - -@implementation AppDelegate - -- (BOOL)application:(UIApplication *)application - didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { - return [super application:application didFinishLaunchingWithOptions:launchOptions]; -} - -- (void)didInitializeImplicitFlutterEngine:(NSObject *)engineBridge { - [GeneratedPluginRegistrant registerWithRegistry:engineBridge.pluginRegistry]; -} - -@end diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json deleted file mode 100644 index d36b1fab..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json +++ /dev/null @@ -1,122 +0,0 @@ -{ - "images" : [ - { - "size" : "20x20", - "idiom" : "iphone", - "filename" : "Icon-App-20x20@2x.png", - "scale" : "2x" - }, - { - "size" : "20x20", - "idiom" : "iphone", - "filename" : "Icon-App-20x20@3x.png", - "scale" : "3x" - }, - { - "size" : "29x29", - "idiom" : "iphone", - "filename" : "Icon-App-29x29@1x.png", - "scale" : "1x" - }, - { - "size" : "29x29", - "idiom" : "iphone", - "filename" : "Icon-App-29x29@2x.png", - "scale" : "2x" - }, - { - "size" : "29x29", - "idiom" : "iphone", - "filename" : "Icon-App-29x29@3x.png", - "scale" : "3x" - }, - { - "size" : "40x40", - "idiom" : "iphone", - "filename" : "Icon-App-40x40@2x.png", - "scale" : "2x" - }, - { - "size" : "40x40", - "idiom" : "iphone", - "filename" : "Icon-App-40x40@3x.png", - "scale" : "3x" - }, - { - "size" : "60x60", - "idiom" : "iphone", - "filename" : "Icon-App-60x60@2x.png", - "scale" : "2x" - }, - { - "size" : "60x60", - "idiom" : "iphone", - "filename" : "Icon-App-60x60@3x.png", - "scale" : "3x" - }, - { - "size" : "20x20", - "idiom" : "ipad", - "filename" : "Icon-App-20x20@1x.png", - "scale" : "1x" - }, - { - "size" : "20x20", - "idiom" : "ipad", - "filename" : "Icon-App-20x20@2x.png", - "scale" : "2x" - }, - { - "size" : "29x29", - "idiom" : "ipad", - "filename" : "Icon-App-29x29@1x.png", - "scale" : "1x" - }, - { - "size" : "29x29", - "idiom" : "ipad", - "filename" : "Icon-App-29x29@2x.png", - "scale" : "2x" - }, - { - "size" : "40x40", - "idiom" : "ipad", - "filename" : "Icon-App-40x40@1x.png", - "scale" : "1x" - }, - { - "size" : "40x40", - "idiom" : "ipad", - "filename" : "Icon-App-40x40@2x.png", - "scale" : "2x" - }, - { - "size" : "76x76", - "idiom" : "ipad", - "filename" : "Icon-App-76x76@1x.png", - "scale" : "1x" - }, - { - "size" : "76x76", - "idiom" : "ipad", - "filename" : "Icon-App-76x76@2x.png", - "scale" : "2x" - }, - { - "size" : "83.5x83.5", - "idiom" : "ipad", - "filename" : "Icon-App-83.5x83.5@2x.png", - "scale" : "2x" - }, - { - "size" : "1024x1024", - "idiom" : "ios-marketing", - "filename" : "Icon-App-1024x1024@1x.png", - "scale" : "1x" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png deleted file mode 100644 index dc9ada47..00000000 Binary files a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png and /dev/null differ diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png deleted file mode 100644 index 28c6bf03..00000000 Binary files a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png and /dev/null differ diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png deleted file mode 100644 index 2ccbfd96..00000000 Binary files a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png and /dev/null differ diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png deleted file mode 100644 index f091b6b0..00000000 Binary files a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png and /dev/null differ diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png deleted file mode 100644 index 4cde1211..00000000 Binary files a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png and /dev/null differ diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png deleted file mode 100644 index d0ef06e7..00000000 Binary files a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png and /dev/null differ diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png deleted file mode 100644 index dcdc2306..00000000 Binary files a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png and /dev/null differ diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png deleted file mode 100644 index 2ccbfd96..00000000 Binary files a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png and /dev/null differ diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png deleted file mode 100644 index c8f9ed8f..00000000 Binary files a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png and /dev/null differ diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png deleted file mode 100644 index a6d6b860..00000000 Binary files a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png and /dev/null differ diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png deleted file mode 100644 index a6d6b860..00000000 Binary files a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png and /dev/null differ diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png deleted file mode 100644 index 75b2d164..00000000 Binary files a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png and /dev/null differ diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png deleted file mode 100644 index c4df70d3..00000000 Binary files a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png and /dev/null differ diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png deleted file mode 100644 index 6a84f41e..00000000 Binary files a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png and /dev/null differ diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png deleted file mode 100644 index d0e1f585..00000000 Binary files a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png and /dev/null differ diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json deleted file mode 100644 index 0bedcf2f..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "images" : [ - { - "idiom" : "universal", - "filename" : "LaunchImage.png", - "scale" : "1x" - }, - { - "idiom" : "universal", - "filename" : "LaunchImage@2x.png", - "scale" : "2x" - }, - { - "idiom" : "universal", - "filename" : "LaunchImage@3x.png", - "scale" : "3x" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png deleted file mode 100644 index 9da19eac..00000000 Binary files a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png and /dev/null differ diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png deleted file mode 100644 index 9da19eac..00000000 Binary files a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png and /dev/null differ diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png deleted file mode 100644 index 9da19eac..00000000 Binary files a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png and /dev/null differ diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md deleted file mode 100644 index 89c2725b..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md +++ /dev/null @@ -1,5 +0,0 @@ -# Launch Screen Assets - -You can customize the launch screen with your own desired assets by replacing the image files in this directory. - -You can also do it by opening your Flutter project's Xcode project with `open ios/Runner.xcworkspace`, selecting `Runner/Assets.xcassets` in the Project Navigator and dropping in the desired images. \ No newline at end of file diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Base.lproj/LaunchScreen.storyboard b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Base.lproj/LaunchScreen.storyboard deleted file mode 100644 index f2e259c7..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Base.lproj/LaunchScreen.storyboard +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Base.lproj/Main.storyboard b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Base.lproj/Main.storyboard deleted file mode 100644 index f3c28516..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Base.lproj/Main.storyboard +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/GoogleService-Info.plist b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/GoogleService-Info.plist deleted file mode 100644 index 7e2f0dcb..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/GoogleService-Info.plist +++ /dev/null @@ -1,38 +0,0 @@ - - - - - CLIENT_ID - 406099696497-17cfsesi620nhia0sck4map450gngkoh.apps.googleusercontent.com - REVERSED_CLIENT_ID - com.googleusercontent.apps.406099696497-17cfsesi620nhia0sck4map450gngkoh - ANDROID_CLIENT_ID - 406099696497-17qn06u8a0dc717u8ul7s49ampk13lul.apps.googleusercontent.com - API_KEY - AIzaSyDooSUGSf63Ghq02_iIhtnmwMDs4HlWS6c - GCM_SENDER_ID - 406099696497 - PLIST_VERSION - 1 - BUNDLE_ID - io.flutter.plugins.firebase.appcheck.example - PROJECT_ID - flutterfire-e2e-tests - STORAGE_BUCKET - flutterfire-e2e-tests.appspot.com - IS_ADS_ENABLED - - IS_ANALYTICS_ENABLED - - IS_APPINVITE_ENABLED - - IS_GCM_ENABLED - - IS_SIGNIN_ENABLED - - GOOGLE_APP_ID - 1:406099696497:ios:bd8702ba3865bb333574d0 - DATABASE_URL - https://flutterfire-e2e-tests-default-rtdb.europe-west1.firebasedatabase.app - - \ No newline at end of file diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Info.plist b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Info.plist deleted file mode 100644 index 3a8a7a2f..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Info.plist +++ /dev/null @@ -1,70 +0,0 @@ - - - - - CADisableMinimumFrameDurationOnPhone - - CFBundleDevelopmentRegion - $(DEVELOPMENT_LANGUAGE) - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - example - CFBundlePackageType - APPL - CFBundleShortVersionString - $(FLUTTER_BUILD_NAME) - CFBundleSignature - ???? - CFBundleVersion - $(FLUTTER_BUILD_NUMBER) - LSRequiresIPhoneOS - - UILaunchStoryboardName - LaunchScreen - UIMainStoryboardFile - Main - UISupportedInterfaceOrientations - - UIInterfaceOrientationPortrait - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - UISupportedInterfaceOrientations~ipad - - UIInterfaceOrientationPortrait - UIInterfaceOrientationPortraitUpsideDown - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - UIViewControllerBasedStatusBarAppearance - - UIApplicationSupportsIndirectInputEvents - - UIApplicationSceneManifest - - UIApplicationSupportsMultipleScenes - - UISceneConfigurations - - UIWindowSceneSessionRoleApplication - - - UISceneClassName - UIWindowScene - UISceneDelegateClassName - FlutterSceneDelegate - UISceneConfigurationName - flutter - UISceneStoryboardFile - Main - - - - - - diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Runner.entitlements b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Runner.entitlements deleted file mode 100644 index 70084b41..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Runner.entitlements +++ /dev/null @@ -1,8 +0,0 @@ - - - - - com.apple.developer.devicecheck.appattest-environment - development - - diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/RunnerRelease.entitlements b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/RunnerRelease.entitlements deleted file mode 100644 index 70084b41..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/RunnerRelease.entitlements +++ /dev/null @@ -1,8 +0,0 @@ - - - - - com.apple.developer.devicecheck.appattest-environment - development - - diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/main.m b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/main.m deleted file mode 100644 index dff6597e..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/main.m +++ /dev/null @@ -1,9 +0,0 @@ -#import -#import -#import "AppDelegate.h" - -int main(int argc, char* argv[]) { - @autoreleasepool { - return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); - } -} diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/ios/firebase_app_id_file.json b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/ios/firebase_app_id_file.json deleted file mode 100644 index ab0e60a0..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/ios/firebase_app_id_file.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "file_generated_by": "FlutterFire CLI", - "purpose": "FirebaseAppID & ProjectID for this Firebase app in this directory", - "GOOGLE_APP_ID": "1:406099696497:ios:bd8702ba3865bb333574d0", - "FIREBASE_PROJECT_ID": "flutterfire-e2e-tests", - "GCM_SENDER_ID": "406099696497" -} \ No newline at end of file diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/lib/firebase_options.dart b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/lib/firebase_options.dart deleted file mode 100644 index 8bbd98af..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/lib/firebase_options.dart +++ /dev/null @@ -1,98 +0,0 @@ -// Copyright 2022, the Chromium project authors. Please see the AUTHORS file -// for details. All rights reserved. Use of this source code is governed by a -// BSD-style license that can be found in the LICENSE file. - -// File generated by FlutterFire CLI. -// ignore_for_file: type=lint -import 'package:firebase_core/firebase_core.dart' show FirebaseOptions; -import 'package:flutter/foundation.dart' - show defaultTargetPlatform, kIsWeb, TargetPlatform; - -/// Default [FirebaseOptions] for use with your Firebase apps. -/// -/// Example: -/// ```dart -/// import 'firebase_options.dart'; -/// // ... -/// await Firebase.initializeApp( -/// options: DefaultFirebaseOptions.currentPlatform, -/// ); -/// ``` -class DefaultFirebaseOptions { - static FirebaseOptions get currentPlatform { - if (kIsWeb) { - return web; - } - switch (defaultTargetPlatform) { - case TargetPlatform.android: - return android; - case TargetPlatform.iOS: - return ios; - case TargetPlatform.macOS: - return macos; - case TargetPlatform.windows: - return web; - case TargetPlatform.linux: - throw UnsupportedError( - 'DefaultFirebaseOptions have not been configured for linux - ' - 'you can reconfigure this by running the FlutterFire CLI again.', - ); - default: - throw UnsupportedError( - 'DefaultFirebaseOptions are not supported for this platform.', - ); - } - } - - static const FirebaseOptions web = FirebaseOptions( - apiKey: 'AIzaSyB7wZb2tO1-Fs6GbDADUSTs2Qs3w08Hovw', - appId: '1:406099696497:web:87e25e51afe982cd3574d0', - messagingSenderId: '406099696497', - projectId: 'flutterfire-e2e-tests', - authDomain: 'flutterfire-e2e-tests.firebaseapp.com', - databaseURL: - 'https://flutterfire-e2e-tests-default-rtdb.europe-west1.firebasedatabase.app', - storageBucket: 'flutterfire-e2e-tests.appspot.com', - measurementId: 'G-JN95N1JV2E', - ); - - static const FirebaseOptions android = FirebaseOptions( - apiKey: 'AIzaSyCdRjCVZlhrq72RuEklEyyxYlBRCYhI2Sw', - appId: '1:406099696497:android:a241c4b471513a203574d0', - messagingSenderId: '406099696497', - projectId: 'flutterfire-e2e-tests', - databaseURL: - 'https://flutterfire-e2e-tests-default-rtdb.europe-west1.firebasedatabase.app', - storageBucket: 'flutterfire-e2e-tests.appspot.com', - ); - - static const FirebaseOptions ios = FirebaseOptions( - apiKey: 'AIzaSyDooSUGSf63Ghq02_iIhtnmwMDs4HlWS6c', - appId: '1:406099696497:ios:bd8702ba3865bb333574d0', - messagingSenderId: '406099696497', - projectId: 'flutterfire-e2e-tests', - databaseURL: - 'https://flutterfire-e2e-tests-default-rtdb.europe-west1.firebasedatabase.app', - storageBucket: 'flutterfire-e2e-tests.appspot.com', - androidClientId: - '406099696497-17qn06u8a0dc717u8ul7s49ampk13lul.apps.googleusercontent.com', - iosClientId: - '406099696497-17cfsesi620nhia0sck4map450gngkoh.apps.googleusercontent.com', - iosBundleId: 'io.flutter.plugins.firebase.appcheck.example', - ); - - static const FirebaseOptions macos = FirebaseOptions( - apiKey: 'AIzaSyDooSUGSf63Ghq02_iIhtnmwMDs4HlWS6c', - appId: '1:406099696497:ios:bd8702ba3865bb333574d0', - messagingSenderId: '406099696497', - projectId: 'flutterfire-e2e-tests', - databaseURL: - 'https://flutterfire-e2e-tests-default-rtdb.europe-west1.firebasedatabase.app', - storageBucket: 'flutterfire-e2e-tests.appspot.com', - androidClientId: - '406099696497-17qn06u8a0dc717u8ul7s49ampk13lul.apps.googleusercontent.com', - iosClientId: - '406099696497-17cfsesi620nhia0sck4map450gngkoh.apps.googleusercontent.com', - iosBundleId: 'io.flutter.plugins.firebase.appcheck.example', - ); -} diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/lib/main.dart b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/lib/main.dart deleted file mode 100644 index 8f26c643..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/lib/main.dart +++ /dev/null @@ -1,249 +0,0 @@ -// Copyright 2022, the Chromium project authors. Please see the AUTHORS file -// for details. All rights reserved. Use of this source code is governed by a -// BSD-style license that can be found in the LICENSE file. - -// ignore_for_file: do_not_use_environment - -import 'package:cloud_firestore/cloud_firestore.dart'; -import 'package:firebase_app_check/firebase_app_check.dart'; -import 'package:firebase_core/firebase_core.dart'; -import 'package:flutter/foundation.dart'; -import 'package:flutter/material.dart'; - -import 'firebase_options.dart'; - -const kWebRecaptchaSiteKey = '6Lemcn0dAAAAABLkf6aiiHvpGD6x-zF3nOSDU2M8'; - -// Windows: create a debug token in the Firebase Console -// (App Check > Apps > Manage debug tokens), then paste it here -// or set the APP_CHECK_DEBUG_TOKEN environment variable. -const kWindowsDebugToken = String.fromEnvironment( - 'APP_CHECK_DEBUG_TOKEN', - // ignore: avoid_redundant_argument_values - defaultValue: '', -); - -Future main() async { - WidgetsFlutterBinding.ensureInitialized(); - await Firebase.initializeApp( - options: DefaultFirebaseOptions.currentPlatform, - ); - - // Activate app check after initialization, but before - // usage of any Firebase services. - await FirebaseAppCheck.instance.activate( - providerWeb: kDebugMode - ? WebDebugProvider() - : ReCaptchaV3Provider(kWebRecaptchaSiteKey), - providerAndroid: const AndroidDebugProvider(), - providerApple: const AppleDebugProvider(), - // On Windows, only the debug provider is available. - // You must supply a debug token — the desktop C++ SDK does not - // auto-generate one. Create one in the Firebase Console under - // App Check > Apps > Manage debug tokens, then either: - // - pass it via --dart-define=APP_CHECK_DEBUG_TOKEN= - // - or set the APP_CHECK_DEBUG_TOKEN environment variable - providerWindows: WindowsDebugProvider( - debugToken: kWindowsDebugToken.isNotEmpty ? kWindowsDebugToken : null, - ), - ); - - runApp(MyApp()); -} - -class MyApp extends StatelessWidget { - final String title = 'Firebase App Check'; - - @override - Widget build(BuildContext context) { - return MaterialApp( - title: 'Firebase App Check', - home: FirebaseAppCheckExample(title: title), - ); - } -} - -class FirebaseAppCheckExample extends StatefulWidget { - FirebaseAppCheckExample({ - Key? key, - required this.title, - }) : super(key: key); - - final String title; - - @override - _FirebaseAppCheck createState() => _FirebaseAppCheck(); -} - -class _FirebaseAppCheck extends State { - final appCheck = FirebaseAppCheck.instance; - String _message = ''; - String _eventToken = 'not yet'; - - @override - void initState() { - appCheck.onTokenChange.listen(setEventToken); - super.initState(); - } - - void setMessage(String message) { - setState(() { - _message = message; - }); - } - - void setEventToken(String? token) { - setState(() { - _eventToken = token ?? 'not yet'; - }); - } - - Future _activate({ - AndroidAppCheckProvider? android, - AppleAppCheckProvider? apple, - WindowsAppCheckProvider? windows, - }) async { - try { - await appCheck.activate( - providerAndroid: android ?? const AndroidPlayIntegrityProvider(), - providerApple: apple ?? const AppleDeviceCheckProvider(), - providerWeb: ReCaptchaV3Provider(kWebRecaptchaSiteKey), - providerWindows: windows ?? const WindowsDebugProvider(), - ); - final providerName = windows?.runtimeType.toString() ?? - apple?.runtimeType.toString() ?? - android?.runtimeType.toString() ?? - 'default'; - setMessage('Activated with $providerName'); - } catch (e) { - setMessage('activate error: $e'); - } - } - - @override - Widget build(BuildContext context) { - return Scaffold( - appBar: AppBar( - title: Text(widget.title), - ), - body: SingleChildScrollView( - padding: const EdgeInsets.all(16), - child: Column( - crossAxisAlignment: CrossAxisAlignment.stretch, - children: [ - const Text( - 'Providers', - style: TextStyle(fontSize: 18, fontWeight: FontWeight.bold), - ), - const SizedBox(height: 8), - ElevatedButton( - onPressed: () => _activate( - android: const AndroidDebugProvider(), - apple: const AppleDebugProvider(), - windows: WindowsDebugProvider( - debugToken: - kWindowsDebugToken.isNotEmpty ? kWindowsDebugToken : null, - ), - ), - child: const Text('activate(Debug)'), - ), - ElevatedButton( - onPressed: () => _activate( - android: const AndroidPlayIntegrityProvider(), - apple: const AppleDeviceCheckProvider(), - ), - child: const Text('activate(PlayIntegrity / DeviceCheck)'), - ), - if (!kIsWeb) - ElevatedButton( - onPressed: () => _activate( - apple: const AppleAppAttestProvider(), - ), - child: const Text('activate(AppAttest)'), - ), - if (!kIsWeb) - ElevatedButton( - onPressed: () => _activate( - apple: const AppleAppAttestWithDeviceCheckFallbackProvider(), - ), - child: const Text( - 'activate(AppAttest + DeviceCheck fallback)', - ), - ), - const SizedBox(height: 16), - const Text( - 'Actions', - style: TextStyle(fontSize: 18, fontWeight: FontWeight.bold), - ), - const SizedBox(height: 8), - ElevatedButton( - onPressed: () async { - try { - final token = await appCheck.getToken(true); - setMessage('Token: ${token?.substring(0, 20)}...'); - } catch (e) { - setMessage('getToken error: $e'); - } - }, - child: const Text('getToken(forceRefresh: true)'), - ), - ElevatedButton( - onPressed: () async { - try { - final token = await appCheck.getLimitedUseToken(); - setMessage( - 'Limited use token: ${token.substring(0, 20)}...', - ); - } catch (e) { - setMessage('getLimitedUseToken error: $e'); - } - }, - child: const Text('getLimitedUseToken()'), - ), - ElevatedButton( - onPressed: () async { - await appCheck.setTokenAutoRefreshEnabled(true); - setMessage('Token auto-refresh enabled'); - }, - child: const Text('setTokenAutoRefreshEnabled(true)'), - ), - ElevatedButton( - onPressed: () async { - try { - final result = await FirebaseFirestore.instance - .collection('flutter-tests') - .limit(1) - .get(); - setMessage( - result.docs.isNotEmpty - ? 'Firestore: Document found' - : 'Firestore: No documents', - ); - } catch (e) { - setMessage('Firestore error: $e'); - } - }, - child: const Text('Test Firestore with App Check'), - ), - const SizedBox(height: 20), - Text( - _message, - style: const TextStyle( - color: Color.fromRGBO(47, 79, 79, 1), - fontSize: 16, - ), - ), - const SizedBox(height: 20), - Text( - 'Token from onTokenChange: $_eventToken', - style: const TextStyle( - color: Color.fromRGBO(128, 0, 128, 1), - fontSize: 14, - ), - ), - ], - ), - ), - ); - } -} diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/macos/Flutter/Flutter-Debug.xcconfig b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/macos/Flutter/Flutter-Debug.xcconfig deleted file mode 100644 index 4b81f9b2..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/macos/Flutter/Flutter-Debug.xcconfig +++ /dev/null @@ -1,2 +0,0 @@ -#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig" -#include "ephemeral/Flutter-Generated.xcconfig" diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/macos/Flutter/Flutter-Release.xcconfig b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/macos/Flutter/Flutter-Release.xcconfig deleted file mode 100644 index 5caa9d15..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/macos/Flutter/Flutter-Release.xcconfig +++ /dev/null @@ -1,2 +0,0 @@ -#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig" -#include "ephemeral/Flutter-Generated.xcconfig" diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/macos/Podfile b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/macos/Podfile deleted file mode 100644 index ff5ddb3b..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/macos/Podfile +++ /dev/null @@ -1,42 +0,0 @@ -platform :osx, '10.15' - -# CocoaPods analytics sends network stats synchronously affecting flutter build latency. -ENV['COCOAPODS_DISABLE_STATS'] = 'true' - -project 'Runner', { - 'Debug' => :debug, - 'Profile' => :release, - 'Release' => :release, -} - -def flutter_root - generated_xcode_build_settings_path = File.expand_path(File.join('..', 'Flutter', 'ephemeral', 'Flutter-Generated.xcconfig'), __FILE__) - unless File.exist?(generated_xcode_build_settings_path) - raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually, make sure \"flutter pub get\" is executed first" - end - - File.foreach(generated_xcode_build_settings_path) do |line| - matches = line.match(/FLUTTER_ROOT\=(.*)/) - return matches[1].strip if matches - end - raise "FLUTTER_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Flutter-Generated.xcconfig, then run \"flutter pub get\"" -end - -require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root) - -flutter_macos_podfile_setup - -target 'Runner' do - use_frameworks! - - flutter_install_all_macos_pods File.dirname(File.realpath(__FILE__)) - target 'RunnerTests' do - inherit! :search_paths - end -end - -post_install do |installer| - installer.pods_project.targets.each do |target| - flutter_additional_macos_build_settings(target) - end -end diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/macos/Runner.xcodeproj/project.pbxproj b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/macos/Runner.xcodeproj/project.pbxproj deleted file mode 100644 index c0dc3860..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/macos/Runner.xcodeproj/project.pbxproj +++ /dev/null @@ -1,613 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 54; - objects = { - -/* Begin PBXAggregateTarget section */ - 33CC111A2044C6BA0003C045 /* Flutter Assemble */ = { - isa = PBXAggregateTarget; - buildConfigurationList = 33CC111B2044C6BA0003C045 /* Build configuration list for PBXAggregateTarget "Flutter Assemble" */; - buildPhases = ( - 33CC111E2044C6BF0003C045 /* ShellScript */, - ); - dependencies = ( - ); - name = "Flutter Assemble"; - productName = FLX; - }; -/* End PBXAggregateTarget section */ - -/* Begin PBXBuildFile section */ - 25624AEC275E1E7900B1E491 /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 25624AEB275E1E7900B1E491 /* GoogleService-Info.plist */; }; - 335BBD1B22A9A15E00E9071D /* GeneratedPluginRegistrant.swift in Sources */ = {isa = PBXBuildFile; fileRef = 335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */; }; - 33CC10F12044A3C60003C045 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC10F02044A3C60003C045 /* AppDelegate.swift */; }; - 33CC10F32044A3C60003C045 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F22044A3C60003C045 /* Assets.xcassets */; }; - 33CC10F62044A3C60003C045 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F42044A3C60003C045 /* MainMenu.xib */; }; - 33CC11132044BFA00003C045 /* MainFlutterWindow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */; }; - 78A318202AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage in Frameworks */ = {isa = PBXBuildFile; productRef = 78A3181F2AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage */; }; -/* End PBXBuildFile section */ - -/* Begin PBXContainerItemProxy section */ - 33CC111F2044C79F0003C045 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 33CC10E52044A3C60003C045 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 33CC111A2044C6BA0003C045; - remoteInfo = FLX; - }; -/* End PBXContainerItemProxy section */ - -/* Begin PBXCopyFilesBuildPhase section */ - 33CC110E2044A8840003C045 /* Bundle Framework */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = ""; - dstSubfolderSpec = 10; - files = ( - ); - name = "Bundle Framework"; - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXCopyFilesBuildPhase section */ - -/* Begin PBXFileReference section */ - 0DC934EE60634F0D37DD0EC3 /* GoogleService-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; name = "GoogleService-Info.plist"; path = "Runner/GoogleService-Info.plist"; sourceTree = ""; }; - 25624AEB275E1E7900B1E491 /* GoogleService-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "GoogleService-Info.plist"; sourceTree = ""; }; - 333000ED22D3DE5D00554162 /* Warnings.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Warnings.xcconfig; sourceTree = ""; }; - 335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GeneratedPluginRegistrant.swift; sourceTree = ""; }; - 33CC10ED2044A3C60003C045 /* firebase_app_check_example.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = firebase_app_check_example.app; sourceTree = BUILT_PRODUCTS_DIR; }; - 33CC10F02044A3C60003C045 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; - 33CC10F22044A3C60003C045 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Assets.xcassets; path = Runner/Assets.xcassets; sourceTree = ""; }; - 33CC10F52044A3C60003C045 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/MainMenu.xib; sourceTree = ""; }; - 33CC10F72044A3C60003C045 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = Info.plist; path = Runner/Info.plist; sourceTree = ""; }; - 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MainFlutterWindow.swift; sourceTree = ""; }; - 33CEB47222A05771004F2AC0 /* Flutter-Debug.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Flutter-Debug.xcconfig"; sourceTree = ""; }; - 33CEB47422A05771004F2AC0 /* Flutter-Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Flutter-Release.xcconfig"; sourceTree = ""; }; - 33CEB47722A0578A004F2AC0 /* Flutter-Generated.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = "Flutter-Generated.xcconfig"; path = "ephemeral/Flutter-Generated.xcconfig"; sourceTree = ""; }; - 33E51913231747F40026EE4D /* DebugProfile.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = DebugProfile.entitlements; sourceTree = ""; }; - 33E51914231749380026EE4D /* Release.entitlements */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.entitlements; path = Release.entitlements; sourceTree = ""; }; - 33E5194F232828860026EE4D /* AppInfo.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = AppInfo.xcconfig; sourceTree = ""; }; - 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Release.xcconfig; sourceTree = ""; }; - 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Debug.xcconfig; sourceTree = ""; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - 33CC10EA2044A3C60003C045 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 78A318202AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 33BA886A226E78AF003329D5 /* Configs */ = { - isa = PBXGroup; - children = ( - 33E5194F232828860026EE4D /* AppInfo.xcconfig */, - 9740EEB21CF90195004384FC /* Debug.xcconfig */, - 7AFA3C8E1D35360C0083082E /* Release.xcconfig */, - 333000ED22D3DE5D00554162 /* Warnings.xcconfig */, - ); - path = Configs; - sourceTree = ""; - }; - 33CC10E42044A3C60003C045 = { - isa = PBXGroup; - children = ( - 33FAB671232836740065AC1E /* Runner */, - 33CEB47122A05771004F2AC0 /* Flutter */, - 33CC10EE2044A3C60003C045 /* Products */, - 74CB5F55BD11E25520F6FF45 /* Pods */, - 0DC934EE60634F0D37DD0EC3 /* GoogleService-Info.plist */, - ); - sourceTree = ""; - }; - 33CC10EE2044A3C60003C045 /* Products */ = { - isa = PBXGroup; - children = ( - 33CC10ED2044A3C60003C045 /* firebase_app_check_example.app */, - ); - name = Products; - sourceTree = ""; - }; - 33CC11242044D66E0003C045 /* Resources */ = { - isa = PBXGroup; - children = ( - 33CC10F22044A3C60003C045 /* Assets.xcassets */, - 33CC10F42044A3C60003C045 /* MainMenu.xib */, - 33CC10F72044A3C60003C045 /* Info.plist */, - ); - name = Resources; - path = ..; - sourceTree = ""; - }; - 33CEB47122A05771004F2AC0 /* Flutter */ = { - isa = PBXGroup; - children = ( - 335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */, - 33CEB47222A05771004F2AC0 /* Flutter-Debug.xcconfig */, - 33CEB47422A05771004F2AC0 /* Flutter-Release.xcconfig */, - 33CEB47722A0578A004F2AC0 /* Flutter-Generated.xcconfig */, - ); - path = Flutter; - sourceTree = ""; - }; - 33FAB671232836740065AC1E /* Runner */ = { - isa = PBXGroup; - children = ( - 25624AEB275E1E7900B1E491 /* GoogleService-Info.plist */, - 33CC10F02044A3C60003C045 /* AppDelegate.swift */, - 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */, - 33E51913231747F40026EE4D /* DebugProfile.entitlements */, - 33E51914231749380026EE4D /* Release.entitlements */, - 33CC11242044D66E0003C045 /* Resources */, - 33BA886A226E78AF003329D5 /* Configs */, - ); - path = Runner; - sourceTree = ""; - }; - 74CB5F55BD11E25520F6FF45 /* Pods */ = { - isa = PBXGroup; - children = ( - ); - path = Pods; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXNativeTarget section */ - 33CC10EC2044A3C60003C045 /* Runner */ = { - isa = PBXNativeTarget; - buildConfigurationList = 33CC10FB2044A3C60003C045 /* Build configuration list for PBXNativeTarget "Runner" */; - buildPhases = ( - 33CC10E92044A3C60003C045 /* Sources */, - 33CC10EA2044A3C60003C045 /* Frameworks */, - 33CC10EB2044A3C60003C045 /* Resources */, - 33CC110E2044A8840003C045 /* Bundle Framework */, - 3399D490228B24CF009A79C7 /* ShellScript */, - ); - buildRules = ( - ); - dependencies = ( - 33CC11202044C79F0003C045 /* PBXTargetDependency */, - ); - name = Runner; - packageProductDependencies = ( - 78A3181F2AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage */, - ); - productName = Runner; - productReference = 33CC10ED2044A3C60003C045 /* firebase_app_check_example.app */; - productType = "com.apple.product-type.application"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - 33CC10E52044A3C60003C045 /* Project object */ = { - isa = PBXProject; - attributes = { - LastSwiftUpdateCheck = 0920; - LastUpgradeCheck = 1510; - ORGANIZATIONNAME = ""; - TargetAttributes = { - 33CC10EC2044A3C60003C045 = { - CreatedOnToolsVersion = 9.2; - LastSwiftMigration = 1100; - ProvisioningStyle = Automatic; - SystemCapabilities = { - com.apple.Sandbox = { - enabled = 1; - }; - }; - }; - 33CC111A2044C6BA0003C045 = { - CreatedOnToolsVersion = 9.2; - ProvisioningStyle = Manual; - }; - }; - }; - buildConfigurationList = 33CC10E82044A3C60003C045 /* Build configuration list for PBXProject "Runner" */; - compatibilityVersion = "Xcode 9.3"; - developmentRegion = en; - hasScannedForEncodings = 0; - knownRegions = ( - en, - Base, - ); - mainGroup = 33CC10E42044A3C60003C045; - packageReferences = ( - 781AD8BC2B33823900A9FFBB /* XCLocalSwiftPackageReference "FlutterGeneratedPluginSwiftPackage" */, - ); - productRefGroup = 33CC10EE2044A3C60003C045 /* Products */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - 33CC10EC2044A3C60003C045 /* Runner */, - 33CC111A2044C6BA0003C045 /* Flutter Assemble */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXResourcesBuildPhase section */ - 33CC10EB2044A3C60003C045 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 33CC10F32044A3C60003C045 /* Assets.xcassets in Resources */, - 33CC10F62044A3C60003C045 /* MainMenu.xib in Resources */, - 25624AEC275E1E7900B1E491 /* GoogleService-Info.plist in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXShellScriptBuildPhase section */ - 3399D490228B24CF009A79C7 /* ShellScript */ = { - isa = PBXShellScriptBuildPhase; - alwaysOutOfDate = 1; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - ); - inputPaths = ( - ); - outputFileListPaths = ( - ); - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "echo \"$PRODUCT_NAME.app\" > \"$PROJECT_DIR\"/Flutter/ephemeral/.app_filename && \"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh embed\n"; - }; - 33CC111E2044C6BF0003C045 /* ShellScript */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - Flutter/ephemeral/FlutterInputs.xcfilelist, - ); - inputPaths = ( - Flutter/ephemeral/tripwire, - ); - outputFileListPaths = ( - Flutter/ephemeral/FlutterOutputs.xcfilelist, - ); - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh && touch Flutter/ephemeral/tripwire"; - }; -/* End PBXShellScriptBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - 33CC10E92044A3C60003C045 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 33CC11132044BFA00003C045 /* MainFlutterWindow.swift in Sources */, - 33CC10F12044A3C60003C045 /* AppDelegate.swift in Sources */, - 335BBD1B22A9A15E00E9071D /* GeneratedPluginRegistrant.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin PBXTargetDependency section */ - 33CC11202044C79F0003C045 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 33CC111A2044C6BA0003C045 /* Flutter Assemble */; - targetProxy = 33CC111F2044C79F0003C045 /* PBXContainerItemProxy */; - }; -/* End PBXTargetDependency section */ - -/* Begin PBXVariantGroup section */ - 33CC10F42044A3C60003C045 /* MainMenu.xib */ = { - isa = PBXVariantGroup; - children = ( - 33CC10F52044A3C60003C045 /* Base */, - ); - name = MainMenu.xib; - path = Runner; - sourceTree = ""; - }; -/* End PBXVariantGroup section */ - -/* Begin XCBuildConfiguration section */ - 338D0CE9231458BD00FA5F75 /* Profile */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CODE_SIGN_IDENTITY = "-"; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.15; - MTL_ENABLE_DEBUG_INFO = NO; - SDKROOT = macosx; - SWIFT_COMPILATION_MODE = wholemodule; - SWIFT_OPTIMIZATION_LEVEL = "-O"; - }; - name = Profile; - }; - 338D0CEA231458BD00FA5F75 /* Profile */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 33E5194F232828860026EE4D /* AppInfo.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CLANG_ENABLE_MODULES = YES; - CODE_SIGN_ENTITLEMENTS = Runner/DebugProfile.entitlements; - CODE_SIGN_IDENTITY = "-"; - CODE_SIGN_STYLE = Automatic; - COMBINE_HIDPI_IMAGES = YES; - INFOPLIST_FILE = Runner/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/../Frameworks", - ); - MACOSX_DEPLOYMENT_TARGET = 10.15; - PRODUCT_BUNDLE_IDENTIFIER = io.flutter.plugins.firebase.appcheck.example; - PROVISIONING_PROFILE_SPECIFIER = ""; - SWIFT_VERSION = 5.0; - }; - name = Profile; - }; - 338D0CEB231458BD00FA5F75 /* Profile */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_STYLE = Manual; - PRODUCT_NAME = "$(TARGET_NAME)"; - }; - name = Profile; - }; - 33CC10F92044A3C60003C045 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CODE_SIGN_IDENTITY = "-"; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = dwarf; - ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_TESTABILITY = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_DYNAMIC_NO_PIC = NO; - GCC_NO_COMMON_BLOCKS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.15; - MTL_ENABLE_DEBUG_INFO = YES; - ONLY_ACTIVE_ARCH = YES; - SDKROOT = macosx; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - }; - name = Debug; - }; - 33CC10FA2044A3C60003C045 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CODE_SIGN_IDENTITY = "-"; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.15; - MTL_ENABLE_DEBUG_INFO = NO; - SDKROOT = macosx; - SWIFT_COMPILATION_MODE = wholemodule; - SWIFT_OPTIMIZATION_LEVEL = "-O"; - }; - name = Release; - }; - 33CC10FC2044A3C60003C045 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 33E5194F232828860026EE4D /* AppInfo.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CLANG_ENABLE_MODULES = YES; - CODE_SIGN_ENTITLEMENTS = Runner/DebugProfile.entitlements; - CODE_SIGN_IDENTITY = "-"; - CODE_SIGN_STYLE = Automatic; - COMBINE_HIDPI_IMAGES = YES; - INFOPLIST_FILE = Runner/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/../Frameworks", - ); - MACOSX_DEPLOYMENT_TARGET = 10.15; - PRODUCT_BUNDLE_IDENTIFIER = io.flutter.plugins.firebase.appcheck.example; - PROVISIONING_PROFILE_SPECIFIER = ""; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 5.0; - }; - name = Debug; - }; - 33CC10FD2044A3C60003C045 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 33E5194F232828860026EE4D /* AppInfo.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CLANG_ENABLE_MODULES = YES; - CODE_SIGN_ENTITLEMENTS = Runner/Release.entitlements; - CODE_SIGN_IDENTITY = "-"; - CODE_SIGN_STYLE = Automatic; - COMBINE_HIDPI_IMAGES = YES; - INFOPLIST_FILE = Runner/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/../Frameworks", - ); - MACOSX_DEPLOYMENT_TARGET = 10.15; - PRODUCT_BUNDLE_IDENTIFIER = io.flutter.plugins.firebase.appcheck.example; - PROVISIONING_PROFILE_SPECIFIER = ""; - SWIFT_VERSION = 5.0; - }; - name = Release; - }; - 33CC111C2044C6BA0003C045 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_STYLE = Manual; - PRODUCT_NAME = "$(TARGET_NAME)"; - }; - name = Debug; - }; - 33CC111D2044C6BA0003C045 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_STYLE = Automatic; - PRODUCT_NAME = "$(TARGET_NAME)"; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 33CC10E82044A3C60003C045 /* Build configuration list for PBXProject "Runner" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 33CC10F92044A3C60003C045 /* Debug */, - 33CC10FA2044A3C60003C045 /* Release */, - 338D0CE9231458BD00FA5F75 /* Profile */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 33CC10FB2044A3C60003C045 /* Build configuration list for PBXNativeTarget "Runner" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 33CC10FC2044A3C60003C045 /* Debug */, - 33CC10FD2044A3C60003C045 /* Release */, - 338D0CEA231458BD00FA5F75 /* Profile */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 33CC111B2044C6BA0003C045 /* Build configuration list for PBXAggregateTarget "Flutter Assemble" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 33CC111C2044C6BA0003C045 /* Debug */, - 33CC111D2044C6BA0003C045 /* Release */, - 338D0CEB231458BD00FA5F75 /* Profile */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - -/* Begin XCLocalSwiftPackageReference section */ - 781AD8BC2B33823900A9FFBB /* XCLocalSwiftPackageReference "FlutterGeneratedPluginSwiftPackage" */ = { - isa = XCLocalSwiftPackageReference; - relativePath = Flutter/ephemeral/Packages/FlutterGeneratedPluginSwiftPackage; - }; -/* End XCLocalSwiftPackageReference section */ - -/* Begin XCSwiftPackageProductDependency section */ - 78A3181F2AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage */ = { - isa = XCSwiftPackageProductDependency; - productName = FlutterGeneratedPluginSwiftPackage; - }; -/* End XCSwiftPackageProductDependency section */ - }; - rootObject = 33CC10E52044A3C60003C045 /* Project object */; -} diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist deleted file mode 100644 index 18d98100..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +++ /dev/null @@ -1,8 +0,0 @@ - - - - - IDEDidComputeMac32BitWarning - - - diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme deleted file mode 100644 index 92a5c6f9..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ /dev/null @@ -1,105 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/macos/Runner.xcworkspace/contents.xcworkspacedata b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/macos/Runner.xcworkspace/contents.xcworkspacedata deleted file mode 100644 index 21a3cc14..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/macos/Runner.xcworkspace/contents.xcworkspacedata +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist deleted file mode 100644 index 18d98100..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +++ /dev/null @@ -1,8 +0,0 @@ - - - - - IDEDidComputeMac32BitWarning - - - diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/macos/Runner/AppDelegate.swift b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/macos/Runner/AppDelegate.swift deleted file mode 100644 index b3c17614..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/macos/Runner/AppDelegate.swift +++ /dev/null @@ -1,13 +0,0 @@ -import Cocoa -import FlutterMacOS - -@main -class AppDelegate: FlutterAppDelegate { - override func applicationShouldTerminateAfterLastWindowClosed(_ sender: NSApplication) -> Bool { - return true - } - - override func applicationSupportsSecureRestorableState(_ app: NSApplication) -> Bool { - return true - } -} diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json deleted file mode 100644 index a2ec33f1..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "images" : [ - { - "size" : "16x16", - "idiom" : "mac", - "filename" : "app_icon_16.png", - "scale" : "1x" - }, - { - "size" : "16x16", - "idiom" : "mac", - "filename" : "app_icon_32.png", - "scale" : "2x" - }, - { - "size" : "32x32", - "idiom" : "mac", - "filename" : "app_icon_32.png", - "scale" : "1x" - }, - { - "size" : "32x32", - "idiom" : "mac", - "filename" : "app_icon_64.png", - "scale" : "2x" - }, - { - "size" : "128x128", - "idiom" : "mac", - "filename" : "app_icon_128.png", - "scale" : "1x" - }, - { - "size" : "128x128", - "idiom" : "mac", - "filename" : "app_icon_256.png", - "scale" : "2x" - }, - { - "size" : "256x256", - "idiom" : "mac", - "filename" : "app_icon_256.png", - "scale" : "1x" - }, - { - "size" : "256x256", - "idiom" : "mac", - "filename" : "app_icon_512.png", - "scale" : "2x" - }, - { - "size" : "512x512", - "idiom" : "mac", - "filename" : "app_icon_512.png", - "scale" : "1x" - }, - { - "size" : "512x512", - "idiom" : "mac", - "filename" : "app_icon_1024.png", - "scale" : "2x" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png deleted file mode 100644 index 3c4935a7..00000000 Binary files a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png and /dev/null differ diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png deleted file mode 100644 index ed4cc164..00000000 Binary files a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png and /dev/null differ diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png deleted file mode 100644 index 483be613..00000000 Binary files a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png and /dev/null differ diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png deleted file mode 100644 index bcbf36df..00000000 Binary files a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png and /dev/null differ diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png deleted file mode 100644 index 9c0a6528..00000000 Binary files a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png and /dev/null differ diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png deleted file mode 100644 index e71a7261..00000000 Binary files a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png and /dev/null differ diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png deleted file mode 100644 index 8a31fe2d..00000000 Binary files a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png and /dev/null differ diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/macos/Runner/Base.lproj/MainMenu.xib b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/macos/Runner/Base.lproj/MainMenu.xib deleted file mode 100644 index 537341ab..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/macos/Runner/Base.lproj/MainMenu.xib +++ /dev/null @@ -1,339 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/macos/Runner/Configs/AppInfo.xcconfig b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/macos/Runner/Configs/AppInfo.xcconfig deleted file mode 100644 index 800dd3d2..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/macos/Runner/Configs/AppInfo.xcconfig +++ /dev/null @@ -1,14 +0,0 @@ -// Application-level settings for the Runner target. -// -// This may be replaced with something auto-generated from metadata (e.g., pubspec.yaml) in the -// future. If not, the values below would default to using the project name when this becomes a -// 'flutter create' template. - -// The application's name. By default this is also the title of the Flutter window. -PRODUCT_NAME = firebase_app_check_example - -// The application's bundle identifier -PRODUCT_BUNDLE_IDENTIFIER = io.flutter.plugins.firebase.appcheck.example - -// The copyright displayed in application information -PRODUCT_COPYRIGHT = Copyright © 2021 io.flutter.plugins.firebase.appcheck.example. All rights reserved. diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/macos/Runner/Configs/Debug.xcconfig b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/macos/Runner/Configs/Debug.xcconfig deleted file mode 100644 index 36b0fd94..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/macos/Runner/Configs/Debug.xcconfig +++ /dev/null @@ -1,2 +0,0 @@ -#include "../../Flutter/Flutter-Debug.xcconfig" -#include "Warnings.xcconfig" diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/macos/Runner/Configs/Release.xcconfig b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/macos/Runner/Configs/Release.xcconfig deleted file mode 100644 index dff4f495..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/macos/Runner/Configs/Release.xcconfig +++ /dev/null @@ -1,2 +0,0 @@ -#include "../../Flutter/Flutter-Release.xcconfig" -#include "Warnings.xcconfig" diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/macos/Runner/Configs/Warnings.xcconfig b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/macos/Runner/Configs/Warnings.xcconfig deleted file mode 100644 index 42bcbf47..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/macos/Runner/Configs/Warnings.xcconfig +++ /dev/null @@ -1,13 +0,0 @@ -WARNING_CFLAGS = -Wall -Wconditional-uninitialized -Wnullable-to-nonnull-conversion -Wmissing-method-return-type -Woverlength-strings -GCC_WARN_UNDECLARED_SELECTOR = YES -CLANG_UNDEFINED_BEHAVIOR_SANITIZER_NULLABILITY = YES -CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE -CLANG_WARN__DUPLICATE_METHOD_MATCH = YES -CLANG_WARN_PRAGMA_PACK = YES -CLANG_WARN_STRICT_PROTOTYPES = YES -CLANG_WARN_COMMA = YES -GCC_WARN_STRICT_SELECTOR_MATCH = YES -CLANG_WARN_OBJC_REPEATED_USE_OF_WEAK = YES -CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES -GCC_WARN_SHADOW = YES -CLANG_WARN_UNREACHABLE_CODE = YES diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/macos/Runner/DebugProfile.entitlements b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/macos/Runner/DebugProfile.entitlements deleted file mode 100644 index dddb8a30..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/macos/Runner/DebugProfile.entitlements +++ /dev/null @@ -1,12 +0,0 @@ - - - - - com.apple.security.app-sandbox - - com.apple.security.cs.allow-jit - - com.apple.security.network.server - - - diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/macos/Runner/GoogleService-Info.plist b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/macos/Runner/GoogleService-Info.plist deleted file mode 100644 index 7e2f0dcb..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/macos/Runner/GoogleService-Info.plist +++ /dev/null @@ -1,38 +0,0 @@ - - - - - CLIENT_ID - 406099696497-17cfsesi620nhia0sck4map450gngkoh.apps.googleusercontent.com - REVERSED_CLIENT_ID - com.googleusercontent.apps.406099696497-17cfsesi620nhia0sck4map450gngkoh - ANDROID_CLIENT_ID - 406099696497-17qn06u8a0dc717u8ul7s49ampk13lul.apps.googleusercontent.com - API_KEY - AIzaSyDooSUGSf63Ghq02_iIhtnmwMDs4HlWS6c - GCM_SENDER_ID - 406099696497 - PLIST_VERSION - 1 - BUNDLE_ID - io.flutter.plugins.firebase.appcheck.example - PROJECT_ID - flutterfire-e2e-tests - STORAGE_BUCKET - flutterfire-e2e-tests.appspot.com - IS_ADS_ENABLED - - IS_ANALYTICS_ENABLED - - IS_APPINVITE_ENABLED - - IS_GCM_ENABLED - - IS_SIGNIN_ENABLED - - GOOGLE_APP_ID - 1:406099696497:ios:bd8702ba3865bb333574d0 - DATABASE_URL - https://flutterfire-e2e-tests-default-rtdb.europe-west1.firebasedatabase.app - - \ No newline at end of file diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/macos/Runner/Info.plist b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/macos/Runner/Info.plist deleted file mode 100644 index 4789daa6..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/macos/Runner/Info.plist +++ /dev/null @@ -1,32 +0,0 @@ - - - - - CFBundleDevelopmentRegion - $(DEVELOPMENT_LANGUAGE) - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIconFile - - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - APPL - CFBundleShortVersionString - $(FLUTTER_BUILD_NAME) - CFBundleVersion - $(FLUTTER_BUILD_NUMBER) - LSMinimumSystemVersion - $(MACOSX_DEPLOYMENT_TARGET) - NSHumanReadableCopyright - $(PRODUCT_COPYRIGHT) - NSMainNibFile - MainMenu - NSPrincipalClass - NSApplication - - diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/macos/Runner/MainFlutterWindow.swift b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/macos/Runner/MainFlutterWindow.swift deleted file mode 100644 index 2722837e..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/macos/Runner/MainFlutterWindow.swift +++ /dev/null @@ -1,15 +0,0 @@ -import Cocoa -import FlutterMacOS - -class MainFlutterWindow: NSWindow { - override func awakeFromNib() { - let flutterViewController = FlutterViewController.init() - let windowFrame = self.frame - self.contentViewController = flutterViewController - self.setFrame(windowFrame, display: true) - - RegisterGeneratedPlugins(registry: flutterViewController) - - super.awakeFromNib() - } -} diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/macos/Runner/Release.entitlements b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/macos/Runner/Release.entitlements deleted file mode 100644 index 0c67376e..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/macos/Runner/Release.entitlements +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/macos/firebase_app_id_file.json b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/macos/firebase_app_id_file.json deleted file mode 100644 index ab0e60a0..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/macos/firebase_app_id_file.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "file_generated_by": "FlutterFire CLI", - "purpose": "FirebaseAppID & ProjectID for this Firebase app in this directory", - "GOOGLE_APP_ID": "1:406099696497:ios:bd8702ba3865bb333574d0", - "FIREBASE_PROJECT_ID": "flutterfire-e2e-tests", - "GCM_SENDER_ID": "406099696497" -} \ No newline at end of file diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/pubspec.yaml b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/pubspec.yaml deleted file mode 100644 index c652ec30..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/pubspec.yaml +++ /dev/null @@ -1,21 +0,0 @@ -name: firebase_app_check_example -description: Firebase App Check example application. - -publish_to: 'none' - -version: 1.0.0+1 -resolution: workspace - -environment: - sdk: '^3.6.0' - flutter: '>=3.27.0' - -dependencies: - cloud_firestore: ^6.6.0 - firebase_app_check: ^0.4.5 - firebase_core: ^4.11.0 - flutter: - sdk: flutter - -flutter: - uses-material-design: true diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/web/favicon.png b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/web/favicon.png deleted file mode 100644 index 8aaa46ac..00000000 Binary files a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/web/favicon.png and /dev/null differ diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/web/icons/Icon-192.png b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/web/icons/Icon-192.png deleted file mode 100644 index b749bfef..00000000 Binary files a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/web/icons/Icon-192.png and /dev/null differ diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/web/icons/Icon-512.png b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/web/icons/Icon-512.png deleted file mode 100644 index 88cfd48d..00000000 Binary files a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/web/icons/Icon-512.png and /dev/null differ diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/web/icons/Icon-maskable-192.png b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/web/icons/Icon-maskable-192.png deleted file mode 100644 index eb9b4d76..00000000 Binary files a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/web/icons/Icon-maskable-192.png and /dev/null differ diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/web/icons/Icon-maskable-512.png b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/web/icons/Icon-maskable-512.png deleted file mode 100644 index d69c5669..00000000 Binary files a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/web/icons/Icon-maskable-512.png and /dev/null differ diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/web/index.html b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/web/index.html deleted file mode 100644 index e619aadd..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/web/index.html +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - - - - - - - - - - - - - - - flutterfire_app_check - - - - - - - diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/web/manifest.json b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/web/manifest.json deleted file mode 100644 index a5a5ebda..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/web/manifest.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "name": "flutterfire_app_check", - "short_name": "flutterfire_app_check", - "start_url": ".", - "display": "standalone", - "background_color": "#0175C2", - "theme_color": "#0175C2", - "description": "A new Flutter project.", - "orientation": "portrait-primary", - "prefer_related_applications": false, - "icons": [ - { - "src": "icons/Icon-192.png", - "sizes": "192x192", - "type": "image/png" - }, - { - "src": "icons/Icon-512.png", - "sizes": "512x512", - "type": "image/png" - }, - { - "src": "icons/Icon-maskable-192.png", - "sizes": "192x192", - "type": "image/png", - "purpose": "maskable" - }, - { - "src": "icons/Icon-maskable-512.png", - "sizes": "512x512", - "type": "image/png", - "purpose": "maskable" - } - ] -} diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/windows/CMakeLists.txt b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/windows/CMakeLists.txt deleted file mode 100644 index ffc5f0c5..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/windows/CMakeLists.txt +++ /dev/null @@ -1,108 +0,0 @@ -# Project-level configuration. -cmake_minimum_required(VERSION 3.14) -project(firebase_app_check_example LANGUAGES CXX) - -# The name of the executable created for the application. Change this to change -# the on-disk name of your application. -set(BINARY_NAME "firebase_app_check_example") - -# Explicitly opt in to modern CMake behaviors to avoid warnings with recent -# versions of CMake. -cmake_policy(VERSION 3.14...3.25) - -# Define build configuration option. -get_property(IS_MULTICONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) -if(IS_MULTICONFIG) - set(CMAKE_CONFIGURATION_TYPES "Debug;Profile;Release" - CACHE STRING "" FORCE) -else() - if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES) - set(CMAKE_BUILD_TYPE "Debug" CACHE - STRING "Flutter build mode" FORCE) - set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS - "Debug" "Profile" "Release") - endif() -endif() -# Define settings for the Profile build mode. -set(CMAKE_EXE_LINKER_FLAGS_PROFILE "${CMAKE_EXE_LINKER_FLAGS_RELEASE}") -set(CMAKE_SHARED_LINKER_FLAGS_PROFILE "${CMAKE_SHARED_LINKER_FLAGS_RELEASE}") -set(CMAKE_C_FLAGS_PROFILE "${CMAKE_C_FLAGS_RELEASE}") -set(CMAKE_CXX_FLAGS_PROFILE "${CMAKE_CXX_FLAGS_RELEASE}") - -# Use Unicode for all projects. -add_definitions(-DUNICODE -D_UNICODE) - -# Compilation settings that should be applied to most targets. -# -# Be cautious about adding new options here, as plugins use this function by -# default. In most cases, you should add new options to specific targets instead -# of modifying this function. -function(APPLY_STANDARD_SETTINGS TARGET) - target_compile_features(${TARGET} PUBLIC cxx_std_17) - target_compile_options(${TARGET} PRIVATE /W4 /WX /wd"4100") - target_compile_options(${TARGET} PRIVATE /EHsc) - target_compile_definitions(${TARGET} PRIVATE "_HAS_EXCEPTIONS=0") - target_compile_definitions(${TARGET} PRIVATE "$<$:_DEBUG>") -endfunction() - -# Flutter library and tool build rules. -set(FLUTTER_MANAGED_DIR "${CMAKE_CURRENT_SOURCE_DIR}/flutter") -add_subdirectory(${FLUTTER_MANAGED_DIR}) - -# Application build; see runner/CMakeLists.txt. -add_subdirectory("runner") - - -# Generated plugin build rules, which manage building the plugins and adding -# them to the application. -include(flutter/generated_plugins.cmake) - - -# === Installation === -# Support files are copied into place next to the executable, so that it can -# run in place. This is done instead of making a separate bundle (as on Linux) -# so that building and running from within Visual Studio will work. -set(BUILD_BUNDLE_DIR "$") -# Make the "install" step default, as it's required to run. -set(CMAKE_VS_INCLUDE_INSTALL_TO_DEFAULT_BUILD 1) -if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT) - set(CMAKE_INSTALL_PREFIX "${BUILD_BUNDLE_DIR}" CACHE PATH "..." FORCE) -endif() - -set(INSTALL_BUNDLE_DATA_DIR "${CMAKE_INSTALL_PREFIX}/data") -set(INSTALL_BUNDLE_LIB_DIR "${CMAKE_INSTALL_PREFIX}") - -install(TARGETS ${BINARY_NAME} RUNTIME DESTINATION "${CMAKE_INSTALL_PREFIX}" - COMPONENT Runtime) - -install(FILES "${FLUTTER_ICU_DATA_FILE}" DESTINATION "${INSTALL_BUNDLE_DATA_DIR}" - COMPONENT Runtime) - -install(FILES "${FLUTTER_LIBRARY}" DESTINATION "${INSTALL_BUNDLE_LIB_DIR}" - COMPONENT Runtime) - -if(PLUGIN_BUNDLED_LIBRARIES) - install(FILES "${PLUGIN_BUNDLED_LIBRARIES}" - DESTINATION "${INSTALL_BUNDLE_LIB_DIR}" - COMPONENT Runtime) -endif() - -# Copy the native assets provided by the build.dart from all packages. -set(NATIVE_ASSETS_DIR "${PROJECT_BUILD_DIR}native_assets/windows/") -install(DIRECTORY "${NATIVE_ASSETS_DIR}" - DESTINATION "${INSTALL_BUNDLE_LIB_DIR}" - COMPONENT Runtime) - -# Fully re-copy the assets directory on each build to avoid having stale files -# from a previous install. -set(FLUTTER_ASSET_DIR_NAME "flutter_assets") -install(CODE " - file(REMOVE_RECURSE \"${INSTALL_BUNDLE_DATA_DIR}/${FLUTTER_ASSET_DIR_NAME}\") - " COMPONENT Runtime) -install(DIRECTORY "${PROJECT_BUILD_DIR}/${FLUTTER_ASSET_DIR_NAME}" - DESTINATION "${INSTALL_BUNDLE_DATA_DIR}" COMPONENT Runtime) - -# Install the AOT library on non-Debug builds only. -install(FILES "${AOT_LIBRARY}" DESTINATION "${INSTALL_BUNDLE_DATA_DIR}" - CONFIGURATIONS Profile;Release - COMPONENT Runtime) diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/windows/flutter/CMakeLists.txt b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/windows/flutter/CMakeLists.txt deleted file mode 100644 index 903f4899..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/windows/flutter/CMakeLists.txt +++ /dev/null @@ -1,109 +0,0 @@ -# This file controls Flutter-level build steps. It should not be edited. -cmake_minimum_required(VERSION 3.14) - -set(EPHEMERAL_DIR "${CMAKE_CURRENT_SOURCE_DIR}/ephemeral") - -# Configuration provided via flutter tool. -include(${EPHEMERAL_DIR}/generated_config.cmake) - -# TODO: Move the rest of this into files in ephemeral. See -# https://github.com/flutter/flutter/issues/57146. -set(WRAPPER_ROOT "${EPHEMERAL_DIR}/cpp_client_wrapper") - -# Set fallback configurations for older versions of the flutter tool. -if (NOT DEFINED FLUTTER_TARGET_PLATFORM) - set(FLUTTER_TARGET_PLATFORM "windows-x64") -endif() - -# === Flutter Library === -set(FLUTTER_LIBRARY "${EPHEMERAL_DIR}/flutter_windows.dll") - -# Published to parent scope for install step. -set(FLUTTER_LIBRARY ${FLUTTER_LIBRARY} PARENT_SCOPE) -set(FLUTTER_ICU_DATA_FILE "${EPHEMERAL_DIR}/icudtl.dat" PARENT_SCOPE) -set(PROJECT_BUILD_DIR "${PROJECT_DIR}/build/" PARENT_SCOPE) -set(AOT_LIBRARY "${PROJECT_DIR}/build/windows/app.so" PARENT_SCOPE) - -list(APPEND FLUTTER_LIBRARY_HEADERS - "flutter_export.h" - "flutter_windows.h" - "flutter_messenger.h" - "flutter_plugin_registrar.h" - "flutter_texture_registrar.h" -) -list(TRANSFORM FLUTTER_LIBRARY_HEADERS PREPEND "${EPHEMERAL_DIR}/") -add_library(flutter INTERFACE) -target_include_directories(flutter INTERFACE - "${EPHEMERAL_DIR}" -) -target_link_libraries(flutter INTERFACE "${FLUTTER_LIBRARY}.lib") -add_dependencies(flutter flutter_assemble) - -# === Wrapper === -list(APPEND CPP_WRAPPER_SOURCES_CORE - "core_implementations.cc" - "standard_codec.cc" -) -list(TRANSFORM CPP_WRAPPER_SOURCES_CORE PREPEND "${WRAPPER_ROOT}/") -list(APPEND CPP_WRAPPER_SOURCES_PLUGIN - "plugin_registrar.cc" -) -list(TRANSFORM CPP_WRAPPER_SOURCES_PLUGIN PREPEND "${WRAPPER_ROOT}/") -list(APPEND CPP_WRAPPER_SOURCES_APP - "flutter_engine.cc" - "flutter_view_controller.cc" -) -list(TRANSFORM CPP_WRAPPER_SOURCES_APP PREPEND "${WRAPPER_ROOT}/") - -# Wrapper sources needed for a plugin. -add_library(flutter_wrapper_plugin STATIC - ${CPP_WRAPPER_SOURCES_CORE} - ${CPP_WRAPPER_SOURCES_PLUGIN} -) -apply_standard_settings(flutter_wrapper_plugin) -set_target_properties(flutter_wrapper_plugin PROPERTIES - POSITION_INDEPENDENT_CODE ON) -set_target_properties(flutter_wrapper_plugin PROPERTIES - CXX_VISIBILITY_PRESET hidden) -target_link_libraries(flutter_wrapper_plugin PUBLIC flutter) -target_include_directories(flutter_wrapper_plugin PUBLIC - "${WRAPPER_ROOT}/include" -) -add_dependencies(flutter_wrapper_plugin flutter_assemble) - -# Wrapper sources needed for the runner. -add_library(flutter_wrapper_app STATIC - ${CPP_WRAPPER_SOURCES_CORE} - ${CPP_WRAPPER_SOURCES_APP} -) -apply_standard_settings(flutter_wrapper_app) -target_link_libraries(flutter_wrapper_app PUBLIC flutter) -target_include_directories(flutter_wrapper_app PUBLIC - "${WRAPPER_ROOT}/include" -) -add_dependencies(flutter_wrapper_app flutter_assemble) - -# === Flutter tool backend === -# _phony_ is a non-existent file to force this command to run every time, -# since currently there's no way to get a full input/output list from the -# flutter tool. -set(PHONY_OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/_phony_") -set_source_files_properties("${PHONY_OUTPUT}" PROPERTIES SYMBOLIC TRUE) -add_custom_command( - OUTPUT ${FLUTTER_LIBRARY} ${FLUTTER_LIBRARY_HEADERS} - ${CPP_WRAPPER_SOURCES_CORE} ${CPP_WRAPPER_SOURCES_PLUGIN} - ${CPP_WRAPPER_SOURCES_APP} - ${PHONY_OUTPUT} - COMMAND ${CMAKE_COMMAND} -E env - ${FLUTTER_TOOL_ENVIRONMENT} - "${FLUTTER_ROOT}/packages/flutter_tools/bin/tool_backend.bat" - ${FLUTTER_TARGET_PLATFORM} $ - VERBATIM -) -add_custom_target(flutter_assemble DEPENDS - "${FLUTTER_LIBRARY}" - ${FLUTTER_LIBRARY_HEADERS} - ${CPP_WRAPPER_SOURCES_CORE} - ${CPP_WRAPPER_SOURCES_PLUGIN} - ${CPP_WRAPPER_SOURCES_APP} -) diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/windows/runner/CMakeLists.txt b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/windows/runner/CMakeLists.txt deleted file mode 100644 index 394917c0..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/windows/runner/CMakeLists.txt +++ /dev/null @@ -1,40 +0,0 @@ -cmake_minimum_required(VERSION 3.14) -project(runner LANGUAGES CXX) - -# Define the application target. To change its name, change BINARY_NAME in the -# top-level CMakeLists.txt, not the value here, or `flutter run` will no longer -# work. -# -# Any new source files that you add to the application should be added here. -add_executable(${BINARY_NAME} WIN32 - "flutter_window.cpp" - "main.cpp" - "utils.cpp" - "win32_window.cpp" - "${FLUTTER_MANAGED_DIR}/generated_plugin_registrant.cc" - "Runner.rc" - "runner.exe.manifest" -) - -# Apply the standard set of build settings. This can be removed for applications -# that need different build settings. -apply_standard_settings(${BINARY_NAME}) - -# Add preprocessor definitions for the build version. -target_compile_definitions(${BINARY_NAME} PRIVATE "FLUTTER_VERSION=\"${FLUTTER_VERSION}\"") -target_compile_definitions(${BINARY_NAME} PRIVATE "FLUTTER_VERSION_MAJOR=${FLUTTER_VERSION_MAJOR}") -target_compile_definitions(${BINARY_NAME} PRIVATE "FLUTTER_VERSION_MINOR=${FLUTTER_VERSION_MINOR}") -target_compile_definitions(${BINARY_NAME} PRIVATE "FLUTTER_VERSION_PATCH=${FLUTTER_VERSION_PATCH}") -target_compile_definitions(${BINARY_NAME} PRIVATE "FLUTTER_VERSION_BUILD=${FLUTTER_VERSION_BUILD}") - -# Disable Windows macros that collide with C++ standard library functions. -target_compile_definitions(${BINARY_NAME} PRIVATE "NOMINMAX") - -# Add dependency libraries and include directories. Add any application-specific -# dependencies here. -target_link_libraries(${BINARY_NAME} PRIVATE flutter flutter_wrapper_app) -target_link_libraries(${BINARY_NAME} PRIVATE "dwmapi.lib") -target_include_directories(${BINARY_NAME} PRIVATE "${CMAKE_SOURCE_DIR}") - -# Run the Flutter tool portions of the build. This must not be removed. -add_dependencies(${BINARY_NAME} flutter_assemble) diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/windows/runner/Runner.rc b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/windows/runner/Runner.rc deleted file mode 100644 index 26d198ff..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/windows/runner/Runner.rc +++ /dev/null @@ -1,121 +0,0 @@ -// Microsoft Visual C++ generated resource script. -// -#pragma code_page(65001) -#include "resource.h" - -#define APSTUDIO_READONLY_SYMBOLS -///////////////////////////////////////////////////////////////////////////// -// -// Generated from the TEXTINCLUDE 2 resource. -// -#include "winres.h" - -///////////////////////////////////////////////////////////////////////////// -#undef APSTUDIO_READONLY_SYMBOLS - -///////////////////////////////////////////////////////////////////////////// -// English (United States) resources - -#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) -LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US - -#ifdef APSTUDIO_INVOKED -///////////////////////////////////////////////////////////////////////////// -// -// TEXTINCLUDE -// - -1 TEXTINCLUDE -BEGIN - "resource.h\0" -END - -2 TEXTINCLUDE -BEGIN - "#include ""winres.h""\r\n" - "\0" -END - -3 TEXTINCLUDE -BEGIN - "\r\n" - "\0" -END - -#endif // APSTUDIO_INVOKED - - -///////////////////////////////////////////////////////////////////////////// -// -// Icon -// - -// Icon with lowest ID value placed first to ensure application icon -// remains consistent on all systems. -IDI_APP_ICON ICON "resources\\app_icon.ico" - - -///////////////////////////////////////////////////////////////////////////// -// -// Version -// - -#if defined(FLUTTER_VERSION_MAJOR) && defined(FLUTTER_VERSION_MINOR) && defined(FLUTTER_VERSION_PATCH) && defined(FLUTTER_VERSION_BUILD) -#define VERSION_AS_NUMBER FLUTTER_VERSION_MAJOR,FLUTTER_VERSION_MINOR,FLUTTER_VERSION_PATCH,FLUTTER_VERSION_BUILD -#else -#define VERSION_AS_NUMBER 1,0,0,0 -#endif - -#if defined(FLUTTER_VERSION) -#define VERSION_AS_STRING FLUTTER_VERSION -#else -#define VERSION_AS_STRING "1.0.0" -#endif - -VS_VERSION_INFO VERSIONINFO - FILEVERSION VERSION_AS_NUMBER - PRODUCTVERSION VERSION_AS_NUMBER - FILEFLAGSMASK VS_FFI_FILEFLAGSMASK -#ifdef _DEBUG - FILEFLAGS VS_FF_DEBUG -#else - FILEFLAGS 0x0L -#endif - FILEOS VOS__WINDOWS32 - FILETYPE VFT_APP - FILESUBTYPE 0x0L -BEGIN - BLOCK "StringFileInfo" - BEGIN - BLOCK "040904e4" - BEGIN - VALUE "CompanyName", "io.flutter.plugins.firebase.appcheck" "\0" - VALUE "FileDescription", "firebase_app_check_example" "\0" - VALUE "FileVersion", VERSION_AS_STRING "\0" - VALUE "InternalName", "firebase_app_check_example" "\0" - VALUE "LegalCopyright", "Copyright (C) 2026 io.flutter.plugins.firebase.appcheck. All rights reserved." "\0" - VALUE "OriginalFilename", "firebase_app_check_example.exe" "\0" - VALUE "ProductName", "firebase_app_check_example" "\0" - VALUE "ProductVersion", VERSION_AS_STRING "\0" - END - END - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x409, 1252 - END -END - -#endif // English (United States) resources -///////////////////////////////////////////////////////////////////////////// - - - -#ifndef APSTUDIO_INVOKED -///////////////////////////////////////////////////////////////////////////// -// -// Generated from the TEXTINCLUDE 3 resource. -// - - -///////////////////////////////////////////////////////////////////////////// -#endif // not APSTUDIO_INVOKED diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/windows/runner/flutter_window.cpp b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/windows/runner/flutter_window.cpp deleted file mode 100644 index d1bd86f4..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/windows/runner/flutter_window.cpp +++ /dev/null @@ -1,73 +0,0 @@ -// Copyright 2025, the Chromium project authors. Please see the AUTHORS file -// for details. All rights reserved. Use of this source code is governed by a -// BSD-style license that can be found in the LICENSE file. - -#include "flutter_window.h" - -#include - -#include "flutter/generated_plugin_registrant.h" - -FlutterWindow::FlutterWindow(const flutter::DartProject& project) - : project_(project) {} - -FlutterWindow::~FlutterWindow() {} - -bool FlutterWindow::OnCreate() { - if (!Win32Window::OnCreate()) { - return false; - } - - RECT frame = GetClientArea(); - - // The size here must match the window dimensions to avoid unnecessary surface - // creation / destruction in the startup path. - flutter_controller_ = std::make_unique( - frame.right - frame.left, frame.bottom - frame.top, project_); - // Ensure that basic setup of the controller was successful. - if (!flutter_controller_->engine() || !flutter_controller_->view()) { - return false; - } - RegisterPlugins(flutter_controller_->engine()); - SetChildContent(flutter_controller_->view()->GetNativeWindow()); - - flutter_controller_->engine()->SetNextFrameCallback([&]() { this->Show(); }); - - // Flutter can complete the first frame before the "show window" callback is - // registered. The following call ensures a frame is pending to ensure the - // window is shown. It is a no-op if the first frame hasn't completed yet. - flutter_controller_->ForceRedraw(); - - return true; -} - -void FlutterWindow::OnDestroy() { - if (flutter_controller_) { - flutter_controller_ = nullptr; - } - - Win32Window::OnDestroy(); -} - -LRESULT -FlutterWindow::MessageHandler(HWND hwnd, UINT const message, - WPARAM const wparam, - LPARAM const lparam) noexcept { - // Give Flutter, including plugins, an opportunity to handle window messages. - if (flutter_controller_) { - std::optional result = - flutter_controller_->HandleTopLevelWindowProc(hwnd, message, wparam, - lparam); - if (result) { - return *result; - } - } - - switch (message) { - case WM_FONTCHANGE: - flutter_controller_->engine()->ReloadSystemFonts(); - break; - } - - return Win32Window::MessageHandler(hwnd, message, wparam, lparam); -} diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/windows/runner/flutter_window.h b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/windows/runner/flutter_window.h deleted file mode 100644 index 243c8352..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/windows/runner/flutter_window.h +++ /dev/null @@ -1,37 +0,0 @@ -// Copyright 2025, the Chromium project authors. Please see the AUTHORS file -// for details. All rights reserved. Use of this source code is governed by a -// BSD-style license that can be found in the LICENSE file. - -#ifndef RUNNER_FLUTTER_WINDOW_H_ -#define RUNNER_FLUTTER_WINDOW_H_ - -#include -#include - -#include - -#include "win32_window.h" - -// A window that does nothing but host a Flutter view. -class FlutterWindow : public Win32Window { - public: - // Creates a new FlutterWindow hosting a Flutter view running |project|. - explicit FlutterWindow(const flutter::DartProject& project); - virtual ~FlutterWindow(); - - protected: - // Win32Window: - bool OnCreate() override; - void OnDestroy() override; - LRESULT MessageHandler(HWND window, UINT const message, WPARAM const wparam, - LPARAM const lparam) noexcept override; - - private: - // The project to run. - flutter::DartProject project_; - - // The Flutter instance hosted by this window. - std::unique_ptr flutter_controller_; -}; - -#endif // RUNNER_FLUTTER_WINDOW_H_ diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/windows/runner/main.cpp b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/windows/runner/main.cpp deleted file mode 100644 index 129ed2c3..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/windows/runner/main.cpp +++ /dev/null @@ -1,46 +0,0 @@ -// Copyright 2025, the Chromium project authors. Please see the AUTHORS file -// for details. All rights reserved. Use of this source code is governed by a -// BSD-style license that can be found in the LICENSE file. - -#include -#include -#include - -#include "flutter_window.h" -#include "utils.h" - -int APIENTRY wWinMain(_In_ HINSTANCE instance, _In_opt_ HINSTANCE prev, - _In_ wchar_t* command_line, _In_ int show_command) { - // Attach to console when present (e.g., 'flutter run') or create a - // new console when running with a debugger. - if (!::AttachConsole(ATTACH_PARENT_PROCESS) && ::IsDebuggerPresent()) { - CreateAndAttachConsole(); - } - - // Initialize COM, so that it is available for use in the library and/or - // plugins. - ::CoInitializeEx(nullptr, COINIT_APARTMENTTHREADED); - - flutter::DartProject project(L"data"); - - std::vector command_line_arguments = GetCommandLineArguments(); - - project.set_dart_entrypoint_arguments(std::move(command_line_arguments)); - - FlutterWindow window(project); - Win32Window::Point origin(10, 10); - Win32Window::Size size(1280, 720); - if (!window.Create(L"firebase_app_check_example", origin, size)) { - return EXIT_FAILURE; - } - window.SetQuitOnClose(true); - - ::MSG msg; - while (::GetMessage(&msg, nullptr, 0, 0)) { - ::TranslateMessage(&msg); - ::DispatchMessage(&msg); - } - - ::CoUninitialize(); - return EXIT_SUCCESS; -} diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/windows/runner/resource.h b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/windows/runner/resource.h deleted file mode 100644 index 91d70fa3..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/windows/runner/resource.h +++ /dev/null @@ -1,20 +0,0 @@ -// Copyright 2025, the Chromium project authors. Please see the AUTHORS file -// for details. All rights reserved. Use of this source code is governed by a -// BSD-style license that can be found in the LICENSE file. - -//{{NO_DEPENDENCIES}} -// Microsoft Visual C++ generated include file. -// Used by Runner.rc -// -#define IDI_APP_ICON 101 - -// Next default values for new objects -// -#ifdef APSTUDIO_INVOKED -#ifndef APSTUDIO_READONLY_SYMBOLS -#define _APS_NEXT_RESOURCE_VALUE 102 -#define _APS_NEXT_COMMAND_VALUE 40001 -#define _APS_NEXT_CONTROL_VALUE 1001 -#define _APS_NEXT_SYMED_VALUE 101 -#endif -#endif diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/windows/runner/resources/app_icon.ico b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/windows/runner/resources/app_icon.ico deleted file mode 100644 index c04e20ca..00000000 Binary files a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/windows/runner/resources/app_icon.ico and /dev/null differ diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/windows/runner/runner.exe.manifest b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/windows/runner/runner.exe.manifest deleted file mode 100644 index 153653e8..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/windows/runner/runner.exe.manifest +++ /dev/null @@ -1,14 +0,0 @@ - - - - - PerMonitorV2 - - - - - - - - - diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/windows/runner/utils.cpp b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/windows/runner/utils.cpp deleted file mode 100644 index 3b134475..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/windows/runner/utils.cpp +++ /dev/null @@ -1,69 +0,0 @@ -// Copyright 2025, the Chromium project authors. Please see the AUTHORS file -// for details. All rights reserved. Use of this source code is governed by a -// BSD-style license that can be found in the LICENSE file. - -#include "utils.h" - -#include -#include -#include -#include - -#include - -void CreateAndAttachConsole() { - if (::AllocConsole()) { - FILE* unused; - if (freopen_s(&unused, "CONOUT$", "w", stdout)) { - _dup2(_fileno(stdout), 1); - } - if (freopen_s(&unused, "CONOUT$", "w", stderr)) { - _dup2(_fileno(stdout), 2); - } - std::ios::sync_with_stdio(); - FlutterDesktopResyncOutputStreams(); - } -} - -std::vector GetCommandLineArguments() { - // Convert the UTF-16 command line arguments to UTF-8 for the Engine to use. - int argc; - wchar_t** argv = ::CommandLineToArgvW(::GetCommandLineW(), &argc); - if (argv == nullptr) { - return std::vector(); - } - - std::vector command_line_arguments; - - // Skip the first argument as it's the binary name. - for (int i = 1; i < argc; i++) { - command_line_arguments.push_back(Utf8FromUtf16(argv[i])); - } - - ::LocalFree(argv); - - return command_line_arguments; -} - -std::string Utf8FromUtf16(const wchar_t* utf16_string) { - if (utf16_string == nullptr) { - return std::string(); - } - unsigned int target_length = - ::WideCharToMultiByte(CP_UTF8, WC_ERR_INVALID_CHARS, utf16_string, -1, - nullptr, 0, nullptr, nullptr) - - 1; // remove the trailing null character - int input_length = (int)wcslen(utf16_string); - std::string utf8_string; - if (target_length == 0 || target_length > utf8_string.max_size()) { - return utf8_string; - } - utf8_string.resize(target_length); - int converted_length = ::WideCharToMultiByte( - CP_UTF8, WC_ERR_INVALID_CHARS, utf16_string, input_length, - utf8_string.data(), target_length, nullptr, nullptr); - if (converted_length == 0) { - return std::string(); - } - return utf8_string; -} diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/windows/runner/utils.h b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/windows/runner/utils.h deleted file mode 100644 index 8ec0c44d..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/windows/runner/utils.h +++ /dev/null @@ -1,23 +0,0 @@ -// Copyright 2025, the Chromium project authors. Please see the AUTHORS file -// for details. All rights reserved. Use of this source code is governed by a -// BSD-style license that can be found in the LICENSE file. - -#ifndef RUNNER_UTILS_H_ -#define RUNNER_UTILS_H_ - -#include -#include - -// Creates a console for the process, and redirects stdout and stderr to -// it for both the runner and the Flutter library. -void CreateAndAttachConsole(); - -// Takes a null-terminated wchar_t* encoded in UTF-16 and returns a std::string -// encoded in UTF-8. Returns an empty std::string on failure. -std::string Utf8FromUtf16(const wchar_t* utf16_string); - -// Gets the command line arguments passed in as a std::vector, -// encoded in UTF-8. Returns an empty std::vector on failure. -std::vector GetCommandLineArguments(); - -#endif // RUNNER_UTILS_H_ diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/windows/runner/win32_window.cpp b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/windows/runner/win32_window.cpp deleted file mode 100644 index 82754b04..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/windows/runner/win32_window.cpp +++ /dev/null @@ -1,284 +0,0 @@ -// Copyright 2025, the Chromium project authors. Please see the AUTHORS file -// for details. All rights reserved. Use of this source code is governed by a -// BSD-style license that can be found in the LICENSE file. - -#include "win32_window.h" - -#include -#include - -#include "resource.h" - -namespace { - -/// Window attribute that enables dark mode window decorations. -/// -/// Redefined in case the developer's machine has a Windows SDK older than -/// version 10.0.22000.0. -/// See: -/// https://docs.microsoft.com/windows/win32/api/dwmapi/ne-dwmapi-dwmwindowattribute -#ifndef DWMWA_USE_IMMERSIVE_DARK_MODE -#define DWMWA_USE_IMMERSIVE_DARK_MODE 20 -#endif - -constexpr const wchar_t kWindowClassName[] = L"FLUTTER_RUNNER_WIN32_WINDOW"; - -/// Registry key for app theme preference. -/// -/// A value of 0 indicates apps should use dark mode. A non-zero or missing -/// value indicates apps should use light mode. -constexpr const wchar_t kGetPreferredBrightnessRegKey[] = - L"Software\\Microsoft\\Windows\\CurrentVersion\\Themes\\Personalize"; -constexpr const wchar_t kGetPreferredBrightnessRegValue[] = - L"AppsUseLightTheme"; - -// The number of Win32Window objects that currently exist. -static int g_active_window_count = 0; - -using EnableNonClientDpiScaling = BOOL __stdcall(HWND hwnd); - -// Scale helper to convert logical scaler values to physical using passed in -// scale factor -int Scale(int source, double scale_factor) { - return static_cast(source * scale_factor); -} - -// Dynamically loads the |EnableNonClientDpiScaling| from the User32 module. -// This API is only needed for PerMonitor V1 awareness mode. -void EnableFullDpiSupportIfAvailable(HWND hwnd) { - HMODULE user32_module = LoadLibraryA("User32.dll"); - if (!user32_module) { - return; - } - auto enable_non_client_dpi_scaling = - reinterpret_cast( - GetProcAddress(user32_module, "EnableNonClientDpiScaling")); - if (enable_non_client_dpi_scaling != nullptr) { - enable_non_client_dpi_scaling(hwnd); - } - FreeLibrary(user32_module); -} - -} // namespace - -// Manages the Win32Window's window class registration. -class WindowClassRegistrar { - public: - ~WindowClassRegistrar() = default; - - // Returns the singleton registrar instance. - static WindowClassRegistrar* GetInstance() { - if (!instance_) { - instance_ = new WindowClassRegistrar(); - } - return instance_; - } - - // Returns the name of the window class, registering the class if it hasn't - // previously been registered. - const wchar_t* GetWindowClass(); - - // Unregisters the window class. Should only be called if there are no - // instances of the window. - void UnregisterWindowClass(); - - private: - WindowClassRegistrar() = default; - - static WindowClassRegistrar* instance_; - - bool class_registered_ = false; -}; - -WindowClassRegistrar* WindowClassRegistrar::instance_ = nullptr; - -const wchar_t* WindowClassRegistrar::GetWindowClass() { - if (!class_registered_) { - WNDCLASS window_class{}; - window_class.hCursor = LoadCursor(nullptr, IDC_ARROW); - window_class.lpszClassName = kWindowClassName; - window_class.style = CS_HREDRAW | CS_VREDRAW; - window_class.cbClsExtra = 0; - window_class.cbWndExtra = 0; - window_class.hInstance = GetModuleHandle(nullptr); - window_class.hIcon = - LoadIcon(window_class.hInstance, MAKEINTRESOURCE(IDI_APP_ICON)); - window_class.hbrBackground = 0; - window_class.lpszMenuName = nullptr; - window_class.lpfnWndProc = Win32Window::WndProc; - RegisterClass(&window_class); - class_registered_ = true; - } - return kWindowClassName; -} - -void WindowClassRegistrar::UnregisterWindowClass() { - UnregisterClass(kWindowClassName, nullptr); - class_registered_ = false; -} - -Win32Window::Win32Window() { ++g_active_window_count; } - -Win32Window::~Win32Window() { - --g_active_window_count; - Destroy(); -} - -bool Win32Window::Create(const std::wstring& title, const Point& origin, - const Size& size) { - Destroy(); - - const wchar_t* window_class = - WindowClassRegistrar::GetInstance()->GetWindowClass(); - - const POINT target_point = {static_cast(origin.x), - static_cast(origin.y)}; - HMONITOR monitor = MonitorFromPoint(target_point, MONITOR_DEFAULTTONEAREST); - UINT dpi = FlutterDesktopGetDpiForMonitor(monitor); - double scale_factor = dpi / 96.0; - - HWND window = CreateWindow( - window_class, title.c_str(), WS_OVERLAPPEDWINDOW, - Scale(origin.x, scale_factor), Scale(origin.y, scale_factor), - Scale(size.width, scale_factor), Scale(size.height, scale_factor), - nullptr, nullptr, GetModuleHandle(nullptr), this); - - if (!window) { - return false; - } - - UpdateTheme(window); - - return OnCreate(); -} - -bool Win32Window::Show() { return ShowWindow(window_handle_, SW_SHOWNORMAL); } - -// static -LRESULT CALLBACK Win32Window::WndProc(HWND const window, UINT const message, - WPARAM const wparam, - LPARAM const lparam) noexcept { - if (message == WM_NCCREATE) { - auto window_struct = reinterpret_cast(lparam); - SetWindowLongPtr(window, GWLP_USERDATA, - reinterpret_cast(window_struct->lpCreateParams)); - - auto that = static_cast(window_struct->lpCreateParams); - EnableFullDpiSupportIfAvailable(window); - that->window_handle_ = window; - } else if (Win32Window* that = GetThisFromHandle(window)) { - return that->MessageHandler(window, message, wparam, lparam); - } - - return DefWindowProc(window, message, wparam, lparam); -} - -LRESULT -Win32Window::MessageHandler(HWND hwnd, UINT const message, WPARAM const wparam, - LPARAM const lparam) noexcept { - switch (message) { - case WM_DESTROY: - window_handle_ = nullptr; - Destroy(); - if (quit_on_close_) { - PostQuitMessage(0); - } - return 0; - - case WM_DPICHANGED: { - auto newRectSize = reinterpret_cast(lparam); - LONG newWidth = newRectSize->right - newRectSize->left; - LONG newHeight = newRectSize->bottom - newRectSize->top; - - SetWindowPos(hwnd, nullptr, newRectSize->left, newRectSize->top, newWidth, - newHeight, SWP_NOZORDER | SWP_NOACTIVATE); - - return 0; - } - case WM_SIZE: { - RECT rect = GetClientArea(); - if (child_content_ != nullptr) { - // Size and position the child window. - MoveWindow(child_content_, rect.left, rect.top, rect.right - rect.left, - rect.bottom - rect.top, TRUE); - } - return 0; - } - - case WM_ACTIVATE: - if (child_content_ != nullptr) { - SetFocus(child_content_); - } - return 0; - - case WM_DWMCOLORIZATIONCOLORCHANGED: - UpdateTheme(hwnd); - return 0; - } - - return DefWindowProc(window_handle_, message, wparam, lparam); -} - -void Win32Window::Destroy() { - OnDestroy(); - - if (window_handle_) { - DestroyWindow(window_handle_); - window_handle_ = nullptr; - } - if (g_active_window_count == 0) { - WindowClassRegistrar::GetInstance()->UnregisterWindowClass(); - } -} - -Win32Window* Win32Window::GetThisFromHandle(HWND const window) noexcept { - return reinterpret_cast( - GetWindowLongPtr(window, GWLP_USERDATA)); -} - -void Win32Window::SetChildContent(HWND content) { - child_content_ = content; - SetParent(content, window_handle_); - RECT frame = GetClientArea(); - - MoveWindow(content, frame.left, frame.top, frame.right - frame.left, - frame.bottom - frame.top, true); - - SetFocus(child_content_); -} - -RECT Win32Window::GetClientArea() { - RECT frame; - GetClientRect(window_handle_, &frame); - return frame; -} - -HWND Win32Window::GetHandle() { return window_handle_; } - -void Win32Window::SetQuitOnClose(bool quit_on_close) { - quit_on_close_ = quit_on_close; -} - -bool Win32Window::OnCreate() { - // No-op; provided for subclasses. - return true; -} - -void Win32Window::OnDestroy() { - // No-op; provided for subclasses. -} - -void Win32Window::UpdateTheme(HWND const window) { - DWORD light_mode; - DWORD light_mode_size = sizeof(light_mode); - LSTATUS result = - RegGetValue(HKEY_CURRENT_USER, kGetPreferredBrightnessRegKey, - kGetPreferredBrightnessRegValue, RRF_RT_REG_DWORD, nullptr, - &light_mode, &light_mode_size); - - if (result == ERROR_SUCCESS) { - BOOL enable_dark_mode = light_mode == 0; - DwmSetWindowAttribute(window, DWMWA_USE_IMMERSIVE_DARK_MODE, - &enable_dark_mode, sizeof(enable_dark_mode)); - } -} diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/windows/runner/win32_window.h b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/windows/runner/win32_window.h deleted file mode 100644 index dd242548..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/example/windows/runner/win32_window.h +++ /dev/null @@ -1,104 +0,0 @@ -// Copyright 2025, the Chromium project authors. Please see the AUTHORS file -// for details. All rights reserved. Use of this source code is governed by a -// BSD-style license that can be found in the LICENSE file. - -#ifndef RUNNER_WIN32_WINDOW_H_ -#define RUNNER_WIN32_WINDOW_H_ - -#include - -#include -#include -#include - -// A class abstraction for a high DPI-aware Win32 Window. Intended to be -// inherited from by classes that wish to specialize with custom -// rendering and input handling -class Win32Window { - public: - struct Point { - unsigned int x; - unsigned int y; - Point(unsigned int x, unsigned int y) : x(x), y(y) {} - }; - - struct Size { - unsigned int width; - unsigned int height; - Size(unsigned int width, unsigned int height) - : width(width), height(height) {} - }; - - Win32Window(); - virtual ~Win32Window(); - - // Creates a win32 window with |title| that is positioned and sized using - // |origin| and |size|. New windows are created on the default monitor. Window - // sizes are specified to the OS in physical pixels, hence to ensure a - // consistent size this function will scale the inputted width and height as - // as appropriate for the default monitor. The window is invisible until - // |Show| is called. Returns true if the window was created successfully. - bool Create(const std::wstring& title, const Point& origin, const Size& size); - - // Show the current window. Returns true if the window was successfully shown. - bool Show(); - - // Release OS resources associated with window. - void Destroy(); - - // Inserts |content| into the window tree. - void SetChildContent(HWND content); - - // Returns the backing Window handle to enable clients to set icon and other - // window properties. Returns nullptr if the window has been destroyed. - HWND GetHandle(); - - // If true, closing this window will quit the application. - void SetQuitOnClose(bool quit_on_close); - - // Return a RECT representing the bounds of the current client area. - RECT GetClientArea(); - - protected: - // Processes and route salient window messages for mouse handling, - // size change and DPI. Delegates handling of these to member overloads that - // inheriting classes can handle. - virtual LRESULT MessageHandler(HWND window, UINT const message, - WPARAM const wparam, - LPARAM const lparam) noexcept; - - // Called when CreateAndShow is called, allowing subclass window-related - // setup. Subclasses should return false if setup fails. - virtual bool OnCreate(); - - // Called when Destroy is called. - virtual void OnDestroy(); - - private: - friend class WindowClassRegistrar; - - // OS callback called by message pump. Handles the WM_NCCREATE message which - // is passed when the non-client area is being created and enables automatic - // non-client DPI scaling so that the non-client area automatically - // responds to changes in DPI. All other messages are handled by - // MessageHandler. - static LRESULT CALLBACK WndProc(HWND const window, UINT const message, - WPARAM const wparam, - LPARAM const lparam) noexcept; - - // Retrieves a class instance pointer for |window| - static Win32Window* GetThisFromHandle(HWND const window) noexcept; - - // Update the window frame's theme to match the system theme. - static void UpdateTheme(HWND const window); - - bool quit_on_close_ = false; - - // window handle for top level window. - HWND window_handle_ = nullptr; - - // window handle for hosted content. - HWND child_content_ = nullptr; -}; - -#endif // RUNNER_WIN32_WINDOW_H_ diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/ios/firebase_app_check.podspec b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/ios/firebase_app_check.podspec deleted file mode 100644 index b4d81500..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/ios/firebase_app_check.podspec +++ /dev/null @@ -1,46 +0,0 @@ -require 'yaml' -pubspec = YAML.load_file(File.join('..', 'pubspec.yaml')) -library_version = pubspec['version'].gsub('+', '-') - -if defined?($FirebaseSDKVersion) - Pod::UI.puts "#{pubspec['name']}: Using user specified Firebase SDK version '#{$FirebaseSDKVersion}'" - firebase_sdk_version = $FirebaseSDKVersion -else - firebase_core_script = File.join(File.expand_path('..', File.expand_path('..', File.dirname(__FILE__))), 'firebase_core/ios/firebase_sdk_version.rb') - if File.exist?(firebase_core_script) - require firebase_core_script - firebase_sdk_version = firebase_sdk_version! - Pod::UI.puts "#{pubspec['name']}: Using Firebase SDK version '#{firebase_sdk_version}' defined in 'firebase_core'" - end -end - -Pod::Spec.new do |s| - s.name = pubspec['name'] - s.version = library_version - s.summary = pubspec['description'] - s.description = pubspec['description'] - s.homepage = pubspec['homepage'] - - s.license = { :file => '../LICENSE' } - s.authors = 'The Chromium Authors' - s.source = { :path => '.' } - s.source_files = 'firebase_app_check/Sources/firebase_app_check/**/*.swift' - s.ios.deployment_target = '15.0' - - # Flutter dependencies - s.dependency 'Flutter' - - # Firebase dependencies - s.dependency 'firebase_core' - s.dependency 'Firebase/CoreOnly', "~> #{firebase_sdk_version}" - s.dependency 'FirebaseAppCheck', "~> #{firebase_sdk_version}" - - s.static_framework = true - s.pod_target_xcconfig = { - 'GCC_PREPROCESSOR_DEFINITIONS' => "LIBRARY_VERSION=\\\"#{library_version}\\\" LIBRARY_NAME=\\\"flutter-fire-appcheck\\\"", - 'DEFINES_MODULE' => 'YES', - # Flutter.framework does not contain a i386 slice. - 'EXCLUDED_ARCHS[sdk=iphonesimulator*]' => 'i386' - } -end - diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/ios/firebase_app_check/Package.swift b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/ios/firebase_app_check/Package.swift deleted file mode 100644 index ffee709b..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/ios/firebase_app_check/Package.swift +++ /dev/null @@ -1,41 +0,0 @@ -// swift-tools-version: 5.9 -// The swift-tools-version declares the minimum version of Swift required to build this package. - -// Copyright 2024, the Chromium project authors. Please see the AUTHORS file -// for details. All rights reserved. Use of this source code is governed by a -// BSD-style license that can be found in the LICENSE file. - -import PackageDescription - -let firebaseSdkVersion: Version = "12.15.0" - -let package = Package( - name: "firebase_app_check", - platforms: [ - .iOS("15.0") - ], - products: [ - .library(name: "firebase-app-check", targets: ["firebase_app_check"]) - ], - dependencies: [ - .package(url: "https://github.com/firebase/firebase-ios-sdk", exact: firebaseSdkVersion), - .package( - url: "https://github.com/GoogleCloudPlatform/recaptcha-enterprise-mobile-sdk.git", - from: "18.0.0" - ), - .package(name: "firebase_core", path: "../firebase_core-4.11.0"), - ], - targets: [ - .target( - name: "firebase_app_check", - dependencies: [ - .product(name: "FirebaseAppCheck", package: "firebase-ios-sdk"), - .product(name: "RecaptchaEnterprise", package: "recaptcha-enterprise-mobile-sdk"), - .product(name: "firebase-core", package: "firebase_core"), - ], - resources: [ - .process("Resources") - ] - ) - ] -) diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/ios/firebase_app_check/Sources/firebase_app_check/Constants.swift b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/ios/firebase_app_check/Sources/firebase_app_check/Constants.swift deleted file mode 100644 index 28a2ec57..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/ios/firebase_app_check/Sources/firebase_app_check/Constants.swift +++ /dev/null @@ -1,6 +0,0 @@ -// Copyright 2025 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -/// Auto-generated file. Do not edit. -public let versionNumber = "0.4.5" diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/ios/firebase_app_check/Sources/firebase_app_check/FirebaseAppCheckMessages.g.swift b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/ios/firebase_app_check/Sources/firebase_app_check/FirebaseAppCheckMessages.g.swift deleted file mode 100644 index d8f3a100..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/ios/firebase_app_check/Sources/firebase_app_check/FirebaseAppCheckMessages.g.swift +++ /dev/null @@ -1,236 +0,0 @@ -// Copyright 2025, the Chromium project authors. Please see the AUTHORS file -// for details. All rights reserved. Use of this source code is governed by a -// BSD-style license that can be found in the LICENSE file. -// Autogenerated from Pigeon (v26.3.4), do not edit directly. -// See also: https://pub.dev/packages/pigeon - -import Foundation - -#if os(iOS) - import Flutter -#elseif os(macOS) - import FlutterMacOS -#else - #error("Unsupported platform.") -#endif - -/// Error class for passing custom error details to Dart side. -final class PigeonError: Error { - let code: String - let message: String? - let details: Sendable? - - init(code: String, message: String?, details: Sendable?) { - self.code = code - self.message = message - self.details = details - } - - var localizedDescription: String { - "PigeonError(code: \(code), message: \(message ?? ""), details: \(details ?? "")" - } -} - -private func wrapResult(_ result: Any?) -> [Any?] { - [result] -} - -private func wrapError(_ error: Any) -> [Any?] { - if let pigeonError = error as? PigeonError { - return [ - pigeonError.code, - pigeonError.message, - pigeonError.details, - ] - } - if let flutterError = error as? FlutterError { - return [ - flutterError.code, - flutterError.message, - flutterError.details, - ] - } - return [ - "\(error)", - "\(Swift.type(of: error))", - "Stacktrace: \(Thread.callStackSymbols)", - ] -} - -private func isNullish(_ value: Any?) -> Bool { - value is NSNull || value == nil -} - -private func nilOrValue(_ value: Any?) -> T? { - if value is NSNull { return nil } - return value as! T? -} - -private class FirebaseAppCheckMessagesPigeonCodecReader: FlutterStandardReader {} - -private class FirebaseAppCheckMessagesPigeonCodecWriter: FlutterStandardWriter {} - -private class FirebaseAppCheckMessagesPigeonCodecReaderWriter: FlutterStandardReaderWriter { - override func reader(with data: Data) -> FlutterStandardReader { - FirebaseAppCheckMessagesPigeonCodecReader(data: data) - } - - override func writer(with data: NSMutableData) -> FlutterStandardWriter { - FirebaseAppCheckMessagesPigeonCodecWriter(data: data) - } -} - -class FirebaseAppCheckMessagesPigeonCodec: FlutterStandardMessageCodec, @unchecked Sendable { - static let shared = FirebaseAppCheckMessagesPigeonCodec( - readerWriter: FirebaseAppCheckMessagesPigeonCodecReaderWriter() - ) -} - -/// Generated protocol from Pigeon that represents a handler of messages from Flutter. -protocol FirebaseAppCheckHostApi { - func activate( - appName: String, androidProvider: String?, appleProvider: String?, - debugToken: String?, - completion: @escaping (Result) -> Void) - func getToken( - appName: String, forceRefresh: Bool, - completion: @escaping (Result) -> Void) - func setTokenAutoRefreshEnabled( - appName: String, isTokenAutoRefreshEnabled: Bool, - completion: @escaping (Result) -> Void) - func registerTokenListener(appName: String, completion: @escaping (Result) -> Void) - func getLimitedUseAppCheckToken( - appName: String, - completion: @escaping (Result) -> Void) -} - -/// Generated setup class from Pigeon to handle messages through the `binaryMessenger`. -class FirebaseAppCheckHostApiSetup { - static var codec: FlutterStandardMessageCodec { - FirebaseAppCheckMessagesPigeonCodec.shared - } - - /// Sets up an instance of `FirebaseAppCheckHostApi` to handle messages through the - /// `binaryMessenger`. - static func setUp( - binaryMessenger: FlutterBinaryMessenger, api: FirebaseAppCheckHostApi?, - messageChannelSuffix: String = "" - ) { - let channelSuffix = messageChannelSuffix.count > 0 ? ".\(messageChannelSuffix)" : "" - let activateChannel = FlutterBasicMessageChannel( - name: - "dev.flutter.pigeon.firebase_app_check_platform_interface.FirebaseAppCheckHostApi.activate\(channelSuffix)", - binaryMessenger: binaryMessenger, codec: codec - ) - if let api { - activateChannel.setMessageHandler { message, reply in - let args = message as! [Any?] - let appNameArg = args[0] as! String - let androidProviderArg: String? = nilOrValue(args[1]) - let appleProviderArg: String? = nilOrValue(args[2]) - let debugTokenArg: String? = nilOrValue(args[3]) - api.activate( - appName: appNameArg, androidProvider: androidProviderArg, appleProvider: appleProviderArg, - debugToken: debugTokenArg - ) { result in - switch result { - case .success: - reply(wrapResult(nil)) - case .failure(let error): - reply(wrapError(error)) - } - } - } - } else { - activateChannel.setMessageHandler(nil) - } - let getTokenChannel = FlutterBasicMessageChannel( - name: - "dev.flutter.pigeon.firebase_app_check_platform_interface.FirebaseAppCheckHostApi.getToken\(channelSuffix)", - binaryMessenger: binaryMessenger, codec: codec - ) - if let api { - getTokenChannel.setMessageHandler { message, reply in - let args = message as! [Any?] - let appNameArg = args[0] as! String - let forceRefreshArg = args[1] as! Bool - api.getToken(appName: appNameArg, forceRefresh: forceRefreshArg) { result in - switch result { - case .success(let res): - reply(wrapResult(res)) - case .failure(let error): - reply(wrapError(error)) - } - } - } - } else { - getTokenChannel.setMessageHandler(nil) - } - let setTokenAutoRefreshEnabledChannel = FlutterBasicMessageChannel( - name: - "dev.flutter.pigeon.firebase_app_check_platform_interface.FirebaseAppCheckHostApi.setTokenAutoRefreshEnabled\(channelSuffix)", - binaryMessenger: binaryMessenger, codec: codec - ) - if let api { - setTokenAutoRefreshEnabledChannel.setMessageHandler { message, reply in - let args = message as! [Any?] - let appNameArg = args[0] as! String - let isTokenAutoRefreshEnabledArg = args[1] as! Bool - api.setTokenAutoRefreshEnabled( - appName: appNameArg, isTokenAutoRefreshEnabled: isTokenAutoRefreshEnabledArg - ) { result in - switch result { - case .success: - reply(wrapResult(nil)) - case .failure(let error): - reply(wrapError(error)) - } - } - } - } else { - setTokenAutoRefreshEnabledChannel.setMessageHandler(nil) - } - let registerTokenListenerChannel = FlutterBasicMessageChannel( - name: - "dev.flutter.pigeon.firebase_app_check_platform_interface.FirebaseAppCheckHostApi.registerTokenListener\(channelSuffix)", - binaryMessenger: binaryMessenger, codec: codec - ) - if let api { - registerTokenListenerChannel.setMessageHandler { message, reply in - let args = message as! [Any?] - let appNameArg = args[0] as! String - api.registerTokenListener(appName: appNameArg) { result in - switch result { - case .success(let res): - reply(wrapResult(res)) - case .failure(let error): - reply(wrapError(error)) - } - } - } - } else { - registerTokenListenerChannel.setMessageHandler(nil) - } - let getLimitedUseAppCheckTokenChannel = FlutterBasicMessageChannel( - name: - "dev.flutter.pigeon.firebase_app_check_platform_interface.FirebaseAppCheckHostApi.getLimitedUseAppCheckToken\(channelSuffix)", - binaryMessenger: binaryMessenger, codec: codec - ) - if let api { - getLimitedUseAppCheckTokenChannel.setMessageHandler { message, reply in - let args = message as! [Any?] - let appNameArg = args[0] as! String - api.getLimitedUseAppCheckToken(appName: appNameArg) { result in - switch result { - case .success(let res): - reply(wrapResult(res)) - case .failure(let error): - reply(wrapError(error)) - } - } - } - } else { - getLimitedUseAppCheckTokenChannel.setMessageHandler(nil) - } - } -} diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/ios/firebase_app_check/Sources/firebase_app_check/FirebaseAppCheckPlugin.swift b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/ios/firebase_app_check/Sources/firebase_app_check/FirebaseAppCheckPlugin.swift deleted file mode 100644 index 2d63a765..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/ios/firebase_app_check/Sources/firebase_app_check/FirebaseAppCheckPlugin.swift +++ /dev/null @@ -1,369 +0,0 @@ -// Copyright 2025 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -import FirebaseAppCheck -import FirebaseCore - -#if canImport(FlutterMacOS) - import FlutterMacOS -#else - import Flutter -#endif - -#if canImport(firebase_core) - import firebase_core -#else - import firebase_core_shared -#endif - -let kFirebaseAppCheckChannelName = "plugins.flutter.io/firebase_app_check" -let kFirebaseAppCheckTokenChannelPrefix = "plugins.flutter.io/firebase_app_check/token/" - -// swift-format-ignore: AvoidRetroactiveConformances -extension FlutterError: @retroactive Error {} - -public class FirebaseAppCheckPlugin: NSObject, FlutterPlugin, - FLTFirebasePluginProtocol, FirebaseAppCheckHostApi -{ - private var eventChannels: [String: FlutterEventChannel] = [:] - private var streamHandlers: [String: AppCheckTokenStreamHandler] = [:] - private var providerFactory: FlutterAppCheckProviderFactory? - - static let shared: FirebaseAppCheckPlugin = { - let instance = FirebaseAppCheckPlugin() - instance.providerFactory = FlutterAppCheckProviderFactory() - AppCheck.setAppCheckProviderFactory(instance.providerFactory) - FLTFirebasePluginRegistry.sharedInstance().register(instance) - return instance - }() - - public static func register(with registrar: FlutterPluginRegistrar) { - let binaryMessenger: FlutterBinaryMessenger - - #if os(macOS) - binaryMessenger = registrar.messenger - #elseif os(iOS) - binaryMessenger = registrar.messenger() - #endif - - let instance = shared - instance.binaryMessenger = binaryMessenger - FirebaseAppCheckHostApiSetup.setUp(binaryMessenger: binaryMessenger, api: instance) - - if FirebaseApp.responds(to: NSSelectorFromString("registerLibrary:withVersion:")) { - FirebaseApp.perform( - NSSelectorFromString("registerLibrary:withVersion:"), - with: instance.firebaseLibraryName(), - with: instance.firebaseLibraryVersion() - ) - } - } - - private var binaryMessenger: FlutterBinaryMessenger? - - func activate( - appName: String, androidProvider: String?, appleProvider: String?, - debugToken: String?, - completion: @escaping (Result) -> Void - ) { - guard let app = FLTFirebasePlugin.firebaseAppNamed(appName) else { - completion( - .failure( - FlutterError( - code: "unknown", message: "Firebase app not found: \(appName)", details: nil - ) - ) - ) - return - } - let provider = appleProvider ?? "deviceCheck" - - providerFactory?.configure( - app: app, - providerName: provider, - debugToken: debugToken - ) - - completion(.success(())) - } - - func getToken( - appName: String, forceRefresh: Bool, - completion: @escaping (Result) -> Void - ) { - guard let app = FLTFirebasePlugin.firebaseAppNamed(appName), - let appCheck = AppCheck.appCheck(app: app) - else { - completion( - .failure( - FlutterError( - code: "unknown", message: "App Check not available for app: \(appName)", details: nil - ) - ) - ) - return - } - - appCheck.token(forcingRefresh: forceRefresh) { token, error in - if let error { - completion(.failure(self.createFlutterError(error))) - } else { - completion(.success(token?.token)) - } - } - } - - func setTokenAutoRefreshEnabled( - appName: String, isTokenAutoRefreshEnabled: Bool, - completion: @escaping (Result) -> Void - ) { - guard let app = FLTFirebasePlugin.firebaseAppNamed(appName), - let appCheck = AppCheck.appCheck(app: app) - else { - completion( - .failure( - FlutterError( - code: "unknown", message: "App Check not available for app: \(appName)", details: nil - ) - ) - ) - return - } - appCheck.isTokenAutoRefreshEnabled = isTokenAutoRefreshEnabled - completion(.success(())) - } - - func registerTokenListener( - appName: String, - completion: @escaping (Result) -> Void - ) { - let name = kFirebaseAppCheckTokenChannelPrefix + appName - - guard let messenger = binaryMessenger else { - completion( - .failure( - FlutterError( - code: "no-messenger", - message: "Binary messenger not available", - details: nil - ) - ) - ) - return - } - - let channel = FlutterEventChannel(name: name, binaryMessenger: messenger) - let handler = AppCheckTokenStreamHandler() - channel.setStreamHandler(handler) - - eventChannels[name] = channel - streamHandlers[name] = handler - - completion(.success(name)) - } - - func getLimitedUseAppCheckToken( - appName: String, - completion: @escaping (Result) -> Void - ) { - guard let app = FLTFirebasePlugin.firebaseAppNamed(appName), - let appCheck = AppCheck.appCheck(app: app) - else { - completion( - .failure( - FlutterError( - code: "unknown", message: "App Check not available for app: \(appName)", details: nil - ) - ) - ) - return - } - - appCheck.limitedUseToken { token, error in - if let error { - completion(.failure(self.createFlutterError(error))) - } else { - completion(.success(token?.token ?? "")) - } - } - } - - // MARK: - FLTFirebasePluginProtocol - - public func didReinitializeFirebaseCore(_ completion: @escaping () -> Void) { - for (_, channel) in eventChannels { - channel.setStreamHandler(nil) - } - for (_, handler) in streamHandlers { - _ = handler.onCancel(withArguments: nil) - } - eventChannels.removeAll() - streamHandlers.removeAll() - completion() - } - - public func pluginConstants(for firebaseApp: FirebaseApp) -> [AnyHashable: Any] { - [:] - } - - public func firebaseLibraryName() -> String { - "flutter-fire-appcheck" - } - - public func firebaseLibraryVersion() -> String { - versionNumber - } - - public func flutterChannelName() -> String { - kFirebaseAppCheckChannelName - } - - private func createFlutterError(_ error: Error) -> FlutterError { - let nsError = error as NSError - var code = "unknown" - switch nsError.code { - case 0: // FIRAppCheckErrorCodeServerUnreachable - code = "server-unreachable" - case 1: // FIRAppCheckErrorCodeInvalidConfiguration - code = "invalid-configuration" - case 2: // FIRAppCheckErrorCodeKeychain - code = "code-keychain" - case 3: // FIRAppCheckErrorCodeUnsupported - code = "code-unsupported" - default: - code = "unknown" - } - return FlutterError( - code: code, - message: nsError.localizedDescription, - details: nil - ) - } -} - -// MARK: - Token Stream Handler - -class AppCheckTokenStreamHandler: NSObject, FlutterStreamHandler { - private var observer: NSObjectProtocol? - - func onListen( - withArguments arguments: Any?, - eventSink events: @escaping FlutterEventSink - ) -> FlutterError? { - observer = NotificationCenter.default.addObserver( - forName: NSNotification.Name("FIRAppCheckAppCheckTokenDidChangeNotification"), - object: nil, - queue: nil - ) { notification in - if let token = notification.userInfo?["FIRAppCheckTokenNotificationKey"] as? String { - events(["token": token]) - } - } - return nil - } - - func onCancel(withArguments arguments: Any?) -> FlutterError? { - if let observer { - NotificationCenter.default.removeObserver(observer) - self.observer = nil - } - return nil - } -} - -// MARK: - App Check Provider Factory - -class FlutterAppCheckProviderFactory: NSObject, AppCheckProviderFactory { - private var providers: [String: AppCheckProviderWrapper] = [:] - - func createProvider(with app: FirebaseApp) -> (any AppCheckProvider)? { - if providers[app.name] == nil { - let wrapper = AppCheckProviderWrapper() - // Default to deviceCheck. activate() will reconfigure with the correct provider. - wrapper.configure( - app: app, - providerName: "deviceCheck", - debugToken: nil - ) - providers[app.name] = wrapper - } - return providers[app.name] - } - - func configure( - app: FirebaseApp, - providerName: String, - debugToken: String? - ) { - if providers[app.name] == nil { - providers[app.name] = AppCheckProviderWrapper() - } - providers[app.name]?.configure( - app: app, - providerName: providerName, - debugToken: debugToken - ) - } -} - -class AppCheckProviderWrapper: NSObject, AppCheckProvider { - private var delegateProvider: (any AppCheckProvider)? - - func configure( - app: FirebaseApp, - providerName: String, - debugToken: String? - ) { - switch providerName { - case "debug": - if let debugToken { - setenv("FIRAAppCheckDebugToken", debugToken, 1) - } - delegateProvider = AppCheckDebugProvider(app: app) - if debugToken == nil, let debugProvider = delegateProvider as? AppCheckDebugProvider { - print("Firebase App Check Debug Token: \(debugProvider.localDebugToken())") - } - case "appAttest": - if #available(iOS 14.0, macOS 14.0, macCatalyst 14.0, tvOS 15.0, watchOS 9.0, *) { - delegateProvider = AppAttestProvider(app: app) - } else { - delegateProvider = AppCheckDebugProvider(app: app) - } - case "appAttestWithDeviceCheckFallback": - if #available(iOS 14.0, macOS 14.0, *) { - delegateProvider = AppAttestProvider(app: app) - } else { - delegateProvider = DeviceCheckProvider(app: app) - } - case "recaptcha": - #if os(iOS) - delegateProvider = RecaptchaProvider(app: app) - if delegateProvider == nil { - print( - "Firebase App Check: failed to initialize RecaptchaProvider. Ensure site key is in GoogleService-Info.plist." - ) - } - #else - print("Firebase App Check: reCAPTCHA is only supported on iOS.") - #endif - default: - // deviceCheck - delegateProvider = DeviceCheckProvider(app: app) - } - } - - func getToken(completion handler: @escaping (AppCheckToken?, Error?) -> Void) { - guard let delegateProvider else { - handler( - nil, - NSError( - domain: "firebase_app_check", code: -1, - userInfo: [NSLocalizedDescriptionKey: "Provider not configured"] - ) - ) - return - } - delegateProvider.getToken(completion: handler) - } -} diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/lib/firebase_app_check.dart b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/lib/firebase_app_check.dart deleted file mode 100644 index 5e6a8cc9..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/lib/firebase_app_check.dart +++ /dev/null @@ -1,34 +0,0 @@ -// ignore_for_file: require_trailing_commas -// Copyright 2019 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -import 'package:firebase_app_check_platform_interface/firebase_app_check_platform_interface.dart'; -import 'package:firebase_core/firebase_core.dart'; -import 'package:firebase_core_platform_interface/firebase_core_platform_interface.dart'; - -export 'package:firebase_app_check_platform_interface/firebase_app_check_platform_interface.dart' - show - AndroidProvider, - AndroidAppCheckProvider, - AndroidDebugProvider, - AndroidPlayIntegrityProvider, - AndroidReCaptchaProvider, - AppleProvider, - AppleAppCheckProvider, - AppleDebugProvider, - AppleDeviceCheckProvider, - AppleAppAttestProvider, - AppleAppAttestWithDeviceCheckFallbackProvider, - AppleReCaptchaProvider, - ReCaptchaEnterpriseProvider, - ReCaptchaV3Provider, - WebDebugProvider, - WebProvider, - WebReCaptchaProvider, - WindowsAppCheckProvider, - WindowsDebugProvider; -export 'package:firebase_core_platform_interface/firebase_core_platform_interface.dart' - show FirebaseException; - -part 'src/firebase_app_check.dart'; diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/lib/src/firebase_app_check.dart b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/lib/src/firebase_app_check.dart deleted file mode 100644 index 8deabfc9..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/lib/src/firebase_app_check.dart +++ /dev/null @@ -1,156 +0,0 @@ -// ignore_for_file: require_trailing_commas -// Copyright 2021 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -part of '../firebase_app_check.dart'; - -class FirebaseAppCheck extends FirebasePluginPlatform - implements FirebaseService { - static Map _firebaseAppCheckInstances = {}; - - FirebaseAppCheck._({required this.app}) - : super(app.name, 'plugins.flutter.io/firebase_app_check'); - - /// The [FirebaseApp] for this current [FirebaseAppCheck] instance. - FirebaseApp app; - - // Cached and lazily loaded instance of [FirebaseAppCheckPlatform] to avoid - // creating a [MethodChannelFirebaseAppCheck] when not needed or creating an - // instance with the default app before a user specifies an app. - FirebaseAppCheckPlatform? _delegatePackingProperty; - - /// Returns the underlying delegate implementation. - /// - /// If called and no [_delegatePackingProperty] exists, it will first be - /// created and assigned before returning the delegate. - FirebaseAppCheckPlatform get _delegate { - _delegatePackingProperty ??= FirebaseAppCheckPlatform.instanceFor( - app: app, - ); - - return _delegatePackingProperty!; - } - - /// Returns an instance using the default [FirebaseApp]. - static FirebaseAppCheck get instance { - FirebaseApp defaultAppInstance = Firebase.app(); - - return FirebaseAppCheck.instanceFor(app: defaultAppInstance); - } - - /// Returns an instance using a specified [FirebaseApp]. - static FirebaseAppCheck instanceFor({required FirebaseApp app}) { - return _firebaseAppCheckInstances.putIfAbsent(app.name, () { - final instance = FirebaseAppCheck._(app: app); - app.registerService( - instance, - dispose: (appCheck) => appCheck._dispose(), - ); - return instance; - }); - } - - Future _dispose() async { - _firebaseAppCheckInstances.remove(app.name); - final delegate = _delegatePackingProperty; - _delegatePackingProperty = null; - await delegate?.dispose(); - } - - /// Activates the Firebase App Check service. - /// - /// ## Platform Configuration - /// - /// **Web**: Provide the reCAPTCHA v3 Site Key using `webProvider`, which can be - /// found in the Firebase Console. - /// - /// **Android**: The default provider is "play integrity". Use `providerAndroid` - /// to configure alternative providers such as "safety net", debug providers, or - /// custom implementations via `AndroidAppCheckProvider`. - /// - /// **iOS/macOS**: The default provider is "device check". Use `providerApple` - /// to configure alternative providers such as "app attest", debug providers, or - /// "app attest with fallback to device check" via `AppleAppCheckProvider`. - /// Note: App Attest is only available on iOS 14.0+ and macOS 14.0+. - /// - /// **Windows**: Only the debug provider is supported. You **must** supply a - /// debug token — the desktop C++ SDK does not auto-generate one. Either pass - /// it via `providerWindows: WindowsDebugProvider(debugToken: 'your-token')` - /// or set the `APP_CHECK_DEBUG_TOKEN` environment variable. The token must - /// first be registered in the Firebase Console under - /// *App Check → Apps → Manage debug tokens*. - /// - /// ## Migration Notice - /// - /// The `androidProvider` and `appleProvider` parameters will be deprecated - /// in a future release. Use `providerAndroid` and `providerApple` instead, - /// which support the new provider classes including `AndroidDebugProvider` - /// and `AppleDebugProvider` for passing debug tokens directly. - /// - /// For more information, see [the Firebase Documentation](https://firebase.google.com/docs/app-check) - Future activate({ - @Deprecated( - 'Use providerWeb instead. ' - 'This parameter will be removed in a future major release.', - ) - WebProvider? webProvider, - WebProvider? providerWeb, - @Deprecated( - 'Use providerAndroid instead. ' - 'This parameter will be removed in a future major release.', - ) - AndroidProvider androidProvider = AndroidProvider.playIntegrity, - @Deprecated( - 'Use providerApple instead. ' - 'This parameter will be removed in a future major release.', - ) - AppleProvider appleProvider = AppleProvider.deviceCheck, - AndroidAppCheckProvider providerAndroid = - const AndroidPlayIntegrityProvider(), - AppleAppCheckProvider providerApple = const AppleDeviceCheckProvider(), - WindowsAppCheckProvider providerWindows = const WindowsDebugProvider(), - }) { - return _delegate.activate( - webProvider: providerWeb ?? webProvider, - // ignore: deprecated_member_use - androidProvider: androidProvider, - // ignore: deprecated_member_use - appleProvider: appleProvider, - providerAndroid: providerAndroid, - providerApple: providerApple, - providerWindows: providerWindows, - ); - } - - /// Get the current App Check token. - /// - /// Attaches to the most recent in-flight request if one is present. Returns - /// null if no token is present and no token requests are in-flight. - /// - /// If `forceRefresh` is true, will always try to fetch a fresh token. If - /// false, will use a cached token if found in storage. - Future getToken([bool? forceRefresh]) async { - return _delegate.getToken(forceRefresh ?? false); - } - - /// If true, the SDK automatically refreshes App Check tokens as needed. - Future setTokenAutoRefreshEnabled(bool isTokenAutoRefreshEnabled) { - return _delegate.setTokenAutoRefreshEnabled(isTokenAutoRefreshEnabled); - } - - /// Requests a limited-use Firebase App Check token. This method should be used only - /// if you need to authorize requests to a non-Firebase backend. - // - // Returns limited-use tokens that are intended for use with your non-Firebase backend - // endpoints that are protected with Replay Protection. This method does not affect - // the token generation behavior of the `getToken()` method. - Future getLimitedUseToken() { - return _delegate.getLimitedUseToken(); - } - - /// Registers a listener to changes in the token state. - Stream get onTokenChange { - return _delegate.onTokenChange; - } -} diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/macos/firebase_app_check.podspec b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/macos/firebase_app_check.podspec deleted file mode 100644 index 497fbc64..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/macos/firebase_app_check.podspec +++ /dev/null @@ -1,63 +0,0 @@ -require 'yaml' - -pubspec = YAML.load_file(File.join('..', 'pubspec.yaml')) -library_version = pubspec['version'].gsub('+', '-') - -if defined?($FirebaseSDKVersion) - Pod::UI.puts "#{pubspec['name']}: Using user specified Firebase SDK version '#{$FirebaseSDKVersion}'" - firebase_sdk_version = $FirebaseSDKVersion -else - firebase_core_script = File.join(File.expand_path('..', File.expand_path('..', File.dirname(__FILE__))), 'firebase_core/ios/firebase_sdk_version.rb') - if File.exist?(firebase_core_script) - require firebase_core_script - firebase_sdk_version = firebase_sdk_version! - Pod::UI.puts "#{pubspec['name']}: Using Firebase SDK version '#{firebase_sdk_version}' defined in 'firebase_core'" - end -end - -begin - required_macos_version = "10.15" - current_target_definition = Pod::Config.instance.podfile.send(:current_target_definition) - user_osx_target = current_target_definition.to_hash["platform"]["osx"] - if (Gem::Version.new(user_osx_target) < Gem::Version.new(required_macos_version)) - error_message = "The FlutterFire plugin #{pubspec['name']} for macOS requires a macOS deployment target of #{required_macos_version} or later." - Pod::UI.warn error_message, [ - "Update the `platform :osx, '#{user_osx_target}'` line in your macOS/Podfile to version `#{required_macos_version}` and ensure you commit this file.", - "Open your `macos/Runner.xcodeproj` Xcode project and under the 'Runner' target General tab set your Deployment Target to #{required_macos_version} or later." - ] - raise Pod::Informative, error_message - end -rescue Pod::Informative - raise -rescue - # Do nothing for all other errors and let `pod install` deal with any issues. -end - -Pod::Spec.new do |s| - s.name = pubspec['name'] - s.version = library_version - s.summary = pubspec['description'] - s.description = pubspec['description'] - s.homepage = pubspec['homepage'] - s.license = { :file => '../LICENSE' } - s.authors = 'The Chromium Authors' - s.source = { :path => '.' } - - s.source_files = 'firebase_app_check/Sources/firebase_app_check/**/*.swift' - - s.platform = :osx, '10.13' - - # Flutter dependencies - s.dependency 'FlutterMacOS' - - # Firebase dependencies - s.dependency 'firebase_core' - s.dependency 'Firebase/CoreOnly', "~> #{firebase_sdk_version}" - s.dependency 'Firebase/AppCheck', "~> #{firebase_sdk_version}" - - s.static_framework = true - s.pod_target_xcconfig = { - 'GCC_PREPROCESSOR_DEFINITIONS' => "LIBRARY_VERSION=\\\"#{library_version}\\\" LIBRARY_NAME=\\\"flutter-fire-appcheck\\\"", - 'DEFINES_MODULE' => 'YES' - } -end diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/macos/firebase_app_check/Package.swift b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/macos/firebase_app_check/Package.swift deleted file mode 100644 index 2edc73e6..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/macos/firebase_app_check/Package.swift +++ /dev/null @@ -1,36 +0,0 @@ -// swift-tools-version: 5.9 -// The swift-tools-version declares the minimum version of Swift required to build this package. - -// Copyright 2024, the Chromium project authors. Please see the AUTHORS file -// for details. All rights reserved. Use of this source code is governed by a -// BSD-style license that can be found in the LICENSE file. - -import PackageDescription - -let firebaseSdkVersion: Version = "12.15.0" - -let package = Package( - name: "firebase_app_check", - platforms: [ - .macOS("10.15") - ], - products: [ - .library(name: "firebase-app-check", targets: ["firebase_app_check"]) - ], - dependencies: [ - .package(url: "https://github.com/firebase/firebase-ios-sdk", exact: firebaseSdkVersion), - .package(name: "firebase_core", path: "../firebase_core"), - ], - targets: [ - .target( - name: "firebase_app_check", - dependencies: [ - .product(name: "FirebaseAppCheck", package: "firebase-ios-sdk"), - .product(name: "firebase-core", package: "firebase_core"), - ], - resources: [ - .process("Resources") - ] - ) - ] -) diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/macos/firebase_app_check/Sources/firebase_app_check/Constants.swift b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/macos/firebase_app_check/Sources/firebase_app_check/Constants.swift deleted file mode 100644 index 28a2ec57..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/macos/firebase_app_check/Sources/firebase_app_check/Constants.swift +++ /dev/null @@ -1,6 +0,0 @@ -// Copyright 2025 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -/// Auto-generated file. Do not edit. -public let versionNumber = "0.4.5" diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/macos/firebase_app_check/Sources/firebase_app_check/FirebaseAppCheckMessages.g.swift b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/macos/firebase_app_check/Sources/firebase_app_check/FirebaseAppCheckMessages.g.swift deleted file mode 100644 index d8f3a100..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/macos/firebase_app_check/Sources/firebase_app_check/FirebaseAppCheckMessages.g.swift +++ /dev/null @@ -1,236 +0,0 @@ -// Copyright 2025, the Chromium project authors. Please see the AUTHORS file -// for details. All rights reserved. Use of this source code is governed by a -// BSD-style license that can be found in the LICENSE file. -// Autogenerated from Pigeon (v26.3.4), do not edit directly. -// See also: https://pub.dev/packages/pigeon - -import Foundation - -#if os(iOS) - import Flutter -#elseif os(macOS) - import FlutterMacOS -#else - #error("Unsupported platform.") -#endif - -/// Error class for passing custom error details to Dart side. -final class PigeonError: Error { - let code: String - let message: String? - let details: Sendable? - - init(code: String, message: String?, details: Sendable?) { - self.code = code - self.message = message - self.details = details - } - - var localizedDescription: String { - "PigeonError(code: \(code), message: \(message ?? ""), details: \(details ?? "")" - } -} - -private func wrapResult(_ result: Any?) -> [Any?] { - [result] -} - -private func wrapError(_ error: Any) -> [Any?] { - if let pigeonError = error as? PigeonError { - return [ - pigeonError.code, - pigeonError.message, - pigeonError.details, - ] - } - if let flutterError = error as? FlutterError { - return [ - flutterError.code, - flutterError.message, - flutterError.details, - ] - } - return [ - "\(error)", - "\(Swift.type(of: error))", - "Stacktrace: \(Thread.callStackSymbols)", - ] -} - -private func isNullish(_ value: Any?) -> Bool { - value is NSNull || value == nil -} - -private func nilOrValue(_ value: Any?) -> T? { - if value is NSNull { return nil } - return value as! T? -} - -private class FirebaseAppCheckMessagesPigeonCodecReader: FlutterStandardReader {} - -private class FirebaseAppCheckMessagesPigeonCodecWriter: FlutterStandardWriter {} - -private class FirebaseAppCheckMessagesPigeonCodecReaderWriter: FlutterStandardReaderWriter { - override func reader(with data: Data) -> FlutterStandardReader { - FirebaseAppCheckMessagesPigeonCodecReader(data: data) - } - - override func writer(with data: NSMutableData) -> FlutterStandardWriter { - FirebaseAppCheckMessagesPigeonCodecWriter(data: data) - } -} - -class FirebaseAppCheckMessagesPigeonCodec: FlutterStandardMessageCodec, @unchecked Sendable { - static let shared = FirebaseAppCheckMessagesPigeonCodec( - readerWriter: FirebaseAppCheckMessagesPigeonCodecReaderWriter() - ) -} - -/// Generated protocol from Pigeon that represents a handler of messages from Flutter. -protocol FirebaseAppCheckHostApi { - func activate( - appName: String, androidProvider: String?, appleProvider: String?, - debugToken: String?, - completion: @escaping (Result) -> Void) - func getToken( - appName: String, forceRefresh: Bool, - completion: @escaping (Result) -> Void) - func setTokenAutoRefreshEnabled( - appName: String, isTokenAutoRefreshEnabled: Bool, - completion: @escaping (Result) -> Void) - func registerTokenListener(appName: String, completion: @escaping (Result) -> Void) - func getLimitedUseAppCheckToken( - appName: String, - completion: @escaping (Result) -> Void) -} - -/// Generated setup class from Pigeon to handle messages through the `binaryMessenger`. -class FirebaseAppCheckHostApiSetup { - static var codec: FlutterStandardMessageCodec { - FirebaseAppCheckMessagesPigeonCodec.shared - } - - /// Sets up an instance of `FirebaseAppCheckHostApi` to handle messages through the - /// `binaryMessenger`. - static func setUp( - binaryMessenger: FlutterBinaryMessenger, api: FirebaseAppCheckHostApi?, - messageChannelSuffix: String = "" - ) { - let channelSuffix = messageChannelSuffix.count > 0 ? ".\(messageChannelSuffix)" : "" - let activateChannel = FlutterBasicMessageChannel( - name: - "dev.flutter.pigeon.firebase_app_check_platform_interface.FirebaseAppCheckHostApi.activate\(channelSuffix)", - binaryMessenger: binaryMessenger, codec: codec - ) - if let api { - activateChannel.setMessageHandler { message, reply in - let args = message as! [Any?] - let appNameArg = args[0] as! String - let androidProviderArg: String? = nilOrValue(args[1]) - let appleProviderArg: String? = nilOrValue(args[2]) - let debugTokenArg: String? = nilOrValue(args[3]) - api.activate( - appName: appNameArg, androidProvider: androidProviderArg, appleProvider: appleProviderArg, - debugToken: debugTokenArg - ) { result in - switch result { - case .success: - reply(wrapResult(nil)) - case .failure(let error): - reply(wrapError(error)) - } - } - } - } else { - activateChannel.setMessageHandler(nil) - } - let getTokenChannel = FlutterBasicMessageChannel( - name: - "dev.flutter.pigeon.firebase_app_check_platform_interface.FirebaseAppCheckHostApi.getToken\(channelSuffix)", - binaryMessenger: binaryMessenger, codec: codec - ) - if let api { - getTokenChannel.setMessageHandler { message, reply in - let args = message as! [Any?] - let appNameArg = args[0] as! String - let forceRefreshArg = args[1] as! Bool - api.getToken(appName: appNameArg, forceRefresh: forceRefreshArg) { result in - switch result { - case .success(let res): - reply(wrapResult(res)) - case .failure(let error): - reply(wrapError(error)) - } - } - } - } else { - getTokenChannel.setMessageHandler(nil) - } - let setTokenAutoRefreshEnabledChannel = FlutterBasicMessageChannel( - name: - "dev.flutter.pigeon.firebase_app_check_platform_interface.FirebaseAppCheckHostApi.setTokenAutoRefreshEnabled\(channelSuffix)", - binaryMessenger: binaryMessenger, codec: codec - ) - if let api { - setTokenAutoRefreshEnabledChannel.setMessageHandler { message, reply in - let args = message as! [Any?] - let appNameArg = args[0] as! String - let isTokenAutoRefreshEnabledArg = args[1] as! Bool - api.setTokenAutoRefreshEnabled( - appName: appNameArg, isTokenAutoRefreshEnabled: isTokenAutoRefreshEnabledArg - ) { result in - switch result { - case .success: - reply(wrapResult(nil)) - case .failure(let error): - reply(wrapError(error)) - } - } - } - } else { - setTokenAutoRefreshEnabledChannel.setMessageHandler(nil) - } - let registerTokenListenerChannel = FlutterBasicMessageChannel( - name: - "dev.flutter.pigeon.firebase_app_check_platform_interface.FirebaseAppCheckHostApi.registerTokenListener\(channelSuffix)", - binaryMessenger: binaryMessenger, codec: codec - ) - if let api { - registerTokenListenerChannel.setMessageHandler { message, reply in - let args = message as! [Any?] - let appNameArg = args[0] as! String - api.registerTokenListener(appName: appNameArg) { result in - switch result { - case .success(let res): - reply(wrapResult(res)) - case .failure(let error): - reply(wrapError(error)) - } - } - } - } else { - registerTokenListenerChannel.setMessageHandler(nil) - } - let getLimitedUseAppCheckTokenChannel = FlutterBasicMessageChannel( - name: - "dev.flutter.pigeon.firebase_app_check_platform_interface.FirebaseAppCheckHostApi.getLimitedUseAppCheckToken\(channelSuffix)", - binaryMessenger: binaryMessenger, codec: codec - ) - if let api { - getLimitedUseAppCheckTokenChannel.setMessageHandler { message, reply in - let args = message as! [Any?] - let appNameArg = args[0] as! String - api.getLimitedUseAppCheckToken(appName: appNameArg) { result in - switch result { - case .success(let res): - reply(wrapResult(res)) - case .failure(let error): - reply(wrapError(error)) - } - } - } - } else { - getLimitedUseAppCheckTokenChannel.setMessageHandler(nil) - } - } -} diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/macos/firebase_app_check/Sources/firebase_app_check/FirebaseAppCheckPlugin.swift b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/macos/firebase_app_check/Sources/firebase_app_check/FirebaseAppCheckPlugin.swift deleted file mode 100644 index 2d63a765..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/macos/firebase_app_check/Sources/firebase_app_check/FirebaseAppCheckPlugin.swift +++ /dev/null @@ -1,369 +0,0 @@ -// Copyright 2025 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -import FirebaseAppCheck -import FirebaseCore - -#if canImport(FlutterMacOS) - import FlutterMacOS -#else - import Flutter -#endif - -#if canImport(firebase_core) - import firebase_core -#else - import firebase_core_shared -#endif - -let kFirebaseAppCheckChannelName = "plugins.flutter.io/firebase_app_check" -let kFirebaseAppCheckTokenChannelPrefix = "plugins.flutter.io/firebase_app_check/token/" - -// swift-format-ignore: AvoidRetroactiveConformances -extension FlutterError: @retroactive Error {} - -public class FirebaseAppCheckPlugin: NSObject, FlutterPlugin, - FLTFirebasePluginProtocol, FirebaseAppCheckHostApi -{ - private var eventChannels: [String: FlutterEventChannel] = [:] - private var streamHandlers: [String: AppCheckTokenStreamHandler] = [:] - private var providerFactory: FlutterAppCheckProviderFactory? - - static let shared: FirebaseAppCheckPlugin = { - let instance = FirebaseAppCheckPlugin() - instance.providerFactory = FlutterAppCheckProviderFactory() - AppCheck.setAppCheckProviderFactory(instance.providerFactory) - FLTFirebasePluginRegistry.sharedInstance().register(instance) - return instance - }() - - public static func register(with registrar: FlutterPluginRegistrar) { - let binaryMessenger: FlutterBinaryMessenger - - #if os(macOS) - binaryMessenger = registrar.messenger - #elseif os(iOS) - binaryMessenger = registrar.messenger() - #endif - - let instance = shared - instance.binaryMessenger = binaryMessenger - FirebaseAppCheckHostApiSetup.setUp(binaryMessenger: binaryMessenger, api: instance) - - if FirebaseApp.responds(to: NSSelectorFromString("registerLibrary:withVersion:")) { - FirebaseApp.perform( - NSSelectorFromString("registerLibrary:withVersion:"), - with: instance.firebaseLibraryName(), - with: instance.firebaseLibraryVersion() - ) - } - } - - private var binaryMessenger: FlutterBinaryMessenger? - - func activate( - appName: String, androidProvider: String?, appleProvider: String?, - debugToken: String?, - completion: @escaping (Result) -> Void - ) { - guard let app = FLTFirebasePlugin.firebaseAppNamed(appName) else { - completion( - .failure( - FlutterError( - code: "unknown", message: "Firebase app not found: \(appName)", details: nil - ) - ) - ) - return - } - let provider = appleProvider ?? "deviceCheck" - - providerFactory?.configure( - app: app, - providerName: provider, - debugToken: debugToken - ) - - completion(.success(())) - } - - func getToken( - appName: String, forceRefresh: Bool, - completion: @escaping (Result) -> Void - ) { - guard let app = FLTFirebasePlugin.firebaseAppNamed(appName), - let appCheck = AppCheck.appCheck(app: app) - else { - completion( - .failure( - FlutterError( - code: "unknown", message: "App Check not available for app: \(appName)", details: nil - ) - ) - ) - return - } - - appCheck.token(forcingRefresh: forceRefresh) { token, error in - if let error { - completion(.failure(self.createFlutterError(error))) - } else { - completion(.success(token?.token)) - } - } - } - - func setTokenAutoRefreshEnabled( - appName: String, isTokenAutoRefreshEnabled: Bool, - completion: @escaping (Result) -> Void - ) { - guard let app = FLTFirebasePlugin.firebaseAppNamed(appName), - let appCheck = AppCheck.appCheck(app: app) - else { - completion( - .failure( - FlutterError( - code: "unknown", message: "App Check not available for app: \(appName)", details: nil - ) - ) - ) - return - } - appCheck.isTokenAutoRefreshEnabled = isTokenAutoRefreshEnabled - completion(.success(())) - } - - func registerTokenListener( - appName: String, - completion: @escaping (Result) -> Void - ) { - let name = kFirebaseAppCheckTokenChannelPrefix + appName - - guard let messenger = binaryMessenger else { - completion( - .failure( - FlutterError( - code: "no-messenger", - message: "Binary messenger not available", - details: nil - ) - ) - ) - return - } - - let channel = FlutterEventChannel(name: name, binaryMessenger: messenger) - let handler = AppCheckTokenStreamHandler() - channel.setStreamHandler(handler) - - eventChannels[name] = channel - streamHandlers[name] = handler - - completion(.success(name)) - } - - func getLimitedUseAppCheckToken( - appName: String, - completion: @escaping (Result) -> Void - ) { - guard let app = FLTFirebasePlugin.firebaseAppNamed(appName), - let appCheck = AppCheck.appCheck(app: app) - else { - completion( - .failure( - FlutterError( - code: "unknown", message: "App Check not available for app: \(appName)", details: nil - ) - ) - ) - return - } - - appCheck.limitedUseToken { token, error in - if let error { - completion(.failure(self.createFlutterError(error))) - } else { - completion(.success(token?.token ?? "")) - } - } - } - - // MARK: - FLTFirebasePluginProtocol - - public func didReinitializeFirebaseCore(_ completion: @escaping () -> Void) { - for (_, channel) in eventChannels { - channel.setStreamHandler(nil) - } - for (_, handler) in streamHandlers { - _ = handler.onCancel(withArguments: nil) - } - eventChannels.removeAll() - streamHandlers.removeAll() - completion() - } - - public func pluginConstants(for firebaseApp: FirebaseApp) -> [AnyHashable: Any] { - [:] - } - - public func firebaseLibraryName() -> String { - "flutter-fire-appcheck" - } - - public func firebaseLibraryVersion() -> String { - versionNumber - } - - public func flutterChannelName() -> String { - kFirebaseAppCheckChannelName - } - - private func createFlutterError(_ error: Error) -> FlutterError { - let nsError = error as NSError - var code = "unknown" - switch nsError.code { - case 0: // FIRAppCheckErrorCodeServerUnreachable - code = "server-unreachable" - case 1: // FIRAppCheckErrorCodeInvalidConfiguration - code = "invalid-configuration" - case 2: // FIRAppCheckErrorCodeKeychain - code = "code-keychain" - case 3: // FIRAppCheckErrorCodeUnsupported - code = "code-unsupported" - default: - code = "unknown" - } - return FlutterError( - code: code, - message: nsError.localizedDescription, - details: nil - ) - } -} - -// MARK: - Token Stream Handler - -class AppCheckTokenStreamHandler: NSObject, FlutterStreamHandler { - private var observer: NSObjectProtocol? - - func onListen( - withArguments arguments: Any?, - eventSink events: @escaping FlutterEventSink - ) -> FlutterError? { - observer = NotificationCenter.default.addObserver( - forName: NSNotification.Name("FIRAppCheckAppCheckTokenDidChangeNotification"), - object: nil, - queue: nil - ) { notification in - if let token = notification.userInfo?["FIRAppCheckTokenNotificationKey"] as? String { - events(["token": token]) - } - } - return nil - } - - func onCancel(withArguments arguments: Any?) -> FlutterError? { - if let observer { - NotificationCenter.default.removeObserver(observer) - self.observer = nil - } - return nil - } -} - -// MARK: - App Check Provider Factory - -class FlutterAppCheckProviderFactory: NSObject, AppCheckProviderFactory { - private var providers: [String: AppCheckProviderWrapper] = [:] - - func createProvider(with app: FirebaseApp) -> (any AppCheckProvider)? { - if providers[app.name] == nil { - let wrapper = AppCheckProviderWrapper() - // Default to deviceCheck. activate() will reconfigure with the correct provider. - wrapper.configure( - app: app, - providerName: "deviceCheck", - debugToken: nil - ) - providers[app.name] = wrapper - } - return providers[app.name] - } - - func configure( - app: FirebaseApp, - providerName: String, - debugToken: String? - ) { - if providers[app.name] == nil { - providers[app.name] = AppCheckProviderWrapper() - } - providers[app.name]?.configure( - app: app, - providerName: providerName, - debugToken: debugToken - ) - } -} - -class AppCheckProviderWrapper: NSObject, AppCheckProvider { - private var delegateProvider: (any AppCheckProvider)? - - func configure( - app: FirebaseApp, - providerName: String, - debugToken: String? - ) { - switch providerName { - case "debug": - if let debugToken { - setenv("FIRAAppCheckDebugToken", debugToken, 1) - } - delegateProvider = AppCheckDebugProvider(app: app) - if debugToken == nil, let debugProvider = delegateProvider as? AppCheckDebugProvider { - print("Firebase App Check Debug Token: \(debugProvider.localDebugToken())") - } - case "appAttest": - if #available(iOS 14.0, macOS 14.0, macCatalyst 14.0, tvOS 15.0, watchOS 9.0, *) { - delegateProvider = AppAttestProvider(app: app) - } else { - delegateProvider = AppCheckDebugProvider(app: app) - } - case "appAttestWithDeviceCheckFallback": - if #available(iOS 14.0, macOS 14.0, *) { - delegateProvider = AppAttestProvider(app: app) - } else { - delegateProvider = DeviceCheckProvider(app: app) - } - case "recaptcha": - #if os(iOS) - delegateProvider = RecaptchaProvider(app: app) - if delegateProvider == nil { - print( - "Firebase App Check: failed to initialize RecaptchaProvider. Ensure site key is in GoogleService-Info.plist." - ) - } - #else - print("Firebase App Check: reCAPTCHA is only supported on iOS.") - #endif - default: - // deviceCheck - delegateProvider = DeviceCheckProvider(app: app) - } - } - - func getToken(completion handler: @escaping (AppCheckToken?, Error?) -> Void) { - guard let delegateProvider else { - handler( - nil, - NSError( - domain: "firebase_app_check", code: -1, - userInfo: [NSLocalizedDescriptionKey: "Provider not configured"] - ) - ) - return - } - delegateProvider.getToken(completion: handler) - } -} diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/pubspec.yaml b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/pubspec.yaml deleted file mode 100644 index 605a2914..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/pubspec.yaml +++ /dev/null @@ -1,48 +0,0 @@ -name: firebase_app_check -description: App Check works alongside other Firebase services to help protect your backend resources from abuse, such as billing fraud or phishing. -homepage: https://firebase.google.com/docs/app-check -repository: https://github.com/firebase/flutterfire/tree/main/packages/firebase_app_check/firebase_app_check -version: 0.4.5 -resolution: workspace -topics: - - firebase - - app-check - - security - - protection - -false_secrets: - - example/** - -environment: - sdk: '^3.6.0' - flutter: '>=3.27.0' - -dependencies: - firebase_app_check_platform_interface: ^0.4.1 - firebase_app_check_web: ^0.2.5 - firebase_core: ^4.11.0 - firebase_core_platform_interface: ^7.1.0 - flutter: - sdk: flutter - -dev_dependencies: - async: ^2.5.0 - flutter_test: - sdk: flutter - mockito: ^5.0.0 - plugin_platform_interface: ^2.1.3 - -flutter: - plugin: - platforms: - android: - package: io.flutter.plugins.firebase.appcheck - pluginClass: FirebaseAppCheckPlugin - ios: - pluginClass: FirebaseAppCheckPlugin - macos: - pluginClass: FirebaseAppCheckPlugin - web: - default_package: firebase_app_check_web - windows: - pluginClass: FirebaseAppCheckPluginCApi diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/test/firebase_app_check_test.dart b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/test/firebase_app_check_test.dart deleted file mode 100755 index f939040d..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/test/firebase_app_check_test.dart +++ /dev/null @@ -1,79 +0,0 @@ -// Copyright 2021 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -import 'package:firebase_app_check/firebase_app_check.dart'; -import 'package:firebase_core/firebase_core.dart'; -import 'package:flutter_test/flutter_test.dart'; - -import './mock.dart'; - -void main() { - setupFirebaseAppCheckMocks(); - late FirebaseApp secondaryApp; - - group('$FirebaseAppCheck', () { - setUpAll(() async { - await Firebase.initializeApp(); - secondaryApp = await Firebase.initializeApp( - name: 'secondaryApp', - options: const FirebaseOptions( - appId: '1:1234567890:ios:42424242424242', - apiKey: '123', - projectId: '123', - messagingSenderId: '1234567890', - ), - ); - }); - - group('instance', () { - test('successful call', () async { - final appCheck = FirebaseAppCheck.instance; - - expect(appCheck, isA()); - expect(appCheck.app.name, defaultFirebaseAppName); - }); - }); - - group('instanceFor', () { - test('successful call', () async { - final appCheck = FirebaseAppCheck.instanceFor(app: secondaryApp); - - expect(appCheck, isA()); - expect(appCheck.app.name, 'secondaryApp'); - }); - - test('creates a fresh instance after app delete and reinitialize', - () async { - const appName = 'delete-reinit-app-check'; - const options = FirebaseOptions( - appId: '1:1234567890:ios:42424242424242', - apiKey: '123', - projectId: '123', - messagingSenderId: '1234567890', - ); - final app = await Firebase.initializeApp( - name: appName, - options: options, - ); - final appCheck1 = FirebaseAppCheck.instanceFor(app: app); - - expect(app.getService(), same(appCheck1)); - - await app.delete(); - - final app2 = await Firebase.initializeApp( - name: appName, - options: options, - ); - addTearDown(app2.delete); - - final appCheck2 = FirebaseAppCheck.instanceFor(app: app2); - - expect(appCheck2, isNot(same(appCheck1))); - expect(appCheck2.app, app2); - expect(app2.getService(), same(appCheck2)); - }); - }); - }); -} diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/test/mock.dart b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/test/mock.dart deleted file mode 100644 index 0a6701d3..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/test/mock.dart +++ /dev/null @@ -1,35 +0,0 @@ -// Copyright 2021 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -import 'package:firebase_core_platform_interface/test.dart'; -import 'package:flutter/services.dart'; -import 'package:flutter_test/flutter_test.dart'; - -typedef Callback = void Function(MethodCall call); - -final List methodCallLog = []; - -void setupFirebaseAppCheckMocks([Callback? customHandlers]) { - TestWidgetsFlutterBinding.ensureInitialized(); - - setupFirebaseCoreMocks(); - TestFirebaseAppHostApi.setUp(MockFirebaseAppHostApi()); -} - -class MockFirebaseAppHostApi implements TestFirebaseAppHostApi { - @override - Future delete(String appName) async {} - - @override - Future setAutomaticDataCollectionEnabled( - String appName, - bool enabled, - ) async {} - - @override - Future setAutomaticResourceManagementEnabled( - String appName, - bool enabled, - ) async {} -} diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/windows/CMakeLists.txt b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/windows/CMakeLists.txt deleted file mode 100644 index 7c40c200..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/windows/CMakeLists.txt +++ /dev/null @@ -1,81 +0,0 @@ -# The Flutter tooling requires that developers have a version of Visual Studio -# installed that includes CMake 3.14 or later. You should not increase this -# version, as doing so will cause the plugin to fail to compile for some -# customers of the plugin. -cmake_minimum_required(VERSION 3.14) - -# Project-level configuration. -set(PROJECT_NAME "firebase_app_check") -project(${PROJECT_NAME} LANGUAGES CXX) - -# This value is used when generating builds using this plugin, so it must -# not be changed -set(PLUGIN_NAME "firebase_app_check_plugin") - -# Any new source files that you add to the plugin should be added here. -list(APPEND PLUGIN_SOURCES - "firebase_app_check_plugin.cpp" - "firebase_app_check_plugin.h" - "messages.g.cpp" - "messages.g.h" -) - -# Read version from pubspec.yaml -file(STRINGS "../pubspec.yaml" pubspec_content) -foreach(line ${pubspec_content}) - string(FIND ${line} "version: " has_version) - - if("${has_version}" STREQUAL "0") - string(FIND ${line} ": " version_start_pos) - math(EXPR version_start_pos "${version_start_pos} + 2") - string(LENGTH ${line} version_end_pos) - math(EXPR len "${version_end_pos} - ${version_start_pos}") - string(SUBSTRING ${line} ${version_start_pos} ${len} PLUGIN_VERSION) - break() - endif() -endforeach(line) - -configure_file(plugin_version.h.in ${CMAKE_BINARY_DIR}/generated/firebase_app_check/plugin_version.h) -include_directories(${CMAKE_BINARY_DIR}/generated/) - -# Define the plugin library target. Its name must not be changed (see comment -# on PLUGIN_NAME above). -add_library(${PLUGIN_NAME} STATIC - "include/firebase_app_check/firebase_app_check_plugin_c_api.h" - "firebase_app_check_plugin_c_api.cpp" - ${PLUGIN_SOURCES} - ${CMAKE_BINARY_DIR}/generated/firebase_app_check/plugin_version.h -) - -# Apply a standard set of build settings that are configured in the -# application-level CMakeLists.txt. This can be removed for plugins that want -# full control over build settings. -apply_standard_settings(${PLUGIN_NAME}) - -# Symbols are hidden by default to reduce the chance of accidental conflicts -# between plugins. This should not be removed; any symbols that should be -# exported should be explicitly exported with the FLUTTER_PLUGIN_EXPORT macro. -set_target_properties(${PLUGIN_NAME} PROPERTIES - CXX_VISIBILITY_PRESET hidden) -target_compile_definitions(${PLUGIN_NAME} PUBLIC FLUTTER_PLUGIN_IMPL) - -# Enable firebase-cpp-sdk's platform logging api. -target_compile_definitions(${PLUGIN_NAME} PRIVATE -DINTERNAL_EXPERIMENTAL=1) - -# Source include directories and library dependencies. Add any plugin-specific -# dependencies here. -set(MSVC_RUNTIME_MODE MD) -set(firebase_libs firebase_core_plugin firebase_app_check) -target_link_libraries(${PLUGIN_NAME} PRIVATE "${firebase_libs}") - -target_include_directories(${PLUGIN_NAME} INTERFACE - "${CMAKE_CURRENT_SOURCE_DIR}/include") -target_link_libraries(${PLUGIN_NAME} PUBLIC flutter flutter_wrapper_plugin) - -# List of absolute paths to libraries that should be bundled with the plugin. -# This list could contain prebuilt libraries, or libraries created by an -# external build triggered from this build file. -set(firebase_app_check_bundled_libraries - "" - PARENT_SCOPE -) diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/windows/firebase_app_check_plugin.cpp b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/windows/firebase_app_check_plugin.cpp deleted file mode 100644 index d9a0a72d..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/windows/firebase_app_check_plugin.cpp +++ /dev/null @@ -1,249 +0,0 @@ -// Copyright 2025, the Chromium project authors. Please see the AUTHORS file -// for details. All rights reserved. Use of this source code is governed by a -// BSD-style license that can be found in the LICENSE file. - -#include "firebase_app_check_plugin.h" - -#include -#include -#include -#include -#include - -#include -#include -#include - -#include "firebase/app.h" -#include "firebase/app_check.h" -#include "firebase/app_check/debug_provider.h" -#include "firebase/future.h" -#include "firebase_app_check/plugin_version.h" -#include "firebase_core/firebase_core_plugin_c_api.h" -#include "messages.g.h" - -using ::firebase::App; -using ::firebase::Future; -using ::firebase::app_check::AppCheck; -using ::firebase::app_check::AppCheckListener; -using ::firebase::app_check::AppCheckToken; -using ::firebase::app_check::DebugAppCheckProviderFactory; - -namespace firebase_app_check_windows { - -static const std::string kLibraryName = "flutter-fire-app-check"; -static const std::string kEventChannelNamePrefix = - "plugins.flutter.io/firebase_app_check/token/"; - -flutter::BinaryMessenger* FirebaseAppCheckPlugin::binaryMessenger = nullptr; -std::map>> - FirebaseAppCheckPlugin::event_channels_; -std::map - FirebaseAppCheckPlugin::listeners_map_; - -// AppCheckListener implementation that forwards token changes to an EventSink. -class FlutterAppCheckListener : public AppCheckListener { - public: - void SetEventSink( - std::unique_ptr> event_sink) { - event_sink_ = std::move(event_sink); - } - - void OnAppCheckTokenChanged(const AppCheckToken& token) override { - if (event_sink_) { - flutter::EncodableMap event; - event[flutter::EncodableValue("token")] = - flutter::EncodableValue(token.token); - event_sink_->Success(flutter::EncodableValue(event)); - } - } - - private: - std::unique_ptr> event_sink_; -}; - -// StreamHandler for token change events. -class TokenStreamHandler - : public flutter::StreamHandler { - public: - TokenStreamHandler(AppCheck* app_check, const std::string& app_name) - : app_check_(app_check), app_name_(app_name) {} - - std::unique_ptr> - OnListenInternal( - const flutter::EncodableValue* arguments, - std::unique_ptr>&& events) - override { - listener_ = std::make_unique(); - listener_->SetEventSink(std::move(events)); - app_check_->AddAppCheckListener(listener_.get()); - FirebaseAppCheckPlugin::listeners_map_[app_name_] = listener_.get(); - return nullptr; - } - - std::unique_ptr> - OnCancelInternal(const flutter::EncodableValue* arguments) override { - if (listener_) { - app_check_->RemoveAppCheckListener(listener_.get()); - FirebaseAppCheckPlugin::listeners_map_.erase(app_name_); - listener_.reset(); - } - return nullptr; - } - - private: - AppCheck* app_check_; - std::string app_name_; - std::unique_ptr listener_; -}; - -static AppCheck* GetAppCheckFromPigeon(const std::string& app_name) { - App* app = App::GetInstance(app_name.c_str()); - return AppCheck::GetInstance(app); -} - -static FlutterError ParseError(const firebase::FutureBase& completed_future) { - std::string error_code = "unknown"; - int error = completed_future.error(); - switch (error) { - case firebase::app_check::kAppCheckErrorServerUnreachable: - error_code = "server-unreachable"; - break; - case firebase::app_check::kAppCheckErrorInvalidConfiguration: - error_code = "invalid-configuration"; - break; - case firebase::app_check::kAppCheckErrorSystemKeychain: - error_code = "system-keychain"; - break; - case firebase::app_check::kAppCheckErrorUnsupportedProvider: - error_code = "unsupported-provider"; - break; - default: - error_code = "unknown"; - break; - } - - std::string error_message = completed_future.error_message() - ? completed_future.error_message() - : "An unknown error occurred"; - - return FlutterError(error_code, error_message); -} - -// static -void FirebaseAppCheckPlugin::RegisterWithRegistrar( - flutter::PluginRegistrarWindows* registrar) { - auto plugin = std::make_unique(); - - FirebaseAppCheckHostApi::SetUp(registrar->messenger(), plugin.get()); - - registrar->AddPlugin(std::move(plugin)); - - binaryMessenger = registrar->messenger(); - - // Register for platform logging - App::RegisterLibrary(kLibraryName.c_str(), getPluginVersion().c_str(), - nullptr); -} - -FirebaseAppCheckPlugin::FirebaseAppCheckPlugin() {} - -FirebaseAppCheckPlugin::~FirebaseAppCheckPlugin() { - for (auto& [app_name, listener] : listeners_map_) { - App* app = App::GetInstance(app_name.c_str()); - if (app) { - AppCheck* app_check = AppCheck::GetInstance(app); - if (app_check) { - app_check->RemoveAppCheckListener(listener); - } - } - } - listeners_map_.clear(); - event_channels_.clear(); -} - -void FirebaseAppCheckPlugin::Activate( - const std::string& app_name, const std::string* android_provider, - const std::string* apple_provider, const std::string* debug_token, - std::function reply)> result) { - // On Windows/desktop, only the Debug provider is available. - DebugAppCheckProviderFactory* factory = - DebugAppCheckProviderFactory::GetInstance(); - - if (debug_token != nullptr && !debug_token->empty()) { - factory->SetDebugToken(*debug_token); - } - - AppCheck::SetAppCheckProviderFactory(factory); - - result(std::nullopt); -} - -void FirebaseAppCheckPlugin::GetToken( - const std::string& app_name, bool force_refresh, - std::function> reply)> result) { - AppCheck* app_check = GetAppCheckFromPigeon(app_name); - - Future future = app_check->GetAppCheckToken(force_refresh); - future.OnCompletion([result](const Future& completed_future) { - if (completed_future.error() != 0) { - result(ParseError(completed_future)); - } else { - const AppCheckToken* token = completed_future.result(); - if (token) { - result(std::optional(token->token)); - } else { - result(std::optional(std::nullopt)); - } - } - }); -} - -void FirebaseAppCheckPlugin::SetTokenAutoRefreshEnabled( - const std::string& app_name, bool is_token_auto_refresh_enabled, - std::function reply)> result) { - AppCheck* app_check = GetAppCheckFromPigeon(app_name); - app_check->SetTokenAutoRefreshEnabled(is_token_auto_refresh_enabled); - result(std::nullopt); -} - -void FirebaseAppCheckPlugin::RegisterTokenListener( - const std::string& app_name, - std::function reply)> result) { - AppCheck* app_check = GetAppCheckFromPigeon(app_name); - - const std::string name = kEventChannelNamePrefix + app_name; - - auto event_channel = - std::make_unique>( - binaryMessenger, name, &flutter::StandardMethodCodec::GetInstance()); - event_channel->SetStreamHandler( - std::make_unique(app_check, app_name)); - - event_channels_[app_name] = std::move(event_channel); - - result(name); -} - -void FirebaseAppCheckPlugin::GetLimitedUseAppCheckToken( - const std::string& app_name, - std::function reply)> result) { - AppCheck* app_check = GetAppCheckFromPigeon(app_name); - - Future future = app_check->GetLimitedUseAppCheckToken(); - future.OnCompletion([result](const Future& completed_future) { - if (completed_future.error() != 0) { - result(ParseError(completed_future)); - } else { - const AppCheckToken* token = completed_future.result(); - if (token) { - result(token->token); - } else { - result(FlutterError("unknown", "Failed to get limited use token")); - } - } - }); -} - -} // namespace firebase_app_check_windows diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/windows/firebase_app_check_plugin.h b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/windows/firebase_app_check_plugin.h deleted file mode 100644 index baabf2bd..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/windows/firebase_app_check_plugin.h +++ /dev/null @@ -1,72 +0,0 @@ -/* - * Copyright 2025, the Chromium project authors. Please see the AUTHORS file - * for details. All rights reserved. Use of this source code is governed by a - * BSD-style license that can be found in the LICENSE file. - */ - -#ifndef FLUTTER_PLUGIN_FIREBASE_APP_CHECK_PLUGIN_H_ -#define FLUTTER_PLUGIN_FIREBASE_APP_CHECK_PLUGIN_H_ - -#include -#include -#include - -#include -#include -#include - -#include "firebase/app.h" -#include "firebase/app_check.h" -#include "firebase/future.h" -#include "messages.g.h" - -namespace firebase_app_check_windows { - -class TokenStreamHandler; - -class FirebaseAppCheckPlugin : public flutter::Plugin, - public FirebaseAppCheckHostApi { - friend class TokenStreamHandler; - - public: - static void RegisterWithRegistrar(flutter::PluginRegistrarWindows* registrar); - - FirebaseAppCheckPlugin(); - - virtual ~FirebaseAppCheckPlugin(); - - // Disallow copy and assign. - FirebaseAppCheckPlugin(const FirebaseAppCheckPlugin&) = delete; - FirebaseAppCheckPlugin& operator=(const FirebaseAppCheckPlugin&) = delete; - - // FirebaseAppCheckHostApi methods. - void Activate( - const std::string& app_name, const std::string* android_provider, - const std::string* apple_provider, const std::string* debug_token, - std::function reply)> result) override; - void GetToken(const std::string& app_name, bool force_refresh, - std::function> reply)> - result) override; - void SetTokenAutoRefreshEnabled( - const std::string& app_name, bool is_token_auto_refresh_enabled, - std::function reply)> result) override; - void RegisterTokenListener( - const std::string& app_name, - std::function reply)> result) override; - void GetLimitedUseAppCheckToken( - const std::string& app_name, - std::function reply)> result) override; - - private: - static flutter::BinaryMessenger* binaryMessenger; - static std::map< - std::string, - std::unique_ptr>> - event_channels_; - static std::map - listeners_map_; -}; - -} // namespace firebase_app_check_windows - -#endif // FLUTTER_PLUGIN_FIREBASE_APP_CHECK_PLUGIN_H_ diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/windows/firebase_app_check_plugin_c_api.cpp b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/windows/firebase_app_check_plugin_c_api.cpp deleted file mode 100644 index f0ace78f..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/windows/firebase_app_check_plugin_c_api.cpp +++ /dev/null @@ -1,16 +0,0 @@ -// Copyright 2025, the Chromium project authors. Please see the AUTHORS file -// for details. All rights reserved. Use of this source code is governed by a -// BSD-style license that can be found in the LICENSE file. - -#include "include/firebase_app_check/firebase_app_check_plugin_c_api.h" - -#include - -#include "firebase_app_check_plugin.h" - -void FirebaseAppCheckPluginCApiRegisterWithRegistrar( - FlutterDesktopPluginRegistrarRef registrar) { - firebase_app_check_windows::FirebaseAppCheckPlugin::RegisterWithRegistrar( - flutter::PluginRegistrarManager::GetInstance() - ->GetRegistrar(registrar)); -} diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/windows/include/firebase_app_check/firebase_app_check_plugin_c_api.h b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/windows/include/firebase_app_check/firebase_app_check_plugin_c_api.h deleted file mode 100644 index ab2d9e94..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/windows/include/firebase_app_check/firebase_app_check_plugin_c_api.h +++ /dev/null @@ -1,29 +0,0 @@ -/* - * Copyright 2025, the Chromium project authors. Please see the AUTHORS file - * for details. All rights reserved. Use of this source code is governed by a - * BSD-style license that can be found in the LICENSE file. - */ - -#ifndef FLUTTER_PLUGIN_FIREBASE_APP_CHECK_PLUGIN_C_API_H_ -#define FLUTTER_PLUGIN_FIREBASE_APP_CHECK_PLUGIN_C_API_H_ - -#include - -#ifdef FLUTTER_PLUGIN_IMPL -#define FLUTTER_PLUGIN_EXPORT __declspec(dllexport) -#else -#define FLUTTER_PLUGIN_EXPORT __declspec(dllimport) -#endif - -#if defined(__cplusplus) -extern "C" { -#endif - -FLUTTER_PLUGIN_EXPORT void FirebaseAppCheckPluginCApiRegisterWithRegistrar( - FlutterDesktopPluginRegistrarRef registrar); - -#if defined(__cplusplus) -} // extern "C" -#endif - -#endif // FLUTTER_PLUGIN_FIREBASE_APP_CHECK_PLUGIN_C_API_H_ diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/windows/messages.g.cpp b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/windows/messages.g.cpp deleted file mode 100644 index 0da3e3c1..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/windows/messages.g.cpp +++ /dev/null @@ -1,517 +0,0 @@ -// Copyright 2025, the Chromium project authors. Please see the AUTHORS file -// for details. All rights reserved. Use of this source code is governed by a -// BSD-style license that can be found in the LICENSE file. -// Autogenerated from Pigeon (v26.3.4), do not edit directly. -// See also: https://pub.dev/packages/pigeon - -#undef _HAS_EXCEPTIONS - -#include "messages.g.h" - -#include -#include -#include -#include - -#include -#include -#include -#include -#include - -namespace firebase_app_check_windows { -using ::flutter::BasicMessageChannel; -using ::flutter::CustomEncodableValue; -using ::flutter::EncodableList; -using ::flutter::EncodableMap; -using ::flutter::EncodableValue; - -FlutterError CreateConnectionError(const std::string channel_name) { - return FlutterError( - "channel-error", - "Unable to establish connection on channel: '" + channel_name + "'.", - EncodableValue("")); -} - -namespace { -template -bool PigeonInternalDeepEquals(const T& a, const T& b); - -bool PigeonInternalDeepEquals(const double& a, const double& b); - -template -bool PigeonInternalDeepEquals(const std::vector& a, const std::vector& b); - -template -bool PigeonInternalDeepEquals(const std::map& a, const std::map& b); - -template -bool PigeonInternalDeepEquals(const std::optional& a, - const std::optional& b); - -template -bool PigeonInternalDeepEquals(const std::unique_ptr& a, - const std::unique_ptr& b); - -bool PigeonInternalDeepEquals(const ::flutter::EncodableValue& a, - const ::flutter::EncodableValue& b); - -template -bool PigeonInternalDeepEquals(const T& a, const T& b) { - return a == b; -} - -template -bool PigeonInternalDeepEquals(const std::vector& a, - const std::vector& b) { - if (a.size() != b.size()) { - return false; - } - for (size_t i = 0; i < a.size(); ++i) { - if (!PigeonInternalDeepEquals(a[i], b[i])) { - return false; - } - } - return true; -} - -template -bool PigeonInternalDeepEquals(const std::map& a, - const std::map& b) { - if (a.size() != b.size()) { - return false; - } - for (const auto& kv : a) { - bool found = false; - for (const auto& b_kv : b) { - if (PigeonInternalDeepEquals(kv.first, b_kv.first)) { - if (PigeonInternalDeepEquals(kv.second, b_kv.second)) { - found = true; - break; - } else { - return false; - } - } - } - if (!found) { - return false; - } - } - return true; -} - -bool PigeonInternalDeepEquals(const double& a, const double& b) { - // Normalize -0.0 to 0.0 and handle NaN equality. - return (a == b) || (std::isnan(a) && std::isnan(b)); -} - -template -bool PigeonInternalDeepEquals(const std::optional& a, - const std::optional& b) { - if (!a && !b) { - return true; - } - if (!a || !b) { - return false; - } - return PigeonInternalDeepEquals(*a, *b); -} - -template -bool PigeonInternalDeepEquals(const std::unique_ptr& a, - const std::unique_ptr& b) { - if (a.get() == b.get()) { - return true; - } - if (!a || !b) { - return false; - } - return PigeonInternalDeepEquals(*a, *b); -} - -bool PigeonInternalDeepEquals(const ::flutter::EncodableValue& a, - const ::flutter::EncodableValue& b) { - if (a.index() != b.index()) { - return false; - } - if (const double* da = std::get_if(&a)) { - return PigeonInternalDeepEquals(*da, std::get(b)); - } else if (const ::flutter::EncodableList* la = - std::get_if<::flutter::EncodableList>(&a)) { - return PigeonInternalDeepEquals(*la, std::get<::flutter::EncodableList>(b)); - } else if (const ::flutter::EncodableMap* ma = - std::get_if<::flutter::EncodableMap>(&a)) { - return PigeonInternalDeepEquals(*ma, std::get<::flutter::EncodableMap>(b)); - } - return a == b; -} - -template -size_t PigeonInternalDeepHash(const T& v); - -size_t PigeonInternalDeepHash(const double& v); - -template -size_t PigeonInternalDeepHash(const std::vector& v); - -template -size_t PigeonInternalDeepHash(const std::map& v); - -template -size_t PigeonInternalDeepHash(const std::optional& v); - -template -size_t PigeonInternalDeepHash(const std::unique_ptr& v); - -size_t PigeonInternalDeepHash(const ::flutter::EncodableValue& v); - -template -size_t PigeonInternalDeepHash(const T& v) { - return std::hash()(v); -} - -template -size_t PigeonInternalDeepHash(const std::vector& v) { - size_t result = 1; - for (const auto& item : v) { - result = result * 31 + PigeonInternalDeepHash(item); - } - return result; -} - -template -size_t PigeonInternalDeepHash(const std::map& v) { - size_t result = 0; - for (const auto& kv : v) { - result += ((PigeonInternalDeepHash(kv.first) * 31) ^ - PigeonInternalDeepHash(kv.second)); - } - return result; -} - -size_t PigeonInternalDeepHash(const double& v) { - if (std::isnan(v)) { - // Normalize NaN to a consistent hash. - return std::hash()(std::numeric_limits::quiet_NaN()); - } - if (v == 0.0) { - // Normalize -0.0 to 0.0 so they have the same hash code. - return std::hash()(0.0); - } - return std::hash()(v); -} - -template -size_t PigeonInternalDeepHash(const std::optional& v) { - return v ? PigeonInternalDeepHash(*v) : 0; -} - -template -size_t PigeonInternalDeepHash(const std::unique_ptr& v) { - return v ? PigeonInternalDeepHash(*v) : 0; -} - -size_t PigeonInternalDeepHash(const ::flutter::EncodableValue& v) { - size_t result = v.index(); - if (const double* dv = std::get_if(&v)) { - result = result * 31 + PigeonInternalDeepHash(*dv); - } else if (const ::flutter::EncodableList* lv = - std::get_if<::flutter::EncodableList>(&v)) { - result = result * 31 + PigeonInternalDeepHash(*lv); - } else if (const ::flutter::EncodableMap* mv = - std::get_if<::flutter::EncodableMap>(&v)) { - result = result * 31 + PigeonInternalDeepHash(*mv); - } else { - std::visit( - [&result](const auto& val) { - using T = std::decay_t; - if constexpr (!std::is_same_v && - !std::is_same_v && - !std::is_same_v && - !std::is_same_v && - !std::is_same_v) { - result = result * 31 + PigeonInternalDeepHash(val); - } - }, - v); - } - return result; -} - -} // namespace - -PigeonInternalCodecSerializer::PigeonInternalCodecSerializer() {} - -EncodableValue PigeonInternalCodecSerializer::ReadValueOfType( - uint8_t type, ::flutter::ByteStreamReader* stream) const { - return ::flutter::StandardCodecSerializer::ReadValueOfType(type, stream); -} - -void PigeonInternalCodecSerializer::WriteValue( - const EncodableValue& value, ::flutter::ByteStreamWriter* stream) const { - ::flutter::StandardCodecSerializer::WriteValue(value, stream); -} - -/// The codec used by FirebaseAppCheckHostApi. -const ::flutter::StandardMessageCodec& FirebaseAppCheckHostApi::GetCodec() { - return ::flutter::StandardMessageCodec::GetInstance( - &PigeonInternalCodecSerializer::GetInstance()); -} - -// Sets up an instance of `FirebaseAppCheckHostApi` to handle messages through -// the `binary_messenger`. -void FirebaseAppCheckHostApi::SetUp( - ::flutter::BinaryMessenger* binary_messenger, - FirebaseAppCheckHostApi* api) { - FirebaseAppCheckHostApi::SetUp(binary_messenger, api, ""); -} - -void FirebaseAppCheckHostApi::SetUp( - ::flutter::BinaryMessenger* binary_messenger, FirebaseAppCheckHostApi* api, - const std::string& message_channel_suffix) { - const std::string prepended_suffix = - message_channel_suffix.length() > 0 - ? std::string(".") + message_channel_suffix - : ""; - { - BasicMessageChannel<> channel( - binary_messenger, - "dev.flutter.pigeon.firebase_app_check_platform_interface." - "FirebaseAppCheckHostApi.activate" + - prepended_suffix, - &GetCodec()); - if (api != nullptr) { - channel.SetMessageHandler( - [api](const EncodableValue& message, - const ::flutter::MessageReply& reply) { - try { - const auto& args = std::get(message); - const auto& encodable_app_name_arg = args.at(0); - if (encodable_app_name_arg.IsNull()) { - reply(WrapError("app_name_arg unexpectedly null.")); - return; - } - const auto& app_name_arg = - std::get(encodable_app_name_arg); - const auto& encodable_android_provider_arg = args.at(1); - const auto* android_provider_arg = - std::get_if(&encodable_android_provider_arg); - const auto& encodable_apple_provider_arg = args.at(2); - const auto* apple_provider_arg = - std::get_if(&encodable_apple_provider_arg); - const auto& encodable_debug_token_arg = args.at(3); - const auto* debug_token_arg = - std::get_if(&encodable_debug_token_arg); - api->Activate(app_name_arg, android_provider_arg, - apple_provider_arg, debug_token_arg, - [reply](std::optional&& output) { - if (output.has_value()) { - reply(WrapError(output.value())); - return; - } - EncodableList wrapped; - wrapped.push_back(EncodableValue()); - reply(EncodableValue(std::move(wrapped))); - }); - } catch (const std::exception& exception) { - reply(WrapError(exception.what())); - } - }); - } else { - channel.SetMessageHandler(nullptr); - } - } - { - BasicMessageChannel<> channel( - binary_messenger, - "dev.flutter.pigeon.firebase_app_check_platform_interface." - "FirebaseAppCheckHostApi.getToken" + - prepended_suffix, - &GetCodec()); - if (api != nullptr) { - channel.SetMessageHandler( - [api](const EncodableValue& message, - const ::flutter::MessageReply& reply) { - try { - const auto& args = std::get(message); - const auto& encodable_app_name_arg = args.at(0); - if (encodable_app_name_arg.IsNull()) { - reply(WrapError("app_name_arg unexpectedly null.")); - return; - } - const auto& app_name_arg = - std::get(encodable_app_name_arg); - const auto& encodable_force_refresh_arg = args.at(1); - if (encodable_force_refresh_arg.IsNull()) { - reply(WrapError("force_refresh_arg unexpectedly null.")); - return; - } - const auto& force_refresh_arg = - std::get(encodable_force_refresh_arg); - api->GetToken( - app_name_arg, force_refresh_arg, - [reply](ErrorOr>&& output) { - if (output.has_error()) { - reply(WrapError(output.error())); - return; - } - EncodableList wrapped; - auto output_optional = std::move(output).TakeValue(); - if (output_optional) { - wrapped.push_back( - EncodableValue(std::move(output_optional).value())); - } else { - wrapped.push_back(EncodableValue()); - } - reply(EncodableValue(std::move(wrapped))); - }); - } catch (const std::exception& exception) { - reply(WrapError(exception.what())); - } - }); - } else { - channel.SetMessageHandler(nullptr); - } - } - { - BasicMessageChannel<> channel( - binary_messenger, - "dev.flutter.pigeon.firebase_app_check_platform_interface." - "FirebaseAppCheckHostApi.setTokenAutoRefreshEnabled" + - prepended_suffix, - &GetCodec()); - if (api != nullptr) { - channel.SetMessageHandler( - [api](const EncodableValue& message, - const ::flutter::MessageReply& reply) { - try { - const auto& args = std::get(message); - const auto& encodable_app_name_arg = args.at(0); - if (encodable_app_name_arg.IsNull()) { - reply(WrapError("app_name_arg unexpectedly null.")); - return; - } - const auto& app_name_arg = - std::get(encodable_app_name_arg); - const auto& encodable_is_token_auto_refresh_enabled_arg = - args.at(1); - if (encodable_is_token_auto_refresh_enabled_arg.IsNull()) { - reply(WrapError( - "is_token_auto_refresh_enabled_arg unexpectedly null.")); - return; - } - const auto& is_token_auto_refresh_enabled_arg = - std::get(encodable_is_token_auto_refresh_enabled_arg); - api->SetTokenAutoRefreshEnabled( - app_name_arg, is_token_auto_refresh_enabled_arg, - [reply](std::optional&& output) { - if (output.has_value()) { - reply(WrapError(output.value())); - return; - } - EncodableList wrapped; - wrapped.push_back(EncodableValue()); - reply(EncodableValue(std::move(wrapped))); - }); - } catch (const std::exception& exception) { - reply(WrapError(exception.what())); - } - }); - } else { - channel.SetMessageHandler(nullptr); - } - } - { - BasicMessageChannel<> channel( - binary_messenger, - "dev.flutter.pigeon.firebase_app_check_platform_interface." - "FirebaseAppCheckHostApi.registerTokenListener" + - prepended_suffix, - &GetCodec()); - if (api != nullptr) { - channel.SetMessageHandler( - [api](const EncodableValue& message, - const ::flutter::MessageReply& reply) { - try { - const auto& args = std::get(message); - const auto& encodable_app_name_arg = args.at(0); - if (encodable_app_name_arg.IsNull()) { - reply(WrapError("app_name_arg unexpectedly null.")); - return; - } - const auto& app_name_arg = - std::get(encodable_app_name_arg); - api->RegisterTokenListener( - app_name_arg, [reply](ErrorOr&& output) { - if (output.has_error()) { - reply(WrapError(output.error())); - return; - } - EncodableList wrapped; - wrapped.push_back( - EncodableValue(std::move(output).TakeValue())); - reply(EncodableValue(std::move(wrapped))); - }); - } catch (const std::exception& exception) { - reply(WrapError(exception.what())); - } - }); - } else { - channel.SetMessageHandler(nullptr); - } - } - { - BasicMessageChannel<> channel( - binary_messenger, - "dev.flutter.pigeon.firebase_app_check_platform_interface." - "FirebaseAppCheckHostApi.getLimitedUseAppCheckToken" + - prepended_suffix, - &GetCodec()); - if (api != nullptr) { - channel.SetMessageHandler( - [api](const EncodableValue& message, - const ::flutter::MessageReply& reply) { - try { - const auto& args = std::get(message); - const auto& encodable_app_name_arg = args.at(0); - if (encodable_app_name_arg.IsNull()) { - reply(WrapError("app_name_arg unexpectedly null.")); - return; - } - const auto& app_name_arg = - std::get(encodable_app_name_arg); - api->GetLimitedUseAppCheckToken( - app_name_arg, [reply](ErrorOr&& output) { - if (output.has_error()) { - reply(WrapError(output.error())); - return; - } - EncodableList wrapped; - wrapped.push_back( - EncodableValue(std::move(output).TakeValue())); - reply(EncodableValue(std::move(wrapped))); - }); - } catch (const std::exception& exception) { - reply(WrapError(exception.what())); - } - }); - } else { - channel.SetMessageHandler(nullptr); - } - } -} - -EncodableValue FirebaseAppCheckHostApi::WrapError( - std::string_view error_message) { - return EncodableValue( - EncodableList{EncodableValue(std::string(error_message)), - EncodableValue("Error"), EncodableValue()}); -} - -EncodableValue FirebaseAppCheckHostApi::WrapError(const FlutterError& error) { - return EncodableValue(EncodableList{EncodableValue(error.code()), - EncodableValue(error.message()), - error.details()}); -} - -} // namespace firebase_app_check_windows diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/windows/messages.g.h b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/windows/messages.g.h deleted file mode 100644 index 50ae4829..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/windows/messages.g.h +++ /dev/null @@ -1,119 +0,0 @@ -// Copyright 2025, the Chromium project authors. Please see the AUTHORS file -// for details. All rights reserved. Use of this source code is governed by a -// BSD-style license that can be found in the LICENSE file. -// Autogenerated from Pigeon (v26.3.4), do not edit directly. -// See also: https://pub.dev/packages/pigeon - -#ifndef PIGEON_MESSAGES_G_H_ -#define PIGEON_MESSAGES_G_H_ -#include -#include -#include -#include - -#include -#include -#include - -namespace firebase_app_check_windows { - -// Generated class from Pigeon. - -class FlutterError { - public: - explicit FlutterError(const std::string& code) : code_(code) {} - explicit FlutterError(const std::string& code, const std::string& message) - : code_(code), message_(message) {} - explicit FlutterError(const std::string& code, const std::string& message, - const ::flutter::EncodableValue& details) - : code_(code), message_(message), details_(details) {} - - const std::string& code() const { return code_; } - const std::string& message() const { return message_; } - const ::flutter::EncodableValue& details() const { return details_; } - - private: - std::string code_; - std::string message_; - ::flutter::EncodableValue details_; -}; - -template -class ErrorOr { - public: - ErrorOr(const T& rhs) : v_(rhs) {} - ErrorOr(const T&& rhs) : v_(std::move(rhs)) {} - ErrorOr(const FlutterError& rhs) : v_(rhs) {} - ErrorOr(const FlutterError&& rhs) : v_(std::move(rhs)) {} - - bool has_error() const { return std::holds_alternative(v_); } - const T& value() const { return std::get(v_); }; - const FlutterError& error() const { return std::get(v_); }; - - private: - friend class FirebaseAppCheckHostApi; - ErrorOr() = default; - T TakeValue() && { return std::get(std::move(v_)); } - - std::variant v_; -}; - -class PigeonInternalCodecSerializer - : public ::flutter::StandardCodecSerializer { - public: - PigeonInternalCodecSerializer(); - inline static PigeonInternalCodecSerializer& GetInstance() { - static PigeonInternalCodecSerializer sInstance; - return sInstance; - } - - void WriteValue(const ::flutter::EncodableValue& value, - ::flutter::ByteStreamWriter* stream) const override; - - protected: - ::flutter::EncodableValue ReadValueOfType( - uint8_t type, ::flutter::ByteStreamReader* stream) const override; -}; - -// Generated interface from Pigeon that represents a handler of messages from -// Flutter. -class FirebaseAppCheckHostApi { - public: - FirebaseAppCheckHostApi(const FirebaseAppCheckHostApi&) = delete; - FirebaseAppCheckHostApi& operator=(const FirebaseAppCheckHostApi&) = delete; - virtual ~FirebaseAppCheckHostApi() {} - virtual void Activate( - const std::string& app_name, const std::string* android_provider, - const std::string* apple_provider, const std::string* debug_token, - std::function reply)> result) = 0; - virtual void GetToken( - const std::string& app_name, bool force_refresh, - std::function> reply)> - result) = 0; - virtual void SetTokenAutoRefreshEnabled( - const std::string& app_name, bool is_token_auto_refresh_enabled, - std::function reply)> result) = 0; - virtual void RegisterTokenListener( - const std::string& app_name, - std::function reply)> result) = 0; - virtual void GetLimitedUseAppCheckToken( - const std::string& app_name, - std::function reply)> result) = 0; - - // The codec used by FirebaseAppCheckHostApi. - static const ::flutter::StandardMessageCodec& GetCodec(); - // Sets up an instance of `FirebaseAppCheckHostApi` to handle messages through - // the `binary_messenger`. - static void SetUp(::flutter::BinaryMessenger* binary_messenger, - FirebaseAppCheckHostApi* api); - static void SetUp(::flutter::BinaryMessenger* binary_messenger, - FirebaseAppCheckHostApi* api, - const std::string& message_channel_suffix); - static ::flutter::EncodableValue WrapError(std::string_view error_message); - static ::flutter::EncodableValue WrapError(const FlutterError& error); - - protected: - FirebaseAppCheckHostApi() = default; -}; -} // namespace firebase_app_check_windows -#endif // PIGEON_MESSAGES_G_H_ diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/windows/plugin_version.h.in b/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/windows/plugin_version.h.in deleted file mode 100644 index 0a52f845..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_app_check-0.4.5/windows/plugin_version.h.in +++ /dev/null @@ -1,13 +0,0 @@ -// Copyright 2025, the Chromium project authors. Please see the AUTHORS file -// for details. All rights reserved. Use of this source code is governed by a -// BSD-style license that can be found in the LICENSE file. - -#ifndef PLUGIN_VERSION_CONFIG_H -#define PLUGIN_VERSION_CONFIG_H - -namespace firebase_app_check_windows { - -std::string getPluginVersion() { return "@PLUGIN_VERSION@"; } -} // namespace firebase_app_check_windows - -#endif // PLUGIN_VERSION_CONFIG_H diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/CHANGELOG.md b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/CHANGELOG.md deleted file mode 100644 index b712b5e1..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/CHANGELOG.md +++ /dev/null @@ -1,1613 +0,0 @@ -## 6.5.4 - - - **FIX**: resolve FlutterSceneLifeCycleDelegate conformance guard ([#18385](https://github.com/firebase/flutterfire/issues/18385)). ([48d67196](https://github.com/firebase/flutterfire/commit/48d67196a10affe09724529df5f67cf40b62bccf)) - -## 6.5.3 - - - Update a dependency to the latest release. - -## 6.5.2 - - - **FIX**(auth,android): update token retrieval in PigeonParser to handle Number type correctly ([#18328](https://github.com/firebase/flutterfire/issues/18328)). ([3b77147b](https://github.com/firebase/flutterfire/commit/3b77147bc00bb19af5f4821436a1a4cdd8ff6791)) - - **DOCS**(auth): clarify behavior of password reset email with email enumeration protection enabled ([#18296](https://github.com/firebase/flutterfire/issues/18296)). ([0bcce87a](https://github.com/firebase/flutterfire/commit/0bcce87a17830797dae6ff3c1a8ba4ce210c2c0d)) - -## 6.5.1 - - - Update a dependency to the latest release. - -## 6.5.0 - - - **REFACTOR**: move all packages to workspace ([#18182](https://github.com/firebase/flutterfire/issues/18182)). ([6cdfcb10](https://github.com/firebase/flutterfire/commit/6cdfcb103da7be46ccb190d7e107d8c537aa1ff8)) - - **FIX**: update core, auth and app-check logic so internal resources on method channels are properly disposed ([#18268](https://github.com/firebase/flutterfire/issues/18268)). ([a0de4ed8](https://github.com/firebase/flutterfire/commit/a0de4ed86b0dff89bb9e557f2a54f38cd2546016)) - - **FIX**(auth,apple): remove incorrect paths in Package.swift files search paths ([#18239](https://github.com/firebase/flutterfire/issues/18239)). ([7c2fa5b8](https://github.com/firebase/flutterfire/commit/7c2fa5b83201f2f68e031476dc37ad41809215f2)) - - **FIX**(auth,iOS): update import path for autogenerated messages ([#18227](https://github.com/firebase/flutterfire/issues/18227)). ([4351179d](https://github.com/firebase/flutterfire/commit/4351179d357eeab6b23ec66f45d558c02d3fde69)) - - **FEAT**(core): Add Auth and AppCheck as App's registered service. ([#18237](https://github.com/firebase/flutterfire/issues/18237)). ([7ce191cb](https://github.com/firebase/flutterfire/commit/7ce191cbd598b299cd0ec64b45d1366914367a5d)) - - **FEAT**: upgrade pigeon to version 26.3.4 ([#18205](https://github.com/firebase/flutterfire/issues/18205)). ([cb6b4aef](https://github.com/firebase/flutterfire/commit/cb6b4aeffc568755ea3eebe32b998f00237bf5ad)) - - **FEAT**(auth,android): add revokeAccessToken support for Android ([#18206](https://github.com/firebase/flutterfire/issues/18206)) ([#18207](https://github.com/firebase/flutterfire/issues/18207)). ([7e0a2227](https://github.com/firebase/flutterfire/commit/7e0a222700178a57d064c27b4ef62cefdda1e253)) - -## 6.4.0 - - - **FIX**(auth,ios): serialize Sign in with Apple to prevent crash on overlapping requests ([#18172](https://github.com/firebase/flutterfire/issues/18172)). ([752cbcaa](https://github.com/firebase/flutterfire/commit/752cbcaa57f887a8fea3bda728bb8482290fa049)) - - **FEAT**: use local firebase_core instead of remote SPM dependency ([#18141](https://github.com/firebase/flutterfire/issues/18141)). ([995caf40](https://github.com/firebase/flutterfire/commit/995caf400df80c0fde7151c651ccc6c0f756e381)) - -## 6.3.0 - - - **FIX**(auth): fix inconsistence in casing in the native iOS SDK and Web SDK ([#18086](https://github.com/firebase/flutterfire/issues/18086)). ([60b5cd5c](https://github.com/firebase/flutterfire/commit/60b5cd5c7888fa932124958125e87bd39e1c323c)) - - **FIX**(auth,ios): fix crash that could happen when reloading currentUser informations ([#18065](https://github.com/firebase/flutterfire/issues/18065)). ([6e6f6546](https://github.com/firebase/flutterfire/commit/6e6f65468c07045e1c21b1d7970234b2dfc16b3d)) - - **FIX**(auth,windows): add pluginregistry to properly restore state on Windows ([#18049](https://github.com/firebase/flutterfire/issues/18049)). ([8d715a77](https://github.com/firebase/flutterfire/commit/8d715a777a4827bff59f820d9978007bd7568a7d)) - - **FEAT**(ios): migrate iOS to UIScene lifecycle ([#18054](https://github.com/firebase/flutterfire/issues/18054)). ([3ffa4110](https://github.com/firebase/flutterfire/commit/3ffa411098132fd5182a84be4e7a226106bc7451)) - - **DOCS**(auth): add documentation about errors code when Email Enumeration Protection is activated ([#18084](https://github.com/firebase/flutterfire/issues/18084)). ([476ba53f](https://github.com/firebase/flutterfire/commit/476ba53f016f20009fd571ad6ab359631f97094b)) - -## 6.2.0 - - - **FEAT**(remote-config,windows): add support for windows ([#18006](https://github.com/firebase/flutterfire/issues/18006)). ([a6ec167f](https://github.com/firebase/flutterfire/commit/a6ec167f4ece9c9b455a916366781f482cc380b3)) - -## 6.1.4 - - - Update a dependency to the latest release. - -## 6.1.3 - - - Update a dependency to the latest release. - -## 6.1.2 - - - Update a dependency to the latest release. - -## 6.1.1 - - - Update a dependency to the latest release. - -## 6.1.0 - - - **FEAT**(auth): TOTP macOS support ([#17513](https://github.com/firebase/flutterfire/issues/17513)). ([41890d62](https://github.com/firebase/flutterfire/commit/41890d62a49258df097c19fd3b90e0b5de181526)) - -## 6.0.2 - - - Update a dependency to the latest release. - -## 6.0.1 - - - **FIX**(auth,apple): Move FirebaseAuth imports to implementation files ([#17607](https://github.com/firebase/flutterfire/issues/17607)). ([0c3ccd37](https://github.com/firebase/flutterfire/commit/0c3ccd3722038a47e656b0a703a0395a78befc5b)) - -## 6.0.0 - -> Note: This release has breaking changes. - - - **FEAT**(auth): validatePassword method/PasswordPolicy Support ([#17439](https://github.com/firebase/flutterfire/issues/17439)). ([9a032b34](https://github.com/firebase/flutterfire/commit/9a032b344d6a22c1e3a181ae27e511939f2d8972)) - - **BREAKING** **FEAT**: bump iOS SDK to version 12.0.0 ([#17549](https://github.com/firebase/flutterfire/issues/17549)). ([b2619e68](https://github.com/firebase/flutterfire/commit/b2619e685fec897513483df1d7be347b64f95606)) - - **BREAKING** **FEAT**(auth): remove deprecated functions ([#17562](https://github.com/firebase/flutterfire/issues/17562)). ([d50aad95](https://github.com/firebase/flutterfire/commit/d50aad954443904d64d4ebd4442ebc63ed702986)) - - **BREAKING** **FEAT**: bump Android SDK to version 34.0.0 ([#17554](https://github.com/firebase/flutterfire/issues/17554)). ([a5bdc051](https://github.com/firebase/flutterfire/commit/a5bdc051d40ee44e39cf0b8d2a7801bc6f618b67)) - -## Removed Methods - -- `ActionCodeSettings.dynamicLinkDomain` - Firebase Dynamic Links is deprecated and will be shut down -- `MicrosoftAuthProvider.credential()` - Use `signInWithProvider(MicrosoftAuthProvider)` instead -- `FirebaseAuth.instanceFor()` persistence parameter - Use `setPersistence()` instead -- `FirebaseAuth.fetchSignInMethodsForEmail()` - Removed for security best practices -- `User.updateEmail()` - Use `verifyBeforeUpdateEmail()` instead - -## Migration Guide - -### ActionCodeSettings -```dart -// Before -ActionCodeSettings( - url: 'https://example.com', - dynamicLinkDomain: 'example.page.link', -) - -// After -ActionCodeSettings( - url: 'https://example.com', - linkDomain: 'your-custom-domain.com', // Use custom Firebase Hosting domain -) -``` - -### Microsoft Authentication -```dart -// Before -final credential = MicrosoftAuthProvider.credential(accessToken); -await FirebaseAuth.instance.signInWithCredential(credential); - -// After -final provider = MicrosoftAuthProvider(); -await FirebaseAuth.instance.signInWithProvider(provider); -``` - -### FirebaseAuth Instance -```dart -// Before -FirebaseAuth.instanceFor(app: app, persistence: Persistence.local); - -// After -final auth = FirebaseAuth.instanceFor(app: app); -auth.setPersistence(Persistence.local); -``` - -### Email Updates -```dart -// Before -await user.updateEmail('new@email.com'); - -// After -await user.verifyBeforeUpdateEmail('new@email.com'); -``` - -### Email Sign-in Methods -The `fetchSignInMethodsForEmail()` method has been removed for security reasons. Consider implementing alternative authentication flows that don't require email enumeration. - -## 5.7.0 - - - **FEAT**(auth,macos): add support for `publish` and `addApplicationDelegate` on macOS FlutterPluginRegistrar ([#17518](https://github.com/firebase/flutterfire/issues/17518)). ([376bb6ea](https://github.com/firebase/flutterfire/commit/376bb6ea8878df3f25cc1416fe26ace2203fd793)) - -## 5.6.2 - - - Update a dependency to the latest release. - -## 5.6.1 - - - Update a dependency to the latest release. - -## 5.6.0 - - - **FEAT**(auth): add support for initializeRecaptchaConfig ([#17365](https://github.com/firebase/flutterfire/issues/17365)). ([73f9028e](https://github.com/firebase/flutterfire/commit/73f9028e114874fddc8a4f76f22b247504a95a02)) - -## 5.5.4 - - - **FIX**(auth,apple): prevent EXC_BAD_ACCESS crash in Apple Sign-In completion handler ([#17273](https://github.com/firebase/flutterfire/issues/17273)). ([cc7d28ae](https://github.com/firebase/flutterfire/commit/cc7d28ae09036464f7ece6a2637bae6a3c7a292d)) - - **DOCS**(firebase_auth): Removed duplicates; fixed typos; removed "unnecessary use of a null check" ([#16815](https://github.com/firebase/flutterfire/issues/16815)). ([0eb17e13](https://github.com/firebase/flutterfire/commit/0eb17e13587ebfe5c8d64cbba9c0a2ccd0b7ce90)) - -## 5.5.3 - - - **FIX**(auth,iOS): include missing email and credential in account-exists-with-different-credential error ([#17180](https://github.com/firebase/flutterfire/issues/17180)). ([2a0bdc64](https://github.com/firebase/flutterfire/commit/2a0bdc64086e99f8a98bd18b472b36bcfe05a9a4)) - -## 5.5.2 - - - Update a dependency to the latest release. - -## 5.5.1 - - - Update a dependency to the latest release. - -## 5.5.0 - - - **FEAT**(auth): support for `linkDomain` in `ActionCodeSettings` ([#17099](https://github.com/firebase/flutterfire/issues/17099)). ([090cdb20](https://github.com/firebase/flutterfire/commit/090cdb2078dc66e58aa4b1a3ef9a48101467b6ac)) - -## 5.4.2 - - - Update a dependency to the latest release. - -## 5.4.1 - - - Update a dependency to the latest release. - -## 5.4.0 - - - - **FIX**: Remove dart:io imports for analytics, auth and app check ([#16827](https://github.com/firebase/flutterfire/issues/16827)). ([8c7f57c4](https://github.com/firebase/flutterfire/commit/8c7f57c4a181b8cae3b0d2ba564682ad7d68f484)) - - **FIX**(firebase_auth): Fix `std::variant` compiler errors with VS 2022 17.12 ([#16840](https://github.com/firebase/flutterfire/issues/16840)). ([b88b71f4](https://github.com/firebase/flutterfire/commit/b88b71f45c856eb0ff2d2caefb8b6aa367e91418)) - - **FEAT**(auth): Swift Package Manager support ([#16773](https://github.com/firebase/flutterfire/issues/16773)). ([69abbe19](https://github.com/firebase/flutterfire/commit/69abbe19bb37e6eb450b0b5123a74c2d68a761c7)) - -## 5.3.4 - - - **FIX**(auth,android): `signInWithProvider()` for non-default instances ([#13522](https://github.com/firebase/flutterfire/issues/13522)). ([fe016a44](https://github.com/firebase/flutterfire/commit/fe016a4487993c8aa444e15c9881fe355b5f6624)) - -## 5.3.3 - - - Update a dependency to the latest release. - -## 5.3.2 - - - **FIX**(auth,apple): set nullability on pigeon parser method ([#13571](https://github.com/firebase/flutterfire/issues/13571)). ([7e8a1b2e](https://github.com/firebase/flutterfire/commit/7e8a1b2e5be454b168d942056c4abb7f8e92a9a8)) - -## 5.3.1 - - - **FIX**(all,apple): use modular headers to import ([#13400](https://github.com/firebase/flutterfire/issues/13400)). ([d7d2d4b9](https://github.com/firebase/flutterfire/commit/d7d2d4b93e7c00226027fffde46699f3d5388a41)) - -## 5.3.0 - - - **FEAT**(fdc): Initial Release of Data Connect ([#13313](https://github.com/firebase/flutterfire/issues/13313)). ([603a6726](https://github.com/firebase/flutterfire/commit/603a67261a2f7cbdd6ef594bfaef480aeb820683)) - -## 5.2.1 - - - Update a dependency to the latest release. - -## 5.2.0 - - - **FEAT**: bump iOS SDK to version 11.0.0 ([#13158](https://github.com/firebase/flutterfire/issues/13158)). ([c0e0c997](https://github.com/firebase/flutterfire/commit/c0e0c99703ea394d1bb873ac225c5fe3539b002d)) - - **DOCS**: remove reference to flutter.io and firebase.flutter.dev ([#13152](https://github.com/firebase/flutterfire/issues/13152)). ([5f0874b9](https://github.com/firebase/flutterfire/commit/5f0874b91e28a203dd62d37d391e5760c91f5729)) - -## 5.1.4 - - - **FIX**(firebase_auth): added supporting rawNonce for OAuth credential on Windows platform ([#13086](https://github.com/firebase/flutterfire/issues/13086)). ([12e87de9](https://github.com/firebase/flutterfire/commit/12e87de93ddc39d41a6a634d7d03766b3e36996a)) - -## 5.1.3 - - - **DOCS**(auth): add information about error codes for email/password functions ([#13100](https://github.com/firebase/flutterfire/issues/13100)). ([aeafc356](https://github.com/firebase/flutterfire/commit/aeafc356953a0531003f765e766ffcff2387401d)) - -## 5.1.2 - - - **DOCS**(auth): add information about error codes for `verifyBeforeUpdateEmail` ([#13036](https://github.com/firebase/flutterfire/issues/13036)). ([8ef7421d](https://github.com/firebase/flutterfire/commit/8ef7421d6a524938087769537ac70ec249096ed4)) - -## 5.1.1 - - - **FIX**(auth,apple): bug with cached `AuthCredential`, hash key was producing different value ([#12957](https://github.com/firebase/flutterfire/issues/12957)). ([ef0077e3](https://github.com/firebase/flutterfire/commit/ef0077e37744360264eb60d6eea4359a5cc13227)) - - **FIX**(auth,windows): fix a crash that could happen when using `sendEmailVerification` or `sendPasswordResetEmail` ([#12946](https://github.com/firebase/flutterfire/issues/12946)). ([a1008290](https://github.com/firebase/flutterfire/commit/a100829087dbf83ea59e73c3811d87b67e2a4012)) - - **DOCS**: Update documentation for auth/user-not-found exception to reflect email enumeration protection ([#12964](https://github.com/firebase/flutterfire/issues/12964)). ([125f8209](https://github.com/firebase/flutterfire/commit/125f820971331ec75e7fe59cff3b296c42c7d8f3)) - -## 5.1.0 - - - **FIX**(auth,ios): fix the parsing of an error that could specifically happen when using MicrosoftProvider ([#12920](https://github.com/firebase/flutterfire/issues/12920)). ([3b415e64](https://github.com/firebase/flutterfire/commit/3b415e641e6107b131a170277bbc1fa0e2908e27)) - - **FEAT**(auth,apple): create a credential with `idToken`, `rawNonce` & `appleFullPersonName` ([#12356](https://github.com/firebase/flutterfire/issues/12356)). ([17793080](https://github.com/firebase/flutterfire/commit/177930802ca13a3af1610968e54b8ce79f0781ca)) - -## 5.0.0 - -> Note: This release has breaking changes. - - - **BREAKING** **REFACTOR**: android plugins require `minSdk 21`, auth requires `minSdk 23` ahead of android BOM `>=33.0.0` ([#12873](https://github.com/firebase/flutterfire/issues/12873)). ([52accfc6](https://github.com/firebase/flutterfire/commit/52accfc6c39d6360d9c0f36efe369ede990b7362)) - - **BREAKING** **REFACTOR**: bump all iOS deployment targets to iOS 13 ahead of Firebase iOS SDK `v11` breaking change ([#12872](https://github.com/firebase/flutterfire/issues/12872)). ([de0cea2c](https://github.com/firebase/flutterfire/commit/de0cea2c3c36694a76361be784255986fac84a43)) - - **BREAKING** **REFACTOR**(auth): remove deprecated API ahead of breaking change release ([#12859](https://github.com/firebase/flutterfire/issues/12859)). ([995fa7e1](https://github.com/firebase/flutterfire/commit/995fa7e19540fe52ba75a66865823c8ca86b6657)) - -## 4.20.0 - - - **FIX**(auth,android): remove unnecessary error type guarding ([#12816](https://github.com/firebase/flutterfire/issues/12816)). ([7d4c200a](https://github.com/firebase/flutterfire/commit/7d4c200ac6f06a50c2e7ee852aea2c9fa7bcb0ff)) - - **FEAT**(auth,windows): `verifyBeforeUpdateEmail()` API support ([#12825](https://github.com/firebase/flutterfire/issues/12825)). ([111b1ad9](https://github.com/firebase/flutterfire/commit/111b1ad91e985b0462532bc579e64342b7f46fe2)) - - **FEAT**(auth): update Pigeon version to 19 ([#12828](https://github.com/firebase/flutterfire/issues/12828)). ([5e76153f](https://github.com/firebase/flutterfire/commit/5e76153fbcd337a26e83abc2b43b651ab6c501bc)) - - **FEAT**: bump CPP SDK to version 11.10.0 ([#12749](https://github.com/firebase/flutterfire/issues/12749)). ([2e410a23](https://github.com/firebase/flutterfire/commit/2e410a232758292baa70f8e78464bd3c62ec0373)) - -## 4.19.6 - - - **FIX**(auth,android): allow nullable `accessToken` when creating `OAuthProvider` ([#12795](https://github.com/firebase/flutterfire/issues/12795)). ([490319d4](https://github.com/firebase/flutterfire/commit/490319d4c046917bdd227c19fd37185d63076b4a)) - -## 4.19.5 - - - **FIX**(auth,windows): allow `idToken` and `accessToken` to be nullable to stop windows crashing for `signInWithCredential()` ([#12688](https://github.com/firebase/flutterfire/issues/12688)). ([ca9f92d0](https://github.com/firebase/flutterfire/commit/ca9f92d05f717b46c80307987f560454b90a4d67)) - -## 4.19.4 - - - Update a dependency to the latest release. - -## 4.19.3 - - - **FIX**(auth,ios): Give more details on internal error when calling `sendSignInLinkToEmail`. ([#12671](https://github.com/firebase/flutterfire/issues/12671)). ([2b086029](https://github.com/firebase/flutterfire/commit/2b0860296bf577c99810643bb286b7219ee9291f)) - -## 4.19.2 - - - Update a dependency to the latest release. - -## 4.19.1 - - - Update a dependency to the latest release. - -## 4.19.0 - - - **FEAT**(android): Bump `compileSdk` version of Android plugins to latest stable (34) ([#12566](https://github.com/firebase/flutterfire/issues/12566)). ([e891fab2](https://github.com/firebase/flutterfire/commit/e891fab291e9beebc223000b133a6097e066a7fc)) - -## 4.18.0 - - - **FIX**(auth,android): fixing an issue that could cause `getEnrolledFactors` to return an empty list if signing out in the same app session ([#12488](https://github.com/firebase/flutterfire/issues/12488)). ([04280a31](https://github.com/firebase/flutterfire/commit/04280a31310dbbe51a8e619f031f5190d02e695d)) - - **FEAT**(firebase_auth): add custom auth domain setter to Firebase Auth ([#12218](https://github.com/firebase/flutterfire/issues/12218)). ([e1297800](https://github.com/firebase/flutterfire/commit/e12978009e0fd785f267db560972ab0bbe021fcb)) - - **FEAT**(auth,windows): add support for oAuth with credentials on Windows ([#12154](https://github.com/firebase/flutterfire/issues/12154)). ([cc708e6f](https://github.com/firebase/flutterfire/commit/cc708e6fdce6053772da0f08c9872e1dbe9899b1)) - -## 4.17.9 - - - Update a dependency to the latest release. - -## 4.17.8 - - - Update a dependency to the latest release. - -## 4.17.7 - - - Update a dependency to the latest release. - -## 4.17.6 - - - Update a dependency to the latest release. - -## 4.17.5 - - - Update a dependency to the latest release. - -## 4.17.4 - - - Update a dependency to the latest release. - -## 4.17.3 - - - Update a dependency to the latest release. - -## 4.17.2 - - - **FIX**(auth,web): fix null safety issue in typing JS Interop ([#12250](https://github.com/firebase/flutterfire/issues/12250)). ([d0d30405](https://github.com/firebase/flutterfire/commit/d0d30405a895ae221603ddd158b1cb1636312fb4)) - -## 4.17.1 - - - Update a dependency to the latest release. - -## 4.17.0 - - - **FIX**(auth): deprecate `updateEmail()` & `fetchSignInMethodsForEmail()` ([#12143](https://github.com/firebase/flutterfire/issues/12143)). ([dcfd9e80](https://github.com/firebase/flutterfire/commit/dcfd9e801c3231d17821355df5865b179cf0bf11)) - - **FEAT**(auth,apple): Game Center sign-in support ([#12228](https://github.com/firebase/flutterfire/issues/12228)). ([ac625ec7](https://github.com/firebase/flutterfire/commit/ac625ec7a2ceb8c7ef78180f3bcaa8294cf06a2e)) - - **FEAT**(auth,android): Play Games provider sign-in support ([#12201](https://github.com/firebase/flutterfire/issues/12201)). ([1fb9019d](https://github.com/firebase/flutterfire/commit/1fb9019de1fd832223aa56139d98c1194b2d5efa)) - - **FEAT**(auth,windows): add support for `creationTime` and `lastSignInTime` ([#12116](https://github.com/firebase/flutterfire/issues/12116)). ([387e9434](https://github.com/firebase/flutterfire/commit/387e94343a237d0976bdfa4f5c0e20c6922456fa)) - -## 4.16.0 - - - **FIX**(auth,windows): fix a parsing issue of the Pigeon message on Windows for sendPasswordResetEmail ([#12082](https://github.com/firebase/flutterfire/issues/12082)). ([17c4ab12](https://github.com/firebase/flutterfire/commit/17c4ab128650c8e7a4f7e3cea0c55d1fea0998fd)) - - **FEAT**: allow users to disable automatic host mapping ([#11962](https://github.com/firebase/flutterfire/issues/11962)). ([13c1ce33](https://github.com/firebase/flutterfire/commit/13c1ce333b8cd113241a1f7ac07181c1c76194bc)) - -## 4.15.3 - - - **FIX**(auth): return email address if one is returned by the auth exception ([#11978](https://github.com/firebase/flutterfire/issues/11978)). ([ceee304d](https://github.com/firebase/flutterfire/commit/ceee304dd87cd66e34a7f7fa67c9961b72c10e72)) - -## 4.15.2 - - - Update a dependency to the latest release. - -## 4.15.1 - - - Update a dependency to the latest release. - -## 4.15.0 - - - **FEAT**(auth): add support for custom domains on mobile ([#11925](https://github.com/firebase/flutterfire/issues/11925)). ([552119c7](https://github.com/firebase/flutterfire/commit/552119c78e2750a929c6226de22f9f6d8df948a4)) - -## 4.14.1 - - - **FIX**(auth,apple): need to cache `AuthCredential` on native in case Dart exception passes `AuthCredential` back to user for sign-in ([#11889](https://github.com/firebase/flutterfire/issues/11889)). ([9c09f224](https://github.com/firebase/flutterfire/commit/9c09f22416f549e3b80bc7e618b07c1c3c24ee31)) - - **FIX**(auth,web): use the device language when using `setLanguageCode` with null ([#11905](https://github.com/firebase/flutterfire/issues/11905)). ([f9322b6f](https://github.com/firebase/flutterfire/commit/f9322b6f25cd9520c5e033361e63a4db3f375a15)) - - **FIX**(auth): add proper error message when trying to access the multifactor object on an unsupported platform ([#11894](https://github.com/firebase/flutterfire/issues/11894)). ([27d1c47d](https://github.com/firebase/flutterfire/commit/27d1c47d1168198e9fa296fcff52feb1f0a345d2)) - -## 4.14.0 - - - **FEAT**(auth,windows): add Windows support for Google Sign In ([#11861](https://github.com/firebase/flutterfire/issues/11861)). ([cde57d05](https://github.com/firebase/flutterfire/commit/cde57d059e099913efc994db27141540a2a981d1)) - -## 4.13.0 - - - **FEAT**(firebase_auth): export `AuthProvider` from `firebase_auth_interface` ([#11470](https://github.com/firebase/flutterfire/issues/11470)). ([39881e7e](https://github.com/firebase/flutterfire/commit/39881e7e4671faa94b274d980aad81829e6e0bfc)) - - **FEAT**(windows): add platform logging for core, auth, firestore and storage ([#11790](https://github.com/firebase/flutterfire/issues/11790)). ([e7d428d1](https://github.com/firebase/flutterfire/commit/e7d428d14be1535a2d579d4b2d376fbb81f06742)) - -## 4.12.1 - - - Update a dependency to the latest release. - -## 4.12.0 - - - **FEAT**(storage,windows): Add windows support ([#11617](https://github.com/firebase/flutterfire/issues/11617)). ([87ea02c8](https://github.com/firebase/flutterfire/commit/87ea02c8ae03eb351636cf202961ad0df6caebd8)) - -## 4.11.1 - - - **FIX**(ios): fix clashing filenames between Auth and Firestore ([#11731](https://github.com/firebase/flutterfire/issues/11731)). ([8770cafc](https://github.com/firebase/flutterfire/commit/8770cafccccb11607b5530311e3150ac08cd172e)) - -## 4.11.0 - - - **FIX**(auth): ensure `PigeonAuthCredential` is passed back to Dart side within try/catch ([#11683](https://github.com/firebase/flutterfire/issues/11683)). ([d42c3396](https://github.com/firebase/flutterfire/commit/d42c33969b096a9825af21c624f8d93aebede8b2)) - - **FEAT**: Full support of AGP 8 ([#11699](https://github.com/firebase/flutterfire/issues/11699)). ([bdb5b270](https://github.com/firebase/flutterfire/commit/bdb5b27084d225809883bdaa6aa5954650551927)) - - **FEAT**(firestore,windows): add support to Windows ([#11516](https://github.com/firebase/flutterfire/issues/11516)). ([e51d2a2d](https://github.com/firebase/flutterfire/commit/e51d2a2d287f4162f5a67d8200f1bf57fc2afe14)) - -## 4.10.1 - - - Update a dependency to the latest release. - -## 4.10.0 - - - **FIX**(auth): deprecate `FirebaseAuth.instanceFor`'s `persistence` parameter ([#11259](https://github.com/firebase/flutterfire/issues/11259)). ([a1966e82](https://github.com/firebase/flutterfire/commit/a1966e82c15f13119cb28a262a57c67b4f2b8d3b)) - - **FIX**(auth,apple): `fetchSignInMethodsForEmail` if value is `nil`, pass empty array. ([#11596](https://github.com/firebase/flutterfire/issues/11596)). ([6d261cc9](https://github.com/firebase/flutterfire/commit/6d261cc9a147befbfd203004aff8565492567f58)) - - **FEAT**(core,windows): Change the windows plugin compiling way ([#11594](https://github.com/firebase/flutterfire/issues/11594)). ([3dab95e0](https://github.com/firebase/flutterfire/commit/3dab95e01f7f71680aff84db4e9dccfe1e77643b)) - - **FEAT**(auth,windows): add Windows support to auth plugin ([#11089](https://github.com/firebase/flutterfire/issues/11089)). ([0cedfc85](https://github.com/firebase/flutterfire/commit/0cedfc8580bedd9e21b262537e643dbace0d7114)) - - **DOCS**: firebase_auth description ([#11292](https://github.com/firebase/flutterfire/issues/11292)). ([d9e05713](https://github.com/firebase/flutterfire/commit/d9e057137dffca09ea293b5df7292d7b7b21ca99)) - - **DOCS**(auth): update the incorrect "getting started" link ([#11440](https://github.com/firebase/flutterfire/issues/11440)). ([5db956dc](https://github.com/firebase/flutterfire/commit/5db956dc935dfec5be28e0463f7e8499a20d5577)) - -## 4.9.0 - - - **FEAT**(auth): TOTP (time-based one-time password) support for multi-factor authentication ([#11420](https://github.com/firebase/flutterfire/issues/11420)). ([3cc1243c](https://github.com/firebase/flutterfire/commit/3cc1243c94368de44d3a5c4be96b905a0a37b963)) - -## 4.8.0 - - - **FEAT**(auth): `revokeTokenWithAuthorizationCode()` implementation for revoking Apple sign-in token ([#11454](https://github.com/firebase/flutterfire/issues/11454)). ([92de98c9](https://github.com/firebase/flutterfire/commit/92de98c9e62f2bf20712dbfed22dd39f6883eb58)) - -## 4.7.3 - - - **FIX**(auth): rename import header to "firebase_auth_messages.g.h". ([#11472](https://github.com/firebase/flutterfire/issues/11472)). ([693a6f3c](https://github.com/firebase/flutterfire/commit/693a6f3cba3620933b905a964126406ae6ae3374)) - - **FIX**(firebase_auth): Fix forceRefresh parameter conversion before calling native API ([#11464](https://github.com/firebase/flutterfire/issues/11464)). ([86639876](https://github.com/firebase/flutterfire/commit/86639876b8e9138af740a1c74c122fcdb5c4566d)) - - **FIX**(auth): set the tenant id on iOS `FIRAuth` instance ([#11427](https://github.com/firebase/flutterfire/issues/11427)). ([15f3cf5d](https://github.com/firebase/flutterfire/commit/15f3cf5d9b86f287fac22370ea09abf9e773ea60)) - - **FIX**(firebase_auth,android): Remove implicit default locale used in error message ([#11321](https://github.com/firebase/flutterfire/issues/11321)). ([3a20f41c](https://github.com/firebase/flutterfire/commit/3a20f41c0d8a4d61d789874d7bb16d6ef710c9d1)) - -## 4.7.2 - - - **FIX**(auth): fix MFA issue where the error wouldn't be properly caught ([#11370](https://github.com/firebase/flutterfire/issues/11370)). ([72fef03f](https://github.com/firebase/flutterfire/commit/72fef03f775702aaf9a2ce0c6b31aea2a3c200a9)) - - **FIX**(auth,android): `getIdToken()` `IllegalStateException` crash fix ([#11362](https://github.com/firebase/flutterfire/issues/11362)). ([e925b4c9](https://github.com/firebase/flutterfire/commit/e925b4c9a937d90de0bdfb59ffa005938b3862dd)) - - **FIX**(auth,apple): pass in Firebase auth instance for correct app when using Provider sign in ([#11284](https://github.com/firebase/flutterfire/issues/11284)). ([1cffae79](https://github.com/firebase/flutterfire/commit/1cffae79ded28808ba55f2f4c9c1b47817987999)) - -## 4.7.1 - - - **FIX**(auth,android): Fix crash on Android where detaching from engine ([#11296](https://github.com/firebase/flutterfire/issues/11296)). ([d0a37332](https://github.com/firebase/flutterfire/commit/d0a373323a818d5005a58e95042b7ea3652ead50)) - - **FIX**(auth,ios): fix scoping of import for message.g.h, could cause incompatibility with other packages ([#11300](https://github.com/firebase/flutterfire/issues/11300)). ([91ccc57d](https://github.com/firebase/flutterfire/commit/91ccc57d4b40b1b7a77dc0d871f9ff7d3f24ba13)) - -## 4.7.0 - - - **FEAT**(auth): move to Pigeon for Platform channels ([#10802](https://github.com/firebase/flutterfire/issues/10802)). ([43e5b20b](https://github.com/firebase/flutterfire/commit/43e5b20b14799102a6544a4763476eaba44b9cfb)) - -## 4.6.3 - - - Update a dependency to the latest release. - -## 4.6.2 - - - Update a dependency to the latest release. - -## 4.6.1 - - - Update a dependency to the latest release. - -## 4.6.0 - - - **FEAT**: update dependency constraints to `sdk: '>=2.18.0 <4.0.0'` `flutter: '>=3.3.0'` ([#10946](https://github.com/firebase/flutterfire/issues/10946)). ([2772d10f](https://github.com/firebase/flutterfire/commit/2772d10fe510dcc28ec2d37a26b266c935699fa6)) - - **FEAT**: update libraries to be compatible with Flutter 3.10.0 ([#10944](https://github.com/firebase/flutterfire/issues/10944)). ([e1f5a5ea](https://github.com/firebase/flutterfire/commit/e1f5a5ea798c54f19d1d2f7b8f2250f8819f44b7)) - -## 4.5.0 - - - **FIX**: add support for AGP 8.0 ([#10901](https://github.com/firebase/flutterfire/issues/10901)). ([a3b96735](https://github.com/firebase/flutterfire/commit/a3b967354294c295a9be8d699a6adb7f4b1dba7f)) - - **FEAT**: upgrade to dart 3 compatible dependencies ([#10890](https://github.com/firebase/flutterfire/issues/10890)). ([4bd7e59b](https://github.com/firebase/flutterfire/commit/4bd7e59b1f2b09a2230c49830159342dd4592041)) - -## 4.4.2 - - - Update a dependency to the latest release. - -## 4.4.1 - - - Update a dependency to the latest release. - -## 4.4.0 - - - **FEAT**(auth,ios): automatically save the Apple Sign In display name ([#10652](https://github.com/firebase/flutterfire/issues/10652)). ([257f1ffb](https://github.com/firebase/flutterfire/commit/257f1ffbce7abd458df91d8e4b6422d83b5b849f)) - - **FEAT**: bump dart sdk constraint to 2.18 ([#10618](https://github.com/firebase/flutterfire/issues/10618)). ([f80948a2](https://github.com/firebase/flutterfire/commit/f80948a28b62eead358bdb900d5a0dfb97cebb33)) - -## 4.3.0 - - - **FIX**(auth): fix an issue where unenroll would not throw a FirebaseException ([#10572](https://github.com/firebase/flutterfire/issues/10572)). ([8dba33e1](https://github.com/firebase/flutterfire/commit/8dba33e1a95f03d70d527885aa58ce23622e359f)) - - **FEAT**(auth): improve error handling when Email enumeration feature is on ([#10591](https://github.com/firebase/flutterfire/issues/10591)). ([ff083025](https://github.com/firebase/flutterfire/commit/ff083025b724d683cc3a9ed5f4a4987c43663589)) - -## 4.2.10 - - - **FIX**(auth,web): fix currentUser being null when using emulator or named instance ([#10565](https://github.com/firebase/flutterfire/issues/10565)). ([11e8644d](https://github.com/firebase/flutterfire/commit/11e8644df402a5abbb0d0c37714879272dec024c)) - -## 4.2.9 - - - Update a dependency to the latest release. - -## 4.2.8 - - - Update a dependency to the latest release. - -## 4.2.7 - - - Update a dependency to the latest release. - -## 4.2.6 - - - **REFACTOR**: upgrade project to remove warnings from Flutter 3.7 ([#10344](https://github.com/firebase/flutterfire/issues/10344)). ([e0087c84](https://github.com/firebase/flutterfire/commit/e0087c845c7526c11a4241a26d39d4673b0ad29d)) - -## 4.2.5 - - - **FIX**: fix a null pointer exception that could occur when removing an even listener ([#10210](https://github.com/firebase/flutterfire/issues/10210)). ([72d2e973](https://github.com/firebase/flutterfire/commit/72d2e97363d89d716963dd224a2b9578ba446624)) - -## 4.2.4 - - - Update a dependency to the latest release. - -## 4.2.3 - - - Update a dependency to the latest release. - -## 4.2.2 - - - Update a dependency to the latest release. - -## 4.2.1 - - - Update a dependency to the latest release. - -## 4.2.0 - - - **FEAT**: improve error message when user cancels a sign in with a provider ([#10060](https://github.com/firebase/flutterfire/issues/10060)). ([6631da6b](https://github.com/firebase/flutterfire/commit/6631da6b6b165a0c1e3260d744df1d60f3c7abe0)) - -## 4.1.5 - - - **FIX**: Apple Sign In on a secondary app doesnt sign in the correct Firebase Auth instance ([#10018](https://github.com/firebase/flutterfire/issues/10018)). ([f746d5da](https://github.com/firebase/flutterfire/commit/f746d5da0c784e28f08b9fcedfce18933a9e448e)) - -## 4.1.4 - - - **FIX**: tentative fix for null pointer exception in `parseUserInfoList` ([#9960](https://github.com/firebase/flutterfire/issues/9960)). ([dad17407](https://github.com/firebase/flutterfire/commit/dad1740792b893920867528039a9c54398ae7e3e)) - -## 4.1.3 - - - **FIX**: fix reauthenticateWithProvider on iOS with Sign In With Apple that would throw a linked exception ([#9919](https://github.com/firebase/flutterfire/issues/9919)). ([7318a8f3](https://github.com/firebase/flutterfire/commit/7318a8f32de07bd47026d3e07b80b4bab5df1e6a)) - -## 4.1.2 - - - Update a dependency to the latest release. - -## 4.1.1 - - - Update a dependency to the latest release. - -## 4.1.0 - - - **REFACTOR**: add `verify` to `QueryPlatform` and change internal `verifyToken` API to `verify` ([#9711](https://github.com/firebase/flutterfire/issues/9711)). ([c99a842f](https://github.com/firebase/flutterfire/commit/c99a842f3e3f5f10246e73f51530cc58c42b49a3)) - - **FIX**: properly propagate the `FirebaseAuthMultiFactorException` for all reauthenticate and link methods ([#9700](https://github.com/firebase/flutterfire/issues/9700)). ([9ad97c82](https://github.com/firebase/flutterfire/commit/9ad97c82ead0f5c6f1307625374c34e0dcde730b)) - - **FEAT**: expose reauthenticateWithRedirect and reauthenticateWithPopup ([#9696](https://github.com/firebase/flutterfire/issues/9696)). ([2a1f910f](https://github.com/firebase/flutterfire/commit/2a1f910ff6cab21a126c62fd4322a14ec263b629)) - -## 4.0.2 - - - Update a dependency to the latest release. - -## 4.0.1 - -- Update a dependency to the latest release. - -## 4.0.0 - -> Note: This release has breaking changes. - - - **BREAKING** **FEAT**: Firebase iOS SDK version: `10.0.0` ([#9708](https://github.com/firebase/flutterfire/issues/9708)). ([9627c56a](https://github.com/firebase/flutterfire/commit/9627c56a37d657d0250b6f6b87d0fec1c31d4ba3)) - -## 3.11.2 - - - **DOCS**: update `setSettings()` inline documentation ([#9655](https://github.com/firebase/flutterfire/issues/9655)). ([39ca0029](https://github.com/firebase/flutterfire/commit/39ca00299ec5c6e0f2dc9b0b5a8d71b8d59d51d4)) - -## 3.11.1 - - - **FIX**: fix an iOS crash when using Sign In With Apple due to invalid return of nil instead of NSNull ([#9644](https://github.com/firebase/flutterfire/issues/9644)). ([3f76b53f](https://github.com/firebase/flutterfire/commit/3f76b53f375f4398652abfa7c9236571ee0bd87f)) - -## 3.11.0 - - - **FEAT**: add OAuth Access Token support to sign in with providers ([#9593](https://github.com/firebase/flutterfire/issues/9593)). ([cb6661bb](https://github.com/firebase/flutterfire/commit/cb6661bbc701031d6f920ace3a6efc8e8d56aa4c)) - - **FEAT**: add `linkWithRedirect` to the web ([#9580](https://github.com/firebase/flutterfire/issues/9580)). ([d834b90f](https://github.com/firebase/flutterfire/commit/d834b90f29fc1929a195d7d546170e4ea03c6ab1)) - -## 3.10.0 - - - **FIX**: fix path of generated Pigeon files to prevent name collision ([#9569](https://github.com/firebase/flutterfire/issues/9569)). ([71bde27d](https://github.com/firebase/flutterfire/commit/71bde27d4e613096f121abb16d7ea8483c3fbcd8)) - - **FEAT**: add `reauthenticateWithProvider` ([#9570](https://github.com/firebase/flutterfire/issues/9570)). ([dad6b481](https://github.com/firebase/flutterfire/commit/dad6b4813c682e35315dda3965ea8aaf5ba030e8)) - -## 3.9.0 - - - **REFACTOR**: deprecate `signInWithAuthProvider` in favor of `signInWithProvider` ([#9542](https://github.com/firebase/flutterfire/issues/9542)). ([ca340ea1](https://github.com/firebase/flutterfire/commit/ca340ea19c8dbb340f083e48cf1b0de36f7d64c4)) - - **FEAT**: add `linkWithProvider` to support for linking auth providers ([#9535](https://github.com/firebase/flutterfire/issues/9535)). ([1ac14fb1](https://github.com/firebase/flutterfire/commit/1ac14fb147f83cf5c7874004a9dc61838dce8da8)) - -## 3.8.0 - - - **FIX**: remove default scopes on iOS for Sign in With Apple ([#9477](https://github.com/firebase/flutterfire/issues/9477)). ([3fe02b29](https://github.com/firebase/flutterfire/commit/3fe02b2937135ea6d576c7e445da5f4266ff0fdf)) - - **FEAT**: add Twitter login for Android, iOS and Web ([#9421](https://github.com/firebase/flutterfire/issues/9421)). ([0bc6e6d5](https://github.com/firebase/flutterfire/commit/0bc6e6d5333e6be0d5749a083206f3f5bb79a7ba)) - - **FEAT**: add Yahoo as provider for iOS, Android and Web ([#9443](https://github.com/firebase/flutterfire/issues/9443)). ([6c3108a7](https://github.com/firebase/flutterfire/commit/6c3108a767aca3b1a844b2b5da04b2da45bc9fbd)) - - **DOCS**: fix typo "appearance" in `platform_interface_firebase_auth.dart` ([#9472](https://github.com/firebase/flutterfire/issues/9472)). ([323b917b](https://github.com/firebase/flutterfire/commit/323b917b5eecf0e5161a61c66f6cabac5b23e1b8)) - -## 3.7.0 - - - **FEAT**: add Microsoft login for Android, iOS and Web ([#9415](https://github.com/firebase/flutterfire/issues/9415)). ([1610ce8a](https://github.com/firebase/flutterfire/commit/1610ce8ac96d6da202ef014e9a3dfeb4acfacec9)) - - **FEAT**: add Sign in with Apple directly in Firebase Auth for Android, iOS 13+ and Web ([#9408](https://github.com/firebase/flutterfire/issues/9408)). ([da36b986](https://github.com/firebase/flutterfire/commit/da36b9861b7d635382705b4893eed85fd672125c)) - -## 3.6.4 - - - **FIX**: fix an error where MultifactorInfo factorId could be null on iOS ([#9367](https://github.com/firebase/flutterfire/issues/9367)). ([88bded11](https://github.com/firebase/flutterfire/commit/88bded119607473c7546154ac8bdd149a2d3f21f)) - -## 3.6.3 - - - **FIX**: use correct UTC time from server for `currentUser?.metadata.creationTime` & `currentUser?.metadata.lastSignInTime` ([#9248](https://github.com/firebase/flutterfire/issues/9248)). ([a6204128](https://github.com/firebase/flutterfire/commit/a6204128edf1f54ac734385d0ed6214d50cebd1b)) - - **DOCS**: explicit mention that `refreshToken` is empty string on native platforms on the `User`instance ([#9183](https://github.com/firebase/flutterfire/issues/9183)). ([1aa1c163](https://github.com/firebase/flutterfire/commit/1aa1c1638edc632dedf8de0f02127e26b1a86e17)) - -## 3.6.2 - - - **DOCS**: update `getIdTokenResult` inline documentation ([#9150](https://github.com/firebase/flutterfire/issues/9150)). ([519518ce](https://github.com/firebase/flutterfire/commit/519518ce3ed36580e35713e791281b251018201c)) - -## 3.6.1 - - - Update a dependency to the latest release. - -## 3.6.0 - - - **FIX**: pass `Persistence` value to `FirebaseAuth.instanceFor(app: app, persistence: persistence)` for setting persistence on Web platform ([#9138](https://github.com/firebase/flutterfire/issues/9138)). ([ae7ebaf8](https://github.com/firebase/flutterfire/commit/ae7ebaf8e304a2676b2acfa68aadf0538468b4a0)) - - **FIX**: fix crash on Android where detaching from engine was not properly resetting the Pigeon handler ([#9218](https://github.com/firebase/flutterfire/issues/9218)). ([96d35df0](https://github.com/firebase/flutterfire/commit/96d35df09914fbe40515fdcd20b17a802f37270d)) - - **FEAT**: expose the missing MultiFactor classes through the universal package ([#9194](https://github.com/firebase/flutterfire/issues/9194)). ([d8bf8185](https://github.com/firebase/flutterfire/commit/d8bf818528c3705350cdb1b4675d600ba1d29d14)) - -## 3.5.1 - - - Update a dependency to the latest release. - -## 3.5.0 - - - **FEAT**: add all providers available to MFA ([#9159](https://github.com/firebase/flutterfire/issues/9159)). ([5a03a859](https://github.com/firebase/flutterfire/commit/5a03a859385f0b06ad9afe8e8c706c046976b8d8)) - - **FEAT**: add phone MFA ([#9044](https://github.com/firebase/flutterfire/issues/9044)). ([1b85c8b7](https://github.com/firebase/flutterfire/commit/1b85c8b7fbcc3f21767f23981cb35061772d483f)) - -## 3.4.2 - - - Update a dependency to the latest release. - -## 3.4.1 - - - **FIX**: bump `firebase_core_platform_interface` version to fix previous release. ([bea70ea5](https://github.com/firebase/flutterfire/commit/bea70ea5cbbb62cbfd2a7a74ae3a07cb12b3ee5a)) - -## 3.4.0 - - - **FIX**: Web recaptcha hover removed after use. (#8812). ([790e450e](https://github.com/firebase/flutterfire/commit/790e450e8d6acd2fc50e0232c77a152430c7b3ea)) - - **FIX**: java.util.ConcurrentModificationException (#8967). ([dc6c04ae](https://github.com/firebase/flutterfire/commit/dc6c04aeb4fc535a8ccadf9c11fb4d5dc413606d)) - - **FEAT**: update GitHub sign in implementation (#8976). ([ffd3b019](https://github.com/firebase/flutterfire/commit/ffd3b019c3158c66476671d9a9df245035cc2295)) - -## 3.3.20 - - - **REFACTOR**: use `firebase.google.com` link for `homepage` in `pubspec.yaml` (#8729). ([43df32d4](https://github.com/firebase/flutterfire/commit/43df32d457a28523f5956a2252dafd47856ac756)) - - **REFACTOR**: use "firebase" instead of "FirebaseExtended" as organisation in all links for this repository (#8791). ([d90b8357](https://github.com/firebase/flutterfire/commit/d90b8357db01d65e753021358668f0b129713e6b)) - - **FIX**: update firebase_auth example to not be dependent on an emulator (#8601). ([bdc9772e](https://github.com/firebase/flutterfire/commit/bdc9772ec8a3fb6609b66c42166d6d132ddb67d9)) - - **DOCS**: fix two typos. (#8876). ([7390d5c5](https://github.com/firebase/flutterfire/commit/7390d5c51e61aeb4d59c0d74093921fad3f35083)) - - **DOCS**: point to "firebase.google" domain for hyperlinks in the usage section of `README.md` files (#8814). ([78006e0d](https://github.com/firebase/flutterfire/commit/78006e0d5b9dce8038ce3606a43ddcbc8a4a71b9)) - -## 3.3.19 - - - **DOCS**: use camel case style for "FlutterFire" in `README.md` (#8748). ([c6ff0b21](https://github.com/firebase/flutterfire/commit/c6ff0b21352eb0f9a9a576ca7ef737d203292a58)) - -## 3.3.18 - - - Update a dependency to the latest release. - -## 3.3.17 - - - Update a dependency to the latest release. - -## 3.3.16 - - - **REFACTOR**: remove deprecated `Tasks.call()` API from Android. (#8452). ([3e92496b](https://github.com/firebase/flutterfire/commit/3e92496b2783ec149258c22d3167c5388dcb1c40)) - -## 3.3.15 - - - **FIX**: Use iterator instead of enhanced for loop on android. (#8498). ([027c75a6](https://github.com/firebase/flutterfire/commit/027c75a60b39a40e6a3edc12edc51487cc954503)) - -## 3.3.14 - - - Update a dependency to the latest release. - -## 3.3.13 - - - Update a dependency to the latest release. - -## 3.3.12 - - - Update a dependency to the latest release. - -## 3.3.11 - - - **FIX**: Update APN token once auth plugin has been initialized on `iOS`. (#8201). ([ab6239dd](https://github.com/firebase/flutterfire/commit/ab6239ddf5cb14211b76bced04ec52203919a57a)) - -## 3.3.10 - - - **FIX**: return correct error code for linkWithCredential `provider-already-linked` on Android (#8245). ([ae090719](https://github.com/firebase/flutterfire/commit/ae090719ebbb0873cf227f76004feeae9a7d0580)) - - **FIX**: Fixed bug that sets email to `nil` on `iOS` when the `User` has no provider. (#8209). ([fb646438](https://github.com/firebase/flutterfire/commit/fb646438f219b0f0f7c6a8c52e2b9daa4afc833e)) - -## 3.3.9 - - - **FIX**: update all Dart SDK version constraints to Dart >= 2.16.0 (#8184). ([df4a5bab](https://github.com/firebase/flutterfire/commit/df4a5bab3c029399b4f257a5dd658d302efe3908)) - -## 3.3.8 - - - Update a dependency to the latest release. - -## 3.3.7 - - - **DOCS**: Update documentation for `currentUser` property to make expectations clearer. (#7843). ([59bb47c2](https://github.com/firebase/flutterfire/commit/59bb47c2490fbd641a1fcc26f2f888e8f4f02671)) - -## 3.3.6 - - - Update a dependency to the latest release. - -## 3.3.5 - - - **FIX**: bump Android `compileSdkVersion` to 31 (#7726). ([a9562bac](https://github.com/firebase/flutterfire/commit/a9562bac60ba927fb3664a47a7f7eaceb277dca6)) - -## 3.3.4 - - - **REFACTOR**: fix all `unnecessary_import` analyzer issues introduced with Flutter 2.8. ([7f0e82c9](https://github.com/firebase/flutterfire/commit/7f0e82c978a3f5a707dd95c7e9136a3e106ff75e)) - -## 3.3.3 - - - Update a dependency to the latest release. - -## 3.3.2 - - - **DOCS**: Fix typos and remove unused imports (#7504). - -## 3.3.1 - - - Update a dependency to the latest release. - -## 3.3.0 - - - **REFACTOR**: migrate remaining examples & e2e tests to null-safety (#7393). - - **FEAT**: automatically inject Firebase JS SDKs (#7359). - -## 3.2.0 - - - **FEAT**: support initializing default `FirebaseApp` instances from Dart (#6549). - -## 3.1.5 - - - Update a dependency to the latest release. - -## 3.1.4 - - - **REFACTOR**: remove deprecated Flutter Android v1 Embedding usages, including in example app (#7158). - - **STYLE**: macOS & iOS; explicitly include header that defines `TARGET_OS_OSX` (#7116). - -## 3.1.3 - - - **REFACTOR**: migrate example app to null-safety (#7111). - -## 3.1.2 - - - **FIX**: allow setLanguage to accept null (#7050). - - **CHORE**: remove google-signin plugin temporarily to fix CI (#7047). - -## 3.1.1 - - - **FIX**: use Locale.ROOT while processing error code (#6946). - -## 3.1.0 - - - **FEAT**: expose linkWithPopup() & correctly parse credentials in exceptions (#6562). - -## 3.0.2 - - - **STYLE**: enable additional lint rules (#6832). - - **FIX**: precise error message is propagated (#6793). - - **FIX**: Use angle bracket import consistently when importing Firebase.h for iOS (#5891). - - **FIX**: stop idTokenChanges & userChanges firing twice on initial listen (#6560). - -## 3.0.1 - - - **FIX**: reinstate deprecated emulator apis (#6626). - -## 3.0.0 - -> Note: This release has breaking changes. - - - **FEAT**: setSettings now possible for android (#6367). - - **DOCS**: phone provider account linking update (#6465). - - **CHORE**: update v2 embedding support (#6506). - - **CHORE**: verifyPhoneNumber() example (#6476). - - **CHORE**: rm deprecated jcenter repository (#6431). - - **BREAKING** **FEAT**: useEmulator(host, port) API update (#6439). - -## 2.0.0 - -> Note: This release has breaking changes. - - - **FEAT**: setSettings now possible for android (#6367). - - **DOCS**: phone provider account linking update (#6465). - - **CHORE**: verifyPhoneNumber() example (#6476). - - **CHORE**: rm deprecated jcenter repository (#6431). - - **BREAKING** **FEAT**: useAuthEmulator(host, port) API update. - -## 1.4.1 - - - Update a dependency to the latest release. - -## 1.4.0 - - - **FEAT**: add tenantId support (#5736). - -## 1.3.0 - - - **FEAT**: add User.updateDisplayName and User.updatePhotoURL (#6213). - - **DOCS**: Add Flutter Favorite badge (#6190). - -## 1.2.0 - - - **FEAT**: upgrade Firebase JS SDK version to 8.6.1. - - **FIX**: podspec osx version checking script should use a version range instead of a single fixed version. - -## 1.1.4 - - - **FIX**: correctly cleanup Dictionary handlers (#6101). - - **DOCS**: Update the documentation of sendPasswordResetEmail (#6051). - - **CHORE**: publish packages (#6022). - - **CHORE**: publish packages. - -## 1.1.3 - - - **FIX**: Fix firebase_auth not being registered as a plugin (#5987). - - **CI**: refactor to use Firebase Auth emulator (#5939). - -## 1.1.2 - - - **FIX**: fixed an issue where Web could not connect to the Firebase Auth emulator (#5940). - - **FIX**: Import all necessary headers from the header file. (#5890). - - **FIX**: Move communication to EventChannels (#4643). - - **DOCS**: remove implicit-cast in the doc of AuthProviders (#5862). - -## 1.1.1 - - - **FIX**: ensure web is initialized before sending stream events (#5766). - - **DOCS**: Add UserInfoCard widget in auth example SignInPage (#4635). - - **CI**: fix analyzer issues in example. - - **CHORE**: update Web plugins to use Firebase JS SDK version 8.4.1 (#4464). - -## 1.1.0 - - - **FEAT**: PhoneAuthProvider.credential and PhoneAuthProvider.credentialFromToken now return a PhoneAuthCredential (#5675). - - **CHORE**: update drive dependency (#5740). - -## 1.0.3 - - - **DOCS**: userChanges clarification (#5698). - -## 1.0.2 - - - Update a dependency to the latest release. - -## 1.0.1 - - - **DOCS**: note that auth emulator is not supported for web (#5169). - -## 1.0.0 - - - Graduate package to a stable release. See pre-releases prior to this version for changelog entries. - -## 1.0.0-1.0.nullsafety.0 - - - Bump "firebase_auth" to `1.0.0-1.0.nullsafety.0`. - -## 0.21.0-1.1.nullsafety.3 - - - Update a dependency to the latest release. - -## 0.21.0-1.1.nullsafety.2 - - - **TESTS**: update mockito API usage in tests - -## 0.21.0-1.1.nullsafety.1 - - - **REFACTOR**: pubspec & dependency updates (#4932). - -## 0.21.0-1.1.nullsafety.0 - - - **FEAT**: implement support for `useEmulator` (#4263). - -## 0.21.0-1.0.nullsafety.0 - - - **FIX**: bump firebase_core_* package versions to updated NNBD versioning format (#4832). - -## 0.21.0-nullsafety.0 - - - **FEAT**: Migrated to null safety (#4633) - -## 0.20.0+1 - - - **FIX**: package compatibility. - -## 0.20.0 - -> Note: This release has breaking changes. - - - **FIX**: null pointer exception if user metadata null (#4622). - - **FEAT**: add check on podspec to assist upgrading users deployment target. - - **BUILD**: commit Podfiles with 10.12 deployment target. - - **BUILD**: remove default sdk version, version should always come from firebase_core, or be user defined. - - **BUILD**: set macOS deployment target to 10.12 (from 10.11). - - **BREAKING** **BUILD**: set osx min supported platform version to 10.12. - -## 0.19.0+1 - - - Update a dependency to the latest release. - -## 0.19.0 - -> Note: This release has breaking changes. - - - **CHORE**: harmonize dependencies and version handling. - - **BREAKING** **REFACTOR**: remove all currently deprecated APIs. - - **BREAKING** **FEAT**: forward port to firebase-ios-sdk v7.3.0. - - Due to this SDK upgrade, iOS 10 is now the minimum supported version by FlutterFire. Please update your build target version. - -## 0.18.4+1 - - - Update a dependency to the latest release. - -## 0.18.4 - - - **FEAT**: bump android `com.android.tools.build` & `'com.google.gms:google-services` versions (#4269). - - **DOCS**: Fixed two typos in method documentation (#4219). - -## 0.18.3+1 - - - **TEST**: Explicitly opt-out from null safety. - - **FIX**: stop authStateChange firing twice for initial event (#4099). - - **FIX**: updated email link signin to use latest format for ActionCodeSettings (#3425). - - **CHORE**: add missing dependency to example app. - - **CHORE**: bump gradle wrapper to 5.6.4 (#4158). - -## 0.18.3 - - - **FEAT**: migrate firebase interop files to local repository (#3973). - - **FEAT**: bump `compileSdkVersion` to 29 in preparation for upcoming Play Store requirement. - - **FEAT** [WEB] adds support for `EmailAuthProvider.credentialWithLink` - - **FEAT** [WEB] adds support for `FirebaseAuth.setSettings` - - **FEAT** [WEB] adds support for `User.tenantId` - - **FEAT** [WEB] `FirebaseAuthException` now supports `email` & `credential` properties - - **FEAT** [WEB] `ActionCodeInfo` now supports `previousEmail` field - -## 0.18.2 - - - **FEAT**: bump compileSdkVersion to 29 (#3975). - - **FEAT**: update Firebase iOS SDK version to 6.33.0 (from 6.26.0). - -## 0.18.1+2 - - - **FIX**: on iOS use sendEmailVerificationWithActionCodeSettings instead of sendEmailVerificationWithCompletion (#3686). - - **DOCS**: README updates (#3768). - -## 0.18.1+1 - - - **FIX**: Optional params for "signInWithCredential" method are converted to "nil" if "null" for iOS (#3731). - -## 0.18.1 - - - **FIX**: local dependencies in example apps (#3319). - - **FIX**: fix IdTokenResult timestamps (web, ios) (#3357). - - **FIX**: pub.dev score fixes (#3318). - - **FIX**: use unknown APNS token type (#3345). - - **FIX**: update FLTFirebaseAuthPlugin.m (#3360). - - **FIX**: use correct FIRAuth instance on listeners (#3316). - - **FEAT**: add support for linkWithPhoneNumber (#3436). - - **FEAT**: use named arguments for ActionCodeSettings (#3269). - - **FEAT**: implement signInWithPhoneNumber on web (#3205). - - **FEAT**: expose smsCode (android only) (#3308). - - **DOCS**: fixed signOut method documentation (#3342). - -## 0.18.0+1 - -* Fixed an Android issue where certain network related Firebase Auth error codes would come through as `unknown`. [(#3217)](https://github.com/firebase/flutterfire/pull/3217) -* Added missing deprecations: `FirebaseUser` class and `photoUrl` getter. -* Bump `firebase_auth_platform_interface` dependency to fix an assertion issue when creating Google sign-in credentials. -* Bump `firebase_auth_web` dependency to `^0.3.0+1`. - -## 0.18.0 - -Overall, Firebase Auth has been heavily reworked to bring it inline with the federated plugin setup along with adding new features, documentation and many more unit and end-to-end tests. The API has mainly been kept the same, however there are some breaking changes. - -### General - -- **BREAKING**: The `FirebaseUser` class has been renamed to `User`. -- **BREAKING**: The `AuthResult` class has been renamed to `UserCredential`. -- **NEW**: The `ActionCodeSettings` class is now consumable on all supporting methods. - - **NEW**: Added support for the `dynamicLinkDomain` property. -- **NEW**: Added a new `FirebaseAuthException` class (extends `FirebaseException`). - - All errors are now returned as a `FirebaseAuthException`, allowing you to access the code & message associated with the error. - - In addition, it is now possible to access the `email` and `credential` properties on exceptions if they exist. - -### `FirebaseAuth` - -- **BREAKING**: Accessing the current user via `currentUser()` is now synchronous via the `currentUser` getter. -- **BREAKING**: `isSignInWithEmailLink()` is now synchronous. -- **DEPRECATED**: `FirebaseAuth.fromApp()` is now deprecated in favor of `FirebaseAuth.instanceFor()`. -- **DEPRECATED**: `onAuthStateChanged` has been deprecated in favor of `authStateChanges()`. -- **NEW**: Added support for `idTokenChanges()` stream listener. -- **NEW**: Added support for `userChanges()` stream listener. - - The purpose of this API is to allow users to subscribe to all user events without having to manually hydrate app state in cases where a manual reload was required (e.g. `updateProfile()`). -- **NEW**: Added support for `applyActionCode()`. -- **NEW**: Added support for `checkActionCode()`. -- **NEW**: Added support for `verifyPasswordResetCode()`. -- **NEW**: Added support for accessing the current language code via the `languageCode` getter. -- **NEW**: `setLanguageCode()` now supports providing a `null` value. - - On web platforms, if `null` is provided the Firebase projects default language will be set. - - On native platforms, if `null` is provided the device language will be used. -- **NEW**: `verifyPhoneNumber()` exposes a `autoRetrievedSmsCodeForTesting` property. - - This allows developers to test automatic SMS code resolution on Android devices during development. -- **NEW** (iOS): `appVerificationDisabledForTesting` setting can now be set for iOS. - - This allows developers to skip ReCaptcha verification when testing phone authentication. -- **NEW** (iOS): `userAccessGroup` setting can now be set for iOS & MacOS. - - This allows developers to share authentication states across multiple apps or extensions on iOS & MacOS. For more information see the [Firebase iOS SDK documentation](https://firebase.google.com/docs/auth/ios/single-sign-on). - -### `User` - -- **BREAKING**: Removed the `UpdateUserInfo` class when using `updateProfile` in favor of named arguments. -- **NEW**: Added support for `getIdTokenResult()`. -- **NEW**: Added support for `verifyBeforeUpdateEmail()`. -- **FIX**: Fixed several iOS crashes when the Firebase SDK returned `nil` property values. -- **FIX**: Fixed an issue on Web & iOS where a users email address would still show after unlinking the email/password provider. - -### `UserCredential` - -- **NEW**: Added support for accessing the users `AuthCredential` via the `credential` property. - -### `AuthProvider` & `AuthCredential` - -- **DEPRECATED**: All sub-class (e.g. `GoogleAuthProvider`) `getCredential()` methods have been deprecated in favor of `credential()`. - - **DEPRECATED**: `EmailAuthProvider.getCredentialWithLink()` has been deprecated in favor of `EmailAuthProvider.credentialWithLink()`. -- **NEW**: Supporting providers can now assign scope and custom request parameters. - - The scope and parameters will be used on web platforms when triggering a redirect or popup via `signInWithPopup()` or `signInWithRedirect()`. - -## 0.17.0-dev.2 - -* Update plugin and example to use the same core. - -## 0.17.0-dev.1 - -* Depend on `firebase_core` pre-release versions. - -## 0.16.1+2 - -* Update README to make it clear which authentication options are possible. - -## 0.16.1+1 - -* Fix bug #2656 (verifyPhoneNumber always use the default FirebaseApp, not the configured one) - -## 0.16.1 - -* Update lower bound of dart dependency to 2.0.0. - -## 0.16.0 - -* Migrate to Android v2 embedding. - -## 0.15.5+3 - -* Fix for missing UserAgent.h compilation failures. - -## 0.15.5+2 - -* Update the platform interface dependency to 1.1.7 and update tests. - -## 0.15.5+1 - -* Make the pedantic dev_dependency explicit. - -## 0.15.5 - -* Add macOS support - -## 0.15.4+1 - -* Fix fallthrough bug in Android code. - -## 0.15.4 - -* Add support for `confirmPasswordReset` on Android and iOS. - -## 0.15.3+1 - -* Add integration instructions for the `web` platform. - -## 0.15.3 - -* Add support for OAuth Authentication for iOS and Android to solve generic providers authentication. - -## 0.15.2 - -* Add web support by default. -* Require Flutter SDK 1.12.13+hotfix.4 or later. - -## 0.15.1+1 - -* Remove the deprecated `author:` field from pubspec.yaml -* Migrate the plugin to the pubspec platforms manifest. -* Bump the minimum Flutter version to 1.10.0. - -## 0.15.1 - -* Migrate to use `firebase_auth_platform_interface`. - -## 0.15.0+2 - -* Update homepage since this package was moved. - -## 0.15.0+1 - -* Added missing ERROR_WRONG_PASSWORD Exception to the `reauthenticateWithCredential` docs. - -## 0.15.0 - -* Fixed `NoSuchMethodError` in `reauthenticateWithCredential`. -* Fixed `IdTokenResult` analyzer warnings. -* Reduced visibility of `IdTokenResult` constructor. - -## 0.14.0+10 - -* Formatted lists in member documentations for better readability. - -## 0.14.0+9 - -* Fix the behavior of `getIdToken` to use the `refresh` parameter instead of always refreshing. - -## 0.14.0+8 - -* Updated README instructions for contributing for consistency with other Flutterfire plugins. - -## 0.14.0+7 - -* Remove AndroidX warning. - -## 0.14.0+6 - -* Update example app with correct const constructors. - -## 0.14.0+5 - -* On iOS, `fetchSignInMethodsForEmail` now returns an empty list when the email - cannot be found, matching the Android behavior. - -## 0.14.0+4 - -* Fixed "Register a user" example code snippet in README.md. - -## 0.14.0+3 - -* Update documentation to reflect new repository location. -* Update unit tests to call `TestWidgetsFlutterBinding.ensureInitialized`. -* Remove executable bit on LICENSE file. - -## 0.14.0+2 - -* Reduce compiler warnings on iOS port by replacing `int` with `long` backing in returned timestamps. - -## 0.14.0+1 - -* Add dependency on `androidx.annotation:annotation:1.0.0`. - -## 0.14.0 - -* Added new `IdTokenResult` class. -* **Breaking Change**. `getIdToken()` method now returns `IdTokenResult` instead of a token `String`. - Use the `token` property of `IdTokenResult` to retrieve the token `String`. -* Added integration testing for `getIdToken()`. - -## 0.13.1+1 - -* Update authentication example in README. - -## 0.13.1 - -* Fixed a crash on iOS when sign-in fails. -* Additional integration testing. -* Updated documentation for `FirebaseUser.delete()` to include error codes. -* Updated Firebase project to match other Flutterfire apps. - -## 0.13.0 - -* **Breaking change**: Replace `FirebaseUserMetadata.creationTimestamp` and - `FirebaseUserMetadata.lastSignInTimestamp` with `creationTime` and `lastSignInTime`. - Previously on iOS `creationTimestamp` and `lastSignInTimestamp` returned in - seconds and on Android in milliseconds. Now, both platforms provide values as a - `DateTime`. - -## 0.12.0+1 - -* Fixes iOS sign-in exceptions when `additionalUserInfo` is `nil` or has `nil` fields. -* Additional integration testing. - -## 0.12.0 - -* Added new `AuthResult` and `AdditionalUserInfo` classes. -* **Breaking Change**. Sign-in methods now return `AuthResult` instead of `FirebaseUser`. - Retrieve the `FirebaseUser` using the `user` property of `AuthResult`. - -## 0.11.1+12 - -* Update google-services Android gradle plugin to 4.3.0 in documentation and examples. - -## 0.11.1+11 - -* On iOS, `getIdToken()` now uses the `refresh` parameter instead of always using `true`. - -## 0.11.1+10 - -* On Android, `providerData` now includes `UserInfo` for the phone authentication provider. - -## 0.11.1+9 - -* Update README to clarify importance of filling out all fields for OAuth consent screen. - -## 0.11.1+8 - -* Automatically register for iOS notifications, ensuring that phone authentication - will work even if Firebase method swizzling is disabled. - -## 0.11.1+7 - -* Automatically use version from pubspec.yaml when reporting usage to Firebase. - -## 0.11.1+6 - -* Add documentation of support email requirement to README. - -## 0.11.1+5 - -* Fix `updatePhoneNumberCredential` on Android. - -## 0.11.1+4 - -* Fix `updatePhoneNumberCredential` on iOS. - -## 0.11.1+3 - -* Add missing template type parameter to `invokeMethod` calls. -* Bump minimum Flutter version to 1.5.0. -* Replace invokeMethod with invokeMapMethod wherever necessary. -* FirebaseUser private constructor takes `Map` instead of `Map`. - -## 0.11.1+2 - -* Suppress deprecation warning for BinaryMessages. See: https://github.com/flutter/flutter/issues/33446 - -## 0.11.1+1 - -* Updated the error code documentation for `linkWithCredential`. - -## 0.11.1 - -* Support for `updatePhoneNumberCredential`. - -## 0.11.0 - -* **Breaking change**: `linkWithCredential` is now a function of `FirebaseUser`instead of - `FirebaseAuth`. -* Added test for newer `linkWithCredential` function. - -## 0.10.0+1 - -* Increase Firebase/Auth CocoaPod dependency to '~> 6.0'. - -## 0.10.0 - -* Update firebase_dynamic_links dependency. -* Update Android dependencies to latest. - -## 0.9.0 - -* **Breaking change**: `PhoneVerificationCompleted` now provides an `AuthCredential` that can - be used with `signInWithCredential` or `linkWithCredential` instead of signing in automatically. -* **Breaking change**: Remove internal counter `nextHandle` from public API. - -## 0.8.4+5 - -* Increase Firebase/Auth CocoaPod dependency to '~> 5.19'. - -## 0.8.4+4 - -* Update FirebaseAuth CocoaPod dependency to ensure availability of `FIRAuthErrorUserInfoNameKey`. - -## 0.8.4+3 - -* Updated deprecated API usage on iOS to use non-deprecated versions. -* Updated FirebaseAuth CocoaPod dependency to ensure a minimum version of 5.0. - -## 0.8.4+2 - -* Fixes an error in the documentation of createUserWithEmailAndPassword. - -## 0.8.4+1 - -* Adds credential for email authentication with link. - -## 0.8.4 - -* Adds support for email link authentication. - -## 0.8.3 - -* Make providerId 'const String' to use in 'case' statement. - -## 0.8.2+1 - -* Fixed bug where `PhoneCodeAutoRetrievalTimeout` callback was never called. - -## 0.8.2 - -* Fixed `linkWithCredential` on Android. - -## 0.8.1+5 - -* Added a driver test. - -## 0.8.1+4 - -* Update README. -* Update the example app with separate pages for registration and sign-in. - -## 0.8.1+3 - -* Reduce compiler warnings in Android plugin -* Raise errors early when accessing methods that require a Firebase User - -## 0.8.1+2 - -* Log messages about automatic configuration of the default app are now less confusing. - -## 0.8.1+1 - -* Remove categories. - -## 0.8.1 - -* Fixes Firebase auth phone sign-in for Android. - -## 0.8.0+3 - -* Log a more detailed warning at build time about the previous AndroidX - migration. - -## 0.8.0+2 - -* Update Google sign-in example in the README. - -## 0.8.0+1 - -* Update a broken dependency. - -## 0.8.0 - -* **Breaking change**. Migrate from the deprecated original Android Support - Library to AndroidX. This shouldn't result in any functional changes, but it - requires any Android apps using this plugin to [also - migrate](https://developer.android.com/jetpack/androidx/migrate) if they're - using the original support library. - -## 0.7.0 - -* Introduce third-party auth provider classes that generate `AuthCredential`s -* **Breaking Change** Signing in, linking, and reauthenticating now require an `AuthCredential` -* **Breaking Change** Unlinking now uses providerId -* **Breaking Change** Moved reauthentication to FirebaseUser - -## 0.6.7 - -* `FirebaseAuth` and `FirebaseUser` are now fully documented. -* `PlatformExceptions` now report error codes as stated in docs. -* Credentials can now be unlinked from Accounts with new methods on `FirebaseUser`. - -## 0.6.6 - -* Users can now reauthenticate in response to operations that require a recent sign-in. - -## 0.6.5 - -* Fixing async method `verifyPhoneNumber`, that would never return even in a successful call. - -## 0.6.4 - -* Added support for Github signin and linking Github accounts to existing users. - -## 0.6.3 - -* Add multi app support. - -## 0.6.2+1 - -* Bump Android dependencies to latest. - -## 0.6.2 - -* Add access to user metadata. - -## 0.6.1 - -* Adding support for linkWithTwitterCredential in FirebaseAuth. - -## 0.6.0 - -* Added support for `updatePassword` in `FirebaseUser`. -* **Breaking Change** Moved `updateEmail` and `updateProfile` to `FirebaseUser`. - This brings the `firebase_auth` package inline with other implementations and documentation. - -## 0.5.20 - -* Replaced usages of guava's: ImmutableList and ImmutableMap with platform -Collections.unmodifiableList() and Collections.unmodifiableMap(). - -## 0.5.19 - -* Update test package dependency to pick up Dart 2 support. -* Modified dependency on google_sign_in to point to a published - version instead of a relative path. - -## 0.5.18 - -* Adding support for updateEmail in FirebaseAuth. - -## 0.5.17 - -* Adding support for FirebaseUser.delete. - -## 0.5.16 - -* Adding support for setLanguageCode in FirebaseAuth. - -## 0.5.15 - -* Bump Android and Firebase dependency versions. - -## 0.5.14 - -* Fixed handling of auto phone number verification. - -## 0.5.13 - -* Add support for phone number authentication. - -## 0.5.12 - -* Fixed ArrayIndexOutOfBoundsException in handleStopListeningAuthState - -## 0.5.11 - -* Updated Gradle tooling to match Android Studio 3.1.2. - -## 0.5.10 - -* Updated iOS implementation to reflect Firebase API changes. - -## 0.5.9 - -* Added support for signing in with a Twitter account. - -## 0.5.8 - -* Added support to reload firebase user - -## 0.5.7 - -* Added support to sendEmailVerification - -## 0.5.6 - -* Added support for linkWithFacebookCredential - -## 0.5.5 - -* Updated Google Play Services dependencies to version 15.0.0. - -## 0.5.4 - -* Simplified podspec for Cocoapods 1.5.0, avoiding link issues in app archives. - -## 0.5.3 - -* Secure fetchProvidersForEmail (no providers) - -## 0.5.2 - -* Fixed Dart 2 type error in fetchProvidersForEmail. - -## 0.5.1 - -* Added support to fetchProvidersForEmail - -## 0.5.0 - -* **Breaking change**. Set SDK constraints to match the Flutter beta release. - -## 0.4.7 - -* Fixed Dart 2 type errors. - -## 0.4.6 - -* Fixed Dart 2 type errors. - -## 0.4.5 - -* Enabled use in Swift projects. - -## 0.4.4 - -* Added support for sendPasswordResetEmail - -## 0.4.3 - -* Moved to the io.flutter.plugins organization. - -## 0.4.2 - -* Added support for changing user data - -## 0.4.1 - -* Simplified and upgraded Android project template to Android SDK 27. -* Updated package description. - -## 0.4.0 - -* **Breaking change**. Upgraded to Gradle 4.1 and Android Studio Gradle plugin - 3.0.1. Older Flutter projects need to upgrade their Gradle setup as well in - order to use this version of the plugin. Instructions can be found - [here](https://github.com/flutter/flutter/wiki/Updating-Flutter-projects-to-Gradle-4.1-and-Android-Studio-Gradle-plugin-3.0.1). -* Relaxed GMS dependency to [11.4.0,12.0[ - -## 0.3.2 - -* Added FLT prefix to iOS types -* Change GMS dependency to 11.4.+ - -## 0.3.1 - -* Change GMS dependency to 11.+ - -## 0.3.0 - -* **Breaking Change**: Method FirebaseUser getToken was renamed to getIdToken. - -## 0.2.5 - -* Added support for linkWithCredential with Google credential - -## 0.2.4 - -* Added support for `signInWithCustomToken` -* Added `Stream onAuthStateChanged` event to listen when the user change - -## 0.2.3+1 - -* Aligned author name with rest of repo. - -## 0.2.3 - -* Remove dependency on Google/SignIn - -## 0.2.2 - -* Remove dependency on FirebaseUI - -## 0.2.1 - -* Added support for linkWithEmailAndPassword - -## 0.2.0 - -* **Breaking Change**: Method currentUser is async now. - -## 0.1.2 - -* Added support for signInWithFacebook - -## 0.1.1 - -* Updated to Firebase SDK to always use latest patch version for 11.0.x builds - -## 0.1.0 - -* Updated to Firebase SDK Version 11.0.1 -* **Breaking Change**: You need to add a maven section with the "https://maven.google.com" endpoint to the repository section of your `android/build.gradle`. For example: -```gradle -allprojects { - repositories { - jcenter() - maven { // NEW - url "https://maven.google.com" // NEW - } // NEW - } -} -``` - -## 0.0.4 - -* Add method getToken() to FirebaseUser - -## 0.0.3+1 - -* Updated README.md - -## 0.0.3 - -* Added support for createUserWithEmailAndPassword, signInWithEmailAndPassword, and signOut Firebase methods - -## 0.0.2+1 - -* Updated README.md - -## 0.0.2 - -* Bump buildToolsVersion to 25.0.3 - -## 0.0.1 - -* Initial Release diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/LICENSE b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/LICENSE deleted file mode 100644 index 000b4618..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/LICENSE +++ /dev/null @@ -1,27 +0,0 @@ -// Copyright 2017 The Chromium Authors. All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. \ No newline at end of file diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/README.md b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/README.md deleted file mode 100755 index 230c522d..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/README.md +++ /dev/null @@ -1,26 +0,0 @@ -[](https://flutter.dev/docs/development/packages-and-plugins/favorites) - -# Firebase Auth for Flutter -[![pub package](https://img.shields.io/pub/v/firebase_auth.svg)](https://pub.dev/packages/firebase_auth) - -A Flutter plugin to use the [Firebase Authentication API](https://firebase.google.com/products/auth/). - -To learn more about Firebase Auth, please visit the [Firebase website](https://firebase.google.com/products/auth) - -## Getting Started - -To get started with Firebase Auth for Flutter, please [see the documentation](https://firebase.google.com/docs/auth/flutter/start). - -## Usage - -To use this plugin, please visit the [Authentication Usage documentation](https://firebase.google.com/docs/auth/flutter/manage-users) - -## Issues and feedback - -Please file FlutterFire specific issues, bugs, or feature requests in our [issue tracker](https://github.com/firebase/flutterfire/issues/new). - -Plugin issues that are not specific to FlutterFire can be filed in the [Flutter issue tracker](https://github.com/flutter/flutter/issues/new). - -To contribute a change to this plugin, -please review our [contribution guide](https://github.com/firebase/flutterfire/blob/main/CONTRIBUTING.md) -and open a [pull request](https://github.com/firebase/flutterfire/pulls). diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/android/build.gradle b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/android/build.gradle deleted file mode 100755 index 1004a0e7..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/android/build.gradle +++ /dev/null @@ -1,66 +0,0 @@ -group 'io.flutter.plugins.firebase.auth' -version '1.0-SNAPSHOT' - -apply plugin: 'com.android.library' - -buildscript { - repositories { - google() - mavenCentral() - } -} - -allprojects { - repositories { - google() - mavenCentral() - } -} - -def firebaseCoreProject = findProject(':firebase_core') -if (firebaseCoreProject == null) { - throw new GradleException('Could not find the firebase_core FlutterFire plugin, have you added it as a dependency in your pubspec?') -} else if (!firebaseCoreProject.properties['FirebaseSDKVersion']) { - throw new GradleException('A newer version of the firebase_core FlutterFire plugin is required, please update your firebase_core pubspec dependency.') -} - -def getRootProjectExtOrCoreProperty(name, firebaseCoreProject) { - if (!rootProject.ext.has('FlutterFire')) return firebaseCoreProject.properties[name] - if (!rootProject.ext.get('FlutterFire')[name]) return firebaseCoreProject.properties[name] - return rootProject.ext.get('FlutterFire').get(name) -} - -android { - // Conditional for compatibility with AGP <4.2. - if (project.android.hasProperty("namespace")) { - namespace 'io.flutter.plugins.firebase.auth' - } - - compileSdkVersion 34 - - defaultConfig { - minSdkVersion 23 - testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" - } - - compileOptions { - sourceCompatibility JavaVersion.toVersion(17) - targetCompatibility JavaVersion.toVersion(17) - } - - buildFeatures { - buildConfig true - } - - lintOptions { - disable 'InvalidPackage' - } - dependencies { - api firebaseCoreProject - implementation platform("com.google.firebase:firebase-bom:${getRootProjectExtOrCoreProperty("FirebaseSDKVersion", firebaseCoreProject)}") - implementation 'com.google.firebase:firebase-auth' - implementation 'androidx.annotation:annotation:1.7.0' - } -} - -apply from: file("./user-agent.gradle") diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/android/gradle.properties b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/android/gradle.properties deleted file mode 100755 index 8bd86f68..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/android/gradle.properties +++ /dev/null @@ -1 +0,0 @@ -org.gradle.jvmargs=-Xmx1536M diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/android/gradle/wrapper/gradle-wrapper.properties b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/android/gradle/wrapper/gradle-wrapper.properties deleted file mode 100644 index e411586a..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/android/gradle/wrapper/gradle-wrapper.properties +++ /dev/null @@ -1,5 +0,0 @@ -distributionBase=GRADLE_USER_HOME -distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.4-bin.zip -zipStoreBase=GRADLE_USER_HOME -zipStorePath=wrapper/dists diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/android/settings.gradle b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/android/settings.gradle deleted file mode 100755 index ec51773d..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/android/settings.gradle +++ /dev/null @@ -1,8 +0,0 @@ -rootProject.name = 'firebase_auth' - -pluginManagement { - plugins { - id "com.android.application" version "8.3.0" - id "com.android.library" version "8.3.0" - } -} diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/android/src/main/AndroidManifest.xml b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/android/src/main/AndroidManifest.xml deleted file mode 100755 index 087541c2..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/android/src/main/AndroidManifest.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/android/src/main/java/io/flutter/plugins/firebase/auth/AuthStateChannelStreamHandler.java b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/android/src/main/java/io/flutter/plugins/firebase/auth/AuthStateChannelStreamHandler.java deleted file mode 100644 index e4147bee..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/android/src/main/java/io/flutter/plugins/firebase/auth/AuthStateChannelStreamHandler.java +++ /dev/null @@ -1,63 +0,0 @@ -/* - * Copyright 2022, the Chromium project authors. Please see the AUTHORS file - * for details. All rights reserved. Use of this source code is governed by a - * BSD-style license that can be found in the LICENSE file. - */ - -package io.flutter.plugins.firebase.auth; - -import com.google.firebase.auth.FirebaseAuth; -import com.google.firebase.auth.FirebaseAuth.AuthStateListener; -import com.google.firebase.auth.FirebaseUser; -import io.flutter.plugin.common.EventChannel.EventSink; -import io.flutter.plugin.common.EventChannel.StreamHandler; -import java.util.HashMap; -import java.util.Map; -import java.util.concurrent.atomic.AtomicBoolean; - -public class AuthStateChannelStreamHandler implements StreamHandler { - - private final FirebaseAuth firebaseAuth; - private AuthStateListener authStateListener; - - public AuthStateChannelStreamHandler(FirebaseAuth firebaseAuth) { - this.firebaseAuth = firebaseAuth; - } - - @Override - public void onListen(Object arguments, EventSink events) { - Map event = new HashMap<>(); - event.put(Constants.APP_NAME, firebaseAuth.getApp().getName()); - - final AtomicBoolean initialAuthState = new AtomicBoolean(true); - - authStateListener = - auth -> { - if (initialAuthState.get()) { - initialAuthState.set(false); - return; - } - - FirebaseUser user = auth.getCurrentUser(); - - if (user == null) { - event.put(Constants.USER, null); - } else { - event.put( - Constants.USER, PigeonParser.manuallyToList(PigeonParser.parseFirebaseUser(user))); - } - - events.success(event); - }; - - firebaseAuth.addAuthStateListener(authStateListener); - } - - @Override - public void onCancel(Object arguments) { - if (authStateListener != null) { - firebaseAuth.removeAuthStateListener(authStateListener); - authStateListener = null; - } - } -} diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/android/src/main/java/io/flutter/plugins/firebase/auth/Constants.java b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/android/src/main/java/io/flutter/plugins/firebase/auth/Constants.java deleted file mode 100644 index 2dd8df20..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/android/src/main/java/io/flutter/plugins/firebase/auth/Constants.java +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Copyright 2022, the Chromium project authors. Please see the AUTHORS file - * for details. All rights reserved. Use of this source code is governed by a - * BSD-style license that can be found in the LICENSE file. - */ - -package io.flutter.plugins.firebase.auth; - -public class Constants { - - public static final String APP_NAME = "appName"; - - // Providers - public static final String SIGN_IN_METHOD_PASSWORD = "password"; - public static final String SIGN_IN_METHOD_EMAIL_LINK = "emailLink"; - public static final String SIGN_IN_METHOD_FACEBOOK = "facebook.com"; - public static final String SIGN_IN_METHOD_GOOGLE = "google.com"; - public static final String SIGN_IN_METHOD_TWITTER = "twitter.com"; - public static final String SIGN_IN_METHOD_GITHUB = "github.com"; - public static final String SIGN_IN_METHOD_PHONE = "phone"; - public static final String SIGN_IN_METHOD_OAUTH = "oauth"; - public static final String SIGN_IN_METHOD_PLAY_GAMES = "playgames.google.com"; - // User - public static final String USER = "user"; - public static final String EMAIL = "email"; - - public static final String PROVIDER_ID = "providerId"; - public static final String CREDENTIAL = "credential"; - public static final String SECRET = "secret"; - public static final String ID_TOKEN = "idToken"; - public static final String TOKEN = "token"; - public static final String ACCESS_TOKEN = "accessToken"; - public static final String RAW_NONCE = "rawNonce"; - public static final String EMAIL_LINK = "emailLink"; - public static final String VERIFICATION_ID = "verificationId"; - public static final String SMS_CODE = "smsCode"; - public static final String SIGN_IN_METHOD = "signInMethod"; - public static final String FORCE_RESENDING_TOKEN = "forceResendingToken"; - public static final String NAME = "name"; - public static final String SERVER_AUTH_CODE = "serverAuthCode"; - - // MultiFactor - public static final String MULTI_FACTOR_HINTS = "multiFactorHints"; - public static final String MULTI_FACTOR_SESSION_ID = "multiFactorSessionId"; - public static final String MULTI_FACTOR_RESOLVER_ID = "multiFactorResolverId"; -} diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/android/src/main/java/io/flutter/plugins/firebase/auth/FlutterFirebaseAuthPlugin.java b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/android/src/main/java/io/flutter/plugins/firebase/auth/FlutterFirebaseAuthPlugin.java deleted file mode 100755 index a122221c..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/android/src/main/java/io/flutter/plugins/firebase/auth/FlutterFirebaseAuthPlugin.java +++ /dev/null @@ -1,782 +0,0 @@ -// Copyright 2017 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -package io.flutter.plugins.firebase.auth; - -import static io.flutter.plugins.firebase.auth.FlutterFirebaseMultiFactor.multiFactorUserMap; -import static io.flutter.plugins.firebase.core.FlutterFirebasePluginRegistry.registerPlugin; - -import android.app.Activity; -import androidx.annotation.NonNull; -import androidx.annotation.Nullable; -import com.google.android.gms.tasks.Task; -import com.google.android.gms.tasks.TaskCompletionSource; -import com.google.firebase.FirebaseApp; -import com.google.firebase.auth.ActionCodeResult; -import com.google.firebase.auth.AuthCredential; -import com.google.firebase.auth.AuthResult; -import com.google.firebase.auth.FirebaseAuth; -import com.google.firebase.auth.FirebaseUser; -import com.google.firebase.auth.MultiFactor; -import com.google.firebase.auth.MultiFactorInfo; -import com.google.firebase.auth.MultiFactorSession; -import com.google.firebase.auth.OAuthProvider; -import com.google.firebase.auth.PhoneMultiFactorInfo; -import com.google.firebase.auth.SignInMethodQueryResult; -import io.flutter.embedding.engine.plugins.FlutterPlugin; -import io.flutter.embedding.engine.plugins.activity.ActivityAware; -import io.flutter.embedding.engine.plugins.activity.ActivityPluginBinding; -import io.flutter.plugin.common.BinaryMessenger; -import io.flutter.plugin.common.EventChannel; -import io.flutter.plugin.common.EventChannel.StreamHandler; -import io.flutter.plugin.common.MethodChannel; -import io.flutter.plugins.firebase.core.FlutterFirebaseCorePlugin; -import io.flutter.plugins.firebase.core.FlutterFirebasePlugin; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.UUID; - -/** Flutter plugin for Firebase Auth. */ -public class FlutterFirebaseAuthPlugin - implements FlutterFirebasePlugin, - FlutterPlugin, - ActivityAware, - GeneratedAndroidFirebaseAuth.FirebaseAuthHostApi { - - private static final String METHOD_CHANNEL_NAME = "plugins.flutter.io/firebase_auth"; - - // Stores the instances of native AuthCredentials by their hashCode - static final HashMap authCredentials = new HashMap<>(); - - @Nullable private BinaryMessenger messenger; - - private MethodChannel channel; - private Activity activity; - - private final Map streamHandlers = new HashMap<>(); - - private final FlutterFirebaseAuthUser firebaseAuthUser = new FlutterFirebaseAuthUser(); - private final FlutterFirebaseMultiFactor firebaseMultiFactor = new FlutterFirebaseMultiFactor(); - - private final FlutterFirebaseTotpMultiFactor firebaseTotpMultiFactor = - new FlutterFirebaseTotpMultiFactor(); - private final FlutterFirebaseTotpSecret firebaseTotpSecret = new FlutterFirebaseTotpSecret(); - - private void initInstance(BinaryMessenger messenger) { - registerPlugin(METHOD_CHANNEL_NAME, this); - channel = new MethodChannel(messenger, METHOD_CHANNEL_NAME); - GeneratedAndroidFirebaseAuth.FirebaseAuthHostApi.setUp(messenger, this); - GeneratedAndroidFirebaseAuth.FirebaseAuthUserHostApi.setUp(messenger, firebaseAuthUser); - GeneratedAndroidFirebaseAuth.MultiFactorUserHostApi.setUp(messenger, firebaseMultiFactor); - GeneratedAndroidFirebaseAuth.MultiFactoResolverHostApi.setUp(messenger, firebaseMultiFactor); - GeneratedAndroidFirebaseAuth.MultiFactorTotpHostApi.setUp(messenger, firebaseTotpMultiFactor); - GeneratedAndroidFirebaseAuth.MultiFactorTotpSecretHostApi.setUp(messenger, firebaseTotpSecret); - - this.messenger = messenger; - } - - @Override - public void onAttachedToEngine(@NonNull FlutterPluginBinding binding) { - initInstance(binding.getBinaryMessenger()); - } - - @Override - public void onDetachedFromEngine(@NonNull FlutterPluginBinding binding) { - channel.setMethodCallHandler(null); - - assert messenger != null; - GeneratedAndroidFirebaseAuth.FirebaseAuthHostApi.setUp(messenger, null); - GeneratedAndroidFirebaseAuth.FirebaseAuthUserHostApi.setUp(messenger, null); - GeneratedAndroidFirebaseAuth.MultiFactorUserHostApi.setUp(messenger, null); - GeneratedAndroidFirebaseAuth.MultiFactoResolverHostApi.setUp(messenger, null); - GeneratedAndroidFirebaseAuth.MultiFactorTotpHostApi.setUp(messenger, null); - GeneratedAndroidFirebaseAuth.MultiFactorTotpSecretHostApi.setUp(messenger, null); - - channel = null; - messenger = null; - - removeEventListeners(); - } - - @Override - public void onAttachedToActivity(ActivityPluginBinding activityPluginBinding) { - activity = activityPluginBinding.getActivity(); - firebaseAuthUser.setActivity(activity); - } - - @Override - public void onDetachedFromActivityForConfigChanges() { - activity = null; - firebaseAuthUser.setActivity(null); - } - - @Override - public void onReattachedToActivityForConfigChanges(ActivityPluginBinding activityPluginBinding) { - activity = activityPluginBinding.getActivity(); - firebaseAuthUser.setActivity(activity); - } - - @Override - public void onDetachedFromActivity() { - activity = null; - firebaseAuthUser.setActivity(null); - } - - // Only access activity with this method. - @Nullable - private Activity getActivity() { - return activity; - } - - static FirebaseAuth getAuthFromPigeon( - GeneratedAndroidFirebaseAuth.AuthPigeonFirebaseApp pigeonApp) { - FirebaseApp app = FirebaseApp.getInstance(pigeonApp.getAppName()); - FirebaseAuth auth = FirebaseAuth.getInstance(app); - if (pigeonApp.getTenantId() != null) { - auth.setTenantId(pigeonApp.getTenantId()); - } - String customDomain = FlutterFirebaseCorePlugin.customAuthDomain.get(pigeonApp.getAppName()); - if (customDomain != null) { - auth.setCustomAuthDomain(customDomain); - } - - // Auth's `getCustomAuthDomain` supersedes value from `customAuthDomain` map set by - // `initializeApp` - if (pigeonApp.getCustomAuthDomain() != null) { - auth.setCustomAuthDomain(pigeonApp.getCustomAuthDomain()); - } - - return auth; - } - - @Override - public void registerIdTokenListener( - @NonNull GeneratedAndroidFirebaseAuth.AuthPigeonFirebaseApp app, - @NonNull GeneratedAndroidFirebaseAuth.Result result) { - try { - final FirebaseAuth auth = getAuthFromPigeon(app); - final IdTokenChannelStreamHandler handler = new IdTokenChannelStreamHandler(auth); - final String name = METHOD_CHANNEL_NAME + "/id-token/" + auth.getApp().getName(); - final EventChannel channel = new EventChannel(messenger, name); - channel.setStreamHandler(handler); - streamHandlers.put(channel, handler); - result.success(name); - } catch (Exception e) { - result.error(e); - } - } - - @Override - public void registerAuthStateListener( - @NonNull GeneratedAndroidFirebaseAuth.AuthPigeonFirebaseApp app, - @NonNull GeneratedAndroidFirebaseAuth.Result result) { - try { - final FirebaseAuth auth = getAuthFromPigeon(app); - final AuthStateChannelStreamHandler handler = new AuthStateChannelStreamHandler(auth); - final String name = METHOD_CHANNEL_NAME + "/auth-state/" + auth.getApp().getName(); - final EventChannel channel = new EventChannel(messenger, name); - channel.setStreamHandler(handler); - streamHandlers.put(channel, handler); - result.success(name); - } catch (Exception e) { - result.error(e); - } - } - - @Override - public void useEmulator( - @NonNull GeneratedAndroidFirebaseAuth.AuthPigeonFirebaseApp app, - @NonNull String host, - @NonNull Long port, - @NonNull GeneratedAndroidFirebaseAuth.VoidResult result) { - try { - FirebaseAuth firebaseAuth = getAuthFromPigeon(app); - firebaseAuth.useEmulator(host, port.intValue()); - result.success(); - } catch (Exception e) { - result.error(e); - } - } - - @Override - public void applyActionCode( - @NonNull GeneratedAndroidFirebaseAuth.AuthPigeonFirebaseApp app, - @NonNull String code, - @NonNull GeneratedAndroidFirebaseAuth.VoidResult result) { - FirebaseAuth firebaseAuth = getAuthFromPigeon(app); - firebaseAuth - .applyActionCode(code) - .addOnCompleteListener( - task -> { - if (task.isSuccessful()) { - result.success(); - } else { - result.error( - FlutterFirebaseAuthPluginException.parserExceptionToFlutter( - task.getException())); - } - }); - } - - @Override - public void checkActionCode( - @NonNull GeneratedAndroidFirebaseAuth.AuthPigeonFirebaseApp app, - @NonNull String code, - @NonNull - GeneratedAndroidFirebaseAuth.Result - result) { - FirebaseAuth firebaseAuth = getAuthFromPigeon(app); - firebaseAuth - .checkActionCode(code) - .addOnCompleteListener( - task -> { - if (task.isSuccessful()) { - ActionCodeResult actionCodeInfo = task.getResult(); - result.success(PigeonParser.parseActionCodeResult(actionCodeInfo)); - } else { - result.error( - FlutterFirebaseAuthPluginException.parserExceptionToFlutter( - task.getException())); - } - }); - } - - @Override - public void confirmPasswordReset( - @NonNull GeneratedAndroidFirebaseAuth.AuthPigeonFirebaseApp app, - @NonNull String code, - @NonNull String newPassword, - @NonNull GeneratedAndroidFirebaseAuth.VoidResult result) { - FirebaseAuth firebaseAuth = getAuthFromPigeon(app); - - firebaseAuth - .confirmPasswordReset(code, newPassword) - .addOnCompleteListener( - task -> { - if (task.isSuccessful()) { - result.success(); - } else { - result.error( - FlutterFirebaseAuthPluginException.parserExceptionToFlutter( - task.getException())); - } - }); - } - - @Override - public void createUserWithEmailAndPassword( - @NonNull GeneratedAndroidFirebaseAuth.AuthPigeonFirebaseApp app, - @NonNull String email, - @NonNull String password, - @NonNull - GeneratedAndroidFirebaseAuth.Result - result) { - FirebaseAuth firebaseAuth = getAuthFromPigeon(app); - - firebaseAuth - .createUserWithEmailAndPassword(email, password) - .addOnCompleteListener( - task -> { - if (task.isSuccessful()) { - AuthResult authResult = task.getResult(); - result.success(PigeonParser.parseAuthResult(authResult)); - } else { - result.error( - FlutterFirebaseAuthPluginException.parserExceptionToFlutter( - task.getException())); - } - }); - } - - @Override - public void signInAnonymously( - @NonNull GeneratedAndroidFirebaseAuth.AuthPigeonFirebaseApp app, - @NonNull - GeneratedAndroidFirebaseAuth.Result - result) { - FirebaseAuth firebaseAuth = getAuthFromPigeon(app); - firebaseAuth - .signInAnonymously() - .addOnCompleteListener( - task -> { - if (task.isSuccessful()) { - AuthResult authResult = task.getResult(); - result.success(PigeonParser.parseAuthResult(authResult)); - } else { - result.error( - FlutterFirebaseAuthPluginException.parserExceptionToFlutter( - task.getException())); - } - }); - } - - @Override - public void signInWithCredential( - @NonNull GeneratedAndroidFirebaseAuth.AuthPigeonFirebaseApp app, - @NonNull Map input, - @NonNull - GeneratedAndroidFirebaseAuth.Result - result) { - FirebaseAuth firebaseAuth = getAuthFromPigeon(app); - AuthCredential credential = PigeonParser.getCredential(input); - - if (credential == null) { - throw FlutterFirebaseAuthPluginException.invalidCredential(); - } - firebaseAuth - .signInWithCredential(credential) - .addOnCompleteListener( - task -> { - if (task.isSuccessful()) { - AuthResult authResult = task.getResult(); - result.success(PigeonParser.parseAuthResult(authResult)); - } else { - result.error( - FlutterFirebaseAuthPluginException.parserExceptionToFlutter( - task.getException())); - } - }); - } - - @Override - public void signInWithCustomToken( - @NonNull GeneratedAndroidFirebaseAuth.AuthPigeonFirebaseApp app, - @NonNull String token, - @NonNull - GeneratedAndroidFirebaseAuth.Result - result) { - FirebaseAuth firebaseAuth = getAuthFromPigeon(app); - - firebaseAuth - .signInWithCustomToken(token) - .addOnCompleteListener( - task -> { - if (task.isSuccessful()) { - AuthResult authResult = task.getResult(); - result.success(PigeonParser.parseAuthResult(authResult)); - } else { - result.error( - FlutterFirebaseAuthPluginException.parserExceptionToFlutter( - task.getException())); - } - }); - } - - @Override - public void signInWithEmailAndPassword( - @NonNull GeneratedAndroidFirebaseAuth.AuthPigeonFirebaseApp app, - @NonNull String email, - @NonNull String password, - @NonNull - GeneratedAndroidFirebaseAuth.Result - result) { - FirebaseAuth firebaseAuth = getAuthFromPigeon(app); - firebaseAuth - .signInWithEmailAndPassword(email, password) - .addOnCompleteListener( - task -> { - if (task.isSuccessful()) { - result.success(PigeonParser.parseAuthResult(task.getResult())); - } else { - result.error( - FlutterFirebaseAuthPluginException.parserExceptionToFlutter( - task.getException())); - } - }); - } - - @Override - public void signInWithEmailLink( - @NonNull GeneratedAndroidFirebaseAuth.AuthPigeonFirebaseApp app, - @NonNull String email, - @NonNull String emailLink, - @NonNull - GeneratedAndroidFirebaseAuth.Result - result) { - FirebaseAuth firebaseAuth = getAuthFromPigeon(app); - firebaseAuth - .signInWithEmailLink(email, emailLink) - .addOnCompleteListener( - task -> { - if (task.isSuccessful()) { - AuthResult authResult = task.getResult(); - result.success(PigeonParser.parseAuthResult(authResult)); - } else { - result.error( - FlutterFirebaseAuthPluginException.parserExceptionToFlutter( - task.getException())); - } - }); - } - - @Override - public void signInWithProvider( - @NonNull GeneratedAndroidFirebaseAuth.AuthPigeonFirebaseApp app, - @NonNull GeneratedAndroidFirebaseAuth.InternalSignInProvider signInProvider, - @NonNull - GeneratedAndroidFirebaseAuth.Result - result) { - FirebaseAuth firebaseAuth = getAuthFromPigeon(app); - - OAuthProvider.Builder provider = - OAuthProvider.newBuilder(signInProvider.getProviderId(), firebaseAuth); - if (signInProvider.getScopes() != null) { - provider.setScopes(signInProvider.getScopes()); - } - if (signInProvider.getCustomParameters() != null) { - provider.addCustomParameters(signInProvider.getCustomParameters()); - } - - firebaseAuth - .startActivityForSignInWithProvider(getActivity(), provider.build()) - .addOnCompleteListener( - task -> { - if (task.isSuccessful()) { - AuthResult authResult = task.getResult(); - result.success(PigeonParser.parseAuthResult(authResult)); - } else { - result.error( - FlutterFirebaseAuthPluginException.parserExceptionToFlutter( - task.getException())); - } - }); - } - - @Override - public void signOut( - @NonNull GeneratedAndroidFirebaseAuth.AuthPigeonFirebaseApp app, - @NonNull GeneratedAndroidFirebaseAuth.VoidResult result) { - try { - FirebaseAuth firebaseAuth = getAuthFromPigeon(app); - if (firebaseAuth.getCurrentUser() != null) { - final Map appMultiFactorUser = - multiFactorUserMap.get(app.getAppName()); - if (appMultiFactorUser != null) { - appMultiFactorUser.remove(firebaseAuth.getCurrentUser().getUid()); - } - } - firebaseAuth.signOut(); - result.success(); - } catch (Exception e) { - result.error(e); - } - } - - @Override - public void fetchSignInMethodsForEmail( - @NonNull GeneratedAndroidFirebaseAuth.AuthPigeonFirebaseApp app, - @NonNull String email, - @NonNull GeneratedAndroidFirebaseAuth.Result> result) { - FirebaseAuth firebaseAuth = getAuthFromPigeon(app); - - firebaseAuth - .fetchSignInMethodsForEmail(email) - .addOnCompleteListener( - task -> { - if (task.isSuccessful()) { - SignInMethodQueryResult signInMethodQueryResult = task.getResult(); - result.success(signInMethodQueryResult.getSignInMethods()); - } else { - result.error( - FlutterFirebaseAuthPluginException.parserExceptionToFlutter( - task.getException())); - } - }); - } - - @Override - public void sendPasswordResetEmail( - @NonNull GeneratedAndroidFirebaseAuth.AuthPigeonFirebaseApp app, - @NonNull String email, - @Nullable GeneratedAndroidFirebaseAuth.InternalActionCodeSettings actionCodeSettings, - @NonNull GeneratedAndroidFirebaseAuth.VoidResult result) { - FirebaseAuth firebaseAuth = getAuthFromPigeon(app); - - if (actionCodeSettings == null) { - firebaseAuth - .sendPasswordResetEmail(email) - .addOnCompleteListener( - task -> { - if (task.isSuccessful()) { - result.success(); - } else { - result.error( - FlutterFirebaseAuthPluginException.parserExceptionToFlutter( - task.getException())); - } - }); - return; - } - - firebaseAuth - .sendPasswordResetEmail(email, PigeonParser.getActionCodeSettings(actionCodeSettings)) - .addOnCompleteListener( - task -> { - if (task.isSuccessful()) { - result.success(); - } else { - result.error( - FlutterFirebaseAuthPluginException.parserExceptionToFlutter( - task.getException())); - } - }); - } - - @Override - public void sendSignInLinkToEmail( - @NonNull GeneratedAndroidFirebaseAuth.AuthPigeonFirebaseApp app, - @NonNull String email, - @NonNull GeneratedAndroidFirebaseAuth.InternalActionCodeSettings actionCodeSettings, - @NonNull GeneratedAndroidFirebaseAuth.VoidResult result) { - FirebaseAuth firebaseAuth = getAuthFromPigeon(app); - - firebaseAuth - .sendSignInLinkToEmail(email, PigeonParser.getActionCodeSettings(actionCodeSettings)) - .addOnCompleteListener( - task -> { - if (task.isSuccessful()) { - result.success(); - } else { - result.error( - FlutterFirebaseAuthPluginException.parserExceptionToFlutter( - task.getException())); - } - }); - } - - @Override - public void setLanguageCode( - @NonNull GeneratedAndroidFirebaseAuth.AuthPigeonFirebaseApp app, - @Nullable String languageCode, - @NonNull GeneratedAndroidFirebaseAuth.Result result) { - try { - FirebaseAuth firebaseAuth = getAuthFromPigeon(app); - - if (languageCode == null) { - firebaseAuth.useAppLanguage(); - } else { - firebaseAuth.setLanguageCode(languageCode); - } - - result.success(firebaseAuth.getLanguageCode()); - } catch (Exception e) { - result.error(e); - } - } - - @Override - public void setSettings( - @NonNull GeneratedAndroidFirebaseAuth.AuthPigeonFirebaseApp app, - @NonNull GeneratedAndroidFirebaseAuth.InternalFirebaseAuthSettings settings, - @NonNull GeneratedAndroidFirebaseAuth.VoidResult result) { - try { - FirebaseAuth firebaseAuth = getAuthFromPigeon(app); - - firebaseAuth - .getFirebaseAuthSettings() - .setAppVerificationDisabledForTesting(settings.getAppVerificationDisabledForTesting()); - - if (settings.getForceRecaptchaFlow() != null) { - firebaseAuth - .getFirebaseAuthSettings() - .forceRecaptchaFlowForTesting(settings.getForceRecaptchaFlow()); - } - - if (settings.getPhoneNumber() != null && settings.getSmsCode() != null) { - firebaseAuth - .getFirebaseAuthSettings() - .setAutoRetrievedSmsCodeForPhoneNumber( - settings.getPhoneNumber(), settings.getSmsCode()); - } - - result.success(); - } catch (Exception e) { - result.error(e); - } - } - - @Override - public void verifyPasswordResetCode( - @NonNull GeneratedAndroidFirebaseAuth.AuthPigeonFirebaseApp app, - @NonNull String code, - @NonNull GeneratedAndroidFirebaseAuth.Result result) { - FirebaseAuth firebaseAuth = getAuthFromPigeon(app); - - firebaseAuth - .verifyPasswordResetCode(code) - .addOnCompleteListener( - task -> { - if (task.isSuccessful()) { - result.success(task.getResult()); - } else { - result.error( - FlutterFirebaseAuthPluginException.parserExceptionToFlutter( - task.getException())); - } - }); - } - - @Override - public void verifyPhoneNumber( - @NonNull GeneratedAndroidFirebaseAuth.AuthPigeonFirebaseApp app, - @NonNull GeneratedAndroidFirebaseAuth.InternalVerifyPhoneNumberRequest request, - @NonNull GeneratedAndroidFirebaseAuth.Result result) { - try { - String eventChannelName = METHOD_CHANNEL_NAME + "/phone/" + UUID.randomUUID().toString(); - EventChannel channel = new EventChannel(messenger, eventChannelName); - - MultiFactorSession multiFactorSession = null; - - if (request.getMultiFactorSessionId() != null) { - multiFactorSession = - FlutterFirebaseMultiFactor.multiFactorSessionMap.get(request.getMultiFactorSessionId()); - } - - final String multiFactorInfoId = request.getMultiFactorInfoId(); - PhoneMultiFactorInfo multiFactorInfo = null; - - if (multiFactorInfoId != null) { - for (String resolverId : FlutterFirebaseMultiFactor.multiFactorResolverMap.keySet()) { - for (MultiFactorInfo info : - FlutterFirebaseMultiFactor.multiFactorResolverMap.get(resolverId).getHints()) { - if (info.getUid().equals(multiFactorInfoId) && info instanceof PhoneMultiFactorInfo) { - multiFactorInfo = (PhoneMultiFactorInfo) info; - break; - } - } - } - } - - PhoneNumberVerificationStreamHandler handler = - new PhoneNumberVerificationStreamHandler( - getActivity(), - app, - request, - multiFactorSession, - multiFactorInfo, - credential -> { - int hashCode = credential.hashCode(); - authCredentials.put(hashCode, credential); - }); - - channel.setStreamHandler(handler); - streamHandlers.put(channel, handler); - - result.success(eventChannelName); - } catch (Exception e) { - result.error(e); - } - } - - @Override - public void revokeTokenWithAuthorizationCode( - @NonNull GeneratedAndroidFirebaseAuth.AuthPigeonFirebaseApp app, - @NonNull String authorizationCode, - @NonNull GeneratedAndroidFirebaseAuth.VoidResult result) { - // Should never get here as we throw Exception on Dart side. - result.success(); - } - - @Override - public void revokeAccessToken( - @NonNull GeneratedAndroidFirebaseAuth.AuthPigeonFirebaseApp app, - @NonNull String accessToken, - @NonNull GeneratedAndroidFirebaseAuth.VoidResult result) { - FirebaseAuth firebaseAuth = getAuthFromPigeon(app); - - firebaseAuth - .revokeAccessToken(accessToken) - .addOnCompleteListener( - task -> { - if (task.isSuccessful()) { - result.success(); - } else { - result.error( - FlutterFirebaseAuthPluginException.parserExceptionToFlutter( - task.getException())); - } - }); - } - - @Override - public void initializeRecaptchaConfig( - @NonNull GeneratedAndroidFirebaseAuth.AuthPigeonFirebaseApp app, - @NonNull GeneratedAndroidFirebaseAuth.VoidResult result) { - FirebaseAuth firebaseAuth = getAuthFromPigeon(app); - firebaseAuth - .initializeRecaptchaConfig() - .addOnCompleteListener( - task -> { - if (task.isSuccessful()) { - result.success(); - } else { - result.error( - FlutterFirebaseAuthPluginException.parserExceptionToFlutter( - task.getException())); - } - }); - } - - @Override - public Task> getPluginConstantsForFirebaseApp(FirebaseApp firebaseApp) { - TaskCompletionSource> taskCompletionSource = new TaskCompletionSource<>(); - - cachedThreadPool.execute( - () -> { - try { - Map constants = new HashMap<>(); - FirebaseAuth firebaseAuth = FirebaseAuth.getInstance(firebaseApp); - FirebaseUser firebaseUser = firebaseAuth.getCurrentUser(); - String languageCode = firebaseAuth.getLanguageCode(); - - GeneratedAndroidFirebaseAuth.InternalUserDetails user = - firebaseUser == null ? null : PigeonParser.parseFirebaseUser(firebaseUser); - - if (languageCode != null) { - constants.put("APP_LANGUAGE_CODE", languageCode); - } - - if (user != null) { - constants.put("APP_CURRENT_USER", PigeonParser.manuallyToList(user)); - } - - taskCompletionSource.setResult(constants); - } catch (Exception e) { - taskCompletionSource.setException(e); - } - }); - - return taskCompletionSource.getTask(); - } - - @Override - public Task didReinitializeFirebaseCore() { - TaskCompletionSource taskCompletionSource = new TaskCompletionSource<>(); - - cachedThreadPool.execute( - () -> { - try { - removeEventListeners(); - authCredentials.clear(); - taskCompletionSource.setResult(null); - } catch (Exception e) { - taskCompletionSource.setException(e); - } - }); - - return taskCompletionSource.getTask(); - } - - private void removeEventListeners() { - for (EventChannel eventChannel : streamHandlers.keySet()) { - StreamHandler streamHandler = streamHandlers.get(eventChannel); - if (streamHandler != null) { - streamHandler.onCancel(null); - } - eventChannel.setStreamHandler(null); - } - streamHandlers.clear(); - } -} diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/android/src/main/java/io/flutter/plugins/firebase/auth/FlutterFirebaseAuthPluginException.java b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/android/src/main/java/io/flutter/plugins/firebase/auth/FlutterFirebaseAuthPluginException.java deleted file mode 100644 index a42bcb56..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/android/src/main/java/io/flutter/plugins/firebase/auth/FlutterFirebaseAuthPluginException.java +++ /dev/null @@ -1,157 +0,0 @@ -/* - * Copyright 2022, the Chromium project authors. Please see the AUTHORS file - * for details. All rights reserved. Use of this source code is governed by a - * BSD-style license that can be found in the LICENSE file. - */ - -package io.flutter.plugins.firebase.auth; - -import androidx.annotation.Nullable; -import com.google.firebase.FirebaseApiNotAvailableException; -import com.google.firebase.FirebaseNetworkException; -import com.google.firebase.FirebaseTooManyRequestsException; -import com.google.firebase.auth.AuthCredential; -import com.google.firebase.auth.FirebaseAuthException; -import com.google.firebase.auth.FirebaseAuthMultiFactorException; -import com.google.firebase.auth.FirebaseAuthUserCollisionException; -import com.google.firebase.auth.FirebaseAuthWeakPasswordException; -import com.google.firebase.auth.MultiFactorInfo; -import com.google.firebase.auth.MultiFactorResolver; -import com.google.firebase.auth.MultiFactorSession; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.UUID; - -public class FlutterFirebaseAuthPluginException { - - static GeneratedAndroidFirebaseAuth.FlutterError parserExceptionToFlutter( - @Nullable Exception nativeException) { - if (nativeException == null) { - return new GeneratedAndroidFirebaseAuth.FlutterError("UNKNOWN", null, null); - } - String code = "UNKNOWN"; - - String message = nativeException.getMessage(); - Map additionalData = new HashMap<>(); - - if (nativeException instanceof FirebaseAuthMultiFactorException) { - final FirebaseAuthMultiFactorException multiFactorException = - (FirebaseAuthMultiFactorException) nativeException; - Map output = new HashMap<>(); - - MultiFactorResolver multiFactorResolver = multiFactorException.getResolver(); - final List hints = multiFactorResolver.getHints(); - - final MultiFactorSession session = multiFactorResolver.getSession(); - final String sessionId = UUID.randomUUID().toString(); - FlutterFirebaseMultiFactor.multiFactorSessionMap.put(sessionId, session); - - final String resolverId = UUID.randomUUID().toString(); - FlutterFirebaseMultiFactor.multiFactorResolverMap.put(resolverId, multiFactorResolver); - - final List> pigeonHints = PigeonParser.multiFactorInfoToMap(hints); - - output.put( - Constants.APP_NAME, - multiFactorException.getResolver().getFirebaseAuth().getApp().getName()); - - output.put(Constants.MULTI_FACTOR_HINTS, pigeonHints); - - output.put(Constants.MULTI_FACTOR_SESSION_ID, sessionId); - output.put(Constants.MULTI_FACTOR_RESOLVER_ID, resolverId); - - return new GeneratedAndroidFirebaseAuth.FlutterError( - multiFactorException.getErrorCode(), multiFactorException.getLocalizedMessage(), output); - } - - if (nativeException instanceof FirebaseNetworkException - || (nativeException.getCause() != null - && nativeException.getCause() instanceof FirebaseNetworkException)) { - return new GeneratedAndroidFirebaseAuth.FlutterError( - "network-request-failed", - "A network error (such as timeout, interrupted connection or unreachable host) has" - + " occurred.", - null); - } - - if (nativeException instanceof FirebaseApiNotAvailableException - || (nativeException.getCause() != null - && nativeException.getCause() instanceof FirebaseApiNotAvailableException)) { - return new GeneratedAndroidFirebaseAuth.FlutterError( - "api-not-available", "The requested API is not available.", null); - } - - if (nativeException instanceof FirebaseTooManyRequestsException - || (nativeException.getCause() != null - && nativeException.getCause() instanceof FirebaseTooManyRequestsException)) { - return new GeneratedAndroidFirebaseAuth.FlutterError( - "too-many-requests", - "We have blocked all requests from this device due to unusual activity. Try again later.", - null); - } - - // Manual message overrides to match other platforms. - if (nativeException.getMessage() != null - && nativeException - .getMessage() - .startsWith("Cannot create PhoneAuthCredential without either verificationProof")) { - return new GeneratedAndroidFirebaseAuth.FlutterError( - "invalid-verification-code", - "The verification ID used to create the phone auth credential is invalid.", - null); - } - - if (message != null - && message.contains("User has already been linked to the given provider.")) { - return FlutterFirebaseAuthPluginException.alreadyLinkedProvider(); - } - - if (nativeException instanceof FirebaseAuthException) { - code = ((FirebaseAuthException) nativeException).getErrorCode(); - } - - if (nativeException instanceof FirebaseAuthWeakPasswordException) { - message = ((FirebaseAuthWeakPasswordException) nativeException).getReason(); - } - - if (nativeException instanceof FirebaseAuthUserCollisionException) { - String email = ((FirebaseAuthUserCollisionException) nativeException).getEmail(); - - if (email != null) { - additionalData.put("email", email); - } - - AuthCredential authCredential = - ((FirebaseAuthUserCollisionException) nativeException).getUpdatedCredential(); - - if (authCredential != null) { - additionalData.put("authCredential", PigeonParser.parseAuthCredential(authCredential)); - } - } - - return new GeneratedAndroidFirebaseAuth.FlutterError(code, message, additionalData); - } - - static GeneratedAndroidFirebaseAuth.FlutterError noUser() { - return new GeneratedAndroidFirebaseAuth.FlutterError( - "NO_CURRENT_USER", "No user currently signed in.", null); - } - - static GeneratedAndroidFirebaseAuth.FlutterError invalidCredential() { - return new GeneratedAndroidFirebaseAuth.FlutterError( - "INVALID_CREDENTIAL", - "The supplied auth credential is malformed, has expired or is not currently supported.", - null); - } - - static GeneratedAndroidFirebaseAuth.FlutterError noSuchProvider() { - return new GeneratedAndroidFirebaseAuth.FlutterError( - "NO_SUCH_PROVIDER", "User was not linked to an account with the given provider.", null); - } - - static GeneratedAndroidFirebaseAuth.FlutterError alreadyLinkedProvider() { - return new GeneratedAndroidFirebaseAuth.FlutterError( - "PROVIDER_ALREADY_LINKED", "User has already been linked to the given provider.", null); - } -} diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/android/src/main/java/io/flutter/plugins/firebase/auth/FlutterFirebaseAuthRegistrar.java b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/android/src/main/java/io/flutter/plugins/firebase/auth/FlutterFirebaseAuthRegistrar.java deleted file mode 100644 index 1476a9bd..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/android/src/main/java/io/flutter/plugins/firebase/auth/FlutterFirebaseAuthRegistrar.java +++ /dev/null @@ -1,21 +0,0 @@ -// Copyright 2019 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -package io.flutter.plugins.firebase.auth; - -import androidx.annotation.Keep; -import com.google.firebase.components.Component; -import com.google.firebase.components.ComponentRegistrar; -import com.google.firebase.platforminfo.LibraryVersionComponent; -import java.util.Collections; -import java.util.List; - -@Keep -public class FlutterFirebaseAuthRegistrar implements ComponentRegistrar { - @Override - public List> getComponents() { - return Collections.>singletonList( - LibraryVersionComponent.create(BuildConfig.LIBRARY_NAME, BuildConfig.LIBRARY_VERSION)); - } -} diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/android/src/main/java/io/flutter/plugins/firebase/auth/FlutterFirebaseAuthUser.java b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/android/src/main/java/io/flutter/plugins/firebase/auth/FlutterFirebaseAuthUser.java deleted file mode 100644 index 7039a38f..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/android/src/main/java/io/flutter/plugins/firebase/auth/FlutterFirebaseAuthUser.java +++ /dev/null @@ -1,548 +0,0 @@ -/* - * Copyright 2023, the Chromium project authors. Please see the AUTHORS file - * for details. All rights reserved. Use of this source code is governed by a - * BSD-style license that can be found in the LICENSE file. - */ - -package io.flutter.plugins.firebase.auth; - -import static io.flutter.plugins.firebase.core.FlutterFirebasePlugin.cachedThreadPool; - -import android.app.Activity; -import android.net.Uri; -import androidx.annotation.NonNull; -import androidx.annotation.Nullable; -import com.google.android.gms.tasks.Tasks; -import com.google.firebase.FirebaseApp; -import com.google.firebase.auth.AuthCredential; -import com.google.firebase.auth.FirebaseAuth; -import com.google.firebase.auth.FirebaseUser; -import com.google.firebase.auth.GetTokenResult; -import com.google.firebase.auth.OAuthProvider; -import com.google.firebase.auth.PhoneAuthCredential; -import com.google.firebase.auth.UserProfileChangeRequest; -import java.util.Map; - -public class FlutterFirebaseAuthUser - implements GeneratedAndroidFirebaseAuth.FirebaseAuthUserHostApi { - - private Activity activity; - - public void setActivity(Activity activity) { - this.activity = activity; - } - - public static FirebaseUser getCurrentUserFromPigeon( - @NonNull GeneratedAndroidFirebaseAuth.AuthPigeonFirebaseApp pigeonApp) { - FirebaseApp app = FirebaseApp.getInstance(pigeonApp.getAppName()); - FirebaseAuth auth = FirebaseAuth.getInstance(app); - if (pigeonApp.getTenantId() != null) { - auth.setTenantId(pigeonApp.getTenantId()); - } - - return auth.getCurrentUser(); - } - - @Override - public void delete( - @NonNull GeneratedAndroidFirebaseAuth.AuthPigeonFirebaseApp app, - @NonNull GeneratedAndroidFirebaseAuth.VoidResult result) { - FirebaseUser firebaseUser = getCurrentUserFromPigeon(app); - - if (firebaseUser == null) { - result.error(FlutterFirebaseAuthPluginException.noUser()); - return; - } - - firebaseUser - .delete() - .addOnCompleteListener( - task -> { - if (task.isSuccessful()) { - result.success(); - } else { - result.error( - FlutterFirebaseAuthPluginException.parserExceptionToFlutter( - task.getException())); - } - }); - } - - @Override - public void getIdToken( - @NonNull GeneratedAndroidFirebaseAuth.AuthPigeonFirebaseApp app, - @NonNull Boolean forceRefresh, - @NonNull - GeneratedAndroidFirebaseAuth.Result - result) { - cachedThreadPool.execute( - () -> { - FirebaseUser firebaseUser = getCurrentUserFromPigeon(app); - - if (firebaseUser == null) { - result.error(FlutterFirebaseAuthPluginException.noUser()); - return; - } - try { - GetTokenResult response = Tasks.await(firebaseUser.getIdToken(forceRefresh)); - result.success(PigeonParser.parseTokenResult(response)); - } catch (Exception exception) { - result.error(FlutterFirebaseAuthPluginException.parserExceptionToFlutter(exception)); - } - }); - } - - @Override - public void linkWithCredential( - @NonNull GeneratedAndroidFirebaseAuth.AuthPigeonFirebaseApp app, - @NonNull Map input, - @NonNull - GeneratedAndroidFirebaseAuth.Result - result) { - FirebaseUser firebaseUser = getCurrentUserFromPigeon(app); - AuthCredential credential = PigeonParser.getCredential(input); - - if (firebaseUser == null) { - result.error(FlutterFirebaseAuthPluginException.noUser()); - return; - } - - if (credential == null) { - result.error(FlutterFirebaseAuthPluginException.invalidCredential()); - return; - } - - firebaseUser - .linkWithCredential(credential) - .addOnCompleteListener( - task -> { - if (task.isSuccessful()) { - result.success(PigeonParser.parseAuthResult(task.getResult())); - } else { - result.error( - FlutterFirebaseAuthPluginException.parserExceptionToFlutter( - task.getException())); - } - }); - } - - @Override - public void linkWithProvider( - @NonNull GeneratedAndroidFirebaseAuth.AuthPigeonFirebaseApp app, - @NonNull GeneratedAndroidFirebaseAuth.InternalSignInProvider signInProvider, - @NonNull - GeneratedAndroidFirebaseAuth.Result - result) { - FirebaseUser firebaseUser = getCurrentUserFromPigeon(app); - - OAuthProvider.Builder provider = OAuthProvider.newBuilder(signInProvider.getProviderId()); - if (signInProvider.getScopes() != null) { - provider.setScopes(signInProvider.getScopes()); - } - if (signInProvider.getCustomParameters() != null) { - provider.addCustomParameters(signInProvider.getCustomParameters()); - } - - firebaseUser - .startActivityForLinkWithProvider(activity, provider.build()) - .addOnCompleteListener( - task -> { - if (task.isSuccessful()) { - result.success(PigeonParser.parseAuthResult(task.getResult())); - } else { - result.error( - FlutterFirebaseAuthPluginException.parserExceptionToFlutter( - task.getException())); - } - }); - } - - @Override - public void reauthenticateWithCredential( - @NonNull GeneratedAndroidFirebaseAuth.AuthPigeonFirebaseApp app, - @NonNull Map input, - @NonNull - GeneratedAndroidFirebaseAuth.Result - result) { - FirebaseUser firebaseUser = getCurrentUserFromPigeon(app); - AuthCredential credential = PigeonParser.getCredential(input); - - if (firebaseUser == null) { - result.error(FlutterFirebaseAuthPluginException.noUser()); - return; - } - - if (credential == null) { - result.error(FlutterFirebaseAuthPluginException.invalidCredential()); - return; - } - - firebaseUser - .reauthenticateAndRetrieveData(credential) - .addOnCompleteListener( - task -> { - if (task.isSuccessful()) { - result.success(PigeonParser.parseAuthResult(task.getResult())); - } else { - result.error( - FlutterFirebaseAuthPluginException.parserExceptionToFlutter( - task.getException())); - } - }); - } - - @Override - public void reauthenticateWithProvider( - @NonNull GeneratedAndroidFirebaseAuth.AuthPigeonFirebaseApp app, - @NonNull GeneratedAndroidFirebaseAuth.InternalSignInProvider signInProvider, - @NonNull - GeneratedAndroidFirebaseAuth.Result - result) { - FirebaseUser firebaseUser = getCurrentUserFromPigeon(app); - - OAuthProvider.Builder provider = OAuthProvider.newBuilder(signInProvider.getProviderId()); - if (signInProvider.getScopes() != null) { - provider.setScopes(signInProvider.getScopes()); - } - if (signInProvider.getCustomParameters() != null) { - provider.addCustomParameters(signInProvider.getCustomParameters()); - } - - firebaseUser - .startActivityForReauthenticateWithProvider(activity, provider.build()) - .addOnCompleteListener( - task -> { - if (task.isSuccessful()) { - result.success(PigeonParser.parseAuthResult(task.getResult())); - } else { - result.error( - FlutterFirebaseAuthPluginException.parserExceptionToFlutter( - task.getException())); - } - }); - } - - @Override - public void reload( - @NonNull GeneratedAndroidFirebaseAuth.AuthPigeonFirebaseApp app, - @NonNull - GeneratedAndroidFirebaseAuth.Result - result) { - FirebaseUser firebaseUser = getCurrentUserFromPigeon(app); - - if (firebaseUser == null) { - result.error(FlutterFirebaseAuthPluginException.noUser()); - return; - } - - firebaseUser - .reload() - .addOnCompleteListener( - task -> { - if (task.isSuccessful()) { - result.success(PigeonParser.parseFirebaseUser(firebaseUser)); - } else { - result.error( - FlutterFirebaseAuthPluginException.parserExceptionToFlutter( - task.getException())); - } - }); - } - - @Override - public void sendEmailVerification( - @NonNull GeneratedAndroidFirebaseAuth.AuthPigeonFirebaseApp app, - @Nullable GeneratedAndroidFirebaseAuth.InternalActionCodeSettings actionCodeSettings, - @NonNull GeneratedAndroidFirebaseAuth.VoidResult result) { - FirebaseUser firebaseUser = getCurrentUserFromPigeon(app); - - if (firebaseUser == null) { - result.error(FlutterFirebaseAuthPluginException.noUser()); - return; - } - - if (actionCodeSettings == null) { - firebaseUser - .sendEmailVerification() - .addOnCompleteListener( - task -> { - if (task.isSuccessful()) { - result.success(); - } else { - result.error( - FlutterFirebaseAuthPluginException.parserExceptionToFlutter( - task.getException())); - } - }); - return; - } - - firebaseUser - .sendEmailVerification(PigeonParser.getActionCodeSettings(actionCodeSettings)) - .addOnCompleteListener( - task -> { - if (task.isSuccessful()) { - result.success(); - } else { - result.error( - FlutterFirebaseAuthPluginException.parserExceptionToFlutter( - task.getException())); - } - }); - } - - @Override - public void unlink( - @NonNull GeneratedAndroidFirebaseAuth.AuthPigeonFirebaseApp app, - @NonNull String providerId, - @NonNull - GeneratedAndroidFirebaseAuth.Result - result) { - FirebaseUser firebaseUser = getCurrentUserFromPigeon(app); - - if (firebaseUser == null) { - result.error(FlutterFirebaseAuthPluginException.noUser()); - return; - } - - firebaseUser - .unlink(providerId) - .addOnCompleteListener( - task -> { - if (task.isSuccessful()) { - result.success(PigeonParser.parseAuthResult(task.getResult())); - } else { - Exception exception = task.getException(); - if (exception - .getMessage() - .contains("User was not linked to an account with the given provider.")) { - result.error(FlutterFirebaseAuthPluginException.noSuchProvider()); - } else { - result.error( - FlutterFirebaseAuthPluginException.parserExceptionToFlutter(exception)); - } - } - }); - } - - @Override - public void updateEmail( - @NonNull GeneratedAndroidFirebaseAuth.AuthPigeonFirebaseApp app, - @NonNull String newEmail, - @NonNull - GeneratedAndroidFirebaseAuth.Result - result) { - FirebaseUser firebaseUser = getCurrentUserFromPigeon(app); - - if (firebaseUser == null) { - result.error(FlutterFirebaseAuthPluginException.noUser()); - return; - } - - firebaseUser - .updateEmail(newEmail) - .addOnCompleteListener( - task -> { - if (task.isSuccessful()) { - firebaseUser - .reload() - .addOnCompleteListener( - reloadTask -> { - if (reloadTask.isSuccessful()) { - result.success(PigeonParser.parseFirebaseUser(firebaseUser)); - } else { - result.error( - FlutterFirebaseAuthPluginException.parserExceptionToFlutter( - reloadTask.getException())); - } - }); - } else { - result.error( - FlutterFirebaseAuthPluginException.parserExceptionToFlutter( - task.getException())); - } - }); - } - - @Override - public void updatePassword( - @NonNull GeneratedAndroidFirebaseAuth.AuthPigeonFirebaseApp app, - @NonNull String newPassword, - @NonNull - GeneratedAndroidFirebaseAuth.Result - result) { - FirebaseUser firebaseUser = getCurrentUserFromPigeon(app); - - if (firebaseUser == null) { - result.error(FlutterFirebaseAuthPluginException.noUser()); - return; - } - - firebaseUser - .updatePassword(newPassword) - .addOnCompleteListener( - task -> { - if (task.isSuccessful()) { - firebaseUser - .reload() - .addOnCompleteListener( - reloadTask -> { - if (reloadTask.isSuccessful()) { - result.success(PigeonParser.parseFirebaseUser(firebaseUser)); - } else { - result.error( - FlutterFirebaseAuthPluginException.parserExceptionToFlutter( - reloadTask.getException())); - } - }); - } else { - result.error( - FlutterFirebaseAuthPluginException.parserExceptionToFlutter( - task.getException())); - } - }); - } - - @Override - public void updatePhoneNumber( - @NonNull GeneratedAndroidFirebaseAuth.AuthPigeonFirebaseApp app, - @NonNull Map input, - @NonNull - GeneratedAndroidFirebaseAuth.Result - result) { - FirebaseUser firebaseUser = getCurrentUserFromPigeon(app); - - if (firebaseUser == null) { - result.error(FlutterFirebaseAuthPluginException.noUser()); - return; - } - - PhoneAuthCredential phoneAuthCredential = - (PhoneAuthCredential) PigeonParser.getCredential(input); - - if (phoneAuthCredential == null) { - result.error(FlutterFirebaseAuthPluginException.invalidCredential()); - return; - } - - firebaseUser - .updatePhoneNumber(phoneAuthCredential) - .addOnCompleteListener( - task -> { - if (task.isSuccessful()) { - firebaseUser - .reload() - .addOnCompleteListener( - reloadTask -> { - if (reloadTask.isSuccessful()) { - result.success(PigeonParser.parseFirebaseUser(firebaseUser)); - } else { - result.error( - FlutterFirebaseAuthPluginException.parserExceptionToFlutter( - reloadTask.getException())); - } - }); - } else { - result.error( - FlutterFirebaseAuthPluginException.parserExceptionToFlutter( - task.getException())); - } - }); - } - - @Override - public void updateProfile( - @NonNull GeneratedAndroidFirebaseAuth.AuthPigeonFirebaseApp app, - @NonNull GeneratedAndroidFirebaseAuth.InternalUserProfile profile, - @NonNull - GeneratedAndroidFirebaseAuth.Result - result) { - FirebaseUser firebaseUser = getCurrentUserFromPigeon(app); - - if (firebaseUser == null) { - result.error(FlutterFirebaseAuthPluginException.noUser()); - return; - } - - UserProfileChangeRequest.Builder builder = new UserProfileChangeRequest.Builder(); - - if (profile.getDisplayNameChanged()) { - builder.setDisplayName(profile.getDisplayName()); - } - - if (profile.getPhotoUrlChanged()) { - if (profile.getPhotoUrl() != null) { - builder.setPhotoUri(Uri.parse(profile.getPhotoUrl())); - } else { - builder.setPhotoUri(null); - } - } - - firebaseUser - .updateProfile(builder.build()) - .addOnCompleteListener( - task -> { - if (task.isSuccessful()) { - firebaseUser - .reload() - .addOnCompleteListener( - reloadTask -> { - if (reloadTask.isSuccessful()) { - result.success(PigeonParser.parseFirebaseUser(firebaseUser)); - } else { - result.error( - FlutterFirebaseAuthPluginException.parserExceptionToFlutter( - reloadTask.getException())); - } - }); - } else { - result.error( - FlutterFirebaseAuthPluginException.parserExceptionToFlutter( - task.getException())); - } - }); - } - - @Override - public void verifyBeforeUpdateEmail( - @NonNull GeneratedAndroidFirebaseAuth.AuthPigeonFirebaseApp app, - @NonNull String newEmail, - @Nullable GeneratedAndroidFirebaseAuth.InternalActionCodeSettings actionCodeSettings, - @NonNull GeneratedAndroidFirebaseAuth.VoidResult result) { - FirebaseUser firebaseUser = getCurrentUserFromPigeon(app); - - if (firebaseUser == null) { - result.error(FlutterFirebaseAuthPluginException.noUser()); - return; - } - - if (actionCodeSettings == null) { - firebaseUser - .verifyBeforeUpdateEmail(newEmail) - .addOnCompleteListener( - task -> { - if (task.isSuccessful()) { - result.success(); - } else { - result.error( - FlutterFirebaseAuthPluginException.parserExceptionToFlutter( - task.getException())); - } - }); - return; - } - - firebaseUser - .verifyBeforeUpdateEmail(newEmail, PigeonParser.getActionCodeSettings(actionCodeSettings)) - .addOnCompleteListener( - task -> { - if (task.isSuccessful()) { - result.success(); - } else { - result.error( - FlutterFirebaseAuthPluginException.parserExceptionToFlutter( - task.getException())); - } - }); - } -} diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/android/src/main/java/io/flutter/plugins/firebase/auth/FlutterFirebaseMultiFactor.java b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/android/src/main/java/io/flutter/plugins/firebase/auth/FlutterFirebaseMultiFactor.java deleted file mode 100644 index 1ba51914..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/android/src/main/java/io/flutter/plugins/firebase/auth/FlutterFirebaseMultiFactor.java +++ /dev/null @@ -1,252 +0,0 @@ -/* - * Copyright 2023, the Chromium project authors. Please see the AUTHORS file - * for details. All rights reserved. Use of this source code is governed by a - * BSD-style license that can be found in the LICENSE file. - */ - -package io.flutter.plugins.firebase.auth; - -import androidx.annotation.NonNull; -import androidx.annotation.Nullable; -import com.google.firebase.auth.AuthResult; -import com.google.firebase.auth.FirebaseUser; -import com.google.firebase.auth.MultiFactor; -import com.google.firebase.auth.MultiFactorAssertion; -import com.google.firebase.auth.MultiFactorInfo; -import com.google.firebase.auth.MultiFactorResolver; -import com.google.firebase.auth.MultiFactorSession; -import com.google.firebase.auth.PhoneAuthCredential; -import com.google.firebase.auth.PhoneAuthProvider; -import com.google.firebase.auth.PhoneMultiFactorGenerator; -import com.google.firebase.internal.api.FirebaseNoSignedInUserException; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.UUID; - -public class FlutterFirebaseMultiFactor - implements GeneratedAndroidFirebaseAuth.MultiFactorUserHostApi, - GeneratedAndroidFirebaseAuth.MultiFactoResolverHostApi { - - // Map an app id to a map of user id to a MultiFactorUser object. - static final Map> multiFactorUserMap = new HashMap<>(); - - // Map an id to a MultiFactorSession object. - static final Map multiFactorSessionMap = new HashMap<>(); - - // Map an id to a MultiFactorResolver object. - static final Map multiFactorResolverMap = new HashMap<>(); - - static final Map multiFactorAssertionMap = new HashMap<>(); - - MultiFactor getAppMultiFactor(@NonNull GeneratedAndroidFirebaseAuth.AuthPigeonFirebaseApp app) - throws FirebaseNoSignedInUserException { - final FirebaseUser currentUser = FlutterFirebaseAuthUser.getCurrentUserFromPigeon(app); - if (currentUser == null) { - throw new FirebaseNoSignedInUserException("No user is signed in"); - } - if (multiFactorUserMap.get(app.getAppName()) == null) { - multiFactorUserMap.put(app.getAppName(), new HashMap<>()); - } - - final Map appMultiFactorUser = multiFactorUserMap.get(app.getAppName()); - if (appMultiFactorUser.get(currentUser.getUid()) == null) { - appMultiFactorUser.put(currentUser.getUid(), currentUser.getMultiFactor()); - } - - return appMultiFactorUser.get(currentUser.getUid()); - } - - @Override - public void enrollPhone( - @NonNull GeneratedAndroidFirebaseAuth.AuthPigeonFirebaseApp app, - @NonNull GeneratedAndroidFirebaseAuth.InternalPhoneMultiFactorAssertion assertion, - @Nullable String displayName, - @NonNull GeneratedAndroidFirebaseAuth.VoidResult result) { - final MultiFactor multiFactor; - try { - multiFactor = getAppMultiFactor(app); - } catch (FirebaseNoSignedInUserException e) { - result.error(e); - return; - } - - PhoneAuthCredential credential = - PhoneAuthProvider.getCredential( - assertion.getVerificationId(), assertion.getVerificationCode()); - - MultiFactorAssertion multiFactorAssertion = PhoneMultiFactorGenerator.getAssertion(credential); - - multiFactor - .enroll(multiFactorAssertion, displayName) - .addOnCompleteListener( - task -> { - if (task.isSuccessful()) { - result.success(); - } else { - result.error( - FlutterFirebaseAuthPluginException.parserExceptionToFlutter( - task.getException())); - } - }); - } - - @Override - public void enrollTotp( - @NonNull GeneratedAndroidFirebaseAuth.AuthPigeonFirebaseApp app, - @NonNull String assertionId, - @Nullable String displayName, - @NonNull GeneratedAndroidFirebaseAuth.VoidResult result) { - final MultiFactor multiFactor; - try { - multiFactor = getAppMultiFactor(app); - } catch (FirebaseNoSignedInUserException e) { - result.error(e); - return; - } - - final MultiFactorAssertion multiFactorAssertion = multiFactorAssertionMap.get(assertionId); - - assert multiFactorAssertion != null; - multiFactor - .enroll(multiFactorAssertion, displayName) - .addOnCompleteListener( - task -> { - if (task.isSuccessful()) { - result.success(); - } else { - result.error( - FlutterFirebaseAuthPluginException.parserExceptionToFlutter( - task.getException())); - } - }); - } - - @Override - public void getSession( - @NonNull GeneratedAndroidFirebaseAuth.AuthPigeonFirebaseApp app, - @NonNull - GeneratedAndroidFirebaseAuth.Result< - GeneratedAndroidFirebaseAuth.InternalMultiFactorSession> - result) { - final MultiFactor multiFactor; - try { - multiFactor = getAppMultiFactor(app); - } catch (FirebaseNoSignedInUserException e) { - result.error(e); - return; - } - - multiFactor - .getSession() - .addOnCompleteListener( - task -> { - if (task.isSuccessful()) { - final MultiFactorSession sessionResult = task.getResult(); - final String id = UUID.randomUUID().toString(); - multiFactorSessionMap.put(id, sessionResult); - result.success( - new GeneratedAndroidFirebaseAuth.InternalMultiFactorSession.Builder() - .setId(id) - .build()); - } else { - result.error( - FlutterFirebaseAuthPluginException.parserExceptionToFlutter( - task.getException())); - } - }); - } - - @Override - public void unenroll( - @NonNull GeneratedAndroidFirebaseAuth.AuthPigeonFirebaseApp app, - @NonNull String factorUid, - @NonNull GeneratedAndroidFirebaseAuth.VoidResult result) { - final MultiFactor multiFactor; - try { - multiFactor = getAppMultiFactor(app); - } catch (FirebaseNoSignedInUserException e) { - result.error(FlutterFirebaseAuthPluginException.parserExceptionToFlutter(e)); - return; - } - - multiFactor - .unenroll(factorUid) - .addOnCompleteListener( - task -> { - if (task.isSuccessful()) { - result.success(); - } else { - result.error( - FlutterFirebaseAuthPluginException.parserExceptionToFlutter( - task.getException())); - } - }); - } - - @Override - public void getEnrolledFactors( - @NonNull GeneratedAndroidFirebaseAuth.AuthPigeonFirebaseApp app, - @NonNull - GeneratedAndroidFirebaseAuth.Result< - List> - result) { - final MultiFactor multiFactor; - try { - multiFactor = getAppMultiFactor(app); - } catch (FirebaseNoSignedInUserException e) { - result.error(e); - return; - } - - final List factors = multiFactor.getEnrolledFactors(); - - final List resultFactors = - PigeonParser.multiFactorInfoToPigeon(factors); - - result.success(resultFactors); - } - - @Override - public void resolveSignIn( - @NonNull String resolverId, - @Nullable GeneratedAndroidFirebaseAuth.InternalPhoneMultiFactorAssertion assertion, - @Nullable String totpAssertionId, - @NonNull - GeneratedAndroidFirebaseAuth.Result - result) { - final MultiFactorResolver resolver = multiFactorResolverMap.get(resolverId); - - if (resolver == null) { - result.error( - FlutterFirebaseAuthPluginException.parserExceptionToFlutter( - new Exception("Resolver not found"))); - return; - } - - MultiFactorAssertion multiFactorAssertion; - - if (assertion != null) { - PhoneAuthCredential credential = - PhoneAuthProvider.getCredential( - assertion.getVerificationId(), assertion.getVerificationCode()); - multiFactorAssertion = PhoneMultiFactorGenerator.getAssertion(credential); - } else { - multiFactorAssertion = multiFactorAssertionMap.get(totpAssertionId); - } - - resolver - .resolveSignIn(multiFactorAssertion) - .addOnCompleteListener( - task -> { - if (task.isSuccessful()) { - final AuthResult authResult = task.getResult(); - result.success(PigeonParser.parseAuthResult(authResult)); - } else { - result.error( - FlutterFirebaseAuthPluginException.parserExceptionToFlutter( - task.getException())); - } - }); - } -} diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/android/src/main/java/io/flutter/plugins/firebase/auth/FlutterFirebaseTotpMultiFactor.java b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/android/src/main/java/io/flutter/plugins/firebase/auth/FlutterFirebaseTotpMultiFactor.java deleted file mode 100644 index 9761a5df..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/android/src/main/java/io/flutter/plugins/firebase/auth/FlutterFirebaseTotpMultiFactor.java +++ /dev/null @@ -1,82 +0,0 @@ -/* - * Copyright 2023, the Chromium project authors. Please see the AUTHORS file - * for details. All rights reserved. Use of this source code is governed by a - * BSD-style license that can be found in the LICENSE file. - */ - -package io.flutter.plugins.firebase.auth; - -import androidx.annotation.NonNull; -import com.google.firebase.auth.MultiFactorSession; -import com.google.firebase.auth.TotpMultiFactorAssertion; -import com.google.firebase.auth.TotpMultiFactorGenerator; -import com.google.firebase.auth.TotpSecret; -import java.util.HashMap; -import java.util.Map; -import java.util.UUID; - -public class FlutterFirebaseTotpMultiFactor - implements GeneratedAndroidFirebaseAuth.MultiFactorTotpHostApi { - - // Map an app id to a map of user id to a TotpSecret object. - static final Map multiFactorSecret = new HashMap<>(); - - @Override - public void generateSecret( - @NonNull String sessionId, - @NonNull - GeneratedAndroidFirebaseAuth.Result - result) { - MultiFactorSession multiFactorSession = - FlutterFirebaseMultiFactor.multiFactorSessionMap.get(sessionId); - - assert multiFactorSession != null; - TotpMultiFactorGenerator.generateSecret(multiFactorSession) - .addOnCompleteListener( - task -> { - if (task.isSuccessful()) { - TotpSecret secret = task.getResult(); - multiFactorSecret.put(secret.getSharedSecretKey(), secret); - result.success( - new GeneratedAndroidFirebaseAuth.InternalTotpSecret.Builder() - .setCodeIntervalSeconds((long) secret.getCodeIntervalSeconds()) - .setCodeLength((long) secret.getCodeLength()) - .setSecretKey(secret.getSharedSecretKey()) - .setHashingAlgorithm(secret.getHashAlgorithm()) - .setEnrollmentCompletionDeadline(secret.getEnrollmentCompletionDeadline()) - .build()); - } else { - result.error( - FlutterFirebaseAuthPluginException.parserExceptionToFlutter( - task.getException())); - } - }); - } - - @Override - public void getAssertionForEnrollment( - @NonNull String secretKey, - @NonNull String oneTimePassword, - @NonNull GeneratedAndroidFirebaseAuth.Result result) { - final TotpSecret secret = multiFactorSecret.get(secretKey); - - assert secret != null; - TotpMultiFactorAssertion assertion = - TotpMultiFactorGenerator.getAssertionForEnrollment(secret, oneTimePassword); - String assertionId = UUID.randomUUID().toString(); - FlutterFirebaseMultiFactor.multiFactorAssertionMap.put(assertionId, assertion); - result.success(assertionId); - } - - @Override - public void getAssertionForSignIn( - @NonNull String enrollmentId, - @NonNull String oneTimePassword, - @NonNull GeneratedAndroidFirebaseAuth.Result result) { - TotpMultiFactorAssertion assertion = - TotpMultiFactorGenerator.getAssertionForSignIn(enrollmentId, oneTimePassword); - String assertionId = UUID.randomUUID().toString(); - FlutterFirebaseMultiFactor.multiFactorAssertionMap.put(assertionId, assertion); - result.success(assertionId); - } -} diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/android/src/main/java/io/flutter/plugins/firebase/auth/FlutterFirebaseTotpSecret.java b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/android/src/main/java/io/flutter/plugins/firebase/auth/FlutterFirebaseTotpSecret.java deleted file mode 100644 index 5b32f828..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/android/src/main/java/io/flutter/plugins/firebase/auth/FlutterFirebaseTotpSecret.java +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Copyright 2023, the Chromium project authors. Please see the AUTHORS file - * for details. All rights reserved. Use of this source code is governed by a - * BSD-style license that can be found in the LICENSE file. - */ - -package io.flutter.plugins.firebase.auth; - -import androidx.annotation.NonNull; -import androidx.annotation.Nullable; -import com.google.firebase.auth.TotpSecret; - -public class FlutterFirebaseTotpSecret - implements GeneratedAndroidFirebaseAuth.MultiFactorTotpSecretHostApi { - - @Override - public void generateQrCodeUrl( - @NonNull String secretKey, - @Nullable String accountName, - @Nullable String issuer, - @NonNull GeneratedAndroidFirebaseAuth.Result result) { - final TotpSecret secret = FlutterFirebaseTotpMultiFactor.multiFactorSecret.get(secretKey); - - assert secret != null; - if (accountName == null || issuer == null) { - result.success(secret.generateQrCodeUrl()); - return; - } - result.success(secret.generateQrCodeUrl(accountName, issuer)); - } - - @Override - public void openInOtpApp( - @NonNull String secretKey, - @NonNull String qrCodeUrl, - @NonNull GeneratedAndroidFirebaseAuth.VoidResult result) { - final TotpSecret secret = FlutterFirebaseTotpMultiFactor.multiFactorSecret.get(secretKey); - assert secret != null; - secret.openInOtpApp(qrCodeUrl); - result.success(); - } -} diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/android/src/main/java/io/flutter/plugins/firebase/auth/GeneratedAndroidFirebaseAuth.java b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/android/src/main/java/io/flutter/plugins/firebase/auth/GeneratedAndroidFirebaseAuth.java deleted file mode 100644 index 5aaa168b..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/android/src/main/java/io/flutter/plugins/firebase/auth/GeneratedAndroidFirebaseAuth.java +++ /dev/null @@ -1,5308 +0,0 @@ -// Copyright 2023, the Chromium project authors. Please see the AUTHORS file -// for details. All rights reserved. Use of this source code is governed by a -// BSD-style license that can be found in the LICENSE file. -// Autogenerated from Pigeon (v26.3.4), do not edit directly. -// See also: https://pub.dev/packages/pigeon - -package io.flutter.plugins.firebase.auth; - -import static java.lang.annotation.ElementType.METHOD; -import static java.lang.annotation.RetentionPolicy.CLASS; - -import android.util.Log; -import androidx.annotation.NonNull; -import androidx.annotation.Nullable; -import io.flutter.plugin.common.BasicMessageChannel; -import io.flutter.plugin.common.BinaryMessenger; -import io.flutter.plugin.common.MessageCodec; -import io.flutter.plugin.common.StandardMessageCodec; -import java.io.ByteArrayOutputStream; -import java.lang.annotation.Retention; -import java.lang.annotation.Target; -import java.nio.ByteBuffer; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; -import java.util.Map; - -/** Generated class from Pigeon. */ -@SuppressWarnings({"unused", "unchecked", "CodeBlock2Expr", "RedundantSuppression", "serial"}) -public class GeneratedAndroidFirebaseAuth { - static boolean pigeonDoubleEquals(double a, double b) { - // Normalize -0.0 to 0.0 and handle NaN equality. - return (a == 0.0 ? 0.0 : a) == (b == 0.0 ? 0.0 : b) || (Double.isNaN(a) && Double.isNaN(b)); - } - - static boolean pigeonFloatEquals(float a, float b) { - // Normalize -0.0 to 0.0 and handle NaN equality. - return (a == 0.0f ? 0.0f : a) == (b == 0.0f ? 0.0f : b) || (Float.isNaN(a) && Float.isNaN(b)); - } - - static int pigeonDoubleHashCode(double d) { - // Normalize -0.0 to 0.0 and handle NaN to ensure consistent hash codes. - if (d == 0.0) { - d = 0.0; - } - long bits = Double.doubleToLongBits(d); - return (int) (bits ^ (bits >>> 32)); - } - - static int pigeonFloatHashCode(float f) { - // Normalize -0.0 to 0.0 and handle NaN to ensure consistent hash codes. - if (f == 0.0f) { - f = 0.0f; - } - return Float.floatToIntBits(f); - } - - static boolean pigeonDeepEquals(Object a, Object b) { - if (a == b) { - return true; - } - if (a == null || b == null) { - return false; - } - if (a instanceof byte[] && b instanceof byte[]) { - return Arrays.equals((byte[]) a, (byte[]) b); - } - if (a instanceof int[] && b instanceof int[]) { - return Arrays.equals((int[]) a, (int[]) b); - } - if (a instanceof long[] && b instanceof long[]) { - return Arrays.equals((long[]) a, (long[]) b); - } - if (a instanceof double[] && b instanceof double[]) { - double[] da = (double[]) a; - double[] db = (double[]) b; - if (da.length != db.length) { - return false; - } - for (int i = 0; i < da.length; i++) { - if (!pigeonDoubleEquals(da[i], db[i])) { - return false; - } - } - return true; - } - if (a instanceof List && b instanceof List) { - List listA = (List) a; - List listB = (List) b; - if (listA.size() != listB.size()) { - return false; - } - for (int i = 0; i < listA.size(); i++) { - if (!pigeonDeepEquals(listA.get(i), listB.get(i))) { - return false; - } - } - return true; - } - if (a instanceof Map && b instanceof Map) { - Map mapA = (Map) a; - Map mapB = (Map) b; - if (mapA.size() != mapB.size()) { - return false; - } - for (Map.Entry entryA : mapA.entrySet()) { - Object keyA = entryA.getKey(); - Object valueA = entryA.getValue(); - boolean found = false; - for (Map.Entry entryB : mapB.entrySet()) { - Object keyB = entryB.getKey(); - if (pigeonDeepEquals(keyA, keyB)) { - Object valueB = entryB.getValue(); - if (pigeonDeepEquals(valueA, valueB)) { - found = true; - break; - } else { - return false; - } - } - } - if (!found) { - return false; - } - } - return true; - } - if (a instanceof Double && b instanceof Double) { - return pigeonDoubleEquals((double) a, (double) b); - } - if (a instanceof Float && b instanceof Float) { - return pigeonFloatEquals((float) a, (float) b); - } - return a.equals(b); - } - - static int pigeonDeepHashCode(Object value) { - if (value == null) { - return 0; - } - if (value instanceof byte[]) { - return Arrays.hashCode((byte[]) value); - } - if (value instanceof int[]) { - return Arrays.hashCode((int[]) value); - } - if (value instanceof long[]) { - return Arrays.hashCode((long[]) value); - } - if (value instanceof double[]) { - double[] da = (double[]) value; - int result = 1; - for (double d : da) { - result = 31 * result + pigeonDoubleHashCode(d); - } - return result; - } - if (value instanceof List) { - int result = 1; - for (Object item : (List) value) { - result = 31 * result + pigeonDeepHashCode(item); - } - return result; - } - if (value instanceof Map) { - int result = 0; - for (Map.Entry entry : ((Map) value).entrySet()) { - result += - ((pigeonDeepHashCode(entry.getKey()) * 31) ^ pigeonDeepHashCode(entry.getValue())); - } - return result; - } - if (value instanceof Object[]) { - int result = 1; - for (Object item : (Object[]) value) { - result = 31 * result + pigeonDeepHashCode(item); - } - return result; - } - if (value instanceof Double) { - return pigeonDoubleHashCode((double) value); - } - if (value instanceof Float) { - return pigeonFloatHashCode((float) value); - } - return value.hashCode(); - } - - /** Error class for passing custom error details to Flutter via a thrown PlatformException. */ - public static class FlutterError extends RuntimeException { - - /** The error code. */ - public final String code; - - /** The error details. Must be a datatype supported by the api codec. */ - public final Object details; - - public FlutterError(@NonNull String code, @Nullable String message, @Nullable Object details) { - super(message); - this.code = code; - this.details = details; - } - } - - @NonNull - protected static ArrayList wrapError(@NonNull Throwable exception) { - ArrayList errorList = new ArrayList<>(3); - if (exception instanceof FlutterError) { - FlutterError error = (FlutterError) exception; - errorList.add(error.code); - errorList.add(error.getMessage()); - errorList.add(error.details); - } else { - errorList.add(exception.toString()); - errorList.add(exception.getClass().getSimpleName()); - errorList.add( - "Cause: " + exception.getCause() + ", Stacktrace: " + Log.getStackTraceString(exception)); - } - return errorList; - } - - @Target(METHOD) - @Retention(CLASS) - @interface CanIgnoreReturnValue {} - - /** The type of operation that generated the action code from calling [checkActionCode]. */ - public enum ActionCodeInfoOperation { - /** Unknown operation. */ - UNKNOWN(0), - /** Password reset code generated via [sendPasswordResetEmail]. */ - PASSWORD_RESET(1), - /** Email verification code generated via [User.sendEmailVerification]. */ - VERIFY_EMAIL(2), - /** Email change revocation code generated via [User.updateEmail]. */ - RECOVER_EMAIL(3), - /** Email sign in code generated via [sendSignInLinkToEmail]. */ - EMAIL_SIGN_IN(4), - /** Verify and change email code generated via [User.verifyBeforeUpdateEmail]. */ - VERIFY_AND_CHANGE_EMAIL(5), - /** Action code for reverting second factor addition. */ - REVERT_SECOND_FACTOR_ADDITION(6); - - final int index; - - ActionCodeInfoOperation(final int index) { - this.index = index; - } - } - - /** Generated class from Pigeon that represents data sent in messages. */ - public static final class InternalMultiFactorSession { - private @NonNull String id; - - public @NonNull String getId() { - return id; - } - - public void setId(@NonNull String setterArg) { - if (setterArg == null) { - throw new IllegalStateException("Nonnull field \"id\" is null."); - } - this.id = setterArg; - } - - /** Constructor is non-public to enforce null safety; use Builder. */ - InternalMultiFactorSession() {} - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - InternalMultiFactorSession that = (InternalMultiFactorSession) o; - return pigeonDeepEquals(id, that.id); - } - - @Override - public int hashCode() { - Object[] fields = new Object[] {getClass(), id}; - return pigeonDeepHashCode(fields); - } - - public static final class Builder { - - private @Nullable String id; - - @CanIgnoreReturnValue - public @NonNull Builder setId(@NonNull String setterArg) { - this.id = setterArg; - return this; - } - - public @NonNull InternalMultiFactorSession build() { - InternalMultiFactorSession pigeonReturn = new InternalMultiFactorSession(); - pigeonReturn.setId(id); - return pigeonReturn; - } - } - - @NonNull - public ArrayList toList() { - ArrayList toListResult = new ArrayList<>(1); - toListResult.add(id); - return toListResult; - } - - static @NonNull InternalMultiFactorSession fromList(@NonNull ArrayList pigeonVar_list) { - InternalMultiFactorSession pigeonResult = new InternalMultiFactorSession(); - Object id = pigeonVar_list.get(0); - pigeonResult.setId((String) id); - return pigeonResult; - } - } - - /** Generated class from Pigeon that represents data sent in messages. */ - public static final class InternalPhoneMultiFactorAssertion { - private @NonNull String verificationId; - - public @NonNull String getVerificationId() { - return verificationId; - } - - public void setVerificationId(@NonNull String setterArg) { - if (setterArg == null) { - throw new IllegalStateException("Nonnull field \"verificationId\" is null."); - } - this.verificationId = setterArg; - } - - private @NonNull String verificationCode; - - public @NonNull String getVerificationCode() { - return verificationCode; - } - - public void setVerificationCode(@NonNull String setterArg) { - if (setterArg == null) { - throw new IllegalStateException("Nonnull field \"verificationCode\" is null."); - } - this.verificationCode = setterArg; - } - - /** Constructor is non-public to enforce null safety; use Builder. */ - InternalPhoneMultiFactorAssertion() {} - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - InternalPhoneMultiFactorAssertion that = (InternalPhoneMultiFactorAssertion) o; - return pigeonDeepEquals(verificationId, that.verificationId) - && pigeonDeepEquals(verificationCode, that.verificationCode); - } - - @Override - public int hashCode() { - Object[] fields = new Object[] {getClass(), verificationId, verificationCode}; - return pigeonDeepHashCode(fields); - } - - public static final class Builder { - - private @Nullable String verificationId; - - @CanIgnoreReturnValue - public @NonNull Builder setVerificationId(@NonNull String setterArg) { - this.verificationId = setterArg; - return this; - } - - private @Nullable String verificationCode; - - @CanIgnoreReturnValue - public @NonNull Builder setVerificationCode(@NonNull String setterArg) { - this.verificationCode = setterArg; - return this; - } - - public @NonNull InternalPhoneMultiFactorAssertion build() { - InternalPhoneMultiFactorAssertion pigeonReturn = new InternalPhoneMultiFactorAssertion(); - pigeonReturn.setVerificationId(verificationId); - pigeonReturn.setVerificationCode(verificationCode); - return pigeonReturn; - } - } - - @NonNull - public ArrayList toList() { - ArrayList toListResult = new ArrayList<>(2); - toListResult.add(verificationId); - toListResult.add(verificationCode); - return toListResult; - } - - static @NonNull InternalPhoneMultiFactorAssertion fromList( - @NonNull ArrayList pigeonVar_list) { - InternalPhoneMultiFactorAssertion pigeonResult = new InternalPhoneMultiFactorAssertion(); - Object verificationId = pigeonVar_list.get(0); - pigeonResult.setVerificationId((String) verificationId); - Object verificationCode = pigeonVar_list.get(1); - pigeonResult.setVerificationCode((String) verificationCode); - return pigeonResult; - } - } - - /** Generated class from Pigeon that represents data sent in messages. */ - public static final class InternalMultiFactorInfo { - private @Nullable String displayName; - - public @Nullable String getDisplayName() { - return displayName; - } - - public void setDisplayName(@Nullable String setterArg) { - this.displayName = setterArg; - } - - private @NonNull Double enrollmentTimestamp; - - public @NonNull Double getEnrollmentTimestamp() { - return enrollmentTimestamp; - } - - public void setEnrollmentTimestamp(@NonNull Double setterArg) { - if (setterArg == null) { - throw new IllegalStateException("Nonnull field \"enrollmentTimestamp\" is null."); - } - this.enrollmentTimestamp = setterArg; - } - - private @Nullable String factorId; - - public @Nullable String getFactorId() { - return factorId; - } - - public void setFactorId(@Nullable String setterArg) { - this.factorId = setterArg; - } - - private @NonNull String uid; - - public @NonNull String getUid() { - return uid; - } - - public void setUid(@NonNull String setterArg) { - if (setterArg == null) { - throw new IllegalStateException("Nonnull field \"uid\" is null."); - } - this.uid = setterArg; - } - - private @Nullable String phoneNumber; - - public @Nullable String getPhoneNumber() { - return phoneNumber; - } - - public void setPhoneNumber(@Nullable String setterArg) { - this.phoneNumber = setterArg; - } - - /** Constructor is non-public to enforce null safety; use Builder. */ - InternalMultiFactorInfo() {} - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - InternalMultiFactorInfo that = (InternalMultiFactorInfo) o; - return pigeonDeepEquals(displayName, that.displayName) - && pigeonDeepEquals(enrollmentTimestamp, that.enrollmentTimestamp) - && pigeonDeepEquals(factorId, that.factorId) - && pigeonDeepEquals(uid, that.uid) - && pigeonDeepEquals(phoneNumber, that.phoneNumber); - } - - @Override - public int hashCode() { - Object[] fields = - new Object[] {getClass(), displayName, enrollmentTimestamp, factorId, uid, phoneNumber}; - return pigeonDeepHashCode(fields); - } - - public static final class Builder { - - private @Nullable String displayName; - - @CanIgnoreReturnValue - public @NonNull Builder setDisplayName(@Nullable String setterArg) { - this.displayName = setterArg; - return this; - } - - private @Nullable Double enrollmentTimestamp; - - @CanIgnoreReturnValue - public @NonNull Builder setEnrollmentTimestamp(@NonNull Double setterArg) { - this.enrollmentTimestamp = setterArg; - return this; - } - - private @Nullable String factorId; - - @CanIgnoreReturnValue - public @NonNull Builder setFactorId(@Nullable String setterArg) { - this.factorId = setterArg; - return this; - } - - private @Nullable String uid; - - @CanIgnoreReturnValue - public @NonNull Builder setUid(@NonNull String setterArg) { - this.uid = setterArg; - return this; - } - - private @Nullable String phoneNumber; - - @CanIgnoreReturnValue - public @NonNull Builder setPhoneNumber(@Nullable String setterArg) { - this.phoneNumber = setterArg; - return this; - } - - public @NonNull InternalMultiFactorInfo build() { - InternalMultiFactorInfo pigeonReturn = new InternalMultiFactorInfo(); - pigeonReturn.setDisplayName(displayName); - pigeonReturn.setEnrollmentTimestamp(enrollmentTimestamp); - pigeonReturn.setFactorId(factorId); - pigeonReturn.setUid(uid); - pigeonReturn.setPhoneNumber(phoneNumber); - return pigeonReturn; - } - } - - @NonNull - public ArrayList toList() { - ArrayList toListResult = new ArrayList<>(5); - toListResult.add(displayName); - toListResult.add(enrollmentTimestamp); - toListResult.add(factorId); - toListResult.add(uid); - toListResult.add(phoneNumber); - return toListResult; - } - - static @NonNull InternalMultiFactorInfo fromList(@NonNull ArrayList pigeonVar_list) { - InternalMultiFactorInfo pigeonResult = new InternalMultiFactorInfo(); - Object displayName = pigeonVar_list.get(0); - pigeonResult.setDisplayName((String) displayName); - Object enrollmentTimestamp = pigeonVar_list.get(1); - pigeonResult.setEnrollmentTimestamp((Double) enrollmentTimestamp); - Object factorId = pigeonVar_list.get(2); - pigeonResult.setFactorId((String) factorId); - Object uid = pigeonVar_list.get(3); - pigeonResult.setUid((String) uid); - Object phoneNumber = pigeonVar_list.get(4); - pigeonResult.setPhoneNumber((String) phoneNumber); - return pigeonResult; - } - } - - /** Generated class from Pigeon that represents data sent in messages. */ - public static final class AuthPigeonFirebaseApp { - private @NonNull String appName; - - public @NonNull String getAppName() { - return appName; - } - - public void setAppName(@NonNull String setterArg) { - if (setterArg == null) { - throw new IllegalStateException("Nonnull field \"appName\" is null."); - } - this.appName = setterArg; - } - - private @Nullable String tenantId; - - public @Nullable String getTenantId() { - return tenantId; - } - - public void setTenantId(@Nullable String setterArg) { - this.tenantId = setterArg; - } - - private @Nullable String customAuthDomain; - - public @Nullable String getCustomAuthDomain() { - return customAuthDomain; - } - - public void setCustomAuthDomain(@Nullable String setterArg) { - this.customAuthDomain = setterArg; - } - - /** Constructor is non-public to enforce null safety; use Builder. */ - AuthPigeonFirebaseApp() {} - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - AuthPigeonFirebaseApp that = (AuthPigeonFirebaseApp) o; - return pigeonDeepEquals(appName, that.appName) - && pigeonDeepEquals(tenantId, that.tenantId) - && pigeonDeepEquals(customAuthDomain, that.customAuthDomain); - } - - @Override - public int hashCode() { - Object[] fields = new Object[] {getClass(), appName, tenantId, customAuthDomain}; - return pigeonDeepHashCode(fields); - } - - public static final class Builder { - - private @Nullable String appName; - - @CanIgnoreReturnValue - public @NonNull Builder setAppName(@NonNull String setterArg) { - this.appName = setterArg; - return this; - } - - private @Nullable String tenantId; - - @CanIgnoreReturnValue - public @NonNull Builder setTenantId(@Nullable String setterArg) { - this.tenantId = setterArg; - return this; - } - - private @Nullable String customAuthDomain; - - @CanIgnoreReturnValue - public @NonNull Builder setCustomAuthDomain(@Nullable String setterArg) { - this.customAuthDomain = setterArg; - return this; - } - - public @NonNull AuthPigeonFirebaseApp build() { - AuthPigeonFirebaseApp pigeonReturn = new AuthPigeonFirebaseApp(); - pigeonReturn.setAppName(appName); - pigeonReturn.setTenantId(tenantId); - pigeonReturn.setCustomAuthDomain(customAuthDomain); - return pigeonReturn; - } - } - - @NonNull - public ArrayList toList() { - ArrayList toListResult = new ArrayList<>(3); - toListResult.add(appName); - toListResult.add(tenantId); - toListResult.add(customAuthDomain); - return toListResult; - } - - static @NonNull AuthPigeonFirebaseApp fromList(@NonNull ArrayList pigeonVar_list) { - AuthPigeonFirebaseApp pigeonResult = new AuthPigeonFirebaseApp(); - Object appName = pigeonVar_list.get(0); - pigeonResult.setAppName((String) appName); - Object tenantId = pigeonVar_list.get(1); - pigeonResult.setTenantId((String) tenantId); - Object customAuthDomain = pigeonVar_list.get(2); - pigeonResult.setCustomAuthDomain((String) customAuthDomain); - return pigeonResult; - } - } - - /** Generated class from Pigeon that represents data sent in messages. */ - public static final class InternalActionCodeInfoData { - private @Nullable String email; - - public @Nullable String getEmail() { - return email; - } - - public void setEmail(@Nullable String setterArg) { - this.email = setterArg; - } - - private @Nullable String previousEmail; - - public @Nullable String getPreviousEmail() { - return previousEmail; - } - - public void setPreviousEmail(@Nullable String setterArg) { - this.previousEmail = setterArg; - } - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - InternalActionCodeInfoData that = (InternalActionCodeInfoData) o; - return pigeonDeepEquals(email, that.email) - && pigeonDeepEquals(previousEmail, that.previousEmail); - } - - @Override - public int hashCode() { - Object[] fields = new Object[] {getClass(), email, previousEmail}; - return pigeonDeepHashCode(fields); - } - - public static final class Builder { - - private @Nullable String email; - - @CanIgnoreReturnValue - public @NonNull Builder setEmail(@Nullable String setterArg) { - this.email = setterArg; - return this; - } - - private @Nullable String previousEmail; - - @CanIgnoreReturnValue - public @NonNull Builder setPreviousEmail(@Nullable String setterArg) { - this.previousEmail = setterArg; - return this; - } - - public @NonNull InternalActionCodeInfoData build() { - InternalActionCodeInfoData pigeonReturn = new InternalActionCodeInfoData(); - pigeonReturn.setEmail(email); - pigeonReturn.setPreviousEmail(previousEmail); - return pigeonReturn; - } - } - - @NonNull - public ArrayList toList() { - ArrayList toListResult = new ArrayList<>(2); - toListResult.add(email); - toListResult.add(previousEmail); - return toListResult; - } - - static @NonNull InternalActionCodeInfoData fromList(@NonNull ArrayList pigeonVar_list) { - InternalActionCodeInfoData pigeonResult = new InternalActionCodeInfoData(); - Object email = pigeonVar_list.get(0); - pigeonResult.setEmail((String) email); - Object previousEmail = pigeonVar_list.get(1); - pigeonResult.setPreviousEmail((String) previousEmail); - return pigeonResult; - } - } - - /** Generated class from Pigeon that represents data sent in messages. */ - public static final class InternalActionCodeInfo { - private @NonNull ActionCodeInfoOperation operation; - - public @NonNull ActionCodeInfoOperation getOperation() { - return operation; - } - - public void setOperation(@NonNull ActionCodeInfoOperation setterArg) { - if (setterArg == null) { - throw new IllegalStateException("Nonnull field \"operation\" is null."); - } - this.operation = setterArg; - } - - private @NonNull InternalActionCodeInfoData data; - - public @NonNull InternalActionCodeInfoData getData() { - return data; - } - - public void setData(@NonNull InternalActionCodeInfoData setterArg) { - if (setterArg == null) { - throw new IllegalStateException("Nonnull field \"data\" is null."); - } - this.data = setterArg; - } - - /** Constructor is non-public to enforce null safety; use Builder. */ - InternalActionCodeInfo() {} - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - InternalActionCodeInfo that = (InternalActionCodeInfo) o; - return pigeonDeepEquals(operation, that.operation) && pigeonDeepEquals(data, that.data); - } - - @Override - public int hashCode() { - Object[] fields = new Object[] {getClass(), operation, data}; - return pigeonDeepHashCode(fields); - } - - public static final class Builder { - - private @Nullable ActionCodeInfoOperation operation; - - @CanIgnoreReturnValue - public @NonNull Builder setOperation(@NonNull ActionCodeInfoOperation setterArg) { - this.operation = setterArg; - return this; - } - - private @Nullable InternalActionCodeInfoData data; - - @CanIgnoreReturnValue - public @NonNull Builder setData(@NonNull InternalActionCodeInfoData setterArg) { - this.data = setterArg; - return this; - } - - public @NonNull InternalActionCodeInfo build() { - InternalActionCodeInfo pigeonReturn = new InternalActionCodeInfo(); - pigeonReturn.setOperation(operation); - pigeonReturn.setData(data); - return pigeonReturn; - } - } - - @NonNull - public ArrayList toList() { - ArrayList toListResult = new ArrayList<>(2); - toListResult.add(operation); - toListResult.add(data); - return toListResult; - } - - static @NonNull InternalActionCodeInfo fromList(@NonNull ArrayList pigeonVar_list) { - InternalActionCodeInfo pigeonResult = new InternalActionCodeInfo(); - Object operation = pigeonVar_list.get(0); - pigeonResult.setOperation((ActionCodeInfoOperation) operation); - Object data = pigeonVar_list.get(1); - pigeonResult.setData((InternalActionCodeInfoData) data); - return pigeonResult; - } - } - - /** Generated class from Pigeon that represents data sent in messages. */ - public static final class InternalAdditionalUserInfo { - private @NonNull Boolean isNewUser; - - public @NonNull Boolean getIsNewUser() { - return isNewUser; - } - - public void setIsNewUser(@NonNull Boolean setterArg) { - if (setterArg == null) { - throw new IllegalStateException("Nonnull field \"isNewUser\" is null."); - } - this.isNewUser = setterArg; - } - - private @Nullable String providerId; - - public @Nullable String getProviderId() { - return providerId; - } - - public void setProviderId(@Nullable String setterArg) { - this.providerId = setterArg; - } - - private @Nullable String username; - - public @Nullable String getUsername() { - return username; - } - - public void setUsername(@Nullable String setterArg) { - this.username = setterArg; - } - - private @Nullable String authorizationCode; - - public @Nullable String getAuthorizationCode() { - return authorizationCode; - } - - public void setAuthorizationCode(@Nullable String setterArg) { - this.authorizationCode = setterArg; - } - - private @Nullable Map profile; - - public @Nullable Map getProfile() { - return profile; - } - - public void setProfile(@Nullable Map setterArg) { - this.profile = setterArg; - } - - /** Constructor is non-public to enforce null safety; use Builder. */ - InternalAdditionalUserInfo() {} - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - InternalAdditionalUserInfo that = (InternalAdditionalUserInfo) o; - return pigeonDeepEquals(isNewUser, that.isNewUser) - && pigeonDeepEquals(providerId, that.providerId) - && pigeonDeepEquals(username, that.username) - && pigeonDeepEquals(authorizationCode, that.authorizationCode) - && pigeonDeepEquals(profile, that.profile); - } - - @Override - public int hashCode() { - Object[] fields = - new Object[] {getClass(), isNewUser, providerId, username, authorizationCode, profile}; - return pigeonDeepHashCode(fields); - } - - public static final class Builder { - - private @Nullable Boolean isNewUser; - - @CanIgnoreReturnValue - public @NonNull Builder setIsNewUser(@NonNull Boolean setterArg) { - this.isNewUser = setterArg; - return this; - } - - private @Nullable String providerId; - - @CanIgnoreReturnValue - public @NonNull Builder setProviderId(@Nullable String setterArg) { - this.providerId = setterArg; - return this; - } - - private @Nullable String username; - - @CanIgnoreReturnValue - public @NonNull Builder setUsername(@Nullable String setterArg) { - this.username = setterArg; - return this; - } - - private @Nullable String authorizationCode; - - @CanIgnoreReturnValue - public @NonNull Builder setAuthorizationCode(@Nullable String setterArg) { - this.authorizationCode = setterArg; - return this; - } - - private @Nullable Map profile; - - @CanIgnoreReturnValue - public @NonNull Builder setProfile(@Nullable Map setterArg) { - this.profile = setterArg; - return this; - } - - public @NonNull InternalAdditionalUserInfo build() { - InternalAdditionalUserInfo pigeonReturn = new InternalAdditionalUserInfo(); - pigeonReturn.setIsNewUser(isNewUser); - pigeonReturn.setProviderId(providerId); - pigeonReturn.setUsername(username); - pigeonReturn.setAuthorizationCode(authorizationCode); - pigeonReturn.setProfile(profile); - return pigeonReturn; - } - } - - @NonNull - public ArrayList toList() { - ArrayList toListResult = new ArrayList<>(5); - toListResult.add(isNewUser); - toListResult.add(providerId); - toListResult.add(username); - toListResult.add(authorizationCode); - toListResult.add(profile); - return toListResult; - } - - static @NonNull InternalAdditionalUserInfo fromList(@NonNull ArrayList pigeonVar_list) { - InternalAdditionalUserInfo pigeonResult = new InternalAdditionalUserInfo(); - Object isNewUser = pigeonVar_list.get(0); - pigeonResult.setIsNewUser((Boolean) isNewUser); - Object providerId = pigeonVar_list.get(1); - pigeonResult.setProviderId((String) providerId); - Object username = pigeonVar_list.get(2); - pigeonResult.setUsername((String) username); - Object authorizationCode = pigeonVar_list.get(3); - pigeonResult.setAuthorizationCode((String) authorizationCode); - Object profile = pigeonVar_list.get(4); - pigeonResult.setProfile((Map) profile); - return pigeonResult; - } - } - - /** Generated class from Pigeon that represents data sent in messages. */ - public static final class InternalAuthCredential { - private @NonNull String providerId; - - public @NonNull String getProviderId() { - return providerId; - } - - public void setProviderId(@NonNull String setterArg) { - if (setterArg == null) { - throw new IllegalStateException("Nonnull field \"providerId\" is null."); - } - this.providerId = setterArg; - } - - private @NonNull String signInMethod; - - public @NonNull String getSignInMethod() { - return signInMethod; - } - - public void setSignInMethod(@NonNull String setterArg) { - if (setterArg == null) { - throw new IllegalStateException("Nonnull field \"signInMethod\" is null."); - } - this.signInMethod = setterArg; - } - - private @NonNull Long nativeId; - - public @NonNull Long getNativeId() { - return nativeId; - } - - public void setNativeId(@NonNull Long setterArg) { - if (setterArg == null) { - throw new IllegalStateException("Nonnull field \"nativeId\" is null."); - } - this.nativeId = setterArg; - } - - private @Nullable String accessToken; - - public @Nullable String getAccessToken() { - return accessToken; - } - - public void setAccessToken(@Nullable String setterArg) { - this.accessToken = setterArg; - } - - /** Constructor is non-public to enforce null safety; use Builder. */ - InternalAuthCredential() {} - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - InternalAuthCredential that = (InternalAuthCredential) o; - return pigeonDeepEquals(providerId, that.providerId) - && pigeonDeepEquals(signInMethod, that.signInMethod) - && pigeonDeepEquals(nativeId, that.nativeId) - && pigeonDeepEquals(accessToken, that.accessToken); - } - - @Override - public int hashCode() { - Object[] fields = new Object[] {getClass(), providerId, signInMethod, nativeId, accessToken}; - return pigeonDeepHashCode(fields); - } - - public static final class Builder { - - private @Nullable String providerId; - - @CanIgnoreReturnValue - public @NonNull Builder setProviderId(@NonNull String setterArg) { - this.providerId = setterArg; - return this; - } - - private @Nullable String signInMethod; - - @CanIgnoreReturnValue - public @NonNull Builder setSignInMethod(@NonNull String setterArg) { - this.signInMethod = setterArg; - return this; - } - - private @Nullable Long nativeId; - - @CanIgnoreReturnValue - public @NonNull Builder setNativeId(@NonNull Long setterArg) { - this.nativeId = setterArg; - return this; - } - - private @Nullable String accessToken; - - @CanIgnoreReturnValue - public @NonNull Builder setAccessToken(@Nullable String setterArg) { - this.accessToken = setterArg; - return this; - } - - public @NonNull InternalAuthCredential build() { - InternalAuthCredential pigeonReturn = new InternalAuthCredential(); - pigeonReturn.setProviderId(providerId); - pigeonReturn.setSignInMethod(signInMethod); - pigeonReturn.setNativeId(nativeId); - pigeonReturn.setAccessToken(accessToken); - return pigeonReturn; - } - } - - @NonNull - public ArrayList toList() { - ArrayList toListResult = new ArrayList<>(4); - toListResult.add(providerId); - toListResult.add(signInMethod); - toListResult.add(nativeId); - toListResult.add(accessToken); - return toListResult; - } - - static @NonNull InternalAuthCredential fromList(@NonNull ArrayList pigeonVar_list) { - InternalAuthCredential pigeonResult = new InternalAuthCredential(); - Object providerId = pigeonVar_list.get(0); - pigeonResult.setProviderId((String) providerId); - Object signInMethod = pigeonVar_list.get(1); - pigeonResult.setSignInMethod((String) signInMethod); - Object nativeId = pigeonVar_list.get(2); - pigeonResult.setNativeId((Long) nativeId); - Object accessToken = pigeonVar_list.get(3); - pigeonResult.setAccessToken((String) accessToken); - return pigeonResult; - } - } - - /** Generated class from Pigeon that represents data sent in messages. */ - public static final class InternalUserInfo { - private @NonNull String uid; - - public @NonNull String getUid() { - return uid; - } - - public void setUid(@NonNull String setterArg) { - if (setterArg == null) { - throw new IllegalStateException("Nonnull field \"uid\" is null."); - } - this.uid = setterArg; - } - - private @Nullable String email; - - public @Nullable String getEmail() { - return email; - } - - public void setEmail(@Nullable String setterArg) { - this.email = setterArg; - } - - private @Nullable String displayName; - - public @Nullable String getDisplayName() { - return displayName; - } - - public void setDisplayName(@Nullable String setterArg) { - this.displayName = setterArg; - } - - private @Nullable String photoUrl; - - public @Nullable String getPhotoUrl() { - return photoUrl; - } - - public void setPhotoUrl(@Nullable String setterArg) { - this.photoUrl = setterArg; - } - - private @Nullable String phoneNumber; - - public @Nullable String getPhoneNumber() { - return phoneNumber; - } - - public void setPhoneNumber(@Nullable String setterArg) { - this.phoneNumber = setterArg; - } - - private @NonNull Boolean isAnonymous; - - public @NonNull Boolean getIsAnonymous() { - return isAnonymous; - } - - public void setIsAnonymous(@NonNull Boolean setterArg) { - if (setterArg == null) { - throw new IllegalStateException("Nonnull field \"isAnonymous\" is null."); - } - this.isAnonymous = setterArg; - } - - private @NonNull Boolean isEmailVerified; - - public @NonNull Boolean getIsEmailVerified() { - return isEmailVerified; - } - - public void setIsEmailVerified(@NonNull Boolean setterArg) { - if (setterArg == null) { - throw new IllegalStateException("Nonnull field \"isEmailVerified\" is null."); - } - this.isEmailVerified = setterArg; - } - - private @Nullable String providerId; - - public @Nullable String getProviderId() { - return providerId; - } - - public void setProviderId(@Nullable String setterArg) { - this.providerId = setterArg; - } - - private @Nullable String tenantId; - - public @Nullable String getTenantId() { - return tenantId; - } - - public void setTenantId(@Nullable String setterArg) { - this.tenantId = setterArg; - } - - private @Nullable String refreshToken; - - public @Nullable String getRefreshToken() { - return refreshToken; - } - - public void setRefreshToken(@Nullable String setterArg) { - this.refreshToken = setterArg; - } - - private @Nullable Long creationTimestamp; - - public @Nullable Long getCreationTimestamp() { - return creationTimestamp; - } - - public void setCreationTimestamp(@Nullable Long setterArg) { - this.creationTimestamp = setterArg; - } - - private @Nullable Long lastSignInTimestamp; - - public @Nullable Long getLastSignInTimestamp() { - return lastSignInTimestamp; - } - - public void setLastSignInTimestamp(@Nullable Long setterArg) { - this.lastSignInTimestamp = setterArg; - } - - /** Constructor is non-public to enforce null safety; use Builder. */ - InternalUserInfo() {} - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - InternalUserInfo that = (InternalUserInfo) o; - return pigeonDeepEquals(uid, that.uid) - && pigeonDeepEquals(email, that.email) - && pigeonDeepEquals(displayName, that.displayName) - && pigeonDeepEquals(photoUrl, that.photoUrl) - && pigeonDeepEquals(phoneNumber, that.phoneNumber) - && pigeonDeepEquals(isAnonymous, that.isAnonymous) - && pigeonDeepEquals(isEmailVerified, that.isEmailVerified) - && pigeonDeepEquals(providerId, that.providerId) - && pigeonDeepEquals(tenantId, that.tenantId) - && pigeonDeepEquals(refreshToken, that.refreshToken) - && pigeonDeepEquals(creationTimestamp, that.creationTimestamp) - && pigeonDeepEquals(lastSignInTimestamp, that.lastSignInTimestamp); - } - - @Override - public int hashCode() { - Object[] fields = - new Object[] { - getClass(), - uid, - email, - displayName, - photoUrl, - phoneNumber, - isAnonymous, - isEmailVerified, - providerId, - tenantId, - refreshToken, - creationTimestamp, - lastSignInTimestamp - }; - return pigeonDeepHashCode(fields); - } - - public static final class Builder { - - private @Nullable String uid; - - @CanIgnoreReturnValue - public @NonNull Builder setUid(@NonNull String setterArg) { - this.uid = setterArg; - return this; - } - - private @Nullable String email; - - @CanIgnoreReturnValue - public @NonNull Builder setEmail(@Nullable String setterArg) { - this.email = setterArg; - return this; - } - - private @Nullable String displayName; - - @CanIgnoreReturnValue - public @NonNull Builder setDisplayName(@Nullable String setterArg) { - this.displayName = setterArg; - return this; - } - - private @Nullable String photoUrl; - - @CanIgnoreReturnValue - public @NonNull Builder setPhotoUrl(@Nullable String setterArg) { - this.photoUrl = setterArg; - return this; - } - - private @Nullable String phoneNumber; - - @CanIgnoreReturnValue - public @NonNull Builder setPhoneNumber(@Nullable String setterArg) { - this.phoneNumber = setterArg; - return this; - } - - private @Nullable Boolean isAnonymous; - - @CanIgnoreReturnValue - public @NonNull Builder setIsAnonymous(@NonNull Boolean setterArg) { - this.isAnonymous = setterArg; - return this; - } - - private @Nullable Boolean isEmailVerified; - - @CanIgnoreReturnValue - public @NonNull Builder setIsEmailVerified(@NonNull Boolean setterArg) { - this.isEmailVerified = setterArg; - return this; - } - - private @Nullable String providerId; - - @CanIgnoreReturnValue - public @NonNull Builder setProviderId(@Nullable String setterArg) { - this.providerId = setterArg; - return this; - } - - private @Nullable String tenantId; - - @CanIgnoreReturnValue - public @NonNull Builder setTenantId(@Nullable String setterArg) { - this.tenantId = setterArg; - return this; - } - - private @Nullable String refreshToken; - - @CanIgnoreReturnValue - public @NonNull Builder setRefreshToken(@Nullable String setterArg) { - this.refreshToken = setterArg; - return this; - } - - private @Nullable Long creationTimestamp; - - @CanIgnoreReturnValue - public @NonNull Builder setCreationTimestamp(@Nullable Long setterArg) { - this.creationTimestamp = setterArg; - return this; - } - - private @Nullable Long lastSignInTimestamp; - - @CanIgnoreReturnValue - public @NonNull Builder setLastSignInTimestamp(@Nullable Long setterArg) { - this.lastSignInTimestamp = setterArg; - return this; - } - - public @NonNull InternalUserInfo build() { - InternalUserInfo pigeonReturn = new InternalUserInfo(); - pigeonReturn.setUid(uid); - pigeonReturn.setEmail(email); - pigeonReturn.setDisplayName(displayName); - pigeonReturn.setPhotoUrl(photoUrl); - pigeonReturn.setPhoneNumber(phoneNumber); - pigeonReturn.setIsAnonymous(isAnonymous); - pigeonReturn.setIsEmailVerified(isEmailVerified); - pigeonReturn.setProviderId(providerId); - pigeonReturn.setTenantId(tenantId); - pigeonReturn.setRefreshToken(refreshToken); - pigeonReturn.setCreationTimestamp(creationTimestamp); - pigeonReturn.setLastSignInTimestamp(lastSignInTimestamp); - return pigeonReturn; - } - } - - @NonNull - public ArrayList toList() { - ArrayList toListResult = new ArrayList<>(12); - toListResult.add(uid); - toListResult.add(email); - toListResult.add(displayName); - toListResult.add(photoUrl); - toListResult.add(phoneNumber); - toListResult.add(isAnonymous); - toListResult.add(isEmailVerified); - toListResult.add(providerId); - toListResult.add(tenantId); - toListResult.add(refreshToken); - toListResult.add(creationTimestamp); - toListResult.add(lastSignInTimestamp); - return toListResult; - } - - static @NonNull InternalUserInfo fromList(@NonNull ArrayList pigeonVar_list) { - InternalUserInfo pigeonResult = new InternalUserInfo(); - Object uid = pigeonVar_list.get(0); - pigeonResult.setUid((String) uid); - Object email = pigeonVar_list.get(1); - pigeonResult.setEmail((String) email); - Object displayName = pigeonVar_list.get(2); - pigeonResult.setDisplayName((String) displayName); - Object photoUrl = pigeonVar_list.get(3); - pigeonResult.setPhotoUrl((String) photoUrl); - Object phoneNumber = pigeonVar_list.get(4); - pigeonResult.setPhoneNumber((String) phoneNumber); - Object isAnonymous = pigeonVar_list.get(5); - pigeonResult.setIsAnonymous((Boolean) isAnonymous); - Object isEmailVerified = pigeonVar_list.get(6); - pigeonResult.setIsEmailVerified((Boolean) isEmailVerified); - Object providerId = pigeonVar_list.get(7); - pigeonResult.setProviderId((String) providerId); - Object tenantId = pigeonVar_list.get(8); - pigeonResult.setTenantId((String) tenantId); - Object refreshToken = pigeonVar_list.get(9); - pigeonResult.setRefreshToken((String) refreshToken); - Object creationTimestamp = pigeonVar_list.get(10); - pigeonResult.setCreationTimestamp((Long) creationTimestamp); - Object lastSignInTimestamp = pigeonVar_list.get(11); - pigeonResult.setLastSignInTimestamp((Long) lastSignInTimestamp); - return pigeonResult; - } - } - - /** Generated class from Pigeon that represents data sent in messages. */ - public static final class InternalUserDetails { - private @NonNull InternalUserInfo userInfo; - - public @NonNull InternalUserInfo getUserInfo() { - return userInfo; - } - - public void setUserInfo(@NonNull InternalUserInfo setterArg) { - if (setterArg == null) { - throw new IllegalStateException("Nonnull field \"userInfo\" is null."); - } - this.userInfo = setterArg; - } - - private @NonNull List> providerData; - - public @NonNull List> getProviderData() { - return providerData; - } - - public void setProviderData(@NonNull List> setterArg) { - if (setterArg == null) { - throw new IllegalStateException("Nonnull field \"providerData\" is null."); - } - this.providerData = setterArg; - } - - /** Constructor is non-public to enforce null safety; use Builder. */ - InternalUserDetails() {} - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - InternalUserDetails that = (InternalUserDetails) o; - return pigeonDeepEquals(userInfo, that.userInfo) - && pigeonDeepEquals(providerData, that.providerData); - } - - @Override - public int hashCode() { - Object[] fields = new Object[] {getClass(), userInfo, providerData}; - return pigeonDeepHashCode(fields); - } - - public static final class Builder { - - private @Nullable InternalUserInfo userInfo; - - @CanIgnoreReturnValue - public @NonNull Builder setUserInfo(@NonNull InternalUserInfo setterArg) { - this.userInfo = setterArg; - return this; - } - - private @Nullable List> providerData; - - @CanIgnoreReturnValue - public @NonNull Builder setProviderData(@NonNull List> setterArg) { - this.providerData = setterArg; - return this; - } - - public @NonNull InternalUserDetails build() { - InternalUserDetails pigeonReturn = new InternalUserDetails(); - pigeonReturn.setUserInfo(userInfo); - pigeonReturn.setProviderData(providerData); - return pigeonReturn; - } - } - - @NonNull - public ArrayList toList() { - ArrayList toListResult = new ArrayList<>(2); - toListResult.add(userInfo); - toListResult.add(providerData); - return toListResult; - } - - static @NonNull InternalUserDetails fromList(@NonNull ArrayList pigeonVar_list) { - InternalUserDetails pigeonResult = new InternalUserDetails(); - Object userInfo = pigeonVar_list.get(0); - pigeonResult.setUserInfo((InternalUserInfo) userInfo); - Object providerData = pigeonVar_list.get(1); - pigeonResult.setProviderData((List>) providerData); - return pigeonResult; - } - } - - /** Generated class from Pigeon that represents data sent in messages. */ - public static final class InternalUserCredential { - private @Nullable InternalUserDetails user; - - public @Nullable InternalUserDetails getUser() { - return user; - } - - public void setUser(@Nullable InternalUserDetails setterArg) { - this.user = setterArg; - } - - private @Nullable InternalAdditionalUserInfo additionalUserInfo; - - public @Nullable InternalAdditionalUserInfo getAdditionalUserInfo() { - return additionalUserInfo; - } - - public void setAdditionalUserInfo(@Nullable InternalAdditionalUserInfo setterArg) { - this.additionalUserInfo = setterArg; - } - - private @Nullable InternalAuthCredential credential; - - public @Nullable InternalAuthCredential getCredential() { - return credential; - } - - public void setCredential(@Nullable InternalAuthCredential setterArg) { - this.credential = setterArg; - } - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - InternalUserCredential that = (InternalUserCredential) o; - return pigeonDeepEquals(user, that.user) - && pigeonDeepEquals(additionalUserInfo, that.additionalUserInfo) - && pigeonDeepEquals(credential, that.credential); - } - - @Override - public int hashCode() { - Object[] fields = new Object[] {getClass(), user, additionalUserInfo, credential}; - return pigeonDeepHashCode(fields); - } - - public static final class Builder { - - private @Nullable InternalUserDetails user; - - @CanIgnoreReturnValue - public @NonNull Builder setUser(@Nullable InternalUserDetails setterArg) { - this.user = setterArg; - return this; - } - - private @Nullable InternalAdditionalUserInfo additionalUserInfo; - - @CanIgnoreReturnValue - public @NonNull Builder setAdditionalUserInfo( - @Nullable InternalAdditionalUserInfo setterArg) { - this.additionalUserInfo = setterArg; - return this; - } - - private @Nullable InternalAuthCredential credential; - - @CanIgnoreReturnValue - public @NonNull Builder setCredential(@Nullable InternalAuthCredential setterArg) { - this.credential = setterArg; - return this; - } - - public @NonNull InternalUserCredential build() { - InternalUserCredential pigeonReturn = new InternalUserCredential(); - pigeonReturn.setUser(user); - pigeonReturn.setAdditionalUserInfo(additionalUserInfo); - pigeonReturn.setCredential(credential); - return pigeonReturn; - } - } - - @NonNull - public ArrayList toList() { - ArrayList toListResult = new ArrayList<>(3); - toListResult.add(user); - toListResult.add(additionalUserInfo); - toListResult.add(credential); - return toListResult; - } - - static @NonNull InternalUserCredential fromList(@NonNull ArrayList pigeonVar_list) { - InternalUserCredential pigeonResult = new InternalUserCredential(); - Object user = pigeonVar_list.get(0); - pigeonResult.setUser((InternalUserDetails) user); - Object additionalUserInfo = pigeonVar_list.get(1); - pigeonResult.setAdditionalUserInfo((InternalAdditionalUserInfo) additionalUserInfo); - Object credential = pigeonVar_list.get(2); - pigeonResult.setCredential((InternalAuthCredential) credential); - return pigeonResult; - } - } - - /** Generated class from Pigeon that represents data sent in messages. */ - public static final class InternalAuthCredentialInput { - private @NonNull String providerId; - - public @NonNull String getProviderId() { - return providerId; - } - - public void setProviderId(@NonNull String setterArg) { - if (setterArg == null) { - throw new IllegalStateException("Nonnull field \"providerId\" is null."); - } - this.providerId = setterArg; - } - - private @NonNull String signInMethod; - - public @NonNull String getSignInMethod() { - return signInMethod; - } - - public void setSignInMethod(@NonNull String setterArg) { - if (setterArg == null) { - throw new IllegalStateException("Nonnull field \"signInMethod\" is null."); - } - this.signInMethod = setterArg; - } - - private @Nullable String token; - - public @Nullable String getToken() { - return token; - } - - public void setToken(@Nullable String setterArg) { - this.token = setterArg; - } - - private @Nullable String accessToken; - - public @Nullable String getAccessToken() { - return accessToken; - } - - public void setAccessToken(@Nullable String setterArg) { - this.accessToken = setterArg; - } - - /** Constructor is non-public to enforce null safety; use Builder. */ - InternalAuthCredentialInput() {} - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - InternalAuthCredentialInput that = (InternalAuthCredentialInput) o; - return pigeonDeepEquals(providerId, that.providerId) - && pigeonDeepEquals(signInMethod, that.signInMethod) - && pigeonDeepEquals(token, that.token) - && pigeonDeepEquals(accessToken, that.accessToken); - } - - @Override - public int hashCode() { - Object[] fields = new Object[] {getClass(), providerId, signInMethod, token, accessToken}; - return pigeonDeepHashCode(fields); - } - - public static final class Builder { - - private @Nullable String providerId; - - @CanIgnoreReturnValue - public @NonNull Builder setProviderId(@NonNull String setterArg) { - this.providerId = setterArg; - return this; - } - - private @Nullable String signInMethod; - - @CanIgnoreReturnValue - public @NonNull Builder setSignInMethod(@NonNull String setterArg) { - this.signInMethod = setterArg; - return this; - } - - private @Nullable String token; - - @CanIgnoreReturnValue - public @NonNull Builder setToken(@Nullable String setterArg) { - this.token = setterArg; - return this; - } - - private @Nullable String accessToken; - - @CanIgnoreReturnValue - public @NonNull Builder setAccessToken(@Nullable String setterArg) { - this.accessToken = setterArg; - return this; - } - - public @NonNull InternalAuthCredentialInput build() { - InternalAuthCredentialInput pigeonReturn = new InternalAuthCredentialInput(); - pigeonReturn.setProviderId(providerId); - pigeonReturn.setSignInMethod(signInMethod); - pigeonReturn.setToken(token); - pigeonReturn.setAccessToken(accessToken); - return pigeonReturn; - } - } - - @NonNull - public ArrayList toList() { - ArrayList toListResult = new ArrayList<>(4); - toListResult.add(providerId); - toListResult.add(signInMethod); - toListResult.add(token); - toListResult.add(accessToken); - return toListResult; - } - - static @NonNull InternalAuthCredentialInput fromList( - @NonNull ArrayList pigeonVar_list) { - InternalAuthCredentialInput pigeonResult = new InternalAuthCredentialInput(); - Object providerId = pigeonVar_list.get(0); - pigeonResult.setProviderId((String) providerId); - Object signInMethod = pigeonVar_list.get(1); - pigeonResult.setSignInMethod((String) signInMethod); - Object token = pigeonVar_list.get(2); - pigeonResult.setToken((String) token); - Object accessToken = pigeonVar_list.get(3); - pigeonResult.setAccessToken((String) accessToken); - return pigeonResult; - } - } - - /** Generated class from Pigeon that represents data sent in messages. */ - public static final class InternalActionCodeSettings { - private @NonNull String url; - - public @NonNull String getUrl() { - return url; - } - - public void setUrl(@NonNull String setterArg) { - if (setterArg == null) { - throw new IllegalStateException("Nonnull field \"url\" is null."); - } - this.url = setterArg; - } - - private @Nullable String dynamicLinkDomain; - - public @Nullable String getDynamicLinkDomain() { - return dynamicLinkDomain; - } - - public void setDynamicLinkDomain(@Nullable String setterArg) { - this.dynamicLinkDomain = setterArg; - } - - private @NonNull Boolean handleCodeInApp; - - public @NonNull Boolean getHandleCodeInApp() { - return handleCodeInApp; - } - - public void setHandleCodeInApp(@NonNull Boolean setterArg) { - if (setterArg == null) { - throw new IllegalStateException("Nonnull field \"handleCodeInApp\" is null."); - } - this.handleCodeInApp = setterArg; - } - - private @Nullable String iOSBundleId; - - public @Nullable String getIOSBundleId() { - return iOSBundleId; - } - - public void setIOSBundleId(@Nullable String setterArg) { - this.iOSBundleId = setterArg; - } - - private @Nullable String androidPackageName; - - public @Nullable String getAndroidPackageName() { - return androidPackageName; - } - - public void setAndroidPackageName(@Nullable String setterArg) { - this.androidPackageName = setterArg; - } - - private @NonNull Boolean androidInstallApp; - - public @NonNull Boolean getAndroidInstallApp() { - return androidInstallApp; - } - - public void setAndroidInstallApp(@NonNull Boolean setterArg) { - if (setterArg == null) { - throw new IllegalStateException("Nonnull field \"androidInstallApp\" is null."); - } - this.androidInstallApp = setterArg; - } - - private @Nullable String androidMinimumVersion; - - public @Nullable String getAndroidMinimumVersion() { - return androidMinimumVersion; - } - - public void setAndroidMinimumVersion(@Nullable String setterArg) { - this.androidMinimumVersion = setterArg; - } - - private @Nullable String linkDomain; - - public @Nullable String getLinkDomain() { - return linkDomain; - } - - public void setLinkDomain(@Nullable String setterArg) { - this.linkDomain = setterArg; - } - - /** Constructor is non-public to enforce null safety; use Builder. */ - InternalActionCodeSettings() {} - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - InternalActionCodeSettings that = (InternalActionCodeSettings) o; - return pigeonDeepEquals(url, that.url) - && pigeonDeepEquals(dynamicLinkDomain, that.dynamicLinkDomain) - && pigeonDeepEquals(handleCodeInApp, that.handleCodeInApp) - && pigeonDeepEquals(iOSBundleId, that.iOSBundleId) - && pigeonDeepEquals(androidPackageName, that.androidPackageName) - && pigeonDeepEquals(androidInstallApp, that.androidInstallApp) - && pigeonDeepEquals(androidMinimumVersion, that.androidMinimumVersion) - && pigeonDeepEquals(linkDomain, that.linkDomain); - } - - @Override - public int hashCode() { - Object[] fields = - new Object[] { - getClass(), - url, - dynamicLinkDomain, - handleCodeInApp, - iOSBundleId, - androidPackageName, - androidInstallApp, - androidMinimumVersion, - linkDomain - }; - return pigeonDeepHashCode(fields); - } - - public static final class Builder { - - private @Nullable String url; - - @CanIgnoreReturnValue - public @NonNull Builder setUrl(@NonNull String setterArg) { - this.url = setterArg; - return this; - } - - private @Nullable String dynamicLinkDomain; - - @CanIgnoreReturnValue - public @NonNull Builder setDynamicLinkDomain(@Nullable String setterArg) { - this.dynamicLinkDomain = setterArg; - return this; - } - - private @Nullable Boolean handleCodeInApp; - - @CanIgnoreReturnValue - public @NonNull Builder setHandleCodeInApp(@NonNull Boolean setterArg) { - this.handleCodeInApp = setterArg; - return this; - } - - private @Nullable String iOSBundleId; - - @CanIgnoreReturnValue - public @NonNull Builder setIOSBundleId(@Nullable String setterArg) { - this.iOSBundleId = setterArg; - return this; - } - - private @Nullable String androidPackageName; - - @CanIgnoreReturnValue - public @NonNull Builder setAndroidPackageName(@Nullable String setterArg) { - this.androidPackageName = setterArg; - return this; - } - - private @Nullable Boolean androidInstallApp; - - @CanIgnoreReturnValue - public @NonNull Builder setAndroidInstallApp(@NonNull Boolean setterArg) { - this.androidInstallApp = setterArg; - return this; - } - - private @Nullable String androidMinimumVersion; - - @CanIgnoreReturnValue - public @NonNull Builder setAndroidMinimumVersion(@Nullable String setterArg) { - this.androidMinimumVersion = setterArg; - return this; - } - - private @Nullable String linkDomain; - - @CanIgnoreReturnValue - public @NonNull Builder setLinkDomain(@Nullable String setterArg) { - this.linkDomain = setterArg; - return this; - } - - public @NonNull InternalActionCodeSettings build() { - InternalActionCodeSettings pigeonReturn = new InternalActionCodeSettings(); - pigeonReturn.setUrl(url); - pigeonReturn.setDynamicLinkDomain(dynamicLinkDomain); - pigeonReturn.setHandleCodeInApp(handleCodeInApp); - pigeonReturn.setIOSBundleId(iOSBundleId); - pigeonReturn.setAndroidPackageName(androidPackageName); - pigeonReturn.setAndroidInstallApp(androidInstallApp); - pigeonReturn.setAndroidMinimumVersion(androidMinimumVersion); - pigeonReturn.setLinkDomain(linkDomain); - return pigeonReturn; - } - } - - @NonNull - public ArrayList toList() { - ArrayList toListResult = new ArrayList<>(8); - toListResult.add(url); - toListResult.add(dynamicLinkDomain); - toListResult.add(handleCodeInApp); - toListResult.add(iOSBundleId); - toListResult.add(androidPackageName); - toListResult.add(androidInstallApp); - toListResult.add(androidMinimumVersion); - toListResult.add(linkDomain); - return toListResult; - } - - static @NonNull InternalActionCodeSettings fromList(@NonNull ArrayList pigeonVar_list) { - InternalActionCodeSettings pigeonResult = new InternalActionCodeSettings(); - Object url = pigeonVar_list.get(0); - pigeonResult.setUrl((String) url); - Object dynamicLinkDomain = pigeonVar_list.get(1); - pigeonResult.setDynamicLinkDomain((String) dynamicLinkDomain); - Object handleCodeInApp = pigeonVar_list.get(2); - pigeonResult.setHandleCodeInApp((Boolean) handleCodeInApp); - Object iOSBundleId = pigeonVar_list.get(3); - pigeonResult.setIOSBundleId((String) iOSBundleId); - Object androidPackageName = pigeonVar_list.get(4); - pigeonResult.setAndroidPackageName((String) androidPackageName); - Object androidInstallApp = pigeonVar_list.get(5); - pigeonResult.setAndroidInstallApp((Boolean) androidInstallApp); - Object androidMinimumVersion = pigeonVar_list.get(6); - pigeonResult.setAndroidMinimumVersion((String) androidMinimumVersion); - Object linkDomain = pigeonVar_list.get(7); - pigeonResult.setLinkDomain((String) linkDomain); - return pigeonResult; - } - } - - /** Generated class from Pigeon that represents data sent in messages. */ - public static final class InternalFirebaseAuthSettings { - private @NonNull Boolean appVerificationDisabledForTesting; - - public @NonNull Boolean getAppVerificationDisabledForTesting() { - return appVerificationDisabledForTesting; - } - - public void setAppVerificationDisabledForTesting(@NonNull Boolean setterArg) { - if (setterArg == null) { - throw new IllegalStateException( - "Nonnull field \"appVerificationDisabledForTesting\" is null."); - } - this.appVerificationDisabledForTesting = setterArg; - } - - private @Nullable String userAccessGroup; - - public @Nullable String getUserAccessGroup() { - return userAccessGroup; - } - - public void setUserAccessGroup(@Nullable String setterArg) { - this.userAccessGroup = setterArg; - } - - private @Nullable String phoneNumber; - - public @Nullable String getPhoneNumber() { - return phoneNumber; - } - - public void setPhoneNumber(@Nullable String setterArg) { - this.phoneNumber = setterArg; - } - - private @Nullable String smsCode; - - public @Nullable String getSmsCode() { - return smsCode; - } - - public void setSmsCode(@Nullable String setterArg) { - this.smsCode = setterArg; - } - - private @Nullable Boolean forceRecaptchaFlow; - - public @Nullable Boolean getForceRecaptchaFlow() { - return forceRecaptchaFlow; - } - - public void setForceRecaptchaFlow(@Nullable Boolean setterArg) { - this.forceRecaptchaFlow = setterArg; - } - - /** Constructor is non-public to enforce null safety; use Builder. */ - InternalFirebaseAuthSettings() {} - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - InternalFirebaseAuthSettings that = (InternalFirebaseAuthSettings) o; - return pigeonDeepEquals( - appVerificationDisabledForTesting, that.appVerificationDisabledForTesting) - && pigeonDeepEquals(userAccessGroup, that.userAccessGroup) - && pigeonDeepEquals(phoneNumber, that.phoneNumber) - && pigeonDeepEquals(smsCode, that.smsCode) - && pigeonDeepEquals(forceRecaptchaFlow, that.forceRecaptchaFlow); - } - - @Override - public int hashCode() { - Object[] fields = - new Object[] { - getClass(), - appVerificationDisabledForTesting, - userAccessGroup, - phoneNumber, - smsCode, - forceRecaptchaFlow - }; - return pigeonDeepHashCode(fields); - } - - public static final class Builder { - - private @Nullable Boolean appVerificationDisabledForTesting; - - @CanIgnoreReturnValue - public @NonNull Builder setAppVerificationDisabledForTesting(@NonNull Boolean setterArg) { - this.appVerificationDisabledForTesting = setterArg; - return this; - } - - private @Nullable String userAccessGroup; - - @CanIgnoreReturnValue - public @NonNull Builder setUserAccessGroup(@Nullable String setterArg) { - this.userAccessGroup = setterArg; - return this; - } - - private @Nullable String phoneNumber; - - @CanIgnoreReturnValue - public @NonNull Builder setPhoneNumber(@Nullable String setterArg) { - this.phoneNumber = setterArg; - return this; - } - - private @Nullable String smsCode; - - @CanIgnoreReturnValue - public @NonNull Builder setSmsCode(@Nullable String setterArg) { - this.smsCode = setterArg; - return this; - } - - private @Nullable Boolean forceRecaptchaFlow; - - @CanIgnoreReturnValue - public @NonNull Builder setForceRecaptchaFlow(@Nullable Boolean setterArg) { - this.forceRecaptchaFlow = setterArg; - return this; - } - - public @NonNull InternalFirebaseAuthSettings build() { - InternalFirebaseAuthSettings pigeonReturn = new InternalFirebaseAuthSettings(); - pigeonReturn.setAppVerificationDisabledForTesting(appVerificationDisabledForTesting); - pigeonReturn.setUserAccessGroup(userAccessGroup); - pigeonReturn.setPhoneNumber(phoneNumber); - pigeonReturn.setSmsCode(smsCode); - pigeonReturn.setForceRecaptchaFlow(forceRecaptchaFlow); - return pigeonReturn; - } - } - - @NonNull - public ArrayList toList() { - ArrayList toListResult = new ArrayList<>(5); - toListResult.add(appVerificationDisabledForTesting); - toListResult.add(userAccessGroup); - toListResult.add(phoneNumber); - toListResult.add(smsCode); - toListResult.add(forceRecaptchaFlow); - return toListResult; - } - - static @NonNull InternalFirebaseAuthSettings fromList( - @NonNull ArrayList pigeonVar_list) { - InternalFirebaseAuthSettings pigeonResult = new InternalFirebaseAuthSettings(); - Object appVerificationDisabledForTesting = pigeonVar_list.get(0); - pigeonResult.setAppVerificationDisabledForTesting( - (Boolean) appVerificationDisabledForTesting); - Object userAccessGroup = pigeonVar_list.get(1); - pigeonResult.setUserAccessGroup((String) userAccessGroup); - Object phoneNumber = pigeonVar_list.get(2); - pigeonResult.setPhoneNumber((String) phoneNumber); - Object smsCode = pigeonVar_list.get(3); - pigeonResult.setSmsCode((String) smsCode); - Object forceRecaptchaFlow = pigeonVar_list.get(4); - pigeonResult.setForceRecaptchaFlow((Boolean) forceRecaptchaFlow); - return pigeonResult; - } - } - - /** Generated class from Pigeon that represents data sent in messages. */ - public static final class InternalSignInProvider { - private @NonNull String providerId; - - public @NonNull String getProviderId() { - return providerId; - } - - public void setProviderId(@NonNull String setterArg) { - if (setterArg == null) { - throw new IllegalStateException("Nonnull field \"providerId\" is null."); - } - this.providerId = setterArg; - } - - private @Nullable List scopes; - - public @Nullable List getScopes() { - return scopes; - } - - public void setScopes(@Nullable List setterArg) { - this.scopes = setterArg; - } - - private @Nullable Map customParameters; - - public @Nullable Map getCustomParameters() { - return customParameters; - } - - public void setCustomParameters(@Nullable Map setterArg) { - this.customParameters = setterArg; - } - - /** Constructor is non-public to enforce null safety; use Builder. */ - InternalSignInProvider() {} - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - InternalSignInProvider that = (InternalSignInProvider) o; - return pigeonDeepEquals(providerId, that.providerId) - && pigeonDeepEquals(scopes, that.scopes) - && pigeonDeepEquals(customParameters, that.customParameters); - } - - @Override - public int hashCode() { - Object[] fields = new Object[] {getClass(), providerId, scopes, customParameters}; - return pigeonDeepHashCode(fields); - } - - public static final class Builder { - - private @Nullable String providerId; - - @CanIgnoreReturnValue - public @NonNull Builder setProviderId(@NonNull String setterArg) { - this.providerId = setterArg; - return this; - } - - private @Nullable List scopes; - - @CanIgnoreReturnValue - public @NonNull Builder setScopes(@Nullable List setterArg) { - this.scopes = setterArg; - return this; - } - - private @Nullable Map customParameters; - - @CanIgnoreReturnValue - public @NonNull Builder setCustomParameters(@Nullable Map setterArg) { - this.customParameters = setterArg; - return this; - } - - public @NonNull InternalSignInProvider build() { - InternalSignInProvider pigeonReturn = new InternalSignInProvider(); - pigeonReturn.setProviderId(providerId); - pigeonReturn.setScopes(scopes); - pigeonReturn.setCustomParameters(customParameters); - return pigeonReturn; - } - } - - @NonNull - public ArrayList toList() { - ArrayList toListResult = new ArrayList<>(3); - toListResult.add(providerId); - toListResult.add(scopes); - toListResult.add(customParameters); - return toListResult; - } - - static @NonNull InternalSignInProvider fromList(@NonNull ArrayList pigeonVar_list) { - InternalSignInProvider pigeonResult = new InternalSignInProvider(); - Object providerId = pigeonVar_list.get(0); - pigeonResult.setProviderId((String) providerId); - Object scopes = pigeonVar_list.get(1); - pigeonResult.setScopes((List) scopes); - Object customParameters = pigeonVar_list.get(2); - pigeonResult.setCustomParameters((Map) customParameters); - return pigeonResult; - } - } - - /** Generated class from Pigeon that represents data sent in messages. */ - public static final class InternalVerifyPhoneNumberRequest { - private @Nullable String phoneNumber; - - public @Nullable String getPhoneNumber() { - return phoneNumber; - } - - public void setPhoneNumber(@Nullable String setterArg) { - this.phoneNumber = setterArg; - } - - private @NonNull Long timeout; - - public @NonNull Long getTimeout() { - return timeout; - } - - public void setTimeout(@NonNull Long setterArg) { - if (setterArg == null) { - throw new IllegalStateException("Nonnull field \"timeout\" is null."); - } - this.timeout = setterArg; - } - - private @Nullable Long forceResendingToken; - - public @Nullable Long getForceResendingToken() { - return forceResendingToken; - } - - public void setForceResendingToken(@Nullable Long setterArg) { - this.forceResendingToken = setterArg; - } - - private @Nullable String autoRetrievedSmsCodeForTesting; - - public @Nullable String getAutoRetrievedSmsCodeForTesting() { - return autoRetrievedSmsCodeForTesting; - } - - public void setAutoRetrievedSmsCodeForTesting(@Nullable String setterArg) { - this.autoRetrievedSmsCodeForTesting = setterArg; - } - - private @Nullable String multiFactorInfoId; - - public @Nullable String getMultiFactorInfoId() { - return multiFactorInfoId; - } - - public void setMultiFactorInfoId(@Nullable String setterArg) { - this.multiFactorInfoId = setterArg; - } - - private @Nullable String multiFactorSessionId; - - public @Nullable String getMultiFactorSessionId() { - return multiFactorSessionId; - } - - public void setMultiFactorSessionId(@Nullable String setterArg) { - this.multiFactorSessionId = setterArg; - } - - /** Constructor is non-public to enforce null safety; use Builder. */ - InternalVerifyPhoneNumberRequest() {} - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - InternalVerifyPhoneNumberRequest that = (InternalVerifyPhoneNumberRequest) o; - return pigeonDeepEquals(phoneNumber, that.phoneNumber) - && pigeonDeepEquals(timeout, that.timeout) - && pigeonDeepEquals(forceResendingToken, that.forceResendingToken) - && pigeonDeepEquals(autoRetrievedSmsCodeForTesting, that.autoRetrievedSmsCodeForTesting) - && pigeonDeepEquals(multiFactorInfoId, that.multiFactorInfoId) - && pigeonDeepEquals(multiFactorSessionId, that.multiFactorSessionId); - } - - @Override - public int hashCode() { - Object[] fields = - new Object[] { - getClass(), - phoneNumber, - timeout, - forceResendingToken, - autoRetrievedSmsCodeForTesting, - multiFactorInfoId, - multiFactorSessionId - }; - return pigeonDeepHashCode(fields); - } - - public static final class Builder { - - private @Nullable String phoneNumber; - - @CanIgnoreReturnValue - public @NonNull Builder setPhoneNumber(@Nullable String setterArg) { - this.phoneNumber = setterArg; - return this; - } - - private @Nullable Long timeout; - - @CanIgnoreReturnValue - public @NonNull Builder setTimeout(@NonNull Long setterArg) { - this.timeout = setterArg; - return this; - } - - private @Nullable Long forceResendingToken; - - @CanIgnoreReturnValue - public @NonNull Builder setForceResendingToken(@Nullable Long setterArg) { - this.forceResendingToken = setterArg; - return this; - } - - private @Nullable String autoRetrievedSmsCodeForTesting; - - @CanIgnoreReturnValue - public @NonNull Builder setAutoRetrievedSmsCodeForTesting(@Nullable String setterArg) { - this.autoRetrievedSmsCodeForTesting = setterArg; - return this; - } - - private @Nullable String multiFactorInfoId; - - @CanIgnoreReturnValue - public @NonNull Builder setMultiFactorInfoId(@Nullable String setterArg) { - this.multiFactorInfoId = setterArg; - return this; - } - - private @Nullable String multiFactorSessionId; - - @CanIgnoreReturnValue - public @NonNull Builder setMultiFactorSessionId(@Nullable String setterArg) { - this.multiFactorSessionId = setterArg; - return this; - } - - public @NonNull InternalVerifyPhoneNumberRequest build() { - InternalVerifyPhoneNumberRequest pigeonReturn = new InternalVerifyPhoneNumberRequest(); - pigeonReturn.setPhoneNumber(phoneNumber); - pigeonReturn.setTimeout(timeout); - pigeonReturn.setForceResendingToken(forceResendingToken); - pigeonReturn.setAutoRetrievedSmsCodeForTesting(autoRetrievedSmsCodeForTesting); - pigeonReturn.setMultiFactorInfoId(multiFactorInfoId); - pigeonReturn.setMultiFactorSessionId(multiFactorSessionId); - return pigeonReturn; - } - } - - @NonNull - public ArrayList toList() { - ArrayList toListResult = new ArrayList<>(6); - toListResult.add(phoneNumber); - toListResult.add(timeout); - toListResult.add(forceResendingToken); - toListResult.add(autoRetrievedSmsCodeForTesting); - toListResult.add(multiFactorInfoId); - toListResult.add(multiFactorSessionId); - return toListResult; - } - - static @NonNull InternalVerifyPhoneNumberRequest fromList( - @NonNull ArrayList pigeonVar_list) { - InternalVerifyPhoneNumberRequest pigeonResult = new InternalVerifyPhoneNumberRequest(); - Object phoneNumber = pigeonVar_list.get(0); - pigeonResult.setPhoneNumber((String) phoneNumber); - Object timeout = pigeonVar_list.get(1); - pigeonResult.setTimeout((Long) timeout); - Object forceResendingToken = pigeonVar_list.get(2); - pigeonResult.setForceResendingToken((Long) forceResendingToken); - Object autoRetrievedSmsCodeForTesting = pigeonVar_list.get(3); - pigeonResult.setAutoRetrievedSmsCodeForTesting((String) autoRetrievedSmsCodeForTesting); - Object multiFactorInfoId = pigeonVar_list.get(4); - pigeonResult.setMultiFactorInfoId((String) multiFactorInfoId); - Object multiFactorSessionId = pigeonVar_list.get(5); - pigeonResult.setMultiFactorSessionId((String) multiFactorSessionId); - return pigeonResult; - } - } - - /** Generated class from Pigeon that represents data sent in messages. */ - public static final class InternalIdTokenResult { - private @Nullable String token; - - public @Nullable String getToken() { - return token; - } - - public void setToken(@Nullable String setterArg) { - this.token = setterArg; - } - - private @Nullable Long expirationTimestamp; - - public @Nullable Long getExpirationTimestamp() { - return expirationTimestamp; - } - - public void setExpirationTimestamp(@Nullable Long setterArg) { - this.expirationTimestamp = setterArg; - } - - private @Nullable Long authTimestamp; - - public @Nullable Long getAuthTimestamp() { - return authTimestamp; - } - - public void setAuthTimestamp(@Nullable Long setterArg) { - this.authTimestamp = setterArg; - } - - private @Nullable Long issuedAtTimestamp; - - public @Nullable Long getIssuedAtTimestamp() { - return issuedAtTimestamp; - } - - public void setIssuedAtTimestamp(@Nullable Long setterArg) { - this.issuedAtTimestamp = setterArg; - } - - private @Nullable String signInProvider; - - public @Nullable String getSignInProvider() { - return signInProvider; - } - - public void setSignInProvider(@Nullable String setterArg) { - this.signInProvider = setterArg; - } - - private @Nullable Map claims; - - public @Nullable Map getClaims() { - return claims; - } - - public void setClaims(@Nullable Map setterArg) { - this.claims = setterArg; - } - - private @Nullable String signInSecondFactor; - - public @Nullable String getSignInSecondFactor() { - return signInSecondFactor; - } - - public void setSignInSecondFactor(@Nullable String setterArg) { - this.signInSecondFactor = setterArg; - } - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - InternalIdTokenResult that = (InternalIdTokenResult) o; - return pigeonDeepEquals(token, that.token) - && pigeonDeepEquals(expirationTimestamp, that.expirationTimestamp) - && pigeonDeepEquals(authTimestamp, that.authTimestamp) - && pigeonDeepEquals(issuedAtTimestamp, that.issuedAtTimestamp) - && pigeonDeepEquals(signInProvider, that.signInProvider) - && pigeonDeepEquals(claims, that.claims) - && pigeonDeepEquals(signInSecondFactor, that.signInSecondFactor); - } - - @Override - public int hashCode() { - Object[] fields = - new Object[] { - getClass(), - token, - expirationTimestamp, - authTimestamp, - issuedAtTimestamp, - signInProvider, - claims, - signInSecondFactor - }; - return pigeonDeepHashCode(fields); - } - - public static final class Builder { - - private @Nullable String token; - - @CanIgnoreReturnValue - public @NonNull Builder setToken(@Nullable String setterArg) { - this.token = setterArg; - return this; - } - - private @Nullable Long expirationTimestamp; - - @CanIgnoreReturnValue - public @NonNull Builder setExpirationTimestamp(@Nullable Long setterArg) { - this.expirationTimestamp = setterArg; - return this; - } - - private @Nullable Long authTimestamp; - - @CanIgnoreReturnValue - public @NonNull Builder setAuthTimestamp(@Nullable Long setterArg) { - this.authTimestamp = setterArg; - return this; - } - - private @Nullable Long issuedAtTimestamp; - - @CanIgnoreReturnValue - public @NonNull Builder setIssuedAtTimestamp(@Nullable Long setterArg) { - this.issuedAtTimestamp = setterArg; - return this; - } - - private @Nullable String signInProvider; - - @CanIgnoreReturnValue - public @NonNull Builder setSignInProvider(@Nullable String setterArg) { - this.signInProvider = setterArg; - return this; - } - - private @Nullable Map claims; - - @CanIgnoreReturnValue - public @NonNull Builder setClaims(@Nullable Map setterArg) { - this.claims = setterArg; - return this; - } - - private @Nullable String signInSecondFactor; - - @CanIgnoreReturnValue - public @NonNull Builder setSignInSecondFactor(@Nullable String setterArg) { - this.signInSecondFactor = setterArg; - return this; - } - - public @NonNull InternalIdTokenResult build() { - InternalIdTokenResult pigeonReturn = new InternalIdTokenResult(); - pigeonReturn.setToken(token); - pigeonReturn.setExpirationTimestamp(expirationTimestamp); - pigeonReturn.setAuthTimestamp(authTimestamp); - pigeonReturn.setIssuedAtTimestamp(issuedAtTimestamp); - pigeonReturn.setSignInProvider(signInProvider); - pigeonReturn.setClaims(claims); - pigeonReturn.setSignInSecondFactor(signInSecondFactor); - return pigeonReturn; - } - } - - @NonNull - public ArrayList toList() { - ArrayList toListResult = new ArrayList<>(7); - toListResult.add(token); - toListResult.add(expirationTimestamp); - toListResult.add(authTimestamp); - toListResult.add(issuedAtTimestamp); - toListResult.add(signInProvider); - toListResult.add(claims); - toListResult.add(signInSecondFactor); - return toListResult; - } - - static @NonNull InternalIdTokenResult fromList(@NonNull ArrayList pigeonVar_list) { - InternalIdTokenResult pigeonResult = new InternalIdTokenResult(); - Object token = pigeonVar_list.get(0); - pigeonResult.setToken((String) token); - Object expirationTimestamp = pigeonVar_list.get(1); - pigeonResult.setExpirationTimestamp((Long) expirationTimestamp); - Object authTimestamp = pigeonVar_list.get(2); - pigeonResult.setAuthTimestamp((Long) authTimestamp); - Object issuedAtTimestamp = pigeonVar_list.get(3); - pigeonResult.setIssuedAtTimestamp((Long) issuedAtTimestamp); - Object signInProvider = pigeonVar_list.get(4); - pigeonResult.setSignInProvider((String) signInProvider); - Object claims = pigeonVar_list.get(5); - pigeonResult.setClaims((Map) claims); - Object signInSecondFactor = pigeonVar_list.get(6); - pigeonResult.setSignInSecondFactor((String) signInSecondFactor); - return pigeonResult; - } - } - - /** Generated class from Pigeon that represents data sent in messages. */ - public static final class InternalUserProfile { - private @Nullable String displayName; - - public @Nullable String getDisplayName() { - return displayName; - } - - public void setDisplayName(@Nullable String setterArg) { - this.displayName = setterArg; - } - - private @Nullable String photoUrl; - - public @Nullable String getPhotoUrl() { - return photoUrl; - } - - public void setPhotoUrl(@Nullable String setterArg) { - this.photoUrl = setterArg; - } - - private @NonNull Boolean displayNameChanged; - - public @NonNull Boolean getDisplayNameChanged() { - return displayNameChanged; - } - - public void setDisplayNameChanged(@NonNull Boolean setterArg) { - if (setterArg == null) { - throw new IllegalStateException("Nonnull field \"displayNameChanged\" is null."); - } - this.displayNameChanged = setterArg; - } - - private @NonNull Boolean photoUrlChanged; - - public @NonNull Boolean getPhotoUrlChanged() { - return photoUrlChanged; - } - - public void setPhotoUrlChanged(@NonNull Boolean setterArg) { - if (setterArg == null) { - throw new IllegalStateException("Nonnull field \"photoUrlChanged\" is null."); - } - this.photoUrlChanged = setterArg; - } - - /** Constructor is non-public to enforce null safety; use Builder. */ - InternalUserProfile() {} - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - InternalUserProfile that = (InternalUserProfile) o; - return pigeonDeepEquals(displayName, that.displayName) - && pigeonDeepEquals(photoUrl, that.photoUrl) - && pigeonDeepEquals(displayNameChanged, that.displayNameChanged) - && pigeonDeepEquals(photoUrlChanged, that.photoUrlChanged); - } - - @Override - public int hashCode() { - Object[] fields = - new Object[] {getClass(), displayName, photoUrl, displayNameChanged, photoUrlChanged}; - return pigeonDeepHashCode(fields); - } - - public static final class Builder { - - private @Nullable String displayName; - - @CanIgnoreReturnValue - public @NonNull Builder setDisplayName(@Nullable String setterArg) { - this.displayName = setterArg; - return this; - } - - private @Nullable String photoUrl; - - @CanIgnoreReturnValue - public @NonNull Builder setPhotoUrl(@Nullable String setterArg) { - this.photoUrl = setterArg; - return this; - } - - private @Nullable Boolean displayNameChanged; - - @CanIgnoreReturnValue - public @NonNull Builder setDisplayNameChanged(@NonNull Boolean setterArg) { - this.displayNameChanged = setterArg; - return this; - } - - private @Nullable Boolean photoUrlChanged; - - @CanIgnoreReturnValue - public @NonNull Builder setPhotoUrlChanged(@NonNull Boolean setterArg) { - this.photoUrlChanged = setterArg; - return this; - } - - public @NonNull InternalUserProfile build() { - InternalUserProfile pigeonReturn = new InternalUserProfile(); - pigeonReturn.setDisplayName(displayName); - pigeonReturn.setPhotoUrl(photoUrl); - pigeonReturn.setDisplayNameChanged(displayNameChanged); - pigeonReturn.setPhotoUrlChanged(photoUrlChanged); - return pigeonReturn; - } - } - - @NonNull - public ArrayList toList() { - ArrayList toListResult = new ArrayList<>(4); - toListResult.add(displayName); - toListResult.add(photoUrl); - toListResult.add(displayNameChanged); - toListResult.add(photoUrlChanged); - return toListResult; - } - - static @NonNull InternalUserProfile fromList(@NonNull ArrayList pigeonVar_list) { - InternalUserProfile pigeonResult = new InternalUserProfile(); - Object displayName = pigeonVar_list.get(0); - pigeonResult.setDisplayName((String) displayName); - Object photoUrl = pigeonVar_list.get(1); - pigeonResult.setPhotoUrl((String) photoUrl); - Object displayNameChanged = pigeonVar_list.get(2); - pigeonResult.setDisplayNameChanged((Boolean) displayNameChanged); - Object photoUrlChanged = pigeonVar_list.get(3); - pigeonResult.setPhotoUrlChanged((Boolean) photoUrlChanged); - return pigeonResult; - } - } - - /** Generated class from Pigeon that represents data sent in messages. */ - public static final class InternalTotpSecret { - private @Nullable Long codeIntervalSeconds; - - public @Nullable Long getCodeIntervalSeconds() { - return codeIntervalSeconds; - } - - public void setCodeIntervalSeconds(@Nullable Long setterArg) { - this.codeIntervalSeconds = setterArg; - } - - private @Nullable Long codeLength; - - public @Nullable Long getCodeLength() { - return codeLength; - } - - public void setCodeLength(@Nullable Long setterArg) { - this.codeLength = setterArg; - } - - private @Nullable Long enrollmentCompletionDeadline; - - public @Nullable Long getEnrollmentCompletionDeadline() { - return enrollmentCompletionDeadline; - } - - public void setEnrollmentCompletionDeadline(@Nullable Long setterArg) { - this.enrollmentCompletionDeadline = setterArg; - } - - private @Nullable String hashingAlgorithm; - - public @Nullable String getHashingAlgorithm() { - return hashingAlgorithm; - } - - public void setHashingAlgorithm(@Nullable String setterArg) { - this.hashingAlgorithm = setterArg; - } - - private @NonNull String secretKey; - - public @NonNull String getSecretKey() { - return secretKey; - } - - public void setSecretKey(@NonNull String setterArg) { - if (setterArg == null) { - throw new IllegalStateException("Nonnull field \"secretKey\" is null."); - } - this.secretKey = setterArg; - } - - /** Constructor is non-public to enforce null safety; use Builder. */ - InternalTotpSecret() {} - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - InternalTotpSecret that = (InternalTotpSecret) o; - return pigeonDeepEquals(codeIntervalSeconds, that.codeIntervalSeconds) - && pigeonDeepEquals(codeLength, that.codeLength) - && pigeonDeepEquals(enrollmentCompletionDeadline, that.enrollmentCompletionDeadline) - && pigeonDeepEquals(hashingAlgorithm, that.hashingAlgorithm) - && pigeonDeepEquals(secretKey, that.secretKey); - } - - @Override - public int hashCode() { - Object[] fields = - new Object[] { - getClass(), - codeIntervalSeconds, - codeLength, - enrollmentCompletionDeadline, - hashingAlgorithm, - secretKey - }; - return pigeonDeepHashCode(fields); - } - - public static final class Builder { - - private @Nullable Long codeIntervalSeconds; - - @CanIgnoreReturnValue - public @NonNull Builder setCodeIntervalSeconds(@Nullable Long setterArg) { - this.codeIntervalSeconds = setterArg; - return this; - } - - private @Nullable Long codeLength; - - @CanIgnoreReturnValue - public @NonNull Builder setCodeLength(@Nullable Long setterArg) { - this.codeLength = setterArg; - return this; - } - - private @Nullable Long enrollmentCompletionDeadline; - - @CanIgnoreReturnValue - public @NonNull Builder setEnrollmentCompletionDeadline(@Nullable Long setterArg) { - this.enrollmentCompletionDeadline = setterArg; - return this; - } - - private @Nullable String hashingAlgorithm; - - @CanIgnoreReturnValue - public @NonNull Builder setHashingAlgorithm(@Nullable String setterArg) { - this.hashingAlgorithm = setterArg; - return this; - } - - private @Nullable String secretKey; - - @CanIgnoreReturnValue - public @NonNull Builder setSecretKey(@NonNull String setterArg) { - this.secretKey = setterArg; - return this; - } - - public @NonNull InternalTotpSecret build() { - InternalTotpSecret pigeonReturn = new InternalTotpSecret(); - pigeonReturn.setCodeIntervalSeconds(codeIntervalSeconds); - pigeonReturn.setCodeLength(codeLength); - pigeonReturn.setEnrollmentCompletionDeadline(enrollmentCompletionDeadline); - pigeonReturn.setHashingAlgorithm(hashingAlgorithm); - pigeonReturn.setSecretKey(secretKey); - return pigeonReturn; - } - } - - @NonNull - public ArrayList toList() { - ArrayList toListResult = new ArrayList<>(5); - toListResult.add(codeIntervalSeconds); - toListResult.add(codeLength); - toListResult.add(enrollmentCompletionDeadline); - toListResult.add(hashingAlgorithm); - toListResult.add(secretKey); - return toListResult; - } - - static @NonNull InternalTotpSecret fromList(@NonNull ArrayList pigeonVar_list) { - InternalTotpSecret pigeonResult = new InternalTotpSecret(); - Object codeIntervalSeconds = pigeonVar_list.get(0); - pigeonResult.setCodeIntervalSeconds((Long) codeIntervalSeconds); - Object codeLength = pigeonVar_list.get(1); - pigeonResult.setCodeLength((Long) codeLength); - Object enrollmentCompletionDeadline = pigeonVar_list.get(2); - pigeonResult.setEnrollmentCompletionDeadline((Long) enrollmentCompletionDeadline); - Object hashingAlgorithm = pigeonVar_list.get(3); - pigeonResult.setHashingAlgorithm((String) hashingAlgorithm); - Object secretKey = pigeonVar_list.get(4); - pigeonResult.setSecretKey((String) secretKey); - return pigeonResult; - } - } - - private static class PigeonCodec extends StandardMessageCodec { - public static final PigeonCodec INSTANCE = new PigeonCodec(); - - private PigeonCodec() {} - - @Override - protected Object readValueOfType(byte type, @NonNull ByteBuffer buffer) { - switch (type) { - case (byte) 129: - { - Object value = readValue(buffer); - return value == null - ? null - : ActionCodeInfoOperation.values()[((Long) value).intValue()]; - } - case (byte) 130: - return InternalMultiFactorSession.fromList((ArrayList) readValue(buffer)); - case (byte) 131: - return InternalPhoneMultiFactorAssertion.fromList((ArrayList) readValue(buffer)); - case (byte) 132: - return InternalMultiFactorInfo.fromList((ArrayList) readValue(buffer)); - case (byte) 133: - return AuthPigeonFirebaseApp.fromList((ArrayList) readValue(buffer)); - case (byte) 134: - return InternalActionCodeInfoData.fromList((ArrayList) readValue(buffer)); - case (byte) 135: - return InternalActionCodeInfo.fromList((ArrayList) readValue(buffer)); - case (byte) 136: - return InternalAdditionalUserInfo.fromList((ArrayList) readValue(buffer)); - case (byte) 137: - return InternalAuthCredential.fromList((ArrayList) readValue(buffer)); - case (byte) 138: - return InternalUserInfo.fromList((ArrayList) readValue(buffer)); - case (byte) 139: - return InternalUserDetails.fromList((ArrayList) readValue(buffer)); - case (byte) 140: - return InternalUserCredential.fromList((ArrayList) readValue(buffer)); - case (byte) 141: - return InternalAuthCredentialInput.fromList((ArrayList) readValue(buffer)); - case (byte) 142: - return InternalActionCodeSettings.fromList((ArrayList) readValue(buffer)); - case (byte) 143: - return InternalFirebaseAuthSettings.fromList((ArrayList) readValue(buffer)); - case (byte) 144: - return InternalSignInProvider.fromList((ArrayList) readValue(buffer)); - case (byte) 145: - return InternalVerifyPhoneNumberRequest.fromList((ArrayList) readValue(buffer)); - case (byte) 146: - return InternalIdTokenResult.fromList((ArrayList) readValue(buffer)); - case (byte) 147: - return InternalUserProfile.fromList((ArrayList) readValue(buffer)); - case (byte) 148: - return InternalTotpSecret.fromList((ArrayList) readValue(buffer)); - default: - return super.readValueOfType(type, buffer); - } - } - - @Override - protected void writeValue(@NonNull ByteArrayOutputStream stream, Object value) { - if (value instanceof ActionCodeInfoOperation) { - stream.write(129); - writeValue(stream, value == null ? null : ((ActionCodeInfoOperation) value).index); - } else if (value instanceof InternalMultiFactorSession) { - stream.write(130); - writeValue(stream, ((InternalMultiFactorSession) value).toList()); - } else if (value instanceof InternalPhoneMultiFactorAssertion) { - stream.write(131); - writeValue(stream, ((InternalPhoneMultiFactorAssertion) value).toList()); - } else if (value instanceof InternalMultiFactorInfo) { - stream.write(132); - writeValue(stream, ((InternalMultiFactorInfo) value).toList()); - } else if (value instanceof AuthPigeonFirebaseApp) { - stream.write(133); - writeValue(stream, ((AuthPigeonFirebaseApp) value).toList()); - } else if (value instanceof InternalActionCodeInfoData) { - stream.write(134); - writeValue(stream, ((InternalActionCodeInfoData) value).toList()); - } else if (value instanceof InternalActionCodeInfo) { - stream.write(135); - writeValue(stream, ((InternalActionCodeInfo) value).toList()); - } else if (value instanceof InternalAdditionalUserInfo) { - stream.write(136); - writeValue(stream, ((InternalAdditionalUserInfo) value).toList()); - } else if (value instanceof InternalAuthCredential) { - stream.write(137); - writeValue(stream, ((InternalAuthCredential) value).toList()); - } else if (value instanceof InternalUserInfo) { - stream.write(138); - writeValue(stream, ((InternalUserInfo) value).toList()); - } else if (value instanceof InternalUserDetails) { - stream.write(139); - writeValue(stream, ((InternalUserDetails) value).toList()); - } else if (value instanceof InternalUserCredential) { - stream.write(140); - writeValue(stream, ((InternalUserCredential) value).toList()); - } else if (value instanceof InternalAuthCredentialInput) { - stream.write(141); - writeValue(stream, ((InternalAuthCredentialInput) value).toList()); - } else if (value instanceof InternalActionCodeSettings) { - stream.write(142); - writeValue(stream, ((InternalActionCodeSettings) value).toList()); - } else if (value instanceof InternalFirebaseAuthSettings) { - stream.write(143); - writeValue(stream, ((InternalFirebaseAuthSettings) value).toList()); - } else if (value instanceof InternalSignInProvider) { - stream.write(144); - writeValue(stream, ((InternalSignInProvider) value).toList()); - } else if (value instanceof InternalVerifyPhoneNumberRequest) { - stream.write(145); - writeValue(stream, ((InternalVerifyPhoneNumberRequest) value).toList()); - } else if (value instanceof InternalIdTokenResult) { - stream.write(146); - writeValue(stream, ((InternalIdTokenResult) value).toList()); - } else if (value instanceof InternalUserProfile) { - stream.write(147); - writeValue(stream, ((InternalUserProfile) value).toList()); - } else if (value instanceof InternalTotpSecret) { - stream.write(148); - writeValue(stream, ((InternalTotpSecret) value).toList()); - } else { - super.writeValue(stream, value); - } - } - } - - /** Asynchronous error handling return type for non-nullable API method returns. */ - public interface Result { - /** Success case callback method for handling returns. */ - void success(@NonNull T result); - - /** Failure case callback method for handling errors. */ - void error(@NonNull Throwable error); - } - - /** Asynchronous error handling return type for nullable API method returns. */ - public interface NullableResult { - /** Success case callback method for handling returns. */ - void success(@Nullable T result); - - /** Failure case callback method for handling errors. */ - void error(@NonNull Throwable error); - } - - /** Asynchronous error handling return type for void API method returns. */ - public interface VoidResult { - /** Success case callback method for handling returns. */ - void success(); - - /** Failure case callback method for handling errors. */ - void error(@NonNull Throwable error); - } - - /** Generated interface from Pigeon that represents a handler of messages from Flutter. */ - public interface FirebaseAuthHostApi { - - void registerIdTokenListener( - @NonNull AuthPigeonFirebaseApp app, @NonNull Result result); - - void registerAuthStateListener( - @NonNull AuthPigeonFirebaseApp app, @NonNull Result result); - - void useEmulator( - @NonNull AuthPigeonFirebaseApp app, - @NonNull String host, - @NonNull Long port, - @NonNull VoidResult result); - - void applyActionCode( - @NonNull AuthPigeonFirebaseApp app, @NonNull String code, @NonNull VoidResult result); - - void checkActionCode( - @NonNull AuthPigeonFirebaseApp app, - @NonNull String code, - @NonNull Result result); - - void confirmPasswordReset( - @NonNull AuthPigeonFirebaseApp app, - @NonNull String code, - @NonNull String newPassword, - @NonNull VoidResult result); - - void createUserWithEmailAndPassword( - @NonNull AuthPigeonFirebaseApp app, - @NonNull String email, - @NonNull String password, - @NonNull Result result); - - void signInAnonymously( - @NonNull AuthPigeonFirebaseApp app, @NonNull Result result); - - void signInWithCredential( - @NonNull AuthPigeonFirebaseApp app, - @NonNull Map input, - @NonNull Result result); - - void signInWithCustomToken( - @NonNull AuthPigeonFirebaseApp app, - @NonNull String token, - @NonNull Result result); - - void signInWithEmailAndPassword( - @NonNull AuthPigeonFirebaseApp app, - @NonNull String email, - @NonNull String password, - @NonNull Result result); - - void signInWithEmailLink( - @NonNull AuthPigeonFirebaseApp app, - @NonNull String email, - @NonNull String emailLink, - @NonNull Result result); - - void signInWithProvider( - @NonNull AuthPigeonFirebaseApp app, - @NonNull InternalSignInProvider signInProvider, - @NonNull Result result); - - void signOut(@NonNull AuthPigeonFirebaseApp app, @NonNull VoidResult result); - - void fetchSignInMethodsForEmail( - @NonNull AuthPigeonFirebaseApp app, - @NonNull String email, - @NonNull Result> result); - - void sendPasswordResetEmail( - @NonNull AuthPigeonFirebaseApp app, - @NonNull String email, - @Nullable InternalActionCodeSettings actionCodeSettings, - @NonNull VoidResult result); - - void sendSignInLinkToEmail( - @NonNull AuthPigeonFirebaseApp app, - @NonNull String email, - @NonNull InternalActionCodeSettings actionCodeSettings, - @NonNull VoidResult result); - - void setLanguageCode( - @NonNull AuthPigeonFirebaseApp app, - @Nullable String languageCode, - @NonNull Result result); - - void setSettings( - @NonNull AuthPigeonFirebaseApp app, - @NonNull InternalFirebaseAuthSettings settings, - @NonNull VoidResult result); - - void verifyPasswordResetCode( - @NonNull AuthPigeonFirebaseApp app, @NonNull String code, @NonNull Result result); - - void verifyPhoneNumber( - @NonNull AuthPigeonFirebaseApp app, - @NonNull InternalVerifyPhoneNumberRequest request, - @NonNull Result result); - - void revokeTokenWithAuthorizationCode( - @NonNull AuthPigeonFirebaseApp app, - @NonNull String authorizationCode, - @NonNull VoidResult result); - - void revokeAccessToken( - @NonNull AuthPigeonFirebaseApp app, - @NonNull String accessToken, - @NonNull VoidResult result); - - void initializeRecaptchaConfig(@NonNull AuthPigeonFirebaseApp app, @NonNull VoidResult result); - - /** The codec used by FirebaseAuthHostApi. */ - static @NonNull MessageCodec getCodec() { - return PigeonCodec.INSTANCE; - } - - /** - * Sets up an instance of `FirebaseAuthHostApi` to handle messages through the - * `binaryMessenger`. - */ - static void setUp(@NonNull BinaryMessenger binaryMessenger, @Nullable FirebaseAuthHostApi api) { - setUp(binaryMessenger, "", api); - } - - static void setUp( - @NonNull BinaryMessenger binaryMessenger, - @NonNull String messageChannelSuffix, - @Nullable FirebaseAuthHostApi api) { - messageChannelSuffix = messageChannelSuffix.isEmpty() ? "" : "." + messageChannelSuffix; - { - BasicMessageChannel channel = - new BasicMessageChannel<>( - binaryMessenger, - "dev.flutter.pigeon.firebase_auth_platform_interface.FirebaseAuthHostApi.registerIdTokenListener" - + messageChannelSuffix, - getCodec()); - if (api != null) { - channel.setMessageHandler( - (message, reply) -> { - ArrayList wrapped = new ArrayList<>(); - ArrayList args = (ArrayList) message; - AuthPigeonFirebaseApp appArg = (AuthPigeonFirebaseApp) args.get(0); - Result resultCallback = - new Result() { - public void success(String result) { - wrapped.add(0, result); - reply.reply(wrapped); - } - - public void error(Throwable error) { - ArrayList wrappedError = wrapError(error); - reply.reply(wrappedError); - } - }; - - api.registerIdTokenListener(appArg, resultCallback); - }); - } else { - channel.setMessageHandler(null); - } - } - { - BasicMessageChannel channel = - new BasicMessageChannel<>( - binaryMessenger, - "dev.flutter.pigeon.firebase_auth_platform_interface.FirebaseAuthHostApi.registerAuthStateListener" - + messageChannelSuffix, - getCodec()); - if (api != null) { - channel.setMessageHandler( - (message, reply) -> { - ArrayList wrapped = new ArrayList<>(); - ArrayList args = (ArrayList) message; - AuthPigeonFirebaseApp appArg = (AuthPigeonFirebaseApp) args.get(0); - Result resultCallback = - new Result() { - public void success(String result) { - wrapped.add(0, result); - reply.reply(wrapped); - } - - public void error(Throwable error) { - ArrayList wrappedError = wrapError(error); - reply.reply(wrappedError); - } - }; - - api.registerAuthStateListener(appArg, resultCallback); - }); - } else { - channel.setMessageHandler(null); - } - } - { - BasicMessageChannel channel = - new BasicMessageChannel<>( - binaryMessenger, - "dev.flutter.pigeon.firebase_auth_platform_interface.FirebaseAuthHostApi.useEmulator" - + messageChannelSuffix, - getCodec()); - if (api != null) { - channel.setMessageHandler( - (message, reply) -> { - ArrayList wrapped = new ArrayList<>(); - ArrayList args = (ArrayList) message; - AuthPigeonFirebaseApp appArg = (AuthPigeonFirebaseApp) args.get(0); - String hostArg = (String) args.get(1); - Long portArg = (Long) args.get(2); - VoidResult resultCallback = - new VoidResult() { - public void success() { - wrapped.add(0, null); - reply.reply(wrapped); - } - - public void error(Throwable error) { - ArrayList wrappedError = wrapError(error); - reply.reply(wrappedError); - } - }; - - api.useEmulator(appArg, hostArg, portArg, resultCallback); - }); - } else { - channel.setMessageHandler(null); - } - } - { - BasicMessageChannel channel = - new BasicMessageChannel<>( - binaryMessenger, - "dev.flutter.pigeon.firebase_auth_platform_interface.FirebaseAuthHostApi.applyActionCode" - + messageChannelSuffix, - getCodec()); - if (api != null) { - channel.setMessageHandler( - (message, reply) -> { - ArrayList wrapped = new ArrayList<>(); - ArrayList args = (ArrayList) message; - AuthPigeonFirebaseApp appArg = (AuthPigeonFirebaseApp) args.get(0); - String codeArg = (String) args.get(1); - VoidResult resultCallback = - new VoidResult() { - public void success() { - wrapped.add(0, null); - reply.reply(wrapped); - } - - public void error(Throwable error) { - ArrayList wrappedError = wrapError(error); - reply.reply(wrappedError); - } - }; - - api.applyActionCode(appArg, codeArg, resultCallback); - }); - } else { - channel.setMessageHandler(null); - } - } - { - BasicMessageChannel channel = - new BasicMessageChannel<>( - binaryMessenger, - "dev.flutter.pigeon.firebase_auth_platform_interface.FirebaseAuthHostApi.checkActionCode" - + messageChannelSuffix, - getCodec()); - if (api != null) { - channel.setMessageHandler( - (message, reply) -> { - ArrayList wrapped = new ArrayList<>(); - ArrayList args = (ArrayList) message; - AuthPigeonFirebaseApp appArg = (AuthPigeonFirebaseApp) args.get(0); - String codeArg = (String) args.get(1); - Result resultCallback = - new Result() { - public void success(InternalActionCodeInfo result) { - wrapped.add(0, result); - reply.reply(wrapped); - } - - public void error(Throwable error) { - ArrayList wrappedError = wrapError(error); - reply.reply(wrappedError); - } - }; - - api.checkActionCode(appArg, codeArg, resultCallback); - }); - } else { - channel.setMessageHandler(null); - } - } - { - BasicMessageChannel channel = - new BasicMessageChannel<>( - binaryMessenger, - "dev.flutter.pigeon.firebase_auth_platform_interface.FirebaseAuthHostApi.confirmPasswordReset" - + messageChannelSuffix, - getCodec()); - if (api != null) { - channel.setMessageHandler( - (message, reply) -> { - ArrayList wrapped = new ArrayList<>(); - ArrayList args = (ArrayList) message; - AuthPigeonFirebaseApp appArg = (AuthPigeonFirebaseApp) args.get(0); - String codeArg = (String) args.get(1); - String newPasswordArg = (String) args.get(2); - VoidResult resultCallback = - new VoidResult() { - public void success() { - wrapped.add(0, null); - reply.reply(wrapped); - } - - public void error(Throwable error) { - ArrayList wrappedError = wrapError(error); - reply.reply(wrappedError); - } - }; - - api.confirmPasswordReset(appArg, codeArg, newPasswordArg, resultCallback); - }); - } else { - channel.setMessageHandler(null); - } - } - { - BasicMessageChannel channel = - new BasicMessageChannel<>( - binaryMessenger, - "dev.flutter.pigeon.firebase_auth_platform_interface.FirebaseAuthHostApi.createUserWithEmailAndPassword" - + messageChannelSuffix, - getCodec()); - if (api != null) { - channel.setMessageHandler( - (message, reply) -> { - ArrayList wrapped = new ArrayList<>(); - ArrayList args = (ArrayList) message; - AuthPigeonFirebaseApp appArg = (AuthPigeonFirebaseApp) args.get(0); - String emailArg = (String) args.get(1); - String passwordArg = (String) args.get(2); - Result resultCallback = - new Result() { - public void success(InternalUserCredential result) { - wrapped.add(0, result); - reply.reply(wrapped); - } - - public void error(Throwable error) { - ArrayList wrappedError = wrapError(error); - reply.reply(wrappedError); - } - }; - - api.createUserWithEmailAndPassword(appArg, emailArg, passwordArg, resultCallback); - }); - } else { - channel.setMessageHandler(null); - } - } - { - BasicMessageChannel channel = - new BasicMessageChannel<>( - binaryMessenger, - "dev.flutter.pigeon.firebase_auth_platform_interface.FirebaseAuthHostApi.signInAnonymously" - + messageChannelSuffix, - getCodec()); - if (api != null) { - channel.setMessageHandler( - (message, reply) -> { - ArrayList wrapped = new ArrayList<>(); - ArrayList args = (ArrayList) message; - AuthPigeonFirebaseApp appArg = (AuthPigeonFirebaseApp) args.get(0); - Result resultCallback = - new Result() { - public void success(InternalUserCredential result) { - wrapped.add(0, result); - reply.reply(wrapped); - } - - public void error(Throwable error) { - ArrayList wrappedError = wrapError(error); - reply.reply(wrappedError); - } - }; - - api.signInAnonymously(appArg, resultCallback); - }); - } else { - channel.setMessageHandler(null); - } - } - { - BasicMessageChannel channel = - new BasicMessageChannel<>( - binaryMessenger, - "dev.flutter.pigeon.firebase_auth_platform_interface.FirebaseAuthHostApi.signInWithCredential" - + messageChannelSuffix, - getCodec()); - if (api != null) { - channel.setMessageHandler( - (message, reply) -> { - ArrayList wrapped = new ArrayList<>(); - ArrayList args = (ArrayList) message; - AuthPigeonFirebaseApp appArg = (AuthPigeonFirebaseApp) args.get(0); - Map inputArg = (Map) args.get(1); - Result resultCallback = - new Result() { - public void success(InternalUserCredential result) { - wrapped.add(0, result); - reply.reply(wrapped); - } - - public void error(Throwable error) { - ArrayList wrappedError = wrapError(error); - reply.reply(wrappedError); - } - }; - - api.signInWithCredential(appArg, inputArg, resultCallback); - }); - } else { - channel.setMessageHandler(null); - } - } - { - BasicMessageChannel channel = - new BasicMessageChannel<>( - binaryMessenger, - "dev.flutter.pigeon.firebase_auth_platform_interface.FirebaseAuthHostApi.signInWithCustomToken" - + messageChannelSuffix, - getCodec()); - if (api != null) { - channel.setMessageHandler( - (message, reply) -> { - ArrayList wrapped = new ArrayList<>(); - ArrayList args = (ArrayList) message; - AuthPigeonFirebaseApp appArg = (AuthPigeonFirebaseApp) args.get(0); - String tokenArg = (String) args.get(1); - Result resultCallback = - new Result() { - public void success(InternalUserCredential result) { - wrapped.add(0, result); - reply.reply(wrapped); - } - - public void error(Throwable error) { - ArrayList wrappedError = wrapError(error); - reply.reply(wrappedError); - } - }; - - api.signInWithCustomToken(appArg, tokenArg, resultCallback); - }); - } else { - channel.setMessageHandler(null); - } - } - { - BasicMessageChannel channel = - new BasicMessageChannel<>( - binaryMessenger, - "dev.flutter.pigeon.firebase_auth_platform_interface.FirebaseAuthHostApi.signInWithEmailAndPassword" - + messageChannelSuffix, - getCodec()); - if (api != null) { - channel.setMessageHandler( - (message, reply) -> { - ArrayList wrapped = new ArrayList<>(); - ArrayList args = (ArrayList) message; - AuthPigeonFirebaseApp appArg = (AuthPigeonFirebaseApp) args.get(0); - String emailArg = (String) args.get(1); - String passwordArg = (String) args.get(2); - Result resultCallback = - new Result() { - public void success(InternalUserCredential result) { - wrapped.add(0, result); - reply.reply(wrapped); - } - - public void error(Throwable error) { - ArrayList wrappedError = wrapError(error); - reply.reply(wrappedError); - } - }; - - api.signInWithEmailAndPassword(appArg, emailArg, passwordArg, resultCallback); - }); - } else { - channel.setMessageHandler(null); - } - } - { - BasicMessageChannel channel = - new BasicMessageChannel<>( - binaryMessenger, - "dev.flutter.pigeon.firebase_auth_platform_interface.FirebaseAuthHostApi.signInWithEmailLink" - + messageChannelSuffix, - getCodec()); - if (api != null) { - channel.setMessageHandler( - (message, reply) -> { - ArrayList wrapped = new ArrayList<>(); - ArrayList args = (ArrayList) message; - AuthPigeonFirebaseApp appArg = (AuthPigeonFirebaseApp) args.get(0); - String emailArg = (String) args.get(1); - String emailLinkArg = (String) args.get(2); - Result resultCallback = - new Result() { - public void success(InternalUserCredential result) { - wrapped.add(0, result); - reply.reply(wrapped); - } - - public void error(Throwable error) { - ArrayList wrappedError = wrapError(error); - reply.reply(wrappedError); - } - }; - - api.signInWithEmailLink(appArg, emailArg, emailLinkArg, resultCallback); - }); - } else { - channel.setMessageHandler(null); - } - } - { - BasicMessageChannel channel = - new BasicMessageChannel<>( - binaryMessenger, - "dev.flutter.pigeon.firebase_auth_platform_interface.FirebaseAuthHostApi.signInWithProvider" - + messageChannelSuffix, - getCodec()); - if (api != null) { - channel.setMessageHandler( - (message, reply) -> { - ArrayList wrapped = new ArrayList<>(); - ArrayList args = (ArrayList) message; - AuthPigeonFirebaseApp appArg = (AuthPigeonFirebaseApp) args.get(0); - InternalSignInProvider signInProviderArg = (InternalSignInProvider) args.get(1); - Result resultCallback = - new Result() { - public void success(InternalUserCredential result) { - wrapped.add(0, result); - reply.reply(wrapped); - } - - public void error(Throwable error) { - ArrayList wrappedError = wrapError(error); - reply.reply(wrappedError); - } - }; - - api.signInWithProvider(appArg, signInProviderArg, resultCallback); - }); - } else { - channel.setMessageHandler(null); - } - } - { - BasicMessageChannel channel = - new BasicMessageChannel<>( - binaryMessenger, - "dev.flutter.pigeon.firebase_auth_platform_interface.FirebaseAuthHostApi.signOut" - + messageChannelSuffix, - getCodec()); - if (api != null) { - channel.setMessageHandler( - (message, reply) -> { - ArrayList wrapped = new ArrayList<>(); - ArrayList args = (ArrayList) message; - AuthPigeonFirebaseApp appArg = (AuthPigeonFirebaseApp) args.get(0); - VoidResult resultCallback = - new VoidResult() { - public void success() { - wrapped.add(0, null); - reply.reply(wrapped); - } - - public void error(Throwable error) { - ArrayList wrappedError = wrapError(error); - reply.reply(wrappedError); - } - }; - - api.signOut(appArg, resultCallback); - }); - } else { - channel.setMessageHandler(null); - } - } - { - BasicMessageChannel channel = - new BasicMessageChannel<>( - binaryMessenger, - "dev.flutter.pigeon.firebase_auth_platform_interface.FirebaseAuthHostApi.fetchSignInMethodsForEmail" - + messageChannelSuffix, - getCodec()); - if (api != null) { - channel.setMessageHandler( - (message, reply) -> { - ArrayList wrapped = new ArrayList<>(); - ArrayList args = (ArrayList) message; - AuthPigeonFirebaseApp appArg = (AuthPigeonFirebaseApp) args.get(0); - String emailArg = (String) args.get(1); - Result> resultCallback = - new Result>() { - public void success(List result) { - wrapped.add(0, result); - reply.reply(wrapped); - } - - public void error(Throwable error) { - ArrayList wrappedError = wrapError(error); - reply.reply(wrappedError); - } - }; - - api.fetchSignInMethodsForEmail(appArg, emailArg, resultCallback); - }); - } else { - channel.setMessageHandler(null); - } - } - { - BasicMessageChannel channel = - new BasicMessageChannel<>( - binaryMessenger, - "dev.flutter.pigeon.firebase_auth_platform_interface.FirebaseAuthHostApi.sendPasswordResetEmail" - + messageChannelSuffix, - getCodec()); - if (api != null) { - channel.setMessageHandler( - (message, reply) -> { - ArrayList wrapped = new ArrayList<>(); - ArrayList args = (ArrayList) message; - AuthPigeonFirebaseApp appArg = (AuthPigeonFirebaseApp) args.get(0); - String emailArg = (String) args.get(1); - InternalActionCodeSettings actionCodeSettingsArg = - (InternalActionCodeSettings) args.get(2); - VoidResult resultCallback = - new VoidResult() { - public void success() { - wrapped.add(0, null); - reply.reply(wrapped); - } - - public void error(Throwable error) { - ArrayList wrappedError = wrapError(error); - reply.reply(wrappedError); - } - }; - - api.sendPasswordResetEmail(appArg, emailArg, actionCodeSettingsArg, resultCallback); - }); - } else { - channel.setMessageHandler(null); - } - } - { - BasicMessageChannel channel = - new BasicMessageChannel<>( - binaryMessenger, - "dev.flutter.pigeon.firebase_auth_platform_interface.FirebaseAuthHostApi.sendSignInLinkToEmail" - + messageChannelSuffix, - getCodec()); - if (api != null) { - channel.setMessageHandler( - (message, reply) -> { - ArrayList wrapped = new ArrayList<>(); - ArrayList args = (ArrayList) message; - AuthPigeonFirebaseApp appArg = (AuthPigeonFirebaseApp) args.get(0); - String emailArg = (String) args.get(1); - InternalActionCodeSettings actionCodeSettingsArg = - (InternalActionCodeSettings) args.get(2); - VoidResult resultCallback = - new VoidResult() { - public void success() { - wrapped.add(0, null); - reply.reply(wrapped); - } - - public void error(Throwable error) { - ArrayList wrappedError = wrapError(error); - reply.reply(wrappedError); - } - }; - - api.sendSignInLinkToEmail(appArg, emailArg, actionCodeSettingsArg, resultCallback); - }); - } else { - channel.setMessageHandler(null); - } - } - { - BasicMessageChannel channel = - new BasicMessageChannel<>( - binaryMessenger, - "dev.flutter.pigeon.firebase_auth_platform_interface.FirebaseAuthHostApi.setLanguageCode" - + messageChannelSuffix, - getCodec()); - if (api != null) { - channel.setMessageHandler( - (message, reply) -> { - ArrayList wrapped = new ArrayList<>(); - ArrayList args = (ArrayList) message; - AuthPigeonFirebaseApp appArg = (AuthPigeonFirebaseApp) args.get(0); - String languageCodeArg = (String) args.get(1); - Result resultCallback = - new Result() { - public void success(String result) { - wrapped.add(0, result); - reply.reply(wrapped); - } - - public void error(Throwable error) { - ArrayList wrappedError = wrapError(error); - reply.reply(wrappedError); - } - }; - - api.setLanguageCode(appArg, languageCodeArg, resultCallback); - }); - } else { - channel.setMessageHandler(null); - } - } - { - BasicMessageChannel channel = - new BasicMessageChannel<>( - binaryMessenger, - "dev.flutter.pigeon.firebase_auth_platform_interface.FirebaseAuthHostApi.setSettings" - + messageChannelSuffix, - getCodec()); - if (api != null) { - channel.setMessageHandler( - (message, reply) -> { - ArrayList wrapped = new ArrayList<>(); - ArrayList args = (ArrayList) message; - AuthPigeonFirebaseApp appArg = (AuthPigeonFirebaseApp) args.get(0); - InternalFirebaseAuthSettings settingsArg = - (InternalFirebaseAuthSettings) args.get(1); - VoidResult resultCallback = - new VoidResult() { - public void success() { - wrapped.add(0, null); - reply.reply(wrapped); - } - - public void error(Throwable error) { - ArrayList wrappedError = wrapError(error); - reply.reply(wrappedError); - } - }; - - api.setSettings(appArg, settingsArg, resultCallback); - }); - } else { - channel.setMessageHandler(null); - } - } - { - BasicMessageChannel channel = - new BasicMessageChannel<>( - binaryMessenger, - "dev.flutter.pigeon.firebase_auth_platform_interface.FirebaseAuthHostApi.verifyPasswordResetCode" - + messageChannelSuffix, - getCodec()); - if (api != null) { - channel.setMessageHandler( - (message, reply) -> { - ArrayList wrapped = new ArrayList<>(); - ArrayList args = (ArrayList) message; - AuthPigeonFirebaseApp appArg = (AuthPigeonFirebaseApp) args.get(0); - String codeArg = (String) args.get(1); - Result resultCallback = - new Result() { - public void success(String result) { - wrapped.add(0, result); - reply.reply(wrapped); - } - - public void error(Throwable error) { - ArrayList wrappedError = wrapError(error); - reply.reply(wrappedError); - } - }; - - api.verifyPasswordResetCode(appArg, codeArg, resultCallback); - }); - } else { - channel.setMessageHandler(null); - } - } - { - BasicMessageChannel channel = - new BasicMessageChannel<>( - binaryMessenger, - "dev.flutter.pigeon.firebase_auth_platform_interface.FirebaseAuthHostApi.verifyPhoneNumber" - + messageChannelSuffix, - getCodec()); - if (api != null) { - channel.setMessageHandler( - (message, reply) -> { - ArrayList wrapped = new ArrayList<>(); - ArrayList args = (ArrayList) message; - AuthPigeonFirebaseApp appArg = (AuthPigeonFirebaseApp) args.get(0); - InternalVerifyPhoneNumberRequest requestArg = - (InternalVerifyPhoneNumberRequest) args.get(1); - Result resultCallback = - new Result() { - public void success(String result) { - wrapped.add(0, result); - reply.reply(wrapped); - } - - public void error(Throwable error) { - ArrayList wrappedError = wrapError(error); - reply.reply(wrappedError); - } - }; - - api.verifyPhoneNumber(appArg, requestArg, resultCallback); - }); - } else { - channel.setMessageHandler(null); - } - } - { - BasicMessageChannel channel = - new BasicMessageChannel<>( - binaryMessenger, - "dev.flutter.pigeon.firebase_auth_platform_interface.FirebaseAuthHostApi.revokeTokenWithAuthorizationCode" - + messageChannelSuffix, - getCodec()); - if (api != null) { - channel.setMessageHandler( - (message, reply) -> { - ArrayList wrapped = new ArrayList<>(); - ArrayList args = (ArrayList) message; - AuthPigeonFirebaseApp appArg = (AuthPigeonFirebaseApp) args.get(0); - String authorizationCodeArg = (String) args.get(1); - VoidResult resultCallback = - new VoidResult() { - public void success() { - wrapped.add(0, null); - reply.reply(wrapped); - } - - public void error(Throwable error) { - ArrayList wrappedError = wrapError(error); - reply.reply(wrappedError); - } - }; - - api.revokeTokenWithAuthorizationCode(appArg, authorizationCodeArg, resultCallback); - }); - } else { - channel.setMessageHandler(null); - } - } - { - BasicMessageChannel channel = - new BasicMessageChannel<>( - binaryMessenger, - "dev.flutter.pigeon.firebase_auth_platform_interface.FirebaseAuthHostApi.revokeAccessToken" - + messageChannelSuffix, - getCodec()); - if (api != null) { - channel.setMessageHandler( - (message, reply) -> { - ArrayList wrapped = new ArrayList<>(); - ArrayList args = (ArrayList) message; - AuthPigeonFirebaseApp appArg = (AuthPigeonFirebaseApp) args.get(0); - String accessTokenArg = (String) args.get(1); - VoidResult resultCallback = - new VoidResult() { - public void success() { - wrapped.add(0, null); - reply.reply(wrapped); - } - - public void error(Throwable error) { - ArrayList wrappedError = wrapError(error); - reply.reply(wrappedError); - } - }; - - api.revokeAccessToken(appArg, accessTokenArg, resultCallback); - }); - } else { - channel.setMessageHandler(null); - } - } - { - BasicMessageChannel channel = - new BasicMessageChannel<>( - binaryMessenger, - "dev.flutter.pigeon.firebase_auth_platform_interface.FirebaseAuthHostApi.initializeRecaptchaConfig" - + messageChannelSuffix, - getCodec()); - if (api != null) { - channel.setMessageHandler( - (message, reply) -> { - ArrayList wrapped = new ArrayList<>(); - ArrayList args = (ArrayList) message; - AuthPigeonFirebaseApp appArg = (AuthPigeonFirebaseApp) args.get(0); - VoidResult resultCallback = - new VoidResult() { - public void success() { - wrapped.add(0, null); - reply.reply(wrapped); - } - - public void error(Throwable error) { - ArrayList wrappedError = wrapError(error); - reply.reply(wrappedError); - } - }; - - api.initializeRecaptchaConfig(appArg, resultCallback); - }); - } else { - channel.setMessageHandler(null); - } - } - } - } - - /** Generated interface from Pigeon that represents a handler of messages from Flutter. */ - public interface FirebaseAuthUserHostApi { - - void delete(@NonNull AuthPigeonFirebaseApp app, @NonNull VoidResult result); - - void getIdToken( - @NonNull AuthPigeonFirebaseApp app, - @NonNull Boolean forceRefresh, - @NonNull Result result); - - void linkWithCredential( - @NonNull AuthPigeonFirebaseApp app, - @NonNull Map input, - @NonNull Result result); - - void linkWithProvider( - @NonNull AuthPigeonFirebaseApp app, - @NonNull InternalSignInProvider signInProvider, - @NonNull Result result); - - void reauthenticateWithCredential( - @NonNull AuthPigeonFirebaseApp app, - @NonNull Map input, - @NonNull Result result); - - void reauthenticateWithProvider( - @NonNull AuthPigeonFirebaseApp app, - @NonNull InternalSignInProvider signInProvider, - @NonNull Result result); - - void reload(@NonNull AuthPigeonFirebaseApp app, @NonNull Result result); - - void sendEmailVerification( - @NonNull AuthPigeonFirebaseApp app, - @Nullable InternalActionCodeSettings actionCodeSettings, - @NonNull VoidResult result); - - void unlink( - @NonNull AuthPigeonFirebaseApp app, - @NonNull String providerId, - @NonNull Result result); - - void updateEmail( - @NonNull AuthPigeonFirebaseApp app, - @NonNull String newEmail, - @NonNull Result result); - - void updatePassword( - @NonNull AuthPigeonFirebaseApp app, - @NonNull String newPassword, - @NonNull Result result); - - void updatePhoneNumber( - @NonNull AuthPigeonFirebaseApp app, - @NonNull Map input, - @NonNull Result result); - - void updateProfile( - @NonNull AuthPigeonFirebaseApp app, - @NonNull InternalUserProfile profile, - @NonNull Result result); - - void verifyBeforeUpdateEmail( - @NonNull AuthPigeonFirebaseApp app, - @NonNull String newEmail, - @Nullable InternalActionCodeSettings actionCodeSettings, - @NonNull VoidResult result); - - /** The codec used by FirebaseAuthUserHostApi. */ - static @NonNull MessageCodec getCodec() { - return PigeonCodec.INSTANCE; - } - - /** - * Sets up an instance of `FirebaseAuthUserHostApi` to handle messages through the - * `binaryMessenger`. - */ - static void setUp( - @NonNull BinaryMessenger binaryMessenger, @Nullable FirebaseAuthUserHostApi api) { - setUp(binaryMessenger, "", api); - } - - static void setUp( - @NonNull BinaryMessenger binaryMessenger, - @NonNull String messageChannelSuffix, - @Nullable FirebaseAuthUserHostApi api) { - messageChannelSuffix = messageChannelSuffix.isEmpty() ? "" : "." + messageChannelSuffix; - { - BasicMessageChannel channel = - new BasicMessageChannel<>( - binaryMessenger, - "dev.flutter.pigeon.firebase_auth_platform_interface.FirebaseAuthUserHostApi.delete" - + messageChannelSuffix, - getCodec()); - if (api != null) { - channel.setMessageHandler( - (message, reply) -> { - ArrayList wrapped = new ArrayList<>(); - ArrayList args = (ArrayList) message; - AuthPigeonFirebaseApp appArg = (AuthPigeonFirebaseApp) args.get(0); - VoidResult resultCallback = - new VoidResult() { - public void success() { - wrapped.add(0, null); - reply.reply(wrapped); - } - - public void error(Throwable error) { - ArrayList wrappedError = wrapError(error); - reply.reply(wrappedError); - } - }; - - api.delete(appArg, resultCallback); - }); - } else { - channel.setMessageHandler(null); - } - } - { - BasicMessageChannel channel = - new BasicMessageChannel<>( - binaryMessenger, - "dev.flutter.pigeon.firebase_auth_platform_interface.FirebaseAuthUserHostApi.getIdToken" - + messageChannelSuffix, - getCodec()); - if (api != null) { - channel.setMessageHandler( - (message, reply) -> { - ArrayList wrapped = new ArrayList<>(); - ArrayList args = (ArrayList) message; - AuthPigeonFirebaseApp appArg = (AuthPigeonFirebaseApp) args.get(0); - Boolean forceRefreshArg = (Boolean) args.get(1); - Result resultCallback = - new Result() { - public void success(InternalIdTokenResult result) { - wrapped.add(0, result); - reply.reply(wrapped); - } - - public void error(Throwable error) { - ArrayList wrappedError = wrapError(error); - reply.reply(wrappedError); - } - }; - - api.getIdToken(appArg, forceRefreshArg, resultCallback); - }); - } else { - channel.setMessageHandler(null); - } - } - { - BasicMessageChannel channel = - new BasicMessageChannel<>( - binaryMessenger, - "dev.flutter.pigeon.firebase_auth_platform_interface.FirebaseAuthUserHostApi.linkWithCredential" - + messageChannelSuffix, - getCodec()); - if (api != null) { - channel.setMessageHandler( - (message, reply) -> { - ArrayList wrapped = new ArrayList<>(); - ArrayList args = (ArrayList) message; - AuthPigeonFirebaseApp appArg = (AuthPigeonFirebaseApp) args.get(0); - Map inputArg = (Map) args.get(1); - Result resultCallback = - new Result() { - public void success(InternalUserCredential result) { - wrapped.add(0, result); - reply.reply(wrapped); - } - - public void error(Throwable error) { - ArrayList wrappedError = wrapError(error); - reply.reply(wrappedError); - } - }; - - api.linkWithCredential(appArg, inputArg, resultCallback); - }); - } else { - channel.setMessageHandler(null); - } - } - { - BasicMessageChannel channel = - new BasicMessageChannel<>( - binaryMessenger, - "dev.flutter.pigeon.firebase_auth_platform_interface.FirebaseAuthUserHostApi.linkWithProvider" - + messageChannelSuffix, - getCodec()); - if (api != null) { - channel.setMessageHandler( - (message, reply) -> { - ArrayList wrapped = new ArrayList<>(); - ArrayList args = (ArrayList) message; - AuthPigeonFirebaseApp appArg = (AuthPigeonFirebaseApp) args.get(0); - InternalSignInProvider signInProviderArg = (InternalSignInProvider) args.get(1); - Result resultCallback = - new Result() { - public void success(InternalUserCredential result) { - wrapped.add(0, result); - reply.reply(wrapped); - } - - public void error(Throwable error) { - ArrayList wrappedError = wrapError(error); - reply.reply(wrappedError); - } - }; - - api.linkWithProvider(appArg, signInProviderArg, resultCallback); - }); - } else { - channel.setMessageHandler(null); - } - } - { - BasicMessageChannel channel = - new BasicMessageChannel<>( - binaryMessenger, - "dev.flutter.pigeon.firebase_auth_platform_interface.FirebaseAuthUserHostApi.reauthenticateWithCredential" - + messageChannelSuffix, - getCodec()); - if (api != null) { - channel.setMessageHandler( - (message, reply) -> { - ArrayList wrapped = new ArrayList<>(); - ArrayList args = (ArrayList) message; - AuthPigeonFirebaseApp appArg = (AuthPigeonFirebaseApp) args.get(0); - Map inputArg = (Map) args.get(1); - Result resultCallback = - new Result() { - public void success(InternalUserCredential result) { - wrapped.add(0, result); - reply.reply(wrapped); - } - - public void error(Throwable error) { - ArrayList wrappedError = wrapError(error); - reply.reply(wrappedError); - } - }; - - api.reauthenticateWithCredential(appArg, inputArg, resultCallback); - }); - } else { - channel.setMessageHandler(null); - } - } - { - BasicMessageChannel channel = - new BasicMessageChannel<>( - binaryMessenger, - "dev.flutter.pigeon.firebase_auth_platform_interface.FirebaseAuthUserHostApi.reauthenticateWithProvider" - + messageChannelSuffix, - getCodec()); - if (api != null) { - channel.setMessageHandler( - (message, reply) -> { - ArrayList wrapped = new ArrayList<>(); - ArrayList args = (ArrayList) message; - AuthPigeonFirebaseApp appArg = (AuthPigeonFirebaseApp) args.get(0); - InternalSignInProvider signInProviderArg = (InternalSignInProvider) args.get(1); - Result resultCallback = - new Result() { - public void success(InternalUserCredential result) { - wrapped.add(0, result); - reply.reply(wrapped); - } - - public void error(Throwable error) { - ArrayList wrappedError = wrapError(error); - reply.reply(wrappedError); - } - }; - - api.reauthenticateWithProvider(appArg, signInProviderArg, resultCallback); - }); - } else { - channel.setMessageHandler(null); - } - } - { - BasicMessageChannel channel = - new BasicMessageChannel<>( - binaryMessenger, - "dev.flutter.pigeon.firebase_auth_platform_interface.FirebaseAuthUserHostApi.reload" - + messageChannelSuffix, - getCodec()); - if (api != null) { - channel.setMessageHandler( - (message, reply) -> { - ArrayList wrapped = new ArrayList<>(); - ArrayList args = (ArrayList) message; - AuthPigeonFirebaseApp appArg = (AuthPigeonFirebaseApp) args.get(0); - Result resultCallback = - new Result() { - public void success(InternalUserDetails result) { - wrapped.add(0, result); - reply.reply(wrapped); - } - - public void error(Throwable error) { - ArrayList wrappedError = wrapError(error); - reply.reply(wrappedError); - } - }; - - api.reload(appArg, resultCallback); - }); - } else { - channel.setMessageHandler(null); - } - } - { - BasicMessageChannel channel = - new BasicMessageChannel<>( - binaryMessenger, - "dev.flutter.pigeon.firebase_auth_platform_interface.FirebaseAuthUserHostApi.sendEmailVerification" - + messageChannelSuffix, - getCodec()); - if (api != null) { - channel.setMessageHandler( - (message, reply) -> { - ArrayList wrapped = new ArrayList<>(); - ArrayList args = (ArrayList) message; - AuthPigeonFirebaseApp appArg = (AuthPigeonFirebaseApp) args.get(0); - InternalActionCodeSettings actionCodeSettingsArg = - (InternalActionCodeSettings) args.get(1); - VoidResult resultCallback = - new VoidResult() { - public void success() { - wrapped.add(0, null); - reply.reply(wrapped); - } - - public void error(Throwable error) { - ArrayList wrappedError = wrapError(error); - reply.reply(wrappedError); - } - }; - - api.sendEmailVerification(appArg, actionCodeSettingsArg, resultCallback); - }); - } else { - channel.setMessageHandler(null); - } - } - { - BasicMessageChannel channel = - new BasicMessageChannel<>( - binaryMessenger, - "dev.flutter.pigeon.firebase_auth_platform_interface.FirebaseAuthUserHostApi.unlink" - + messageChannelSuffix, - getCodec()); - if (api != null) { - channel.setMessageHandler( - (message, reply) -> { - ArrayList wrapped = new ArrayList<>(); - ArrayList args = (ArrayList) message; - AuthPigeonFirebaseApp appArg = (AuthPigeonFirebaseApp) args.get(0); - String providerIdArg = (String) args.get(1); - Result resultCallback = - new Result() { - public void success(InternalUserCredential result) { - wrapped.add(0, result); - reply.reply(wrapped); - } - - public void error(Throwable error) { - ArrayList wrappedError = wrapError(error); - reply.reply(wrappedError); - } - }; - - api.unlink(appArg, providerIdArg, resultCallback); - }); - } else { - channel.setMessageHandler(null); - } - } - { - BasicMessageChannel channel = - new BasicMessageChannel<>( - binaryMessenger, - "dev.flutter.pigeon.firebase_auth_platform_interface.FirebaseAuthUserHostApi.updateEmail" - + messageChannelSuffix, - getCodec()); - if (api != null) { - channel.setMessageHandler( - (message, reply) -> { - ArrayList wrapped = new ArrayList<>(); - ArrayList args = (ArrayList) message; - AuthPigeonFirebaseApp appArg = (AuthPigeonFirebaseApp) args.get(0); - String newEmailArg = (String) args.get(1); - Result resultCallback = - new Result() { - public void success(InternalUserDetails result) { - wrapped.add(0, result); - reply.reply(wrapped); - } - - public void error(Throwable error) { - ArrayList wrappedError = wrapError(error); - reply.reply(wrappedError); - } - }; - - api.updateEmail(appArg, newEmailArg, resultCallback); - }); - } else { - channel.setMessageHandler(null); - } - } - { - BasicMessageChannel channel = - new BasicMessageChannel<>( - binaryMessenger, - "dev.flutter.pigeon.firebase_auth_platform_interface.FirebaseAuthUserHostApi.updatePassword" - + messageChannelSuffix, - getCodec()); - if (api != null) { - channel.setMessageHandler( - (message, reply) -> { - ArrayList wrapped = new ArrayList<>(); - ArrayList args = (ArrayList) message; - AuthPigeonFirebaseApp appArg = (AuthPigeonFirebaseApp) args.get(0); - String newPasswordArg = (String) args.get(1); - Result resultCallback = - new Result() { - public void success(InternalUserDetails result) { - wrapped.add(0, result); - reply.reply(wrapped); - } - - public void error(Throwable error) { - ArrayList wrappedError = wrapError(error); - reply.reply(wrappedError); - } - }; - - api.updatePassword(appArg, newPasswordArg, resultCallback); - }); - } else { - channel.setMessageHandler(null); - } - } - { - BasicMessageChannel channel = - new BasicMessageChannel<>( - binaryMessenger, - "dev.flutter.pigeon.firebase_auth_platform_interface.FirebaseAuthUserHostApi.updatePhoneNumber" - + messageChannelSuffix, - getCodec()); - if (api != null) { - channel.setMessageHandler( - (message, reply) -> { - ArrayList wrapped = new ArrayList<>(); - ArrayList args = (ArrayList) message; - AuthPigeonFirebaseApp appArg = (AuthPigeonFirebaseApp) args.get(0); - Map inputArg = (Map) args.get(1); - Result resultCallback = - new Result() { - public void success(InternalUserDetails result) { - wrapped.add(0, result); - reply.reply(wrapped); - } - - public void error(Throwable error) { - ArrayList wrappedError = wrapError(error); - reply.reply(wrappedError); - } - }; - - api.updatePhoneNumber(appArg, inputArg, resultCallback); - }); - } else { - channel.setMessageHandler(null); - } - } - { - BasicMessageChannel channel = - new BasicMessageChannel<>( - binaryMessenger, - "dev.flutter.pigeon.firebase_auth_platform_interface.FirebaseAuthUserHostApi.updateProfile" - + messageChannelSuffix, - getCodec()); - if (api != null) { - channel.setMessageHandler( - (message, reply) -> { - ArrayList wrapped = new ArrayList<>(); - ArrayList args = (ArrayList) message; - AuthPigeonFirebaseApp appArg = (AuthPigeonFirebaseApp) args.get(0); - InternalUserProfile profileArg = (InternalUserProfile) args.get(1); - Result resultCallback = - new Result() { - public void success(InternalUserDetails result) { - wrapped.add(0, result); - reply.reply(wrapped); - } - - public void error(Throwable error) { - ArrayList wrappedError = wrapError(error); - reply.reply(wrappedError); - } - }; - - api.updateProfile(appArg, profileArg, resultCallback); - }); - } else { - channel.setMessageHandler(null); - } - } - { - BasicMessageChannel channel = - new BasicMessageChannel<>( - binaryMessenger, - "dev.flutter.pigeon.firebase_auth_platform_interface.FirebaseAuthUserHostApi.verifyBeforeUpdateEmail" - + messageChannelSuffix, - getCodec()); - if (api != null) { - channel.setMessageHandler( - (message, reply) -> { - ArrayList wrapped = new ArrayList<>(); - ArrayList args = (ArrayList) message; - AuthPigeonFirebaseApp appArg = (AuthPigeonFirebaseApp) args.get(0); - String newEmailArg = (String) args.get(1); - InternalActionCodeSettings actionCodeSettingsArg = - (InternalActionCodeSettings) args.get(2); - VoidResult resultCallback = - new VoidResult() { - public void success() { - wrapped.add(0, null); - reply.reply(wrapped); - } - - public void error(Throwable error) { - ArrayList wrappedError = wrapError(error); - reply.reply(wrappedError); - } - }; - - api.verifyBeforeUpdateEmail( - appArg, newEmailArg, actionCodeSettingsArg, resultCallback); - }); - } else { - channel.setMessageHandler(null); - } - } - } - } - - /** Generated interface from Pigeon that represents a handler of messages from Flutter. */ - public interface MultiFactorUserHostApi { - - void enrollPhone( - @NonNull AuthPigeonFirebaseApp app, - @NonNull InternalPhoneMultiFactorAssertion assertion, - @Nullable String displayName, - @NonNull VoidResult result); - - void enrollTotp( - @NonNull AuthPigeonFirebaseApp app, - @NonNull String assertionId, - @Nullable String displayName, - @NonNull VoidResult result); - - void getSession( - @NonNull AuthPigeonFirebaseApp app, @NonNull Result result); - - void unenroll( - @NonNull AuthPigeonFirebaseApp app, @NonNull String factorUid, @NonNull VoidResult result); - - void getEnrolledFactors( - @NonNull AuthPigeonFirebaseApp app, @NonNull Result> result); - - /** The codec used by MultiFactorUserHostApi. */ - static @NonNull MessageCodec getCodec() { - return PigeonCodec.INSTANCE; - } - - /** - * Sets up an instance of `MultiFactorUserHostApi` to handle messages through the - * `binaryMessenger`. - */ - static void setUp( - @NonNull BinaryMessenger binaryMessenger, @Nullable MultiFactorUserHostApi api) { - setUp(binaryMessenger, "", api); - } - - static void setUp( - @NonNull BinaryMessenger binaryMessenger, - @NonNull String messageChannelSuffix, - @Nullable MultiFactorUserHostApi api) { - messageChannelSuffix = messageChannelSuffix.isEmpty() ? "" : "." + messageChannelSuffix; - { - BasicMessageChannel channel = - new BasicMessageChannel<>( - binaryMessenger, - "dev.flutter.pigeon.firebase_auth_platform_interface.MultiFactorUserHostApi.enrollPhone" - + messageChannelSuffix, - getCodec()); - if (api != null) { - channel.setMessageHandler( - (message, reply) -> { - ArrayList wrapped = new ArrayList<>(); - ArrayList args = (ArrayList) message; - AuthPigeonFirebaseApp appArg = (AuthPigeonFirebaseApp) args.get(0); - InternalPhoneMultiFactorAssertion assertionArg = - (InternalPhoneMultiFactorAssertion) args.get(1); - String displayNameArg = (String) args.get(2); - VoidResult resultCallback = - new VoidResult() { - public void success() { - wrapped.add(0, null); - reply.reply(wrapped); - } - - public void error(Throwable error) { - ArrayList wrappedError = wrapError(error); - reply.reply(wrappedError); - } - }; - - api.enrollPhone(appArg, assertionArg, displayNameArg, resultCallback); - }); - } else { - channel.setMessageHandler(null); - } - } - { - BasicMessageChannel channel = - new BasicMessageChannel<>( - binaryMessenger, - "dev.flutter.pigeon.firebase_auth_platform_interface.MultiFactorUserHostApi.enrollTotp" - + messageChannelSuffix, - getCodec()); - if (api != null) { - channel.setMessageHandler( - (message, reply) -> { - ArrayList wrapped = new ArrayList<>(); - ArrayList args = (ArrayList) message; - AuthPigeonFirebaseApp appArg = (AuthPigeonFirebaseApp) args.get(0); - String assertionIdArg = (String) args.get(1); - String displayNameArg = (String) args.get(2); - VoidResult resultCallback = - new VoidResult() { - public void success() { - wrapped.add(0, null); - reply.reply(wrapped); - } - - public void error(Throwable error) { - ArrayList wrappedError = wrapError(error); - reply.reply(wrappedError); - } - }; - - api.enrollTotp(appArg, assertionIdArg, displayNameArg, resultCallback); - }); - } else { - channel.setMessageHandler(null); - } - } - { - BasicMessageChannel channel = - new BasicMessageChannel<>( - binaryMessenger, - "dev.flutter.pigeon.firebase_auth_platform_interface.MultiFactorUserHostApi.getSession" - + messageChannelSuffix, - getCodec()); - if (api != null) { - channel.setMessageHandler( - (message, reply) -> { - ArrayList wrapped = new ArrayList<>(); - ArrayList args = (ArrayList) message; - AuthPigeonFirebaseApp appArg = (AuthPigeonFirebaseApp) args.get(0); - Result resultCallback = - new Result() { - public void success(InternalMultiFactorSession result) { - wrapped.add(0, result); - reply.reply(wrapped); - } - - public void error(Throwable error) { - ArrayList wrappedError = wrapError(error); - reply.reply(wrappedError); - } - }; - - api.getSession(appArg, resultCallback); - }); - } else { - channel.setMessageHandler(null); - } - } - { - BasicMessageChannel channel = - new BasicMessageChannel<>( - binaryMessenger, - "dev.flutter.pigeon.firebase_auth_platform_interface.MultiFactorUserHostApi.unenroll" - + messageChannelSuffix, - getCodec()); - if (api != null) { - channel.setMessageHandler( - (message, reply) -> { - ArrayList wrapped = new ArrayList<>(); - ArrayList args = (ArrayList) message; - AuthPigeonFirebaseApp appArg = (AuthPigeonFirebaseApp) args.get(0); - String factorUidArg = (String) args.get(1); - VoidResult resultCallback = - new VoidResult() { - public void success() { - wrapped.add(0, null); - reply.reply(wrapped); - } - - public void error(Throwable error) { - ArrayList wrappedError = wrapError(error); - reply.reply(wrappedError); - } - }; - - api.unenroll(appArg, factorUidArg, resultCallback); - }); - } else { - channel.setMessageHandler(null); - } - } - { - BasicMessageChannel channel = - new BasicMessageChannel<>( - binaryMessenger, - "dev.flutter.pigeon.firebase_auth_platform_interface.MultiFactorUserHostApi.getEnrolledFactors" - + messageChannelSuffix, - getCodec()); - if (api != null) { - channel.setMessageHandler( - (message, reply) -> { - ArrayList wrapped = new ArrayList<>(); - ArrayList args = (ArrayList) message; - AuthPigeonFirebaseApp appArg = (AuthPigeonFirebaseApp) args.get(0); - Result> resultCallback = - new Result>() { - public void success(List result) { - wrapped.add(0, result); - reply.reply(wrapped); - } - - public void error(Throwable error) { - ArrayList wrappedError = wrapError(error); - reply.reply(wrappedError); - } - }; - - api.getEnrolledFactors(appArg, resultCallback); - }); - } else { - channel.setMessageHandler(null); - } - } - } - } - - /** Generated interface from Pigeon that represents a handler of messages from Flutter. */ - public interface MultiFactoResolverHostApi { - - void resolveSignIn( - @NonNull String resolverId, - @Nullable InternalPhoneMultiFactorAssertion assertion, - @Nullable String totpAssertionId, - @NonNull Result result); - - /** The codec used by MultiFactoResolverHostApi. */ - static @NonNull MessageCodec getCodec() { - return PigeonCodec.INSTANCE; - } - - /** - * Sets up an instance of `MultiFactoResolverHostApi` to handle messages through the - * `binaryMessenger`. - */ - static void setUp( - @NonNull BinaryMessenger binaryMessenger, @Nullable MultiFactoResolverHostApi api) { - setUp(binaryMessenger, "", api); - } - - static void setUp( - @NonNull BinaryMessenger binaryMessenger, - @NonNull String messageChannelSuffix, - @Nullable MultiFactoResolverHostApi api) { - messageChannelSuffix = messageChannelSuffix.isEmpty() ? "" : "." + messageChannelSuffix; - { - BasicMessageChannel channel = - new BasicMessageChannel<>( - binaryMessenger, - "dev.flutter.pigeon.firebase_auth_platform_interface.MultiFactoResolverHostApi.resolveSignIn" - + messageChannelSuffix, - getCodec()); - if (api != null) { - channel.setMessageHandler( - (message, reply) -> { - ArrayList wrapped = new ArrayList<>(); - ArrayList args = (ArrayList) message; - String resolverIdArg = (String) args.get(0); - InternalPhoneMultiFactorAssertion assertionArg = - (InternalPhoneMultiFactorAssertion) args.get(1); - String totpAssertionIdArg = (String) args.get(2); - Result resultCallback = - new Result() { - public void success(InternalUserCredential result) { - wrapped.add(0, result); - reply.reply(wrapped); - } - - public void error(Throwable error) { - ArrayList wrappedError = wrapError(error); - reply.reply(wrappedError); - } - }; - - api.resolveSignIn(resolverIdArg, assertionArg, totpAssertionIdArg, resultCallback); - }); - } else { - channel.setMessageHandler(null); - } - } - } - } - - /** Generated interface from Pigeon that represents a handler of messages from Flutter. */ - public interface MultiFactorTotpHostApi { - - void generateSecret(@NonNull String sessionId, @NonNull Result result); - - void getAssertionForEnrollment( - @NonNull String secretKey, @NonNull String oneTimePassword, @NonNull Result result); - - void getAssertionForSignIn( - @NonNull String enrollmentId, - @NonNull String oneTimePassword, - @NonNull Result result); - - /** The codec used by MultiFactorTotpHostApi. */ - static @NonNull MessageCodec getCodec() { - return PigeonCodec.INSTANCE; - } - - /** - * Sets up an instance of `MultiFactorTotpHostApi` to handle messages through the - * `binaryMessenger`. - */ - static void setUp( - @NonNull BinaryMessenger binaryMessenger, @Nullable MultiFactorTotpHostApi api) { - setUp(binaryMessenger, "", api); - } - - static void setUp( - @NonNull BinaryMessenger binaryMessenger, - @NonNull String messageChannelSuffix, - @Nullable MultiFactorTotpHostApi api) { - messageChannelSuffix = messageChannelSuffix.isEmpty() ? "" : "." + messageChannelSuffix; - { - BasicMessageChannel channel = - new BasicMessageChannel<>( - binaryMessenger, - "dev.flutter.pigeon.firebase_auth_platform_interface.MultiFactorTotpHostApi.generateSecret" - + messageChannelSuffix, - getCodec()); - if (api != null) { - channel.setMessageHandler( - (message, reply) -> { - ArrayList wrapped = new ArrayList<>(); - ArrayList args = (ArrayList) message; - String sessionIdArg = (String) args.get(0); - Result resultCallback = - new Result() { - public void success(InternalTotpSecret result) { - wrapped.add(0, result); - reply.reply(wrapped); - } - - public void error(Throwable error) { - ArrayList wrappedError = wrapError(error); - reply.reply(wrappedError); - } - }; - - api.generateSecret(sessionIdArg, resultCallback); - }); - } else { - channel.setMessageHandler(null); - } - } - { - BasicMessageChannel channel = - new BasicMessageChannel<>( - binaryMessenger, - "dev.flutter.pigeon.firebase_auth_platform_interface.MultiFactorTotpHostApi.getAssertionForEnrollment" - + messageChannelSuffix, - getCodec()); - if (api != null) { - channel.setMessageHandler( - (message, reply) -> { - ArrayList wrapped = new ArrayList<>(); - ArrayList args = (ArrayList) message; - String secretKeyArg = (String) args.get(0); - String oneTimePasswordArg = (String) args.get(1); - Result resultCallback = - new Result() { - public void success(String result) { - wrapped.add(0, result); - reply.reply(wrapped); - } - - public void error(Throwable error) { - ArrayList wrappedError = wrapError(error); - reply.reply(wrappedError); - } - }; - - api.getAssertionForEnrollment(secretKeyArg, oneTimePasswordArg, resultCallback); - }); - } else { - channel.setMessageHandler(null); - } - } - { - BasicMessageChannel channel = - new BasicMessageChannel<>( - binaryMessenger, - "dev.flutter.pigeon.firebase_auth_platform_interface.MultiFactorTotpHostApi.getAssertionForSignIn" - + messageChannelSuffix, - getCodec()); - if (api != null) { - channel.setMessageHandler( - (message, reply) -> { - ArrayList wrapped = new ArrayList<>(); - ArrayList args = (ArrayList) message; - String enrollmentIdArg = (String) args.get(0); - String oneTimePasswordArg = (String) args.get(1); - Result resultCallback = - new Result() { - public void success(String result) { - wrapped.add(0, result); - reply.reply(wrapped); - } - - public void error(Throwable error) { - ArrayList wrappedError = wrapError(error); - reply.reply(wrappedError); - } - }; - - api.getAssertionForSignIn(enrollmentIdArg, oneTimePasswordArg, resultCallback); - }); - } else { - channel.setMessageHandler(null); - } - } - } - } - - /** Generated interface from Pigeon that represents a handler of messages from Flutter. */ - public interface MultiFactorTotpSecretHostApi { - - void generateQrCodeUrl( - @NonNull String secretKey, - @Nullable String accountName, - @Nullable String issuer, - @NonNull Result result); - - void openInOtpApp( - @NonNull String secretKey, @NonNull String qrCodeUrl, @NonNull VoidResult result); - - /** The codec used by MultiFactorTotpSecretHostApi. */ - static @NonNull MessageCodec getCodec() { - return PigeonCodec.INSTANCE; - } - - /** - * Sets up an instance of `MultiFactorTotpSecretHostApi` to handle messages through the - * `binaryMessenger`. - */ - static void setUp( - @NonNull BinaryMessenger binaryMessenger, @Nullable MultiFactorTotpSecretHostApi api) { - setUp(binaryMessenger, "", api); - } - - static void setUp( - @NonNull BinaryMessenger binaryMessenger, - @NonNull String messageChannelSuffix, - @Nullable MultiFactorTotpSecretHostApi api) { - messageChannelSuffix = messageChannelSuffix.isEmpty() ? "" : "." + messageChannelSuffix; - { - BasicMessageChannel channel = - new BasicMessageChannel<>( - binaryMessenger, - "dev.flutter.pigeon.firebase_auth_platform_interface.MultiFactorTotpSecretHostApi.generateQrCodeUrl" - + messageChannelSuffix, - getCodec()); - if (api != null) { - channel.setMessageHandler( - (message, reply) -> { - ArrayList wrapped = new ArrayList<>(); - ArrayList args = (ArrayList) message; - String secretKeyArg = (String) args.get(0); - String accountNameArg = (String) args.get(1); - String issuerArg = (String) args.get(2); - Result resultCallback = - new Result() { - public void success(String result) { - wrapped.add(0, result); - reply.reply(wrapped); - } - - public void error(Throwable error) { - ArrayList wrappedError = wrapError(error); - reply.reply(wrappedError); - } - }; - - api.generateQrCodeUrl(secretKeyArg, accountNameArg, issuerArg, resultCallback); - }); - } else { - channel.setMessageHandler(null); - } - } - { - BasicMessageChannel channel = - new BasicMessageChannel<>( - binaryMessenger, - "dev.flutter.pigeon.firebase_auth_platform_interface.MultiFactorTotpSecretHostApi.openInOtpApp" - + messageChannelSuffix, - getCodec()); - if (api != null) { - channel.setMessageHandler( - (message, reply) -> { - ArrayList wrapped = new ArrayList<>(); - ArrayList args = (ArrayList) message; - String secretKeyArg = (String) args.get(0); - String qrCodeUrlArg = (String) args.get(1); - VoidResult resultCallback = - new VoidResult() { - public void success() { - wrapped.add(0, null); - reply.reply(wrapped); - } - - public void error(Throwable error) { - ArrayList wrappedError = wrapError(error); - reply.reply(wrappedError); - } - }; - - api.openInOtpApp(secretKeyArg, qrCodeUrlArg, resultCallback); - }); - } else { - channel.setMessageHandler(null); - } - } - } - } - - /** - * Only used to generate the object interface that are use outside of the Pigeon interface - * - *

Generated interface from Pigeon that represents a handler of messages from Flutter. - */ - public interface GenerateInterfaces { - - void pigeonInterface(@NonNull InternalMultiFactorInfo info); - - /** The codec used by GenerateInterfaces. */ - static @NonNull MessageCodec getCodec() { - return PigeonCodec.INSTANCE; - } - - /** - * Sets up an instance of `GenerateInterfaces` to handle messages through the `binaryMessenger`. - */ - static void setUp(@NonNull BinaryMessenger binaryMessenger, @Nullable GenerateInterfaces api) { - setUp(binaryMessenger, "", api); - } - - static void setUp( - @NonNull BinaryMessenger binaryMessenger, - @NonNull String messageChannelSuffix, - @Nullable GenerateInterfaces api) { - messageChannelSuffix = messageChannelSuffix.isEmpty() ? "" : "." + messageChannelSuffix; - { - BasicMessageChannel channel = - new BasicMessageChannel<>( - binaryMessenger, - "dev.flutter.pigeon.firebase_auth_platform_interface.GenerateInterfaces.pigeonInterface" - + messageChannelSuffix, - getCodec()); - if (api != null) { - channel.setMessageHandler( - (message, reply) -> { - ArrayList wrapped = new ArrayList<>(); - ArrayList args = (ArrayList) message; - InternalMultiFactorInfo infoArg = (InternalMultiFactorInfo) args.get(0); - try { - api.pigeonInterface(infoArg); - wrapped.add(0, null); - } catch (Throwable exception) { - wrapped = wrapError(exception); - } - reply.reply(wrapped); - }); - } else { - channel.setMessageHandler(null); - } - } - } - } -} diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/android/src/main/java/io/flutter/plugins/firebase/auth/IdTokenChannelStreamHandler.java b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/android/src/main/java/io/flutter/plugins/firebase/auth/IdTokenChannelStreamHandler.java deleted file mode 100644 index ae413a40..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/android/src/main/java/io/flutter/plugins/firebase/auth/IdTokenChannelStreamHandler.java +++ /dev/null @@ -1,63 +0,0 @@ -/* - * Copyright 2022, the Chromium project authors. Please see the AUTHORS file - * for details. All rights reserved. Use of this source code is governed by a - * BSD-style license that can be found in the LICENSE file. - */ - -package io.flutter.plugins.firebase.auth; - -import com.google.firebase.auth.FirebaseAuth; -import com.google.firebase.auth.FirebaseAuth.IdTokenListener; -import com.google.firebase.auth.FirebaseUser; -import io.flutter.plugin.common.EventChannel.EventSink; -import io.flutter.plugin.common.EventChannel.StreamHandler; -import java.util.HashMap; -import java.util.Map; -import java.util.concurrent.atomic.AtomicBoolean; - -public class IdTokenChannelStreamHandler implements StreamHandler { - - private final FirebaseAuth firebaseAuth; - private IdTokenListener idTokenListener; - - public IdTokenChannelStreamHandler(FirebaseAuth firebaseAuth) { - this.firebaseAuth = firebaseAuth; - } - - @Override - public void onListen(Object arguments, EventSink events) { - Map event = new HashMap<>(); - event.put(Constants.APP_NAME, firebaseAuth.getApp().getName()); - - final AtomicBoolean initialAuthState = new AtomicBoolean(true); - - idTokenListener = - auth -> { - if (initialAuthState.get()) { - initialAuthState.set(false); - return; - } - - FirebaseUser user = auth.getCurrentUser(); - - if (user == null) { - event.put(Constants.USER, null); - } else { - event.put( - Constants.USER, PigeonParser.manuallyToList(PigeonParser.parseFirebaseUser(user))); - } - - events.success(event); - }; - - firebaseAuth.addIdTokenListener(idTokenListener); - } - - @Override - public void onCancel(Object arguments) { - if (idTokenListener != null) { - firebaseAuth.removeIdTokenListener(idTokenListener); - idTokenListener = null; - } - } -} diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/android/src/main/java/io/flutter/plugins/firebase/auth/PhoneNumberVerificationStreamHandler.java b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/android/src/main/java/io/flutter/plugins/firebase/auth/PhoneNumberVerificationStreamHandler.java deleted file mode 100644 index a227be99..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/android/src/main/java/io/flutter/plugins/firebase/auth/PhoneNumberVerificationStreamHandler.java +++ /dev/null @@ -1,197 +0,0 @@ -/* - * Copyright 2022, the Chromium project authors. Please see the AUTHORS file - * for details. All rights reserved. Use of this source code is governed by a - * BSD-style license that can be found in the LICENSE file. - */ - -package io.flutter.plugins.firebase.auth; - -import android.app.Activity; -import androidx.annotation.NonNull; -import androidx.annotation.Nullable; -import com.google.firebase.FirebaseException; -import com.google.firebase.auth.FirebaseAuth; -import com.google.firebase.auth.MultiFactorSession; -import com.google.firebase.auth.PhoneAuthCredential; -import com.google.firebase.auth.PhoneAuthOptions; -import com.google.firebase.auth.PhoneAuthProvider; -import com.google.firebase.auth.PhoneAuthProvider.ForceResendingToken; -import com.google.firebase.auth.PhoneMultiFactorInfo; -import io.flutter.plugin.common.EventChannel.EventSink; -import io.flutter.plugin.common.EventChannel.StreamHandler; -import java.util.HashMap; -import java.util.Locale; -import java.util.Map; -import java.util.concurrent.TimeUnit; -import java.util.concurrent.atomic.AtomicReference; - -public class PhoneNumberVerificationStreamHandler implements StreamHandler { - - interface OnCredentialsListener { - void onCredentialsReceived(PhoneAuthCredential credential); - } - - final AtomicReference activityRef = new AtomicReference<>(null); - final FirebaseAuth firebaseAuth; - final String phoneNumber; - final PhoneMultiFactorInfo multiFactorInfo; - final int timeout; - final OnCredentialsListener onCredentialsListener; - - final MultiFactorSession multiFactorSession; - - String autoRetrievedSmsCodeForTesting; - Integer forceResendingToken; - - private static final HashMap forceResendingTokens = new HashMap<>(); - - @Nullable private EventSink eventSink; - - public PhoneNumberVerificationStreamHandler( - Activity activity, - @NonNull GeneratedAndroidFirebaseAuth.AuthPigeonFirebaseApp app, - @NonNull GeneratedAndroidFirebaseAuth.InternalVerifyPhoneNumberRequest request, - @Nullable MultiFactorSession multiFactorSession, - @Nullable PhoneMultiFactorInfo multiFactorInfo, - OnCredentialsListener onCredentialsListener) { - this.activityRef.set(activity); - - this.multiFactorSession = multiFactorSession; - this.multiFactorInfo = multiFactorInfo; - firebaseAuth = FlutterFirebaseAuthPlugin.getAuthFromPigeon(app); - phoneNumber = request.getPhoneNumber(); - timeout = Math.toIntExact(request.getTimeout()); - - if (request.getAutoRetrievedSmsCodeForTesting() != null) { - autoRetrievedSmsCodeForTesting = request.getAutoRetrievedSmsCodeForTesting(); - } - - if (request.getForceResendingToken() != null) { - forceResendingToken = Math.toIntExact(request.getForceResendingToken()); - } - - this.onCredentialsListener = onCredentialsListener; - } - - @Override - public void onListen(Object arguments, EventSink events) { - eventSink = events; - - PhoneAuthProvider.OnVerificationStateChangedCallbacks callbacks = - new PhoneAuthProvider.OnVerificationStateChangedCallbacks() { - @Override - public void onVerificationCompleted(@NonNull PhoneAuthCredential phoneAuthCredential) { - int phoneAuthCredentialHashCode = phoneAuthCredential.hashCode(); - onCredentialsListener.onCredentialsReceived(phoneAuthCredential); - - Map event = new HashMap<>(); - event.put(Constants.TOKEN, phoneAuthCredentialHashCode); - - if (phoneAuthCredential.getSmsCode() != null) { - event.put(Constants.SMS_CODE, phoneAuthCredential.getSmsCode()); - } - - event.put(Constants.NAME, "Auth#phoneVerificationCompleted"); - - if (eventSink != null) { - eventSink.success(event); - } - } - - @Override - public void onVerificationFailed(@NonNull FirebaseException e) { - Map event = new HashMap<>(); - Map error = new HashMap<>(); - GeneratedAndroidFirebaseAuth.FlutterError flutterError = - FlutterFirebaseAuthPluginException.parserExceptionToFlutter(e); - error.put( - "code", - flutterError - .code - .replaceAll("ERROR_", "") - .toLowerCase(Locale.ROOT) - .replaceAll("_", "-")); - error.put("message", flutterError.getMessage()); - error.put("details", flutterError.details); - event.put("error", error); - - event.put(Constants.NAME, "Auth#phoneVerificationFailed"); - - if (eventSink != null) { - eventSink.success(event); - } - } - - @Override - public void onCodeSent( - @NonNull String verificationId, - @NonNull PhoneAuthProvider.ForceResendingToken token) { - int forceResendingTokenHashCode = token.hashCode(); - forceResendingTokens.put(forceResendingTokenHashCode, token); - - Map event = new HashMap<>(); - event.put(Constants.VERIFICATION_ID, verificationId); - event.put(Constants.FORCE_RESENDING_TOKEN, forceResendingTokenHashCode); - - event.put(Constants.NAME, "Auth#phoneCodeSent"); - - if (eventSink != null) { - eventSink.success(event); - } - } - - @Override - public void onCodeAutoRetrievalTimeOut(@NonNull String verificationId) { - Map event = new HashMap<>(); - event.put(Constants.VERIFICATION_ID, verificationId); - - event.put(Constants.NAME, "Auth#phoneCodeAutoRetrievalTimeout"); - - if (eventSink != null) { - eventSink.success(event); - } - } - }; - - // Allows the auto-retrieval flow to be tested. - // See https://firebase.google.com/docs/auth/android/phone-auth#integration-testing - if (autoRetrievedSmsCodeForTesting != null) { - firebaseAuth - .getFirebaseAuthSettings() - .setAutoRetrievedSmsCodeForPhoneNumber(phoneNumber, autoRetrievedSmsCodeForTesting); - } - - PhoneAuthOptions.Builder phoneAuthOptionsBuilder = new PhoneAuthOptions.Builder(firebaseAuth); - phoneAuthOptionsBuilder.setActivity(activityRef.get()); - phoneAuthOptionsBuilder.setCallbacks(callbacks); - - if (phoneNumber != null) { - phoneAuthOptionsBuilder.setPhoneNumber(phoneNumber); - } - if (multiFactorSession != null) { - phoneAuthOptionsBuilder.setMultiFactorSession(multiFactorSession); - } - if (multiFactorInfo != null) { - phoneAuthOptionsBuilder.setMultiFactorHint(multiFactorInfo); - } - phoneAuthOptionsBuilder.setTimeout((long) timeout, TimeUnit.MILLISECONDS); - - if (forceResendingToken != null) { - PhoneAuthProvider.ForceResendingToken forceResendingToken = - forceResendingTokens.get(this.forceResendingToken); - - if (forceResendingToken != null) { - phoneAuthOptionsBuilder.setForceResendingToken(forceResendingToken); - } - } - - PhoneAuthProvider.verifyPhoneNumber(phoneAuthOptionsBuilder.build()); - } - - @Override - public void onCancel(Object arguments) { - eventSink = null; - - activityRef.set(null); - } -} diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/android/src/main/java/io/flutter/plugins/firebase/auth/PigeonParser.java b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/android/src/main/java/io/flutter/plugins/firebase/auth/PigeonParser.java deleted file mode 100644 index 4c9e102a..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/android/src/main/java/io/flutter/plugins/firebase/auth/PigeonParser.java +++ /dev/null @@ -1,382 +0,0 @@ -/* - * Copyright 2023, the Chromium project authors. Please see the AUTHORS file - * for details. All rights reserved. Use of this source code is governed by a - * BSD-style license that can be found in the LICENSE file. - */ - -package io.flutter.plugins.firebase.auth; - -import android.net.Uri; -import androidx.annotation.NonNull; -import com.google.firebase.auth.ActionCodeEmailInfo; -import com.google.firebase.auth.ActionCodeInfo; -import com.google.firebase.auth.ActionCodeResult; -import com.google.firebase.auth.ActionCodeSettings; -import com.google.firebase.auth.AdditionalUserInfo; -import com.google.firebase.auth.AuthCredential; -import com.google.firebase.auth.AuthResult; -import com.google.firebase.auth.EmailAuthProvider; -import com.google.firebase.auth.FacebookAuthProvider; -import com.google.firebase.auth.FirebaseAuthProvider; -import com.google.firebase.auth.FirebaseUser; -import com.google.firebase.auth.FirebaseUserMetadata; -import com.google.firebase.auth.GetTokenResult; -import com.google.firebase.auth.GithubAuthProvider; -import com.google.firebase.auth.GoogleAuthProvider; -import com.google.firebase.auth.MultiFactorInfo; -import com.google.firebase.auth.OAuthCredential; -import com.google.firebase.auth.OAuthProvider; -import com.google.firebase.auth.PhoneAuthProvider; -import com.google.firebase.auth.PhoneMultiFactorInfo; -import com.google.firebase.auth.PlayGamesAuthProvider; -import com.google.firebase.auth.TwitterAuthProvider; -import com.google.firebase.auth.UserInfo; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Objects; - -public class PigeonParser { - static List manuallyToList( - GeneratedAndroidFirebaseAuth.InternalUserDetails pigeonUserDetails) { - List output = new ArrayList<>(); - output.add(pigeonUserDetails.getUserInfo().toList()); - output.add(pigeonUserDetails.getProviderData()); - return output; - } - - static GeneratedAndroidFirebaseAuth.InternalUserCredential parseAuthResult( - @NonNull AuthResult authResult) { - GeneratedAndroidFirebaseAuth.InternalUserCredential.Builder builder = - new GeneratedAndroidFirebaseAuth.InternalUserCredential.Builder(); - - builder.setAdditionalUserInfo(parseAdditionalUserInfo(authResult.getAdditionalUserInfo())); - builder.setCredential(parseAuthCredential(authResult.getCredential())); - builder.setUser(parseFirebaseUser(authResult.getUser())); - - return builder.build(); - } - - private static GeneratedAndroidFirebaseAuth.InternalAdditionalUserInfo parseAdditionalUserInfo( - AdditionalUserInfo additionalUserInfo) { - if (additionalUserInfo == null) { - return null; - } - - GeneratedAndroidFirebaseAuth.InternalAdditionalUserInfo.Builder builder = - new GeneratedAndroidFirebaseAuth.InternalAdditionalUserInfo.Builder(); - - builder.setIsNewUser(additionalUserInfo.isNewUser()); - builder.setProfile(additionalUserInfo.getProfile()); - builder.setProviderId(additionalUserInfo.getProviderId()); - builder.setUsername(additionalUserInfo.getUsername()); - - return builder.build(); - } - - static GeneratedAndroidFirebaseAuth.InternalAuthCredential parseAuthCredential( - AuthCredential authCredential) { - if (authCredential == null) { - return null; - } - - int authCredentialHashCode = authCredential.hashCode(); - FlutterFirebaseAuthPlugin.authCredentials.put(authCredentialHashCode, authCredential); - - GeneratedAndroidFirebaseAuth.InternalAuthCredential.Builder builder = - new GeneratedAndroidFirebaseAuth.InternalAuthCredential.Builder(); - - builder.setProviderId(authCredential.getProvider()); - builder.setSignInMethod(authCredential.getSignInMethod()); - builder.setNativeId((long) authCredentialHashCode); - if (authCredential instanceof OAuthCredential) { - builder.setAccessToken(((OAuthCredential) authCredential).getAccessToken()); - } - - return builder.build(); - } - - static GeneratedAndroidFirebaseAuth.InternalUserDetails parseFirebaseUser( - FirebaseUser firebaseUser) { - if (firebaseUser == null) { - return null; - } - - GeneratedAndroidFirebaseAuth.InternalUserDetails.Builder builder = - new GeneratedAndroidFirebaseAuth.InternalUserDetails.Builder(); - - GeneratedAndroidFirebaseAuth.InternalUserInfo.Builder builderInfo = - new GeneratedAndroidFirebaseAuth.InternalUserInfo.Builder(); - - builderInfo.setDisplayName(firebaseUser.getDisplayName()); - builderInfo.setEmail(firebaseUser.getEmail()); - builderInfo.setIsEmailVerified(firebaseUser.isEmailVerified()); - builderInfo.setIsAnonymous(firebaseUser.isAnonymous()); - - final FirebaseUserMetadata userMetadata = firebaseUser.getMetadata(); - if (userMetadata != null) { - builderInfo.setCreationTimestamp(firebaseUser.getMetadata().getCreationTimestamp()); - builderInfo.setLastSignInTimestamp(firebaseUser.getMetadata().getLastSignInTimestamp()); - } - builderInfo.setPhoneNumber(firebaseUser.getPhoneNumber()); - builderInfo.setPhotoUrl(parsePhotoUrl(firebaseUser.getPhotoUrl())); - builderInfo.setUid(firebaseUser.getUid()); - builderInfo.setTenantId(firebaseUser.getTenantId()); - - builder.setUserInfo(builderInfo.build()); - builder.setProviderData(parseUserInfoList(firebaseUser.getProviderData())); - - return builder.build(); - } - - private static List> parseUserInfoList( - List userInfoList) { - List> output = new ArrayList<>(); - - if (userInfoList == null) { - return null; - } - - for (UserInfo userInfo : new ArrayList(userInfoList)) { - if (userInfo == null) { - continue; - } - if (!FirebaseAuthProvider.PROVIDER_ID.equals(userInfo.getProviderId())) { - output.add(parseUserInfoToMap(userInfo)); - } - } - - return output; - } - - private static Map parseUserInfoToMap(UserInfo userInfo) { - Map output = new HashMap<>(); - output.put("displayName", userInfo.getDisplayName()); - output.put("email", userInfo.getEmail()); - output.put("isEmailVerified", userInfo.isEmailVerified()); - output.put("phoneNumber", userInfo.getPhoneNumber()); - output.put("photoUrl", parsePhotoUrl(userInfo.getPhotoUrl())); - // Can be null on Emulator - output.put("uid", userInfo.getUid() == null ? "" : userInfo.getUid()); - output.put("providerId", userInfo.getProviderId()); - output.put("isAnonymous", false); - return output; - } - - private static String parsePhotoUrl(Uri photoUri) { - if (photoUri == null) { - return null; - } - - String photoUrl = photoUri.toString(); - - // Return null if the URL is an empty string - return "".equals(photoUrl) ? null : photoUrl; - } - - @SuppressWarnings("ConstantConditions") - static AuthCredential getCredential(Map credentialMap) { - // If the credential map contains a token, it means a native one has been stored - if (credentialMap.get(Constants.TOKEN) != null) { - int token = ((Number) credentialMap.get(Constants.TOKEN)).intValue(); - AuthCredential credential = FlutterFirebaseAuthPlugin.authCredentials.get(token); - - if (credential == null) { - throw FlutterFirebaseAuthPluginException.invalidCredential(); - } - - return credential; - } - - String signInMethod = - (String) Objects.requireNonNull(credentialMap.get(Constants.SIGN_IN_METHOD)); - String secret = (String) credentialMap.get(Constants.SECRET); - String idToken = (String) credentialMap.get(Constants.ID_TOKEN); - String accessToken = (String) credentialMap.get(Constants.ACCESS_TOKEN); - String rawNonce = (String) credentialMap.get(Constants.RAW_NONCE); - - switch (signInMethod) { - case Constants.SIGN_IN_METHOD_PASSWORD: - return EmailAuthProvider.getCredential( - (String) Objects.requireNonNull(credentialMap.get(Constants.EMAIL)), - Objects.requireNonNull(secret)); - case Constants.SIGN_IN_METHOD_EMAIL_LINK: - return EmailAuthProvider.getCredentialWithLink( - (String) Objects.requireNonNull(credentialMap.get(Constants.EMAIL)), - (String) Objects.requireNonNull(credentialMap.get(Constants.EMAIL_LINK))); - case Constants.SIGN_IN_METHOD_FACEBOOK: - return FacebookAuthProvider.getCredential(Objects.requireNonNull(accessToken)); - case Constants.SIGN_IN_METHOD_GOOGLE: - return GoogleAuthProvider.getCredential(idToken, accessToken); - case Constants.SIGN_IN_METHOD_TWITTER: - return TwitterAuthProvider.getCredential( - Objects.requireNonNull(accessToken), Objects.requireNonNull(secret)); - case Constants.SIGN_IN_METHOD_GITHUB: - return GithubAuthProvider.getCredential(Objects.requireNonNull(accessToken)); - case Constants.SIGN_IN_METHOD_PHONE: - { - String verificationId = - (String) Objects.requireNonNull(credentialMap.get(Constants.VERIFICATION_ID)); - String smsCode = (String) Objects.requireNonNull(credentialMap.get(Constants.SMS_CODE)); - return PhoneAuthProvider.getCredential(verificationId, smsCode); - } - case Constants.SIGN_IN_METHOD_OAUTH: - { - String providerId = - (String) Objects.requireNonNull(credentialMap.get(Constants.PROVIDER_ID)); - OAuthProvider.CredentialBuilder builder = OAuthProvider.newCredentialBuilder(providerId); - if (accessToken != null) { - builder.setAccessToken(accessToken); - } - if (rawNonce == null) { - builder.setIdToken(Objects.requireNonNull(idToken)); - } else { - builder.setIdTokenWithRawNonce(Objects.requireNonNull(idToken), rawNonce); - } - - return builder.build(); - } - case Constants.SIGN_IN_METHOD_PLAY_GAMES: - { - String serverAuthCode = - (String) Objects.requireNonNull(credentialMap.get(Constants.SERVER_AUTH_CODE)); - return PlayGamesAuthProvider.getCredential(serverAuthCode); - } - default: - return null; - } - } - - static ActionCodeSettings getActionCodeSettings( - @NonNull GeneratedAndroidFirebaseAuth.InternalActionCodeSettings pigeonActionCodeSettings) { - ActionCodeSettings.Builder builder = ActionCodeSettings.newBuilder(); - - builder.setUrl(pigeonActionCodeSettings.getUrl()); - - if (pigeonActionCodeSettings.getDynamicLinkDomain() != null) { - builder.setDynamicLinkDomain(pigeonActionCodeSettings.getDynamicLinkDomain()); - } - - if (pigeonActionCodeSettings.getLinkDomain() != null) { - builder.setLinkDomain(pigeonActionCodeSettings.getLinkDomain()); - } - - builder.setHandleCodeInApp(pigeonActionCodeSettings.getHandleCodeInApp()); - - if (pigeonActionCodeSettings.getAndroidPackageName() != null) { - builder.setAndroidPackageName( - pigeonActionCodeSettings.getAndroidPackageName(), - pigeonActionCodeSettings.getAndroidInstallApp(), - pigeonActionCodeSettings.getAndroidMinimumVersion()); - } - - if (pigeonActionCodeSettings.getIOSBundleId() != null) { - builder.setIOSBundleId(pigeonActionCodeSettings.getIOSBundleId()); - } - - return builder.build(); - } - - static List multiFactorInfoToPigeon( - List hints) { - List pigeonHints = new ArrayList<>(); - for (MultiFactorInfo info : hints) { - if (info instanceof PhoneMultiFactorInfo) { - pigeonHints.add( - new GeneratedAndroidFirebaseAuth.InternalMultiFactorInfo.Builder() - .setPhoneNumber(((PhoneMultiFactorInfo) info).getPhoneNumber()) - .setDisplayName(info.getDisplayName()) - .setEnrollmentTimestamp((double) info.getEnrollmentTimestamp()) - .setUid(info.getUid()) - .setFactorId(info.getFactorId()) - .build()); - - } else { - pigeonHints.add( - new GeneratedAndroidFirebaseAuth.InternalMultiFactorInfo.Builder() - .setDisplayName(info.getDisplayName()) - .setEnrollmentTimestamp((double) info.getEnrollmentTimestamp()) - .setUid(info.getUid()) - .setFactorId(info.getFactorId()) - .build()); - } - } - return pigeonHints; - } - - static List> multiFactorInfoToMap(List hints) { - List> pigeonHints = new ArrayList<>(); - for (GeneratedAndroidFirebaseAuth.InternalMultiFactorInfo info : - multiFactorInfoToPigeon(hints)) { - pigeonHints.add(info.toList()); - } - return pigeonHints; - } - - static GeneratedAndroidFirebaseAuth.InternalActionCodeInfo parseActionCodeResult( - @NonNull ActionCodeResult actionCodeResult) { - GeneratedAndroidFirebaseAuth.InternalActionCodeInfo.Builder builder = - new GeneratedAndroidFirebaseAuth.InternalActionCodeInfo.Builder(); - GeneratedAndroidFirebaseAuth.InternalActionCodeInfoData.Builder builderData = - new GeneratedAndroidFirebaseAuth.InternalActionCodeInfoData.Builder(); - - int operation = actionCodeResult.getOperation(); - - switch (operation) { - case ActionCodeResult.PASSWORD_RESET: - builder.setOperation(GeneratedAndroidFirebaseAuth.ActionCodeInfoOperation.PASSWORD_RESET); - break; - case ActionCodeResult.VERIFY_EMAIL: - builder.setOperation(GeneratedAndroidFirebaseAuth.ActionCodeInfoOperation.VERIFY_EMAIL); - break; - case ActionCodeResult.RECOVER_EMAIL: - builder.setOperation(GeneratedAndroidFirebaseAuth.ActionCodeInfoOperation.RECOVER_EMAIL); - break; - case ActionCodeResult.SIGN_IN_WITH_EMAIL_LINK: - builder.setOperation(GeneratedAndroidFirebaseAuth.ActionCodeInfoOperation.EMAIL_SIGN_IN); - break; - case ActionCodeResult.VERIFY_BEFORE_CHANGE_EMAIL: - builder.setOperation( - GeneratedAndroidFirebaseAuth.ActionCodeInfoOperation.VERIFY_AND_CHANGE_EMAIL); - break; - case ActionCodeResult.REVERT_SECOND_FACTOR_ADDITION: - builder.setOperation( - GeneratedAndroidFirebaseAuth.ActionCodeInfoOperation.REVERT_SECOND_FACTOR_ADDITION); - break; - } - - ActionCodeInfo actionCodeInfo = actionCodeResult.getInfo(); - - if (actionCodeInfo != null && operation == ActionCodeResult.VERIFY_EMAIL - || operation == ActionCodeResult.PASSWORD_RESET) { - builderData.setEmail(actionCodeInfo.getEmail()); - } else if (operation == ActionCodeResult.RECOVER_EMAIL - || operation == ActionCodeResult.VERIFY_BEFORE_CHANGE_EMAIL) { - ActionCodeEmailInfo actionCodeEmailInfo = - (ActionCodeEmailInfo) Objects.requireNonNull(actionCodeInfo); - builderData.setEmail(actionCodeEmailInfo.getEmail()); - builderData.setPreviousEmail(actionCodeEmailInfo.getPreviousEmail()); - } - - builder.setData(builderData.build()); - - return builder.build(); - } - - static GeneratedAndroidFirebaseAuth.InternalIdTokenResult parseTokenResult( - @NonNull GetTokenResult tokenResult) { - final GeneratedAndroidFirebaseAuth.InternalIdTokenResult.Builder builder = - new GeneratedAndroidFirebaseAuth.InternalIdTokenResult.Builder(); - - builder.setToken(tokenResult.getToken()); - builder.setSignInProvider(tokenResult.getSignInProvider()); - builder.setAuthTimestamp(tokenResult.getAuthTimestamp() * 1000); - builder.setExpirationTimestamp(tokenResult.getExpirationTimestamp() * 1000); - builder.setIssuedAtTimestamp(tokenResult.getIssuedAtTimestamp() * 1000); - builder.setClaims(tokenResult.getClaims()); - builder.setSignInSecondFactor(tokenResult.getSignInSecondFactor()); - - return builder.build(); - } -} diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/android/user-agent.gradle b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/android/user-agent.gradle deleted file mode 100644 index 38e5e646..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/android/user-agent.gradle +++ /dev/null @@ -1,22 +0,0 @@ -import java.util.regex.Matcher -import java.util.regex.Pattern - -String libraryVersionName = "UNKNOWN" -String libraryName = "flutter-fire-auth" -File pubspec = new File(project.projectDir.parentFile, 'pubspec.yaml') - -if (pubspec.exists()) { - String yaml = pubspec.text - // Using \s*['|"]?([^\n|'|"]*)['|"]? to extract version number. - Matcher versionMatcher = Pattern.compile("^version:\\s*['|\"]?([^\\n|'|\"]*)['|\"]?\$", Pattern.MULTILINE).matcher(yaml) - if (versionMatcher.find()) libraryVersionName = versionMatcher.group(1).replaceAll("\\+", "-") -} - -android { - defaultConfig { - // BuildConfig.VERSION_NAME - buildConfigField 'String', 'LIBRARY_VERSION', "\"${libraryVersionName}\"" - // BuildConfig.LIBRARY_NAME - buildConfigField 'String', 'LIBRARY_NAME', "\"${libraryName}\"" - } -} diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/README.md b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/README.md deleted file mode 100644 index 8a9c4d3b..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/README.md +++ /dev/null @@ -1,58 +0,0 @@ -# Firebase Auth Example - -[![pub package](https://img.shields.io/pub/v/firebase_auth.svg)](https://pub.dev/packages/firebase_auth) - -Demonstrates how to use the `firebase_auth` plugin and enable multiple auth providers. - -## Phone Auth - -1. Enable phone authentication in the [Firebase console]((https://console.firebase.google.com/u/0/project/_/authentication/providers)). -2. Add test phone number and verification code to the Firebase console. - - For this sample the number `+1 408-555-6969` and verification code `888888` are used. -3. For iOS set the `URL Schemes` to the `REVERSE_CLIENT_ID` from the `GoogleServices-Info.plist` file. -4. Enter the phone number `+1 408-555-6969` and press the `Verify phone number` button. -5. Once the phone number is verified the app displays the test - verification code. -6. Enter the verficication code `888888` and press "Sign in with phone number" -7. Signed in user ID is now displayed in the UI. - -## Google Sign-In - -1. Enable Google authentication in the [Firebase console](https://console.firebase.google.com/u/0/project/_/authentication/providers). -2. For Android, add your app's package name and SHA-1 fingerprint to the [Settings page](https://console.firebase.google.com/project/_/settings/general) of the Firebase console. Refer to [Authenticating Your Client]('https://developers.google.com/android/guides/client-auth') for details on how to get your app's SHA-1 fingerprint. -3. For iOS set the `URL Schemes` to the `REVERSE_CLIENT_ID` from the `GoogleServices-Info.plist` file (same step for `Phone Auth` above). -4. Select `Google` under `Social Authentication` and click the `Sign In With Google` button. -5. Signed in user's details are displayed in the UI. - -### Running on Web - -Make sure you run the example app on port 5000, since `localhost:5000` is -whitelisted for Google authentication. To do so, run: - -``` -flutter run -d web-server --web-port 5000 -``` - -## GitHub Sign-In -To get your `clientId` and `clientSecret`: -1. Visit https://github.com/settings/developers. -2. Create a new OAuth application. -3. Set **Home Page URL** to `https://react-native-firebase-testing.firebaseapp.com`. -4. Set **Authorization callback URL** to `https://react-native-firebase-testing.firebaseapp.com/__/auth/handler`. -5. After you register your app, add the `clientId` and `clientSecret` to the example app config in [`lib/config.dart`](./lib/config.dart). - -## Twitter Sign-In -Twitter sign in requires you to add keys from Twitter Developer API to Firebase Console, which means you cannot use the provided configurations with the example app, instead, **please create a new Firebase project**, then enable Twitter as an Auth provider (*optionally you can enable the rest of providers supported in this example*). - -To get your `apiKey` and `apiSecretKey` for Twitter: -1. Sign up for a developer account on [Twitter Developer](https://developer.twitter.com). -2. Create a new app and copy your keys. -3. From the dashboard, go to your app settings, then go to OAuth settings and turn on OAuth 1.0a, then add 2 callback URLs: - 1. `flutterfireauth://` - 2. `https://react-native-firebase-testing.firebaseapp.com/__/auth/handler` -4. Add your keys to the example app config in [`lib/config.dart`](./lib/config.dart). - -## Getting Started - -For help getting started with Flutter, view the online -[documentation](https://flutter.dev/). diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/analysis_options.yaml b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/analysis_options.yaml deleted file mode 100644 index 201a5ca4..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/analysis_options.yaml +++ /dev/null @@ -1,7 +0,0 @@ -include: ../../../../analysis_options.yaml - -linter: - rules: - avoid_print: false - depend_on_referenced_packages: false - library_private_types_in_public_api: false diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/android/app/build.gradle b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/android/app/build.gradle deleted file mode 100644 index db427be9..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/android/app/build.gradle +++ /dev/null @@ -1,62 +0,0 @@ -plugins { - id "com.android.application" - // START: FlutterFire Configuration - id 'com.google.gms.google-services' - // END: FlutterFire Configuration - id "kotlin-android" - // The Flutter Gradle Plugin must be applied after the Android and Kotlin Gradle plugins. - id "dev.flutter.flutter-gradle-plugin" -} - -def localProperties = new Properties() -def localPropertiesFile = rootProject.file("local.properties") -if (localPropertiesFile.exists()) { - localPropertiesFile.withReader("UTF-8") { reader -> - localProperties.load(reader) - } -} - -def flutterVersionCode = localProperties.getProperty("flutter.versionCode") -if (flutterVersionCode == null) { - flutterVersionCode = "1" -} - -def flutterVersionName = localProperties.getProperty("flutter.versionName") -if (flutterVersionName == null) { - flutterVersionName = "1.0" -} - -android { - namespace = "io.flutter.plugins.firebase.auth.example" - compileSdk = flutter.compileSdkVersion - ndkVersion = flutter.ndkVersion - compileOptions { - sourceCompatibility = JavaVersion.VERSION_17 - targetCompatibility = JavaVersion.VERSION_17 - } - kotlinOptions { - jvmTarget = JavaVersion.VERSION_17 - } - - defaultConfig { - applicationId = "io.flutter.plugins.firebase.auth.example" - // You can update the following values to match your application needs. - // For more information, see: https://docs.flutter.dev/deployment/android#reviewing-the-gradle-build-configuration. - minSdkVersion = flutter.minSdkVersion - targetSdk = flutter.targetSdkVersion - versionCode = flutterVersionCode.toInteger() - versionName = flutterVersionName - } - - buildTypes { - release { - // TODO: Add your own signing config for the release build. - // Signing with the debug keys for now, so `flutter run --release` works. - signingConfig = signingConfigs.debug - } - } -} - -flutter { - source = "../.." -} diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/android/app/google-services.json b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/android/app/google-services.json deleted file mode 100644 index 348716f0..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/android/app/google-services.json +++ /dev/null @@ -1,615 +0,0 @@ -{ - "project_info": { - "project_number": "406099696497", - "firebase_url": "https://flutterfire-e2e-tests-default-rtdb.europe-west1.firebasedatabase.app", - "project_id": "flutterfire-e2e-tests", - "storage_bucket": "flutterfire-e2e-tests.appspot.com" - }, - "client": [ - { - "client_info": { - "mobilesdk_app_id": "1:406099696497:android:d86a91cc7b338b233574d0", - "android_client_info": { - "package_name": "io.flutter.plugins.firebase.analytics.example" - } - }, - "oauth_client": [ - { - "client_id": "406099696497-a12gakvts4epfk5pkio7dphc1anjiggc.apps.googleusercontent.com", - "client_type": 3 - } - ], - "api_key": [ - { - "current_key": "AIzaSyCdRjCVZlhrq72RuEklEyyxYlBRCYhI2Sw" - } - ], - "services": { - "appinvite_service": { - "other_platform_oauth_client": [ - { - "client_id": "406099696497-a12gakvts4epfk5pkio7dphc1anjiggc.apps.googleusercontent.com", - "client_type": 3 - }, - { - "client_id": "406099696497-0mofiof3ofcgmpmirb6q0fllvb372sme.apps.googleusercontent.com", - "client_type": 2, - "ios_info": { - "bundle_id": "io.flutter.plugins.firebase.example" - } - } - ] - } - } - }, - { - "client_info": { - "mobilesdk_app_id": "1:406099696497:android:a241c4b471513a203574d0", - "android_client_info": { - "package_name": "io.flutter.plugins.firebase.appcheck.example" - } - }, - "oauth_client": [ - { - "client_id": "406099696497-7bvmqp0fffe24vm2arng0dtdeh2tvkgl.apps.googleusercontent.com", - "client_type": 1, - "android_info": { - "package_name": "io.flutter.plugins.firebase.appcheck.example", - "certificate_hash": "909ca1482ef022bbae45a2db6b6d05d807a4c4aa" - } - }, - { - "client_id": "406099696497-a12gakvts4epfk5pkio7dphc1anjiggc.apps.googleusercontent.com", - "client_type": 3 - } - ], - "api_key": [ - { - "current_key": "AIzaSyCdRjCVZlhrq72RuEklEyyxYlBRCYhI2Sw" - } - ], - "services": { - "appinvite_service": { - "other_platform_oauth_client": [ - { - "client_id": "406099696497-a12gakvts4epfk5pkio7dphc1anjiggc.apps.googleusercontent.com", - "client_type": 3 - }, - { - "client_id": "406099696497-0mofiof3ofcgmpmirb6q0fllvb372sme.apps.googleusercontent.com", - "client_type": 2, - "ios_info": { - "bundle_id": "io.flutter.plugins.firebase.example" - } - } - ] - } - } - }, - { - "client_info": { - "mobilesdk_app_id": "1:406099696497:android:21d5142deea38dda3574d0", - "android_client_info": { - "package_name": "io.flutter.plugins.firebase.auth.example" - } - }, - "oauth_client": [ - { - "client_id": "406099696497-emmujnd7g2ammh5uu9ni6v04p4ateqac.apps.googleusercontent.com", - "client_type": 1, - "android_info": { - "package_name": "io.flutter.plugins.firebase.auth.example", - "certificate_hash": "5ad0d6d5cbe577ca185b8df246656bebc3957128" - } - }, - { - "client_id": "406099696497-in8bfp0nali85oul1o98huoar6eo1vv1.apps.googleusercontent.com", - "client_type": 1, - "android_info": { - "package_name": "io.flutter.plugins.firebase.auth.example", - "certificate_hash": "909ca1482ef022bbae45a2db6b6d05d807a4c4aa" - } - }, - { - "client_id": "406099696497-a12gakvts4epfk5pkio7dphc1anjiggc.apps.googleusercontent.com", - "client_type": 3 - } - ], - "api_key": [ - { - "current_key": "AIzaSyCdRjCVZlhrq72RuEklEyyxYlBRCYhI2Sw" - } - ], - "services": { - "appinvite_service": { - "other_platform_oauth_client": [ - { - "client_id": "406099696497-a12gakvts4epfk5pkio7dphc1anjiggc.apps.googleusercontent.com", - "client_type": 3 - }, - { - "client_id": "406099696497-0mofiof3ofcgmpmirb6q0fllvb372sme.apps.googleusercontent.com", - "client_type": 2, - "ios_info": { - "bundle_id": "io.flutter.plugins.firebase.example" - } - } - ] - } - } - }, - { - "client_info": { - "mobilesdk_app_id": "1:406099696497:android:3ef965ff044efc0b3574d0", - "android_client_info": { - "package_name": "io.flutter.plugins.firebase.dataconnect.example" - } - }, - "oauth_client": [ - { - "client_id": "406099696497-a12gakvts4epfk5pkio7dphc1anjiggc.apps.googleusercontent.com", - "client_type": 3 - } - ], - "api_key": [ - { - "current_key": "AIzaSyCdRjCVZlhrq72RuEklEyyxYlBRCYhI2Sw" - } - ], - "services": { - "appinvite_service": { - "other_platform_oauth_client": [ - { - "client_id": "406099696497-a12gakvts4epfk5pkio7dphc1anjiggc.apps.googleusercontent.com", - "client_type": 3 - }, - { - "client_id": "406099696497-0mofiof3ofcgmpmirb6q0fllvb372sme.apps.googleusercontent.com", - "client_type": 2, - "ios_info": { - "bundle_id": "io.flutter.plugins.firebase.example" - } - } - ] - } - } - }, - { - "client_info": { - "mobilesdk_app_id": "1:406099696497:android:40da41183cb3d3ff3574d0", - "android_client_info": { - "package_name": "io.flutter.plugins.firebase.dynamiclinksexample" - } - }, - "oauth_client": [ - { - "client_id": "406099696497-a12gakvts4epfk5pkio7dphc1anjiggc.apps.googleusercontent.com", - "client_type": 3 - } - ], - "api_key": [ - { - "current_key": "AIzaSyCdRjCVZlhrq72RuEklEyyxYlBRCYhI2Sw" - } - ], - "services": { - "appinvite_service": { - "other_platform_oauth_client": [ - { - "client_id": "406099696497-a12gakvts4epfk5pkio7dphc1anjiggc.apps.googleusercontent.com", - "client_type": 3 - }, - { - "client_id": "406099696497-0mofiof3ofcgmpmirb6q0fllvb372sme.apps.googleusercontent.com", - "client_type": 2, - "ios_info": { - "bundle_id": "io.flutter.plugins.firebase.example" - } - } - ] - } - } - }, - { - "client_info": { - "mobilesdk_app_id": "1:406099696497:android:175ea7a64b2faf5e3574d0", - "android_client_info": { - "package_name": "io.flutter.plugins.firebase.firestore.example" - } - }, - "oauth_client": [ - { - "client_id": "406099696497-a12gakvts4epfk5pkio7dphc1anjiggc.apps.googleusercontent.com", - "client_type": 3 - } - ], - "api_key": [ - { - "current_key": "AIzaSyCdRjCVZlhrq72RuEklEyyxYlBRCYhI2Sw" - } - ], - "services": { - "appinvite_service": { - "other_platform_oauth_client": [ - { - "client_id": "406099696497-a12gakvts4epfk5pkio7dphc1anjiggc.apps.googleusercontent.com", - "client_type": 3 - }, - { - "client_id": "406099696497-0mofiof3ofcgmpmirb6q0fllvb372sme.apps.googleusercontent.com", - "client_type": 2, - "ios_info": { - "bundle_id": "io.flutter.plugins.firebase.example" - } - } - ] - } - } - }, - { - "client_info": { - "mobilesdk_app_id": "1:406099696497:android:7ca3394493cc601a3574d0", - "android_client_info": { - "package_name": "io.flutter.plugins.firebase.functions.example" - } - }, - "oauth_client": [ - { - "client_id": "406099696497-17qn06u8a0dc717u8ul7s49ampk13lul.apps.googleusercontent.com", - "client_type": 1, - "android_info": { - "package_name": "io.flutter.plugins.firebase.functions.example", - "certificate_hash": "a4256c0612686b336af6d138a5479b7dc1ee1af6" - } - }, - { - "client_id": "406099696497-tvtvuiqogct1gs1s6lh114jeps7hpjm5.apps.googleusercontent.com", - "client_type": 1, - "android_info": { - "package_name": "io.flutter.plugins.firebase.functions.example", - "certificate_hash": "909ca1482ef022bbae45a2db6b6d05d807a4c4aa" - } - }, - { - "client_id": "406099696497-a12gakvts4epfk5pkio7dphc1anjiggc.apps.googleusercontent.com", - "client_type": 3 - } - ], - "api_key": [ - { - "current_key": "AIzaSyCdRjCVZlhrq72RuEklEyyxYlBRCYhI2Sw" - } - ], - "services": { - "appinvite_service": { - "other_platform_oauth_client": [ - { - "client_id": "406099696497-a12gakvts4epfk5pkio7dphc1anjiggc.apps.googleusercontent.com", - "client_type": 3 - }, - { - "client_id": "406099696497-0mofiof3ofcgmpmirb6q0fllvb372sme.apps.googleusercontent.com", - "client_type": 2, - "ios_info": { - "bundle_id": "io.flutter.plugins.firebase.example" - } - } - ] - } - } - }, - { - "client_info": { - "mobilesdk_app_id": "1:406099696497:android:6d1c1fbf4688f39c3574d0", - "android_client_info": { - "package_name": "io.flutter.plugins.firebase.installations.example" - } - }, - "oauth_client": [ - { - "client_id": "406099696497-a12gakvts4epfk5pkio7dphc1anjiggc.apps.googleusercontent.com", - "client_type": 3 - } - ], - "api_key": [ - { - "current_key": "AIzaSyCdRjCVZlhrq72RuEklEyyxYlBRCYhI2Sw" - } - ], - "services": { - "appinvite_service": { - "other_platform_oauth_client": [ - { - "client_id": "406099696497-a12gakvts4epfk5pkio7dphc1anjiggc.apps.googleusercontent.com", - "client_type": 3 - }, - { - "client_id": "406099696497-0mofiof3ofcgmpmirb6q0fllvb372sme.apps.googleusercontent.com", - "client_type": 2, - "ios_info": { - "bundle_id": "io.flutter.plugins.firebase.example" - } - } - ] - } - } - }, - { - "client_info": { - "mobilesdk_app_id": "1:406099696497:android:74ebb073d7727cd43574d0", - "android_client_info": { - "package_name": "io.flutter.plugins.firebase.messaging.example" - } - }, - "oauth_client": [ - { - "client_id": "406099696497-a12gakvts4epfk5pkio7dphc1anjiggc.apps.googleusercontent.com", - "client_type": 3 - } - ], - "api_key": [ - { - "current_key": "AIzaSyCdRjCVZlhrq72RuEklEyyxYlBRCYhI2Sw" - } - ], - "services": { - "appinvite_service": { - "other_platform_oauth_client": [ - { - "client_id": "406099696497-a12gakvts4epfk5pkio7dphc1anjiggc.apps.googleusercontent.com", - "client_type": 3 - }, - { - "client_id": "406099696497-0mofiof3ofcgmpmirb6q0fllvb372sme.apps.googleusercontent.com", - "client_type": 2, - "ios_info": { - "bundle_id": "io.flutter.plugins.firebase.example" - } - } - ] - } - } - }, - { - "client_info": { - "mobilesdk_app_id": "1:406099696497:android:f54b85cfa36a39f73574d0", - "android_client_info": { - "package_name": "io.flutter.plugins.firebase.remoteconfig.example" - } - }, - "oauth_client": [ - { - "client_id": "406099696497-a12gakvts4epfk5pkio7dphc1anjiggc.apps.googleusercontent.com", - "client_type": 3 - } - ], - "api_key": [ - { - "current_key": "AIzaSyCdRjCVZlhrq72RuEklEyyxYlBRCYhI2Sw" - } - ], - "services": { - "appinvite_service": { - "other_platform_oauth_client": [ - { - "client_id": "406099696497-a12gakvts4epfk5pkio7dphc1anjiggc.apps.googleusercontent.com", - "client_type": 3 - }, - { - "client_id": "406099696497-0mofiof3ofcgmpmirb6q0fllvb372sme.apps.googleusercontent.com", - "client_type": 2, - "ios_info": { - "bundle_id": "io.flutter.plugins.firebase.example" - } - } - ] - } - } - }, - { - "client_info": { - "mobilesdk_app_id": "1:406099696497:android:0d4ed619c031c0ac3574d0", - "android_client_info": { - "package_name": "io.flutter.plugins.firebase.tests" - } - }, - "oauth_client": [ - { - "client_id": "406099696497-ib9hj9281l3343cm3nfvvdotaojrthdc.apps.googleusercontent.com", - "client_type": 1, - "android_info": { - "package_name": "io.flutter.plugins.firebase.tests", - "certificate_hash": "5ad0d6d5cbe577ca185b8df246656bebc3957128" - } - }, - { - "client_id": "406099696497-lc54d5l8sp90k39r0bb39ovsgo1s9bek.apps.googleusercontent.com", - "client_type": 1, - "android_info": { - "package_name": "io.flutter.plugins.firebase.tests", - "certificate_hash": "909ca1482ef022bbae45a2db6b6d05d807a4c4aa" - } - }, - { - "client_id": "406099696497-a12gakvts4epfk5pkio7dphc1anjiggc.apps.googleusercontent.com", - "client_type": 3 - } - ], - "api_key": [ - { - "current_key": "AIzaSyCdRjCVZlhrq72RuEklEyyxYlBRCYhI2Sw" - } - ], - "services": { - "appinvite_service": { - "other_platform_oauth_client": [ - { - "client_id": "406099696497-a12gakvts4epfk5pkio7dphc1anjiggc.apps.googleusercontent.com", - "client_type": 3 - }, - { - "client_id": "406099696497-0mofiof3ofcgmpmirb6q0fllvb372sme.apps.googleusercontent.com", - "client_type": 2, - "ios_info": { - "bundle_id": "io.flutter.plugins.firebase.example" - } - } - ] - } - } - }, - { - "client_info": { - "mobilesdk_app_id": "1:406099696497:android:899c6485cfce26c13574d0", - "android_client_info": { - "package_name": "io.flutter.plugins.firebase_ui_example" - } - }, - "oauth_client": [ - { - "client_id": "406099696497-ltgvphphcckosvqhituel5km2k3aecg8.apps.googleusercontent.com", - "client_type": 1, - "android_info": { - "package_name": "io.flutter.plugins.firebase_ui_example", - "certificate_hash": "a4256c0612686b336af6d138a5479b7dc1ee1af6" - } - }, - { - "client_id": "406099696497-a12gakvts4epfk5pkio7dphc1anjiggc.apps.googleusercontent.com", - "client_type": 3 - } - ], - "api_key": [ - { - "current_key": "AIzaSyCdRjCVZlhrq72RuEklEyyxYlBRCYhI2Sw" - } - ], - "services": { - "appinvite_service": { - "other_platform_oauth_client": [ - { - "client_id": "406099696497-a12gakvts4epfk5pkio7dphc1anjiggc.apps.googleusercontent.com", - "client_type": 3 - }, - { - "client_id": "406099696497-0mofiof3ofcgmpmirb6q0fllvb372sme.apps.googleusercontent.com", - "client_type": 2, - "ios_info": { - "bundle_id": "io.flutter.plugins.firebase.example" - } - } - ] - } - } - }, - { - "client_info": { - "mobilesdk_app_id": "1:406099696497:android:bc0b12b0605df8633574d0", - "android_client_info": { - "package_name": "io.flutter.plugins.firebasecoreexample" - } - }, - "oauth_client": [ - { - "client_id": "406099696497-a12gakvts4epfk5pkio7dphc1anjiggc.apps.googleusercontent.com", - "client_type": 3 - } - ], - "api_key": [ - { - "current_key": "AIzaSyCdRjCVZlhrq72RuEklEyyxYlBRCYhI2Sw" - } - ], - "services": { - "appinvite_service": { - "other_platform_oauth_client": [ - { - "client_id": "406099696497-a12gakvts4epfk5pkio7dphc1anjiggc.apps.googleusercontent.com", - "client_type": 3 - }, - { - "client_id": "406099696497-0mofiof3ofcgmpmirb6q0fllvb372sme.apps.googleusercontent.com", - "client_type": 2, - "ios_info": { - "bundle_id": "io.flutter.plugins.firebase.example" - } - } - ] - } - } - }, - { - "client_info": { - "mobilesdk_app_id": "1:406099696497:android:0f3f7bfe78b8b7103574d0", - "android_client_info": { - "package_name": "io.flutter.plugins.firebasecrashlyticsexample" - } - }, - "oauth_client": [ - { - "client_id": "406099696497-a12gakvts4epfk5pkio7dphc1anjiggc.apps.googleusercontent.com", - "client_type": 3 - } - ], - "api_key": [ - { - "current_key": "AIzaSyCdRjCVZlhrq72RuEklEyyxYlBRCYhI2Sw" - } - ], - "services": { - "appinvite_service": { - "other_platform_oauth_client": [ - { - "client_id": "406099696497-a12gakvts4epfk5pkio7dphc1anjiggc.apps.googleusercontent.com", - "client_type": 3 - }, - { - "client_id": "406099696497-0mofiof3ofcgmpmirb6q0fllvb372sme.apps.googleusercontent.com", - "client_type": 2, - "ios_info": { - "bundle_id": "io.flutter.plugins.firebase.example" - } - } - ] - } - } - }, - { - "client_info": { - "mobilesdk_app_id": "1:406099696497:android:2751af6868a69f073574d0", - "android_client_info": { - "package_name": "io.flutter.plugins.firebasestorageexample" - } - }, - "oauth_client": [ - { - "client_id": "406099696497-a12gakvts4epfk5pkio7dphc1anjiggc.apps.googleusercontent.com", - "client_type": 3 - } - ], - "api_key": [ - { - "current_key": "AIzaSyCdRjCVZlhrq72RuEklEyyxYlBRCYhI2Sw" - } - ], - "services": { - "appinvite_service": { - "other_platform_oauth_client": [ - { - "client_id": "406099696497-a12gakvts4epfk5pkio7dphc1anjiggc.apps.googleusercontent.com", - "client_type": 3 - }, - { - "client_id": "406099696497-0mofiof3ofcgmpmirb6q0fllvb372sme.apps.googleusercontent.com", - "client_type": 2, - "ios_info": { - "bundle_id": "io.flutter.plugins.firebase.example" - } - } - ] - } - } - } - ], - "configuration_version": "1" -} \ No newline at end of file diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/android/app/src/debug/AndroidManifest.xml b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/android/app/src/debug/AndroidManifest.xml deleted file mode 100644 index 399f6981..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/android/app/src/debug/AndroidManifest.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/android/app/src/main/AndroidManifest.xml b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/android/app/src/main/AndroidManifest.xml deleted file mode 100644 index 74a78b93..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/android/app/src/main/AndroidManifest.xml +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/android/app/src/main/kotlin/io/flutter/plugins/firebase/auth/example/MainActivity.kt b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/android/app/src/main/kotlin/io/flutter/plugins/firebase/auth/example/MainActivity.kt deleted file mode 100644 index 2b88c507..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/android/app/src/main/kotlin/io/flutter/plugins/firebase/auth/example/MainActivity.kt +++ /dev/null @@ -1,5 +0,0 @@ -package io.flutter.plugins.firebase.auth.example - -import io.flutter.embedding.android.FlutterActivity - -class MainActivity : FlutterActivity() diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/android/app/src/main/res/drawable-v21/launch_background.xml b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/android/app/src/main/res/drawable-v21/launch_background.xml deleted file mode 100644 index f74085f3..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/android/app/src/main/res/drawable-v21/launch_background.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/android/app/src/main/res/drawable/launch_background.xml b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/android/app/src/main/res/drawable/launch_background.xml deleted file mode 100644 index 304732f8..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/android/app/src/main/res/drawable/launch_background.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/android/app/src/main/res/mipmap-hdpi/ic_launcher.png b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/android/app/src/main/res/mipmap-hdpi/ic_launcher.png deleted file mode 100644 index db77bb4b..00000000 Binary files a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/android/app/src/main/res/mipmap-hdpi/ic_launcher.png and /dev/null differ diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/android/app/src/main/res/mipmap-mdpi/ic_launcher.png b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/android/app/src/main/res/mipmap-mdpi/ic_launcher.png deleted file mode 100644 index 17987b79..00000000 Binary files a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/android/app/src/main/res/mipmap-mdpi/ic_launcher.png and /dev/null differ diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png deleted file mode 100644 index 09d43914..00000000 Binary files a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png and /dev/null differ diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png deleted file mode 100644 index d5f1c8d3..00000000 Binary files a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png and /dev/null differ diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png deleted file mode 100644 index 4d6372ee..00000000 Binary files a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png and /dev/null differ diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/android/app/src/main/res/values-night/styles.xml b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/android/app/src/main/res/values-night/styles.xml deleted file mode 100644 index 06952be7..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/android/app/src/main/res/values-night/styles.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/android/app/src/main/res/values/styles.xml b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/android/app/src/main/res/values/styles.xml deleted file mode 100644 index cb1ef880..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/android/app/src/main/res/values/styles.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/android/app/src/profile/AndroidManifest.xml b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/android/app/src/profile/AndroidManifest.xml deleted file mode 100644 index 399f6981..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/android/app/src/profile/AndroidManifest.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/android/build.gradle b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/android/build.gradle deleted file mode 100644 index d2ffbffa..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/android/build.gradle +++ /dev/null @@ -1,18 +0,0 @@ -allprojects { - repositories { - google() - mavenCentral() - } -} - -rootProject.buildDir = "../build" -subprojects { - project.buildDir = "${rootProject.buildDir}/${project.name}" -} -subprojects { - project.evaluationDependsOn(":app") -} - -tasks.register("clean", Delete) { - delete rootProject.buildDir -} diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/android/gradle.properties b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/android/gradle.properties deleted file mode 100644 index 3b5b324f..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/android/gradle.properties +++ /dev/null @@ -1,3 +0,0 @@ -org.gradle.jvmargs=-Xmx4G -XX:+HeapDumpOnOutOfMemoryError -android.useAndroidX=true -android.enableJetifier=true diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/android/gradle/wrapper/gradle-wrapper.properties b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/android/gradle/wrapper/gradle-wrapper.properties deleted file mode 100644 index e411586a..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/android/gradle/wrapper/gradle-wrapper.properties +++ /dev/null @@ -1,5 +0,0 @@ -distributionBase=GRADLE_USER_HOME -distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.4-bin.zip -zipStoreBase=GRADLE_USER_HOME -zipStorePath=wrapper/dists diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/android/settings.gradle b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/android/settings.gradle deleted file mode 100644 index a4d924db..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/android/settings.gradle +++ /dev/null @@ -1,28 +0,0 @@ -pluginManagement { - def flutterSdkPath = { - def properties = new Properties() - file("local.properties").withInputStream { properties.load(it) } - def flutterSdkPath = properties.getProperty("flutter.sdk") - assert flutterSdkPath != null, "flutter.sdk not set in local.properties" - return flutterSdkPath - }() - - includeBuild("$flutterSdkPath/packages/flutter_tools/gradle") - - repositories { - google() - mavenCentral() - gradlePluginPortal() - } -} - -plugins { - id "dev.flutter.flutter-plugin-loader" version "1.0.0" - id "com.android.application" version "8.3.0" apply false - // START: FlutterFire Configuration - id "com.google.gms.google-services" version "4.3.15" apply false - // END: FlutterFire Configuration - id "org.jetbrains.kotlin.android" version "1.9.22" apply false -} - -include ":app" diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/ios/Flutter/AppFrameworkInfo.plist b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/ios/Flutter/AppFrameworkInfo.plist deleted file mode 100644 index b3c50a89..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/ios/Flutter/AppFrameworkInfo.plist +++ /dev/null @@ -1,30 +0,0 @@ - - - - - CFBundleDevelopmentRegion - $(DEVELOPMENT_LANGUAGE) - CFBundleExecutable - App - CFBundleIdentifier - io.flutter.flutter.app - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - App - CFBundlePackageType - FMWK - CFBundleShortVersionString - 1.0 - CFBundleSignature - ???? - CFBundleVersion - 1.0 - UIRequiredDeviceCapabilities - - arm64 - - MinimumOSVersion - 12.0 - - diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/ios/Flutter/Debug.xcconfig b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/ios/Flutter/Debug.xcconfig deleted file mode 100644 index ec97fc6f..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/ios/Flutter/Debug.xcconfig +++ /dev/null @@ -1,2 +0,0 @@ -#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig" -#include "Generated.xcconfig" diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/ios/Flutter/Release.xcconfig b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/ios/Flutter/Release.xcconfig deleted file mode 100644 index 88c29144..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/ios/Flutter/Release.xcconfig +++ /dev/null @@ -1,3 +0,0 @@ -#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig" -#include "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig" -#include "Generated.xcconfig" diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/ios/Podfile b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/ios/Podfile deleted file mode 100644 index 3026bae9..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/ios/Podfile +++ /dev/null @@ -1,48 +0,0 @@ -# Uncomment this line to define a global platform for your project -platform :ios, '15.0' - -# CocoaPods analytics sends network stats synchronously affecting flutter build latency. -ENV['COCOAPODS_DISABLE_STATS'] = 'true' - -project 'Runner', { - 'Debug' => :debug, - 'Profile' => :release, - 'Release' => :release, -} - -def flutter_root - generated_xcode_build_settings_path = File.expand_path(File.join('..', 'Flutter', 'Generated.xcconfig'), __FILE__) - unless File.exist?(generated_xcode_build_settings_path) - raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually, make sure flutter pub get is executed first" - end - - File.foreach(generated_xcode_build_settings_path) do |line| - matches = line.match(/FLUTTER_ROOT\=(.*)/) - return matches[1].strip if matches - end - raise "FLUTTER_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Generated.xcconfig, then run flutter pub get" -end - -require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root) - -flutter_ios_podfile_setup - -target 'Runner' do - use_frameworks! - use_modular_headers! - flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__)) -end - -post_install do |installer| - installer.pods_project.targets.each do |target| - flutter_additional_ios_build_settings(target) - end - - installer.generated_projects.each do |project| - project.targets.each do |target| - target.build_configurations.each do |config| - config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '11.0' - end - end - end -end diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/ios/Runner.xcodeproj/project.pbxproj b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/ios/Runner.xcodeproj/project.pbxproj deleted file mode 100644 index 9da003ec..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/ios/Runner.xcodeproj/project.pbxproj +++ /dev/null @@ -1,700 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 54; - objects = { - -/* Begin PBXBuildFile section */ - 081BFEF7D2871CF6AC71DD05 /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 7B49E087B951778510D20936 /* GoogleService-Info.plist */; }; - 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; }; - 25A01FAE278D905100D1E790 /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 25A01FAD278D905100D1E790 /* GoogleService-Info.plist */; }; - 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; }; - 3DBDE9876E1D48FC8ED096A3 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E010D242A20C21968D02B7C9 /* Pods_Runner.framework */; }; - 78A318202AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage in Frameworks */ = {isa = PBXBuildFile; productRef = 78A3181F2AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage */; }; - 978B8F6F1D3862AE00F588F7 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 7AFFD8EE1D35381100E5BB4D /* AppDelegate.m */; }; - 97C146F31CF9000F007C117D /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 97C146F21CF9000F007C117D /* main.m */; }; - 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; }; - 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; }; - 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; }; -/* End PBXBuildFile section */ - -/* Begin PBXCopyFilesBuildPhase section */ - 9705A1C41CF9048500538489 /* Embed Frameworks */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = ""; - dstSubfolderSpec = 10; - files = ( - ); - name = "Embed Frameworks"; - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXCopyFilesBuildPhase section */ - -/* Begin PBXFileReference section */ - 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = ""; }; - 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = ""; }; - 253804AE278DB662003BA2E2 /* Runner.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = Runner.entitlements; sourceTree = ""; }; - 25A01FAD278D905100D1E790 /* GoogleService-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "GoogleService-Info.plist"; sourceTree = ""; }; - 2FB2202774601424C6393E3D /* 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 = ""; }; - 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; }; - 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; }; - 7AFFD8ED1D35381100E5BB4D /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; }; - 7AFFD8EE1D35381100E5BB4D /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = ""; }; - 7B49E087B951778510D20936 /* GoogleService-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; name = "GoogleService-Info.plist"; path = "Runner/GoogleService-Info.plist"; sourceTree = ""; }; - 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = ""; }; - 9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = ""; }; - 97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; }; - 97C146F21CF9000F007C117D /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; - 97C146FB1CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; - 97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; - 97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; - 97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - E010D242A20C21968D02B7C9 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - ED172FD60C3CC14CD005C328 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; - FD585EE39F3F8D58CFCE5419 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - 97C146EB1CF9000F007C117D /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 78A318202AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage in Frameworks */, - 3DBDE9876E1D48FC8ED096A3 /* Pods_Runner.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 9740EEB11CF90186004384FC /* Flutter */ = { - isa = PBXGroup; - children = ( - 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */, - 9740EEB21CF90195004384FC /* Debug.xcconfig */, - 7AFA3C8E1D35360C0083082E /* Release.xcconfig */, - 9740EEB31CF90195004384FC /* Generated.xcconfig */, - ); - name = Flutter; - sourceTree = ""; - }; - 97C146E51CF9000F007C117D = { - isa = PBXGroup; - children = ( - 9740EEB11CF90186004384FC /* Flutter */, - 97C146F01CF9000F007C117D /* Runner */, - 97C146EF1CF9000F007C117D /* Products */, - 9C7F99B73919EAB4FA657D9E /* Pods */, - 7B49E087B951778510D20936 /* GoogleService-Info.plist */, - DE500BC6E74EB524103D00CE /* Frameworks */, - ); - sourceTree = ""; - }; - 97C146EF1CF9000F007C117D /* Products */ = { - isa = PBXGroup; - children = ( - 97C146EE1CF9000F007C117D /* Runner.app */, - ); - name = Products; - sourceTree = ""; - }; - 97C146F01CF9000F007C117D /* Runner */ = { - isa = PBXGroup; - children = ( - 253804AE278DB662003BA2E2 /* Runner.entitlements */, - 7AFFD8ED1D35381100E5BB4D /* AppDelegate.h */, - 7AFFD8EE1D35381100E5BB4D /* AppDelegate.m */, - 97C146FA1CF9000F007C117D /* Main.storyboard */, - 97C146FD1CF9000F007C117D /* Assets.xcassets */, - 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */, - 25A01FAD278D905100D1E790 /* GoogleService-Info.plist */, - 97C147021CF9000F007C117D /* Info.plist */, - 97C146F11CF9000F007C117D /* Supporting Files */, - 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */, - 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */, - ); - path = Runner; - sourceTree = ""; - }; - 97C146F11CF9000F007C117D /* Supporting Files */ = { - isa = PBXGroup; - children = ( - 97C146F21CF9000F007C117D /* main.m */, - ); - name = "Supporting Files"; - sourceTree = ""; - }; - 9C7F99B73919EAB4FA657D9E /* Pods */ = { - isa = PBXGroup; - children = ( - 2FB2202774601424C6393E3D /* Pods-Runner.debug.xcconfig */, - ED172FD60C3CC14CD005C328 /* Pods-Runner.release.xcconfig */, - FD585EE39F3F8D58CFCE5419 /* Pods-Runner.profile.xcconfig */, - ); - path = Pods; - sourceTree = ""; - }; - DE500BC6E74EB524103D00CE /* Frameworks */ = { - isa = PBXGroup; - children = ( - E010D242A20C21968D02B7C9 /* Pods_Runner.framework */, - ); - name = Frameworks; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXNativeTarget section */ - 97C146ED1CF9000F007C117D /* Runner */ = { - isa = PBXNativeTarget; - buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */; - buildPhases = ( - AC2BD8C60F3AA720CEA78FA3 /* [CP] Check Pods Manifest.lock */, - 9740EEB61CF901F6004384FC /* Run Script */, - 97C146EA1CF9000F007C117D /* Sources */, - 97C146EB1CF9000F007C117D /* Frameworks */, - 97C146EC1CF9000F007C117D /* Resources */, - 9705A1C41CF9048500538489 /* Embed Frameworks */, - 3B06AD1E1E4923F5004D2608 /* Thin Binary */, - 3E42446041C78F434168F902 /* [CP] Embed Pods Frameworks */, - 7A855ADEADAAB6F658B535DB /* [CP] Copy Pods Resources */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = Runner; - packageProductDependencies = ( - 78A3181F2AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage */, - ); - productName = Runner; - productReference = 97C146EE1CF9000F007C117D /* Runner.app */; - productType = "com.apple.product-type.application"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - 97C146E61CF9000F007C117D /* Project object */ = { - isa = PBXProject; - attributes = { - LastUpgradeCheck = 1510; - ORGANIZATIONNAME = "The Chromium Authors"; - TargetAttributes = { - 97C146ED1CF9000F007C117D = { - CreatedOnToolsVersion = 7.3.1; - ProvisioningStyle = Automatic; - }; - }; - }; - buildConfigurationList = 97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */; - compatibilityVersion = "Xcode 3.2"; - developmentRegion = en; - hasScannedForEncodings = 0; - knownRegions = ( - en, - Base, - ); - mainGroup = 97C146E51CF9000F007C117D; - packageReferences = ( - 781AD8BC2B33823900A9FFBB /* XCLocalSwiftPackageReference "Flutter/ephemeral/Packages/FlutterGeneratedPluginSwiftPackage" */, - ); - productRefGroup = 97C146EF1CF9000F007C117D /* Products */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - 97C146ED1CF9000F007C117D /* Runner */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXResourcesBuildPhase section */ - 97C146EC1CF9000F007C117D /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */, - 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */, - 25A01FAE278D905100D1E790 /* GoogleService-Info.plist in Resources */, - 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */, - 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */, - 081BFEF7D2871CF6AC71DD05 /* GoogleService-Info.plist in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXShellScriptBuildPhase section */ - 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { - isa = PBXShellScriptBuildPhase; - alwaysOutOfDate = 1; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}", - ); - name = "Thin Binary"; - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; - }; - 3E42446041C78F434168F902 /* [CP] Embed Pods Frameworks */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh", - "${BUILT_PRODUCTS_DIR}/AppAuth/AppAuth.framework", - "${BUILT_PRODUCTS_DIR}/FirebaseAppCheckInterop/FirebaseAppCheckInterop.framework", - "${BUILT_PRODUCTS_DIR}/FirebaseAuth/FirebaseAuth.framework", - "${BUILT_PRODUCTS_DIR}/FirebaseAuthInterop/FirebaseAuthInterop.framework", - "${BUILT_PRODUCTS_DIR}/FirebaseCore/FirebaseCore.framework", - "${BUILT_PRODUCTS_DIR}/FirebaseCoreExtension/FirebaseCoreExtension.framework", - "${BUILT_PRODUCTS_DIR}/FirebaseCoreInternal/FirebaseCoreInternal.framework", - "${BUILT_PRODUCTS_DIR}/FirebaseInstallations/FirebaseInstallations.framework", - "${BUILT_PRODUCTS_DIR}/FirebaseMessaging/FirebaseMessaging.framework", - "${BUILT_PRODUCTS_DIR}/GTMAppAuth/GTMAppAuth.framework", - "${BUILT_PRODUCTS_DIR}/GTMSessionFetcher/GTMSessionFetcher.framework", - "${BUILT_PRODUCTS_DIR}/GoogleDataTransport/GoogleDataTransport.framework", - "${BUILT_PRODUCTS_DIR}/GoogleSignIn/GoogleSignIn.framework", - "${BUILT_PRODUCTS_DIR}/GoogleUtilities/GoogleUtilities.framework", - "${BUILT_PRODUCTS_DIR}/PromisesObjC/FBLPromises.framework", - "${BUILT_PRODUCTS_DIR}/RecaptchaInterop/RecaptchaInterop.framework", - "${BUILT_PRODUCTS_DIR}/flutter_facebook_auth/flutter_facebook_auth.framework", - "${BUILT_PRODUCTS_DIR}/flutter_secure_storage/flutter_secure_storage.framework", - "${BUILT_PRODUCTS_DIR}/nanopb/nanopb.framework", - "${BUILT_PRODUCTS_DIR}/path_provider_foundation/path_provider_foundation.framework", - "${BUILT_PRODUCTS_DIR}/shared_preferences_foundation/shared_preferences_foundation.framework", - "${BUILT_PRODUCTS_DIR}/url_launcher_ios/url_launcher_ios.framework", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/FBAEMKit/FBAEMKit.framework/FBAEMKit", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/FBSDKCoreKit/FBSDKCoreKit.framework/FBSDKCoreKit", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/FBSDKCoreKit_Basics/FBSDKCoreKit_Basics.framework/FBSDKCoreKit_Basics", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/FBSDKLoginKit/FBSDKLoginKit.framework/FBSDKLoginKit", - ); - name = "[CP] Embed Pods Frameworks"; - outputPaths = ( - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/AppAuth.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FirebaseAppCheckInterop.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FirebaseAuth.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FirebaseAuthInterop.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FirebaseCore.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FirebaseCoreExtension.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FirebaseCoreInternal.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FirebaseInstallations.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FirebaseMessaging.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/GTMAppAuth.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/GTMSessionFetcher.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/GoogleDataTransport.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/GoogleSignIn.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/GoogleUtilities.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FBLPromises.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/RecaptchaInterop.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/flutter_facebook_auth.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/flutter_secure_storage.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/nanopb.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/path_provider_foundation.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/shared_preferences_foundation.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/url_launcher_ios.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FBAEMKit.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FBSDKCoreKit.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FBSDKCoreKit_Basics.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FBSDKLoginKit.framework", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; - showEnvVarsInLog = 0; - }; - 7A855ADEADAAB6F658B535DB /* [CP] Copy Pods Resources */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources.sh", - "${PODS_CONFIGURATION_BUILD_DIR}/firebase_messaging/firebase_messaging_Privacy.bundle", - "${PODS_CONFIGURATION_BUILD_DIR}/google_sign_in_ios/google_sign_in_ios_privacy.bundle", - ); - name = "[CP] Copy Pods Resources"; - outputPaths = ( - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/firebase_messaging_Privacy.bundle", - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/google_sign_in_ios_privacy.bundle", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources.sh\"\n"; - showEnvVarsInLog = 0; - }; - 9740EEB61CF901F6004384FC /* Run Script */ = { - isa = PBXShellScriptBuildPhase; - alwaysOutOfDate = 1; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - name = "Run Script"; - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build"; - }; - AC2BD8C60F3AA720CEA78FA3 /* [CP] Check Pods Manifest.lock */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; - outputFileListPaths = ( - ); - outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; - }; -/* End PBXShellScriptBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - 97C146EA1CF9000F007C117D /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 978B8F6F1D3862AE00F588F7 /* AppDelegate.m in Sources */, - 97C146F31CF9000F007C117D /* main.m in Sources */, - 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin PBXVariantGroup section */ - 97C146FA1CF9000F007C117D /* Main.storyboard */ = { - isa = PBXVariantGroup; - children = ( - 97C146FB1CF9000F007C117D /* Base */, - ); - name = Main.storyboard; - sourceTree = ""; - }; - 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */ = { - isa = PBXVariantGroup; - children = ( - 97C147001CF9000F007C117D /* Base */, - ); - name = LaunchScreen.storyboard; - sourceTree = ""; - }; -/* End PBXVariantGroup section */ - -/* Begin XCBuildConfiguration section */ - 249021D3217E4FDB00AE95B9 /* Profile */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - HEADER_SEARCH_PATHS = "\\\"${PODS_ROOT}/Headers\\\""; - IPHONEOS_DEPLOYMENT_TARGET = 15.0; - MTL_ENABLE_DEBUG_INFO = NO; - SDKROOT = iphoneos; - SUPPORTED_PLATFORMS = iphoneos; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - }; - name = Profile; - }; - 249021D4217E4FDB00AE95B9 /* Profile */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements; - CODE_SIGN_IDENTITY = "Apple Development"; - CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; - DEVELOPMENT_TEAM = YYX2P3XVJ7; - ENABLE_BITCODE = NO; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Flutter", - ); - INFOPLIST_FILE = Runner/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 15.0; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - LIBRARY_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Flutter", - ); - PRODUCT_BUNDLE_IDENTIFIER = io.flutter.plugins.firebase.auth.example; - PRODUCT_NAME = "$(TARGET_NAME)"; - PROVISIONING_PROFILE_SPECIFIER = ""; - VERSIONING_SYSTEM = "apple-generic"; - }; - name = Profile; - }; - 97C147031CF9000F007C117D /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = dwarf; - ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_TESTABILITY = YES; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_DYNAMIC_NO_PIC = NO; - GCC_NO_COMMON_BLOCKS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - HEADER_SEARCH_PATHS = "\\\"${PODS_ROOT}/Headers\\\""; - IPHONEOS_DEPLOYMENT_TARGET = 15.0; - MTL_ENABLE_DEBUG_INFO = YES; - ONLY_ACTIVE_ARCH = YES; - SDKROOT = iphoneos; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Debug; - }; - 97C147041CF9000F007C117D /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - HEADER_SEARCH_PATHS = "\\\"${PODS_ROOT}/Headers\\\""; - IPHONEOS_DEPLOYMENT_TARGET = 15.0; - MTL_ENABLE_DEBUG_INFO = NO; - SDKROOT = iphoneos; - SUPPORTED_PLATFORMS = iphoneos; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; - 97C147061CF9000F007C117D /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements; - CODE_SIGN_IDENTITY = "Apple Development"; - CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; - DEVELOPMENT_TEAM = YYX2P3XVJ7; - ENABLE_BITCODE = NO; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Flutter", - ); - INFOPLIST_FILE = Runner/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 15.0; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - LIBRARY_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Flutter", - ); - PRODUCT_BUNDLE_IDENTIFIER = io.flutter.plugins.firebase.auth.example; - PRODUCT_NAME = "$(TARGET_NAME)"; - PROVISIONING_PROFILE_SPECIFIER = ""; - VERSIONING_SYSTEM = "apple-generic"; - }; - name = Debug; - }; - 97C147071CF9000F007C117D /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements; - CODE_SIGN_IDENTITY = "Apple Development"; - CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; - DEVELOPMENT_TEAM = YYX2P3XVJ7; - ENABLE_BITCODE = NO; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Flutter", - ); - INFOPLIST_FILE = Runner/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 15.0; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - LIBRARY_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Flutter", - ); - PRODUCT_BUNDLE_IDENTIFIER = io.flutter.plugins.firebase.auth.example; - PRODUCT_NAME = "$(TARGET_NAME)"; - PROVISIONING_PROFILE_SPECIFIER = ""; - VERSIONING_SYSTEM = "apple-generic"; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 97C147031CF9000F007C117D /* Debug */, - 97C147041CF9000F007C117D /* Release */, - 249021D3217E4FDB00AE95B9 /* Profile */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 97C147061CF9000F007C117D /* Debug */, - 97C147071CF9000F007C117D /* Release */, - 249021D4217E4FDB00AE95B9 /* Profile */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - -/* Begin XCLocalSwiftPackageReference section */ - 781AD8BC2B33823900A9FFBB /* XCLocalSwiftPackageReference "Flutter/ephemeral/Packages/FlutterGeneratedPluginSwiftPackage" */ = { - isa = XCLocalSwiftPackageReference; - relativePath = Flutter/ephemeral/Packages/FlutterGeneratedPluginSwiftPackage; - }; -/* End XCLocalSwiftPackageReference section */ - -/* Begin XCSwiftPackageProductDependency section */ - 78A3181F2AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage */ = { - isa = XCSwiftPackageProductDependency; - productName = FlutterGeneratedPluginSwiftPackage; - }; -/* End XCSwiftPackageProductDependency section */ - }; - rootObject = 97C146E61CF9000F007C117D /* Project object */; -} diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata deleted file mode 100644 index 919434a6..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata +++ /dev/null @@ -1,7 +0,0 @@ - - - - - diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist deleted file mode 100644 index 18d98100..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +++ /dev/null @@ -1,8 +0,0 @@ - - - - - IDEDidComputeMac32BitWarning - - - diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings deleted file mode 100644 index f9b0d7c5..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings +++ /dev/null @@ -1,8 +0,0 @@ - - - - - PreviewsEnabled - - - diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme deleted file mode 100644 index fc5ae031..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/ios/Runner.xcworkspace/contents.xcworkspacedata b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/ios/Runner.xcworkspace/contents.xcworkspacedata deleted file mode 100644 index 21a3cc14..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/ios/Runner.xcworkspace/contents.xcworkspacedata +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist deleted file mode 100644 index 18d98100..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +++ /dev/null @@ -1,8 +0,0 @@ - - - - - IDEDidComputeMac32BitWarning - - - diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings deleted file mode 100644 index f9b0d7c5..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings +++ /dev/null @@ -1,8 +0,0 @@ - - - - - PreviewsEnabled - - - diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/AppDelegate.h b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/AppDelegate.h deleted file mode 100644 index 36e21bbf..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/AppDelegate.h +++ /dev/null @@ -1,6 +0,0 @@ -#import -#import - -@interface AppDelegate : FlutterAppDelegate - -@end diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/AppDelegate.m b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/AppDelegate.m deleted file mode 100644 index 70e83933..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/AppDelegate.m +++ /dev/null @@ -1,13 +0,0 @@ -#import "AppDelegate.h" -#import "GeneratedPluginRegistrant.h" - -@implementation AppDelegate - -- (BOOL)application:(UIApplication *)application - didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { - [GeneratedPluginRegistrant registerWithRegistry:self]; - // Override point for customization after application launch. - return [super application:application didFinishLaunchingWithOptions:launchOptions]; -} - -@end diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/AppDelegate.swift b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/AppDelegate.swift deleted file mode 100644 index 62666446..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/AppDelegate.swift +++ /dev/null @@ -1,13 +0,0 @@ -import Flutter -import UIKit - -@main -@objc class AppDelegate: FlutterAppDelegate { - override func application( - _ application: UIApplication, - didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? - ) -> Bool { - GeneratedPluginRegistrant.register(with: self) - return super.application(application, didFinishLaunchingWithOptions: launchOptions) - } -} diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json deleted file mode 100644 index d36b1fab..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json +++ /dev/null @@ -1,122 +0,0 @@ -{ - "images" : [ - { - "size" : "20x20", - "idiom" : "iphone", - "filename" : "Icon-App-20x20@2x.png", - "scale" : "2x" - }, - { - "size" : "20x20", - "idiom" : "iphone", - "filename" : "Icon-App-20x20@3x.png", - "scale" : "3x" - }, - { - "size" : "29x29", - "idiom" : "iphone", - "filename" : "Icon-App-29x29@1x.png", - "scale" : "1x" - }, - { - "size" : "29x29", - "idiom" : "iphone", - "filename" : "Icon-App-29x29@2x.png", - "scale" : "2x" - }, - { - "size" : "29x29", - "idiom" : "iphone", - "filename" : "Icon-App-29x29@3x.png", - "scale" : "3x" - }, - { - "size" : "40x40", - "idiom" : "iphone", - "filename" : "Icon-App-40x40@2x.png", - "scale" : "2x" - }, - { - "size" : "40x40", - "idiom" : "iphone", - "filename" : "Icon-App-40x40@3x.png", - "scale" : "3x" - }, - { - "size" : "60x60", - "idiom" : "iphone", - "filename" : "Icon-App-60x60@2x.png", - "scale" : "2x" - }, - { - "size" : "60x60", - "idiom" : "iphone", - "filename" : "Icon-App-60x60@3x.png", - "scale" : "3x" - }, - { - "size" : "20x20", - "idiom" : "ipad", - "filename" : "Icon-App-20x20@1x.png", - "scale" : "1x" - }, - { - "size" : "20x20", - "idiom" : "ipad", - "filename" : "Icon-App-20x20@2x.png", - "scale" : "2x" - }, - { - "size" : "29x29", - "idiom" : "ipad", - "filename" : "Icon-App-29x29@1x.png", - "scale" : "1x" - }, - { - "size" : "29x29", - "idiom" : "ipad", - "filename" : "Icon-App-29x29@2x.png", - "scale" : "2x" - }, - { - "size" : "40x40", - "idiom" : "ipad", - "filename" : "Icon-App-40x40@1x.png", - "scale" : "1x" - }, - { - "size" : "40x40", - "idiom" : "ipad", - "filename" : "Icon-App-40x40@2x.png", - "scale" : "2x" - }, - { - "size" : "76x76", - "idiom" : "ipad", - "filename" : "Icon-App-76x76@1x.png", - "scale" : "1x" - }, - { - "size" : "76x76", - "idiom" : "ipad", - "filename" : "Icon-App-76x76@2x.png", - "scale" : "2x" - }, - { - "size" : "83.5x83.5", - "idiom" : "ipad", - "filename" : "Icon-App-83.5x83.5@2x.png", - "scale" : "2x" - }, - { - "size" : "1024x1024", - "idiom" : "ios-marketing", - "filename" : "Icon-App-1024x1024@1x.png", - "scale" : "1x" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png deleted file mode 100644 index dc9ada47..00000000 Binary files a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png and /dev/null differ diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png deleted file mode 100644 index 28c6bf03..00000000 Binary files a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png and /dev/null differ diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png deleted file mode 100644 index 2ccbfd96..00000000 Binary files a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png and /dev/null differ diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png deleted file mode 100644 index f091b6b0..00000000 Binary files a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png and /dev/null differ diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png deleted file mode 100644 index 4cde1211..00000000 Binary files a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png and /dev/null differ diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png deleted file mode 100644 index d0ef06e7..00000000 Binary files a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png and /dev/null differ diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png deleted file mode 100644 index dcdc2306..00000000 Binary files a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png and /dev/null differ diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png deleted file mode 100644 index 2ccbfd96..00000000 Binary files a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png and /dev/null differ diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png deleted file mode 100644 index c8f9ed8f..00000000 Binary files a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png and /dev/null differ diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png deleted file mode 100644 index a6d6b860..00000000 Binary files a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png and /dev/null differ diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png deleted file mode 100644 index a6d6b860..00000000 Binary files a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png and /dev/null differ diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png deleted file mode 100644 index 75b2d164..00000000 Binary files a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png and /dev/null differ diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png deleted file mode 100644 index c4df70d3..00000000 Binary files a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png and /dev/null differ diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png deleted file mode 100644 index 6a84f41e..00000000 Binary files a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png and /dev/null differ diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png deleted file mode 100644 index d0e1f585..00000000 Binary files a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png and /dev/null differ diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json deleted file mode 100644 index 0bedcf2f..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "images" : [ - { - "idiom" : "universal", - "filename" : "LaunchImage.png", - "scale" : "1x" - }, - { - "idiom" : "universal", - "filename" : "LaunchImage@2x.png", - "scale" : "2x" - }, - { - "idiom" : "universal", - "filename" : "LaunchImage@3x.png", - "scale" : "3x" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png deleted file mode 100644 index 9da19eac..00000000 Binary files a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png and /dev/null differ diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png deleted file mode 100644 index 9da19eac..00000000 Binary files a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png and /dev/null differ diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png deleted file mode 100644 index 9da19eac..00000000 Binary files a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png and /dev/null differ diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md deleted file mode 100644 index 89c2725b..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md +++ /dev/null @@ -1,5 +0,0 @@ -# Launch Screen Assets - -You can customize the launch screen with your own desired assets by replacing the image files in this directory. - -You can also do it by opening your Flutter project's Xcode project with `open ios/Runner.xcworkspace`, selecting `Runner/Assets.xcassets` in the Project Navigator and dropping in the desired images. \ No newline at end of file diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Base.lproj/LaunchScreen.storyboard b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Base.lproj/LaunchScreen.storyboard deleted file mode 100644 index f2e259c7..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Base.lproj/LaunchScreen.storyboard +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Base.lproj/Main.storyboard b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Base.lproj/Main.storyboard deleted file mode 100644 index f3c28516..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Base.lproj/Main.storyboard +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/GoogleService-Info.plist b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/GoogleService-Info.plist deleted file mode 100644 index f325ead9..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/GoogleService-Info.plist +++ /dev/null @@ -1,38 +0,0 @@ - - - - - CLIENT_ID - 406099696497-134k3722m01rtrsklhf3b7k8sqa5r7in.apps.googleusercontent.com - REVERSED_CLIENT_ID - com.googleusercontent.apps.406099696497-134k3722m01rtrsklhf3b7k8sqa5r7in - ANDROID_CLIENT_ID - 406099696497-17qn06u8a0dc717u8ul7s49ampk13lul.apps.googleusercontent.com - API_KEY - AIzaSyDooSUGSf63Ghq02_iIhtnmwMDs4HlWS6c - GCM_SENDER_ID - 406099696497 - PLIST_VERSION - 1 - BUNDLE_ID - io.flutter.plugins.firebase.auth.example - PROJECT_ID - flutterfire-e2e-tests - STORAGE_BUCKET - flutterfire-e2e-tests.appspot.com - IS_ADS_ENABLED - - IS_ANALYTICS_ENABLED - - IS_APPINVITE_ENABLED - - IS_GCM_ENABLED - - IS_SIGNIN_ENABLED - - GOOGLE_APP_ID - 1:406099696497:ios:58cbc26aca8e5cf83574d0 - DATABASE_URL - https://flutterfire-e2e-tests-default-rtdb.europe-west1.firebasedatabase.app - - \ No newline at end of file diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Info.plist b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Info.plist deleted file mode 100644 index e1ffa4fe..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Info.plist +++ /dev/null @@ -1,98 +0,0 @@ - - - - - CADisableMinimumFrameDurationOnPhone - - CFBundleDevelopmentRegion - $(DEVELOPMENT_LANGUAGE) - CFBundleDisplayName - Firebase Auth Example - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - firebase_auth_example - CFBundlePackageType - APPL - CFBundleShortVersionString - $(FLUTTER_BUILD_NAME) - CFBundleSignature - ???? - FacebookAppID - 128693022464535 - - FacebookClientToken - 16dbbdf0cfb309034a6ad98ac2a21688 - CFBundleURLTypes - - - CFBundleTypeRole - Editor - CFBundleURLSchemes - - com.googleusercontent.apps.406099696497-134k3722m01rtrsklhf3b7k8sqa5r7in - fb128693022464535 - - - - CFBundleVersion - $(FLUTTER_BUILD_NUMBER) - LSRequiresIPhoneOS - - NSAppTransportSecurity - - NSAllowsArbitraryLoads - - - UILaunchStoryboardName - LaunchScreen - UIMainStoryboardFile - Main - UIRequiredDeviceCapabilities - - arm64 - - UISupportedInterfaceOrientations - - UIInterfaceOrientationPortrait - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - UISupportedInterfaceOrientations~ipad - - UIInterfaceOrientationPortrait - UIInterfaceOrientationPortraitUpsideDown - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - UIViewControllerBasedStatusBarAppearance - - UIApplicationSupportsIndirectInputEvents - - UIApplicationSceneManifest - - UIApplicationSupportsMultipleScenes - - UISceneConfigurations - - UIWindowSceneSessionRoleApplication - - - UISceneClassName - UIWindowScene - UISceneDelegateClassName - FlutterSceneDelegate - UISceneConfigurationName - flutter - UISceneStoryboardFile - Main - - - - - - diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Runner-Bridging-Header.h b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Runner-Bridging-Header.h deleted file mode 100644 index 308a2a56..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Runner-Bridging-Header.h +++ /dev/null @@ -1 +0,0 @@ -#import "GeneratedPluginRegistrant.h" diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Runner.entitlements b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Runner.entitlements deleted file mode 100644 index 16c5d9e0..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Runner.entitlements +++ /dev/null @@ -1,14 +0,0 @@ - - - - - aps-environment - development - com.apple.developer.applesignin - - Default - - com.apple.developer.game-center - - - diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/main.m b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/main.m deleted file mode 100644 index dff6597e..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/main.m +++ /dev/null @@ -1,9 +0,0 @@ -#import -#import -#import "AppDelegate.h" - -int main(int argc, char* argv[]) { - @autoreleasepool { - return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); - } -} diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/ios/firebase_app_id_file.json b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/ios/firebase_app_id_file.json deleted file mode 100644 index eaca8edd..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/ios/firebase_app_id_file.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "file_generated_by": "FlutterFire CLI", - "purpose": "FirebaseAppID & ProjectID for this Firebase app in this directory", - "GOOGLE_APP_ID": "1:406099696497:ios:58cbc26aca8e5cf83574d0", - "FIREBASE_PROJECT_ID": "flutterfire-e2e-tests", - "GCM_SENDER_ID": "406099696497" -} \ No newline at end of file diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/lib/auth.dart b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/lib/auth.dart deleted file mode 100644 index b78c948e..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/lib/auth.dart +++ /dev/null @@ -1,748 +0,0 @@ -// Copyright 2022, the Chromium project authors. Please see the AUTHORS file -// for details. All rights reserved. Use of this source code is governed by a -// BSD-style license that can be found in the LICENSE file. - -import 'dart:io'; - -import 'package:barcode_widget/barcode_widget.dart'; -import 'package:collection/collection.dart'; -import 'package:firebase_auth/firebase_auth.dart'; -import 'package:firebase_auth_example/main.dart'; -import 'package:firebase_messaging/firebase_messaging.dart'; -import 'package:flutter/foundation.dart'; -import 'package:flutter/gestures.dart'; -import 'package:flutter/material.dart'; -import 'package:flutter_facebook_auth/flutter_facebook_auth.dart'; -import 'package:flutter_signin_button/flutter_signin_button.dart'; -import 'package:google_sign_in/google_sign_in.dart'; - -typedef OAuthSignIn = void Function(); - -// If set to true, the app will request notification permissions to use -// silent verification for SMS MFA instead of Recaptcha. -const withSilentVerificationSMSMFA = true; - -/// Helper class to show a snackbar using the passed context. -class ScaffoldSnackbar { - // ignore: public_member_api_docs - ScaffoldSnackbar(this._context); - - /// The scaffold of current context. - factory ScaffoldSnackbar.of(BuildContext context) { - return ScaffoldSnackbar(context); - } - - final BuildContext _context; - - /// Helper method to show a SnackBar. - void show(String message) { - ScaffoldMessenger.of(_context) - ..hideCurrentSnackBar() - ..showSnackBar( - SnackBar( - content: Text(message), - behavior: SnackBarBehavior.floating, - ), - ); - } -} - -/// The mode of the current auth session, either [AuthMode.login] or [AuthMode.register]. -// ignore: public_member_api_docs -enum AuthMode { login, register, phone } - -extension on AuthMode { - String get label => this == AuthMode.login - ? 'Sign in' - : this == AuthMode.phone - ? 'Sign in' - : 'Register'; -} - -/// Entrypoint example for various sign-in flows with Firebase. -class AuthGate extends StatefulWidget { - // ignore: public_member_api_docs - const AuthGate({Key? key}) : super(key: key); - static String? appleAuthorizationCode; - @override - State createState() => _AuthGateState(); -} - -class _AuthGateState extends State { - TextEditingController emailController = TextEditingController(); - TextEditingController passwordController = TextEditingController(); - TextEditingController phoneController = TextEditingController(); - - GlobalKey formKey = GlobalKey(); - String error = ''; - String verificationId = ''; - - AuthMode mode = AuthMode.login; - - bool isLoading = false; - - void setIsLoading() { - setState(() { - isLoading = !isLoading; - }); - } - - late Map authButtons; - - @override - void initState() { - super.initState(); - - if (withSilentVerificationSMSMFA && !kIsWeb) { - FirebaseMessaging messaging = FirebaseMessaging.instance; - messaging.requestPermission(); - } - - if (!kIsWeb && Platform.isMacOS) { - authButtons = { - Buttons.Apple: () => _handleMultiFactorException( - _signInWithApple, - ), - }; - } else { - authButtons = { - Buttons.Apple: () => _handleMultiFactorException( - _signInWithApple, - ), - Buttons.Google: () => _handleMultiFactorException( - _signInWithGoogle, - ), - Buttons.GitHub: () => _handleMultiFactorException( - _signInWithGitHub, - ), - Buttons.Microsoft: () => _handleMultiFactorException( - _signInWithMicrosoft, - ), - Buttons.Twitter: () => _handleMultiFactorException( - _signInWithTwitter, - ), - Buttons.Yahoo: () => _handleMultiFactorException( - _signInWithYahoo, - ), - Buttons.Facebook: () => _handleMultiFactorException( - _signInWithFacebook, - ), - }; - } - } - - @override - Widget build(BuildContext context) { - return GestureDetector( - onTap: FocusScope.of(context).unfocus, - child: Scaffold( - body: Center( - child: SingleChildScrollView( - child: Center( - child: Padding( - padding: const EdgeInsets.symmetric(horizontal: 20), - child: SafeArea( - child: Form( - key: formKey, - autovalidateMode: AutovalidateMode.onUserInteraction, - child: ConstrainedBox( - constraints: const BoxConstraints(maxWidth: 400), - child: Column( - mainAxisAlignment: MainAxisAlignment.center, - children: [ - Visibility( - visible: error.isNotEmpty, - child: MaterialBanner( - backgroundColor: - Theme.of(context).colorScheme.error, - content: SelectableText(error), - actions: [ - TextButton( - onPressed: () { - setState(() { - error = ''; - }); - }, - child: const Text( - 'dismiss', - style: TextStyle(color: Colors.white), - ), - ), - ], - contentTextStyle: - const TextStyle(color: Colors.white), - padding: const EdgeInsets.all(10), - ), - ), - const SizedBox(height: 20), - if (mode != AuthMode.phone) - Column( - children: [ - TextFormField( - controller: emailController, - decoration: const InputDecoration( - hintText: 'Email', - border: OutlineInputBorder(), - ), - keyboardType: TextInputType.emailAddress, - autofillHints: const [AutofillHints.email], - validator: (value) => - value != null && value.isNotEmpty - ? null - : 'Required', - ), - const SizedBox(height: 20), - TextFormField( - controller: passwordController, - obscureText: true, - decoration: const InputDecoration( - hintText: 'Password', - border: OutlineInputBorder(), - ), - validator: (value) => - value != null && value.isNotEmpty - ? null - : 'Required', - ), - ], - ), - if (mode == AuthMode.phone) - TextFormField( - controller: phoneController, - decoration: const InputDecoration( - hintText: '+12345678910', - labelText: 'Phone number', - border: OutlineInputBorder(), - ), - validator: (value) => - value != null && value.isNotEmpty - ? null - : 'Required', - ), - const SizedBox(height: 20), - SizedBox( - width: double.infinity, - height: 50, - child: ElevatedButton( - onPressed: isLoading - ? null - : () => _handleMultiFactorException( - _emailAndPassword, - ), - child: isLoading - ? const CircularProgressIndicator.adaptive() - : Text(mode.label), - ), - ), - TextButton( - onPressed: _resetPassword, - child: const Text('Forgot password?'), - ), - ...authButtons.keys - .map( - (button) => Padding( - padding: - const EdgeInsets.symmetric(vertical: 5), - child: AnimatedSwitcher( - duration: const Duration(milliseconds: 200), - child: isLoading - ? Container( - color: Colors.grey[200], - height: 50, - width: double.infinity, - ) - : SizedBox( - width: double.infinity, - height: 50, - child: SignInButton( - button, - onPressed: authButtons[button], - ), - ), - ), - ), - ) - .toList(), - SizedBox( - width: double.infinity, - height: 50, - child: OutlinedButton( - onPressed: isLoading - ? null - : () { - if (mode != AuthMode.phone) { - setState(() { - mode = AuthMode.phone; - }); - } else { - setState(() { - mode = AuthMode.login; - }); - } - }, - child: isLoading - ? const CircularProgressIndicator.adaptive() - : Text( - mode != AuthMode.phone - ? 'Sign in with Phone Number' - : 'Sign in with Email and Password', - ), - ), - ), - const SizedBox(height: 20), - if (mode != AuthMode.phone) - RichText( - text: TextSpan( - style: Theme.of(context).textTheme.bodyLarge, - children: [ - TextSpan( - text: mode == AuthMode.login - ? "Don't have an account? " - : 'You have an account? ', - ), - TextSpan( - text: mode == AuthMode.login - ? 'Register now' - : 'Click to login', - style: const TextStyle(color: Colors.blue), - recognizer: TapGestureRecognizer() - ..onTap = () { - setState(() { - mode = mode == AuthMode.login - ? AuthMode.register - : AuthMode.login; - }); - }, - ), - ], - ), - ), - const SizedBox(height: 10), - RichText( - text: TextSpan( - style: Theme.of(context).textTheme.bodyLarge, - children: [ - const TextSpan(text: 'Or '), - TextSpan( - text: 'continue as guest', - style: const TextStyle(color: Colors.blue), - recognizer: TapGestureRecognizer() - ..onTap = _anonymousAuth, - ), - ], - ), - ), - ], - ), - ), - ), - ), - ), - ), - ), - ), - ), - ); - } - - Future _resetPassword() async { - String? email; - await showDialog( - context: context, - builder: (context) { - return AlertDialog( - actions: [ - TextButton( - onPressed: () { - Navigator.of(context).pop(); - }, - child: const Text('Send'), - ), - ], - content: Column( - crossAxisAlignment: CrossAxisAlignment.start, - mainAxisSize: MainAxisSize.min, - children: [ - const Text('Enter your email'), - const SizedBox(height: 20), - TextFormField( - onChanged: (value) { - email = value; - }, - ), - ], - ), - ); - }, - ); - - if (email != null) { - try { - await auth.sendPasswordResetEmail(email: email!); - ScaffoldSnackbar.of(context).show('Password reset email is sent'); - } catch (e) { - ScaffoldSnackbar.of(context).show('Error resetting'); - } - } - } - - Future _anonymousAuth() async { - setIsLoading(); - - try { - await auth.signInAnonymously(); - } on FirebaseAuthException catch (e) { - setState(() { - error = '${e.message}'; - }); - } catch (e) { - setState(() { - error = '$e'; - }); - } finally { - setIsLoading(); - } - } - - Future _handleMultiFactorException( - Future Function() authFunction, - ) async { - setIsLoading(); - try { - await authFunction(); - } on FirebaseAuthMultiFactorException catch (e) { - setState(() { - error = '${e.message}'; - }); - final firstTotpHint = e.resolver.hints - .firstWhereOrNull((element) => element is TotpMultiFactorInfo); - if (firstTotpHint != null) { - final code = await getSmsCodeFromUser(context); - final assertion = await TotpMultiFactorGenerator.getAssertionForSignIn( - firstTotpHint.uid, - code!, - ); - await e.resolver.resolveSignIn(assertion); - return; - } - - final firstPhoneHint = e.resolver.hints - .firstWhereOrNull((element) => element is PhoneMultiFactorInfo); - - if (firstPhoneHint is! PhoneMultiFactorInfo) { - return; - } - await auth.verifyPhoneNumber( - multiFactorSession: e.resolver.session, - multiFactorInfo: firstPhoneHint, - verificationCompleted: (_) {}, - verificationFailed: print, - codeSent: (String verificationId, int? resendToken) async { - final smsCode = await getSmsCodeFromUser(context); - - if (smsCode != null) { - // Create a PhoneAuthCredential with the code - final credential = PhoneAuthProvider.credential( - verificationId: verificationId, - smsCode: smsCode, - ); - - try { - await e.resolver.resolveSignIn( - PhoneMultiFactorGenerator.getAssertion( - credential, - ), - ); - } on FirebaseAuthException catch (e) { - print(e.message); - } - } - }, - codeAutoRetrievalTimeout: print, - ); - } on FirebaseAuthException catch (e) { - setState(() { - error = '${e.message}'; - }); - } catch (e) { - setState(() { - error = '$e'; - }); - } - setIsLoading(); - } - - Future _emailAndPassword() async { - if (formKey.currentState?.validate() ?? false) { - if (mode == AuthMode.login) { - await auth.signInWithEmailAndPassword( - email: emailController.text, - password: passwordController.text, - ); - } else if (mode == AuthMode.register) { - await auth.createUserWithEmailAndPassword( - email: emailController.text, - password: passwordController.text, - ); - } else { - await _phoneAuth(); - } - } - } - - Future _phoneAuth() async { - if (mode != AuthMode.phone) { - setState(() { - mode = AuthMode.phone; - }); - } else { - if (kIsWeb) { - final confirmationResult = - await auth.signInWithPhoneNumber(phoneController.text); - final smsCode = await getSmsCodeFromUser(context); - - if (smsCode != null) { - await confirmationResult.confirm(smsCode); - } - } else { - await auth.verifyPhoneNumber( - phoneNumber: phoneController.text, - verificationCompleted: (_) {}, - verificationFailed: (e) { - setState(() { - error = '${e.message}'; - }); - }, - codeSent: (String verificationId, int? resendToken) async { - final smsCode = await getSmsCodeFromUser(context); - - if (smsCode != null) { - // Create a PhoneAuthCredential with the code - final credential = PhoneAuthProvider.credential( - verificationId: verificationId, - smsCode: smsCode, - ); - - try { - // Sign the user in (or link) with the credential - await auth.signInWithCredential(credential); - } on FirebaseAuthException catch (e) { - setState(() { - error = e.message ?? ''; - }); - } - } - }, - codeAutoRetrievalTimeout: (e) { - setState(() { - error = e; - }); - }, - ); - } - } - } - - Future _signInWithGoogle() async { - // Trigger the authentication flow - final googleUser = await GoogleSignIn().signIn(); - - // Obtain the auth details from the request - final googleAuth = await googleUser?.authentication; - - if (googleAuth != null) { - // Create a new credential - final credential = GoogleAuthProvider.credential( - accessToken: googleAuth.accessToken, - idToken: googleAuth.idToken, - ); - - // Once signed in, return the UserCredential - await auth.signInWithCredential(credential); - } - } - - Future _signInWithFacebook() async { - // Trigger the authentication flow - // by default we request the email and the public profile - final LoginResult result = await FacebookAuth.instance.login(); - - if (result.status == LoginStatus.success) { - // Get access token - final AccessToken accessToken = result.accessToken!; - - // Login with token - await auth.signInWithCredential( - FacebookAuthProvider.credential(accessToken.tokenString), - ); - } else { - print('Facebook login did not succeed'); - print(result.status); - print(result.message); - } - } -} - -Future _signInWithTwitter() async { - TwitterAuthProvider twitterProvider = TwitterAuthProvider(); - - if (kIsWeb) { - await auth.signInWithPopup(twitterProvider); - } else { - await auth.signInWithProvider(twitterProvider); - } -} - -Future _signInWithApple() async { - final appleProvider = AppleAuthProvider(); - appleProvider.addScope('email'); - - if (kIsWeb) { - // Once signed in, return the UserCredential - await auth.signInWithPopup(appleProvider); - } else { - final userCred = await auth.signInWithProvider(appleProvider); - AuthGate.appleAuthorizationCode = - userCred.additionalUserInfo?.authorizationCode; - } -} - -Future _signInWithYahoo() async { - final yahooProvider = YahooAuthProvider(); - - if (kIsWeb) { - // Once signed in, return the UserCredential - await auth.signInWithPopup(yahooProvider); - } else { - await auth.signInWithProvider(yahooProvider); - } -} - -Future _signInWithGitHub() async { - final githubProvider = GithubAuthProvider(); - - if (kIsWeb) { - await auth.signInWithPopup(githubProvider); - } else { - await auth.signInWithProvider(githubProvider); - } -} - -Future _signInWithMicrosoft() async { - final microsoftProvider = MicrosoftAuthProvider(); - - if (kIsWeb) { - await auth.signInWithPopup(microsoftProvider); - } else { - await auth.signInWithProvider(microsoftProvider); - } -} - -Future getSmsCodeFromUser(BuildContext context) async { - String? smsCode; - - // Update the UI - wait for the user to enter the SMS code - await showDialog( - context: context, - barrierDismissible: false, - builder: (context) { - return AlertDialog( - title: const Text('SMS code:'), - actions: [ - ElevatedButton( - onPressed: () { - Navigator.of(context).pop(); - }, - child: const Text('Sign in'), - ), - OutlinedButton( - onPressed: () { - smsCode = null; - Navigator.of(context).pop(); - }, - child: const Text('Cancel'), - ), - ], - content: Container( - padding: const EdgeInsets.all(20), - child: TextField( - onChanged: (value) { - smsCode = value; - }, - textAlign: TextAlign.center, - autofocus: true, - ), - ), - ); - }, - ); - - return smsCode; -} - -Future getTotpFromUser( - BuildContext context, - TotpSecret totpSecret, -) async { - String? smsCode; - - final qrCodeUrl = await totpSecret.generateQrCodeUrl( - accountName: FirebaseAuth.instance.currentUser!.email, - issuer: 'Firebase', - ); - - // Update the UI - wait for the user to enter the SMS code - await showDialog( - context: context, - barrierDismissible: false, - builder: (context) { - return AlertDialog( - title: const Text('TOTP code:'), - content: Container( - padding: const EdgeInsets.all(20), - child: Column( - mainAxisSize: MainAxisSize.min, - children: [ - BarcodeWidget( - barcode: Barcode.qrCode(), - data: qrCodeUrl, - width: 150, - height: 150, - ), - TextField( - onChanged: (value) { - smsCode = value; - }, - textAlign: TextAlign.center, - autofocus: true, - ), - ElevatedButton( - onPressed: () { - totpSecret.openInOtpApp(qrCodeUrl); - }, - child: const Text('Open in OTP App'), - ), - ], - ), - ), - actions: [ - ElevatedButton( - onPressed: () { - Navigator.of(context).pop(); - }, - child: const Text('Sign in'), - ), - OutlinedButton( - onPressed: () { - smsCode = null; - Navigator.of(context).pop(); - }, - child: const Text('Cancel'), - ), - ], - ); - }, - ); - - return smsCode; -} diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/lib/firebase_options.dart b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/lib/firebase_options.dart deleted file mode 100644 index ba1a88dc..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/lib/firebase_options.dart +++ /dev/null @@ -1,98 +0,0 @@ -// Copyright 2022, the Chromium project authors. Please see the AUTHORS file -// for details. All rights reserved. Use of this source code is governed by a -// BSD-style license that can be found in the LICENSE file. - -// File generated by FlutterFire CLI. -// ignore_for_file: lines_longer_than_80_chars, avoid_classes_with_only_static_members -import 'package:firebase_core/firebase_core.dart' show FirebaseOptions; -import 'package:flutter/foundation.dart' - show defaultTargetPlatform, kIsWeb, TargetPlatform; - -/// Default [FirebaseOptions] for use with your Firebase apps. -/// -/// Example: -/// ```dart -/// import 'firebase_options.dart'; -/// // ... -/// await Firebase.initializeApp( -/// options: DefaultFirebaseOptions.currentPlatform, -/// ); -/// ``` -class DefaultFirebaseOptions { - static FirebaseOptions get currentPlatform { - if (kIsWeb) { - return web; - } - switch (defaultTargetPlatform) { - case TargetPlatform.android: - return android; - case TargetPlatform.iOS: - return ios; - case TargetPlatform.macOS: - return macos; - case TargetPlatform.windows: - return macos; - case TargetPlatform.linux: - throw UnsupportedError( - 'DefaultFirebaseOptions have not been configured for linux - ' - 'you can reconfigure this by running the FlutterFire CLI again.', - ); - default: - throw UnsupportedError( - 'DefaultFirebaseOptions are not supported for this platform.', - ); - } - } - - static const FirebaseOptions web = FirebaseOptions( - apiKey: 'AIzaSyB7wZb2tO1-Fs6GbDADUSTs2Qs3w08Hovw', - appId: '1:406099696497:web:87e25e51afe982cd3574d0', - messagingSenderId: '406099696497', - projectId: 'flutterfire-e2e-tests', - authDomain: 'flutterfire-e2e-tests.firebaseapp.com', - databaseURL: - 'https://flutterfire-e2e-tests-default-rtdb.europe-west1.firebasedatabase.app', - storageBucket: 'flutterfire-e2e-tests.appspot.com', - measurementId: 'G-JN95N1JV2E', - ); - - static const FirebaseOptions android = FirebaseOptions( - apiKey: 'AIzaSyCdRjCVZlhrq72RuEklEyyxYlBRCYhI2Sw', - appId: '1:406099696497:android:21d5142deea38dda3574d0', - messagingSenderId: '406099696497', - projectId: 'flutterfire-e2e-tests', - databaseURL: - 'https://flutterfire-e2e-tests-default-rtdb.europe-west1.firebasedatabase.app', - storageBucket: 'flutterfire-e2e-tests.appspot.com', - ); - - static const FirebaseOptions ios = FirebaseOptions( - apiKey: 'AIzaSyDooSUGSf63Ghq02_iIhtnmwMDs4HlWS6c', - appId: '1:406099696497:ios:58cbc26aca8e5cf83574d0', - messagingSenderId: '406099696497', - projectId: 'flutterfire-e2e-tests', - databaseURL: - 'https://flutterfire-e2e-tests-default-rtdb.europe-west1.firebasedatabase.app', - storageBucket: 'flutterfire-e2e-tests.appspot.com', - androidClientId: - '406099696497-17qn06u8a0dc717u8ul7s49ampk13lul.apps.googleusercontent.com', - iosClientId: - '406099696497-134k3722m01rtrsklhf3b7k8sqa5r7in.apps.googleusercontent.com', - iosBundleId: 'io.flutter.plugins.firebase.auth.example', - ); - - static const FirebaseOptions macos = FirebaseOptions( - apiKey: 'AIzaSyDooSUGSf63Ghq02_iIhtnmwMDs4HlWS6c', - appId: '1:406099696497:ios:58cbc26aca8e5cf83574d0', - messagingSenderId: '406099696497', - projectId: 'flutterfire-e2e-tests', - databaseURL: - 'https://flutterfire-e2e-tests-default-rtdb.europe-west1.firebasedatabase.app', - storageBucket: 'flutterfire-e2e-tests.appspot.com', - androidClientId: - '406099696497-17qn06u8a0dc717u8ul7s49ampk13lul.apps.googleusercontent.com', - iosClientId: - '406099696497-134k3722m01rtrsklhf3b7k8sqa5r7in.apps.googleusercontent.com', - iosBundleId: 'io.flutter.plugins.firebase.auth.example', - ); -} diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/lib/main.dart b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/lib/main.dart deleted file mode 100755 index 630c282d..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/lib/main.dart +++ /dev/null @@ -1,108 +0,0 @@ -// Copyright 2022, the Chromium project authors. Please see the AUTHORS file -// for details. All rights reserved. Use of this source code is governed by a -// BSD-style license that can be found in the LICENSE file. - -import 'dart:io'; - -import 'package:firebase_auth/firebase_auth.dart'; -import 'package:firebase_core/firebase_core.dart'; -import 'package:flutter/foundation.dart'; -import 'package:flutter/material.dart'; -import 'package:google_sign_in_dartio/google_sign_in_dartio.dart'; - -import 'auth.dart'; -import 'firebase_options.dart'; -import 'profile.dart'; - -/// Requires that a Firebase local emulator is running locally. -/// See https://firebase.google.com/docs/auth/flutter/start#optional_prototype_and_test_with_firebase_local_emulator_suite -bool shouldUseFirebaseEmulator = false; - -late final FirebaseApp app; -late final FirebaseAuth auth; - -// Requires that the Firebase Auth emulator is running locally -// e.g via `melos run firebase:emulator`. -Future main() async { - WidgetsFlutterBinding.ensureInitialized(); - // We're using the manual installation on non-web platforms since Google sign in plugin doesn't yet support Dart initialization. - // See related issue: https://github.com/flutter/flutter/issues/96391 - - // We store the app and auth to make testing with a named instance easier. - app = await Firebase.initializeApp( - options: DefaultFirebaseOptions.currentPlatform, - ); - auth = FirebaseAuth.instanceFor(app: app); - - if (shouldUseFirebaseEmulator) { - await auth.useAuthEmulator('localhost', 9099); - } - - if (!kIsWeb && Platform.isWindows) { - await GoogleSignInDart.register( - clientId: - '406099696497-g5o9l0blii9970bgmfcfv14pioj90djd.apps.googleusercontent.com', - ); - } - - runApp(const AuthExampleApp()); -} - -/// The entry point of the application. -/// -/// Returns a [MaterialApp]. -class AuthExampleApp extends StatelessWidget { - const AuthExampleApp({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return MaterialApp( - title: 'Firebase Example App', - theme: ThemeData(primarySwatch: Colors.amber), - home: Scaffold( - body: LayoutBuilder( - builder: (context, constraints) { - return Row( - children: [ - Visibility( - visible: constraints.maxWidth >= 1200, - child: Expanded( - child: Container( - height: double.infinity, - color: Theme.of(context).colorScheme.primary, - child: Center( - child: Column( - mainAxisAlignment: MainAxisAlignment.center, - children: [ - Text( - 'Firebase Auth Desktop', - style: Theme.of(context).textTheme.headlineMedium, - ), - ], - ), - ), - ), - ), - ), - SizedBox( - width: constraints.maxWidth >= 1200 - ? constraints.maxWidth / 2 - : constraints.maxWidth, - child: StreamBuilder( - stream: auth.authStateChanges(), - builder: (context, snapshot) { - if (snapshot.hasData) { - return const ProfilePage(); - } - return const AuthGate(); - }, - ), - ), - ], - ); - }, - ), - ), - ); - } -} diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/lib/profile.dart b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/lib/profile.dart deleted file mode 100644 index 3ccbf5db..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/lib/profile.dart +++ /dev/null @@ -1,391 +0,0 @@ -// Copyright 2022, the Chromium project authors. Please see the AUTHORS file -// for details. All rights reserved. Use of this source code is governed by a -// BSD-style license that can be found in the LICENSE file. - -import 'dart:developer'; - -import 'package:collection/collection.dart'; -import 'package:firebase_auth/firebase_auth.dart'; -import 'package:firebase_auth_example/main.dart'; -import 'package:flutter/material.dart'; -import 'package:google_sign_in/google_sign_in.dart'; - -import 'auth.dart'; - -/// Displayed as a profile image if the user doesn't have one. -const placeholderImage = - 'https://upload.wikimedia.org/wikipedia/commons/c/cd/Portrait_Placeholder_Square.png'; - -/// Profile page shows after sign in or registration. -class ProfilePage extends StatefulWidget { - // ignore: public_member_api_docs - const ProfilePage({Key? key}) : super(key: key); - - @override - // ignore: library_private_types_in_public_api - _ProfilePageState createState() => _ProfilePageState(); -} - -class _ProfilePageState extends State { - late User user; - late TextEditingController controller; - final phoneController = TextEditingController(); - - String? photoURL; - - bool showSaveButton = false; - bool isLoading = false; - - @override - void initState() { - user = auth.currentUser!; - controller = TextEditingController(text: user.displayName); - - controller.addListener(_onNameChanged); - - auth.userChanges().listen((event) { - if (event != null && mounted) { - setState(() { - user = event; - }); - } - }); - - log(user.toString()); - - super.initState(); - } - - @override - void dispose() { - controller.removeListener(_onNameChanged); - - super.dispose(); - } - - void setIsLoading() { - setState(() { - isLoading = !isLoading; - }); - } - - void _onNameChanged() { - setState(() { - if (controller.text == user.displayName || controller.text.isEmpty) { - showSaveButton = false; - } else { - showSaveButton = true; - } - }); - } - - /// Map User provider data into a list of Provider Ids. - List get userProviders => user.providerData.map((e) => e.providerId).toList(); - - Future updateDisplayName() async { - await user.updateDisplayName(controller.text); - - setState(() { - showSaveButton = false; - }); - - // ignore: use_build_context_synchronously - ScaffoldSnackbar.of(context).show('Name updated'); - } - - @override - Widget build(BuildContext context) { - return GestureDetector( - onTap: FocusScope.of(context).unfocus, - child: Scaffold( - body: Stack( - children: [ - Center( - child: SizedBox( - width: 400, - child: SingleChildScrollView( - child: Column( - mainAxisAlignment: MainAxisAlignment.center, - children: [ - Stack( - children: [ - CircleAvatar( - maxRadius: 60, - backgroundImage: NetworkImage( - user.photoURL ?? placeholderImage, - ), - ), - Positioned.directional( - textDirection: Directionality.of(context), - end: 0, - bottom: 0, - child: Material( - clipBehavior: Clip.antiAlias, - color: Theme.of(context).colorScheme.secondary, - borderRadius: BorderRadius.circular(40), - child: InkWell( - onTap: () async { - final photoURL = await getPhotoURLFromUser(); - - if (photoURL != null) { - await user.updatePhotoURL(photoURL); - } - }, - radius: 50, - child: const SizedBox( - width: 35, - height: 35, - child: Icon(Icons.edit), - ), - ), - ), - ), - ], - ), - const SizedBox(height: 10), - TextField( - textAlign: TextAlign.center, - controller: controller, - decoration: const InputDecoration( - border: InputBorder.none, - floatingLabelBehavior: FloatingLabelBehavior.never, - alignLabelWithHint: true, - label: Center( - child: Text( - 'Click to add a display name', - ), - ), - ), - ), - Text(user.email ?? user.phoneNumber ?? 'User'), - const SizedBox(height: 10), - Row( - mainAxisAlignment: MainAxisAlignment.center, - children: [ - if (userProviders.contains('phone')) - const Icon(Icons.phone), - if (userProviders.contains('password')) - const Icon(Icons.mail), - if (userProviders.contains('google.com')) - SizedBox( - width: 24, - child: Image.network( - 'https://upload.wikimedia.org/wikipedia/commons/0/09/IOS_Google_icon.png', - ), - ), - ], - ), - const SizedBox(height: 20), - TextButton( - onPressed: () { - user.sendEmailVerification(); - }, - child: const Text('Verify Email'), - ), - TextButton( - onPressed: () async { - final a = await user.multiFactor.getEnrolledFactors(); - print(a); - }, - child: const Text('Get enrolled factors'), - ), - TextButton( - onPressed: () async { - if (AuthGate.appleAuthorizationCode != null) { - // The `authorizationCode` is on the user credential. - // e.g. final authorizationCode = userCredential.additionalUserInfo?.authorizationCode; - await FirebaseAuth.instance - .revokeTokenWithAuthorizationCode( - AuthGate.appleAuthorizationCode!, - ); - // You may wish to delete the user at this point - AuthGate.appleAuthorizationCode = null; - } else { - print( - 'Apple `authorizationCode` is null, cannot revoke token.', - ); - } - }, - child: const Text('Revoke Apple auth token'), - ), - TextFormField( - controller: phoneController, - decoration: const InputDecoration( - icon: Icon(Icons.phone), - hintText: '+33612345678', - labelText: 'Phone number', - ), - ), - const SizedBox(height: 20), - TextButton( - onPressed: () async { - final session = await user.multiFactor.getSession(); - await auth.verifyPhoneNumber( - multiFactorSession: session, - phoneNumber: phoneController.text, - verificationCompleted: (_) {}, - verificationFailed: print, - codeSent: ( - String verificationId, - int? resendToken, - ) async { - final smsCode = await getSmsCodeFromUser(context); - - if (smsCode != null) { - // Create a PhoneAuthCredential with the code - final credential = PhoneAuthProvider.credential( - verificationId: verificationId, - smsCode: smsCode, - ); - - try { - await user.multiFactor.enroll( - PhoneMultiFactorGenerator.getAssertion( - credential, - ), - ); - } on FirebaseAuthException catch (e) { - print(e.message); - } - } - }, - codeAutoRetrievalTimeout: print, - ); - }, - child: const Text('Verify Number For MFA'), - ), - TextButton( - onPressed: () async { - final totp = - (await user.multiFactor.getEnrolledFactors()) - .firstWhereOrNull( - (element) => element.factorId == 'totp', - ); - if (totp != null) { - await user.multiFactor.unenroll( - factorUid: - (await user.multiFactor.getEnrolledFactors()) - .firstWhere( - (element) => element.factorId == 'totp', - ) - .uid, - ); - } - final session = await user.multiFactor.getSession(); - final totpSecret = - await TotpMultiFactorGenerator.generateSecret( - session, - ); - print(totpSecret); - final code = - await getTotpFromUser(context, totpSecret); - print('code: $code'); - if (code == null) { - return; - } - await user.multiFactor.enroll( - await TotpMultiFactorGenerator - .getAssertionForEnrollment( - totpSecret, - code, - ), - displayName: 'TOTP', - ); - }, - child: const Text('Enroll TOTP'), - ), - TextButton( - onPressed: () async { - try { - final enrolledFactors = - await user.multiFactor.getEnrolledFactors(); - - await user.multiFactor.unenroll( - factorUid: enrolledFactors.first.uid, - ); - // Show snackbar - ScaffoldSnackbar.of(context).show('MFA unenrolled'); - } catch (e) { - print(e); - } - }, - child: const Text('Unenroll MFA'), - ), - const Divider(), - TextButton( - onPressed: _signOut, - child: const Text('Sign out'), - ), - ], - ), - ), - ), - ), - Positioned.directional( - textDirection: Directionality.of(context), - end: 40, - top: 40, - child: AnimatedSwitcher( - duration: const Duration(milliseconds: 200), - child: !showSaveButton - ? SizedBox(key: UniqueKey()) - : TextButton( - onPressed: isLoading ? null : updateDisplayName, - child: const Text('Save changes'), - ), - ), - ), - ], - ), - ), - ); - } - - Future getPhotoURLFromUser() async { - String? photoURL; - - // Update the UI - wait for the user to enter the SMS code - await showDialog( - context: context, - barrierDismissible: false, - builder: (context) { - return AlertDialog( - title: const Text('New image Url:'), - actions: [ - ElevatedButton( - onPressed: () { - Navigator.of(context).pop(); - }, - child: const Text('Update'), - ), - OutlinedButton( - onPressed: () { - photoURL = null; - Navigator.of(context).pop(); - }, - child: const Text('Cancel'), - ), - ], - content: Container( - padding: const EdgeInsets.all(20), - child: TextField( - onChanged: (value) { - photoURL = value; - }, - textAlign: TextAlign.center, - autofocus: true, - ), - ), - ); - }, - ); - - return photoURL; - } - - /// Example code for sign out. - Future _signOut() async { - await auth.signOut(); - await GoogleSignIn().signOut(); - } -} diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/macos/Flutter/Flutter-Debug.xcconfig b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/macos/Flutter/Flutter-Debug.xcconfig deleted file mode 100644 index 785633d3..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/macos/Flutter/Flutter-Debug.xcconfig +++ /dev/null @@ -1,2 +0,0 @@ -#include "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig" -#include "ephemeral/Flutter-Generated.xcconfig" diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/macos/Flutter/Flutter-Release.xcconfig b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/macos/Flutter/Flutter-Release.xcconfig deleted file mode 100644 index 5fba960c..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/macos/Flutter/Flutter-Release.xcconfig +++ /dev/null @@ -1,2 +0,0 @@ -#include "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig" -#include "ephemeral/Flutter-Generated.xcconfig" diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/macos/Podfile b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/macos/Podfile deleted file mode 100644 index 9ec46f8c..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/macos/Podfile +++ /dev/null @@ -1,40 +0,0 @@ -platform :osx, '10.15' - -# CocoaPods analytics sends network stats synchronously affecting flutter build latency. -ENV['COCOAPODS_DISABLE_STATS'] = 'true' - -project 'Runner', { - 'Debug' => :debug, - 'Profile' => :release, - 'Release' => :release, -} - -def flutter_root - generated_xcode_build_settings_path = File.expand_path(File.join('..', 'Flutter', 'ephemeral', 'Flutter-Generated.xcconfig'), __FILE__) - unless File.exist?(generated_xcode_build_settings_path) - raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually, make sure \"flutter pub get\" is executed first" - end - - File.foreach(generated_xcode_build_settings_path) do |line| - matches = line.match(/FLUTTER_ROOT\=(.*)/) - return matches[1].strip if matches - end - raise "FLUTTER_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Flutter-Generated.xcconfig, then run \"flutter pub get\"" -end - -require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root) - -flutter_macos_podfile_setup - -target 'Runner' do - use_frameworks! - use_modular_headers! - - flutter_install_all_macos_pods File.dirname(File.realpath(__FILE__)) -end - -post_install do |installer| - installer.pods_project.targets.each do |target| - flutter_additional_macos_build_settings(target) - end -end diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/macos/Runner.xcodeproj/project.pbxproj b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/macos/Runner.xcodeproj/project.pbxproj deleted file mode 100644 index 4848b09b..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/macos/Runner.xcodeproj/project.pbxproj +++ /dev/null @@ -1,718 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 54; - objects = { - -/* Begin PBXAggregateTarget section */ - 33CC111A2044C6BA0003C045 /* Flutter Assemble */ = { - isa = PBXAggregateTarget; - buildConfigurationList = 33CC111B2044C6BA0003C045 /* Build configuration list for PBXAggregateTarget "Flutter Assemble" */; - buildPhases = ( - 33CC111E2044C6BF0003C045 /* ShellScript */, - ); - dependencies = ( - ); - name = "Flutter Assemble"; - productName = FLX; - }; -/* End PBXAggregateTarget section */ - -/* Begin PBXBuildFile section */ - 25A01FB0278D938300D1E790 /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 25A01FAF278D938300D1E790 /* GoogleService-Info.plist */; }; - 335BBD1B22A9A15E00E9071D /* GeneratedPluginRegistrant.swift in Sources */ = {isa = PBXBuildFile; fileRef = 335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */; }; - 33CC10F12044A3C60003C045 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC10F02044A3C60003C045 /* AppDelegate.swift */; }; - 33CC10F32044A3C60003C045 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F22044A3C60003C045 /* Assets.xcassets */; }; - 33CC10F62044A3C60003C045 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F42044A3C60003C045 /* MainMenu.xib */; }; - 33CC11132044BFA00003C045 /* MainFlutterWindow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */; }; - 78A318202AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage in Frameworks */ = {isa = PBXBuildFile; productRef = 78A3181F2AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage */; }; - B6036D992F5B77F0D48D7883 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1026236A547BC5196614E954 /* Pods_Runner.framework */; }; - C0151CEAF69E3751D6A8FA78 /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 2F30ED8EF0A1349EA81AEE1A /* GoogleService-Info.plist */; }; -/* End PBXBuildFile section */ - -/* Begin PBXContainerItemProxy section */ - 33CC111F2044C79F0003C045 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 33CC10E52044A3C60003C045 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 33CC111A2044C6BA0003C045; - remoteInfo = FLX; - }; -/* End PBXContainerItemProxy section */ - -/* Begin PBXCopyFilesBuildPhase section */ - 33CC110E2044A8840003C045 /* Bundle Framework */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = ""; - dstSubfolderSpec = 10; - files = ( - ); - name = "Bundle Framework"; - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXCopyFilesBuildPhase section */ - -/* Begin PBXFileReference section */ - 0B4CF9B1CA3F6E07FE2F953C /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; - 1026236A547BC5196614E954 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 1E5E064344044E24673A33BD /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; - 25A01FAF278D938300D1E790 /* GoogleService-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "GoogleService-Info.plist"; sourceTree = ""; }; - 2F30ED8EF0A1349EA81AEE1A /* GoogleService-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; name = "GoogleService-Info.plist"; path = "Runner/GoogleService-Info.plist"; sourceTree = ""; }; - 333000ED22D3DE5D00554162 /* Warnings.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Warnings.xcconfig; sourceTree = ""; }; - 335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GeneratedPluginRegistrant.swift; sourceTree = ""; }; - 33CC10ED2044A3C60003C045 /* example.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = example.app; sourceTree = BUILT_PRODUCTS_DIR; }; - 33CC10F02044A3C60003C045 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; - 33CC10F22044A3C60003C045 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Assets.xcassets; path = Runner/Assets.xcassets; sourceTree = ""; }; - 33CC10F52044A3C60003C045 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/MainMenu.xib; sourceTree = ""; }; - 33CC10F72044A3C60003C045 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = Info.plist; path = Runner/Info.plist; sourceTree = ""; }; - 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MainFlutterWindow.swift; sourceTree = ""; }; - 33CEB47222A05771004F2AC0 /* Flutter-Debug.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Flutter-Debug.xcconfig"; sourceTree = ""; }; - 33CEB47422A05771004F2AC0 /* Flutter-Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Flutter-Release.xcconfig"; sourceTree = ""; }; - 33CEB47722A0578A004F2AC0 /* Flutter-Generated.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = "Flutter-Generated.xcconfig"; path = "ephemeral/Flutter-Generated.xcconfig"; sourceTree = ""; }; - 33E51913231747F40026EE4D /* DebugProfile.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = DebugProfile.entitlements; sourceTree = ""; }; - 33E51914231749380026EE4D /* Release.entitlements */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.entitlements; path = Release.entitlements; sourceTree = ""; }; - 33E5194F232828860026EE4D /* AppInfo.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = AppInfo.xcconfig; sourceTree = ""; }; - 3D7BD4B06D0869EA1407E048 /* 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 = ""; }; - 78E0A7A72DC9AD7400C4905E /* FlutterGeneratedPluginSwiftPackage */ = {isa = PBXFileReference; lastKnownFileType = wrapper; name = FlutterGeneratedPluginSwiftPackage; path = ephemeral/Packages/FlutterGeneratedPluginSwiftPackage; sourceTree = ""; }; - 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Release.xcconfig; sourceTree = ""; }; - 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Debug.xcconfig; sourceTree = ""; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - 33CC10EA2044A3C60003C045 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 78A318202AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage in Frameworks */, - B6036D992F5B77F0D48D7883 /* Pods_Runner.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 286E7513A68DD39907D77423 /* Pods */ = { - isa = PBXGroup; - children = ( - 3D7BD4B06D0869EA1407E048 /* Pods-Runner.debug.xcconfig */, - 1E5E064344044E24673A33BD /* Pods-Runner.release.xcconfig */, - 0B4CF9B1CA3F6E07FE2F953C /* Pods-Runner.profile.xcconfig */, - ); - path = Pods; - sourceTree = ""; - }; - 33BA886A226E78AF003329D5 /* Configs */ = { - isa = PBXGroup; - children = ( - 33E5194F232828860026EE4D /* AppInfo.xcconfig */, - 9740EEB21CF90195004384FC /* Debug.xcconfig */, - 7AFA3C8E1D35360C0083082E /* Release.xcconfig */, - 333000ED22D3DE5D00554162 /* Warnings.xcconfig */, - ); - path = Configs; - sourceTree = ""; - }; - 33CC10E42044A3C60003C045 = { - isa = PBXGroup; - children = ( - 33FAB671232836740065AC1E /* Runner */, - 33CEB47122A05771004F2AC0 /* Flutter */, - 33CC10EE2044A3C60003C045 /* Products */, - D73912EC22F37F3D000D13A0 /* Frameworks */, - 286E7513A68DD39907D77423 /* Pods */, - 2F30ED8EF0A1349EA81AEE1A /* GoogleService-Info.plist */, - ); - sourceTree = ""; - }; - 33CC10EE2044A3C60003C045 /* Products */ = { - isa = PBXGroup; - children = ( - 33CC10ED2044A3C60003C045 /* example.app */, - ); - name = Products; - sourceTree = ""; - }; - 33CC11242044D66E0003C045 /* Resources */ = { - isa = PBXGroup; - children = ( - 33CC10F22044A3C60003C045 /* Assets.xcassets */, - 33CC10F42044A3C60003C045 /* MainMenu.xib */, - 33CC10F72044A3C60003C045 /* Info.plist */, - ); - name = Resources; - path = ..; - sourceTree = ""; - }; - 33CEB47122A05771004F2AC0 /* Flutter */ = { - isa = PBXGroup; - children = ( - 78E0A7A72DC9AD7400C4905E /* FlutterGeneratedPluginSwiftPackage */, - 335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */, - 33CEB47222A05771004F2AC0 /* Flutter-Debug.xcconfig */, - 33CEB47422A05771004F2AC0 /* Flutter-Release.xcconfig */, - 33CEB47722A0578A004F2AC0 /* Flutter-Generated.xcconfig */, - ); - path = Flutter; - sourceTree = ""; - }; - 33FAB671232836740065AC1E /* Runner */ = { - isa = PBXGroup; - children = ( - 25A01FAF278D938300D1E790 /* GoogleService-Info.plist */, - 33CC10F02044A3C60003C045 /* AppDelegate.swift */, - 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */, - 33E51913231747F40026EE4D /* DebugProfile.entitlements */, - 33E51914231749380026EE4D /* Release.entitlements */, - 33CC11242044D66E0003C045 /* Resources */, - 33BA886A226E78AF003329D5 /* Configs */, - ); - path = Runner; - sourceTree = ""; - }; - D73912EC22F37F3D000D13A0 /* Frameworks */ = { - isa = PBXGroup; - children = ( - 1026236A547BC5196614E954 /* Pods_Runner.framework */, - ); - name = Frameworks; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXNativeTarget section */ - 33CC10EC2044A3C60003C045 /* Runner */ = { - isa = PBXNativeTarget; - buildConfigurationList = 33CC10FB2044A3C60003C045 /* Build configuration list for PBXNativeTarget "Runner" */; - buildPhases = ( - 9C4FABD4FD7B8936CFFEAF31 /* [CP] Check Pods Manifest.lock */, - 33CC10E92044A3C60003C045 /* Sources */, - 33CC10EA2044A3C60003C045 /* Frameworks */, - 33CC10EB2044A3C60003C045 /* Resources */, - 33CC110E2044A8840003C045 /* Bundle Framework */, - 3399D490228B24CF009A79C7 /* ShellScript */, - E033F9E34514FF7F419D8FF5 /* [CP] Embed Pods Frameworks */, - 91D69FDB92A2BAB6493D7E50 /* [CP] Copy Pods Resources */, - ); - buildRules = ( - ); - dependencies = ( - 33CC11202044C79F0003C045 /* PBXTargetDependency */, - ); - name = Runner; - packageProductDependencies = ( - 78A3181F2AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage */, - ); - productName = Runner; - productReference = 33CC10ED2044A3C60003C045 /* example.app */; - productType = "com.apple.product-type.application"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - 33CC10E52044A3C60003C045 /* Project object */ = { - isa = PBXProject; - attributes = { - LastSwiftUpdateCheck = 0920; - LastUpgradeCheck = 1510; - ORGANIZATIONNAME = "The Flutter Authors"; - TargetAttributes = { - 33CC10EC2044A3C60003C045 = { - CreatedOnToolsVersion = 9.2; - LastSwiftMigration = 1100; - ProvisioningStyle = Automatic; - SystemCapabilities = { - com.apple.Sandbox = { - enabled = 1; - }; - }; - }; - 33CC111A2044C6BA0003C045 = { - CreatedOnToolsVersion = 9.2; - ProvisioningStyle = Manual; - }; - }; - }; - buildConfigurationList = 33CC10E82044A3C60003C045 /* Build configuration list for PBXProject "Runner" */; - compatibilityVersion = "Xcode 8.0"; - developmentRegion = en; - hasScannedForEncodings = 0; - knownRegions = ( - en, - Base, - ); - mainGroup = 33CC10E42044A3C60003C045; - packageReferences = ( - 781AD8BC2B33823900A9FFBB /* XCLocalSwiftPackageReference "FlutterGeneratedPluginSwiftPackage" */, - ); - productRefGroup = 33CC10EE2044A3C60003C045 /* Products */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - 33CC10EC2044A3C60003C045 /* Runner */, - 33CC111A2044C6BA0003C045 /* Flutter Assemble */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXResourcesBuildPhase section */ - 33CC10EB2044A3C60003C045 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 33CC10F32044A3C60003C045 /* Assets.xcassets in Resources */, - 33CC10F62044A3C60003C045 /* MainMenu.xib in Resources */, - 25A01FB0278D938300D1E790 /* GoogleService-Info.plist in Resources */, - C0151CEAF69E3751D6A8FA78 /* GoogleService-Info.plist in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXShellScriptBuildPhase section */ - 3399D490228B24CF009A79C7 /* ShellScript */ = { - isa = PBXShellScriptBuildPhase; - alwaysOutOfDate = 1; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - ); - inputPaths = ( - ); - outputFileListPaths = ( - ); - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "echo \"$PRODUCT_NAME.app\" > \"$PROJECT_DIR\"/Flutter/ephemeral/.app_filename && \"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh embed\n"; - }; - 33CC111E2044C6BF0003C045 /* ShellScript */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - Flutter/ephemeral/FlutterInputs.xcfilelist, - ); - inputPaths = ( - Flutter/ephemeral/tripwire, - ); - outputFileListPaths = ( - Flutter/ephemeral/FlutterOutputs.xcfilelist, - ); - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh\ntouch Flutter/ephemeral/tripwire\n"; - }; - 91D69FDB92A2BAB6493D7E50 /* [CP] Copy Pods Resources */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources.sh", - "${PODS_CONFIGURATION_BUILD_DIR}/google_sign_in_ios/google_sign_in_ios_privacy.bundle", - ); - name = "[CP] Copy Pods Resources"; - outputPaths = ( - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/google_sign_in_ios_privacy.bundle", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources.sh\"\n"; - showEnvVarsInLog = 0; - }; - 9C4FABD4FD7B8936CFFEAF31 /* [CP] Check Pods Manifest.lock */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; - outputFileListPaths = ( - ); - outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; - }; - E033F9E34514FF7F419D8FF5 /* [CP] Embed Pods Frameworks */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh", - "${BUILT_PRODUCTS_DIR}/AppAuth/AppAuth.framework", - "${BUILT_PRODUCTS_DIR}/GTMAppAuth/GTMAppAuth.framework", - "${BUILT_PRODUCTS_DIR}/GTMSessionFetcher/GTMSessionFetcher.framework", - "${BUILT_PRODUCTS_DIR}/GoogleSignIn/GoogleSignIn.framework", - "${BUILT_PRODUCTS_DIR}/facebook_auth_desktop/facebook_auth_desktop.framework", - "${BUILT_PRODUCTS_DIR}/flutter_secure_storage_macos/flutter_secure_storage_macos.framework", - ); - name = "[CP] Embed Pods Frameworks"; - outputPaths = ( - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/AppAuth.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/GTMAppAuth.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/GTMSessionFetcher.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/GoogleSignIn.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/facebook_auth_desktop.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/flutter_secure_storage_macos.framework", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; - showEnvVarsInLog = 0; - }; -/* End PBXShellScriptBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - 33CC10E92044A3C60003C045 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 33CC11132044BFA00003C045 /* MainFlutterWindow.swift in Sources */, - 33CC10F12044A3C60003C045 /* AppDelegate.swift in Sources */, - 335BBD1B22A9A15E00E9071D /* GeneratedPluginRegistrant.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin PBXTargetDependency section */ - 33CC11202044C79F0003C045 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 33CC111A2044C6BA0003C045 /* Flutter Assemble */; - targetProxy = 33CC111F2044C79F0003C045 /* PBXContainerItemProxy */; - }; -/* End PBXTargetDependency section */ - -/* Begin PBXVariantGroup section */ - 33CC10F42044A3C60003C045 /* MainMenu.xib */ = { - isa = PBXVariantGroup; - children = ( - 33CC10F52044A3C60003C045 /* Base */, - ); - name = MainMenu.xib; - path = Runner; - sourceTree = ""; - }; -/* End PBXVariantGroup section */ - -/* Begin XCBuildConfiguration section */ - 338D0CE9231458BD00FA5F75 /* Profile */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CODE_SIGN_IDENTITY = "-"; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.15; - MTL_ENABLE_DEBUG_INFO = NO; - SDKROOT = macosx; - SWIFT_COMPILATION_MODE = wholemodule; - SWIFT_OPTIMIZATION_LEVEL = "-O"; - }; - name = Profile; - }; - 338D0CEA231458BD00FA5F75 /* Profile */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 33E5194F232828860026EE4D /* AppInfo.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CLANG_ENABLE_MODULES = YES; - CODE_SIGN_ENTITLEMENTS = Runner/DebugProfile.entitlements; - CODE_SIGN_IDENTITY = "Apple Development"; - CODE_SIGN_STYLE = Automatic; - COMBINE_HIDPI_IMAGES = YES; - DEVELOPMENT_TEAM = YYX2P3XVJ7; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Flutter/ephemeral", - ); - INFOPLIST_FILE = Runner/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/../Frameworks", - ); - MACOSX_DEPLOYMENT_TARGET = 10.15; - PRODUCT_BUNDLE_IDENTIFIER = io.flutter.plugins.firebase.auth.example; - PROVISIONING_PROFILE_SPECIFIER = ""; - SWIFT_VERSION = 5.0; - }; - name = Profile; - }; - 338D0CEB231458BD00FA5F75 /* Profile */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_STYLE = Manual; - PRODUCT_NAME = "$(TARGET_NAME)"; - }; - name = Profile; - }; - 33CC10F92044A3C60003C045 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CODE_SIGN_IDENTITY = "-"; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = dwarf; - ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_TESTABILITY = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_DYNAMIC_NO_PIC = NO; - GCC_NO_COMMON_BLOCKS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.15; - MTL_ENABLE_DEBUG_INFO = YES; - ONLY_ACTIVE_ARCH = YES; - SDKROOT = macosx; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - }; - name = Debug; - }; - 33CC10FA2044A3C60003C045 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CODE_SIGN_IDENTITY = "-"; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.15; - MTL_ENABLE_DEBUG_INFO = NO; - SDKROOT = macosx; - SWIFT_COMPILATION_MODE = wholemodule; - SWIFT_OPTIMIZATION_LEVEL = "-O"; - }; - name = Release; - }; - 33CC10FC2044A3C60003C045 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 33E5194F232828860026EE4D /* AppInfo.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CLANG_ENABLE_MODULES = YES; - CODE_SIGN_ENTITLEMENTS = Runner/DebugProfile.entitlements; - CODE_SIGN_IDENTITY = "Apple Development"; - CODE_SIGN_STYLE = Automatic; - COMBINE_HIDPI_IMAGES = YES; - DEVELOPMENT_TEAM = YYX2P3XVJ7; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Flutter/ephemeral", - ); - INFOPLIST_FILE = Runner/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/../Frameworks", - ); - MACOSX_DEPLOYMENT_TARGET = 10.15; - PRODUCT_BUNDLE_IDENTIFIER = io.flutter.plugins.firebase.auth.example; - PROVISIONING_PROFILE_SPECIFIER = ""; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 5.0; - }; - name = Debug; - }; - 33CC10FD2044A3C60003C045 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 33E5194F232828860026EE4D /* AppInfo.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CLANG_ENABLE_MODULES = YES; - CODE_SIGN_ENTITLEMENTS = Runner/Release.entitlements; - CODE_SIGN_IDENTITY = "Apple Development"; - CODE_SIGN_STYLE = Automatic; - COMBINE_HIDPI_IMAGES = YES; - DEVELOPMENT_TEAM = YYX2P3XVJ7; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Flutter/ephemeral", - ); - INFOPLIST_FILE = Runner/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/../Frameworks", - ); - MACOSX_DEPLOYMENT_TARGET = 10.15; - PRODUCT_BUNDLE_IDENTIFIER = io.flutter.plugins.firebase.auth.example; - PROVISIONING_PROFILE_SPECIFIER = ""; - SWIFT_VERSION = 5.0; - }; - name = Release; - }; - 33CC111C2044C6BA0003C045 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_STYLE = Manual; - PRODUCT_NAME = "$(TARGET_NAME)"; - }; - name = Debug; - }; - 33CC111D2044C6BA0003C045 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_STYLE = Automatic; - PRODUCT_NAME = "$(TARGET_NAME)"; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 33CC10E82044A3C60003C045 /* Build configuration list for PBXProject "Runner" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 33CC10F92044A3C60003C045 /* Debug */, - 33CC10FA2044A3C60003C045 /* Release */, - 338D0CE9231458BD00FA5F75 /* Profile */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 33CC10FB2044A3C60003C045 /* Build configuration list for PBXNativeTarget "Runner" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 33CC10FC2044A3C60003C045 /* Debug */, - 33CC10FD2044A3C60003C045 /* Release */, - 338D0CEA231458BD00FA5F75 /* Profile */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 33CC111B2044C6BA0003C045 /* Build configuration list for PBXAggregateTarget "Flutter Assemble" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 33CC111C2044C6BA0003C045 /* Debug */, - 33CC111D2044C6BA0003C045 /* Release */, - 338D0CEB231458BD00FA5F75 /* Profile */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - -/* Begin XCLocalSwiftPackageReference section */ - 781AD8BC2B33823900A9FFBB /* XCLocalSwiftPackageReference "FlutterGeneratedPluginSwiftPackage" */ = { - isa = XCLocalSwiftPackageReference; - relativePath = Flutter/ephemeral/Packages/FlutterGeneratedPluginSwiftPackage; - }; -/* End XCLocalSwiftPackageReference section */ - -/* Begin XCSwiftPackageProductDependency section */ - 78A3181F2AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage */ = { - isa = XCSwiftPackageProductDependency; - productName = FlutterGeneratedPluginSwiftPackage; - }; -/* End XCSwiftPackageProductDependency section */ - }; - rootObject = 33CC10E52044A3C60003C045 /* Project object */; -} diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/macos/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/macos/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata deleted file mode 100644 index 764c74b8..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/macos/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata +++ /dev/null @@ -1,7 +0,0 @@ - - - - - diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist deleted file mode 100644 index 18d98100..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +++ /dev/null @@ -1,8 +0,0 @@ - - - - - IDEDidComputeMac32BitWarning - - - diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme deleted file mode 100644 index 126b4eb8..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ /dev/null @@ -1,120 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/macos/Runner.xcworkspace/contents.xcworkspacedata b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/macos/Runner.xcworkspace/contents.xcworkspacedata deleted file mode 100644 index 21a3cc14..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/macos/Runner.xcworkspace/contents.xcworkspacedata +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist deleted file mode 100644 index 18d98100..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +++ /dev/null @@ -1,8 +0,0 @@ - - - - - IDEDidComputeMac32BitWarning - - - diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/macos/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/macos/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings deleted file mode 100644 index f9b0d7c5..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/macos/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings +++ /dev/null @@ -1,8 +0,0 @@ - - - - - PreviewsEnabled - - - diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/macos/Runner/AppDelegate.swift b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/macos/Runner/AppDelegate.swift deleted file mode 100644 index b3c17614..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/macos/Runner/AppDelegate.swift +++ /dev/null @@ -1,13 +0,0 @@ -import Cocoa -import FlutterMacOS - -@main -class AppDelegate: FlutterAppDelegate { - override func applicationShouldTerminateAfterLastWindowClosed(_ sender: NSApplication) -> Bool { - return true - } - - override func applicationSupportsSecureRestorableState(_ app: NSApplication) -> Bool { - return true - } -} diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json deleted file mode 100644 index a2ec33f1..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "images" : [ - { - "size" : "16x16", - "idiom" : "mac", - "filename" : "app_icon_16.png", - "scale" : "1x" - }, - { - "size" : "16x16", - "idiom" : "mac", - "filename" : "app_icon_32.png", - "scale" : "2x" - }, - { - "size" : "32x32", - "idiom" : "mac", - "filename" : "app_icon_32.png", - "scale" : "1x" - }, - { - "size" : "32x32", - "idiom" : "mac", - "filename" : "app_icon_64.png", - "scale" : "2x" - }, - { - "size" : "128x128", - "idiom" : "mac", - "filename" : "app_icon_128.png", - "scale" : "1x" - }, - { - "size" : "128x128", - "idiom" : "mac", - "filename" : "app_icon_256.png", - "scale" : "2x" - }, - { - "size" : "256x256", - "idiom" : "mac", - "filename" : "app_icon_256.png", - "scale" : "1x" - }, - { - "size" : "256x256", - "idiom" : "mac", - "filename" : "app_icon_512.png", - "scale" : "2x" - }, - { - "size" : "512x512", - "idiom" : "mac", - "filename" : "app_icon_512.png", - "scale" : "1x" - }, - { - "size" : "512x512", - "idiom" : "mac", - "filename" : "app_icon_1024.png", - "scale" : "2x" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png deleted file mode 100644 index 3c4935a7..00000000 Binary files a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png and /dev/null differ diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png deleted file mode 100644 index ed4cc164..00000000 Binary files a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png and /dev/null differ diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png deleted file mode 100644 index 483be613..00000000 Binary files a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png and /dev/null differ diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png deleted file mode 100644 index bcbf36df..00000000 Binary files a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png and /dev/null differ diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png deleted file mode 100644 index 9c0a6528..00000000 Binary files a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png and /dev/null differ diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png deleted file mode 100644 index e71a7261..00000000 Binary files a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png and /dev/null differ diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png deleted file mode 100644 index 8a31fe2d..00000000 Binary files a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png and /dev/null differ diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/macos/Runner/Base.lproj/MainMenu.xib b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/macos/Runner/Base.lproj/MainMenu.xib deleted file mode 100644 index 537341ab..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/macos/Runner/Base.lproj/MainMenu.xib +++ /dev/null @@ -1,339 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/macos/Runner/Configs/AppInfo.xcconfig b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/macos/Runner/Configs/AppInfo.xcconfig deleted file mode 100644 index f653d202..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/macos/Runner/Configs/AppInfo.xcconfig +++ /dev/null @@ -1,14 +0,0 @@ -// Application-level settings for the Runner target. -// -// This may be replaced with something auto-generated from metadata (e.g., pubspec.yaml) in the -// future. If not, the values below would default to using the project name when this becomes a -// 'flutter create' template. - -// The application's name. By default this is also the title of the Flutter window. -PRODUCT_NAME = example - -// The application's bundle identifier -PRODUCT_BUNDLE_IDENTIFIER = io.flutter.plugins.example - -// The copyright displayed in application information -PRODUCT_COPYRIGHT = Copyright © 2020 io.flutter.plugins. All rights reserved. diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/macos/Runner/Configs/Debug.xcconfig b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/macos/Runner/Configs/Debug.xcconfig deleted file mode 100644 index 36b0fd94..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/macos/Runner/Configs/Debug.xcconfig +++ /dev/null @@ -1,2 +0,0 @@ -#include "../../Flutter/Flutter-Debug.xcconfig" -#include "Warnings.xcconfig" diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/macos/Runner/Configs/Release.xcconfig b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/macos/Runner/Configs/Release.xcconfig deleted file mode 100644 index dff4f495..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/macos/Runner/Configs/Release.xcconfig +++ /dev/null @@ -1,2 +0,0 @@ -#include "../../Flutter/Flutter-Release.xcconfig" -#include "Warnings.xcconfig" diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/macos/Runner/Configs/Warnings.xcconfig b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/macos/Runner/Configs/Warnings.xcconfig deleted file mode 100644 index 42bcbf47..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/macos/Runner/Configs/Warnings.xcconfig +++ /dev/null @@ -1,13 +0,0 @@ -WARNING_CFLAGS = -Wall -Wconditional-uninitialized -Wnullable-to-nonnull-conversion -Wmissing-method-return-type -Woverlength-strings -GCC_WARN_UNDECLARED_SELECTOR = YES -CLANG_UNDEFINED_BEHAVIOR_SANITIZER_NULLABILITY = YES -CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE -CLANG_WARN__DUPLICATE_METHOD_MATCH = YES -CLANG_WARN_PRAGMA_PACK = YES -CLANG_WARN_STRICT_PROTOTYPES = YES -CLANG_WARN_COMMA = YES -GCC_WARN_STRICT_SELECTOR_MATCH = YES -CLANG_WARN_OBJC_REPEATED_USE_OF_WEAK = YES -CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES -GCC_WARN_SHADOW = YES -CLANG_WARN_UNREACHABLE_CODE = YES diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/macos/Runner/DebugProfile.entitlements b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/macos/Runner/DebugProfile.entitlements deleted file mode 100644 index c34fc0a4..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/macos/Runner/DebugProfile.entitlements +++ /dev/null @@ -1,18 +0,0 @@ - - - - - com.apple.developer.applesignin - - Default - - com.apple.security.app-sandbox - - com.apple.security.cs.allow-jit - - com.apple.security.network.client - - com.apple.security.network.server - - - diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/macos/Runner/GoogleService-Info.plist b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/macos/Runner/GoogleService-Info.plist deleted file mode 100644 index f325ead9..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/macos/Runner/GoogleService-Info.plist +++ /dev/null @@ -1,38 +0,0 @@ - - - - - CLIENT_ID - 406099696497-134k3722m01rtrsklhf3b7k8sqa5r7in.apps.googleusercontent.com - REVERSED_CLIENT_ID - com.googleusercontent.apps.406099696497-134k3722m01rtrsklhf3b7k8sqa5r7in - ANDROID_CLIENT_ID - 406099696497-17qn06u8a0dc717u8ul7s49ampk13lul.apps.googleusercontent.com - API_KEY - AIzaSyDooSUGSf63Ghq02_iIhtnmwMDs4HlWS6c - GCM_SENDER_ID - 406099696497 - PLIST_VERSION - 1 - BUNDLE_ID - io.flutter.plugins.firebase.auth.example - PROJECT_ID - flutterfire-e2e-tests - STORAGE_BUCKET - flutterfire-e2e-tests.appspot.com - IS_ADS_ENABLED - - IS_ANALYTICS_ENABLED - - IS_APPINVITE_ENABLED - - IS_GCM_ENABLED - - IS_SIGNIN_ENABLED - - GOOGLE_APP_ID - 1:406099696497:ios:58cbc26aca8e5cf83574d0 - DATABASE_URL - https://flutterfire-e2e-tests-default-rtdb.europe-west1.firebasedatabase.app - - \ No newline at end of file diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/macos/Runner/Info.plist b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/macos/Runner/Info.plist deleted file mode 100644 index de633ff2..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/macos/Runner/Info.plist +++ /dev/null @@ -1,48 +0,0 @@ - - - - - CFBundleDevelopmentRegion - $(DEVELOPMENT_LANGUAGE) - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIconFile - - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - APPL - CFBundleShortVersionString - $(FLUTTER_BUILD_NAME) - CFBundleURLTypes - - - CFBundleTypeRole - Editor - CFBundleURLSchemes - - com.googleusercontent.apps.448618578101-ja1be10uicsa2dvss16gh4hkqks0vq61 - - - - CFBundleVersion - $(FLUTTER_BUILD_NUMBER) - LSMinimumSystemVersion - $(MACOSX_DEPLOYMENT_TARGET) - NSAppTransportSecurity - - NSAllowsArbitraryLoads - - - NSHumanReadableCopyright - $(PRODUCT_COPYRIGHT) - NSMainNibFile - MainMenu - NSPrincipalClass - NSApplication - - diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/macos/Runner/MainFlutterWindow.swift b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/macos/Runner/MainFlutterWindow.swift deleted file mode 100644 index 2722837e..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/macos/Runner/MainFlutterWindow.swift +++ /dev/null @@ -1,15 +0,0 @@ -import Cocoa -import FlutterMacOS - -class MainFlutterWindow: NSWindow { - override func awakeFromNib() { - let flutterViewController = FlutterViewController.init() - let windowFrame = self.frame - self.contentViewController = flutterViewController - self.setFrame(windowFrame, display: true) - - RegisterGeneratedPlugins(registry: flutterViewController) - - super.awakeFromNib() - } -} diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/macos/Runner/Release.entitlements b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/macos/Runner/Release.entitlements deleted file mode 100644 index cd2171f4..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/macos/Runner/Release.entitlements +++ /dev/null @@ -1,14 +0,0 @@ - - - - - com.apple.developer.applesignin - - Default - - com.apple.security.app-sandbox - - com.apple.security.network.client - - - diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/macos/firebase_app_id_file.json b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/macos/firebase_app_id_file.json deleted file mode 100644 index eaca8edd..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/macos/firebase_app_id_file.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "file_generated_by": "FlutterFire CLI", - "purpose": "FirebaseAppID & ProjectID for this Firebase app in this directory", - "GOOGLE_APP_ID": "1:406099696497:ios:58cbc26aca8e5cf83574d0", - "FIREBASE_PROJECT_ID": "flutterfire-e2e-tests", - "GCM_SENDER_ID": "406099696497" -} \ No newline at end of file diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/pubspec.yaml b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/pubspec.yaml deleted file mode 100644 index 5068e961..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/pubspec.yaml +++ /dev/null @@ -1,26 +0,0 @@ -name: firebase_auth_example -description: Demonstrates how to use the firebase_auth plugin. -resolution: workspace - -environment: - sdk: '^3.6.0' - flutter: '>=3.27.0' - -dependencies: - barcode_widget: ^2.0.4 - firebase_auth: ^6.5.4 - firebase_core: ^4.11.0 - firebase_messaging: ^16.4.1 - flutter: - sdk: flutter - flutter_facebook_auth: ^7.1.5 - flutter_signin_button: ^2.0.0 - font_awesome_flutter: ^10.8.0 - google_sign_in: ^6.1.0 - google_sign_in_dartio: ^0.3.0 - -dev_dependencies: - http: ^1.0.0 - -flutter: - uses-material-design: true diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/web/favicon.png b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/web/favicon.png deleted file mode 100644 index 8aaa46ac..00000000 Binary files a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/web/favicon.png and /dev/null differ diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/web/icons/Icon-192.png b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/web/icons/Icon-192.png deleted file mode 100644 index b749bfef..00000000 Binary files a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/web/icons/Icon-192.png and /dev/null differ diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/web/icons/Icon-512.png b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/web/icons/Icon-512.png deleted file mode 100644 index 88cfd48d..00000000 Binary files a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/web/icons/Icon-512.png and /dev/null differ diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/web/icons/Icon-maskable-192.png b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/web/icons/Icon-maskable-192.png deleted file mode 100644 index eb9b4d76..00000000 Binary files a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/web/icons/Icon-maskable-192.png and /dev/null differ diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/web/icons/Icon-maskable-512.png b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/web/icons/Icon-maskable-512.png deleted file mode 100644 index d69c5669..00000000 Binary files a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/web/icons/Icon-maskable-512.png and /dev/null differ diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/web/index.html b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/web/index.html deleted file mode 100644 index 0168402a..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/web/index.html +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - - - - - - - - - flutterfire_auth - - - - - - diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/web/manifest.json b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/web/manifest.json deleted file mode 100644 index 88044af3..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/web/manifest.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "name": "flutterfire_auth", - "short_name": "flutterfire_auth", - "start_url": ".", - "display": "standalone", - "background_color": "#0175C2", - "theme_color": "#0175C2", - "description": "A new Flutter project.", - "orientation": "portrait-primary", - "prefer_related_applications": false, - "icons": [ - { - "src": "icons/Icon-192.png", - "sizes": "192x192", - "type": "image/png" - }, - { - "src": "icons/Icon-512.png", - "sizes": "512x512", - "type": "image/png" - }, - { - "src": "icons/Icon-maskable-192.png", - "sizes": "192x192", - "type": "image/png", - "purpose": "maskable" - }, - { - "src": "icons/Icon-maskable-512.png", - "sizes": "512x512", - "type": "image/png", - "purpose": "maskable" - } - ] -} diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/windows/CMakeLists.txt b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/windows/CMakeLists.txt deleted file mode 100644 index 13786727..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/windows/CMakeLists.txt +++ /dev/null @@ -1,102 +0,0 @@ -# Project-level configuration. -cmake_minimum_required(VERSION 3.14) -project(example LANGUAGES CXX) - -# The name of the executable created for the application. Change this to change -# the on-disk name of your application. -set(BINARY_NAME "example") - -# Explicitly opt in to modern CMake behaviors to avoid warnings with recent -# versions of CMake. -cmake_policy(SET CMP0063 NEW) - -# Define build configuration option. -get_property(IS_MULTICONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) -if(IS_MULTICONFIG) - set(CMAKE_CONFIGURATION_TYPES "Debug;Profile;Release" - CACHE STRING "" FORCE) -else() - if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES) - set(CMAKE_BUILD_TYPE "Debug" CACHE - STRING "Flutter build mode" FORCE) - set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS - "Debug" "Profile" "Release") - endif() -endif() -# Define settings for the Profile build mode. -set(CMAKE_EXE_LINKER_FLAGS_PROFILE "${CMAKE_EXE_LINKER_FLAGS_RELEASE}") -set(CMAKE_SHARED_LINKER_FLAGS_PROFILE "${CMAKE_SHARED_LINKER_FLAGS_RELEASE}") -set(CMAKE_C_FLAGS_PROFILE "${CMAKE_C_FLAGS_RELEASE}") -set(CMAKE_CXX_FLAGS_PROFILE "${CMAKE_CXX_FLAGS_RELEASE}") - -# Use Unicode for all projects. -add_definitions(-DUNICODE -D_UNICODE) - -# Compilation settings that should be applied to most targets. -# -# Be cautious about adding new options here, as plugins use this function by -# default. In most cases, you should add new options to specific targets instead -# of modifying this function. -function(APPLY_STANDARD_SETTINGS TARGET) - target_compile_features(${TARGET} PUBLIC cxx_std_17) - target_compile_options(${TARGET} PRIVATE /W4 /WX /wd"4100") - target_compile_options(${TARGET} PRIVATE /EHsc) - target_compile_definitions(${TARGET} PRIVATE "_HAS_EXCEPTIONS=0") - target_compile_definitions(${TARGET} PRIVATE "$<$:_DEBUG>") -endfunction() - -# Flutter library and tool build rules. -set(FLUTTER_MANAGED_DIR "${CMAKE_CURRENT_SOURCE_DIR}/flutter") -add_subdirectory(${FLUTTER_MANAGED_DIR}) - -# Application build; see runner/CMakeLists.txt. -add_subdirectory("runner") - - -# Generated plugin build rules, which manage building the plugins and adding -# them to the application. -include(flutter/generated_plugins.cmake) - - -# === Installation === -# Support files are copied into place next to the executable, so that it can -# run in place. This is done instead of making a separate bundle (as on Linux) -# so that building and running from within Visual Studio will work. -set(BUILD_BUNDLE_DIR "$") -# Make the "install" step default, as it's required to run. -set(CMAKE_VS_INCLUDE_INSTALL_TO_DEFAULT_BUILD 1) -if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT) - set(CMAKE_INSTALL_PREFIX "${BUILD_BUNDLE_DIR}" CACHE PATH "..." FORCE) -endif() - -set(INSTALL_BUNDLE_DATA_DIR "${CMAKE_INSTALL_PREFIX}/data") -set(INSTALL_BUNDLE_LIB_DIR "${CMAKE_INSTALL_PREFIX}") - -install(TARGETS ${BINARY_NAME} RUNTIME DESTINATION "${CMAKE_INSTALL_PREFIX}" - COMPONENT Runtime) - -install(FILES "${FLUTTER_ICU_DATA_FILE}" DESTINATION "${INSTALL_BUNDLE_DATA_DIR}" - COMPONENT Runtime) - -install(FILES "${FLUTTER_LIBRARY}" DESTINATION "${INSTALL_BUNDLE_LIB_DIR}" - COMPONENT Runtime) - -if(PLUGIN_BUNDLED_LIBRARIES) - install(FILES "${PLUGIN_BUNDLED_LIBRARIES}" - DESTINATION "${INSTALL_BUNDLE_LIB_DIR}" - COMPONENT Runtime) -endif() - -# Fully re-copy the assets directory on each build to avoid having stale files -# from a previous install. -set(FLUTTER_ASSET_DIR_NAME "flutter_assets") -install(CODE " - file(REMOVE_RECURSE \"${INSTALL_BUNDLE_DATA_DIR}/${FLUTTER_ASSET_DIR_NAME}\") - " COMPONENT Runtime) -install(DIRECTORY "${PROJECT_BUILD_DIR}/${FLUTTER_ASSET_DIR_NAME}" - DESTINATION "${INSTALL_BUNDLE_DATA_DIR}" COMPONENT Runtime) - -# Install the AOT library on non-Debug builds only. -install(FILES "${AOT_LIBRARY}" DESTINATION "${INSTALL_BUNDLE_DATA_DIR}" - CONFIGURATIONS Profile;Release - COMPONENT Runtime) diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/windows/flutter/CMakeLists.txt b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/windows/flutter/CMakeLists.txt deleted file mode 100644 index 903f4899..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/windows/flutter/CMakeLists.txt +++ /dev/null @@ -1,109 +0,0 @@ -# This file controls Flutter-level build steps. It should not be edited. -cmake_minimum_required(VERSION 3.14) - -set(EPHEMERAL_DIR "${CMAKE_CURRENT_SOURCE_DIR}/ephemeral") - -# Configuration provided via flutter tool. -include(${EPHEMERAL_DIR}/generated_config.cmake) - -# TODO: Move the rest of this into files in ephemeral. See -# https://github.com/flutter/flutter/issues/57146. -set(WRAPPER_ROOT "${EPHEMERAL_DIR}/cpp_client_wrapper") - -# Set fallback configurations for older versions of the flutter tool. -if (NOT DEFINED FLUTTER_TARGET_PLATFORM) - set(FLUTTER_TARGET_PLATFORM "windows-x64") -endif() - -# === Flutter Library === -set(FLUTTER_LIBRARY "${EPHEMERAL_DIR}/flutter_windows.dll") - -# Published to parent scope for install step. -set(FLUTTER_LIBRARY ${FLUTTER_LIBRARY} PARENT_SCOPE) -set(FLUTTER_ICU_DATA_FILE "${EPHEMERAL_DIR}/icudtl.dat" PARENT_SCOPE) -set(PROJECT_BUILD_DIR "${PROJECT_DIR}/build/" PARENT_SCOPE) -set(AOT_LIBRARY "${PROJECT_DIR}/build/windows/app.so" PARENT_SCOPE) - -list(APPEND FLUTTER_LIBRARY_HEADERS - "flutter_export.h" - "flutter_windows.h" - "flutter_messenger.h" - "flutter_plugin_registrar.h" - "flutter_texture_registrar.h" -) -list(TRANSFORM FLUTTER_LIBRARY_HEADERS PREPEND "${EPHEMERAL_DIR}/") -add_library(flutter INTERFACE) -target_include_directories(flutter INTERFACE - "${EPHEMERAL_DIR}" -) -target_link_libraries(flutter INTERFACE "${FLUTTER_LIBRARY}.lib") -add_dependencies(flutter flutter_assemble) - -# === Wrapper === -list(APPEND CPP_WRAPPER_SOURCES_CORE - "core_implementations.cc" - "standard_codec.cc" -) -list(TRANSFORM CPP_WRAPPER_SOURCES_CORE PREPEND "${WRAPPER_ROOT}/") -list(APPEND CPP_WRAPPER_SOURCES_PLUGIN - "plugin_registrar.cc" -) -list(TRANSFORM CPP_WRAPPER_SOURCES_PLUGIN PREPEND "${WRAPPER_ROOT}/") -list(APPEND CPP_WRAPPER_SOURCES_APP - "flutter_engine.cc" - "flutter_view_controller.cc" -) -list(TRANSFORM CPP_WRAPPER_SOURCES_APP PREPEND "${WRAPPER_ROOT}/") - -# Wrapper sources needed for a plugin. -add_library(flutter_wrapper_plugin STATIC - ${CPP_WRAPPER_SOURCES_CORE} - ${CPP_WRAPPER_SOURCES_PLUGIN} -) -apply_standard_settings(flutter_wrapper_plugin) -set_target_properties(flutter_wrapper_plugin PROPERTIES - POSITION_INDEPENDENT_CODE ON) -set_target_properties(flutter_wrapper_plugin PROPERTIES - CXX_VISIBILITY_PRESET hidden) -target_link_libraries(flutter_wrapper_plugin PUBLIC flutter) -target_include_directories(flutter_wrapper_plugin PUBLIC - "${WRAPPER_ROOT}/include" -) -add_dependencies(flutter_wrapper_plugin flutter_assemble) - -# Wrapper sources needed for the runner. -add_library(flutter_wrapper_app STATIC - ${CPP_WRAPPER_SOURCES_CORE} - ${CPP_WRAPPER_SOURCES_APP} -) -apply_standard_settings(flutter_wrapper_app) -target_link_libraries(flutter_wrapper_app PUBLIC flutter) -target_include_directories(flutter_wrapper_app PUBLIC - "${WRAPPER_ROOT}/include" -) -add_dependencies(flutter_wrapper_app flutter_assemble) - -# === Flutter tool backend === -# _phony_ is a non-existent file to force this command to run every time, -# since currently there's no way to get a full input/output list from the -# flutter tool. -set(PHONY_OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/_phony_") -set_source_files_properties("${PHONY_OUTPUT}" PROPERTIES SYMBOLIC TRUE) -add_custom_command( - OUTPUT ${FLUTTER_LIBRARY} ${FLUTTER_LIBRARY_HEADERS} - ${CPP_WRAPPER_SOURCES_CORE} ${CPP_WRAPPER_SOURCES_PLUGIN} - ${CPP_WRAPPER_SOURCES_APP} - ${PHONY_OUTPUT} - COMMAND ${CMAKE_COMMAND} -E env - ${FLUTTER_TOOL_ENVIRONMENT} - "${FLUTTER_ROOT}/packages/flutter_tools/bin/tool_backend.bat" - ${FLUTTER_TARGET_PLATFORM} $ - VERBATIM -) -add_custom_target(flutter_assemble DEPENDS - "${FLUTTER_LIBRARY}" - ${FLUTTER_LIBRARY_HEADERS} - ${CPP_WRAPPER_SOURCES_CORE} - ${CPP_WRAPPER_SOURCES_PLUGIN} - ${CPP_WRAPPER_SOURCES_APP} -) diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/windows/runner/CMakeLists.txt b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/windows/runner/CMakeLists.txt deleted file mode 100644 index 394917c0..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/windows/runner/CMakeLists.txt +++ /dev/null @@ -1,40 +0,0 @@ -cmake_minimum_required(VERSION 3.14) -project(runner LANGUAGES CXX) - -# Define the application target. To change its name, change BINARY_NAME in the -# top-level CMakeLists.txt, not the value here, or `flutter run` will no longer -# work. -# -# Any new source files that you add to the application should be added here. -add_executable(${BINARY_NAME} WIN32 - "flutter_window.cpp" - "main.cpp" - "utils.cpp" - "win32_window.cpp" - "${FLUTTER_MANAGED_DIR}/generated_plugin_registrant.cc" - "Runner.rc" - "runner.exe.manifest" -) - -# Apply the standard set of build settings. This can be removed for applications -# that need different build settings. -apply_standard_settings(${BINARY_NAME}) - -# Add preprocessor definitions for the build version. -target_compile_definitions(${BINARY_NAME} PRIVATE "FLUTTER_VERSION=\"${FLUTTER_VERSION}\"") -target_compile_definitions(${BINARY_NAME} PRIVATE "FLUTTER_VERSION_MAJOR=${FLUTTER_VERSION_MAJOR}") -target_compile_definitions(${BINARY_NAME} PRIVATE "FLUTTER_VERSION_MINOR=${FLUTTER_VERSION_MINOR}") -target_compile_definitions(${BINARY_NAME} PRIVATE "FLUTTER_VERSION_PATCH=${FLUTTER_VERSION_PATCH}") -target_compile_definitions(${BINARY_NAME} PRIVATE "FLUTTER_VERSION_BUILD=${FLUTTER_VERSION_BUILD}") - -# Disable Windows macros that collide with C++ standard library functions. -target_compile_definitions(${BINARY_NAME} PRIVATE "NOMINMAX") - -# Add dependency libraries and include directories. Add any application-specific -# dependencies here. -target_link_libraries(${BINARY_NAME} PRIVATE flutter flutter_wrapper_app) -target_link_libraries(${BINARY_NAME} PRIVATE "dwmapi.lib") -target_include_directories(${BINARY_NAME} PRIVATE "${CMAKE_SOURCE_DIR}") - -# Run the Flutter tool portions of the build. This must not be removed. -add_dependencies(${BINARY_NAME} flutter_assemble) diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/windows/runner/Runner.rc b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/windows/runner/Runner.rc deleted file mode 100644 index 4477b011..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/windows/runner/Runner.rc +++ /dev/null @@ -1,121 +0,0 @@ -// Microsoft Visual C++ generated resource script. -// -#pragma code_page(65001) -#include "resource.h" - -#define APSTUDIO_READONLY_SYMBOLS -///////////////////////////////////////////////////////////////////////////// -// -// Generated from the TEXTINCLUDE 2 resource. -// -#include "winres.h" - -///////////////////////////////////////////////////////////////////////////// -#undef APSTUDIO_READONLY_SYMBOLS - -///////////////////////////////////////////////////////////////////////////// -// English (United States) resources - -#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) -LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US - -#ifdef APSTUDIO_INVOKED -///////////////////////////////////////////////////////////////////////////// -// -// TEXTINCLUDE -// - -1 TEXTINCLUDE -BEGIN - "resource.h\0" -END - -2 TEXTINCLUDE -BEGIN - "#include ""winres.h""\r\n" - "\0" -END - -3 TEXTINCLUDE -BEGIN - "\r\n" - "\0" -END - -#endif // APSTUDIO_INVOKED - - -///////////////////////////////////////////////////////////////////////////// -// -// Icon -// - -// Icon with lowest ID value placed first to ensure application icon -// remains consistent on all systems. -IDI_APP_ICON ICON "resources\\app_icon.ico" - - -///////////////////////////////////////////////////////////////////////////// -// -// Version -// - -#if defined(FLUTTER_VERSION_MAJOR) && defined(FLUTTER_VERSION_MINOR) && defined(FLUTTER_VERSION_PATCH) && defined(FLUTTER_VERSION_BUILD) -#define VERSION_AS_NUMBER FLUTTER_VERSION_MAJOR,FLUTTER_VERSION_MINOR,FLUTTER_VERSION_PATCH,FLUTTER_VERSION_BUILD -#else -#define VERSION_AS_NUMBER 1,0,0,0 -#endif - -#if defined(FLUTTER_VERSION) -#define VERSION_AS_STRING FLUTTER_VERSION -#else -#define VERSION_AS_STRING "1.0.0" -#endif - -VS_VERSION_INFO VERSIONINFO - FILEVERSION VERSION_AS_NUMBER - PRODUCTVERSION VERSION_AS_NUMBER - FILEFLAGSMASK VS_FFI_FILEFLAGSMASK -#ifdef _DEBUG - FILEFLAGS VS_FF_DEBUG -#else - FILEFLAGS 0x0L -#endif - FILEOS VOS__WINDOWS32 - FILETYPE VFT_APP - FILESUBTYPE 0x0L -BEGIN - BLOCK "StringFileInfo" - BEGIN - BLOCK "040904e4" - BEGIN - VALUE "CompanyName", "io.flutter.plugins.firebase.auth" "\0" - VALUE "FileDescription", "example" "\0" - VALUE "FileVersion", VERSION_AS_STRING "\0" - VALUE "InternalName", "example" "\0" - VALUE "LegalCopyright", "Copyright (C) 2023 io.flutter.plugins.firebase.auth. All rights reserved." "\0" - VALUE "OriginalFilename", "example.exe" "\0" - VALUE "ProductName", "example" "\0" - VALUE "ProductVersion", VERSION_AS_STRING "\0" - END - END - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x409, 1252 - END -END - -#endif // English (United States) resources -///////////////////////////////////////////////////////////////////////////// - - - -#ifndef APSTUDIO_INVOKED -///////////////////////////////////////////////////////////////////////////// -// -// Generated from the TEXTINCLUDE 3 resource. -// - - -///////////////////////////////////////////////////////////////////////////// -#endif // not APSTUDIO_INVOKED diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/windows/runner/flutter_window.cpp b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/windows/runner/flutter_window.cpp deleted file mode 100644 index 227a2489..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/windows/runner/flutter_window.cpp +++ /dev/null @@ -1,68 +0,0 @@ -// Copyright 2023, the Chromium project authors. Please see the AUTHORS file -// for details. All rights reserved. Use of this source code is governed by a -// BSD-style license that can be found in the LICENSE file. - -#include "flutter_window.h" - -#include - -#include "flutter/generated_plugin_registrant.h" - -FlutterWindow::FlutterWindow(const flutter::DartProject& project) - : project_(project) {} - -FlutterWindow::~FlutterWindow() {} - -bool FlutterWindow::OnCreate() { - if (!Win32Window::OnCreate()) { - return false; - } - - RECT frame = GetClientArea(); - - // The size here must match the window dimensions to avoid unnecessary surface - // creation / destruction in the startup path. - flutter_controller_ = std::make_unique( - frame.right - frame.left, frame.bottom - frame.top, project_); - // Ensure that basic setup of the controller was successful. - if (!flutter_controller_->engine() || !flutter_controller_->view()) { - return false; - } - RegisterPlugins(flutter_controller_->engine()); - SetChildContent(flutter_controller_->view()->GetNativeWindow()); - - flutter_controller_->engine()->SetNextFrameCallback([&]() { this->Show(); }); - - return true; -} - -void FlutterWindow::OnDestroy() { - if (flutter_controller_) { - flutter_controller_ = nullptr; - } - - Win32Window::OnDestroy(); -} - -LRESULT -FlutterWindow::MessageHandler(HWND hwnd, UINT const message, - WPARAM const wparam, - LPARAM const lparam) noexcept { - // Give Flutter, including plugins, an opportunity to handle window messages. - if (flutter_controller_) { - std::optional result = - flutter_controller_->HandleTopLevelWindowProc(hwnd, message, wparam, - lparam); - if (result) { - return *result; - } - } - - switch (message) { - case WM_FONTCHANGE: - flutter_controller_->engine()->ReloadSystemFonts(); - break; - } - - return Win32Window::MessageHandler(hwnd, message, wparam, lparam); -} diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/windows/runner/flutter_window.h b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/windows/runner/flutter_window.h deleted file mode 100644 index 2b30f421..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/windows/runner/flutter_window.h +++ /dev/null @@ -1,39 +0,0 @@ -/* - * Copyright 2023, the Chromium project authors. Please see the AUTHORS file - * for details. All rights reserved. Use of this source code is governed by a - * BSD-style license that can be found in the LICENSE file. - */ - -#ifndef RUNNER_FLUTTER_WINDOW_H_ -#define RUNNER_FLUTTER_WINDOW_H_ - -#include -#include - -#include - -#include "win32_window.h" - -// A window that does nothing but host a Flutter view. -class FlutterWindow : public Win32Window { - public: - // Creates a new FlutterWindow hosting a Flutter view running |project|. - explicit FlutterWindow(const flutter::DartProject& project); - virtual ~FlutterWindow(); - - protected: - // Win32Window: - bool OnCreate() override; - void OnDestroy() override; - LRESULT MessageHandler(HWND window, UINT const message, WPARAM const wparam, - LPARAM const lparam) noexcept override; - - private: - // The project to run. - flutter::DartProject project_; - - // The Flutter instance hosted by this window. - std::unique_ptr flutter_controller_; -}; - -#endif // RUNNER_FLUTTER_WINDOW_H_ diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/windows/runner/main.cpp b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/windows/runner/main.cpp deleted file mode 100644 index 7a451dd2..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/windows/runner/main.cpp +++ /dev/null @@ -1,46 +0,0 @@ -// Copyright 2023, the Chromium project authors. Please see the AUTHORS file -// for details. All rights reserved. Use of this source code is governed by a -// BSD-style license that can be found in the LICENSE file. - -#include -#include -#include - -#include "flutter_window.h" -#include "utils.h" - -int APIENTRY wWinMain(_In_ HINSTANCE instance, _In_opt_ HINSTANCE prev, - _In_ wchar_t* command_line, _In_ int show_command) { - // Attach to console when present (e.g., 'flutter run') or create a - // new console when running with a debugger. - if (!::AttachConsole(ATTACH_PARENT_PROCESS) && ::IsDebuggerPresent()) { - CreateAndAttachConsole(); - } - - // Initialize COM, so that it is available for use in the library and/or - // plugins. - ::CoInitializeEx(nullptr, COINIT_APARTMENTTHREADED); - - flutter::DartProject project(L"data"); - - std::vector command_line_arguments = GetCommandLineArguments(); - - project.set_dart_entrypoint_arguments(std::move(command_line_arguments)); - - FlutterWindow window(project); - Win32Window::Point origin(10, 10); - Win32Window::Size size(1280, 720); - if (!window.Create(L"example", origin, size)) { - return EXIT_FAILURE; - } - window.SetQuitOnClose(true); - - ::MSG msg; - while (::GetMessage(&msg, nullptr, 0, 0)) { - ::TranslateMessage(&msg); - ::DispatchMessage(&msg); - } - - ::CoUninitialize(); - return EXIT_SUCCESS; -} diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/windows/runner/resource.h b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/windows/runner/resource.h deleted file mode 100644 index 3b8e4da1..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/windows/runner/resource.h +++ /dev/null @@ -1,22 +0,0 @@ -/* - * Copyright 2023, the Chromium project authors. Please see the AUTHORS file - * for details. All rights reserved. Use of this source code is governed by a - * BSD-style license that can be found in the LICENSE file. - */ - -//{{NO_DEPENDENCIES}} -// Microsoft Visual C++ generated include file. -// Used by Runner.rc -// -#define IDI_APP_ICON 101 - -// Next default values for new objects -// -#ifdef APSTUDIO_INVOKED -#ifndef APSTUDIO_READONLY_SYMBOLS -#define _APS_NEXT_RESOURCE_VALUE 102 -#define _APS_NEXT_COMMAND_VALUE 40001 -#define _APS_NEXT_CONTROL_VALUE 1001 -#define _APS_NEXT_SYMED_VALUE 101 -#endif -#endif diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/windows/runner/resources/app_icon.ico b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/windows/runner/resources/app_icon.ico deleted file mode 100644 index c04e20ca..00000000 Binary files a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/windows/runner/resources/app_icon.ico and /dev/null differ diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/windows/runner/runner.exe.manifest b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/windows/runner/runner.exe.manifest deleted file mode 100644 index a42ea768..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/windows/runner/runner.exe.manifest +++ /dev/null @@ -1,20 +0,0 @@ - - - - - PerMonitorV2 - - - - - - - - - - - - - - - diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/windows/runner/utils.cpp b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/windows/runner/utils.cpp deleted file mode 100644 index 9f01ff8b..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/windows/runner/utils.cpp +++ /dev/null @@ -1,69 +0,0 @@ -// Copyright 2023, the Chromium project authors. Please see the AUTHORS file -// for details. All rights reserved. Use of this source code is governed by a -// BSD-style license that can be found in the LICENSE file. - -#include "utils.h" - -#include -#include -#include -#include - -#include - -void CreateAndAttachConsole() { - if (::AllocConsole()) { - FILE* unused; - if (freopen_s(&unused, "CONOUT$", "w", stdout)) { - _dup2(_fileno(stdout), 1); - } - if (freopen_s(&unused, "CONOUT$", "w", stderr)) { - _dup2(_fileno(stdout), 2); - } - std::ios::sync_with_stdio(); - FlutterDesktopResyncOutputStreams(); - } -} - -std::vector GetCommandLineArguments() { - // Convert the UTF-16 command line arguments to UTF-8 for the Engine to use. - int argc; - wchar_t** argv = ::CommandLineToArgvW(::GetCommandLineW(), &argc); - if (argv == nullptr) { - return std::vector(); - } - - std::vector command_line_arguments; - - // Skip the first argument as it's the binary name. - for (int i = 1; i < argc; i++) { - command_line_arguments.push_back(Utf8FromUtf16(argv[i])); - } - - ::LocalFree(argv); - - return command_line_arguments; -} - -std::string Utf8FromUtf16(const wchar_t* utf16_string) { - if (utf16_string == nullptr) { - return std::string(); - } - int target_length = - ::WideCharToMultiByte(CP_UTF8, WC_ERR_INVALID_CHARS, utf16_string, -1, - nullptr, 0, nullptr, nullptr) - - 1; // remove the trailing null character - int input_length = (int)wcslen(utf16_string); - std::string utf8_string; - if (target_length <= 0 || target_length > utf8_string.max_size()) { - return utf8_string; - } - utf8_string.resize(target_length); - int converted_length = ::WideCharToMultiByte( - CP_UTF8, WC_ERR_INVALID_CHARS, utf16_string, input_length, - utf8_string.data(), target_length, nullptr, nullptr); - if (converted_length == 0) { - return std::string(); - } - return utf8_string; -} diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/windows/runner/utils.h b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/windows/runner/utils.h deleted file mode 100644 index 67b5c48b..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/windows/runner/utils.h +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright 2023, the Chromium project authors. Please see the AUTHORS file - * for details. All rights reserved. Use of this source code is governed by a - * BSD-style license that can be found in the LICENSE file. - */ - -#ifndef RUNNER_UTILS_H_ -#define RUNNER_UTILS_H_ - -#include -#include - -// Creates a console for the process, and redirects stdout and stderr to -// it for both the runner and the Flutter library. -void CreateAndAttachConsole(); - -// Takes a null-terminated wchar_t* encoded in UTF-16 and returns a std::string -// encoded in UTF-8. Returns an empty std::string on failure. -std::string Utf8FromUtf16(const wchar_t* utf16_string); - -// Gets the command line arguments passed in as a std::vector, -// encoded in UTF-8. Returns an empty std::vector on failure. -std::vector GetCommandLineArguments(); - -#endif // RUNNER_UTILS_H_ diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/windows/runner/win32_window.cpp b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/windows/runner/win32_window.cpp deleted file mode 100644 index 45d150e7..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/windows/runner/win32_window.cpp +++ /dev/null @@ -1,284 +0,0 @@ -// Copyright 2023, the Chromium project authors. Please see the AUTHORS file -// for details. All rights reserved. Use of this source code is governed by a -// BSD-style license that can be found in the LICENSE file. - -#include "win32_window.h" - -#include -#include - -#include "resource.h" - -namespace { - -/// Window attribute that enables dark mode window decorations. -/// -/// Redefined in case the developer's machine has a Windows SDK older than -/// version 10.0.22000.0. -/// See: -/// https://docs.microsoft.com/windows/win32/api/dwmapi/ne-dwmapi-dwmwindowattribute -#ifndef DWMWA_USE_IMMERSIVE_DARK_MODE -#define DWMWA_USE_IMMERSIVE_DARK_MODE 20 -#endif - -constexpr const wchar_t kWindowClassName[] = L"FLUTTER_RUNNER_WIN32_WINDOW"; - -/// Registry key for app theme preference. -/// -/// A value of 0 indicates apps should use dark mode. A non-zero or missing -/// value indicates apps should use light mode. -constexpr const wchar_t kGetPreferredBrightnessRegKey[] = - L"Software\\Microsoft\\Windows\\CurrentVersion\\Themes\\Personalize"; -constexpr const wchar_t kGetPreferredBrightnessRegValue[] = - L"AppsUseLightTheme"; - -// The number of Win32Window objects that currently exist. -static int g_active_window_count = 0; - -using EnableNonClientDpiScaling = BOOL __stdcall(HWND hwnd); - -// Scale helper to convert logical scaler values to physical using passed in -// scale factor -int Scale(int source, double scale_factor) { - return static_cast(source * scale_factor); -} - -// Dynamically loads the |EnableNonClientDpiScaling| from the User32 module. -// This API is only needed for PerMonitor V1 awareness mode. -void EnableFullDpiSupportIfAvailable(HWND hwnd) { - HMODULE user32_module = LoadLibraryA("User32.dll"); - if (!user32_module) { - return; - } - auto enable_non_client_dpi_scaling = - reinterpret_cast( - GetProcAddress(user32_module, "EnableNonClientDpiScaling")); - if (enable_non_client_dpi_scaling != nullptr) { - enable_non_client_dpi_scaling(hwnd); - } - FreeLibrary(user32_module); -} - -} // namespace - -// Manages the Win32Window's window class registration. -class WindowClassRegistrar { - public: - ~WindowClassRegistrar() = default; - - // Returns the singleton registrar instance. - static WindowClassRegistrar* GetInstance() { - if (!instance_) { - instance_ = new WindowClassRegistrar(); - } - return instance_; - } - - // Returns the name of the window class, registering the class if it hasn't - // previously been registered. - const wchar_t* GetWindowClass(); - - // Unregisters the window class. Should only be called if there are no - // instances of the window. - void UnregisterWindowClass(); - - private: - WindowClassRegistrar() = default; - - static WindowClassRegistrar* instance_; - - bool class_registered_ = false; -}; - -WindowClassRegistrar* WindowClassRegistrar::instance_ = nullptr; - -const wchar_t* WindowClassRegistrar::GetWindowClass() { - if (!class_registered_) { - WNDCLASS window_class{}; - window_class.hCursor = LoadCursor(nullptr, IDC_ARROW); - window_class.lpszClassName = kWindowClassName; - window_class.style = CS_HREDRAW | CS_VREDRAW; - window_class.cbClsExtra = 0; - window_class.cbWndExtra = 0; - window_class.hInstance = GetModuleHandle(nullptr); - window_class.hIcon = - LoadIcon(window_class.hInstance, MAKEINTRESOURCE(IDI_APP_ICON)); - window_class.hbrBackground = 0; - window_class.lpszMenuName = nullptr; - window_class.lpfnWndProc = Win32Window::WndProc; - RegisterClass(&window_class); - class_registered_ = true; - } - return kWindowClassName; -} - -void WindowClassRegistrar::UnregisterWindowClass() { - UnregisterClass(kWindowClassName, nullptr); - class_registered_ = false; -} - -Win32Window::Win32Window() { ++g_active_window_count; } - -Win32Window::~Win32Window() { - --g_active_window_count; - Destroy(); -} - -bool Win32Window::Create(const std::wstring& title, const Point& origin, - const Size& size) { - Destroy(); - - const wchar_t* window_class = - WindowClassRegistrar::GetInstance()->GetWindowClass(); - - const POINT target_point = {static_cast(origin.x), - static_cast(origin.y)}; - HMONITOR monitor = MonitorFromPoint(target_point, MONITOR_DEFAULTTONEAREST); - UINT dpi = FlutterDesktopGetDpiForMonitor(monitor); - double scale_factor = dpi / 96.0; - - HWND window = CreateWindow( - window_class, title.c_str(), WS_OVERLAPPEDWINDOW, - Scale(origin.x, scale_factor), Scale(origin.y, scale_factor), - Scale(size.width, scale_factor), Scale(size.height, scale_factor), - nullptr, nullptr, GetModuleHandle(nullptr), this); - - if (!window) { - return false; - } - - UpdateTheme(window); - - return OnCreate(); -} - -bool Win32Window::Show() { return ShowWindow(window_handle_, SW_SHOWNORMAL); } - -// static -LRESULT CALLBACK Win32Window::WndProc(HWND const window, UINT const message, - WPARAM const wparam, - LPARAM const lparam) noexcept { - if (message == WM_NCCREATE) { - auto window_struct = reinterpret_cast(lparam); - SetWindowLongPtr(window, GWLP_USERDATA, - reinterpret_cast(window_struct->lpCreateParams)); - - auto that = static_cast(window_struct->lpCreateParams); - EnableFullDpiSupportIfAvailable(window); - that->window_handle_ = window; - } else if (Win32Window* that = GetThisFromHandle(window)) { - return that->MessageHandler(window, message, wparam, lparam); - } - - return DefWindowProc(window, message, wparam, lparam); -} - -LRESULT -Win32Window::MessageHandler(HWND hwnd, UINT const message, WPARAM const wparam, - LPARAM const lparam) noexcept { - switch (message) { - case WM_DESTROY: - window_handle_ = nullptr; - Destroy(); - if (quit_on_close_) { - PostQuitMessage(0); - } - return 0; - - case WM_DPICHANGED: { - auto newRectSize = reinterpret_cast(lparam); - LONG newWidth = newRectSize->right - newRectSize->left; - LONG newHeight = newRectSize->bottom - newRectSize->top; - - SetWindowPos(hwnd, nullptr, newRectSize->left, newRectSize->top, newWidth, - newHeight, SWP_NOZORDER | SWP_NOACTIVATE); - - return 0; - } - case WM_SIZE: { - RECT rect = GetClientArea(); - if (child_content_ != nullptr) { - // Size and position the child window. - MoveWindow(child_content_, rect.left, rect.top, rect.right - rect.left, - rect.bottom - rect.top, TRUE); - } - return 0; - } - - case WM_ACTIVATE: - if (child_content_ != nullptr) { - SetFocus(child_content_); - } - return 0; - - case WM_DWMCOLORIZATIONCOLORCHANGED: - UpdateTheme(hwnd); - return 0; - } - - return DefWindowProc(window_handle_, message, wparam, lparam); -} - -void Win32Window::Destroy() { - OnDestroy(); - - if (window_handle_) { - DestroyWindow(window_handle_); - window_handle_ = nullptr; - } - if (g_active_window_count == 0) { - WindowClassRegistrar::GetInstance()->UnregisterWindowClass(); - } -} - -Win32Window* Win32Window::GetThisFromHandle(HWND const window) noexcept { - return reinterpret_cast( - GetWindowLongPtr(window, GWLP_USERDATA)); -} - -void Win32Window::SetChildContent(HWND content) { - child_content_ = content; - SetParent(content, window_handle_); - RECT frame = GetClientArea(); - - MoveWindow(content, frame.left, frame.top, frame.right - frame.left, - frame.bottom - frame.top, true); - - SetFocus(child_content_); -} - -RECT Win32Window::GetClientArea() { - RECT frame; - GetClientRect(window_handle_, &frame); - return frame; -} - -HWND Win32Window::GetHandle() { return window_handle_; } - -void Win32Window::SetQuitOnClose(bool quit_on_close) { - quit_on_close_ = quit_on_close; -} - -bool Win32Window::OnCreate() { - // No-op; provided for subclasses. - return true; -} - -void Win32Window::OnDestroy() { - // No-op; provided for subclasses. -} - -void Win32Window::UpdateTheme(HWND const window) { - DWORD light_mode; - DWORD light_mode_size = sizeof(light_mode); - LSTATUS result = - RegGetValue(HKEY_CURRENT_USER, kGetPreferredBrightnessRegKey, - kGetPreferredBrightnessRegValue, RRF_RT_REG_DWORD, nullptr, - &light_mode, &light_mode_size); - - if (result == ERROR_SUCCESS) { - BOOL enable_dark_mode = light_mode == 0; - DwmSetWindowAttribute(window, DWMWA_USE_IMMERSIVE_DARK_MODE, - &enable_dark_mode, sizeof(enable_dark_mode)); - } -} diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/windows/runner/win32_window.h b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/windows/runner/win32_window.h deleted file mode 100644 index 32aab58c..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/example/windows/runner/win32_window.h +++ /dev/null @@ -1,106 +0,0 @@ -/* - * Copyright 2023, the Chromium project authors. Please see the AUTHORS file - * for details. All rights reserved. Use of this source code is governed by a - * BSD-style license that can be found in the LICENSE file. - */ - -#ifndef RUNNER_WIN32_WINDOW_H_ -#define RUNNER_WIN32_WINDOW_H_ - -#include - -#include -#include -#include - -// A class abstraction for a high DPI-aware Win32 Window. Intended to be -// inherited from by classes that wish to specialize with custom -// rendering and input handling -class Win32Window { - public: - struct Point { - unsigned int x; - unsigned int y; - Point(unsigned int x, unsigned int y) : x(x), y(y) {} - }; - - struct Size { - unsigned int width; - unsigned int height; - Size(unsigned int width, unsigned int height) - : width(width), height(height) {} - }; - - Win32Window(); - virtual ~Win32Window(); - - // Creates a win32 window with |title| that is positioned and sized using - // |origin| and |size|. New windows are created on the default monitor. Window - // sizes are specified to the OS in physical pixels, hence to ensure a - // consistent size this function will scale the inputted width and height as - // as appropriate for the default monitor. The window is invisible until - // |Show| is called. Returns true if the window was created successfully. - bool Create(const std::wstring& title, const Point& origin, const Size& size); - - // Show the current window. Returns true if the window was successfully shown. - bool Show(); - - // Release OS resources associated with window. - void Destroy(); - - // Inserts |content| into the window tree. - void SetChildContent(HWND content); - - // Returns the backing Window handle to enable clients to set icon and other - // window properties. Returns nullptr if the window has been destroyed. - HWND GetHandle(); - - // If true, closing this window will quit the application. - void SetQuitOnClose(bool quit_on_close); - - // Return a RECT representing the bounds of the current client area. - RECT GetClientArea(); - - protected: - // Processes and route salient window messages for mouse handling, - // size change and DPI. Delegates handling of these to member overloads that - // inheriting classes can handle. - virtual LRESULT MessageHandler(HWND window, UINT const message, - WPARAM const wparam, - LPARAM const lparam) noexcept; - - // Called when CreateAndShow is called, allowing subclass window-related - // setup. Subclasses should return false if setup fails. - virtual bool OnCreate(); - - // Called when Destroy is called. - virtual void OnDestroy(); - - private: - friend class WindowClassRegistrar; - - // OS callback called by message pump. Handles the WM_NCCREATE message which - // is passed when the non-client area is being created and enables automatic - // non-client DPI scaling so that the non-client area automatically - // responds to changes in DPI. All other messages are handled by - // MessageHandler. - static LRESULT CALLBACK WndProc(HWND const window, UINT const message, - WPARAM const wparam, - LPARAM const lparam) noexcept; - - // Retrieves a class instance pointer for |window| - static Win32Window* GetThisFromHandle(HWND const window) noexcept; - - // Update the window frame's theme to match the system theme. - static void UpdateTheme(HWND const window); - - bool quit_on_close_ = false; - - // window handle for top level window. - HWND window_handle_ = nullptr; - - // window handle for hosted content. - HWND child_content_ = nullptr; -}; - -#endif // RUNNER_WIN32_WINDOW_H_ diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/ios/firebase_auth.podspec b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/ios/firebase_auth.podspec deleted file mode 100755 index eba26315..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/ios/firebase_auth.podspec +++ /dev/null @@ -1,43 +0,0 @@ -require 'yaml' - -pubspec = YAML.load_file(File.join('..', 'pubspec.yaml')) -library_version = pubspec['version'].gsub('+', '-') - -if defined?($FirebaseSDKVersion) - Pod::UI.puts "#{pubspec['name']}: Using user specified Firebase SDK version '#{$FirebaseSDKVersion}'" - firebase_sdk_version = $FirebaseSDKVersion -else - firebase_core_script = File.join(File.expand_path('..', File.expand_path('..', File.dirname(__FILE__))), 'firebase_core/ios/firebase_sdk_version.rb') - if File.exist?(firebase_core_script) - require firebase_core_script - firebase_sdk_version = firebase_sdk_version! - Pod::UI.puts "#{pubspec['name']}: Using Firebase SDK version '#{firebase_sdk_version}' defined in 'firebase_core'" - end -end - -Pod::Spec.new do |s| - s.name = pubspec['name'] - s.version = library_version - s.summary = pubspec['description'] - s.description = pubspec['description'] - s.homepage = pubspec['homepage'] - s.license = { :file => '../LICENSE' } - s.authors = 'The Chromium Authors' - s.source = { :path => '.' } - - s.source_files = 'firebase_auth/Sources/firebase_auth/**/*.{h,m}' - s.public_header_files = 'firebase_auth/Sources/firebase_auth/include/Public/**/*.h' - s.private_header_files = 'firebase_auth/Sources/firebase_auth/include/Private/**/*.h' - - s.ios.deployment_target = '15.0' - s.dependency 'Flutter' - - s.dependency 'firebase_core' - s.dependency 'Firebase/Auth', firebase_sdk_version - - s.static_framework = true - s.pod_target_xcconfig = { - 'GCC_PREPROCESSOR_DEFINITIONS' => "LIBRARY_VERSION=\\\"#{library_version}\\\" LIBRARY_NAME=\\\"flutter-fire-auth\\\"", - 'DEFINES_MODULE' => 'YES' - } -end diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/ios/firebase_auth/Package.swift b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/ios/firebase_auth/Package.swift deleted file mode 100644 index b53cc1ad..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/ios/firebase_auth/Package.swift +++ /dev/null @@ -1,43 +0,0 @@ -// swift-tools-version: 5.9 -// The swift-tools-version declares the minimum version of Swift required to build this package. - -// Copyright 2024, the Chromium project authors. Please see the AUTHORS file -// for details. All rights reserved. Use of this source code is governed by a -// BSD-style license that can be found in the LICENSE file. - -import PackageDescription - -let libraryVersion = "6.5.4" -let firebaseSdkVersion: Version = "12.15.0" - -let package = Package( - name: "firebase_auth", - platforms: [ - .iOS("15.0") - ], - products: [ - .library(name: "firebase-auth", targets: ["firebase_auth"]) - ], - dependencies: [ - .package(url: "https://github.com/firebase/firebase-ios-sdk", exact: firebaseSdkVersion), - .package(name: "firebase_core", path: "../firebase_core-4.11.0"), - ], - targets: [ - .target( - name: "firebase_auth", - dependencies: [ - .product(name: "FirebaseAuth", package: "firebase-ios-sdk"), - .product(name: "firebase-core", package: "firebase_core"), - ], - resources: [ - .process("Resources") - ], - cSettings: [ - .headerSearchPath("include/Private"), - .headerSearchPath("include/Public"), - .define("LIBRARY_VERSION", to: "\"\(libraryVersion)\""), - .define("LIBRARY_NAME", to: "\"flutter-fire-auth\""), - ] - ) - ] -) diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/ios/firebase_auth/Sources/firebase_auth/FLTAuthStateChannelStreamHandler.m b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/ios/firebase_auth/Sources/firebase_auth/FLTAuthStateChannelStreamHandler.m deleted file mode 100644 index 5ef9adaf..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/ios/firebase_auth/Sources/firebase_auth/FLTAuthStateChannelStreamHandler.m +++ /dev/null @@ -1,56 +0,0 @@ -// Copyright 2021 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. -@import FirebaseAuth; -#import "include/Private/FLTAuthStateChannelStreamHandler.h" -#import -#import "include/Private/PigeonParser.h" -#import "include/Public/FLTFirebaseAuthPlugin.h" - -@implementation FLTAuthStateChannelStreamHandler { - FIRAuth *_auth; - FIRAuthStateDidChangeListenerHandle _listener; -} - -- (instancetype)initWithAuth:(FIRAuth *)auth { - self = [super init]; - if (self) { - _auth = auth; - } - return self; -} - -- (FlutterError *)onListenWithArguments:(id)arguments eventSink:(FlutterEventSink)events { - bool __block initialAuthState = YES; - - _listener = [_auth addAuthStateDidChangeListener:^(FIRAuth *_Nonnull auth, - FIRUser *_Nullable user) { - if (initialAuthState) { - initialAuthState = NO; - return; - } - - if (user) { - events(@{ - @"user" : [PigeonParser getManualList:[PigeonParser getPigeonDetails:[auth currentUser]]] - }); - } else { - events(@{ - @"user" : [NSNull null], - }); - } - }]; - - return nil; -} - -- (FlutterError *)onCancelWithArguments:(id)arguments { - if (_listener) { - [_auth removeAuthStateDidChangeListener:_listener]; - } - _listener = nil; - - return nil; -} - -@end diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/ios/firebase_auth/Sources/firebase_auth/FLTFirebaseAuthPlugin.m b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/ios/firebase_auth/Sources/firebase_auth/FLTFirebaseAuthPlugin.m deleted file mode 100644 index 606dda68..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/ios/firebase_auth/Sources/firebase_auth/FLTFirebaseAuthPlugin.m +++ /dev/null @@ -1,2376 +0,0 @@ -// Copyright 2020 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -@import FirebaseAuth; -#import -#import -#if __has_include() -#import -#else -#import -#endif - -#import "include/Private/FLTAuthStateChannelStreamHandler.h" -#import "include/Private/FLTIdTokenChannelStreamHandler.h" -#import "include/Private/FLTPhoneNumberVerificationStreamHandler.h" -#import "include/Private/PigeonParser.h" - -#import "include/Public/CustomPigeonHeader.h" -#import "include/Public/FLTFirebaseAuthPlugin.h" -@import CommonCrypto; -#import - -#if __has_include() -#import -#else -#import -#endif - -NSString *const kFLTFirebaseAuthChannelName = @"plugins.flutter.io/firebase_auth"; - -// Argument Keys -NSString *const kAppName = @"appName"; - -// Provider type keys. -NSString *const kSignInMethodPassword = @"password"; -NSString *const kSignInMethodEmailLink = @"emailLink"; -NSString *const kSignInMethodFacebook = @"facebook.com"; -NSString *const kSignInMethodGoogle = @"google.com"; -NSString *const kSignInMethodGameCenter = @"gc.apple.com"; -NSString *const kSignInMethodTwitter = @"twitter.com"; -NSString *const kSignInMethodGithub = @"github.com"; -NSString *const kSignInMethodApple = @"apple.com"; -NSString *const kSignInMethodPhone = @"phone"; -NSString *const kSignInMethodOAuth = @"oauth"; - -// Credential argument keys. -NSString *const kArgumentCredential = @"credential"; -NSString *const kArgumentProviderId = @"providerId"; -NSString *const kArgumentProviderScope = @"scopes"; -NSString *const kArgumentProviderCustomParameters = @"customParameters"; -NSString *const kArgumentSignInMethod = @"signInMethod"; -NSString *const kArgumentSecret = @"secret"; -NSString *const kArgumentIdToken = @"idToken"; -NSString *const kArgumentAccessToken = @"accessToken"; -NSString *const kArgumentRawNonce = @"rawNonce"; -NSString *const kArgumentEmail = @"email"; -NSString *const kArgumentCode = @"code"; -NSString *const kArgumentNewEmail = @"newEmail"; -NSString *const kArgumentEmailLink = kSignInMethodEmailLink; -NSString *const kArgumentToken = @"token"; -NSString *const kArgumentVerificationId = @"verificationId"; -NSString *const kArgumentSmsCode = @"smsCode"; -NSString *const kArgumentActionCodeSettings = @"actionCodeSettings"; -NSString *const kArgumentFamilyName = @"familyName"; -NSString *const kArgumentGivenName = @"givenName"; -NSString *const kArgumentMiddleName = @"middleName"; -NSString *const kArgumentNickname = @"nickname"; -NSString *const kArgumentNamePrefix = @"namePrefix"; -NSString *const kArgumentNameSuffix = @"nameSuffix"; - -// MultiFactor -NSString *const kArgumentMultiFactorHints = @"multiFactorHints"; -NSString *const kArgumentMultiFactorSessionId = @"multiFactorSessionId"; -NSString *const kArgumentMultiFactorResolverId = @"multiFactorResolverId"; -NSString *const kArgumentMultiFactorInfo = @"multiFactorInfo"; - -// Manual error codes & messages. -NSString *const kErrCodeNoCurrentUser = @"no-current-user"; -NSString *const kErrMsgNoCurrentUser = @"No user currently signed in."; -NSString *const kErrCodeInvalidCredential = @"invalid-credential"; -NSString *const kErrMsgInvalidCredential = - @"The supplied auth credential is malformed, has expired or is not " - @"currently supported."; - -// Used for caching credentials between Method Channel method calls. -static NSMutableDictionary *credentialsMap; - -@interface FLTFirebaseAuthPlugin () -@property(nonatomic, retain) NSObject *messenger; -@property(strong, nonatomic) FIROAuthProvider *authProvider; -// Used to keep the user who wants to link with Apple Sign In -@property(strong, nonatomic) FIRUser *linkWithAppleUser; -@property(strong, nonatomic) FIRAuth *signInWithAppleAuth; -@property BOOL isReauthenticatingWithApple; -@property(strong, nonatomic) NSString *currentNonce; -@property(strong, nonatomic) void (^appleCompletion) - (InternalUserCredential *_Nullable, FlutterError *_Nullable); -@property(strong, nonatomic) AuthPigeonFirebaseApp *appleArguments; -/// YES while an `ASAuthorizationController` Sign in with Apple flow is active. -@property(nonatomic, assign) BOOL appleSignInRequestInFlight; - -@end - -@implementation FLTFirebaseAuthPlugin { - // Map an id to a MultiFactorSession object. - NSMutableDictionary *_multiFactorSessionMap; - - // Map an id to a MultiFactorResolver object. - NSMutableDictionary *_multiFactorResolverMap; - - // Map an id to a MultiFactorResolver object. - NSMutableDictionary *_multiFactorAssertionMap; - - // Map an id to a MultiFactorResolver object. - NSMutableDictionary *_multiFactorTotpSecretMap; - - // Emulator host/port per app, used to build REST URLs for workarounds. - NSMutableDictionary *_emulatorConfigs; - - NSObject *_binaryMessenger; - NSMutableDictionary *_eventChannels; - NSMutableDictionary *> *_streamHandlers; - NSData *_apnsToken; -} - -#pragma mark - FlutterPlugin - -- (instancetype)init:(NSObject *)messenger { - self = [super init]; - if (self) { - [[FLTFirebasePluginRegistry sharedInstance] registerFirebasePlugin:self]; - credentialsMap = [NSMutableDictionary dictionary]; - _binaryMessenger = messenger; - _eventChannels = [NSMutableDictionary dictionary]; - _streamHandlers = [NSMutableDictionary dictionary]; - - _multiFactorSessionMap = [NSMutableDictionary dictionary]; - _multiFactorResolverMap = [NSMutableDictionary dictionary]; - _multiFactorAssertionMap = [NSMutableDictionary dictionary]; - _multiFactorTotpSecretMap = [NSMutableDictionary dictionary]; - _emulatorConfigs = [NSMutableDictionary dictionary]; - } - return self; -} - -+ (void)registerWithRegistrar:(NSObject *)registrar { - FlutterMethodChannel *channel = - [FlutterMethodChannel methodChannelWithName:kFLTFirebaseAuthChannelName - binaryMessenger:[registrar messenger]]; - FLTFirebaseAuthPlugin *instance = [[FLTFirebaseAuthPlugin alloc] init:registrar.messenger]; - - [registrar addMethodCallDelegate:instance channel:channel]; - - [registrar publish:instance]; - [registrar addApplicationDelegate:instance]; -#if !TARGET_OS_OSX - if (@available(iOS 13.0, *)) { - if ([registrar respondsToSelector:@selector(addSceneDelegate:)]) { - [registrar performSelector:@selector(addSceneDelegate:) withObject:instance]; - } - } -#endif - SetUpFirebaseAuthHostApi(registrar.messenger, instance); - SetUpFirebaseAuthUserHostApi(registrar.messenger, instance); - SetUpMultiFactorUserHostApi(registrar.messenger, instance); - SetUpMultiFactoResolverHostApi(registrar.messenger, instance); - SetUpMultiFactorTotpHostApi(registrar.messenger, instance); - SetUpMultiFactorTotpSecretHostApi(registrar.messenger, instance); -} - -+ (FlutterError *)convertToFlutterError:(NSError *)error { - NSString *code = @"unknown"; - NSString *message = @"An unknown error has occurred."; - - if (error == nil) { - return [FlutterError errorWithCode:code message:message details:@{}]; - } - - // code - if ([error userInfo][FIRAuthErrorUserInfoNameKey] != nil) { - // See [FIRAuthErrorCodeString] for list of codes. - // Codes are in the format "ERROR_SOME_NAME", converting below to the format - // required in Dart. ERROR_SOME_NAME -> SOME_NAME - NSString *firebaseErrorCode = [error userInfo][FIRAuthErrorUserInfoNameKey]; - code = [firebaseErrorCode stringByReplacingOccurrencesOfString:@"ERROR_" withString:@""]; - // SOME_NAME -> SOME-NAME - code = [code stringByReplacingOccurrencesOfString:@"_" withString:@"-"]; - // SOME-NAME -> some-name - code = [code lowercaseString]; - } - - // message - if ([error userInfo][NSLocalizedDescriptionKey] != nil) { - message = [error userInfo][NSLocalizedDescriptionKey]; - } - - NSMutableDictionary *additionalData = [NSMutableDictionary dictionary]; - // additionalData.email - if ([error userInfo][FIRAuthErrorUserInfoEmailKey] != nil) { - additionalData[kArgumentEmail] = [error userInfo][FIRAuthErrorUserInfoEmailKey]; - } - // We want to store the credential if present for future sign in if the exception contains a - // credential, we pass a token back to Flutter to allow retrieval of the credential. - NSNumber *token = [FLTFirebaseAuthPlugin storeAuthCredentialIfPresent:error]; - - // additionalData.authCredential - if ([error userInfo][FIRAuthErrorUserInfoUpdatedCredentialKey] != nil) { - FIRAuthCredential *authCredential = [error userInfo][FIRAuthErrorUserInfoUpdatedCredentialKey]; - additionalData[@"authCredential"] = [PigeonParser getPigeonAuthCredential:authCredential - token:token]; - } - - // Manual message overrides to ensure messages/codes matches other platforms. - if ([message isEqual:@"The password must be 6 characters long or more."]) { - message = @"Password should be at least 6 characters"; - } - - return [FlutterError errorWithCode:code message:message details:additionalData]; -} - -+ (id)getNSDictionaryFromAuthCredential:(FIRAuthCredential *)authCredential { - if (authCredential == nil) { - return [NSNull null]; - } - - NSString *accessToken = nil; - if ([authCredential isKindOfClass:[FIROAuthCredential class]]) { - if (((FIROAuthCredential *)authCredential).accessToken != nil) { - accessToken = ((FIROAuthCredential *)authCredential).accessToken; - } else if (((FIROAuthCredential *)authCredential).IDToken != nil) { - // For Sign In With Apple, the token is stored in IDToken - accessToken = ((FIROAuthCredential *)authCredential).IDToken; - } - } - - return @{ - kArgumentProviderId : authCredential.provider, - // Note: "signInMethod" does not exist on iOS SDK, so using provider - // instead. - kArgumentSignInMethod : authCredential.provider, - kArgumentToken : @([authCredential hash]), - kArgumentAccessToken : accessToken ?: [NSNull null], - }; -} - -- (void)cleanupWithCompletion:(void (^)(void))completion { - // Cleanup credentials. - [credentialsMap removeAllObjects]; - - for (FlutterEventChannel *channel in self->_eventChannels.allValues) { - [channel setStreamHandler:nil]; - } - [self->_eventChannels removeAllObjects]; - for (NSObject *handler in self->_streamHandlers.allValues) { - [handler onCancelWithArguments:nil]; - } - [self->_streamHandlers removeAllObjects]; - - if (completion != nil) completion(); -} - -- (void)detachFromEngineForRegistrar:(NSObject *)registrar { - [self cleanupWithCompletion:nil]; -} - -#pragma mark - AppDelegate - -#if TARGET_OS_IPHONE -#if !__has_include() -- (BOOL)application:(UIApplication *)application - didReceiveRemoteNotification:(NSDictionary *)notification - fetchCompletionHandler:(void (^)(UIBackgroundFetchResult result))completionHandler { - if ([[FIRAuth auth] canHandleNotification:notification]) { - completionHandler(UIBackgroundFetchResultNoData); - return YES; - } - return NO; -} -#endif - -- (void)application:(UIApplication *)application - didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken { - _apnsToken = deviceToken; -} - -- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary *)options { - return [[FIRAuth auth] canHandleURL:url]; -} - -#pragma mark - SceneDelegate - -- (BOOL)scene:(UIScene *)scene - openURLContexts:(NSSet *)URLContexts API_AVAILABLE(ios(13.0)) { - for (UIOpenURLContext *urlContext in URLContexts) { - if ([[FIRAuth auth] canHandleURL:urlContext.URL]) { - return YES; - } - } - return NO; -} -#endif - -#pragma mark - FLTFirebasePlugin - -- (void)didReinitializeFirebaseCore:(void (^_Nonnull)(void))completion { - [self cleanupWithCompletion:completion]; -} - -- (NSString *_Nonnull)firebaseLibraryName { - return @LIBRARY_NAME; -} - -- (NSString *_Nonnull)firebaseLibraryVersion { - return @LIBRARY_VERSION; -} - -- (NSString *_Nonnull)flutterChannelName { - return kFLTFirebaseAuthChannelName; -} - -- (NSDictionary *_Nonnull)pluginConstantsForFIRApp:(FIRApp *_Nonnull)firebaseApp { - FIRAuth *auth = [FIRAuth authWithApp:firebaseApp]; - return @{ - @"APP_LANGUAGE_CODE" : (id)[auth languageCode] ?: [NSNull null], - @"APP_CURRENT_USER" : [auth currentUser] - ? [PigeonParser getManualList:[PigeonParser getPigeonDetails:[auth currentUser]]] - : [NSNull null], - }; -} - -#pragma mark - Firebase Auth API - -// Adapted from -// https://auth0.com/docs/api-auth/tutorials/nonce#generate-a-cryptographically-random-nonce Used -// for Apple Sign In -- (NSString *)randomNonce:(NSInteger)length { - NSAssert(length > 0, @"Expected nonce to have positive length"); - NSString *characterSet = @"0123456789ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvwxyz-._"; - NSMutableString *result = [NSMutableString string]; - NSInteger remainingLength = length; - - while (remainingLength > 0) { - NSMutableArray *randoms = [NSMutableArray arrayWithCapacity:16]; - for (NSInteger i = 0; i < 16; i++) { - uint8_t random = 0; - int errorCode = SecRandomCopyBytes(kSecRandomDefault, 1, &random); - NSAssert(errorCode == errSecSuccess, @"Unable to generate nonce: OSStatus %i", errorCode); - - [randoms addObject:@(random)]; - } - - for (NSNumber *random in randoms) { - if (remainingLength == 0) { - break; - } - - if (random.unsignedIntValue < characterSet.length) { - unichar character = [characterSet characterAtIndex:random.unsignedIntValue]; - [result appendFormat:@"%C", character]; - remainingLength--; - } - } - } - - return [result copy]; -} - -- (NSString *)stringBySha256HashingString:(NSString *)input { - const char *string = [input UTF8String]; - unsigned char result[CC_SHA256_DIGEST_LENGTH]; - CC_SHA256(string, (CC_LONG)strlen(string), result); - - NSMutableString *hashed = [NSMutableString stringWithCapacity:CC_SHA256_DIGEST_LENGTH * 2]; - for (NSInteger i = 0; i < CC_SHA256_DIGEST_LENGTH; i++) { - [hashed appendFormat:@"%02x", result[i]]; - } - return hashed; -} - -static void handleSignInWithApple(FLTFirebaseAuthPlugin *object, FIRAuthDataResult *authResult, - NSString *authorizationCode, NSError *error) { - void (^completion)(InternalUserCredential *_Nullable, FlutterError *_Nullable) = - object.appleCompletion; - if (completion == nil) { - object.appleSignInRequestInFlight = NO; - return; - } - - if (error != nil) { - if (error.code == FIRAuthErrorCodeSecondFactorRequired) { - object.appleCompletion = nil; - object.appleSignInRequestInFlight = NO; - [object handleMultiFactorError:object.appleArguments completion:completion withError:error]; - } else { - object.appleCompletion = nil; - object.appleSignInRequestInFlight = NO; - completion(nil, [FLTFirebaseAuthPlugin convertToFlutterError:error]); - } - return; - } - object.appleCompletion = nil; - object.appleSignInRequestInFlight = NO; - completion([PigeonParser getPigeonUserCredentialFromAuthResult:authResult - authorizationCode:authorizationCode], - nil); -} - -- (void)authorizationController:(ASAuthorizationController *)controller - didCompleteWithAuthorization:(ASAuthorization *)authorization - API_AVAILABLE(macos(10.15), ios(13.0)) { - if ([authorization.credential isKindOfClass:[ASAuthorizationAppleIDCredential class]]) { - ASAuthorizationAppleIDCredential *appleIDCredential = authorization.credential; - NSString *rawNonce = self.currentNonce; - NSAssert(rawNonce != nil, - @"Invalid state: A login callback was received, but no login request was sent."); - - if (appleIDCredential.identityToken == nil) { - NSLog(@"Unable to fetch identity token."); - void (^completion)(InternalUserCredential *_Nullable, FlutterError *_Nullable) = - self.appleCompletion; - self.appleCompletion = nil; - self.appleSignInRequestInFlight = NO; - if (completion != nil) { - completion(nil, [FlutterError errorWithCode:kErrCodeInvalidCredential - message:kErrMsgInvalidCredential - details:nil]); - } - return; - } - - NSString *idToken = [[NSString alloc] initWithData:appleIDCredential.identityToken - encoding:NSUTF8StringEncoding]; - if (idToken == nil) { - NSLog(@"Unable to serialize id token from data: %@", appleIDCredential.identityToken); - } - - NSString *authorizationCode = nil; - if (appleIDCredential.authorizationCode != nil) { - authorizationCode = [[NSString alloc] initWithData:appleIDCredential.authorizationCode - encoding:NSUTF8StringEncoding]; - } - - FIROAuthCredential *credential = - [FIROAuthProvider appleCredentialWithIDToken:idToken - rawNonce:rawNonce - fullName:appleIDCredential.fullName]; - - if (self.isReauthenticatingWithApple == YES) { - self.isReauthenticatingWithApple = NO; - void (^capturedCompletion)(InternalUserCredential *_Nullable, FlutterError *_Nullable) = - self.appleCompletion; - [[FIRAuth.auth currentUser] - reauthenticateWithCredential:credential - completion:^(FIRAuthDataResult *_Nullable authResult, - NSError *_Nullable error) { - handleSignInWithApple(self, authResult, authorizationCode, error); - }]; - - } else if (self.linkWithAppleUser != nil) { - FIRUser *userToLink = self.linkWithAppleUser; - void (^capturedCompletion)(InternalUserCredential *_Nullable, FlutterError *_Nullable) = - self.appleCompletion; - [userToLink linkWithCredential:credential - completion:^(FIRAuthDataResult *authResult, NSError *error) { - self.linkWithAppleUser = nil; - handleSignInWithApple(self, authResult, authorizationCode, error); - }]; - - } else { - FIRAuth *signInAuth = - self.signInWithAppleAuth != nil ? self.signInWithAppleAuth : FIRAuth.auth; - void (^capturedCompletion)(InternalUserCredential *_Nullable, FlutterError *_Nullable) = - self.appleCompletion; - [signInAuth signInWithCredential:credential - completion:^(FIRAuthDataResult *_Nullable authResult, - NSError *_Nullable error) { - self.signInWithAppleAuth = nil; - handleSignInWithApple(self, authResult, authorizationCode, error); - }]; - } - } else { - void (^completion)(InternalUserCredential *_Nullable, FlutterError *_Nullable) = - self.appleCompletion; - self.appleCompletion = nil; - self.appleSignInRequestInFlight = NO; - if (completion != nil) { - completion(nil, [FlutterError errorWithCode:kErrCodeInvalidCredential - message:kErrMsgInvalidCredential - details:nil]); - } - } -} - -- (void)authorizationController:(ASAuthorizationController *)controller - didCompleteWithError:(NSError *)error API_AVAILABLE(macos(10.15), ios(13.0)) { - void (^completion)(InternalUserCredential *_Nullable, FlutterError *_Nullable) = - self.appleCompletion; - self.appleCompletion = nil; - self.appleSignInRequestInFlight = NO; - - NSLog(@"Sign in with Apple errored: %@", error); - if (completion == nil) { - return; - } - - switch (error.code) { - case ASAuthorizationErrorCanceled: - completion(nil, [FlutterError errorWithCode:@"canceled" - message:@"The user canceled the authorization attempt." - details:nil]); - break; - - case ASAuthorizationErrorInvalidResponse: - completion(nil, [FlutterError - errorWithCode:@"invalid-response" - message:@"The authorization request received an invalid response." - details:nil]); - break; - - case ASAuthorizationErrorNotHandled: - completion(nil, [FlutterError errorWithCode:@"not-handled" - message:@"The authorization request wasn’t handled." - details:nil]); - break; - - case ASAuthorizationErrorFailed: - completion(nil, [FlutterError errorWithCode:@"failed" - message:@"The authorization attempt failed." - details:nil]); - break; - - case ASAuthorizationErrorUnknown: - default: - completion(nil, [FLTFirebaseAuthPlugin convertToFlutterError:error]); - break; - } -} - -- (void)handleInternalError:(nonnull void (^)(InternalUserCredential *_Nullable, - FlutterError *_Nullable))completion - withError:(NSError *)error { - const NSError *underlyingError = error.userInfo[@"NSUnderlyingError"]; - if (underlyingError != nil) { - const NSDictionary *details = - underlyingError.userInfo[@"FIRAuthErrorUserInfoDeserializedResponseKey"]; - completion(nil, [FlutterError errorWithCode:@"internal-error" - message:error.description - details:details]); - return; - } - completion(nil, [FlutterError errorWithCode:@"internal-error" - message:error.description - details:nil]); -} - -- (void)handleMultiFactorError:(AuthPigeonFirebaseApp *)app - completion:(nonnull void (^)(InternalUserCredential *_Nullable, - FlutterError *_Nullable))completion - withError:(NSError *_Nullable)error { - FIRMultiFactorResolver *resolver = - (FIRMultiFactorResolver *)error.userInfo[FIRAuthErrorUserInfoMultiFactorResolverKey]; - - NSArray *hints = resolver.hints; - FIRMultiFactorSession *session = resolver.session; - - NSString *sessionId = [[NSUUID UUID] UUIDString]; - self->_multiFactorSessionMap[sessionId] = session; - - NSString *resolverId = [[NSUUID UUID] UUIDString]; - self->_multiFactorResolverMap[resolverId] = resolver; - - NSMutableArray *pigeonHints = [NSMutableArray array]; - - for (FIRMultiFactorInfo *multiFactorInfo in hints) { - NSString *phoneNumber; - if ([multiFactorInfo class] == [FIRPhoneMultiFactorInfo class]) { - FIRPhoneMultiFactorInfo *phoneFactorInfo = (FIRPhoneMultiFactorInfo *)multiFactorInfo; - phoneNumber = phoneFactorInfo.phoneNumber; - } - - InternalMultiFactorInfo *object = [InternalMultiFactorInfo - makeWithDisplayName:multiFactorInfo.displayName - enrollmentTimestamp:multiFactorInfo.enrollmentDate.timeIntervalSince1970 - factorId:multiFactorInfo.factorID - uid:multiFactorInfo.UID - phoneNumber:phoneNumber]; - - [pigeonHints addObject:object.toList]; - } - - NSDictionary *output = @{ - kAppName : app.appName, - kArgumentMultiFactorHints : pigeonHints, - kArgumentMultiFactorSessionId : sessionId, - kArgumentMultiFactorResolverId : resolverId, - }; - completion(nil, [FlutterError errorWithCode:@"second-factor-required" - message:error.description - details:output]); -} - -static void launchAppleSignInRequest(FLTFirebaseAuthPlugin *object, AuthPigeonFirebaseApp *app, - InternalSignInProvider *signInProvider, - void (^_Nonnull completion)(InternalUserCredential *_Nullable, - FlutterError *_Nullable)) { - if (@available(iOS 13.0, macOS 10.15, *)) { - if (object.appleSignInRequestInFlight) { - completion(nil, - [FlutterError errorWithCode:@"operation-not-allowed" - message:@"A Sign in with Apple request is already in progress." - details:nil]); - return; - } - - NSString *nonce = [object randomNonce:32]; - object.currentNonce = nonce; - object.appleCompletion = completion; - object.appleArguments = app; - object.appleSignInRequestInFlight = YES; - - ASAuthorizationAppleIDProvider *appleIDProvider = [[ASAuthorizationAppleIDProvider alloc] init]; - - ASAuthorizationAppleIDRequest *request = [appleIDProvider createRequest]; - NSMutableArray *requestedScopes = [NSMutableArray arrayWithCapacity:2]; - if ([signInProvider.scopes containsObject:@"name"]) { - [requestedScopes addObject:ASAuthorizationScopeFullName]; - } - if ([signInProvider.scopes containsObject:@"email"]) { - [requestedScopes addObject:ASAuthorizationScopeEmail]; - } - request.requestedScopes = [requestedScopes copy]; - request.nonce = [object stringBySha256HashingString:nonce]; - - ASAuthorizationController *authorizationController = - [[ASAuthorizationController alloc] initWithAuthorizationRequests:@[ request ]]; - authorizationController.delegate = object; - authorizationController.presentationContextProvider = object; - [authorizationController performRequests]; - } else { - NSLog(@"Sign in with Apple was introduced in iOS 13, update your Podfile with platform :ios, " - @"'13.0'"); - } -} - -static void handleAppleAuthResult(FLTFirebaseAuthPlugin *object, AuthPigeonFirebaseApp *app, - FIRAuth *auth, FIRAuthCredential *credentials, NSError *error, - void (^_Nonnull completion)(InternalUserCredential *_Nullable, - FlutterError *_Nullable)) { - if (error) { - if (error.code == FIRAuthErrorCodeSecondFactorRequired) { - [object handleMultiFactorError:app completion:completion withError:error]; - } else { - completion(nil, [FLTFirebaseAuthPlugin convertToFlutterError:error]); - } - return; - } - if (credentials) { - [auth - signInWithCredential:credentials - completion:^(FIRAuthDataResult *authResult, NSError *error) { - if (error != nil) { - NSDictionary *userInfo = [error userInfo]; - NSError *underlyingError = [userInfo objectForKey:NSUnderlyingErrorKey]; - - NSDictionary *firebaseDictionary = - underlyingError.userInfo[@"FIRAuthErrorUserInfoDes" - @"erializedResponseKey"]; - - NSString *errorCode = userInfo[@"FIRAuthErrorUserInfoNameKey"]; - - if (firebaseDictionary == nil && errorCode != nil) { - if ([errorCode isEqual:@"ERROR_ACCOUNT_EXISTS_WITH_DIFFERENT_CREDENTIAL"]) { - completion(nil, [FLTFirebaseAuthPlugin convertToFlutterError:error]); - return; - } - - // Removing since it's not parsed and causing issue when sending back the - // object to Flutter - NSMutableDictionary *mutableUserInfo = [userInfo mutableCopy]; - [mutableUserInfo - removeObjectForKey:@"FIRAuthErrorUserInfoUpdatedCredentialKey"]; - NSError *modifiedError = [NSError errorWithDomain:error.domain - code:error.code - userInfo:mutableUserInfo]; - - completion(nil, - [FlutterError errorWithCode:@"sign-in-failed" - message:userInfo[@"NSLocalizedDescription"] - details:modifiedError.userInfo]); - - } else if (firebaseDictionary != nil && - firebaseDictionary[@"message"] != nil) { - // error from firebase-ios-sdk is - // buried in underlying error. - completion(nil, - [FlutterError errorWithCode:@"sign-in-failed" - message:error.localizedDescription - details:firebaseDictionary[@"message"]]); - } else { - completion(nil, [FlutterError errorWithCode:@"sign-in-failed" - message:error.localizedDescription - details:error.userInfo]); - } - } else { - completion([PigeonParser getPigeonUserCredentialFromAuthResult:authResult - authorizationCode:nil], - nil); - } - }]; - } -} - -#pragma mark - Utilities - -+ (NSNumber *_Nullable)storeAuthCredentialIfPresent:(NSError *)error { - if ([error userInfo][FIRAuthErrorUserInfoUpdatedCredentialKey] != nil) { - FIRAuthCredential *authCredential = [error userInfo][FIRAuthErrorUserInfoUpdatedCredentialKey]; - // We temporarily store the non-serializable credential so the - // Dart API can consume these at a later time. - NSNumber *authCredentialHash = @([authCredential hash]); - credentialsMap[authCredentialHash] = authCredential; - return authCredentialHash; - } - return nil; -} - -- (FIRAuth *_Nullable)getFIRAuthFromAppNameFromPigeon:(AuthPigeonFirebaseApp *)pigeonApp { - FIRApp *app = [FLTFirebasePlugin firebaseAppNamed:pigeonApp.appName]; - FIRAuth *auth = [FIRAuth authWithApp:app]; - - auth.tenantID = pigeonApp.tenantId; - auth.customAuthDomain = [FLTFirebaseCorePlugin getCustomDomain:app.name]; - // Auth's `customAuthDomain` supersedes value from `getCustomDomain` set by `initializeApp` - if (pigeonApp.customAuthDomain != nil) { - auth.customAuthDomain = pigeonApp.customAuthDomain; - } - - return auth; -} - -- (void)getFIRAuthCredentialFromArguments:(NSDictionary *)arguments - app:(AuthPigeonFirebaseApp *)app - completion:(void (^)(FIRAuthCredential *credential, - NSError *error))completion { - // If the credential dictionary contains a token, it means a native one has - // been stored for later usage, so we'll attempt to retrieve it here. - if (arguments[kArgumentToken] != nil && ![arguments[kArgumentToken] isEqual:[NSNull null]]) { - NSNumber *credentialHashCode = arguments[kArgumentToken]; - if (credentialsMap[credentialHashCode] != nil) { - completion(credentialsMap[credentialHashCode], nil); - return; - } - } - - NSString *signInMethod = arguments[kArgumentSignInMethod]; - - if ([signInMethod isEqualToString:kSignInMethodGameCenter]) { - // Game Center Games is different to other providers, it requires below callback to get a - // credential. This is why getFIRAuthCredentialFromArguments now requires a completion() - // callback - [FIRGameCenterAuthProvider - getCredentialWithCompletion:^(FIRAuthCredential *credential, NSError *error) { - if (error) { - completion(nil, error); - } else { - completion(credential, nil); - } - }]; - return; - } - - NSString *secret = arguments[kArgumentSecret] == [NSNull null] ? nil : arguments[kArgumentSecret]; - NSString *idToken = - arguments[kArgumentIdToken] == [NSNull null] ? nil : arguments[kArgumentIdToken]; - NSString *accessToken = - arguments[kArgumentAccessToken] == [NSNull null] ? nil : arguments[kArgumentAccessToken]; - NSString *rawNonce = - arguments[kArgumentRawNonce] == [NSNull null] ? nil : arguments[kArgumentRawNonce]; - - // Password Auth - if ([signInMethod isEqualToString:kSignInMethodPassword]) { - NSString *email = arguments[kArgumentEmail]; - completion([FIREmailAuthProvider credentialWithEmail:email password:secret], nil); - return; - } - - // Email Link Auth - if ([signInMethod isEqualToString:kSignInMethodEmailLink]) { - NSString *email = arguments[kArgumentEmail]; - NSString *emailLink = arguments[kArgumentEmailLink]; - completion([FIREmailAuthProvider credentialWithEmail:email link:emailLink], nil); - return; - } - - // Facebook Auth - if ([signInMethod isEqualToString:kSignInMethodFacebook]) { - completion([FIRFacebookAuthProvider credentialWithAccessToken:accessToken], nil); - return; - } - - // Google Auth - if ([signInMethod isEqualToString:kSignInMethodGoogle]) { - completion([FIRGoogleAuthProvider credentialWithIDToken:idToken accessToken:accessToken], nil); - return; - } - - // Twitter Auth - if ([signInMethod isEqualToString:kSignInMethodTwitter]) { - completion([FIRTwitterAuthProvider credentialWithToken:accessToken secret:secret], nil); - return; - } - - // GitHub Auth - if ([signInMethod isEqualToString:kSignInMethodGithub]) { - completion([FIRGitHubAuthProvider credentialWithToken:accessToken], nil); - return; - } - - // Phone Auth - Only supported on iOS - if ([signInMethod isEqualToString:kSignInMethodPhone]) { -#if TARGET_OS_IPHONE - NSString *verificationId = arguments[kArgumentVerificationId]; - NSString *smsCode = arguments[kArgumentSmsCode]; - completion([[FIRPhoneAuthProvider providerWithAuth:[self getFIRAuthFromAppNameFromPigeon:app]] - credentialWithVerificationID:verificationId - verificationCode:smsCode], - nil); - return; -#else - NSLog(@"The Firebase Phone Authentication provider is not supported on the " - @"MacOS platform."); - completion(nil, nil); - return; -#endif - } - // Apple Auth - if ([signInMethod isEqualToString:kSignInMethodApple]) { - if (idToken && rawNonce) { - // Credential with idToken, rawNonce and fullName - NSPersonNameComponents *fullName = [[NSPersonNameComponents alloc] init]; - fullName.givenName = - arguments[kArgumentGivenName] == [NSNull null] ? nil : arguments[kArgumentGivenName]; - fullName.familyName = - arguments[kArgumentFamilyName] == [NSNull null] ? nil : arguments[kArgumentFamilyName]; - fullName.nickname = - arguments[kArgumentNickname] == [NSNull null] ? nil : arguments[kArgumentNickname]; - fullName.namePrefix = - arguments[kArgumentNamePrefix] == [NSNull null] ? nil : arguments[kArgumentNamePrefix]; - fullName.nameSuffix = - arguments[kArgumentNameSuffix] == [NSNull null] ? nil : arguments[kArgumentNameSuffix]; - fullName.middleName = - arguments[kArgumentMiddleName] == [NSNull null] ? nil : arguments[kArgumentMiddleName]; - - completion([FIROAuthProvider appleCredentialWithIDToken:idToken - rawNonce:rawNonce - fullName:fullName], - nil); - return; - } - } - // OAuth - if ([signInMethod isEqualToString:kSignInMethodOAuth]) { - NSString *providerId = arguments[kArgumentProviderId]; - completion([FIROAuthProvider credentialWithProviderID:providerId - IDToken:idToken - rawNonce:rawNonce - accessToken:accessToken], - nil); - return; - } - - NSLog(@"Support for an auth provider with identifier '%@' is not implemented.", signInMethod); - completion(nil, nil); - return; -} - -- (void)ensureAPNSTokenSetting { -#if !TARGET_OS_OSX - FIRApp *defaultApp = [FIRApp defaultApp]; - if (defaultApp) { - if ([FIRAuth auth].APNSToken == nil && _apnsToken != nil) { - [[FIRAuth auth] setAPNSToken:_apnsToken type:FIRAuthAPNSTokenTypeUnknown]; - _apnsToken = nil; - } - } -#endif -} - -- (FIRMultiFactor *)getAppMultiFactorFromPigeon:(nonnull AuthPigeonFirebaseApp *)app { - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - FIRUser *currentUser = auth.currentUser; - return currentUser.multiFactor; -} - -- (nonnull ASPresentationAnchor)presentationAnchorForAuthorizationController: - (nonnull ASAuthorizationController *)controller API_AVAILABLE(macos(10.15), ios(13.0)) { -#if TARGET_OS_OSX - return [[NSApplication sharedApplication] keyWindow]; -#else - // UIApplication.keyWindow is deprecated in iOS 13+ with UIScene lifecycle. - // Walk the connected scenes to find the foreground active window. - if (@available(iOS 15.0, *)) { - for (UIScene *scene in [UIApplication sharedApplication].connectedScenes) { - if (scene.activationState == UISceneActivationStateForegroundActive && - [scene isKindOfClass:[UIWindowScene class]]) { - UIWindowScene *windowScene = (UIWindowScene *)scene; - if (windowScene.keyWindow) { - return windowScene.keyWindow; - } - } - } - } else if (@available(iOS 13.0, *)) { - for (UIScene *scene in [UIApplication sharedApplication].connectedScenes) { - if (scene.activationState == UISceneActivationStateForegroundActive && - [scene isKindOfClass:[UIWindowScene class]]) { - UIWindowScene *windowScene = (UIWindowScene *)scene; - for (UIWindow *window in windowScene.windows) { - if (window.isKeyWindow) { - return window; - } - } - } - } - } - return [[UIApplication sharedApplication] keyWindow]; -#endif -} - -- (void)enrollPhoneApp:(nonnull AuthPigeonFirebaseApp *)app - assertion:(nonnull InternalPhoneMultiFactorAssertion *)assertion - displayName:(nullable NSString *)displayName - completion:(nonnull void (^)(FlutterError *_Nullable))completion { -#if TARGET_OS_OSX - completion([FlutterError errorWithCode:@"unsupported-platform" - message:@"Phone authentication is not supported on macOS" - details:nil]); -#else - - FIRMultiFactor *multiFactor = [self getAppMultiFactorFromPigeon:app]; - - FIRPhoneAuthCredential *credential = - [[FIRPhoneAuthProvider providerWithAuth:[self getFIRAuthFromAppNameFromPigeon:app]] - credentialWithVerificationID:[assertion verificationId] - verificationCode:[assertion verificationCode]]; - - FIRMultiFactorAssertion *multiFactorAssertion = - [FIRPhoneMultiFactorGenerator assertionWithCredential:credential]; - - [multiFactor enrollWithAssertion:multiFactorAssertion - displayName:displayName - completion:^(NSError *_Nullable error) { - if (error == nil) { - completion(nil); - } else { - completion([FlutterError errorWithCode:@"enroll-failed" - message:error.localizedDescription - details:nil]); - } - }]; -#endif -} - -- (void)getEnrolledFactorsApp:(nonnull AuthPigeonFirebaseApp *)app - completion:(nonnull void (^)(NSArray *_Nullable, - FlutterError *_Nullable))completion { - FIRMultiFactor *multiFactor = [self getAppMultiFactorFromPigeon:app]; - - NSArray *enrolledFactors = [multiFactor enrolledFactors]; - - NSMutableArray *results = [NSMutableArray array]; - - for (FIRMultiFactorInfo *multiFactorInfo in enrolledFactors) { - NSString *phoneNumber; - if ([multiFactorInfo class] == [FIRPhoneMultiFactorInfo class]) { - FIRPhoneMultiFactorInfo *phoneFactorInfo = (FIRPhoneMultiFactorInfo *)multiFactorInfo; - phoneNumber = phoneFactorInfo.phoneNumber; - } - - [results addObject:[InternalMultiFactorInfo - makeWithDisplayName:multiFactorInfo.displayName - enrollmentTimestamp:multiFactorInfo.enrollmentDate.timeIntervalSince1970 - factorId:multiFactorInfo.factorID - uid:multiFactorInfo.UID - phoneNumber:phoneNumber]]; - } - - completion(results, nil); -} - -- (void)getSessionApp:(nonnull AuthPigeonFirebaseApp *)app - completion:(nonnull void (^)(InternalMultiFactorSession *_Nullable, - FlutterError *_Nullable))completion { - FIRMultiFactor *multiFactor = [self getAppMultiFactorFromPigeon:app]; - [multiFactor getSessionWithCompletion:^(FIRMultiFactorSession *_Nullable session, - NSError *_Nullable error) { - NSString *UUID = [[NSUUID UUID] UUIDString]; - self->_multiFactorSessionMap[UUID] = session; - - InternalMultiFactorSession *pigeonSession = [InternalMultiFactorSession makeWithId:UUID]; - completion(pigeonSession, nil); - }]; -} - -- (void)unenrollApp:(nonnull AuthPigeonFirebaseApp *)app - factorUid:(nonnull NSString *)factorUid - completion:(nonnull void (^)(FlutterError *_Nullable))completion { - FIRMultiFactor *multiFactor = [self getAppMultiFactorFromPigeon:app]; - [multiFactor unenrollWithFactorUID:factorUid - completion:^(NSError *_Nullable error) { - if (error == nil) { - completion(nil); - } else { - completion([FlutterError errorWithCode:@"unenroll-failed" - message:error.localizedDescription - details:nil]); - } - }]; -} - -- (void)enrollTotpApp:(nonnull AuthPigeonFirebaseApp *)app - assertionId:(nonnull NSString *)assertionId - displayName:(nullable NSString *)displayName - completion:(nonnull void (^)(FlutterError *_Nullable))completion { - FIRMultiFactor *multiFactor = [self getAppMultiFactorFromPigeon:app]; - - FIRMultiFactorAssertion *assertion = _multiFactorAssertionMap[assertionId]; - - [multiFactor enrollWithAssertion:assertion - displayName:displayName - completion:^(NSError *_Nullable error) { - if (error == nil) { - completion(nil); - } else { - completion([FlutterError errorWithCode:@"enroll-failed" - message:error.localizedDescription - details:nil]); - } - }]; -} - -- (void)resolveSignInResolverId:(nonnull NSString *)resolverId - assertion:(nullable InternalPhoneMultiFactorAssertion *)assertion - totpAssertionId:(nullable NSString *)totpAssertionId - completion:(nonnull void (^)(InternalUserCredential *_Nullable, - FlutterError *_Nullable))completion { - FIRMultiFactorResolver *resolver = _multiFactorResolverMap[resolverId]; - - FIRMultiFactorAssertion *multiFactorAssertion; - - if (assertion != nil) { -#if TARGET_OS_IPHONE - FIRPhoneAuthCredential *credential = - [[FIRPhoneAuthProvider provider] credentialWithVerificationID:[assertion verificationId] - verificationCode:[assertion verificationCode]]; - multiFactorAssertion = [FIRPhoneMultiFactorGenerator assertionWithCredential:credential]; -#endif - } else if (totpAssertionId != nil) { - multiFactorAssertion = _multiFactorAssertionMap[totpAssertionId]; - } else { - completion(nil, - [FlutterError errorWithCode:@"resolve-signin-failed" - message:@"Neither assertion nor totpAssertionId were provided" - details:nil]); - return; - } - - [resolver - resolveSignInWithAssertion:multiFactorAssertion - completion:^(FIRAuthDataResult *_Nullable authResult, - NSError *_Nullable error) { - if (error == nil) { - completion([PigeonParser getPigeonUserCredentialFromAuthResult:authResult - authorizationCode:nil], - nil); - } else { - completion(nil, [FlutterError errorWithCode:@"resolve-signin-failed" - message:error.localizedDescription - details:nil]); - } - }]; -} - -- (void)generateSecretSessionId:(nonnull NSString *)sessionId - completion:(nonnull void (^)(InternalTotpSecret *_Nullable, - FlutterError *_Nullable))completion { - FIRMultiFactorSession *multiFactorSession = _multiFactorSessionMap[sessionId]; - - [FIRTOTPMultiFactorGenerator - generateSecretWithMultiFactorSession:multiFactorSession - completion:^(FIRTOTPSecret *_Nullable secret, - NSError *_Nullable error) { - if (error == nil) { - self->_multiFactorTotpSecretMap[secret.sharedSecretKey] = - secret; - completion([PigeonParser getPigeonTotpSecret:secret], nil); - } else { - completion( - nil, [FlutterError errorWithCode:@"generate-secret-failed" - message:error.localizedDescription - details:nil]); - } - }]; -} - -- (void)getAssertionForEnrollmentSecretKey:(nonnull NSString *)secretKey - oneTimePassword:(nonnull NSString *)oneTimePassword - completion:(nonnull void (^)(NSString *_Nullable, - FlutterError *_Nullable))completion { - FIRTOTPSecret *totpSecret = _multiFactorTotpSecretMap[secretKey]; - - FIRTOTPMultiFactorAssertion *assertion = - [FIRTOTPMultiFactorGenerator assertionForEnrollmentWithSecret:totpSecret - oneTimePassword:oneTimePassword]; - - NSString *UUID = [[NSUUID UUID] UUIDString]; - self->_multiFactorAssertionMap[UUID] = assertion; - completion(UUID, nil); -} - -- (void)getAssertionForSignInEnrollmentId:(nonnull NSString *)enrollmentId - oneTimePassword:(nonnull NSString *)oneTimePassword - completion:(nonnull void (^)(NSString *_Nullable, - FlutterError *_Nullable))completion { - FIRTOTPMultiFactorAssertion *assertion = - [FIRTOTPMultiFactorGenerator assertionForSignInWithEnrollmentID:enrollmentId - oneTimePassword:oneTimePassword]; - NSString *UUID = [[NSUUID UUID] UUIDString]; - self->_multiFactorAssertionMap[UUID] = assertion; - completion(UUID, nil); -} - -- (void)generateQrCodeUrlSecretKey:(nonnull NSString *)secretKey - accountName:(nullable NSString *)accountName - issuer:(nullable NSString *)issuer - completion:(nonnull void (^)(NSString *_Nullable, - FlutterError *_Nullable))completion { - FIRTOTPSecret *totpSecret = _multiFactorTotpSecretMap[secretKey]; - completion([totpSecret generateQRCodeURLWithAccountName:accountName issuer:issuer], nil); -} - -- (void)openInOtpAppSecretKey:(nonnull NSString *)secretKey - qrCodeUrl:(nonnull NSString *)qrCodeUrl - completion:(nonnull void (^)(FlutterError *_Nullable))completion { - FIRTOTPSecret *totpSecret = _multiFactorTotpSecretMap[secretKey]; - [totpSecret openInOTPAppWithQRCodeURL:qrCodeUrl]; - completion(nil); -} - -- (void)applyActionCodeApp:(nonnull AuthPigeonFirebaseApp *)app - code:(nonnull NSString *)code - completion:(nonnull void (^)(FlutterError *_Nullable))completion { - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - [auth applyActionCode:code - completion:^(NSError *_Nullable error) { - if (error != nil) { - completion([FLTFirebaseAuthPlugin convertToFlutterError:error]); - } else { - completion(nil); - } - }]; -} - -- (void)revokeTokenWithAuthorizationCodeApp:(nonnull AuthPigeonFirebaseApp *)app - authorizationCode:(nonnull NSString *)authorizationCode - completion:(nonnull void (^)(FlutterError *_Nullable))completion { - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - [auth revokeTokenWithAuthorizationCode:authorizationCode - completion:^(NSError *_Nullable error) { - if (error != nil) { - completion([FLTFirebaseAuthPlugin convertToFlutterError:error]); - } else { - completion(nil); - } - }]; -} - -- (void)revokeAccessTokenApp:(nonnull AuthPigeonFirebaseApp *)app - accessToken:(nonnull NSString *)accessToken - completion:(nonnull void (^)(FlutterError *_Nullable))completion { - // `revokeAccessToken(_:)` is currently Android-only on the Firebase SDK. - // On Apple platforms use `revokeTokenWithAuthorizationCode:` instead. - completion([FlutterError errorWithCode:@"unsupported-platform-operation" - message:@"revokeAccessToken is not supported on iOS/macOS. " - @"Use revokeTokenWithAuthorizationCode instead." - details:nil]); -} - -- (void)checkActionCodeApp:(nonnull AuthPigeonFirebaseApp *)app - code:(nonnull NSString *)code - completion:(nonnull void (^)(InternalActionCodeInfo *_Nullable, - FlutterError *_Nullable))completion { - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - [auth checkActionCode:code - completion:^(FIRActionCodeInfo *_Nullable info, NSError *_Nullable error) { - if (error != nil) { - completion(nil, [FLTFirebaseAuthPlugin convertToFlutterError:error]); - } else { - InternalActionCodeInfo *result = [self parseActionCode:info]; - if (result.operation == ActionCodeInfoOperationUnknown) { - // Workaround: Firebase iOS SDK >=11.12.0 returns .unknown because - // actionCodeOperation(forRequestType:) only matches camelCase but the - // REST API returns SCREAMING_SNAKE_CASE (e.g. "VERIFY_EMAIL"). - // Re-fetch the raw requestType via REST to resolve the operation. - // See: https://github.com/firebase/flutterfire/issues/17452 - [self resolveActionCodeOperationForApp:app - code:code - fallbackInfo:result - completion:completion]; - } else { - completion(result, nil); - } - } - }]; -} - -- (InternalActionCodeInfo *_Nullable)parseActionCode:(nonnull FIRActionCodeInfo *)info { - InternalActionCodeInfoData *data = [InternalActionCodeInfoData makeWithEmail:info.email - previousEmail:info.previousEmail]; - - ActionCodeInfoOperation operation; - - if (info.operation == FIRActionCodeOperationPasswordReset) { - operation = ActionCodeInfoOperationPasswordReset; - } else if (info.operation == FIRActionCodeOperationVerifyEmail) { - operation = ActionCodeInfoOperationVerifyEmail; - } else if (info.operation == FIRActionCodeOperationRecoverEmail) { - operation = ActionCodeInfoOperationRecoverEmail; - } else if (info.operation == FIRActionCodeOperationEmailLink) { - operation = ActionCodeInfoOperationEmailSignIn; - } else if (info.operation == FIRActionCodeOperationVerifyAndChangeEmail) { - operation = ActionCodeInfoOperationVerifyAndChangeEmail; - } else if (info.operation == FIRActionCodeOperationRevertSecondFactorAddition) { - operation = ActionCodeInfoOperationRevertSecondFactorAddition; - } else { - operation = ActionCodeInfoOperationUnknown; - } - - return [InternalActionCodeInfo makeWithOperation:operation data:data]; -} - -/// Maps a raw requestType string (either camelCase or SCREAMING_SNAKE_CASE) to -/// the corresponding Pigeon enum value. -+ (ActionCodeInfoOperation)operationFromRequestType:(nullable NSString *)requestType { - static NSDictionary *mapping; - static dispatch_once_t onceToken; - dispatch_once(&onceToken, ^{ - mapping = @{ - @"PASSWORD_RESET" : @(ActionCodeInfoOperationPasswordReset), - @"resetPassword" : @(ActionCodeInfoOperationPasswordReset), - @"VERIFY_EMAIL" : @(ActionCodeInfoOperationVerifyEmail), - @"verifyEmail" : @(ActionCodeInfoOperationVerifyEmail), - @"RECOVER_EMAIL" : @(ActionCodeInfoOperationRecoverEmail), - @"recoverEmail" : @(ActionCodeInfoOperationRecoverEmail), - @"EMAIL_SIGNIN" : @(ActionCodeInfoOperationEmailSignIn), - @"signIn" : @(ActionCodeInfoOperationEmailSignIn), - @"VERIFY_AND_CHANGE_EMAIL" : @(ActionCodeInfoOperationVerifyAndChangeEmail), - @"verifyAndChangeEmail" : @(ActionCodeInfoOperationVerifyAndChangeEmail), - @"REVERT_SECOND_FACTOR_ADDITION" : @(ActionCodeInfoOperationRevertSecondFactorAddition), - @"revertSecondFactorAddition" : @(ActionCodeInfoOperationRevertSecondFactorAddition), - }; - }); - - NSNumber *value = mapping[requestType]; - return value ? (ActionCodeInfoOperation)value.integerValue : ActionCodeInfoOperationUnknown; -} - -/// Calls the Identity Toolkit REST API directly to retrieve the raw requestType -/// string, which the iOS SDK fails to parse correctly. Falls back to the original -/// result if the REST call fails for any reason. -- (void)resolveActionCodeOperationForApp:(nonnull AuthPigeonFirebaseApp *)app - code:(nonnull NSString *)code - fallbackInfo:(nonnull InternalActionCodeInfo *)fallbackInfo - completion:(nonnull void (^)(InternalActionCodeInfo *_Nullable, - FlutterError *_Nullable))completion { - FIRApp *firebaseApp = [FLTFirebasePlugin firebaseAppNamed:app.appName]; - NSString *apiKey = firebaseApp.options.APIKey; - - NSString *baseURL; - NSDictionary *emulatorConfig = _emulatorConfigs[app.appName]; - if (emulatorConfig) { - baseURL = [NSString stringWithFormat:@"http://%@:%@/identitytoolkit.googleapis.com", - emulatorConfig[@"host"], emulatorConfig[@"port"]]; - } else { - baseURL = @"https://identitytoolkit.googleapis.com"; - } - - NSString *urlString = - [NSString stringWithFormat:@"%@/v1/accounts:resetPassword?key=%@", baseURL, apiKey]; - NSURL *url = [NSURL URLWithString:urlString]; - - NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url]; - request.HTTPMethod = @"POST"; - [request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"]; - request.HTTPBody = [NSJSONSerialization dataWithJSONObject:@{@"oobCode" : code} - options:0 - error:nil]; - - NSURLSessionDataTask *task = [[NSURLSession sharedSession] - dataTaskWithRequest:request - completionHandler:^(NSData *_Nullable data, NSURLResponse *_Nullable response, - NSError *_Nullable error) { - if (error || !data) { - completion(fallbackInfo, nil); - return; - } - - NSDictionary *json = [NSJSONSerialization JSONObjectWithData:data options:0 error:nil]; - if (!json || json[@"error"]) { - completion(fallbackInfo, nil); - return; - } - - ActionCodeInfoOperation operation = - [FLTFirebaseAuthPlugin operationFromRequestType:json[@"requestType"]]; - - if (operation != ActionCodeInfoOperationUnknown) { - completion([InternalActionCodeInfo makeWithOperation:operation data:fallbackInfo.data], - nil); - } else { - completion(fallbackInfo, nil); - } - }]; - [task resume]; -} - -- (void)confirmPasswordResetApp:(nonnull AuthPigeonFirebaseApp *)app - code:(nonnull NSString *)code - newPassword:(nonnull NSString *)newPassword - completion:(nonnull void (^)(FlutterError *_Nullable))completion { - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - [auth confirmPasswordResetWithCode:code - newPassword:newPassword - completion:^(NSError *_Nullable error) { - if (error != nil) { - completion([FLTFirebaseAuthPlugin convertToFlutterError:error]); - } else { - completion(nil); - } - }]; -} - -- (void)createUserWithEmailAndPasswordApp:(nonnull AuthPigeonFirebaseApp *)app - email:(nonnull NSString *)email - password:(nonnull NSString *)password - completion:(nonnull void (^)(InternalUserCredential *_Nullable, - FlutterError *_Nullable))completion { - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - [auth createUserWithEmail:email - password:password - completion:^(FIRAuthDataResult *_Nullable authResult, NSError *_Nullable error) { - if (error != nil) { - completion(nil, [FLTFirebaseAuthPlugin convertToFlutterError:error]); - } else { - completion([PigeonParser getPigeonUserCredentialFromAuthResult:authResult - authorizationCode:nil], - nil); - } - }]; -} - -- (void)fetchSignInMethodsForEmailApp:(nonnull AuthPigeonFirebaseApp *)app - email:(nonnull NSString *)email - completion:(nonnull void (^)(NSArray *_Nullable, - FlutterError *_Nullable))completion { - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - [auth fetchSignInMethodsForEmail:email - completion:^(NSArray *_Nullable providers, - NSError *_Nullable error) { - if (error != nil) { - completion(nil, [FLTFirebaseAuthPlugin convertToFlutterError:error]); - } else { - if (providers == nil) { - completion(@[], nil); - } else { - completion(providers, nil); - } - } - }]; -} - -- (void)registerAuthStateListenerApp:(nonnull AuthPigeonFirebaseApp *)app - completion:(nonnull void (^)(NSString *_Nullable, - FlutterError *_Nullable))completion { - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - - NSString *name = - [NSString stringWithFormat:@"%@/auth-state/%@", kFLTFirebaseAuthChannelName, auth.app.name]; - FlutterEventChannel *channel = [FlutterEventChannel eventChannelWithName:name - binaryMessenger:_binaryMessenger]; - - FLTAuthStateChannelStreamHandler *handler = - [[FLTAuthStateChannelStreamHandler alloc] initWithAuth:auth]; - [channel setStreamHandler:handler]; - - [_eventChannels setObject:channel forKey:name]; - [_streamHandlers setObject:handler forKey:name]; - - completion(name, nil); -} - -- (void)registerIdTokenListenerApp:(nonnull AuthPigeonFirebaseApp *)app - completion:(nonnull void (^)(NSString *_Nullable, - FlutterError *_Nullable))completion { - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - - NSString *name = - [NSString stringWithFormat:@"%@/id-token/%@", kFLTFirebaseAuthChannelName, auth.app.name]; - - FlutterEventChannel *channel = [FlutterEventChannel eventChannelWithName:name - binaryMessenger:_binaryMessenger]; - - FLTIdTokenChannelStreamHandler *handler = - [[FLTIdTokenChannelStreamHandler alloc] initWithAuth:auth]; - [channel setStreamHandler:handler]; - - [_eventChannels setObject:channel forKey:name]; - [_streamHandlers setObject:handler forKey:name]; - - completion(name, nil); -} - -- (void)sendPasswordResetEmailApp:(nonnull AuthPigeonFirebaseApp *)app - email:(nonnull NSString *)email - actionCodeSettings:(nullable InternalActionCodeSettings *)actionCodeSettings - completion:(nonnull void (^)(FlutterError *_Nullable))completion { - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - if (actionCodeSettings != nil) { - FIRActionCodeSettings *settings = [PigeonParser parseActionCodeSettings:actionCodeSettings]; - [auth sendPasswordResetWithEmail:email - actionCodeSettings:settings - completion:^(NSError *_Nullable error) { - if (error != nil) { - completion([FLTFirebaseAuthPlugin convertToFlutterError:error]); - } else { - completion(nil); - } - }]; - } else { - [auth sendPasswordResetWithEmail:email - completion:^(NSError *_Nullable error) { - if (error != nil) { - completion([FLTFirebaseAuthPlugin convertToFlutterError:error]); - } else { - completion(nil); - } - }]; - } -} - -- (void)sendSignInLinkToEmailApp:(nonnull AuthPigeonFirebaseApp *)app - email:(nonnull NSString *)email - actionCodeSettings:(nonnull InternalActionCodeSettings *)actionCodeSettings - completion:(nonnull void (^)(FlutterError *_Nullable))completion { - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - [auth sendSignInLinkToEmail:email - actionCodeSettings:[PigeonParser parseActionCodeSettings:actionCodeSettings] - completion:^(NSError *_Nullable error) { - if (error != nil) { - if (error.code == FIRAuthErrorCodeInternalError) { - [self - handleInternalError:^(InternalUserCredential *_Nullable creds, - FlutterError *_Nullable internalError) { - completion(internalError); - } - withError:error]; - } else { - completion([FLTFirebaseAuthPlugin convertToFlutterError:error]); - } - } else { - completion(nil); - } - }]; -} - -- (void)setLanguageCodeApp:(nonnull AuthPigeonFirebaseApp *)app - languageCode:(nullable NSString *)languageCode - completion: - (nonnull void (^)(NSString *_Nullable, FlutterError *_Nullable))completion { - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - - if (languageCode != nil && ![languageCode isEqual:[NSNull null]]) { - auth.languageCode = languageCode; - } else { - [auth useAppLanguage]; - } - - completion(auth.languageCode, nil); -} - -- (void)setSettingsApp:(nonnull AuthPigeonFirebaseApp *)app - settings:(nonnull InternalFirebaseAuthSettings *)settings - completion:(nonnull void (^)(FlutterError *_Nullable))completion { - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - - if (settings.userAccessGroup != nil) { - BOOL useUserAccessGroupSuccessful; - NSError *useUserAccessGroupErrorPtr; - useUserAccessGroupSuccessful = [auth useUserAccessGroup:settings.userAccessGroup - error:&useUserAccessGroupErrorPtr]; - if (!useUserAccessGroupSuccessful) { - completion([FLTFirebaseAuthPlugin convertToFlutterError:useUserAccessGroupErrorPtr]); - return; - } - } - -#if TARGET_OS_IPHONE - if (settings.appVerificationDisabledForTesting) { - auth.settings.appVerificationDisabledForTesting = settings.appVerificationDisabledForTesting; - } -#else - NSLog(@"FIRAuthSettings.appVerificationDisabledForTesting is not supported " - @"on MacOS."); -#endif - - completion(nil); -} - -- (void)signInAnonymouslyApp:(nonnull AuthPigeonFirebaseApp *)app - completion:(nonnull void (^)(InternalUserCredential *_Nullable, - FlutterError *_Nullable))completion { - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - [auth signInAnonymouslyWithCompletion:^(FIRAuthDataResult *authResult, NSError *error) { - if (error != nil) { - completion(nil, [FLTFirebaseAuthPlugin convertToFlutterError:error]); - } else { - completion([PigeonParser getPigeonUserCredentialFromAuthResult:authResult - authorizationCode:nil], - nil); - } - }]; -} - -- (void)signInWithCredentialApp:(nonnull AuthPigeonFirebaseApp *)app - input:(nonnull NSDictionary *)input - completion:(nonnull void (^)(InternalUserCredential *_Nullable, - FlutterError *_Nullable))completion { - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - [self - getFIRAuthCredentialFromArguments:input - app:app - completion:^(FIRAuthCredential *credential, NSError *error) { - if (credential == nil) { - completion(nil, - [FlutterError errorWithCode:kErrCodeInvalidCredential - message:kErrMsgInvalidCredential - details:nil]); - return; - } - - if (error) { - completion(nil, - [FLTFirebaseAuthPlugin convertToFlutterError:error]); - } - - [auth - signInWithCredential:credential - completion:^(FIRAuthDataResult *authResult, - NSError *error) { - if (error != nil) { - NSDictionary *userInfo = [error userInfo]; - NSError *underlyingError = - [userInfo objectForKey:NSUnderlyingErrorKey]; - - NSDictionary *firebaseDictionary = - underlyingError - .userInfo[@"FIRAuthErrorUserInfoDeserializ" - @"edResponseKey"]; - - if (firebaseDictionary != nil && - firebaseDictionary[@"message"] != nil) { - // error from firebase-ios-sdk is buried in - // underlying error. - if ([firebaseDictionary[@"code"] - isKindOfClass:[NSNumber class]]) { - [self handleInternalError:completion - withError:error]; - } else { - completion(nil, - [FlutterError - errorWithCode:firebaseDictionary - [@"code"] - message:firebaseDictionary - [@"message"] - details:nil]); - } - } else { - if (error.code == - FIRAuthErrorCodeSecondFactorRequired) { - [self handleMultiFactorError:app - completion:completion - withError:error]; - } else if (error.code == - FIRAuthErrorCodeInternalError) { - [self handleInternalError:completion - withError:error]; - } else { - completion(nil, - [FLTFirebaseAuthPlugin - convertToFlutterError:error]); - } - } - } else { - completion( - [PigeonParser - getPigeonUserCredentialFromAuthResult: - authResult - authorizationCode:nil], - nil); - } - }]; - }]; -} - -- (void)signInWithCustomTokenApp:(nonnull AuthPigeonFirebaseApp *)app - token:(nonnull NSString *)token - completion:(nonnull void (^)(InternalUserCredential *_Nullable, - FlutterError *_Nullable))completion { - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - - [auth signInWithCustomToken:token - completion:^(FIRAuthDataResult *_Nullable authResult, NSError *_Nullable error) { - if (error != nil) { - if (error.code == FIRAuthErrorCodeSecondFactorRequired) { - [self handleMultiFactorError:app completion:completion withError:error]; - } else if (error.code == FIRAuthErrorCodeInternalError) { - [self handleInternalError:completion withError:error]; - } else { - completion(nil, [FLTFirebaseAuthPlugin convertToFlutterError:error]); - } - } else { - completion([PigeonParser getPigeonUserCredentialFromAuthResult:authResult - authorizationCode:nil], - nil); - } - }]; -} - -- (void)signInWithEmailAndPasswordApp:(nonnull AuthPigeonFirebaseApp *)app - email:(nonnull NSString *)email - password:(nonnull NSString *)password - completion:(nonnull void (^)(InternalUserCredential *_Nullable, - FlutterError *_Nullable))completion { - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - [auth signInWithEmail:email - password:password - completion:^(FIRAuthDataResult *_Nullable authResult, NSError *_Nullable error) { - if (error != nil) { - if (error.code == FIRAuthErrorCodeSecondFactorRequired) { - [self handleMultiFactorError:app completion:completion withError:error]; - } else if (error.code == FIRAuthErrorCodeInternalError) { - [self handleInternalError:completion withError:error]; - } else { - completion(nil, [FLTFirebaseAuthPlugin convertToFlutterError:error]); - } - } else { - completion([PigeonParser getPigeonUserCredentialFromAuthResult:authResult - authorizationCode:nil], - nil); - } - }]; -} - -- (void)signInWithEmailLinkApp:(nonnull AuthPigeonFirebaseApp *)app - email:(nonnull NSString *)email - emailLink:(nonnull NSString *)emailLink - completion:(nonnull void (^)(InternalUserCredential *_Nullable, - FlutterError *_Nullable))completion { - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - [auth signInWithEmail:email - link:emailLink - completion:^(FIRAuthDataResult *_Nullable authResult, NSError *_Nullable error) { - if (error != nil) { - if (error.code == FIRAuthErrorCodeSecondFactorRequired) { - [self handleMultiFactorError:app completion:completion withError:error]; - } else if (error.code == FIRAuthErrorCodeInternalError) { - [self handleInternalError:completion withError:error]; - } else { - completion(nil, [FLTFirebaseAuthPlugin convertToFlutterError:error]); - } - } else { - completion([PigeonParser getPigeonUserCredentialFromAuthResult:authResult - authorizationCode:nil], - nil); - } - }]; -} - -- (void)signInWithProviderApp:(nonnull AuthPigeonFirebaseApp *)app - signInProvider:(nonnull InternalSignInProvider *)signInProvider - completion:(nonnull void (^)(InternalUserCredential *_Nullable, - FlutterError *_Nullable))completion { - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - - if ([signInProvider.providerId isEqualToString:kSignInMethodGameCenter]) { - completion( - nil, - [FlutterError - errorWithCode:@"sign-in-failure" - message: - @"Game Center sign-in requires signing in with 'signInWithCredential()' API." - details:@{}]); - return; - } - - if ([signInProvider.providerId isEqualToString:kSignInMethodApple]) { - self.signInWithAppleAuth = auth; - launchAppleSignInRequest(self, app, signInProvider, completion); - return; - } -#if TARGET_OS_OSX - NSLog(@"signInWithProvider is not supported on the " - @"MacOS platform."); - completion(nil, nil); -#else - self.authProvider = [FIROAuthProvider providerWithProviderID:signInProvider.providerId auth:auth]; - NSArray *scopes = signInProvider.scopes; - if (scopes != nil) { - [self.authProvider setScopes:scopes]; - } - NSDictionary *customParameters = signInProvider.customParameters; - if (customParameters != nil) { - [self.authProvider setCustomParameters:customParameters]; - } - - [self.authProvider - getCredentialWithUIDelegate:nil - completion:^(FIRAuthCredential *_Nullable credential, - NSError *_Nullable error) { - handleAppleAuthResult(self, app, auth, credential, error, completion); - }]; -#endif -} - -- (void)signOutApp:(nonnull AuthPigeonFirebaseApp *)app - completion:(nonnull void (^)(FlutterError *_Nullable))completion { - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - - if (auth.currentUser == nil) { - completion(nil); - return; - } - - NSError *signOutErrorPtr; - BOOL signOutSuccessful = [auth signOut:&signOutErrorPtr]; - - if (!signOutSuccessful) { - completion([FLTFirebaseAuthPlugin convertToFlutterError:signOutErrorPtr]); - } else { - completion(nil); - } -} - -- (void)useEmulatorApp:(nonnull AuthPigeonFirebaseApp *)app - host:(nonnull NSString *)host - port:(long)port - completion:(nonnull void (^)(FlutterError *_Nullable))completion { - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - [auth useEmulatorWithHost:host port:port]; - _emulatorConfigs[app.appName] = @{@"host" : host, @"port" : @(port)}; - completion(nil); -} - -- (void)verifyPasswordResetCodeApp:(nonnull AuthPigeonFirebaseApp *)app - code:(nonnull NSString *)code - completion:(nonnull void (^)(NSString *_Nullable, - FlutterError *_Nullable))completion { - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - - [auth verifyPasswordResetCode:code - completion:^(NSString *_Nullable email, NSError *_Nullable error) { - if (error != nil) { - completion(nil, [FLTFirebaseAuthPlugin convertToFlutterError:error]); - } else { - completion(email, nil); - } - }]; -} - -- (void)verifyPhoneNumberApp:(nonnull AuthPigeonFirebaseApp *)app - request:(nonnull InternalVerifyPhoneNumberRequest *)request - completion: - (nonnull void (^)(NSString *_Nullable, FlutterError *_Nullable))completion { -#if TARGET_OS_OSX - NSLog(@"The Firebase Phone Authentication provider is not supported on the " - @"MacOS platform."); - completion(nil, nil); -#else - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - - NSString *name = [NSString - stringWithFormat:@"%@/phone/%@", kFLTFirebaseAuthChannelName, [NSUUID UUID].UUIDString]; - FlutterEventChannel *channel = [FlutterEventChannel eventChannelWithName:name - binaryMessenger:_binaryMessenger]; - - NSString *multiFactorSessionId = request.multiFactorSessionId; - FIRMultiFactorSession *multiFactorSession = nil; - - if (multiFactorSessionId != nil) { - multiFactorSession = _multiFactorSessionMap[multiFactorSessionId]; - } - - NSString *multiFactorInfoId = request.multiFactorInfoId; - - FIRPhoneMultiFactorInfo *multiFactorInfo = nil; - if (multiFactorInfoId != nil) { - for (NSString *resolverId in _multiFactorResolverMap) { - for (FIRMultiFactorInfo *info in _multiFactorResolverMap[resolverId].hints) { - if ([info.UID isEqualToString:multiFactorInfoId] && - [info class] == [FIRPhoneMultiFactorInfo class]) { - multiFactorInfo = (FIRPhoneMultiFactorInfo *)info; - break; - } - } - } - } - -#if TARGET_OS_OSX - FLTPhoneNumberVerificationStreamHandler *handler = - [[FLTPhoneNumberVerificationStreamHandler alloc] initWithAuth:auth]; -#else - FLTPhoneNumberVerificationStreamHandler *handler = - [[FLTPhoneNumberVerificationStreamHandler alloc] initWithAuth:auth - request:request - session:multiFactorSession - factorInfo:multiFactorInfo]; -#endif - - [channel setStreamHandler:handler]; - - [_eventChannels setObject:channel forKey:name]; - [_streamHandlers setObject:handler forKey:name]; - - completion(name, nil); -#endif -} - -- (void)deleteApp:(nonnull AuthPigeonFirebaseApp *)app - completion:(nonnull void (^)(FlutterError *_Nullable))completion { - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - FIRUser *currentUser = auth.currentUser; - if (currentUser == nil) { - completion([FlutterError errorWithCode:kErrCodeNoCurrentUser - message:kErrMsgNoCurrentUser - details:nil]); - return; - } - - [currentUser deleteWithCompletion:^(NSError *_Nullable error) { - if (error != nil) { - completion([FLTFirebaseAuthPlugin convertToFlutterError:error]); - } else { - completion(nil); - } - }]; -} - -- (void)getIdTokenApp:(nonnull AuthPigeonFirebaseApp *)app - forceRefresh:(BOOL)forceRefresh - completion:(nonnull void (^)(InternalIdTokenResult *_Nullable, - FlutterError *_Nullable))completion { - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - FIRUser *currentUser = auth.currentUser; - if (currentUser == nil) { - completion(nil, [FlutterError errorWithCode:kErrCodeNoCurrentUser - message:kErrMsgNoCurrentUser - details:nil]); - return; - } - - [currentUser - getIDTokenResultForcingRefresh:forceRefresh - completion:^(FIRAuthTokenResult *tokenResult, NSError *error) { - if (error != nil) { - completion(nil, [FLTFirebaseAuthPlugin convertToFlutterError:error]); - return; - } - - completion([PigeonParser parseIdTokenResult:tokenResult], nil); - }]; -} - -- (void)linkWithCredentialApp:(nonnull AuthPigeonFirebaseApp *)app - input:(nonnull NSDictionary *)input - completion:(nonnull void (^)(InternalUserCredential *_Nullable, - FlutterError *_Nullable))completion { - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - FIRUser *currentUser = auth.currentUser; - if (currentUser == nil) { - completion(nil, [FlutterError errorWithCode:kErrCodeNoCurrentUser - message:kErrMsgNoCurrentUser - details:nil]); - return; - } - - [self - getFIRAuthCredentialFromArguments:input - app:app - completion:^(FIRAuthCredential *credential, NSError *error) { - if (credential == nil) { - completion(nil, - [FlutterError errorWithCode:kErrCodeInvalidCredential - message:kErrMsgInvalidCredential - details:nil]); - return; - } - - if (error) { - completion(nil, - [FLTFirebaseAuthPlugin convertToFlutterError:error]); - } - - [currentUser - linkWithCredential:credential - completion:^(FIRAuthDataResult *authResult, - NSError *error) { - if (error != nil) { - if (error.code == - FIRAuthErrorCodeSecondFactorRequired) { - [self handleMultiFactorError:app - completion:completion - withError:error]; - } else { - completion(nil, [FLTFirebaseAuthPlugin - convertToFlutterError:error]); - } - } else { - completion( - [PigeonParser - getPigeonUserCredentialFromAuthResult: - authResult - authorizationCode:nil], - nil); - } - }]; - }]; -} - -- (void)linkWithProviderApp:(nonnull AuthPigeonFirebaseApp *)app - signInProvider:(nonnull InternalSignInProvider *)signInProvider - completion:(nonnull void (^)(InternalUserCredential *_Nullable, - FlutterError *_Nullable))completion { - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - FIRUser *currentUser = auth.currentUser; - if ([signInProvider.providerId isEqualToString:kSignInMethodGameCenter]) { - completion( - nil, - [FlutterError - errorWithCode:@"provider-link-failure" - message:@"Game Center provider requires linking with 'linkWithCredential()' API." - details:@{}]); - return; - } - - if (currentUser == nil) { - completion(nil, [FlutterError errorWithCode:kErrCodeNoCurrentUser - message:kErrMsgNoCurrentUser - details:nil]); - return; - } - - if ([signInProvider.providerId isEqualToString:kSignInMethodApple]) { - self.linkWithAppleUser = currentUser; - launchAppleSignInRequest(self, app, signInProvider, completion); - return; - } -#if TARGET_OS_OSX - NSLog(@"linkWithProvider is not supported on the " - @"MacOS platform."); - completion(nil, nil); -#else - self.authProvider = [FIROAuthProvider providerWithProviderID:signInProvider.providerId]; - NSArray *scopes = signInProvider.scopes; - if (scopes != nil) { - [self.authProvider setScopes:scopes]; - } - NSDictionary *customParameters = signInProvider.customParameters; - if (customParameters != nil) { - [self.authProvider setCustomParameters:customParameters]; - } - - [currentUser - linkWithProvider:self.authProvider - UIDelegate:nil - completion:^(FIRAuthDataResult *authResult, NSError *error) { - handleAppleAuthResult(self, app, auth, authResult.credential, error, completion); - }]; -#endif -} - -- (void)reauthenticateWithCredentialApp:(nonnull AuthPigeonFirebaseApp *)app - input:(nonnull NSDictionary *)input - completion:(nonnull void (^)(InternalUserCredential *_Nullable, - FlutterError *_Nullable))completion { - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - FIRUser *currentUser = auth.currentUser; - if (currentUser == nil) { - completion(nil, [FlutterError errorWithCode:kErrCodeNoCurrentUser - message:kErrMsgNoCurrentUser - details:nil]); - return; - } - - [self - getFIRAuthCredentialFromArguments:input - app:app - completion:^(FIRAuthCredential *credential, NSError *error) { - if (credential == nil) { - completion(nil, - [FlutterError errorWithCode:kErrCodeInvalidCredential - message:kErrMsgInvalidCredential - details:nil]); - return; - } - - if (error) { - completion(nil, - [FLTFirebaseAuthPlugin convertToFlutterError:error]); - } - - [currentUser - reauthenticateWithCredential:credential - completion:^(FIRAuthDataResult *authResult, - NSError *error) { - if (error != nil) { - if (error.code == - FIRAuthErrorCodeSecondFactorRequired) { - [self handleMultiFactorError:app - completion:completion - withError:error]; - } else { - completion( - nil, - [FLTFirebaseAuthPlugin - convertToFlutterError:error]); - } - } else { - completion( - [PigeonParser - getPigeonUserCredentialFromAuthResult: - authResult - authorizationCode: - nil], - nil); - } - }]; - }]; -} - -- (void)reauthenticateWithProviderApp:(nonnull AuthPigeonFirebaseApp *)app - signInProvider:(nonnull InternalSignInProvider *)signInProvider - completion:(nonnull void (^)(InternalUserCredential *_Nullable, - FlutterError *_Nullable))completion { - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - FIRUser *currentUser = auth.currentUser; - if (currentUser == nil) { - completion(nil, [FlutterError errorWithCode:kErrCodeNoCurrentUser - message:kErrMsgNoCurrentUser - details:nil]); - return; - } - - if ([signInProvider.providerId isEqualToString:kSignInMethodApple]) { - self.isReauthenticatingWithApple = YES; - launchAppleSignInRequest(self, app, signInProvider, completion); - return; - } -#if TARGET_OS_OSX - NSLog(@"reauthenticateWithProvider is not supported on the " - @"MacOS platform."); - completion(nil, nil); -#else - self.authProvider = [FIROAuthProvider providerWithProviderID:signInProvider.providerId]; - NSArray *scopes = signInProvider.scopes; - if (scopes != nil) { - [self.authProvider setScopes:scopes]; - } - NSDictionary *customParameters = signInProvider.customParameters; - if (customParameters != nil) { - [self.authProvider setCustomParameters:customParameters]; - } - - [currentUser reauthenticateWithProvider:self.authProvider - UIDelegate:nil - completion:^(FIRAuthDataResult *authResult, NSError *error) { - handleAppleAuthResult(self, app, auth, authResult.credential, - error, completion); - }]; -#endif -} - -- (void)reloadApp:(nonnull AuthPigeonFirebaseApp *)app - completion: - (nonnull void (^)(InternalUserDetails *_Nullable, FlutterError *_Nullable))completion { - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - FIRUser *currentUser = auth.currentUser; - if (currentUser == nil) { - completion(nil, [FlutterError errorWithCode:kErrCodeNoCurrentUser - message:kErrMsgNoCurrentUser - details:nil]); - return; - } - - [currentUser reloadWithCompletion:^(NSError *_Nullable error) { - if (error != nil) { - completion(nil, [FLTFirebaseAuthPlugin convertToFlutterError:error]); - } else { - completion([PigeonParser getPigeonDetails:currentUser], nil); - } - }]; -} - -- (void)sendEmailVerificationApp:(nonnull AuthPigeonFirebaseApp *)app - actionCodeSettings:(nullable InternalActionCodeSettings *)actionCodeSettings - completion:(nonnull void (^)(FlutterError *_Nullable))completion { - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - FIRUser *currentUser = auth.currentUser; - if (currentUser == nil) { - completion([FlutterError errorWithCode:kErrCodeNoCurrentUser - message:kErrMsgNoCurrentUser - details:nil]); - return; - } - - [currentUser - sendEmailVerificationWithActionCodeSettings:[PigeonParser - parseActionCodeSettings:actionCodeSettings] - - completion:^(NSError *_Nullable error) { - if (error != nil) { - completion( - [FLTFirebaseAuthPlugin convertToFlutterError:error]); - } else { - completion(nil); - } - }]; -} - -- (void)unlinkApp:(nonnull AuthPigeonFirebaseApp *)app - providerId:(nonnull NSString *)providerId - completion:(nonnull void (^)(InternalUserCredential *_Nullable, - FlutterError *_Nullable))completion { - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - FIRUser *currentUser = auth.currentUser; - if (currentUser == nil) { - completion(nil, [FlutterError errorWithCode:kErrCodeNoCurrentUser - message:kErrMsgNoCurrentUser - details:nil]); - return; - } - - [currentUser unlinkFromProvider:providerId - completion:^(FIRUser *_Nullable user, NSError *_Nullable error) { - if (error != nil) { - completion(nil, [FLTFirebaseAuthPlugin convertToFlutterError:error]); - } else { - completion([PigeonParser getPigeonUserCredentialFromFIRUser:user], nil); - } - }]; -} - -- (void)updateEmailApp:(nonnull AuthPigeonFirebaseApp *)app - newEmail:(nonnull NSString *)newEmail - completion:(nonnull void (^)(InternalUserDetails *_Nullable, - FlutterError *_Nullable))completion { - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - FIRUser *currentUser = auth.currentUser; - if (currentUser == nil) { - completion(nil, [FlutterError errorWithCode:kErrCodeNoCurrentUser - message:kErrMsgNoCurrentUser - details:nil]); - return; - } - - [currentUser updateEmail:newEmail - completion:^(NSError *_Nullable error) { - if (error != nil) { - completion(nil, [FLTFirebaseAuthPlugin convertToFlutterError:error]); - } else { - [currentUser reloadWithCompletion:^(NSError *_Nullable reloadError) { - if (reloadError != nil) { - completion(nil, [FLTFirebaseAuthPlugin convertToFlutterError:reloadError]); - } else { - completion([PigeonParser getPigeonDetails:currentUser], nil); - } - }]; - } - }]; -} - -- (void)updatePasswordApp:(nonnull AuthPigeonFirebaseApp *)app - newPassword:(nonnull NSString *)newPassword - completion:(nonnull void (^)(InternalUserDetails *_Nullable, - FlutterError *_Nullable))completion { - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - FIRUser *currentUser = auth.currentUser; - if (currentUser == nil) { - completion(nil, [FlutterError errorWithCode:kErrCodeNoCurrentUser - message:kErrMsgNoCurrentUser - details:nil]); - return; - } - - [currentUser - updatePassword:newPassword - completion:^(NSError *_Nullable error) { - if (error != nil) { - completion(nil, [FLTFirebaseAuthPlugin convertToFlutterError:error]); - } else { - [currentUser reloadWithCompletion:^(NSError *_Nullable reloadError) { - if (reloadError != nil) { - completion(nil, [FLTFirebaseAuthPlugin convertToFlutterError:reloadError]); - } else { - completion([PigeonParser getPigeonDetails:currentUser], nil); - } - }]; - } - }]; -} - -- (void)updatePhoneNumberApp:(nonnull AuthPigeonFirebaseApp *)app - input:(nonnull NSDictionary *)input - completion:(nonnull void (^)(InternalUserDetails *_Nullable, - FlutterError *_Nullable))completion { -#if TARGET_OS_IPHONE - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - FIRUser *currentUser = auth.currentUser; - if (currentUser == nil) { - completion(nil, [FlutterError errorWithCode:kErrCodeNoCurrentUser - message:kErrMsgNoCurrentUser - details:nil]); - return; - } - - [self - getFIRAuthCredentialFromArguments:input - app:app - completion:^(FIRAuthCredential *credential, NSError *error) { - if (credential == nil) { - completion(nil, - [FlutterError errorWithCode:kErrCodeInvalidCredential - message:kErrMsgInvalidCredential - details:nil]); - return; - } - - if (error) { - completion(nil, - [FLTFirebaseAuthPlugin convertToFlutterError:error]); - } - - [currentUser - updatePhoneNumberCredential:(FIRPhoneAuthCredential *)credential - completion:^(NSError *_Nullable error) { - if (error != nil) { - completion( - nil, [FLTFirebaseAuthPlugin - convertToFlutterError:error]); - } else { - [currentUser - reloadWithCompletion:^( - NSError *_Nullable reloadError) { - if (reloadError != nil) { - completion( - nil, [FLTFirebaseAuthPlugin - convertToFlutterError: - reloadError]); - } else { - completion( - [PigeonParser getPigeonDetails: - currentUser], - nil); - } - }]; - } - }]; - }]; -#else - NSLog(@"Updating a users phone number via Firebase Authentication is only " - @"supported on the iOS " - @"platform."); - completion(nil, nil); -#endif -} - -- (void)updateProfileApp:(nonnull AuthPigeonFirebaseApp *)app - profile:(nonnull InternalUserProfile *)profile - completion:(nonnull void (^)(InternalUserDetails *_Nullable, - FlutterError *_Nullable))completion { - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - FIRUser *currentUser = auth.currentUser; - if (currentUser == nil) { - completion(nil, [FlutterError errorWithCode:kErrCodeNoCurrentUser - message:kErrMsgNoCurrentUser - details:nil]); - return; - } - - FIRUserProfileChangeRequest *changeRequest = [currentUser profileChangeRequest]; - - if (profile.displayNameChanged) { - changeRequest.displayName = profile.displayName; - } - - if (profile.photoUrlChanged) { - if (profile.photoUrl == nil) { - // We apparently cannot set photoURL to nil/NULL to remove it. - // Instead, setting it to empty string appears to work. - // When doing so, Dart will properly receive `null` anyway. - changeRequest.photoURL = [NSURL URLWithString:@""]; - } else { - changeRequest.photoURL = [NSURL URLWithString:profile.photoUrl]; - } - } - - [changeRequest commitChangesWithCompletion:^(NSError *error) { - if (error != nil) { - completion(nil, [FLTFirebaseAuthPlugin convertToFlutterError:error]); - } else { - [currentUser reloadWithCompletion:^(NSError *_Nullable reloadError) { - if (reloadError != nil) { - completion(nil, [FLTFirebaseAuthPlugin convertToFlutterError:reloadError]); - } else { - completion([PigeonParser getPigeonDetails:currentUser], nil); - } - }]; - } - }]; -} - -- (void)verifyBeforeUpdateEmailApp:(nonnull AuthPigeonFirebaseApp *)app - newEmail:(nonnull NSString *)newEmail - actionCodeSettings:(nullable InternalActionCodeSettings *)actionCodeSettings - completion:(nonnull void (^)(FlutterError *_Nullable))completion { - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - FIRUser *currentUser = auth.currentUser; - if (currentUser == nil) { - completion([FlutterError errorWithCode:kErrCodeNoCurrentUser - message:kErrMsgNoCurrentUser - details:nil]); - return; - } - - [currentUser - sendEmailVerificationBeforeUpdatingEmail:newEmail - actionCodeSettings:[PigeonParser - parseActionCodeSettings:actionCodeSettings] - completion:^(NSError *error) { - if (error != nil) { - completion( - [FLTFirebaseAuthPlugin convertToFlutterError:error]); - } else { - completion(nil); - } - }]; -} - -- (void)initializeRecaptchaConfigApp:(AuthPigeonFirebaseApp *)app - completion:(void (^)(FlutterError *_Nullable))completion { -#if TARGET_OS_OSX - NSLog(@"initializeRecaptchaConfigWithCompletion is not supported on the " - @"MacOS platform."); - completion(nil); -#else - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - [auth initializeRecaptchaConfigWithCompletion:^(NSError *_Nullable error) { - if (error != nil) { - completion([FLTFirebaseAuthPlugin convertToFlutterError:error]); - } else { - completion(nil); - } - }]; -#endif -} - -@end diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/ios/firebase_auth/Sources/firebase_auth/FLTIdTokenChannelStreamHandler.m b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/ios/firebase_auth/Sources/firebase_auth/FLTIdTokenChannelStreamHandler.m deleted file mode 100644 index 315bc5ec..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/ios/firebase_auth/Sources/firebase_auth/FLTIdTokenChannelStreamHandler.m +++ /dev/null @@ -1,54 +0,0 @@ -// Copyright 2021 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. -@import FirebaseAuth; -#import "include/Private/FLTIdTokenChannelStreamHandler.h" -#import -#import "include/Private/PigeonParser.h" -#import "include/Public/FLTFirebaseAuthPlugin.h" - -@implementation FLTIdTokenChannelStreamHandler { - FIRAuth *_auth; - FIRIDTokenDidChangeListenerHandle _listener; -} - -- (instancetype)initWithAuth:(FIRAuth *)auth { - self = [super init]; - if (self) { - _auth = auth; - } - return self; -} - -- (FlutterError *)onListenWithArguments:(id)arguments eventSink:(FlutterEventSink)events { - bool __block initialAuthState = YES; - - _listener = [_auth addIDTokenDidChangeListener:^(FIRAuth *_Nonnull auth, - FIRUser *_Nullable user) { - if (initialAuthState) { - initialAuthState = NO; - return; - } - - if (user) { - events(@{ - @"user" : [PigeonParser getManualList:[PigeonParser getPigeonDetails:[auth currentUser]]] - }); - } else { - events(@{@"user" : [NSNull null]}); - } - }]; - - return nil; -} - -- (FlutterError *)onCancelWithArguments:(id)arguments { - if (_listener) { - [_auth removeIDTokenDidChangeListener:_listener]; - } - _listener = nil; - - return nil; -} - -@end diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/ios/firebase_auth/Sources/firebase_auth/FLTPhoneNumberVerificationStreamHandler.m b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/ios/firebase_auth/Sources/firebase_auth/FLTPhoneNumberVerificationStreamHandler.m deleted file mode 100644 index 511d2caa..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/ios/firebase_auth/Sources/firebase_auth/FLTPhoneNumberVerificationStreamHandler.m +++ /dev/null @@ -1,98 +0,0 @@ -// Copyright 2021 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -@import FirebaseAuth; - -#import "include/Private/FLTPhoneNumberVerificationStreamHandler.h" -#import "include/Public/FLTFirebaseAuthPlugin.h" - -@implementation FLTPhoneNumberVerificationStreamHandler { - FIRAuth *_auth; - NSString *_phoneNumber; -#if TARGET_OS_OSX -#else - FIRMultiFactorSession *_session; - FIRPhoneMultiFactorInfo *_factorInfo; -#endif -} - -#if TARGET_OS_OSX -- (instancetype)initWithAuth:(id)auth request:(InternalVerifyPhoneNumberRequest *)request { - self = [super init]; - if (self) { - _auth = auth; - _phoneNumber = request.phoneNumber; - } - return self; -} -#else -- (instancetype)initWithAuth:(id)auth - request:(InternalVerifyPhoneNumberRequest *)request - session:(FIRMultiFactorSession *)session - factorInfo:(FIRPhoneMultiFactorInfo *)factorInfo { - self = [super init]; - if (self) { - _auth = auth; - _phoneNumber = request.phoneNumber; - _session = session; - _factorInfo = factorInfo; - } - return self; -} -#endif - -- (FlutterError *)onListenWithArguments:(id)arguments eventSink:(FlutterEventSink)events { -#if TARGET_OS_IPHONE - id completer = ^(NSString *verificationID, NSError *error) { - if (error != nil) { - FlutterError *errorDetails = [FLTFirebaseAuthPlugin convertToFlutterError:error]; - events(@{ - @"name" : @"Auth#phoneVerificationFailed", - @"error" : @{ - @"code" : errorDetails.code, - @"message" : errorDetails.message, - @"details" : errorDetails.details, - } - }); - } else { - events(@{ - @"name" : @"Auth#phoneCodeSent", - @"verificationId" : verificationID, - }); - } - }; - - // Try catch to capture 'missing URL scheme' error. - @try { - if (_factorInfo != nil) { - [[FIRPhoneAuthProvider providerWithAuth:_auth] - verifyPhoneNumberWithMultiFactorInfo:_factorInfo - UIDelegate:nil - multiFactorSession:_session - completion:completer]; - - } else { - [[FIRPhoneAuthProvider providerWithAuth:_auth] verifyPhoneNumber:_phoneNumber - UIDelegate:nil - multiFactorSession:_session - completion:completer]; - } - } @catch (NSException *exception) { - events(@{ - @"name" : @"Auth#phoneVerificationFailed", - @"error" : @{ - @"message" : exception.reason, - } - }); - } -#endif - - return nil; -} - -- (FlutterError *)onCancelWithArguments:(id)arguments { - return nil; -} - -@end diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/ios/firebase_auth/Sources/firebase_auth/PigeonParser.m b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/ios/firebase_auth/Sources/firebase_auth/PigeonParser.m deleted file mode 100644 index 8d7a7b1c..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/ios/firebase_auth/Sources/firebase_auth/PigeonParser.m +++ /dev/null @@ -1,171 +0,0 @@ -// Copyright 2023, the Chromium project authors. Please see the AUTHORS file -// for details. All rights reserved. Use of this source code is governed by a -// BSD-style license that can be found in the LICENSE file. - -@import FirebaseAuth; - -#import "include/Private/PigeonParser.h" -#import -#import "include/Public/CustomPigeonHeader.h" - -@implementation PigeonParser - -+ (InternalUserCredential *) - getPigeonUserCredentialFromAuthResult:(nonnull FIRAuthDataResult *)authResult - authorizationCode:(nullable NSString *)authorizationCode { - return [InternalUserCredential - makeWithUser:[self getPigeonDetails:authResult.user] - additionalUserInfo:[self getPigeonAdditionalUserInfo:authResult.additionalUserInfo - authorizationCode:authorizationCode] - credential:[self getPigeonAuthCredential:authResult.credential token:nil]]; -} - -+ (InternalUserCredential *)getPigeonUserCredentialFromFIRUser:(nonnull FIRUser *)user { - return [InternalUserCredential makeWithUser:[self getPigeonDetails:user] - additionalUserInfo:nil - credential:nil]; -} - -+ (InternalUserDetails *)getPigeonDetails:(nonnull FIRUser *)user { - return [InternalUserDetails makeWithUserInfo:[self getPigeonUserInfo:user] - providerData:[self getProviderData:user.providerData]]; -} - -+ (InternalUserInfo *)getPigeonUserInfo:(nonnull FIRUser *)user { - NSString *photoUrlString = user.photoURL.absoluteString; - return [InternalUserInfo - makeWithUid:user.uid - email:user.email - displayName:user.displayName - photoUrl:(photoUrlString.length > 0) ? photoUrlString : nil - phoneNumber:user.phoneNumber - isAnonymous:user.isAnonymous - isEmailVerified:user.emailVerified - providerId:user.providerID - tenantId:user.tenantID - refreshToken:user.refreshToken - creationTimestamp:@((long)([user.metadata.creationDate timeIntervalSince1970] * 1000)) - lastSignInTimestamp:@((long)([user.metadata.lastSignInDate timeIntervalSince1970] * 1000))]; -} - -+ (NSArray *> *)getProviderData: - (nonnull NSArray> *)providerData { - NSMutableArray *> *dataArray = - [NSMutableArray arrayWithCapacity:providerData.count]; - - for (id userInfo in providerData) { - NSString *photoUrlStr = userInfo.photoURL.absoluteString; - NSDictionary *dataDict = @{ - @"providerId" : userInfo.providerID, - // Can be null on emulator - @"uid" : userInfo.uid ?: @"", - @"displayName" : userInfo.displayName ?: [NSNull null], - @"email" : userInfo.email ?: [NSNull null], - @"phoneNumber" : userInfo.phoneNumber ?: [NSNull null], - @"photoURL" : photoUrlStr ?: [NSNull null], - // isAnonymous is always false on in a providerData object (the user is not anonymous) - @"isAnonymous" : @NO, - // isEmailVerified is always true on in a providerData object (the email is verified by the - // provider) - @"isEmailVerified" : @YES, - }; - [dataArray addObject:dataDict]; - } - return [dataArray copy]; -} - -+ (InternalAdditionalUserInfo *)getPigeonAdditionalUserInfo: - (nonnull FIRAdditionalUserInfo *)userInfo - authorizationCode:(nullable NSString *)authorizationCode { - return [InternalAdditionalUserInfo makeWithIsNewUser:userInfo.isNewUser - providerId:userInfo.providerID - username:userInfo.username - authorizationCode:authorizationCode - profile:userInfo.profile]; -} - -+ (InternalTotpSecret *)getPigeonTotpSecret:(FIRTOTPSecret *)secret { - return [InternalTotpSecret makeWithCodeIntervalSeconds:nil - codeLength:nil - enrollmentCompletionDeadline:nil - hashingAlgorithm:nil - secretKey:secret.sharedSecretKey]; -} - -+ (InternalAuthCredential *)getPigeonAuthCredential:(FIRAuthCredential *)authCredential - token:(NSNumber *_Nullable)token { - if (authCredential == nil) { - return nil; - } - - NSString *accessToken = nil; - if ([authCredential isKindOfClass:[FIROAuthCredential class]]) { - if (((FIROAuthCredential *)authCredential).accessToken != nil) { - accessToken = ((FIROAuthCredential *)authCredential).accessToken; - } else if (((FIROAuthCredential *)authCredential).IDToken != nil) { - // For Sign In With Apple, the token is stored in IDToken - accessToken = ((FIROAuthCredential *)authCredential).IDToken; - } - } - - NSUInteger nativeId = - token != nil ? [token unsignedLongValue] : (NSUInteger)[authCredential hash]; - - return [InternalAuthCredential makeWithProviderId:authCredential.provider - signInMethod:authCredential.provider - nativeId:nativeId - accessToken:accessToken ?: nil]; -} - -+ (FIRActionCodeSettings *_Nullable)parseActionCodeSettings: - (nullable InternalActionCodeSettings *)settings { - if (settings == nil) { - return nil; - } - - FIRActionCodeSettings *codeSettings = [[FIRActionCodeSettings alloc] init]; - - if (settings.url != nil) { - codeSettings.URL = [NSURL URLWithString:settings.url]; - } - - if (settings.linkDomain != nil) { - codeSettings.linkDomain = settings.linkDomain; - } - - codeSettings.handleCodeInApp = settings.handleCodeInApp; - - if (settings.iOSBundleId != nil) { - codeSettings.iOSBundleID = settings.iOSBundleId; - } - - return codeSettings; -} - -+ (InternalIdTokenResult *)parseIdTokenResult:(FIRAuthTokenResult *)tokenResult { - long expirationTimestamp = (long)[tokenResult.expirationDate timeIntervalSince1970] * 1000; - long authTimestamp = (long)[tokenResult.authDate timeIntervalSince1970] * 1000; - long issuedAtTimestamp = (long)[tokenResult.issuedAtDate timeIntervalSince1970] * 1000; - - return [InternalIdTokenResult makeWithToken:tokenResult.token - expirationTimestamp:@(expirationTimestamp) - authTimestamp:@(authTimestamp) - issuedAtTimestamp:@(issuedAtTimestamp) - signInProvider:tokenResult.signInProvider - claims:tokenResult.claims - signInSecondFactor:tokenResult.signInSecondFactor]; -} - -+ (NSArray *_Nonnull)getManualList:(nonnull InternalUserDetails *)userDetails { - NSMutableArray *output = [NSMutableArray array]; - - id userInfoList = [[userDetails userInfo] toList]; - [output addObject:userInfoList]; - - id providerData = [userDetails providerData]; - [output addObject:providerData]; - - return [output copy]; -} - -@end diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/ios/firebase_auth/Sources/firebase_auth/firebase_auth_messages.g.m b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/ios/firebase_auth/Sources/firebase_auth/firebase_auth_messages.g.m deleted file mode 100644 index 82ae8cfc..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/ios/firebase_auth/Sources/firebase_auth/firebase_auth_messages.g.m +++ /dev/null @@ -1,3005 +0,0 @@ -// Copyright 2023, the Chromium project authors. Please see the AUTHORS file -// for details. All rights reserved. Use of this source code is governed by a -// BSD-style license that can be found in the LICENSE file. -// Autogenerated from Pigeon (v26.3.4), do not edit directly. -// See also: https://pub.dev/packages/pigeon - -#import "include/Public/firebase_auth_messages.g.h" - -#if TARGET_OS_OSX -@import FlutterMacOS; -#else -@import Flutter; -#endif - -static BOOL __attribute__((unused)) FLTPigeonDeepEquals(id _Nullable a, id _Nullable b) { - if (a == b) { - return YES; - } - if (a == nil) { - return b == [NSNull null]; - } - if (b == nil) { - return a == [NSNull null]; - } - if ([a isKindOfClass:[NSNumber class]] && [b isKindOfClass:[NSNumber class]]) { - return - [a isEqual:b] || (isnan([(NSNumber *)a doubleValue]) && isnan([(NSNumber *)b doubleValue])); - } - if ([a isKindOfClass:[NSArray class]] && [b isKindOfClass:[NSArray class]]) { - NSArray *arrayA = (NSArray *)a; - NSArray *arrayB = (NSArray *)b; - if (arrayA.count != arrayB.count) { - return NO; - } - for (NSUInteger i = 0; i < arrayA.count; i++) { - if (!FLTPigeonDeepEquals(arrayA[i], arrayB[i])) { - return NO; - } - } - return YES; - } - if ([a isKindOfClass:[NSDictionary class]] && [b isKindOfClass:[NSDictionary class]]) { - NSDictionary *dictA = (NSDictionary *)a; - NSDictionary *dictB = (NSDictionary *)b; - if (dictA.count != dictB.count) { - return NO; - } - for (id keyA in dictA) { - id valueA = dictA[keyA]; - BOOL found = NO; - for (id keyB in dictB) { - if (FLTPigeonDeepEquals(keyA, keyB)) { - id valueB = dictB[keyB]; - if (FLTPigeonDeepEquals(valueA, valueB)) { - found = YES; - break; - } else { - return NO; - } - } - } - if (!found) { - return NO; - } - } - return YES; - } - return [a isEqual:b]; -} - -static NSUInteger __attribute__((unused)) FLTPigeonDeepHash(id _Nullable value) { - if (value == nil || value == (id)[NSNull null]) { - return 0; - } - if ([value isKindOfClass:[NSNumber class]]) { - NSNumber *n = (NSNumber *)value; - double d = n.doubleValue; - if (isnan(d)) { - // Normalize NaN to a consistent hash. - return (NSUInteger)0x7FF8000000000000; - } - if (d == 0.0) { - // Normalize -0.0 to 0.0 so they have the same hash code. - d = 0.0; - } - return @(d).hash; - } - if ([value isKindOfClass:[NSArray class]]) { - NSUInteger result = 1; - for (id item in (NSArray *)value) { - result = result * 31 + FLTPigeonDeepHash(item); - } - return result; - } - if ([value isKindOfClass:[NSDictionary class]]) { - NSUInteger result = 0; - NSDictionary *dict = (NSDictionary *)value; - for (id key in dict) { - result += ((FLTPigeonDeepHash(key) * 31) ^ FLTPigeonDeepHash(dict[key])); - } - return result; - } - return [value hash]; -} - -static NSArray *wrapResult(id result, FlutterError *error) { - if (error) { - return @[ - error.code ?: [NSNull null], error.message ?: [NSNull null], error.details ?: [NSNull null] - ]; - } - return @[ result ?: [NSNull null] ]; -} - -static id GetNullableObjectAtIndex(NSArray *array, NSInteger key) { - id result = array[key]; - return (result == [NSNull null]) ? nil : result; -} - -/// The type of operation that generated the action code from calling -/// [checkActionCode]. -@implementation ActionCodeInfoOperationBox -- (instancetype)initWithValue:(ActionCodeInfoOperation)value { - self = [super init]; - if (self) { - _value = value; - } - return self; -} -@end - -@interface InternalMultiFactorSession () -+ (InternalMultiFactorSession *)fromList:(NSArray *)list; -+ (nullable InternalMultiFactorSession *)nullableFromList:(NSArray *)list; -- (NSArray *)toList; -@end - -@interface InternalPhoneMultiFactorAssertion () -+ (InternalPhoneMultiFactorAssertion *)fromList:(NSArray *)list; -+ (nullable InternalPhoneMultiFactorAssertion *)nullableFromList:(NSArray *)list; -- (NSArray *)toList; -@end - -@interface InternalMultiFactorInfo () -+ (InternalMultiFactorInfo *)fromList:(NSArray *)list; -+ (nullable InternalMultiFactorInfo *)nullableFromList:(NSArray *)list; -- (NSArray *)toList; -@end - -@interface AuthPigeonFirebaseApp () -+ (AuthPigeonFirebaseApp *)fromList:(NSArray *)list; -+ (nullable AuthPigeonFirebaseApp *)nullableFromList:(NSArray *)list; -- (NSArray *)toList; -@end - -@interface InternalActionCodeInfoData () -+ (InternalActionCodeInfoData *)fromList:(NSArray *)list; -+ (nullable InternalActionCodeInfoData *)nullableFromList:(NSArray *)list; -- (NSArray *)toList; -@end - -@interface InternalActionCodeInfo () -+ (InternalActionCodeInfo *)fromList:(NSArray *)list; -+ (nullable InternalActionCodeInfo *)nullableFromList:(NSArray *)list; -- (NSArray *)toList; -@end - -@interface InternalAdditionalUserInfo () -+ (InternalAdditionalUserInfo *)fromList:(NSArray *)list; -+ (nullable InternalAdditionalUserInfo *)nullableFromList:(NSArray *)list; -- (NSArray *)toList; -@end - -@interface InternalAuthCredential () -+ (InternalAuthCredential *)fromList:(NSArray *)list; -+ (nullable InternalAuthCredential *)nullableFromList:(NSArray *)list; -- (NSArray *)toList; -@end - -@interface InternalUserInfo () -+ (InternalUserInfo *)fromList:(NSArray *)list; -+ (nullable InternalUserInfo *)nullableFromList:(NSArray *)list; -- (NSArray *)toList; -@end - -@interface InternalUserDetails () -+ (InternalUserDetails *)fromList:(NSArray *)list; -+ (nullable InternalUserDetails *)nullableFromList:(NSArray *)list; -- (NSArray *)toList; -@end - -@interface InternalUserCredential () -+ (InternalUserCredential *)fromList:(NSArray *)list; -+ (nullable InternalUserCredential *)nullableFromList:(NSArray *)list; -- (NSArray *)toList; -@end - -@interface InternalAuthCredentialInput () -+ (InternalAuthCredentialInput *)fromList:(NSArray *)list; -+ (nullable InternalAuthCredentialInput *)nullableFromList:(NSArray *)list; -- (NSArray *)toList; -@end - -@interface InternalActionCodeSettings () -+ (InternalActionCodeSettings *)fromList:(NSArray *)list; -+ (nullable InternalActionCodeSettings *)nullableFromList:(NSArray *)list; -- (NSArray *)toList; -@end - -@interface InternalFirebaseAuthSettings () -+ (InternalFirebaseAuthSettings *)fromList:(NSArray *)list; -+ (nullable InternalFirebaseAuthSettings *)nullableFromList:(NSArray *)list; -- (NSArray *)toList; -@end - -@interface InternalSignInProvider () -+ (InternalSignInProvider *)fromList:(NSArray *)list; -+ (nullable InternalSignInProvider *)nullableFromList:(NSArray *)list; -- (NSArray *)toList; -@end - -@interface InternalVerifyPhoneNumberRequest () -+ (InternalVerifyPhoneNumberRequest *)fromList:(NSArray *)list; -+ (nullable InternalVerifyPhoneNumberRequest *)nullableFromList:(NSArray *)list; -- (NSArray *)toList; -@end - -@interface InternalIdTokenResult () -+ (InternalIdTokenResult *)fromList:(NSArray *)list; -+ (nullable InternalIdTokenResult *)nullableFromList:(NSArray *)list; -- (NSArray *)toList; -@end - -@interface InternalUserProfile () -+ (InternalUserProfile *)fromList:(NSArray *)list; -+ (nullable InternalUserProfile *)nullableFromList:(NSArray *)list; -- (NSArray *)toList; -@end - -@interface InternalTotpSecret () -+ (InternalTotpSecret *)fromList:(NSArray *)list; -+ (nullable InternalTotpSecret *)nullableFromList:(NSArray *)list; -- (NSArray *)toList; -@end - -@implementation InternalMultiFactorSession -+ (instancetype)makeWithId:(NSString *)id { - InternalMultiFactorSession *pigeonResult = [[InternalMultiFactorSession alloc] init]; - pigeonResult.id = id; - return pigeonResult; -} -+ (InternalMultiFactorSession *)fromList:(NSArray *)list { - InternalMultiFactorSession *pigeonResult = [[InternalMultiFactorSession alloc] init]; - pigeonResult.id = GetNullableObjectAtIndex(list, 0); - return pigeonResult; -} -+ (nullable InternalMultiFactorSession *)nullableFromList:(NSArray *)list { - return (list) ? [InternalMultiFactorSession fromList:list] : nil; -} -- (NSArray *)toList { - return @[ - self.id ?: [NSNull null], - ]; -} -- (BOOL)isEqual:(id)object { - if (self == object) { - return YES; - } - if (![object isKindOfClass:[self class]]) { - return NO; - } - InternalMultiFactorSession *other = (InternalMultiFactorSession *)object; - return FLTPigeonDeepEquals(self.id, other.id); -} - -- (NSUInteger)hash { - NSUInteger result = [self class].hash; - result = result * 31 + FLTPigeonDeepHash(self.id); - return result; -} -@end - -@implementation InternalPhoneMultiFactorAssertion -+ (instancetype)makeWithVerificationId:(NSString *)verificationId - verificationCode:(NSString *)verificationCode { - InternalPhoneMultiFactorAssertion *pigeonResult = - [[InternalPhoneMultiFactorAssertion alloc] init]; - pigeonResult.verificationId = verificationId; - pigeonResult.verificationCode = verificationCode; - return pigeonResult; -} -+ (InternalPhoneMultiFactorAssertion *)fromList:(NSArray *)list { - InternalPhoneMultiFactorAssertion *pigeonResult = - [[InternalPhoneMultiFactorAssertion alloc] init]; - pigeonResult.verificationId = GetNullableObjectAtIndex(list, 0); - pigeonResult.verificationCode = GetNullableObjectAtIndex(list, 1); - return pigeonResult; -} -+ (nullable InternalPhoneMultiFactorAssertion *)nullableFromList:(NSArray *)list { - return (list) ? [InternalPhoneMultiFactorAssertion fromList:list] : nil; -} -- (NSArray *)toList { - return @[ - self.verificationId ?: [NSNull null], - self.verificationCode ?: [NSNull null], - ]; -} -- (BOOL)isEqual:(id)object { - if (self == object) { - return YES; - } - if (![object isKindOfClass:[self class]]) { - return NO; - } - InternalPhoneMultiFactorAssertion *other = (InternalPhoneMultiFactorAssertion *)object; - return FLTPigeonDeepEquals(self.verificationId, other.verificationId) && - FLTPigeonDeepEquals(self.verificationCode, other.verificationCode); -} - -- (NSUInteger)hash { - NSUInteger result = [self class].hash; - result = result * 31 + FLTPigeonDeepHash(self.verificationId); - result = result * 31 + FLTPigeonDeepHash(self.verificationCode); - return result; -} -@end - -@implementation InternalMultiFactorInfo -+ (instancetype)makeWithDisplayName:(nullable NSString *)displayName - enrollmentTimestamp:(double)enrollmentTimestamp - factorId:(nullable NSString *)factorId - uid:(NSString *)uid - phoneNumber:(nullable NSString *)phoneNumber { - InternalMultiFactorInfo *pigeonResult = [[InternalMultiFactorInfo alloc] init]; - pigeonResult.displayName = displayName; - pigeonResult.enrollmentTimestamp = enrollmentTimestamp; - pigeonResult.factorId = factorId; - pigeonResult.uid = uid; - pigeonResult.phoneNumber = phoneNumber; - return pigeonResult; -} -+ (InternalMultiFactorInfo *)fromList:(NSArray *)list { - InternalMultiFactorInfo *pigeonResult = [[InternalMultiFactorInfo alloc] init]; - pigeonResult.displayName = GetNullableObjectAtIndex(list, 0); - pigeonResult.enrollmentTimestamp = [GetNullableObjectAtIndex(list, 1) doubleValue]; - pigeonResult.factorId = GetNullableObjectAtIndex(list, 2); - pigeonResult.uid = GetNullableObjectAtIndex(list, 3); - pigeonResult.phoneNumber = GetNullableObjectAtIndex(list, 4); - return pigeonResult; -} -+ (nullable InternalMultiFactorInfo *)nullableFromList:(NSArray *)list { - return (list) ? [InternalMultiFactorInfo fromList:list] : nil; -} -- (NSArray *)toList { - return @[ - self.displayName ?: [NSNull null], - @(self.enrollmentTimestamp), - self.factorId ?: [NSNull null], - self.uid ?: [NSNull null], - self.phoneNumber ?: [NSNull null], - ]; -} -- (BOOL)isEqual:(id)object { - if (self == object) { - return YES; - } - if (![object isKindOfClass:[self class]]) { - return NO; - } - InternalMultiFactorInfo *other = (InternalMultiFactorInfo *)object; - return FLTPigeonDeepEquals(self.displayName, other.displayName) && - (self.enrollmentTimestamp == other.enrollmentTimestamp || - (isnan(self.enrollmentTimestamp) && isnan(other.enrollmentTimestamp))) && - FLTPigeonDeepEquals(self.factorId, other.factorId) && - FLTPigeonDeepEquals(self.uid, other.uid) && - FLTPigeonDeepEquals(self.phoneNumber, other.phoneNumber); -} - -- (NSUInteger)hash { - NSUInteger result = [self class].hash; - result = result * 31 + FLTPigeonDeepHash(self.displayName); - result = result * 31 + (isnan(self.enrollmentTimestamp) ? (NSUInteger)0x7FF8000000000000 - : @(self.enrollmentTimestamp).hash); - result = result * 31 + FLTPigeonDeepHash(self.factorId); - result = result * 31 + FLTPigeonDeepHash(self.uid); - result = result * 31 + FLTPigeonDeepHash(self.phoneNumber); - return result; -} -@end - -@implementation AuthPigeonFirebaseApp -+ (instancetype)makeWithAppName:(NSString *)appName - tenantId:(nullable NSString *)tenantId - customAuthDomain:(nullable NSString *)customAuthDomain { - AuthPigeonFirebaseApp *pigeonResult = [[AuthPigeonFirebaseApp alloc] init]; - pigeonResult.appName = appName; - pigeonResult.tenantId = tenantId; - pigeonResult.customAuthDomain = customAuthDomain; - return pigeonResult; -} -+ (AuthPigeonFirebaseApp *)fromList:(NSArray *)list { - AuthPigeonFirebaseApp *pigeonResult = [[AuthPigeonFirebaseApp alloc] init]; - pigeonResult.appName = GetNullableObjectAtIndex(list, 0); - pigeonResult.tenantId = GetNullableObjectAtIndex(list, 1); - pigeonResult.customAuthDomain = GetNullableObjectAtIndex(list, 2); - return pigeonResult; -} -+ (nullable AuthPigeonFirebaseApp *)nullableFromList:(NSArray *)list { - return (list) ? [AuthPigeonFirebaseApp fromList:list] : nil; -} -- (NSArray *)toList { - return @[ - self.appName ?: [NSNull null], - self.tenantId ?: [NSNull null], - self.customAuthDomain ?: [NSNull null], - ]; -} -- (BOOL)isEqual:(id)object { - if (self == object) { - return YES; - } - if (![object isKindOfClass:[self class]]) { - return NO; - } - AuthPigeonFirebaseApp *other = (AuthPigeonFirebaseApp *)object; - return FLTPigeonDeepEquals(self.appName, other.appName) && - FLTPigeonDeepEquals(self.tenantId, other.tenantId) && - FLTPigeonDeepEquals(self.customAuthDomain, other.customAuthDomain); -} - -- (NSUInteger)hash { - NSUInteger result = [self class].hash; - result = result * 31 + FLTPigeonDeepHash(self.appName); - result = result * 31 + FLTPigeonDeepHash(self.tenantId); - result = result * 31 + FLTPigeonDeepHash(self.customAuthDomain); - return result; -} -@end - -@implementation InternalActionCodeInfoData -+ (instancetype)makeWithEmail:(nullable NSString *)email - previousEmail:(nullable NSString *)previousEmail { - InternalActionCodeInfoData *pigeonResult = [[InternalActionCodeInfoData alloc] init]; - pigeonResult.email = email; - pigeonResult.previousEmail = previousEmail; - return pigeonResult; -} -+ (InternalActionCodeInfoData *)fromList:(NSArray *)list { - InternalActionCodeInfoData *pigeonResult = [[InternalActionCodeInfoData alloc] init]; - pigeonResult.email = GetNullableObjectAtIndex(list, 0); - pigeonResult.previousEmail = GetNullableObjectAtIndex(list, 1); - return pigeonResult; -} -+ (nullable InternalActionCodeInfoData *)nullableFromList:(NSArray *)list { - return (list) ? [InternalActionCodeInfoData fromList:list] : nil; -} -- (NSArray *)toList { - return @[ - self.email ?: [NSNull null], - self.previousEmail ?: [NSNull null], - ]; -} -- (BOOL)isEqual:(id)object { - if (self == object) { - return YES; - } - if (![object isKindOfClass:[self class]]) { - return NO; - } - InternalActionCodeInfoData *other = (InternalActionCodeInfoData *)object; - return FLTPigeonDeepEquals(self.email, other.email) && - FLTPigeonDeepEquals(self.previousEmail, other.previousEmail); -} - -- (NSUInteger)hash { - NSUInteger result = [self class].hash; - result = result * 31 + FLTPigeonDeepHash(self.email); - result = result * 31 + FLTPigeonDeepHash(self.previousEmail); - return result; -} -@end - -@implementation InternalActionCodeInfo -+ (instancetype)makeWithOperation:(ActionCodeInfoOperation)operation - data:(InternalActionCodeInfoData *)data { - InternalActionCodeInfo *pigeonResult = [[InternalActionCodeInfo alloc] init]; - pigeonResult.operation = operation; - pigeonResult.data = data; - return pigeonResult; -} -+ (InternalActionCodeInfo *)fromList:(NSArray *)list { - InternalActionCodeInfo *pigeonResult = [[InternalActionCodeInfo alloc] init]; - ActionCodeInfoOperationBox *boxedActionCodeInfoOperation = GetNullableObjectAtIndex(list, 0); - pigeonResult.operation = boxedActionCodeInfoOperation.value; - pigeonResult.data = GetNullableObjectAtIndex(list, 1); - return pigeonResult; -} -+ (nullable InternalActionCodeInfo *)nullableFromList:(NSArray *)list { - return (list) ? [InternalActionCodeInfo fromList:list] : nil; -} -- (NSArray *)toList { - return @[ - [[ActionCodeInfoOperationBox alloc] initWithValue:self.operation], - self.data ?: [NSNull null], - ]; -} -- (BOOL)isEqual:(id)object { - if (self == object) { - return YES; - } - if (![object isKindOfClass:[self class]]) { - return NO; - } - InternalActionCodeInfo *other = (InternalActionCodeInfo *)object; - return self.operation == other.operation && FLTPigeonDeepEquals(self.data, other.data); -} - -- (NSUInteger)hash { - NSUInteger result = [self class].hash; - result = result * 31 + @(self.operation).hash; - result = result * 31 + FLTPigeonDeepHash(self.data); - return result; -} -@end - -@implementation InternalAdditionalUserInfo -+ (instancetype)makeWithIsNewUser:(BOOL)isNewUser - providerId:(nullable NSString *)providerId - username:(nullable NSString *)username - authorizationCode:(nullable NSString *)authorizationCode - profile:(nullable NSDictionary *)profile { - InternalAdditionalUserInfo *pigeonResult = [[InternalAdditionalUserInfo alloc] init]; - pigeonResult.isNewUser = isNewUser; - pigeonResult.providerId = providerId; - pigeonResult.username = username; - pigeonResult.authorizationCode = authorizationCode; - pigeonResult.profile = profile; - return pigeonResult; -} -+ (InternalAdditionalUserInfo *)fromList:(NSArray *)list { - InternalAdditionalUserInfo *pigeonResult = [[InternalAdditionalUserInfo alloc] init]; - pigeonResult.isNewUser = [GetNullableObjectAtIndex(list, 0) boolValue]; - pigeonResult.providerId = GetNullableObjectAtIndex(list, 1); - pigeonResult.username = GetNullableObjectAtIndex(list, 2); - pigeonResult.authorizationCode = GetNullableObjectAtIndex(list, 3); - pigeonResult.profile = GetNullableObjectAtIndex(list, 4); - return pigeonResult; -} -+ (nullable InternalAdditionalUserInfo *)nullableFromList:(NSArray *)list { - return (list) ? [InternalAdditionalUserInfo fromList:list] : nil; -} -- (NSArray *)toList { - return @[ - @(self.isNewUser), - self.providerId ?: [NSNull null], - self.username ?: [NSNull null], - self.authorizationCode ?: [NSNull null], - self.profile ?: [NSNull null], - ]; -} -- (BOOL)isEqual:(id)object { - if (self == object) { - return YES; - } - if (![object isKindOfClass:[self class]]) { - return NO; - } - InternalAdditionalUserInfo *other = (InternalAdditionalUserInfo *)object; - return self.isNewUser == other.isNewUser && - FLTPigeonDeepEquals(self.providerId, other.providerId) && - FLTPigeonDeepEquals(self.username, other.username) && - FLTPigeonDeepEquals(self.authorizationCode, other.authorizationCode) && - FLTPigeonDeepEquals(self.profile, other.profile); -} - -- (NSUInteger)hash { - NSUInteger result = [self class].hash; - result = result * 31 + @(self.isNewUser).hash; - result = result * 31 + FLTPigeonDeepHash(self.providerId); - result = result * 31 + FLTPigeonDeepHash(self.username); - result = result * 31 + FLTPigeonDeepHash(self.authorizationCode); - result = result * 31 + FLTPigeonDeepHash(self.profile); - return result; -} -@end - -@implementation InternalAuthCredential -+ (instancetype)makeWithProviderId:(NSString *)providerId - signInMethod:(NSString *)signInMethod - nativeId:(NSInteger)nativeId - accessToken:(nullable NSString *)accessToken { - InternalAuthCredential *pigeonResult = [[InternalAuthCredential alloc] init]; - pigeonResult.providerId = providerId; - pigeonResult.signInMethod = signInMethod; - pigeonResult.nativeId = nativeId; - pigeonResult.accessToken = accessToken; - return pigeonResult; -} -+ (InternalAuthCredential *)fromList:(NSArray *)list { - InternalAuthCredential *pigeonResult = [[InternalAuthCredential alloc] init]; - pigeonResult.providerId = GetNullableObjectAtIndex(list, 0); - pigeonResult.signInMethod = GetNullableObjectAtIndex(list, 1); - pigeonResult.nativeId = [GetNullableObjectAtIndex(list, 2) integerValue]; - pigeonResult.accessToken = GetNullableObjectAtIndex(list, 3); - return pigeonResult; -} -+ (nullable InternalAuthCredential *)nullableFromList:(NSArray *)list { - return (list) ? [InternalAuthCredential fromList:list] : nil; -} -- (NSArray *)toList { - return @[ - self.providerId ?: [NSNull null], - self.signInMethod ?: [NSNull null], - @(self.nativeId), - self.accessToken ?: [NSNull null], - ]; -} -- (BOOL)isEqual:(id)object { - if (self == object) { - return YES; - } - if (![object isKindOfClass:[self class]]) { - return NO; - } - InternalAuthCredential *other = (InternalAuthCredential *)object; - return FLTPigeonDeepEquals(self.providerId, other.providerId) && - FLTPigeonDeepEquals(self.signInMethod, other.signInMethod) && - self.nativeId == other.nativeId && - FLTPigeonDeepEquals(self.accessToken, other.accessToken); -} - -- (NSUInteger)hash { - NSUInteger result = [self class].hash; - result = result * 31 + FLTPigeonDeepHash(self.providerId); - result = result * 31 + FLTPigeonDeepHash(self.signInMethod); - result = result * 31 + @(self.nativeId).hash; - result = result * 31 + FLTPigeonDeepHash(self.accessToken); - return result; -} -@end - -@implementation InternalUserInfo -+ (instancetype)makeWithUid:(NSString *)uid - email:(nullable NSString *)email - displayName:(nullable NSString *)displayName - photoUrl:(nullable NSString *)photoUrl - phoneNumber:(nullable NSString *)phoneNumber - isAnonymous:(BOOL)isAnonymous - isEmailVerified:(BOOL)isEmailVerified - providerId:(nullable NSString *)providerId - tenantId:(nullable NSString *)tenantId - refreshToken:(nullable NSString *)refreshToken - creationTimestamp:(nullable NSNumber *)creationTimestamp - lastSignInTimestamp:(nullable NSNumber *)lastSignInTimestamp { - InternalUserInfo *pigeonResult = [[InternalUserInfo alloc] init]; - pigeonResult.uid = uid; - pigeonResult.email = email; - pigeonResult.displayName = displayName; - pigeonResult.photoUrl = photoUrl; - pigeonResult.phoneNumber = phoneNumber; - pigeonResult.isAnonymous = isAnonymous; - pigeonResult.isEmailVerified = isEmailVerified; - pigeonResult.providerId = providerId; - pigeonResult.tenantId = tenantId; - pigeonResult.refreshToken = refreshToken; - pigeonResult.creationTimestamp = creationTimestamp; - pigeonResult.lastSignInTimestamp = lastSignInTimestamp; - return pigeonResult; -} -+ (InternalUserInfo *)fromList:(NSArray *)list { - InternalUserInfo *pigeonResult = [[InternalUserInfo alloc] init]; - pigeonResult.uid = GetNullableObjectAtIndex(list, 0); - pigeonResult.email = GetNullableObjectAtIndex(list, 1); - pigeonResult.displayName = GetNullableObjectAtIndex(list, 2); - pigeonResult.photoUrl = GetNullableObjectAtIndex(list, 3); - pigeonResult.phoneNumber = GetNullableObjectAtIndex(list, 4); - pigeonResult.isAnonymous = [GetNullableObjectAtIndex(list, 5) boolValue]; - pigeonResult.isEmailVerified = [GetNullableObjectAtIndex(list, 6) boolValue]; - pigeonResult.providerId = GetNullableObjectAtIndex(list, 7); - pigeonResult.tenantId = GetNullableObjectAtIndex(list, 8); - pigeonResult.refreshToken = GetNullableObjectAtIndex(list, 9); - pigeonResult.creationTimestamp = GetNullableObjectAtIndex(list, 10); - pigeonResult.lastSignInTimestamp = GetNullableObjectAtIndex(list, 11); - return pigeonResult; -} -+ (nullable InternalUserInfo *)nullableFromList:(NSArray *)list { - return (list) ? [InternalUserInfo fromList:list] : nil; -} -- (NSArray *)toList { - return @[ - self.uid ?: [NSNull null], - self.email ?: [NSNull null], - self.displayName ?: [NSNull null], - self.photoUrl ?: [NSNull null], - self.phoneNumber ?: [NSNull null], - @(self.isAnonymous), - @(self.isEmailVerified), - self.providerId ?: [NSNull null], - self.tenantId ?: [NSNull null], - self.refreshToken ?: [NSNull null], - self.creationTimestamp ?: [NSNull null], - self.lastSignInTimestamp ?: [NSNull null], - ]; -} -- (BOOL)isEqual:(id)object { - if (self == object) { - return YES; - } - if (![object isKindOfClass:[self class]]) { - return NO; - } - InternalUserInfo *other = (InternalUserInfo *)object; - return FLTPigeonDeepEquals(self.uid, other.uid) && FLTPigeonDeepEquals(self.email, other.email) && - FLTPigeonDeepEquals(self.displayName, other.displayName) && - FLTPigeonDeepEquals(self.photoUrl, other.photoUrl) && - FLTPigeonDeepEquals(self.phoneNumber, other.phoneNumber) && - self.isAnonymous == other.isAnonymous && self.isEmailVerified == other.isEmailVerified && - FLTPigeonDeepEquals(self.providerId, other.providerId) && - FLTPigeonDeepEquals(self.tenantId, other.tenantId) && - FLTPigeonDeepEquals(self.refreshToken, other.refreshToken) && - FLTPigeonDeepEquals(self.creationTimestamp, other.creationTimestamp) && - FLTPigeonDeepEquals(self.lastSignInTimestamp, other.lastSignInTimestamp); -} - -- (NSUInteger)hash { - NSUInteger result = [self class].hash; - result = result * 31 + FLTPigeonDeepHash(self.uid); - result = result * 31 + FLTPigeonDeepHash(self.email); - result = result * 31 + FLTPigeonDeepHash(self.displayName); - result = result * 31 + FLTPigeonDeepHash(self.photoUrl); - result = result * 31 + FLTPigeonDeepHash(self.phoneNumber); - result = result * 31 + @(self.isAnonymous).hash; - result = result * 31 + @(self.isEmailVerified).hash; - result = result * 31 + FLTPigeonDeepHash(self.providerId); - result = result * 31 + FLTPigeonDeepHash(self.tenantId); - result = result * 31 + FLTPigeonDeepHash(self.refreshToken); - result = result * 31 + FLTPigeonDeepHash(self.creationTimestamp); - result = result * 31 + FLTPigeonDeepHash(self.lastSignInTimestamp); - return result; -} -@end - -@implementation InternalUserDetails -+ (instancetype)makeWithUserInfo:(InternalUserInfo *)userInfo - providerData:(NSArray *> *)providerData { - InternalUserDetails *pigeonResult = [[InternalUserDetails alloc] init]; - pigeonResult.userInfo = userInfo; - pigeonResult.providerData = providerData; - return pigeonResult; -} -+ (InternalUserDetails *)fromList:(NSArray *)list { - InternalUserDetails *pigeonResult = [[InternalUserDetails alloc] init]; - pigeonResult.userInfo = GetNullableObjectAtIndex(list, 0); - pigeonResult.providerData = GetNullableObjectAtIndex(list, 1); - return pigeonResult; -} -+ (nullable InternalUserDetails *)nullableFromList:(NSArray *)list { - return (list) ? [InternalUserDetails fromList:list] : nil; -} -- (NSArray *)toList { - return @[ - self.userInfo ?: [NSNull null], - self.providerData ?: [NSNull null], - ]; -} -- (BOOL)isEqual:(id)object { - if (self == object) { - return YES; - } - if (![object isKindOfClass:[self class]]) { - return NO; - } - InternalUserDetails *other = (InternalUserDetails *)object; - return FLTPigeonDeepEquals(self.userInfo, other.userInfo) && - FLTPigeonDeepEquals(self.providerData, other.providerData); -} - -- (NSUInteger)hash { - NSUInteger result = [self class].hash; - result = result * 31 + FLTPigeonDeepHash(self.userInfo); - result = result * 31 + FLTPigeonDeepHash(self.providerData); - return result; -} -@end - -@implementation InternalUserCredential -+ (instancetype)makeWithUser:(nullable InternalUserDetails *)user - additionalUserInfo:(nullable InternalAdditionalUserInfo *)additionalUserInfo - credential:(nullable InternalAuthCredential *)credential { - InternalUserCredential *pigeonResult = [[InternalUserCredential alloc] init]; - pigeonResult.user = user; - pigeonResult.additionalUserInfo = additionalUserInfo; - pigeonResult.credential = credential; - return pigeonResult; -} -+ (InternalUserCredential *)fromList:(NSArray *)list { - InternalUserCredential *pigeonResult = [[InternalUserCredential alloc] init]; - pigeonResult.user = GetNullableObjectAtIndex(list, 0); - pigeonResult.additionalUserInfo = GetNullableObjectAtIndex(list, 1); - pigeonResult.credential = GetNullableObjectAtIndex(list, 2); - return pigeonResult; -} -+ (nullable InternalUserCredential *)nullableFromList:(NSArray *)list { - return (list) ? [InternalUserCredential fromList:list] : nil; -} -- (NSArray *)toList { - return @[ - self.user ?: [NSNull null], - self.additionalUserInfo ?: [NSNull null], - self.credential ?: [NSNull null], - ]; -} -- (BOOL)isEqual:(id)object { - if (self == object) { - return YES; - } - if (![object isKindOfClass:[self class]]) { - return NO; - } - InternalUserCredential *other = (InternalUserCredential *)object; - return FLTPigeonDeepEquals(self.user, other.user) && - FLTPigeonDeepEquals(self.additionalUserInfo, other.additionalUserInfo) && - FLTPigeonDeepEquals(self.credential, other.credential); -} - -- (NSUInteger)hash { - NSUInteger result = [self class].hash; - result = result * 31 + FLTPigeonDeepHash(self.user); - result = result * 31 + FLTPigeonDeepHash(self.additionalUserInfo); - result = result * 31 + FLTPigeonDeepHash(self.credential); - return result; -} -@end - -@implementation InternalAuthCredentialInput -+ (instancetype)makeWithProviderId:(NSString *)providerId - signInMethod:(NSString *)signInMethod - token:(nullable NSString *)token - accessToken:(nullable NSString *)accessToken { - InternalAuthCredentialInput *pigeonResult = [[InternalAuthCredentialInput alloc] init]; - pigeonResult.providerId = providerId; - pigeonResult.signInMethod = signInMethod; - pigeonResult.token = token; - pigeonResult.accessToken = accessToken; - return pigeonResult; -} -+ (InternalAuthCredentialInput *)fromList:(NSArray *)list { - InternalAuthCredentialInput *pigeonResult = [[InternalAuthCredentialInput alloc] init]; - pigeonResult.providerId = GetNullableObjectAtIndex(list, 0); - pigeonResult.signInMethod = GetNullableObjectAtIndex(list, 1); - pigeonResult.token = GetNullableObjectAtIndex(list, 2); - pigeonResult.accessToken = GetNullableObjectAtIndex(list, 3); - return pigeonResult; -} -+ (nullable InternalAuthCredentialInput *)nullableFromList:(NSArray *)list { - return (list) ? [InternalAuthCredentialInput fromList:list] : nil; -} -- (NSArray *)toList { - return @[ - self.providerId ?: [NSNull null], - self.signInMethod ?: [NSNull null], - self.token ?: [NSNull null], - self.accessToken ?: [NSNull null], - ]; -} -- (BOOL)isEqual:(id)object { - if (self == object) { - return YES; - } - if (![object isKindOfClass:[self class]]) { - return NO; - } - InternalAuthCredentialInput *other = (InternalAuthCredentialInput *)object; - return FLTPigeonDeepEquals(self.providerId, other.providerId) && - FLTPigeonDeepEquals(self.signInMethod, other.signInMethod) && - FLTPigeonDeepEquals(self.token, other.token) && - FLTPigeonDeepEquals(self.accessToken, other.accessToken); -} - -- (NSUInteger)hash { - NSUInteger result = [self class].hash; - result = result * 31 + FLTPigeonDeepHash(self.providerId); - result = result * 31 + FLTPigeonDeepHash(self.signInMethod); - result = result * 31 + FLTPigeonDeepHash(self.token); - result = result * 31 + FLTPigeonDeepHash(self.accessToken); - return result; -} -@end - -@implementation InternalActionCodeSettings -+ (instancetype)makeWithUrl:(NSString *)url - dynamicLinkDomain:(nullable NSString *)dynamicLinkDomain - handleCodeInApp:(BOOL)handleCodeInApp - iOSBundleId:(nullable NSString *)iOSBundleId - androidPackageName:(nullable NSString *)androidPackageName - androidInstallApp:(BOOL)androidInstallApp - androidMinimumVersion:(nullable NSString *)androidMinimumVersion - linkDomain:(nullable NSString *)linkDomain { - InternalActionCodeSettings *pigeonResult = [[InternalActionCodeSettings alloc] init]; - pigeonResult.url = url; - pigeonResult.dynamicLinkDomain = dynamicLinkDomain; - pigeonResult.handleCodeInApp = handleCodeInApp; - pigeonResult.iOSBundleId = iOSBundleId; - pigeonResult.androidPackageName = androidPackageName; - pigeonResult.androidInstallApp = androidInstallApp; - pigeonResult.androidMinimumVersion = androidMinimumVersion; - pigeonResult.linkDomain = linkDomain; - return pigeonResult; -} -+ (InternalActionCodeSettings *)fromList:(NSArray *)list { - InternalActionCodeSettings *pigeonResult = [[InternalActionCodeSettings alloc] init]; - pigeonResult.url = GetNullableObjectAtIndex(list, 0); - pigeonResult.dynamicLinkDomain = GetNullableObjectAtIndex(list, 1); - pigeonResult.handleCodeInApp = [GetNullableObjectAtIndex(list, 2) boolValue]; - pigeonResult.iOSBundleId = GetNullableObjectAtIndex(list, 3); - pigeonResult.androidPackageName = GetNullableObjectAtIndex(list, 4); - pigeonResult.androidInstallApp = [GetNullableObjectAtIndex(list, 5) boolValue]; - pigeonResult.androidMinimumVersion = GetNullableObjectAtIndex(list, 6); - pigeonResult.linkDomain = GetNullableObjectAtIndex(list, 7); - return pigeonResult; -} -+ (nullable InternalActionCodeSettings *)nullableFromList:(NSArray *)list { - return (list) ? [InternalActionCodeSettings fromList:list] : nil; -} -- (NSArray *)toList { - return @[ - self.url ?: [NSNull null], - self.dynamicLinkDomain ?: [NSNull null], - @(self.handleCodeInApp), - self.iOSBundleId ?: [NSNull null], - self.androidPackageName ?: [NSNull null], - @(self.androidInstallApp), - self.androidMinimumVersion ?: [NSNull null], - self.linkDomain ?: [NSNull null], - ]; -} -- (BOOL)isEqual:(id)object { - if (self == object) { - return YES; - } - if (![object isKindOfClass:[self class]]) { - return NO; - } - InternalActionCodeSettings *other = (InternalActionCodeSettings *)object; - return FLTPigeonDeepEquals(self.url, other.url) && - FLTPigeonDeepEquals(self.dynamicLinkDomain, other.dynamicLinkDomain) && - self.handleCodeInApp == other.handleCodeInApp && - FLTPigeonDeepEquals(self.iOSBundleId, other.iOSBundleId) && - FLTPigeonDeepEquals(self.androidPackageName, other.androidPackageName) && - self.androidInstallApp == other.androidInstallApp && - FLTPigeonDeepEquals(self.androidMinimumVersion, other.androidMinimumVersion) && - FLTPigeonDeepEquals(self.linkDomain, other.linkDomain); -} - -- (NSUInteger)hash { - NSUInteger result = [self class].hash; - result = result * 31 + FLTPigeonDeepHash(self.url); - result = result * 31 + FLTPigeonDeepHash(self.dynamicLinkDomain); - result = result * 31 + @(self.handleCodeInApp).hash; - result = result * 31 + FLTPigeonDeepHash(self.iOSBundleId); - result = result * 31 + FLTPigeonDeepHash(self.androidPackageName); - result = result * 31 + @(self.androidInstallApp).hash; - result = result * 31 + FLTPigeonDeepHash(self.androidMinimumVersion); - result = result * 31 + FLTPigeonDeepHash(self.linkDomain); - return result; -} -@end - -@implementation InternalFirebaseAuthSettings -+ (instancetype)makeWithAppVerificationDisabledForTesting:(BOOL)appVerificationDisabledForTesting - userAccessGroup:(nullable NSString *)userAccessGroup - phoneNumber:(nullable NSString *)phoneNumber - smsCode:(nullable NSString *)smsCode - forceRecaptchaFlow:(nullable NSNumber *)forceRecaptchaFlow { - InternalFirebaseAuthSettings *pigeonResult = [[InternalFirebaseAuthSettings alloc] init]; - pigeonResult.appVerificationDisabledForTesting = appVerificationDisabledForTesting; - pigeonResult.userAccessGroup = userAccessGroup; - pigeonResult.phoneNumber = phoneNumber; - pigeonResult.smsCode = smsCode; - pigeonResult.forceRecaptchaFlow = forceRecaptchaFlow; - return pigeonResult; -} -+ (InternalFirebaseAuthSettings *)fromList:(NSArray *)list { - InternalFirebaseAuthSettings *pigeonResult = [[InternalFirebaseAuthSettings alloc] init]; - pigeonResult.appVerificationDisabledForTesting = [GetNullableObjectAtIndex(list, 0) boolValue]; - pigeonResult.userAccessGroup = GetNullableObjectAtIndex(list, 1); - pigeonResult.phoneNumber = GetNullableObjectAtIndex(list, 2); - pigeonResult.smsCode = GetNullableObjectAtIndex(list, 3); - pigeonResult.forceRecaptchaFlow = GetNullableObjectAtIndex(list, 4); - return pigeonResult; -} -+ (nullable InternalFirebaseAuthSettings *)nullableFromList:(NSArray *)list { - return (list) ? [InternalFirebaseAuthSettings fromList:list] : nil; -} -- (NSArray *)toList { - return @[ - @(self.appVerificationDisabledForTesting), - self.userAccessGroup ?: [NSNull null], - self.phoneNumber ?: [NSNull null], - self.smsCode ?: [NSNull null], - self.forceRecaptchaFlow ?: [NSNull null], - ]; -} -- (BOOL)isEqual:(id)object { - if (self == object) { - return YES; - } - if (![object isKindOfClass:[self class]]) { - return NO; - } - InternalFirebaseAuthSettings *other = (InternalFirebaseAuthSettings *)object; - return self.appVerificationDisabledForTesting == other.appVerificationDisabledForTesting && - FLTPigeonDeepEquals(self.userAccessGroup, other.userAccessGroup) && - FLTPigeonDeepEquals(self.phoneNumber, other.phoneNumber) && - FLTPigeonDeepEquals(self.smsCode, other.smsCode) && - FLTPigeonDeepEquals(self.forceRecaptchaFlow, other.forceRecaptchaFlow); -} - -- (NSUInteger)hash { - NSUInteger result = [self class].hash; - result = result * 31 + @(self.appVerificationDisabledForTesting).hash; - result = result * 31 + FLTPigeonDeepHash(self.userAccessGroup); - result = result * 31 + FLTPigeonDeepHash(self.phoneNumber); - result = result * 31 + FLTPigeonDeepHash(self.smsCode); - result = result * 31 + FLTPigeonDeepHash(self.forceRecaptchaFlow); - return result; -} -@end - -@implementation InternalSignInProvider -+ (instancetype)makeWithProviderId:(NSString *)providerId - scopes:(nullable NSArray *)scopes - customParameters: - (nullable NSDictionary *)customParameters { - InternalSignInProvider *pigeonResult = [[InternalSignInProvider alloc] init]; - pigeonResult.providerId = providerId; - pigeonResult.scopes = scopes; - pigeonResult.customParameters = customParameters; - return pigeonResult; -} -+ (InternalSignInProvider *)fromList:(NSArray *)list { - InternalSignInProvider *pigeonResult = [[InternalSignInProvider alloc] init]; - pigeonResult.providerId = GetNullableObjectAtIndex(list, 0); - pigeonResult.scopes = GetNullableObjectAtIndex(list, 1); - pigeonResult.customParameters = GetNullableObjectAtIndex(list, 2); - return pigeonResult; -} -+ (nullable InternalSignInProvider *)nullableFromList:(NSArray *)list { - return (list) ? [InternalSignInProvider fromList:list] : nil; -} -- (NSArray *)toList { - return @[ - self.providerId ?: [NSNull null], - self.scopes ?: [NSNull null], - self.customParameters ?: [NSNull null], - ]; -} -- (BOOL)isEqual:(id)object { - if (self == object) { - return YES; - } - if (![object isKindOfClass:[self class]]) { - return NO; - } - InternalSignInProvider *other = (InternalSignInProvider *)object; - return FLTPigeonDeepEquals(self.providerId, other.providerId) && - FLTPigeonDeepEquals(self.scopes, other.scopes) && - FLTPigeonDeepEquals(self.customParameters, other.customParameters); -} - -- (NSUInteger)hash { - NSUInteger result = [self class].hash; - result = result * 31 + FLTPigeonDeepHash(self.providerId); - result = result * 31 + FLTPigeonDeepHash(self.scopes); - result = result * 31 + FLTPigeonDeepHash(self.customParameters); - return result; -} -@end - -@implementation InternalVerifyPhoneNumberRequest -+ (instancetype)makeWithPhoneNumber:(nullable NSString *)phoneNumber - timeout:(NSInteger)timeout - forceResendingToken:(nullable NSNumber *)forceResendingToken - autoRetrievedSmsCodeForTesting:(nullable NSString *)autoRetrievedSmsCodeForTesting - multiFactorInfoId:(nullable NSString *)multiFactorInfoId - multiFactorSessionId:(nullable NSString *)multiFactorSessionId { - InternalVerifyPhoneNumberRequest *pigeonResult = [[InternalVerifyPhoneNumberRequest alloc] init]; - pigeonResult.phoneNumber = phoneNumber; - pigeonResult.timeout = timeout; - pigeonResult.forceResendingToken = forceResendingToken; - pigeonResult.autoRetrievedSmsCodeForTesting = autoRetrievedSmsCodeForTesting; - pigeonResult.multiFactorInfoId = multiFactorInfoId; - pigeonResult.multiFactorSessionId = multiFactorSessionId; - return pigeonResult; -} -+ (InternalVerifyPhoneNumberRequest *)fromList:(NSArray *)list { - InternalVerifyPhoneNumberRequest *pigeonResult = [[InternalVerifyPhoneNumberRequest alloc] init]; - pigeonResult.phoneNumber = GetNullableObjectAtIndex(list, 0); - pigeonResult.timeout = [GetNullableObjectAtIndex(list, 1) integerValue]; - pigeonResult.forceResendingToken = GetNullableObjectAtIndex(list, 2); - pigeonResult.autoRetrievedSmsCodeForTesting = GetNullableObjectAtIndex(list, 3); - pigeonResult.multiFactorInfoId = GetNullableObjectAtIndex(list, 4); - pigeonResult.multiFactorSessionId = GetNullableObjectAtIndex(list, 5); - return pigeonResult; -} -+ (nullable InternalVerifyPhoneNumberRequest *)nullableFromList:(NSArray *)list { - return (list) ? [InternalVerifyPhoneNumberRequest fromList:list] : nil; -} -- (NSArray *)toList { - return @[ - self.phoneNumber ?: [NSNull null], - @(self.timeout), - self.forceResendingToken ?: [NSNull null], - self.autoRetrievedSmsCodeForTesting ?: [NSNull null], - self.multiFactorInfoId ?: [NSNull null], - self.multiFactorSessionId ?: [NSNull null], - ]; -} -- (BOOL)isEqual:(id)object { - if (self == object) { - return YES; - } - if (![object isKindOfClass:[self class]]) { - return NO; - } - InternalVerifyPhoneNumberRequest *other = (InternalVerifyPhoneNumberRequest *)object; - return FLTPigeonDeepEquals(self.phoneNumber, other.phoneNumber) && - self.timeout == other.timeout && - FLTPigeonDeepEquals(self.forceResendingToken, other.forceResendingToken) && - FLTPigeonDeepEquals(self.autoRetrievedSmsCodeForTesting, - other.autoRetrievedSmsCodeForTesting) && - FLTPigeonDeepEquals(self.multiFactorInfoId, other.multiFactorInfoId) && - FLTPigeonDeepEquals(self.multiFactorSessionId, other.multiFactorSessionId); -} - -- (NSUInteger)hash { - NSUInteger result = [self class].hash; - result = result * 31 + FLTPigeonDeepHash(self.phoneNumber); - result = result * 31 + @(self.timeout).hash; - result = result * 31 + FLTPigeonDeepHash(self.forceResendingToken); - result = result * 31 + FLTPigeonDeepHash(self.autoRetrievedSmsCodeForTesting); - result = result * 31 + FLTPigeonDeepHash(self.multiFactorInfoId); - result = result * 31 + FLTPigeonDeepHash(self.multiFactorSessionId); - return result; -} -@end - -@implementation InternalIdTokenResult -+ (instancetype)makeWithToken:(nullable NSString *)token - expirationTimestamp:(nullable NSNumber *)expirationTimestamp - authTimestamp:(nullable NSNumber *)authTimestamp - issuedAtTimestamp:(nullable NSNumber *)issuedAtTimestamp - signInProvider:(nullable NSString *)signInProvider - claims:(nullable NSDictionary *)claims - signInSecondFactor:(nullable NSString *)signInSecondFactor { - InternalIdTokenResult *pigeonResult = [[InternalIdTokenResult alloc] init]; - pigeonResult.token = token; - pigeonResult.expirationTimestamp = expirationTimestamp; - pigeonResult.authTimestamp = authTimestamp; - pigeonResult.issuedAtTimestamp = issuedAtTimestamp; - pigeonResult.signInProvider = signInProvider; - pigeonResult.claims = claims; - pigeonResult.signInSecondFactor = signInSecondFactor; - return pigeonResult; -} -+ (InternalIdTokenResult *)fromList:(NSArray *)list { - InternalIdTokenResult *pigeonResult = [[InternalIdTokenResult alloc] init]; - pigeonResult.token = GetNullableObjectAtIndex(list, 0); - pigeonResult.expirationTimestamp = GetNullableObjectAtIndex(list, 1); - pigeonResult.authTimestamp = GetNullableObjectAtIndex(list, 2); - pigeonResult.issuedAtTimestamp = GetNullableObjectAtIndex(list, 3); - pigeonResult.signInProvider = GetNullableObjectAtIndex(list, 4); - pigeonResult.claims = GetNullableObjectAtIndex(list, 5); - pigeonResult.signInSecondFactor = GetNullableObjectAtIndex(list, 6); - return pigeonResult; -} -+ (nullable InternalIdTokenResult *)nullableFromList:(NSArray *)list { - return (list) ? [InternalIdTokenResult fromList:list] : nil; -} -- (NSArray *)toList { - return @[ - self.token ?: [NSNull null], - self.expirationTimestamp ?: [NSNull null], - self.authTimestamp ?: [NSNull null], - self.issuedAtTimestamp ?: [NSNull null], - self.signInProvider ?: [NSNull null], - self.claims ?: [NSNull null], - self.signInSecondFactor ?: [NSNull null], - ]; -} -- (BOOL)isEqual:(id)object { - if (self == object) { - return YES; - } - if (![object isKindOfClass:[self class]]) { - return NO; - } - InternalIdTokenResult *other = (InternalIdTokenResult *)object; - return FLTPigeonDeepEquals(self.token, other.token) && - FLTPigeonDeepEquals(self.expirationTimestamp, other.expirationTimestamp) && - FLTPigeonDeepEquals(self.authTimestamp, other.authTimestamp) && - FLTPigeonDeepEquals(self.issuedAtTimestamp, other.issuedAtTimestamp) && - FLTPigeonDeepEquals(self.signInProvider, other.signInProvider) && - FLTPigeonDeepEquals(self.claims, other.claims) && - FLTPigeonDeepEquals(self.signInSecondFactor, other.signInSecondFactor); -} - -- (NSUInteger)hash { - NSUInteger result = [self class].hash; - result = result * 31 + FLTPigeonDeepHash(self.token); - result = result * 31 + FLTPigeonDeepHash(self.expirationTimestamp); - result = result * 31 + FLTPigeonDeepHash(self.authTimestamp); - result = result * 31 + FLTPigeonDeepHash(self.issuedAtTimestamp); - result = result * 31 + FLTPigeonDeepHash(self.signInProvider); - result = result * 31 + FLTPigeonDeepHash(self.claims); - result = result * 31 + FLTPigeonDeepHash(self.signInSecondFactor); - return result; -} -@end - -@implementation InternalUserProfile -+ (instancetype)makeWithDisplayName:(nullable NSString *)displayName - photoUrl:(nullable NSString *)photoUrl - displayNameChanged:(BOOL)displayNameChanged - photoUrlChanged:(BOOL)photoUrlChanged { - InternalUserProfile *pigeonResult = [[InternalUserProfile alloc] init]; - pigeonResult.displayName = displayName; - pigeonResult.photoUrl = photoUrl; - pigeonResult.displayNameChanged = displayNameChanged; - pigeonResult.photoUrlChanged = photoUrlChanged; - return pigeonResult; -} -+ (InternalUserProfile *)fromList:(NSArray *)list { - InternalUserProfile *pigeonResult = [[InternalUserProfile alloc] init]; - pigeonResult.displayName = GetNullableObjectAtIndex(list, 0); - pigeonResult.photoUrl = GetNullableObjectAtIndex(list, 1); - pigeonResult.displayNameChanged = [GetNullableObjectAtIndex(list, 2) boolValue]; - pigeonResult.photoUrlChanged = [GetNullableObjectAtIndex(list, 3) boolValue]; - return pigeonResult; -} -+ (nullable InternalUserProfile *)nullableFromList:(NSArray *)list { - return (list) ? [InternalUserProfile fromList:list] : nil; -} -- (NSArray *)toList { - return @[ - self.displayName ?: [NSNull null], - self.photoUrl ?: [NSNull null], - @(self.displayNameChanged), - @(self.photoUrlChanged), - ]; -} -- (BOOL)isEqual:(id)object { - if (self == object) { - return YES; - } - if (![object isKindOfClass:[self class]]) { - return NO; - } - InternalUserProfile *other = (InternalUserProfile *)object; - return FLTPigeonDeepEquals(self.displayName, other.displayName) && - FLTPigeonDeepEquals(self.photoUrl, other.photoUrl) && - self.displayNameChanged == other.displayNameChanged && - self.photoUrlChanged == other.photoUrlChanged; -} - -- (NSUInteger)hash { - NSUInteger result = [self class].hash; - result = result * 31 + FLTPigeonDeepHash(self.displayName); - result = result * 31 + FLTPigeonDeepHash(self.photoUrl); - result = result * 31 + @(self.displayNameChanged).hash; - result = result * 31 + @(self.photoUrlChanged).hash; - return result; -} -@end - -@implementation InternalTotpSecret -+ (instancetype)makeWithCodeIntervalSeconds:(nullable NSNumber *)codeIntervalSeconds - codeLength:(nullable NSNumber *)codeLength - enrollmentCompletionDeadline:(nullable NSNumber *)enrollmentCompletionDeadline - hashingAlgorithm:(nullable NSString *)hashingAlgorithm - secretKey:(NSString *)secretKey { - InternalTotpSecret *pigeonResult = [[InternalTotpSecret alloc] init]; - pigeonResult.codeIntervalSeconds = codeIntervalSeconds; - pigeonResult.codeLength = codeLength; - pigeonResult.enrollmentCompletionDeadline = enrollmentCompletionDeadline; - pigeonResult.hashingAlgorithm = hashingAlgorithm; - pigeonResult.secretKey = secretKey; - return pigeonResult; -} -+ (InternalTotpSecret *)fromList:(NSArray *)list { - InternalTotpSecret *pigeonResult = [[InternalTotpSecret alloc] init]; - pigeonResult.codeIntervalSeconds = GetNullableObjectAtIndex(list, 0); - pigeonResult.codeLength = GetNullableObjectAtIndex(list, 1); - pigeonResult.enrollmentCompletionDeadline = GetNullableObjectAtIndex(list, 2); - pigeonResult.hashingAlgorithm = GetNullableObjectAtIndex(list, 3); - pigeonResult.secretKey = GetNullableObjectAtIndex(list, 4); - return pigeonResult; -} -+ (nullable InternalTotpSecret *)nullableFromList:(NSArray *)list { - return (list) ? [InternalTotpSecret fromList:list] : nil; -} -- (NSArray *)toList { - return @[ - self.codeIntervalSeconds ?: [NSNull null], - self.codeLength ?: [NSNull null], - self.enrollmentCompletionDeadline ?: [NSNull null], - self.hashingAlgorithm ?: [NSNull null], - self.secretKey ?: [NSNull null], - ]; -} -- (BOOL)isEqual:(id)object { - if (self == object) { - return YES; - } - if (![object isKindOfClass:[self class]]) { - return NO; - } - InternalTotpSecret *other = (InternalTotpSecret *)object; - return FLTPigeonDeepEquals(self.codeIntervalSeconds, other.codeIntervalSeconds) && - FLTPigeonDeepEquals(self.codeLength, other.codeLength) && - FLTPigeonDeepEquals(self.enrollmentCompletionDeadline, - other.enrollmentCompletionDeadline) && - FLTPigeonDeepEquals(self.hashingAlgorithm, other.hashingAlgorithm) && - FLTPigeonDeepEquals(self.secretKey, other.secretKey); -} - -- (NSUInteger)hash { - NSUInteger result = [self class].hash; - result = result * 31 + FLTPigeonDeepHash(self.codeIntervalSeconds); - result = result * 31 + FLTPigeonDeepHash(self.codeLength); - result = result * 31 + FLTPigeonDeepHash(self.enrollmentCompletionDeadline); - result = result * 31 + FLTPigeonDeepHash(self.hashingAlgorithm); - result = result * 31 + FLTPigeonDeepHash(self.secretKey); - return result; -} -@end - -@interface nullFirebaseAuthMessagesPigeonCodecReader : FlutterStandardReader -@end -@implementation nullFirebaseAuthMessagesPigeonCodecReader -- (nullable id)readValueOfType:(UInt8)type { - switch (type) { - case 129: { - NSNumber *enumAsNumber = [self readValue]; - return enumAsNumber == nil - ? nil - : [[ActionCodeInfoOperationBox alloc] initWithValue:[enumAsNumber integerValue]]; - } - case 130: - return [InternalMultiFactorSession fromList:[self readValue]]; - case 131: - return [InternalPhoneMultiFactorAssertion fromList:[self readValue]]; - case 132: - return [InternalMultiFactorInfo fromList:[self readValue]]; - case 133: - return [AuthPigeonFirebaseApp fromList:[self readValue]]; - case 134: - return [InternalActionCodeInfoData fromList:[self readValue]]; - case 135: - return [InternalActionCodeInfo fromList:[self readValue]]; - case 136: - return [InternalAdditionalUserInfo fromList:[self readValue]]; - case 137: - return [InternalAuthCredential fromList:[self readValue]]; - case 138: - return [InternalUserInfo fromList:[self readValue]]; - case 139: - return [InternalUserDetails fromList:[self readValue]]; - case 140: - return [InternalUserCredential fromList:[self readValue]]; - case 141: - return [InternalAuthCredentialInput fromList:[self readValue]]; - case 142: - return [InternalActionCodeSettings fromList:[self readValue]]; - case 143: - return [InternalFirebaseAuthSettings fromList:[self readValue]]; - case 144: - return [InternalSignInProvider fromList:[self readValue]]; - case 145: - return [InternalVerifyPhoneNumberRequest fromList:[self readValue]]; - case 146: - return [InternalIdTokenResult fromList:[self readValue]]; - case 147: - return [InternalUserProfile fromList:[self readValue]]; - case 148: - return [InternalTotpSecret fromList:[self readValue]]; - default: - return [super readValueOfType:type]; - } -} -@end - -@interface nullFirebaseAuthMessagesPigeonCodecWriter : FlutterStandardWriter -@end -@implementation nullFirebaseAuthMessagesPigeonCodecWriter -- (void)writeValue:(id)value { - if ([value isKindOfClass:[ActionCodeInfoOperationBox class]]) { - ActionCodeInfoOperationBox *box = (ActionCodeInfoOperationBox *)value; - [self writeByte:129]; - [self writeValue:(value == nil ? [NSNull null] : [NSNumber numberWithInteger:box.value])]; - } else if ([value isKindOfClass:[InternalMultiFactorSession class]]) { - [self writeByte:130]; - [self writeValue:[value toList]]; - } else if ([value isKindOfClass:[InternalPhoneMultiFactorAssertion class]]) { - [self writeByte:131]; - [self writeValue:[value toList]]; - } else if ([value isKindOfClass:[InternalMultiFactorInfo class]]) { - [self writeByte:132]; - [self writeValue:[value toList]]; - } else if ([value isKindOfClass:[AuthPigeonFirebaseApp class]]) { - [self writeByte:133]; - [self writeValue:[value toList]]; - } else if ([value isKindOfClass:[InternalActionCodeInfoData class]]) { - [self writeByte:134]; - [self writeValue:[value toList]]; - } else if ([value isKindOfClass:[InternalActionCodeInfo class]]) { - [self writeByte:135]; - [self writeValue:[value toList]]; - } else if ([value isKindOfClass:[InternalAdditionalUserInfo class]]) { - [self writeByte:136]; - [self writeValue:[value toList]]; - } else if ([value isKindOfClass:[InternalAuthCredential class]]) { - [self writeByte:137]; - [self writeValue:[value toList]]; - } else if ([value isKindOfClass:[InternalUserInfo class]]) { - [self writeByte:138]; - [self writeValue:[value toList]]; - } else if ([value isKindOfClass:[InternalUserDetails class]]) { - [self writeByte:139]; - [self writeValue:[value toList]]; - } else if ([value isKindOfClass:[InternalUserCredential class]]) { - [self writeByte:140]; - [self writeValue:[value toList]]; - } else if ([value isKindOfClass:[InternalAuthCredentialInput class]]) { - [self writeByte:141]; - [self writeValue:[value toList]]; - } else if ([value isKindOfClass:[InternalActionCodeSettings class]]) { - [self writeByte:142]; - [self writeValue:[value toList]]; - } else if ([value isKindOfClass:[InternalFirebaseAuthSettings class]]) { - [self writeByte:143]; - [self writeValue:[value toList]]; - } else if ([value isKindOfClass:[InternalSignInProvider class]]) { - [self writeByte:144]; - [self writeValue:[value toList]]; - } else if ([value isKindOfClass:[InternalVerifyPhoneNumberRequest class]]) { - [self writeByte:145]; - [self writeValue:[value toList]]; - } else if ([value isKindOfClass:[InternalIdTokenResult class]]) { - [self writeByte:146]; - [self writeValue:[value toList]]; - } else if ([value isKindOfClass:[InternalUserProfile class]]) { - [self writeByte:147]; - [self writeValue:[value toList]]; - } else if ([value isKindOfClass:[InternalTotpSecret class]]) { - [self writeByte:148]; - [self writeValue:[value toList]]; - } else { - [super writeValue:value]; - } -} -@end - -@interface nullFirebaseAuthMessagesPigeonCodecReaderWriter : FlutterStandardReaderWriter -@end -@implementation nullFirebaseAuthMessagesPigeonCodecReaderWriter -- (FlutterStandardWriter *)writerWithData:(NSMutableData *)data { - return [[nullFirebaseAuthMessagesPigeonCodecWriter alloc] initWithData:data]; -} -- (FlutterStandardReader *)readerWithData:(NSData *)data { - return [[nullFirebaseAuthMessagesPigeonCodecReader alloc] initWithData:data]; -} -@end - -NSObject *nullGetFirebaseAuthMessagesCodec(void) { - static FlutterStandardMessageCodec *sSharedObject = nil; - static dispatch_once_t sPred = 0; - dispatch_once(&sPred, ^{ - nullFirebaseAuthMessagesPigeonCodecReaderWriter *readerWriter = - [[nullFirebaseAuthMessagesPigeonCodecReaderWriter alloc] init]; - sSharedObject = [FlutterStandardMessageCodec codecWithReaderWriter:readerWriter]; - }); - return sSharedObject; -} -void SetUpFirebaseAuthHostApi(id binaryMessenger, - NSObject *api) { - SetUpFirebaseAuthHostApiWithSuffix(binaryMessenger, api, @""); -} - -void SetUpFirebaseAuthHostApiWithSuffix(id binaryMessenger, - NSObject *api, - NSString *messageChannelSuffix) { - messageChannelSuffix = messageChannelSuffix.length > 0 - ? [NSString stringWithFormat:@".%@", messageChannelSuffix] - : @""; - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString - stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_interface." - @"FirebaseAuthHostApi.registerIdTokenListener", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert([api respondsToSelector:@selector(registerIdTokenListenerApp:completion:)], - @"FirebaseAuthHostApi api (%@) doesn't respond to " - @"@selector(registerIdTokenListenerApp:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - [api registerIdTokenListenerApp:arg_app - completion:^(NSString *_Nullable output, - FlutterError *_Nullable error) { - callback(wrapResult(output, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString - stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_interface." - @"FirebaseAuthHostApi.registerAuthStateListener", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert([api respondsToSelector:@selector(registerAuthStateListenerApp:completion:)], - @"FirebaseAuthHostApi api (%@) doesn't respond to " - @"@selector(registerAuthStateListenerApp:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - [api registerAuthStateListenerApp:arg_app - completion:^(NSString *_Nullable output, - FlutterError *_Nullable error) { - callback(wrapResult(output, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_" - @"interface.FirebaseAuthHostApi.useEmulator", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert([api respondsToSelector:@selector(useEmulatorApp:host:port:completion:)], - @"FirebaseAuthHostApi api (%@) doesn't respond to " - @"@selector(useEmulatorApp:host:port:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - NSString *arg_host = GetNullableObjectAtIndex(args, 1); - NSInteger arg_port = [GetNullableObjectAtIndex(args, 2) integerValue]; - [api useEmulatorApp:arg_app - host:arg_host - port:arg_port - completion:^(FlutterError *_Nullable error) { - callback(wrapResult(nil, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_" - @"interface.FirebaseAuthHostApi.applyActionCode", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert([api respondsToSelector:@selector(applyActionCodeApp:code:completion:)], - @"FirebaseAuthHostApi api (%@) doesn't respond to " - @"@selector(applyActionCodeApp:code:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - NSString *arg_code = GetNullableObjectAtIndex(args, 1); - [api applyActionCodeApp:arg_app - code:arg_code - completion:^(FlutterError *_Nullable error) { - callback(wrapResult(nil, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_" - @"interface.FirebaseAuthHostApi.checkActionCode", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert([api respondsToSelector:@selector(checkActionCodeApp:code:completion:)], - @"FirebaseAuthHostApi api (%@) doesn't respond to " - @"@selector(checkActionCodeApp:code:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - NSString *arg_code = GetNullableObjectAtIndex(args, 1); - [api checkActionCodeApp:arg_app - code:arg_code - completion:^(InternalActionCodeInfo *_Nullable output, - FlutterError *_Nullable error) { - callback(wrapResult(output, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString - stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_interface." - @"FirebaseAuthHostApi.confirmPasswordReset", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert( - [api respondsToSelector:@selector(confirmPasswordResetApp:code:newPassword:completion:)], - @"FirebaseAuthHostApi api (%@) doesn't respond to " - @"@selector(confirmPasswordResetApp:code:newPassword:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - NSString *arg_code = GetNullableObjectAtIndex(args, 1); - NSString *arg_newPassword = GetNullableObjectAtIndex(args, 2); - [api confirmPasswordResetApp:arg_app - code:arg_code - newPassword:arg_newPassword - completion:^(FlutterError *_Nullable error) { - callback(wrapResult(nil, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString - stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_interface." - @"FirebaseAuthHostApi.createUserWithEmailAndPassword", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert( - [api - respondsToSelector:@selector( - createUserWithEmailAndPasswordApp:email:password:completion:)], - @"FirebaseAuthHostApi api (%@) doesn't respond to " - @"@selector(createUserWithEmailAndPasswordApp:email:password:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - NSString *arg_email = GetNullableObjectAtIndex(args, 1); - NSString *arg_password = GetNullableObjectAtIndex(args, 2); - [api createUserWithEmailAndPasswordApp:arg_app - email:arg_email - password:arg_password - completion:^(InternalUserCredential *_Nullable output, - FlutterError *_Nullable error) { - callback(wrapResult(output, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString - stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_interface." - @"FirebaseAuthHostApi.signInAnonymously", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert([api respondsToSelector:@selector(signInAnonymouslyApp:completion:)], - @"FirebaseAuthHostApi api (%@) doesn't respond to " - @"@selector(signInAnonymouslyApp:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - [api signInAnonymouslyApp:arg_app - completion:^(InternalUserCredential *_Nullable output, - FlutterError *_Nullable error) { - callback(wrapResult(output, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString - stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_interface." - @"FirebaseAuthHostApi.signInWithCredential", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert([api respondsToSelector:@selector(signInWithCredentialApp:input:completion:)], - @"FirebaseAuthHostApi api (%@) doesn't respond to " - @"@selector(signInWithCredentialApp:input:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - NSDictionary *arg_input = GetNullableObjectAtIndex(args, 1); - [api signInWithCredentialApp:arg_app - input:arg_input - completion:^(InternalUserCredential *_Nullable output, - FlutterError *_Nullable error) { - callback(wrapResult(output, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString - stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_interface." - @"FirebaseAuthHostApi.signInWithCustomToken", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert([api respondsToSelector:@selector(signInWithCustomTokenApp:token:completion:)], - @"FirebaseAuthHostApi api (%@) doesn't respond to " - @"@selector(signInWithCustomTokenApp:token:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - NSString *arg_token = GetNullableObjectAtIndex(args, 1); - [api signInWithCustomTokenApp:arg_app - token:arg_token - completion:^(InternalUserCredential *_Nullable output, - FlutterError *_Nullable error) { - callback(wrapResult(output, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString - stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_interface." - @"FirebaseAuthHostApi.signInWithEmailAndPassword", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert( - [api respondsToSelector:@selector( - signInWithEmailAndPasswordApp:email:password:completion:)], - @"FirebaseAuthHostApi api (%@) doesn't respond to " - @"@selector(signInWithEmailAndPasswordApp:email:password:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - NSString *arg_email = GetNullableObjectAtIndex(args, 1); - NSString *arg_password = GetNullableObjectAtIndex(args, 2); - [api signInWithEmailAndPasswordApp:arg_app - email:arg_email - password:arg_password - completion:^(InternalUserCredential *_Nullable output, - FlutterError *_Nullable error) { - callback(wrapResult(output, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString - stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_interface." - @"FirebaseAuthHostApi.signInWithEmailLink", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert( - [api respondsToSelector:@selector(signInWithEmailLinkApp:email:emailLink:completion:)], - @"FirebaseAuthHostApi api (%@) doesn't respond to " - @"@selector(signInWithEmailLinkApp:email:emailLink:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - NSString *arg_email = GetNullableObjectAtIndex(args, 1); - NSString *arg_emailLink = GetNullableObjectAtIndex(args, 2); - [api signInWithEmailLinkApp:arg_app - email:arg_email - emailLink:arg_emailLink - completion:^(InternalUserCredential *_Nullable output, - FlutterError *_Nullable error) { - callback(wrapResult(output, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString - stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_interface." - @"FirebaseAuthHostApi.signInWithProvider", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert( - [api respondsToSelector:@selector(signInWithProviderApp:signInProvider:completion:)], - @"FirebaseAuthHostApi api (%@) doesn't respond to " - @"@selector(signInWithProviderApp:signInProvider:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - InternalSignInProvider *arg_signInProvider = GetNullableObjectAtIndex(args, 1); - [api signInWithProviderApp:arg_app - signInProvider:arg_signInProvider - completion:^(InternalUserCredential *_Nullable output, - FlutterError *_Nullable error) { - callback(wrapResult(output, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_" - @"interface.FirebaseAuthHostApi.signOut", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert( - [api respondsToSelector:@selector(signOutApp:completion:)], - @"FirebaseAuthHostApi api (%@) doesn't respond to @selector(signOutApp:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - [api signOutApp:arg_app - completion:^(FlutterError *_Nullable error) { - callback(wrapResult(nil, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString - stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_interface." - @"FirebaseAuthHostApi.fetchSignInMethodsForEmail", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert([api respondsToSelector:@selector(fetchSignInMethodsForEmailApp:email:completion:)], - @"FirebaseAuthHostApi api (%@) doesn't respond to " - @"@selector(fetchSignInMethodsForEmailApp:email:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - NSString *arg_email = GetNullableObjectAtIndex(args, 1); - [api fetchSignInMethodsForEmailApp:arg_app - email:arg_email - completion:^(NSArray *_Nullable output, - FlutterError *_Nullable error) { - callback(wrapResult(output, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString - stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_interface." - @"FirebaseAuthHostApi.sendPasswordResetEmail", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert([api respondsToSelector: - @selector(sendPasswordResetEmailApp:email:actionCodeSettings:completion:)], - @"FirebaseAuthHostApi api (%@) doesn't respond to " - @"@selector(sendPasswordResetEmailApp:email:actionCodeSettings:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - NSString *arg_email = GetNullableObjectAtIndex(args, 1); - InternalActionCodeSettings *arg_actionCodeSettings = GetNullableObjectAtIndex(args, 2); - [api sendPasswordResetEmailApp:arg_app - email:arg_email - actionCodeSettings:arg_actionCodeSettings - completion:^(FlutterError *_Nullable error) { - callback(wrapResult(nil, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString - stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_interface." - @"FirebaseAuthHostApi.sendSignInLinkToEmail", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert([api respondsToSelector: - @selector(sendSignInLinkToEmailApp:email:actionCodeSettings:completion:)], - @"FirebaseAuthHostApi api (%@) doesn't respond to " - @"@selector(sendSignInLinkToEmailApp:email:actionCodeSettings:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - NSString *arg_email = GetNullableObjectAtIndex(args, 1); - InternalActionCodeSettings *arg_actionCodeSettings = GetNullableObjectAtIndex(args, 2); - [api sendSignInLinkToEmailApp:arg_app - email:arg_email - actionCodeSettings:arg_actionCodeSettings - completion:^(FlutterError *_Nullable error) { - callback(wrapResult(nil, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_" - @"interface.FirebaseAuthHostApi.setLanguageCode", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert([api respondsToSelector:@selector(setLanguageCodeApp:languageCode:completion:)], - @"FirebaseAuthHostApi api (%@) doesn't respond to " - @"@selector(setLanguageCodeApp:languageCode:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - NSString *arg_languageCode = GetNullableObjectAtIndex(args, 1); - [api setLanguageCodeApp:arg_app - languageCode:arg_languageCode - completion:^(NSString *_Nullable output, FlutterError *_Nullable error) { - callback(wrapResult(output, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_" - @"interface.FirebaseAuthHostApi.setSettings", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert([api respondsToSelector:@selector(setSettingsApp:settings:completion:)], - @"FirebaseAuthHostApi api (%@) doesn't respond to " - @"@selector(setSettingsApp:settings:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - InternalFirebaseAuthSettings *arg_settings = GetNullableObjectAtIndex(args, 1); - [api setSettingsApp:arg_app - settings:arg_settings - completion:^(FlutterError *_Nullable error) { - callback(wrapResult(nil, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString - stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_interface." - @"FirebaseAuthHostApi.verifyPasswordResetCode", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert([api respondsToSelector:@selector(verifyPasswordResetCodeApp:code:completion:)], - @"FirebaseAuthHostApi api (%@) doesn't respond to " - @"@selector(verifyPasswordResetCodeApp:code:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - NSString *arg_code = GetNullableObjectAtIndex(args, 1); - [api verifyPasswordResetCodeApp:arg_app - code:arg_code - completion:^(NSString *_Nullable output, - FlutterError *_Nullable error) { - callback(wrapResult(output, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString - stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_interface." - @"FirebaseAuthHostApi.verifyPhoneNumber", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert([api respondsToSelector:@selector(verifyPhoneNumberApp:request:completion:)], - @"FirebaseAuthHostApi api (%@) doesn't respond to " - @"@selector(verifyPhoneNumberApp:request:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - InternalVerifyPhoneNumberRequest *arg_request = GetNullableObjectAtIndex(args, 1); - [api verifyPhoneNumberApp:arg_app - request:arg_request - completion:^(NSString *_Nullable output, FlutterError *_Nullable error) { - callback(wrapResult(output, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName: - [NSString stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_interface." - @"FirebaseAuthHostApi.revokeTokenWithAuthorizationCode", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert([api respondsToSelector:@selector(revokeTokenWithAuthorizationCodeApp: - authorizationCode:completion:)], - @"FirebaseAuthHostApi api (%@) doesn't respond to " - @"@selector(revokeTokenWithAuthorizationCodeApp:authorizationCode:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - NSString *arg_authorizationCode = GetNullableObjectAtIndex(args, 1); - [api revokeTokenWithAuthorizationCodeApp:arg_app - authorizationCode:arg_authorizationCode - completion:^(FlutterError *_Nullable error) { - callback(wrapResult(nil, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString - stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_interface." - @"FirebaseAuthHostApi.revokeAccessToken", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert([api respondsToSelector:@selector(revokeAccessTokenApp:accessToken:completion:)], - @"FirebaseAuthHostApi api (%@) doesn't respond to " - @"@selector(revokeAccessTokenApp:accessToken:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - NSString *arg_accessToken = GetNullableObjectAtIndex(args, 1); - [api revokeAccessTokenApp:arg_app - accessToken:arg_accessToken - completion:^(FlutterError *_Nullable error) { - callback(wrapResult(nil, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString - stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_interface." - @"FirebaseAuthHostApi.initializeRecaptchaConfig", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert([api respondsToSelector:@selector(initializeRecaptchaConfigApp:completion:)], - @"FirebaseAuthHostApi api (%@) doesn't respond to " - @"@selector(initializeRecaptchaConfigApp:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - [api initializeRecaptchaConfigApp:arg_app - completion:^(FlutterError *_Nullable error) { - callback(wrapResult(nil, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } -} -void SetUpFirebaseAuthUserHostApi(id binaryMessenger, - NSObject *api) { - SetUpFirebaseAuthUserHostApiWithSuffix(binaryMessenger, api, @""); -} - -void SetUpFirebaseAuthUserHostApiWithSuffix(id binaryMessenger, - NSObject *api, - NSString *messageChannelSuffix) { - messageChannelSuffix = messageChannelSuffix.length > 0 - ? [NSString stringWithFormat:@".%@", messageChannelSuffix] - : @""; - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_" - @"interface.FirebaseAuthUserHostApi.delete", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert( - [api respondsToSelector:@selector(deleteApp:completion:)], - @"FirebaseAuthUserHostApi api (%@) doesn't respond to @selector(deleteApp:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - [api deleteApp:arg_app - completion:^(FlutterError *_Nullable error) { - callback(wrapResult(nil, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_" - @"interface.FirebaseAuthUserHostApi.getIdToken", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert([api respondsToSelector:@selector(getIdTokenApp:forceRefresh:completion:)], - @"FirebaseAuthUserHostApi api (%@) doesn't respond to " - @"@selector(getIdTokenApp:forceRefresh:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - BOOL arg_forceRefresh = [GetNullableObjectAtIndex(args, 1) boolValue]; - [api getIdTokenApp:arg_app - forceRefresh:arg_forceRefresh - completion:^(InternalIdTokenResult *_Nullable output, - FlutterError *_Nullable error) { - callback(wrapResult(output, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString - stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_interface." - @"FirebaseAuthUserHostApi.linkWithCredential", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert([api respondsToSelector:@selector(linkWithCredentialApp:input:completion:)], - @"FirebaseAuthUserHostApi api (%@) doesn't respond to " - @"@selector(linkWithCredentialApp:input:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - NSDictionary *arg_input = GetNullableObjectAtIndex(args, 1); - [api linkWithCredentialApp:arg_app - input:arg_input - completion:^(InternalUserCredential *_Nullable output, - FlutterError *_Nullable error) { - callback(wrapResult(output, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString - stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_interface." - @"FirebaseAuthUserHostApi.linkWithProvider", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert([api respondsToSelector:@selector(linkWithProviderApp:signInProvider:completion:)], - @"FirebaseAuthUserHostApi api (%@) doesn't respond to " - @"@selector(linkWithProviderApp:signInProvider:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - InternalSignInProvider *arg_signInProvider = GetNullableObjectAtIndex(args, 1); - [api linkWithProviderApp:arg_app - signInProvider:arg_signInProvider - completion:^(InternalUserCredential *_Nullable output, - FlutterError *_Nullable error) { - callback(wrapResult(output, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName: - [NSString stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_interface." - @"FirebaseAuthUserHostApi.reauthenticateWithCredential", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert( - [api respondsToSelector:@selector(reauthenticateWithCredentialApp:input:completion:)], - @"FirebaseAuthUserHostApi api (%@) doesn't respond to " - @"@selector(reauthenticateWithCredentialApp:input:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - NSDictionary *arg_input = GetNullableObjectAtIndex(args, 1); - [api reauthenticateWithCredentialApp:arg_app - input:arg_input - completion:^(InternalUserCredential *_Nullable output, - FlutterError *_Nullable error) { - callback(wrapResult(output, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString - stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_interface." - @"FirebaseAuthUserHostApi.reauthenticateWithProvider", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert( - [api respondsToSelector:@selector( - reauthenticateWithProviderApp:signInProvider:completion:)], - @"FirebaseAuthUserHostApi api (%@) doesn't respond to " - @"@selector(reauthenticateWithProviderApp:signInProvider:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - InternalSignInProvider *arg_signInProvider = GetNullableObjectAtIndex(args, 1); - [api reauthenticateWithProviderApp:arg_app - signInProvider:arg_signInProvider - completion:^(InternalUserCredential *_Nullable output, - FlutterError *_Nullable error) { - callback(wrapResult(output, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_" - @"interface.FirebaseAuthUserHostApi.reload", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert( - [api respondsToSelector:@selector(reloadApp:completion:)], - @"FirebaseAuthUserHostApi api (%@) doesn't respond to @selector(reloadApp:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - [api reloadApp:arg_app - completion:^(InternalUserDetails *_Nullable output, FlutterError *_Nullable error) { - callback(wrapResult(output, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString - stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_interface." - @"FirebaseAuthUserHostApi.sendEmailVerification", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert( - [api respondsToSelector:@selector( - sendEmailVerificationApp:actionCodeSettings:completion:)], - @"FirebaseAuthUserHostApi api (%@) doesn't respond to " - @"@selector(sendEmailVerificationApp:actionCodeSettings:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - InternalActionCodeSettings *arg_actionCodeSettings = GetNullableObjectAtIndex(args, 1); - [api sendEmailVerificationApp:arg_app - actionCodeSettings:arg_actionCodeSettings - completion:^(FlutterError *_Nullable error) { - callback(wrapResult(nil, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_" - @"interface.FirebaseAuthUserHostApi.unlink", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert([api respondsToSelector:@selector(unlinkApp:providerId:completion:)], - @"FirebaseAuthUserHostApi api (%@) doesn't respond to " - @"@selector(unlinkApp:providerId:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - NSString *arg_providerId = GetNullableObjectAtIndex(args, 1); - [api unlinkApp:arg_app - providerId:arg_providerId - completion:^(InternalUserCredential *_Nullable output, FlutterError *_Nullable error) { - callback(wrapResult(output, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_" - @"interface.FirebaseAuthUserHostApi.updateEmail", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert([api respondsToSelector:@selector(updateEmailApp:newEmail:completion:)], - @"FirebaseAuthUserHostApi api (%@) doesn't respond to " - @"@selector(updateEmailApp:newEmail:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - NSString *arg_newEmail = GetNullableObjectAtIndex(args, 1); - [api - updateEmailApp:arg_app - newEmail:arg_newEmail - completion:^(InternalUserDetails *_Nullable output, FlutterError *_Nullable error) { - callback(wrapResult(output, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString - stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_interface." - @"FirebaseAuthUserHostApi.updatePassword", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert([api respondsToSelector:@selector(updatePasswordApp:newPassword:completion:)], - @"FirebaseAuthUserHostApi api (%@) doesn't respond to " - @"@selector(updatePasswordApp:newPassword:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - NSString *arg_newPassword = GetNullableObjectAtIndex(args, 1); - [api updatePasswordApp:arg_app - newPassword:arg_newPassword - completion:^(InternalUserDetails *_Nullable output, - FlutterError *_Nullable error) { - callback(wrapResult(output, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString - stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_interface." - @"FirebaseAuthUserHostApi.updatePhoneNumber", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert([api respondsToSelector:@selector(updatePhoneNumberApp:input:completion:)], - @"FirebaseAuthUserHostApi api (%@) doesn't respond to " - @"@selector(updatePhoneNumberApp:input:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - NSDictionary *arg_input = GetNullableObjectAtIndex(args, 1); - [api updatePhoneNumberApp:arg_app - input:arg_input - completion:^(InternalUserDetails *_Nullable output, - FlutterError *_Nullable error) { - callback(wrapResult(output, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString - stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_interface." - @"FirebaseAuthUserHostApi.updateProfile", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert([api respondsToSelector:@selector(updateProfileApp:profile:completion:)], - @"FirebaseAuthUserHostApi api (%@) doesn't respond to " - @"@selector(updateProfileApp:profile:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - InternalUserProfile *arg_profile = GetNullableObjectAtIndex(args, 1); - [api updateProfileApp:arg_app - profile:arg_profile - completion:^(InternalUserDetails *_Nullable output, - FlutterError *_Nullable error) { - callback(wrapResult(output, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString - stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_interface." - @"FirebaseAuthUserHostApi.verifyBeforeUpdateEmail", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert([api respondsToSelector:@selector(verifyBeforeUpdateEmailApp:newEmail: - actionCodeSettings:completion:)], - @"FirebaseAuthUserHostApi api (%@) doesn't respond to " - @"@selector(verifyBeforeUpdateEmailApp:newEmail:actionCodeSettings:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - NSString *arg_newEmail = GetNullableObjectAtIndex(args, 1); - InternalActionCodeSettings *arg_actionCodeSettings = GetNullableObjectAtIndex(args, 2); - [api verifyBeforeUpdateEmailApp:arg_app - newEmail:arg_newEmail - actionCodeSettings:arg_actionCodeSettings - completion:^(FlutterError *_Nullable error) { - callback(wrapResult(nil, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } -} -void SetUpMultiFactorUserHostApi(id binaryMessenger, - NSObject *api) { - SetUpMultiFactorUserHostApiWithSuffix(binaryMessenger, api, @""); -} - -void SetUpMultiFactorUserHostApiWithSuffix(id binaryMessenger, - NSObject *api, - NSString *messageChannelSuffix) { - messageChannelSuffix = messageChannelSuffix.length > 0 - ? [NSString stringWithFormat:@".%@", messageChannelSuffix] - : @""; - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_" - @"interface.MultiFactorUserHostApi.enrollPhone", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert( - [api respondsToSelector:@selector(enrollPhoneApp:assertion:displayName:completion:)], - @"MultiFactorUserHostApi api (%@) doesn't respond to " - @"@selector(enrollPhoneApp:assertion:displayName:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - InternalPhoneMultiFactorAssertion *arg_assertion = GetNullableObjectAtIndex(args, 1); - NSString *arg_displayName = GetNullableObjectAtIndex(args, 2); - [api enrollPhoneApp:arg_app - assertion:arg_assertion - displayName:arg_displayName - completion:^(FlutterError *_Nullable error) { - callback(wrapResult(nil, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_" - @"interface.MultiFactorUserHostApi.enrollTotp", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert( - [api respondsToSelector:@selector(enrollTotpApp:assertionId:displayName:completion:)], - @"MultiFactorUserHostApi api (%@) doesn't respond to " - @"@selector(enrollTotpApp:assertionId:displayName:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - NSString *arg_assertionId = GetNullableObjectAtIndex(args, 1); - NSString *arg_displayName = GetNullableObjectAtIndex(args, 2); - [api enrollTotpApp:arg_app - assertionId:arg_assertionId - displayName:arg_displayName - completion:^(FlutterError *_Nullable error) { - callback(wrapResult(nil, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_" - @"interface.MultiFactorUserHostApi.getSession", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert([api respondsToSelector:@selector(getSessionApp:completion:)], - @"MultiFactorUserHostApi api (%@) doesn't respond to " - @"@selector(getSessionApp:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - [api getSessionApp:arg_app - completion:^(InternalMultiFactorSession *_Nullable output, - FlutterError *_Nullable error) { - callback(wrapResult(output, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_" - @"interface.MultiFactorUserHostApi.unenroll", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert([api respondsToSelector:@selector(unenrollApp:factorUid:completion:)], - @"MultiFactorUserHostApi api (%@) doesn't respond to " - @"@selector(unenrollApp:factorUid:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - NSString *arg_factorUid = GetNullableObjectAtIndex(args, 1); - [api unenrollApp:arg_app - factorUid:arg_factorUid - completion:^(FlutterError *_Nullable error) { - callback(wrapResult(nil, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString - stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_interface." - @"MultiFactorUserHostApi.getEnrolledFactors", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert([api respondsToSelector:@selector(getEnrolledFactorsApp:completion:)], - @"MultiFactorUserHostApi api (%@) doesn't respond to " - @"@selector(getEnrolledFactorsApp:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - [api getEnrolledFactorsApp:arg_app - completion:^(NSArray *_Nullable output, - FlutterError *_Nullable error) { - callback(wrapResult(output, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } -} -void SetUpMultiFactoResolverHostApi(id binaryMessenger, - NSObject *api) { - SetUpMultiFactoResolverHostApiWithSuffix(binaryMessenger, api, @""); -} - -void SetUpMultiFactoResolverHostApiWithSuffix(id binaryMessenger, - NSObject *api, - NSString *messageChannelSuffix) { - messageChannelSuffix = messageChannelSuffix.length > 0 - ? [NSString stringWithFormat:@".%@", messageChannelSuffix] - : @""; - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString - stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_interface." - @"MultiFactoResolverHostApi.resolveSignIn", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert([api respondsToSelector: - @selector(resolveSignInResolverId:assertion:totpAssertionId:completion:)], - @"MultiFactoResolverHostApi api (%@) doesn't respond to " - @"@selector(resolveSignInResolverId:assertion:totpAssertionId:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - NSString *arg_resolverId = GetNullableObjectAtIndex(args, 0); - InternalPhoneMultiFactorAssertion *arg_assertion = GetNullableObjectAtIndex(args, 1); - NSString *arg_totpAssertionId = GetNullableObjectAtIndex(args, 2); - [api resolveSignInResolverId:arg_resolverId - assertion:arg_assertion - totpAssertionId:arg_totpAssertionId - completion:^(InternalUserCredential *_Nullable output, - FlutterError *_Nullable error) { - callback(wrapResult(output, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } -} -void SetUpMultiFactorTotpHostApi(id binaryMessenger, - NSObject *api) { - SetUpMultiFactorTotpHostApiWithSuffix(binaryMessenger, api, @""); -} - -void SetUpMultiFactorTotpHostApiWithSuffix(id binaryMessenger, - NSObject *api, - NSString *messageChannelSuffix) { - messageChannelSuffix = messageChannelSuffix.length > 0 - ? [NSString stringWithFormat:@".%@", messageChannelSuffix] - : @""; - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString - stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_interface." - @"MultiFactorTotpHostApi.generateSecret", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert([api respondsToSelector:@selector(generateSecretSessionId:completion:)], - @"MultiFactorTotpHostApi api (%@) doesn't respond to " - @"@selector(generateSecretSessionId:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - NSString *arg_sessionId = GetNullableObjectAtIndex(args, 0); - [api generateSecretSessionId:arg_sessionId - completion:^(InternalTotpSecret *_Nullable output, - FlutterError *_Nullable error) { - callback(wrapResult(output, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString - stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_interface." - @"MultiFactorTotpHostApi.getAssertionForEnrollment", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert([api respondsToSelector: - @selector(getAssertionForEnrollmentSecretKey:oneTimePassword:completion:)], - @"MultiFactorTotpHostApi api (%@) doesn't respond to " - @"@selector(getAssertionForEnrollmentSecretKey:oneTimePassword:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - NSString *arg_secretKey = GetNullableObjectAtIndex(args, 0); - NSString *arg_oneTimePassword = GetNullableObjectAtIndex(args, 1); - [api getAssertionForEnrollmentSecretKey:arg_secretKey - oneTimePassword:arg_oneTimePassword - completion:^(NSString *_Nullable output, - FlutterError *_Nullable error) { - callback(wrapResult(output, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString - stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_interface." - @"MultiFactorTotpHostApi.getAssertionForSignIn", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert([api respondsToSelector: - @selector(getAssertionForSignInEnrollmentId:oneTimePassword:completion:)], - @"MultiFactorTotpHostApi api (%@) doesn't respond to " - @"@selector(getAssertionForSignInEnrollmentId:oneTimePassword:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - NSString *arg_enrollmentId = GetNullableObjectAtIndex(args, 0); - NSString *arg_oneTimePassword = GetNullableObjectAtIndex(args, 1); - [api getAssertionForSignInEnrollmentId:arg_enrollmentId - oneTimePassword:arg_oneTimePassword - completion:^(NSString *_Nullable output, - FlutterError *_Nullable error) { - callback(wrapResult(output, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } -} -void SetUpMultiFactorTotpSecretHostApi(id binaryMessenger, - NSObject *api) { - SetUpMultiFactorTotpSecretHostApiWithSuffix(binaryMessenger, api, @""); -} - -void SetUpMultiFactorTotpSecretHostApiWithSuffix(id binaryMessenger, - NSObject *api, - NSString *messageChannelSuffix) { - messageChannelSuffix = messageChannelSuffix.length > 0 - ? [NSString stringWithFormat:@".%@", messageChannelSuffix] - : @""; - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString - stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_interface." - @"MultiFactorTotpSecretHostApi.generateQrCodeUrl", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert( - [api respondsToSelector:@selector( - generateQrCodeUrlSecretKey:accountName:issuer:completion:)], - @"MultiFactorTotpSecretHostApi api (%@) doesn't respond to " - @"@selector(generateQrCodeUrlSecretKey:accountName:issuer:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - NSString *arg_secretKey = GetNullableObjectAtIndex(args, 0); - NSString *arg_accountName = GetNullableObjectAtIndex(args, 1); - NSString *arg_issuer = GetNullableObjectAtIndex(args, 2); - [api generateQrCodeUrlSecretKey:arg_secretKey - accountName:arg_accountName - issuer:arg_issuer - completion:^(NSString *_Nullable output, - FlutterError *_Nullable error) { - callback(wrapResult(output, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString - stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_interface." - @"MultiFactorTotpSecretHostApi.openInOtpApp", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert([api respondsToSelector:@selector(openInOtpAppSecretKey:qrCodeUrl:completion:)], - @"MultiFactorTotpSecretHostApi api (%@) doesn't respond to " - @"@selector(openInOtpAppSecretKey:qrCodeUrl:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - NSString *arg_secretKey = GetNullableObjectAtIndex(args, 0); - NSString *arg_qrCodeUrl = GetNullableObjectAtIndex(args, 1); - [api openInOtpAppSecretKey:arg_secretKey - qrCodeUrl:arg_qrCodeUrl - completion:^(FlutterError *_Nullable error) { - callback(wrapResult(nil, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } -} -void SetUpGenerateInterfaces(id binaryMessenger, - NSObject *api) { - SetUpGenerateInterfacesWithSuffix(binaryMessenger, api, @""); -} - -void SetUpGenerateInterfacesWithSuffix(id binaryMessenger, - NSObject *api, - NSString *messageChannelSuffix) { - messageChannelSuffix = messageChannelSuffix.length > 0 - ? [NSString stringWithFormat:@".%@", messageChannelSuffix] - : @""; - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_" - @"interface.GenerateInterfaces.pigeonInterface", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert( - [api respondsToSelector:@selector(pigeonInterfaceInfo:error:)], - @"GenerateInterfaces api (%@) doesn't respond to @selector(pigeonInterfaceInfo:error:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - InternalMultiFactorInfo *arg_info = GetNullableObjectAtIndex(args, 0); - FlutterError *error; - [api pigeonInterfaceInfo:arg_info error:&error]; - callback(wrapResult(nil, error)); - }]; - } else { - [channel setMessageHandler:nil]; - } - } -} diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/ios/firebase_auth/Sources/firebase_auth/include/Private/FLTAuthStateChannelStreamHandler.h b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/ios/firebase_auth/Sources/firebase_auth/include/Private/FLTAuthStateChannelStreamHandler.h deleted file mode 100644 index 7b7efae7..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/ios/firebase_auth/Sources/firebase_auth/include/Private/FLTAuthStateChannelStreamHandler.h +++ /dev/null @@ -1,26 +0,0 @@ -// Copyright 2021 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#import - -#if TARGET_OS_OSX -#import -#else -#import -#endif - -#import -#import "../Public/CustomPigeonHeader.h" - -@class FIRAuth; - -NS_ASSUME_NONNULL_BEGIN - -@interface FLTAuthStateChannelStreamHandler : NSObject - -- (instancetype)initWithAuth:(FIRAuth *)auth; - -@end - -NS_ASSUME_NONNULL_END diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/ios/firebase_auth/Sources/firebase_auth/include/Private/FLTIdTokenChannelStreamHandler.h b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/ios/firebase_auth/Sources/firebase_auth/include/Private/FLTIdTokenChannelStreamHandler.h deleted file mode 100644 index c1660499..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/ios/firebase_auth/Sources/firebase_auth/include/Private/FLTIdTokenChannelStreamHandler.h +++ /dev/null @@ -1,27 +0,0 @@ -// Copyright 2021 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#import - -#if TARGET_OS_OSX -#import -#else -#import -#endif - -#import "../Public/CustomPigeonHeader.h" - -#import - -@class FIRAuth; - -NS_ASSUME_NONNULL_BEGIN - -@interface FLTIdTokenChannelStreamHandler : NSObject - -- (instancetype)initWithAuth:(FIRAuth *)auth; - -@end - -NS_ASSUME_NONNULL_END diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/ios/firebase_auth/Sources/firebase_auth/include/Private/FLTPhoneNumberVerificationStreamHandler.h b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/ios/firebase_auth/Sources/firebase_auth/include/Private/FLTPhoneNumberVerificationStreamHandler.h deleted file mode 100644 index 53e5f28c..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/ios/firebase_auth/Sources/firebase_auth/include/Private/FLTPhoneNumberVerificationStreamHandler.h +++ /dev/null @@ -1,36 +0,0 @@ -// Copyright 2021 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#import - -#if TARGET_OS_OSX -#import -#else -#import -#endif - -#import "../Public/firebase_auth_messages.g.h" - -#import - -@class FIRAuth; -@class FIRMultiFactorSession; -@class FIRPhoneMultiFactorInfo; - -NS_ASSUME_NONNULL_BEGIN - -@interface FLTPhoneNumberVerificationStreamHandler : NSObject - -#if TARGET_OS_OSX -- (instancetype)initWithAuth:(FIRAuth *)auth arguments:(NSDictionary *)arguments; -#else -- (instancetype)initWithAuth:(FIRAuth *)auth - request:(InternalVerifyPhoneNumberRequest *)request - session:(FIRMultiFactorSession *)session - factorInfo:(FIRPhoneMultiFactorInfo *)factorInfo; -#endif - -@end - -NS_ASSUME_NONNULL_END diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/ios/firebase_auth/Sources/firebase_auth/include/Private/PigeonParser.h b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/ios/firebase_auth/Sources/firebase_auth/include/Private/PigeonParser.h deleted file mode 100644 index b500fd2c..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/ios/firebase_auth/Sources/firebase_auth/include/Private/PigeonParser.h +++ /dev/null @@ -1,33 +0,0 @@ -/* - * Copyright 2023, the Chromium project authors. Please see the AUTHORS file - * for details. All rights reserved. Use of this source code is governed by a - * BSD-style license that can be found in the LICENSE file. - */ - -#import -#import "../Public/firebase_auth_messages.g.h" - -@class FIRAuthDataResult; -@class FIRUser; -@class FIRActionCodeSettings; -@class FIRAuthTokenResult; -@class FIRTOTPSecret; -@class FIRAuthCredential; - -@interface PigeonParser : NSObject - -+ (NSArray *_Nonnull)getManualList:(nonnull InternalUserDetails *)userDetails; -+ (InternalUserCredential *_Nullable) - getPigeonUserCredentialFromAuthResult:(nonnull FIRAuthDataResult *)authResult - authorizationCode:(nullable NSString *)authorizationCode; -+ (InternalUserDetails *_Nullable)getPigeonDetails:(nonnull FIRUser *)user; -+ (InternalUserInfo *_Nullable)getPigeonUserInfo:(nonnull FIRUser *)user; -+ (FIRActionCodeSettings *_Nullable)parseActionCodeSettings: - (nullable InternalActionCodeSettings *)settings; -+ (InternalUserCredential *_Nullable)getPigeonUserCredentialFromFIRUser:(nonnull FIRUser *)user; -+ (InternalIdTokenResult *_Nonnull)parseIdTokenResult:(nonnull FIRAuthTokenResult *)tokenResult; -+ (InternalTotpSecret *_Nonnull)getPigeonTotpSecret:(nonnull FIRTOTPSecret *)secret; -+ (InternalAuthCredential *_Nullable)getPigeonAuthCredential: - (FIRAuthCredential *_Nullable)authCredentialToken - token:(NSNumber *_Nullable)token; -@end diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/ios/firebase_auth/Sources/firebase_auth/include/Public/CustomPigeonHeader.h b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/ios/firebase_auth/Sources/firebase_auth/include/Public/CustomPigeonHeader.h deleted file mode 100644 index d32a6b45..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/ios/firebase_auth/Sources/firebase_auth/include/Public/CustomPigeonHeader.h +++ /dev/null @@ -1,16 +0,0 @@ -// Copyright 2021 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. -#import "firebase_auth_messages.g.h" - -@interface InternalMultiFactorInfo (Map) -- (NSDictionary *)toList; -@end - -@interface InternalUserDetails (Map) -- (NSDictionary *)toList; -@end - -@interface InternalUserInfo (Map) -- (NSDictionary *)toList; -@end diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/ios/firebase_auth/Sources/firebase_auth/include/Public/FLTFirebaseAuthPlugin.h b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/ios/firebase_auth/Sources/firebase_auth/include/Public/FLTFirebaseAuthPlugin.h deleted file mode 100644 index 53e20eca..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/ios/firebase_auth/Sources/firebase_auth/include/Public/FLTFirebaseAuthPlugin.h +++ /dev/null @@ -1,45 +0,0 @@ -// Copyright 2020 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#import - -#if TARGET_OS_OSX -#import -#else -#import -#endif - -#import -#import -#if __has_include() -#import -#else -#import -#endif -#import "firebase_auth_messages.g.h" - -#if !TARGET_OS_OSX -@protocol FlutterSceneLifeCycleDelegate; -#endif - -@interface FLTFirebaseAuthPlugin - : FLTFirebasePlugin ) - , - FlutterSceneLifeCycleDelegate -#endif -#endif - > - -+ (FlutterError *)convertToFlutterError:(NSError *)error; -@end diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/ios/firebase_auth/Sources/firebase_auth/include/Public/firebase_auth_messages.g.h b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/ios/firebase_auth/Sources/firebase_auth/include/Public/firebase_auth_messages.g.h deleted file mode 100644 index f83da7e3..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/ios/firebase_auth/Sources/firebase_auth/include/Public/firebase_auth_messages.g.h +++ /dev/null @@ -1,571 +0,0 @@ -// Copyright 2023, the Chromium project authors. Please see the AUTHORS file -// for details. All rights reserved. Use of this source code is governed by a -// BSD-style license that can be found in the LICENSE file. -// Autogenerated from Pigeon (v26.3.4), do not edit directly. -// See also: https://pub.dev/packages/pigeon - -@import Foundation; - -@protocol FlutterBinaryMessenger; -@protocol FlutterMessageCodec; -@class FlutterError; -@class FlutterStandardTypedData; - -NS_ASSUME_NONNULL_BEGIN - -/// The type of operation that generated the action code from calling -/// [checkActionCode]. -typedef NS_ENUM(NSUInteger, ActionCodeInfoOperation) { - /// Unknown operation. - ActionCodeInfoOperationUnknown = 0, - /// Password reset code generated via [sendPasswordResetEmail]. - ActionCodeInfoOperationPasswordReset = 1, - /// Email verification code generated via [User.sendEmailVerification]. - ActionCodeInfoOperationVerifyEmail = 2, - /// Email change revocation code generated via [User.updateEmail]. - ActionCodeInfoOperationRecoverEmail = 3, - /// Email sign in code generated via [sendSignInLinkToEmail]. - ActionCodeInfoOperationEmailSignIn = 4, - /// Verify and change email code generated via [User.verifyBeforeUpdateEmail]. - ActionCodeInfoOperationVerifyAndChangeEmail = 5, - /// Action code for reverting second factor addition. - ActionCodeInfoOperationRevertSecondFactorAddition = 6, -}; - -/// Wrapper for ActionCodeInfoOperation to allow for nullability. -@interface ActionCodeInfoOperationBox : NSObject -@property(nonatomic, assign) ActionCodeInfoOperation value; -- (instancetype)initWithValue:(ActionCodeInfoOperation)value; -@end - -@class InternalMultiFactorSession; -@class InternalPhoneMultiFactorAssertion; -@class InternalMultiFactorInfo; -@class AuthPigeonFirebaseApp; -@class InternalActionCodeInfoData; -@class InternalActionCodeInfo; -@class InternalAdditionalUserInfo; -@class InternalAuthCredential; -@class InternalUserInfo; -@class InternalUserDetails; -@class InternalUserCredential; -@class InternalAuthCredentialInput; -@class InternalActionCodeSettings; -@class InternalFirebaseAuthSettings; -@class InternalSignInProvider; -@class InternalVerifyPhoneNumberRequest; -@class InternalIdTokenResult; -@class InternalUserProfile; -@class InternalTotpSecret; - -@interface InternalMultiFactorSession : NSObject -/// `init` unavailable to enforce nonnull fields, see the `make` class method. -- (instancetype)init NS_UNAVAILABLE; -+ (instancetype)makeWithId:(NSString *)id; -@property(nonatomic, copy) NSString *id; -@end - -@interface InternalPhoneMultiFactorAssertion : NSObject -/// `init` unavailable to enforce nonnull fields, see the `make` class method. -- (instancetype)init NS_UNAVAILABLE; -+ (instancetype)makeWithVerificationId:(NSString *)verificationId - verificationCode:(NSString *)verificationCode; -@property(nonatomic, copy) NSString *verificationId; -@property(nonatomic, copy) NSString *verificationCode; -@end - -@interface InternalMultiFactorInfo : NSObject -/// `init` unavailable to enforce nonnull fields, see the `make` class method. -- (instancetype)init NS_UNAVAILABLE; -+ (instancetype)makeWithDisplayName:(nullable NSString *)displayName - enrollmentTimestamp:(double)enrollmentTimestamp - factorId:(nullable NSString *)factorId - uid:(NSString *)uid - phoneNumber:(nullable NSString *)phoneNumber; -@property(nonatomic, copy, nullable) NSString *displayName; -@property(nonatomic, assign) double enrollmentTimestamp; -@property(nonatomic, copy, nullable) NSString *factorId; -@property(nonatomic, copy) NSString *uid; -@property(nonatomic, copy, nullable) NSString *phoneNumber; -@end - -@interface AuthPigeonFirebaseApp : NSObject -/// `init` unavailable to enforce nonnull fields, see the `make` class method. -- (instancetype)init NS_UNAVAILABLE; -+ (instancetype)makeWithAppName:(NSString *)appName - tenantId:(nullable NSString *)tenantId - customAuthDomain:(nullable NSString *)customAuthDomain; -@property(nonatomic, copy) NSString *appName; -@property(nonatomic, copy, nullable) NSString *tenantId; -@property(nonatomic, copy, nullable) NSString *customAuthDomain; -@end - -@interface InternalActionCodeInfoData : NSObject -+ (instancetype)makeWithEmail:(nullable NSString *)email - previousEmail:(nullable NSString *)previousEmail; -@property(nonatomic, copy, nullable) NSString *email; -@property(nonatomic, copy, nullable) NSString *previousEmail; -@end - -@interface InternalActionCodeInfo : NSObject -/// `init` unavailable to enforce nonnull fields, see the `make` class method. -- (instancetype)init NS_UNAVAILABLE; -+ (instancetype)makeWithOperation:(ActionCodeInfoOperation)operation - data:(InternalActionCodeInfoData *)data; -@property(nonatomic, assign) ActionCodeInfoOperation operation; -@property(nonatomic, strong) InternalActionCodeInfoData *data; -@end - -@interface InternalAdditionalUserInfo : NSObject -/// `init` unavailable to enforce nonnull fields, see the `make` class method. -- (instancetype)init NS_UNAVAILABLE; -+ (instancetype)makeWithIsNewUser:(BOOL)isNewUser - providerId:(nullable NSString *)providerId - username:(nullable NSString *)username - authorizationCode:(nullable NSString *)authorizationCode - profile:(nullable NSDictionary *)profile; -@property(nonatomic, assign) BOOL isNewUser; -@property(nonatomic, copy, nullable) NSString *providerId; -@property(nonatomic, copy, nullable) NSString *username; -@property(nonatomic, copy, nullable) NSString *authorizationCode; -@property(nonatomic, copy, nullable) NSDictionary *profile; -@end - -@interface InternalAuthCredential : NSObject -/// `init` unavailable to enforce nonnull fields, see the `make` class method. -- (instancetype)init NS_UNAVAILABLE; -+ (instancetype)makeWithProviderId:(NSString *)providerId - signInMethod:(NSString *)signInMethod - nativeId:(NSInteger)nativeId - accessToken:(nullable NSString *)accessToken; -@property(nonatomic, copy) NSString *providerId; -@property(nonatomic, copy) NSString *signInMethod; -@property(nonatomic, assign) NSInteger nativeId; -@property(nonatomic, copy, nullable) NSString *accessToken; -@end - -@interface InternalUserInfo : NSObject -/// `init` unavailable to enforce nonnull fields, see the `make` class method. -- (instancetype)init NS_UNAVAILABLE; -+ (instancetype)makeWithUid:(NSString *)uid - email:(nullable NSString *)email - displayName:(nullable NSString *)displayName - photoUrl:(nullable NSString *)photoUrl - phoneNumber:(nullable NSString *)phoneNumber - isAnonymous:(BOOL)isAnonymous - isEmailVerified:(BOOL)isEmailVerified - providerId:(nullable NSString *)providerId - tenantId:(nullable NSString *)tenantId - refreshToken:(nullable NSString *)refreshToken - creationTimestamp:(nullable NSNumber *)creationTimestamp - lastSignInTimestamp:(nullable NSNumber *)lastSignInTimestamp; -@property(nonatomic, copy) NSString *uid; -@property(nonatomic, copy, nullable) NSString *email; -@property(nonatomic, copy, nullable) NSString *displayName; -@property(nonatomic, copy, nullable) NSString *photoUrl; -@property(nonatomic, copy, nullable) NSString *phoneNumber; -@property(nonatomic, assign) BOOL isAnonymous; -@property(nonatomic, assign) BOOL isEmailVerified; -@property(nonatomic, copy, nullable) NSString *providerId; -@property(nonatomic, copy, nullable) NSString *tenantId; -@property(nonatomic, copy, nullable) NSString *refreshToken; -@property(nonatomic, strong, nullable) NSNumber *creationTimestamp; -@property(nonatomic, strong, nullable) NSNumber *lastSignInTimestamp; -@end - -@interface InternalUserDetails : NSObject -/// `init` unavailable to enforce nonnull fields, see the `make` class method. -- (instancetype)init NS_UNAVAILABLE; -+ (instancetype)makeWithUserInfo:(InternalUserInfo *)userInfo - providerData:(NSArray *> *)providerData; -@property(nonatomic, strong) InternalUserInfo *userInfo; -@property(nonatomic, copy) NSArray *> *providerData; -@end - -@interface InternalUserCredential : NSObject -+ (instancetype)makeWithUser:(nullable InternalUserDetails *)user - additionalUserInfo:(nullable InternalAdditionalUserInfo *)additionalUserInfo - credential:(nullable InternalAuthCredential *)credential; -@property(nonatomic, strong, nullable) InternalUserDetails *user; -@property(nonatomic, strong, nullable) InternalAdditionalUserInfo *additionalUserInfo; -@property(nonatomic, strong, nullable) InternalAuthCredential *credential; -@end - -@interface InternalAuthCredentialInput : NSObject -/// `init` unavailable to enforce nonnull fields, see the `make` class method. -- (instancetype)init NS_UNAVAILABLE; -+ (instancetype)makeWithProviderId:(NSString *)providerId - signInMethod:(NSString *)signInMethod - token:(nullable NSString *)token - accessToken:(nullable NSString *)accessToken; -@property(nonatomic, copy) NSString *providerId; -@property(nonatomic, copy) NSString *signInMethod; -@property(nonatomic, copy, nullable) NSString *token; -@property(nonatomic, copy, nullable) NSString *accessToken; -@end - -@interface InternalActionCodeSettings : NSObject -/// `init` unavailable to enforce nonnull fields, see the `make` class method. -- (instancetype)init NS_UNAVAILABLE; -+ (instancetype)makeWithUrl:(NSString *)url - dynamicLinkDomain:(nullable NSString *)dynamicLinkDomain - handleCodeInApp:(BOOL)handleCodeInApp - iOSBundleId:(nullable NSString *)iOSBundleId - androidPackageName:(nullable NSString *)androidPackageName - androidInstallApp:(BOOL)androidInstallApp - androidMinimumVersion:(nullable NSString *)androidMinimumVersion - linkDomain:(nullable NSString *)linkDomain; -@property(nonatomic, copy) NSString *url; -@property(nonatomic, copy, nullable) NSString *dynamicLinkDomain; -@property(nonatomic, assign) BOOL handleCodeInApp; -@property(nonatomic, copy, nullable) NSString *iOSBundleId; -@property(nonatomic, copy, nullable) NSString *androidPackageName; -@property(nonatomic, assign) BOOL androidInstallApp; -@property(nonatomic, copy, nullable) NSString *androidMinimumVersion; -@property(nonatomic, copy, nullable) NSString *linkDomain; -@end - -@interface InternalFirebaseAuthSettings : NSObject -/// `init` unavailable to enforce nonnull fields, see the `make` class method. -- (instancetype)init NS_UNAVAILABLE; -+ (instancetype)makeWithAppVerificationDisabledForTesting:(BOOL)appVerificationDisabledForTesting - userAccessGroup:(nullable NSString *)userAccessGroup - phoneNumber:(nullable NSString *)phoneNumber - smsCode:(nullable NSString *)smsCode - forceRecaptchaFlow:(nullable NSNumber *)forceRecaptchaFlow; -@property(nonatomic, assign) BOOL appVerificationDisabledForTesting; -@property(nonatomic, copy, nullable) NSString *userAccessGroup; -@property(nonatomic, copy, nullable) NSString *phoneNumber; -@property(nonatomic, copy, nullable) NSString *smsCode; -@property(nonatomic, strong, nullable) NSNumber *forceRecaptchaFlow; -@end - -@interface InternalSignInProvider : NSObject -/// `init` unavailable to enforce nonnull fields, see the `make` class method. -- (instancetype)init NS_UNAVAILABLE; -+ (instancetype)makeWithProviderId:(NSString *)providerId - scopes:(nullable NSArray *)scopes - customParameters: - (nullable NSDictionary *)customParameters; -@property(nonatomic, copy) NSString *providerId; -@property(nonatomic, copy, nullable) NSArray *scopes; -@property(nonatomic, copy, nullable) NSDictionary *customParameters; -@end - -@interface InternalVerifyPhoneNumberRequest : NSObject -/// `init` unavailable to enforce nonnull fields, see the `make` class method. -- (instancetype)init NS_UNAVAILABLE; -+ (instancetype)makeWithPhoneNumber:(nullable NSString *)phoneNumber - timeout:(NSInteger)timeout - forceResendingToken:(nullable NSNumber *)forceResendingToken - autoRetrievedSmsCodeForTesting:(nullable NSString *)autoRetrievedSmsCodeForTesting - multiFactorInfoId:(nullable NSString *)multiFactorInfoId - multiFactorSessionId:(nullable NSString *)multiFactorSessionId; -@property(nonatomic, copy, nullable) NSString *phoneNumber; -@property(nonatomic, assign) NSInteger timeout; -@property(nonatomic, strong, nullable) NSNumber *forceResendingToken; -@property(nonatomic, copy, nullable) NSString *autoRetrievedSmsCodeForTesting; -@property(nonatomic, copy, nullable) NSString *multiFactorInfoId; -@property(nonatomic, copy, nullable) NSString *multiFactorSessionId; -@end - -@interface InternalIdTokenResult : NSObject -+ (instancetype)makeWithToken:(nullable NSString *)token - expirationTimestamp:(nullable NSNumber *)expirationTimestamp - authTimestamp:(nullable NSNumber *)authTimestamp - issuedAtTimestamp:(nullable NSNumber *)issuedAtTimestamp - signInProvider:(nullable NSString *)signInProvider - claims:(nullable NSDictionary *)claims - signInSecondFactor:(nullable NSString *)signInSecondFactor; -@property(nonatomic, copy, nullable) NSString *token; -@property(nonatomic, strong, nullable) NSNumber *expirationTimestamp; -@property(nonatomic, strong, nullable) NSNumber *authTimestamp; -@property(nonatomic, strong, nullable) NSNumber *issuedAtTimestamp; -@property(nonatomic, copy, nullable) NSString *signInProvider; -@property(nonatomic, copy, nullable) NSDictionary *claims; -@property(nonatomic, copy, nullable) NSString *signInSecondFactor; -@end - -@interface InternalUserProfile : NSObject -/// `init` unavailable to enforce nonnull fields, see the `make` class method. -- (instancetype)init NS_UNAVAILABLE; -+ (instancetype)makeWithDisplayName:(nullable NSString *)displayName - photoUrl:(nullable NSString *)photoUrl - displayNameChanged:(BOOL)displayNameChanged - photoUrlChanged:(BOOL)photoUrlChanged; -@property(nonatomic, copy, nullable) NSString *displayName; -@property(nonatomic, copy, nullable) NSString *photoUrl; -@property(nonatomic, assign) BOOL displayNameChanged; -@property(nonatomic, assign) BOOL photoUrlChanged; -@end - -@interface InternalTotpSecret : NSObject -/// `init` unavailable to enforce nonnull fields, see the `make` class method. -- (instancetype)init NS_UNAVAILABLE; -+ (instancetype)makeWithCodeIntervalSeconds:(nullable NSNumber *)codeIntervalSeconds - codeLength:(nullable NSNumber *)codeLength - enrollmentCompletionDeadline:(nullable NSNumber *)enrollmentCompletionDeadline - hashingAlgorithm:(nullable NSString *)hashingAlgorithm - secretKey:(NSString *)secretKey; -@property(nonatomic, strong, nullable) NSNumber *codeIntervalSeconds; -@property(nonatomic, strong, nullable) NSNumber *codeLength; -@property(nonatomic, strong, nullable) NSNumber *enrollmentCompletionDeadline; -@property(nonatomic, copy, nullable) NSString *hashingAlgorithm; -@property(nonatomic, copy) NSString *secretKey; -@end - -/// The codec used by all APIs. -NSObject *nullGetFirebaseAuthMessagesCodec(void); - -@protocol FirebaseAuthHostApi -- (void)registerIdTokenListenerApp:(AuthPigeonFirebaseApp *)app - completion: - (void (^)(NSString *_Nullable, FlutterError *_Nullable))completion; -- (void)registerAuthStateListenerApp:(AuthPigeonFirebaseApp *)app - completion: - (void (^)(NSString *_Nullable, FlutterError *_Nullable))completion; -- (void)useEmulatorApp:(AuthPigeonFirebaseApp *)app - host:(NSString *)host - port:(NSInteger)port - completion:(void (^)(FlutterError *_Nullable))completion; -- (void)applyActionCodeApp:(AuthPigeonFirebaseApp *)app - code:(NSString *)code - completion:(void (^)(FlutterError *_Nullable))completion; -- (void)checkActionCodeApp:(AuthPigeonFirebaseApp *)app - code:(NSString *)code - completion:(void (^)(InternalActionCodeInfo *_Nullable, - FlutterError *_Nullable))completion; -- (void)confirmPasswordResetApp:(AuthPigeonFirebaseApp *)app - code:(NSString *)code - newPassword:(NSString *)newPassword - completion:(void (^)(FlutterError *_Nullable))completion; -- (void)createUserWithEmailAndPasswordApp:(AuthPigeonFirebaseApp *)app - email:(NSString *)email - password:(NSString *)password - completion:(void (^)(InternalUserCredential *_Nullable, - FlutterError *_Nullable))completion; -- (void)signInAnonymouslyApp:(AuthPigeonFirebaseApp *)app - completion:(void (^)(InternalUserCredential *_Nullable, - FlutterError *_Nullable))completion; -- (void)signInWithCredentialApp:(AuthPigeonFirebaseApp *)app - input:(NSDictionary *)input - completion:(void (^)(InternalUserCredential *_Nullable, - FlutterError *_Nullable))completion; -- (void)signInWithCustomTokenApp:(AuthPigeonFirebaseApp *)app - token:(NSString *)token - completion:(void (^)(InternalUserCredential *_Nullable, - FlutterError *_Nullable))completion; -- (void)signInWithEmailAndPasswordApp:(AuthPigeonFirebaseApp *)app - email:(NSString *)email - password:(NSString *)password - completion:(void (^)(InternalUserCredential *_Nullable, - FlutterError *_Nullable))completion; -- (void)signInWithEmailLinkApp:(AuthPigeonFirebaseApp *)app - email:(NSString *)email - emailLink:(NSString *)emailLink - completion:(void (^)(InternalUserCredential *_Nullable, - FlutterError *_Nullable))completion; -- (void)signInWithProviderApp:(AuthPigeonFirebaseApp *)app - signInProvider:(InternalSignInProvider *)signInProvider - completion:(void (^)(InternalUserCredential *_Nullable, - FlutterError *_Nullable))completion; -- (void)signOutApp:(AuthPigeonFirebaseApp *)app - completion:(void (^)(FlutterError *_Nullable))completion; -- (void)fetchSignInMethodsForEmailApp:(AuthPigeonFirebaseApp *)app - email:(NSString *)email - completion:(void (^)(NSArray *_Nullable, - FlutterError *_Nullable))completion; -- (void)sendPasswordResetEmailApp:(AuthPigeonFirebaseApp *)app - email:(NSString *)email - actionCodeSettings:(nullable InternalActionCodeSettings *)actionCodeSettings - completion:(void (^)(FlutterError *_Nullable))completion; -- (void)sendSignInLinkToEmailApp:(AuthPigeonFirebaseApp *)app - email:(NSString *)email - actionCodeSettings:(InternalActionCodeSettings *)actionCodeSettings - completion:(void (^)(FlutterError *_Nullable))completion; -- (void)setLanguageCodeApp:(AuthPigeonFirebaseApp *)app - languageCode:(nullable NSString *)languageCode - completion:(void (^)(NSString *_Nullable, FlutterError *_Nullable))completion; -- (void)setSettingsApp:(AuthPigeonFirebaseApp *)app - settings:(InternalFirebaseAuthSettings *)settings - completion:(void (^)(FlutterError *_Nullable))completion; -- (void)verifyPasswordResetCodeApp:(AuthPigeonFirebaseApp *)app - code:(NSString *)code - completion: - (void (^)(NSString *_Nullable, FlutterError *_Nullable))completion; -- (void)verifyPhoneNumberApp:(AuthPigeonFirebaseApp *)app - request:(InternalVerifyPhoneNumberRequest *)request - completion:(void (^)(NSString *_Nullable, FlutterError *_Nullable))completion; -- (void)revokeTokenWithAuthorizationCodeApp:(AuthPigeonFirebaseApp *)app - authorizationCode:(NSString *)authorizationCode - completion:(void (^)(FlutterError *_Nullable))completion; -- (void)revokeAccessTokenApp:(AuthPigeonFirebaseApp *)app - accessToken:(NSString *)accessToken - completion:(void (^)(FlutterError *_Nullable))completion; -- (void)initializeRecaptchaConfigApp:(AuthPigeonFirebaseApp *)app - completion:(void (^)(FlutterError *_Nullable))completion; -@end - -extern void SetUpFirebaseAuthHostApi(id binaryMessenger, - NSObject *_Nullable api); - -extern void SetUpFirebaseAuthHostApiWithSuffix(id binaryMessenger, - NSObject *_Nullable api, - NSString *messageChannelSuffix); - -@protocol FirebaseAuthUserHostApi -- (void)deleteApp:(AuthPigeonFirebaseApp *)app - completion:(void (^)(FlutterError *_Nullable))completion; -- (void)getIdTokenApp:(AuthPigeonFirebaseApp *)app - forceRefresh:(BOOL)forceRefresh - completion: - (void (^)(InternalIdTokenResult *_Nullable, FlutterError *_Nullable))completion; -- (void)linkWithCredentialApp:(AuthPigeonFirebaseApp *)app - input:(NSDictionary *)input - completion:(void (^)(InternalUserCredential *_Nullable, - FlutterError *_Nullable))completion; -- (void)linkWithProviderApp:(AuthPigeonFirebaseApp *)app - signInProvider:(InternalSignInProvider *)signInProvider - completion:(void (^)(InternalUserCredential *_Nullable, - FlutterError *_Nullable))completion; -- (void)reauthenticateWithCredentialApp:(AuthPigeonFirebaseApp *)app - input:(NSDictionary *)input - completion:(void (^)(InternalUserCredential *_Nullable, - FlutterError *_Nullable))completion; -- (void)reauthenticateWithProviderApp:(AuthPigeonFirebaseApp *)app - signInProvider:(InternalSignInProvider *)signInProvider - completion:(void (^)(InternalUserCredential *_Nullable, - FlutterError *_Nullable))completion; -- (void)reloadApp:(AuthPigeonFirebaseApp *)app - completion:(void (^)(InternalUserDetails *_Nullable, FlutterError *_Nullable))completion; -- (void)sendEmailVerificationApp:(AuthPigeonFirebaseApp *)app - actionCodeSettings:(nullable InternalActionCodeSettings *)actionCodeSettings - completion:(void (^)(FlutterError *_Nullable))completion; -- (void)unlinkApp:(AuthPigeonFirebaseApp *)app - providerId:(NSString *)providerId - completion:(void (^)(InternalUserCredential *_Nullable, FlutterError *_Nullable))completion; -- (void)updateEmailApp:(AuthPigeonFirebaseApp *)app - newEmail:(NSString *)newEmail - completion: - (void (^)(InternalUserDetails *_Nullable, FlutterError *_Nullable))completion; -- (void)updatePasswordApp:(AuthPigeonFirebaseApp *)app - newPassword:(NSString *)newPassword - completion: - (void (^)(InternalUserDetails *_Nullable, FlutterError *_Nullable))completion; -- (void)updatePhoneNumberApp:(AuthPigeonFirebaseApp *)app - input:(NSDictionary *)input - completion: - (void (^)(InternalUserDetails *_Nullable, FlutterError *_Nullable))completion; -- (void)updateProfileApp:(AuthPigeonFirebaseApp *)app - profile:(InternalUserProfile *)profile - completion: - (void (^)(InternalUserDetails *_Nullable, FlutterError *_Nullable))completion; -- (void)verifyBeforeUpdateEmailApp:(AuthPigeonFirebaseApp *)app - newEmail:(NSString *)newEmail - actionCodeSettings:(nullable InternalActionCodeSettings *)actionCodeSettings - completion:(void (^)(FlutterError *_Nullable))completion; -@end - -extern void SetUpFirebaseAuthUserHostApi(id binaryMessenger, - NSObject *_Nullable api); - -extern void SetUpFirebaseAuthUserHostApiWithSuffix(id binaryMessenger, - NSObject *_Nullable api, - NSString *messageChannelSuffix); - -@protocol MultiFactorUserHostApi -- (void)enrollPhoneApp:(AuthPigeonFirebaseApp *)app - assertion:(InternalPhoneMultiFactorAssertion *)assertion - displayName:(nullable NSString *)displayName - completion:(void (^)(FlutterError *_Nullable))completion; -- (void)enrollTotpApp:(AuthPigeonFirebaseApp *)app - assertionId:(NSString *)assertionId - displayName:(nullable NSString *)displayName - completion:(void (^)(FlutterError *_Nullable))completion; -- (void)getSessionApp:(AuthPigeonFirebaseApp *)app - completion: - (void (^)(InternalMultiFactorSession *_Nullable, FlutterError *_Nullable))completion; -- (void)unenrollApp:(AuthPigeonFirebaseApp *)app - factorUid:(NSString *)factorUid - completion:(void (^)(FlutterError *_Nullable))completion; -- (void)getEnrolledFactorsApp:(AuthPigeonFirebaseApp *)app - completion:(void (^)(NSArray *_Nullable, - FlutterError *_Nullable))completion; -@end - -extern void SetUpMultiFactorUserHostApi(id binaryMessenger, - NSObject *_Nullable api); - -extern void SetUpMultiFactorUserHostApiWithSuffix(id binaryMessenger, - NSObject *_Nullable api, - NSString *messageChannelSuffix); - -@protocol MultiFactoResolverHostApi -- (void)resolveSignInResolverId:(NSString *)resolverId - assertion:(nullable InternalPhoneMultiFactorAssertion *)assertion - totpAssertionId:(nullable NSString *)totpAssertionId - completion:(void (^)(InternalUserCredential *_Nullable, - FlutterError *_Nullable))completion; -@end - -extern void SetUpMultiFactoResolverHostApi(id binaryMessenger, - NSObject *_Nullable api); - -extern void SetUpMultiFactoResolverHostApiWithSuffix( - id binaryMessenger, NSObject *_Nullable api, - NSString *messageChannelSuffix); - -@protocol MultiFactorTotpHostApi -- (void)generateSecretSessionId:(NSString *)sessionId - completion:(void (^)(InternalTotpSecret *_Nullable, - FlutterError *_Nullable))completion; -- (void)getAssertionForEnrollmentSecretKey:(NSString *)secretKey - oneTimePassword:(NSString *)oneTimePassword - completion:(void (^)(NSString *_Nullable, - FlutterError *_Nullable))completion; -- (void)getAssertionForSignInEnrollmentId:(NSString *)enrollmentId - oneTimePassword:(NSString *)oneTimePassword - completion:(void (^)(NSString *_Nullable, - FlutterError *_Nullable))completion; -@end - -extern void SetUpMultiFactorTotpHostApi(id binaryMessenger, - NSObject *_Nullable api); - -extern void SetUpMultiFactorTotpHostApiWithSuffix(id binaryMessenger, - NSObject *_Nullable api, - NSString *messageChannelSuffix); - -@protocol MultiFactorTotpSecretHostApi -- (void)generateQrCodeUrlSecretKey:(NSString *)secretKey - accountName:(nullable NSString *)accountName - issuer:(nullable NSString *)issuer - completion: - (void (^)(NSString *_Nullable, FlutterError *_Nullable))completion; -- (void)openInOtpAppSecretKey:(NSString *)secretKey - qrCodeUrl:(NSString *)qrCodeUrl - completion:(void (^)(FlutterError *_Nullable))completion; -@end - -extern void SetUpMultiFactorTotpSecretHostApi( - id binaryMessenger, - NSObject *_Nullable api); - -extern void SetUpMultiFactorTotpSecretHostApiWithSuffix( - id binaryMessenger, - NSObject *_Nullable api, NSString *messageChannelSuffix); - -/// Only used to generate the object interface that are use outside of the Pigeon interface -@protocol GenerateInterfaces -- (void)pigeonInterfaceInfo:(InternalMultiFactorInfo *)info - error:(FlutterError *_Nullable *_Nonnull)error; -@end - -extern void SetUpGenerateInterfaces(id binaryMessenger, - NSObject *_Nullable api); - -extern void SetUpGenerateInterfacesWithSuffix(id binaryMessenger, - NSObject *_Nullable api, - NSString *messageChannelSuffix); - -NS_ASSUME_NONNULL_END diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/lib/firebase_auth.dart b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/lib/firebase_auth.dart deleted file mode 100755 index 61e60561..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/lib/firebase_auth.dart +++ /dev/null @@ -1,72 +0,0 @@ -// Copyright 2019 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -import 'dart:async'; - -import 'package:firebase_auth_platform_interface/firebase_auth_platform_interface.dart'; -import 'package:firebase_core/firebase_core.dart'; -import 'package:firebase_core_platform_interface/firebase_core_platform_interface.dart'; -import 'package:flutter/foundation.dart'; - -export 'package:firebase_auth_platform_interface/firebase_auth_platform_interface.dart' - show - FirebaseAuthException, - MultiFactorInfo, - MultiFactorSession, - PhoneMultiFactorInfo, - TotpMultiFactorInfo, - IdTokenResult, - UserMetadata, - UserInfo, - ActionCodeInfo, - ActionCodeSettings, - AdditionalUserInfo, - ActionCodeInfoOperation, - Persistence, - PhoneVerificationCompleted, - PhoneVerificationFailed, - PhoneCodeSent, - PhoneCodeAutoRetrievalTimeout, - AuthCredential, - AuthProvider, - AppleAuthProvider, - AppleFullPersonName, - AppleAuthCredential, - EmailAuthProvider, - EmailAuthCredential, - FacebookAuthProvider, - FacebookAuthCredential, - GameCenterAuthProvider, - GameCenterAuthCredential, - PlayGamesAuthProvider, - PlayGamesAuthCredential, - GithubAuthProvider, - GithubAuthCredential, - GoogleAuthProvider, - GoogleAuthCredential, - YahooAuthProvider, - YahooAuthCredential, - MicrosoftAuthProvider, - OAuthProvider, - OAuthCredential, - PhoneAuthProvider, - PhoneAuthCredential, - SAMLAuthProvider, - TwitterAuthProvider, - TwitterAuthCredential, - RecaptchaVerifierOnSuccess, - RecaptchaVerifierOnExpired, - RecaptchaVerifierOnError, - RecaptchaVerifierSize, - RecaptchaVerifierTheme, - PasswordValidationStatus; -export 'package:firebase_core_platform_interface/firebase_core_platform_interface.dart' - show FirebaseException; - -part 'src/confirmation_result.dart'; -part 'src/firebase_auth.dart'; -part 'src/multi_factor.dart'; -part 'src/recaptcha_verifier.dart'; -part 'src/user.dart'; -part 'src/user_credential.dart'; diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/lib/src/confirmation_result.dart b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/lib/src/confirmation_result.dart deleted file mode 100644 index c039cd79..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/lib/src/confirmation_result.dart +++ /dev/null @@ -1,36 +0,0 @@ -// ignore_for_file: require_trailing_commas -// Copyright 2020 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -part of '../firebase_auth.dart'; - -/// A result from a phone number sign-in, link, or reauthenticate call. -/// -/// This class is only usable on web based platforms. -class ConfirmationResult { - ConfirmationResultPlatform _delegate; - - final FirebaseAuth _auth; - - ConfirmationResult._(this._auth, this._delegate) { - ConfirmationResultPlatform.verify(_delegate); - } - - /// The phone number authentication operation's verification ID. - /// - /// This can be used along with the verification code to initialize a phone - /// auth credential. - String get verificationId { - return _delegate.verificationId; - } - - /// Finishes a phone number sign-in, link, or reauthentication, given the code - /// that was sent to the user's mobile device. - Future confirm(String verificationCode) async { - return UserCredential._( - _auth, - await _delegate.confirm(verificationCode), - ); - } -} diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/lib/src/firebase_auth.dart b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/lib/src/firebase_auth.dart deleted file mode 100644 index 2f4ebe42..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/lib/src/firebase_auth.dart +++ /dev/null @@ -1,893 +0,0 @@ -// ignore_for_file: require_trailing_commas -// Copyright 2017 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -part of '../firebase_auth.dart'; - -/// The entry point of the Firebase Authentication SDK. -class FirebaseAuth extends FirebasePluginPlatform implements FirebaseService { - // Cached instances of [FirebaseAuth]. - static Map _firebaseAuthInstances = {}; - - // Cached and lazily loaded instance of [FirebaseAuthPlatform] to avoid - // creating a [MethodChannelFirebaseAuth] when not needed or creating an - // instance with the default app before a user specifies an app. - FirebaseAuthPlatform? _delegatePackingProperty; - - /// Returns the underlying delegate implementation. - /// - /// If called and no [_delegatePackingProperty] exists, it will first be - /// created and assigned before returning the delegate. - FirebaseAuthPlatform get _delegate { - _delegatePackingProperty ??= FirebaseAuthPlatform.instanceFor( - app: app, - pluginConstants: pluginConstants, - ); - return _delegatePackingProperty!; - } - - /// The [FirebaseApp] for this current Auth instance. - FirebaseApp app; - - FirebaseAuth._({required this.app}) - : super(app.name, 'plugins.flutter.io/firebase_auth'); - - /// Returns an instance using the default [FirebaseApp]. - static FirebaseAuth get instance { - FirebaseApp defaultAppInstance = Firebase.app(); - - return FirebaseAuth.instanceFor(app: defaultAppInstance); - } - - /// Returns an instance using a specified [FirebaseApp]. - factory FirebaseAuth.instanceFor({ - required FirebaseApp app, - }) { - return _firebaseAuthInstances.putIfAbsent(app.name, () { - final instance = FirebaseAuth._(app: app); - app.registerService( - instance, - dispose: (auth) => auth._dispose(), - ); - return instance; - }); - } - - Future _dispose() async { - _firebaseAuthInstances.remove(app.name); - final delegate = _delegatePackingProperty; - _delegatePackingProperty = null; - await delegate?.dispose(); - } - - /// Returns the current [User] if they are currently signed-in, or `null` if - /// not. - /// - /// This getter only provides a snapshot of user state. Applications that need - /// to react to changes in user state should instead use [authStateChanges], - /// [idTokenChanges] or [userChanges] to subscribe to updates. - User? get currentUser { - if (_delegate.currentUser != null) { - return User._(this, _delegate.currentUser!); - } - - return null; - } - - /// The current Auth instance's language code. - /// - /// See [setLanguageCode] to update the language code. - String? get languageCode { - return _delegate.languageCode; - } - - /// Changes this instance to point to an Auth emulator running locally. - /// - /// Set the [host] of the local emulator, such as "localhost" - /// Set the [port] of the local emulator, such as "9099" (port 9099 is default for auth package) - /// - /// Note: Must be called immediately, prior to accessing auth methods. - /// Do not use with production credentials as emulator traffic is not encrypted. - Future useAuthEmulator(String host, int port, - {bool automaticHostMapping = true}) async { - String mappedHost = automaticHostMapping ? getMappedHost(host) : host; - - await _delegate.useAuthEmulator(mappedHost, port); - } - - /// The current Auth instance's tenant ID. - String? get tenantId { - return _delegate.tenantId; - } - - /// Set the current Auth instance's tenant ID. - /// - /// When you set the tenant ID of an Auth instance, all future sign-in/sign-up - /// operations will pass this tenant ID and sign in or sign up users to the - /// specified tenant project. When set to null, users are signed in to the - /// parent project. By default, this is set to `null`. - set tenantId(String? tenantId) { - _delegate.tenantId = tenantId; - } - - /// The current Auth instance's custom auth domain. - /// The auth domain used to handle redirects from OAuth provides, for example - /// "my-awesome-app.firebaseapp.com". By default, this is set to `null` and - /// default auth domain is used. - /// - /// If not `null`, this value will supersede `authDomain` property set in `initializeApp`. - String? get customAuthDomain { - return _delegate.customAuthDomain; - } - - /// Set the current Auth instance's auth domain for apple and android platforms. - /// The auth domain used to handle redirects from OAuth provides, for example - /// "my-awesome-app.firebaseapp.com". By default, this is set to `null` and - /// default auth domain is used. - /// - /// If not `null`, this value will supersede `authDomain` property set in `initializeApp`. - set customAuthDomain(String? customAuthDomain) { - // Web and windows do not support setting custom auth domains on the auth instance - if (defaultTargetPlatform == TargetPlatform.windows || kIsWeb) { - final message = defaultTargetPlatform == TargetPlatform.windows - ? 'Cannot set custom auth domain on a FirebaseAuth instance for windows platform' - : 'Cannot set custom auth domain on a FirebaseAuth instance. Set the custom auth domain on `FirebaseOptions.authDomain` instance and pass into `Firebase.initializeApp()` instead.'; - throw UnimplementedError( - message, - ); - } - _delegate.customAuthDomain = customAuthDomain; - } - - /// Applies a verification code sent to the user by email or other out-of-band - /// mechanism. - /// - /// A [FirebaseAuthException] maybe thrown with the following error code: - /// - **expired-action-code**: - /// - Thrown if the action code has expired. - /// - **invalid-action-code**: - /// - Thrown if the action code is invalid. This can happen if the code is - /// malformed or has already been used. - /// - **user-disabled**: - /// - Thrown if the user corresponding to the given action code has been - /// disabled. - /// - **user-not-found**: - /// - Thrown if there is no user corresponding to the action code. This may - /// have happened if the user was deleted between when the action code was - /// issued and when this method was called. - Future applyActionCode(String code) async { - await _delegate.applyActionCode(code); - } - - /// Checks a verification code sent to the user by email or other out-of-band - /// mechanism. - /// - /// Returns [ActionCodeInfo] about the code. - /// - /// A [FirebaseAuthException] maybe thrown with the following error code: - /// - **expired-action-code**: - /// - Thrown if the action code has expired. - /// - **invalid-action-code**: - /// - Thrown if the action code is invalid. This can happen if the code is - /// malformed or has already been used. - /// - **user-disabled**: - /// - Thrown if the user corresponding to the given action code has been - /// disabled. - /// - **user-not-found**: - /// - Thrown if there is no user corresponding to the action code. This may - /// have happened if the user was deleted between when the action code was - /// issued and when this method was called. - Future checkActionCode(String code) { - return _delegate.checkActionCode(code); - } - - /// Completes the password reset process, given a confirmation code and new - /// password. - /// - /// A [FirebaseAuthException] maybe thrown with the following error code: - /// - **expired-action-code**: - /// - Thrown if the action code has expired. - /// - **invalid-action-code**: - /// - Thrown if the action code is invalid. This can happen if the code is - /// malformed or has already been used. - /// - **user-disabled**: - /// - Thrown if the user corresponding to the given action code has been - /// disabled. - /// - **user-not-found**: - /// - Thrown if there is no user corresponding to the action code. This may - /// have happened if the user was deleted between when the action code was - /// issued and when this method was called. - /// - **weak-password**: - /// - Thrown if the new password is not strong enough. - Future confirmPasswordReset({ - required String code, - required String newPassword, - }) async { - await _delegate.confirmPasswordReset(code, newPassword); - } - - /// Tries to create a new user account with the given email address and - /// password. - /// - /// A [FirebaseAuthException] maybe thrown with the following error code: - /// - **email-already-in-use**: - /// - Thrown if there already exists an account with the given email address. - /// - **invalid-email**: - /// - Thrown if the email address is not valid. - /// - **operation-not-allowed**: - /// - Thrown if email/password accounts are not enabled. Enable - /// email/password accounts in the Firebase Console, under the Auth tab. - /// - **weak-password**: - /// - Thrown if the password is not strong enough. - /// - **too-many-requests**: - /// - Thrown if the user sent too many requests at the same time, for security - /// the api will not allow too many attempts at the same time, user will have - /// to wait for some time - /// - **user-token-expired**: - /// - Thrown if the user is no longer authenticated since his refresh token - /// has been expired - /// - **network-request-failed**: - /// - Thrown if there was a network request error, for example the user - /// doesn't have internet connection - /// - **operation-not-allowed**: - /// - Thrown if email/password accounts are not enabled. Enable - /// email/password accounts in the Firebase Console, under the Auth tab. - Future createUserWithEmailAndPassword({ - required String email, - required String password, - }) async { - return UserCredential._( - this, - await _delegate.createUserWithEmailAndPassword(email, password), - ); - } - - /// Returns a UserCredential from the redirect-based sign-in flow. - /// - /// If sign-in succeeded, returns the signed in user. If sign-in was - /// unsuccessful, fails with an error. If no redirect operation was called, - /// returns a [UserCredential] with a null User. - /// - /// This method is only support on web platforms. - Future getRedirectResult() async { - return UserCredential._(this, await _delegate.getRedirectResult()); - } - - /// Checks if an incoming link is a sign-in with email link. - bool isSignInWithEmailLink(String emailLink) { - return _delegate.isSignInWithEmailLink(emailLink); - } - - /// Internal helper which pipes internal [Stream] events onto - /// a users own Stream. - Stream _pipeStreamChanges(Stream stream) { - return stream.map((delegateUser) { - if (delegateUser == null) { - return null; - } - - return User._(this, delegateUser); - }).asBroadcastStream(onCancel: (sub) => sub.cancel()); - } - - /// Notifies about changes to the user's sign-in state (such as sign-in or - /// sign-out). - Stream authStateChanges() => - _pipeStreamChanges(_delegate.authStateChanges()); - - /// Notifies about changes to the user's sign-in state (such as sign-in or - /// sign-out) and also token refresh events. - Stream idTokenChanges() => - _pipeStreamChanges(_delegate.idTokenChanges()); - - /// Notifies about changes to any user updates. - /// - /// This is a superset of both [authStateChanges] and [idTokenChanges]. It - /// provides events on all user changes, such as when credentials are linked, - /// unlinked and when updates to the user profile are made. The purpose of - /// this Stream is for listening to realtime updates to the user state - /// (signed-in, signed-out, different user & token refresh) without - /// manually having to call [reload] and then rehydrating changes to your - /// application. - Stream userChanges() => _pipeStreamChanges(_delegate.userChanges()); - - /// Sends a password reset email to the given email address. - /// - /// To complete the password reset, call [confirmPasswordReset] with the code supplied - /// in the email sent to the user, along with the new password specified by the user. - /// - /// If email enumeration protection is enabled for the Firebase project, this - /// method may complete successfully even when the email does not correspond - /// to an existing user. - /// - /// May throw a [FirebaseAuthException] with the following error codes: - /// - /// - **auth/invalid-email**\ - /// Thrown if the email address is not valid. - /// - **auth/missing-android-pkg-name**\ - /// An Android package name must be provided if the Android app is required to be installed. - /// - **auth/missing-continue-uri**\ - /// A continue URL must be provided in the request. - /// - **auth/missing-ios-bundle-id**\ - /// An iOS Bundle ID must be provided if an App Store ID is provided. - /// - **auth/invalid-continue-uri**\ - /// The continue URL provided in the request is invalid. - /// - **auth/unauthorized-continue-uri**\ - /// The domain of the continue URL is not whitelisted. Whitelist the domain in the Firebase console. - /// - **auth/user-not-found**\ - /// Thrown if there is no user corresponding to the email address. Note: This - /// exception is not thrown when email enumeration protection is enabled. - Future sendPasswordResetEmail({ - required String email, - ActionCodeSettings? actionCodeSettings, - }) { - return _delegate.sendPasswordResetEmail(email, actionCodeSettings); - } - - /// Sends a sign in with email link to provided email address. - /// - /// To complete the password reset, call [confirmPasswordReset] with the code - /// supplied in the email sent to the user, along with the new password - /// specified by the user. - /// - /// The [handleCodeInApp] of [actionCodeSettings] must be set to `true` - /// otherwise an [ArgumentError] will be thrown. - /// - /// A [FirebaseAuthException] maybe thrown with the following error code: - /// - **invalid-email**: - /// - Thrown if the email address is not valid. - Future sendSignInLinkToEmail({ - required String email, - required ActionCodeSettings actionCodeSettings, - }) async { - if (actionCodeSettings.handleCodeInApp != true) { - throw ArgumentError( - 'The [handleCodeInApp] value of [ActionCodeSettings] must be `true`.', - ); - } - - await _delegate.sendSignInLinkToEmail(email, actionCodeSettings); - } - - /// When set to null, sets the user-facing language code to be the default app language. - /// - /// The language code will propagate to email action templates (password - /// reset, email verification and email change revocation), SMS templates for - /// phone authentication, reCAPTCHA verifier and OAuth popup/redirect - /// operations provided the specified providers support localization with the - /// language code specified. - Future setLanguageCode(String? languageCode) { - return _delegate.setLanguageCode(languageCode); - } - - /// Updates the current instance with the provided settings. - /// - /// [appVerificationDisabledForTesting] This setting applies to Android, iOS and - /// web platforms. When set to `true`, this property disables app - /// verification for the purpose of testing phone authentication. For this - /// property to take effect, it needs to be set before handling a reCAPTCHA - /// app verifier. When this is disabled, a mock reCAPTCHA is rendered - /// instead. This is useful for manual testing during development or for - /// automated integration tests. - /// - /// In order to use this feature, you will need to - /// [whitelist your phone number](https://firebase.google.com/docs/auth/web/phone-auth?authuser=0#test-with-whitelisted-phone-numbers) - /// via the Firebase Console. - /// - /// The default value is `false` (app verification is enabled). - /// - /// [forceRecaptchaFlow] This setting applies to Android only. When set to 'true', - /// it forces the application verification to use the web reCAPTCHA flow for Phone Authentication. - /// Once this has been called, every call to PhoneAuthProvider#verifyPhoneNumber() will skip the SafetyNet verification flow and use the reCAPTCHA flow instead. - /// Calling this method a second time will overwrite the previously passed parameter. - /// - /// [phoneNumber] & [smsCode] These settings apply to Android only. The phone number and SMS code here must have been configured in the Firebase Console (Authentication > Sign In Method > Phone). - /// Once this has been called, every call to PhoneAuthProvider#verifyPhoneNumber() with the same phone number as the one that is configured here will have onVerificationCompleted() triggered as the callback. - /// Calling this method a second time will overwrite the previously passed parameters. Only one number can be configured at a given time. - /// Calling this method with either parameter set to null removes this functionality until valid parameters are passed. - /// Verifying a phone number other than the one configured here will trigger normal behavior. If the phone number is configured as a test phone number in the console, the regular testing flow occurs. Otherwise, normal phone number verification will take place. - /// When this is set and PhoneAuthProvider#verifyPhoneNumber() is called with a matching phone number, PhoneAuthProvider.OnVerificationStateChangedCallbacks.onCodeAutoRetrievalTimeOut(String) will never be called. - /// - /// [userAccessGroup] This setting only applies to iOS and MacOS platforms. - /// When set, it allows you to share authentication state between - /// applications. Set the property to your team group ID or set to `null` - /// to remove sharing capabilities. - /// - /// Key Sharing capabilities must be enabled for your app via XCode (Project - /// settings > Capabilities). To learn more, visit the - /// [Apple documentation](https://developer.apple.com/documentation/security/keychain_services/keychain_items/sharing_access_to_keychain_items_among_a_collection_of_apps). - Future setSettings({ - bool appVerificationDisabledForTesting = false, - String? userAccessGroup, - String? phoneNumber, - String? smsCode, - bool? forceRecaptchaFlow, - }) { - return _delegate.setSettings( - appVerificationDisabledForTesting: appVerificationDisabledForTesting, - userAccessGroup: userAccessGroup, - phoneNumber: phoneNumber, - smsCode: smsCode, - forceRecaptchaFlow: forceRecaptchaFlow, - ); - } - - /// Changes the current type of persistence on the current Auth instance for - /// the currently saved Auth session and applies this type of persistence for - /// future sign-in requests, including sign-in with redirect requests. - /// - /// This will return a promise that will resolve once the state finishes - /// copying from one type of storage to the other. Calling a sign-in method - /// after changing persistence will wait for that persistence change to - /// complete before applying it on the new Auth state. - /// - /// This makes it easy for a user signing in to specify whether their session - /// should be remembered or not. It also makes it easier to never persist the - /// Auth state for applications that are shared by other users or have - /// sensitive data. - /// - /// This is only supported on web based platforms. - Future setPersistence(Persistence persistence) async { - return _delegate.setPersistence(persistence); - } - - /// Asynchronously creates and becomes an anonymous user. - /// - /// If there is already an anonymous user signed in, that user will be - /// returned instead. If there is any other existing user signed in, that - /// user will be signed out. - /// - /// **Important**: You must enable Anonymous accounts in the Auth section - /// of the Firebase console before being able to use them. - /// - /// A [FirebaseAuthException] maybe thrown with the following error code: - /// - **operation-not-allowed**: - /// - Thrown if anonymous accounts are not enabled. Enable anonymous accounts - /// in the Firebase Console, under the Auth tab. - Future signInAnonymously() async { - return UserCredential._(this, await _delegate.signInAnonymously()); - } - - /// Asynchronously signs in to Firebase with the given 3rd-party credentials - /// (e.g. a Facebook login Access Token, a Google ID Token/Access Token pair, - /// etc.) and returns additional identity provider data. - /// - /// If successful, it also signs the user in into the app and updates - /// any [authStateChanges], [idTokenChanges] or [userChanges] stream - /// listeners. - /// - /// If the user doesn't have an account already, one will be created - /// automatically. - /// - /// **Important**: You must enable the relevant accounts in the Auth section - /// of the Firebase console before being able to use them. - /// - /// A [FirebaseAuthException] maybe thrown with the following error code: - /// - **account-exists-with-different-credential**: - /// - Thrown if there already exists an account with the email address - /// asserted by the credential. - // ignore: deprecated_member_use_from_same_package - /// Resolve this by asking - /// the user to sign in using one of the returned providers. - /// Once the user is signed in, the original credential can be linked to - /// the user with [linkWithCredential]. - /// - **invalid-credential**: - /// - Thrown if the credential is malformed or has expired. - /// - **operation-not-allowed**: - /// - Thrown if the type of account corresponding to the credential is not - /// enabled. Enable the account type in the Firebase Console, under the - /// Auth tab. - /// - **user-disabled**: - /// - Thrown if the user corresponding to the given credential has been - /// disabled. - /// - **user-not-found**: - /// - Thrown if signing in with a credential from [EmailAuthProvider.credential] - /// and there is no user corresponding to the given email. - /// - **wrong-password**: - /// - Thrown if signing in with a credential from [EmailAuthProvider.credential] - /// and the password is invalid for the given email, or if the account - /// corresponding to the email does not have a password set. - /// - **invalid-verification-code**: - /// - Thrown if the credential is a [PhoneAuthProvider.credential] and the - /// verification code of the credential is not valid. - /// - **invalid-verification-id**: - /// - Thrown if the credential is a [PhoneAuthProvider.credential] and the - /// verification ID of the credential is not valid. - Future signInWithCredential(AuthCredential credential) async { - try { - return UserCredential._( - this, - await _delegate.signInWithCredential(credential), - ); - } on FirebaseAuthMultiFactorExceptionPlatform catch (e) { - throw FirebaseAuthMultiFactorException._(this, e); - } catch (e) { - rethrow; - } - } - - /// Tries to sign in a user with a given custom token. - /// - /// Custom tokens are used to integrate Firebase Auth with existing auth - /// systems, and must be generated by the auth backend. - /// - /// If successful, it also signs the user in into the app and updates - /// any [authStateChanges], [idTokenChanges] or [userChanges] stream - /// listeners. - /// - /// If the user identified by the [uid] specified in the token doesn't - /// have an account already, one will be created automatically. - /// - /// Read how to use Custom Token authentication and the cases where it is - /// useful in [the guides](https://firebase.google.com/docs/auth/android/custom-auth). - /// - /// A [FirebaseAuthException] maybe thrown with the following error code: - /// - **custom-token-mismatch**: - /// - Thrown if the custom token is for a different Firebase App. - /// - **invalid-custom-token**: - /// - Thrown if the custom token format is incorrect. - Future signInWithCustomToken(String token) async { - try { - return UserCredential._( - this, await _delegate.signInWithCustomToken(token)); - } on FirebaseAuthMultiFactorExceptionPlatform catch (e) { - throw FirebaseAuthMultiFactorException._(this, e); - } catch (e) { - rethrow; - } - } - - /// Attempts to sign in a user with the given email address and password. - /// - /// If successful, it also signs the user in into the app and updates - /// any [authStateChanges], [idTokenChanges] or [userChanges] stream - /// listeners. - /// - /// **Important**: You must enable Email & Password accounts in the Auth - /// section of the Firebase console before being able to use them. - /// - /// A [FirebaseAuthException] maybe thrown with the following error code: - /// - **invalid-email**: - /// - Thrown if the email address is not valid. - /// - **user-disabled**: - /// - Thrown if the user corresponding to the given email has been disabled. - /// - **user-not-found** _(deprecated)_: - /// - Thrown if there is no user corresponding to the given email. - /// **Note:** This code is no longer returned on projects that have - /// [email enumeration protection](https://cloud.google.com/identity-platform/docs/admin/email-enumeration-protection) - /// enabled (the default for new projects since September 2023). - /// Use **invalid-credential** instead. - /// - **wrong-password** _(deprecated)_: - /// - Thrown if the password is invalid for the given email, or the account - /// corresponding to the email does not have a password set. - /// **Note:** This code is no longer returned on projects that have - /// [email enumeration protection](https://cloud.google.com/identity-platform/docs/admin/email-enumeration-protection) - /// enabled (the default for new projects since September 2023). - /// Use **invalid-credential** instead. - /// - **too-many-requests**: - /// - Thrown if the user sent too many requests at the same time, for security - /// the api will not allow too many attempts at the same time, user will have - /// to wait for some time - /// - **user-token-expired**: - /// - Thrown if the user is no longer authenticated since his refresh token - /// has been expired - /// - **network-request-failed**: - /// - Thrown if there was a network request error, for example the user - /// doesn't have internet connection - /// - **invalid-credential**: - /// - Thrown if the email or password is incorrect. On projects with - /// [email enumeration protection](https://cloud.google.com/identity-platform/docs/admin/email-enumeration-protection) - /// enabled (the default since September 2023), this replaces - /// **user-not-found** and **wrong-password** to prevent revealing - /// whether an account exists. On the Firebase emulator, the code may - /// appear as **INVALID_LOGIN_CREDENTIALS**. - /// - **operation-not-allowed**: - /// - Thrown if email/password accounts are not enabled. Enable - /// email/password accounts in the Firebase Console, under the Auth tab. - Future signInWithEmailAndPassword({ - required String email, - required String password, - }) async { - try { - return UserCredential._( - this, - await _delegate.signInWithEmailAndPassword(email, password), - ); - } on FirebaseAuthMultiFactorExceptionPlatform catch (e) { - throw FirebaseAuthMultiFactorException._(this, e); - } catch (e) { - rethrow; - } - } - - /// Signs in using an email address and email sign-in link. - /// - /// Fails with an error if the email address is invalid or OTP in email link - /// expires. - /// - /// Confirm the link is a sign-in email link before calling this method, - /// using [isSignInWithEmailLink]. - /// - /// A [FirebaseAuthException] maybe thrown with the following error code: - /// - **expired-action-code**: - /// - Thrown if OTP in email link expires. - /// - **invalid-email**: - /// - Thrown if the email address is not valid. - /// - **user-disabled**: - /// - Thrown if the user corresponding to the given email has been disabled. - Future signInWithEmailLink({ - required String email, - required String emailLink, - }) async { - try { - return UserCredential._( - this, - await _delegate.signInWithEmailLink(email, emailLink), - ); - } on FirebaseAuthMultiFactorExceptionPlatform catch (e) { - throw FirebaseAuthMultiFactorException._(this, e); - } catch (e) { - rethrow; - } - } - - /// Signs in with an AuthProvider using native authentication flow. - /// - /// A [FirebaseAuthException] maybe thrown with the following error code: - /// - **user-disabled**: - /// - Thrown if the user corresponding to the given email has been disabled. - Future signInWithProvider( - AuthProvider provider, - ) async { - try { - return UserCredential._( - this, - await _delegate.signInWithProvider(provider), - ); - } on FirebaseAuthMultiFactorExceptionPlatform catch (e) { - throw FirebaseAuthMultiFactorException._(this, e); - } catch (e) { - rethrow; - } - } - - /// Starts a sign-in flow for a phone number. - /// - /// You can optionally provide a [RecaptchaVerifier] instance to control the - /// reCAPTCHA widget appearance and behavior. - /// - /// Once the reCAPTCHA verification has completed, called [ConfirmationResult.confirm] - /// with the users SMS verification code to complete the authentication flow. - /// - /// This method is only available on web based platforms. - Future signInWithPhoneNumber( - String phoneNumber, [ - RecaptchaVerifier? verifier, - ]) async { - assert(phoneNumber.isNotEmpty); - // If we add a recaptcha to the page by creating a new instance, we must - // also clear that instance before proceeding. - bool mustClear = verifier == null; - verifier ??= RecaptchaVerifier(auth: _delegate); - final result = - await _delegate.signInWithPhoneNumber(phoneNumber, verifier.delegate); - if (mustClear) { - verifier.clear(); - } - return ConfirmationResult._(this, result); - } - - /// Authenticates a Firebase client using a popup-based OAuth authentication - /// flow. - /// - /// If succeeds, returns the signed in user along with the provider's - /// credential. - /// - /// This method is only available on web based platforms. - Future signInWithPopup(AuthProvider provider) async { - try { - return UserCredential._(this, await _delegate.signInWithPopup(provider)); - } on FirebaseAuthMultiFactorExceptionPlatform catch (e) { - throw FirebaseAuthMultiFactorException._(this, e); - } catch (e) { - rethrow; - } - } - - /// Authenticates a Firebase client using a full-page redirect flow. - /// - /// To handle the results and errors for this operation, refer to - /// [getRedirectResult]. - Future signInWithRedirect(AuthProvider provider) { - try { - return _delegate.signInWithRedirect(provider); - } on FirebaseAuthMultiFactorExceptionPlatform catch (e) { - throw FirebaseAuthMultiFactorException._(this, e); - } catch (e) { - rethrow; - } - } - - /// Checks a password reset code sent to the user by email or other - /// out-of-band mechanism. - /// - /// Returns the user's email address if valid. - /// - /// A [FirebaseAuthException] maybe thrown with the following error code: - /// - **expired-action-code**: - /// - Thrown if the password reset code has expired. - /// - **invalid-action-code**: - /// - Thrown if the password reset code is invalid. This can happen if the - /// code is malformed or has already been used. - /// - **user-disabled**: - /// - Thrown if the user corresponding to the given email has been disabled. - /// - **user-not-found**: - /// - Thrown if there is no user corresponding to the password reset code. - /// This may have happened if the user was deleted between when the code - /// was issued and when this method was called. - Future verifyPasswordResetCode(String code) { - return _delegate.verifyPasswordResetCode(code); - } - - /// Starts a phone number verification process for the given phone number. - /// - /// This method is used to verify that the user-provided phone number belongs - /// to the user. Firebase sends a code via SMS message to the phone number, - /// where you must then prompt the user to enter the code. The code can be - /// combined with the verification ID to create a [PhoneAuthProvider.credential] - /// which you can then use to sign the user in, or link with their account ( - /// see [signInWithCredential] or [linkWithCredential]). - /// - /// On some Android devices, auto-verification can be handled by the device - /// and a [PhoneAuthCredential] will be automatically provided. - /// - /// No duplicated SMS will be sent out unless a [forceResendingToken] is - /// provided. - /// - /// [phoneNumber] The phone number for the account the user is signing up - /// for or signing into. Make sure to pass in a phone number with country - /// code prefixed with plus sign ('+'). - /// Should be null if it's a multi-factor sign in. - /// - /// [multiFactorInfo] The multi factor info you're using to verify the phone number. - /// Should be set if a [multiFactorSession] is provided. - /// - /// [multiFactorSession] The multi factor session you're using to verify the phone number. - /// Should be set if a [multiFactorInfo] is provided. - /// - /// [timeout] The maximum amount of time you are willing to wait for SMS - /// auto-retrieval to be completed by the library. Maximum allowed value - /// is 2 minutes. - /// - /// [forceResendingToken] The [forceResendingToken] obtained from [codeSent] - /// callback to force re-sending another verification SMS before the - /// auto-retrieval timeout. - /// - /// [verificationCompleted] Triggered when an SMS is auto-retrieved or the - /// phone number has been instantly verified. The callback will receive an - /// [PhoneAuthCredential] that can be passed to [signInWithCredential] or - /// [linkWithCredential]. - /// - /// [verificationFailed] Triggered when an error occurred during phone number - /// verification. A [FirebaseAuthException] is provided when this is - /// triggered. - /// - /// [codeSent] Triggered when an SMS has been sent to the users phone, and - /// will include a [verificationId] and [forceResendingToken]. - /// - /// [codeAutoRetrievalTimeout] Triggered when SMS auto-retrieval times out and - /// provide a [verificationId]. - Future verifyPhoneNumber({ - String? phoneNumber, - PhoneMultiFactorInfo? multiFactorInfo, - required PhoneVerificationCompleted verificationCompleted, - required PhoneVerificationFailed verificationFailed, - required PhoneCodeSent codeSent, - required PhoneCodeAutoRetrievalTimeout codeAutoRetrievalTimeout, - @visibleForTesting String? autoRetrievedSmsCodeForTesting, - Duration timeout = const Duration(seconds: 30), - int? forceResendingToken, - MultiFactorSession? multiFactorSession, - }) { - assert( - phoneNumber != null || multiFactorInfo != null, - 'Either phoneNumber or multiFactorInfo must be provided.', - ); - return _delegate.verifyPhoneNumber( - phoneNumber: phoneNumber, - multiFactorInfo: multiFactorInfo, - timeout: timeout, - forceResendingToken: forceResendingToken, - verificationCompleted: verificationCompleted, - verificationFailed: verificationFailed, - codeSent: codeSent, - codeAutoRetrievalTimeout: codeAutoRetrievalTimeout, - // ignore: invalid_use_of_visible_for_testing_member - autoRetrievedSmsCodeForTesting: autoRetrievedSmsCodeForTesting, - multiFactorSession: multiFactorSession, - ); - } - - /// Apple only. Users signed in with Apple provider can revoke their token using an authorization code. - /// Authorization code can be retrieved on the user credential i.e. userCredential.additionalUserInfo.authorizationCode - Future revokeTokenWithAuthorizationCode(String authorizationCode) { - return _delegate.revokeTokenWithAuthorizationCode(authorizationCode); - } - - /// Android only. Revokes the provided accessToken. Currently supports revoking Apple-issued accessToken only. - Future revokeAccessToken(String accessToken) { - return _delegate.revokeAccessToken(accessToken); - } - - /// Signs out the current user. - /// - /// If successful, it also updates - /// any [authStateChanges], [idTokenChanges] or [userChanges] stream - /// listeners. - Future signOut() async { - await _delegate.signOut(); - } - - /// Initializes the reCAPTCHA Enterprise client proactively to enhance reCAPTCHA signal collection and - /// to complete reCAPTCHA-protected flows in a single attempt. - Future initializeRecaptchaConfig() { - return _delegate.initializeRecaptchaConfig(); - } - - /// Validates a password against the password policy configured for the project or tenant. - /// - /// If no tenant ID is set on the Auth instance, then this method will use the password policy configured for the project. - /// Otherwise, this method will use the policy configured for the tenant. If a password policy has not been configured, - /// then the default policy configured for all projects will be used. - /// - /// If an auth flow fails because a submitted password does not meet the password policy requirements and this method has previously been called, - /// then this method will use the most recent policy available when called again. - /// - /// Returns a map with the following keys: - /// - **status**: A boolean indicating if the password is valid. - /// - **passwordPolicy**: The password policy used to validate the password. - /// - **meetsMinPasswordLength**: A boolean indicating if the password meets the minimum length requirement. - /// - **meetsMaxPasswordLength**: A boolean indicating if the password meets the maximum length requirement. - /// - **meetsLowercaseRequirement**: A boolean indicating if the password meets the lowercase requirement. - /// - **meetsUppercaseRequirement**: A boolean indicating if the password meets the uppercase requirement. - /// - **meetsDigitsRequirement**: A boolean indicating if the password meets the digits requirement. - /// - **meetsSymbolsRequirement**: A boolean indicating if the password meets the symbols requirement. - /// - /// A [FirebaseAuthException] maybe thrown with the following error code: - /// - **invalid-password**: - /// - Thrown if the password is invalid. - /// - **network-request-failed**: - /// - Thrown if there was a network request error, for example the user - /// doesn't have internet connection - /// - **INVALID_LOGIN_CREDENTIALS** or **invalid-credential**: - /// - Thrown if the password is invalid for the given email, or the account - /// corresponding to the email does not have a password set. - /// Depending on if you are using firebase emulator or not the code is - /// different - /// - **operation-not-allowed**: - /// - Thrown if email/password accounts are not enabled. Enable - /// email/password accounts in the Firebase Console, under the Auth tab. - Future validatePassword( - FirebaseAuth auth, - String? password, - ) async { - if (password == null || password.isEmpty) { - throw FirebaseAuthException( - code: 'invalid-password', - message: 'Password cannot be null or empty', - ); - } - PasswordPolicyApi passwordPolicyApi = - PasswordPolicyApi(auth.app.options.apiKey); - PasswordPolicy passwordPolicy = - await passwordPolicyApi.fetchPasswordPolicy(); - PasswordPolicyImpl passwordPolicyImpl = PasswordPolicyImpl(passwordPolicy); - return passwordPolicyImpl.isPasswordValid(password); - } - - @override - String toString() { - return 'FirebaseAuth(app: ${app.name})'; - } -} diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/lib/src/multi_factor.dart b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/lib/src/multi_factor.dart deleted file mode 100644 index 4610e284..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/lib/src/multi_factor.dart +++ /dev/null @@ -1,213 +0,0 @@ -// Copyright 2022, the Chromium project authors. Please see the AUTHORS file -// for details. All rights reserved. Use of this source code is governed by a -// BSD-style license that can be found in the LICENSE file. - -part of '../firebase_auth.dart'; - -/// Defines multi-factor related properties and operations pertaining to a [User]. -/// This class acts as the main entry point for enrolling or un-enrolling -/// second factors for a user, and provides access to their currently enrolled factors. -class MultiFactor { - MultiFactorPlatform _delegate; - - MultiFactor._(this._delegate); - - /// Returns a session identifier for a second factor enrollment operation. - Future getSession() { - return _delegate.getSession(); - } - - /// Enrolls a second factor as identified by the [MultiFactorAssertion] parameter for the current user. - /// - /// [displayName] can be used to provide a display name for the second factor. - Future enroll( - MultiFactorAssertion assertion, { - String? displayName, - }) async { - if (assertion._delegate is TotpMultiFactorGeneratorPlatform) { - assert(displayName != null, 'displayName is mandatory for TOTP'); - } - return _delegate.enroll(assertion._delegate, displayName: displayName); - } - - /// Unenrolls a second factor from this user. - /// - /// [factorUid] is the unique identifier of the second factor to unenroll. - /// [multiFactorInfo] is the [MultiFactorInfo] of the second factor to unenroll. - /// Only one of [factorUid] or [multiFactorInfo] should be provided. - Future unenroll({String? factorUid, MultiFactorInfo? multiFactorInfo}) { - assert( - (factorUid != null && multiFactorInfo == null) || - (factorUid == null && multiFactorInfo != null), - 'Exactly one of `factorUid` or `multiFactorInfo` must be provided', - ); - return _delegate.unenroll( - factorUid: factorUid, - multiFactorInfo: multiFactorInfo, - ); - } - - /// Returns a list of the [MultiFactorInfo] already associated with this user. - Future> getEnrolledFactors() { - return _delegate.getEnrolledFactors(); - } -} - -/// Provider for generating a PhoneMultiFactorAssertion. -class PhoneMultiFactorGenerator { - /// Transforms a PhoneAuthCredential into a [MultiFactorAssertion] - /// which can be used to confirm ownership of a phone second factor. - static MultiFactorAssertion getAssertion( - PhoneAuthCredential credential, - ) { - final assertion = - PhoneMultiFactorGeneratorPlatform.instance.getAssertion(credential); - return MultiFactorAssertion._(assertion); - } -} - -/// Provider for generating a PhoneMultiFactorAssertion. -class TotpMultiFactorGenerator { - /// Transforms a PhoneAuthCredential into a [MultiFactorAssertion] - /// which can be used to confirm ownership of a phone second factor. - static Future generateSecret( - MultiFactorSession session, - ) async { - final secret = - await TotpMultiFactorGeneratorPlatform.instance.generateSecret(session); - return TotpSecret._( - secret.codeIntervalSeconds, - secret.codeLength, - secret.enrollmentCompletionDeadline, - secret.hashingAlgorithm, - secret.secretKey, - secret, - ); - } - - /// Get a [MultiFactorAssertion] - /// which can be used to confirm ownership of a TOTP second factor. - static Future getAssertionForEnrollment( - TotpSecret secret, - String oneTimePassword, - ) async { - final assertion = await TotpMultiFactorGeneratorPlatform.instance - .getAssertionForEnrollment( - secret._instance, - oneTimePassword, - ); - - return MultiFactorAssertion._(assertion); - } - - /// Get a [MultiFactorAssertion] - /// which can be used to confirm ownership of a TOTP second factor. - static Future getAssertionForSignIn( - String enrollmentId, - String oneTimePassword, - ) async { - final assertion = - await TotpMultiFactorGeneratorPlatform.instance.getAssertionForSignIn( - enrollmentId, - oneTimePassword, - ); - - return MultiFactorAssertion._(assertion); - } -} - -class TotpSecret { - final TotpSecretPlatform _instance; - - final int? codeIntervalSeconds; - final int? codeLength; - final DateTime? enrollmentCompletionDeadline; - final String? hashingAlgorithm; - final String secretKey; - - TotpSecret._( - this.codeIntervalSeconds, - this.codeLength, - this.enrollmentCompletionDeadline, - this.hashingAlgorithm, - this.secretKey, - this._instance, - ); - - /// Generate a TOTP secret for the authenticated user. - Future generateQrCodeUrl({ - String? accountName, - String? issuer, - }) { - return _instance.generateQrCodeUrl( - accountName: accountName, - issuer: issuer, - ); - } - - /// Opens the specified QR Code URL in a password manager like iCloud Keychain. - Future openInOtpApp( - String qrCodeUrl, - ) async { - await _instance.openInOtpApp( - qrCodeUrl, - ); - } -} - -/// Represents an assertion that the Firebase Authentication server -/// can use to authenticate a user as part of a multi-factor flow. -class MultiFactorAssertion { - final MultiFactorAssertionPlatform _delegate; - - MultiFactorAssertion._(this._delegate) { - MultiFactorAssertionPlatform.verify(_delegate); - } -} - -/// Utility class that contains methods to resolve second factor -/// requirements on users that have opted into two-factor authentication. -class MultiFactorResolver { - final FirebaseAuth _auth; - final MultiFactorResolverPlatform _delegate; - - MultiFactorResolver._(this._auth, this._delegate) { - MultiFactorResolverPlatform.verify(_delegate); - } - - /// List of [MultiFactorInfo] which represents the available - /// second factors that can be used to complete the sign-in for the current session. - List get hints => _delegate.hints; - - /// A MultiFactorSession, an opaque session identifier for the current sign-in flow. - MultiFactorSession get session => _delegate.session; - - /// Completes sign in with a second factor using an MultiFactorAssertion which - /// confirms that the user has successfully completed the second factor challenge. - Future resolveSignIn( - MultiFactorAssertion assertion, - ) async { - final credential = await _delegate.resolveSignIn(assertion._delegate); - return UserCredential._(_auth, credential); - } -} - -/// MultiFactor exception related to Firebase Authentication. Check the error code -/// and message for more details. -class FirebaseAuthMultiFactorException extends FirebaseAuthException { - final FirebaseAuth _auth; - final FirebaseAuthMultiFactorExceptionPlatform _delegate; - - FirebaseAuthMultiFactorException._(this._auth, this._delegate) - : super( - code: _delegate.code, - message: _delegate.message, - email: _delegate.email, - credential: _delegate.credential, - phoneNumber: _delegate.phoneNumber, - tenantId: _delegate.tenantId, - ); - - MultiFactorResolver get resolver => - MultiFactorResolver._(_auth, _delegate.resolver); -} diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/lib/src/recaptcha_verifier.dart b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/lib/src/recaptcha_verifier.dart deleted file mode 100644 index 8c86d794..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/lib/src/recaptcha_verifier.dart +++ /dev/null @@ -1,100 +0,0 @@ -// ignore_for_file: require_trailing_commas -// Copyright 2020 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -part of '../firebase_auth.dart'; - -/// An [reCAPTCHA](https://www.google.com/recaptcha/?authuser=0)-based -/// application verifier. -class RecaptchaVerifier { - static final RecaptchaVerifierFactoryPlatform _factory = - RecaptchaVerifierFactoryPlatform.instance; - - RecaptchaVerifier._(this._delegate); - - RecaptchaVerifierFactoryPlatform _delegate; - - /// Creates a new [RecaptchaVerifier] instance used to render a reCAPTCHA widget - /// when calling [signInWithPhoneNumber]. - /// - /// It is possible to configure the reCAPTCHA widget with the following arguments, - /// however if no arguments are provided, an "invisible" reCAPTCHA widget with - /// defaults will be created. - /// - /// [container] If a value is provided, the element must exist in the DOM when - /// [render] or [signInWithPhoneNumber] is called. The reCAPTCHA widget will - /// be rendered within the specified DOM element. - /// - /// If no value is provided, an "invisible" reCAPTCHA will be shown when [render] - /// is called. An invisible reCAPTCHA widget is shown a modal on-top of your - /// application. - /// - /// [size] When providing a custom [container], a size (normal or compact) can - /// be provided to change the size of the reCAPTCHA widget. This has no effect - /// when a [container] is not provided. Defaults to [RecaptchaVerifierSize.normal]. - /// - /// [theme] When providing a custom [container], a theme (light or dark) can - /// be provided to change the appearance of the reCAPTCHA widget. This has no - /// effect when a [container] is not provided. Defaults to [RecaptchaVerifierTheme.light]. - /// - /// [onSuccess] An optional callback which is called when the user successfully - /// completes the reCAPTCHA widget. - /// - /// [onError] An optional callback which is called when the reCAPTCHA widget errors - /// (such as a network issue). - /// - /// [onExpired] An optional callback which is called when the reCAPTCHA expires. - factory RecaptchaVerifier({ - required FirebaseAuthPlatform auth, - String? container, - RecaptchaVerifierSize size = RecaptchaVerifierSize.normal, - RecaptchaVerifierTheme theme = RecaptchaVerifierTheme.light, - RecaptchaVerifierOnSuccess? onSuccess, - RecaptchaVerifierOnError? onError, - RecaptchaVerifierOnExpired? onExpired, - }) { - return RecaptchaVerifier._( - _factory.delegateFor( - auth: auth, - container: container, - size: size, - theme: theme, - onSuccess: onSuccess, - onError: onError, - onExpired: onExpired, - ), - ); - } - - /// Returns the underlying factory delegate instance. - @protected - RecaptchaVerifierFactoryPlatform get delegate { - return _delegate; - } - - /// The application verifier type. For a reCAPTCHA verifier, this is - /// 'recaptcha'. - String get type { - return _delegate.type; - } - - /// Clears the reCAPTCHA widget from the page and destroys the current - /// instance. - void clear() { - return _delegate.clear(); - } - - /// Renders the reCAPTCHA widget on the page. - /// - /// Returns a [Future] that resolves with the reCAPTCHA widget ID. - Future render() async { - return _delegate.render(); - } - - /// Waits for the user to solve the reCAPTCHA and resolves with the reCAPTCHA - /// token. - Future verify() async { - return _delegate.verify(); - } -} diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/lib/src/user.dart b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/lib/src/user.dart deleted file mode 100644 index 9b7ccdb7..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/lib/src/user.dart +++ /dev/null @@ -1,685 +0,0 @@ -// ignore_for_file: require_trailing_commas -// Copyright 2020 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -part of '../firebase_auth.dart'; - -/// A user account. -class User { - UserPlatform _delegate; - - final FirebaseAuth _auth; - MultiFactor? _multiFactor; - - User._(this._auth, this._delegate) { - UserPlatform.verify(_delegate); - } - - /// The users display name. - /// - /// Will be `null` if signing in anonymously or via password authentication. - String? get displayName { - return _delegate.displayName; - } - - /// The users email address. - /// - /// Will be `null` if signing in anonymously. - String? get email { - return _delegate.email; - } - - /// Returns whether the users email address has been verified. - /// - /// To send a verification email, see [sendEmailVerification]. - /// - /// Once verified, call [reload] to ensure the latest user information is - /// retrieved from Firebase. - bool get emailVerified { - return _delegate.isEmailVerified; - } - - /// Returns whether the user is a anonymous. - bool get isAnonymous { - return _delegate.isAnonymous; - } - - /// Returns additional metadata about the user, such as their creation time. - UserMetadata get metadata { - return _delegate.metadata; - } - - /// Returns the users phone number. - /// - /// This property will be `null` if the user has not signed in or been has - /// their phone number linked. - String? get phoneNumber { - return _delegate.phoneNumber; - } - - /// Returns a photo URL for the user. - /// - /// This property will be populated if the user has signed in or been linked - /// with a 3rd party OAuth provider (such as Google). - String? get photoURL { - return _delegate.photoURL; - } - - /// Returns a list of user information for each linked provider. - List get providerData { - return _delegate.providerData; - } - - /// Returns a JWT refresh token for the user. - /// - /// This property will be an empty string for native platforms (android, iOS & macOS) as they do not - /// support refresh tokens. - String? get refreshToken { - return _delegate.refreshToken; - } - - /// The current user's tenant ID. - /// - /// This is a read-only property, which indicates the tenant ID used to sign - /// in the current user. This is `null` if the user is signed in from the - /// parent project. - String? get tenantId { - return _delegate.tenantId; - } - - /// The user's unique ID. - String get uid { - return _delegate.uid; - } - - /// Deletes and signs out the user. - /// - /// **Important**: this is a security-sensitive operation that requires the - /// user to have recently signed in. If this requirement isn't met, ask the - /// user to authenticate again and then call [User.reauthenticateWithCredential]. - /// - /// A [FirebaseAuthException] maybe thrown with the following error code: - /// - **requires-recent-login**: - /// - Thrown if the user's last sign-in time does not meet the security - /// threshold. Use [User.reauthenticateWithCredential] to resolve. This - /// does not apply if the user is anonymous. - Future delete() async { - return _delegate.delete(); - } - - /// Returns a JSON Web Token (JWT) used to identify the user to a Firebase - /// service. - /// - /// Returns the current token if it has not expired. Otherwise, this will - /// refresh the token and return a new one. - /// - /// If [forceRefresh] is `true`, the token returned will be refreshed regardless - /// of token expiration. - Future getIdToken([bool forceRefresh = false]) { - return _delegate.getIdToken(forceRefresh); - } - - /// Returns a [IdTokenResult] containing the users JSON Web Token (JWT) and - /// other metadata. - /// - /// Returns the current token if it has not expired. Otherwise, this will - /// refresh the token and return a new one. - /// - /// If [forceRefresh] is `true`, the token returned will be refreshed regardless - /// of token expiration. - Future getIdTokenResult([bool forceRefresh = false]) { - return _delegate.getIdTokenResult(forceRefresh); - } - - /// Links the user account with the given credentials. - /// - /// A [FirebaseAuthException] maybe thrown with the following error code: - /// - **provider-already-linked**: - /// - Thrown if the provider has already been linked to the user. This error - /// is thrown even if this is not the same provider's account that is - /// currently linked to the user. - /// - **invalid-credential**: - /// - Thrown if the provider's credential is not valid. This can happen if it - /// has already expired when calling link, or if it used invalid token(s). - /// See the Firebase documentation for your provider, and make sure you - /// pass in the correct parameters to the credential method. - /// - **credential-already-in-use**: - /// - Thrown if the account corresponding to the credential already exists - /// among your users, or is already linked to a Firebase User. For example, - /// this error could be thrown if you are upgrading an anonymous user to a - /// Google user by linking a Google credential to it and the Google - /// credential used is already associated with an existing Firebase Google - /// user. The fields `email`, `phoneNumber`, and `credential` - /// ([AuthCredential]) may be provided, depending on the type of - /// credential. You can recover from this error by signing in with - /// `credential` directly via [signInWithCredential]. Please note, you will - /// not recover from this error if you're using a [PhoneAuthCredential] to link - /// a provider to an account. Once an attempt to link an account has been made, - /// a new sms code is required to sign in the user. - /// - **email-already-in-use**: - /// - Thrown if the email corresponding to the credential already exists - /// among your users. When thrown while linking a credential to an existing - /// user, an `email` and `credential` ([AuthCredential]) fields are also - /// provided. You have to link the credential to the existing user with - /// that email if you wish to continue signing in with that credential. To - /// do so, sign in to `email` via one of - /// the providers returned and then [User.linkWithCredential] the original - /// credential to that newly signed in user. - /// - **operation-not-allowed**: - /// - Thrown if you have not enabled the provider in the Firebase Console. Go - /// to the Firebase Console for your project, in the Auth section and the - /// Sign in Method tab and configure the provider. - /// - **invalid-email**: - /// - Thrown if the email used in a [EmailAuthProvider.credential] is - /// invalid. - /// - **invalid-email**: - /// - Thrown if the password used in a [EmailAuthProvider.credential] is not - /// correct or when the user associated with the email does not have a - /// password. - /// - **invalid-verification-code**: - /// - Thrown if the credential is a [PhoneAuthProvider.credential] and the - /// verification code of the credential is not valid. - /// - **invalid-verification-id**: - /// - Thrown if the credential is a [PhoneAuthProvider.credential] and the - /// verification ID of the credential is not valid. - Future linkWithCredential(AuthCredential credential) async { - try { - return UserCredential._( - _auth, - await _delegate.linkWithCredential(credential), - ); - } on FirebaseAuthMultiFactorExceptionPlatform catch (e) { - throw FirebaseAuthMultiFactorException._(_auth, e); - } catch (e) { - rethrow; - } - } - - /// Links with an AuthProvider using native authentication flow. - /// On web, you should use [linkWithPopup] or [linkWithRedirect] instead. - /// - /// A [FirebaseAuthException] maybe thrown with the following error code: - /// - **provider-already-linked**: - /// - Thrown if the provider has already been linked to the user. This error - /// is thrown even if this is not the same provider's account that is - /// currently linked to the user. - /// - **invalid-credential**: - /// - Thrown if the provider's credential is not valid. This can happen if it - /// has already expired when calling link, or if it used invalid token(s). - /// See the Firebase documentation for your provider, and make sure you - /// pass in the correct parameters to the credential method. - /// - **credential-already-in-use**: - /// - Thrown if the account corresponding to the credential already exists - /// among your users, or is already linked to a Firebase User. For example, - /// this error could be thrown if you are upgrading an anonymous user to a - /// Google user by linking a Google credential to it and the Google - /// credential used is already associated with an existing Firebase Google - /// user. The fields `email`, `phoneNumber`, and `credential` - /// ([AuthCredential]) may be provided, depending on the type of - /// credential. You can recover from this error by signing in with - /// `credential` directly via [signInWithCredential]. - /// - **email-already-in-use**: - /// - Thrown if the email corresponding to the credential already exists - /// among your users. When thrown while linking a credential to an existing - /// user, an `email` and `credential` ([AuthCredential]) fields are also - /// provided. You have to link the credential to the existing user with - /// that email if you wish to continue signing in with that credential. - /// To do so, sign in to `email` via one - /// of the providers and then [User.linkWithCredential] the - /// original credential to that newly signed in user. - /// - **operation-not-allowed**: - /// - Thrown if you have not enabled the provider in the Firebase Console. Go - /// to the Firebase Console for your project, in the Auth section and the - /// Sign in Method tab and configure the provider. - Future linkWithProvider( - AuthProvider provider, - ) async { - try { - return UserCredential._( - _auth, - await _delegate.linkWithProvider(provider), - ); - } on FirebaseAuthMultiFactorExceptionPlatform catch (e) { - throw FirebaseAuthMultiFactorException._(_auth, e); - } catch (e) { - rethrow; - } - } - - /// Re-authenticates a user using a Provider. - /// - /// Use before operations such as [User.updatePassword] that require tokens - /// from recent sign-in attempts. - /// - /// A [FirebaseAuthException] maybe thrown with the following error code: - /// - **user-mismatch**: - /// - Thrown if the credential given does not correspond to the user. - /// - **user-not-found**: - /// - Thrown if the credential given does not correspond to any existing - /// user. - /// - **invalid-credential**: - /// - Thrown if the provider's credential is not valid. This can happen if it - /// has already expired when calling link, or if it used invalid token(s). - /// See the Firebase documentation for your provider, and make sure you - /// pass in the correct parameters to the credential method. - /// - **invalid-email**: - /// - Thrown if the email used in a [EmailAuthProvider.credential] is - /// invalid. - /// - **wrong-password**: - /// - Thrown if the password used in a [EmailAuthProvider.credential] is not - /// correct or when the user associated with the email does not have a - /// password. - /// - **invalid-verification-code**: - /// - Thrown if the credential is a [PhoneAuthProvider.credential] and the - /// verification code of the credential is not valid. - /// - **invalid-verification-id**: - /// - Thrown if the credential is a [PhoneAuthProvider.credential] and the - /// verification ID of the credential is not valid. - Future reauthenticateWithProvider( - AuthProvider provider, - ) async { - try { - return UserCredential._( - _auth, - await _delegate.reauthenticateWithProvider(provider), - ); - } on FirebaseAuthMultiFactorExceptionPlatform catch (e) { - throw FirebaseAuthMultiFactorException._(_auth, e); - } catch (e) { - rethrow; - } - } - - /// Re-authenticates a user using a popup on Web. - /// - /// Use before operations such as [User.updatePassword] that require tokens - /// from recent sign-in attempts. - /// - /// A [FirebaseAuthException] maybe thrown with the following error code: - /// - **user-mismatch**: - /// - Thrown if the credential given does not correspond to the user. - /// - **user-not-found**: - /// - Thrown if the credential given does not correspond to any existing - /// user. - /// - **invalid-credential**: - /// - Thrown if the provider's credential is not valid. This can happen if it - /// has already expired when calling link, or if it used invalid token(s). - /// See the Firebase documentation for your provider, and make sure you - /// pass in the correct parameters to the credential method. - /// - **invalid-email**: - /// - Thrown if the email used in a [EmailAuthProvider.credential] is - /// invalid. - /// - **wrong-password**: - /// - Thrown if the password used in a [EmailAuthProvider.credential] is not - /// correct or when the user associated with the email does not have a - /// password. - /// - **invalid-verification-code**: - /// - Thrown if the credential is a [PhoneAuthProvider.credential] and the - /// verification code of the credential is not valid. - /// - **invalid-verification-id**: - /// - Thrown if the credential is a [PhoneAuthProvider.credential] and the - /// verification ID of the credential is not valid. - Future reauthenticateWithPopup( - AuthProvider provider, - ) async { - return UserCredential._( - _auth, - await _delegate.reauthenticateWithPopup(provider), - ); - } - - /// Re-authenticates a user using a redirection on Web. - /// - /// Use before operations such as [User.updatePassword] that require tokens - /// from recent sign-in attempts. - /// - /// A [FirebaseAuthException] maybe thrown with the following error code: - /// - **user-mismatch**: - /// - Thrown if the credential given does not correspond to the user. - /// - **user-not-found**: - /// - Thrown if the credential given does not correspond to any existing - /// user. - /// - **invalid-credential**: - /// - Thrown if the provider's credential is not valid. This can happen if it - /// has already expired when calling link, or if it used invalid token(s). - /// See the Firebase documentation for your provider, and make sure you - /// pass in the correct parameters to the credential method. - /// - **invalid-email**: - /// - Thrown if the email used in a [EmailAuthProvider.credential] is - /// invalid. - /// - **wrong-password**: - /// - Thrown if the password used in a [EmailAuthProvider.credential] is not - /// correct or when the user associated with the email does not have a - /// password. - /// - **invalid-verification-code**: - /// - Thrown if the credential is a [PhoneAuthProvider.credential] and the - /// verification code of the credential is not valid. - /// - **invalid-verification-id**: - /// - Thrown if the credential is a [PhoneAuthProvider.credential] and the - /// verification ID of the credential is not valid. - Future reauthenticateWithRedirect( - AuthProvider provider, - ) async { - await _delegate.reauthenticateWithRedirect(provider); - } - - /// Links the user account with the given provider. - /// - /// A [FirebaseAuthException] maybe thrown with the following error code: - /// - **provider-already-linked**: - /// - Thrown if the provider has already been linked to the user. This error - /// is thrown even if this is not the same provider's account that is - /// currently linked to the user. - /// - **invalid-credential**: - /// - Thrown if the provider's credential is not valid. This can happen if it - /// has already expired when calling link, or if it used invalid token(s). - /// See the Firebase documentation for your provider, and make sure you - /// pass in the correct parameters to the credential method. - /// - **credential-already-in-use**: - /// - Thrown if the account corresponding to the credential already exists - /// among your users, or is already linked to a Firebase User. For example, - /// this error could be thrown if you are upgrading an anonymous user to a - /// Google user by linking a Google credential to it and the Google - /// credential used is already associated with an existing Firebase Google - /// user. The fields `email`, `phoneNumber`, and `credential` - /// ([AuthCredential]) may be provided, depending on the type of - /// credential. You can recover from this error by signing in with - /// `credential` directly via [signInWithCredential]. - /// - **email-already-in-use**: - /// - Thrown if the email corresponding to the credential already exists - /// among your users. When thrown while linking a credential to an existing - /// user, an `email` and `credential` ([AuthCredential]) fields are also - /// provided. You have to link the credential to the existing user with - /// that email if you wish to continue signing in with that credential. - /// To do so, sign in to `email` via one - /// of the providers and then [User.linkWithCredential] the - /// original credential to that newly signed in user. - /// - **operation-not-allowed**: - /// - Thrown if you have not enabled the provider in the Firebase Console. Go - /// to the Firebase Console for your project, in the Auth section and the - /// Sign in Method tab and configure the provider. - Future linkWithPopup(AuthProvider provider) async { - try { - return UserCredential._( - _auth, - await _delegate.linkWithPopup(provider), - ); - } on FirebaseAuthMultiFactorExceptionPlatform catch (e) { - throw FirebaseAuthMultiFactorException._(_auth, e); - } catch (e) { - rethrow; - } - } - - /// Links the user account with the given provider. - /// - /// A [FirebaseAuthException] maybe thrown with the following error code: - /// - **provider-already-linked**: - /// - Thrown if the provider has already been linked to the user. This error - /// is thrown even if this is not the same provider's account that is - /// currently linked to the user. - /// - **invalid-credential**: - /// - Thrown if the provider's credential is not valid. This can happen if it - /// has already expired when calling link, or if it used invalid token(s). - /// See the Firebase documentation for your provider, and make sure you - /// pass in the correct parameters to the credential method. - /// - **credential-already-in-use**: - /// - Thrown if the account corresponding to the credential already exists - /// among your users, or is already linked to a Firebase User. For example, - /// this error could be thrown if you are upgrading an anonymous user to a - /// Google user by linking a Google credential to it and the Google - /// credential used is already associated with an existing Firebase Google - /// user. The fields `email`, `phoneNumber`, and `credential` - /// ([AuthCredential]) may be provided, depending on the type of - /// credential. You can recover from this error by signing in with - /// `credential` directly via [signInWithCredential]. - /// - **email-already-in-use**: - /// - Thrown if the email corresponding to the credential already exists - /// among your users. When thrown while linking a credential to an existing - /// user, an `email` and `credential` ([AuthCredential]) fields are also - /// provided. You have to link the credential to the existing user with - /// that email if you wish to continue signing in with that credential. - /// To do so, sign in to `email` via one - /// of the providers and then [User.linkWithCredential] the - /// original credential to that newly signed in user. - /// - **operation-not-allowed**: - /// - Thrown if you have not enabled the provider in the Firebase Console. Go - /// to the Firebase Console for your project, in the Auth section and the - /// Sign in Method tab and configure the provider. - Future linkWithRedirect(AuthProvider provider) async { - try { - await _delegate.linkWithRedirect(provider); - } on FirebaseAuthMultiFactorExceptionPlatform catch (e) { - throw FirebaseAuthMultiFactorException._(_auth, e); - } catch (e) { - rethrow; - } - } - - /// Links the user account with the given phone number. - /// - /// This method is only supported on web platforms. Use [verifyPhoneNumber] and - /// then [linkWithCredential] on these platforms. - /// - /// A [FirebaseAuthException] maybe thrown with the following error code: - /// - **provider-already-linked**: - /// - Thrown if the provider has already been linked to the user. This error - /// is thrown even if this is not the same provider's account that is - /// currently linked to the user. - /// - **captcha-check-failed**: - /// - Thrown if the reCAPTCHA response token was invalid, expired, or if this - /// method was called from a non-whitelisted domain. - /// - **invalid-phone-number**: - /// - Thrown if the phone number has an invalid format. - /// - **quota-exceeded**: - /// - Thrown if the SMS quota for the Firebase project has been exceeded. - /// - **user-disabled**: - /// - Thrown if the user corresponding to the given phone number has been disabled. - /// - **credential-already-in-use**: - /// - Thrown if the account corresponding to the phone number already exists - /// among your users, or is already linked to a Firebase User. - /// - **operation-not-allowed**: - /// - Thrown if you have not enabled the phone authentication provider in the - /// Firebase Console. Go to the Firebase Console for your project, in the Auth - /// section and the Sign in Method tab and configure the provider. - Future linkWithPhoneNumber( - String phoneNumber, [ - RecaptchaVerifier? verifier, - ]) async { - assert(phoneNumber.isNotEmpty); - // If we add a recaptcha to the page by creating a new instance, we must - // also clear that instance before proceeding. - bool mustClear = verifier == null; - verifier ??= RecaptchaVerifier(auth: _delegate.auth); - try { - final result = - await _delegate.linkWithPhoneNumber(phoneNumber, verifier.delegate); - if (mustClear) { - verifier.clear(); - } - return ConfirmationResult._(_auth, result); - } on FirebaseAuthMultiFactorExceptionPlatform catch (e) { - throw FirebaseAuthMultiFactorException._(_auth, e); - } catch (e) { - rethrow; - } - } - - /// Re-authenticates a user using a fresh credential. - /// - /// Use before operations such as [User.updatePassword] that require tokens - /// from recent sign-in attempts. - /// - /// A [FirebaseAuthException] maybe thrown with the following error code: - /// - **user-mismatch**: - /// - Thrown if the credential given does not correspond to the user. - /// - **user-not-found**: - /// - Thrown if the credential given does not correspond to any existing - /// user. - /// - **invalid-credential**: - /// - Thrown if the provider's credential is not valid. This can happen if it - /// has already expired when calling link, or if it used invalid token(s). - /// See the Firebase documentation for your provider, and make sure you - /// pass in the correct parameters to the credential method. - /// - **invalid-email**: - /// - Thrown if the email used in a [EmailAuthProvider.credential] is - /// invalid. - /// - **wrong-password**: - /// - Thrown if the password used in a [EmailAuthProvider.credential] is not - /// correct or when the user associated with the email does not have a - /// password. - /// - **invalid-verification-code**: - /// - Thrown if the credential is a [PhoneAuthProvider.credential] and the - /// verification code of the credential is not valid. - /// - **invalid-verification-id**: - /// - Thrown if the credential is a [PhoneAuthProvider.credential] and the - /// verification ID of the credential is not valid. - Future reauthenticateWithCredential( - AuthCredential credential, - ) async { - try { - return UserCredential._( - _auth, - await _delegate.reauthenticateWithCredential(credential), - ); - } on FirebaseAuthMultiFactorExceptionPlatform catch (e) { - throw FirebaseAuthMultiFactorException._(_auth, e); - } catch (e) { - rethrow; - } - } - - /// Refreshes the current user, if signed in. - Future reload() async { - await _delegate.reload(); - } - - /// Sends a verification email to a user. - /// - /// The verification process is completed by calling [applyActionCode]. - Future sendEmailVerification([ - ActionCodeSettings? actionCodeSettings, - ]) async { - await _delegate.sendEmailVerification(actionCodeSettings); - } - - /// Unlinks a provider from a user account. - /// - /// A [FirebaseAuthException] maybe thrown with the following error code: - /// - **no-such-provider**: - /// - Thrown if the user does not have this provider linked or when the - /// provider ID given does not exist. - Future unlink(String providerId) async { - return User._(_auth, await _delegate.unlink(providerId)); - } - - /// Updates the user's email address. - /// - /// An email will be sent to the original email address (if it was set) that - /// allows to revoke the email address change, in order to protect them from - /// account hijacking. - /// - /// **Important**: this is a security sensitive operation that requires the - /// user to have recently signed in. If this requirement isn't met, ask the - /// user to authenticate again and then call [User.reauthenticateWithCredential]. - /// - - /// Updates the user's password. - /// - /// **Important**: this is a security sensitive operation that requires the - /// user to have recently signed in. If this requirement isn't met, ask the - /// user to authenticate again and then call [User.reauthenticateWithCredential]. - /// - /// A [FirebaseAuthException] maybe thrown with the following error code: - /// - **weak-password**: - /// - Thrown if the password is not strong enough. - /// - **requires-recent-login**: - /// - Thrown if the user's last sign-in time does not meet the security - /// threshold. Use [User.reauthenticateWithCredential] to resolve. This - /// does not apply if the user is anonymous. - Future updatePassword(String newPassword) async { - await _delegate.updatePassword(newPassword); - } - - /// Updates the user's phone number. - /// - /// A credential can be created by verifying a phone number via [verifyPhoneNumber]. - /// - /// A [FirebaseAuthException] maybe thrown with the following error code: - /// - **invalid-verification-code**: - /// - Thrown if the verification code of the credential is not valid. - /// - **invalid-verification-id**: - /// - Thrown if the verification ID of the credential is not valid. - Future updatePhoneNumber(PhoneAuthCredential phoneCredential) async { - await _delegate.updatePhoneNumber(phoneCredential); - } - - /// Update the user name. - Future updateDisplayName(String? displayName) { - return _delegate - .updateProfile({'displayName': displayName}); - } - - /// Update the user's profile picture. - Future updatePhotoURL(String? photoURL) { - return _delegate.updateProfile({'photoURL': photoURL}); - } - - /// Updates a user's profile data. - Future updateProfile({String? displayName, String? photoURL}) { - return _delegate.updateProfile({ - 'displayName': displayName, - 'photoURL': photoURL, - }); - } - - /// Sends a verification email to a new email address. The user's email will - /// be updated to the new one after being verified. - /// - /// If you have a custom email action handler, you can complete the - /// verification process by calling [applyActionCode]. - /// - /// A [FirebaseAuthException] maybe thrown with the following error code: - /// - **missing-android-pkg-name**: - /// - An Android package name must be provided if the Android app is required to be installed. - /// - **missing-continue-uri**: - /// - A continue URL must be provided in the request. - /// - **missing-ios-bundle-id**: - /// - An iOS bundle ID must be provided if an App Store ID is provided. - /// - **invalid-continue-uri**: - /// - The continue URL provided in the request is invalid. - /// - **unauthorized-continue-uri**: - /// - The domain of the continue URL is not whitelisted. Whitelist the domain in the Firebase console. - Future verifyBeforeUpdateEmail( - String newEmail, [ - ActionCodeSettings? actionCodeSettings, - ]) async { - await _delegate.verifyBeforeUpdateEmail(newEmail, actionCodeSettings); - } - - MultiFactor get multiFactor { - if (!kIsWeb && (defaultTargetPlatform == TargetPlatform.windows)) { - throw UnimplementedError( - 'MultiFactor Authentication is only supported on web, Android, iOS and macOS.', - ); - } - return _multiFactor ??= MultiFactor._(_delegate.multiFactor); - } - - @override - String toString() { - return '$User(' - 'displayName: $displayName, ' - 'email: $email, ' - 'isEmailVerified: $emailVerified, ' - 'isAnonymous: $isAnonymous, ' - 'metadata: $metadata, ' - 'phoneNumber: $phoneNumber, ' - 'photoURL: $photoURL, ' - 'providerData, $providerData, ' - 'refreshToken: $refreshToken, ' - 'tenantId: $tenantId, ' - 'uid: $uid)'; - } -} diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/lib/src/user_credential.dart b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/lib/src/user_credential.dart deleted file mode 100644 index 3afbbc7d..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/lib/src/user_credential.dart +++ /dev/null @@ -1,39 +0,0 @@ -// ignore_for_file: require_trailing_commas -// Copyright 2020 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -part of '../firebase_auth.dart'; - -/// A UserCredential is returned from authentication requests such as -/// [createUserWithEmailAndPassword]. -class UserCredential { - UserCredential._(this._auth, this._delegate) { - UserCredentialPlatform.verify(_delegate); - } - - final FirebaseAuth _auth; - final UserCredentialPlatform _delegate; - - /// Returns additional information about the user, such as whether they are a - /// newly created one. - AdditionalUserInfo? get additionalUserInfo => _delegate.additionalUserInfo; - - /// The users [AuthCredential]. - AuthCredential? get credential => _delegate.credential; - - /// Returns a [User] containing additional information and user specific - /// methods. - User? get user { - // TODO(rousselGit): cache the `user` instance or override == so that ".user == .user" - return _delegate.user == null ? null : User._(_auth, _delegate.user!); - } - - @override - String toString() { - return 'UserCredential(' - 'additionalUserInfo: $additionalUserInfo, ' - 'credential: $credential, ' - 'user: $user)'; - } -} diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/macos/firebase_auth.podspec b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/macos/firebase_auth.podspec deleted file mode 100755 index 4e5be544..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/macos/firebase_auth.podspec +++ /dev/null @@ -1,65 +0,0 @@ -require 'yaml' - -pubspec = YAML.load_file(File.join('..', 'pubspec.yaml')) -library_version = pubspec['version'].gsub('+', '-') - -if defined?($FirebaseSDKVersion) - Pod::UI.puts "#{pubspec['name']}: Using user specified Firebase SDK version '#{$FirebaseSDKVersion}'" - firebase_sdk_version = $FirebaseSDKVersion -else - firebase_core_script = File.join(File.expand_path('..', File.expand_path('..', File.dirname(__FILE__))), 'firebase_core/ios/firebase_sdk_version.rb') - if File.exist?(firebase_core_script) - require firebase_core_script - firebase_sdk_version = firebase_sdk_version! - Pod::UI.puts "#{pubspec['name']}: Using Firebase SDK version '#{firebase_sdk_version}' defined in 'firebase_core'" - end -end - -begin - required_macos_version = "10.12" - current_target_definition = Pod::Config.instance.podfile.send(:current_target_definition) - user_osx_target = current_target_definition.to_hash["platform"]["osx"] - if (Gem::Version.new(user_osx_target) < Gem::Version.new(required_macos_version)) - error_message = "The FlutterFire plugin #{pubspec['name']} for macOS requires a macOS deployment target of #{required_macos_version} or later." - Pod::UI.warn error_message, [ - "Update the `platform :osx, '#{user_osx_target}'` line in your macOS/Podfile to version `#{required_macos_version}` and ensure you commit this file.", - "Open your `macos/Runner.xcodeproj` Xcode project and under the 'Runner' target General tab set your Deployment Target to #{required_macos_version} or later." - ] - raise Pod::Informative, error_message - end -rescue Pod::Informative - raise -rescue - # Do nothing for all other errors and let `pod install` deal with any issues. -end - -Pod::Spec.new do |s| - s.name = pubspec['name'] - s.version = library_version - s.summary = pubspec['description'] - s.description = pubspec['description'] - s.homepage = pubspec['homepage'] - s.license = { :file => '../LICENSE' } - s.authors = 'The Chromium Authors' - s.source = { :path => '.' } - - s.source_files = 'firebase_auth/Sources/firebase_auth/**/*.{h,m}' - s.public_header_files = 'firebase_auth/Sources/firebase_auth/include/Public/**/*.h' - s.private_header_files = 'firebase_auth/Sources/firebase_auth/include/Private/**/*.h' - - s.platform = :osx, '10.13' - - # Flutter dependencies - s.dependency 'FlutterMacOS' - - # Firebase dependencies - s.dependency 'firebase_core' - s.dependency 'Firebase/CoreOnly', "~> #{firebase_sdk_version}" - s.dependency 'Firebase/Auth', "~> #{firebase_sdk_version}" - - s.static_framework = true - s.pod_target_xcconfig = { - 'GCC_PREPROCESSOR_DEFINITIONS' => "LIBRARY_VERSION=\\\"#{library_version}\\\" LIBRARY_NAME=\\\"flutter-fire-auth\\\"", - 'DEFINES_MODULE' => 'YES' - } -end diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/macos/firebase_auth/Package.swift b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/macos/firebase_auth/Package.swift deleted file mode 100644 index d6451507..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/macos/firebase_auth/Package.swift +++ /dev/null @@ -1,43 +0,0 @@ -// swift-tools-version: 5.9 -// The swift-tools-version declares the minimum version of Swift required to build this package. - -// Copyright 2024, the Chromium project authors. Please see the AUTHORS file -// for details. All rights reserved. Use of this source code is governed by a -// BSD-style license that can be found in the LICENSE file. - -import PackageDescription - -let libraryVersion = "6.5.4" -let firebaseSdkVersion: Version = "12.15.0" - -let package = Package( - name: "firebase_auth", - platforms: [ - .macOS("10.15") - ], - products: [ - .library(name: "firebase-auth", targets: ["firebase_auth"]) - ], - dependencies: [ - .package(url: "https://github.com/firebase/firebase-ios-sdk", exact: firebaseSdkVersion), - .package(name: "firebase_core", path: "../firebase_core"), - ], - targets: [ - .target( - name: "firebase_auth", - dependencies: [ - .product(name: "FirebaseAuth", package: "firebase-ios-sdk"), - .product(name: "firebase-core", package: "firebase_core"), - ], - resources: [ - .process("Resources") - ], - cSettings: [ - .headerSearchPath("include/Private"), - .headerSearchPath("include/Public"), - .define("LIBRARY_VERSION", to: "\"\(libraryVersion)\""), - .define("LIBRARY_NAME", to: "\"flutter-fire-auth\""), - ] - ) - ] -) diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/macos/firebase_auth/Sources/firebase_auth/FLTAuthStateChannelStreamHandler.m b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/macos/firebase_auth/Sources/firebase_auth/FLTAuthStateChannelStreamHandler.m deleted file mode 100644 index 5ef9adaf..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/macos/firebase_auth/Sources/firebase_auth/FLTAuthStateChannelStreamHandler.m +++ /dev/null @@ -1,56 +0,0 @@ -// Copyright 2021 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. -@import FirebaseAuth; -#import "include/Private/FLTAuthStateChannelStreamHandler.h" -#import -#import "include/Private/PigeonParser.h" -#import "include/Public/FLTFirebaseAuthPlugin.h" - -@implementation FLTAuthStateChannelStreamHandler { - FIRAuth *_auth; - FIRAuthStateDidChangeListenerHandle _listener; -} - -- (instancetype)initWithAuth:(FIRAuth *)auth { - self = [super init]; - if (self) { - _auth = auth; - } - return self; -} - -- (FlutterError *)onListenWithArguments:(id)arguments eventSink:(FlutterEventSink)events { - bool __block initialAuthState = YES; - - _listener = [_auth addAuthStateDidChangeListener:^(FIRAuth *_Nonnull auth, - FIRUser *_Nullable user) { - if (initialAuthState) { - initialAuthState = NO; - return; - } - - if (user) { - events(@{ - @"user" : [PigeonParser getManualList:[PigeonParser getPigeonDetails:[auth currentUser]]] - }); - } else { - events(@{ - @"user" : [NSNull null], - }); - } - }]; - - return nil; -} - -- (FlutterError *)onCancelWithArguments:(id)arguments { - if (_listener) { - [_auth removeAuthStateDidChangeListener:_listener]; - } - _listener = nil; - - return nil; -} - -@end diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/macos/firebase_auth/Sources/firebase_auth/FLTFirebaseAuthPlugin.m b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/macos/firebase_auth/Sources/firebase_auth/FLTFirebaseAuthPlugin.m deleted file mode 100644 index 606dda68..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/macos/firebase_auth/Sources/firebase_auth/FLTFirebaseAuthPlugin.m +++ /dev/null @@ -1,2376 +0,0 @@ -// Copyright 2020 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -@import FirebaseAuth; -#import -#import -#if __has_include() -#import -#else -#import -#endif - -#import "include/Private/FLTAuthStateChannelStreamHandler.h" -#import "include/Private/FLTIdTokenChannelStreamHandler.h" -#import "include/Private/FLTPhoneNumberVerificationStreamHandler.h" -#import "include/Private/PigeonParser.h" - -#import "include/Public/CustomPigeonHeader.h" -#import "include/Public/FLTFirebaseAuthPlugin.h" -@import CommonCrypto; -#import - -#if __has_include() -#import -#else -#import -#endif - -NSString *const kFLTFirebaseAuthChannelName = @"plugins.flutter.io/firebase_auth"; - -// Argument Keys -NSString *const kAppName = @"appName"; - -// Provider type keys. -NSString *const kSignInMethodPassword = @"password"; -NSString *const kSignInMethodEmailLink = @"emailLink"; -NSString *const kSignInMethodFacebook = @"facebook.com"; -NSString *const kSignInMethodGoogle = @"google.com"; -NSString *const kSignInMethodGameCenter = @"gc.apple.com"; -NSString *const kSignInMethodTwitter = @"twitter.com"; -NSString *const kSignInMethodGithub = @"github.com"; -NSString *const kSignInMethodApple = @"apple.com"; -NSString *const kSignInMethodPhone = @"phone"; -NSString *const kSignInMethodOAuth = @"oauth"; - -// Credential argument keys. -NSString *const kArgumentCredential = @"credential"; -NSString *const kArgumentProviderId = @"providerId"; -NSString *const kArgumentProviderScope = @"scopes"; -NSString *const kArgumentProviderCustomParameters = @"customParameters"; -NSString *const kArgumentSignInMethod = @"signInMethod"; -NSString *const kArgumentSecret = @"secret"; -NSString *const kArgumentIdToken = @"idToken"; -NSString *const kArgumentAccessToken = @"accessToken"; -NSString *const kArgumentRawNonce = @"rawNonce"; -NSString *const kArgumentEmail = @"email"; -NSString *const kArgumentCode = @"code"; -NSString *const kArgumentNewEmail = @"newEmail"; -NSString *const kArgumentEmailLink = kSignInMethodEmailLink; -NSString *const kArgumentToken = @"token"; -NSString *const kArgumentVerificationId = @"verificationId"; -NSString *const kArgumentSmsCode = @"smsCode"; -NSString *const kArgumentActionCodeSettings = @"actionCodeSettings"; -NSString *const kArgumentFamilyName = @"familyName"; -NSString *const kArgumentGivenName = @"givenName"; -NSString *const kArgumentMiddleName = @"middleName"; -NSString *const kArgumentNickname = @"nickname"; -NSString *const kArgumentNamePrefix = @"namePrefix"; -NSString *const kArgumentNameSuffix = @"nameSuffix"; - -// MultiFactor -NSString *const kArgumentMultiFactorHints = @"multiFactorHints"; -NSString *const kArgumentMultiFactorSessionId = @"multiFactorSessionId"; -NSString *const kArgumentMultiFactorResolverId = @"multiFactorResolverId"; -NSString *const kArgumentMultiFactorInfo = @"multiFactorInfo"; - -// Manual error codes & messages. -NSString *const kErrCodeNoCurrentUser = @"no-current-user"; -NSString *const kErrMsgNoCurrentUser = @"No user currently signed in."; -NSString *const kErrCodeInvalidCredential = @"invalid-credential"; -NSString *const kErrMsgInvalidCredential = - @"The supplied auth credential is malformed, has expired or is not " - @"currently supported."; - -// Used for caching credentials between Method Channel method calls. -static NSMutableDictionary *credentialsMap; - -@interface FLTFirebaseAuthPlugin () -@property(nonatomic, retain) NSObject *messenger; -@property(strong, nonatomic) FIROAuthProvider *authProvider; -// Used to keep the user who wants to link with Apple Sign In -@property(strong, nonatomic) FIRUser *linkWithAppleUser; -@property(strong, nonatomic) FIRAuth *signInWithAppleAuth; -@property BOOL isReauthenticatingWithApple; -@property(strong, nonatomic) NSString *currentNonce; -@property(strong, nonatomic) void (^appleCompletion) - (InternalUserCredential *_Nullable, FlutterError *_Nullable); -@property(strong, nonatomic) AuthPigeonFirebaseApp *appleArguments; -/// YES while an `ASAuthorizationController` Sign in with Apple flow is active. -@property(nonatomic, assign) BOOL appleSignInRequestInFlight; - -@end - -@implementation FLTFirebaseAuthPlugin { - // Map an id to a MultiFactorSession object. - NSMutableDictionary *_multiFactorSessionMap; - - // Map an id to a MultiFactorResolver object. - NSMutableDictionary *_multiFactorResolverMap; - - // Map an id to a MultiFactorResolver object. - NSMutableDictionary *_multiFactorAssertionMap; - - // Map an id to a MultiFactorResolver object. - NSMutableDictionary *_multiFactorTotpSecretMap; - - // Emulator host/port per app, used to build REST URLs for workarounds. - NSMutableDictionary *_emulatorConfigs; - - NSObject *_binaryMessenger; - NSMutableDictionary *_eventChannels; - NSMutableDictionary *> *_streamHandlers; - NSData *_apnsToken; -} - -#pragma mark - FlutterPlugin - -- (instancetype)init:(NSObject *)messenger { - self = [super init]; - if (self) { - [[FLTFirebasePluginRegistry sharedInstance] registerFirebasePlugin:self]; - credentialsMap = [NSMutableDictionary dictionary]; - _binaryMessenger = messenger; - _eventChannels = [NSMutableDictionary dictionary]; - _streamHandlers = [NSMutableDictionary dictionary]; - - _multiFactorSessionMap = [NSMutableDictionary dictionary]; - _multiFactorResolverMap = [NSMutableDictionary dictionary]; - _multiFactorAssertionMap = [NSMutableDictionary dictionary]; - _multiFactorTotpSecretMap = [NSMutableDictionary dictionary]; - _emulatorConfigs = [NSMutableDictionary dictionary]; - } - return self; -} - -+ (void)registerWithRegistrar:(NSObject *)registrar { - FlutterMethodChannel *channel = - [FlutterMethodChannel methodChannelWithName:kFLTFirebaseAuthChannelName - binaryMessenger:[registrar messenger]]; - FLTFirebaseAuthPlugin *instance = [[FLTFirebaseAuthPlugin alloc] init:registrar.messenger]; - - [registrar addMethodCallDelegate:instance channel:channel]; - - [registrar publish:instance]; - [registrar addApplicationDelegate:instance]; -#if !TARGET_OS_OSX - if (@available(iOS 13.0, *)) { - if ([registrar respondsToSelector:@selector(addSceneDelegate:)]) { - [registrar performSelector:@selector(addSceneDelegate:) withObject:instance]; - } - } -#endif - SetUpFirebaseAuthHostApi(registrar.messenger, instance); - SetUpFirebaseAuthUserHostApi(registrar.messenger, instance); - SetUpMultiFactorUserHostApi(registrar.messenger, instance); - SetUpMultiFactoResolverHostApi(registrar.messenger, instance); - SetUpMultiFactorTotpHostApi(registrar.messenger, instance); - SetUpMultiFactorTotpSecretHostApi(registrar.messenger, instance); -} - -+ (FlutterError *)convertToFlutterError:(NSError *)error { - NSString *code = @"unknown"; - NSString *message = @"An unknown error has occurred."; - - if (error == nil) { - return [FlutterError errorWithCode:code message:message details:@{}]; - } - - // code - if ([error userInfo][FIRAuthErrorUserInfoNameKey] != nil) { - // See [FIRAuthErrorCodeString] for list of codes. - // Codes are in the format "ERROR_SOME_NAME", converting below to the format - // required in Dart. ERROR_SOME_NAME -> SOME_NAME - NSString *firebaseErrorCode = [error userInfo][FIRAuthErrorUserInfoNameKey]; - code = [firebaseErrorCode stringByReplacingOccurrencesOfString:@"ERROR_" withString:@""]; - // SOME_NAME -> SOME-NAME - code = [code stringByReplacingOccurrencesOfString:@"_" withString:@"-"]; - // SOME-NAME -> some-name - code = [code lowercaseString]; - } - - // message - if ([error userInfo][NSLocalizedDescriptionKey] != nil) { - message = [error userInfo][NSLocalizedDescriptionKey]; - } - - NSMutableDictionary *additionalData = [NSMutableDictionary dictionary]; - // additionalData.email - if ([error userInfo][FIRAuthErrorUserInfoEmailKey] != nil) { - additionalData[kArgumentEmail] = [error userInfo][FIRAuthErrorUserInfoEmailKey]; - } - // We want to store the credential if present for future sign in if the exception contains a - // credential, we pass a token back to Flutter to allow retrieval of the credential. - NSNumber *token = [FLTFirebaseAuthPlugin storeAuthCredentialIfPresent:error]; - - // additionalData.authCredential - if ([error userInfo][FIRAuthErrorUserInfoUpdatedCredentialKey] != nil) { - FIRAuthCredential *authCredential = [error userInfo][FIRAuthErrorUserInfoUpdatedCredentialKey]; - additionalData[@"authCredential"] = [PigeonParser getPigeonAuthCredential:authCredential - token:token]; - } - - // Manual message overrides to ensure messages/codes matches other platforms. - if ([message isEqual:@"The password must be 6 characters long or more."]) { - message = @"Password should be at least 6 characters"; - } - - return [FlutterError errorWithCode:code message:message details:additionalData]; -} - -+ (id)getNSDictionaryFromAuthCredential:(FIRAuthCredential *)authCredential { - if (authCredential == nil) { - return [NSNull null]; - } - - NSString *accessToken = nil; - if ([authCredential isKindOfClass:[FIROAuthCredential class]]) { - if (((FIROAuthCredential *)authCredential).accessToken != nil) { - accessToken = ((FIROAuthCredential *)authCredential).accessToken; - } else if (((FIROAuthCredential *)authCredential).IDToken != nil) { - // For Sign In With Apple, the token is stored in IDToken - accessToken = ((FIROAuthCredential *)authCredential).IDToken; - } - } - - return @{ - kArgumentProviderId : authCredential.provider, - // Note: "signInMethod" does not exist on iOS SDK, so using provider - // instead. - kArgumentSignInMethod : authCredential.provider, - kArgumentToken : @([authCredential hash]), - kArgumentAccessToken : accessToken ?: [NSNull null], - }; -} - -- (void)cleanupWithCompletion:(void (^)(void))completion { - // Cleanup credentials. - [credentialsMap removeAllObjects]; - - for (FlutterEventChannel *channel in self->_eventChannels.allValues) { - [channel setStreamHandler:nil]; - } - [self->_eventChannels removeAllObjects]; - for (NSObject *handler in self->_streamHandlers.allValues) { - [handler onCancelWithArguments:nil]; - } - [self->_streamHandlers removeAllObjects]; - - if (completion != nil) completion(); -} - -- (void)detachFromEngineForRegistrar:(NSObject *)registrar { - [self cleanupWithCompletion:nil]; -} - -#pragma mark - AppDelegate - -#if TARGET_OS_IPHONE -#if !__has_include() -- (BOOL)application:(UIApplication *)application - didReceiveRemoteNotification:(NSDictionary *)notification - fetchCompletionHandler:(void (^)(UIBackgroundFetchResult result))completionHandler { - if ([[FIRAuth auth] canHandleNotification:notification]) { - completionHandler(UIBackgroundFetchResultNoData); - return YES; - } - return NO; -} -#endif - -- (void)application:(UIApplication *)application - didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken { - _apnsToken = deviceToken; -} - -- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary *)options { - return [[FIRAuth auth] canHandleURL:url]; -} - -#pragma mark - SceneDelegate - -- (BOOL)scene:(UIScene *)scene - openURLContexts:(NSSet *)URLContexts API_AVAILABLE(ios(13.0)) { - for (UIOpenURLContext *urlContext in URLContexts) { - if ([[FIRAuth auth] canHandleURL:urlContext.URL]) { - return YES; - } - } - return NO; -} -#endif - -#pragma mark - FLTFirebasePlugin - -- (void)didReinitializeFirebaseCore:(void (^_Nonnull)(void))completion { - [self cleanupWithCompletion:completion]; -} - -- (NSString *_Nonnull)firebaseLibraryName { - return @LIBRARY_NAME; -} - -- (NSString *_Nonnull)firebaseLibraryVersion { - return @LIBRARY_VERSION; -} - -- (NSString *_Nonnull)flutterChannelName { - return kFLTFirebaseAuthChannelName; -} - -- (NSDictionary *_Nonnull)pluginConstantsForFIRApp:(FIRApp *_Nonnull)firebaseApp { - FIRAuth *auth = [FIRAuth authWithApp:firebaseApp]; - return @{ - @"APP_LANGUAGE_CODE" : (id)[auth languageCode] ?: [NSNull null], - @"APP_CURRENT_USER" : [auth currentUser] - ? [PigeonParser getManualList:[PigeonParser getPigeonDetails:[auth currentUser]]] - : [NSNull null], - }; -} - -#pragma mark - Firebase Auth API - -// Adapted from -// https://auth0.com/docs/api-auth/tutorials/nonce#generate-a-cryptographically-random-nonce Used -// for Apple Sign In -- (NSString *)randomNonce:(NSInteger)length { - NSAssert(length > 0, @"Expected nonce to have positive length"); - NSString *characterSet = @"0123456789ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvwxyz-._"; - NSMutableString *result = [NSMutableString string]; - NSInteger remainingLength = length; - - while (remainingLength > 0) { - NSMutableArray *randoms = [NSMutableArray arrayWithCapacity:16]; - for (NSInteger i = 0; i < 16; i++) { - uint8_t random = 0; - int errorCode = SecRandomCopyBytes(kSecRandomDefault, 1, &random); - NSAssert(errorCode == errSecSuccess, @"Unable to generate nonce: OSStatus %i", errorCode); - - [randoms addObject:@(random)]; - } - - for (NSNumber *random in randoms) { - if (remainingLength == 0) { - break; - } - - if (random.unsignedIntValue < characterSet.length) { - unichar character = [characterSet characterAtIndex:random.unsignedIntValue]; - [result appendFormat:@"%C", character]; - remainingLength--; - } - } - } - - return [result copy]; -} - -- (NSString *)stringBySha256HashingString:(NSString *)input { - const char *string = [input UTF8String]; - unsigned char result[CC_SHA256_DIGEST_LENGTH]; - CC_SHA256(string, (CC_LONG)strlen(string), result); - - NSMutableString *hashed = [NSMutableString stringWithCapacity:CC_SHA256_DIGEST_LENGTH * 2]; - for (NSInteger i = 0; i < CC_SHA256_DIGEST_LENGTH; i++) { - [hashed appendFormat:@"%02x", result[i]]; - } - return hashed; -} - -static void handleSignInWithApple(FLTFirebaseAuthPlugin *object, FIRAuthDataResult *authResult, - NSString *authorizationCode, NSError *error) { - void (^completion)(InternalUserCredential *_Nullable, FlutterError *_Nullable) = - object.appleCompletion; - if (completion == nil) { - object.appleSignInRequestInFlight = NO; - return; - } - - if (error != nil) { - if (error.code == FIRAuthErrorCodeSecondFactorRequired) { - object.appleCompletion = nil; - object.appleSignInRequestInFlight = NO; - [object handleMultiFactorError:object.appleArguments completion:completion withError:error]; - } else { - object.appleCompletion = nil; - object.appleSignInRequestInFlight = NO; - completion(nil, [FLTFirebaseAuthPlugin convertToFlutterError:error]); - } - return; - } - object.appleCompletion = nil; - object.appleSignInRequestInFlight = NO; - completion([PigeonParser getPigeonUserCredentialFromAuthResult:authResult - authorizationCode:authorizationCode], - nil); -} - -- (void)authorizationController:(ASAuthorizationController *)controller - didCompleteWithAuthorization:(ASAuthorization *)authorization - API_AVAILABLE(macos(10.15), ios(13.0)) { - if ([authorization.credential isKindOfClass:[ASAuthorizationAppleIDCredential class]]) { - ASAuthorizationAppleIDCredential *appleIDCredential = authorization.credential; - NSString *rawNonce = self.currentNonce; - NSAssert(rawNonce != nil, - @"Invalid state: A login callback was received, but no login request was sent."); - - if (appleIDCredential.identityToken == nil) { - NSLog(@"Unable to fetch identity token."); - void (^completion)(InternalUserCredential *_Nullable, FlutterError *_Nullable) = - self.appleCompletion; - self.appleCompletion = nil; - self.appleSignInRequestInFlight = NO; - if (completion != nil) { - completion(nil, [FlutterError errorWithCode:kErrCodeInvalidCredential - message:kErrMsgInvalidCredential - details:nil]); - } - return; - } - - NSString *idToken = [[NSString alloc] initWithData:appleIDCredential.identityToken - encoding:NSUTF8StringEncoding]; - if (idToken == nil) { - NSLog(@"Unable to serialize id token from data: %@", appleIDCredential.identityToken); - } - - NSString *authorizationCode = nil; - if (appleIDCredential.authorizationCode != nil) { - authorizationCode = [[NSString alloc] initWithData:appleIDCredential.authorizationCode - encoding:NSUTF8StringEncoding]; - } - - FIROAuthCredential *credential = - [FIROAuthProvider appleCredentialWithIDToken:idToken - rawNonce:rawNonce - fullName:appleIDCredential.fullName]; - - if (self.isReauthenticatingWithApple == YES) { - self.isReauthenticatingWithApple = NO; - void (^capturedCompletion)(InternalUserCredential *_Nullable, FlutterError *_Nullable) = - self.appleCompletion; - [[FIRAuth.auth currentUser] - reauthenticateWithCredential:credential - completion:^(FIRAuthDataResult *_Nullable authResult, - NSError *_Nullable error) { - handleSignInWithApple(self, authResult, authorizationCode, error); - }]; - - } else if (self.linkWithAppleUser != nil) { - FIRUser *userToLink = self.linkWithAppleUser; - void (^capturedCompletion)(InternalUserCredential *_Nullable, FlutterError *_Nullable) = - self.appleCompletion; - [userToLink linkWithCredential:credential - completion:^(FIRAuthDataResult *authResult, NSError *error) { - self.linkWithAppleUser = nil; - handleSignInWithApple(self, authResult, authorizationCode, error); - }]; - - } else { - FIRAuth *signInAuth = - self.signInWithAppleAuth != nil ? self.signInWithAppleAuth : FIRAuth.auth; - void (^capturedCompletion)(InternalUserCredential *_Nullable, FlutterError *_Nullable) = - self.appleCompletion; - [signInAuth signInWithCredential:credential - completion:^(FIRAuthDataResult *_Nullable authResult, - NSError *_Nullable error) { - self.signInWithAppleAuth = nil; - handleSignInWithApple(self, authResult, authorizationCode, error); - }]; - } - } else { - void (^completion)(InternalUserCredential *_Nullable, FlutterError *_Nullable) = - self.appleCompletion; - self.appleCompletion = nil; - self.appleSignInRequestInFlight = NO; - if (completion != nil) { - completion(nil, [FlutterError errorWithCode:kErrCodeInvalidCredential - message:kErrMsgInvalidCredential - details:nil]); - } - } -} - -- (void)authorizationController:(ASAuthorizationController *)controller - didCompleteWithError:(NSError *)error API_AVAILABLE(macos(10.15), ios(13.0)) { - void (^completion)(InternalUserCredential *_Nullable, FlutterError *_Nullable) = - self.appleCompletion; - self.appleCompletion = nil; - self.appleSignInRequestInFlight = NO; - - NSLog(@"Sign in with Apple errored: %@", error); - if (completion == nil) { - return; - } - - switch (error.code) { - case ASAuthorizationErrorCanceled: - completion(nil, [FlutterError errorWithCode:@"canceled" - message:@"The user canceled the authorization attempt." - details:nil]); - break; - - case ASAuthorizationErrorInvalidResponse: - completion(nil, [FlutterError - errorWithCode:@"invalid-response" - message:@"The authorization request received an invalid response." - details:nil]); - break; - - case ASAuthorizationErrorNotHandled: - completion(nil, [FlutterError errorWithCode:@"not-handled" - message:@"The authorization request wasn’t handled." - details:nil]); - break; - - case ASAuthorizationErrorFailed: - completion(nil, [FlutterError errorWithCode:@"failed" - message:@"The authorization attempt failed." - details:nil]); - break; - - case ASAuthorizationErrorUnknown: - default: - completion(nil, [FLTFirebaseAuthPlugin convertToFlutterError:error]); - break; - } -} - -- (void)handleInternalError:(nonnull void (^)(InternalUserCredential *_Nullable, - FlutterError *_Nullable))completion - withError:(NSError *)error { - const NSError *underlyingError = error.userInfo[@"NSUnderlyingError"]; - if (underlyingError != nil) { - const NSDictionary *details = - underlyingError.userInfo[@"FIRAuthErrorUserInfoDeserializedResponseKey"]; - completion(nil, [FlutterError errorWithCode:@"internal-error" - message:error.description - details:details]); - return; - } - completion(nil, [FlutterError errorWithCode:@"internal-error" - message:error.description - details:nil]); -} - -- (void)handleMultiFactorError:(AuthPigeonFirebaseApp *)app - completion:(nonnull void (^)(InternalUserCredential *_Nullable, - FlutterError *_Nullable))completion - withError:(NSError *_Nullable)error { - FIRMultiFactorResolver *resolver = - (FIRMultiFactorResolver *)error.userInfo[FIRAuthErrorUserInfoMultiFactorResolverKey]; - - NSArray *hints = resolver.hints; - FIRMultiFactorSession *session = resolver.session; - - NSString *sessionId = [[NSUUID UUID] UUIDString]; - self->_multiFactorSessionMap[sessionId] = session; - - NSString *resolverId = [[NSUUID UUID] UUIDString]; - self->_multiFactorResolverMap[resolverId] = resolver; - - NSMutableArray *pigeonHints = [NSMutableArray array]; - - for (FIRMultiFactorInfo *multiFactorInfo in hints) { - NSString *phoneNumber; - if ([multiFactorInfo class] == [FIRPhoneMultiFactorInfo class]) { - FIRPhoneMultiFactorInfo *phoneFactorInfo = (FIRPhoneMultiFactorInfo *)multiFactorInfo; - phoneNumber = phoneFactorInfo.phoneNumber; - } - - InternalMultiFactorInfo *object = [InternalMultiFactorInfo - makeWithDisplayName:multiFactorInfo.displayName - enrollmentTimestamp:multiFactorInfo.enrollmentDate.timeIntervalSince1970 - factorId:multiFactorInfo.factorID - uid:multiFactorInfo.UID - phoneNumber:phoneNumber]; - - [pigeonHints addObject:object.toList]; - } - - NSDictionary *output = @{ - kAppName : app.appName, - kArgumentMultiFactorHints : pigeonHints, - kArgumentMultiFactorSessionId : sessionId, - kArgumentMultiFactorResolverId : resolverId, - }; - completion(nil, [FlutterError errorWithCode:@"second-factor-required" - message:error.description - details:output]); -} - -static void launchAppleSignInRequest(FLTFirebaseAuthPlugin *object, AuthPigeonFirebaseApp *app, - InternalSignInProvider *signInProvider, - void (^_Nonnull completion)(InternalUserCredential *_Nullable, - FlutterError *_Nullable)) { - if (@available(iOS 13.0, macOS 10.15, *)) { - if (object.appleSignInRequestInFlight) { - completion(nil, - [FlutterError errorWithCode:@"operation-not-allowed" - message:@"A Sign in with Apple request is already in progress." - details:nil]); - return; - } - - NSString *nonce = [object randomNonce:32]; - object.currentNonce = nonce; - object.appleCompletion = completion; - object.appleArguments = app; - object.appleSignInRequestInFlight = YES; - - ASAuthorizationAppleIDProvider *appleIDProvider = [[ASAuthorizationAppleIDProvider alloc] init]; - - ASAuthorizationAppleIDRequest *request = [appleIDProvider createRequest]; - NSMutableArray *requestedScopes = [NSMutableArray arrayWithCapacity:2]; - if ([signInProvider.scopes containsObject:@"name"]) { - [requestedScopes addObject:ASAuthorizationScopeFullName]; - } - if ([signInProvider.scopes containsObject:@"email"]) { - [requestedScopes addObject:ASAuthorizationScopeEmail]; - } - request.requestedScopes = [requestedScopes copy]; - request.nonce = [object stringBySha256HashingString:nonce]; - - ASAuthorizationController *authorizationController = - [[ASAuthorizationController alloc] initWithAuthorizationRequests:@[ request ]]; - authorizationController.delegate = object; - authorizationController.presentationContextProvider = object; - [authorizationController performRequests]; - } else { - NSLog(@"Sign in with Apple was introduced in iOS 13, update your Podfile with platform :ios, " - @"'13.0'"); - } -} - -static void handleAppleAuthResult(FLTFirebaseAuthPlugin *object, AuthPigeonFirebaseApp *app, - FIRAuth *auth, FIRAuthCredential *credentials, NSError *error, - void (^_Nonnull completion)(InternalUserCredential *_Nullable, - FlutterError *_Nullable)) { - if (error) { - if (error.code == FIRAuthErrorCodeSecondFactorRequired) { - [object handleMultiFactorError:app completion:completion withError:error]; - } else { - completion(nil, [FLTFirebaseAuthPlugin convertToFlutterError:error]); - } - return; - } - if (credentials) { - [auth - signInWithCredential:credentials - completion:^(FIRAuthDataResult *authResult, NSError *error) { - if (error != nil) { - NSDictionary *userInfo = [error userInfo]; - NSError *underlyingError = [userInfo objectForKey:NSUnderlyingErrorKey]; - - NSDictionary *firebaseDictionary = - underlyingError.userInfo[@"FIRAuthErrorUserInfoDes" - @"erializedResponseKey"]; - - NSString *errorCode = userInfo[@"FIRAuthErrorUserInfoNameKey"]; - - if (firebaseDictionary == nil && errorCode != nil) { - if ([errorCode isEqual:@"ERROR_ACCOUNT_EXISTS_WITH_DIFFERENT_CREDENTIAL"]) { - completion(nil, [FLTFirebaseAuthPlugin convertToFlutterError:error]); - return; - } - - // Removing since it's not parsed and causing issue when sending back the - // object to Flutter - NSMutableDictionary *mutableUserInfo = [userInfo mutableCopy]; - [mutableUserInfo - removeObjectForKey:@"FIRAuthErrorUserInfoUpdatedCredentialKey"]; - NSError *modifiedError = [NSError errorWithDomain:error.domain - code:error.code - userInfo:mutableUserInfo]; - - completion(nil, - [FlutterError errorWithCode:@"sign-in-failed" - message:userInfo[@"NSLocalizedDescription"] - details:modifiedError.userInfo]); - - } else if (firebaseDictionary != nil && - firebaseDictionary[@"message"] != nil) { - // error from firebase-ios-sdk is - // buried in underlying error. - completion(nil, - [FlutterError errorWithCode:@"sign-in-failed" - message:error.localizedDescription - details:firebaseDictionary[@"message"]]); - } else { - completion(nil, [FlutterError errorWithCode:@"sign-in-failed" - message:error.localizedDescription - details:error.userInfo]); - } - } else { - completion([PigeonParser getPigeonUserCredentialFromAuthResult:authResult - authorizationCode:nil], - nil); - } - }]; - } -} - -#pragma mark - Utilities - -+ (NSNumber *_Nullable)storeAuthCredentialIfPresent:(NSError *)error { - if ([error userInfo][FIRAuthErrorUserInfoUpdatedCredentialKey] != nil) { - FIRAuthCredential *authCredential = [error userInfo][FIRAuthErrorUserInfoUpdatedCredentialKey]; - // We temporarily store the non-serializable credential so the - // Dart API can consume these at a later time. - NSNumber *authCredentialHash = @([authCredential hash]); - credentialsMap[authCredentialHash] = authCredential; - return authCredentialHash; - } - return nil; -} - -- (FIRAuth *_Nullable)getFIRAuthFromAppNameFromPigeon:(AuthPigeonFirebaseApp *)pigeonApp { - FIRApp *app = [FLTFirebasePlugin firebaseAppNamed:pigeonApp.appName]; - FIRAuth *auth = [FIRAuth authWithApp:app]; - - auth.tenantID = pigeonApp.tenantId; - auth.customAuthDomain = [FLTFirebaseCorePlugin getCustomDomain:app.name]; - // Auth's `customAuthDomain` supersedes value from `getCustomDomain` set by `initializeApp` - if (pigeonApp.customAuthDomain != nil) { - auth.customAuthDomain = pigeonApp.customAuthDomain; - } - - return auth; -} - -- (void)getFIRAuthCredentialFromArguments:(NSDictionary *)arguments - app:(AuthPigeonFirebaseApp *)app - completion:(void (^)(FIRAuthCredential *credential, - NSError *error))completion { - // If the credential dictionary contains a token, it means a native one has - // been stored for later usage, so we'll attempt to retrieve it here. - if (arguments[kArgumentToken] != nil && ![arguments[kArgumentToken] isEqual:[NSNull null]]) { - NSNumber *credentialHashCode = arguments[kArgumentToken]; - if (credentialsMap[credentialHashCode] != nil) { - completion(credentialsMap[credentialHashCode], nil); - return; - } - } - - NSString *signInMethod = arguments[kArgumentSignInMethod]; - - if ([signInMethod isEqualToString:kSignInMethodGameCenter]) { - // Game Center Games is different to other providers, it requires below callback to get a - // credential. This is why getFIRAuthCredentialFromArguments now requires a completion() - // callback - [FIRGameCenterAuthProvider - getCredentialWithCompletion:^(FIRAuthCredential *credential, NSError *error) { - if (error) { - completion(nil, error); - } else { - completion(credential, nil); - } - }]; - return; - } - - NSString *secret = arguments[kArgumentSecret] == [NSNull null] ? nil : arguments[kArgumentSecret]; - NSString *idToken = - arguments[kArgumentIdToken] == [NSNull null] ? nil : arguments[kArgumentIdToken]; - NSString *accessToken = - arguments[kArgumentAccessToken] == [NSNull null] ? nil : arguments[kArgumentAccessToken]; - NSString *rawNonce = - arguments[kArgumentRawNonce] == [NSNull null] ? nil : arguments[kArgumentRawNonce]; - - // Password Auth - if ([signInMethod isEqualToString:kSignInMethodPassword]) { - NSString *email = arguments[kArgumentEmail]; - completion([FIREmailAuthProvider credentialWithEmail:email password:secret], nil); - return; - } - - // Email Link Auth - if ([signInMethod isEqualToString:kSignInMethodEmailLink]) { - NSString *email = arguments[kArgumentEmail]; - NSString *emailLink = arguments[kArgumentEmailLink]; - completion([FIREmailAuthProvider credentialWithEmail:email link:emailLink], nil); - return; - } - - // Facebook Auth - if ([signInMethod isEqualToString:kSignInMethodFacebook]) { - completion([FIRFacebookAuthProvider credentialWithAccessToken:accessToken], nil); - return; - } - - // Google Auth - if ([signInMethod isEqualToString:kSignInMethodGoogle]) { - completion([FIRGoogleAuthProvider credentialWithIDToken:idToken accessToken:accessToken], nil); - return; - } - - // Twitter Auth - if ([signInMethod isEqualToString:kSignInMethodTwitter]) { - completion([FIRTwitterAuthProvider credentialWithToken:accessToken secret:secret], nil); - return; - } - - // GitHub Auth - if ([signInMethod isEqualToString:kSignInMethodGithub]) { - completion([FIRGitHubAuthProvider credentialWithToken:accessToken], nil); - return; - } - - // Phone Auth - Only supported on iOS - if ([signInMethod isEqualToString:kSignInMethodPhone]) { -#if TARGET_OS_IPHONE - NSString *verificationId = arguments[kArgumentVerificationId]; - NSString *smsCode = arguments[kArgumentSmsCode]; - completion([[FIRPhoneAuthProvider providerWithAuth:[self getFIRAuthFromAppNameFromPigeon:app]] - credentialWithVerificationID:verificationId - verificationCode:smsCode], - nil); - return; -#else - NSLog(@"The Firebase Phone Authentication provider is not supported on the " - @"MacOS platform."); - completion(nil, nil); - return; -#endif - } - // Apple Auth - if ([signInMethod isEqualToString:kSignInMethodApple]) { - if (idToken && rawNonce) { - // Credential with idToken, rawNonce and fullName - NSPersonNameComponents *fullName = [[NSPersonNameComponents alloc] init]; - fullName.givenName = - arguments[kArgumentGivenName] == [NSNull null] ? nil : arguments[kArgumentGivenName]; - fullName.familyName = - arguments[kArgumentFamilyName] == [NSNull null] ? nil : arguments[kArgumentFamilyName]; - fullName.nickname = - arguments[kArgumentNickname] == [NSNull null] ? nil : arguments[kArgumentNickname]; - fullName.namePrefix = - arguments[kArgumentNamePrefix] == [NSNull null] ? nil : arguments[kArgumentNamePrefix]; - fullName.nameSuffix = - arguments[kArgumentNameSuffix] == [NSNull null] ? nil : arguments[kArgumentNameSuffix]; - fullName.middleName = - arguments[kArgumentMiddleName] == [NSNull null] ? nil : arguments[kArgumentMiddleName]; - - completion([FIROAuthProvider appleCredentialWithIDToken:idToken - rawNonce:rawNonce - fullName:fullName], - nil); - return; - } - } - // OAuth - if ([signInMethod isEqualToString:kSignInMethodOAuth]) { - NSString *providerId = arguments[kArgumentProviderId]; - completion([FIROAuthProvider credentialWithProviderID:providerId - IDToken:idToken - rawNonce:rawNonce - accessToken:accessToken], - nil); - return; - } - - NSLog(@"Support for an auth provider with identifier '%@' is not implemented.", signInMethod); - completion(nil, nil); - return; -} - -- (void)ensureAPNSTokenSetting { -#if !TARGET_OS_OSX - FIRApp *defaultApp = [FIRApp defaultApp]; - if (defaultApp) { - if ([FIRAuth auth].APNSToken == nil && _apnsToken != nil) { - [[FIRAuth auth] setAPNSToken:_apnsToken type:FIRAuthAPNSTokenTypeUnknown]; - _apnsToken = nil; - } - } -#endif -} - -- (FIRMultiFactor *)getAppMultiFactorFromPigeon:(nonnull AuthPigeonFirebaseApp *)app { - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - FIRUser *currentUser = auth.currentUser; - return currentUser.multiFactor; -} - -- (nonnull ASPresentationAnchor)presentationAnchorForAuthorizationController: - (nonnull ASAuthorizationController *)controller API_AVAILABLE(macos(10.15), ios(13.0)) { -#if TARGET_OS_OSX - return [[NSApplication sharedApplication] keyWindow]; -#else - // UIApplication.keyWindow is deprecated in iOS 13+ with UIScene lifecycle. - // Walk the connected scenes to find the foreground active window. - if (@available(iOS 15.0, *)) { - for (UIScene *scene in [UIApplication sharedApplication].connectedScenes) { - if (scene.activationState == UISceneActivationStateForegroundActive && - [scene isKindOfClass:[UIWindowScene class]]) { - UIWindowScene *windowScene = (UIWindowScene *)scene; - if (windowScene.keyWindow) { - return windowScene.keyWindow; - } - } - } - } else if (@available(iOS 13.0, *)) { - for (UIScene *scene in [UIApplication sharedApplication].connectedScenes) { - if (scene.activationState == UISceneActivationStateForegroundActive && - [scene isKindOfClass:[UIWindowScene class]]) { - UIWindowScene *windowScene = (UIWindowScene *)scene; - for (UIWindow *window in windowScene.windows) { - if (window.isKeyWindow) { - return window; - } - } - } - } - } - return [[UIApplication sharedApplication] keyWindow]; -#endif -} - -- (void)enrollPhoneApp:(nonnull AuthPigeonFirebaseApp *)app - assertion:(nonnull InternalPhoneMultiFactorAssertion *)assertion - displayName:(nullable NSString *)displayName - completion:(nonnull void (^)(FlutterError *_Nullable))completion { -#if TARGET_OS_OSX - completion([FlutterError errorWithCode:@"unsupported-platform" - message:@"Phone authentication is not supported on macOS" - details:nil]); -#else - - FIRMultiFactor *multiFactor = [self getAppMultiFactorFromPigeon:app]; - - FIRPhoneAuthCredential *credential = - [[FIRPhoneAuthProvider providerWithAuth:[self getFIRAuthFromAppNameFromPigeon:app]] - credentialWithVerificationID:[assertion verificationId] - verificationCode:[assertion verificationCode]]; - - FIRMultiFactorAssertion *multiFactorAssertion = - [FIRPhoneMultiFactorGenerator assertionWithCredential:credential]; - - [multiFactor enrollWithAssertion:multiFactorAssertion - displayName:displayName - completion:^(NSError *_Nullable error) { - if (error == nil) { - completion(nil); - } else { - completion([FlutterError errorWithCode:@"enroll-failed" - message:error.localizedDescription - details:nil]); - } - }]; -#endif -} - -- (void)getEnrolledFactorsApp:(nonnull AuthPigeonFirebaseApp *)app - completion:(nonnull void (^)(NSArray *_Nullable, - FlutterError *_Nullable))completion { - FIRMultiFactor *multiFactor = [self getAppMultiFactorFromPigeon:app]; - - NSArray *enrolledFactors = [multiFactor enrolledFactors]; - - NSMutableArray *results = [NSMutableArray array]; - - for (FIRMultiFactorInfo *multiFactorInfo in enrolledFactors) { - NSString *phoneNumber; - if ([multiFactorInfo class] == [FIRPhoneMultiFactorInfo class]) { - FIRPhoneMultiFactorInfo *phoneFactorInfo = (FIRPhoneMultiFactorInfo *)multiFactorInfo; - phoneNumber = phoneFactorInfo.phoneNumber; - } - - [results addObject:[InternalMultiFactorInfo - makeWithDisplayName:multiFactorInfo.displayName - enrollmentTimestamp:multiFactorInfo.enrollmentDate.timeIntervalSince1970 - factorId:multiFactorInfo.factorID - uid:multiFactorInfo.UID - phoneNumber:phoneNumber]]; - } - - completion(results, nil); -} - -- (void)getSessionApp:(nonnull AuthPigeonFirebaseApp *)app - completion:(nonnull void (^)(InternalMultiFactorSession *_Nullable, - FlutterError *_Nullable))completion { - FIRMultiFactor *multiFactor = [self getAppMultiFactorFromPigeon:app]; - [multiFactor getSessionWithCompletion:^(FIRMultiFactorSession *_Nullable session, - NSError *_Nullable error) { - NSString *UUID = [[NSUUID UUID] UUIDString]; - self->_multiFactorSessionMap[UUID] = session; - - InternalMultiFactorSession *pigeonSession = [InternalMultiFactorSession makeWithId:UUID]; - completion(pigeonSession, nil); - }]; -} - -- (void)unenrollApp:(nonnull AuthPigeonFirebaseApp *)app - factorUid:(nonnull NSString *)factorUid - completion:(nonnull void (^)(FlutterError *_Nullable))completion { - FIRMultiFactor *multiFactor = [self getAppMultiFactorFromPigeon:app]; - [multiFactor unenrollWithFactorUID:factorUid - completion:^(NSError *_Nullable error) { - if (error == nil) { - completion(nil); - } else { - completion([FlutterError errorWithCode:@"unenroll-failed" - message:error.localizedDescription - details:nil]); - } - }]; -} - -- (void)enrollTotpApp:(nonnull AuthPigeonFirebaseApp *)app - assertionId:(nonnull NSString *)assertionId - displayName:(nullable NSString *)displayName - completion:(nonnull void (^)(FlutterError *_Nullable))completion { - FIRMultiFactor *multiFactor = [self getAppMultiFactorFromPigeon:app]; - - FIRMultiFactorAssertion *assertion = _multiFactorAssertionMap[assertionId]; - - [multiFactor enrollWithAssertion:assertion - displayName:displayName - completion:^(NSError *_Nullable error) { - if (error == nil) { - completion(nil); - } else { - completion([FlutterError errorWithCode:@"enroll-failed" - message:error.localizedDescription - details:nil]); - } - }]; -} - -- (void)resolveSignInResolverId:(nonnull NSString *)resolverId - assertion:(nullable InternalPhoneMultiFactorAssertion *)assertion - totpAssertionId:(nullable NSString *)totpAssertionId - completion:(nonnull void (^)(InternalUserCredential *_Nullable, - FlutterError *_Nullable))completion { - FIRMultiFactorResolver *resolver = _multiFactorResolverMap[resolverId]; - - FIRMultiFactorAssertion *multiFactorAssertion; - - if (assertion != nil) { -#if TARGET_OS_IPHONE - FIRPhoneAuthCredential *credential = - [[FIRPhoneAuthProvider provider] credentialWithVerificationID:[assertion verificationId] - verificationCode:[assertion verificationCode]]; - multiFactorAssertion = [FIRPhoneMultiFactorGenerator assertionWithCredential:credential]; -#endif - } else if (totpAssertionId != nil) { - multiFactorAssertion = _multiFactorAssertionMap[totpAssertionId]; - } else { - completion(nil, - [FlutterError errorWithCode:@"resolve-signin-failed" - message:@"Neither assertion nor totpAssertionId were provided" - details:nil]); - return; - } - - [resolver - resolveSignInWithAssertion:multiFactorAssertion - completion:^(FIRAuthDataResult *_Nullable authResult, - NSError *_Nullable error) { - if (error == nil) { - completion([PigeonParser getPigeonUserCredentialFromAuthResult:authResult - authorizationCode:nil], - nil); - } else { - completion(nil, [FlutterError errorWithCode:@"resolve-signin-failed" - message:error.localizedDescription - details:nil]); - } - }]; -} - -- (void)generateSecretSessionId:(nonnull NSString *)sessionId - completion:(nonnull void (^)(InternalTotpSecret *_Nullable, - FlutterError *_Nullable))completion { - FIRMultiFactorSession *multiFactorSession = _multiFactorSessionMap[sessionId]; - - [FIRTOTPMultiFactorGenerator - generateSecretWithMultiFactorSession:multiFactorSession - completion:^(FIRTOTPSecret *_Nullable secret, - NSError *_Nullable error) { - if (error == nil) { - self->_multiFactorTotpSecretMap[secret.sharedSecretKey] = - secret; - completion([PigeonParser getPigeonTotpSecret:secret], nil); - } else { - completion( - nil, [FlutterError errorWithCode:@"generate-secret-failed" - message:error.localizedDescription - details:nil]); - } - }]; -} - -- (void)getAssertionForEnrollmentSecretKey:(nonnull NSString *)secretKey - oneTimePassword:(nonnull NSString *)oneTimePassword - completion:(nonnull void (^)(NSString *_Nullable, - FlutterError *_Nullable))completion { - FIRTOTPSecret *totpSecret = _multiFactorTotpSecretMap[secretKey]; - - FIRTOTPMultiFactorAssertion *assertion = - [FIRTOTPMultiFactorGenerator assertionForEnrollmentWithSecret:totpSecret - oneTimePassword:oneTimePassword]; - - NSString *UUID = [[NSUUID UUID] UUIDString]; - self->_multiFactorAssertionMap[UUID] = assertion; - completion(UUID, nil); -} - -- (void)getAssertionForSignInEnrollmentId:(nonnull NSString *)enrollmentId - oneTimePassword:(nonnull NSString *)oneTimePassword - completion:(nonnull void (^)(NSString *_Nullable, - FlutterError *_Nullable))completion { - FIRTOTPMultiFactorAssertion *assertion = - [FIRTOTPMultiFactorGenerator assertionForSignInWithEnrollmentID:enrollmentId - oneTimePassword:oneTimePassword]; - NSString *UUID = [[NSUUID UUID] UUIDString]; - self->_multiFactorAssertionMap[UUID] = assertion; - completion(UUID, nil); -} - -- (void)generateQrCodeUrlSecretKey:(nonnull NSString *)secretKey - accountName:(nullable NSString *)accountName - issuer:(nullable NSString *)issuer - completion:(nonnull void (^)(NSString *_Nullable, - FlutterError *_Nullable))completion { - FIRTOTPSecret *totpSecret = _multiFactorTotpSecretMap[secretKey]; - completion([totpSecret generateQRCodeURLWithAccountName:accountName issuer:issuer], nil); -} - -- (void)openInOtpAppSecretKey:(nonnull NSString *)secretKey - qrCodeUrl:(nonnull NSString *)qrCodeUrl - completion:(nonnull void (^)(FlutterError *_Nullable))completion { - FIRTOTPSecret *totpSecret = _multiFactorTotpSecretMap[secretKey]; - [totpSecret openInOTPAppWithQRCodeURL:qrCodeUrl]; - completion(nil); -} - -- (void)applyActionCodeApp:(nonnull AuthPigeonFirebaseApp *)app - code:(nonnull NSString *)code - completion:(nonnull void (^)(FlutterError *_Nullable))completion { - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - [auth applyActionCode:code - completion:^(NSError *_Nullable error) { - if (error != nil) { - completion([FLTFirebaseAuthPlugin convertToFlutterError:error]); - } else { - completion(nil); - } - }]; -} - -- (void)revokeTokenWithAuthorizationCodeApp:(nonnull AuthPigeonFirebaseApp *)app - authorizationCode:(nonnull NSString *)authorizationCode - completion:(nonnull void (^)(FlutterError *_Nullable))completion { - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - [auth revokeTokenWithAuthorizationCode:authorizationCode - completion:^(NSError *_Nullable error) { - if (error != nil) { - completion([FLTFirebaseAuthPlugin convertToFlutterError:error]); - } else { - completion(nil); - } - }]; -} - -- (void)revokeAccessTokenApp:(nonnull AuthPigeonFirebaseApp *)app - accessToken:(nonnull NSString *)accessToken - completion:(nonnull void (^)(FlutterError *_Nullable))completion { - // `revokeAccessToken(_:)` is currently Android-only on the Firebase SDK. - // On Apple platforms use `revokeTokenWithAuthorizationCode:` instead. - completion([FlutterError errorWithCode:@"unsupported-platform-operation" - message:@"revokeAccessToken is not supported on iOS/macOS. " - @"Use revokeTokenWithAuthorizationCode instead." - details:nil]); -} - -- (void)checkActionCodeApp:(nonnull AuthPigeonFirebaseApp *)app - code:(nonnull NSString *)code - completion:(nonnull void (^)(InternalActionCodeInfo *_Nullable, - FlutterError *_Nullable))completion { - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - [auth checkActionCode:code - completion:^(FIRActionCodeInfo *_Nullable info, NSError *_Nullable error) { - if (error != nil) { - completion(nil, [FLTFirebaseAuthPlugin convertToFlutterError:error]); - } else { - InternalActionCodeInfo *result = [self parseActionCode:info]; - if (result.operation == ActionCodeInfoOperationUnknown) { - // Workaround: Firebase iOS SDK >=11.12.0 returns .unknown because - // actionCodeOperation(forRequestType:) only matches camelCase but the - // REST API returns SCREAMING_SNAKE_CASE (e.g. "VERIFY_EMAIL"). - // Re-fetch the raw requestType via REST to resolve the operation. - // See: https://github.com/firebase/flutterfire/issues/17452 - [self resolveActionCodeOperationForApp:app - code:code - fallbackInfo:result - completion:completion]; - } else { - completion(result, nil); - } - } - }]; -} - -- (InternalActionCodeInfo *_Nullable)parseActionCode:(nonnull FIRActionCodeInfo *)info { - InternalActionCodeInfoData *data = [InternalActionCodeInfoData makeWithEmail:info.email - previousEmail:info.previousEmail]; - - ActionCodeInfoOperation operation; - - if (info.operation == FIRActionCodeOperationPasswordReset) { - operation = ActionCodeInfoOperationPasswordReset; - } else if (info.operation == FIRActionCodeOperationVerifyEmail) { - operation = ActionCodeInfoOperationVerifyEmail; - } else if (info.operation == FIRActionCodeOperationRecoverEmail) { - operation = ActionCodeInfoOperationRecoverEmail; - } else if (info.operation == FIRActionCodeOperationEmailLink) { - operation = ActionCodeInfoOperationEmailSignIn; - } else if (info.operation == FIRActionCodeOperationVerifyAndChangeEmail) { - operation = ActionCodeInfoOperationVerifyAndChangeEmail; - } else if (info.operation == FIRActionCodeOperationRevertSecondFactorAddition) { - operation = ActionCodeInfoOperationRevertSecondFactorAddition; - } else { - operation = ActionCodeInfoOperationUnknown; - } - - return [InternalActionCodeInfo makeWithOperation:operation data:data]; -} - -/// Maps a raw requestType string (either camelCase or SCREAMING_SNAKE_CASE) to -/// the corresponding Pigeon enum value. -+ (ActionCodeInfoOperation)operationFromRequestType:(nullable NSString *)requestType { - static NSDictionary *mapping; - static dispatch_once_t onceToken; - dispatch_once(&onceToken, ^{ - mapping = @{ - @"PASSWORD_RESET" : @(ActionCodeInfoOperationPasswordReset), - @"resetPassword" : @(ActionCodeInfoOperationPasswordReset), - @"VERIFY_EMAIL" : @(ActionCodeInfoOperationVerifyEmail), - @"verifyEmail" : @(ActionCodeInfoOperationVerifyEmail), - @"RECOVER_EMAIL" : @(ActionCodeInfoOperationRecoverEmail), - @"recoverEmail" : @(ActionCodeInfoOperationRecoverEmail), - @"EMAIL_SIGNIN" : @(ActionCodeInfoOperationEmailSignIn), - @"signIn" : @(ActionCodeInfoOperationEmailSignIn), - @"VERIFY_AND_CHANGE_EMAIL" : @(ActionCodeInfoOperationVerifyAndChangeEmail), - @"verifyAndChangeEmail" : @(ActionCodeInfoOperationVerifyAndChangeEmail), - @"REVERT_SECOND_FACTOR_ADDITION" : @(ActionCodeInfoOperationRevertSecondFactorAddition), - @"revertSecondFactorAddition" : @(ActionCodeInfoOperationRevertSecondFactorAddition), - }; - }); - - NSNumber *value = mapping[requestType]; - return value ? (ActionCodeInfoOperation)value.integerValue : ActionCodeInfoOperationUnknown; -} - -/// Calls the Identity Toolkit REST API directly to retrieve the raw requestType -/// string, which the iOS SDK fails to parse correctly. Falls back to the original -/// result if the REST call fails for any reason. -- (void)resolveActionCodeOperationForApp:(nonnull AuthPigeonFirebaseApp *)app - code:(nonnull NSString *)code - fallbackInfo:(nonnull InternalActionCodeInfo *)fallbackInfo - completion:(nonnull void (^)(InternalActionCodeInfo *_Nullable, - FlutterError *_Nullable))completion { - FIRApp *firebaseApp = [FLTFirebasePlugin firebaseAppNamed:app.appName]; - NSString *apiKey = firebaseApp.options.APIKey; - - NSString *baseURL; - NSDictionary *emulatorConfig = _emulatorConfigs[app.appName]; - if (emulatorConfig) { - baseURL = [NSString stringWithFormat:@"http://%@:%@/identitytoolkit.googleapis.com", - emulatorConfig[@"host"], emulatorConfig[@"port"]]; - } else { - baseURL = @"https://identitytoolkit.googleapis.com"; - } - - NSString *urlString = - [NSString stringWithFormat:@"%@/v1/accounts:resetPassword?key=%@", baseURL, apiKey]; - NSURL *url = [NSURL URLWithString:urlString]; - - NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url]; - request.HTTPMethod = @"POST"; - [request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"]; - request.HTTPBody = [NSJSONSerialization dataWithJSONObject:@{@"oobCode" : code} - options:0 - error:nil]; - - NSURLSessionDataTask *task = [[NSURLSession sharedSession] - dataTaskWithRequest:request - completionHandler:^(NSData *_Nullable data, NSURLResponse *_Nullable response, - NSError *_Nullable error) { - if (error || !data) { - completion(fallbackInfo, nil); - return; - } - - NSDictionary *json = [NSJSONSerialization JSONObjectWithData:data options:0 error:nil]; - if (!json || json[@"error"]) { - completion(fallbackInfo, nil); - return; - } - - ActionCodeInfoOperation operation = - [FLTFirebaseAuthPlugin operationFromRequestType:json[@"requestType"]]; - - if (operation != ActionCodeInfoOperationUnknown) { - completion([InternalActionCodeInfo makeWithOperation:operation data:fallbackInfo.data], - nil); - } else { - completion(fallbackInfo, nil); - } - }]; - [task resume]; -} - -- (void)confirmPasswordResetApp:(nonnull AuthPigeonFirebaseApp *)app - code:(nonnull NSString *)code - newPassword:(nonnull NSString *)newPassword - completion:(nonnull void (^)(FlutterError *_Nullable))completion { - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - [auth confirmPasswordResetWithCode:code - newPassword:newPassword - completion:^(NSError *_Nullable error) { - if (error != nil) { - completion([FLTFirebaseAuthPlugin convertToFlutterError:error]); - } else { - completion(nil); - } - }]; -} - -- (void)createUserWithEmailAndPasswordApp:(nonnull AuthPigeonFirebaseApp *)app - email:(nonnull NSString *)email - password:(nonnull NSString *)password - completion:(nonnull void (^)(InternalUserCredential *_Nullable, - FlutterError *_Nullable))completion { - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - [auth createUserWithEmail:email - password:password - completion:^(FIRAuthDataResult *_Nullable authResult, NSError *_Nullable error) { - if (error != nil) { - completion(nil, [FLTFirebaseAuthPlugin convertToFlutterError:error]); - } else { - completion([PigeonParser getPigeonUserCredentialFromAuthResult:authResult - authorizationCode:nil], - nil); - } - }]; -} - -- (void)fetchSignInMethodsForEmailApp:(nonnull AuthPigeonFirebaseApp *)app - email:(nonnull NSString *)email - completion:(nonnull void (^)(NSArray *_Nullable, - FlutterError *_Nullable))completion { - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - [auth fetchSignInMethodsForEmail:email - completion:^(NSArray *_Nullable providers, - NSError *_Nullable error) { - if (error != nil) { - completion(nil, [FLTFirebaseAuthPlugin convertToFlutterError:error]); - } else { - if (providers == nil) { - completion(@[], nil); - } else { - completion(providers, nil); - } - } - }]; -} - -- (void)registerAuthStateListenerApp:(nonnull AuthPigeonFirebaseApp *)app - completion:(nonnull void (^)(NSString *_Nullable, - FlutterError *_Nullable))completion { - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - - NSString *name = - [NSString stringWithFormat:@"%@/auth-state/%@", kFLTFirebaseAuthChannelName, auth.app.name]; - FlutterEventChannel *channel = [FlutterEventChannel eventChannelWithName:name - binaryMessenger:_binaryMessenger]; - - FLTAuthStateChannelStreamHandler *handler = - [[FLTAuthStateChannelStreamHandler alloc] initWithAuth:auth]; - [channel setStreamHandler:handler]; - - [_eventChannels setObject:channel forKey:name]; - [_streamHandlers setObject:handler forKey:name]; - - completion(name, nil); -} - -- (void)registerIdTokenListenerApp:(nonnull AuthPigeonFirebaseApp *)app - completion:(nonnull void (^)(NSString *_Nullable, - FlutterError *_Nullable))completion { - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - - NSString *name = - [NSString stringWithFormat:@"%@/id-token/%@", kFLTFirebaseAuthChannelName, auth.app.name]; - - FlutterEventChannel *channel = [FlutterEventChannel eventChannelWithName:name - binaryMessenger:_binaryMessenger]; - - FLTIdTokenChannelStreamHandler *handler = - [[FLTIdTokenChannelStreamHandler alloc] initWithAuth:auth]; - [channel setStreamHandler:handler]; - - [_eventChannels setObject:channel forKey:name]; - [_streamHandlers setObject:handler forKey:name]; - - completion(name, nil); -} - -- (void)sendPasswordResetEmailApp:(nonnull AuthPigeonFirebaseApp *)app - email:(nonnull NSString *)email - actionCodeSettings:(nullable InternalActionCodeSettings *)actionCodeSettings - completion:(nonnull void (^)(FlutterError *_Nullable))completion { - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - if (actionCodeSettings != nil) { - FIRActionCodeSettings *settings = [PigeonParser parseActionCodeSettings:actionCodeSettings]; - [auth sendPasswordResetWithEmail:email - actionCodeSettings:settings - completion:^(NSError *_Nullable error) { - if (error != nil) { - completion([FLTFirebaseAuthPlugin convertToFlutterError:error]); - } else { - completion(nil); - } - }]; - } else { - [auth sendPasswordResetWithEmail:email - completion:^(NSError *_Nullable error) { - if (error != nil) { - completion([FLTFirebaseAuthPlugin convertToFlutterError:error]); - } else { - completion(nil); - } - }]; - } -} - -- (void)sendSignInLinkToEmailApp:(nonnull AuthPigeonFirebaseApp *)app - email:(nonnull NSString *)email - actionCodeSettings:(nonnull InternalActionCodeSettings *)actionCodeSettings - completion:(nonnull void (^)(FlutterError *_Nullable))completion { - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - [auth sendSignInLinkToEmail:email - actionCodeSettings:[PigeonParser parseActionCodeSettings:actionCodeSettings] - completion:^(NSError *_Nullable error) { - if (error != nil) { - if (error.code == FIRAuthErrorCodeInternalError) { - [self - handleInternalError:^(InternalUserCredential *_Nullable creds, - FlutterError *_Nullable internalError) { - completion(internalError); - } - withError:error]; - } else { - completion([FLTFirebaseAuthPlugin convertToFlutterError:error]); - } - } else { - completion(nil); - } - }]; -} - -- (void)setLanguageCodeApp:(nonnull AuthPigeonFirebaseApp *)app - languageCode:(nullable NSString *)languageCode - completion: - (nonnull void (^)(NSString *_Nullable, FlutterError *_Nullable))completion { - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - - if (languageCode != nil && ![languageCode isEqual:[NSNull null]]) { - auth.languageCode = languageCode; - } else { - [auth useAppLanguage]; - } - - completion(auth.languageCode, nil); -} - -- (void)setSettingsApp:(nonnull AuthPigeonFirebaseApp *)app - settings:(nonnull InternalFirebaseAuthSettings *)settings - completion:(nonnull void (^)(FlutterError *_Nullable))completion { - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - - if (settings.userAccessGroup != nil) { - BOOL useUserAccessGroupSuccessful; - NSError *useUserAccessGroupErrorPtr; - useUserAccessGroupSuccessful = [auth useUserAccessGroup:settings.userAccessGroup - error:&useUserAccessGroupErrorPtr]; - if (!useUserAccessGroupSuccessful) { - completion([FLTFirebaseAuthPlugin convertToFlutterError:useUserAccessGroupErrorPtr]); - return; - } - } - -#if TARGET_OS_IPHONE - if (settings.appVerificationDisabledForTesting) { - auth.settings.appVerificationDisabledForTesting = settings.appVerificationDisabledForTesting; - } -#else - NSLog(@"FIRAuthSettings.appVerificationDisabledForTesting is not supported " - @"on MacOS."); -#endif - - completion(nil); -} - -- (void)signInAnonymouslyApp:(nonnull AuthPigeonFirebaseApp *)app - completion:(nonnull void (^)(InternalUserCredential *_Nullable, - FlutterError *_Nullable))completion { - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - [auth signInAnonymouslyWithCompletion:^(FIRAuthDataResult *authResult, NSError *error) { - if (error != nil) { - completion(nil, [FLTFirebaseAuthPlugin convertToFlutterError:error]); - } else { - completion([PigeonParser getPigeonUserCredentialFromAuthResult:authResult - authorizationCode:nil], - nil); - } - }]; -} - -- (void)signInWithCredentialApp:(nonnull AuthPigeonFirebaseApp *)app - input:(nonnull NSDictionary *)input - completion:(nonnull void (^)(InternalUserCredential *_Nullable, - FlutterError *_Nullable))completion { - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - [self - getFIRAuthCredentialFromArguments:input - app:app - completion:^(FIRAuthCredential *credential, NSError *error) { - if (credential == nil) { - completion(nil, - [FlutterError errorWithCode:kErrCodeInvalidCredential - message:kErrMsgInvalidCredential - details:nil]); - return; - } - - if (error) { - completion(nil, - [FLTFirebaseAuthPlugin convertToFlutterError:error]); - } - - [auth - signInWithCredential:credential - completion:^(FIRAuthDataResult *authResult, - NSError *error) { - if (error != nil) { - NSDictionary *userInfo = [error userInfo]; - NSError *underlyingError = - [userInfo objectForKey:NSUnderlyingErrorKey]; - - NSDictionary *firebaseDictionary = - underlyingError - .userInfo[@"FIRAuthErrorUserInfoDeserializ" - @"edResponseKey"]; - - if (firebaseDictionary != nil && - firebaseDictionary[@"message"] != nil) { - // error from firebase-ios-sdk is buried in - // underlying error. - if ([firebaseDictionary[@"code"] - isKindOfClass:[NSNumber class]]) { - [self handleInternalError:completion - withError:error]; - } else { - completion(nil, - [FlutterError - errorWithCode:firebaseDictionary - [@"code"] - message:firebaseDictionary - [@"message"] - details:nil]); - } - } else { - if (error.code == - FIRAuthErrorCodeSecondFactorRequired) { - [self handleMultiFactorError:app - completion:completion - withError:error]; - } else if (error.code == - FIRAuthErrorCodeInternalError) { - [self handleInternalError:completion - withError:error]; - } else { - completion(nil, - [FLTFirebaseAuthPlugin - convertToFlutterError:error]); - } - } - } else { - completion( - [PigeonParser - getPigeonUserCredentialFromAuthResult: - authResult - authorizationCode:nil], - nil); - } - }]; - }]; -} - -- (void)signInWithCustomTokenApp:(nonnull AuthPigeonFirebaseApp *)app - token:(nonnull NSString *)token - completion:(nonnull void (^)(InternalUserCredential *_Nullable, - FlutterError *_Nullable))completion { - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - - [auth signInWithCustomToken:token - completion:^(FIRAuthDataResult *_Nullable authResult, NSError *_Nullable error) { - if (error != nil) { - if (error.code == FIRAuthErrorCodeSecondFactorRequired) { - [self handleMultiFactorError:app completion:completion withError:error]; - } else if (error.code == FIRAuthErrorCodeInternalError) { - [self handleInternalError:completion withError:error]; - } else { - completion(nil, [FLTFirebaseAuthPlugin convertToFlutterError:error]); - } - } else { - completion([PigeonParser getPigeonUserCredentialFromAuthResult:authResult - authorizationCode:nil], - nil); - } - }]; -} - -- (void)signInWithEmailAndPasswordApp:(nonnull AuthPigeonFirebaseApp *)app - email:(nonnull NSString *)email - password:(nonnull NSString *)password - completion:(nonnull void (^)(InternalUserCredential *_Nullable, - FlutterError *_Nullable))completion { - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - [auth signInWithEmail:email - password:password - completion:^(FIRAuthDataResult *_Nullable authResult, NSError *_Nullable error) { - if (error != nil) { - if (error.code == FIRAuthErrorCodeSecondFactorRequired) { - [self handleMultiFactorError:app completion:completion withError:error]; - } else if (error.code == FIRAuthErrorCodeInternalError) { - [self handleInternalError:completion withError:error]; - } else { - completion(nil, [FLTFirebaseAuthPlugin convertToFlutterError:error]); - } - } else { - completion([PigeonParser getPigeonUserCredentialFromAuthResult:authResult - authorizationCode:nil], - nil); - } - }]; -} - -- (void)signInWithEmailLinkApp:(nonnull AuthPigeonFirebaseApp *)app - email:(nonnull NSString *)email - emailLink:(nonnull NSString *)emailLink - completion:(nonnull void (^)(InternalUserCredential *_Nullable, - FlutterError *_Nullable))completion { - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - [auth signInWithEmail:email - link:emailLink - completion:^(FIRAuthDataResult *_Nullable authResult, NSError *_Nullable error) { - if (error != nil) { - if (error.code == FIRAuthErrorCodeSecondFactorRequired) { - [self handleMultiFactorError:app completion:completion withError:error]; - } else if (error.code == FIRAuthErrorCodeInternalError) { - [self handleInternalError:completion withError:error]; - } else { - completion(nil, [FLTFirebaseAuthPlugin convertToFlutterError:error]); - } - } else { - completion([PigeonParser getPigeonUserCredentialFromAuthResult:authResult - authorizationCode:nil], - nil); - } - }]; -} - -- (void)signInWithProviderApp:(nonnull AuthPigeonFirebaseApp *)app - signInProvider:(nonnull InternalSignInProvider *)signInProvider - completion:(nonnull void (^)(InternalUserCredential *_Nullable, - FlutterError *_Nullable))completion { - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - - if ([signInProvider.providerId isEqualToString:kSignInMethodGameCenter]) { - completion( - nil, - [FlutterError - errorWithCode:@"sign-in-failure" - message: - @"Game Center sign-in requires signing in with 'signInWithCredential()' API." - details:@{}]); - return; - } - - if ([signInProvider.providerId isEqualToString:kSignInMethodApple]) { - self.signInWithAppleAuth = auth; - launchAppleSignInRequest(self, app, signInProvider, completion); - return; - } -#if TARGET_OS_OSX - NSLog(@"signInWithProvider is not supported on the " - @"MacOS platform."); - completion(nil, nil); -#else - self.authProvider = [FIROAuthProvider providerWithProviderID:signInProvider.providerId auth:auth]; - NSArray *scopes = signInProvider.scopes; - if (scopes != nil) { - [self.authProvider setScopes:scopes]; - } - NSDictionary *customParameters = signInProvider.customParameters; - if (customParameters != nil) { - [self.authProvider setCustomParameters:customParameters]; - } - - [self.authProvider - getCredentialWithUIDelegate:nil - completion:^(FIRAuthCredential *_Nullable credential, - NSError *_Nullable error) { - handleAppleAuthResult(self, app, auth, credential, error, completion); - }]; -#endif -} - -- (void)signOutApp:(nonnull AuthPigeonFirebaseApp *)app - completion:(nonnull void (^)(FlutterError *_Nullable))completion { - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - - if (auth.currentUser == nil) { - completion(nil); - return; - } - - NSError *signOutErrorPtr; - BOOL signOutSuccessful = [auth signOut:&signOutErrorPtr]; - - if (!signOutSuccessful) { - completion([FLTFirebaseAuthPlugin convertToFlutterError:signOutErrorPtr]); - } else { - completion(nil); - } -} - -- (void)useEmulatorApp:(nonnull AuthPigeonFirebaseApp *)app - host:(nonnull NSString *)host - port:(long)port - completion:(nonnull void (^)(FlutterError *_Nullable))completion { - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - [auth useEmulatorWithHost:host port:port]; - _emulatorConfigs[app.appName] = @{@"host" : host, @"port" : @(port)}; - completion(nil); -} - -- (void)verifyPasswordResetCodeApp:(nonnull AuthPigeonFirebaseApp *)app - code:(nonnull NSString *)code - completion:(nonnull void (^)(NSString *_Nullable, - FlutterError *_Nullable))completion { - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - - [auth verifyPasswordResetCode:code - completion:^(NSString *_Nullable email, NSError *_Nullable error) { - if (error != nil) { - completion(nil, [FLTFirebaseAuthPlugin convertToFlutterError:error]); - } else { - completion(email, nil); - } - }]; -} - -- (void)verifyPhoneNumberApp:(nonnull AuthPigeonFirebaseApp *)app - request:(nonnull InternalVerifyPhoneNumberRequest *)request - completion: - (nonnull void (^)(NSString *_Nullable, FlutterError *_Nullable))completion { -#if TARGET_OS_OSX - NSLog(@"The Firebase Phone Authentication provider is not supported on the " - @"MacOS platform."); - completion(nil, nil); -#else - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - - NSString *name = [NSString - stringWithFormat:@"%@/phone/%@", kFLTFirebaseAuthChannelName, [NSUUID UUID].UUIDString]; - FlutterEventChannel *channel = [FlutterEventChannel eventChannelWithName:name - binaryMessenger:_binaryMessenger]; - - NSString *multiFactorSessionId = request.multiFactorSessionId; - FIRMultiFactorSession *multiFactorSession = nil; - - if (multiFactorSessionId != nil) { - multiFactorSession = _multiFactorSessionMap[multiFactorSessionId]; - } - - NSString *multiFactorInfoId = request.multiFactorInfoId; - - FIRPhoneMultiFactorInfo *multiFactorInfo = nil; - if (multiFactorInfoId != nil) { - for (NSString *resolverId in _multiFactorResolverMap) { - for (FIRMultiFactorInfo *info in _multiFactorResolverMap[resolverId].hints) { - if ([info.UID isEqualToString:multiFactorInfoId] && - [info class] == [FIRPhoneMultiFactorInfo class]) { - multiFactorInfo = (FIRPhoneMultiFactorInfo *)info; - break; - } - } - } - } - -#if TARGET_OS_OSX - FLTPhoneNumberVerificationStreamHandler *handler = - [[FLTPhoneNumberVerificationStreamHandler alloc] initWithAuth:auth]; -#else - FLTPhoneNumberVerificationStreamHandler *handler = - [[FLTPhoneNumberVerificationStreamHandler alloc] initWithAuth:auth - request:request - session:multiFactorSession - factorInfo:multiFactorInfo]; -#endif - - [channel setStreamHandler:handler]; - - [_eventChannels setObject:channel forKey:name]; - [_streamHandlers setObject:handler forKey:name]; - - completion(name, nil); -#endif -} - -- (void)deleteApp:(nonnull AuthPigeonFirebaseApp *)app - completion:(nonnull void (^)(FlutterError *_Nullable))completion { - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - FIRUser *currentUser = auth.currentUser; - if (currentUser == nil) { - completion([FlutterError errorWithCode:kErrCodeNoCurrentUser - message:kErrMsgNoCurrentUser - details:nil]); - return; - } - - [currentUser deleteWithCompletion:^(NSError *_Nullable error) { - if (error != nil) { - completion([FLTFirebaseAuthPlugin convertToFlutterError:error]); - } else { - completion(nil); - } - }]; -} - -- (void)getIdTokenApp:(nonnull AuthPigeonFirebaseApp *)app - forceRefresh:(BOOL)forceRefresh - completion:(nonnull void (^)(InternalIdTokenResult *_Nullable, - FlutterError *_Nullable))completion { - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - FIRUser *currentUser = auth.currentUser; - if (currentUser == nil) { - completion(nil, [FlutterError errorWithCode:kErrCodeNoCurrentUser - message:kErrMsgNoCurrentUser - details:nil]); - return; - } - - [currentUser - getIDTokenResultForcingRefresh:forceRefresh - completion:^(FIRAuthTokenResult *tokenResult, NSError *error) { - if (error != nil) { - completion(nil, [FLTFirebaseAuthPlugin convertToFlutterError:error]); - return; - } - - completion([PigeonParser parseIdTokenResult:tokenResult], nil); - }]; -} - -- (void)linkWithCredentialApp:(nonnull AuthPigeonFirebaseApp *)app - input:(nonnull NSDictionary *)input - completion:(nonnull void (^)(InternalUserCredential *_Nullable, - FlutterError *_Nullable))completion { - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - FIRUser *currentUser = auth.currentUser; - if (currentUser == nil) { - completion(nil, [FlutterError errorWithCode:kErrCodeNoCurrentUser - message:kErrMsgNoCurrentUser - details:nil]); - return; - } - - [self - getFIRAuthCredentialFromArguments:input - app:app - completion:^(FIRAuthCredential *credential, NSError *error) { - if (credential == nil) { - completion(nil, - [FlutterError errorWithCode:kErrCodeInvalidCredential - message:kErrMsgInvalidCredential - details:nil]); - return; - } - - if (error) { - completion(nil, - [FLTFirebaseAuthPlugin convertToFlutterError:error]); - } - - [currentUser - linkWithCredential:credential - completion:^(FIRAuthDataResult *authResult, - NSError *error) { - if (error != nil) { - if (error.code == - FIRAuthErrorCodeSecondFactorRequired) { - [self handleMultiFactorError:app - completion:completion - withError:error]; - } else { - completion(nil, [FLTFirebaseAuthPlugin - convertToFlutterError:error]); - } - } else { - completion( - [PigeonParser - getPigeonUserCredentialFromAuthResult: - authResult - authorizationCode:nil], - nil); - } - }]; - }]; -} - -- (void)linkWithProviderApp:(nonnull AuthPigeonFirebaseApp *)app - signInProvider:(nonnull InternalSignInProvider *)signInProvider - completion:(nonnull void (^)(InternalUserCredential *_Nullable, - FlutterError *_Nullable))completion { - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - FIRUser *currentUser = auth.currentUser; - if ([signInProvider.providerId isEqualToString:kSignInMethodGameCenter]) { - completion( - nil, - [FlutterError - errorWithCode:@"provider-link-failure" - message:@"Game Center provider requires linking with 'linkWithCredential()' API." - details:@{}]); - return; - } - - if (currentUser == nil) { - completion(nil, [FlutterError errorWithCode:kErrCodeNoCurrentUser - message:kErrMsgNoCurrentUser - details:nil]); - return; - } - - if ([signInProvider.providerId isEqualToString:kSignInMethodApple]) { - self.linkWithAppleUser = currentUser; - launchAppleSignInRequest(self, app, signInProvider, completion); - return; - } -#if TARGET_OS_OSX - NSLog(@"linkWithProvider is not supported on the " - @"MacOS platform."); - completion(nil, nil); -#else - self.authProvider = [FIROAuthProvider providerWithProviderID:signInProvider.providerId]; - NSArray *scopes = signInProvider.scopes; - if (scopes != nil) { - [self.authProvider setScopes:scopes]; - } - NSDictionary *customParameters = signInProvider.customParameters; - if (customParameters != nil) { - [self.authProvider setCustomParameters:customParameters]; - } - - [currentUser - linkWithProvider:self.authProvider - UIDelegate:nil - completion:^(FIRAuthDataResult *authResult, NSError *error) { - handleAppleAuthResult(self, app, auth, authResult.credential, error, completion); - }]; -#endif -} - -- (void)reauthenticateWithCredentialApp:(nonnull AuthPigeonFirebaseApp *)app - input:(nonnull NSDictionary *)input - completion:(nonnull void (^)(InternalUserCredential *_Nullable, - FlutterError *_Nullable))completion { - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - FIRUser *currentUser = auth.currentUser; - if (currentUser == nil) { - completion(nil, [FlutterError errorWithCode:kErrCodeNoCurrentUser - message:kErrMsgNoCurrentUser - details:nil]); - return; - } - - [self - getFIRAuthCredentialFromArguments:input - app:app - completion:^(FIRAuthCredential *credential, NSError *error) { - if (credential == nil) { - completion(nil, - [FlutterError errorWithCode:kErrCodeInvalidCredential - message:kErrMsgInvalidCredential - details:nil]); - return; - } - - if (error) { - completion(nil, - [FLTFirebaseAuthPlugin convertToFlutterError:error]); - } - - [currentUser - reauthenticateWithCredential:credential - completion:^(FIRAuthDataResult *authResult, - NSError *error) { - if (error != nil) { - if (error.code == - FIRAuthErrorCodeSecondFactorRequired) { - [self handleMultiFactorError:app - completion:completion - withError:error]; - } else { - completion( - nil, - [FLTFirebaseAuthPlugin - convertToFlutterError:error]); - } - } else { - completion( - [PigeonParser - getPigeonUserCredentialFromAuthResult: - authResult - authorizationCode: - nil], - nil); - } - }]; - }]; -} - -- (void)reauthenticateWithProviderApp:(nonnull AuthPigeonFirebaseApp *)app - signInProvider:(nonnull InternalSignInProvider *)signInProvider - completion:(nonnull void (^)(InternalUserCredential *_Nullable, - FlutterError *_Nullable))completion { - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - FIRUser *currentUser = auth.currentUser; - if (currentUser == nil) { - completion(nil, [FlutterError errorWithCode:kErrCodeNoCurrentUser - message:kErrMsgNoCurrentUser - details:nil]); - return; - } - - if ([signInProvider.providerId isEqualToString:kSignInMethodApple]) { - self.isReauthenticatingWithApple = YES; - launchAppleSignInRequest(self, app, signInProvider, completion); - return; - } -#if TARGET_OS_OSX - NSLog(@"reauthenticateWithProvider is not supported on the " - @"MacOS platform."); - completion(nil, nil); -#else - self.authProvider = [FIROAuthProvider providerWithProviderID:signInProvider.providerId]; - NSArray *scopes = signInProvider.scopes; - if (scopes != nil) { - [self.authProvider setScopes:scopes]; - } - NSDictionary *customParameters = signInProvider.customParameters; - if (customParameters != nil) { - [self.authProvider setCustomParameters:customParameters]; - } - - [currentUser reauthenticateWithProvider:self.authProvider - UIDelegate:nil - completion:^(FIRAuthDataResult *authResult, NSError *error) { - handleAppleAuthResult(self, app, auth, authResult.credential, - error, completion); - }]; -#endif -} - -- (void)reloadApp:(nonnull AuthPigeonFirebaseApp *)app - completion: - (nonnull void (^)(InternalUserDetails *_Nullable, FlutterError *_Nullable))completion { - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - FIRUser *currentUser = auth.currentUser; - if (currentUser == nil) { - completion(nil, [FlutterError errorWithCode:kErrCodeNoCurrentUser - message:kErrMsgNoCurrentUser - details:nil]); - return; - } - - [currentUser reloadWithCompletion:^(NSError *_Nullable error) { - if (error != nil) { - completion(nil, [FLTFirebaseAuthPlugin convertToFlutterError:error]); - } else { - completion([PigeonParser getPigeonDetails:currentUser], nil); - } - }]; -} - -- (void)sendEmailVerificationApp:(nonnull AuthPigeonFirebaseApp *)app - actionCodeSettings:(nullable InternalActionCodeSettings *)actionCodeSettings - completion:(nonnull void (^)(FlutterError *_Nullable))completion { - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - FIRUser *currentUser = auth.currentUser; - if (currentUser == nil) { - completion([FlutterError errorWithCode:kErrCodeNoCurrentUser - message:kErrMsgNoCurrentUser - details:nil]); - return; - } - - [currentUser - sendEmailVerificationWithActionCodeSettings:[PigeonParser - parseActionCodeSettings:actionCodeSettings] - - completion:^(NSError *_Nullable error) { - if (error != nil) { - completion( - [FLTFirebaseAuthPlugin convertToFlutterError:error]); - } else { - completion(nil); - } - }]; -} - -- (void)unlinkApp:(nonnull AuthPigeonFirebaseApp *)app - providerId:(nonnull NSString *)providerId - completion:(nonnull void (^)(InternalUserCredential *_Nullable, - FlutterError *_Nullable))completion { - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - FIRUser *currentUser = auth.currentUser; - if (currentUser == nil) { - completion(nil, [FlutterError errorWithCode:kErrCodeNoCurrentUser - message:kErrMsgNoCurrentUser - details:nil]); - return; - } - - [currentUser unlinkFromProvider:providerId - completion:^(FIRUser *_Nullable user, NSError *_Nullable error) { - if (error != nil) { - completion(nil, [FLTFirebaseAuthPlugin convertToFlutterError:error]); - } else { - completion([PigeonParser getPigeonUserCredentialFromFIRUser:user], nil); - } - }]; -} - -- (void)updateEmailApp:(nonnull AuthPigeonFirebaseApp *)app - newEmail:(nonnull NSString *)newEmail - completion:(nonnull void (^)(InternalUserDetails *_Nullable, - FlutterError *_Nullable))completion { - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - FIRUser *currentUser = auth.currentUser; - if (currentUser == nil) { - completion(nil, [FlutterError errorWithCode:kErrCodeNoCurrentUser - message:kErrMsgNoCurrentUser - details:nil]); - return; - } - - [currentUser updateEmail:newEmail - completion:^(NSError *_Nullable error) { - if (error != nil) { - completion(nil, [FLTFirebaseAuthPlugin convertToFlutterError:error]); - } else { - [currentUser reloadWithCompletion:^(NSError *_Nullable reloadError) { - if (reloadError != nil) { - completion(nil, [FLTFirebaseAuthPlugin convertToFlutterError:reloadError]); - } else { - completion([PigeonParser getPigeonDetails:currentUser], nil); - } - }]; - } - }]; -} - -- (void)updatePasswordApp:(nonnull AuthPigeonFirebaseApp *)app - newPassword:(nonnull NSString *)newPassword - completion:(nonnull void (^)(InternalUserDetails *_Nullable, - FlutterError *_Nullable))completion { - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - FIRUser *currentUser = auth.currentUser; - if (currentUser == nil) { - completion(nil, [FlutterError errorWithCode:kErrCodeNoCurrentUser - message:kErrMsgNoCurrentUser - details:nil]); - return; - } - - [currentUser - updatePassword:newPassword - completion:^(NSError *_Nullable error) { - if (error != nil) { - completion(nil, [FLTFirebaseAuthPlugin convertToFlutterError:error]); - } else { - [currentUser reloadWithCompletion:^(NSError *_Nullable reloadError) { - if (reloadError != nil) { - completion(nil, [FLTFirebaseAuthPlugin convertToFlutterError:reloadError]); - } else { - completion([PigeonParser getPigeonDetails:currentUser], nil); - } - }]; - } - }]; -} - -- (void)updatePhoneNumberApp:(nonnull AuthPigeonFirebaseApp *)app - input:(nonnull NSDictionary *)input - completion:(nonnull void (^)(InternalUserDetails *_Nullable, - FlutterError *_Nullable))completion { -#if TARGET_OS_IPHONE - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - FIRUser *currentUser = auth.currentUser; - if (currentUser == nil) { - completion(nil, [FlutterError errorWithCode:kErrCodeNoCurrentUser - message:kErrMsgNoCurrentUser - details:nil]); - return; - } - - [self - getFIRAuthCredentialFromArguments:input - app:app - completion:^(FIRAuthCredential *credential, NSError *error) { - if (credential == nil) { - completion(nil, - [FlutterError errorWithCode:kErrCodeInvalidCredential - message:kErrMsgInvalidCredential - details:nil]); - return; - } - - if (error) { - completion(nil, - [FLTFirebaseAuthPlugin convertToFlutterError:error]); - } - - [currentUser - updatePhoneNumberCredential:(FIRPhoneAuthCredential *)credential - completion:^(NSError *_Nullable error) { - if (error != nil) { - completion( - nil, [FLTFirebaseAuthPlugin - convertToFlutterError:error]); - } else { - [currentUser - reloadWithCompletion:^( - NSError *_Nullable reloadError) { - if (reloadError != nil) { - completion( - nil, [FLTFirebaseAuthPlugin - convertToFlutterError: - reloadError]); - } else { - completion( - [PigeonParser getPigeonDetails: - currentUser], - nil); - } - }]; - } - }]; - }]; -#else - NSLog(@"Updating a users phone number via Firebase Authentication is only " - @"supported on the iOS " - @"platform."); - completion(nil, nil); -#endif -} - -- (void)updateProfileApp:(nonnull AuthPigeonFirebaseApp *)app - profile:(nonnull InternalUserProfile *)profile - completion:(nonnull void (^)(InternalUserDetails *_Nullable, - FlutterError *_Nullable))completion { - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - FIRUser *currentUser = auth.currentUser; - if (currentUser == nil) { - completion(nil, [FlutterError errorWithCode:kErrCodeNoCurrentUser - message:kErrMsgNoCurrentUser - details:nil]); - return; - } - - FIRUserProfileChangeRequest *changeRequest = [currentUser profileChangeRequest]; - - if (profile.displayNameChanged) { - changeRequest.displayName = profile.displayName; - } - - if (profile.photoUrlChanged) { - if (profile.photoUrl == nil) { - // We apparently cannot set photoURL to nil/NULL to remove it. - // Instead, setting it to empty string appears to work. - // When doing so, Dart will properly receive `null` anyway. - changeRequest.photoURL = [NSURL URLWithString:@""]; - } else { - changeRequest.photoURL = [NSURL URLWithString:profile.photoUrl]; - } - } - - [changeRequest commitChangesWithCompletion:^(NSError *error) { - if (error != nil) { - completion(nil, [FLTFirebaseAuthPlugin convertToFlutterError:error]); - } else { - [currentUser reloadWithCompletion:^(NSError *_Nullable reloadError) { - if (reloadError != nil) { - completion(nil, [FLTFirebaseAuthPlugin convertToFlutterError:reloadError]); - } else { - completion([PigeonParser getPigeonDetails:currentUser], nil); - } - }]; - } - }]; -} - -- (void)verifyBeforeUpdateEmailApp:(nonnull AuthPigeonFirebaseApp *)app - newEmail:(nonnull NSString *)newEmail - actionCodeSettings:(nullable InternalActionCodeSettings *)actionCodeSettings - completion:(nonnull void (^)(FlutterError *_Nullable))completion { - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - FIRUser *currentUser = auth.currentUser; - if (currentUser == nil) { - completion([FlutterError errorWithCode:kErrCodeNoCurrentUser - message:kErrMsgNoCurrentUser - details:nil]); - return; - } - - [currentUser - sendEmailVerificationBeforeUpdatingEmail:newEmail - actionCodeSettings:[PigeonParser - parseActionCodeSettings:actionCodeSettings] - completion:^(NSError *error) { - if (error != nil) { - completion( - [FLTFirebaseAuthPlugin convertToFlutterError:error]); - } else { - completion(nil); - } - }]; -} - -- (void)initializeRecaptchaConfigApp:(AuthPigeonFirebaseApp *)app - completion:(void (^)(FlutterError *_Nullable))completion { -#if TARGET_OS_OSX - NSLog(@"initializeRecaptchaConfigWithCompletion is not supported on the " - @"MacOS platform."); - completion(nil); -#else - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - [auth initializeRecaptchaConfigWithCompletion:^(NSError *_Nullable error) { - if (error != nil) { - completion([FLTFirebaseAuthPlugin convertToFlutterError:error]); - } else { - completion(nil); - } - }]; -#endif -} - -@end diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/macos/firebase_auth/Sources/firebase_auth/FLTIdTokenChannelStreamHandler.m b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/macos/firebase_auth/Sources/firebase_auth/FLTIdTokenChannelStreamHandler.m deleted file mode 100644 index 315bc5ec..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/macos/firebase_auth/Sources/firebase_auth/FLTIdTokenChannelStreamHandler.m +++ /dev/null @@ -1,54 +0,0 @@ -// Copyright 2021 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. -@import FirebaseAuth; -#import "include/Private/FLTIdTokenChannelStreamHandler.h" -#import -#import "include/Private/PigeonParser.h" -#import "include/Public/FLTFirebaseAuthPlugin.h" - -@implementation FLTIdTokenChannelStreamHandler { - FIRAuth *_auth; - FIRIDTokenDidChangeListenerHandle _listener; -} - -- (instancetype)initWithAuth:(FIRAuth *)auth { - self = [super init]; - if (self) { - _auth = auth; - } - return self; -} - -- (FlutterError *)onListenWithArguments:(id)arguments eventSink:(FlutterEventSink)events { - bool __block initialAuthState = YES; - - _listener = [_auth addIDTokenDidChangeListener:^(FIRAuth *_Nonnull auth, - FIRUser *_Nullable user) { - if (initialAuthState) { - initialAuthState = NO; - return; - } - - if (user) { - events(@{ - @"user" : [PigeonParser getManualList:[PigeonParser getPigeonDetails:[auth currentUser]]] - }); - } else { - events(@{@"user" : [NSNull null]}); - } - }]; - - return nil; -} - -- (FlutterError *)onCancelWithArguments:(id)arguments { - if (_listener) { - [_auth removeIDTokenDidChangeListener:_listener]; - } - _listener = nil; - - return nil; -} - -@end diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/macos/firebase_auth/Sources/firebase_auth/FLTPhoneNumberVerificationStreamHandler.m b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/macos/firebase_auth/Sources/firebase_auth/FLTPhoneNumberVerificationStreamHandler.m deleted file mode 100644 index 511d2caa..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/macos/firebase_auth/Sources/firebase_auth/FLTPhoneNumberVerificationStreamHandler.m +++ /dev/null @@ -1,98 +0,0 @@ -// Copyright 2021 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -@import FirebaseAuth; - -#import "include/Private/FLTPhoneNumberVerificationStreamHandler.h" -#import "include/Public/FLTFirebaseAuthPlugin.h" - -@implementation FLTPhoneNumberVerificationStreamHandler { - FIRAuth *_auth; - NSString *_phoneNumber; -#if TARGET_OS_OSX -#else - FIRMultiFactorSession *_session; - FIRPhoneMultiFactorInfo *_factorInfo; -#endif -} - -#if TARGET_OS_OSX -- (instancetype)initWithAuth:(id)auth request:(InternalVerifyPhoneNumberRequest *)request { - self = [super init]; - if (self) { - _auth = auth; - _phoneNumber = request.phoneNumber; - } - return self; -} -#else -- (instancetype)initWithAuth:(id)auth - request:(InternalVerifyPhoneNumberRequest *)request - session:(FIRMultiFactorSession *)session - factorInfo:(FIRPhoneMultiFactorInfo *)factorInfo { - self = [super init]; - if (self) { - _auth = auth; - _phoneNumber = request.phoneNumber; - _session = session; - _factorInfo = factorInfo; - } - return self; -} -#endif - -- (FlutterError *)onListenWithArguments:(id)arguments eventSink:(FlutterEventSink)events { -#if TARGET_OS_IPHONE - id completer = ^(NSString *verificationID, NSError *error) { - if (error != nil) { - FlutterError *errorDetails = [FLTFirebaseAuthPlugin convertToFlutterError:error]; - events(@{ - @"name" : @"Auth#phoneVerificationFailed", - @"error" : @{ - @"code" : errorDetails.code, - @"message" : errorDetails.message, - @"details" : errorDetails.details, - } - }); - } else { - events(@{ - @"name" : @"Auth#phoneCodeSent", - @"verificationId" : verificationID, - }); - } - }; - - // Try catch to capture 'missing URL scheme' error. - @try { - if (_factorInfo != nil) { - [[FIRPhoneAuthProvider providerWithAuth:_auth] - verifyPhoneNumberWithMultiFactorInfo:_factorInfo - UIDelegate:nil - multiFactorSession:_session - completion:completer]; - - } else { - [[FIRPhoneAuthProvider providerWithAuth:_auth] verifyPhoneNumber:_phoneNumber - UIDelegate:nil - multiFactorSession:_session - completion:completer]; - } - } @catch (NSException *exception) { - events(@{ - @"name" : @"Auth#phoneVerificationFailed", - @"error" : @{ - @"message" : exception.reason, - } - }); - } -#endif - - return nil; -} - -- (FlutterError *)onCancelWithArguments:(id)arguments { - return nil; -} - -@end diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/macos/firebase_auth/Sources/firebase_auth/PigeonParser.m b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/macos/firebase_auth/Sources/firebase_auth/PigeonParser.m deleted file mode 100644 index 8d7a7b1c..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/macos/firebase_auth/Sources/firebase_auth/PigeonParser.m +++ /dev/null @@ -1,171 +0,0 @@ -// Copyright 2023, the Chromium project authors. Please see the AUTHORS file -// for details. All rights reserved. Use of this source code is governed by a -// BSD-style license that can be found in the LICENSE file. - -@import FirebaseAuth; - -#import "include/Private/PigeonParser.h" -#import -#import "include/Public/CustomPigeonHeader.h" - -@implementation PigeonParser - -+ (InternalUserCredential *) - getPigeonUserCredentialFromAuthResult:(nonnull FIRAuthDataResult *)authResult - authorizationCode:(nullable NSString *)authorizationCode { - return [InternalUserCredential - makeWithUser:[self getPigeonDetails:authResult.user] - additionalUserInfo:[self getPigeonAdditionalUserInfo:authResult.additionalUserInfo - authorizationCode:authorizationCode] - credential:[self getPigeonAuthCredential:authResult.credential token:nil]]; -} - -+ (InternalUserCredential *)getPigeonUserCredentialFromFIRUser:(nonnull FIRUser *)user { - return [InternalUserCredential makeWithUser:[self getPigeonDetails:user] - additionalUserInfo:nil - credential:nil]; -} - -+ (InternalUserDetails *)getPigeonDetails:(nonnull FIRUser *)user { - return [InternalUserDetails makeWithUserInfo:[self getPigeonUserInfo:user] - providerData:[self getProviderData:user.providerData]]; -} - -+ (InternalUserInfo *)getPigeonUserInfo:(nonnull FIRUser *)user { - NSString *photoUrlString = user.photoURL.absoluteString; - return [InternalUserInfo - makeWithUid:user.uid - email:user.email - displayName:user.displayName - photoUrl:(photoUrlString.length > 0) ? photoUrlString : nil - phoneNumber:user.phoneNumber - isAnonymous:user.isAnonymous - isEmailVerified:user.emailVerified - providerId:user.providerID - tenantId:user.tenantID - refreshToken:user.refreshToken - creationTimestamp:@((long)([user.metadata.creationDate timeIntervalSince1970] * 1000)) - lastSignInTimestamp:@((long)([user.metadata.lastSignInDate timeIntervalSince1970] * 1000))]; -} - -+ (NSArray *> *)getProviderData: - (nonnull NSArray> *)providerData { - NSMutableArray *> *dataArray = - [NSMutableArray arrayWithCapacity:providerData.count]; - - for (id userInfo in providerData) { - NSString *photoUrlStr = userInfo.photoURL.absoluteString; - NSDictionary *dataDict = @{ - @"providerId" : userInfo.providerID, - // Can be null on emulator - @"uid" : userInfo.uid ?: @"", - @"displayName" : userInfo.displayName ?: [NSNull null], - @"email" : userInfo.email ?: [NSNull null], - @"phoneNumber" : userInfo.phoneNumber ?: [NSNull null], - @"photoURL" : photoUrlStr ?: [NSNull null], - // isAnonymous is always false on in a providerData object (the user is not anonymous) - @"isAnonymous" : @NO, - // isEmailVerified is always true on in a providerData object (the email is verified by the - // provider) - @"isEmailVerified" : @YES, - }; - [dataArray addObject:dataDict]; - } - return [dataArray copy]; -} - -+ (InternalAdditionalUserInfo *)getPigeonAdditionalUserInfo: - (nonnull FIRAdditionalUserInfo *)userInfo - authorizationCode:(nullable NSString *)authorizationCode { - return [InternalAdditionalUserInfo makeWithIsNewUser:userInfo.isNewUser - providerId:userInfo.providerID - username:userInfo.username - authorizationCode:authorizationCode - profile:userInfo.profile]; -} - -+ (InternalTotpSecret *)getPigeonTotpSecret:(FIRTOTPSecret *)secret { - return [InternalTotpSecret makeWithCodeIntervalSeconds:nil - codeLength:nil - enrollmentCompletionDeadline:nil - hashingAlgorithm:nil - secretKey:secret.sharedSecretKey]; -} - -+ (InternalAuthCredential *)getPigeonAuthCredential:(FIRAuthCredential *)authCredential - token:(NSNumber *_Nullable)token { - if (authCredential == nil) { - return nil; - } - - NSString *accessToken = nil; - if ([authCredential isKindOfClass:[FIROAuthCredential class]]) { - if (((FIROAuthCredential *)authCredential).accessToken != nil) { - accessToken = ((FIROAuthCredential *)authCredential).accessToken; - } else if (((FIROAuthCredential *)authCredential).IDToken != nil) { - // For Sign In With Apple, the token is stored in IDToken - accessToken = ((FIROAuthCredential *)authCredential).IDToken; - } - } - - NSUInteger nativeId = - token != nil ? [token unsignedLongValue] : (NSUInteger)[authCredential hash]; - - return [InternalAuthCredential makeWithProviderId:authCredential.provider - signInMethod:authCredential.provider - nativeId:nativeId - accessToken:accessToken ?: nil]; -} - -+ (FIRActionCodeSettings *_Nullable)parseActionCodeSettings: - (nullable InternalActionCodeSettings *)settings { - if (settings == nil) { - return nil; - } - - FIRActionCodeSettings *codeSettings = [[FIRActionCodeSettings alloc] init]; - - if (settings.url != nil) { - codeSettings.URL = [NSURL URLWithString:settings.url]; - } - - if (settings.linkDomain != nil) { - codeSettings.linkDomain = settings.linkDomain; - } - - codeSettings.handleCodeInApp = settings.handleCodeInApp; - - if (settings.iOSBundleId != nil) { - codeSettings.iOSBundleID = settings.iOSBundleId; - } - - return codeSettings; -} - -+ (InternalIdTokenResult *)parseIdTokenResult:(FIRAuthTokenResult *)tokenResult { - long expirationTimestamp = (long)[tokenResult.expirationDate timeIntervalSince1970] * 1000; - long authTimestamp = (long)[tokenResult.authDate timeIntervalSince1970] * 1000; - long issuedAtTimestamp = (long)[tokenResult.issuedAtDate timeIntervalSince1970] * 1000; - - return [InternalIdTokenResult makeWithToken:tokenResult.token - expirationTimestamp:@(expirationTimestamp) - authTimestamp:@(authTimestamp) - issuedAtTimestamp:@(issuedAtTimestamp) - signInProvider:tokenResult.signInProvider - claims:tokenResult.claims - signInSecondFactor:tokenResult.signInSecondFactor]; -} - -+ (NSArray *_Nonnull)getManualList:(nonnull InternalUserDetails *)userDetails { - NSMutableArray *output = [NSMutableArray array]; - - id userInfoList = [[userDetails userInfo] toList]; - [output addObject:userInfoList]; - - id providerData = [userDetails providerData]; - [output addObject:providerData]; - - return [output copy]; -} - -@end diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/macos/firebase_auth/Sources/firebase_auth/firebase_auth_messages.g.m b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/macos/firebase_auth/Sources/firebase_auth/firebase_auth_messages.g.m deleted file mode 100644 index 82ae8cfc..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/macos/firebase_auth/Sources/firebase_auth/firebase_auth_messages.g.m +++ /dev/null @@ -1,3005 +0,0 @@ -// Copyright 2023, the Chromium project authors. Please see the AUTHORS file -// for details. All rights reserved. Use of this source code is governed by a -// BSD-style license that can be found in the LICENSE file. -// Autogenerated from Pigeon (v26.3.4), do not edit directly. -// See also: https://pub.dev/packages/pigeon - -#import "include/Public/firebase_auth_messages.g.h" - -#if TARGET_OS_OSX -@import FlutterMacOS; -#else -@import Flutter; -#endif - -static BOOL __attribute__((unused)) FLTPigeonDeepEquals(id _Nullable a, id _Nullable b) { - if (a == b) { - return YES; - } - if (a == nil) { - return b == [NSNull null]; - } - if (b == nil) { - return a == [NSNull null]; - } - if ([a isKindOfClass:[NSNumber class]] && [b isKindOfClass:[NSNumber class]]) { - return - [a isEqual:b] || (isnan([(NSNumber *)a doubleValue]) && isnan([(NSNumber *)b doubleValue])); - } - if ([a isKindOfClass:[NSArray class]] && [b isKindOfClass:[NSArray class]]) { - NSArray *arrayA = (NSArray *)a; - NSArray *arrayB = (NSArray *)b; - if (arrayA.count != arrayB.count) { - return NO; - } - for (NSUInteger i = 0; i < arrayA.count; i++) { - if (!FLTPigeonDeepEquals(arrayA[i], arrayB[i])) { - return NO; - } - } - return YES; - } - if ([a isKindOfClass:[NSDictionary class]] && [b isKindOfClass:[NSDictionary class]]) { - NSDictionary *dictA = (NSDictionary *)a; - NSDictionary *dictB = (NSDictionary *)b; - if (dictA.count != dictB.count) { - return NO; - } - for (id keyA in dictA) { - id valueA = dictA[keyA]; - BOOL found = NO; - for (id keyB in dictB) { - if (FLTPigeonDeepEquals(keyA, keyB)) { - id valueB = dictB[keyB]; - if (FLTPigeonDeepEquals(valueA, valueB)) { - found = YES; - break; - } else { - return NO; - } - } - } - if (!found) { - return NO; - } - } - return YES; - } - return [a isEqual:b]; -} - -static NSUInteger __attribute__((unused)) FLTPigeonDeepHash(id _Nullable value) { - if (value == nil || value == (id)[NSNull null]) { - return 0; - } - if ([value isKindOfClass:[NSNumber class]]) { - NSNumber *n = (NSNumber *)value; - double d = n.doubleValue; - if (isnan(d)) { - // Normalize NaN to a consistent hash. - return (NSUInteger)0x7FF8000000000000; - } - if (d == 0.0) { - // Normalize -0.0 to 0.0 so they have the same hash code. - d = 0.0; - } - return @(d).hash; - } - if ([value isKindOfClass:[NSArray class]]) { - NSUInteger result = 1; - for (id item in (NSArray *)value) { - result = result * 31 + FLTPigeonDeepHash(item); - } - return result; - } - if ([value isKindOfClass:[NSDictionary class]]) { - NSUInteger result = 0; - NSDictionary *dict = (NSDictionary *)value; - for (id key in dict) { - result += ((FLTPigeonDeepHash(key) * 31) ^ FLTPigeonDeepHash(dict[key])); - } - return result; - } - return [value hash]; -} - -static NSArray *wrapResult(id result, FlutterError *error) { - if (error) { - return @[ - error.code ?: [NSNull null], error.message ?: [NSNull null], error.details ?: [NSNull null] - ]; - } - return @[ result ?: [NSNull null] ]; -} - -static id GetNullableObjectAtIndex(NSArray *array, NSInteger key) { - id result = array[key]; - return (result == [NSNull null]) ? nil : result; -} - -/// The type of operation that generated the action code from calling -/// [checkActionCode]. -@implementation ActionCodeInfoOperationBox -- (instancetype)initWithValue:(ActionCodeInfoOperation)value { - self = [super init]; - if (self) { - _value = value; - } - return self; -} -@end - -@interface InternalMultiFactorSession () -+ (InternalMultiFactorSession *)fromList:(NSArray *)list; -+ (nullable InternalMultiFactorSession *)nullableFromList:(NSArray *)list; -- (NSArray *)toList; -@end - -@interface InternalPhoneMultiFactorAssertion () -+ (InternalPhoneMultiFactorAssertion *)fromList:(NSArray *)list; -+ (nullable InternalPhoneMultiFactorAssertion *)nullableFromList:(NSArray *)list; -- (NSArray *)toList; -@end - -@interface InternalMultiFactorInfo () -+ (InternalMultiFactorInfo *)fromList:(NSArray *)list; -+ (nullable InternalMultiFactorInfo *)nullableFromList:(NSArray *)list; -- (NSArray *)toList; -@end - -@interface AuthPigeonFirebaseApp () -+ (AuthPigeonFirebaseApp *)fromList:(NSArray *)list; -+ (nullable AuthPigeonFirebaseApp *)nullableFromList:(NSArray *)list; -- (NSArray *)toList; -@end - -@interface InternalActionCodeInfoData () -+ (InternalActionCodeInfoData *)fromList:(NSArray *)list; -+ (nullable InternalActionCodeInfoData *)nullableFromList:(NSArray *)list; -- (NSArray *)toList; -@end - -@interface InternalActionCodeInfo () -+ (InternalActionCodeInfo *)fromList:(NSArray *)list; -+ (nullable InternalActionCodeInfo *)nullableFromList:(NSArray *)list; -- (NSArray *)toList; -@end - -@interface InternalAdditionalUserInfo () -+ (InternalAdditionalUserInfo *)fromList:(NSArray *)list; -+ (nullable InternalAdditionalUserInfo *)nullableFromList:(NSArray *)list; -- (NSArray *)toList; -@end - -@interface InternalAuthCredential () -+ (InternalAuthCredential *)fromList:(NSArray *)list; -+ (nullable InternalAuthCredential *)nullableFromList:(NSArray *)list; -- (NSArray *)toList; -@end - -@interface InternalUserInfo () -+ (InternalUserInfo *)fromList:(NSArray *)list; -+ (nullable InternalUserInfo *)nullableFromList:(NSArray *)list; -- (NSArray *)toList; -@end - -@interface InternalUserDetails () -+ (InternalUserDetails *)fromList:(NSArray *)list; -+ (nullable InternalUserDetails *)nullableFromList:(NSArray *)list; -- (NSArray *)toList; -@end - -@interface InternalUserCredential () -+ (InternalUserCredential *)fromList:(NSArray *)list; -+ (nullable InternalUserCredential *)nullableFromList:(NSArray *)list; -- (NSArray *)toList; -@end - -@interface InternalAuthCredentialInput () -+ (InternalAuthCredentialInput *)fromList:(NSArray *)list; -+ (nullable InternalAuthCredentialInput *)nullableFromList:(NSArray *)list; -- (NSArray *)toList; -@end - -@interface InternalActionCodeSettings () -+ (InternalActionCodeSettings *)fromList:(NSArray *)list; -+ (nullable InternalActionCodeSettings *)nullableFromList:(NSArray *)list; -- (NSArray *)toList; -@end - -@interface InternalFirebaseAuthSettings () -+ (InternalFirebaseAuthSettings *)fromList:(NSArray *)list; -+ (nullable InternalFirebaseAuthSettings *)nullableFromList:(NSArray *)list; -- (NSArray *)toList; -@end - -@interface InternalSignInProvider () -+ (InternalSignInProvider *)fromList:(NSArray *)list; -+ (nullable InternalSignInProvider *)nullableFromList:(NSArray *)list; -- (NSArray *)toList; -@end - -@interface InternalVerifyPhoneNumberRequest () -+ (InternalVerifyPhoneNumberRequest *)fromList:(NSArray *)list; -+ (nullable InternalVerifyPhoneNumberRequest *)nullableFromList:(NSArray *)list; -- (NSArray *)toList; -@end - -@interface InternalIdTokenResult () -+ (InternalIdTokenResult *)fromList:(NSArray *)list; -+ (nullable InternalIdTokenResult *)nullableFromList:(NSArray *)list; -- (NSArray *)toList; -@end - -@interface InternalUserProfile () -+ (InternalUserProfile *)fromList:(NSArray *)list; -+ (nullable InternalUserProfile *)nullableFromList:(NSArray *)list; -- (NSArray *)toList; -@end - -@interface InternalTotpSecret () -+ (InternalTotpSecret *)fromList:(NSArray *)list; -+ (nullable InternalTotpSecret *)nullableFromList:(NSArray *)list; -- (NSArray *)toList; -@end - -@implementation InternalMultiFactorSession -+ (instancetype)makeWithId:(NSString *)id { - InternalMultiFactorSession *pigeonResult = [[InternalMultiFactorSession alloc] init]; - pigeonResult.id = id; - return pigeonResult; -} -+ (InternalMultiFactorSession *)fromList:(NSArray *)list { - InternalMultiFactorSession *pigeonResult = [[InternalMultiFactorSession alloc] init]; - pigeonResult.id = GetNullableObjectAtIndex(list, 0); - return pigeonResult; -} -+ (nullable InternalMultiFactorSession *)nullableFromList:(NSArray *)list { - return (list) ? [InternalMultiFactorSession fromList:list] : nil; -} -- (NSArray *)toList { - return @[ - self.id ?: [NSNull null], - ]; -} -- (BOOL)isEqual:(id)object { - if (self == object) { - return YES; - } - if (![object isKindOfClass:[self class]]) { - return NO; - } - InternalMultiFactorSession *other = (InternalMultiFactorSession *)object; - return FLTPigeonDeepEquals(self.id, other.id); -} - -- (NSUInteger)hash { - NSUInteger result = [self class].hash; - result = result * 31 + FLTPigeonDeepHash(self.id); - return result; -} -@end - -@implementation InternalPhoneMultiFactorAssertion -+ (instancetype)makeWithVerificationId:(NSString *)verificationId - verificationCode:(NSString *)verificationCode { - InternalPhoneMultiFactorAssertion *pigeonResult = - [[InternalPhoneMultiFactorAssertion alloc] init]; - pigeonResult.verificationId = verificationId; - pigeonResult.verificationCode = verificationCode; - return pigeonResult; -} -+ (InternalPhoneMultiFactorAssertion *)fromList:(NSArray *)list { - InternalPhoneMultiFactorAssertion *pigeonResult = - [[InternalPhoneMultiFactorAssertion alloc] init]; - pigeonResult.verificationId = GetNullableObjectAtIndex(list, 0); - pigeonResult.verificationCode = GetNullableObjectAtIndex(list, 1); - return pigeonResult; -} -+ (nullable InternalPhoneMultiFactorAssertion *)nullableFromList:(NSArray *)list { - return (list) ? [InternalPhoneMultiFactorAssertion fromList:list] : nil; -} -- (NSArray *)toList { - return @[ - self.verificationId ?: [NSNull null], - self.verificationCode ?: [NSNull null], - ]; -} -- (BOOL)isEqual:(id)object { - if (self == object) { - return YES; - } - if (![object isKindOfClass:[self class]]) { - return NO; - } - InternalPhoneMultiFactorAssertion *other = (InternalPhoneMultiFactorAssertion *)object; - return FLTPigeonDeepEquals(self.verificationId, other.verificationId) && - FLTPigeonDeepEquals(self.verificationCode, other.verificationCode); -} - -- (NSUInteger)hash { - NSUInteger result = [self class].hash; - result = result * 31 + FLTPigeonDeepHash(self.verificationId); - result = result * 31 + FLTPigeonDeepHash(self.verificationCode); - return result; -} -@end - -@implementation InternalMultiFactorInfo -+ (instancetype)makeWithDisplayName:(nullable NSString *)displayName - enrollmentTimestamp:(double)enrollmentTimestamp - factorId:(nullable NSString *)factorId - uid:(NSString *)uid - phoneNumber:(nullable NSString *)phoneNumber { - InternalMultiFactorInfo *pigeonResult = [[InternalMultiFactorInfo alloc] init]; - pigeonResult.displayName = displayName; - pigeonResult.enrollmentTimestamp = enrollmentTimestamp; - pigeonResult.factorId = factorId; - pigeonResult.uid = uid; - pigeonResult.phoneNumber = phoneNumber; - return pigeonResult; -} -+ (InternalMultiFactorInfo *)fromList:(NSArray *)list { - InternalMultiFactorInfo *pigeonResult = [[InternalMultiFactorInfo alloc] init]; - pigeonResult.displayName = GetNullableObjectAtIndex(list, 0); - pigeonResult.enrollmentTimestamp = [GetNullableObjectAtIndex(list, 1) doubleValue]; - pigeonResult.factorId = GetNullableObjectAtIndex(list, 2); - pigeonResult.uid = GetNullableObjectAtIndex(list, 3); - pigeonResult.phoneNumber = GetNullableObjectAtIndex(list, 4); - return pigeonResult; -} -+ (nullable InternalMultiFactorInfo *)nullableFromList:(NSArray *)list { - return (list) ? [InternalMultiFactorInfo fromList:list] : nil; -} -- (NSArray *)toList { - return @[ - self.displayName ?: [NSNull null], - @(self.enrollmentTimestamp), - self.factorId ?: [NSNull null], - self.uid ?: [NSNull null], - self.phoneNumber ?: [NSNull null], - ]; -} -- (BOOL)isEqual:(id)object { - if (self == object) { - return YES; - } - if (![object isKindOfClass:[self class]]) { - return NO; - } - InternalMultiFactorInfo *other = (InternalMultiFactorInfo *)object; - return FLTPigeonDeepEquals(self.displayName, other.displayName) && - (self.enrollmentTimestamp == other.enrollmentTimestamp || - (isnan(self.enrollmentTimestamp) && isnan(other.enrollmentTimestamp))) && - FLTPigeonDeepEquals(self.factorId, other.factorId) && - FLTPigeonDeepEquals(self.uid, other.uid) && - FLTPigeonDeepEquals(self.phoneNumber, other.phoneNumber); -} - -- (NSUInteger)hash { - NSUInteger result = [self class].hash; - result = result * 31 + FLTPigeonDeepHash(self.displayName); - result = result * 31 + (isnan(self.enrollmentTimestamp) ? (NSUInteger)0x7FF8000000000000 - : @(self.enrollmentTimestamp).hash); - result = result * 31 + FLTPigeonDeepHash(self.factorId); - result = result * 31 + FLTPigeonDeepHash(self.uid); - result = result * 31 + FLTPigeonDeepHash(self.phoneNumber); - return result; -} -@end - -@implementation AuthPigeonFirebaseApp -+ (instancetype)makeWithAppName:(NSString *)appName - tenantId:(nullable NSString *)tenantId - customAuthDomain:(nullable NSString *)customAuthDomain { - AuthPigeonFirebaseApp *pigeonResult = [[AuthPigeonFirebaseApp alloc] init]; - pigeonResult.appName = appName; - pigeonResult.tenantId = tenantId; - pigeonResult.customAuthDomain = customAuthDomain; - return pigeonResult; -} -+ (AuthPigeonFirebaseApp *)fromList:(NSArray *)list { - AuthPigeonFirebaseApp *pigeonResult = [[AuthPigeonFirebaseApp alloc] init]; - pigeonResult.appName = GetNullableObjectAtIndex(list, 0); - pigeonResult.tenantId = GetNullableObjectAtIndex(list, 1); - pigeonResult.customAuthDomain = GetNullableObjectAtIndex(list, 2); - return pigeonResult; -} -+ (nullable AuthPigeonFirebaseApp *)nullableFromList:(NSArray *)list { - return (list) ? [AuthPigeonFirebaseApp fromList:list] : nil; -} -- (NSArray *)toList { - return @[ - self.appName ?: [NSNull null], - self.tenantId ?: [NSNull null], - self.customAuthDomain ?: [NSNull null], - ]; -} -- (BOOL)isEqual:(id)object { - if (self == object) { - return YES; - } - if (![object isKindOfClass:[self class]]) { - return NO; - } - AuthPigeonFirebaseApp *other = (AuthPigeonFirebaseApp *)object; - return FLTPigeonDeepEquals(self.appName, other.appName) && - FLTPigeonDeepEquals(self.tenantId, other.tenantId) && - FLTPigeonDeepEquals(self.customAuthDomain, other.customAuthDomain); -} - -- (NSUInteger)hash { - NSUInteger result = [self class].hash; - result = result * 31 + FLTPigeonDeepHash(self.appName); - result = result * 31 + FLTPigeonDeepHash(self.tenantId); - result = result * 31 + FLTPigeonDeepHash(self.customAuthDomain); - return result; -} -@end - -@implementation InternalActionCodeInfoData -+ (instancetype)makeWithEmail:(nullable NSString *)email - previousEmail:(nullable NSString *)previousEmail { - InternalActionCodeInfoData *pigeonResult = [[InternalActionCodeInfoData alloc] init]; - pigeonResult.email = email; - pigeonResult.previousEmail = previousEmail; - return pigeonResult; -} -+ (InternalActionCodeInfoData *)fromList:(NSArray *)list { - InternalActionCodeInfoData *pigeonResult = [[InternalActionCodeInfoData alloc] init]; - pigeonResult.email = GetNullableObjectAtIndex(list, 0); - pigeonResult.previousEmail = GetNullableObjectAtIndex(list, 1); - return pigeonResult; -} -+ (nullable InternalActionCodeInfoData *)nullableFromList:(NSArray *)list { - return (list) ? [InternalActionCodeInfoData fromList:list] : nil; -} -- (NSArray *)toList { - return @[ - self.email ?: [NSNull null], - self.previousEmail ?: [NSNull null], - ]; -} -- (BOOL)isEqual:(id)object { - if (self == object) { - return YES; - } - if (![object isKindOfClass:[self class]]) { - return NO; - } - InternalActionCodeInfoData *other = (InternalActionCodeInfoData *)object; - return FLTPigeonDeepEquals(self.email, other.email) && - FLTPigeonDeepEquals(self.previousEmail, other.previousEmail); -} - -- (NSUInteger)hash { - NSUInteger result = [self class].hash; - result = result * 31 + FLTPigeonDeepHash(self.email); - result = result * 31 + FLTPigeonDeepHash(self.previousEmail); - return result; -} -@end - -@implementation InternalActionCodeInfo -+ (instancetype)makeWithOperation:(ActionCodeInfoOperation)operation - data:(InternalActionCodeInfoData *)data { - InternalActionCodeInfo *pigeonResult = [[InternalActionCodeInfo alloc] init]; - pigeonResult.operation = operation; - pigeonResult.data = data; - return pigeonResult; -} -+ (InternalActionCodeInfo *)fromList:(NSArray *)list { - InternalActionCodeInfo *pigeonResult = [[InternalActionCodeInfo alloc] init]; - ActionCodeInfoOperationBox *boxedActionCodeInfoOperation = GetNullableObjectAtIndex(list, 0); - pigeonResult.operation = boxedActionCodeInfoOperation.value; - pigeonResult.data = GetNullableObjectAtIndex(list, 1); - return pigeonResult; -} -+ (nullable InternalActionCodeInfo *)nullableFromList:(NSArray *)list { - return (list) ? [InternalActionCodeInfo fromList:list] : nil; -} -- (NSArray *)toList { - return @[ - [[ActionCodeInfoOperationBox alloc] initWithValue:self.operation], - self.data ?: [NSNull null], - ]; -} -- (BOOL)isEqual:(id)object { - if (self == object) { - return YES; - } - if (![object isKindOfClass:[self class]]) { - return NO; - } - InternalActionCodeInfo *other = (InternalActionCodeInfo *)object; - return self.operation == other.operation && FLTPigeonDeepEquals(self.data, other.data); -} - -- (NSUInteger)hash { - NSUInteger result = [self class].hash; - result = result * 31 + @(self.operation).hash; - result = result * 31 + FLTPigeonDeepHash(self.data); - return result; -} -@end - -@implementation InternalAdditionalUserInfo -+ (instancetype)makeWithIsNewUser:(BOOL)isNewUser - providerId:(nullable NSString *)providerId - username:(nullable NSString *)username - authorizationCode:(nullable NSString *)authorizationCode - profile:(nullable NSDictionary *)profile { - InternalAdditionalUserInfo *pigeonResult = [[InternalAdditionalUserInfo alloc] init]; - pigeonResult.isNewUser = isNewUser; - pigeonResult.providerId = providerId; - pigeonResult.username = username; - pigeonResult.authorizationCode = authorizationCode; - pigeonResult.profile = profile; - return pigeonResult; -} -+ (InternalAdditionalUserInfo *)fromList:(NSArray *)list { - InternalAdditionalUserInfo *pigeonResult = [[InternalAdditionalUserInfo alloc] init]; - pigeonResult.isNewUser = [GetNullableObjectAtIndex(list, 0) boolValue]; - pigeonResult.providerId = GetNullableObjectAtIndex(list, 1); - pigeonResult.username = GetNullableObjectAtIndex(list, 2); - pigeonResult.authorizationCode = GetNullableObjectAtIndex(list, 3); - pigeonResult.profile = GetNullableObjectAtIndex(list, 4); - return pigeonResult; -} -+ (nullable InternalAdditionalUserInfo *)nullableFromList:(NSArray *)list { - return (list) ? [InternalAdditionalUserInfo fromList:list] : nil; -} -- (NSArray *)toList { - return @[ - @(self.isNewUser), - self.providerId ?: [NSNull null], - self.username ?: [NSNull null], - self.authorizationCode ?: [NSNull null], - self.profile ?: [NSNull null], - ]; -} -- (BOOL)isEqual:(id)object { - if (self == object) { - return YES; - } - if (![object isKindOfClass:[self class]]) { - return NO; - } - InternalAdditionalUserInfo *other = (InternalAdditionalUserInfo *)object; - return self.isNewUser == other.isNewUser && - FLTPigeonDeepEquals(self.providerId, other.providerId) && - FLTPigeonDeepEquals(self.username, other.username) && - FLTPigeonDeepEquals(self.authorizationCode, other.authorizationCode) && - FLTPigeonDeepEquals(self.profile, other.profile); -} - -- (NSUInteger)hash { - NSUInteger result = [self class].hash; - result = result * 31 + @(self.isNewUser).hash; - result = result * 31 + FLTPigeonDeepHash(self.providerId); - result = result * 31 + FLTPigeonDeepHash(self.username); - result = result * 31 + FLTPigeonDeepHash(self.authorizationCode); - result = result * 31 + FLTPigeonDeepHash(self.profile); - return result; -} -@end - -@implementation InternalAuthCredential -+ (instancetype)makeWithProviderId:(NSString *)providerId - signInMethod:(NSString *)signInMethod - nativeId:(NSInteger)nativeId - accessToken:(nullable NSString *)accessToken { - InternalAuthCredential *pigeonResult = [[InternalAuthCredential alloc] init]; - pigeonResult.providerId = providerId; - pigeonResult.signInMethod = signInMethod; - pigeonResult.nativeId = nativeId; - pigeonResult.accessToken = accessToken; - return pigeonResult; -} -+ (InternalAuthCredential *)fromList:(NSArray *)list { - InternalAuthCredential *pigeonResult = [[InternalAuthCredential alloc] init]; - pigeonResult.providerId = GetNullableObjectAtIndex(list, 0); - pigeonResult.signInMethod = GetNullableObjectAtIndex(list, 1); - pigeonResult.nativeId = [GetNullableObjectAtIndex(list, 2) integerValue]; - pigeonResult.accessToken = GetNullableObjectAtIndex(list, 3); - return pigeonResult; -} -+ (nullable InternalAuthCredential *)nullableFromList:(NSArray *)list { - return (list) ? [InternalAuthCredential fromList:list] : nil; -} -- (NSArray *)toList { - return @[ - self.providerId ?: [NSNull null], - self.signInMethod ?: [NSNull null], - @(self.nativeId), - self.accessToken ?: [NSNull null], - ]; -} -- (BOOL)isEqual:(id)object { - if (self == object) { - return YES; - } - if (![object isKindOfClass:[self class]]) { - return NO; - } - InternalAuthCredential *other = (InternalAuthCredential *)object; - return FLTPigeonDeepEquals(self.providerId, other.providerId) && - FLTPigeonDeepEquals(self.signInMethod, other.signInMethod) && - self.nativeId == other.nativeId && - FLTPigeonDeepEquals(self.accessToken, other.accessToken); -} - -- (NSUInteger)hash { - NSUInteger result = [self class].hash; - result = result * 31 + FLTPigeonDeepHash(self.providerId); - result = result * 31 + FLTPigeonDeepHash(self.signInMethod); - result = result * 31 + @(self.nativeId).hash; - result = result * 31 + FLTPigeonDeepHash(self.accessToken); - return result; -} -@end - -@implementation InternalUserInfo -+ (instancetype)makeWithUid:(NSString *)uid - email:(nullable NSString *)email - displayName:(nullable NSString *)displayName - photoUrl:(nullable NSString *)photoUrl - phoneNumber:(nullable NSString *)phoneNumber - isAnonymous:(BOOL)isAnonymous - isEmailVerified:(BOOL)isEmailVerified - providerId:(nullable NSString *)providerId - tenantId:(nullable NSString *)tenantId - refreshToken:(nullable NSString *)refreshToken - creationTimestamp:(nullable NSNumber *)creationTimestamp - lastSignInTimestamp:(nullable NSNumber *)lastSignInTimestamp { - InternalUserInfo *pigeonResult = [[InternalUserInfo alloc] init]; - pigeonResult.uid = uid; - pigeonResult.email = email; - pigeonResult.displayName = displayName; - pigeonResult.photoUrl = photoUrl; - pigeonResult.phoneNumber = phoneNumber; - pigeonResult.isAnonymous = isAnonymous; - pigeonResult.isEmailVerified = isEmailVerified; - pigeonResult.providerId = providerId; - pigeonResult.tenantId = tenantId; - pigeonResult.refreshToken = refreshToken; - pigeonResult.creationTimestamp = creationTimestamp; - pigeonResult.lastSignInTimestamp = lastSignInTimestamp; - return pigeonResult; -} -+ (InternalUserInfo *)fromList:(NSArray *)list { - InternalUserInfo *pigeonResult = [[InternalUserInfo alloc] init]; - pigeonResult.uid = GetNullableObjectAtIndex(list, 0); - pigeonResult.email = GetNullableObjectAtIndex(list, 1); - pigeonResult.displayName = GetNullableObjectAtIndex(list, 2); - pigeonResult.photoUrl = GetNullableObjectAtIndex(list, 3); - pigeonResult.phoneNumber = GetNullableObjectAtIndex(list, 4); - pigeonResult.isAnonymous = [GetNullableObjectAtIndex(list, 5) boolValue]; - pigeonResult.isEmailVerified = [GetNullableObjectAtIndex(list, 6) boolValue]; - pigeonResult.providerId = GetNullableObjectAtIndex(list, 7); - pigeonResult.tenantId = GetNullableObjectAtIndex(list, 8); - pigeonResult.refreshToken = GetNullableObjectAtIndex(list, 9); - pigeonResult.creationTimestamp = GetNullableObjectAtIndex(list, 10); - pigeonResult.lastSignInTimestamp = GetNullableObjectAtIndex(list, 11); - return pigeonResult; -} -+ (nullable InternalUserInfo *)nullableFromList:(NSArray *)list { - return (list) ? [InternalUserInfo fromList:list] : nil; -} -- (NSArray *)toList { - return @[ - self.uid ?: [NSNull null], - self.email ?: [NSNull null], - self.displayName ?: [NSNull null], - self.photoUrl ?: [NSNull null], - self.phoneNumber ?: [NSNull null], - @(self.isAnonymous), - @(self.isEmailVerified), - self.providerId ?: [NSNull null], - self.tenantId ?: [NSNull null], - self.refreshToken ?: [NSNull null], - self.creationTimestamp ?: [NSNull null], - self.lastSignInTimestamp ?: [NSNull null], - ]; -} -- (BOOL)isEqual:(id)object { - if (self == object) { - return YES; - } - if (![object isKindOfClass:[self class]]) { - return NO; - } - InternalUserInfo *other = (InternalUserInfo *)object; - return FLTPigeonDeepEquals(self.uid, other.uid) && FLTPigeonDeepEquals(self.email, other.email) && - FLTPigeonDeepEquals(self.displayName, other.displayName) && - FLTPigeonDeepEquals(self.photoUrl, other.photoUrl) && - FLTPigeonDeepEquals(self.phoneNumber, other.phoneNumber) && - self.isAnonymous == other.isAnonymous && self.isEmailVerified == other.isEmailVerified && - FLTPigeonDeepEquals(self.providerId, other.providerId) && - FLTPigeonDeepEquals(self.tenantId, other.tenantId) && - FLTPigeonDeepEquals(self.refreshToken, other.refreshToken) && - FLTPigeonDeepEquals(self.creationTimestamp, other.creationTimestamp) && - FLTPigeonDeepEquals(self.lastSignInTimestamp, other.lastSignInTimestamp); -} - -- (NSUInteger)hash { - NSUInteger result = [self class].hash; - result = result * 31 + FLTPigeonDeepHash(self.uid); - result = result * 31 + FLTPigeonDeepHash(self.email); - result = result * 31 + FLTPigeonDeepHash(self.displayName); - result = result * 31 + FLTPigeonDeepHash(self.photoUrl); - result = result * 31 + FLTPigeonDeepHash(self.phoneNumber); - result = result * 31 + @(self.isAnonymous).hash; - result = result * 31 + @(self.isEmailVerified).hash; - result = result * 31 + FLTPigeonDeepHash(self.providerId); - result = result * 31 + FLTPigeonDeepHash(self.tenantId); - result = result * 31 + FLTPigeonDeepHash(self.refreshToken); - result = result * 31 + FLTPigeonDeepHash(self.creationTimestamp); - result = result * 31 + FLTPigeonDeepHash(self.lastSignInTimestamp); - return result; -} -@end - -@implementation InternalUserDetails -+ (instancetype)makeWithUserInfo:(InternalUserInfo *)userInfo - providerData:(NSArray *> *)providerData { - InternalUserDetails *pigeonResult = [[InternalUserDetails alloc] init]; - pigeonResult.userInfo = userInfo; - pigeonResult.providerData = providerData; - return pigeonResult; -} -+ (InternalUserDetails *)fromList:(NSArray *)list { - InternalUserDetails *pigeonResult = [[InternalUserDetails alloc] init]; - pigeonResult.userInfo = GetNullableObjectAtIndex(list, 0); - pigeonResult.providerData = GetNullableObjectAtIndex(list, 1); - return pigeonResult; -} -+ (nullable InternalUserDetails *)nullableFromList:(NSArray *)list { - return (list) ? [InternalUserDetails fromList:list] : nil; -} -- (NSArray *)toList { - return @[ - self.userInfo ?: [NSNull null], - self.providerData ?: [NSNull null], - ]; -} -- (BOOL)isEqual:(id)object { - if (self == object) { - return YES; - } - if (![object isKindOfClass:[self class]]) { - return NO; - } - InternalUserDetails *other = (InternalUserDetails *)object; - return FLTPigeonDeepEquals(self.userInfo, other.userInfo) && - FLTPigeonDeepEquals(self.providerData, other.providerData); -} - -- (NSUInteger)hash { - NSUInteger result = [self class].hash; - result = result * 31 + FLTPigeonDeepHash(self.userInfo); - result = result * 31 + FLTPigeonDeepHash(self.providerData); - return result; -} -@end - -@implementation InternalUserCredential -+ (instancetype)makeWithUser:(nullable InternalUserDetails *)user - additionalUserInfo:(nullable InternalAdditionalUserInfo *)additionalUserInfo - credential:(nullable InternalAuthCredential *)credential { - InternalUserCredential *pigeonResult = [[InternalUserCredential alloc] init]; - pigeonResult.user = user; - pigeonResult.additionalUserInfo = additionalUserInfo; - pigeonResult.credential = credential; - return pigeonResult; -} -+ (InternalUserCredential *)fromList:(NSArray *)list { - InternalUserCredential *pigeonResult = [[InternalUserCredential alloc] init]; - pigeonResult.user = GetNullableObjectAtIndex(list, 0); - pigeonResult.additionalUserInfo = GetNullableObjectAtIndex(list, 1); - pigeonResult.credential = GetNullableObjectAtIndex(list, 2); - return pigeonResult; -} -+ (nullable InternalUserCredential *)nullableFromList:(NSArray *)list { - return (list) ? [InternalUserCredential fromList:list] : nil; -} -- (NSArray *)toList { - return @[ - self.user ?: [NSNull null], - self.additionalUserInfo ?: [NSNull null], - self.credential ?: [NSNull null], - ]; -} -- (BOOL)isEqual:(id)object { - if (self == object) { - return YES; - } - if (![object isKindOfClass:[self class]]) { - return NO; - } - InternalUserCredential *other = (InternalUserCredential *)object; - return FLTPigeonDeepEquals(self.user, other.user) && - FLTPigeonDeepEquals(self.additionalUserInfo, other.additionalUserInfo) && - FLTPigeonDeepEquals(self.credential, other.credential); -} - -- (NSUInteger)hash { - NSUInteger result = [self class].hash; - result = result * 31 + FLTPigeonDeepHash(self.user); - result = result * 31 + FLTPigeonDeepHash(self.additionalUserInfo); - result = result * 31 + FLTPigeonDeepHash(self.credential); - return result; -} -@end - -@implementation InternalAuthCredentialInput -+ (instancetype)makeWithProviderId:(NSString *)providerId - signInMethod:(NSString *)signInMethod - token:(nullable NSString *)token - accessToken:(nullable NSString *)accessToken { - InternalAuthCredentialInput *pigeonResult = [[InternalAuthCredentialInput alloc] init]; - pigeonResult.providerId = providerId; - pigeonResult.signInMethod = signInMethod; - pigeonResult.token = token; - pigeonResult.accessToken = accessToken; - return pigeonResult; -} -+ (InternalAuthCredentialInput *)fromList:(NSArray *)list { - InternalAuthCredentialInput *pigeonResult = [[InternalAuthCredentialInput alloc] init]; - pigeonResult.providerId = GetNullableObjectAtIndex(list, 0); - pigeonResult.signInMethod = GetNullableObjectAtIndex(list, 1); - pigeonResult.token = GetNullableObjectAtIndex(list, 2); - pigeonResult.accessToken = GetNullableObjectAtIndex(list, 3); - return pigeonResult; -} -+ (nullable InternalAuthCredentialInput *)nullableFromList:(NSArray *)list { - return (list) ? [InternalAuthCredentialInput fromList:list] : nil; -} -- (NSArray *)toList { - return @[ - self.providerId ?: [NSNull null], - self.signInMethod ?: [NSNull null], - self.token ?: [NSNull null], - self.accessToken ?: [NSNull null], - ]; -} -- (BOOL)isEqual:(id)object { - if (self == object) { - return YES; - } - if (![object isKindOfClass:[self class]]) { - return NO; - } - InternalAuthCredentialInput *other = (InternalAuthCredentialInput *)object; - return FLTPigeonDeepEquals(self.providerId, other.providerId) && - FLTPigeonDeepEquals(self.signInMethod, other.signInMethod) && - FLTPigeonDeepEquals(self.token, other.token) && - FLTPigeonDeepEquals(self.accessToken, other.accessToken); -} - -- (NSUInteger)hash { - NSUInteger result = [self class].hash; - result = result * 31 + FLTPigeonDeepHash(self.providerId); - result = result * 31 + FLTPigeonDeepHash(self.signInMethod); - result = result * 31 + FLTPigeonDeepHash(self.token); - result = result * 31 + FLTPigeonDeepHash(self.accessToken); - return result; -} -@end - -@implementation InternalActionCodeSettings -+ (instancetype)makeWithUrl:(NSString *)url - dynamicLinkDomain:(nullable NSString *)dynamicLinkDomain - handleCodeInApp:(BOOL)handleCodeInApp - iOSBundleId:(nullable NSString *)iOSBundleId - androidPackageName:(nullable NSString *)androidPackageName - androidInstallApp:(BOOL)androidInstallApp - androidMinimumVersion:(nullable NSString *)androidMinimumVersion - linkDomain:(nullable NSString *)linkDomain { - InternalActionCodeSettings *pigeonResult = [[InternalActionCodeSettings alloc] init]; - pigeonResult.url = url; - pigeonResult.dynamicLinkDomain = dynamicLinkDomain; - pigeonResult.handleCodeInApp = handleCodeInApp; - pigeonResult.iOSBundleId = iOSBundleId; - pigeonResult.androidPackageName = androidPackageName; - pigeonResult.androidInstallApp = androidInstallApp; - pigeonResult.androidMinimumVersion = androidMinimumVersion; - pigeonResult.linkDomain = linkDomain; - return pigeonResult; -} -+ (InternalActionCodeSettings *)fromList:(NSArray *)list { - InternalActionCodeSettings *pigeonResult = [[InternalActionCodeSettings alloc] init]; - pigeonResult.url = GetNullableObjectAtIndex(list, 0); - pigeonResult.dynamicLinkDomain = GetNullableObjectAtIndex(list, 1); - pigeonResult.handleCodeInApp = [GetNullableObjectAtIndex(list, 2) boolValue]; - pigeonResult.iOSBundleId = GetNullableObjectAtIndex(list, 3); - pigeonResult.androidPackageName = GetNullableObjectAtIndex(list, 4); - pigeonResult.androidInstallApp = [GetNullableObjectAtIndex(list, 5) boolValue]; - pigeonResult.androidMinimumVersion = GetNullableObjectAtIndex(list, 6); - pigeonResult.linkDomain = GetNullableObjectAtIndex(list, 7); - return pigeonResult; -} -+ (nullable InternalActionCodeSettings *)nullableFromList:(NSArray *)list { - return (list) ? [InternalActionCodeSettings fromList:list] : nil; -} -- (NSArray *)toList { - return @[ - self.url ?: [NSNull null], - self.dynamicLinkDomain ?: [NSNull null], - @(self.handleCodeInApp), - self.iOSBundleId ?: [NSNull null], - self.androidPackageName ?: [NSNull null], - @(self.androidInstallApp), - self.androidMinimumVersion ?: [NSNull null], - self.linkDomain ?: [NSNull null], - ]; -} -- (BOOL)isEqual:(id)object { - if (self == object) { - return YES; - } - if (![object isKindOfClass:[self class]]) { - return NO; - } - InternalActionCodeSettings *other = (InternalActionCodeSettings *)object; - return FLTPigeonDeepEquals(self.url, other.url) && - FLTPigeonDeepEquals(self.dynamicLinkDomain, other.dynamicLinkDomain) && - self.handleCodeInApp == other.handleCodeInApp && - FLTPigeonDeepEquals(self.iOSBundleId, other.iOSBundleId) && - FLTPigeonDeepEquals(self.androidPackageName, other.androidPackageName) && - self.androidInstallApp == other.androidInstallApp && - FLTPigeonDeepEquals(self.androidMinimumVersion, other.androidMinimumVersion) && - FLTPigeonDeepEquals(self.linkDomain, other.linkDomain); -} - -- (NSUInteger)hash { - NSUInteger result = [self class].hash; - result = result * 31 + FLTPigeonDeepHash(self.url); - result = result * 31 + FLTPigeonDeepHash(self.dynamicLinkDomain); - result = result * 31 + @(self.handleCodeInApp).hash; - result = result * 31 + FLTPigeonDeepHash(self.iOSBundleId); - result = result * 31 + FLTPigeonDeepHash(self.androidPackageName); - result = result * 31 + @(self.androidInstallApp).hash; - result = result * 31 + FLTPigeonDeepHash(self.androidMinimumVersion); - result = result * 31 + FLTPigeonDeepHash(self.linkDomain); - return result; -} -@end - -@implementation InternalFirebaseAuthSettings -+ (instancetype)makeWithAppVerificationDisabledForTesting:(BOOL)appVerificationDisabledForTesting - userAccessGroup:(nullable NSString *)userAccessGroup - phoneNumber:(nullable NSString *)phoneNumber - smsCode:(nullable NSString *)smsCode - forceRecaptchaFlow:(nullable NSNumber *)forceRecaptchaFlow { - InternalFirebaseAuthSettings *pigeonResult = [[InternalFirebaseAuthSettings alloc] init]; - pigeonResult.appVerificationDisabledForTesting = appVerificationDisabledForTesting; - pigeonResult.userAccessGroup = userAccessGroup; - pigeonResult.phoneNumber = phoneNumber; - pigeonResult.smsCode = smsCode; - pigeonResult.forceRecaptchaFlow = forceRecaptchaFlow; - return pigeonResult; -} -+ (InternalFirebaseAuthSettings *)fromList:(NSArray *)list { - InternalFirebaseAuthSettings *pigeonResult = [[InternalFirebaseAuthSettings alloc] init]; - pigeonResult.appVerificationDisabledForTesting = [GetNullableObjectAtIndex(list, 0) boolValue]; - pigeonResult.userAccessGroup = GetNullableObjectAtIndex(list, 1); - pigeonResult.phoneNumber = GetNullableObjectAtIndex(list, 2); - pigeonResult.smsCode = GetNullableObjectAtIndex(list, 3); - pigeonResult.forceRecaptchaFlow = GetNullableObjectAtIndex(list, 4); - return pigeonResult; -} -+ (nullable InternalFirebaseAuthSettings *)nullableFromList:(NSArray *)list { - return (list) ? [InternalFirebaseAuthSettings fromList:list] : nil; -} -- (NSArray *)toList { - return @[ - @(self.appVerificationDisabledForTesting), - self.userAccessGroup ?: [NSNull null], - self.phoneNumber ?: [NSNull null], - self.smsCode ?: [NSNull null], - self.forceRecaptchaFlow ?: [NSNull null], - ]; -} -- (BOOL)isEqual:(id)object { - if (self == object) { - return YES; - } - if (![object isKindOfClass:[self class]]) { - return NO; - } - InternalFirebaseAuthSettings *other = (InternalFirebaseAuthSettings *)object; - return self.appVerificationDisabledForTesting == other.appVerificationDisabledForTesting && - FLTPigeonDeepEquals(self.userAccessGroup, other.userAccessGroup) && - FLTPigeonDeepEquals(self.phoneNumber, other.phoneNumber) && - FLTPigeonDeepEquals(self.smsCode, other.smsCode) && - FLTPigeonDeepEquals(self.forceRecaptchaFlow, other.forceRecaptchaFlow); -} - -- (NSUInteger)hash { - NSUInteger result = [self class].hash; - result = result * 31 + @(self.appVerificationDisabledForTesting).hash; - result = result * 31 + FLTPigeonDeepHash(self.userAccessGroup); - result = result * 31 + FLTPigeonDeepHash(self.phoneNumber); - result = result * 31 + FLTPigeonDeepHash(self.smsCode); - result = result * 31 + FLTPigeonDeepHash(self.forceRecaptchaFlow); - return result; -} -@end - -@implementation InternalSignInProvider -+ (instancetype)makeWithProviderId:(NSString *)providerId - scopes:(nullable NSArray *)scopes - customParameters: - (nullable NSDictionary *)customParameters { - InternalSignInProvider *pigeonResult = [[InternalSignInProvider alloc] init]; - pigeonResult.providerId = providerId; - pigeonResult.scopes = scopes; - pigeonResult.customParameters = customParameters; - return pigeonResult; -} -+ (InternalSignInProvider *)fromList:(NSArray *)list { - InternalSignInProvider *pigeonResult = [[InternalSignInProvider alloc] init]; - pigeonResult.providerId = GetNullableObjectAtIndex(list, 0); - pigeonResult.scopes = GetNullableObjectAtIndex(list, 1); - pigeonResult.customParameters = GetNullableObjectAtIndex(list, 2); - return pigeonResult; -} -+ (nullable InternalSignInProvider *)nullableFromList:(NSArray *)list { - return (list) ? [InternalSignInProvider fromList:list] : nil; -} -- (NSArray *)toList { - return @[ - self.providerId ?: [NSNull null], - self.scopes ?: [NSNull null], - self.customParameters ?: [NSNull null], - ]; -} -- (BOOL)isEqual:(id)object { - if (self == object) { - return YES; - } - if (![object isKindOfClass:[self class]]) { - return NO; - } - InternalSignInProvider *other = (InternalSignInProvider *)object; - return FLTPigeonDeepEquals(self.providerId, other.providerId) && - FLTPigeonDeepEquals(self.scopes, other.scopes) && - FLTPigeonDeepEquals(self.customParameters, other.customParameters); -} - -- (NSUInteger)hash { - NSUInteger result = [self class].hash; - result = result * 31 + FLTPigeonDeepHash(self.providerId); - result = result * 31 + FLTPigeonDeepHash(self.scopes); - result = result * 31 + FLTPigeonDeepHash(self.customParameters); - return result; -} -@end - -@implementation InternalVerifyPhoneNumberRequest -+ (instancetype)makeWithPhoneNumber:(nullable NSString *)phoneNumber - timeout:(NSInteger)timeout - forceResendingToken:(nullable NSNumber *)forceResendingToken - autoRetrievedSmsCodeForTesting:(nullable NSString *)autoRetrievedSmsCodeForTesting - multiFactorInfoId:(nullable NSString *)multiFactorInfoId - multiFactorSessionId:(nullable NSString *)multiFactorSessionId { - InternalVerifyPhoneNumberRequest *pigeonResult = [[InternalVerifyPhoneNumberRequest alloc] init]; - pigeonResult.phoneNumber = phoneNumber; - pigeonResult.timeout = timeout; - pigeonResult.forceResendingToken = forceResendingToken; - pigeonResult.autoRetrievedSmsCodeForTesting = autoRetrievedSmsCodeForTesting; - pigeonResult.multiFactorInfoId = multiFactorInfoId; - pigeonResult.multiFactorSessionId = multiFactorSessionId; - return pigeonResult; -} -+ (InternalVerifyPhoneNumberRequest *)fromList:(NSArray *)list { - InternalVerifyPhoneNumberRequest *pigeonResult = [[InternalVerifyPhoneNumberRequest alloc] init]; - pigeonResult.phoneNumber = GetNullableObjectAtIndex(list, 0); - pigeonResult.timeout = [GetNullableObjectAtIndex(list, 1) integerValue]; - pigeonResult.forceResendingToken = GetNullableObjectAtIndex(list, 2); - pigeonResult.autoRetrievedSmsCodeForTesting = GetNullableObjectAtIndex(list, 3); - pigeonResult.multiFactorInfoId = GetNullableObjectAtIndex(list, 4); - pigeonResult.multiFactorSessionId = GetNullableObjectAtIndex(list, 5); - return pigeonResult; -} -+ (nullable InternalVerifyPhoneNumberRequest *)nullableFromList:(NSArray *)list { - return (list) ? [InternalVerifyPhoneNumberRequest fromList:list] : nil; -} -- (NSArray *)toList { - return @[ - self.phoneNumber ?: [NSNull null], - @(self.timeout), - self.forceResendingToken ?: [NSNull null], - self.autoRetrievedSmsCodeForTesting ?: [NSNull null], - self.multiFactorInfoId ?: [NSNull null], - self.multiFactorSessionId ?: [NSNull null], - ]; -} -- (BOOL)isEqual:(id)object { - if (self == object) { - return YES; - } - if (![object isKindOfClass:[self class]]) { - return NO; - } - InternalVerifyPhoneNumberRequest *other = (InternalVerifyPhoneNumberRequest *)object; - return FLTPigeonDeepEquals(self.phoneNumber, other.phoneNumber) && - self.timeout == other.timeout && - FLTPigeonDeepEquals(self.forceResendingToken, other.forceResendingToken) && - FLTPigeonDeepEquals(self.autoRetrievedSmsCodeForTesting, - other.autoRetrievedSmsCodeForTesting) && - FLTPigeonDeepEquals(self.multiFactorInfoId, other.multiFactorInfoId) && - FLTPigeonDeepEquals(self.multiFactorSessionId, other.multiFactorSessionId); -} - -- (NSUInteger)hash { - NSUInteger result = [self class].hash; - result = result * 31 + FLTPigeonDeepHash(self.phoneNumber); - result = result * 31 + @(self.timeout).hash; - result = result * 31 + FLTPigeonDeepHash(self.forceResendingToken); - result = result * 31 + FLTPigeonDeepHash(self.autoRetrievedSmsCodeForTesting); - result = result * 31 + FLTPigeonDeepHash(self.multiFactorInfoId); - result = result * 31 + FLTPigeonDeepHash(self.multiFactorSessionId); - return result; -} -@end - -@implementation InternalIdTokenResult -+ (instancetype)makeWithToken:(nullable NSString *)token - expirationTimestamp:(nullable NSNumber *)expirationTimestamp - authTimestamp:(nullable NSNumber *)authTimestamp - issuedAtTimestamp:(nullable NSNumber *)issuedAtTimestamp - signInProvider:(nullable NSString *)signInProvider - claims:(nullable NSDictionary *)claims - signInSecondFactor:(nullable NSString *)signInSecondFactor { - InternalIdTokenResult *pigeonResult = [[InternalIdTokenResult alloc] init]; - pigeonResult.token = token; - pigeonResult.expirationTimestamp = expirationTimestamp; - pigeonResult.authTimestamp = authTimestamp; - pigeonResult.issuedAtTimestamp = issuedAtTimestamp; - pigeonResult.signInProvider = signInProvider; - pigeonResult.claims = claims; - pigeonResult.signInSecondFactor = signInSecondFactor; - return pigeonResult; -} -+ (InternalIdTokenResult *)fromList:(NSArray *)list { - InternalIdTokenResult *pigeonResult = [[InternalIdTokenResult alloc] init]; - pigeonResult.token = GetNullableObjectAtIndex(list, 0); - pigeonResult.expirationTimestamp = GetNullableObjectAtIndex(list, 1); - pigeonResult.authTimestamp = GetNullableObjectAtIndex(list, 2); - pigeonResult.issuedAtTimestamp = GetNullableObjectAtIndex(list, 3); - pigeonResult.signInProvider = GetNullableObjectAtIndex(list, 4); - pigeonResult.claims = GetNullableObjectAtIndex(list, 5); - pigeonResult.signInSecondFactor = GetNullableObjectAtIndex(list, 6); - return pigeonResult; -} -+ (nullable InternalIdTokenResult *)nullableFromList:(NSArray *)list { - return (list) ? [InternalIdTokenResult fromList:list] : nil; -} -- (NSArray *)toList { - return @[ - self.token ?: [NSNull null], - self.expirationTimestamp ?: [NSNull null], - self.authTimestamp ?: [NSNull null], - self.issuedAtTimestamp ?: [NSNull null], - self.signInProvider ?: [NSNull null], - self.claims ?: [NSNull null], - self.signInSecondFactor ?: [NSNull null], - ]; -} -- (BOOL)isEqual:(id)object { - if (self == object) { - return YES; - } - if (![object isKindOfClass:[self class]]) { - return NO; - } - InternalIdTokenResult *other = (InternalIdTokenResult *)object; - return FLTPigeonDeepEquals(self.token, other.token) && - FLTPigeonDeepEquals(self.expirationTimestamp, other.expirationTimestamp) && - FLTPigeonDeepEquals(self.authTimestamp, other.authTimestamp) && - FLTPigeonDeepEquals(self.issuedAtTimestamp, other.issuedAtTimestamp) && - FLTPigeonDeepEquals(self.signInProvider, other.signInProvider) && - FLTPigeonDeepEquals(self.claims, other.claims) && - FLTPigeonDeepEquals(self.signInSecondFactor, other.signInSecondFactor); -} - -- (NSUInteger)hash { - NSUInteger result = [self class].hash; - result = result * 31 + FLTPigeonDeepHash(self.token); - result = result * 31 + FLTPigeonDeepHash(self.expirationTimestamp); - result = result * 31 + FLTPigeonDeepHash(self.authTimestamp); - result = result * 31 + FLTPigeonDeepHash(self.issuedAtTimestamp); - result = result * 31 + FLTPigeonDeepHash(self.signInProvider); - result = result * 31 + FLTPigeonDeepHash(self.claims); - result = result * 31 + FLTPigeonDeepHash(self.signInSecondFactor); - return result; -} -@end - -@implementation InternalUserProfile -+ (instancetype)makeWithDisplayName:(nullable NSString *)displayName - photoUrl:(nullable NSString *)photoUrl - displayNameChanged:(BOOL)displayNameChanged - photoUrlChanged:(BOOL)photoUrlChanged { - InternalUserProfile *pigeonResult = [[InternalUserProfile alloc] init]; - pigeonResult.displayName = displayName; - pigeonResult.photoUrl = photoUrl; - pigeonResult.displayNameChanged = displayNameChanged; - pigeonResult.photoUrlChanged = photoUrlChanged; - return pigeonResult; -} -+ (InternalUserProfile *)fromList:(NSArray *)list { - InternalUserProfile *pigeonResult = [[InternalUserProfile alloc] init]; - pigeonResult.displayName = GetNullableObjectAtIndex(list, 0); - pigeonResult.photoUrl = GetNullableObjectAtIndex(list, 1); - pigeonResult.displayNameChanged = [GetNullableObjectAtIndex(list, 2) boolValue]; - pigeonResult.photoUrlChanged = [GetNullableObjectAtIndex(list, 3) boolValue]; - return pigeonResult; -} -+ (nullable InternalUserProfile *)nullableFromList:(NSArray *)list { - return (list) ? [InternalUserProfile fromList:list] : nil; -} -- (NSArray *)toList { - return @[ - self.displayName ?: [NSNull null], - self.photoUrl ?: [NSNull null], - @(self.displayNameChanged), - @(self.photoUrlChanged), - ]; -} -- (BOOL)isEqual:(id)object { - if (self == object) { - return YES; - } - if (![object isKindOfClass:[self class]]) { - return NO; - } - InternalUserProfile *other = (InternalUserProfile *)object; - return FLTPigeonDeepEquals(self.displayName, other.displayName) && - FLTPigeonDeepEquals(self.photoUrl, other.photoUrl) && - self.displayNameChanged == other.displayNameChanged && - self.photoUrlChanged == other.photoUrlChanged; -} - -- (NSUInteger)hash { - NSUInteger result = [self class].hash; - result = result * 31 + FLTPigeonDeepHash(self.displayName); - result = result * 31 + FLTPigeonDeepHash(self.photoUrl); - result = result * 31 + @(self.displayNameChanged).hash; - result = result * 31 + @(self.photoUrlChanged).hash; - return result; -} -@end - -@implementation InternalTotpSecret -+ (instancetype)makeWithCodeIntervalSeconds:(nullable NSNumber *)codeIntervalSeconds - codeLength:(nullable NSNumber *)codeLength - enrollmentCompletionDeadline:(nullable NSNumber *)enrollmentCompletionDeadline - hashingAlgorithm:(nullable NSString *)hashingAlgorithm - secretKey:(NSString *)secretKey { - InternalTotpSecret *pigeonResult = [[InternalTotpSecret alloc] init]; - pigeonResult.codeIntervalSeconds = codeIntervalSeconds; - pigeonResult.codeLength = codeLength; - pigeonResult.enrollmentCompletionDeadline = enrollmentCompletionDeadline; - pigeonResult.hashingAlgorithm = hashingAlgorithm; - pigeonResult.secretKey = secretKey; - return pigeonResult; -} -+ (InternalTotpSecret *)fromList:(NSArray *)list { - InternalTotpSecret *pigeonResult = [[InternalTotpSecret alloc] init]; - pigeonResult.codeIntervalSeconds = GetNullableObjectAtIndex(list, 0); - pigeonResult.codeLength = GetNullableObjectAtIndex(list, 1); - pigeonResult.enrollmentCompletionDeadline = GetNullableObjectAtIndex(list, 2); - pigeonResult.hashingAlgorithm = GetNullableObjectAtIndex(list, 3); - pigeonResult.secretKey = GetNullableObjectAtIndex(list, 4); - return pigeonResult; -} -+ (nullable InternalTotpSecret *)nullableFromList:(NSArray *)list { - return (list) ? [InternalTotpSecret fromList:list] : nil; -} -- (NSArray *)toList { - return @[ - self.codeIntervalSeconds ?: [NSNull null], - self.codeLength ?: [NSNull null], - self.enrollmentCompletionDeadline ?: [NSNull null], - self.hashingAlgorithm ?: [NSNull null], - self.secretKey ?: [NSNull null], - ]; -} -- (BOOL)isEqual:(id)object { - if (self == object) { - return YES; - } - if (![object isKindOfClass:[self class]]) { - return NO; - } - InternalTotpSecret *other = (InternalTotpSecret *)object; - return FLTPigeonDeepEquals(self.codeIntervalSeconds, other.codeIntervalSeconds) && - FLTPigeonDeepEquals(self.codeLength, other.codeLength) && - FLTPigeonDeepEquals(self.enrollmentCompletionDeadline, - other.enrollmentCompletionDeadline) && - FLTPigeonDeepEquals(self.hashingAlgorithm, other.hashingAlgorithm) && - FLTPigeonDeepEquals(self.secretKey, other.secretKey); -} - -- (NSUInteger)hash { - NSUInteger result = [self class].hash; - result = result * 31 + FLTPigeonDeepHash(self.codeIntervalSeconds); - result = result * 31 + FLTPigeonDeepHash(self.codeLength); - result = result * 31 + FLTPigeonDeepHash(self.enrollmentCompletionDeadline); - result = result * 31 + FLTPigeonDeepHash(self.hashingAlgorithm); - result = result * 31 + FLTPigeonDeepHash(self.secretKey); - return result; -} -@end - -@interface nullFirebaseAuthMessagesPigeonCodecReader : FlutterStandardReader -@end -@implementation nullFirebaseAuthMessagesPigeonCodecReader -- (nullable id)readValueOfType:(UInt8)type { - switch (type) { - case 129: { - NSNumber *enumAsNumber = [self readValue]; - return enumAsNumber == nil - ? nil - : [[ActionCodeInfoOperationBox alloc] initWithValue:[enumAsNumber integerValue]]; - } - case 130: - return [InternalMultiFactorSession fromList:[self readValue]]; - case 131: - return [InternalPhoneMultiFactorAssertion fromList:[self readValue]]; - case 132: - return [InternalMultiFactorInfo fromList:[self readValue]]; - case 133: - return [AuthPigeonFirebaseApp fromList:[self readValue]]; - case 134: - return [InternalActionCodeInfoData fromList:[self readValue]]; - case 135: - return [InternalActionCodeInfo fromList:[self readValue]]; - case 136: - return [InternalAdditionalUserInfo fromList:[self readValue]]; - case 137: - return [InternalAuthCredential fromList:[self readValue]]; - case 138: - return [InternalUserInfo fromList:[self readValue]]; - case 139: - return [InternalUserDetails fromList:[self readValue]]; - case 140: - return [InternalUserCredential fromList:[self readValue]]; - case 141: - return [InternalAuthCredentialInput fromList:[self readValue]]; - case 142: - return [InternalActionCodeSettings fromList:[self readValue]]; - case 143: - return [InternalFirebaseAuthSettings fromList:[self readValue]]; - case 144: - return [InternalSignInProvider fromList:[self readValue]]; - case 145: - return [InternalVerifyPhoneNumberRequest fromList:[self readValue]]; - case 146: - return [InternalIdTokenResult fromList:[self readValue]]; - case 147: - return [InternalUserProfile fromList:[self readValue]]; - case 148: - return [InternalTotpSecret fromList:[self readValue]]; - default: - return [super readValueOfType:type]; - } -} -@end - -@interface nullFirebaseAuthMessagesPigeonCodecWriter : FlutterStandardWriter -@end -@implementation nullFirebaseAuthMessagesPigeonCodecWriter -- (void)writeValue:(id)value { - if ([value isKindOfClass:[ActionCodeInfoOperationBox class]]) { - ActionCodeInfoOperationBox *box = (ActionCodeInfoOperationBox *)value; - [self writeByte:129]; - [self writeValue:(value == nil ? [NSNull null] : [NSNumber numberWithInteger:box.value])]; - } else if ([value isKindOfClass:[InternalMultiFactorSession class]]) { - [self writeByte:130]; - [self writeValue:[value toList]]; - } else if ([value isKindOfClass:[InternalPhoneMultiFactorAssertion class]]) { - [self writeByte:131]; - [self writeValue:[value toList]]; - } else if ([value isKindOfClass:[InternalMultiFactorInfo class]]) { - [self writeByte:132]; - [self writeValue:[value toList]]; - } else if ([value isKindOfClass:[AuthPigeonFirebaseApp class]]) { - [self writeByte:133]; - [self writeValue:[value toList]]; - } else if ([value isKindOfClass:[InternalActionCodeInfoData class]]) { - [self writeByte:134]; - [self writeValue:[value toList]]; - } else if ([value isKindOfClass:[InternalActionCodeInfo class]]) { - [self writeByte:135]; - [self writeValue:[value toList]]; - } else if ([value isKindOfClass:[InternalAdditionalUserInfo class]]) { - [self writeByte:136]; - [self writeValue:[value toList]]; - } else if ([value isKindOfClass:[InternalAuthCredential class]]) { - [self writeByte:137]; - [self writeValue:[value toList]]; - } else if ([value isKindOfClass:[InternalUserInfo class]]) { - [self writeByte:138]; - [self writeValue:[value toList]]; - } else if ([value isKindOfClass:[InternalUserDetails class]]) { - [self writeByte:139]; - [self writeValue:[value toList]]; - } else if ([value isKindOfClass:[InternalUserCredential class]]) { - [self writeByte:140]; - [self writeValue:[value toList]]; - } else if ([value isKindOfClass:[InternalAuthCredentialInput class]]) { - [self writeByte:141]; - [self writeValue:[value toList]]; - } else if ([value isKindOfClass:[InternalActionCodeSettings class]]) { - [self writeByte:142]; - [self writeValue:[value toList]]; - } else if ([value isKindOfClass:[InternalFirebaseAuthSettings class]]) { - [self writeByte:143]; - [self writeValue:[value toList]]; - } else if ([value isKindOfClass:[InternalSignInProvider class]]) { - [self writeByte:144]; - [self writeValue:[value toList]]; - } else if ([value isKindOfClass:[InternalVerifyPhoneNumberRequest class]]) { - [self writeByte:145]; - [self writeValue:[value toList]]; - } else if ([value isKindOfClass:[InternalIdTokenResult class]]) { - [self writeByte:146]; - [self writeValue:[value toList]]; - } else if ([value isKindOfClass:[InternalUserProfile class]]) { - [self writeByte:147]; - [self writeValue:[value toList]]; - } else if ([value isKindOfClass:[InternalTotpSecret class]]) { - [self writeByte:148]; - [self writeValue:[value toList]]; - } else { - [super writeValue:value]; - } -} -@end - -@interface nullFirebaseAuthMessagesPigeonCodecReaderWriter : FlutterStandardReaderWriter -@end -@implementation nullFirebaseAuthMessagesPigeonCodecReaderWriter -- (FlutterStandardWriter *)writerWithData:(NSMutableData *)data { - return [[nullFirebaseAuthMessagesPigeonCodecWriter alloc] initWithData:data]; -} -- (FlutterStandardReader *)readerWithData:(NSData *)data { - return [[nullFirebaseAuthMessagesPigeonCodecReader alloc] initWithData:data]; -} -@end - -NSObject *nullGetFirebaseAuthMessagesCodec(void) { - static FlutterStandardMessageCodec *sSharedObject = nil; - static dispatch_once_t sPred = 0; - dispatch_once(&sPred, ^{ - nullFirebaseAuthMessagesPigeonCodecReaderWriter *readerWriter = - [[nullFirebaseAuthMessagesPigeonCodecReaderWriter alloc] init]; - sSharedObject = [FlutterStandardMessageCodec codecWithReaderWriter:readerWriter]; - }); - return sSharedObject; -} -void SetUpFirebaseAuthHostApi(id binaryMessenger, - NSObject *api) { - SetUpFirebaseAuthHostApiWithSuffix(binaryMessenger, api, @""); -} - -void SetUpFirebaseAuthHostApiWithSuffix(id binaryMessenger, - NSObject *api, - NSString *messageChannelSuffix) { - messageChannelSuffix = messageChannelSuffix.length > 0 - ? [NSString stringWithFormat:@".%@", messageChannelSuffix] - : @""; - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString - stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_interface." - @"FirebaseAuthHostApi.registerIdTokenListener", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert([api respondsToSelector:@selector(registerIdTokenListenerApp:completion:)], - @"FirebaseAuthHostApi api (%@) doesn't respond to " - @"@selector(registerIdTokenListenerApp:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - [api registerIdTokenListenerApp:arg_app - completion:^(NSString *_Nullable output, - FlutterError *_Nullable error) { - callback(wrapResult(output, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString - stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_interface." - @"FirebaseAuthHostApi.registerAuthStateListener", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert([api respondsToSelector:@selector(registerAuthStateListenerApp:completion:)], - @"FirebaseAuthHostApi api (%@) doesn't respond to " - @"@selector(registerAuthStateListenerApp:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - [api registerAuthStateListenerApp:arg_app - completion:^(NSString *_Nullable output, - FlutterError *_Nullable error) { - callback(wrapResult(output, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_" - @"interface.FirebaseAuthHostApi.useEmulator", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert([api respondsToSelector:@selector(useEmulatorApp:host:port:completion:)], - @"FirebaseAuthHostApi api (%@) doesn't respond to " - @"@selector(useEmulatorApp:host:port:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - NSString *arg_host = GetNullableObjectAtIndex(args, 1); - NSInteger arg_port = [GetNullableObjectAtIndex(args, 2) integerValue]; - [api useEmulatorApp:arg_app - host:arg_host - port:arg_port - completion:^(FlutterError *_Nullable error) { - callback(wrapResult(nil, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_" - @"interface.FirebaseAuthHostApi.applyActionCode", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert([api respondsToSelector:@selector(applyActionCodeApp:code:completion:)], - @"FirebaseAuthHostApi api (%@) doesn't respond to " - @"@selector(applyActionCodeApp:code:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - NSString *arg_code = GetNullableObjectAtIndex(args, 1); - [api applyActionCodeApp:arg_app - code:arg_code - completion:^(FlutterError *_Nullable error) { - callback(wrapResult(nil, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_" - @"interface.FirebaseAuthHostApi.checkActionCode", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert([api respondsToSelector:@selector(checkActionCodeApp:code:completion:)], - @"FirebaseAuthHostApi api (%@) doesn't respond to " - @"@selector(checkActionCodeApp:code:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - NSString *arg_code = GetNullableObjectAtIndex(args, 1); - [api checkActionCodeApp:arg_app - code:arg_code - completion:^(InternalActionCodeInfo *_Nullable output, - FlutterError *_Nullable error) { - callback(wrapResult(output, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString - stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_interface." - @"FirebaseAuthHostApi.confirmPasswordReset", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert( - [api respondsToSelector:@selector(confirmPasswordResetApp:code:newPassword:completion:)], - @"FirebaseAuthHostApi api (%@) doesn't respond to " - @"@selector(confirmPasswordResetApp:code:newPassword:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - NSString *arg_code = GetNullableObjectAtIndex(args, 1); - NSString *arg_newPassword = GetNullableObjectAtIndex(args, 2); - [api confirmPasswordResetApp:arg_app - code:arg_code - newPassword:arg_newPassword - completion:^(FlutterError *_Nullable error) { - callback(wrapResult(nil, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString - stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_interface." - @"FirebaseAuthHostApi.createUserWithEmailAndPassword", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert( - [api - respondsToSelector:@selector( - createUserWithEmailAndPasswordApp:email:password:completion:)], - @"FirebaseAuthHostApi api (%@) doesn't respond to " - @"@selector(createUserWithEmailAndPasswordApp:email:password:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - NSString *arg_email = GetNullableObjectAtIndex(args, 1); - NSString *arg_password = GetNullableObjectAtIndex(args, 2); - [api createUserWithEmailAndPasswordApp:arg_app - email:arg_email - password:arg_password - completion:^(InternalUserCredential *_Nullable output, - FlutterError *_Nullable error) { - callback(wrapResult(output, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString - stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_interface." - @"FirebaseAuthHostApi.signInAnonymously", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert([api respondsToSelector:@selector(signInAnonymouslyApp:completion:)], - @"FirebaseAuthHostApi api (%@) doesn't respond to " - @"@selector(signInAnonymouslyApp:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - [api signInAnonymouslyApp:arg_app - completion:^(InternalUserCredential *_Nullable output, - FlutterError *_Nullable error) { - callback(wrapResult(output, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString - stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_interface." - @"FirebaseAuthHostApi.signInWithCredential", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert([api respondsToSelector:@selector(signInWithCredentialApp:input:completion:)], - @"FirebaseAuthHostApi api (%@) doesn't respond to " - @"@selector(signInWithCredentialApp:input:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - NSDictionary *arg_input = GetNullableObjectAtIndex(args, 1); - [api signInWithCredentialApp:arg_app - input:arg_input - completion:^(InternalUserCredential *_Nullable output, - FlutterError *_Nullable error) { - callback(wrapResult(output, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString - stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_interface." - @"FirebaseAuthHostApi.signInWithCustomToken", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert([api respondsToSelector:@selector(signInWithCustomTokenApp:token:completion:)], - @"FirebaseAuthHostApi api (%@) doesn't respond to " - @"@selector(signInWithCustomTokenApp:token:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - NSString *arg_token = GetNullableObjectAtIndex(args, 1); - [api signInWithCustomTokenApp:arg_app - token:arg_token - completion:^(InternalUserCredential *_Nullable output, - FlutterError *_Nullable error) { - callback(wrapResult(output, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString - stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_interface." - @"FirebaseAuthHostApi.signInWithEmailAndPassword", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert( - [api respondsToSelector:@selector( - signInWithEmailAndPasswordApp:email:password:completion:)], - @"FirebaseAuthHostApi api (%@) doesn't respond to " - @"@selector(signInWithEmailAndPasswordApp:email:password:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - NSString *arg_email = GetNullableObjectAtIndex(args, 1); - NSString *arg_password = GetNullableObjectAtIndex(args, 2); - [api signInWithEmailAndPasswordApp:arg_app - email:arg_email - password:arg_password - completion:^(InternalUserCredential *_Nullable output, - FlutterError *_Nullable error) { - callback(wrapResult(output, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString - stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_interface." - @"FirebaseAuthHostApi.signInWithEmailLink", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert( - [api respondsToSelector:@selector(signInWithEmailLinkApp:email:emailLink:completion:)], - @"FirebaseAuthHostApi api (%@) doesn't respond to " - @"@selector(signInWithEmailLinkApp:email:emailLink:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - NSString *arg_email = GetNullableObjectAtIndex(args, 1); - NSString *arg_emailLink = GetNullableObjectAtIndex(args, 2); - [api signInWithEmailLinkApp:arg_app - email:arg_email - emailLink:arg_emailLink - completion:^(InternalUserCredential *_Nullable output, - FlutterError *_Nullable error) { - callback(wrapResult(output, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString - stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_interface." - @"FirebaseAuthHostApi.signInWithProvider", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert( - [api respondsToSelector:@selector(signInWithProviderApp:signInProvider:completion:)], - @"FirebaseAuthHostApi api (%@) doesn't respond to " - @"@selector(signInWithProviderApp:signInProvider:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - InternalSignInProvider *arg_signInProvider = GetNullableObjectAtIndex(args, 1); - [api signInWithProviderApp:arg_app - signInProvider:arg_signInProvider - completion:^(InternalUserCredential *_Nullable output, - FlutterError *_Nullable error) { - callback(wrapResult(output, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_" - @"interface.FirebaseAuthHostApi.signOut", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert( - [api respondsToSelector:@selector(signOutApp:completion:)], - @"FirebaseAuthHostApi api (%@) doesn't respond to @selector(signOutApp:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - [api signOutApp:arg_app - completion:^(FlutterError *_Nullable error) { - callback(wrapResult(nil, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString - stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_interface." - @"FirebaseAuthHostApi.fetchSignInMethodsForEmail", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert([api respondsToSelector:@selector(fetchSignInMethodsForEmailApp:email:completion:)], - @"FirebaseAuthHostApi api (%@) doesn't respond to " - @"@selector(fetchSignInMethodsForEmailApp:email:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - NSString *arg_email = GetNullableObjectAtIndex(args, 1); - [api fetchSignInMethodsForEmailApp:arg_app - email:arg_email - completion:^(NSArray *_Nullable output, - FlutterError *_Nullable error) { - callback(wrapResult(output, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString - stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_interface." - @"FirebaseAuthHostApi.sendPasswordResetEmail", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert([api respondsToSelector: - @selector(sendPasswordResetEmailApp:email:actionCodeSettings:completion:)], - @"FirebaseAuthHostApi api (%@) doesn't respond to " - @"@selector(sendPasswordResetEmailApp:email:actionCodeSettings:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - NSString *arg_email = GetNullableObjectAtIndex(args, 1); - InternalActionCodeSettings *arg_actionCodeSettings = GetNullableObjectAtIndex(args, 2); - [api sendPasswordResetEmailApp:arg_app - email:arg_email - actionCodeSettings:arg_actionCodeSettings - completion:^(FlutterError *_Nullable error) { - callback(wrapResult(nil, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString - stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_interface." - @"FirebaseAuthHostApi.sendSignInLinkToEmail", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert([api respondsToSelector: - @selector(sendSignInLinkToEmailApp:email:actionCodeSettings:completion:)], - @"FirebaseAuthHostApi api (%@) doesn't respond to " - @"@selector(sendSignInLinkToEmailApp:email:actionCodeSettings:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - NSString *arg_email = GetNullableObjectAtIndex(args, 1); - InternalActionCodeSettings *arg_actionCodeSettings = GetNullableObjectAtIndex(args, 2); - [api sendSignInLinkToEmailApp:arg_app - email:arg_email - actionCodeSettings:arg_actionCodeSettings - completion:^(FlutterError *_Nullable error) { - callback(wrapResult(nil, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_" - @"interface.FirebaseAuthHostApi.setLanguageCode", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert([api respondsToSelector:@selector(setLanguageCodeApp:languageCode:completion:)], - @"FirebaseAuthHostApi api (%@) doesn't respond to " - @"@selector(setLanguageCodeApp:languageCode:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - NSString *arg_languageCode = GetNullableObjectAtIndex(args, 1); - [api setLanguageCodeApp:arg_app - languageCode:arg_languageCode - completion:^(NSString *_Nullable output, FlutterError *_Nullable error) { - callback(wrapResult(output, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_" - @"interface.FirebaseAuthHostApi.setSettings", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert([api respondsToSelector:@selector(setSettingsApp:settings:completion:)], - @"FirebaseAuthHostApi api (%@) doesn't respond to " - @"@selector(setSettingsApp:settings:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - InternalFirebaseAuthSettings *arg_settings = GetNullableObjectAtIndex(args, 1); - [api setSettingsApp:arg_app - settings:arg_settings - completion:^(FlutterError *_Nullable error) { - callback(wrapResult(nil, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString - stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_interface." - @"FirebaseAuthHostApi.verifyPasswordResetCode", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert([api respondsToSelector:@selector(verifyPasswordResetCodeApp:code:completion:)], - @"FirebaseAuthHostApi api (%@) doesn't respond to " - @"@selector(verifyPasswordResetCodeApp:code:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - NSString *arg_code = GetNullableObjectAtIndex(args, 1); - [api verifyPasswordResetCodeApp:arg_app - code:arg_code - completion:^(NSString *_Nullable output, - FlutterError *_Nullable error) { - callback(wrapResult(output, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString - stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_interface." - @"FirebaseAuthHostApi.verifyPhoneNumber", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert([api respondsToSelector:@selector(verifyPhoneNumberApp:request:completion:)], - @"FirebaseAuthHostApi api (%@) doesn't respond to " - @"@selector(verifyPhoneNumberApp:request:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - InternalVerifyPhoneNumberRequest *arg_request = GetNullableObjectAtIndex(args, 1); - [api verifyPhoneNumberApp:arg_app - request:arg_request - completion:^(NSString *_Nullable output, FlutterError *_Nullable error) { - callback(wrapResult(output, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName: - [NSString stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_interface." - @"FirebaseAuthHostApi.revokeTokenWithAuthorizationCode", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert([api respondsToSelector:@selector(revokeTokenWithAuthorizationCodeApp: - authorizationCode:completion:)], - @"FirebaseAuthHostApi api (%@) doesn't respond to " - @"@selector(revokeTokenWithAuthorizationCodeApp:authorizationCode:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - NSString *arg_authorizationCode = GetNullableObjectAtIndex(args, 1); - [api revokeTokenWithAuthorizationCodeApp:arg_app - authorizationCode:arg_authorizationCode - completion:^(FlutterError *_Nullable error) { - callback(wrapResult(nil, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString - stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_interface." - @"FirebaseAuthHostApi.revokeAccessToken", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert([api respondsToSelector:@selector(revokeAccessTokenApp:accessToken:completion:)], - @"FirebaseAuthHostApi api (%@) doesn't respond to " - @"@selector(revokeAccessTokenApp:accessToken:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - NSString *arg_accessToken = GetNullableObjectAtIndex(args, 1); - [api revokeAccessTokenApp:arg_app - accessToken:arg_accessToken - completion:^(FlutterError *_Nullable error) { - callback(wrapResult(nil, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString - stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_interface." - @"FirebaseAuthHostApi.initializeRecaptchaConfig", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert([api respondsToSelector:@selector(initializeRecaptchaConfigApp:completion:)], - @"FirebaseAuthHostApi api (%@) doesn't respond to " - @"@selector(initializeRecaptchaConfigApp:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - [api initializeRecaptchaConfigApp:arg_app - completion:^(FlutterError *_Nullable error) { - callback(wrapResult(nil, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } -} -void SetUpFirebaseAuthUserHostApi(id binaryMessenger, - NSObject *api) { - SetUpFirebaseAuthUserHostApiWithSuffix(binaryMessenger, api, @""); -} - -void SetUpFirebaseAuthUserHostApiWithSuffix(id binaryMessenger, - NSObject *api, - NSString *messageChannelSuffix) { - messageChannelSuffix = messageChannelSuffix.length > 0 - ? [NSString stringWithFormat:@".%@", messageChannelSuffix] - : @""; - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_" - @"interface.FirebaseAuthUserHostApi.delete", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert( - [api respondsToSelector:@selector(deleteApp:completion:)], - @"FirebaseAuthUserHostApi api (%@) doesn't respond to @selector(deleteApp:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - [api deleteApp:arg_app - completion:^(FlutterError *_Nullable error) { - callback(wrapResult(nil, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_" - @"interface.FirebaseAuthUserHostApi.getIdToken", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert([api respondsToSelector:@selector(getIdTokenApp:forceRefresh:completion:)], - @"FirebaseAuthUserHostApi api (%@) doesn't respond to " - @"@selector(getIdTokenApp:forceRefresh:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - BOOL arg_forceRefresh = [GetNullableObjectAtIndex(args, 1) boolValue]; - [api getIdTokenApp:arg_app - forceRefresh:arg_forceRefresh - completion:^(InternalIdTokenResult *_Nullable output, - FlutterError *_Nullable error) { - callback(wrapResult(output, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString - stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_interface." - @"FirebaseAuthUserHostApi.linkWithCredential", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert([api respondsToSelector:@selector(linkWithCredentialApp:input:completion:)], - @"FirebaseAuthUserHostApi api (%@) doesn't respond to " - @"@selector(linkWithCredentialApp:input:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - NSDictionary *arg_input = GetNullableObjectAtIndex(args, 1); - [api linkWithCredentialApp:arg_app - input:arg_input - completion:^(InternalUserCredential *_Nullable output, - FlutterError *_Nullable error) { - callback(wrapResult(output, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString - stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_interface." - @"FirebaseAuthUserHostApi.linkWithProvider", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert([api respondsToSelector:@selector(linkWithProviderApp:signInProvider:completion:)], - @"FirebaseAuthUserHostApi api (%@) doesn't respond to " - @"@selector(linkWithProviderApp:signInProvider:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - InternalSignInProvider *arg_signInProvider = GetNullableObjectAtIndex(args, 1); - [api linkWithProviderApp:arg_app - signInProvider:arg_signInProvider - completion:^(InternalUserCredential *_Nullable output, - FlutterError *_Nullable error) { - callback(wrapResult(output, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName: - [NSString stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_interface." - @"FirebaseAuthUserHostApi.reauthenticateWithCredential", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert( - [api respondsToSelector:@selector(reauthenticateWithCredentialApp:input:completion:)], - @"FirebaseAuthUserHostApi api (%@) doesn't respond to " - @"@selector(reauthenticateWithCredentialApp:input:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - NSDictionary *arg_input = GetNullableObjectAtIndex(args, 1); - [api reauthenticateWithCredentialApp:arg_app - input:arg_input - completion:^(InternalUserCredential *_Nullable output, - FlutterError *_Nullable error) { - callback(wrapResult(output, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString - stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_interface." - @"FirebaseAuthUserHostApi.reauthenticateWithProvider", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert( - [api respondsToSelector:@selector( - reauthenticateWithProviderApp:signInProvider:completion:)], - @"FirebaseAuthUserHostApi api (%@) doesn't respond to " - @"@selector(reauthenticateWithProviderApp:signInProvider:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - InternalSignInProvider *arg_signInProvider = GetNullableObjectAtIndex(args, 1); - [api reauthenticateWithProviderApp:arg_app - signInProvider:arg_signInProvider - completion:^(InternalUserCredential *_Nullable output, - FlutterError *_Nullable error) { - callback(wrapResult(output, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_" - @"interface.FirebaseAuthUserHostApi.reload", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert( - [api respondsToSelector:@selector(reloadApp:completion:)], - @"FirebaseAuthUserHostApi api (%@) doesn't respond to @selector(reloadApp:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - [api reloadApp:arg_app - completion:^(InternalUserDetails *_Nullable output, FlutterError *_Nullable error) { - callback(wrapResult(output, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString - stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_interface." - @"FirebaseAuthUserHostApi.sendEmailVerification", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert( - [api respondsToSelector:@selector( - sendEmailVerificationApp:actionCodeSettings:completion:)], - @"FirebaseAuthUserHostApi api (%@) doesn't respond to " - @"@selector(sendEmailVerificationApp:actionCodeSettings:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - InternalActionCodeSettings *arg_actionCodeSettings = GetNullableObjectAtIndex(args, 1); - [api sendEmailVerificationApp:arg_app - actionCodeSettings:arg_actionCodeSettings - completion:^(FlutterError *_Nullable error) { - callback(wrapResult(nil, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_" - @"interface.FirebaseAuthUserHostApi.unlink", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert([api respondsToSelector:@selector(unlinkApp:providerId:completion:)], - @"FirebaseAuthUserHostApi api (%@) doesn't respond to " - @"@selector(unlinkApp:providerId:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - NSString *arg_providerId = GetNullableObjectAtIndex(args, 1); - [api unlinkApp:arg_app - providerId:arg_providerId - completion:^(InternalUserCredential *_Nullable output, FlutterError *_Nullable error) { - callback(wrapResult(output, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_" - @"interface.FirebaseAuthUserHostApi.updateEmail", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert([api respondsToSelector:@selector(updateEmailApp:newEmail:completion:)], - @"FirebaseAuthUserHostApi api (%@) doesn't respond to " - @"@selector(updateEmailApp:newEmail:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - NSString *arg_newEmail = GetNullableObjectAtIndex(args, 1); - [api - updateEmailApp:arg_app - newEmail:arg_newEmail - completion:^(InternalUserDetails *_Nullable output, FlutterError *_Nullable error) { - callback(wrapResult(output, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString - stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_interface." - @"FirebaseAuthUserHostApi.updatePassword", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert([api respondsToSelector:@selector(updatePasswordApp:newPassword:completion:)], - @"FirebaseAuthUserHostApi api (%@) doesn't respond to " - @"@selector(updatePasswordApp:newPassword:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - NSString *arg_newPassword = GetNullableObjectAtIndex(args, 1); - [api updatePasswordApp:arg_app - newPassword:arg_newPassword - completion:^(InternalUserDetails *_Nullable output, - FlutterError *_Nullable error) { - callback(wrapResult(output, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString - stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_interface." - @"FirebaseAuthUserHostApi.updatePhoneNumber", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert([api respondsToSelector:@selector(updatePhoneNumberApp:input:completion:)], - @"FirebaseAuthUserHostApi api (%@) doesn't respond to " - @"@selector(updatePhoneNumberApp:input:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - NSDictionary *arg_input = GetNullableObjectAtIndex(args, 1); - [api updatePhoneNumberApp:arg_app - input:arg_input - completion:^(InternalUserDetails *_Nullable output, - FlutterError *_Nullable error) { - callback(wrapResult(output, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString - stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_interface." - @"FirebaseAuthUserHostApi.updateProfile", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert([api respondsToSelector:@selector(updateProfileApp:profile:completion:)], - @"FirebaseAuthUserHostApi api (%@) doesn't respond to " - @"@selector(updateProfileApp:profile:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - InternalUserProfile *arg_profile = GetNullableObjectAtIndex(args, 1); - [api updateProfileApp:arg_app - profile:arg_profile - completion:^(InternalUserDetails *_Nullable output, - FlutterError *_Nullable error) { - callback(wrapResult(output, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString - stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_interface." - @"FirebaseAuthUserHostApi.verifyBeforeUpdateEmail", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert([api respondsToSelector:@selector(verifyBeforeUpdateEmailApp:newEmail: - actionCodeSettings:completion:)], - @"FirebaseAuthUserHostApi api (%@) doesn't respond to " - @"@selector(verifyBeforeUpdateEmailApp:newEmail:actionCodeSettings:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - NSString *arg_newEmail = GetNullableObjectAtIndex(args, 1); - InternalActionCodeSettings *arg_actionCodeSettings = GetNullableObjectAtIndex(args, 2); - [api verifyBeforeUpdateEmailApp:arg_app - newEmail:arg_newEmail - actionCodeSettings:arg_actionCodeSettings - completion:^(FlutterError *_Nullable error) { - callback(wrapResult(nil, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } -} -void SetUpMultiFactorUserHostApi(id binaryMessenger, - NSObject *api) { - SetUpMultiFactorUserHostApiWithSuffix(binaryMessenger, api, @""); -} - -void SetUpMultiFactorUserHostApiWithSuffix(id binaryMessenger, - NSObject *api, - NSString *messageChannelSuffix) { - messageChannelSuffix = messageChannelSuffix.length > 0 - ? [NSString stringWithFormat:@".%@", messageChannelSuffix] - : @""; - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_" - @"interface.MultiFactorUserHostApi.enrollPhone", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert( - [api respondsToSelector:@selector(enrollPhoneApp:assertion:displayName:completion:)], - @"MultiFactorUserHostApi api (%@) doesn't respond to " - @"@selector(enrollPhoneApp:assertion:displayName:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - InternalPhoneMultiFactorAssertion *arg_assertion = GetNullableObjectAtIndex(args, 1); - NSString *arg_displayName = GetNullableObjectAtIndex(args, 2); - [api enrollPhoneApp:arg_app - assertion:arg_assertion - displayName:arg_displayName - completion:^(FlutterError *_Nullable error) { - callback(wrapResult(nil, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_" - @"interface.MultiFactorUserHostApi.enrollTotp", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert( - [api respondsToSelector:@selector(enrollTotpApp:assertionId:displayName:completion:)], - @"MultiFactorUserHostApi api (%@) doesn't respond to " - @"@selector(enrollTotpApp:assertionId:displayName:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - NSString *arg_assertionId = GetNullableObjectAtIndex(args, 1); - NSString *arg_displayName = GetNullableObjectAtIndex(args, 2); - [api enrollTotpApp:arg_app - assertionId:arg_assertionId - displayName:arg_displayName - completion:^(FlutterError *_Nullable error) { - callback(wrapResult(nil, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_" - @"interface.MultiFactorUserHostApi.getSession", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert([api respondsToSelector:@selector(getSessionApp:completion:)], - @"MultiFactorUserHostApi api (%@) doesn't respond to " - @"@selector(getSessionApp:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - [api getSessionApp:arg_app - completion:^(InternalMultiFactorSession *_Nullable output, - FlutterError *_Nullable error) { - callback(wrapResult(output, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_" - @"interface.MultiFactorUserHostApi.unenroll", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert([api respondsToSelector:@selector(unenrollApp:factorUid:completion:)], - @"MultiFactorUserHostApi api (%@) doesn't respond to " - @"@selector(unenrollApp:factorUid:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - NSString *arg_factorUid = GetNullableObjectAtIndex(args, 1); - [api unenrollApp:arg_app - factorUid:arg_factorUid - completion:^(FlutterError *_Nullable error) { - callback(wrapResult(nil, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString - stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_interface." - @"MultiFactorUserHostApi.getEnrolledFactors", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert([api respondsToSelector:@selector(getEnrolledFactorsApp:completion:)], - @"MultiFactorUserHostApi api (%@) doesn't respond to " - @"@selector(getEnrolledFactorsApp:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - [api getEnrolledFactorsApp:arg_app - completion:^(NSArray *_Nullable output, - FlutterError *_Nullable error) { - callback(wrapResult(output, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } -} -void SetUpMultiFactoResolverHostApi(id binaryMessenger, - NSObject *api) { - SetUpMultiFactoResolverHostApiWithSuffix(binaryMessenger, api, @""); -} - -void SetUpMultiFactoResolverHostApiWithSuffix(id binaryMessenger, - NSObject *api, - NSString *messageChannelSuffix) { - messageChannelSuffix = messageChannelSuffix.length > 0 - ? [NSString stringWithFormat:@".%@", messageChannelSuffix] - : @""; - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString - stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_interface." - @"MultiFactoResolverHostApi.resolveSignIn", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert([api respondsToSelector: - @selector(resolveSignInResolverId:assertion:totpAssertionId:completion:)], - @"MultiFactoResolverHostApi api (%@) doesn't respond to " - @"@selector(resolveSignInResolverId:assertion:totpAssertionId:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - NSString *arg_resolverId = GetNullableObjectAtIndex(args, 0); - InternalPhoneMultiFactorAssertion *arg_assertion = GetNullableObjectAtIndex(args, 1); - NSString *arg_totpAssertionId = GetNullableObjectAtIndex(args, 2); - [api resolveSignInResolverId:arg_resolverId - assertion:arg_assertion - totpAssertionId:arg_totpAssertionId - completion:^(InternalUserCredential *_Nullable output, - FlutterError *_Nullable error) { - callback(wrapResult(output, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } -} -void SetUpMultiFactorTotpHostApi(id binaryMessenger, - NSObject *api) { - SetUpMultiFactorTotpHostApiWithSuffix(binaryMessenger, api, @""); -} - -void SetUpMultiFactorTotpHostApiWithSuffix(id binaryMessenger, - NSObject *api, - NSString *messageChannelSuffix) { - messageChannelSuffix = messageChannelSuffix.length > 0 - ? [NSString stringWithFormat:@".%@", messageChannelSuffix] - : @""; - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString - stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_interface." - @"MultiFactorTotpHostApi.generateSecret", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert([api respondsToSelector:@selector(generateSecretSessionId:completion:)], - @"MultiFactorTotpHostApi api (%@) doesn't respond to " - @"@selector(generateSecretSessionId:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - NSString *arg_sessionId = GetNullableObjectAtIndex(args, 0); - [api generateSecretSessionId:arg_sessionId - completion:^(InternalTotpSecret *_Nullable output, - FlutterError *_Nullable error) { - callback(wrapResult(output, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString - stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_interface." - @"MultiFactorTotpHostApi.getAssertionForEnrollment", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert([api respondsToSelector: - @selector(getAssertionForEnrollmentSecretKey:oneTimePassword:completion:)], - @"MultiFactorTotpHostApi api (%@) doesn't respond to " - @"@selector(getAssertionForEnrollmentSecretKey:oneTimePassword:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - NSString *arg_secretKey = GetNullableObjectAtIndex(args, 0); - NSString *arg_oneTimePassword = GetNullableObjectAtIndex(args, 1); - [api getAssertionForEnrollmentSecretKey:arg_secretKey - oneTimePassword:arg_oneTimePassword - completion:^(NSString *_Nullable output, - FlutterError *_Nullable error) { - callback(wrapResult(output, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString - stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_interface." - @"MultiFactorTotpHostApi.getAssertionForSignIn", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert([api respondsToSelector: - @selector(getAssertionForSignInEnrollmentId:oneTimePassword:completion:)], - @"MultiFactorTotpHostApi api (%@) doesn't respond to " - @"@selector(getAssertionForSignInEnrollmentId:oneTimePassword:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - NSString *arg_enrollmentId = GetNullableObjectAtIndex(args, 0); - NSString *arg_oneTimePassword = GetNullableObjectAtIndex(args, 1); - [api getAssertionForSignInEnrollmentId:arg_enrollmentId - oneTimePassword:arg_oneTimePassword - completion:^(NSString *_Nullable output, - FlutterError *_Nullable error) { - callback(wrapResult(output, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } -} -void SetUpMultiFactorTotpSecretHostApi(id binaryMessenger, - NSObject *api) { - SetUpMultiFactorTotpSecretHostApiWithSuffix(binaryMessenger, api, @""); -} - -void SetUpMultiFactorTotpSecretHostApiWithSuffix(id binaryMessenger, - NSObject *api, - NSString *messageChannelSuffix) { - messageChannelSuffix = messageChannelSuffix.length > 0 - ? [NSString stringWithFormat:@".%@", messageChannelSuffix] - : @""; - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString - stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_interface." - @"MultiFactorTotpSecretHostApi.generateQrCodeUrl", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert( - [api respondsToSelector:@selector( - generateQrCodeUrlSecretKey:accountName:issuer:completion:)], - @"MultiFactorTotpSecretHostApi api (%@) doesn't respond to " - @"@selector(generateQrCodeUrlSecretKey:accountName:issuer:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - NSString *arg_secretKey = GetNullableObjectAtIndex(args, 0); - NSString *arg_accountName = GetNullableObjectAtIndex(args, 1); - NSString *arg_issuer = GetNullableObjectAtIndex(args, 2); - [api generateQrCodeUrlSecretKey:arg_secretKey - accountName:arg_accountName - issuer:arg_issuer - completion:^(NSString *_Nullable output, - FlutterError *_Nullable error) { - callback(wrapResult(output, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString - stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_interface." - @"MultiFactorTotpSecretHostApi.openInOtpApp", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert([api respondsToSelector:@selector(openInOtpAppSecretKey:qrCodeUrl:completion:)], - @"MultiFactorTotpSecretHostApi api (%@) doesn't respond to " - @"@selector(openInOtpAppSecretKey:qrCodeUrl:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - NSString *arg_secretKey = GetNullableObjectAtIndex(args, 0); - NSString *arg_qrCodeUrl = GetNullableObjectAtIndex(args, 1); - [api openInOtpAppSecretKey:arg_secretKey - qrCodeUrl:arg_qrCodeUrl - completion:^(FlutterError *_Nullable error) { - callback(wrapResult(nil, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } -} -void SetUpGenerateInterfaces(id binaryMessenger, - NSObject *api) { - SetUpGenerateInterfacesWithSuffix(binaryMessenger, api, @""); -} - -void SetUpGenerateInterfacesWithSuffix(id binaryMessenger, - NSObject *api, - NSString *messageChannelSuffix) { - messageChannelSuffix = messageChannelSuffix.length > 0 - ? [NSString stringWithFormat:@".%@", messageChannelSuffix] - : @""; - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_" - @"interface.GenerateInterfaces.pigeonInterface", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert( - [api respondsToSelector:@selector(pigeonInterfaceInfo:error:)], - @"GenerateInterfaces api (%@) doesn't respond to @selector(pigeonInterfaceInfo:error:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - InternalMultiFactorInfo *arg_info = GetNullableObjectAtIndex(args, 0); - FlutterError *error; - [api pigeonInterfaceInfo:arg_info error:&error]; - callback(wrapResult(nil, error)); - }]; - } else { - [channel setMessageHandler:nil]; - } - } -} diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/macos/firebase_auth/Sources/firebase_auth/include/Private/FLTAuthStateChannelStreamHandler.h b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/macos/firebase_auth/Sources/firebase_auth/include/Private/FLTAuthStateChannelStreamHandler.h deleted file mode 100644 index 7b7efae7..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/macos/firebase_auth/Sources/firebase_auth/include/Private/FLTAuthStateChannelStreamHandler.h +++ /dev/null @@ -1,26 +0,0 @@ -// Copyright 2021 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#import - -#if TARGET_OS_OSX -#import -#else -#import -#endif - -#import -#import "../Public/CustomPigeonHeader.h" - -@class FIRAuth; - -NS_ASSUME_NONNULL_BEGIN - -@interface FLTAuthStateChannelStreamHandler : NSObject - -- (instancetype)initWithAuth:(FIRAuth *)auth; - -@end - -NS_ASSUME_NONNULL_END diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/macos/firebase_auth/Sources/firebase_auth/include/Private/FLTIdTokenChannelStreamHandler.h b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/macos/firebase_auth/Sources/firebase_auth/include/Private/FLTIdTokenChannelStreamHandler.h deleted file mode 100644 index c1660499..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/macos/firebase_auth/Sources/firebase_auth/include/Private/FLTIdTokenChannelStreamHandler.h +++ /dev/null @@ -1,27 +0,0 @@ -// Copyright 2021 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#import - -#if TARGET_OS_OSX -#import -#else -#import -#endif - -#import "../Public/CustomPigeonHeader.h" - -#import - -@class FIRAuth; - -NS_ASSUME_NONNULL_BEGIN - -@interface FLTIdTokenChannelStreamHandler : NSObject - -- (instancetype)initWithAuth:(FIRAuth *)auth; - -@end - -NS_ASSUME_NONNULL_END diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/macos/firebase_auth/Sources/firebase_auth/include/Private/FLTPhoneNumberVerificationStreamHandler.h b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/macos/firebase_auth/Sources/firebase_auth/include/Private/FLTPhoneNumberVerificationStreamHandler.h deleted file mode 100644 index 53e5f28c..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/macos/firebase_auth/Sources/firebase_auth/include/Private/FLTPhoneNumberVerificationStreamHandler.h +++ /dev/null @@ -1,36 +0,0 @@ -// Copyright 2021 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#import - -#if TARGET_OS_OSX -#import -#else -#import -#endif - -#import "../Public/firebase_auth_messages.g.h" - -#import - -@class FIRAuth; -@class FIRMultiFactorSession; -@class FIRPhoneMultiFactorInfo; - -NS_ASSUME_NONNULL_BEGIN - -@interface FLTPhoneNumberVerificationStreamHandler : NSObject - -#if TARGET_OS_OSX -- (instancetype)initWithAuth:(FIRAuth *)auth arguments:(NSDictionary *)arguments; -#else -- (instancetype)initWithAuth:(FIRAuth *)auth - request:(InternalVerifyPhoneNumberRequest *)request - session:(FIRMultiFactorSession *)session - factorInfo:(FIRPhoneMultiFactorInfo *)factorInfo; -#endif - -@end - -NS_ASSUME_NONNULL_END diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/macos/firebase_auth/Sources/firebase_auth/include/Private/PigeonParser.h b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/macos/firebase_auth/Sources/firebase_auth/include/Private/PigeonParser.h deleted file mode 100644 index b500fd2c..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/macos/firebase_auth/Sources/firebase_auth/include/Private/PigeonParser.h +++ /dev/null @@ -1,33 +0,0 @@ -/* - * Copyright 2023, the Chromium project authors. Please see the AUTHORS file - * for details. All rights reserved. Use of this source code is governed by a - * BSD-style license that can be found in the LICENSE file. - */ - -#import -#import "../Public/firebase_auth_messages.g.h" - -@class FIRAuthDataResult; -@class FIRUser; -@class FIRActionCodeSettings; -@class FIRAuthTokenResult; -@class FIRTOTPSecret; -@class FIRAuthCredential; - -@interface PigeonParser : NSObject - -+ (NSArray *_Nonnull)getManualList:(nonnull InternalUserDetails *)userDetails; -+ (InternalUserCredential *_Nullable) - getPigeonUserCredentialFromAuthResult:(nonnull FIRAuthDataResult *)authResult - authorizationCode:(nullable NSString *)authorizationCode; -+ (InternalUserDetails *_Nullable)getPigeonDetails:(nonnull FIRUser *)user; -+ (InternalUserInfo *_Nullable)getPigeonUserInfo:(nonnull FIRUser *)user; -+ (FIRActionCodeSettings *_Nullable)parseActionCodeSettings: - (nullable InternalActionCodeSettings *)settings; -+ (InternalUserCredential *_Nullable)getPigeonUserCredentialFromFIRUser:(nonnull FIRUser *)user; -+ (InternalIdTokenResult *_Nonnull)parseIdTokenResult:(nonnull FIRAuthTokenResult *)tokenResult; -+ (InternalTotpSecret *_Nonnull)getPigeonTotpSecret:(nonnull FIRTOTPSecret *)secret; -+ (InternalAuthCredential *_Nullable)getPigeonAuthCredential: - (FIRAuthCredential *_Nullable)authCredentialToken - token:(NSNumber *_Nullable)token; -@end diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/macos/firebase_auth/Sources/firebase_auth/include/Public/CustomPigeonHeader.h b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/macos/firebase_auth/Sources/firebase_auth/include/Public/CustomPigeonHeader.h deleted file mode 100644 index d32a6b45..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/macos/firebase_auth/Sources/firebase_auth/include/Public/CustomPigeonHeader.h +++ /dev/null @@ -1,16 +0,0 @@ -// Copyright 2021 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. -#import "firebase_auth_messages.g.h" - -@interface InternalMultiFactorInfo (Map) -- (NSDictionary *)toList; -@end - -@interface InternalUserDetails (Map) -- (NSDictionary *)toList; -@end - -@interface InternalUserInfo (Map) -- (NSDictionary *)toList; -@end diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/macos/firebase_auth/Sources/firebase_auth/include/Public/FLTFirebaseAuthPlugin.h b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/macos/firebase_auth/Sources/firebase_auth/include/Public/FLTFirebaseAuthPlugin.h deleted file mode 100644 index 53e20eca..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/macos/firebase_auth/Sources/firebase_auth/include/Public/FLTFirebaseAuthPlugin.h +++ /dev/null @@ -1,45 +0,0 @@ -// Copyright 2020 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#import - -#if TARGET_OS_OSX -#import -#else -#import -#endif - -#import -#import -#if __has_include() -#import -#else -#import -#endif -#import "firebase_auth_messages.g.h" - -#if !TARGET_OS_OSX -@protocol FlutterSceneLifeCycleDelegate; -#endif - -@interface FLTFirebaseAuthPlugin - : FLTFirebasePlugin ) - , - FlutterSceneLifeCycleDelegate -#endif -#endif - > - -+ (FlutterError *)convertToFlutterError:(NSError *)error; -@end diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/macos/firebase_auth/Sources/firebase_auth/include/Public/firebase_auth_messages.g.h b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/macos/firebase_auth/Sources/firebase_auth/include/Public/firebase_auth_messages.g.h deleted file mode 100644 index f83da7e3..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/macos/firebase_auth/Sources/firebase_auth/include/Public/firebase_auth_messages.g.h +++ /dev/null @@ -1,571 +0,0 @@ -// Copyright 2023, the Chromium project authors. Please see the AUTHORS file -// for details. All rights reserved. Use of this source code is governed by a -// BSD-style license that can be found in the LICENSE file. -// Autogenerated from Pigeon (v26.3.4), do not edit directly. -// See also: https://pub.dev/packages/pigeon - -@import Foundation; - -@protocol FlutterBinaryMessenger; -@protocol FlutterMessageCodec; -@class FlutterError; -@class FlutterStandardTypedData; - -NS_ASSUME_NONNULL_BEGIN - -/// The type of operation that generated the action code from calling -/// [checkActionCode]. -typedef NS_ENUM(NSUInteger, ActionCodeInfoOperation) { - /// Unknown operation. - ActionCodeInfoOperationUnknown = 0, - /// Password reset code generated via [sendPasswordResetEmail]. - ActionCodeInfoOperationPasswordReset = 1, - /// Email verification code generated via [User.sendEmailVerification]. - ActionCodeInfoOperationVerifyEmail = 2, - /// Email change revocation code generated via [User.updateEmail]. - ActionCodeInfoOperationRecoverEmail = 3, - /// Email sign in code generated via [sendSignInLinkToEmail]. - ActionCodeInfoOperationEmailSignIn = 4, - /// Verify and change email code generated via [User.verifyBeforeUpdateEmail]. - ActionCodeInfoOperationVerifyAndChangeEmail = 5, - /// Action code for reverting second factor addition. - ActionCodeInfoOperationRevertSecondFactorAddition = 6, -}; - -/// Wrapper for ActionCodeInfoOperation to allow for nullability. -@interface ActionCodeInfoOperationBox : NSObject -@property(nonatomic, assign) ActionCodeInfoOperation value; -- (instancetype)initWithValue:(ActionCodeInfoOperation)value; -@end - -@class InternalMultiFactorSession; -@class InternalPhoneMultiFactorAssertion; -@class InternalMultiFactorInfo; -@class AuthPigeonFirebaseApp; -@class InternalActionCodeInfoData; -@class InternalActionCodeInfo; -@class InternalAdditionalUserInfo; -@class InternalAuthCredential; -@class InternalUserInfo; -@class InternalUserDetails; -@class InternalUserCredential; -@class InternalAuthCredentialInput; -@class InternalActionCodeSettings; -@class InternalFirebaseAuthSettings; -@class InternalSignInProvider; -@class InternalVerifyPhoneNumberRequest; -@class InternalIdTokenResult; -@class InternalUserProfile; -@class InternalTotpSecret; - -@interface InternalMultiFactorSession : NSObject -/// `init` unavailable to enforce nonnull fields, see the `make` class method. -- (instancetype)init NS_UNAVAILABLE; -+ (instancetype)makeWithId:(NSString *)id; -@property(nonatomic, copy) NSString *id; -@end - -@interface InternalPhoneMultiFactorAssertion : NSObject -/// `init` unavailable to enforce nonnull fields, see the `make` class method. -- (instancetype)init NS_UNAVAILABLE; -+ (instancetype)makeWithVerificationId:(NSString *)verificationId - verificationCode:(NSString *)verificationCode; -@property(nonatomic, copy) NSString *verificationId; -@property(nonatomic, copy) NSString *verificationCode; -@end - -@interface InternalMultiFactorInfo : NSObject -/// `init` unavailable to enforce nonnull fields, see the `make` class method. -- (instancetype)init NS_UNAVAILABLE; -+ (instancetype)makeWithDisplayName:(nullable NSString *)displayName - enrollmentTimestamp:(double)enrollmentTimestamp - factorId:(nullable NSString *)factorId - uid:(NSString *)uid - phoneNumber:(nullable NSString *)phoneNumber; -@property(nonatomic, copy, nullable) NSString *displayName; -@property(nonatomic, assign) double enrollmentTimestamp; -@property(nonatomic, copy, nullable) NSString *factorId; -@property(nonatomic, copy) NSString *uid; -@property(nonatomic, copy, nullable) NSString *phoneNumber; -@end - -@interface AuthPigeonFirebaseApp : NSObject -/// `init` unavailable to enforce nonnull fields, see the `make` class method. -- (instancetype)init NS_UNAVAILABLE; -+ (instancetype)makeWithAppName:(NSString *)appName - tenantId:(nullable NSString *)tenantId - customAuthDomain:(nullable NSString *)customAuthDomain; -@property(nonatomic, copy) NSString *appName; -@property(nonatomic, copy, nullable) NSString *tenantId; -@property(nonatomic, copy, nullable) NSString *customAuthDomain; -@end - -@interface InternalActionCodeInfoData : NSObject -+ (instancetype)makeWithEmail:(nullable NSString *)email - previousEmail:(nullable NSString *)previousEmail; -@property(nonatomic, copy, nullable) NSString *email; -@property(nonatomic, copy, nullable) NSString *previousEmail; -@end - -@interface InternalActionCodeInfo : NSObject -/// `init` unavailable to enforce nonnull fields, see the `make` class method. -- (instancetype)init NS_UNAVAILABLE; -+ (instancetype)makeWithOperation:(ActionCodeInfoOperation)operation - data:(InternalActionCodeInfoData *)data; -@property(nonatomic, assign) ActionCodeInfoOperation operation; -@property(nonatomic, strong) InternalActionCodeInfoData *data; -@end - -@interface InternalAdditionalUserInfo : NSObject -/// `init` unavailable to enforce nonnull fields, see the `make` class method. -- (instancetype)init NS_UNAVAILABLE; -+ (instancetype)makeWithIsNewUser:(BOOL)isNewUser - providerId:(nullable NSString *)providerId - username:(nullable NSString *)username - authorizationCode:(nullable NSString *)authorizationCode - profile:(nullable NSDictionary *)profile; -@property(nonatomic, assign) BOOL isNewUser; -@property(nonatomic, copy, nullable) NSString *providerId; -@property(nonatomic, copy, nullable) NSString *username; -@property(nonatomic, copy, nullable) NSString *authorizationCode; -@property(nonatomic, copy, nullable) NSDictionary *profile; -@end - -@interface InternalAuthCredential : NSObject -/// `init` unavailable to enforce nonnull fields, see the `make` class method. -- (instancetype)init NS_UNAVAILABLE; -+ (instancetype)makeWithProviderId:(NSString *)providerId - signInMethod:(NSString *)signInMethod - nativeId:(NSInteger)nativeId - accessToken:(nullable NSString *)accessToken; -@property(nonatomic, copy) NSString *providerId; -@property(nonatomic, copy) NSString *signInMethod; -@property(nonatomic, assign) NSInteger nativeId; -@property(nonatomic, copy, nullable) NSString *accessToken; -@end - -@interface InternalUserInfo : NSObject -/// `init` unavailable to enforce nonnull fields, see the `make` class method. -- (instancetype)init NS_UNAVAILABLE; -+ (instancetype)makeWithUid:(NSString *)uid - email:(nullable NSString *)email - displayName:(nullable NSString *)displayName - photoUrl:(nullable NSString *)photoUrl - phoneNumber:(nullable NSString *)phoneNumber - isAnonymous:(BOOL)isAnonymous - isEmailVerified:(BOOL)isEmailVerified - providerId:(nullable NSString *)providerId - tenantId:(nullable NSString *)tenantId - refreshToken:(nullable NSString *)refreshToken - creationTimestamp:(nullable NSNumber *)creationTimestamp - lastSignInTimestamp:(nullable NSNumber *)lastSignInTimestamp; -@property(nonatomic, copy) NSString *uid; -@property(nonatomic, copy, nullable) NSString *email; -@property(nonatomic, copy, nullable) NSString *displayName; -@property(nonatomic, copy, nullable) NSString *photoUrl; -@property(nonatomic, copy, nullable) NSString *phoneNumber; -@property(nonatomic, assign) BOOL isAnonymous; -@property(nonatomic, assign) BOOL isEmailVerified; -@property(nonatomic, copy, nullable) NSString *providerId; -@property(nonatomic, copy, nullable) NSString *tenantId; -@property(nonatomic, copy, nullable) NSString *refreshToken; -@property(nonatomic, strong, nullable) NSNumber *creationTimestamp; -@property(nonatomic, strong, nullable) NSNumber *lastSignInTimestamp; -@end - -@interface InternalUserDetails : NSObject -/// `init` unavailable to enforce nonnull fields, see the `make` class method. -- (instancetype)init NS_UNAVAILABLE; -+ (instancetype)makeWithUserInfo:(InternalUserInfo *)userInfo - providerData:(NSArray *> *)providerData; -@property(nonatomic, strong) InternalUserInfo *userInfo; -@property(nonatomic, copy) NSArray *> *providerData; -@end - -@interface InternalUserCredential : NSObject -+ (instancetype)makeWithUser:(nullable InternalUserDetails *)user - additionalUserInfo:(nullable InternalAdditionalUserInfo *)additionalUserInfo - credential:(nullable InternalAuthCredential *)credential; -@property(nonatomic, strong, nullable) InternalUserDetails *user; -@property(nonatomic, strong, nullable) InternalAdditionalUserInfo *additionalUserInfo; -@property(nonatomic, strong, nullable) InternalAuthCredential *credential; -@end - -@interface InternalAuthCredentialInput : NSObject -/// `init` unavailable to enforce nonnull fields, see the `make` class method. -- (instancetype)init NS_UNAVAILABLE; -+ (instancetype)makeWithProviderId:(NSString *)providerId - signInMethod:(NSString *)signInMethod - token:(nullable NSString *)token - accessToken:(nullable NSString *)accessToken; -@property(nonatomic, copy) NSString *providerId; -@property(nonatomic, copy) NSString *signInMethod; -@property(nonatomic, copy, nullable) NSString *token; -@property(nonatomic, copy, nullable) NSString *accessToken; -@end - -@interface InternalActionCodeSettings : NSObject -/// `init` unavailable to enforce nonnull fields, see the `make` class method. -- (instancetype)init NS_UNAVAILABLE; -+ (instancetype)makeWithUrl:(NSString *)url - dynamicLinkDomain:(nullable NSString *)dynamicLinkDomain - handleCodeInApp:(BOOL)handleCodeInApp - iOSBundleId:(nullable NSString *)iOSBundleId - androidPackageName:(nullable NSString *)androidPackageName - androidInstallApp:(BOOL)androidInstallApp - androidMinimumVersion:(nullable NSString *)androidMinimumVersion - linkDomain:(nullable NSString *)linkDomain; -@property(nonatomic, copy) NSString *url; -@property(nonatomic, copy, nullable) NSString *dynamicLinkDomain; -@property(nonatomic, assign) BOOL handleCodeInApp; -@property(nonatomic, copy, nullable) NSString *iOSBundleId; -@property(nonatomic, copy, nullable) NSString *androidPackageName; -@property(nonatomic, assign) BOOL androidInstallApp; -@property(nonatomic, copy, nullable) NSString *androidMinimumVersion; -@property(nonatomic, copy, nullable) NSString *linkDomain; -@end - -@interface InternalFirebaseAuthSettings : NSObject -/// `init` unavailable to enforce nonnull fields, see the `make` class method. -- (instancetype)init NS_UNAVAILABLE; -+ (instancetype)makeWithAppVerificationDisabledForTesting:(BOOL)appVerificationDisabledForTesting - userAccessGroup:(nullable NSString *)userAccessGroup - phoneNumber:(nullable NSString *)phoneNumber - smsCode:(nullable NSString *)smsCode - forceRecaptchaFlow:(nullable NSNumber *)forceRecaptchaFlow; -@property(nonatomic, assign) BOOL appVerificationDisabledForTesting; -@property(nonatomic, copy, nullable) NSString *userAccessGroup; -@property(nonatomic, copy, nullable) NSString *phoneNumber; -@property(nonatomic, copy, nullable) NSString *smsCode; -@property(nonatomic, strong, nullable) NSNumber *forceRecaptchaFlow; -@end - -@interface InternalSignInProvider : NSObject -/// `init` unavailable to enforce nonnull fields, see the `make` class method. -- (instancetype)init NS_UNAVAILABLE; -+ (instancetype)makeWithProviderId:(NSString *)providerId - scopes:(nullable NSArray *)scopes - customParameters: - (nullable NSDictionary *)customParameters; -@property(nonatomic, copy) NSString *providerId; -@property(nonatomic, copy, nullable) NSArray *scopes; -@property(nonatomic, copy, nullable) NSDictionary *customParameters; -@end - -@interface InternalVerifyPhoneNumberRequest : NSObject -/// `init` unavailable to enforce nonnull fields, see the `make` class method. -- (instancetype)init NS_UNAVAILABLE; -+ (instancetype)makeWithPhoneNumber:(nullable NSString *)phoneNumber - timeout:(NSInteger)timeout - forceResendingToken:(nullable NSNumber *)forceResendingToken - autoRetrievedSmsCodeForTesting:(nullable NSString *)autoRetrievedSmsCodeForTesting - multiFactorInfoId:(nullable NSString *)multiFactorInfoId - multiFactorSessionId:(nullable NSString *)multiFactorSessionId; -@property(nonatomic, copy, nullable) NSString *phoneNumber; -@property(nonatomic, assign) NSInteger timeout; -@property(nonatomic, strong, nullable) NSNumber *forceResendingToken; -@property(nonatomic, copy, nullable) NSString *autoRetrievedSmsCodeForTesting; -@property(nonatomic, copy, nullable) NSString *multiFactorInfoId; -@property(nonatomic, copy, nullable) NSString *multiFactorSessionId; -@end - -@interface InternalIdTokenResult : NSObject -+ (instancetype)makeWithToken:(nullable NSString *)token - expirationTimestamp:(nullable NSNumber *)expirationTimestamp - authTimestamp:(nullable NSNumber *)authTimestamp - issuedAtTimestamp:(nullable NSNumber *)issuedAtTimestamp - signInProvider:(nullable NSString *)signInProvider - claims:(nullable NSDictionary *)claims - signInSecondFactor:(nullable NSString *)signInSecondFactor; -@property(nonatomic, copy, nullable) NSString *token; -@property(nonatomic, strong, nullable) NSNumber *expirationTimestamp; -@property(nonatomic, strong, nullable) NSNumber *authTimestamp; -@property(nonatomic, strong, nullable) NSNumber *issuedAtTimestamp; -@property(nonatomic, copy, nullable) NSString *signInProvider; -@property(nonatomic, copy, nullable) NSDictionary *claims; -@property(nonatomic, copy, nullable) NSString *signInSecondFactor; -@end - -@interface InternalUserProfile : NSObject -/// `init` unavailable to enforce nonnull fields, see the `make` class method. -- (instancetype)init NS_UNAVAILABLE; -+ (instancetype)makeWithDisplayName:(nullable NSString *)displayName - photoUrl:(nullable NSString *)photoUrl - displayNameChanged:(BOOL)displayNameChanged - photoUrlChanged:(BOOL)photoUrlChanged; -@property(nonatomic, copy, nullable) NSString *displayName; -@property(nonatomic, copy, nullable) NSString *photoUrl; -@property(nonatomic, assign) BOOL displayNameChanged; -@property(nonatomic, assign) BOOL photoUrlChanged; -@end - -@interface InternalTotpSecret : NSObject -/// `init` unavailable to enforce nonnull fields, see the `make` class method. -- (instancetype)init NS_UNAVAILABLE; -+ (instancetype)makeWithCodeIntervalSeconds:(nullable NSNumber *)codeIntervalSeconds - codeLength:(nullable NSNumber *)codeLength - enrollmentCompletionDeadline:(nullable NSNumber *)enrollmentCompletionDeadline - hashingAlgorithm:(nullable NSString *)hashingAlgorithm - secretKey:(NSString *)secretKey; -@property(nonatomic, strong, nullable) NSNumber *codeIntervalSeconds; -@property(nonatomic, strong, nullable) NSNumber *codeLength; -@property(nonatomic, strong, nullable) NSNumber *enrollmentCompletionDeadline; -@property(nonatomic, copy, nullable) NSString *hashingAlgorithm; -@property(nonatomic, copy) NSString *secretKey; -@end - -/// The codec used by all APIs. -NSObject *nullGetFirebaseAuthMessagesCodec(void); - -@protocol FirebaseAuthHostApi -- (void)registerIdTokenListenerApp:(AuthPigeonFirebaseApp *)app - completion: - (void (^)(NSString *_Nullable, FlutterError *_Nullable))completion; -- (void)registerAuthStateListenerApp:(AuthPigeonFirebaseApp *)app - completion: - (void (^)(NSString *_Nullable, FlutterError *_Nullable))completion; -- (void)useEmulatorApp:(AuthPigeonFirebaseApp *)app - host:(NSString *)host - port:(NSInteger)port - completion:(void (^)(FlutterError *_Nullable))completion; -- (void)applyActionCodeApp:(AuthPigeonFirebaseApp *)app - code:(NSString *)code - completion:(void (^)(FlutterError *_Nullable))completion; -- (void)checkActionCodeApp:(AuthPigeonFirebaseApp *)app - code:(NSString *)code - completion:(void (^)(InternalActionCodeInfo *_Nullable, - FlutterError *_Nullable))completion; -- (void)confirmPasswordResetApp:(AuthPigeonFirebaseApp *)app - code:(NSString *)code - newPassword:(NSString *)newPassword - completion:(void (^)(FlutterError *_Nullable))completion; -- (void)createUserWithEmailAndPasswordApp:(AuthPigeonFirebaseApp *)app - email:(NSString *)email - password:(NSString *)password - completion:(void (^)(InternalUserCredential *_Nullable, - FlutterError *_Nullable))completion; -- (void)signInAnonymouslyApp:(AuthPigeonFirebaseApp *)app - completion:(void (^)(InternalUserCredential *_Nullable, - FlutterError *_Nullable))completion; -- (void)signInWithCredentialApp:(AuthPigeonFirebaseApp *)app - input:(NSDictionary *)input - completion:(void (^)(InternalUserCredential *_Nullable, - FlutterError *_Nullable))completion; -- (void)signInWithCustomTokenApp:(AuthPigeonFirebaseApp *)app - token:(NSString *)token - completion:(void (^)(InternalUserCredential *_Nullable, - FlutterError *_Nullable))completion; -- (void)signInWithEmailAndPasswordApp:(AuthPigeonFirebaseApp *)app - email:(NSString *)email - password:(NSString *)password - completion:(void (^)(InternalUserCredential *_Nullable, - FlutterError *_Nullable))completion; -- (void)signInWithEmailLinkApp:(AuthPigeonFirebaseApp *)app - email:(NSString *)email - emailLink:(NSString *)emailLink - completion:(void (^)(InternalUserCredential *_Nullable, - FlutterError *_Nullable))completion; -- (void)signInWithProviderApp:(AuthPigeonFirebaseApp *)app - signInProvider:(InternalSignInProvider *)signInProvider - completion:(void (^)(InternalUserCredential *_Nullable, - FlutterError *_Nullable))completion; -- (void)signOutApp:(AuthPigeonFirebaseApp *)app - completion:(void (^)(FlutterError *_Nullable))completion; -- (void)fetchSignInMethodsForEmailApp:(AuthPigeonFirebaseApp *)app - email:(NSString *)email - completion:(void (^)(NSArray *_Nullable, - FlutterError *_Nullable))completion; -- (void)sendPasswordResetEmailApp:(AuthPigeonFirebaseApp *)app - email:(NSString *)email - actionCodeSettings:(nullable InternalActionCodeSettings *)actionCodeSettings - completion:(void (^)(FlutterError *_Nullable))completion; -- (void)sendSignInLinkToEmailApp:(AuthPigeonFirebaseApp *)app - email:(NSString *)email - actionCodeSettings:(InternalActionCodeSettings *)actionCodeSettings - completion:(void (^)(FlutterError *_Nullable))completion; -- (void)setLanguageCodeApp:(AuthPigeonFirebaseApp *)app - languageCode:(nullable NSString *)languageCode - completion:(void (^)(NSString *_Nullable, FlutterError *_Nullable))completion; -- (void)setSettingsApp:(AuthPigeonFirebaseApp *)app - settings:(InternalFirebaseAuthSettings *)settings - completion:(void (^)(FlutterError *_Nullable))completion; -- (void)verifyPasswordResetCodeApp:(AuthPigeonFirebaseApp *)app - code:(NSString *)code - completion: - (void (^)(NSString *_Nullable, FlutterError *_Nullable))completion; -- (void)verifyPhoneNumberApp:(AuthPigeonFirebaseApp *)app - request:(InternalVerifyPhoneNumberRequest *)request - completion:(void (^)(NSString *_Nullable, FlutterError *_Nullable))completion; -- (void)revokeTokenWithAuthorizationCodeApp:(AuthPigeonFirebaseApp *)app - authorizationCode:(NSString *)authorizationCode - completion:(void (^)(FlutterError *_Nullable))completion; -- (void)revokeAccessTokenApp:(AuthPigeonFirebaseApp *)app - accessToken:(NSString *)accessToken - completion:(void (^)(FlutterError *_Nullable))completion; -- (void)initializeRecaptchaConfigApp:(AuthPigeonFirebaseApp *)app - completion:(void (^)(FlutterError *_Nullable))completion; -@end - -extern void SetUpFirebaseAuthHostApi(id binaryMessenger, - NSObject *_Nullable api); - -extern void SetUpFirebaseAuthHostApiWithSuffix(id binaryMessenger, - NSObject *_Nullable api, - NSString *messageChannelSuffix); - -@protocol FirebaseAuthUserHostApi -- (void)deleteApp:(AuthPigeonFirebaseApp *)app - completion:(void (^)(FlutterError *_Nullable))completion; -- (void)getIdTokenApp:(AuthPigeonFirebaseApp *)app - forceRefresh:(BOOL)forceRefresh - completion: - (void (^)(InternalIdTokenResult *_Nullable, FlutterError *_Nullable))completion; -- (void)linkWithCredentialApp:(AuthPigeonFirebaseApp *)app - input:(NSDictionary *)input - completion:(void (^)(InternalUserCredential *_Nullable, - FlutterError *_Nullable))completion; -- (void)linkWithProviderApp:(AuthPigeonFirebaseApp *)app - signInProvider:(InternalSignInProvider *)signInProvider - completion:(void (^)(InternalUserCredential *_Nullable, - FlutterError *_Nullable))completion; -- (void)reauthenticateWithCredentialApp:(AuthPigeonFirebaseApp *)app - input:(NSDictionary *)input - completion:(void (^)(InternalUserCredential *_Nullable, - FlutterError *_Nullable))completion; -- (void)reauthenticateWithProviderApp:(AuthPigeonFirebaseApp *)app - signInProvider:(InternalSignInProvider *)signInProvider - completion:(void (^)(InternalUserCredential *_Nullable, - FlutterError *_Nullable))completion; -- (void)reloadApp:(AuthPigeonFirebaseApp *)app - completion:(void (^)(InternalUserDetails *_Nullable, FlutterError *_Nullable))completion; -- (void)sendEmailVerificationApp:(AuthPigeonFirebaseApp *)app - actionCodeSettings:(nullable InternalActionCodeSettings *)actionCodeSettings - completion:(void (^)(FlutterError *_Nullable))completion; -- (void)unlinkApp:(AuthPigeonFirebaseApp *)app - providerId:(NSString *)providerId - completion:(void (^)(InternalUserCredential *_Nullable, FlutterError *_Nullable))completion; -- (void)updateEmailApp:(AuthPigeonFirebaseApp *)app - newEmail:(NSString *)newEmail - completion: - (void (^)(InternalUserDetails *_Nullable, FlutterError *_Nullable))completion; -- (void)updatePasswordApp:(AuthPigeonFirebaseApp *)app - newPassword:(NSString *)newPassword - completion: - (void (^)(InternalUserDetails *_Nullable, FlutterError *_Nullable))completion; -- (void)updatePhoneNumberApp:(AuthPigeonFirebaseApp *)app - input:(NSDictionary *)input - completion: - (void (^)(InternalUserDetails *_Nullable, FlutterError *_Nullable))completion; -- (void)updateProfileApp:(AuthPigeonFirebaseApp *)app - profile:(InternalUserProfile *)profile - completion: - (void (^)(InternalUserDetails *_Nullable, FlutterError *_Nullable))completion; -- (void)verifyBeforeUpdateEmailApp:(AuthPigeonFirebaseApp *)app - newEmail:(NSString *)newEmail - actionCodeSettings:(nullable InternalActionCodeSettings *)actionCodeSettings - completion:(void (^)(FlutterError *_Nullable))completion; -@end - -extern void SetUpFirebaseAuthUserHostApi(id binaryMessenger, - NSObject *_Nullable api); - -extern void SetUpFirebaseAuthUserHostApiWithSuffix(id binaryMessenger, - NSObject *_Nullable api, - NSString *messageChannelSuffix); - -@protocol MultiFactorUserHostApi -- (void)enrollPhoneApp:(AuthPigeonFirebaseApp *)app - assertion:(InternalPhoneMultiFactorAssertion *)assertion - displayName:(nullable NSString *)displayName - completion:(void (^)(FlutterError *_Nullable))completion; -- (void)enrollTotpApp:(AuthPigeonFirebaseApp *)app - assertionId:(NSString *)assertionId - displayName:(nullable NSString *)displayName - completion:(void (^)(FlutterError *_Nullable))completion; -- (void)getSessionApp:(AuthPigeonFirebaseApp *)app - completion: - (void (^)(InternalMultiFactorSession *_Nullable, FlutterError *_Nullable))completion; -- (void)unenrollApp:(AuthPigeonFirebaseApp *)app - factorUid:(NSString *)factorUid - completion:(void (^)(FlutterError *_Nullable))completion; -- (void)getEnrolledFactorsApp:(AuthPigeonFirebaseApp *)app - completion:(void (^)(NSArray *_Nullable, - FlutterError *_Nullable))completion; -@end - -extern void SetUpMultiFactorUserHostApi(id binaryMessenger, - NSObject *_Nullable api); - -extern void SetUpMultiFactorUserHostApiWithSuffix(id binaryMessenger, - NSObject *_Nullable api, - NSString *messageChannelSuffix); - -@protocol MultiFactoResolverHostApi -- (void)resolveSignInResolverId:(NSString *)resolverId - assertion:(nullable InternalPhoneMultiFactorAssertion *)assertion - totpAssertionId:(nullable NSString *)totpAssertionId - completion:(void (^)(InternalUserCredential *_Nullable, - FlutterError *_Nullable))completion; -@end - -extern void SetUpMultiFactoResolverHostApi(id binaryMessenger, - NSObject *_Nullable api); - -extern void SetUpMultiFactoResolverHostApiWithSuffix( - id binaryMessenger, NSObject *_Nullable api, - NSString *messageChannelSuffix); - -@protocol MultiFactorTotpHostApi -- (void)generateSecretSessionId:(NSString *)sessionId - completion:(void (^)(InternalTotpSecret *_Nullable, - FlutterError *_Nullable))completion; -- (void)getAssertionForEnrollmentSecretKey:(NSString *)secretKey - oneTimePassword:(NSString *)oneTimePassword - completion:(void (^)(NSString *_Nullable, - FlutterError *_Nullable))completion; -- (void)getAssertionForSignInEnrollmentId:(NSString *)enrollmentId - oneTimePassword:(NSString *)oneTimePassword - completion:(void (^)(NSString *_Nullable, - FlutterError *_Nullable))completion; -@end - -extern void SetUpMultiFactorTotpHostApi(id binaryMessenger, - NSObject *_Nullable api); - -extern void SetUpMultiFactorTotpHostApiWithSuffix(id binaryMessenger, - NSObject *_Nullable api, - NSString *messageChannelSuffix); - -@protocol MultiFactorTotpSecretHostApi -- (void)generateQrCodeUrlSecretKey:(NSString *)secretKey - accountName:(nullable NSString *)accountName - issuer:(nullable NSString *)issuer - completion: - (void (^)(NSString *_Nullable, FlutterError *_Nullable))completion; -- (void)openInOtpAppSecretKey:(NSString *)secretKey - qrCodeUrl:(NSString *)qrCodeUrl - completion:(void (^)(FlutterError *_Nullable))completion; -@end - -extern void SetUpMultiFactorTotpSecretHostApi( - id binaryMessenger, - NSObject *_Nullable api); - -extern void SetUpMultiFactorTotpSecretHostApiWithSuffix( - id binaryMessenger, - NSObject *_Nullable api, NSString *messageChannelSuffix); - -/// Only used to generate the object interface that are use outside of the Pigeon interface -@protocol GenerateInterfaces -- (void)pigeonInterfaceInfo:(InternalMultiFactorInfo *)info - error:(FlutterError *_Nullable *_Nonnull)error; -@end - -extern void SetUpGenerateInterfaces(id binaryMessenger, - NSObject *_Nullable api); - -extern void SetUpGenerateInterfacesWithSuffix(id binaryMessenger, - NSObject *_Nullable api, - NSString *messageChannelSuffix); - -NS_ASSUME_NONNULL_END diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/pubspec.yaml b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/pubspec.yaml deleted file mode 100755 index ed5194bd..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/pubspec.yaml +++ /dev/null @@ -1,52 +0,0 @@ -name: firebase_auth -description: Flutter plugin for Firebase Auth, enabling - authentication using passwords, phone numbers and identity providers - like Google, Facebook and Twitter. -homepage: https://firebase.google.com/docs/auth -repository: https://github.com/firebase/flutterfire/tree/main/packages/firebase_auth/firebase_auth -version: 6.5.4 -resolution: workspace -topics: - - firebase - - authentication - - identity - - sign-in - - sign-up - -false_secrets: - - example/** - -environment: - sdk: '^3.6.0' - flutter: '>=3.16.0' - -dependencies: - firebase_auth_platform_interface: ^9.0.3 - firebase_auth_web: ^6.2.3 - firebase_core: ^4.11.0 - firebase_core_platform_interface: ^7.1.0 - flutter: - sdk: flutter - meta: ^1.8.0 -dev_dependencies: - async: ^2.5.0 - flutter_test: - sdk: flutter - mockito: ^5.0.0 - plugin_platform_interface: ^2.1.3 - -flutter: - plugin: - platforms: - android: - package: io.flutter.plugins.firebase.auth - pluginClass: FlutterFirebaseAuthPlugin - ios: - pluginClass: FLTFirebaseAuthPlugin - macos: - pluginClass: FLTFirebaseAuthPlugin - web: - default_package: firebase_auth_web - windows: - pluginClass: FirebaseAuthPluginCApi - diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/test/firebase_auth_test.dart b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/test/firebase_auth_test.dart deleted file mode 100644 index 5e570b0b..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/test/firebase_auth_test.dart +++ /dev/null @@ -1,1382 +0,0 @@ -// ignore_for_file: require_trailing_commas -// Copyright 2020, the Chromium project authors. Please see the AUTHORS file -// for details. All rights reserved. Use of this source code is governed by a -// BSD-style license that can be found in the LICENSE file. - -import 'dart:async'; - -import 'package:async/async.dart'; -import 'package:firebase_auth/firebase_auth.dart'; -import 'package:firebase_auth_platform_interface/firebase_auth_platform_interface.dart'; -import 'package:firebase_auth_platform_interface/src/method_channel/method_channel_firebase_auth.dart'; -import 'package:firebase_core/firebase_core.dart'; -import 'package:flutter/foundation.dart'; -import 'package:flutter_test/flutter_test.dart'; -import 'package:mockito/mockito.dart'; -import 'package:plugin_platform_interface/plugin_platform_interface.dart'; - -import './mock.dart'; - -void main() { - setupFirebaseAuthMocks(); - - late FirebaseAuth auth; - - const String kMockActionCode = '12345'; - const String kMockEmail = 'test@example.com'; - const String kMockPassword = 'passw0rd'; - const String kMockIdToken = '12345'; - const String kMockRawNonce = 'abcde12345'; - const String kMockAccessToken = '67890'; - const String kMockGithubToken = 'github'; - const String kMockCustomToken = '12345'; - const String kMockPhoneNumber = '5555555555'; - const String kMockVerificationId = '12345'; - const String kMockSmsCode = '123456'; - const String kMockLanguage = 'en'; - const String kMockOobCode = 'oobcode'; - const String kMockAuthToken = '12460'; - const String kMockURL = 'http://www.example.com'; - const String kMockHost = 'www.example.com'; - const String kMockValidPassword = - 'Password123!'; // For password policy impl testing - const String kMockInvalidPassword = 'Pa1!'; - const String kMockInvalidPassword2 = 'password123!'; - const String kMockInvalidPassword3 = 'PASSWORD123!'; - const String kMockInvalidPassword4 = 'password!'; - const String kMockInvalidPassword5 = 'Password123'; - const Map kMockPasswordPolicy = { - 'customStrengthOptions': { - 'minPasswordLength': 6, - 'maxPasswordLength': 12, - 'containsLowercaseCharacter': true, - 'containsUppercaseCharacter': true, - 'containsNumericCharacter': true, - 'containsNonAlphanumericCharacter': true, - }, - 'allowedNonAlphanumericCharacters': ['!'], - 'schemaVersion': 1, - 'enforcement': 'OFF', - }; - final PasswordPolicy kMockPasswordPolicyObject = - PasswordPolicy(kMockPasswordPolicy); - const int kMockPort = 31337; - - final TestAuthProvider testAuthProvider = TestAuthProvider(); - final int kMockCreationTimestamp = - DateTime.now().subtract(const Duration(days: 2)).millisecondsSinceEpoch; - final int kMockLastSignInTimestamp = - DateTime.now().subtract(const Duration(days: 1)).millisecondsSinceEpoch; - - final kMockUser = InternalUserDetails( - userInfo: InternalUserInfo( - uid: '12345', - displayName: 'displayName', - creationTimestamp: kMockCreationTimestamp, - lastSignInTimestamp: kMockLastSignInTimestamp, - isAnonymous: true, - isEmailVerified: false, - ), - providerData: [ - { - 'providerId': 'firebase', - 'uid': '12345', - 'displayName': 'Flutter Test User', - 'photoUrl': 'http://www.example.com/', - 'email': 'test@example.com', - } - ], - ); - - late MockUserPlatform mockUserPlatform; - late MockUserCredentialPlatform mockUserCredPlatform; - late MockConfirmationResultPlatform mockConfirmationResultPlatform; - late MockRecaptchaVerifier mockVerifier; - late AdditionalUserInfo mockAdditionalUserInfo; - late EmailAuthCredential mockCredential; - - MockFirebaseAuth mockAuthPlatform = MockFirebaseAuth(); - - group('$FirebaseAuth', () { - InternalUserDetails user; - // used to generate a unique application name for each test - var testCount = 0; - - setUp(() async { - FirebaseAuthPlatform.instance = mockAuthPlatform = MockFirebaseAuth(); - - // Each test uses a unique FirebaseApp instance to avoid sharing state - final app = await Firebase.initializeApp( - name: '$testCount', - options: const FirebaseOptions( - apiKey: '', - appId: '', - messagingSenderId: '', - projectId: '', - ), - ); - - auth = FirebaseAuth.instanceFor(app: app); - user = kMockUser; - - mockUserPlatform = MockUserPlatform( - mockAuthPlatform, TestMultiFactorPlatform(mockAuthPlatform), user); - mockConfirmationResultPlatform = MockConfirmationResultPlatform(); - mockAdditionalUserInfo = AdditionalUserInfo( - isNewUser: false, - username: 'flutterUser', - providerId: 'testProvider', - profile: {'foo': 'bar'}, - ); - mockCredential = EmailAuthProvider.credential( - email: 'test', - password: 'test', - ) as EmailAuthCredential; - mockUserCredPlatform = MockUserCredentialPlatform( - FirebaseAuthPlatform.instance, - mockAdditionalUserInfo, - mockCredential, - mockUserPlatform, - ); - mockVerifier = MockRecaptchaVerifier(); - - when(mockAuthPlatform.signInAnonymously()) - .thenAnswer((_) async => mockUserCredPlatform); - - when(mockAuthPlatform.signInWithCredential(any)).thenAnswer( - (_) => Future.value(mockUserCredPlatform)); - - when(mockAuthPlatform.currentUser).thenReturn(mockUserPlatform); - - when(mockAuthPlatform.instanceFor( - app: anyNamed('app'), - pluginConstants: anyNamed('pluginConstants'), - )).thenAnswer((_) => mockUserPlatform); - - when(mockAuthPlatform.delegateFor( - app: anyNamed('app'), - )).thenAnswer((_) => mockAuthPlatform); - - when(mockAuthPlatform.setInitialValues( - currentUser: anyNamed('currentUser'), - languageCode: anyNamed('languageCode'), - )).thenAnswer((_) => mockAuthPlatform); - - when(mockAuthPlatform.createUserWithEmailAndPassword(any, any)) - .thenAnswer((_) async => mockUserCredPlatform); - - when(mockAuthPlatform.getRedirectResult()) - .thenAnswer((_) async => mockUserCredPlatform); - - when(mockAuthPlatform.signInWithCustomToken(any)) - .thenAnswer((_) async => mockUserCredPlatform); - - when(mockAuthPlatform.signInWithEmailAndPassword(any, any)) - .thenAnswer((_) async => mockUserCredPlatform); - - when(mockAuthPlatform.signInWithEmailLink(any, any)) - .thenAnswer((_) async => mockUserCredPlatform); - - when(mockAuthPlatform.signInWithPhoneNumber(any, any)) - .thenAnswer((_) async => mockConfirmationResultPlatform); - - when(mockVerifier.delegate).thenReturn(mockVerifier.mockDelegate); - - when(mockAuthPlatform.signInWithPopup(any)) - .thenAnswer((_) async => mockUserCredPlatform); - - when(mockAuthPlatform.signInWithRedirect(any)) - .thenAnswer((_) async => mockUserCredPlatform); - - when(mockAuthPlatform.authStateChanges()).thenAnswer((_) => - Stream.fromIterable([mockUserPlatform])); - - when(mockAuthPlatform.idTokenChanges()).thenAnswer((_) => - Stream.fromIterable([mockUserPlatform])); - - when(mockAuthPlatform.userChanges()).thenAnswer((_) => - Stream.fromIterable([mockUserPlatform])); - - TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger - .setMockMethodCallHandler(MethodChannelFirebaseAuth.channel, - (call) async { - return {'user': user}; - }); - }); - - // incremented after tests completed, in case a test may want to use this - // value for an assertion (toString) - tearDown(() => testCount++); - - setUp(() async { - user = kMockUser; - await auth.signInAnonymously(); - }); - - group('emulator', () { - test('useAuthEmulator() should call delegate method', () async { - // Necessary as we otherwise get a "null is not a Future" error - when(mockAuthPlatform.useAuthEmulator(kMockHost, kMockPort)) - .thenAnswer((i) async {}); - await auth.useAuthEmulator(kMockHost, kMockPort); - verify(mockAuthPlatform.useAuthEmulator(kMockHost, kMockPort)); - }); - }); - - group('currentUser', () { - test('get currentUser', () { - User? user = auth.currentUser; - verify(mockAuthPlatform.currentUser); - expect(user, isA()); - }); - }); - - test('creates a fresh instance after app delete and reinitialize', - () async { - final appName = 'delete-reinit-$testCount'; - const options = FirebaseOptions( - apiKey: 'apiKey', - appId: 'appId', - messagingSenderId: 'messagingSenderId', - projectId: 'projectId', - ); - final app = await Firebase.initializeApp( - name: appName, - options: options, - ); - final auth1 = FirebaseAuth.instanceFor(app: app); - - expect(app.getService(), same(auth1)); - - await app.delete(); - - final app2 = await Firebase.initializeApp( - name: appName, - options: options, - ); - addTearDown(app2.delete); - - final auth2 = FirebaseAuth.instanceFor(app: app2); - - expect(auth2, isNot(same(auth1))); - expect(auth2.app, app2); - expect(app2.getService(), same(auth2)); - }); - - group('tenantId', () { - test('set tenantId should call delegate method', () async { - // Each test uses a unique FirebaseApp instance to avoid sharing state - final app = await Firebase.initializeApp( - name: 'tenantIdTest', - options: const FirebaseOptions( - apiKey: 'apiKey', - appId: 'appId', - messagingSenderId: 'messagingSenderId', - projectId: 'projectId')); - - FirebaseAuthPlatform.instance = - FakeFirebaseAuthPlatform(tenantId: 'foo'); - auth = FirebaseAuth.instanceFor(app: app); - - expect(auth.tenantId, 'foo'); - - auth.tenantId = 'bar'; - - expect(auth.tenantId, 'bar'); - expect(FirebaseAuthPlatform.instance.tenantId, 'bar'); - }); - }); - - group('customAuthDomain', () { - test('set customAuthDomain should call delegate method', () async { - // Each test uses a unique FirebaseApp instance to avoid sharing state - final app = await Firebase.initializeApp( - name: 'customAuthDomainTest', - options: const FirebaseOptions( - apiKey: 'apiKey', - appId: 'appId', - messagingSenderId: 'messagingSenderId', - projectId: 'projectId')); - - FirebaseAuthPlatform.instance = - FakeFirebaseAuthPlatform(customAuthDomain: 'foo'); - auth = FirebaseAuth.instanceFor(app: app); - - expect(auth.customAuthDomain, 'foo'); - if (defaultTargetPlatform == TargetPlatform.windows || kIsWeb) { - try { - auth.customAuthDomain = 'bar'; - } on UnimplementedError catch (e) { - expect(e.message, contains('Cannot set auth domain')); - } - } else { - auth.customAuthDomain = 'bar'; - - expect(auth.customAuthDomain, 'bar'); - expect(FirebaseAuthPlatform.instance.customAuthDomain, 'bar'); - } - }); - }); - - group('languageCode', () { - test('.languageCode should call delegate method', () { - auth.languageCode; - verify(mockAuthPlatform.languageCode); - }); - - test('setLanguageCode() should call delegate method', () async { - // Necessary as we otherwise get a "null is not a Future" error - when(mockAuthPlatform.setLanguageCode(any)).thenAnswer((i) async {}); - - await auth.setLanguageCode(kMockLanguage); - verify(mockAuthPlatform.setLanguageCode(kMockLanguage)); - }); - }); - - group('checkActionCode()', () { - test('should call delegate method', () async { - // Necessary as we otherwise get a "null is not a Future" error - when(mockAuthPlatform.checkActionCode(any)).thenAnswer( - (i) async => ActionCodeInfo( - data: ActionCodeInfoData(email: null, previousEmail: null), - operation: ActionCodeInfoOperation.unknown, - ), - ); - - await auth.checkActionCode(kMockActionCode); - verify(mockAuthPlatform.checkActionCode(kMockActionCode)); - }); - }); - - group('confirmPasswordReset()', () { - test('should call delegate method', () async { - // Necessary as we otherwise get a "null is not a Future" error - when(mockAuthPlatform.confirmPasswordReset(any, any)) - .thenAnswer((i) async {}); - - await auth.confirmPasswordReset( - code: kMockActionCode, - newPassword: kMockPassword, - ); - verify(mockAuthPlatform.confirmPasswordReset( - kMockActionCode, kMockPassword)); - }); - }); - - group('createUserWithEmailAndPassword()', () { - test('should call delegate method', () async { - // Necessary as we otherwise get a "null is not a Future" error - when(mockAuthPlatform.createUserWithEmailAndPassword(any, any)) - .thenAnswer((i) async => EmptyUserCredentialPlatform()); - - await auth.createUserWithEmailAndPassword( - email: kMockEmail, - password: kMockPassword, - ); - - verify(mockAuthPlatform.createUserWithEmailAndPassword( - kMockEmail, - kMockPassword, - )); - }); - }); - - group('getRedirectResult()', () { - test('should call delegate method', () async { - // Necessary as we otherwise get a "null is not a Future" error - when(mockAuthPlatform.getRedirectResult()) - .thenAnswer((i) async => EmptyUserCredentialPlatform()); - - await auth.getRedirectResult(); - verify(mockAuthPlatform.getRedirectResult()); - }); - }); - - group('isSignInWithEmailLink()', () { - test('should call delegate method', () async { - // Necessary as we otherwise get a "null is not a Future" error - when(mockAuthPlatform.isSignInWithEmailLink(any)) - .thenAnswer((i) => false); - - auth.isSignInWithEmailLink(kMockURL); - verify(mockAuthPlatform.isSignInWithEmailLink(kMockURL)); - }); - }); - - group('authStateChanges()', () { - test('should stream changes', () async { - final StreamQueue changes = - StreamQueue(auth.authStateChanges()); - expect(await changes.next, isA()); - }); - }); - - group('idTokenChanges()', () { - test('should stream changes', () async { - final StreamQueue changes = - StreamQueue(auth.idTokenChanges()); - expect(await changes.next, isA()); - }); - }); - - group('userChanges()', () { - test('should stream changes', () async { - final StreamQueue changes = - StreamQueue(auth.userChanges()); - expect(await changes.next, isA()); - }); - }); - - group('sendPasswordResetEmail()', () { - test('should call delegate method', () async { - // Necessary as we otherwise get a "null is not a Future" error - when(mockAuthPlatform.sendPasswordResetEmail(any)) - .thenAnswer((i) async {}); - - await auth.sendPasswordResetEmail(email: kMockEmail); - verify(mockAuthPlatform.sendPasswordResetEmail(kMockEmail)); - }); - }); - - group('sendPasswordResetEmail()', () { - test('should call delegate method', () async { - // Necessary as we otherwise get a "null is not a Future" error - when(mockAuthPlatform.sendPasswordResetEmail(any)) - .thenAnswer((i) async {}); - - await auth.sendPasswordResetEmail(email: kMockEmail); - verify(mockAuthPlatform.sendPasswordResetEmail(kMockEmail)); - }); - }); - - group('sendSignInLinkToEmail()', () { - test('should throw if actionCodeSettings.handleCodeInApp is not true', - () async { - // Necessary as we otherwise get a "null is not a Future" error - when(mockAuthPlatform.sendSignInLinkToEmail(any, any)) - .thenAnswer((i) async {}); - - final ActionCodeSettings kMockActionCodeSettingsNull = - ActionCodeSettings(url: kMockURL); - final ActionCodeSettings kMockActionCodeSettingsFalse = - ActionCodeSettings(url: kMockURL); - - // when handleCodeInApp is null - expect( - () => auth.sendSignInLinkToEmail( - email: kMockEmail, - actionCodeSettings: kMockActionCodeSettingsNull), - throwsArgumentError, - ); - // when handleCodeInApp is false - expect( - () => auth.sendSignInLinkToEmail( - email: kMockEmail, - actionCodeSettings: kMockActionCodeSettingsFalse), - throwsArgumentError, - ); - }); - - test('should call delegate method', () async { - // Necessary as we otherwise get a "null is not a Future" error - when(mockAuthPlatform.sendSignInLinkToEmail(any, any)) - .thenAnswer((i) async {}); - - final ActionCodeSettings kMockActionCodeSettingsValid = - ActionCodeSettings(url: kMockURL, handleCodeInApp: true); - - await auth.sendSignInLinkToEmail( - email: kMockEmail, - actionCodeSettings: kMockActionCodeSettingsValid, - ); - - verify(mockAuthPlatform.sendSignInLinkToEmail( - kMockEmail, - kMockActionCodeSettingsValid, - )); - }); - }); - - group('setSettings()', () { - test('should call delegate method', () async { - // Necessary as we otherwise get a "null is not a Future" error - when(mockAuthPlatform.setSettings( - appVerificationDisabledForTesting: any, - phoneNumber: any, - smsCode: any, - forceRecaptchaFlow: any, - userAccessGroup: any, - )).thenAnswer((i) async {}); - - String phoneNumber = '123456'; - String smsCode = '1234'; - bool forceRecaptchaFlow = true; - bool appVerificationDisabledForTesting = true; - String userAccessGroup = 'group-id'; - - await auth.setSettings( - appVerificationDisabledForTesting: appVerificationDisabledForTesting, - phoneNumber: phoneNumber, - smsCode: smsCode, - forceRecaptchaFlow: forceRecaptchaFlow, - userAccessGroup: userAccessGroup, - ); - - verify( - mockAuthPlatform.setSettings( - appVerificationDisabledForTesting: - appVerificationDisabledForTesting, - phoneNumber: phoneNumber, - smsCode: smsCode, - forceRecaptchaFlow: forceRecaptchaFlow, - userAccessGroup: userAccessGroup, - ), - ); - }); - }); - - group('setPersistence()', () { - test('should call delegate method', () async { - // Necessary as we otherwise get a "null is not a Future" error - when(mockAuthPlatform.setPersistence(any)).thenAnswer((i) async {}); - - await auth.setPersistence(Persistence.LOCAL); - verify(mockAuthPlatform.setPersistence(Persistence.LOCAL)); - }); - }); - - group('signInAnonymously()', () { - test('should call delegate method', () async { - // Necessary as we otherwise get a "null is not a Future" error - when(mockAuthPlatform.signInAnonymously()) - .thenAnswer((i) async => EmptyUserCredentialPlatform()); - - await auth.signInAnonymously(); - verify(mockAuthPlatform.signInAnonymously()); - }); - }); - - group('signInWithCredential()', () { - test('GithubAuthProvider signInWithCredential', () async { - final AuthCredential credential = - GithubAuthProvider.credential(kMockGithubToken); - await auth.signInWithCredential(credential); - final captured = - verify(mockAuthPlatform.signInWithCredential(captureAny)) - .captured - .single; - expect(captured, isA()); - expect(captured.providerId, equals('github.com')); - expect(captured.accessToken, equals(kMockGithubToken)); - }); - - test('EmailAuthProvider (withLink) signInWithCredential', () async { - final AuthCredential credential = EmailAuthProvider.credentialWithLink( - email: 'test@example.com', - emailLink: '', - ); - await auth.signInWithCredential(credential); - final EmailAuthCredential captured = - verify(mockAuthPlatform.signInWithCredential(captureAny)) - .captured - .single; - expect(captured.providerId, equals('password')); - expect(captured.email, equals('test@example.com')); - expect(captured.emailLink, - equals('')); - }); - - test('TwitterAuthProvider signInWithCredential', () async { - final AuthCredential credential = TwitterAuthProvider.credential( - accessToken: kMockIdToken, - secret: kMockAccessToken, - ); - await auth.signInWithCredential(credential); - final captured = - verify(mockAuthPlatform.signInWithCredential(captureAny)) - .captured - .single; - expect(captured, isA()); - expect(captured.providerId, equals('twitter.com')); - expect(captured.accessToken, equals(kMockIdToken)); - expect(captured.secret, equals(kMockAccessToken)); - }); - - test('GoogleAuthProvider signInWithCredential', () async { - final credential = GoogleAuthProvider.credential( - idToken: kMockIdToken, - accessToken: kMockAccessToken, - ); - await auth.signInWithCredential(credential); - final captured = - verify(mockAuthPlatform.signInWithCredential(captureAny)) - .captured - .single; - expect(captured, isA()); - expect(captured.providerId, equals('google.com')); - expect(captured.idToken, equals(kMockIdToken)); - expect(captured.accessToken, equals(kMockAccessToken)); - }); - - test('OAuthProvider signInWithCredential for Apple', () async { - OAuthProvider oAuthProvider = OAuthProvider('apple.com'); - final AuthCredential credential = oAuthProvider.credential( - idToken: kMockIdToken, - accessToken: kMockAccessToken, - ); - await auth.signInWithCredential(credential); - final captured = - verify(mockAuthPlatform.signInWithCredential(captureAny)) - .captured - .single; - expect(captured.providerId, equals('apple.com')); - expect(captured.idToken, equals(kMockIdToken)); - expect(captured.accessToken, equals(kMockAccessToken)); - expect(captured.rawNonce, equals(null)); - }); - - test('OAuthProvider signInWithCredential for Apple with rawNonce', - () async { - OAuthProvider oAuthProvider = OAuthProvider('apple.com'); - final AuthCredential credential = oAuthProvider.credential( - idToken: kMockIdToken, - rawNonce: kMockRawNonce, - accessToken: kMockAccessToken, - ); - await auth.signInWithCredential(credential); - final captured = - verify(mockAuthPlatform.signInWithCredential(captureAny)) - .captured - .single; - expect(captured.providerId, equals('apple.com')); - expect(captured.idToken, equals(kMockIdToken)); - expect(captured.rawNonce, equals(kMockRawNonce)); - expect(captured.accessToken, equals(kMockAccessToken)); - }); - - test( - 'OAuthProvider signInWithCredential for Apple with rawNonce (empty accessToken)', - () async { - OAuthProvider oAuthProvider = OAuthProvider('apple.com'); - final AuthCredential credential = oAuthProvider.credential( - idToken: kMockIdToken, - rawNonce: kMockRawNonce, - ); - await auth.signInWithCredential(credential); - final captured = - verify(mockAuthPlatform.signInWithCredential(captureAny)) - .captured - .single; - expect(captured.providerId, equals('apple.com')); - expect(captured.idToken, equals(kMockIdToken)); - expect(captured.rawNonce, equals(kMockRawNonce)); - expect(captured.accessToken, equals(null)); - }); - - test('PhoneAuthProvider signInWithCredential', () async { - final PhoneAuthCredential credential = PhoneAuthProvider.credential( - verificationId: kMockVerificationId, - smsCode: kMockSmsCode, - ); - await auth.signInWithCredential(credential); - final PhoneAuthCredential captured = - verify(mockAuthPlatform.signInWithCredential(captureAny)) - .captured - .single; - expect(captured.providerId, equals('phone')); - expect(captured.verificationId, equals(kMockVerificationId)); - expect(captured.smsCode, equals(kMockSmsCode)); - }); - - test('FacebookAuthProvider signInWithCredential', () async { - final AuthCredential credential = - FacebookAuthProvider.credential(kMockAccessToken); - await auth.signInWithCredential(credential); - final captured = - verify(mockAuthPlatform.signInWithCredential(captureAny)) - .captured - .single; - expect(captured, isA()); - expect(captured.providerId, equals('facebook.com')); - expect(captured.accessToken, equals(kMockAccessToken)); - }); - }); - - group('signInWithCustomToken()', () { - test('should call delegate method', () async { - await auth.signInWithCustomToken(kMockCustomToken); - verify(mockAuthPlatform.signInWithCustomToken(kMockCustomToken)); - }); - }); - - group('signInWithEmailAndPassword()', () { - test('should call delegate method', () async { - await auth.signInWithEmailAndPassword( - email: kMockEmail, password: kMockPassword); - verify(mockAuthPlatform.signInWithEmailAndPassword( - kMockEmail, kMockPassword)); - }); - }); - - group('signInWithEmailLink()', () { - test('should call delegate method', () async { - await auth.signInWithEmailLink(email: kMockEmail, emailLink: kMockURL); - verify(mockAuthPlatform.signInWithEmailLink(kMockEmail, kMockURL)); - }); - }); - - group('signInWithPhoneNumber()', () { - test('should call delegate method', () async { - await auth.signInWithPhoneNumber(kMockPhoneNumber, mockVerifier); - verify(mockAuthPlatform.signInWithPhoneNumber(kMockPhoneNumber, any)); - }); - }); - - group('signInWithPopup()', () { - test('should call delegate method', () async { - await auth.signInWithPopup(testAuthProvider); - verify(mockAuthPlatform.signInWithPopup(testAuthProvider)); - }); - }); - - group('signInWithRedirect()', () { - test('should call delegate method', () async { - await auth.signInWithRedirect(testAuthProvider); - verify(mockAuthPlatform.signInWithRedirect(testAuthProvider)); - }); - }); - - group('signOut()', () { - test('should call delegate method', () async { - // Necessary as we otherwise get a "null is not a Future" error - when(mockAuthPlatform.signOut()).thenAnswer((i) async {}); - - await auth.signOut(); - verify(mockAuthPlatform.signOut()); - }); - }); - - group('verifyPasswordResetCode()', () { - test('should call delegate method', () async { - // Necessary as we otherwise get a "null is not a Future" error - when(mockAuthPlatform.verifyPasswordResetCode(any)) - .thenAnswer((i) async => ''); - - await auth.verifyPasswordResetCode(kMockOobCode); - verify(mockAuthPlatform.verifyPasswordResetCode(kMockOobCode)); - }); - }); - - group('verifyPhoneNumber()', () { - test('should call delegate method', () async { - // Necessary as we otherwise get a "null is not a Future" error - when(mockAuthPlatform.verifyPhoneNumber( - autoRetrievedSmsCodeForTesting: - anyNamed('autoRetrievedSmsCodeForTesting'), - codeAutoRetrievalTimeout: anyNamed('codeAutoRetrievalTimeout'), - codeSent: anyNamed('codeSent'), - forceResendingToken: anyNamed('forceResendingToken'), - phoneNumber: anyNamed('phoneNumber'), - timeout: anyNamed('timeout'), - verificationCompleted: anyNamed('verificationCompleted'), - verificationFailed: anyNamed('verificationFailed'), - )).thenAnswer((i) async {}); - - final PhoneVerificationCompleted verificationCompleted = - (PhoneAuthCredential phoneAuthCredential) {}; - final PhoneVerificationFailed verificationFailed = - (FirebaseAuthException authException) {}; - final PhoneCodeSent codeSent = - (String verificationId, [int? forceResendingToken]) async {}; - final PhoneCodeAutoRetrievalTimeout autoRetrievalTimeout = - (String verificationId) {}; - - await auth.verifyPhoneNumber( - phoneNumber: kMockPhoneNumber, - verificationCompleted: verificationCompleted, - verificationFailed: verificationFailed, - codeSent: codeSent, - codeAutoRetrievalTimeout: autoRetrievalTimeout, - ); - - verify( - mockAuthPlatform.verifyPhoneNumber( - phoneNumber: kMockPhoneNumber, - verificationCompleted: verificationCompleted, - verificationFailed: verificationFailed, - codeSent: codeSent, - codeAutoRetrievalTimeout: autoRetrievalTimeout, - ), - ); - }); - }); - - group('revokeAccessToken()', () { - test('should call delegate method', () async { - // Necessary as we otherwise get a "null is not a Future" error - when(mockAuthPlatform.revokeAccessToken(kMockAuthToken)) - .thenAnswer((i) async {}); - - await auth.revokeAccessToken(kMockAuthToken); - verify(mockAuthPlatform.revokeAccessToken(kMockAuthToken)); - }); - }); - - group('passwordPolicy', () { - test('passwordPolicy should be initialized with correct parameters', - () async { - PasswordPolicyImpl passwordPolicy = - PasswordPolicyImpl(kMockPasswordPolicyObject); - expect(passwordPolicy.policy, equals(kMockPasswordPolicyObject)); - }); - - PasswordPolicyImpl passwordPolicy = - PasswordPolicyImpl(kMockPasswordPolicyObject); - - test('should return true for valid password', () async { - final PasswordValidationStatus status = - passwordPolicy.isPasswordValid(kMockValidPassword); - expect(status.isValid, isTrue); - }); - - test('should return false for invalid password that is too short', - () async { - final PasswordValidationStatus status = - passwordPolicy.isPasswordValid(kMockInvalidPassword); - expect(status.isValid, isFalse); - }); - - test( - 'should return false for invalid password with no capital characters', - () async { - final PasswordValidationStatus status = - passwordPolicy.isPasswordValid(kMockInvalidPassword2); - expect(status.isValid, isFalse); - }); - - test( - 'should return false for invalid password with no lowercase characters', - () async { - final PasswordValidationStatus status = - passwordPolicy.isPasswordValid(kMockInvalidPassword3); - expect(status.isValid, isFalse); - }); - - test('should return false for invalid password with no numbers', - () async { - final PasswordValidationStatus status = - passwordPolicy.isPasswordValid(kMockInvalidPassword4); - expect(status.isValid, isFalse); - }); - - test('should return false for invalid password with no symbols', - () async { - final PasswordValidationStatus status = - passwordPolicy.isPasswordValid(kMockInvalidPassword5); - expect(status.isValid, isFalse); - }); - }); - - test('toString()', () async { - expect( - auth.toString(), - equals('FirebaseAuth(app: $testCount)'), - ); - }); - }); -} - -class MockFirebaseAuth extends Mock - with MockPlatformInterfaceMixin - implements TestFirebaseAuthPlatform { - @override - Stream userChanges() { - return super.noSuchMethod( - Invocation.method(#userChanges, []), - returnValue: const Stream.empty(), - returnValueForMissingStub: const Stream.empty(), - ); - } - - @override - Stream idTokenChanges() { - return super.noSuchMethod( - Invocation.method(#idTokenChanges, []), - returnValue: const Stream.empty(), - returnValueForMissingStub: const Stream.empty(), - ); - } - - @override - Stream authStateChanges() { - return super.noSuchMethod( - Invocation.method(#authStateChanges, []), - returnValue: const Stream.empty(), - returnValueForMissingStub: const Stream.empty(), - ); - } - - @override - FirebaseAuthPlatform delegateFor( - {FirebaseApp? app, Persistence? persistence}) { - return super.noSuchMethod( - Invocation.method(#delegateFor, [], {#app: app}), - returnValue: TestFirebaseAuthPlatform(), - returnValueForMissingStub: TestFirebaseAuthPlatform(), - ); - } - - @override - Future createUserWithEmailAndPassword( - String? email, - String? password, - ) { - return super.noSuchMethod( - Invocation.method(#createUserWithEmailAndPassword, [email, password]), - returnValue: neverEndingFuture(), - returnValueForMissingStub: neverEndingFuture(), - ); - } - - @override - Future signInWithPhoneNumber( - String? phoneNumber, - RecaptchaVerifierFactoryPlatform? applicationVerifier, - ) { - return super.noSuchMethod( - Invocation.method( - #signInWithPhoneNumber, - [phoneNumber, applicationVerifier], - ), - returnValue: neverEndingFuture(), - returnValueForMissingStub: - neverEndingFuture(), - ); - } - - @override - Future signInWithCredential( - AuthCredential? credential, - ) { - return super.noSuchMethod( - Invocation.method(#signInWithCredential, [credential]), - returnValue: neverEndingFuture(), - returnValueForMissingStub: neverEndingFuture(), - ); - } - - @override - Future signInWithCustomToken(String? token) { - return super.noSuchMethod( - Invocation.method(#signInWithCustomToken, [token]), - returnValue: neverEndingFuture(), - returnValueForMissingStub: neverEndingFuture(), - ); - } - - @override - Future signInWithEmailAndPassword( - String? email, - String? password, - ) { - return super.noSuchMethod( - Invocation.method(#signInWithEmailAndPassword, [email, password]), - returnValue: neverEndingFuture(), - returnValueForMissingStub: neverEndingFuture(), - ); - } - - @override - Future signInWithPopup(AuthProvider? provider) { - return super.noSuchMethod( - Invocation.method(#signInWithPopup, [provider]), - returnValue: neverEndingFuture(), - returnValueForMissingStub: neverEndingFuture(), - ); - } - - @override - Future signInWithEmailLink( - String? email, - String? emailLink, - ) { - return super.noSuchMethod( - Invocation.method(#signInWithEmailLink, [email, emailLink]), - returnValue: neverEndingFuture(), - returnValueForMissingStub: neverEndingFuture(), - ); - } - - @override - Future signInWithRedirect(AuthProvider? provider) { - return super.noSuchMethod( - Invocation.method(#signInWithRedirect, [provider]), - returnValue: neverEndingFuture(), - returnValueForMissingStub: neverEndingFuture(), - ); - } - - @override - Future signInAnonymously() { - return super.noSuchMethod( - Invocation.method(#signInAnonymously, []), - returnValue: neverEndingFuture(), - returnValueForMissingStub: neverEndingFuture(), - ); - } - - @override - FirebaseAuthPlatform setInitialValues({ - InternalUserDetails? currentUser, - String? languageCode, - }) { - return super.noSuchMethod( - Invocation.method(#signInAnonymously, [], { - #currentUser: currentUser, - #languageCode: languageCode, - }), - returnValue: TestFirebaseAuthPlatform(), - returnValueForMissingStub: TestFirebaseAuthPlatform(), - ); - } - - @override - Future getRedirectResult() { - return super.noSuchMethod( - Invocation.method(#getRedirectResult, []), - returnValue: neverEndingFuture(), - returnValueForMissingStub: neverEndingFuture(), - ); - } - - @override - Future setLanguageCode(String? languageCode) { - return super.noSuchMethod( - Invocation.method(#setLanguageCode, [languageCode]), - returnValue: neverEndingFuture(), - returnValueForMissingStub: neverEndingFuture(), - ); - } - - @override - Future useAuthEmulator(String host, int port) { - return super.noSuchMethod( - Invocation.method(#useEmulator, [host, port]), - returnValue: neverEndingFuture(), - returnValueForMissingStub: neverEndingFuture(), - ); - } - - @override - Future checkActionCode(String? code) { - return super.noSuchMethod( - Invocation.method(#checkActionCode, [code]), - returnValue: neverEndingFuture(), - returnValueForMissingStub: neverEndingFuture(), - ); - } - - @override - Future confirmPasswordReset(String? code, String? newPassword) { - return super.noSuchMethod( - Invocation.method(#confirmPasswordReset, [code, newPassword]), - returnValue: neverEndingFuture(), - returnValueForMissingStub: neverEndingFuture(), - ); - } - - @override - bool isSignInWithEmailLink(String? emailLink) { - return super.noSuchMethod( - Invocation.method(#isSignInWithEmailLink, [emailLink]), - returnValue: false, - returnValueForMissingStub: false, - ); - } - - @override - Future sendPasswordResetEmail( - String? email, [ - ActionCodeSettings? actionCodeSettings, - ]) { - return super.noSuchMethod( - Invocation.method(#sendPasswordResetEmail, [email, actionCodeSettings]), - returnValue: neverEndingFuture(), - returnValueForMissingStub: neverEndingFuture(), - ); - } - - @override - Future sendSignInLinkToEmail( - String? email, - ActionCodeSettings? actionCodeSettings, - ) { - return super.noSuchMethod( - Invocation.method(#sendSignInLinkToEmail, [email, actionCodeSettings]), - returnValue: neverEndingFuture(), - returnValueForMissingStub: neverEndingFuture(), - ); - } - - @override - Future setSettings({ - bool? appVerificationDisabledForTesting, - String? userAccessGroup, - String? phoneNumber, - String? smsCode, - bool? forceRecaptchaFlow, - }) { - return super.noSuchMethod( - Invocation.method(#setSettings, [ - appVerificationDisabledForTesting, - userAccessGroup, - phoneNumber, - smsCode, - forceRecaptchaFlow, - ]), - returnValue: neverEndingFuture(), - returnValueForMissingStub: neverEndingFuture(), - ); - } - - @override - Future setPersistence(Persistence? persistence) { - return super.noSuchMethod( - Invocation.method(#setPersistence, [persistence]), - returnValue: neverEndingFuture(), - returnValueForMissingStub: neverEndingFuture(), - ); - } - - @override - Future signOut() { - return super.noSuchMethod( - Invocation.method(#signOut, [signOut]), - returnValue: neverEndingFuture(), - returnValueForMissingStub: neverEndingFuture(), - ); - } - - @override - Future verifyPasswordResetCode(String? code) { - return super.noSuchMethod( - Invocation.method(#verifyPasswordResetCode, [code]), - returnValue: neverEndingFuture(), - returnValueForMissingStub: neverEndingFuture(), - ); - } - - @override - Future verifyPhoneNumber({ - String? phoneNumber, - PhoneMultiFactorInfo? multiFactorInfo, - MultiFactorSession? multiFactorSession, - Object? verificationCompleted, - Object? verificationFailed, - Object? codeSent, - Object? codeAutoRetrievalTimeout, - Duration? timeout = const Duration(seconds: 30), - int? forceResendingToken, - String? autoRetrievedSmsCodeForTesting, - }) { - return super.noSuchMethod( - Invocation.method(#verifyPhoneNumber, [], { - #phoneNumber: phoneNumber, - #verificationCompleted: verificationCompleted, - #verificationFailed: verificationFailed, - #codeSent: codeSent, - #codeAutoRetrievalTimeout: codeAutoRetrievalTimeout, - #timeout: timeout, - #forceResendingToken: forceResendingToken, - #autoRetrievedSmsCodeForTesting: autoRetrievedSmsCodeForTesting, - }), - returnValue: neverEndingFuture(), - returnValueForMissingStub: neverEndingFuture(), - ); - } - - @override - Future revokeAccessToken(String accessToken) { - return super.noSuchMethod( - Invocation.method(#revokeAccessToken, [accessToken]), - returnValue: neverEndingFuture(), - returnValueForMissingStub: neverEndingFuture(), - ); - } -} - -class FakeFirebaseAuthPlatform extends Fake - with MockPlatformInterfaceMixin - implements FirebaseAuthPlatform { - FakeFirebaseAuthPlatform({this.tenantId, this.customAuthDomain}); - - @override - String? tenantId; - - @override - String? customAuthDomain; - - @override - FirebaseAuthPlatform delegateFor( - {required FirebaseApp app, Persistence? persistence}) { - return this; - } - - @override - FirebaseAuthPlatform setInitialValues({ - InternalUserDetails? currentUser, - String? languageCode, - }) { - return this; - } -} - -class MockUserPlatform extends Mock - with MockPlatformInterfaceMixin - implements TestUserPlatform { - MockUserPlatform(FirebaseAuthPlatform auth, MultiFactorPlatform multiFactor, - InternalUserDetails _user) { - TestUserPlatform(auth, multiFactor, _user); - } -} - -class MockUserCredentialPlatform extends Mock - with MockPlatformInterfaceMixin - implements TestUserCredentialPlatform { - MockUserCredentialPlatform( - FirebaseAuthPlatform auth, - AdditionalUserInfo additionalUserInfo, - AuthCredential credential, - UserPlatform userPlatform, - ) { - TestUserCredentialPlatform( - auth, - additionalUserInfo, - credential, - userPlatform, - ); - } -} - -class MockConfirmationResultPlatform extends Mock - with MockPlatformInterfaceMixin - implements TestConfirmationResultPlatform { - MockConfirmationResultPlatform() { - TestConfirmationResultPlatform(); - } -} - -class TestConfirmationResultPlatform extends ConfirmationResultPlatform { - TestConfirmationResultPlatform() : super('TEST'); -} - -class TestFirebaseAuthPlatform extends FirebaseAuthPlatform { - TestFirebaseAuthPlatform() : super(); - - void instanceFor({ - FirebaseApp? app, - Map? pluginConstants, - }) {} - - @override - FirebaseAuthPlatform delegateFor( - {FirebaseApp? app, Persistence? persistence}) { - return this; - } - - @override - FirebaseAuthPlatform setInitialValues({ - InternalUserDetails? currentUser, - String? languageCode, - }) { - return this; - } -} - -class MockRecaptchaVerifier extends Mock - with MockPlatformInterfaceMixin - implements TestRecaptchaVerifier { - MockRecaptchaVerifier() { - TestRecaptchaVerifier(); - } - - RecaptchaVerifierFactoryPlatform get mockDelegate { - return MockRecaptchaVerifierFactoryPlatform(); - } - - @override - RecaptchaVerifierFactoryPlatform get delegate { - return super.noSuchMethod( - Invocation.getter(#delegate), - returnValue: MockRecaptchaVerifierFactoryPlatform(), - returnValueForMissingStub: MockRecaptchaVerifierFactoryPlatform(), - ); - } -} - -class MockRecaptchaVerifierFactoryPlatform extends Mock - with MockPlatformInterfaceMixin - implements TestRecaptchaVerifierFactoryPlatform { - MockRecaptchaVerifierFactoryPlatform() { - TestRecaptchaVerifierFactoryPlatform(); - } -} - -class TestRecaptchaVerifier implements RecaptchaVerifier { - TestRecaptchaVerifier() : super(); - - @override - void clear() {} - - @override - RecaptchaVerifierFactoryPlatform get delegate => - TestRecaptchaVerifierFactoryPlatform(); - - @override - Future render() { - throw UnimplementedError(); - } - - @override - String get type => throw UnimplementedError(); - - @override - Future verify() { - throw UnimplementedError(); - } -} - -class TestRecaptchaVerifierFactoryPlatform - extends RecaptchaVerifierFactoryPlatform {} - -class TestAuthProvider extends AuthProvider { - TestAuthProvider() : super('TEST'); -} - -class TestUserPlatform extends UserPlatform { - TestUserPlatform(FirebaseAuthPlatform auth, MultiFactorPlatform multiFactor, - InternalUserDetails data) - : super(auth, multiFactor, data); -} - -class TestMultiFactorPlatform extends MultiFactorPlatform { - TestMultiFactorPlatform(FirebaseAuthPlatform auth) : super(auth); -} - -class TestUserCredentialPlatform extends UserCredentialPlatform { - TestUserCredentialPlatform( - FirebaseAuthPlatform auth, - AdditionalUserInfo additionalUserInfo, - AuthCredential credential, - UserPlatform userPlatform, - ) : super( - auth: auth, - additionalUserInfo: additionalUserInfo, - credential: credential, - user: userPlatform, - ); -} - -class EmptyUserCredentialPlatform extends UserCredentialPlatform { - EmptyUserCredentialPlatform() : super(auth: FirebaseAuthPlatform.instance); -} diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/test/mock.dart b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/test/mock.dart deleted file mode 100644 index 6dc416fb..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/test/mock.dart +++ /dev/null @@ -1,40 +0,0 @@ -// Copyright 2020 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -import 'package:firebase_core_platform_interface/test.dart'; -import 'package:flutter/services.dart'; -import 'package:flutter_test/flutter_test.dart'; - -typedef Callback = void Function(MethodCall call); - -void setupFirebaseAuthMocks([Callback? customHandlers]) { - TestWidgetsFlutterBinding.ensureInitialized(); - - setupFirebaseCoreMocks(); - TestFirebaseAppHostApi.setUp(MockFirebaseAppHostApi()); -} - -Future neverEndingFuture() async { - // ignore: literal_only_boolean_expressions - while (true) { - await Future.delayed(const Duration(minutes: 5)); - } -} - -class MockFirebaseAppHostApi implements TestFirebaseAppHostApi { - @override - Future delete(String appName) async {} - - @override - Future setAutomaticDataCollectionEnabled( - String appName, - bool enabled, - ) async {} - - @override - Future setAutomaticResourceManagementEnabled( - String appName, - bool enabled, - ) async {} -} diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/test/user_test.dart b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/test/user_test.dart deleted file mode 100644 index 967be866..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/test/user_test.dart +++ /dev/null @@ -1,571 +0,0 @@ -// ignore_for_file: require_trailing_commas -// Copyright 2020, the Chromium project authors. Please see the AUTHORS file -// for details. All rights reserved. Use of this source code is governed by a -// BSD-style license that can be found in the LICENSE file. - -import 'package:firebase_auth/firebase_auth.dart'; -import 'package:firebase_auth_platform_interface/firebase_auth_platform_interface.dart'; -import 'package:firebase_auth_platform_interface/src/method_channel/method_channel_firebase_auth.dart'; -import 'package:firebase_core/firebase_core.dart'; -import 'package:flutter_test/flutter_test.dart'; -import 'package:mockito/mockito.dart'; -// import 'package:mockito/annotations.dart'; -import 'package:plugin_platform_interface/plugin_platform_interface.dart'; - -// import './user_test.mocks.dart'; -import './mock.dart'; -import 'firebase_auth_test.dart'; - -Map kMockUser1 = { - 'isAnonymous': true, - 'emailVerified': false, - 'displayName': 'displayName', -}; - -// @GenerateMocks([], customMocks: [ -// MockSpec(as: #MockFirebaseAuthPlatform), -// MockSpec(as: #MockUserPlatform), -// ]) -void main() { - setupFirebaseAuthMocks(); - - late FirebaseAuth auth; - - final kMockIdTokenResult = InternalIdTokenResult( - token: '12345', - expirationTimestamp: 123456, - authTimestamp: 1234567, - issuedAtTimestamp: 12345678, - signInProvider: 'password', - claims: { - 'claim1': 'value1', - }, - ); - - final int kMockCreationTimestamp = - DateTime.now().subtract(const Duration(days: 2)).millisecondsSinceEpoch; - final int kMockLastSignInTimestamp = - DateTime.now().subtract(const Duration(days: 1)).millisecondsSinceEpoch; - - final kMockUser = InternalUserDetails( - userInfo: InternalUserInfo( - uid: '12345', - displayName: 'displayName', - creationTimestamp: kMockCreationTimestamp, - lastSignInTimestamp: kMockLastSignInTimestamp, - isAnonymous: true, - isEmailVerified: false, - ), - providerData: [ - { - 'providerId': 'firebase', - 'uid': '12345', - 'displayName': 'Flutter Test User', - 'photoUrl': null, - 'email': 'test@example.com', - 'isAnonymous': true, - 'isEmailVerified': false, - } - ], - ); - late MockUserPlatform mockUserPlatform; - late MockUserCredentialPlatform mockUserCredPlatform; - - AdditionalUserInfo mockAdditionalInfo = AdditionalUserInfo( - isNewUser: false, - username: 'flutterUser', - providerId: 'testProvider', - profile: {'foo': 'bar'}, - ); - - EmailAuthCredential mockCredential = - EmailAuthProvider.credential(email: 'test', password: 'test') - as EmailAuthCredential; - - var mockAuthPlatform = MockFirebaseAuth(); - - group('$User', () { - late InternalUserDetails user; - - // used to generate a unique application name for each test - var testCount = 0; - - setUp(() async { - FirebaseAuthPlatform.instance = mockAuthPlatform = MockFirebaseAuth(); - - // Each test uses a unique FirebaseApp instance to avoid sharing state - final app = await Firebase.initializeApp( - name: '$testCount', - options: const FirebaseOptions( - apiKey: '', - appId: '', - messagingSenderId: '', - projectId: '', - ), - ); - - auth = FirebaseAuth.instanceFor(app: app); - - user = kMockUser; - - mockUserPlatform = MockUserPlatform(mockAuthPlatform, user); - - mockUserCredPlatform = MockUserCredentialPlatform( - FirebaseAuthPlatform.instance, - mockAdditionalInfo, - mockCredential, - mockUserPlatform, - ); - - when(mockAuthPlatform.signInAnonymously()).thenAnswer( - (_) => Future.value(mockUserCredPlatform)); - - when(mockAuthPlatform.currentUser).thenReturn(mockUserPlatform); - - when(mockAuthPlatform.delegateFor( - app: anyNamed('app'), - )).thenAnswer((_) => mockAuthPlatform); - - when(mockAuthPlatform.setInitialValues( - currentUser: anyNamed('currentUser'), - languageCode: anyNamed('languageCode'), - )).thenAnswer((_) => mockAuthPlatform); - - TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger - .setMockMethodCallHandler(MethodChannelFirebaseAuth.channel, - (call) async { - switch (call.method) { - default: - return {'user': user}; - } - }); - }); - - tearDown(() => testCount++); - - setUp(() async { - user = kMockUser; - await auth.signInAnonymously(); - }); - - test('delete()', () async { - // Necessary as we otherwise get a "null is not a Future" error - when(mockUserPlatform.delete()).thenAnswer((i) async {}); - - await auth.currentUser!.delete(); - - verify(mockUserPlatform.delete()); - }); - - test('getIdToken()', () async { - // Necessary as we otherwise get a "null is not a Future" error - when(mockUserPlatform.getIdToken(any)).thenAnswer((_) async => 'token'); - - final token = await auth.currentUser!.getIdToken(true); - - verify(mockUserPlatform.getIdToken(true)); - expect(token, isA()); - }); - - test('getIdTokenResult()', () async { - when(mockUserPlatform.getIdTokenResult(any)) - .thenAnswer((_) async => IdTokenResult(kMockIdTokenResult)); - - final idTokenResult = await auth.currentUser!.getIdTokenResult(true); - - verify(mockUserPlatform.getIdTokenResult(true)); - expect(idTokenResult, isA()); - }); - - group('linkWithCredential()', () { - setUp(() { - when(mockUserPlatform.linkWithCredential(any)) - .thenAnswer((_) async => mockUserCredPlatform); - }); - - test('should call linkWithCredential()', () async { - String newEmail = 'new@email.com'; - EmailAuthCredential credential = - EmailAuthProvider.credential(email: newEmail, password: 'test') - as EmailAuthCredential; - - await auth.currentUser!.linkWithCredential(credential); - - verify(mockUserPlatform.linkWithCredential(credential)); - }); - }); - - group('reauthenticateWithCredential()', () { - setUp(() { - when(mockUserPlatform.reauthenticateWithCredential(any)) - .thenAnswer((_) => Future.value(mockUserCredPlatform)); - }); - test('should call reauthenticateWithCredential()', () async { - String newEmail = 'new@email.com'; - EmailAuthCredential credential = - EmailAuthProvider.credential(email: newEmail, password: 'test') - as EmailAuthCredential; - - await auth.currentUser!.reauthenticateWithCredential(credential); - - verify(mockUserPlatform.reauthenticateWithCredential(credential)); - }); - }); - - test('reload()', () async { - // Necessary as we otherwise get a "null is not a Future" error - when(mockUserPlatform.reload()).thenAnswer((i) async {}); - - await auth.currentUser!.reload(); - - verify(mockUserPlatform.reload()); - }); - - test('sendEmailVerification()', () async { - // Necessary as we otherwise get a "null is not a Future" error - when(mockUserPlatform.sendEmailVerification(any)) - .thenAnswer((i) async {}); - - final ActionCodeSettings actionCodeSettings = - ActionCodeSettings(url: 'test'); - - await auth.currentUser!.sendEmailVerification(actionCodeSettings); - - verify(mockUserPlatform.sendEmailVerification(actionCodeSettings)); - }); - - group('unlink()', () { - setUp(() { - when(mockUserPlatform.unlink(any)) - .thenAnswer((_) => Future.value(mockUserPlatform)); - }); - test('should call unlink()', () async { - const String providerId = 'providerId'; - - await auth.currentUser!.unlink(providerId); - - verify(mockUserPlatform.unlink(providerId)); - }); - }); - - group('updatePassword()', () { - test('should call updatePassword()', () async { - // Necessary as we otherwise get a "null is not a Future" error - when(mockUserPlatform.updatePassword(any)).thenAnswer((i) async {}); - - const String newPassword = 'newPassword'; - - await auth.currentUser!.updatePassword(newPassword); - - verify(mockUserPlatform.updatePassword(newPassword)); - }); - }); - group('updatePhoneNumber()', () { - test('should call updatePhoneNumber()', () async { - // Necessary as we otherwise get a "null is not a Future" error - when(mockUserPlatform.updatePhoneNumber(any)).thenAnswer((i) async {}); - - PhoneAuthCredential phoneAuthCredential = PhoneAuthProvider.credential( - verificationId: 'test', - smsCode: 'test', - ); - - await auth.currentUser!.updatePhoneNumber(phoneAuthCredential); - - verify(mockUserPlatform.updatePhoneNumber(phoneAuthCredential)); - }); - }); - - test('updateProfile()', () async { - // Necessary as we otherwise get a "null is not a Future" error - when(mockUserPlatform.updateProfile(any)).thenAnswer((i) async {}); - - const String displayName = 'updatedName'; - const String photoURL = 'testUrl'; - Map data = { - 'displayName': displayName, - 'photoURL': photoURL - }; - - await auth.currentUser! - // ignore: deprecated_member_use_from_same_package - .updateProfile(displayName: displayName, photoURL: photoURL); - - verify(mockUserPlatform.updateProfile(data)); - }); - - group('verifyBeforeUpdateEmail()', () { - test('should call verifyBeforeUpdateEmail()', () async { - // Necessary as we otherwise get a "null is not a Future" error - when(mockUserPlatform.verifyBeforeUpdateEmail(any, any)) - .thenAnswer((i) async {}); - - const newEmail = 'new@email.com'; - ActionCodeSettings actionCodeSettings = ActionCodeSettings(url: 'test'); - - await auth.currentUser! - .verifyBeforeUpdateEmail(newEmail, actionCodeSettings); - - verify(mockUserPlatform.verifyBeforeUpdateEmail( - newEmail, actionCodeSettings)); - }); - }); - - test('toString()', () async { - when(mockAuthPlatform.currentUser).thenReturn(TestUserPlatform( - mockAuthPlatform, TestMultiFactorPlatform(mockAuthPlatform), user)); - - const userInfo = 'UserInfo(' - 'displayName: Flutter Test User, ' - 'email: test@example.com, ' - 'phoneNumber: null, ' - 'photoURL: null, ' - 'providerId: firebase, ' - 'uid: 12345)'; - - final userMetadata = 'UserMetadata(' - 'creationTime: ${DateTime.fromMillisecondsSinceEpoch(kMockCreationTimestamp, isUtc: true)}, ' - 'lastSignInTime: ${DateTime.fromMillisecondsSinceEpoch(kMockLastSignInTimestamp, isUtc: true)})'; - - expect( - auth.currentUser.toString(), - 'User(' - 'displayName: displayName, ' - 'email: null, ' - 'isEmailVerified: false, ' - 'isAnonymous: true, ' - 'metadata: $userMetadata, ' - 'phoneNumber: null, ' - 'photoURL: null, ' - 'providerData, ' - '[$userInfo], ' - 'refreshToken: null, ' - 'tenantId: null, ' - 'uid: 12345)', - ); - }); - }); -} - -class MockFirebaseAuthPlatformBase = TestFirebaseAuthPlatform - with MockPlatformInterfaceMixin; - -class MockUserPlatformBase = TestUserPlatform with MockPlatformInterfaceMixin; - -class MockFirebaseAuth extends Mock - with MockPlatformInterfaceMixin - implements TestFirebaseAuthPlatform { - @override - Future signInAnonymously() { - return super.noSuchMethod( - Invocation.method(#signInAnonymously, const []), - returnValue: neverEndingFuture(), - returnValueForMissingStub: neverEndingFuture(), - ); - } - - @override - FirebaseAuthPlatform delegateFor( - {FirebaseApp? app, Persistence? persistence}) { - return super.noSuchMethod( - Invocation.method(#delegateFor, const [], {#app: app}), - returnValue: TestFirebaseAuthPlatform(), - returnValueForMissingStub: TestFirebaseAuthPlatform(), - ); - } - - @override - FirebaseAuthPlatform setInitialValues({ - InternalUserDetails? currentUser, - String? languageCode, - }) { - return super.noSuchMethod( - Invocation.method(#setInitialValues, const [], { - #currentUser: currentUser, - #languageCode: languageCode, - }), - returnValue: TestFirebaseAuthPlatform(), - returnValueForMissingStub: TestFirebaseAuthPlatform(), - ); - } -} - -class MockUserPlatform extends Mock - with MockPlatformInterfaceMixin - implements TestUserPlatform { - MockUserPlatform(FirebaseAuthPlatform auth, InternalUserDetails _user) { - TestUserPlatform(auth, TestMultiFactorPlatform(auth), _user); - } - - @override - Future delete() { - return super.noSuchMethod( - Invocation.method(#delete, []), - returnValue: neverEndingFuture(), - returnValueForMissingStub: neverEndingFuture(), - ); - } - - @override - Future reload() { - return super.noSuchMethod( - Invocation.method(#reload, []), - returnValue: neverEndingFuture(), - returnValueForMissingStub: neverEndingFuture(), - ); - } - - @override - Future getIdToken(bool? forceRefresh) { - return super.noSuchMethod( - Invocation.method(#getIdToken, [forceRefresh]), - returnValue: neverEndingFuture(), - returnValueForMissingStub: neverEndingFuture(), - ); - } - - @override - Future unlink(String? providerId) { - return super.noSuchMethod( - Invocation.method(#unlink, [providerId]), - returnValue: neverEndingFuture(), - returnValueForMissingStub: neverEndingFuture(), - ); - } - - @override - Future getIdTokenResult(bool? forceRefresh) { - return super.noSuchMethod( - Invocation.method(#getIdTokenResult, [forceRefresh]), - returnValue: neverEndingFuture(), - returnValueForMissingStub: neverEndingFuture(), - ); - } - - @override - Future reauthenticateWithCredential( - AuthCredential? credential, - ) { - return super.noSuchMethod( - Invocation.method(#reauthenticateWithCredential, [credential]), - returnValue: neverEndingFuture(), - returnValueForMissingStub: neverEndingFuture(), - ); - } - - @override - Future linkWithCredential( - AuthCredential? credential, - ) { - return super.noSuchMethod( - Invocation.method(#linkWithCredential, [credential]), - returnValue: neverEndingFuture(), - returnValueForMissingStub: neverEndingFuture(), - ); - } - - @override - Future sendEmailVerification(ActionCodeSettings? actionCodeSettings) { - return super.noSuchMethod( - Invocation.method(#sendEmailVerification, [actionCodeSettings]), - returnValue: neverEndingFuture(), - returnValueForMissingStub: neverEndingFuture(), - ); - } - - @override - Future updatePassword(String? newPassword) { - return super.noSuchMethod( - Invocation.method(#updatePassword, [newPassword]), - returnValue: neverEndingFuture(), - returnValueForMissingStub: neverEndingFuture(), - ); - } - - @override - Future updatePhoneNumber(PhoneAuthCredential? phoneCredential) { - return super.noSuchMethod( - Invocation.method(#updatePhoneNumber, [phoneCredential]), - returnValue: neverEndingFuture(), - returnValueForMissingStub: neverEndingFuture(), - ); - } - - @override - Future updateProfile(Map? profile) { - return super.noSuchMethod( - Invocation.method(#updateProfile, [profile]), - returnValue: neverEndingFuture(), - returnValueForMissingStub: neverEndingFuture(), - ); - } - - @override - Future verifyBeforeUpdateEmail( - String? newEmail, [ - ActionCodeSettings? actionCodeSettings, - ]) { - return super.noSuchMethod( - Invocation.method(#verifyBeforeUpdateEmail, [ - newEmail, - actionCodeSettings, - ]), - returnValue: neverEndingFuture(), - returnValueForMissingStub: neverEndingFuture(), - ); - } -} - -class MockUserCredentialPlatform extends Mock - with MockPlatformInterfaceMixin - implements TestUserCredentialPlatform { - MockUserCredentialPlatform( - FirebaseAuthPlatform auth, - AdditionalUserInfo additionalUserInfo, - AuthCredential credential, - UserPlatform userPlatform, - ) { - TestUserCredentialPlatform( - auth, - additionalUserInfo, - credential, - userPlatform, - ); - } -} - -class TestFirebaseAuthPlatform extends FirebaseAuthPlatform { - TestFirebaseAuthPlatform() : super(); - - @override - FirebaseAuthPlatform delegateFor( - {FirebaseApp? app, Persistence? persistence}) => - this; - - @override - FirebaseAuthPlatform setInitialValues({ - InternalUserDetails? currentUser, - String? languageCode, - }) { - return this; - } -} - -class TestUserPlatform extends UserPlatform { - TestUserPlatform(FirebaseAuthPlatform auth, MultiFactorPlatform multiFactor, - InternalUserDetails data) - : super(auth, multiFactor, data); -} - -class TestUserCredentialPlatform extends UserCredentialPlatform { - TestUserCredentialPlatform( - FirebaseAuthPlatform auth, - AdditionalUserInfo additionalUserInfo, - AuthCredential credential, - UserPlatform userPlatform, - ) : super( - auth: auth, - additionalUserInfo: additionalUserInfo, - credential: credential, - user: userPlatform); -} diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/windows/CMakeLists.txt b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/windows/CMakeLists.txt deleted file mode 100644 index 74c8f9ab..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/windows/CMakeLists.txt +++ /dev/null @@ -1,123 +0,0 @@ -# The Flutter tooling requires that developers have a version of Visual Studio -# installed that includes CMake 3.14 or later. You should not increase this -# version, as doing so will cause the plugin to fail to compile for some -# customers of the plugin. -cmake_minimum_required(VERSION 3.14) - -# Project-level configuration. -set(PROJECT_NAME "firebase_auth") -project(${PROJECT_NAME} LANGUAGES CXX) - -# This value is used when generating builds using this plugin, so it must -# not be changed -set(PLUGIN_NAME "firebase_auth_plugin") - -# Any new source files that you add to the plugin should be added here. -list(APPEND PLUGIN_SOURCES - "firebase_auth_plugin.cpp" - "firebase_auth_plugin.h" - "messages.g.cpp" - "messages.g.h" -) - -# Read version from pubspec.yaml -file(STRINGS "../pubspec.yaml" pubspec_content) -foreach(line ${pubspec_content}) - string(FIND ${line} "version: " has_version) - - if("${has_version}" STREQUAL "0") - string(FIND ${line} ": " version_start_pos) - math(EXPR version_start_pos "${version_start_pos} + 2") - string(LENGTH ${line} version_end_pos) - math(EXPR len "${version_end_pos} - ${version_start_pos}") - string(SUBSTRING ${line} ${version_start_pos} ${len} PLUGIN_VERSION) - break() - endif() -endforeach(line) - -configure_file(plugin_version.h.in ${CMAKE_BINARY_DIR}/generated/firebase_auth/plugin_version.h) -include_directories(${CMAKE_BINARY_DIR}/generated/) - -# Define the plugin library target. Its name must not be changed (see comment -# on PLUGIN_NAME above). -add_library(${PLUGIN_NAME} STATIC - "include/firebase_auth/firebase_auth_plugin_c_api.h" - "firebase_auth_plugin_c_api.cpp" - ${PLUGIN_SOURCES} - ${CMAKE_BINARY_DIR}/generated/firebase_auth/plugin_version.h -) - -# Apply a standard set of build settings that are configured in the -# application-level CMakeLists.txt. This can be removed for plugins that want -# full control over build settings. -apply_standard_settings(${PLUGIN_NAME}) - -# Symbols are hidden by default to reduce the chance of accidental conflicts -# between plugins. This should not be removed; any symbols that should be -# exported should be explicitly exported with the FLUTTER_PLUGIN_EXPORT macro. -set_target_properties(${PLUGIN_NAME} PROPERTIES - CXX_VISIBILITY_PRESET hidden) -target_compile_definitions(${PLUGIN_NAME} PUBLIC FLUTTER_PLUGIN_IMPL) -# Enable firebase-cpp-sdk's platform logging api. -target_compile_definitions(${PLUGIN_NAME} PRIVATE -DINTERNAL_EXPERIMENTAL=1) - -# Source include directories and library dependencies. Add any plugin-specific -# dependencies here. -set(MSVC_RUNTIME_MODE MD) -set(firebase_libs firebase_core_plugin firebase_auth) -target_link_libraries(${PLUGIN_NAME} PRIVATE "${firebase_libs}") - -target_include_directories(${PLUGIN_NAME} INTERFACE - "${CMAKE_CURRENT_SOURCE_DIR}/include") -target_link_libraries(${PLUGIN_NAME} PUBLIC flutter flutter_wrapper_plugin) - -# List of absolute paths to libraries that should be bundled with the plugin. -# This list could contain prebuilt libraries, or libraries created by an -# external build triggered from this build file. -set(firebase_auth_bundled_libraries - "" - PARENT_SCOPE -) - -# === Tests === -# These unit tests can be run from a terminal after building the example, or -# from Visual Studio after opening the generated solution file. - -# Only enable test builds when building the example (which sets this variable) -# so that plugin clients aren't building the tests. -if (${include_${PROJECT_NAME}_tests}) -set(TEST_RUNNER "${PROJECT_NAME}_test") -enable_testing() - -# Add the Google Test dependency. -include(FetchContent) -FetchContent_Declare( - googletest - URL https://github.com/google/googletest/archive/release-1.11.0.zip -) -# Prevent overriding the parent project's compiler/linker settings -set(gtest_force_shared_crt ON CACHE BOOL "" FORCE) -# Disable install commands for gtest so it doesn't end up in the bundle. -set(INSTALL_GTEST OFF CACHE BOOL "Disable installation of googletest" FORCE) -FetchContent_MakeAvailable(googletest) - -# The plugin's C API is not very useful for unit testing, so build the sources -# directly into the test binary rather than using the DLL. -add_executable(${TEST_RUNNER} - test/firebase_auth_plugin_test.cpp - ${PLUGIN_SOURCES} -) -apply_standard_settings(${TEST_RUNNER}) -target_include_directories(${TEST_RUNNER} PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}") -target_link_libraries(${TEST_RUNNER} PRIVATE flutter_wrapper_plugin) -target_link_libraries(${TEST_RUNNER} PRIVATE gtest_main gmock) -# flutter_wrapper_plugin has link dependencies on the Flutter DLL. -add_custom_command(TARGET ${TEST_RUNNER} POST_BUILD - COMMAND ${CMAKE_COMMAND} -E copy_if_different - "${FLUTTER_LIBRARY}" $ -) - -# Enable automatic test discovery. -include(GoogleTest) -gtest_discover_tests(${TEST_RUNNER}) -endif() diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/windows/firebase_auth_plugin.cpp b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/windows/firebase_auth_plugin.cpp deleted file mode 100644 index a931dac2..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/windows/firebase_auth_plugin.cpp +++ /dev/null @@ -1,1341 +0,0 @@ -// Copyright 2023, the Chromium project authors. Please see the AUTHORS file -// for details. All rights reserved. Use of this source code is governed by a -// BSD-style license that can be found in the LICENSE file. - -#include "firebase_auth_plugin.h" - -// This must be included before many other Windows headers. -#include - -#include -#include - -#include "firebase/app.h" -#include "firebase/auth.h" -#include "firebase/future.h" -#include "firebase/log.h" -#include "firebase/util.h" -#include "firebase/variant.h" -#include "firebase_auth/plugin_version.h" -#include "firebase_core/firebase_core_plugin_c_api.h" -#include "messages.g.h" - -// For getPlatformVersion; remove unless needed for your plugin implementation. -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -using ::firebase::App; -using ::firebase::auth::Auth; - -namespace firebase_auth_windows { - -static std::string kLibraryName = "flutter-fire-auth"; -flutter::BinaryMessenger* FirebaseAuthPlugin::binaryMessenger = nullptr; - -// static -void FirebaseAuthPlugin::RegisterWithRegistrar( - flutter::PluginRegistrarWindows* registrar) { - auto plugin = std::make_unique(); - - FirebaseAuthHostApi::SetUp(registrar->messenger(), plugin.get()); - FirebaseAuthUserHostApi::SetUp(registrar->messenger(), plugin.get()); - - RegisterFlutterFirebasePlugin("plugins.flutter.io/firebase_auth", - plugin.get()); - - registrar->AddPlugin(std::move(plugin)); - - binaryMessenger = registrar->messenger(); - - // Register for platform logging - App::RegisterLibrary(kLibraryName.c_str(), getPluginVersion().c_str(), - nullptr); -} - -FirebaseAuthPlugin::FirebaseAuthPlugin() { - firebase::SetLogLevel(firebase::kLogLevelVerbose); -} - -FirebaseAuthPlugin::~FirebaseAuthPlugin() = default; - -Auth* GetAuthFromPigeon(const AuthPigeonFirebaseApp& pigeonApp) { - App* app = App::GetInstance(pigeonApp.app_name().c_str()); - - Auth* auth = Auth::GetAuth(app); - - return auth; -} - -InternalUserCredential ParseAuthResult( - const firebase::auth::AuthResult* authResult) { - InternalUserCredential result = InternalUserCredential(); - result.set_user(FirebaseAuthPlugin::ParseUserDetails(authResult->user)); - result.set_additional_user_info(FirebaseAuthPlugin::ParseAdditionalUserInfo( - authResult->additional_user_info)); - return result; -} - -using flutter::EncodableMap; -using flutter::EncodableValue; - -flutter::EncodableMap -firebase_auth_windows::FirebaseAuthPlugin::ConvertToEncodableMap( - const std::map& originalMap) { - EncodableMap convertedMap; - for (const auto& kv : originalMap) { - EncodableValue key = ConvertToEncodableValue( - kv.first); // convert std::string to EncodableValue - EncodableValue value = ConvertToEncodableValue( - kv.second); // convert FieldValue to EncodableValue - convertedMap[key] = value; // insert into the new map - } - return convertedMap; -} - -flutter::EncodableValue -firebase_auth_windows::FirebaseAuthPlugin::ConvertToEncodableValue( - const firebase::Variant& variant) { - switch (variant.type()) { - case firebase::Variant::kTypeNull: - return EncodableValue(); - case firebase::Variant::kTypeInt64: - return EncodableValue(variant.int64_value()); - case firebase::Variant::kTypeDouble: - return EncodableValue(variant.double_value()); - case firebase::Variant::kTypeBool: - return EncodableValue(variant.bool_value()); - case firebase::Variant::kTypeStaticString: - return EncodableValue(variant.string_value()); - case firebase::Variant::kTypeMutableString: - return EncodableValue(variant.mutable_string()); - case firebase::Variant::kTypeMap: - return FirebaseAuthPlugin::ConvertToEncodableMap(variant.map()); - case firebase::Variant::kTypeStaticBlob: - return EncodableValue(flutter::CustomEncodableValue(variant.blob_data())); - case firebase::Variant::kTypeMutableBlob: - return EncodableValue( - flutter::CustomEncodableValue(variant.mutable_blob_data())); - default: - return EncodableValue(); - } -} - -InternalAdditionalUserInfo FirebaseAuthPlugin::ParseAdditionalUserInfo( - const firebase::auth::AdditionalUserInfo additionalUserInfo) { - // Cannot know if the user is new or not with current API - InternalAdditionalUserInfo result = InternalAdditionalUserInfo(false); - result.set_profile(ConvertToEncodableMap(additionalUserInfo.profile)); - result.set_provider_id(additionalUserInfo.provider_id); - result.set_username(additionalUserInfo.user_name); - return result; -} - -InternalUserDetails FirebaseAuthPlugin::ParseUserDetails( - const firebase::auth::User user) { - InternalUserDetails result = - InternalUserDetails(FirebaseAuthPlugin::ParseUserInfo(&user), - FirebaseAuthPlugin::ParseProviderData(&user)); - - return result; -} - -InternalUserInfo FirebaseAuthPlugin::ParseUserInfo( - const firebase::auth::User* user) { - InternalUserInfo result = InternalUserInfo(user->uid(), user->is_anonymous(), - user->is_email_verified()); - result.set_display_name(user->display_name()); - result.set_email(user->email()); - result.set_phone_number(user->phone_number()); - result.set_photo_url(user->photo_url()); - result.set_provider_id(user->provider_id()); - result.set_uid(user->uid()); - result.set_creation_timestamp(user->metadata().creation_timestamp); - result.set_last_sign_in_timestamp(user->metadata().last_sign_in_timestamp); - - return result; -} - -flutter::EncodableList FirebaseAuthPlugin::ParseProviderData( - const firebase::auth::User* user) { - flutter::EncodableList output; - - for (firebase::auth::UserInfoInterface userInfo : user->provider_data()) { - output.push_back(FirebaseAuthPlugin::ParseUserInfoToMap(&userInfo)); - } - - return flutter::EncodableList(output); -} - -flutter::EncodableValue FirebaseAuthPlugin::ParseUserInfoToMap( - firebase::auth::UserInfoInterface* userInfo) { - return flutter::EncodableValue(flutter::EncodableMap{ - {flutter::EncodableValue("displayName"), - flutter::EncodableValue(userInfo->display_name())}, - {flutter::EncodableValue("email"), - flutter::EncodableValue(userInfo->email())}, - {flutter::EncodableValue("isEmailVerified"), - flutter::EncodableValue(true)}, - {flutter::EncodableValue("phoneNumber"), - flutter::EncodableValue(userInfo->phone_number())}, - {flutter::EncodableValue("photoUrl"), - flutter::EncodableValue(userInfo->photo_url())}, - {flutter::EncodableValue("uid"), - flutter::EncodableValue(userInfo->uid().empty() ? std::string("") - : userInfo->uid())}, - {flutter::EncodableValue("providerId"), - flutter::EncodableValue(userInfo->provider_id())}, - {flutter::EncodableValue("isAnonymous"), - flutter::EncodableValue(false)}}); -} - -std::string FirebaseAuthPlugin::GetAuthErrorCode(AuthError authError) { - switch (authError) { - case firebase::auth::kAuthErrorInvalidCustomToken: - return "invalid-custom-token"; - case firebase::auth::kAuthErrorCustomTokenMismatch: - return "custom-token-mismatch"; - case firebase::auth::kAuthErrorInvalidEmail: - return "invalid-email"; - case firebase::auth::kAuthErrorInvalidCredential: - return "invalid-credential"; - case firebase::auth::kAuthErrorUserDisabled: - return "user-disabled"; - case firebase::auth::kAuthErrorEmailAlreadyInUse: - return "email-already-in-use"; - case firebase::auth::kAuthErrorWrongPassword: - return "wrong-password"; - case firebase::auth::kAuthErrorTooManyRequests: - return "too-many-requests"; - case firebase::auth::kAuthErrorAccountExistsWithDifferentCredentials: - return "account-exists-with-different-credentials"; - case firebase::auth::kAuthErrorRequiresRecentLogin: - return "requires-recent-login"; - case firebase::auth::kAuthErrorProviderAlreadyLinked: - return "provider-already-linked"; - case firebase::auth::kAuthErrorNoSuchProvider: - return "no-such-provider"; - case firebase::auth::kAuthErrorInvalidUserToken: - return "invalid-user-token"; - case firebase::auth::kAuthErrorUserTokenExpired: - return "user-token-expired"; - case firebase::auth::kAuthErrorUserNotFound: - return "user-not-found"; - case firebase::auth::kAuthErrorInvalidApiKey: - return "invalid-api-key"; - case firebase::auth::kAuthErrorCredentialAlreadyInUse: - return "credential-already-in-use"; - case firebase::auth::kAuthErrorOperationNotAllowed: - return "operation-not-allowed"; - case firebase::auth::kAuthErrorWeakPassword: - return "weak-password"; - case firebase::auth::kAuthErrorAppNotAuthorized: - return "app-not-authorized"; - case firebase::auth::kAuthErrorExpiredActionCode: - return "expired-action-code"; - case firebase::auth::kAuthErrorInvalidActionCode: - return "invalid-action-code"; - case firebase::auth::kAuthErrorInvalidMessagePayload: - return "invalid-message-payload"; - case firebase::auth::kAuthErrorInvalidSender: - return "invalid-sender"; - case firebase::auth::kAuthErrorInvalidRecipientEmail: - return "invalid-recipient-email"; - case firebase::auth::kAuthErrorUnauthorizedDomain: - return "unauthorized-domain"; - case firebase::auth::kAuthErrorInvalidContinueUri: - return "invalid-continue-uri"; - case firebase::auth::kAuthErrorMissingContinueUri: - return "missing-continue-uri"; - case firebase::auth::kAuthErrorMissingEmail: - return "missing-email"; - case firebase::auth::kAuthErrorMissingPhoneNumber: - return "missing-phone-number"; - case firebase::auth::kAuthErrorInvalidPhoneNumber: - return "invalid-phone-number"; - case firebase::auth::kAuthErrorMissingVerificationCode: - return "missing-verification-code"; - case firebase::auth::kAuthErrorInvalidVerificationCode: - return "invalid-verification-code"; - case firebase::auth::kAuthErrorMissingVerificationId: - return "missing-verification-id"; - case firebase::auth::kAuthErrorInvalidVerificationId: - return "invalid-verification-id"; - case firebase::auth::kAuthErrorSessionExpired: - return "session-expired"; - case firebase::auth::kAuthErrorQuotaExceeded: - return "quota-exceeded"; - case firebase::auth::kAuthErrorMissingAppCredential: - return "missing-app-credential"; - case firebase::auth::kAuthErrorInvalidAppCredential: - return "invalid-app-credential"; - case firebase::auth::kAuthErrorMissingClientIdentifier: - return "missing-client-identifier"; - case firebase::auth::kAuthErrorTenantIdMismatch: - return "tenant-id-mismatch"; - case firebase::auth::kAuthErrorUnsupportedTenantOperation: - return "unsupported-tenant-operation"; - case firebase::auth::kAuthErrorUserMismatch: - return "user-mismatch"; - case firebase::auth::kAuthErrorNetworkRequestFailed: - return "network-request-failed"; - case firebase::auth::kAuthErrorNoSignedInUser: - return "no-signed-in-user"; - case firebase::auth::kAuthErrorCancelled: - return "cancelled"; - - default: - return "unknown-error"; - } -} - -FlutterError FirebaseAuthPlugin::ParseError( - const firebase::FutureBase& completed_future) { - const AuthError errorCode = - static_cast(completed_future.error()); - - return FlutterError(FirebaseAuthPlugin::GetAuthErrorCode(errorCode), - completed_future.error_message()); -} - -std::string const kFLTFirebaseAuthChannelName = "firebase_auth_plugin"; - -class FlutterIdTokenListener : public firebase::auth::IdTokenListener { - public: - void SetEventSink( - std::unique_ptr> event_sink) { - event_sink_ = std::move(event_sink); - } - - void OnIdTokenChanged(Auth* auth) override { - // Generate your ID Token - firebase::auth::User user = auth->current_user(); - InternalUserDetails userDetails = - FirebaseAuthPlugin::ParseUserDetails(user); - - using flutter::EncodableList; - using flutter::EncodableMap; - using flutter::EncodableValue; - - if (event_sink_) { - if (user.is_valid()) { - EncodableList userDetailsList = EncodableList(); - userDetailsList.push_back(userDetails.user_info().ToEncodableList()); - userDetailsList.push_back(userDetails.provider_data()); - event_sink_->Success(EncodableValue( - EncodableMap{{EncodableValue("user"), userDetailsList}})); - } else { - event_sink_->Success(EncodableValue(EncodableMap{ - {EncodableValue("user"), EncodableValue(std::monostate{})}})); - } - } - } - - private: - std::unique_ptr> event_sink_; -}; - -class IdTokenStreamHandler - : public flutter::StreamHandler { - public: - IdTokenStreamHandler(Auth* auth) { - listener_ = nullptr; - auth_ = auth; - } - - std::unique_ptr> - OnListenInternal( - const flutter::EncodableValue* arguments, - std::unique_ptr>&& events) - override { - listener_ = new FlutterIdTokenListener(); - listener_->SetEventSink(std::move(events)); - auth_->AddIdTokenListener(listener_); - return nullptr; - } - - std::unique_ptr> - OnCancelInternal(const flutter::EncodableValue* arguments) override { - auth_->RemoveIdTokenListener(listener_); - listener_->SetEventSink(nullptr); - listener_ = nullptr; - return nullptr; - } - - private: - FlutterIdTokenListener* listener_; - firebase::auth::Auth* auth_; -}; - -void FirebaseAuthPlugin::RegisterIdTokenListener( - const AuthPigeonFirebaseApp& app, - std::function reply)> result) { - firebase::auth::Auth* firebaseAuth = GetAuthFromPigeon(app); - - std::string name = - kFLTFirebaseAuthChannelName + "/id-token/" + app.app_name(); - - auto id_token_handler = std::make_unique(firebaseAuth); - - flutter::EventChannel channel( - binaryMessenger, name, &flutter::StandardMethodCodec::GetInstance()); - - channel.SetStreamHandler(std::move(id_token_handler)); - - result(ErrorOr(std::string(name))); -} - -class FlutterAuthStateListener : public firebase::auth::AuthStateListener { - public: - void SetEventSink( - std::unique_ptr> event_sink) { - event_sink_ = std::move(event_sink); - } - - void OnAuthStateChanged(Auth* auth) override { - // Generate your ID Token - firebase::auth::User user = auth->current_user(); - InternalUserDetails userDetails = - FirebaseAuthPlugin::ParseUserDetails(user); - - using flutter::EncodableList; - using flutter::EncodableMap; - using flutter::EncodableValue; - - if (event_sink_) { - if (user.is_valid()) { - EncodableList userDetailsList = EncodableList(); - userDetailsList.push_back(userDetails.user_info().ToEncodableList()); - userDetailsList.push_back(userDetails.provider_data()); - - event_sink_->Success(EncodableValue( - EncodableMap{{EncodableValue("user"), userDetailsList}})); - } else { - event_sink_->Success(EncodableValue(EncodableMap{ - {EncodableValue("user"), EncodableValue(std::monostate{})}})); - } - } - } - - private: - std::unique_ptr> event_sink_; -}; - -class AuthStateStreamHandler - : public flutter::StreamHandler { - public: - AuthStateStreamHandler(Auth* auth) { - listener_ = nullptr; - auth_ = auth; - } - - std::unique_ptr> - OnListenInternal( - const flutter::EncodableValue* arguments, - std::unique_ptr>&& events) - override { - listener_ = new FlutterAuthStateListener(); - listener_->SetEventSink(std::move(events)); - - auth_->AddAuthStateListener(listener_); - - return nullptr; - } - - std::unique_ptr> - OnCancelInternal(const flutter::EncodableValue* arguments) override { - auth_->RemoveAuthStateListener(listener_); - - listener_->SetEventSink(nullptr); - listener_ = nullptr; - return nullptr; - } - - private: - FlutterAuthStateListener* listener_; - firebase::auth::Auth* auth_; -}; - -void FirebaseAuthPlugin::RegisterAuthStateListener( - const AuthPigeonFirebaseApp& app, - std::function reply)> result) { - firebase::auth::Auth* firebaseAuth = GetAuthFromPigeon(app); - - std::string name = - kFLTFirebaseAuthChannelName + "/auth-state/" + app.app_name(); - - auto auth_state_handler = - std::make_unique(firebaseAuth); - - flutter::EventChannel channel( - binaryMessenger, name, &flutter::StandardMethodCodec::GetInstance()); - - channel.SetStreamHandler(std::move(auth_state_handler)); - - result(ErrorOr(std::string(name))); -} - -void FirebaseAuthPlugin::UseEmulator( - const AuthPigeonFirebaseApp& app, const std::string& host, int64_t port, - std::function reply)> result) { - firebase::auth::Auth* firebaseAuth = GetAuthFromPigeon(app); - firebaseAuth->UseEmulator(host, static_cast(port)); - result(std::nullopt); -} - -void FirebaseAuthPlugin::ApplyActionCode( - const AuthPigeonFirebaseApp& app, const std::string& code, - std::function reply)> result) { - result(FlutterError("unimplemented", - "ApplyActionCode is not available on this platform yet.", - nullptr)); -} - -void FirebaseAuthPlugin::CheckActionCode( - const AuthPigeonFirebaseApp& app, const std::string& code, - std::function reply)> result) { - result(FlutterError("unimplemented", - "CheckActionCode is not available on this platform yet.", - nullptr)); -} - -void FirebaseAuthPlugin::ConfirmPasswordReset( - const AuthPigeonFirebaseApp& app, const std::string& code, - const std::string& new_password, - std::function reply)> result) { - result(FlutterError( - "unimplemented", - "ConfirmPasswordReset is not available on this platform yet.", nullptr)); -} - -void FirebaseAuthPlugin::CreateUserWithEmailAndPassword( - const AuthPigeonFirebaseApp& app, const std::string& email, - const std::string& password, - std::function reply)> result) { - firebase::auth::Auth* firebaseAuth = GetAuthFromPigeon(app); - - firebase::Future createUserFuture = - firebaseAuth->CreateUserWithEmailAndPassword(email.c_str(), - password.c_str()); - - createUserFuture.OnCompletion( - [result](const firebase::Future& - completed_future) { - // We are probably in a different thread right now. - if (completed_future.error() == 0) { - InternalUserCredential credential = - ParseAuthResult(completed_future.result()); - result(credential); - } else { - result(FirebaseAuthPlugin::ParseError(completed_future)); - } - }); -} - -void FirebaseAuthPlugin::SignInAnonymously( - const AuthPigeonFirebaseApp& app, - std::function reply)> result) { - firebase::auth::Auth* firebaseAuth = GetAuthFromPigeon(app); - - firebase::Future signInFuture = - firebaseAuth->SignInAnonymously(); - - signInFuture.OnCompletion( - [result](const firebase::Future& - completed_future) { - // We are probably in a different thread right now. - if (completed_future.error() == 0) { - InternalUserCredential credential = - ParseAuthResult(completed_future.result()); - result(credential); - } else { - result(FirebaseAuthPlugin::ParseError(completed_future)); - } - }); -} - -// Provider type keys. -std::string const kSignInMethodPassword = "password"; -std::string const kSignInMethodEmailLink = "emailLink"; -std::string const kSignInMethodFacebook = "facebook.com"; -std::string const kSignInMethodGoogle = "google.com"; -std::string const kSignInMethodTwitter = "twitter.com"; -std::string const kSignInMethodGithub = "github.com"; -std::string const kSignInMethodApple = "apple.com"; -std::string const kSignInMethodPhone = "phone"; -std::string const kSignInMethodOAuth = "oauth"; - -// Credential argument keys. -std::string const kArgumentCredential = "credential"; -std::string const kArgumentProviderId = "providerId"; -std::string const kArgumentProviderScope = "scopes"; -std::string const kArgumentProviderCustomParameters = "customParameters"; -std::string const kArgumentSignInMethod = "signInMethod"; -std::string const kArgumentSecret = "secret"; -std::string const kArgumentIdToken = "idToken"; -std::string const kArgumentAccessToken = "accessToken"; -std::string const kArgumentRawNonce = "rawNonce"; -std::string const kArgumentEmail = "email"; -std::string const kArgumentCode = "code"; -std::string const kArgumentNewEmail = "newEmail"; -std::string const kArgumentEmailLink = kSignInMethodEmailLink; -std::string const kArgumentToken = "token"; -std::string const kArgumentVerificationId = "verificationId"; -std::string const kArgumentSmsCode = "smsCode"; -std::string const kArgumentActionCodeSettings = "actionCodeSettings"; - -// Emulating NSDictionary -typedef std::unordered_map Dictionary; - -firebase::auth::Credential getCredentialFromArguments( - flutter::EncodableMap arguments, const AuthPigeonFirebaseApp& app) { - std::string signInMethod = - std::get(arguments[kArgumentSignInMethod]); - - // Password Auth - if (signInMethod == kSignInMethodPassword) { - std::string email = std::get(arguments[kArgumentEmail]); - std::string secret = std::get(arguments[kArgumentSecret]); - return firebase::auth::EmailAuthProvider::GetCredential(email.c_str(), - secret.c_str()); - } - - // Email Link Auth - if (signInMethod == kSignInMethodEmailLink) { - // Firebase C++ SDK doesn't have email link authentication as of my - // knowledge cutoff in September 2021 - std::cout << "Email link authentication is not supported in Firebase C++ " - "SDK as of September 2021.\n"; - return firebase::auth::Credential(); - } - - // Lambda function to extract an optional string from the arguments map. This - // allows us to pass nullptr if no value exists - auto getStringOpt = - [&](const std::string& key) -> std::optional { - auto it = arguments.find(key); - if (it != arguments.end() && - std::holds_alternative(it->second)) { - return std::get(it->second); - } - return std::nullopt; - }; - - std::optional idToken = getStringOpt(kArgumentIdToken); - std::optional accessToken = getStringOpt(kArgumentAccessToken); - - // Facebook Auth - if (signInMethod == kSignInMethodFacebook) { - return firebase::auth::FacebookAuthProvider::GetCredential( - accessToken.value().c_str()); - } - - // Google Auth - if (signInMethod == kSignInMethodGoogle) { - // Both accessToken and idToken arguments can be null. You can use one or - // the other - return firebase::auth::GoogleAuthProvider::GetCredential( - idToken ? idToken.value().c_str() : nullptr, - accessToken ? accessToken.value().c_str() : nullptr); - } - - // Twitter Auth - if (signInMethod == kSignInMethodTwitter) { - std::string secret = std::get(arguments[kArgumentSecret]); - return firebase::auth::TwitterAuthProvider::GetCredential( - idToken.value().c_str(), secret.c_str()); - } - - // GitHub Auth - if (signInMethod == kSignInMethodGithub) { - return firebase::auth::GitHubAuthProvider::GetCredential( - accessToken.value().c_str()); - } - - // OAuth - if (signInMethod == kSignInMethodOAuth) { - std::string providerId = - std::get(arguments[kArgumentProviderId]); - std::optional rawNonce = getStringOpt(kArgumentRawNonce); - // If rawNonce provided use corresponding credential builder - // e.g. AppleID auth through the webView - if (rawNonce) { - return firebase::auth::OAuthProvider::GetCredential( - providerId.c_str(), idToken.value().c_str(), rawNonce.value().c_str(), - accessToken ? accessToken.value().c_str() : nullptr); - } else { - return firebase::auth::OAuthProvider::GetCredential( - providerId.c_str(), idToken.value().c_str(), - accessToken.value().c_str()); - } - } - - // If no known auth method matched - printf( - "Support for an auth provider with identifier '%s' is not implemented.\n", - signInMethod.c_str()); - return firebase::auth::Credential(); -} - -void FirebaseAuthPlugin::SignInWithCredential( - const AuthPigeonFirebaseApp& app, const flutter::EncodableMap& input, - std::function reply)> result) { - firebase::auth::Auth* firebaseAuth = GetAuthFromPigeon(app); - - firebase::Future signInFuture = - firebaseAuth->SignInWithCredential( - getCredentialFromArguments(input, app)); - - signInFuture.OnCompletion( - [result](const firebase::Future& completed_future) { - if (completed_future.error() == 0) { - // TODO: not the right return type from C++ SDK - InternalUserInfo credential = - ParseUserInfo(completed_future.result()); - InternalUserCredential userCredential = InternalUserCredential(); - InternalUserDetails user = - InternalUserDetails(credential, flutter::EncodableList()); - userCredential.set_user(user); - result(userCredential); - } else { - result(FirebaseAuthPlugin::ParseError(completed_future)); - } - }); -} - -void FirebaseAuthPlugin::SignInWithCustomToken( - const AuthPigeonFirebaseApp& app, const std::string& token, - std::function reply)> result) { - firebase::auth::Auth* firebaseAuth = GetAuthFromPigeon(app); - - firebase::Future signInFuture = - firebaseAuth->SignInWithCustomToken(token.c_str()); - - signInFuture.OnCompletion( - [result](const firebase::Future& - completed_future) { - // We are probably in a different thread right now. - if (completed_future.error() == 0) { - InternalUserCredential credential = - ParseAuthResult(completed_future.result()); - result(credential); - } else { - result(FirebaseAuthPlugin::ParseError(completed_future)); - } - }); -} - -void FirebaseAuthPlugin::SignInWithEmailAndPassword( - const AuthPigeonFirebaseApp& app, const std::string& email, - const std::string& password, - std::function reply)> result) { - firebase::auth::Auth* firebaseAuth = GetAuthFromPigeon(app); - - firebase::Future signInFuture = - firebaseAuth->SignInWithEmailAndPassword(email.c_str(), password.c_str()); - - signInFuture.OnCompletion( - [result](const firebase::Future& - completed_future) { - // We are probably in a different thread right now. - if (completed_future.error() == 0) { - InternalUserCredential credential = - ParseAuthResult(completed_future.result()); - result(credential); - } else { - result(FirebaseAuthPlugin::ParseError(completed_future)); - } - }); -} - -void FirebaseAuthPlugin::SignInWithEmailLink( - const AuthPigeonFirebaseApp& app, const std::string& email, - const std::string& email_link, - std::function reply)> result) { - result(FlutterError( - "unimplemented", - "SignInWithEmailLink is not available on this platform yet.", nullptr)); -} - -std::vector TransformEncodableList( - const flutter::EncodableList& encodable_list) { - std::vector transformed_list; - - for (const auto& value : encodable_list) { - if (std::holds_alternative(value)) { - transformed_list.push_back(std::get(value)); - } - } - - return transformed_list; -} - -std::map TransformEncodableMap( - const flutter::EncodableMap& encodable_map) { - std::map transformed_map; - - for (const auto& pair : encodable_map) { - if (std::holds_alternative(pair.first) && - std::holds_alternative(pair.second)) { - transformed_map[std::get(pair.first)] = - std::get(pair.second); - } - } - - return transformed_map; -} - -firebase::auth::FederatedOAuthProvider getProviderFromArguments( - const InternalSignInProvider& sign_in_provider) { - firebase::auth::FederatedOAuthProviderData federatedOAuthProviderData = - firebase::auth::FederatedOAuthProviderData( - sign_in_provider.provider_id().c_str(), - TransformEncodableList(*sign_in_provider.scopes()), - TransformEncodableMap(*sign_in_provider.custom_parameters())); - firebase::auth::FederatedOAuthProvider federatedAuthProvider = - firebase::auth::FederatedOAuthProvider(federatedOAuthProviderData); - - return federatedAuthProvider; -} - -void FirebaseAuthPlugin::SignInWithProvider( - const AuthPigeonFirebaseApp& app, - const InternalSignInProvider& sign_in_provider, - std::function reply)> result) { - firebase::auth::Auth* firebaseAuth = GetAuthFromPigeon(app); - - firebase::Future signInFuture = - firebaseAuth->SignInWithProvider( - &getProviderFromArguments(sign_in_provider)); - - signInFuture.OnCompletion( - [result](const firebase::Future& - completed_future) { - // We are probably in a different thread right now. - if (completed_future.error() == 0) { - InternalUserCredential credential = - ParseAuthResult(completed_future.result()); - result(credential); - } else { - result(FirebaseAuthPlugin::ParseError(completed_future)); - } - }); -} - -void FirebaseAuthPlugin::SignOut( - const AuthPigeonFirebaseApp& app, - std::function reply)> result) { - firebase::auth::Auth* firebaseAuth = GetAuthFromPigeon(app); - - firebaseAuth->SignOut(); - - result(std::nullopt); -} - -flutter::EncodableList TransformStringList( - const std::vector& string_list) { - flutter::EncodableList encodable_list; - - for (const auto& value : string_list) { - encodable_list.push_back(value); - } - - return encodable_list; -} - -void FirebaseAuthPlugin::FetchSignInMethodsForEmail( - const AuthPigeonFirebaseApp& app, const std::string& email, - std::function reply)> result) { - firebase::auth::Auth* firebaseAuth = GetAuthFromPigeon(app); - - firebase::Future signInFuture = - firebaseAuth->FetchProvidersForEmail(email.c_str()); - - signInFuture.OnCompletion( - [result]( - const firebase::Future& - completed_future) { - // We are probably in a different thread right now. - if (completed_future.error() == 0) { - result(TransformStringList(completed_future.result()->providers)); - } else { - result(FirebaseAuthPlugin::ParseError(completed_future)); - } - }); -} - -void FirebaseAuthPlugin::SendPasswordResetEmail( - const AuthPigeonFirebaseApp& app, const std::string& email, - const InternalActionCodeSettings* action_code_settings, - std::function reply)> result) { - firebase::auth::Auth* firebaseAuth = GetAuthFromPigeon(app); - - firebase::Future signInFuture = - firebaseAuth->SendPasswordResetEmail(email.c_str()); - - signInFuture.OnCompletion( - [result](const firebase::Future& completed_future) { - // We are probably in a different thread right now. - if (completed_future.error() == 0) { - result(std::nullopt); - } else { - result(FirebaseAuthPlugin::ParseError(completed_future)); - } - }); -} - -void FirebaseAuthPlugin::SendSignInLinkToEmail( - const AuthPigeonFirebaseApp& app, const std::string& email, - const InternalActionCodeSettings& action_code_settings, - std::function reply)> result) { - result(FlutterError( - "unimplemented", - "SendSignInLinkToEmail is not available on this platform yet.", nullptr)); -} - -void FirebaseAuthPlugin::SetLanguageCode( - const AuthPigeonFirebaseApp& app, const std::string* language_code, - std::function reply)> result) { - firebase::auth::Auth* firebaseAuth = GetAuthFromPigeon(app); - - if (language_code == nullptr) { - firebaseAuth->UseAppLanguage(); - result(firebaseAuth->language_code()); - return; - } - - firebaseAuth->set_language_code(language_code->c_str()); - - result(*language_code); -} - -void FirebaseAuthPlugin::SetSettings( - const AuthPigeonFirebaseApp& app, - const InternalFirebaseAuthSettings& settings, - std::function reply)> result) { - result(FlutterError("unimplemented", - "SetSettings is not available on this platform yet.", - nullptr)); -} - -void FirebaseAuthPlugin::VerifyPasswordResetCode( - const AuthPigeonFirebaseApp& app, const std::string& code, - std::function reply)> result) { - result(FlutterError( - "unimplemented", - "VerifyPasswordResetCode is not available on this platform yet.", - nullptr)); -} - -void FirebaseAuthPlugin::VerifyPhoneNumber( - const AuthPigeonFirebaseApp& app, - const InternalVerifyPhoneNumberRequest& request, - std::function reply)> result) { - result(FlutterError( - "unimplemented", - "VerifyPhoneNumber is not available on this platform yet.", nullptr)); -} - -void FirebaseAuthPlugin::Delete( - const AuthPigeonFirebaseApp& app, - std::function reply)> result) { - firebase::auth::Auth* firebaseAuth = GetAuthFromPigeon(app); - firebase::auth::User user = firebaseAuth->current_user(); - - firebase::Future future = user.Delete(); - - future.OnCompletion([result](const firebase::Future& completed_future) { - // We are probably in a different thread right now. - if (completed_future.error() == 0) { - result(std::nullopt); - } else { - result(FirebaseAuthPlugin::ParseError(completed_future)); - } - }); -} - -void FirebaseAuthPlugin::GetIdToken( - const AuthPigeonFirebaseApp& app, bool force_refresh, - std::function reply)> result) { - firebase::auth::Auth* firebaseAuth = GetAuthFromPigeon(app); - firebase::auth::User user = firebaseAuth->current_user(); - - firebase::Future future = user.GetToken(force_refresh); - - future.OnCompletion( - [result](const firebase::Future& completed_future) { - // We are probably in a different thread right now. - if (completed_future.error() == 0) { - InternalIdTokenResult token_result; - std::string_view sv(*completed_future.result()); - token_result.set_token(sv); - result(token_result); - } else { - result(FirebaseAuthPlugin::ParseError(completed_future)); - } - }); -} - -void FirebaseAuthPlugin::LinkWithCredential( - const AuthPigeonFirebaseApp& app, const flutter::EncodableMap& input, - std::function reply)> result) { - firebase::auth::Auth* firebaseAuth = GetAuthFromPigeon(app); - firebase::auth::User user = firebaseAuth->current_user(); - - firebase::Future future = - user.LinkWithCredential(getCredentialFromArguments(input, app)); - - future.OnCompletion( - [result](const firebase::Future& - completed_future) { - // We are probably in a different thread right now. - if (completed_future.error() == 0) { - InternalUserCredential credential = - ParseAuthResult(completed_future.result()); - result(credential); - } else { - result(FirebaseAuthPlugin::ParseError(completed_future)); - } - }); -} - -void FirebaseAuthPlugin::LinkWithProvider( - const AuthPigeonFirebaseApp& app, - const InternalSignInProvider& sign_in_provider, - std::function reply)> result) { - firebase::auth::Auth* firebaseAuth = GetAuthFromPigeon(app); - firebase::auth::User user = firebaseAuth->current_user(); - - firebase::Future future = - user.LinkWithProvider(&getProviderFromArguments(sign_in_provider)); - - future.OnCompletion( - [result](const firebase::Future& - completed_future) { - // We are probably in a different thread right now. - if (completed_future.error() == 0) { - InternalUserCredential credential = - ParseAuthResult(completed_future.result()); - result(credential); - } else { - result(FirebaseAuthPlugin::ParseError(completed_future)); - } - }); -} - -void FirebaseAuthPlugin::ReauthenticateWithCredential( - const AuthPigeonFirebaseApp& app, const flutter::EncodableMap& input, - std::function reply)> result) { - firebase::auth::Auth* firebaseAuth = GetAuthFromPigeon(app); - firebase::auth::User user = firebaseAuth->current_user(); - - firebase::Future future = - user.Reauthenticate(getCredentialFromArguments(input, app)); - - future.OnCompletion([result](const firebase::Future& completed_future) { - // We are probably in a different thread right now. - if (completed_future.error() == 0) { - // TODO: wrong return type - } else { - result(FirebaseAuthPlugin::ParseError(completed_future)); - } - }); -} - -void FirebaseAuthPlugin::ReauthenticateWithProvider( - const AuthPigeonFirebaseApp& app, - const InternalSignInProvider& sign_in_provider, - std::function reply)> result) { - firebase::auth::Auth* firebaseAuth = GetAuthFromPigeon(app); - firebase::auth::User user = firebaseAuth->current_user(); - - firebase::Future future = - user.ReauthenticateWithProvider( - &getProviderFromArguments(sign_in_provider)); - - future.OnCompletion( - [result](const firebase::Future& - completed_future) { - // We are probably in a different thread right now. - if (completed_future.error() == 0) { - InternalUserCredential credential = - ParseAuthResult(completed_future.result()); - result(credential); - } else { - result(FirebaseAuthPlugin::ParseError(completed_future)); - } - }); -} - -void FirebaseAuthPlugin::Reload( - const AuthPigeonFirebaseApp& app, - std::function reply)> result) { - firebase::auth::Auth* firebaseAuth = GetAuthFromPigeon(app); - firebase::auth::User user = firebaseAuth->current_user(); - - firebase::Future future = user.Reload(); - - future.OnCompletion([result, firebaseAuth]( - const firebase::Future& completed_future) { - // We are probably in a different thread right now. - if (completed_future.error() == 0) { - InternalUserDetails user = ParseUserDetails(firebaseAuth->current_user()); - result(user); - } else { - result(FirebaseAuthPlugin::ParseError(completed_future)); - } - }); -} - -void FirebaseAuthPlugin::SendEmailVerification( - const AuthPigeonFirebaseApp& app, - const InternalActionCodeSettings* action_code_settings, - std::function reply)> result) { - firebase::auth::Auth* firebaseAuth = GetAuthFromPigeon(app); - firebase::auth::User user = firebaseAuth->current_user(); - - firebase::Future future = user.SendEmailVerification(); - - future.OnCompletion([result](const firebase::Future& completed_future) { - // We are probably in a different thread right now. - if (completed_future.error() == 0) { - result(std::nullopt); - } else { - result(FirebaseAuthPlugin::ParseError(completed_future)); - } - }); -} - -void FirebaseAuthPlugin::Unlink( - const AuthPigeonFirebaseApp& app, const std::string& provider_id, - std::function reply)> result) { - firebase::auth::Auth* firebaseAuth = GetAuthFromPigeon(app); - firebase::auth::User user = firebaseAuth->current_user(); - - firebase::Future future = - user.Unlink(provider_id.c_str()); - - future.OnCompletion( - [result](const firebase::Future& - completed_future) { - // We are probably in a different thread right now. - if (completed_future.error() == 0) { - InternalUserCredential credential = - ParseAuthResult(completed_future.result()); - result(credential); - } else { - result(FirebaseAuthPlugin::ParseError(completed_future)); - } - }); -} - -void FirebaseAuthPlugin::UpdateEmail( - const AuthPigeonFirebaseApp& app, const std::string& new_email, - std::function reply)> result) { - firebase::auth::Auth* firebaseAuth = GetAuthFromPigeon(app); - firebase::auth::User user = firebaseAuth->current_user(); - - firebase::Future future = - user.SendEmailVerificationBeforeUpdatingEmail(new_email.c_str()); - - future.OnCompletion([result, firebaseAuth]( - const firebase::Future& completed_future) { - // We are probably in a different thread right now. - if (completed_future.error() == 0) { - InternalUserDetails user = ParseUserDetails(firebaseAuth->current_user()); - result(user); - } else { - result(FirebaseAuthPlugin::ParseError(completed_future)); - } - }); -} - -void FirebaseAuthPlugin::UpdatePassword( - const AuthPigeonFirebaseApp& app, const std::string& new_password, - std::function reply)> result) { - firebase::auth::Auth* firebaseAuth = GetAuthFromPigeon(app); - firebase::auth::User user = firebaseAuth->current_user(); - - firebase::Future future = user.UpdatePassword(new_password.c_str()); - - future.OnCompletion([result, firebaseAuth]( - const firebase::Future& completed_future) { - // We are probably in a different thread right now. - if (completed_future.error() == 0) { - InternalUserDetails user = ParseUserDetails(firebaseAuth->current_user()); - result(user); - } else { - result(FirebaseAuthPlugin::ParseError(completed_future)); - } - }); -} - -firebase::auth::PhoneAuthCredential getPhoneCredentialFromArguments( - flutter::EncodableMap arguments, const AuthPigeonFirebaseApp& app) { - std::string signInMethod = - std::get(arguments[kArgumentSignInMethod]); - - if (signInMethod == kSignInMethodPhone) { - std::string verificationId = - std::get(arguments[kArgumentVerificationId]); - std::string smsCode = std::get(arguments[kArgumentSmsCode]); - - // TODO: we cannot construct a PhoneAuthCredential from the verificationId - return firebase::auth::PhoneAuthCredential::PhoneAuthCredential(); - } - // If no known auth method matched - printf( - "Support for an auth provider with identifier '%s' is not " - "implemented.\n", - signInMethod.c_str()); - throw; -} - -void FirebaseAuthPlugin::UpdatePhoneNumber( - const AuthPigeonFirebaseApp& app, const flutter::EncodableMap& input, - std::function reply)> result) { - firebase::auth::Auth* firebaseAuth = GetAuthFromPigeon(app); - firebase::auth::User user = firebaseAuth->current_user(); - - firebase::Future future = - user.UpdatePhoneNumberCredential( - getPhoneCredentialFromArguments(input, app)); - - future.OnCompletion( - [result](const firebase::Future& completed_future) { - // We are probably in a different thread right now. - if (completed_future.error() == 0) { - InternalUserDetails user = - ParseUserDetails(*completed_future.result()); - result(user); - } else { - result(FirebaseAuthPlugin::ParseError(completed_future)); - } - }); -} - -void FirebaseAuthPlugin::UpdateProfile( - const AuthPigeonFirebaseApp& app, const InternalUserProfile& profile, - std::function reply)> result) { - firebase::auth::Auth* firebaseAuth = GetAuthFromPigeon(app); - firebase::auth::User user = firebaseAuth->current_user(); - - firebase::auth::User::UserProfile userProfile; - - if (profile.display_name_changed()) { - userProfile.display_name = profile.display_name()->c_str(); - } - if (profile.photo_url_changed()) { - userProfile.photo_url = profile.photo_url()->c_str(); - } - - firebase::Future future = user.UpdateUserProfile(userProfile); - - future.OnCompletion([result, firebaseAuth]( - const firebase::Future& completed_future) { - // We are probably in a different thread right now. - if (completed_future.error() == 0) { - InternalUserDetails user = ParseUserDetails(firebaseAuth->current_user()); - result(user); - } else { - result(FirebaseAuthPlugin::ParseError(completed_future)); - } - }); -} - -void FirebaseAuthPlugin::VerifyBeforeUpdateEmail( - const AuthPigeonFirebaseApp& app, const std::string& new_email, - const InternalActionCodeSettings* action_code_settings, - std::function reply)> result) { - firebase::auth::Auth* firebaseAuth = GetAuthFromPigeon(app); - firebase::auth::User user = firebaseAuth->current_user(); - - if (action_code_settings != nullptr) { - printf( - "Firebase C++ SDK does not support using `ActionCodeSettings` for " - "`verifyBeforeUpdateEmail()` API currently"); - } - - firebase::Future future = - user.SendEmailVerificationBeforeUpdatingEmail(new_email.c_str()); - - future.OnCompletion( - [result, firebaseAuth](const firebase::Future& completed_future) { - if (completed_future.error() == 0) { - result(std::nullopt); - } else { - result(FirebaseAuthPlugin::ParseError(completed_future)); - } - }); -} - -void FirebaseAuthPlugin::RevokeTokenWithAuthorizationCode( - const AuthPigeonFirebaseApp& app, const std::string& authorization_code, - std::function reply)> result) { - result(FlutterError( - "unimplemented", - "RevokeTokenWithAuthorizationCode is not available on this platform yet.", - nullptr)); -} - -void FirebaseAuthPlugin::RevokeAccessToken( - const AuthPigeonFirebaseApp& app, const std::string& access_token, - std::function reply)> result) { - result(FlutterError("unimplemented", - "RevokeAccessToken is not available on this platform.", - nullptr)); -} - -void FirebaseAuthPlugin::InitializeRecaptchaConfig( - const AuthPigeonFirebaseApp& app, - std::function reply)> result) { - result(FlutterError( - "unimplemented", - "InitializeRecaptchaConfig is not available on this platform yet.", - nullptr)); -} - -flutter::EncodableMap FirebaseAuthPlugin::GetPluginConstantsForFirebaseApp( - const firebase::App& app) { - flutter::EncodableMap constants; - - Auth* auth = Auth::GetAuth(const_cast(&app)); - firebase::auth::User user = auth->current_user(); - - if (user.is_valid()) { - InternalUserDetails userDetails = ParseUserDetails(user); - flutter::EncodableList userDetailsList; - userDetailsList.push_back( - flutter::EncodableValue(userDetails.user_info().ToEncodableList())); - userDetailsList.push_back( - flutter::EncodableValue(userDetails.provider_data())); - constants[flutter::EncodableValue("APP_CURRENT_USER")] = - flutter::EncodableValue(userDetailsList); - } - - std::string lang = auth->language_code(); - if (!lang.empty()) { - constants[flutter::EncodableValue("APP_LANGUAGE_CODE")] = - flutter::EncodableValue(lang); - } - - return constants; -} - -void FirebaseAuthPlugin::DidReinitializeFirebaseCore() { - // No-op for now. Could be used to reset cached auth instances. -} - -} // namespace firebase_auth_windows diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/windows/firebase_auth_plugin.h b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/windows/firebase_auth_plugin.h deleted file mode 100644 index 575e201f..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/windows/firebase_auth_plugin.h +++ /dev/null @@ -1,218 +0,0 @@ -/* - * Copyright 2023, the Chromium project authors. Please see the AUTHORS file - * for details. All rights reserved. Use of this source code is governed by a - * BSD-style license that can be found in the LICENSE file. - */ - -#ifndef FLUTTER_PLUGIN_FIREBASE_AUTH_PLUGIN_H_ -#define FLUTTER_PLUGIN_FIREBASE_AUTH_PLUGIN_H_ - -#include -#include - -#include - -#include "firebase/app.h" -#include "firebase/auth.h" -#include "firebase/auth/types.h" -#include "firebase/future.h" -#include "firebase_core/flutter_firebase_plugin.h" -#include "messages.g.h" - -using firebase::auth::AuthError; - -namespace firebase_auth_windows { - -class FirebaseAuthPlugin : public flutter::Plugin, - public FirebaseAuthHostApi, - public FirebaseAuthUserHostApi, - public FlutterFirebasePlugin { - public: - static void RegisterWithRegistrar(flutter::PluginRegistrarWindows* registrar); - - FirebaseAuthPlugin(); - - virtual ~FirebaseAuthPlugin(); - - // Disallow copy and assign. - FirebaseAuthPlugin(const FirebaseAuthPlugin&) = delete; - FirebaseAuthPlugin& operator=(const FirebaseAuthPlugin&) = delete; - - // Parser functions - static std::string GetAuthErrorCode(AuthError authError); - static FlutterError ParseError(const firebase::FutureBase& future); - - static InternalUserDetails ParseUserDetails(const firebase::auth::User user); - static InternalAdditionalUserInfo ParseAdditionalUserInfo( - const firebase::auth::AdditionalUserInfo user); - static flutter::EncodableMap ConvertToEncodableMap( - const std::map& originalMap); - static flutter::EncodableValue ConvertToEncodableValue( - const firebase::Variant& variant); - static InternalUserInfo ParseUserInfo(const firebase::auth::User* user); - static flutter::EncodableList ParseProviderData( - const firebase::auth::User* user); - static flutter::EncodableValue ParseUserInfoToMap( - firebase::auth::UserInfoInterface* userInfo); - - // FirebaseAuthHostApi methods. - virtual void RegisterIdTokenListener( - const AuthPigeonFirebaseApp& app, - std::function reply)> result) override; - virtual void RegisterAuthStateListener( - const AuthPigeonFirebaseApp& app, - std::function reply)> result) override; - virtual void UseEmulator( - const AuthPigeonFirebaseApp& app, const std::string& host, int64_t port, - std::function reply)> result) override; - virtual void ApplyActionCode( - const AuthPigeonFirebaseApp& app, const std::string& code, - std::function reply)> result) override; - virtual void CheckActionCode( - const AuthPigeonFirebaseApp& app, const std::string& code, - std::function reply)> result) - override; - virtual void ConfirmPasswordReset( - const AuthPigeonFirebaseApp& app, const std::string& code, - const std::string& new_password, - std::function reply)> result) override; - virtual void CreateUserWithEmailAndPassword( - const AuthPigeonFirebaseApp& app, const std::string& email, - const std::string& password, - std::function reply)> result) - override; - virtual void SignInAnonymously( - const AuthPigeonFirebaseApp& app, - std::function reply)> result) - override; - virtual void SignInWithCredential( - const AuthPigeonFirebaseApp& app, const flutter::EncodableMap& input, - std::function reply)> result) - override; - virtual void SignInWithCustomToken( - const AuthPigeonFirebaseApp& app, const std::string& token, - std::function reply)> result) - override; - virtual void SignInWithEmailAndPassword( - const AuthPigeonFirebaseApp& app, const std::string& email, - const std::string& password, - std::function reply)> result) - override; - virtual void SignInWithEmailLink( - const AuthPigeonFirebaseApp& app, const std::string& email, - const std::string& email_link, - std::function reply)> result) - override; - virtual void SignInWithProvider( - const AuthPigeonFirebaseApp& app, - const InternalSignInProvider& sign_in_provider, - std::function reply)> result) - override; - virtual void SignOut( - const AuthPigeonFirebaseApp& app, - std::function reply)> result) override; - virtual void FetchSignInMethodsForEmail( - const AuthPigeonFirebaseApp& app, const std::string& email, - std::function reply)> result) - override; - virtual void SendPasswordResetEmail( - const AuthPigeonFirebaseApp& app, const std::string& email, - const InternalActionCodeSettings* action_code_settings, - std::function reply)> result) override; - virtual void SendSignInLinkToEmail( - const AuthPigeonFirebaseApp& app, const std::string& email, - const InternalActionCodeSettings& action_code_settings, - std::function reply)> result) override; - virtual void SetLanguageCode( - const AuthPigeonFirebaseApp& app, const std::string* language_code, - std::function reply)> result) override; - virtual void SetSettings( - const AuthPigeonFirebaseApp& app, - const InternalFirebaseAuthSettings& settings, - std::function reply)> result) override; - virtual void VerifyPasswordResetCode( - const AuthPigeonFirebaseApp& app, const std::string& code, - std::function reply)> result) override; - virtual void VerifyPhoneNumber( - const AuthPigeonFirebaseApp& app, - const InternalVerifyPhoneNumberRequest& request, - std::function reply)> result) override; - - // FirebaseAuthUserHostApi methods. - virtual void Delete( - const AuthPigeonFirebaseApp& app, - std::function reply)> result) override; - virtual void GetIdToken( - const AuthPigeonFirebaseApp& app, bool force_refresh, - std::function reply)> result) - override; - virtual void LinkWithCredential( - const AuthPigeonFirebaseApp& app, const flutter::EncodableMap& input, - std::function reply)> result) - override; - virtual void LinkWithProvider( - const AuthPigeonFirebaseApp& app, - const InternalSignInProvider& sign_in_provider, - std::function reply)> result) - override; - virtual void ReauthenticateWithCredential( - const AuthPigeonFirebaseApp& app, const flutter::EncodableMap& input, - std::function reply)> result) - override; - virtual void ReauthenticateWithProvider( - const AuthPigeonFirebaseApp& app, - const InternalSignInProvider& sign_in_provider, - std::function reply)> result) - override; - virtual void Reload( - const AuthPigeonFirebaseApp& app, - std::function reply)> result) override; - virtual void SendEmailVerification( - const AuthPigeonFirebaseApp& app, - const InternalActionCodeSettings* action_code_settings, - std::function reply)> result) override; - virtual void Unlink(const AuthPigeonFirebaseApp& app, - const std::string& provider_id, - std::function reply)> - result) override; - virtual void UpdateEmail( - const AuthPigeonFirebaseApp& app, const std::string& new_email, - std::function reply)> result) override; - virtual void UpdatePassword( - const AuthPigeonFirebaseApp& app, const std::string& new_password, - std::function reply)> result) override; - virtual void UpdatePhoneNumber( - const AuthPigeonFirebaseApp& app, const flutter::EncodableMap& input, - std::function reply)> result) override; - virtual void UpdateProfile( - const AuthPigeonFirebaseApp& app, const InternalUserProfile& profile, - std::function reply)> result) override; - virtual void VerifyBeforeUpdateEmail( - const AuthPigeonFirebaseApp& app, const std::string& new_email, - const InternalActionCodeSettings* action_code_settings, - std::function reply)> result) override; - - virtual void RevokeTokenWithAuthorizationCode( - const AuthPigeonFirebaseApp& app, const std::string& authorization_code, - std::function reply)> result) override; - - virtual void RevokeAccessToken( - const AuthPigeonFirebaseApp& app, const std::string& access_token, - std::function reply)> result) override; - - virtual void InitializeRecaptchaConfig( - const AuthPigeonFirebaseApp& app, - std::function reply)> result) override; - - // FlutterFirebasePlugin methods. - flutter::EncodableMap GetPluginConstantsForFirebaseApp( - const firebase::App& app) override; - void DidReinitializeFirebaseCore() override; - - private: - static flutter::BinaryMessenger* binaryMessenger; -}; - -} // namespace firebase_auth_windows - -#endif // FLUTTER_PLUGIN_FIREBASE_AUTH_PLUGIN_H_ diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/windows/firebase_auth_plugin_c_api.cpp b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/windows/firebase_auth_plugin_c_api.cpp deleted file mode 100644 index 03d93038..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/windows/firebase_auth_plugin_c_api.cpp +++ /dev/null @@ -1,16 +0,0 @@ -// Copyright 2023, the Chromium project authors. Please see the AUTHORS file -// for details. All rights reserved. Use of this source code is governed by a -// BSD-style license that can be found in the LICENSE file. - -#include "include/firebase_auth/firebase_auth_plugin_c_api.h" - -#include - -#include "firebase_auth_plugin.h" - -void FirebaseAuthPluginCApiRegisterWithRegistrar( - FlutterDesktopPluginRegistrarRef registrar) { - firebase_auth_windows::FirebaseAuthPlugin::RegisterWithRegistrar( - flutter::PluginRegistrarManager::GetInstance() - ->GetRegistrar(registrar)); -} diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/windows/include/firebase_auth/firebase_auth_plugin_c_api.h b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/windows/include/firebase_auth/firebase_auth_plugin_c_api.h deleted file mode 100644 index 1c73a633..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/windows/include/firebase_auth/firebase_auth_plugin_c_api.h +++ /dev/null @@ -1,29 +0,0 @@ -/* - * Copyright 2023, the Chromium project authors. Please see the AUTHORS file - * for details. All rights reserved. Use of this source code is governed by a - * BSD-style license that can be found in the LICENSE file. - */ - -#ifndef FLUTTER_PLUGIN_FIREBASE_AUTH_PLUGIN_C_API_H_ -#define FLUTTER_PLUGIN_FIREBASE_AUTH_PLUGIN_C_API_H_ - -#include - -#ifdef FLUTTER_PLUGIN_IMPL -#define FLUTTER_PLUGIN_EXPORT __declspec(dllexport) -#else -#define FLUTTER_PLUGIN_EXPORT __declspec(dllimport) -#endif - -#if defined(__cplusplus) -extern "C" { -#endif - -FLUTTER_PLUGIN_EXPORT void FirebaseAuthPluginCApiRegisterWithRegistrar( - FlutterDesktopPluginRegistrarRef registrar); - -#if defined(__cplusplus) -} // extern "C" -#endif - -#endif // FLUTTER_PLUGIN_FIREBASE_AUTH_PLUGIN_C_API_H_ diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/windows/messages.g.cpp b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/windows/messages.g.cpp deleted file mode 100644 index ea2200e6..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/windows/messages.g.cpp +++ /dev/null @@ -1,5562 +0,0 @@ -// Copyright 2023, the Chromium project authors. Please see the AUTHORS file -// for details. All rights reserved. Use of this source code is governed by a -// BSD-style license that can be found in the LICENSE file. -// Autogenerated from Pigeon (v26.3.4), do not edit directly. -// See also: https://pub.dev/packages/pigeon - -#undef _HAS_EXCEPTIONS - -#include "messages.g.h" - -#include -#include -#include -#include - -#include -#include -#include -#include -#include - -namespace firebase_auth_windows { -using ::flutter::BasicMessageChannel; -using ::flutter::CustomEncodableValue; -using ::flutter::EncodableList; -using ::flutter::EncodableMap; -using ::flutter::EncodableValue; - -FlutterError CreateConnectionError(const std::string channel_name) { - return FlutterError( - "channel-error", - "Unable to establish connection on channel: '" + channel_name + "'.", - EncodableValue("")); -} - -namespace { -template -bool PigeonInternalDeepEquals(const T& a, const T& b); - -bool PigeonInternalDeepEquals(const double& a, const double& b); - -template -bool PigeonInternalDeepEquals(const std::vector& a, const std::vector& b); - -template -bool PigeonInternalDeepEquals(const std::map& a, const std::map& b); - -template -bool PigeonInternalDeepEquals(const std::optional& a, - const std::optional& b); - -template -bool PigeonInternalDeepEquals(const std::unique_ptr& a, - const std::unique_ptr& b); - -bool PigeonInternalDeepEquals(const ::flutter::EncodableValue& a, - const ::flutter::EncodableValue& b); - -template -bool PigeonInternalDeepEquals(const T& a, const T& b) { - return a == b; -} - -template -bool PigeonInternalDeepEquals(const std::vector& a, - const std::vector& b) { - if (a.size() != b.size()) { - return false; - } - for (size_t i = 0; i < a.size(); ++i) { - if (!PigeonInternalDeepEquals(a[i], b[i])) { - return false; - } - } - return true; -} - -template -bool PigeonInternalDeepEquals(const std::map& a, - const std::map& b) { - if (a.size() != b.size()) { - return false; - } - for (const auto& kv : a) { - bool found = false; - for (const auto& b_kv : b) { - if (PigeonInternalDeepEquals(kv.first, b_kv.first)) { - if (PigeonInternalDeepEquals(kv.second, b_kv.second)) { - found = true; - break; - } else { - return false; - } - } - } - if (!found) { - return false; - } - } - return true; -} - -bool PigeonInternalDeepEquals(const double& a, const double& b) { - // Normalize -0.0 to 0.0 and handle NaN equality. - return (a == b) || (std::isnan(a) && std::isnan(b)); -} - -template -bool PigeonInternalDeepEquals(const std::optional& a, - const std::optional& b) { - if (!a && !b) { - return true; - } - if (!a || !b) { - return false; - } - return PigeonInternalDeepEquals(*a, *b); -} - -template -bool PigeonInternalDeepEquals(const std::unique_ptr& a, - const std::unique_ptr& b) { - if (a.get() == b.get()) { - return true; - } - if (!a || !b) { - return false; - } - return PigeonInternalDeepEquals(*a, *b); -} - -bool PigeonInternalDeepEquals(const ::flutter::EncodableValue& a, - const ::flutter::EncodableValue& b) { - if (a.index() != b.index()) { - return false; - } - if (const double* da = std::get_if(&a)) { - return PigeonInternalDeepEquals(*da, std::get(b)); - } else if (const ::flutter::EncodableList* la = - std::get_if<::flutter::EncodableList>(&a)) { - return PigeonInternalDeepEquals(*la, std::get<::flutter::EncodableList>(b)); - } else if (const ::flutter::EncodableMap* ma = - std::get_if<::flutter::EncodableMap>(&a)) { - return PigeonInternalDeepEquals(*ma, std::get<::flutter::EncodableMap>(b)); - } - return a == b; -} - -template -size_t PigeonInternalDeepHash(const T& v); - -size_t PigeonInternalDeepHash(const double& v); - -template -size_t PigeonInternalDeepHash(const std::vector& v); - -template -size_t PigeonInternalDeepHash(const std::map& v); - -template -size_t PigeonInternalDeepHash(const std::optional& v); - -template -size_t PigeonInternalDeepHash(const std::unique_ptr& v); - -size_t PigeonInternalDeepHash(const ::flutter::EncodableValue& v); - -template -size_t PigeonInternalDeepHash(const T& v) { - return std::hash()(v); -} - -template -size_t PigeonInternalDeepHash(const std::vector& v) { - size_t result = 1; - for (const auto& item : v) { - result = result * 31 + PigeonInternalDeepHash(item); - } - return result; -} - -template -size_t PigeonInternalDeepHash(const std::map& v) { - size_t result = 0; - for (const auto& kv : v) { - result += ((PigeonInternalDeepHash(kv.first) * 31) ^ - PigeonInternalDeepHash(kv.second)); - } - return result; -} - -size_t PigeonInternalDeepHash(const double& v) { - if (std::isnan(v)) { - // Normalize NaN to a consistent hash. - return std::hash()(std::numeric_limits::quiet_NaN()); - } - if (v == 0.0) { - // Normalize -0.0 to 0.0 so they have the same hash code. - return std::hash()(0.0); - } - return std::hash()(v); -} - -template -size_t PigeonInternalDeepHash(const std::optional& v) { - return v ? PigeonInternalDeepHash(*v) : 0; -} - -template -size_t PigeonInternalDeepHash(const std::unique_ptr& v) { - return v ? PigeonInternalDeepHash(*v) : 0; -} - -size_t PigeonInternalDeepHash(const ::flutter::EncodableValue& v) { - size_t result = v.index(); - if (const double* dv = std::get_if(&v)) { - result = result * 31 + PigeonInternalDeepHash(*dv); - } else if (const ::flutter::EncodableList* lv = - std::get_if<::flutter::EncodableList>(&v)) { - result = result * 31 + PigeonInternalDeepHash(*lv); - } else if (const ::flutter::EncodableMap* mv = - std::get_if<::flutter::EncodableMap>(&v)) { - result = result * 31 + PigeonInternalDeepHash(*mv); - } else { - std::visit( - [&result](const auto& val) { - using T = std::decay_t; - if constexpr (!std::is_same_v && - !std::is_same_v && - !std::is_same_v && - !std::is_same_v && - !std::is_same_v) { - result = result * 31 + PigeonInternalDeepHash(val); - } - }, - v); - } - return result; -} - -} // namespace -// InternalMultiFactorSession - -InternalMultiFactorSession::InternalMultiFactorSession(const std::string& id) - : id_(id) {} - -const std::string& InternalMultiFactorSession::id() const { return id_; } - -void InternalMultiFactorSession::set_id(std::string_view value_arg) { - id_ = value_arg; -} - -EncodableList InternalMultiFactorSession::ToEncodableList() const { - EncodableList list; - list.reserve(1); - list.push_back(EncodableValue(id_)); - return list; -} - -InternalMultiFactorSession InternalMultiFactorSession::FromEncodableList( - const EncodableList& list) { - InternalMultiFactorSession decoded(std::get(list[0])); - return decoded; -} - -bool InternalMultiFactorSession::operator==( - const InternalMultiFactorSession& other) const { - return PigeonInternalDeepEquals(id_, other.id_); -} - -bool InternalMultiFactorSession::operator!=( - const InternalMultiFactorSession& other) const { - return !(*this == other); -} - -size_t InternalMultiFactorSession::Hash() const { - size_t result = 1; - result = result * 31 + PigeonInternalDeepHash(id_); - return result; -} - -size_t PigeonInternalDeepHash(const InternalMultiFactorSession& v) { - return v.Hash(); -} - -// InternalPhoneMultiFactorAssertion - -InternalPhoneMultiFactorAssertion::InternalPhoneMultiFactorAssertion( - const std::string& verification_id, const std::string& verification_code) - : verification_id_(verification_id), - verification_code_(verification_code) {} - -const std::string& InternalPhoneMultiFactorAssertion::verification_id() const { - return verification_id_; -} - -void InternalPhoneMultiFactorAssertion::set_verification_id( - std::string_view value_arg) { - verification_id_ = value_arg; -} - -const std::string& InternalPhoneMultiFactorAssertion::verification_code() - const { - return verification_code_; -} - -void InternalPhoneMultiFactorAssertion::set_verification_code( - std::string_view value_arg) { - verification_code_ = value_arg; -} - -EncodableList InternalPhoneMultiFactorAssertion::ToEncodableList() const { - EncodableList list; - list.reserve(2); - list.push_back(EncodableValue(verification_id_)); - list.push_back(EncodableValue(verification_code_)); - return list; -} - -InternalPhoneMultiFactorAssertion -InternalPhoneMultiFactorAssertion::FromEncodableList( - const EncodableList& list) { - InternalPhoneMultiFactorAssertion decoded(std::get(list[0]), - std::get(list[1])); - return decoded; -} - -bool InternalPhoneMultiFactorAssertion::operator==( - const InternalPhoneMultiFactorAssertion& other) const { - return PigeonInternalDeepEquals(verification_id_, other.verification_id_) && - PigeonInternalDeepEquals(verification_code_, other.verification_code_); -} - -bool InternalPhoneMultiFactorAssertion::operator!=( - const InternalPhoneMultiFactorAssertion& other) const { - return !(*this == other); -} - -size_t InternalPhoneMultiFactorAssertion::Hash() const { - size_t result = 1; - result = result * 31 + PigeonInternalDeepHash(verification_id_); - result = result * 31 + PigeonInternalDeepHash(verification_code_); - return result; -} - -size_t PigeonInternalDeepHash(const InternalPhoneMultiFactorAssertion& v) { - return v.Hash(); -} - -// InternalMultiFactorInfo - -InternalMultiFactorInfo::InternalMultiFactorInfo(double enrollment_timestamp, - const std::string& uid) - : enrollment_timestamp_(enrollment_timestamp), uid_(uid) {} - -InternalMultiFactorInfo::InternalMultiFactorInfo( - const std::string* display_name, double enrollment_timestamp, - const std::string* factor_id, const std::string& uid, - const std::string* phone_number) - : display_name_(display_name ? std::optional(*display_name) - : std::nullopt), - enrollment_timestamp_(enrollment_timestamp), - factor_id_(factor_id ? std::optional(*factor_id) - : std::nullopt), - uid_(uid), - phone_number_(phone_number ? std::optional(*phone_number) - : std::nullopt) {} - -const std::string* InternalMultiFactorInfo::display_name() const { - return display_name_ ? &(*display_name_) : nullptr; -} - -void InternalMultiFactorInfo::set_display_name( - const std::string_view* value_arg) { - display_name_ = - value_arg ? std::optional(*value_arg) : std::nullopt; -} - -void InternalMultiFactorInfo::set_display_name(std::string_view value_arg) { - display_name_ = value_arg; -} - -double InternalMultiFactorInfo::enrollment_timestamp() const { - return enrollment_timestamp_; -} - -void InternalMultiFactorInfo::set_enrollment_timestamp(double value_arg) { - enrollment_timestamp_ = value_arg; -} - -const std::string* InternalMultiFactorInfo::factor_id() const { - return factor_id_ ? &(*factor_id_) : nullptr; -} - -void InternalMultiFactorInfo::set_factor_id(const std::string_view* value_arg) { - factor_id_ = - value_arg ? std::optional(*value_arg) : std::nullopt; -} - -void InternalMultiFactorInfo::set_factor_id(std::string_view value_arg) { - factor_id_ = value_arg; -} - -const std::string& InternalMultiFactorInfo::uid() const { return uid_; } - -void InternalMultiFactorInfo::set_uid(std::string_view value_arg) { - uid_ = value_arg; -} - -const std::string* InternalMultiFactorInfo::phone_number() const { - return phone_number_ ? &(*phone_number_) : nullptr; -} - -void InternalMultiFactorInfo::set_phone_number( - const std::string_view* value_arg) { - phone_number_ = - value_arg ? std::optional(*value_arg) : std::nullopt; -} - -void InternalMultiFactorInfo::set_phone_number(std::string_view value_arg) { - phone_number_ = value_arg; -} - -EncodableList InternalMultiFactorInfo::ToEncodableList() const { - EncodableList list; - list.reserve(5); - list.push_back(display_name_ ? EncodableValue(*display_name_) - : EncodableValue()); - list.push_back(EncodableValue(enrollment_timestamp_)); - list.push_back(factor_id_ ? EncodableValue(*factor_id_) : EncodableValue()); - list.push_back(EncodableValue(uid_)); - list.push_back(phone_number_ ? EncodableValue(*phone_number_) - : EncodableValue()); - return list; -} - -InternalMultiFactorInfo InternalMultiFactorInfo::FromEncodableList( - const EncodableList& list) { - InternalMultiFactorInfo decoded(std::get(list[1]), - std::get(list[3])); - auto& encodable_display_name = list[0]; - if (!encodable_display_name.IsNull()) { - decoded.set_display_name(std::get(encodable_display_name)); - } - auto& encodable_factor_id = list[2]; - if (!encodable_factor_id.IsNull()) { - decoded.set_factor_id(std::get(encodable_factor_id)); - } - auto& encodable_phone_number = list[4]; - if (!encodable_phone_number.IsNull()) { - decoded.set_phone_number(std::get(encodable_phone_number)); - } - return decoded; -} - -bool InternalMultiFactorInfo::operator==( - const InternalMultiFactorInfo& other) const { - return PigeonInternalDeepEquals(display_name_, other.display_name_) && - PigeonInternalDeepEquals(enrollment_timestamp_, - other.enrollment_timestamp_) && - PigeonInternalDeepEquals(factor_id_, other.factor_id_) && - PigeonInternalDeepEquals(uid_, other.uid_) && - PigeonInternalDeepEquals(phone_number_, other.phone_number_); -} - -bool InternalMultiFactorInfo::operator!=( - const InternalMultiFactorInfo& other) const { - return !(*this == other); -} - -size_t InternalMultiFactorInfo::Hash() const { - size_t result = 1; - result = result * 31 + PigeonInternalDeepHash(display_name_); - result = result * 31 + PigeonInternalDeepHash(enrollment_timestamp_); - result = result * 31 + PigeonInternalDeepHash(factor_id_); - result = result * 31 + PigeonInternalDeepHash(uid_); - result = result * 31 + PigeonInternalDeepHash(phone_number_); - return result; -} - -size_t PigeonInternalDeepHash(const InternalMultiFactorInfo& v) { - return v.Hash(); -} - -// AuthPigeonFirebaseApp - -AuthPigeonFirebaseApp::AuthPigeonFirebaseApp(const std::string& app_name) - : app_name_(app_name) {} - -AuthPigeonFirebaseApp::AuthPigeonFirebaseApp( - const std::string& app_name, const std::string* tenant_id, - const std::string* custom_auth_domain) - : app_name_(app_name), - tenant_id_(tenant_id ? std::optional(*tenant_id) - : std::nullopt), - custom_auth_domain_(custom_auth_domain - ? std::optional(*custom_auth_domain) - : std::nullopt) {} - -const std::string& AuthPigeonFirebaseApp::app_name() const { return app_name_; } - -void AuthPigeonFirebaseApp::set_app_name(std::string_view value_arg) { - app_name_ = value_arg; -} - -const std::string* AuthPigeonFirebaseApp::tenant_id() const { - return tenant_id_ ? &(*tenant_id_) : nullptr; -} - -void AuthPigeonFirebaseApp::set_tenant_id(const std::string_view* value_arg) { - tenant_id_ = - value_arg ? std::optional(*value_arg) : std::nullopt; -} - -void AuthPigeonFirebaseApp::set_tenant_id(std::string_view value_arg) { - tenant_id_ = value_arg; -} - -const std::string* AuthPigeonFirebaseApp::custom_auth_domain() const { - return custom_auth_domain_ ? &(*custom_auth_domain_) : nullptr; -} - -void AuthPigeonFirebaseApp::set_custom_auth_domain( - const std::string_view* value_arg) { - custom_auth_domain_ = - value_arg ? std::optional(*value_arg) : std::nullopt; -} - -void AuthPigeonFirebaseApp::set_custom_auth_domain(std::string_view value_arg) { - custom_auth_domain_ = value_arg; -} - -EncodableList AuthPigeonFirebaseApp::ToEncodableList() const { - EncodableList list; - list.reserve(3); - list.push_back(EncodableValue(app_name_)); - list.push_back(tenant_id_ ? EncodableValue(*tenant_id_) : EncodableValue()); - list.push_back(custom_auth_domain_ ? EncodableValue(*custom_auth_domain_) - : EncodableValue()); - return list; -} - -AuthPigeonFirebaseApp AuthPigeonFirebaseApp::FromEncodableList( - const EncodableList& list) { - AuthPigeonFirebaseApp decoded(std::get(list[0])); - auto& encodable_tenant_id = list[1]; - if (!encodable_tenant_id.IsNull()) { - decoded.set_tenant_id(std::get(encodable_tenant_id)); - } - auto& encodable_custom_auth_domain = list[2]; - if (!encodable_custom_auth_domain.IsNull()) { - decoded.set_custom_auth_domain( - std::get(encodable_custom_auth_domain)); - } - return decoded; -} - -bool AuthPigeonFirebaseApp::operator==( - const AuthPigeonFirebaseApp& other) const { - return PigeonInternalDeepEquals(app_name_, other.app_name_) && - PigeonInternalDeepEquals(tenant_id_, other.tenant_id_) && - PigeonInternalDeepEquals(custom_auth_domain_, - other.custom_auth_domain_); -} - -bool AuthPigeonFirebaseApp::operator!=( - const AuthPigeonFirebaseApp& other) const { - return !(*this == other); -} - -size_t AuthPigeonFirebaseApp::Hash() const { - size_t result = 1; - result = result * 31 + PigeonInternalDeepHash(app_name_); - result = result * 31 + PigeonInternalDeepHash(tenant_id_); - result = result * 31 + PigeonInternalDeepHash(custom_auth_domain_); - return result; -} - -size_t PigeonInternalDeepHash(const AuthPigeonFirebaseApp& v) { - return v.Hash(); -} - -// InternalActionCodeInfoData - -InternalActionCodeInfoData::InternalActionCodeInfoData() {} - -InternalActionCodeInfoData::InternalActionCodeInfoData( - const std::string* email, const std::string* previous_email) - : email_(email ? std::optional(*email) : std::nullopt), - previous_email_(previous_email - ? std::optional(*previous_email) - : std::nullopt) {} - -const std::string* InternalActionCodeInfoData::email() const { - return email_ ? &(*email_) : nullptr; -} - -void InternalActionCodeInfoData::set_email(const std::string_view* value_arg) { - email_ = value_arg ? std::optional(*value_arg) : std::nullopt; -} - -void InternalActionCodeInfoData::set_email(std::string_view value_arg) { - email_ = value_arg; -} - -const std::string* InternalActionCodeInfoData::previous_email() const { - return previous_email_ ? &(*previous_email_) : nullptr; -} - -void InternalActionCodeInfoData::set_previous_email( - const std::string_view* value_arg) { - previous_email_ = - value_arg ? std::optional(*value_arg) : std::nullopt; -} - -void InternalActionCodeInfoData::set_previous_email( - std::string_view value_arg) { - previous_email_ = value_arg; -} - -EncodableList InternalActionCodeInfoData::ToEncodableList() const { - EncodableList list; - list.reserve(2); - list.push_back(email_ ? EncodableValue(*email_) : EncodableValue()); - list.push_back(previous_email_ ? EncodableValue(*previous_email_) - : EncodableValue()); - return list; -} - -InternalActionCodeInfoData InternalActionCodeInfoData::FromEncodableList( - const EncodableList& list) { - InternalActionCodeInfoData decoded; - auto& encodable_email = list[0]; - if (!encodable_email.IsNull()) { - decoded.set_email(std::get(encodable_email)); - } - auto& encodable_previous_email = list[1]; - if (!encodable_previous_email.IsNull()) { - decoded.set_previous_email(std::get(encodable_previous_email)); - } - return decoded; -} - -bool InternalActionCodeInfoData::operator==( - const InternalActionCodeInfoData& other) const { - return PigeonInternalDeepEquals(email_, other.email_) && - PigeonInternalDeepEquals(previous_email_, other.previous_email_); -} - -bool InternalActionCodeInfoData::operator!=( - const InternalActionCodeInfoData& other) const { - return !(*this == other); -} - -size_t InternalActionCodeInfoData::Hash() const { - size_t result = 1; - result = result * 31 + PigeonInternalDeepHash(email_); - result = result * 31 + PigeonInternalDeepHash(previous_email_); - return result; -} - -size_t PigeonInternalDeepHash(const InternalActionCodeInfoData& v) { - return v.Hash(); -} - -// InternalActionCodeInfo - -InternalActionCodeInfo::InternalActionCodeInfo( - const ActionCodeInfoOperation& operation, - const InternalActionCodeInfoData& data) - : operation_(operation), - data_(std::make_unique(data)) {} - -InternalActionCodeInfo::InternalActionCodeInfo( - const InternalActionCodeInfo& other) - : operation_(other.operation_), - data_(std::make_unique(*other.data_)) {} - -InternalActionCodeInfo& InternalActionCodeInfo::operator=( - const InternalActionCodeInfo& other) { - operation_ = other.operation_; - data_ = std::make_unique(*other.data_); - return *this; -} - -const ActionCodeInfoOperation& InternalActionCodeInfo::operation() const { - return operation_; -} - -void InternalActionCodeInfo::set_operation( - const ActionCodeInfoOperation& value_arg) { - operation_ = value_arg; -} - -const InternalActionCodeInfoData& InternalActionCodeInfo::data() const { - return *data_; -} - -void InternalActionCodeInfo::set_data( - const InternalActionCodeInfoData& value_arg) { - data_ = std::make_unique(value_arg); -} - -EncodableList InternalActionCodeInfo::ToEncodableList() const { - EncodableList list; - list.reserve(2); - list.push_back(CustomEncodableValue(operation_)); - list.push_back(CustomEncodableValue(*data_)); - return list; -} - -InternalActionCodeInfo InternalActionCodeInfo::FromEncodableList( - const EncodableList& list) { - InternalActionCodeInfo decoded( - std::any_cast( - std::get(list[0])), - std::any_cast( - std::get(list[1]))); - return decoded; -} - -bool InternalActionCodeInfo::operator==( - const InternalActionCodeInfo& other) const { - return PigeonInternalDeepEquals(operation_, other.operation_) && - PigeonInternalDeepEquals(data_, other.data_); -} - -bool InternalActionCodeInfo::operator!=( - const InternalActionCodeInfo& other) const { - return !(*this == other); -} - -size_t InternalActionCodeInfo::Hash() const { - size_t result = 1; - result = result * 31 + PigeonInternalDeepHash(operation_); - result = result * 31 + PigeonInternalDeepHash(data_); - return result; -} - -size_t PigeonInternalDeepHash(const InternalActionCodeInfo& v) { - return v.Hash(); -} - -// InternalAdditionalUserInfo - -InternalAdditionalUserInfo::InternalAdditionalUserInfo(bool is_new_user) - : is_new_user_(is_new_user) {} - -InternalAdditionalUserInfo::InternalAdditionalUserInfo( - bool is_new_user, const std::string* provider_id, - const std::string* username, const std::string* authorization_code, - const EncodableMap* profile) - : is_new_user_(is_new_user), - provider_id_(provider_id ? std::optional(*provider_id) - : std::nullopt), - username_(username ? std::optional(*username) - : std::nullopt), - authorization_code_(authorization_code - ? std::optional(*authorization_code) - : std::nullopt), - profile_(profile ? std::optional(*profile) : std::nullopt) { -} - -bool InternalAdditionalUserInfo::is_new_user() const { return is_new_user_; } - -void InternalAdditionalUserInfo::set_is_new_user(bool value_arg) { - is_new_user_ = value_arg; -} - -const std::string* InternalAdditionalUserInfo::provider_id() const { - return provider_id_ ? &(*provider_id_) : nullptr; -} - -void InternalAdditionalUserInfo::set_provider_id( - const std::string_view* value_arg) { - provider_id_ = - value_arg ? std::optional(*value_arg) : std::nullopt; -} - -void InternalAdditionalUserInfo::set_provider_id(std::string_view value_arg) { - provider_id_ = value_arg; -} - -const std::string* InternalAdditionalUserInfo::username() const { - return username_ ? &(*username_) : nullptr; -} - -void InternalAdditionalUserInfo::set_username( - const std::string_view* value_arg) { - username_ = value_arg ? std::optional(*value_arg) : std::nullopt; -} - -void InternalAdditionalUserInfo::set_username(std::string_view value_arg) { - username_ = value_arg; -} - -const std::string* InternalAdditionalUserInfo::authorization_code() const { - return authorization_code_ ? &(*authorization_code_) : nullptr; -} - -void InternalAdditionalUserInfo::set_authorization_code( - const std::string_view* value_arg) { - authorization_code_ = - value_arg ? std::optional(*value_arg) : std::nullopt; -} - -void InternalAdditionalUserInfo::set_authorization_code( - std::string_view value_arg) { - authorization_code_ = value_arg; -} - -const EncodableMap* InternalAdditionalUserInfo::profile() const { - return profile_ ? &(*profile_) : nullptr; -} - -void InternalAdditionalUserInfo::set_profile(const EncodableMap* value_arg) { - profile_ = value_arg ? std::optional(*value_arg) : std::nullopt; -} - -void InternalAdditionalUserInfo::set_profile(const EncodableMap& value_arg) { - profile_ = value_arg; -} - -EncodableList InternalAdditionalUserInfo::ToEncodableList() const { - EncodableList list; - list.reserve(5); - list.push_back(EncodableValue(is_new_user_)); - list.push_back(provider_id_ ? EncodableValue(*provider_id_) - : EncodableValue()); - list.push_back(username_ ? EncodableValue(*username_) : EncodableValue()); - list.push_back(authorization_code_ ? EncodableValue(*authorization_code_) - : EncodableValue()); - list.push_back(profile_ ? EncodableValue(*profile_) : EncodableValue()); - return list; -} - -InternalAdditionalUserInfo InternalAdditionalUserInfo::FromEncodableList( - const EncodableList& list) { - InternalAdditionalUserInfo decoded(std::get(list[0])); - auto& encodable_provider_id = list[1]; - if (!encodable_provider_id.IsNull()) { - decoded.set_provider_id(std::get(encodable_provider_id)); - } - auto& encodable_username = list[2]; - if (!encodable_username.IsNull()) { - decoded.set_username(std::get(encodable_username)); - } - auto& encodable_authorization_code = list[3]; - if (!encodable_authorization_code.IsNull()) { - decoded.set_authorization_code( - std::get(encodable_authorization_code)); - } - auto& encodable_profile = list[4]; - if (!encodable_profile.IsNull()) { - decoded.set_profile(std::get(encodable_profile)); - } - return decoded; -} - -bool InternalAdditionalUserInfo::operator==( - const InternalAdditionalUserInfo& other) const { - return PigeonInternalDeepEquals(is_new_user_, other.is_new_user_) && - PigeonInternalDeepEquals(provider_id_, other.provider_id_) && - PigeonInternalDeepEquals(username_, other.username_) && - PigeonInternalDeepEquals(authorization_code_, - other.authorization_code_) && - PigeonInternalDeepEquals(profile_, other.profile_); -} - -bool InternalAdditionalUserInfo::operator!=( - const InternalAdditionalUserInfo& other) const { - return !(*this == other); -} - -size_t InternalAdditionalUserInfo::Hash() const { - size_t result = 1; - result = result * 31 + PigeonInternalDeepHash(is_new_user_); - result = result * 31 + PigeonInternalDeepHash(provider_id_); - result = result * 31 + PigeonInternalDeepHash(username_); - result = result * 31 + PigeonInternalDeepHash(authorization_code_); - result = result * 31 + PigeonInternalDeepHash(profile_); - return result; -} - -size_t PigeonInternalDeepHash(const InternalAdditionalUserInfo& v) { - return v.Hash(); -} - -// InternalAuthCredential - -InternalAuthCredential::InternalAuthCredential( - const std::string& provider_id, const std::string& sign_in_method, - int64_t native_id) - : provider_id_(provider_id), - sign_in_method_(sign_in_method), - native_id_(native_id) {} - -InternalAuthCredential::InternalAuthCredential( - const std::string& provider_id, const std::string& sign_in_method, - int64_t native_id, const std::string* access_token) - : provider_id_(provider_id), - sign_in_method_(sign_in_method), - native_id_(native_id), - access_token_(access_token ? std::optional(*access_token) - : std::nullopt) {} - -const std::string& InternalAuthCredential::provider_id() const { - return provider_id_; -} - -void InternalAuthCredential::set_provider_id(std::string_view value_arg) { - provider_id_ = value_arg; -} - -const std::string& InternalAuthCredential::sign_in_method() const { - return sign_in_method_; -} - -void InternalAuthCredential::set_sign_in_method(std::string_view value_arg) { - sign_in_method_ = value_arg; -} - -int64_t InternalAuthCredential::native_id() const { return native_id_; } - -void InternalAuthCredential::set_native_id(int64_t value_arg) { - native_id_ = value_arg; -} - -const std::string* InternalAuthCredential::access_token() const { - return access_token_ ? &(*access_token_) : nullptr; -} - -void InternalAuthCredential::set_access_token( - const std::string_view* value_arg) { - access_token_ = - value_arg ? std::optional(*value_arg) : std::nullopt; -} - -void InternalAuthCredential::set_access_token(std::string_view value_arg) { - access_token_ = value_arg; -} - -EncodableList InternalAuthCredential::ToEncodableList() const { - EncodableList list; - list.reserve(4); - list.push_back(EncodableValue(provider_id_)); - list.push_back(EncodableValue(sign_in_method_)); - list.push_back(EncodableValue(native_id_)); - list.push_back(access_token_ ? EncodableValue(*access_token_) - : EncodableValue()); - return list; -} - -InternalAuthCredential InternalAuthCredential::FromEncodableList( - const EncodableList& list) { - InternalAuthCredential decoded(std::get(list[0]), - std::get(list[1]), - std::get(list[2])); - auto& encodable_access_token = list[3]; - if (!encodable_access_token.IsNull()) { - decoded.set_access_token(std::get(encodable_access_token)); - } - return decoded; -} - -bool InternalAuthCredential::operator==( - const InternalAuthCredential& other) const { - return PigeonInternalDeepEquals(provider_id_, other.provider_id_) && - PigeonInternalDeepEquals(sign_in_method_, other.sign_in_method_) && - PigeonInternalDeepEquals(native_id_, other.native_id_) && - PigeonInternalDeepEquals(access_token_, other.access_token_); -} - -bool InternalAuthCredential::operator!=( - const InternalAuthCredential& other) const { - return !(*this == other); -} - -size_t InternalAuthCredential::Hash() const { - size_t result = 1; - result = result * 31 + PigeonInternalDeepHash(provider_id_); - result = result * 31 + PigeonInternalDeepHash(sign_in_method_); - result = result * 31 + PigeonInternalDeepHash(native_id_); - result = result * 31 + PigeonInternalDeepHash(access_token_); - return result; -} - -size_t PigeonInternalDeepHash(const InternalAuthCredential& v) { - return v.Hash(); -} - -// InternalUserInfo - -InternalUserInfo::InternalUserInfo(const std::string& uid, bool is_anonymous, - bool is_email_verified) - : uid_(uid), - is_anonymous_(is_anonymous), - is_email_verified_(is_email_verified) {} - -InternalUserInfo::InternalUserInfo( - const std::string& uid, const std::string* email, - const std::string* display_name, const std::string* photo_url, - const std::string* phone_number, bool is_anonymous, bool is_email_verified, - const std::string* provider_id, const std::string* tenant_id, - const std::string* refresh_token, const int64_t* creation_timestamp, - const int64_t* last_sign_in_timestamp) - : uid_(uid), - email_(email ? std::optional(*email) : std::nullopt), - display_name_(display_name ? std::optional(*display_name) - : std::nullopt), - photo_url_(photo_url ? std::optional(*photo_url) - : std::nullopt), - phone_number_(phone_number ? std::optional(*phone_number) - : std::nullopt), - is_anonymous_(is_anonymous), - is_email_verified_(is_email_verified), - provider_id_(provider_id ? std::optional(*provider_id) - : std::nullopt), - tenant_id_(tenant_id ? std::optional(*tenant_id) - : std::nullopt), - refresh_token_(refresh_token ? std::optional(*refresh_token) - : std::nullopt), - creation_timestamp_(creation_timestamp - ? std::optional(*creation_timestamp) - : std::nullopt), - last_sign_in_timestamp_( - last_sign_in_timestamp - ? std::optional(*last_sign_in_timestamp) - : std::nullopt) {} - -const std::string& InternalUserInfo::uid() const { return uid_; } - -void InternalUserInfo::set_uid(std::string_view value_arg) { uid_ = value_arg; } - -const std::string* InternalUserInfo::email() const { - return email_ ? &(*email_) : nullptr; -} - -void InternalUserInfo::set_email(const std::string_view* value_arg) { - email_ = value_arg ? std::optional(*value_arg) : std::nullopt; -} - -void InternalUserInfo::set_email(std::string_view value_arg) { - email_ = value_arg; -} - -const std::string* InternalUserInfo::display_name() const { - return display_name_ ? &(*display_name_) : nullptr; -} - -void InternalUserInfo::set_display_name(const std::string_view* value_arg) { - display_name_ = - value_arg ? std::optional(*value_arg) : std::nullopt; -} - -void InternalUserInfo::set_display_name(std::string_view value_arg) { - display_name_ = value_arg; -} - -const std::string* InternalUserInfo::photo_url() const { - return photo_url_ ? &(*photo_url_) : nullptr; -} - -void InternalUserInfo::set_photo_url(const std::string_view* value_arg) { - photo_url_ = - value_arg ? std::optional(*value_arg) : std::nullopt; -} - -void InternalUserInfo::set_photo_url(std::string_view value_arg) { - photo_url_ = value_arg; -} - -const std::string* InternalUserInfo::phone_number() const { - return phone_number_ ? &(*phone_number_) : nullptr; -} - -void InternalUserInfo::set_phone_number(const std::string_view* value_arg) { - phone_number_ = - value_arg ? std::optional(*value_arg) : std::nullopt; -} - -void InternalUserInfo::set_phone_number(std::string_view value_arg) { - phone_number_ = value_arg; -} - -bool InternalUserInfo::is_anonymous() const { return is_anonymous_; } - -void InternalUserInfo::set_is_anonymous(bool value_arg) { - is_anonymous_ = value_arg; -} - -bool InternalUserInfo::is_email_verified() const { return is_email_verified_; } - -void InternalUserInfo::set_is_email_verified(bool value_arg) { - is_email_verified_ = value_arg; -} - -const std::string* InternalUserInfo::provider_id() const { - return provider_id_ ? &(*provider_id_) : nullptr; -} - -void InternalUserInfo::set_provider_id(const std::string_view* value_arg) { - provider_id_ = - value_arg ? std::optional(*value_arg) : std::nullopt; -} - -void InternalUserInfo::set_provider_id(std::string_view value_arg) { - provider_id_ = value_arg; -} - -const std::string* InternalUserInfo::tenant_id() const { - return tenant_id_ ? &(*tenant_id_) : nullptr; -} - -void InternalUserInfo::set_tenant_id(const std::string_view* value_arg) { - tenant_id_ = - value_arg ? std::optional(*value_arg) : std::nullopt; -} - -void InternalUserInfo::set_tenant_id(std::string_view value_arg) { - tenant_id_ = value_arg; -} - -const std::string* InternalUserInfo::refresh_token() const { - return refresh_token_ ? &(*refresh_token_) : nullptr; -} - -void InternalUserInfo::set_refresh_token(const std::string_view* value_arg) { - refresh_token_ = - value_arg ? std::optional(*value_arg) : std::nullopt; -} - -void InternalUserInfo::set_refresh_token(std::string_view value_arg) { - refresh_token_ = value_arg; -} - -const int64_t* InternalUserInfo::creation_timestamp() const { - return creation_timestamp_ ? &(*creation_timestamp_) : nullptr; -} - -void InternalUserInfo::set_creation_timestamp(const int64_t* value_arg) { - creation_timestamp_ = - value_arg ? std::optional(*value_arg) : std::nullopt; -} - -void InternalUserInfo::set_creation_timestamp(int64_t value_arg) { - creation_timestamp_ = value_arg; -} - -const int64_t* InternalUserInfo::last_sign_in_timestamp() const { - return last_sign_in_timestamp_ ? &(*last_sign_in_timestamp_) : nullptr; -} - -void InternalUserInfo::set_last_sign_in_timestamp(const int64_t* value_arg) { - last_sign_in_timestamp_ = - value_arg ? std::optional(*value_arg) : std::nullopt; -} - -void InternalUserInfo::set_last_sign_in_timestamp(int64_t value_arg) { - last_sign_in_timestamp_ = value_arg; -} - -EncodableList InternalUserInfo::ToEncodableList() const { - EncodableList list; - list.reserve(12); - list.push_back(EncodableValue(uid_)); - list.push_back(email_ ? EncodableValue(*email_) : EncodableValue()); - list.push_back(display_name_ ? EncodableValue(*display_name_) - : EncodableValue()); - list.push_back(photo_url_ ? EncodableValue(*photo_url_) : EncodableValue()); - list.push_back(phone_number_ ? EncodableValue(*phone_number_) - : EncodableValue()); - list.push_back(EncodableValue(is_anonymous_)); - list.push_back(EncodableValue(is_email_verified_)); - list.push_back(provider_id_ ? EncodableValue(*provider_id_) - : EncodableValue()); - list.push_back(tenant_id_ ? EncodableValue(*tenant_id_) : EncodableValue()); - list.push_back(refresh_token_ ? EncodableValue(*refresh_token_) - : EncodableValue()); - list.push_back(creation_timestamp_ ? EncodableValue(*creation_timestamp_) - : EncodableValue()); - list.push_back(last_sign_in_timestamp_ - ? EncodableValue(*last_sign_in_timestamp_) - : EncodableValue()); - return list; -} - -InternalUserInfo InternalUserInfo::FromEncodableList( - const EncodableList& list) { - InternalUserInfo decoded(std::get(list[0]), - std::get(list[5]), std::get(list[6])); - auto& encodable_email = list[1]; - if (!encodable_email.IsNull()) { - decoded.set_email(std::get(encodable_email)); - } - auto& encodable_display_name = list[2]; - if (!encodable_display_name.IsNull()) { - decoded.set_display_name(std::get(encodable_display_name)); - } - auto& encodable_photo_url = list[3]; - if (!encodable_photo_url.IsNull()) { - decoded.set_photo_url(std::get(encodable_photo_url)); - } - auto& encodable_phone_number = list[4]; - if (!encodable_phone_number.IsNull()) { - decoded.set_phone_number(std::get(encodable_phone_number)); - } - auto& encodable_provider_id = list[7]; - if (!encodable_provider_id.IsNull()) { - decoded.set_provider_id(std::get(encodable_provider_id)); - } - auto& encodable_tenant_id = list[8]; - if (!encodable_tenant_id.IsNull()) { - decoded.set_tenant_id(std::get(encodable_tenant_id)); - } - auto& encodable_refresh_token = list[9]; - if (!encodable_refresh_token.IsNull()) { - decoded.set_refresh_token(std::get(encodable_refresh_token)); - } - auto& encodable_creation_timestamp = list[10]; - if (!encodable_creation_timestamp.IsNull()) { - decoded.set_creation_timestamp( - std::get(encodable_creation_timestamp)); - } - auto& encodable_last_sign_in_timestamp = list[11]; - if (!encodable_last_sign_in_timestamp.IsNull()) { - decoded.set_last_sign_in_timestamp( - std::get(encodable_last_sign_in_timestamp)); - } - return decoded; -} - -bool InternalUserInfo::operator==(const InternalUserInfo& other) const { - return PigeonInternalDeepEquals(uid_, other.uid_) && - PigeonInternalDeepEquals(email_, other.email_) && - PigeonInternalDeepEquals(display_name_, other.display_name_) && - PigeonInternalDeepEquals(photo_url_, other.photo_url_) && - PigeonInternalDeepEquals(phone_number_, other.phone_number_) && - PigeonInternalDeepEquals(is_anonymous_, other.is_anonymous_) && - PigeonInternalDeepEquals(is_email_verified_, - other.is_email_verified_) && - PigeonInternalDeepEquals(provider_id_, other.provider_id_) && - PigeonInternalDeepEquals(tenant_id_, other.tenant_id_) && - PigeonInternalDeepEquals(refresh_token_, other.refresh_token_) && - PigeonInternalDeepEquals(creation_timestamp_, - other.creation_timestamp_) && - PigeonInternalDeepEquals(last_sign_in_timestamp_, - other.last_sign_in_timestamp_); -} - -bool InternalUserInfo::operator!=(const InternalUserInfo& other) const { - return !(*this == other); -} - -size_t InternalUserInfo::Hash() const { - size_t result = 1; - result = result * 31 + PigeonInternalDeepHash(uid_); - result = result * 31 + PigeonInternalDeepHash(email_); - result = result * 31 + PigeonInternalDeepHash(display_name_); - result = result * 31 + PigeonInternalDeepHash(photo_url_); - result = result * 31 + PigeonInternalDeepHash(phone_number_); - result = result * 31 + PigeonInternalDeepHash(is_anonymous_); - result = result * 31 + PigeonInternalDeepHash(is_email_verified_); - result = result * 31 + PigeonInternalDeepHash(provider_id_); - result = result * 31 + PigeonInternalDeepHash(tenant_id_); - result = result * 31 + PigeonInternalDeepHash(refresh_token_); - result = result * 31 + PigeonInternalDeepHash(creation_timestamp_); - result = result * 31 + PigeonInternalDeepHash(last_sign_in_timestamp_); - return result; -} - -size_t PigeonInternalDeepHash(const InternalUserInfo& v) { return v.Hash(); } - -// InternalUserDetails - -InternalUserDetails::InternalUserDetails(const InternalUserInfo& user_info, - const EncodableList& provider_data) - : user_info_(std::make_unique(user_info)), - provider_data_(provider_data) {} - -InternalUserDetails::InternalUserDetails(const InternalUserDetails& other) - : user_info_(std::make_unique(*other.user_info_)), - provider_data_(other.provider_data_) {} - -InternalUserDetails& InternalUserDetails::operator=( - const InternalUserDetails& other) { - user_info_ = std::make_unique(*other.user_info_); - provider_data_ = other.provider_data_; - return *this; -} - -const InternalUserInfo& InternalUserDetails::user_info() const { - return *user_info_; -} - -void InternalUserDetails::set_user_info(const InternalUserInfo& value_arg) { - user_info_ = std::make_unique(value_arg); -} - -const EncodableList& InternalUserDetails::provider_data() const { - return provider_data_; -} - -void InternalUserDetails::set_provider_data(const EncodableList& value_arg) { - provider_data_ = value_arg; -} - -EncodableList InternalUserDetails::ToEncodableList() const { - EncodableList list; - list.reserve(2); - list.push_back(CustomEncodableValue(*user_info_)); - list.push_back(EncodableValue(provider_data_)); - return list; -} - -InternalUserDetails InternalUserDetails::FromEncodableList( - const EncodableList& list) { - InternalUserDetails decoded(std::any_cast( - std::get(list[0])), - std::get(list[1])); - return decoded; -} - -bool InternalUserDetails::operator==(const InternalUserDetails& other) const { - return PigeonInternalDeepEquals(user_info_, other.user_info_) && - PigeonInternalDeepEquals(provider_data_, other.provider_data_); -} - -bool InternalUserDetails::operator!=(const InternalUserDetails& other) const { - return !(*this == other); -} - -size_t InternalUserDetails::Hash() const { - size_t result = 1; - result = result * 31 + PigeonInternalDeepHash(user_info_); - result = result * 31 + PigeonInternalDeepHash(provider_data_); - return result; -} - -size_t PigeonInternalDeepHash(const InternalUserDetails& v) { return v.Hash(); } - -// InternalUserCredential - -InternalUserCredential::InternalUserCredential() {} - -InternalUserCredential::InternalUserCredential( - const InternalUserDetails* user, - const InternalAdditionalUserInfo* additional_user_info, - const InternalAuthCredential* credential) - : user_(user ? std::make_unique(*user) : nullptr), - additional_user_info_(additional_user_info - ? std::make_unique( - *additional_user_info) - : nullptr), - credential_(credential - ? std::make_unique(*credential) - : nullptr) {} - -InternalUserCredential::InternalUserCredential( - const InternalUserCredential& other) - : user_(other.user_ ? std::make_unique(*other.user_) - : nullptr), - additional_user_info_(other.additional_user_info_ - ? std::make_unique( - *other.additional_user_info_) - : nullptr), - credential_(other.credential_ ? std::make_unique( - *other.credential_) - : nullptr) {} - -InternalUserCredential& InternalUserCredential::operator=( - const InternalUserCredential& other) { - user_ = other.user_ ? std::make_unique(*other.user_) - : nullptr; - additional_user_info_ = other.additional_user_info_ - ? std::make_unique( - *other.additional_user_info_) - : nullptr; - credential_ = - other.credential_ - ? std::make_unique(*other.credential_) - : nullptr; - return *this; -} - -const InternalUserDetails* InternalUserCredential::user() const { - return user_.get(); -} - -void InternalUserCredential::set_user(const InternalUserDetails* value_arg) { - user_ = - value_arg ? std::make_unique(*value_arg) : nullptr; -} - -void InternalUserCredential::set_user(const InternalUserDetails& value_arg) { - user_ = std::make_unique(value_arg); -} - -const InternalAdditionalUserInfo* InternalUserCredential::additional_user_info() - const { - return additional_user_info_.get(); -} - -void InternalUserCredential::set_additional_user_info( - const InternalAdditionalUserInfo* value_arg) { - additional_user_info_ = - value_arg ? std::make_unique(*value_arg) - : nullptr; -} - -void InternalUserCredential::set_additional_user_info( - const InternalAdditionalUserInfo& value_arg) { - additional_user_info_ = - std::make_unique(value_arg); -} - -const InternalAuthCredential* InternalUserCredential::credential() const { - return credential_.get(); -} - -void InternalUserCredential::set_credential( - const InternalAuthCredential* value_arg) { - credential_ = value_arg ? std::make_unique(*value_arg) - : nullptr; -} - -void InternalUserCredential::set_credential( - const InternalAuthCredential& value_arg) { - credential_ = std::make_unique(value_arg); -} - -EncodableList InternalUserCredential::ToEncodableList() const { - EncodableList list; - list.reserve(3); - list.push_back(user_ ? CustomEncodableValue(*user_) : EncodableValue()); - list.push_back(additional_user_info_ - ? CustomEncodableValue(*additional_user_info_) - : EncodableValue()); - list.push_back(credential_ ? CustomEncodableValue(*credential_) - : EncodableValue()); - return list; -} - -InternalUserCredential InternalUserCredential::FromEncodableList( - const EncodableList& list) { - InternalUserCredential decoded; - auto& encodable_user = list[0]; - if (!encodable_user.IsNull()) { - decoded.set_user(std::any_cast( - std::get(encodable_user))); - } - auto& encodable_additional_user_info = list[1]; - if (!encodable_additional_user_info.IsNull()) { - decoded.set_additional_user_info( - std::any_cast( - std::get(encodable_additional_user_info))); - } - auto& encodable_credential = list[2]; - if (!encodable_credential.IsNull()) { - decoded.set_credential(std::any_cast( - std::get(encodable_credential))); - } - return decoded; -} - -bool InternalUserCredential::operator==( - const InternalUserCredential& other) const { - return PigeonInternalDeepEquals(user_, other.user_) && - PigeonInternalDeepEquals(additional_user_info_, - other.additional_user_info_) && - PigeonInternalDeepEquals(credential_, other.credential_); -} - -bool InternalUserCredential::operator!=( - const InternalUserCredential& other) const { - return !(*this == other); -} - -size_t InternalUserCredential::Hash() const { - size_t result = 1; - result = result * 31 + PigeonInternalDeepHash(user_); - result = result * 31 + PigeonInternalDeepHash(additional_user_info_); - result = result * 31 + PigeonInternalDeepHash(credential_); - return result; -} - -size_t PigeonInternalDeepHash(const InternalUserCredential& v) { - return v.Hash(); -} - -// InternalAuthCredentialInput - -InternalAuthCredentialInput::InternalAuthCredentialInput( - const std::string& provider_id, const std::string& sign_in_method) - : provider_id_(provider_id), sign_in_method_(sign_in_method) {} - -InternalAuthCredentialInput::InternalAuthCredentialInput( - const std::string& provider_id, const std::string& sign_in_method, - const std::string* token, const std::string* access_token) - : provider_id_(provider_id), - sign_in_method_(sign_in_method), - token_(token ? std::optional(*token) : std::nullopt), - access_token_(access_token ? std::optional(*access_token) - : std::nullopt) {} - -const std::string& InternalAuthCredentialInput::provider_id() const { - return provider_id_; -} - -void InternalAuthCredentialInput::set_provider_id(std::string_view value_arg) { - provider_id_ = value_arg; -} - -const std::string& InternalAuthCredentialInput::sign_in_method() const { - return sign_in_method_; -} - -void InternalAuthCredentialInput::set_sign_in_method( - std::string_view value_arg) { - sign_in_method_ = value_arg; -} - -const std::string* InternalAuthCredentialInput::token() const { - return token_ ? &(*token_) : nullptr; -} - -void InternalAuthCredentialInput::set_token(const std::string_view* value_arg) { - token_ = value_arg ? std::optional(*value_arg) : std::nullopt; -} - -void InternalAuthCredentialInput::set_token(std::string_view value_arg) { - token_ = value_arg; -} - -const std::string* InternalAuthCredentialInput::access_token() const { - return access_token_ ? &(*access_token_) : nullptr; -} - -void InternalAuthCredentialInput::set_access_token( - const std::string_view* value_arg) { - access_token_ = - value_arg ? std::optional(*value_arg) : std::nullopt; -} - -void InternalAuthCredentialInput::set_access_token(std::string_view value_arg) { - access_token_ = value_arg; -} - -EncodableList InternalAuthCredentialInput::ToEncodableList() const { - EncodableList list; - list.reserve(4); - list.push_back(EncodableValue(provider_id_)); - list.push_back(EncodableValue(sign_in_method_)); - list.push_back(token_ ? EncodableValue(*token_) : EncodableValue()); - list.push_back(access_token_ ? EncodableValue(*access_token_) - : EncodableValue()); - return list; -} - -InternalAuthCredentialInput InternalAuthCredentialInput::FromEncodableList( - const EncodableList& list) { - InternalAuthCredentialInput decoded(std::get(list[0]), - std::get(list[1])); - auto& encodable_token = list[2]; - if (!encodable_token.IsNull()) { - decoded.set_token(std::get(encodable_token)); - } - auto& encodable_access_token = list[3]; - if (!encodable_access_token.IsNull()) { - decoded.set_access_token(std::get(encodable_access_token)); - } - return decoded; -} - -bool InternalAuthCredentialInput::operator==( - const InternalAuthCredentialInput& other) const { - return PigeonInternalDeepEquals(provider_id_, other.provider_id_) && - PigeonInternalDeepEquals(sign_in_method_, other.sign_in_method_) && - PigeonInternalDeepEquals(token_, other.token_) && - PigeonInternalDeepEquals(access_token_, other.access_token_); -} - -bool InternalAuthCredentialInput::operator!=( - const InternalAuthCredentialInput& other) const { - return !(*this == other); -} - -size_t InternalAuthCredentialInput::Hash() const { - size_t result = 1; - result = result * 31 + PigeonInternalDeepHash(provider_id_); - result = result * 31 + PigeonInternalDeepHash(sign_in_method_); - result = result * 31 + PigeonInternalDeepHash(token_); - result = result * 31 + PigeonInternalDeepHash(access_token_); - return result; -} - -size_t PigeonInternalDeepHash(const InternalAuthCredentialInput& v) { - return v.Hash(); -} - -// InternalActionCodeSettings - -InternalActionCodeSettings::InternalActionCodeSettings(const std::string& url, - bool handle_code_in_app, - bool android_install_app) - : url_(url), - handle_code_in_app_(handle_code_in_app), - android_install_app_(android_install_app) {} - -InternalActionCodeSettings::InternalActionCodeSettings( - const std::string& url, const std::string* dynamic_link_domain, - bool handle_code_in_app, const std::string* i_o_s_bundle_id, - const std::string* android_package_name, bool android_install_app, - const std::string* android_minimum_version, const std::string* link_domain) - : url_(url), - dynamic_link_domain_( - dynamic_link_domain ? std::optional(*dynamic_link_domain) - : std::nullopt), - handle_code_in_app_(handle_code_in_app), - i_o_s_bundle_id_(i_o_s_bundle_id - ? std::optional(*i_o_s_bundle_id) - : std::nullopt), - android_package_name_(android_package_name ? std::optional( - *android_package_name) - : std::nullopt), - android_install_app_(android_install_app), - android_minimum_version_( - android_minimum_version - ? std::optional(*android_minimum_version) - : std::nullopt), - link_domain_(link_domain ? std::optional(*link_domain) - : std::nullopt) {} - -const std::string& InternalActionCodeSettings::url() const { return url_; } - -void InternalActionCodeSettings::set_url(std::string_view value_arg) { - url_ = value_arg; -} - -const std::string* InternalActionCodeSettings::dynamic_link_domain() const { - return dynamic_link_domain_ ? &(*dynamic_link_domain_) : nullptr; -} - -void InternalActionCodeSettings::set_dynamic_link_domain( - const std::string_view* value_arg) { - dynamic_link_domain_ = - value_arg ? std::optional(*value_arg) : std::nullopt; -} - -void InternalActionCodeSettings::set_dynamic_link_domain( - std::string_view value_arg) { - dynamic_link_domain_ = value_arg; -} - -bool InternalActionCodeSettings::handle_code_in_app() const { - return handle_code_in_app_; -} - -void InternalActionCodeSettings::set_handle_code_in_app(bool value_arg) { - handle_code_in_app_ = value_arg; -} - -const std::string* InternalActionCodeSettings::i_o_s_bundle_id() const { - return i_o_s_bundle_id_ ? &(*i_o_s_bundle_id_) : nullptr; -} - -void InternalActionCodeSettings::set_i_o_s_bundle_id( - const std::string_view* value_arg) { - i_o_s_bundle_id_ = - value_arg ? std::optional(*value_arg) : std::nullopt; -} - -void InternalActionCodeSettings::set_i_o_s_bundle_id( - std::string_view value_arg) { - i_o_s_bundle_id_ = value_arg; -} - -const std::string* InternalActionCodeSettings::android_package_name() const { - return android_package_name_ ? &(*android_package_name_) : nullptr; -} - -void InternalActionCodeSettings::set_android_package_name( - const std::string_view* value_arg) { - android_package_name_ = - value_arg ? std::optional(*value_arg) : std::nullopt; -} - -void InternalActionCodeSettings::set_android_package_name( - std::string_view value_arg) { - android_package_name_ = value_arg; -} - -bool InternalActionCodeSettings::android_install_app() const { - return android_install_app_; -} - -void InternalActionCodeSettings::set_android_install_app(bool value_arg) { - android_install_app_ = value_arg; -} - -const std::string* InternalActionCodeSettings::android_minimum_version() const { - return android_minimum_version_ ? &(*android_minimum_version_) : nullptr; -} - -void InternalActionCodeSettings::set_android_minimum_version( - const std::string_view* value_arg) { - android_minimum_version_ = - value_arg ? std::optional(*value_arg) : std::nullopt; -} - -void InternalActionCodeSettings::set_android_minimum_version( - std::string_view value_arg) { - android_minimum_version_ = value_arg; -} - -const std::string* InternalActionCodeSettings::link_domain() const { - return link_domain_ ? &(*link_domain_) : nullptr; -} - -void InternalActionCodeSettings::set_link_domain( - const std::string_view* value_arg) { - link_domain_ = - value_arg ? std::optional(*value_arg) : std::nullopt; -} - -void InternalActionCodeSettings::set_link_domain(std::string_view value_arg) { - link_domain_ = value_arg; -} - -EncodableList InternalActionCodeSettings::ToEncodableList() const { - EncodableList list; - list.reserve(8); - list.push_back(EncodableValue(url_)); - list.push_back(dynamic_link_domain_ ? EncodableValue(*dynamic_link_domain_) - : EncodableValue()); - list.push_back(EncodableValue(handle_code_in_app_)); - list.push_back(i_o_s_bundle_id_ ? EncodableValue(*i_o_s_bundle_id_) - : EncodableValue()); - list.push_back(android_package_name_ ? EncodableValue(*android_package_name_) - : EncodableValue()); - list.push_back(EncodableValue(android_install_app_)); - list.push_back(android_minimum_version_ - ? EncodableValue(*android_minimum_version_) - : EncodableValue()); - list.push_back(link_domain_ ? EncodableValue(*link_domain_) - : EncodableValue()); - return list; -} - -InternalActionCodeSettings InternalActionCodeSettings::FromEncodableList( - const EncodableList& list) { - InternalActionCodeSettings decoded(std::get(list[0]), - std::get(list[2]), - std::get(list[5])); - auto& encodable_dynamic_link_domain = list[1]; - if (!encodable_dynamic_link_domain.IsNull()) { - decoded.set_dynamic_link_domain( - std::get(encodable_dynamic_link_domain)); - } - auto& encodable_i_o_s_bundle_id = list[3]; - if (!encodable_i_o_s_bundle_id.IsNull()) { - decoded.set_i_o_s_bundle_id( - std::get(encodable_i_o_s_bundle_id)); - } - auto& encodable_android_package_name = list[4]; - if (!encodable_android_package_name.IsNull()) { - decoded.set_android_package_name( - std::get(encodable_android_package_name)); - } - auto& encodable_android_minimum_version = list[6]; - if (!encodable_android_minimum_version.IsNull()) { - decoded.set_android_minimum_version( - std::get(encodable_android_minimum_version)); - } - auto& encodable_link_domain = list[7]; - if (!encodable_link_domain.IsNull()) { - decoded.set_link_domain(std::get(encodable_link_domain)); - } - return decoded; -} - -bool InternalActionCodeSettings::operator==( - const InternalActionCodeSettings& other) const { - return PigeonInternalDeepEquals(url_, other.url_) && - PigeonInternalDeepEquals(dynamic_link_domain_, - other.dynamic_link_domain_) && - PigeonInternalDeepEquals(handle_code_in_app_, - other.handle_code_in_app_) && - PigeonInternalDeepEquals(i_o_s_bundle_id_, other.i_o_s_bundle_id_) && - PigeonInternalDeepEquals(android_package_name_, - other.android_package_name_) && - PigeonInternalDeepEquals(android_install_app_, - other.android_install_app_) && - PigeonInternalDeepEquals(android_minimum_version_, - other.android_minimum_version_) && - PigeonInternalDeepEquals(link_domain_, other.link_domain_); -} - -bool InternalActionCodeSettings::operator!=( - const InternalActionCodeSettings& other) const { - return !(*this == other); -} - -size_t InternalActionCodeSettings::Hash() const { - size_t result = 1; - result = result * 31 + PigeonInternalDeepHash(url_); - result = result * 31 + PigeonInternalDeepHash(dynamic_link_domain_); - result = result * 31 + PigeonInternalDeepHash(handle_code_in_app_); - result = result * 31 + PigeonInternalDeepHash(i_o_s_bundle_id_); - result = result * 31 + PigeonInternalDeepHash(android_package_name_); - result = result * 31 + PigeonInternalDeepHash(android_install_app_); - result = result * 31 + PigeonInternalDeepHash(android_minimum_version_); - result = result * 31 + PigeonInternalDeepHash(link_domain_); - return result; -} - -size_t PigeonInternalDeepHash(const InternalActionCodeSettings& v) { - return v.Hash(); -} - -// InternalFirebaseAuthSettings - -InternalFirebaseAuthSettings::InternalFirebaseAuthSettings( - bool app_verification_disabled_for_testing) - : app_verification_disabled_for_testing_( - app_verification_disabled_for_testing) {} - -InternalFirebaseAuthSettings::InternalFirebaseAuthSettings( - bool app_verification_disabled_for_testing, - const std::string* user_access_group, const std::string* phone_number, - const std::string* sms_code, const bool* force_recaptcha_flow) - : app_verification_disabled_for_testing_( - app_verification_disabled_for_testing), - user_access_group_(user_access_group - ? std::optional(*user_access_group) - : std::nullopt), - phone_number_(phone_number ? std::optional(*phone_number) - : std::nullopt), - sms_code_(sms_code ? std::optional(*sms_code) - : std::nullopt), - force_recaptcha_flow_(force_recaptcha_flow - ? std::optional(*force_recaptcha_flow) - : std::nullopt) {} - -bool InternalFirebaseAuthSettings::app_verification_disabled_for_testing() - const { - return app_verification_disabled_for_testing_; -} - -void InternalFirebaseAuthSettings::set_app_verification_disabled_for_testing( - bool value_arg) { - app_verification_disabled_for_testing_ = value_arg; -} - -const std::string* InternalFirebaseAuthSettings::user_access_group() const { - return user_access_group_ ? &(*user_access_group_) : nullptr; -} - -void InternalFirebaseAuthSettings::set_user_access_group( - const std::string_view* value_arg) { - user_access_group_ = - value_arg ? std::optional(*value_arg) : std::nullopt; -} - -void InternalFirebaseAuthSettings::set_user_access_group( - std::string_view value_arg) { - user_access_group_ = value_arg; -} - -const std::string* InternalFirebaseAuthSettings::phone_number() const { - return phone_number_ ? &(*phone_number_) : nullptr; -} - -void InternalFirebaseAuthSettings::set_phone_number( - const std::string_view* value_arg) { - phone_number_ = - value_arg ? std::optional(*value_arg) : std::nullopt; -} - -void InternalFirebaseAuthSettings::set_phone_number( - std::string_view value_arg) { - phone_number_ = value_arg; -} - -const std::string* InternalFirebaseAuthSettings::sms_code() const { - return sms_code_ ? &(*sms_code_) : nullptr; -} - -void InternalFirebaseAuthSettings::set_sms_code( - const std::string_view* value_arg) { - sms_code_ = value_arg ? std::optional(*value_arg) : std::nullopt; -} - -void InternalFirebaseAuthSettings::set_sms_code(std::string_view value_arg) { - sms_code_ = value_arg; -} - -const bool* InternalFirebaseAuthSettings::force_recaptcha_flow() const { - return force_recaptcha_flow_ ? &(*force_recaptcha_flow_) : nullptr; -} - -void InternalFirebaseAuthSettings::set_force_recaptcha_flow( - const bool* value_arg) { - force_recaptcha_flow_ = - value_arg ? std::optional(*value_arg) : std::nullopt; -} - -void InternalFirebaseAuthSettings::set_force_recaptcha_flow(bool value_arg) { - force_recaptcha_flow_ = value_arg; -} - -EncodableList InternalFirebaseAuthSettings::ToEncodableList() const { - EncodableList list; - list.reserve(5); - list.push_back(EncodableValue(app_verification_disabled_for_testing_)); - list.push_back(user_access_group_ ? EncodableValue(*user_access_group_) - : EncodableValue()); - list.push_back(phone_number_ ? EncodableValue(*phone_number_) - : EncodableValue()); - list.push_back(sms_code_ ? EncodableValue(*sms_code_) : EncodableValue()); - list.push_back(force_recaptcha_flow_ ? EncodableValue(*force_recaptcha_flow_) - : EncodableValue()); - return list; -} - -InternalFirebaseAuthSettings InternalFirebaseAuthSettings::FromEncodableList( - const EncodableList& list) { - InternalFirebaseAuthSettings decoded(std::get(list[0])); - auto& encodable_user_access_group = list[1]; - if (!encodable_user_access_group.IsNull()) { - decoded.set_user_access_group( - std::get(encodable_user_access_group)); - } - auto& encodable_phone_number = list[2]; - if (!encodable_phone_number.IsNull()) { - decoded.set_phone_number(std::get(encodable_phone_number)); - } - auto& encodable_sms_code = list[3]; - if (!encodable_sms_code.IsNull()) { - decoded.set_sms_code(std::get(encodable_sms_code)); - } - auto& encodable_force_recaptcha_flow = list[4]; - if (!encodable_force_recaptcha_flow.IsNull()) { - decoded.set_force_recaptcha_flow( - std::get(encodable_force_recaptcha_flow)); - } - return decoded; -} - -bool InternalFirebaseAuthSettings::operator==( - const InternalFirebaseAuthSettings& other) const { - return PigeonInternalDeepEquals( - app_verification_disabled_for_testing_, - other.app_verification_disabled_for_testing_) && - PigeonInternalDeepEquals(user_access_group_, - other.user_access_group_) && - PigeonInternalDeepEquals(phone_number_, other.phone_number_) && - PigeonInternalDeepEquals(sms_code_, other.sms_code_) && - PigeonInternalDeepEquals(force_recaptcha_flow_, - other.force_recaptcha_flow_); -} - -bool InternalFirebaseAuthSettings::operator!=( - const InternalFirebaseAuthSettings& other) const { - return !(*this == other); -} - -size_t InternalFirebaseAuthSettings::Hash() const { - size_t result = 1; - result = result * 31 + - PigeonInternalDeepHash(app_verification_disabled_for_testing_); - result = result * 31 + PigeonInternalDeepHash(user_access_group_); - result = result * 31 + PigeonInternalDeepHash(phone_number_); - result = result * 31 + PigeonInternalDeepHash(sms_code_); - result = result * 31 + PigeonInternalDeepHash(force_recaptcha_flow_); - return result; -} - -size_t PigeonInternalDeepHash(const InternalFirebaseAuthSettings& v) { - return v.Hash(); -} - -// InternalSignInProvider - -InternalSignInProvider::InternalSignInProvider(const std::string& provider_id) - : provider_id_(provider_id) {} - -InternalSignInProvider::InternalSignInProvider( - const std::string& provider_id, const EncodableList* scopes, - const EncodableMap* custom_parameters) - : provider_id_(provider_id), - scopes_(scopes ? std::optional(*scopes) : std::nullopt), - custom_parameters_(custom_parameters - ? std::optional(*custom_parameters) - : std::nullopt) {} - -const std::string& InternalSignInProvider::provider_id() const { - return provider_id_; -} - -void InternalSignInProvider::set_provider_id(std::string_view value_arg) { - provider_id_ = value_arg; -} - -const EncodableList* InternalSignInProvider::scopes() const { - return scopes_ ? &(*scopes_) : nullptr; -} - -void InternalSignInProvider::set_scopes(const EncodableList* value_arg) { - scopes_ = value_arg ? std::optional(*value_arg) : std::nullopt; -} - -void InternalSignInProvider::set_scopes(const EncodableList& value_arg) { - scopes_ = value_arg; -} - -const EncodableMap* InternalSignInProvider::custom_parameters() const { - return custom_parameters_ ? &(*custom_parameters_) : nullptr; -} - -void InternalSignInProvider::set_custom_parameters( - const EncodableMap* value_arg) { - custom_parameters_ = - value_arg ? std::optional(*value_arg) : std::nullopt; -} - -void InternalSignInProvider::set_custom_parameters( - const EncodableMap& value_arg) { - custom_parameters_ = value_arg; -} - -EncodableList InternalSignInProvider::ToEncodableList() const { - EncodableList list; - list.reserve(3); - list.push_back(EncodableValue(provider_id_)); - list.push_back(scopes_ ? EncodableValue(*scopes_) : EncodableValue()); - list.push_back(custom_parameters_ ? EncodableValue(*custom_parameters_) - : EncodableValue()); - return list; -} - -InternalSignInProvider InternalSignInProvider::FromEncodableList( - const EncodableList& list) { - InternalSignInProvider decoded(std::get(list[0])); - auto& encodable_scopes = list[1]; - if (!encodable_scopes.IsNull()) { - decoded.set_scopes(std::get(encodable_scopes)); - } - auto& encodable_custom_parameters = list[2]; - if (!encodable_custom_parameters.IsNull()) { - decoded.set_custom_parameters( - std::get(encodable_custom_parameters)); - } - return decoded; -} - -bool InternalSignInProvider::operator==( - const InternalSignInProvider& other) const { - return PigeonInternalDeepEquals(provider_id_, other.provider_id_) && - PigeonInternalDeepEquals(scopes_, other.scopes_) && - PigeonInternalDeepEquals(custom_parameters_, other.custom_parameters_); -} - -bool InternalSignInProvider::operator!=( - const InternalSignInProvider& other) const { - return !(*this == other); -} - -size_t InternalSignInProvider::Hash() const { - size_t result = 1; - result = result * 31 + PigeonInternalDeepHash(provider_id_); - result = result * 31 + PigeonInternalDeepHash(scopes_); - result = result * 31 + PigeonInternalDeepHash(custom_parameters_); - return result; -} - -size_t PigeonInternalDeepHash(const InternalSignInProvider& v) { - return v.Hash(); -} - -// InternalVerifyPhoneNumberRequest - -InternalVerifyPhoneNumberRequest::InternalVerifyPhoneNumberRequest( - int64_t timeout) - : timeout_(timeout) {} - -InternalVerifyPhoneNumberRequest::InternalVerifyPhoneNumberRequest( - const std::string* phone_number, int64_t timeout, - const int64_t* force_resending_token, - const std::string* auto_retrieved_sms_code_for_testing, - const std::string* multi_factor_info_id, - const std::string* multi_factor_session_id) - : phone_number_(phone_number ? std::optional(*phone_number) - : std::nullopt), - timeout_(timeout), - force_resending_token_( - force_resending_token ? std::optional(*force_resending_token) - : std::nullopt), - auto_retrieved_sms_code_for_testing_( - auto_retrieved_sms_code_for_testing - ? std::optional(*auto_retrieved_sms_code_for_testing) - : std::nullopt), - multi_factor_info_id_(multi_factor_info_id ? std::optional( - *multi_factor_info_id) - : std::nullopt), - multi_factor_session_id_( - multi_factor_session_id - ? std::optional(*multi_factor_session_id) - : std::nullopt) {} - -const std::string* InternalVerifyPhoneNumberRequest::phone_number() const { - return phone_number_ ? &(*phone_number_) : nullptr; -} - -void InternalVerifyPhoneNumberRequest::set_phone_number( - const std::string_view* value_arg) { - phone_number_ = - value_arg ? std::optional(*value_arg) : std::nullopt; -} - -void InternalVerifyPhoneNumberRequest::set_phone_number( - std::string_view value_arg) { - phone_number_ = value_arg; -} - -int64_t InternalVerifyPhoneNumberRequest::timeout() const { return timeout_; } - -void InternalVerifyPhoneNumberRequest::set_timeout(int64_t value_arg) { - timeout_ = value_arg; -} - -const int64_t* InternalVerifyPhoneNumberRequest::force_resending_token() const { - return force_resending_token_ ? &(*force_resending_token_) : nullptr; -} - -void InternalVerifyPhoneNumberRequest::set_force_resending_token( - const int64_t* value_arg) { - force_resending_token_ = - value_arg ? std::optional(*value_arg) : std::nullopt; -} - -void InternalVerifyPhoneNumberRequest::set_force_resending_token( - int64_t value_arg) { - force_resending_token_ = value_arg; -} - -const std::string* -InternalVerifyPhoneNumberRequest::auto_retrieved_sms_code_for_testing() const { - return auto_retrieved_sms_code_for_testing_ - ? &(*auto_retrieved_sms_code_for_testing_) - : nullptr; -} - -void InternalVerifyPhoneNumberRequest::set_auto_retrieved_sms_code_for_testing( - const std::string_view* value_arg) { - auto_retrieved_sms_code_for_testing_ = - value_arg ? std::optional(*value_arg) : std::nullopt; -} - -void InternalVerifyPhoneNumberRequest::set_auto_retrieved_sms_code_for_testing( - std::string_view value_arg) { - auto_retrieved_sms_code_for_testing_ = value_arg; -} - -const std::string* InternalVerifyPhoneNumberRequest::multi_factor_info_id() - const { - return multi_factor_info_id_ ? &(*multi_factor_info_id_) : nullptr; -} - -void InternalVerifyPhoneNumberRequest::set_multi_factor_info_id( - const std::string_view* value_arg) { - multi_factor_info_id_ = - value_arg ? std::optional(*value_arg) : std::nullopt; -} - -void InternalVerifyPhoneNumberRequest::set_multi_factor_info_id( - std::string_view value_arg) { - multi_factor_info_id_ = value_arg; -} - -const std::string* InternalVerifyPhoneNumberRequest::multi_factor_session_id() - const { - return multi_factor_session_id_ ? &(*multi_factor_session_id_) : nullptr; -} - -void InternalVerifyPhoneNumberRequest::set_multi_factor_session_id( - const std::string_view* value_arg) { - multi_factor_session_id_ = - value_arg ? std::optional(*value_arg) : std::nullopt; -} - -void InternalVerifyPhoneNumberRequest::set_multi_factor_session_id( - std::string_view value_arg) { - multi_factor_session_id_ = value_arg; -} - -EncodableList InternalVerifyPhoneNumberRequest::ToEncodableList() const { - EncodableList list; - list.reserve(6); - list.push_back(phone_number_ ? EncodableValue(*phone_number_) - : EncodableValue()); - list.push_back(EncodableValue(timeout_)); - list.push_back(force_resending_token_ - ? EncodableValue(*force_resending_token_) - : EncodableValue()); - list.push_back(auto_retrieved_sms_code_for_testing_ - ? EncodableValue(*auto_retrieved_sms_code_for_testing_) - : EncodableValue()); - list.push_back(multi_factor_info_id_ ? EncodableValue(*multi_factor_info_id_) - : EncodableValue()); - list.push_back(multi_factor_session_id_ - ? EncodableValue(*multi_factor_session_id_) - : EncodableValue()); - return list; -} - -InternalVerifyPhoneNumberRequest -InternalVerifyPhoneNumberRequest::FromEncodableList(const EncodableList& list) { - InternalVerifyPhoneNumberRequest decoded(std::get(list[1])); - auto& encodable_phone_number = list[0]; - if (!encodable_phone_number.IsNull()) { - decoded.set_phone_number(std::get(encodable_phone_number)); - } - auto& encodable_force_resending_token = list[2]; - if (!encodable_force_resending_token.IsNull()) { - decoded.set_force_resending_token( - std::get(encodable_force_resending_token)); - } - auto& encodable_auto_retrieved_sms_code_for_testing = list[3]; - if (!encodable_auto_retrieved_sms_code_for_testing.IsNull()) { - decoded.set_auto_retrieved_sms_code_for_testing( - std::get(encodable_auto_retrieved_sms_code_for_testing)); - } - auto& encodable_multi_factor_info_id = list[4]; - if (!encodable_multi_factor_info_id.IsNull()) { - decoded.set_multi_factor_info_id( - std::get(encodable_multi_factor_info_id)); - } - auto& encodable_multi_factor_session_id = list[5]; - if (!encodable_multi_factor_session_id.IsNull()) { - decoded.set_multi_factor_session_id( - std::get(encodable_multi_factor_session_id)); - } - return decoded; -} - -bool InternalVerifyPhoneNumberRequest::operator==( - const InternalVerifyPhoneNumberRequest& other) const { - return PigeonInternalDeepEquals(phone_number_, other.phone_number_) && - PigeonInternalDeepEquals(timeout_, other.timeout_) && - PigeonInternalDeepEquals(force_resending_token_, - other.force_resending_token_) && - PigeonInternalDeepEquals(auto_retrieved_sms_code_for_testing_, - other.auto_retrieved_sms_code_for_testing_) && - PigeonInternalDeepEquals(multi_factor_info_id_, - other.multi_factor_info_id_) && - PigeonInternalDeepEquals(multi_factor_session_id_, - other.multi_factor_session_id_); -} - -bool InternalVerifyPhoneNumberRequest::operator!=( - const InternalVerifyPhoneNumberRequest& other) const { - return !(*this == other); -} - -size_t InternalVerifyPhoneNumberRequest::Hash() const { - size_t result = 1; - result = result * 31 + PigeonInternalDeepHash(phone_number_); - result = result * 31 + PigeonInternalDeepHash(timeout_); - result = result * 31 + PigeonInternalDeepHash(force_resending_token_); - result = result * 31 + - PigeonInternalDeepHash(auto_retrieved_sms_code_for_testing_); - result = result * 31 + PigeonInternalDeepHash(multi_factor_info_id_); - result = result * 31 + PigeonInternalDeepHash(multi_factor_session_id_); - return result; -} - -size_t PigeonInternalDeepHash(const InternalVerifyPhoneNumberRequest& v) { - return v.Hash(); -} - -// InternalIdTokenResult - -InternalIdTokenResult::InternalIdTokenResult() {} - -InternalIdTokenResult::InternalIdTokenResult( - const std::string* token, const int64_t* expiration_timestamp, - const int64_t* auth_timestamp, const int64_t* issued_at_timestamp, - const std::string* sign_in_provider, const EncodableMap* claims, - const std::string* sign_in_second_factor) - : token_(token ? std::optional(*token) : std::nullopt), - expiration_timestamp_(expiration_timestamp - ? std::optional(*expiration_timestamp) - : std::nullopt), - auth_timestamp_(auth_timestamp ? std::optional(*auth_timestamp) - : std::nullopt), - issued_at_timestamp_(issued_at_timestamp - ? std::optional(*issued_at_timestamp) - : std::nullopt), - sign_in_provider_(sign_in_provider - ? std::optional(*sign_in_provider) - : std::nullopt), - claims_(claims ? std::optional(*claims) : std::nullopt), - sign_in_second_factor_(sign_in_second_factor ? std::optional( - *sign_in_second_factor) - : std::nullopt) {} - -const std::string* InternalIdTokenResult::token() const { - return token_ ? &(*token_) : nullptr; -} - -void InternalIdTokenResult::set_token(const std::string_view* value_arg) { - token_ = value_arg ? std::optional(*value_arg) : std::nullopt; -} - -void InternalIdTokenResult::set_token(std::string_view value_arg) { - token_ = value_arg; -} - -const int64_t* InternalIdTokenResult::expiration_timestamp() const { - return expiration_timestamp_ ? &(*expiration_timestamp_) : nullptr; -} - -void InternalIdTokenResult::set_expiration_timestamp(const int64_t* value_arg) { - expiration_timestamp_ = - value_arg ? std::optional(*value_arg) : std::nullopt; -} - -void InternalIdTokenResult::set_expiration_timestamp(int64_t value_arg) { - expiration_timestamp_ = value_arg; -} - -const int64_t* InternalIdTokenResult::auth_timestamp() const { - return auth_timestamp_ ? &(*auth_timestamp_) : nullptr; -} - -void InternalIdTokenResult::set_auth_timestamp(const int64_t* value_arg) { - auth_timestamp_ = - value_arg ? std::optional(*value_arg) : std::nullopt; -} - -void InternalIdTokenResult::set_auth_timestamp(int64_t value_arg) { - auth_timestamp_ = value_arg; -} - -const int64_t* InternalIdTokenResult::issued_at_timestamp() const { - return issued_at_timestamp_ ? &(*issued_at_timestamp_) : nullptr; -} - -void InternalIdTokenResult::set_issued_at_timestamp(const int64_t* value_arg) { - issued_at_timestamp_ = - value_arg ? std::optional(*value_arg) : std::nullopt; -} - -void InternalIdTokenResult::set_issued_at_timestamp(int64_t value_arg) { - issued_at_timestamp_ = value_arg; -} - -const std::string* InternalIdTokenResult::sign_in_provider() const { - return sign_in_provider_ ? &(*sign_in_provider_) : nullptr; -} - -void InternalIdTokenResult::set_sign_in_provider( - const std::string_view* value_arg) { - sign_in_provider_ = - value_arg ? std::optional(*value_arg) : std::nullopt; -} - -void InternalIdTokenResult::set_sign_in_provider(std::string_view value_arg) { - sign_in_provider_ = value_arg; -} - -const EncodableMap* InternalIdTokenResult::claims() const { - return claims_ ? &(*claims_) : nullptr; -} - -void InternalIdTokenResult::set_claims(const EncodableMap* value_arg) { - claims_ = value_arg ? std::optional(*value_arg) : std::nullopt; -} - -void InternalIdTokenResult::set_claims(const EncodableMap& value_arg) { - claims_ = value_arg; -} - -const std::string* InternalIdTokenResult::sign_in_second_factor() const { - return sign_in_second_factor_ ? &(*sign_in_second_factor_) : nullptr; -} - -void InternalIdTokenResult::set_sign_in_second_factor( - const std::string_view* value_arg) { - sign_in_second_factor_ = - value_arg ? std::optional(*value_arg) : std::nullopt; -} - -void InternalIdTokenResult::set_sign_in_second_factor( - std::string_view value_arg) { - sign_in_second_factor_ = value_arg; -} - -EncodableList InternalIdTokenResult::ToEncodableList() const { - EncodableList list; - list.reserve(7); - list.push_back(token_ ? EncodableValue(*token_) : EncodableValue()); - list.push_back(expiration_timestamp_ ? EncodableValue(*expiration_timestamp_) - : EncodableValue()); - list.push_back(auth_timestamp_ ? EncodableValue(*auth_timestamp_) - : EncodableValue()); - list.push_back(issued_at_timestamp_ ? EncodableValue(*issued_at_timestamp_) - : EncodableValue()); - list.push_back(sign_in_provider_ ? EncodableValue(*sign_in_provider_) - : EncodableValue()); - list.push_back(claims_ ? EncodableValue(*claims_) : EncodableValue()); - list.push_back(sign_in_second_factor_ - ? EncodableValue(*sign_in_second_factor_) - : EncodableValue()); - return list; -} - -InternalIdTokenResult InternalIdTokenResult::FromEncodableList( - const EncodableList& list) { - InternalIdTokenResult decoded; - auto& encodable_token = list[0]; - if (!encodable_token.IsNull()) { - decoded.set_token(std::get(encodable_token)); - } - auto& encodable_expiration_timestamp = list[1]; - if (!encodable_expiration_timestamp.IsNull()) { - decoded.set_expiration_timestamp( - std::get(encodable_expiration_timestamp)); - } - auto& encodable_auth_timestamp = list[2]; - if (!encodable_auth_timestamp.IsNull()) { - decoded.set_auth_timestamp(std::get(encodable_auth_timestamp)); - } - auto& encodable_issued_at_timestamp = list[3]; - if (!encodable_issued_at_timestamp.IsNull()) { - decoded.set_issued_at_timestamp( - std::get(encodable_issued_at_timestamp)); - } - auto& encodable_sign_in_provider = list[4]; - if (!encodable_sign_in_provider.IsNull()) { - decoded.set_sign_in_provider( - std::get(encodable_sign_in_provider)); - } - auto& encodable_claims = list[5]; - if (!encodable_claims.IsNull()) { - decoded.set_claims(std::get(encodable_claims)); - } - auto& encodable_sign_in_second_factor = list[6]; - if (!encodable_sign_in_second_factor.IsNull()) { - decoded.set_sign_in_second_factor( - std::get(encodable_sign_in_second_factor)); - } - return decoded; -} - -bool InternalIdTokenResult::operator==( - const InternalIdTokenResult& other) const { - return PigeonInternalDeepEquals(token_, other.token_) && - PigeonInternalDeepEquals(expiration_timestamp_, - other.expiration_timestamp_) && - PigeonInternalDeepEquals(auth_timestamp_, other.auth_timestamp_) && - PigeonInternalDeepEquals(issued_at_timestamp_, - other.issued_at_timestamp_) && - PigeonInternalDeepEquals(sign_in_provider_, other.sign_in_provider_) && - PigeonInternalDeepEquals(claims_, other.claims_) && - PigeonInternalDeepEquals(sign_in_second_factor_, - other.sign_in_second_factor_); -} - -bool InternalIdTokenResult::operator!=( - const InternalIdTokenResult& other) const { - return !(*this == other); -} - -size_t InternalIdTokenResult::Hash() const { - size_t result = 1; - result = result * 31 + PigeonInternalDeepHash(token_); - result = result * 31 + PigeonInternalDeepHash(expiration_timestamp_); - result = result * 31 + PigeonInternalDeepHash(auth_timestamp_); - result = result * 31 + PigeonInternalDeepHash(issued_at_timestamp_); - result = result * 31 + PigeonInternalDeepHash(sign_in_provider_); - result = result * 31 + PigeonInternalDeepHash(claims_); - result = result * 31 + PigeonInternalDeepHash(sign_in_second_factor_); - return result; -} - -size_t PigeonInternalDeepHash(const InternalIdTokenResult& v) { - return v.Hash(); -} - -// InternalUserProfile - -InternalUserProfile::InternalUserProfile(bool display_name_changed, - bool photo_url_changed) - : display_name_changed_(display_name_changed), - photo_url_changed_(photo_url_changed) {} - -InternalUserProfile::InternalUserProfile(const std::string* display_name, - const std::string* photo_url, - bool display_name_changed, - bool photo_url_changed) - : display_name_(display_name ? std::optional(*display_name) - : std::nullopt), - photo_url_(photo_url ? std::optional(*photo_url) - : std::nullopt), - display_name_changed_(display_name_changed), - photo_url_changed_(photo_url_changed) {} - -const std::string* InternalUserProfile::display_name() const { - return display_name_ ? &(*display_name_) : nullptr; -} - -void InternalUserProfile::set_display_name(const std::string_view* value_arg) { - display_name_ = - value_arg ? std::optional(*value_arg) : std::nullopt; -} - -void InternalUserProfile::set_display_name(std::string_view value_arg) { - display_name_ = value_arg; -} - -const std::string* InternalUserProfile::photo_url() const { - return photo_url_ ? &(*photo_url_) : nullptr; -} - -void InternalUserProfile::set_photo_url(const std::string_view* value_arg) { - photo_url_ = - value_arg ? std::optional(*value_arg) : std::nullopt; -} - -void InternalUserProfile::set_photo_url(std::string_view value_arg) { - photo_url_ = value_arg; -} - -bool InternalUserProfile::display_name_changed() const { - return display_name_changed_; -} - -void InternalUserProfile::set_display_name_changed(bool value_arg) { - display_name_changed_ = value_arg; -} - -bool InternalUserProfile::photo_url_changed() const { - return photo_url_changed_; -} - -void InternalUserProfile::set_photo_url_changed(bool value_arg) { - photo_url_changed_ = value_arg; -} - -EncodableList InternalUserProfile::ToEncodableList() const { - EncodableList list; - list.reserve(4); - list.push_back(display_name_ ? EncodableValue(*display_name_) - : EncodableValue()); - list.push_back(photo_url_ ? EncodableValue(*photo_url_) : EncodableValue()); - list.push_back(EncodableValue(display_name_changed_)); - list.push_back(EncodableValue(photo_url_changed_)); - return list; -} - -InternalUserProfile InternalUserProfile::FromEncodableList( - const EncodableList& list) { - InternalUserProfile decoded(std::get(list[2]), std::get(list[3])); - auto& encodable_display_name = list[0]; - if (!encodable_display_name.IsNull()) { - decoded.set_display_name(std::get(encodable_display_name)); - } - auto& encodable_photo_url = list[1]; - if (!encodable_photo_url.IsNull()) { - decoded.set_photo_url(std::get(encodable_photo_url)); - } - return decoded; -} - -bool InternalUserProfile::operator==(const InternalUserProfile& other) const { - return PigeonInternalDeepEquals(display_name_, other.display_name_) && - PigeonInternalDeepEquals(photo_url_, other.photo_url_) && - PigeonInternalDeepEquals(display_name_changed_, - other.display_name_changed_) && - PigeonInternalDeepEquals(photo_url_changed_, other.photo_url_changed_); -} - -bool InternalUserProfile::operator!=(const InternalUserProfile& other) const { - return !(*this == other); -} - -size_t InternalUserProfile::Hash() const { - size_t result = 1; - result = result * 31 + PigeonInternalDeepHash(display_name_); - result = result * 31 + PigeonInternalDeepHash(photo_url_); - result = result * 31 + PigeonInternalDeepHash(display_name_changed_); - result = result * 31 + PigeonInternalDeepHash(photo_url_changed_); - return result; -} - -size_t PigeonInternalDeepHash(const InternalUserProfile& v) { return v.Hash(); } - -// InternalTotpSecret - -InternalTotpSecret::InternalTotpSecret(const std::string& secret_key) - : secret_key_(secret_key) {} - -InternalTotpSecret::InternalTotpSecret( - const int64_t* code_interval_seconds, const int64_t* code_length, - const int64_t* enrollment_completion_deadline, - const std::string* hashing_algorithm, const std::string& secret_key) - : code_interval_seconds_( - code_interval_seconds ? std::optional(*code_interval_seconds) - : std::nullopt), - code_length_(code_length ? std::optional(*code_length) - : std::nullopt), - enrollment_completion_deadline_( - enrollment_completion_deadline - ? std::optional(*enrollment_completion_deadline) - : std::nullopt), - hashing_algorithm_(hashing_algorithm - ? std::optional(*hashing_algorithm) - : std::nullopt), - secret_key_(secret_key) {} - -const int64_t* InternalTotpSecret::code_interval_seconds() const { - return code_interval_seconds_ ? &(*code_interval_seconds_) : nullptr; -} - -void InternalTotpSecret::set_code_interval_seconds(const int64_t* value_arg) { - code_interval_seconds_ = - value_arg ? std::optional(*value_arg) : std::nullopt; -} - -void InternalTotpSecret::set_code_interval_seconds(int64_t value_arg) { - code_interval_seconds_ = value_arg; -} - -const int64_t* InternalTotpSecret::code_length() const { - return code_length_ ? &(*code_length_) : nullptr; -} - -void InternalTotpSecret::set_code_length(const int64_t* value_arg) { - code_length_ = value_arg ? std::optional(*value_arg) : std::nullopt; -} - -void InternalTotpSecret::set_code_length(int64_t value_arg) { - code_length_ = value_arg; -} - -const int64_t* InternalTotpSecret::enrollment_completion_deadline() const { - return enrollment_completion_deadline_ ? &(*enrollment_completion_deadline_) - : nullptr; -} - -void InternalTotpSecret::set_enrollment_completion_deadline( - const int64_t* value_arg) { - enrollment_completion_deadline_ = - value_arg ? std::optional(*value_arg) : std::nullopt; -} - -void InternalTotpSecret::set_enrollment_completion_deadline(int64_t value_arg) { - enrollment_completion_deadline_ = value_arg; -} - -const std::string* InternalTotpSecret::hashing_algorithm() const { - return hashing_algorithm_ ? &(*hashing_algorithm_) : nullptr; -} - -void InternalTotpSecret::set_hashing_algorithm( - const std::string_view* value_arg) { - hashing_algorithm_ = - value_arg ? std::optional(*value_arg) : std::nullopt; -} - -void InternalTotpSecret::set_hashing_algorithm(std::string_view value_arg) { - hashing_algorithm_ = value_arg; -} - -const std::string& InternalTotpSecret::secret_key() const { - return secret_key_; -} - -void InternalTotpSecret::set_secret_key(std::string_view value_arg) { - secret_key_ = value_arg; -} - -EncodableList InternalTotpSecret::ToEncodableList() const { - EncodableList list; - list.reserve(5); - list.push_back(code_interval_seconds_ - ? EncodableValue(*code_interval_seconds_) - : EncodableValue()); - list.push_back(code_length_ ? EncodableValue(*code_length_) - : EncodableValue()); - list.push_back(enrollment_completion_deadline_ - ? EncodableValue(*enrollment_completion_deadline_) - : EncodableValue()); - list.push_back(hashing_algorithm_ ? EncodableValue(*hashing_algorithm_) - : EncodableValue()); - list.push_back(EncodableValue(secret_key_)); - return list; -} - -InternalTotpSecret InternalTotpSecret::FromEncodableList( - const EncodableList& list) { - InternalTotpSecret decoded(std::get(list[4])); - auto& encodable_code_interval_seconds = list[0]; - if (!encodable_code_interval_seconds.IsNull()) { - decoded.set_code_interval_seconds( - std::get(encodable_code_interval_seconds)); - } - auto& encodable_code_length = list[1]; - if (!encodable_code_length.IsNull()) { - decoded.set_code_length(std::get(encodable_code_length)); - } - auto& encodable_enrollment_completion_deadline = list[2]; - if (!encodable_enrollment_completion_deadline.IsNull()) { - decoded.set_enrollment_completion_deadline( - std::get(encodable_enrollment_completion_deadline)); - } - auto& encodable_hashing_algorithm = list[3]; - if (!encodable_hashing_algorithm.IsNull()) { - decoded.set_hashing_algorithm( - std::get(encodable_hashing_algorithm)); - } - return decoded; -} - -bool InternalTotpSecret::operator==(const InternalTotpSecret& other) const { - return PigeonInternalDeepEquals(code_interval_seconds_, - other.code_interval_seconds_) && - PigeonInternalDeepEquals(code_length_, other.code_length_) && - PigeonInternalDeepEquals(enrollment_completion_deadline_, - other.enrollment_completion_deadline_) && - PigeonInternalDeepEquals(hashing_algorithm_, - other.hashing_algorithm_) && - PigeonInternalDeepEquals(secret_key_, other.secret_key_); -} - -bool InternalTotpSecret::operator!=(const InternalTotpSecret& other) const { - return !(*this == other); -} - -size_t InternalTotpSecret::Hash() const { - size_t result = 1; - result = result * 31 + PigeonInternalDeepHash(code_interval_seconds_); - result = result * 31 + PigeonInternalDeepHash(code_length_); - result = - result * 31 + PigeonInternalDeepHash(enrollment_completion_deadline_); - result = result * 31 + PigeonInternalDeepHash(hashing_algorithm_); - result = result * 31 + PigeonInternalDeepHash(secret_key_); - return result; -} - -size_t PigeonInternalDeepHash(const InternalTotpSecret& v) { return v.Hash(); } - -PigeonInternalCodecSerializer::PigeonInternalCodecSerializer() {} - -EncodableValue PigeonInternalCodecSerializer::ReadValueOfType( - uint8_t type, ::flutter::ByteStreamReader* stream) const { - switch (type) { - case 129: { - const auto& encodable_enum_arg = ReadValue(stream); - const int64_t enum_arg_value = - encodable_enum_arg.IsNull() ? 0 : encodable_enum_arg.LongValue(); - return encodable_enum_arg.IsNull() - ? EncodableValue() - : CustomEncodableValue( - static_cast(enum_arg_value)); - } - case 130: { - return CustomEncodableValue(InternalMultiFactorSession::FromEncodableList( - std::get(ReadValue(stream)))); - } - case 131: { - return CustomEncodableValue( - InternalPhoneMultiFactorAssertion::FromEncodableList( - std::get(ReadValue(stream)))); - } - case 132: { - return CustomEncodableValue(InternalMultiFactorInfo::FromEncodableList( - std::get(ReadValue(stream)))); - } - case 133: { - return CustomEncodableValue(AuthPigeonFirebaseApp::FromEncodableList( - std::get(ReadValue(stream)))); - } - case 134: { - return CustomEncodableValue(InternalActionCodeInfoData::FromEncodableList( - std::get(ReadValue(stream)))); - } - case 135: { - return CustomEncodableValue(InternalActionCodeInfo::FromEncodableList( - std::get(ReadValue(stream)))); - } - case 136: { - return CustomEncodableValue(InternalAdditionalUserInfo::FromEncodableList( - std::get(ReadValue(stream)))); - } - case 137: { - return CustomEncodableValue(InternalAuthCredential::FromEncodableList( - std::get(ReadValue(stream)))); - } - case 138: { - return CustomEncodableValue(InternalUserInfo::FromEncodableList( - std::get(ReadValue(stream)))); - } - case 139: { - return CustomEncodableValue(InternalUserDetails::FromEncodableList( - std::get(ReadValue(stream)))); - } - case 140: { - return CustomEncodableValue(InternalUserCredential::FromEncodableList( - std::get(ReadValue(stream)))); - } - case 141: { - return CustomEncodableValue( - InternalAuthCredentialInput::FromEncodableList( - std::get(ReadValue(stream)))); - } - case 142: { - return CustomEncodableValue(InternalActionCodeSettings::FromEncodableList( - std::get(ReadValue(stream)))); - } - case 143: { - return CustomEncodableValue( - InternalFirebaseAuthSettings::FromEncodableList( - std::get(ReadValue(stream)))); - } - case 144: { - return CustomEncodableValue(InternalSignInProvider::FromEncodableList( - std::get(ReadValue(stream)))); - } - case 145: { - return CustomEncodableValue( - InternalVerifyPhoneNumberRequest::FromEncodableList( - std::get(ReadValue(stream)))); - } - case 146: { - return CustomEncodableValue(InternalIdTokenResult::FromEncodableList( - std::get(ReadValue(stream)))); - } - case 147: { - return CustomEncodableValue(InternalUserProfile::FromEncodableList( - std::get(ReadValue(stream)))); - } - case 148: { - return CustomEncodableValue(InternalTotpSecret::FromEncodableList( - std::get(ReadValue(stream)))); - } - default: - return ::flutter::StandardCodecSerializer::ReadValueOfType(type, stream); - } -} - -void PigeonInternalCodecSerializer::WriteValue( - const EncodableValue& value, ::flutter::ByteStreamWriter* stream) const { - if (const CustomEncodableValue* custom_value = - std::get_if(&value)) { - if (custom_value->type() == typeid(ActionCodeInfoOperation)) { - stream->WriteByte(129); - WriteValue(EncodableValue(static_cast( - std::any_cast(*custom_value))), - stream); - return; - } - if (custom_value->type() == typeid(InternalMultiFactorSession)) { - stream->WriteByte(130); - WriteValue(EncodableValue( - std::any_cast(*custom_value) - .ToEncodableList()), - stream); - return; - } - if (custom_value->type() == typeid(InternalPhoneMultiFactorAssertion)) { - stream->WriteByte(131); - WriteValue( - EncodableValue( - std::any_cast(*custom_value) - .ToEncodableList()), - stream); - return; - } - if (custom_value->type() == typeid(InternalMultiFactorInfo)) { - stream->WriteByte(132); - WriteValue( - EncodableValue(std::any_cast(*custom_value) - .ToEncodableList()), - stream); - return; - } - if (custom_value->type() == typeid(AuthPigeonFirebaseApp)) { - stream->WriteByte(133); - WriteValue( - EncodableValue(std::any_cast(*custom_value) - .ToEncodableList()), - stream); - return; - } - if (custom_value->type() == typeid(InternalActionCodeInfoData)) { - stream->WriteByte(134); - WriteValue(EncodableValue( - std::any_cast(*custom_value) - .ToEncodableList()), - stream); - return; - } - if (custom_value->type() == typeid(InternalActionCodeInfo)) { - stream->WriteByte(135); - WriteValue( - EncodableValue(std::any_cast(*custom_value) - .ToEncodableList()), - stream); - return; - } - if (custom_value->type() == typeid(InternalAdditionalUserInfo)) { - stream->WriteByte(136); - WriteValue(EncodableValue( - std::any_cast(*custom_value) - .ToEncodableList()), - stream); - return; - } - if (custom_value->type() == typeid(InternalAuthCredential)) { - stream->WriteByte(137); - WriteValue( - EncodableValue(std::any_cast(*custom_value) - .ToEncodableList()), - stream); - return; - } - if (custom_value->type() == typeid(InternalUserInfo)) { - stream->WriteByte(138); - WriteValue( - EncodableValue( - std::any_cast(*custom_value).ToEncodableList()), - stream); - return; - } - if (custom_value->type() == typeid(InternalUserDetails)) { - stream->WriteByte(139); - WriteValue( - EncodableValue(std::any_cast(*custom_value) - .ToEncodableList()), - stream); - return; - } - if (custom_value->type() == typeid(InternalUserCredential)) { - stream->WriteByte(140); - WriteValue( - EncodableValue(std::any_cast(*custom_value) - .ToEncodableList()), - stream); - return; - } - if (custom_value->type() == typeid(InternalAuthCredentialInput)) { - stream->WriteByte(141); - WriteValue(EncodableValue( - std::any_cast(*custom_value) - .ToEncodableList()), - stream); - return; - } - if (custom_value->type() == typeid(InternalActionCodeSettings)) { - stream->WriteByte(142); - WriteValue(EncodableValue( - std::any_cast(*custom_value) - .ToEncodableList()), - stream); - return; - } - if (custom_value->type() == typeid(InternalFirebaseAuthSettings)) { - stream->WriteByte(143); - WriteValue(EncodableValue( - std::any_cast(*custom_value) - .ToEncodableList()), - stream); - return; - } - if (custom_value->type() == typeid(InternalSignInProvider)) { - stream->WriteByte(144); - WriteValue( - EncodableValue(std::any_cast(*custom_value) - .ToEncodableList()), - stream); - return; - } - if (custom_value->type() == typeid(InternalVerifyPhoneNumberRequest)) { - stream->WriteByte(145); - WriteValue(EncodableValue(std::any_cast( - *custom_value) - .ToEncodableList()), - stream); - return; - } - if (custom_value->type() == typeid(InternalIdTokenResult)) { - stream->WriteByte(146); - WriteValue( - EncodableValue(std::any_cast(*custom_value) - .ToEncodableList()), - stream); - return; - } - if (custom_value->type() == typeid(InternalUserProfile)) { - stream->WriteByte(147); - WriteValue( - EncodableValue(std::any_cast(*custom_value) - .ToEncodableList()), - stream); - return; - } - if (custom_value->type() == typeid(InternalTotpSecret)) { - stream->WriteByte(148); - WriteValue(EncodableValue(std::any_cast(*custom_value) - .ToEncodableList()), - stream); - return; - } - } - ::flutter::StandardCodecSerializer::WriteValue(value, stream); -} - -/// The codec used by FirebaseAuthHostApi. -const ::flutter::StandardMessageCodec& FirebaseAuthHostApi::GetCodec() { - return ::flutter::StandardMessageCodec::GetInstance( - &PigeonInternalCodecSerializer::GetInstance()); -} - -// Sets up an instance of `FirebaseAuthHostApi` to handle messages through the -// `binary_messenger`. -void FirebaseAuthHostApi::SetUp(::flutter::BinaryMessenger* binary_messenger, - FirebaseAuthHostApi* api) { - FirebaseAuthHostApi::SetUp(binary_messenger, api, ""); -} - -void FirebaseAuthHostApi::SetUp(::flutter::BinaryMessenger* binary_messenger, - FirebaseAuthHostApi* api, - const std::string& message_channel_suffix) { - const std::string prepended_suffix = - message_channel_suffix.length() > 0 - ? std::string(".") + message_channel_suffix - : ""; - { - BasicMessageChannel<> channel( - binary_messenger, - "dev.flutter.pigeon.firebase_auth_platform_interface." - "FirebaseAuthHostApi.registerIdTokenListener" + - prepended_suffix, - &GetCodec()); - if (api != nullptr) { - channel.SetMessageHandler( - [api](const EncodableValue& message, - const ::flutter::MessageReply& reply) { - try { - const auto& args = std::get(message); - const auto& encodable_app_arg = args.at(0); - if (encodable_app_arg.IsNull()) { - reply(WrapError("app_arg unexpectedly null.")); - return; - } - const auto& app_arg = std::any_cast( - std::get(encodable_app_arg)); - api->RegisterIdTokenListener( - app_arg, [reply](ErrorOr&& output) { - if (output.has_error()) { - reply(WrapError(output.error())); - return; - } - EncodableList wrapped; - wrapped.push_back( - EncodableValue(std::move(output).TakeValue())); - reply(EncodableValue(std::move(wrapped))); - }); - } catch (const std::exception& exception) { - reply(WrapError(exception.what())); - } - }); - } else { - channel.SetMessageHandler(nullptr); - } - } - { - BasicMessageChannel<> channel( - binary_messenger, - "dev.flutter.pigeon.firebase_auth_platform_interface." - "FirebaseAuthHostApi.registerAuthStateListener" + - prepended_suffix, - &GetCodec()); - if (api != nullptr) { - channel.SetMessageHandler( - [api](const EncodableValue& message, - const ::flutter::MessageReply& reply) { - try { - const auto& args = std::get(message); - const auto& encodable_app_arg = args.at(0); - if (encodable_app_arg.IsNull()) { - reply(WrapError("app_arg unexpectedly null.")); - return; - } - const auto& app_arg = std::any_cast( - std::get(encodable_app_arg)); - api->RegisterAuthStateListener( - app_arg, [reply](ErrorOr&& output) { - if (output.has_error()) { - reply(WrapError(output.error())); - return; - } - EncodableList wrapped; - wrapped.push_back( - EncodableValue(std::move(output).TakeValue())); - reply(EncodableValue(std::move(wrapped))); - }); - } catch (const std::exception& exception) { - reply(WrapError(exception.what())); - } - }); - } else { - channel.SetMessageHandler(nullptr); - } - } - { - BasicMessageChannel<> channel(binary_messenger, - "dev.flutter.pigeon.firebase_auth_platform_" - "interface.FirebaseAuthHostApi.useEmulator" + - prepended_suffix, - &GetCodec()); - if (api != nullptr) { - channel.SetMessageHandler( - [api](const EncodableValue& message, - const ::flutter::MessageReply& reply) { - try { - const auto& args = std::get(message); - const auto& encodable_app_arg = args.at(0); - if (encodable_app_arg.IsNull()) { - reply(WrapError("app_arg unexpectedly null.")); - return; - } - const auto& app_arg = std::any_cast( - std::get(encodable_app_arg)); - const auto& encodable_host_arg = args.at(1); - if (encodable_host_arg.IsNull()) { - reply(WrapError("host_arg unexpectedly null.")); - return; - } - const auto& host_arg = std::get(encodable_host_arg); - const auto& encodable_port_arg = args.at(2); - if (encodable_port_arg.IsNull()) { - reply(WrapError("port_arg unexpectedly null.")); - return; - } - const int64_t port_arg = encodable_port_arg.LongValue(); - api->UseEmulator(app_arg, host_arg, port_arg, - [reply](std::optional&& output) { - if (output.has_value()) { - reply(WrapError(output.value())); - return; - } - EncodableList wrapped; - wrapped.push_back(EncodableValue()); - reply(EncodableValue(std::move(wrapped))); - }); - } catch (const std::exception& exception) { - reply(WrapError(exception.what())); - } - }); - } else { - channel.SetMessageHandler(nullptr); - } - } - { - BasicMessageChannel<> channel( - binary_messenger, - "dev.flutter.pigeon.firebase_auth_platform_interface." - "FirebaseAuthHostApi.applyActionCode" + - prepended_suffix, - &GetCodec()); - if (api != nullptr) { - channel.SetMessageHandler( - [api](const EncodableValue& message, - const ::flutter::MessageReply& reply) { - try { - const auto& args = std::get(message); - const auto& encodable_app_arg = args.at(0); - if (encodable_app_arg.IsNull()) { - reply(WrapError("app_arg unexpectedly null.")); - return; - } - const auto& app_arg = std::any_cast( - std::get(encodable_app_arg)); - const auto& encodable_code_arg = args.at(1); - if (encodable_code_arg.IsNull()) { - reply(WrapError("code_arg unexpectedly null.")); - return; - } - const auto& code_arg = std::get(encodable_code_arg); - api->ApplyActionCode( - app_arg, code_arg, - [reply](std::optional&& output) { - if (output.has_value()) { - reply(WrapError(output.value())); - return; - } - EncodableList wrapped; - wrapped.push_back(EncodableValue()); - reply(EncodableValue(std::move(wrapped))); - }); - } catch (const std::exception& exception) { - reply(WrapError(exception.what())); - } - }); - } else { - channel.SetMessageHandler(nullptr); - } - } - { - BasicMessageChannel<> channel( - binary_messenger, - "dev.flutter.pigeon.firebase_auth_platform_interface." - "FirebaseAuthHostApi.checkActionCode" + - prepended_suffix, - &GetCodec()); - if (api != nullptr) { - channel.SetMessageHandler( - [api](const EncodableValue& message, - const ::flutter::MessageReply& reply) { - try { - const auto& args = std::get(message); - const auto& encodable_app_arg = args.at(0); - if (encodable_app_arg.IsNull()) { - reply(WrapError("app_arg unexpectedly null.")); - return; - } - const auto& app_arg = std::any_cast( - std::get(encodable_app_arg)); - const auto& encodable_code_arg = args.at(1); - if (encodable_code_arg.IsNull()) { - reply(WrapError("code_arg unexpectedly null.")); - return; - } - const auto& code_arg = std::get(encodable_code_arg); - api->CheckActionCode( - app_arg, code_arg, - [reply](ErrorOr&& output) { - if (output.has_error()) { - reply(WrapError(output.error())); - return; - } - EncodableList wrapped; - wrapped.push_back( - CustomEncodableValue(std::move(output).TakeValue())); - reply(EncodableValue(std::move(wrapped))); - }); - } catch (const std::exception& exception) { - reply(WrapError(exception.what())); - } - }); - } else { - channel.SetMessageHandler(nullptr); - } - } - { - BasicMessageChannel<> channel( - binary_messenger, - "dev.flutter.pigeon.firebase_auth_platform_interface." - "FirebaseAuthHostApi.confirmPasswordReset" + - prepended_suffix, - &GetCodec()); - if (api != nullptr) { - channel.SetMessageHandler( - [api](const EncodableValue& message, - const ::flutter::MessageReply& reply) { - try { - const auto& args = std::get(message); - const auto& encodable_app_arg = args.at(0); - if (encodable_app_arg.IsNull()) { - reply(WrapError("app_arg unexpectedly null.")); - return; - } - const auto& app_arg = std::any_cast( - std::get(encodable_app_arg)); - const auto& encodable_code_arg = args.at(1); - if (encodable_code_arg.IsNull()) { - reply(WrapError("code_arg unexpectedly null.")); - return; - } - const auto& code_arg = std::get(encodable_code_arg); - const auto& encodable_new_password_arg = args.at(2); - if (encodable_new_password_arg.IsNull()) { - reply(WrapError("new_password_arg unexpectedly null.")); - return; - } - const auto& new_password_arg = - std::get(encodable_new_password_arg); - api->ConfirmPasswordReset( - app_arg, code_arg, new_password_arg, - [reply](std::optional&& output) { - if (output.has_value()) { - reply(WrapError(output.value())); - return; - } - EncodableList wrapped; - wrapped.push_back(EncodableValue()); - reply(EncodableValue(std::move(wrapped))); - }); - } catch (const std::exception& exception) { - reply(WrapError(exception.what())); - } - }); - } else { - channel.SetMessageHandler(nullptr); - } - } - { - BasicMessageChannel<> channel( - binary_messenger, - "dev.flutter.pigeon.firebase_auth_platform_interface." - "FirebaseAuthHostApi.createUserWithEmailAndPassword" + - prepended_suffix, - &GetCodec()); - if (api != nullptr) { - channel.SetMessageHandler( - [api](const EncodableValue& message, - const ::flutter::MessageReply& reply) { - try { - const auto& args = std::get(message); - const auto& encodable_app_arg = args.at(0); - if (encodable_app_arg.IsNull()) { - reply(WrapError("app_arg unexpectedly null.")); - return; - } - const auto& app_arg = std::any_cast( - std::get(encodable_app_arg)); - const auto& encodable_email_arg = args.at(1); - if (encodable_email_arg.IsNull()) { - reply(WrapError("email_arg unexpectedly null.")); - return; - } - const auto& email_arg = - std::get(encodable_email_arg); - const auto& encodable_password_arg = args.at(2); - if (encodable_password_arg.IsNull()) { - reply(WrapError("password_arg unexpectedly null.")); - return; - } - const auto& password_arg = - std::get(encodable_password_arg); - api->CreateUserWithEmailAndPassword( - app_arg, email_arg, password_arg, - [reply](ErrorOr&& output) { - if (output.has_error()) { - reply(WrapError(output.error())); - return; - } - EncodableList wrapped; - wrapped.push_back( - CustomEncodableValue(std::move(output).TakeValue())); - reply(EncodableValue(std::move(wrapped))); - }); - } catch (const std::exception& exception) { - reply(WrapError(exception.what())); - } - }); - } else { - channel.SetMessageHandler(nullptr); - } - } - { - BasicMessageChannel<> channel( - binary_messenger, - "dev.flutter.pigeon.firebase_auth_platform_interface." - "FirebaseAuthHostApi.signInAnonymously" + - prepended_suffix, - &GetCodec()); - if (api != nullptr) { - channel.SetMessageHandler( - [api](const EncodableValue& message, - const ::flutter::MessageReply& reply) { - try { - const auto& args = std::get(message); - const auto& encodable_app_arg = args.at(0); - if (encodable_app_arg.IsNull()) { - reply(WrapError("app_arg unexpectedly null.")); - return; - } - const auto& app_arg = std::any_cast( - std::get(encodable_app_arg)); - api->SignInAnonymously( - app_arg, [reply](ErrorOr&& output) { - if (output.has_error()) { - reply(WrapError(output.error())); - return; - } - EncodableList wrapped; - wrapped.push_back( - CustomEncodableValue(std::move(output).TakeValue())); - reply(EncodableValue(std::move(wrapped))); - }); - } catch (const std::exception& exception) { - reply(WrapError(exception.what())); - } - }); - } else { - channel.SetMessageHandler(nullptr); - } - } - { - BasicMessageChannel<> channel( - binary_messenger, - "dev.flutter.pigeon.firebase_auth_platform_interface." - "FirebaseAuthHostApi.signInWithCredential" + - prepended_suffix, - &GetCodec()); - if (api != nullptr) { - channel.SetMessageHandler( - [api](const EncodableValue& message, - const ::flutter::MessageReply& reply) { - try { - const auto& args = std::get(message); - const auto& encodable_app_arg = args.at(0); - if (encodable_app_arg.IsNull()) { - reply(WrapError("app_arg unexpectedly null.")); - return; - } - const auto& app_arg = std::any_cast( - std::get(encodable_app_arg)); - const auto& encodable_input_arg = args.at(1); - if (encodable_input_arg.IsNull()) { - reply(WrapError("input_arg unexpectedly null.")); - return; - } - const auto& input_arg = - std::get(encodable_input_arg); - api->SignInWithCredential( - app_arg, input_arg, - [reply](ErrorOr&& output) { - if (output.has_error()) { - reply(WrapError(output.error())); - return; - } - EncodableList wrapped; - wrapped.push_back( - CustomEncodableValue(std::move(output).TakeValue())); - reply(EncodableValue(std::move(wrapped))); - }); - } catch (const std::exception& exception) { - reply(WrapError(exception.what())); - } - }); - } else { - channel.SetMessageHandler(nullptr); - } - } - { - BasicMessageChannel<> channel( - binary_messenger, - "dev.flutter.pigeon.firebase_auth_platform_interface." - "FirebaseAuthHostApi.signInWithCustomToken" + - prepended_suffix, - &GetCodec()); - if (api != nullptr) { - channel.SetMessageHandler( - [api](const EncodableValue& message, - const ::flutter::MessageReply& reply) { - try { - const auto& args = std::get(message); - const auto& encodable_app_arg = args.at(0); - if (encodable_app_arg.IsNull()) { - reply(WrapError("app_arg unexpectedly null.")); - return; - } - const auto& app_arg = std::any_cast( - std::get(encodable_app_arg)); - const auto& encodable_token_arg = args.at(1); - if (encodable_token_arg.IsNull()) { - reply(WrapError("token_arg unexpectedly null.")); - return; - } - const auto& token_arg = - std::get(encodable_token_arg); - api->SignInWithCustomToken( - app_arg, token_arg, - [reply](ErrorOr&& output) { - if (output.has_error()) { - reply(WrapError(output.error())); - return; - } - EncodableList wrapped; - wrapped.push_back( - CustomEncodableValue(std::move(output).TakeValue())); - reply(EncodableValue(std::move(wrapped))); - }); - } catch (const std::exception& exception) { - reply(WrapError(exception.what())); - } - }); - } else { - channel.SetMessageHandler(nullptr); - } - } - { - BasicMessageChannel<> channel( - binary_messenger, - "dev.flutter.pigeon.firebase_auth_platform_interface." - "FirebaseAuthHostApi.signInWithEmailAndPassword" + - prepended_suffix, - &GetCodec()); - if (api != nullptr) { - channel.SetMessageHandler( - [api](const EncodableValue& message, - const ::flutter::MessageReply& reply) { - try { - const auto& args = std::get(message); - const auto& encodable_app_arg = args.at(0); - if (encodable_app_arg.IsNull()) { - reply(WrapError("app_arg unexpectedly null.")); - return; - } - const auto& app_arg = std::any_cast( - std::get(encodable_app_arg)); - const auto& encodable_email_arg = args.at(1); - if (encodable_email_arg.IsNull()) { - reply(WrapError("email_arg unexpectedly null.")); - return; - } - const auto& email_arg = - std::get(encodable_email_arg); - const auto& encodable_password_arg = args.at(2); - if (encodable_password_arg.IsNull()) { - reply(WrapError("password_arg unexpectedly null.")); - return; - } - const auto& password_arg = - std::get(encodable_password_arg); - api->SignInWithEmailAndPassword( - app_arg, email_arg, password_arg, - [reply](ErrorOr&& output) { - if (output.has_error()) { - reply(WrapError(output.error())); - return; - } - EncodableList wrapped; - wrapped.push_back( - CustomEncodableValue(std::move(output).TakeValue())); - reply(EncodableValue(std::move(wrapped))); - }); - } catch (const std::exception& exception) { - reply(WrapError(exception.what())); - } - }); - } else { - channel.SetMessageHandler(nullptr); - } - } - { - BasicMessageChannel<> channel( - binary_messenger, - "dev.flutter.pigeon.firebase_auth_platform_interface." - "FirebaseAuthHostApi.signInWithEmailLink" + - prepended_suffix, - &GetCodec()); - if (api != nullptr) { - channel.SetMessageHandler( - [api](const EncodableValue& message, - const ::flutter::MessageReply& reply) { - try { - const auto& args = std::get(message); - const auto& encodable_app_arg = args.at(0); - if (encodable_app_arg.IsNull()) { - reply(WrapError("app_arg unexpectedly null.")); - return; - } - const auto& app_arg = std::any_cast( - std::get(encodable_app_arg)); - const auto& encodable_email_arg = args.at(1); - if (encodable_email_arg.IsNull()) { - reply(WrapError("email_arg unexpectedly null.")); - return; - } - const auto& email_arg = - std::get(encodable_email_arg); - const auto& encodable_email_link_arg = args.at(2); - if (encodable_email_link_arg.IsNull()) { - reply(WrapError("email_link_arg unexpectedly null.")); - return; - } - const auto& email_link_arg = - std::get(encodable_email_link_arg); - api->SignInWithEmailLink( - app_arg, email_arg, email_link_arg, - [reply](ErrorOr&& output) { - if (output.has_error()) { - reply(WrapError(output.error())); - return; - } - EncodableList wrapped; - wrapped.push_back( - CustomEncodableValue(std::move(output).TakeValue())); - reply(EncodableValue(std::move(wrapped))); - }); - } catch (const std::exception& exception) { - reply(WrapError(exception.what())); - } - }); - } else { - channel.SetMessageHandler(nullptr); - } - } - { - BasicMessageChannel<> channel( - binary_messenger, - "dev.flutter.pigeon.firebase_auth_platform_interface." - "FirebaseAuthHostApi.signInWithProvider" + - prepended_suffix, - &GetCodec()); - if (api != nullptr) { - channel.SetMessageHandler( - [api](const EncodableValue& message, - const ::flutter::MessageReply& reply) { - try { - const auto& args = std::get(message); - const auto& encodable_app_arg = args.at(0); - if (encodable_app_arg.IsNull()) { - reply(WrapError("app_arg unexpectedly null.")); - return; - } - const auto& app_arg = std::any_cast( - std::get(encodable_app_arg)); - const auto& encodable_sign_in_provider_arg = args.at(1); - if (encodable_sign_in_provider_arg.IsNull()) { - reply(WrapError("sign_in_provider_arg unexpectedly null.")); - return; - } - const auto& sign_in_provider_arg = - std::any_cast( - std::get( - encodable_sign_in_provider_arg)); - api->SignInWithProvider( - app_arg, sign_in_provider_arg, - [reply](ErrorOr&& output) { - if (output.has_error()) { - reply(WrapError(output.error())); - return; - } - EncodableList wrapped; - wrapped.push_back( - CustomEncodableValue(std::move(output).TakeValue())); - reply(EncodableValue(std::move(wrapped))); - }); - } catch (const std::exception& exception) { - reply(WrapError(exception.what())); - } - }); - } else { - channel.SetMessageHandler(nullptr); - } - } - { - BasicMessageChannel<> channel(binary_messenger, - "dev.flutter.pigeon.firebase_auth_platform_" - "interface.FirebaseAuthHostApi.signOut" + - prepended_suffix, - &GetCodec()); - if (api != nullptr) { - channel.SetMessageHandler( - [api](const EncodableValue& message, - const ::flutter::MessageReply& reply) { - try { - const auto& args = std::get(message); - const auto& encodable_app_arg = args.at(0); - if (encodable_app_arg.IsNull()) { - reply(WrapError("app_arg unexpectedly null.")); - return; - } - const auto& app_arg = std::any_cast( - std::get(encodable_app_arg)); - api->SignOut(app_arg, - [reply](std::optional&& output) { - if (output.has_value()) { - reply(WrapError(output.value())); - return; - } - EncodableList wrapped; - wrapped.push_back(EncodableValue()); - reply(EncodableValue(std::move(wrapped))); - }); - } catch (const std::exception& exception) { - reply(WrapError(exception.what())); - } - }); - } else { - channel.SetMessageHandler(nullptr); - } - } - { - BasicMessageChannel<> channel( - binary_messenger, - "dev.flutter.pigeon.firebase_auth_platform_interface." - "FirebaseAuthHostApi.fetchSignInMethodsForEmail" + - prepended_suffix, - &GetCodec()); - if (api != nullptr) { - channel.SetMessageHandler( - [api](const EncodableValue& message, - const ::flutter::MessageReply& reply) { - try { - const auto& args = std::get(message); - const auto& encodable_app_arg = args.at(0); - if (encodable_app_arg.IsNull()) { - reply(WrapError("app_arg unexpectedly null.")); - return; - } - const auto& app_arg = std::any_cast( - std::get(encodable_app_arg)); - const auto& encodable_email_arg = args.at(1); - if (encodable_email_arg.IsNull()) { - reply(WrapError("email_arg unexpectedly null.")); - return; - } - const auto& email_arg = - std::get(encodable_email_arg); - api->FetchSignInMethodsForEmail( - app_arg, email_arg, [reply](ErrorOr&& output) { - if (output.has_error()) { - reply(WrapError(output.error())); - return; - } - EncodableList wrapped; - wrapped.push_back( - EncodableValue(std::move(output).TakeValue())); - reply(EncodableValue(std::move(wrapped))); - }); - } catch (const std::exception& exception) { - reply(WrapError(exception.what())); - } - }); - } else { - channel.SetMessageHandler(nullptr); - } - } - { - BasicMessageChannel<> channel( - binary_messenger, - "dev.flutter.pigeon.firebase_auth_platform_interface." - "FirebaseAuthHostApi.sendPasswordResetEmail" + - prepended_suffix, - &GetCodec()); - if (api != nullptr) { - channel.SetMessageHandler( - [api](const EncodableValue& message, - const ::flutter::MessageReply& reply) { - try { - const auto& args = std::get(message); - const auto& encodable_app_arg = args.at(0); - if (encodable_app_arg.IsNull()) { - reply(WrapError("app_arg unexpectedly null.")); - return; - } - const auto& app_arg = std::any_cast( - std::get(encodable_app_arg)); - const auto& encodable_email_arg = args.at(1); - if (encodable_email_arg.IsNull()) { - reply(WrapError("email_arg unexpectedly null.")); - return; - } - const auto& email_arg = - std::get(encodable_email_arg); - const auto& encodable_action_code_settings_arg = args.at(2); - const auto* action_code_settings_arg = - encodable_action_code_settings_arg.IsNull() - ? nullptr - : &(std::any_cast( - std::get( - encodable_action_code_settings_arg))); - api->SendPasswordResetEmail( - app_arg, email_arg, action_code_settings_arg, - [reply](std::optional&& output) { - if (output.has_value()) { - reply(WrapError(output.value())); - return; - } - EncodableList wrapped; - wrapped.push_back(EncodableValue()); - reply(EncodableValue(std::move(wrapped))); - }); - } catch (const std::exception& exception) { - reply(WrapError(exception.what())); - } - }); - } else { - channel.SetMessageHandler(nullptr); - } - } - { - BasicMessageChannel<> channel( - binary_messenger, - "dev.flutter.pigeon.firebase_auth_platform_interface." - "FirebaseAuthHostApi.sendSignInLinkToEmail" + - prepended_suffix, - &GetCodec()); - if (api != nullptr) { - channel.SetMessageHandler( - [api](const EncodableValue& message, - const ::flutter::MessageReply& reply) { - try { - const auto& args = std::get(message); - const auto& encodable_app_arg = args.at(0); - if (encodable_app_arg.IsNull()) { - reply(WrapError("app_arg unexpectedly null.")); - return; - } - const auto& app_arg = std::any_cast( - std::get(encodable_app_arg)); - const auto& encodable_email_arg = args.at(1); - if (encodable_email_arg.IsNull()) { - reply(WrapError("email_arg unexpectedly null.")); - return; - } - const auto& email_arg = - std::get(encodable_email_arg); - const auto& encodable_action_code_settings_arg = args.at(2); - if (encodable_action_code_settings_arg.IsNull()) { - reply(WrapError("action_code_settings_arg unexpectedly null.")); - return; - } - const auto& action_code_settings_arg = - std::any_cast( - std::get( - encodable_action_code_settings_arg)); - api->SendSignInLinkToEmail( - app_arg, email_arg, action_code_settings_arg, - [reply](std::optional&& output) { - if (output.has_value()) { - reply(WrapError(output.value())); - return; - } - EncodableList wrapped; - wrapped.push_back(EncodableValue()); - reply(EncodableValue(std::move(wrapped))); - }); - } catch (const std::exception& exception) { - reply(WrapError(exception.what())); - } - }); - } else { - channel.SetMessageHandler(nullptr); - } - } - { - BasicMessageChannel<> channel( - binary_messenger, - "dev.flutter.pigeon.firebase_auth_platform_interface." - "FirebaseAuthHostApi.setLanguageCode" + - prepended_suffix, - &GetCodec()); - if (api != nullptr) { - channel.SetMessageHandler( - [api](const EncodableValue& message, - const ::flutter::MessageReply& reply) { - try { - const auto& args = std::get(message); - const auto& encodable_app_arg = args.at(0); - if (encodable_app_arg.IsNull()) { - reply(WrapError("app_arg unexpectedly null.")); - return; - } - const auto& app_arg = std::any_cast( - std::get(encodable_app_arg)); - const auto& encodable_language_code_arg = args.at(1); - const auto* language_code_arg = - std::get_if(&encodable_language_code_arg); - api->SetLanguageCode(app_arg, language_code_arg, - [reply](ErrorOr&& output) { - if (output.has_error()) { - reply(WrapError(output.error())); - return; - } - EncodableList wrapped; - wrapped.push_back(EncodableValue( - std::move(output).TakeValue())); - reply(EncodableValue(std::move(wrapped))); - }); - } catch (const std::exception& exception) { - reply(WrapError(exception.what())); - } - }); - } else { - channel.SetMessageHandler(nullptr); - } - } - { - BasicMessageChannel<> channel(binary_messenger, - "dev.flutter.pigeon.firebase_auth_platform_" - "interface.FirebaseAuthHostApi.setSettings" + - prepended_suffix, - &GetCodec()); - if (api != nullptr) { - channel.SetMessageHandler( - [api](const EncodableValue& message, - const ::flutter::MessageReply& reply) { - try { - const auto& args = std::get(message); - const auto& encodable_app_arg = args.at(0); - if (encodable_app_arg.IsNull()) { - reply(WrapError("app_arg unexpectedly null.")); - return; - } - const auto& app_arg = std::any_cast( - std::get(encodable_app_arg)); - const auto& encodable_settings_arg = args.at(1); - if (encodable_settings_arg.IsNull()) { - reply(WrapError("settings_arg unexpectedly null.")); - return; - } - const auto& settings_arg = - std::any_cast( - std::get(encodable_settings_arg)); - api->SetSettings(app_arg, settings_arg, - [reply](std::optional&& output) { - if (output.has_value()) { - reply(WrapError(output.value())); - return; - } - EncodableList wrapped; - wrapped.push_back(EncodableValue()); - reply(EncodableValue(std::move(wrapped))); - }); - } catch (const std::exception& exception) { - reply(WrapError(exception.what())); - } - }); - } else { - channel.SetMessageHandler(nullptr); - } - } - { - BasicMessageChannel<> channel( - binary_messenger, - "dev.flutter.pigeon.firebase_auth_platform_interface." - "FirebaseAuthHostApi.verifyPasswordResetCode" + - prepended_suffix, - &GetCodec()); - if (api != nullptr) { - channel.SetMessageHandler( - [api](const EncodableValue& message, - const ::flutter::MessageReply& reply) { - try { - const auto& args = std::get(message); - const auto& encodable_app_arg = args.at(0); - if (encodable_app_arg.IsNull()) { - reply(WrapError("app_arg unexpectedly null.")); - return; - } - const auto& app_arg = std::any_cast( - std::get(encodable_app_arg)); - const auto& encodable_code_arg = args.at(1); - if (encodable_code_arg.IsNull()) { - reply(WrapError("code_arg unexpectedly null.")); - return; - } - const auto& code_arg = std::get(encodable_code_arg); - api->VerifyPasswordResetCode( - app_arg, code_arg, [reply](ErrorOr&& output) { - if (output.has_error()) { - reply(WrapError(output.error())); - return; - } - EncodableList wrapped; - wrapped.push_back( - EncodableValue(std::move(output).TakeValue())); - reply(EncodableValue(std::move(wrapped))); - }); - } catch (const std::exception& exception) { - reply(WrapError(exception.what())); - } - }); - } else { - channel.SetMessageHandler(nullptr); - } - } - { - BasicMessageChannel<> channel( - binary_messenger, - "dev.flutter.pigeon.firebase_auth_platform_interface." - "FirebaseAuthHostApi.verifyPhoneNumber" + - prepended_suffix, - &GetCodec()); - if (api != nullptr) { - channel.SetMessageHandler( - [api](const EncodableValue& message, - const ::flutter::MessageReply& reply) { - try { - const auto& args = std::get(message); - const auto& encodable_app_arg = args.at(0); - if (encodable_app_arg.IsNull()) { - reply(WrapError("app_arg unexpectedly null.")); - return; - } - const auto& app_arg = std::any_cast( - std::get(encodable_app_arg)); - const auto& encodable_request_arg = args.at(1); - if (encodable_request_arg.IsNull()) { - reply(WrapError("request_arg unexpectedly null.")); - return; - } - const auto& request_arg = - std::any_cast( - std::get(encodable_request_arg)); - api->VerifyPhoneNumber( - app_arg, request_arg, [reply](ErrorOr&& output) { - if (output.has_error()) { - reply(WrapError(output.error())); - return; - } - EncodableList wrapped; - wrapped.push_back( - EncodableValue(std::move(output).TakeValue())); - reply(EncodableValue(std::move(wrapped))); - }); - } catch (const std::exception& exception) { - reply(WrapError(exception.what())); - } - }); - } else { - channel.SetMessageHandler(nullptr); - } - } - { - BasicMessageChannel<> channel( - binary_messenger, - "dev.flutter.pigeon.firebase_auth_platform_interface." - "FirebaseAuthHostApi.revokeTokenWithAuthorizationCode" + - prepended_suffix, - &GetCodec()); - if (api != nullptr) { - channel.SetMessageHandler( - [api](const EncodableValue& message, - const ::flutter::MessageReply& reply) { - try { - const auto& args = std::get(message); - const auto& encodable_app_arg = args.at(0); - if (encodable_app_arg.IsNull()) { - reply(WrapError("app_arg unexpectedly null.")); - return; - } - const auto& app_arg = std::any_cast( - std::get(encodable_app_arg)); - const auto& encodable_authorization_code_arg = args.at(1); - if (encodable_authorization_code_arg.IsNull()) { - reply(WrapError("authorization_code_arg unexpectedly null.")); - return; - } - const auto& authorization_code_arg = - std::get(encodable_authorization_code_arg); - api->RevokeTokenWithAuthorizationCode( - app_arg, authorization_code_arg, - [reply](std::optional&& output) { - if (output.has_value()) { - reply(WrapError(output.value())); - return; - } - EncodableList wrapped; - wrapped.push_back(EncodableValue()); - reply(EncodableValue(std::move(wrapped))); - }); - } catch (const std::exception& exception) { - reply(WrapError(exception.what())); - } - }); - } else { - channel.SetMessageHandler(nullptr); - } - } - { - BasicMessageChannel<> channel( - binary_messenger, - "dev.flutter.pigeon.firebase_auth_platform_interface." - "FirebaseAuthHostApi.revokeAccessToken" + - prepended_suffix, - &GetCodec()); - if (api != nullptr) { - channel.SetMessageHandler( - [api](const EncodableValue& message, - const ::flutter::MessageReply& reply) { - try { - const auto& args = std::get(message); - const auto& encodable_app_arg = args.at(0); - if (encodable_app_arg.IsNull()) { - reply(WrapError("app_arg unexpectedly null.")); - return; - } - const auto& app_arg = std::any_cast( - std::get(encodable_app_arg)); - const auto& encodable_access_token_arg = args.at(1); - if (encodable_access_token_arg.IsNull()) { - reply(WrapError("access_token_arg unexpectedly null.")); - return; - } - const auto& access_token_arg = - std::get(encodable_access_token_arg); - api->RevokeAccessToken( - app_arg, access_token_arg, - [reply](std::optional&& output) { - if (output.has_value()) { - reply(WrapError(output.value())); - return; - } - EncodableList wrapped; - wrapped.push_back(EncodableValue()); - reply(EncodableValue(std::move(wrapped))); - }); - } catch (const std::exception& exception) { - reply(WrapError(exception.what())); - } - }); - } else { - channel.SetMessageHandler(nullptr); - } - } - { - BasicMessageChannel<> channel( - binary_messenger, - "dev.flutter.pigeon.firebase_auth_platform_interface." - "FirebaseAuthHostApi.initializeRecaptchaConfig" + - prepended_suffix, - &GetCodec()); - if (api != nullptr) { - channel.SetMessageHandler( - [api](const EncodableValue& message, - const ::flutter::MessageReply& reply) { - try { - const auto& args = std::get(message); - const auto& encodable_app_arg = args.at(0); - if (encodable_app_arg.IsNull()) { - reply(WrapError("app_arg unexpectedly null.")); - return; - } - const auto& app_arg = std::any_cast( - std::get(encodable_app_arg)); - api->InitializeRecaptchaConfig( - app_arg, [reply](std::optional&& output) { - if (output.has_value()) { - reply(WrapError(output.value())); - return; - } - EncodableList wrapped; - wrapped.push_back(EncodableValue()); - reply(EncodableValue(std::move(wrapped))); - }); - } catch (const std::exception& exception) { - reply(WrapError(exception.what())); - } - }); - } else { - channel.SetMessageHandler(nullptr); - } - } -} - -EncodableValue FirebaseAuthHostApi::WrapError(std::string_view error_message) { - return EncodableValue( - EncodableList{EncodableValue(std::string(error_message)), - EncodableValue("Error"), EncodableValue()}); -} - -EncodableValue FirebaseAuthHostApi::WrapError(const FlutterError& error) { - return EncodableValue(EncodableList{EncodableValue(error.code()), - EncodableValue(error.message()), - error.details()}); -} - -/// The codec used by FirebaseAuthUserHostApi. -const ::flutter::StandardMessageCodec& FirebaseAuthUserHostApi::GetCodec() { - return ::flutter::StandardMessageCodec::GetInstance( - &PigeonInternalCodecSerializer::GetInstance()); -} - -// Sets up an instance of `FirebaseAuthUserHostApi` to handle messages through -// the `binary_messenger`. -void FirebaseAuthUserHostApi::SetUp( - ::flutter::BinaryMessenger* binary_messenger, - FirebaseAuthUserHostApi* api) { - FirebaseAuthUserHostApi::SetUp(binary_messenger, api, ""); -} - -void FirebaseAuthUserHostApi::SetUp( - ::flutter::BinaryMessenger* binary_messenger, FirebaseAuthUserHostApi* api, - const std::string& message_channel_suffix) { - const std::string prepended_suffix = - message_channel_suffix.length() > 0 - ? std::string(".") + message_channel_suffix - : ""; - { - BasicMessageChannel<> channel(binary_messenger, - "dev.flutter.pigeon.firebase_auth_platform_" - "interface.FirebaseAuthUserHostApi.delete" + - prepended_suffix, - &GetCodec()); - if (api != nullptr) { - channel.SetMessageHandler( - [api](const EncodableValue& message, - const ::flutter::MessageReply& reply) { - try { - const auto& args = std::get(message); - const auto& encodable_app_arg = args.at(0); - if (encodable_app_arg.IsNull()) { - reply(WrapError("app_arg unexpectedly null.")); - return; - } - const auto& app_arg = std::any_cast( - std::get(encodable_app_arg)); - api->Delete(app_arg, - [reply](std::optional&& output) { - if (output.has_value()) { - reply(WrapError(output.value())); - return; - } - EncodableList wrapped; - wrapped.push_back(EncodableValue()); - reply(EncodableValue(std::move(wrapped))); - }); - } catch (const std::exception& exception) { - reply(WrapError(exception.what())); - } - }); - } else { - channel.SetMessageHandler(nullptr); - } - } - { - BasicMessageChannel<> channel( - binary_messenger, - "dev.flutter.pigeon.firebase_auth_platform_interface." - "FirebaseAuthUserHostApi.getIdToken" + - prepended_suffix, - &GetCodec()); - if (api != nullptr) { - channel.SetMessageHandler( - [api](const EncodableValue& message, - const ::flutter::MessageReply& reply) { - try { - const auto& args = std::get(message); - const auto& encodable_app_arg = args.at(0); - if (encodable_app_arg.IsNull()) { - reply(WrapError("app_arg unexpectedly null.")); - return; - } - const auto& app_arg = std::any_cast( - std::get(encodable_app_arg)); - const auto& encodable_force_refresh_arg = args.at(1); - if (encodable_force_refresh_arg.IsNull()) { - reply(WrapError("force_refresh_arg unexpectedly null.")); - return; - } - const auto& force_refresh_arg = - std::get(encodable_force_refresh_arg); - api->GetIdToken(app_arg, force_refresh_arg, - [reply](ErrorOr&& output) { - if (output.has_error()) { - reply(WrapError(output.error())); - return; - } - EncodableList wrapped; - wrapped.push_back(CustomEncodableValue( - std::move(output).TakeValue())); - reply(EncodableValue(std::move(wrapped))); - }); - } catch (const std::exception& exception) { - reply(WrapError(exception.what())); - } - }); - } else { - channel.SetMessageHandler(nullptr); - } - } - { - BasicMessageChannel<> channel( - binary_messenger, - "dev.flutter.pigeon.firebase_auth_platform_interface." - "FirebaseAuthUserHostApi.linkWithCredential" + - prepended_suffix, - &GetCodec()); - if (api != nullptr) { - channel.SetMessageHandler( - [api](const EncodableValue& message, - const ::flutter::MessageReply& reply) { - try { - const auto& args = std::get(message); - const auto& encodable_app_arg = args.at(0); - if (encodable_app_arg.IsNull()) { - reply(WrapError("app_arg unexpectedly null.")); - return; - } - const auto& app_arg = std::any_cast( - std::get(encodable_app_arg)); - const auto& encodable_input_arg = args.at(1); - if (encodable_input_arg.IsNull()) { - reply(WrapError("input_arg unexpectedly null.")); - return; - } - const auto& input_arg = - std::get(encodable_input_arg); - api->LinkWithCredential( - app_arg, input_arg, - [reply](ErrorOr&& output) { - if (output.has_error()) { - reply(WrapError(output.error())); - return; - } - EncodableList wrapped; - wrapped.push_back( - CustomEncodableValue(std::move(output).TakeValue())); - reply(EncodableValue(std::move(wrapped))); - }); - } catch (const std::exception& exception) { - reply(WrapError(exception.what())); - } - }); - } else { - channel.SetMessageHandler(nullptr); - } - } - { - BasicMessageChannel<> channel( - binary_messenger, - "dev.flutter.pigeon.firebase_auth_platform_interface." - "FirebaseAuthUserHostApi.linkWithProvider" + - prepended_suffix, - &GetCodec()); - if (api != nullptr) { - channel.SetMessageHandler( - [api](const EncodableValue& message, - const ::flutter::MessageReply& reply) { - try { - const auto& args = std::get(message); - const auto& encodable_app_arg = args.at(0); - if (encodable_app_arg.IsNull()) { - reply(WrapError("app_arg unexpectedly null.")); - return; - } - const auto& app_arg = std::any_cast( - std::get(encodable_app_arg)); - const auto& encodable_sign_in_provider_arg = args.at(1); - if (encodable_sign_in_provider_arg.IsNull()) { - reply(WrapError("sign_in_provider_arg unexpectedly null.")); - return; - } - const auto& sign_in_provider_arg = - std::any_cast( - std::get( - encodable_sign_in_provider_arg)); - api->LinkWithProvider( - app_arg, sign_in_provider_arg, - [reply](ErrorOr&& output) { - if (output.has_error()) { - reply(WrapError(output.error())); - return; - } - EncodableList wrapped; - wrapped.push_back( - CustomEncodableValue(std::move(output).TakeValue())); - reply(EncodableValue(std::move(wrapped))); - }); - } catch (const std::exception& exception) { - reply(WrapError(exception.what())); - } - }); - } else { - channel.SetMessageHandler(nullptr); - } - } - { - BasicMessageChannel<> channel( - binary_messenger, - "dev.flutter.pigeon.firebase_auth_platform_interface." - "FirebaseAuthUserHostApi.reauthenticateWithCredential" + - prepended_suffix, - &GetCodec()); - if (api != nullptr) { - channel.SetMessageHandler( - [api](const EncodableValue& message, - const ::flutter::MessageReply& reply) { - try { - const auto& args = std::get(message); - const auto& encodable_app_arg = args.at(0); - if (encodable_app_arg.IsNull()) { - reply(WrapError("app_arg unexpectedly null.")); - return; - } - const auto& app_arg = std::any_cast( - std::get(encodable_app_arg)); - const auto& encodable_input_arg = args.at(1); - if (encodable_input_arg.IsNull()) { - reply(WrapError("input_arg unexpectedly null.")); - return; - } - const auto& input_arg = - std::get(encodable_input_arg); - api->ReauthenticateWithCredential( - app_arg, input_arg, - [reply](ErrorOr&& output) { - if (output.has_error()) { - reply(WrapError(output.error())); - return; - } - EncodableList wrapped; - wrapped.push_back( - CustomEncodableValue(std::move(output).TakeValue())); - reply(EncodableValue(std::move(wrapped))); - }); - } catch (const std::exception& exception) { - reply(WrapError(exception.what())); - } - }); - } else { - channel.SetMessageHandler(nullptr); - } - } - { - BasicMessageChannel<> channel( - binary_messenger, - "dev.flutter.pigeon.firebase_auth_platform_interface." - "FirebaseAuthUserHostApi.reauthenticateWithProvider" + - prepended_suffix, - &GetCodec()); - if (api != nullptr) { - channel.SetMessageHandler( - [api](const EncodableValue& message, - const ::flutter::MessageReply& reply) { - try { - const auto& args = std::get(message); - const auto& encodable_app_arg = args.at(0); - if (encodable_app_arg.IsNull()) { - reply(WrapError("app_arg unexpectedly null.")); - return; - } - const auto& app_arg = std::any_cast( - std::get(encodable_app_arg)); - const auto& encodable_sign_in_provider_arg = args.at(1); - if (encodable_sign_in_provider_arg.IsNull()) { - reply(WrapError("sign_in_provider_arg unexpectedly null.")); - return; - } - const auto& sign_in_provider_arg = - std::any_cast( - std::get( - encodable_sign_in_provider_arg)); - api->ReauthenticateWithProvider( - app_arg, sign_in_provider_arg, - [reply](ErrorOr&& output) { - if (output.has_error()) { - reply(WrapError(output.error())); - return; - } - EncodableList wrapped; - wrapped.push_back( - CustomEncodableValue(std::move(output).TakeValue())); - reply(EncodableValue(std::move(wrapped))); - }); - } catch (const std::exception& exception) { - reply(WrapError(exception.what())); - } - }); - } else { - channel.SetMessageHandler(nullptr); - } - } - { - BasicMessageChannel<> channel(binary_messenger, - "dev.flutter.pigeon.firebase_auth_platform_" - "interface.FirebaseAuthUserHostApi.reload" + - prepended_suffix, - &GetCodec()); - if (api != nullptr) { - channel.SetMessageHandler( - [api](const EncodableValue& message, - const ::flutter::MessageReply& reply) { - try { - const auto& args = std::get(message); - const auto& encodable_app_arg = args.at(0); - if (encodable_app_arg.IsNull()) { - reply(WrapError("app_arg unexpectedly null.")); - return; - } - const auto& app_arg = std::any_cast( - std::get(encodable_app_arg)); - api->Reload( - app_arg, [reply](ErrorOr&& output) { - if (output.has_error()) { - reply(WrapError(output.error())); - return; - } - EncodableList wrapped; - wrapped.push_back( - CustomEncodableValue(std::move(output).TakeValue())); - reply(EncodableValue(std::move(wrapped))); - }); - } catch (const std::exception& exception) { - reply(WrapError(exception.what())); - } - }); - } else { - channel.SetMessageHandler(nullptr); - } - } - { - BasicMessageChannel<> channel( - binary_messenger, - "dev.flutter.pigeon.firebase_auth_platform_interface." - "FirebaseAuthUserHostApi.sendEmailVerification" + - prepended_suffix, - &GetCodec()); - if (api != nullptr) { - channel.SetMessageHandler( - [api](const EncodableValue& message, - const ::flutter::MessageReply& reply) { - try { - const auto& args = std::get(message); - const auto& encodable_app_arg = args.at(0); - if (encodable_app_arg.IsNull()) { - reply(WrapError("app_arg unexpectedly null.")); - return; - } - const auto& app_arg = std::any_cast( - std::get(encodable_app_arg)); - const auto& encodable_action_code_settings_arg = args.at(1); - const auto* action_code_settings_arg = - encodable_action_code_settings_arg.IsNull() - ? nullptr - : &(std::any_cast( - std::get( - encodable_action_code_settings_arg))); - api->SendEmailVerification( - app_arg, action_code_settings_arg, - [reply](std::optional&& output) { - if (output.has_value()) { - reply(WrapError(output.value())); - return; - } - EncodableList wrapped; - wrapped.push_back(EncodableValue()); - reply(EncodableValue(std::move(wrapped))); - }); - } catch (const std::exception& exception) { - reply(WrapError(exception.what())); - } - }); - } else { - channel.SetMessageHandler(nullptr); - } - } - { - BasicMessageChannel<> channel(binary_messenger, - "dev.flutter.pigeon.firebase_auth_platform_" - "interface.FirebaseAuthUserHostApi.unlink" + - prepended_suffix, - &GetCodec()); - if (api != nullptr) { - channel.SetMessageHandler( - [api](const EncodableValue& message, - const ::flutter::MessageReply& reply) { - try { - const auto& args = std::get(message); - const auto& encodable_app_arg = args.at(0); - if (encodable_app_arg.IsNull()) { - reply(WrapError("app_arg unexpectedly null.")); - return; - } - const auto& app_arg = std::any_cast( - std::get(encodable_app_arg)); - const auto& encodable_provider_id_arg = args.at(1); - if (encodable_provider_id_arg.IsNull()) { - reply(WrapError("provider_id_arg unexpectedly null.")); - return; - } - const auto& provider_id_arg = - std::get(encodable_provider_id_arg); - api->Unlink(app_arg, provider_id_arg, - [reply](ErrorOr&& output) { - if (output.has_error()) { - reply(WrapError(output.error())); - return; - } - EncodableList wrapped; - wrapped.push_back(CustomEncodableValue( - std::move(output).TakeValue())); - reply(EncodableValue(std::move(wrapped))); - }); - } catch (const std::exception& exception) { - reply(WrapError(exception.what())); - } - }); - } else { - channel.SetMessageHandler(nullptr); - } - } - { - BasicMessageChannel<> channel( - binary_messenger, - "dev.flutter.pigeon.firebase_auth_platform_interface." - "FirebaseAuthUserHostApi.updateEmail" + - prepended_suffix, - &GetCodec()); - if (api != nullptr) { - channel.SetMessageHandler( - [api](const EncodableValue& message, - const ::flutter::MessageReply& reply) { - try { - const auto& args = std::get(message); - const auto& encodable_app_arg = args.at(0); - if (encodable_app_arg.IsNull()) { - reply(WrapError("app_arg unexpectedly null.")); - return; - } - const auto& app_arg = std::any_cast( - std::get(encodable_app_arg)); - const auto& encodable_new_email_arg = args.at(1); - if (encodable_new_email_arg.IsNull()) { - reply(WrapError("new_email_arg unexpectedly null.")); - return; - } - const auto& new_email_arg = - std::get(encodable_new_email_arg); - api->UpdateEmail(app_arg, new_email_arg, - [reply](ErrorOr&& output) { - if (output.has_error()) { - reply(WrapError(output.error())); - return; - } - EncodableList wrapped; - wrapped.push_back(CustomEncodableValue( - std::move(output).TakeValue())); - reply(EncodableValue(std::move(wrapped))); - }); - } catch (const std::exception& exception) { - reply(WrapError(exception.what())); - } - }); - } else { - channel.SetMessageHandler(nullptr); - } - } - { - BasicMessageChannel<> channel( - binary_messenger, - "dev.flutter.pigeon.firebase_auth_platform_interface." - "FirebaseAuthUserHostApi.updatePassword" + - prepended_suffix, - &GetCodec()); - if (api != nullptr) { - channel.SetMessageHandler( - [api](const EncodableValue& message, - const ::flutter::MessageReply& reply) { - try { - const auto& args = std::get(message); - const auto& encodable_app_arg = args.at(0); - if (encodable_app_arg.IsNull()) { - reply(WrapError("app_arg unexpectedly null.")); - return; - } - const auto& app_arg = std::any_cast( - std::get(encodable_app_arg)); - const auto& encodable_new_password_arg = args.at(1); - if (encodable_new_password_arg.IsNull()) { - reply(WrapError("new_password_arg unexpectedly null.")); - return; - } - const auto& new_password_arg = - std::get(encodable_new_password_arg); - api->UpdatePassword( - app_arg, new_password_arg, - [reply](ErrorOr&& output) { - if (output.has_error()) { - reply(WrapError(output.error())); - return; - } - EncodableList wrapped; - wrapped.push_back( - CustomEncodableValue(std::move(output).TakeValue())); - reply(EncodableValue(std::move(wrapped))); - }); - } catch (const std::exception& exception) { - reply(WrapError(exception.what())); - } - }); - } else { - channel.SetMessageHandler(nullptr); - } - } - { - BasicMessageChannel<> channel( - binary_messenger, - "dev.flutter.pigeon.firebase_auth_platform_interface." - "FirebaseAuthUserHostApi.updatePhoneNumber" + - prepended_suffix, - &GetCodec()); - if (api != nullptr) { - channel.SetMessageHandler( - [api](const EncodableValue& message, - const ::flutter::MessageReply& reply) { - try { - const auto& args = std::get(message); - const auto& encodable_app_arg = args.at(0); - if (encodable_app_arg.IsNull()) { - reply(WrapError("app_arg unexpectedly null.")); - return; - } - const auto& app_arg = std::any_cast( - std::get(encodable_app_arg)); - const auto& encodable_input_arg = args.at(1); - if (encodable_input_arg.IsNull()) { - reply(WrapError("input_arg unexpectedly null.")); - return; - } - const auto& input_arg = - std::get(encodable_input_arg); - api->UpdatePhoneNumber( - app_arg, input_arg, - [reply](ErrorOr&& output) { - if (output.has_error()) { - reply(WrapError(output.error())); - return; - } - EncodableList wrapped; - wrapped.push_back( - CustomEncodableValue(std::move(output).TakeValue())); - reply(EncodableValue(std::move(wrapped))); - }); - } catch (const std::exception& exception) { - reply(WrapError(exception.what())); - } - }); - } else { - channel.SetMessageHandler(nullptr); - } - } - { - BasicMessageChannel<> channel( - binary_messenger, - "dev.flutter.pigeon.firebase_auth_platform_interface." - "FirebaseAuthUserHostApi.updateProfile" + - prepended_suffix, - &GetCodec()); - if (api != nullptr) { - channel.SetMessageHandler( - [api](const EncodableValue& message, - const ::flutter::MessageReply& reply) { - try { - const auto& args = std::get(message); - const auto& encodable_app_arg = args.at(0); - if (encodable_app_arg.IsNull()) { - reply(WrapError("app_arg unexpectedly null.")); - return; - } - const auto& app_arg = std::any_cast( - std::get(encodable_app_arg)); - const auto& encodable_profile_arg = args.at(1); - if (encodable_profile_arg.IsNull()) { - reply(WrapError("profile_arg unexpectedly null.")); - return; - } - const auto& profile_arg = - std::any_cast( - std::get(encodable_profile_arg)); - api->UpdateProfile( - app_arg, profile_arg, - [reply](ErrorOr&& output) { - if (output.has_error()) { - reply(WrapError(output.error())); - return; - } - EncodableList wrapped; - wrapped.push_back( - CustomEncodableValue(std::move(output).TakeValue())); - reply(EncodableValue(std::move(wrapped))); - }); - } catch (const std::exception& exception) { - reply(WrapError(exception.what())); - } - }); - } else { - channel.SetMessageHandler(nullptr); - } - } - { - BasicMessageChannel<> channel( - binary_messenger, - "dev.flutter.pigeon.firebase_auth_platform_interface." - "FirebaseAuthUserHostApi.verifyBeforeUpdateEmail" + - prepended_suffix, - &GetCodec()); - if (api != nullptr) { - channel.SetMessageHandler( - [api](const EncodableValue& message, - const ::flutter::MessageReply& reply) { - try { - const auto& args = std::get(message); - const auto& encodable_app_arg = args.at(0); - if (encodable_app_arg.IsNull()) { - reply(WrapError("app_arg unexpectedly null.")); - return; - } - const auto& app_arg = std::any_cast( - std::get(encodable_app_arg)); - const auto& encodable_new_email_arg = args.at(1); - if (encodable_new_email_arg.IsNull()) { - reply(WrapError("new_email_arg unexpectedly null.")); - return; - } - const auto& new_email_arg = - std::get(encodable_new_email_arg); - const auto& encodable_action_code_settings_arg = args.at(2); - const auto* action_code_settings_arg = - encodable_action_code_settings_arg.IsNull() - ? nullptr - : &(std::any_cast( - std::get( - encodable_action_code_settings_arg))); - api->VerifyBeforeUpdateEmail( - app_arg, new_email_arg, action_code_settings_arg, - [reply](std::optional&& output) { - if (output.has_value()) { - reply(WrapError(output.value())); - return; - } - EncodableList wrapped; - wrapped.push_back(EncodableValue()); - reply(EncodableValue(std::move(wrapped))); - }); - } catch (const std::exception& exception) { - reply(WrapError(exception.what())); - } - }); - } else { - channel.SetMessageHandler(nullptr); - } - } -} - -EncodableValue FirebaseAuthUserHostApi::WrapError( - std::string_view error_message) { - return EncodableValue( - EncodableList{EncodableValue(std::string(error_message)), - EncodableValue("Error"), EncodableValue()}); -} - -EncodableValue FirebaseAuthUserHostApi::WrapError(const FlutterError& error) { - return EncodableValue(EncodableList{EncodableValue(error.code()), - EncodableValue(error.message()), - error.details()}); -} - -/// The codec used by MultiFactorUserHostApi. -const ::flutter::StandardMessageCodec& MultiFactorUserHostApi::GetCodec() { - return ::flutter::StandardMessageCodec::GetInstance( - &PigeonInternalCodecSerializer::GetInstance()); -} - -// Sets up an instance of `MultiFactorUserHostApi` to handle messages through -// the `binary_messenger`. -void MultiFactorUserHostApi::SetUp(::flutter::BinaryMessenger* binary_messenger, - MultiFactorUserHostApi* api) { - MultiFactorUserHostApi::SetUp(binary_messenger, api, ""); -} - -void MultiFactorUserHostApi::SetUp(::flutter::BinaryMessenger* binary_messenger, - MultiFactorUserHostApi* api, - const std::string& message_channel_suffix) { - const std::string prepended_suffix = - message_channel_suffix.length() > 0 - ? std::string(".") + message_channel_suffix - : ""; - { - BasicMessageChannel<> channel( - binary_messenger, - "dev.flutter.pigeon.firebase_auth_platform_interface." - "MultiFactorUserHostApi.enrollPhone" + - prepended_suffix, - &GetCodec()); - if (api != nullptr) { - channel.SetMessageHandler( - [api](const EncodableValue& message, - const ::flutter::MessageReply& reply) { - try { - const auto& args = std::get(message); - const auto& encodable_app_arg = args.at(0); - if (encodable_app_arg.IsNull()) { - reply(WrapError("app_arg unexpectedly null.")); - return; - } - const auto& app_arg = std::any_cast( - std::get(encodable_app_arg)); - const auto& encodable_assertion_arg = args.at(1); - if (encodable_assertion_arg.IsNull()) { - reply(WrapError("assertion_arg unexpectedly null.")); - return; - } - const auto& assertion_arg = - std::any_cast( - std::get(encodable_assertion_arg)); - const auto& encodable_display_name_arg = args.at(2); - const auto* display_name_arg = - std::get_if(&encodable_display_name_arg); - api->EnrollPhone(app_arg, assertion_arg, display_name_arg, - [reply](std::optional&& output) { - if (output.has_value()) { - reply(WrapError(output.value())); - return; - } - EncodableList wrapped; - wrapped.push_back(EncodableValue()); - reply(EncodableValue(std::move(wrapped))); - }); - } catch (const std::exception& exception) { - reply(WrapError(exception.what())); - } - }); - } else { - channel.SetMessageHandler(nullptr); - } - } - { - BasicMessageChannel<> channel( - binary_messenger, - "dev.flutter.pigeon.firebase_auth_platform_interface." - "MultiFactorUserHostApi.enrollTotp" + - prepended_suffix, - &GetCodec()); - if (api != nullptr) { - channel.SetMessageHandler( - [api](const EncodableValue& message, - const ::flutter::MessageReply& reply) { - try { - const auto& args = std::get(message); - const auto& encodable_app_arg = args.at(0); - if (encodable_app_arg.IsNull()) { - reply(WrapError("app_arg unexpectedly null.")); - return; - } - const auto& app_arg = std::any_cast( - std::get(encodable_app_arg)); - const auto& encodable_assertion_id_arg = args.at(1); - if (encodable_assertion_id_arg.IsNull()) { - reply(WrapError("assertion_id_arg unexpectedly null.")); - return; - } - const auto& assertion_id_arg = - std::get(encodable_assertion_id_arg); - const auto& encodable_display_name_arg = args.at(2); - const auto* display_name_arg = - std::get_if(&encodable_display_name_arg); - api->EnrollTotp(app_arg, assertion_id_arg, display_name_arg, - [reply](std::optional&& output) { - if (output.has_value()) { - reply(WrapError(output.value())); - return; - } - EncodableList wrapped; - wrapped.push_back(EncodableValue()); - reply(EncodableValue(std::move(wrapped))); - }); - } catch (const std::exception& exception) { - reply(WrapError(exception.what())); - } - }); - } else { - channel.SetMessageHandler(nullptr); - } - } - { - BasicMessageChannel<> channel( - binary_messenger, - "dev.flutter.pigeon.firebase_auth_platform_interface." - "MultiFactorUserHostApi.getSession" + - prepended_suffix, - &GetCodec()); - if (api != nullptr) { - channel.SetMessageHandler( - [api](const EncodableValue& message, - const ::flutter::MessageReply& reply) { - try { - const auto& args = std::get(message); - const auto& encodable_app_arg = args.at(0); - if (encodable_app_arg.IsNull()) { - reply(WrapError("app_arg unexpectedly null.")); - return; - } - const auto& app_arg = std::any_cast( - std::get(encodable_app_arg)); - api->GetSession( - app_arg, - [reply](ErrorOr&& output) { - if (output.has_error()) { - reply(WrapError(output.error())); - return; - } - EncodableList wrapped; - wrapped.push_back( - CustomEncodableValue(std::move(output).TakeValue())); - reply(EncodableValue(std::move(wrapped))); - }); - } catch (const std::exception& exception) { - reply(WrapError(exception.what())); - } - }); - } else { - channel.SetMessageHandler(nullptr); - } - } - { - BasicMessageChannel<> channel(binary_messenger, - "dev.flutter.pigeon.firebase_auth_platform_" - "interface.MultiFactorUserHostApi.unenroll" + - prepended_suffix, - &GetCodec()); - if (api != nullptr) { - channel.SetMessageHandler( - [api](const EncodableValue& message, - const ::flutter::MessageReply& reply) { - try { - const auto& args = std::get(message); - const auto& encodable_app_arg = args.at(0); - if (encodable_app_arg.IsNull()) { - reply(WrapError("app_arg unexpectedly null.")); - return; - } - const auto& app_arg = std::any_cast( - std::get(encodable_app_arg)); - const auto& encodable_factor_uid_arg = args.at(1); - if (encodable_factor_uid_arg.IsNull()) { - reply(WrapError("factor_uid_arg unexpectedly null.")); - return; - } - const auto& factor_uid_arg = - std::get(encodable_factor_uid_arg); - api->Unenroll(app_arg, factor_uid_arg, - [reply](std::optional&& output) { - if (output.has_value()) { - reply(WrapError(output.value())); - return; - } - EncodableList wrapped; - wrapped.push_back(EncodableValue()); - reply(EncodableValue(std::move(wrapped))); - }); - } catch (const std::exception& exception) { - reply(WrapError(exception.what())); - } - }); - } else { - channel.SetMessageHandler(nullptr); - } - } - { - BasicMessageChannel<> channel( - binary_messenger, - "dev.flutter.pigeon.firebase_auth_platform_interface." - "MultiFactorUserHostApi.getEnrolledFactors" + - prepended_suffix, - &GetCodec()); - if (api != nullptr) { - channel.SetMessageHandler( - [api](const EncodableValue& message, - const ::flutter::MessageReply& reply) { - try { - const auto& args = std::get(message); - const auto& encodable_app_arg = args.at(0); - if (encodable_app_arg.IsNull()) { - reply(WrapError("app_arg unexpectedly null.")); - return; - } - const auto& app_arg = std::any_cast( - std::get(encodable_app_arg)); - api->GetEnrolledFactors( - app_arg, [reply](ErrorOr&& output) { - if (output.has_error()) { - reply(WrapError(output.error())); - return; - } - EncodableList wrapped; - wrapped.push_back( - EncodableValue(std::move(output).TakeValue())); - reply(EncodableValue(std::move(wrapped))); - }); - } catch (const std::exception& exception) { - reply(WrapError(exception.what())); - } - }); - } else { - channel.SetMessageHandler(nullptr); - } - } -} - -EncodableValue MultiFactorUserHostApi::WrapError( - std::string_view error_message) { - return EncodableValue( - EncodableList{EncodableValue(std::string(error_message)), - EncodableValue("Error"), EncodableValue()}); -} - -EncodableValue MultiFactorUserHostApi::WrapError(const FlutterError& error) { - return EncodableValue(EncodableList{EncodableValue(error.code()), - EncodableValue(error.message()), - error.details()}); -} - -/// The codec used by MultiFactoResolverHostApi. -const ::flutter::StandardMessageCodec& MultiFactoResolverHostApi::GetCodec() { - return ::flutter::StandardMessageCodec::GetInstance( - &PigeonInternalCodecSerializer::GetInstance()); -} - -// Sets up an instance of `MultiFactoResolverHostApi` to handle messages through -// the `binary_messenger`. -void MultiFactoResolverHostApi::SetUp( - ::flutter::BinaryMessenger* binary_messenger, - MultiFactoResolverHostApi* api) { - MultiFactoResolverHostApi::SetUp(binary_messenger, api, ""); -} - -void MultiFactoResolverHostApi::SetUp( - ::flutter::BinaryMessenger* binary_messenger, - MultiFactoResolverHostApi* api, const std::string& message_channel_suffix) { - const std::string prepended_suffix = - message_channel_suffix.length() > 0 - ? std::string(".") + message_channel_suffix - : ""; - { - BasicMessageChannel<> channel( - binary_messenger, - "dev.flutter.pigeon.firebase_auth_platform_interface." - "MultiFactoResolverHostApi.resolveSignIn" + - prepended_suffix, - &GetCodec()); - if (api != nullptr) { - channel.SetMessageHandler([api](const EncodableValue& message, - const ::flutter::MessageReply< - EncodableValue>& reply) { - try { - const auto& args = std::get(message); - const auto& encodable_resolver_id_arg = args.at(0); - if (encodable_resolver_id_arg.IsNull()) { - reply(WrapError("resolver_id_arg unexpectedly null.")); - return; - } - const auto& resolver_id_arg = - std::get(encodable_resolver_id_arg); - const auto& encodable_assertion_arg = args.at(1); - const auto* assertion_arg = - encodable_assertion_arg.IsNull() - ? nullptr - : &(std::any_cast( - std::get( - encodable_assertion_arg))); - const auto& encodable_totp_assertion_id_arg = args.at(2); - const auto* totp_assertion_id_arg = - std::get_if(&encodable_totp_assertion_id_arg); - api->ResolveSignIn( - resolver_id_arg, assertion_arg, totp_assertion_id_arg, - [reply](ErrorOr&& output) { - if (output.has_error()) { - reply(WrapError(output.error())); - return; - } - EncodableList wrapped; - wrapped.push_back( - CustomEncodableValue(std::move(output).TakeValue())); - reply(EncodableValue(std::move(wrapped))); - }); - } catch (const std::exception& exception) { - reply(WrapError(exception.what())); - } - }); - } else { - channel.SetMessageHandler(nullptr); - } - } -} - -EncodableValue MultiFactoResolverHostApi::WrapError( - std::string_view error_message) { - return EncodableValue( - EncodableList{EncodableValue(std::string(error_message)), - EncodableValue("Error"), EncodableValue()}); -} - -EncodableValue MultiFactoResolverHostApi::WrapError(const FlutterError& error) { - return EncodableValue(EncodableList{EncodableValue(error.code()), - EncodableValue(error.message()), - error.details()}); -} - -/// The codec used by MultiFactorTotpHostApi. -const ::flutter::StandardMessageCodec& MultiFactorTotpHostApi::GetCodec() { - return ::flutter::StandardMessageCodec::GetInstance( - &PigeonInternalCodecSerializer::GetInstance()); -} - -// Sets up an instance of `MultiFactorTotpHostApi` to handle messages through -// the `binary_messenger`. -void MultiFactorTotpHostApi::SetUp(::flutter::BinaryMessenger* binary_messenger, - MultiFactorTotpHostApi* api) { - MultiFactorTotpHostApi::SetUp(binary_messenger, api, ""); -} - -void MultiFactorTotpHostApi::SetUp(::flutter::BinaryMessenger* binary_messenger, - MultiFactorTotpHostApi* api, - const std::string& message_channel_suffix) { - const std::string prepended_suffix = - message_channel_suffix.length() > 0 - ? std::string(".") + message_channel_suffix - : ""; - { - BasicMessageChannel<> channel( - binary_messenger, - "dev.flutter.pigeon.firebase_auth_platform_interface." - "MultiFactorTotpHostApi.generateSecret" + - prepended_suffix, - &GetCodec()); - if (api != nullptr) { - channel.SetMessageHandler( - [api](const EncodableValue& message, - const ::flutter::MessageReply& reply) { - try { - const auto& args = std::get(message); - const auto& encodable_session_id_arg = args.at(0); - if (encodable_session_id_arg.IsNull()) { - reply(WrapError("session_id_arg unexpectedly null.")); - return; - } - const auto& session_id_arg = - std::get(encodable_session_id_arg); - api->GenerateSecret( - session_id_arg, - [reply](ErrorOr&& output) { - if (output.has_error()) { - reply(WrapError(output.error())); - return; - } - EncodableList wrapped; - wrapped.push_back( - CustomEncodableValue(std::move(output).TakeValue())); - reply(EncodableValue(std::move(wrapped))); - }); - } catch (const std::exception& exception) { - reply(WrapError(exception.what())); - } - }); - } else { - channel.SetMessageHandler(nullptr); - } - } - { - BasicMessageChannel<> channel( - binary_messenger, - "dev.flutter.pigeon.firebase_auth_platform_interface." - "MultiFactorTotpHostApi.getAssertionForEnrollment" + - prepended_suffix, - &GetCodec()); - if (api != nullptr) { - channel.SetMessageHandler( - [api](const EncodableValue& message, - const ::flutter::MessageReply& reply) { - try { - const auto& args = std::get(message); - const auto& encodable_secret_key_arg = args.at(0); - if (encodable_secret_key_arg.IsNull()) { - reply(WrapError("secret_key_arg unexpectedly null.")); - return; - } - const auto& secret_key_arg = - std::get(encodable_secret_key_arg); - const auto& encodable_one_time_password_arg = args.at(1); - if (encodable_one_time_password_arg.IsNull()) { - reply(WrapError("one_time_password_arg unexpectedly null.")); - return; - } - const auto& one_time_password_arg = - std::get(encodable_one_time_password_arg); - api->GetAssertionForEnrollment( - secret_key_arg, one_time_password_arg, - [reply](ErrorOr&& output) { - if (output.has_error()) { - reply(WrapError(output.error())); - return; - } - EncodableList wrapped; - wrapped.push_back( - EncodableValue(std::move(output).TakeValue())); - reply(EncodableValue(std::move(wrapped))); - }); - } catch (const std::exception& exception) { - reply(WrapError(exception.what())); - } - }); - } else { - channel.SetMessageHandler(nullptr); - } - } - { - BasicMessageChannel<> channel( - binary_messenger, - "dev.flutter.pigeon.firebase_auth_platform_interface." - "MultiFactorTotpHostApi.getAssertionForSignIn" + - prepended_suffix, - &GetCodec()); - if (api != nullptr) { - channel.SetMessageHandler( - [api](const EncodableValue& message, - const ::flutter::MessageReply& reply) { - try { - const auto& args = std::get(message); - const auto& encodable_enrollment_id_arg = args.at(0); - if (encodable_enrollment_id_arg.IsNull()) { - reply(WrapError("enrollment_id_arg unexpectedly null.")); - return; - } - const auto& enrollment_id_arg = - std::get(encodable_enrollment_id_arg); - const auto& encodable_one_time_password_arg = args.at(1); - if (encodable_one_time_password_arg.IsNull()) { - reply(WrapError("one_time_password_arg unexpectedly null.")); - return; - } - const auto& one_time_password_arg = - std::get(encodable_one_time_password_arg); - api->GetAssertionForSignIn( - enrollment_id_arg, one_time_password_arg, - [reply](ErrorOr&& output) { - if (output.has_error()) { - reply(WrapError(output.error())); - return; - } - EncodableList wrapped; - wrapped.push_back( - EncodableValue(std::move(output).TakeValue())); - reply(EncodableValue(std::move(wrapped))); - }); - } catch (const std::exception& exception) { - reply(WrapError(exception.what())); - } - }); - } else { - channel.SetMessageHandler(nullptr); - } - } -} - -EncodableValue MultiFactorTotpHostApi::WrapError( - std::string_view error_message) { - return EncodableValue( - EncodableList{EncodableValue(std::string(error_message)), - EncodableValue("Error"), EncodableValue()}); -} - -EncodableValue MultiFactorTotpHostApi::WrapError(const FlutterError& error) { - return EncodableValue(EncodableList{EncodableValue(error.code()), - EncodableValue(error.message()), - error.details()}); -} - -/// The codec used by MultiFactorTotpSecretHostApi. -const ::flutter::StandardMessageCodec& -MultiFactorTotpSecretHostApi::GetCodec() { - return ::flutter::StandardMessageCodec::GetInstance( - &PigeonInternalCodecSerializer::GetInstance()); -} - -// Sets up an instance of `MultiFactorTotpSecretHostApi` to handle messages -// through the `binary_messenger`. -void MultiFactorTotpSecretHostApi::SetUp( - ::flutter::BinaryMessenger* binary_messenger, - MultiFactorTotpSecretHostApi* api) { - MultiFactorTotpSecretHostApi::SetUp(binary_messenger, api, ""); -} - -void MultiFactorTotpSecretHostApi::SetUp( - ::flutter::BinaryMessenger* binary_messenger, - MultiFactorTotpSecretHostApi* api, - const std::string& message_channel_suffix) { - const std::string prepended_suffix = - message_channel_suffix.length() > 0 - ? std::string(".") + message_channel_suffix - : ""; - { - BasicMessageChannel<> channel( - binary_messenger, - "dev.flutter.pigeon.firebase_auth_platform_interface." - "MultiFactorTotpSecretHostApi.generateQrCodeUrl" + - prepended_suffix, - &GetCodec()); - if (api != nullptr) { - channel.SetMessageHandler( - [api](const EncodableValue& message, - const ::flutter::MessageReply& reply) { - try { - const auto& args = std::get(message); - const auto& encodable_secret_key_arg = args.at(0); - if (encodable_secret_key_arg.IsNull()) { - reply(WrapError("secret_key_arg unexpectedly null.")); - return; - } - const auto& secret_key_arg = - std::get(encodable_secret_key_arg); - const auto& encodable_account_name_arg = args.at(1); - const auto* account_name_arg = - std::get_if(&encodable_account_name_arg); - const auto& encodable_issuer_arg = args.at(2); - const auto* issuer_arg = - std::get_if(&encodable_issuer_arg); - api->GenerateQrCodeUrl( - secret_key_arg, account_name_arg, issuer_arg, - [reply](ErrorOr&& output) { - if (output.has_error()) { - reply(WrapError(output.error())); - return; - } - EncodableList wrapped; - wrapped.push_back( - EncodableValue(std::move(output).TakeValue())); - reply(EncodableValue(std::move(wrapped))); - }); - } catch (const std::exception& exception) { - reply(WrapError(exception.what())); - } - }); - } else { - channel.SetMessageHandler(nullptr); - } - } - { - BasicMessageChannel<> channel( - binary_messenger, - "dev.flutter.pigeon.firebase_auth_platform_interface." - "MultiFactorTotpSecretHostApi.openInOtpApp" + - prepended_suffix, - &GetCodec()); - if (api != nullptr) { - channel.SetMessageHandler( - [api](const EncodableValue& message, - const ::flutter::MessageReply& reply) { - try { - const auto& args = std::get(message); - const auto& encodable_secret_key_arg = args.at(0); - if (encodable_secret_key_arg.IsNull()) { - reply(WrapError("secret_key_arg unexpectedly null.")); - return; - } - const auto& secret_key_arg = - std::get(encodable_secret_key_arg); - const auto& encodable_qr_code_url_arg = args.at(1); - if (encodable_qr_code_url_arg.IsNull()) { - reply(WrapError("qr_code_url_arg unexpectedly null.")); - return; - } - const auto& qr_code_url_arg = - std::get(encodable_qr_code_url_arg); - api->OpenInOtpApp(secret_key_arg, qr_code_url_arg, - [reply](std::optional&& output) { - if (output.has_value()) { - reply(WrapError(output.value())); - return; - } - EncodableList wrapped; - wrapped.push_back(EncodableValue()); - reply(EncodableValue(std::move(wrapped))); - }); - } catch (const std::exception& exception) { - reply(WrapError(exception.what())); - } - }); - } else { - channel.SetMessageHandler(nullptr); - } - } -} - -EncodableValue MultiFactorTotpSecretHostApi::WrapError( - std::string_view error_message) { - return EncodableValue( - EncodableList{EncodableValue(std::string(error_message)), - EncodableValue("Error"), EncodableValue()}); -} - -EncodableValue MultiFactorTotpSecretHostApi::WrapError( - const FlutterError& error) { - return EncodableValue(EncodableList{EncodableValue(error.code()), - EncodableValue(error.message()), - error.details()}); -} - -/// The codec used by GenerateInterfaces. -const ::flutter::StandardMessageCodec& GenerateInterfaces::GetCodec() { - return ::flutter::StandardMessageCodec::GetInstance( - &PigeonInternalCodecSerializer::GetInstance()); -} - -// Sets up an instance of `GenerateInterfaces` to handle messages through the -// `binary_messenger`. -void GenerateInterfaces::SetUp(::flutter::BinaryMessenger* binary_messenger, - GenerateInterfaces* api) { - GenerateInterfaces::SetUp(binary_messenger, api, ""); -} - -void GenerateInterfaces::SetUp(::flutter::BinaryMessenger* binary_messenger, - GenerateInterfaces* api, - const std::string& message_channel_suffix) { - const std::string prepended_suffix = - message_channel_suffix.length() > 0 - ? std::string(".") + message_channel_suffix - : ""; - { - BasicMessageChannel<> channel( - binary_messenger, - "dev.flutter.pigeon.firebase_auth_platform_interface." - "GenerateInterfaces.pigeonInterface" + - prepended_suffix, - &GetCodec()); - if (api != nullptr) { - channel.SetMessageHandler( - [api](const EncodableValue& message, - const ::flutter::MessageReply& reply) { - try { - const auto& args = std::get(message); - const auto& encodable_info_arg = args.at(0); - if (encodable_info_arg.IsNull()) { - reply(WrapError("info_arg unexpectedly null.")); - return; - } - const auto& info_arg = - std::any_cast( - std::get(encodable_info_arg)); - std::optional output = - api->PigeonInterface(info_arg); - if (output.has_value()) { - reply(WrapError(output.value())); - return; - } - EncodableList wrapped; - wrapped.push_back(EncodableValue()); - reply(EncodableValue(std::move(wrapped))); - } catch (const std::exception& exception) { - reply(WrapError(exception.what())); - } - }); - } else { - channel.SetMessageHandler(nullptr); - } - } -} - -EncodableValue GenerateInterfaces::WrapError(std::string_view error_message) { - return EncodableValue( - EncodableList{EncodableValue(std::string(error_message)), - EncodableValue("Error"), EncodableValue()}); -} - -EncodableValue GenerateInterfaces::WrapError(const FlutterError& error) { - return EncodableValue(EncodableList{EncodableValue(error.code()), - EncodableValue(error.message()), - error.details()}); -} - -} // namespace firebase_auth_windows diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/windows/messages.g.h b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/windows/messages.g.h deleted file mode 100644 index e1e1af02..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/windows/messages.g.h +++ /dev/null @@ -1,1531 +0,0 @@ -// Copyright 2023, the Chromium project authors. Please see the AUTHORS file -// for details. All rights reserved. Use of this source code is governed by a -// BSD-style license that can be found in the LICENSE file. -// Autogenerated from Pigeon (v26.3.4), do not edit directly. -// See also: https://pub.dev/packages/pigeon - -#ifndef PIGEON_MESSAGES_G_H_ -#define PIGEON_MESSAGES_G_H_ -#include -#include -#include -#include - -#include -#include -#include - -namespace firebase_auth_windows { - -// Generated class from Pigeon. - -class FlutterError { - public: - explicit FlutterError(const std::string& code) : code_(code) {} - explicit FlutterError(const std::string& code, const std::string& message) - : code_(code), message_(message) {} - explicit FlutterError(const std::string& code, const std::string& message, - const ::flutter::EncodableValue& details) - : code_(code), message_(message), details_(details) {} - - const std::string& code() const { return code_; } - const std::string& message() const { return message_; } - const ::flutter::EncodableValue& details() const { return details_; } - - private: - std::string code_; - std::string message_; - ::flutter::EncodableValue details_; -}; - -template -class ErrorOr { - public: - ErrorOr(const T& rhs) : v_(rhs) {} - ErrorOr(const T&& rhs) : v_(std::move(rhs)) {} - ErrorOr(const FlutterError& rhs) : v_(rhs) {} - ErrorOr(const FlutterError&& rhs) : v_(std::move(rhs)) {} - - bool has_error() const { return std::holds_alternative(v_); } - const T& value() const { return std::get(v_); }; - const FlutterError& error() const { return std::get(v_); }; - - private: - friend class FirebaseAuthHostApi; - friend class FirebaseAuthUserHostApi; - friend class MultiFactorUserHostApi; - friend class MultiFactoResolverHostApi; - friend class MultiFactorTotpHostApi; - friend class MultiFactorTotpSecretHostApi; - friend class GenerateInterfaces; - ErrorOr() = default; - T TakeValue() && { return std::get(std::move(v_)); } - - std::variant v_; -}; - -// The type of operation that generated the action code from calling -// [checkActionCode]. -enum class ActionCodeInfoOperation { - // Unknown operation. - kUnknown = 0, - // Password reset code generated via [sendPasswordResetEmail]. - kPasswordReset = 1, - // Email verification code generated via [User.sendEmailVerification]. - kVerifyEmail = 2, - // Email change revocation code generated via [User.updateEmail]. - kRecoverEmail = 3, - // Email sign in code generated via [sendSignInLinkToEmail]. - kEmailSignIn = 4, - // Verify and change email code generated via [User.verifyBeforeUpdateEmail]. - kVerifyAndChangeEmail = 5, - // Action code for reverting second factor addition. - kRevertSecondFactorAddition = 6 -}; - -// Generated class from Pigeon that represents data sent in messages. -class InternalMultiFactorSession { - public: - // Constructs an object setting all fields. - explicit InternalMultiFactorSession(const std::string& id); - - const std::string& id() const; - void set_id(std::string_view value_arg); - - bool operator==(const InternalMultiFactorSession& other) const; - bool operator!=(const InternalMultiFactorSession& other) const; - /// Returns a hash code value for the object. This method is supported for the - /// benefit of hash tables. - size_t Hash() const; - - private: - static InternalMultiFactorSession FromEncodableList( - const ::flutter::EncodableList& list); - - public: - ::flutter::EncodableList ToEncodableList() const; - - private: - friend class FirebaseAuthHostApi; - friend class FirebaseAuthUserHostApi; - friend class MultiFactorUserHostApi; - friend class MultiFactoResolverHostApi; - friend class MultiFactorTotpHostApi; - friend class MultiFactorTotpSecretHostApi; - friend class GenerateInterfaces; - friend class PigeonInternalCodecSerializer; - std::string id_; -}; - -// Generated class from Pigeon that represents data sent in messages. -class InternalPhoneMultiFactorAssertion { - public: - // Constructs an object setting all fields. - explicit InternalPhoneMultiFactorAssertion( - const std::string& verification_id, const std::string& verification_code); - - const std::string& verification_id() const; - void set_verification_id(std::string_view value_arg); - - const std::string& verification_code() const; - void set_verification_code(std::string_view value_arg); - - bool operator==(const InternalPhoneMultiFactorAssertion& other) const; - bool operator!=(const InternalPhoneMultiFactorAssertion& other) const; - /// Returns a hash code value for the object. This method is supported for the - /// benefit of hash tables. - size_t Hash() const; - - private: - static InternalPhoneMultiFactorAssertion FromEncodableList( - const ::flutter::EncodableList& list); - - public: - ::flutter::EncodableList ToEncodableList() const; - - private: - friend class FirebaseAuthHostApi; - friend class FirebaseAuthUserHostApi; - friend class MultiFactorUserHostApi; - friend class MultiFactoResolverHostApi; - friend class MultiFactorTotpHostApi; - friend class MultiFactorTotpSecretHostApi; - friend class GenerateInterfaces; - friend class PigeonInternalCodecSerializer; - std::string verification_id_; - std::string verification_code_; -}; - -// Generated class from Pigeon that represents data sent in messages. -class InternalMultiFactorInfo { - public: - // Constructs an object setting all non-nullable fields. - explicit InternalMultiFactorInfo(double enrollment_timestamp, - const std::string& uid); - - // Constructs an object setting all fields. - explicit InternalMultiFactorInfo(const std::string* display_name, - double enrollment_timestamp, - const std::string* factor_id, - const std::string& uid, - const std::string* phone_number); - - const std::string* display_name() const; - void set_display_name(const std::string_view* value_arg); - void set_display_name(std::string_view value_arg); - - double enrollment_timestamp() const; - void set_enrollment_timestamp(double value_arg); - - const std::string* factor_id() const; - void set_factor_id(const std::string_view* value_arg); - void set_factor_id(std::string_view value_arg); - - const std::string& uid() const; - void set_uid(std::string_view value_arg); - - const std::string* phone_number() const; - void set_phone_number(const std::string_view* value_arg); - void set_phone_number(std::string_view value_arg); - - bool operator==(const InternalMultiFactorInfo& other) const; - bool operator!=(const InternalMultiFactorInfo& other) const; - /// Returns a hash code value for the object. This method is supported for the - /// benefit of hash tables. - size_t Hash() const; - - private: - static InternalMultiFactorInfo FromEncodableList( - const ::flutter::EncodableList& list); - - public: - ::flutter::EncodableList ToEncodableList() const; - - private: - friend class FirebaseAuthHostApi; - friend class FirebaseAuthUserHostApi; - friend class MultiFactorUserHostApi; - friend class MultiFactoResolverHostApi; - friend class MultiFactorTotpHostApi; - friend class MultiFactorTotpSecretHostApi; - friend class GenerateInterfaces; - friend class PigeonInternalCodecSerializer; - std::optional display_name_; - double enrollment_timestamp_; - std::optional factor_id_; - std::string uid_; - std::optional phone_number_; -}; - -// Generated class from Pigeon that represents data sent in messages. -class AuthPigeonFirebaseApp { - public: - // Constructs an object setting all non-nullable fields. - explicit AuthPigeonFirebaseApp(const std::string& app_name); - - // Constructs an object setting all fields. - explicit AuthPigeonFirebaseApp(const std::string& app_name, - const std::string* tenant_id, - const std::string* custom_auth_domain); - - const std::string& app_name() const; - void set_app_name(std::string_view value_arg); - - const std::string* tenant_id() const; - void set_tenant_id(const std::string_view* value_arg); - void set_tenant_id(std::string_view value_arg); - - const std::string* custom_auth_domain() const; - void set_custom_auth_domain(const std::string_view* value_arg); - void set_custom_auth_domain(std::string_view value_arg); - - bool operator==(const AuthPigeonFirebaseApp& other) const; - bool operator!=(const AuthPigeonFirebaseApp& other) const; - /// Returns a hash code value for the object. This method is supported for the - /// benefit of hash tables. - size_t Hash() const; - - private: - static AuthPigeonFirebaseApp FromEncodableList( - const ::flutter::EncodableList& list); - - public: - ::flutter::EncodableList ToEncodableList() const; - - private: - friend class FirebaseAuthHostApi; - friend class FirebaseAuthUserHostApi; - friend class MultiFactorUserHostApi; - friend class MultiFactoResolverHostApi; - friend class MultiFactorTotpHostApi; - friend class MultiFactorTotpSecretHostApi; - friend class GenerateInterfaces; - friend class PigeonInternalCodecSerializer; - std::string app_name_; - std::optional tenant_id_; - std::optional custom_auth_domain_; -}; - -// Generated class from Pigeon that represents data sent in messages. -class InternalActionCodeInfoData { - public: - // Constructs an object setting all non-nullable fields. - InternalActionCodeInfoData(); - - // Constructs an object setting all fields. - explicit InternalActionCodeInfoData(const std::string* email, - const std::string* previous_email); - - const std::string* email() const; - void set_email(const std::string_view* value_arg); - void set_email(std::string_view value_arg); - - const std::string* previous_email() const; - void set_previous_email(const std::string_view* value_arg); - void set_previous_email(std::string_view value_arg); - - bool operator==(const InternalActionCodeInfoData& other) const; - bool operator!=(const InternalActionCodeInfoData& other) const; - /// Returns a hash code value for the object. This method is supported for the - /// benefit of hash tables. - size_t Hash() const; - - private: - static InternalActionCodeInfoData FromEncodableList( - const ::flutter::EncodableList& list); - - public: - ::flutter::EncodableList ToEncodableList() const; - - private: - friend class InternalActionCodeInfo; - friend class FirebaseAuthHostApi; - friend class FirebaseAuthUserHostApi; - friend class MultiFactorUserHostApi; - friend class MultiFactoResolverHostApi; - friend class MultiFactorTotpHostApi; - friend class MultiFactorTotpSecretHostApi; - friend class GenerateInterfaces; - friend class PigeonInternalCodecSerializer; - std::optional email_; - std::optional previous_email_; -}; - -// Generated class from Pigeon that represents data sent in messages. -class InternalActionCodeInfo { - public: - // Constructs an object setting all fields. - explicit InternalActionCodeInfo(const ActionCodeInfoOperation& operation, - const InternalActionCodeInfoData& data); - - ~InternalActionCodeInfo() = default; - InternalActionCodeInfo(const InternalActionCodeInfo& other); - InternalActionCodeInfo& operator=(const InternalActionCodeInfo& other); - InternalActionCodeInfo(InternalActionCodeInfo&& other) = default; - InternalActionCodeInfo& operator=(InternalActionCodeInfo&& other) noexcept = - default; - const ActionCodeInfoOperation& operation() const; - void set_operation(const ActionCodeInfoOperation& value_arg); - - const InternalActionCodeInfoData& data() const; - void set_data(const InternalActionCodeInfoData& value_arg); - - bool operator==(const InternalActionCodeInfo& other) const; - bool operator!=(const InternalActionCodeInfo& other) const; - /// Returns a hash code value for the object. This method is supported for the - /// benefit of hash tables. - size_t Hash() const; - - private: - static InternalActionCodeInfo FromEncodableList( - const ::flutter::EncodableList& list); - - public: - ::flutter::EncodableList ToEncodableList() const; - - private: - friend class FirebaseAuthHostApi; - friend class FirebaseAuthUserHostApi; - friend class MultiFactorUserHostApi; - friend class MultiFactoResolverHostApi; - friend class MultiFactorTotpHostApi; - friend class MultiFactorTotpSecretHostApi; - friend class GenerateInterfaces; - friend class PigeonInternalCodecSerializer; - ActionCodeInfoOperation operation_; - std::unique_ptr data_; -}; - -// Generated class from Pigeon that represents data sent in messages. -class InternalAdditionalUserInfo { - public: - // Constructs an object setting all non-nullable fields. - explicit InternalAdditionalUserInfo(bool is_new_user); - - // Constructs an object setting all fields. - explicit InternalAdditionalUserInfo(bool is_new_user, - const std::string* provider_id, - const std::string* username, - const std::string* authorization_code, - const ::flutter::EncodableMap* profile); - - bool is_new_user() const; - void set_is_new_user(bool value_arg); - - const std::string* provider_id() const; - void set_provider_id(const std::string_view* value_arg); - void set_provider_id(std::string_view value_arg); - - const std::string* username() const; - void set_username(const std::string_view* value_arg); - void set_username(std::string_view value_arg); - - const std::string* authorization_code() const; - void set_authorization_code(const std::string_view* value_arg); - void set_authorization_code(std::string_view value_arg); - - const ::flutter::EncodableMap* profile() const; - void set_profile(const ::flutter::EncodableMap* value_arg); - void set_profile(const ::flutter::EncodableMap& value_arg); - - bool operator==(const InternalAdditionalUserInfo& other) const; - bool operator!=(const InternalAdditionalUserInfo& other) const; - /// Returns a hash code value for the object. This method is supported for the - /// benefit of hash tables. - size_t Hash() const; - - private: - static InternalAdditionalUserInfo FromEncodableList( - const ::flutter::EncodableList& list); - - public: - ::flutter::EncodableList ToEncodableList() const; - - private: - friend class InternalUserCredential; - friend class FirebaseAuthHostApi; - friend class FirebaseAuthUserHostApi; - friend class MultiFactorUserHostApi; - friend class MultiFactoResolverHostApi; - friend class MultiFactorTotpHostApi; - friend class MultiFactorTotpSecretHostApi; - friend class GenerateInterfaces; - friend class PigeonInternalCodecSerializer; - bool is_new_user_; - std::optional provider_id_; - std::optional username_; - std::optional authorization_code_; - std::optional<::flutter::EncodableMap> profile_; -}; - -// Generated class from Pigeon that represents data sent in messages. -class InternalAuthCredential { - public: - // Constructs an object setting all non-nullable fields. - explicit InternalAuthCredential(const std::string& provider_id, - const std::string& sign_in_method, - int64_t native_id); - - // Constructs an object setting all fields. - explicit InternalAuthCredential(const std::string& provider_id, - const std::string& sign_in_method, - int64_t native_id, - const std::string* access_token); - - const std::string& provider_id() const; - void set_provider_id(std::string_view value_arg); - - const std::string& sign_in_method() const; - void set_sign_in_method(std::string_view value_arg); - - int64_t native_id() const; - void set_native_id(int64_t value_arg); - - const std::string* access_token() const; - void set_access_token(const std::string_view* value_arg); - void set_access_token(std::string_view value_arg); - - bool operator==(const InternalAuthCredential& other) const; - bool operator!=(const InternalAuthCredential& other) const; - /// Returns a hash code value for the object. This method is supported for the - /// benefit of hash tables. - size_t Hash() const; - - private: - static InternalAuthCredential FromEncodableList( - const ::flutter::EncodableList& list); - - public: - ::flutter::EncodableList ToEncodableList() const; - - private: - friend class InternalUserCredential; - friend class FirebaseAuthHostApi; - friend class FirebaseAuthUserHostApi; - friend class MultiFactorUserHostApi; - friend class MultiFactoResolverHostApi; - friend class MultiFactorTotpHostApi; - friend class MultiFactorTotpSecretHostApi; - friend class GenerateInterfaces; - friend class PigeonInternalCodecSerializer; - std::string provider_id_; - std::string sign_in_method_; - int64_t native_id_; - std::optional access_token_; -}; - -// Generated class from Pigeon that represents data sent in messages. -class InternalUserInfo { - public: - // Constructs an object setting all non-nullable fields. - explicit InternalUserInfo(const std::string& uid, bool is_anonymous, - bool is_email_verified); - - // Constructs an object setting all fields. - explicit InternalUserInfo( - const std::string& uid, const std::string* email, - const std::string* display_name, const std::string* photo_url, - const std::string* phone_number, bool is_anonymous, - bool is_email_verified, const std::string* provider_id, - const std::string* tenant_id, const std::string* refresh_token, - const int64_t* creation_timestamp, const int64_t* last_sign_in_timestamp); - - const std::string& uid() const; - void set_uid(std::string_view value_arg); - - const std::string* email() const; - void set_email(const std::string_view* value_arg); - void set_email(std::string_view value_arg); - - const std::string* display_name() const; - void set_display_name(const std::string_view* value_arg); - void set_display_name(std::string_view value_arg); - - const std::string* photo_url() const; - void set_photo_url(const std::string_view* value_arg); - void set_photo_url(std::string_view value_arg); - - const std::string* phone_number() const; - void set_phone_number(const std::string_view* value_arg); - void set_phone_number(std::string_view value_arg); - - bool is_anonymous() const; - void set_is_anonymous(bool value_arg); - - bool is_email_verified() const; - void set_is_email_verified(bool value_arg); - - const std::string* provider_id() const; - void set_provider_id(const std::string_view* value_arg); - void set_provider_id(std::string_view value_arg); - - const std::string* tenant_id() const; - void set_tenant_id(const std::string_view* value_arg); - void set_tenant_id(std::string_view value_arg); - - const std::string* refresh_token() const; - void set_refresh_token(const std::string_view* value_arg); - void set_refresh_token(std::string_view value_arg); - - const int64_t* creation_timestamp() const; - void set_creation_timestamp(const int64_t* value_arg); - void set_creation_timestamp(int64_t value_arg); - - const int64_t* last_sign_in_timestamp() const; - void set_last_sign_in_timestamp(const int64_t* value_arg); - void set_last_sign_in_timestamp(int64_t value_arg); - - bool operator==(const InternalUserInfo& other) const; - bool operator!=(const InternalUserInfo& other) const; - /// Returns a hash code value for the object. This method is supported for the - /// benefit of hash tables. - size_t Hash() const; - - private: - static InternalUserInfo FromEncodableList( - const ::flutter::EncodableList& list); - - public: - ::flutter::EncodableList ToEncodableList() const; - - private: - friend class InternalUserDetails; - friend class FirebaseAuthHostApi; - friend class FirebaseAuthUserHostApi; - friend class MultiFactorUserHostApi; - friend class MultiFactoResolverHostApi; - friend class MultiFactorTotpHostApi; - friend class MultiFactorTotpSecretHostApi; - friend class GenerateInterfaces; - friend class PigeonInternalCodecSerializer; - std::string uid_; - std::optional email_; - std::optional display_name_; - std::optional photo_url_; - std::optional phone_number_; - bool is_anonymous_; - bool is_email_verified_; - std::optional provider_id_; - std::optional tenant_id_; - std::optional refresh_token_; - std::optional creation_timestamp_; - std::optional last_sign_in_timestamp_; -}; - -// Generated class from Pigeon that represents data sent in messages. -class InternalUserDetails { - public: - // Constructs an object setting all fields. - explicit InternalUserDetails(const InternalUserInfo& user_info, - const ::flutter::EncodableList& provider_data); - - ~InternalUserDetails() = default; - InternalUserDetails(const InternalUserDetails& other); - InternalUserDetails& operator=(const InternalUserDetails& other); - InternalUserDetails(InternalUserDetails&& other) = default; - InternalUserDetails& operator=(InternalUserDetails&& other) noexcept = - default; - const InternalUserInfo& user_info() const; - void set_user_info(const InternalUserInfo& value_arg); - - const ::flutter::EncodableList& provider_data() const; - void set_provider_data(const ::flutter::EncodableList& value_arg); - - bool operator==(const InternalUserDetails& other) const; - bool operator!=(const InternalUserDetails& other) const; - /// Returns a hash code value for the object. This method is supported for the - /// benefit of hash tables. - size_t Hash() const; - - private: - static InternalUserDetails FromEncodableList( - const ::flutter::EncodableList& list); - - public: - ::flutter::EncodableList ToEncodableList() const; - - private: - friend class InternalUserCredential; - friend class FirebaseAuthHostApi; - friend class FirebaseAuthUserHostApi; - friend class MultiFactorUserHostApi; - friend class MultiFactoResolverHostApi; - friend class MultiFactorTotpHostApi; - friend class MultiFactorTotpSecretHostApi; - friend class GenerateInterfaces; - friend class PigeonInternalCodecSerializer; - std::unique_ptr user_info_; - ::flutter::EncodableList provider_data_; -}; - -// Generated class from Pigeon that represents data sent in messages. -class InternalUserCredential { - public: - // Constructs an object setting all non-nullable fields. - InternalUserCredential(); - - // Constructs an object setting all fields. - explicit InternalUserCredential( - const InternalUserDetails* user, - const InternalAdditionalUserInfo* additional_user_info, - const InternalAuthCredential* credential); - - ~InternalUserCredential() = default; - InternalUserCredential(const InternalUserCredential& other); - InternalUserCredential& operator=(const InternalUserCredential& other); - InternalUserCredential(InternalUserCredential&& other) = default; - InternalUserCredential& operator=(InternalUserCredential&& other) noexcept = - default; - const InternalUserDetails* user() const; - void set_user(const InternalUserDetails* value_arg); - void set_user(const InternalUserDetails& value_arg); - - const InternalAdditionalUserInfo* additional_user_info() const; - void set_additional_user_info(const InternalAdditionalUserInfo* value_arg); - void set_additional_user_info(const InternalAdditionalUserInfo& value_arg); - - const InternalAuthCredential* credential() const; - void set_credential(const InternalAuthCredential* value_arg); - void set_credential(const InternalAuthCredential& value_arg); - - bool operator==(const InternalUserCredential& other) const; - bool operator!=(const InternalUserCredential& other) const; - /// Returns a hash code value for the object. This method is supported for the - /// benefit of hash tables. - size_t Hash() const; - - private: - static InternalUserCredential FromEncodableList( - const ::flutter::EncodableList& list); - - public: - ::flutter::EncodableList ToEncodableList() const; - - private: - friend class FirebaseAuthHostApi; - friend class FirebaseAuthUserHostApi; - friend class MultiFactorUserHostApi; - friend class MultiFactoResolverHostApi; - friend class MultiFactorTotpHostApi; - friend class MultiFactorTotpSecretHostApi; - friend class GenerateInterfaces; - friend class PigeonInternalCodecSerializer; - std::unique_ptr user_; - std::unique_ptr additional_user_info_; - std::unique_ptr credential_; -}; - -// Generated class from Pigeon that represents data sent in messages. -class InternalAuthCredentialInput { - public: - // Constructs an object setting all non-nullable fields. - explicit InternalAuthCredentialInput(const std::string& provider_id, - const std::string& sign_in_method); - - // Constructs an object setting all fields. - explicit InternalAuthCredentialInput(const std::string& provider_id, - const std::string& sign_in_method, - const std::string* token, - const std::string* access_token); - - const std::string& provider_id() const; - void set_provider_id(std::string_view value_arg); - - const std::string& sign_in_method() const; - void set_sign_in_method(std::string_view value_arg); - - const std::string* token() const; - void set_token(const std::string_view* value_arg); - void set_token(std::string_view value_arg); - - const std::string* access_token() const; - void set_access_token(const std::string_view* value_arg); - void set_access_token(std::string_view value_arg); - - bool operator==(const InternalAuthCredentialInput& other) const; - bool operator!=(const InternalAuthCredentialInput& other) const; - /// Returns a hash code value for the object. This method is supported for the - /// benefit of hash tables. - size_t Hash() const; - - private: - static InternalAuthCredentialInput FromEncodableList( - const ::flutter::EncodableList& list); - - public: - ::flutter::EncodableList ToEncodableList() const; - - private: - friend class FirebaseAuthHostApi; - friend class FirebaseAuthUserHostApi; - friend class MultiFactorUserHostApi; - friend class MultiFactoResolverHostApi; - friend class MultiFactorTotpHostApi; - friend class MultiFactorTotpSecretHostApi; - friend class GenerateInterfaces; - friend class PigeonInternalCodecSerializer; - std::string provider_id_; - std::string sign_in_method_; - std::optional token_; - std::optional access_token_; -}; - -// Generated class from Pigeon that represents data sent in messages. -class InternalActionCodeSettings { - public: - // Constructs an object setting all non-nullable fields. - explicit InternalActionCodeSettings(const std::string& url, - bool handle_code_in_app, - bool android_install_app); - - // Constructs an object setting all fields. - explicit InternalActionCodeSettings( - const std::string& url, const std::string* dynamic_link_domain, - bool handle_code_in_app, const std::string* i_o_s_bundle_id, - const std::string* android_package_name, bool android_install_app, - const std::string* android_minimum_version, - const std::string* link_domain); - - const std::string& url() const; - void set_url(std::string_view value_arg); - - const std::string* dynamic_link_domain() const; - void set_dynamic_link_domain(const std::string_view* value_arg); - void set_dynamic_link_domain(std::string_view value_arg); - - bool handle_code_in_app() const; - void set_handle_code_in_app(bool value_arg); - - const std::string* i_o_s_bundle_id() const; - void set_i_o_s_bundle_id(const std::string_view* value_arg); - void set_i_o_s_bundle_id(std::string_view value_arg); - - const std::string* android_package_name() const; - void set_android_package_name(const std::string_view* value_arg); - void set_android_package_name(std::string_view value_arg); - - bool android_install_app() const; - void set_android_install_app(bool value_arg); - - const std::string* android_minimum_version() const; - void set_android_minimum_version(const std::string_view* value_arg); - void set_android_minimum_version(std::string_view value_arg); - - const std::string* link_domain() const; - void set_link_domain(const std::string_view* value_arg); - void set_link_domain(std::string_view value_arg); - - bool operator==(const InternalActionCodeSettings& other) const; - bool operator!=(const InternalActionCodeSettings& other) const; - /// Returns a hash code value for the object. This method is supported for the - /// benefit of hash tables. - size_t Hash() const; - - private: - static InternalActionCodeSettings FromEncodableList( - const ::flutter::EncodableList& list); - - public: - ::flutter::EncodableList ToEncodableList() const; - - private: - friend class FirebaseAuthHostApi; - friend class FirebaseAuthUserHostApi; - friend class MultiFactorUserHostApi; - friend class MultiFactoResolverHostApi; - friend class MultiFactorTotpHostApi; - friend class MultiFactorTotpSecretHostApi; - friend class GenerateInterfaces; - friend class PigeonInternalCodecSerializer; - std::string url_; - std::optional dynamic_link_domain_; - bool handle_code_in_app_; - std::optional i_o_s_bundle_id_; - std::optional android_package_name_; - bool android_install_app_; - std::optional android_minimum_version_; - std::optional link_domain_; -}; - -// Generated class from Pigeon that represents data sent in messages. -class InternalFirebaseAuthSettings { - public: - // Constructs an object setting all non-nullable fields. - explicit InternalFirebaseAuthSettings( - bool app_verification_disabled_for_testing); - - // Constructs an object setting all fields. - explicit InternalFirebaseAuthSettings( - bool app_verification_disabled_for_testing, - const std::string* user_access_group, const std::string* phone_number, - const std::string* sms_code, const bool* force_recaptcha_flow); - - bool app_verification_disabled_for_testing() const; - void set_app_verification_disabled_for_testing(bool value_arg); - - const std::string* user_access_group() const; - void set_user_access_group(const std::string_view* value_arg); - void set_user_access_group(std::string_view value_arg); - - const std::string* phone_number() const; - void set_phone_number(const std::string_view* value_arg); - void set_phone_number(std::string_view value_arg); - - const std::string* sms_code() const; - void set_sms_code(const std::string_view* value_arg); - void set_sms_code(std::string_view value_arg); - - const bool* force_recaptcha_flow() const; - void set_force_recaptcha_flow(const bool* value_arg); - void set_force_recaptcha_flow(bool value_arg); - - bool operator==(const InternalFirebaseAuthSettings& other) const; - bool operator!=(const InternalFirebaseAuthSettings& other) const; - /// Returns a hash code value for the object. This method is supported for the - /// benefit of hash tables. - size_t Hash() const; - - private: - static InternalFirebaseAuthSettings FromEncodableList( - const ::flutter::EncodableList& list); - - public: - ::flutter::EncodableList ToEncodableList() const; - - private: - friend class FirebaseAuthHostApi; - friend class FirebaseAuthUserHostApi; - friend class MultiFactorUserHostApi; - friend class MultiFactoResolverHostApi; - friend class MultiFactorTotpHostApi; - friend class MultiFactorTotpSecretHostApi; - friend class GenerateInterfaces; - friend class PigeonInternalCodecSerializer; - bool app_verification_disabled_for_testing_; - std::optional user_access_group_; - std::optional phone_number_; - std::optional sms_code_; - std::optional force_recaptcha_flow_; -}; - -// Generated class from Pigeon that represents data sent in messages. -class InternalSignInProvider { - public: - // Constructs an object setting all non-nullable fields. - explicit InternalSignInProvider(const std::string& provider_id); - - // Constructs an object setting all fields. - explicit InternalSignInProvider( - const std::string& provider_id, const ::flutter::EncodableList* scopes, - const ::flutter::EncodableMap* custom_parameters); - - const std::string& provider_id() const; - void set_provider_id(std::string_view value_arg); - - const ::flutter::EncodableList* scopes() const; - void set_scopes(const ::flutter::EncodableList* value_arg); - void set_scopes(const ::flutter::EncodableList& value_arg); - - const ::flutter::EncodableMap* custom_parameters() const; - void set_custom_parameters(const ::flutter::EncodableMap* value_arg); - void set_custom_parameters(const ::flutter::EncodableMap& value_arg); - - bool operator==(const InternalSignInProvider& other) const; - bool operator!=(const InternalSignInProvider& other) const; - /// Returns a hash code value for the object. This method is supported for the - /// benefit of hash tables. - size_t Hash() const; - - private: - static InternalSignInProvider FromEncodableList( - const ::flutter::EncodableList& list); - - public: - ::flutter::EncodableList ToEncodableList() const; - - private: - friend class FirebaseAuthHostApi; - friend class FirebaseAuthUserHostApi; - friend class MultiFactorUserHostApi; - friend class MultiFactoResolverHostApi; - friend class MultiFactorTotpHostApi; - friend class MultiFactorTotpSecretHostApi; - friend class GenerateInterfaces; - friend class PigeonInternalCodecSerializer; - std::string provider_id_; - std::optional<::flutter::EncodableList> scopes_; - std::optional<::flutter::EncodableMap> custom_parameters_; -}; - -// Generated class from Pigeon that represents data sent in messages. -class InternalVerifyPhoneNumberRequest { - public: - // Constructs an object setting all non-nullable fields. - explicit InternalVerifyPhoneNumberRequest(int64_t timeout); - - // Constructs an object setting all fields. - explicit InternalVerifyPhoneNumberRequest( - const std::string* phone_number, int64_t timeout, - const int64_t* force_resending_token, - const std::string* auto_retrieved_sms_code_for_testing, - const std::string* multi_factor_info_id, - const std::string* multi_factor_session_id); - - const std::string* phone_number() const; - void set_phone_number(const std::string_view* value_arg); - void set_phone_number(std::string_view value_arg); - - int64_t timeout() const; - void set_timeout(int64_t value_arg); - - const int64_t* force_resending_token() const; - void set_force_resending_token(const int64_t* value_arg); - void set_force_resending_token(int64_t value_arg); - - const std::string* auto_retrieved_sms_code_for_testing() const; - void set_auto_retrieved_sms_code_for_testing( - const std::string_view* value_arg); - void set_auto_retrieved_sms_code_for_testing(std::string_view value_arg); - - const std::string* multi_factor_info_id() const; - void set_multi_factor_info_id(const std::string_view* value_arg); - void set_multi_factor_info_id(std::string_view value_arg); - - const std::string* multi_factor_session_id() const; - void set_multi_factor_session_id(const std::string_view* value_arg); - void set_multi_factor_session_id(std::string_view value_arg); - - bool operator==(const InternalVerifyPhoneNumberRequest& other) const; - bool operator!=(const InternalVerifyPhoneNumberRequest& other) const; - /// Returns a hash code value for the object. This method is supported for the - /// benefit of hash tables. - size_t Hash() const; - - private: - static InternalVerifyPhoneNumberRequest FromEncodableList( - const ::flutter::EncodableList& list); - - public: - ::flutter::EncodableList ToEncodableList() const; - - private: - friend class FirebaseAuthHostApi; - friend class FirebaseAuthUserHostApi; - friend class MultiFactorUserHostApi; - friend class MultiFactoResolverHostApi; - friend class MultiFactorTotpHostApi; - friend class MultiFactorTotpSecretHostApi; - friend class GenerateInterfaces; - friend class PigeonInternalCodecSerializer; - std::optional phone_number_; - int64_t timeout_; - std::optional force_resending_token_; - std::optional auto_retrieved_sms_code_for_testing_; - std::optional multi_factor_info_id_; - std::optional multi_factor_session_id_; -}; - -// Generated class from Pigeon that represents data sent in messages. -class InternalIdTokenResult { - public: - // Constructs an object setting all non-nullable fields. - InternalIdTokenResult(); - - // Constructs an object setting all fields. - explicit InternalIdTokenResult(const std::string* token, - const int64_t* expiration_timestamp, - const int64_t* auth_timestamp, - const int64_t* issued_at_timestamp, - const std::string* sign_in_provider, - const ::flutter::EncodableMap* claims, - const std::string* sign_in_second_factor); - - const std::string* token() const; - void set_token(const std::string_view* value_arg); - void set_token(std::string_view value_arg); - - const int64_t* expiration_timestamp() const; - void set_expiration_timestamp(const int64_t* value_arg); - void set_expiration_timestamp(int64_t value_arg); - - const int64_t* auth_timestamp() const; - void set_auth_timestamp(const int64_t* value_arg); - void set_auth_timestamp(int64_t value_arg); - - const int64_t* issued_at_timestamp() const; - void set_issued_at_timestamp(const int64_t* value_arg); - void set_issued_at_timestamp(int64_t value_arg); - - const std::string* sign_in_provider() const; - void set_sign_in_provider(const std::string_view* value_arg); - void set_sign_in_provider(std::string_view value_arg); - - const ::flutter::EncodableMap* claims() const; - void set_claims(const ::flutter::EncodableMap* value_arg); - void set_claims(const ::flutter::EncodableMap& value_arg); - - const std::string* sign_in_second_factor() const; - void set_sign_in_second_factor(const std::string_view* value_arg); - void set_sign_in_second_factor(std::string_view value_arg); - - bool operator==(const InternalIdTokenResult& other) const; - bool operator!=(const InternalIdTokenResult& other) const; - /// Returns a hash code value for the object. This method is supported for the - /// benefit of hash tables. - size_t Hash() const; - - private: - static InternalIdTokenResult FromEncodableList( - const ::flutter::EncodableList& list); - - public: - ::flutter::EncodableList ToEncodableList() const; - - private: - friend class FirebaseAuthHostApi; - friend class FirebaseAuthUserHostApi; - friend class MultiFactorUserHostApi; - friend class MultiFactoResolverHostApi; - friend class MultiFactorTotpHostApi; - friend class MultiFactorTotpSecretHostApi; - friend class GenerateInterfaces; - friend class PigeonInternalCodecSerializer; - std::optional token_; - std::optional expiration_timestamp_; - std::optional auth_timestamp_; - std::optional issued_at_timestamp_; - std::optional sign_in_provider_; - std::optional<::flutter::EncodableMap> claims_; - std::optional sign_in_second_factor_; -}; - -// Generated class from Pigeon that represents data sent in messages. -class InternalUserProfile { - public: - // Constructs an object setting all non-nullable fields. - explicit InternalUserProfile(bool display_name_changed, - bool photo_url_changed); - - // Constructs an object setting all fields. - explicit InternalUserProfile(const std::string* display_name, - const std::string* photo_url, - bool display_name_changed, - bool photo_url_changed); - - const std::string* display_name() const; - void set_display_name(const std::string_view* value_arg); - void set_display_name(std::string_view value_arg); - - const std::string* photo_url() const; - void set_photo_url(const std::string_view* value_arg); - void set_photo_url(std::string_view value_arg); - - bool display_name_changed() const; - void set_display_name_changed(bool value_arg); - - bool photo_url_changed() const; - void set_photo_url_changed(bool value_arg); - - bool operator==(const InternalUserProfile& other) const; - bool operator!=(const InternalUserProfile& other) const; - /// Returns a hash code value for the object. This method is supported for the - /// benefit of hash tables. - size_t Hash() const; - - private: - static InternalUserProfile FromEncodableList( - const ::flutter::EncodableList& list); - - public: - ::flutter::EncodableList ToEncodableList() const; - - private: - friend class FirebaseAuthHostApi; - friend class FirebaseAuthUserHostApi; - friend class MultiFactorUserHostApi; - friend class MultiFactoResolverHostApi; - friend class MultiFactorTotpHostApi; - friend class MultiFactorTotpSecretHostApi; - friend class GenerateInterfaces; - friend class PigeonInternalCodecSerializer; - std::optional display_name_; - std::optional photo_url_; - bool display_name_changed_; - bool photo_url_changed_; -}; - -// Generated class from Pigeon that represents data sent in messages. -class InternalTotpSecret { - public: - // Constructs an object setting all non-nullable fields. - explicit InternalTotpSecret(const std::string& secret_key); - - // Constructs an object setting all fields. - explicit InternalTotpSecret(const int64_t* code_interval_seconds, - const int64_t* code_length, - const int64_t* enrollment_completion_deadline, - const std::string* hashing_algorithm, - const std::string& secret_key); - - const int64_t* code_interval_seconds() const; - void set_code_interval_seconds(const int64_t* value_arg); - void set_code_interval_seconds(int64_t value_arg); - - const int64_t* code_length() const; - void set_code_length(const int64_t* value_arg); - void set_code_length(int64_t value_arg); - - const int64_t* enrollment_completion_deadline() const; - void set_enrollment_completion_deadline(const int64_t* value_arg); - void set_enrollment_completion_deadline(int64_t value_arg); - - const std::string* hashing_algorithm() const; - void set_hashing_algorithm(const std::string_view* value_arg); - void set_hashing_algorithm(std::string_view value_arg); - - const std::string& secret_key() const; - void set_secret_key(std::string_view value_arg); - - bool operator==(const InternalTotpSecret& other) const; - bool operator!=(const InternalTotpSecret& other) const; - /// Returns a hash code value for the object. This method is supported for the - /// benefit of hash tables. - size_t Hash() const; - - private: - static InternalTotpSecret FromEncodableList( - const ::flutter::EncodableList& list); - - public: - ::flutter::EncodableList ToEncodableList() const; - - private: - friend class FirebaseAuthHostApi; - friend class FirebaseAuthUserHostApi; - friend class MultiFactorUserHostApi; - friend class MultiFactoResolverHostApi; - friend class MultiFactorTotpHostApi; - friend class MultiFactorTotpSecretHostApi; - friend class GenerateInterfaces; - friend class PigeonInternalCodecSerializer; - std::optional code_interval_seconds_; - std::optional code_length_; - std::optional enrollment_completion_deadline_; - std::optional hashing_algorithm_; - std::string secret_key_; -}; - -class PigeonInternalCodecSerializer - : public ::flutter::StandardCodecSerializer { - public: - PigeonInternalCodecSerializer(); - inline static PigeonInternalCodecSerializer& GetInstance() { - static PigeonInternalCodecSerializer sInstance; - return sInstance; - } - - void WriteValue(const ::flutter::EncodableValue& value, - ::flutter::ByteStreamWriter* stream) const override; - - protected: - ::flutter::EncodableValue ReadValueOfType( - uint8_t type, ::flutter::ByteStreamReader* stream) const override; -}; - -// Generated interface from Pigeon that represents a handler of messages from -// Flutter. -class FirebaseAuthHostApi { - public: - FirebaseAuthHostApi(const FirebaseAuthHostApi&) = delete; - FirebaseAuthHostApi& operator=(const FirebaseAuthHostApi&) = delete; - virtual ~FirebaseAuthHostApi() {} - virtual void RegisterIdTokenListener( - const AuthPigeonFirebaseApp& app, - std::function reply)> result) = 0; - virtual void RegisterAuthStateListener( - const AuthPigeonFirebaseApp& app, - std::function reply)> result) = 0; - virtual void UseEmulator( - const AuthPigeonFirebaseApp& app, const std::string& host, int64_t port, - std::function reply)> result) = 0; - virtual void ApplyActionCode( - const AuthPigeonFirebaseApp& app, const std::string& code, - std::function reply)> result) = 0; - virtual void CheckActionCode( - const AuthPigeonFirebaseApp& app, const std::string& code, - std::function reply)> result) = 0; - virtual void ConfirmPasswordReset( - const AuthPigeonFirebaseApp& app, const std::string& code, - const std::string& new_password, - std::function reply)> result) = 0; - virtual void CreateUserWithEmailAndPassword( - const AuthPigeonFirebaseApp& app, const std::string& email, - const std::string& password, - std::function reply)> result) = 0; - virtual void SignInAnonymously( - const AuthPigeonFirebaseApp& app, - std::function reply)> result) = 0; - virtual void SignInWithCredential( - const AuthPigeonFirebaseApp& app, const ::flutter::EncodableMap& input, - std::function reply)> result) = 0; - virtual void SignInWithCustomToken( - const AuthPigeonFirebaseApp& app, const std::string& token, - std::function reply)> result) = 0; - virtual void SignInWithEmailAndPassword( - const AuthPigeonFirebaseApp& app, const std::string& email, - const std::string& password, - std::function reply)> result) = 0; - virtual void SignInWithEmailLink( - const AuthPigeonFirebaseApp& app, const std::string& email, - const std::string& email_link, - std::function reply)> result) = 0; - virtual void SignInWithProvider( - const AuthPigeonFirebaseApp& app, - const InternalSignInProvider& sign_in_provider, - std::function reply)> result) = 0; - virtual void SignOut( - const AuthPigeonFirebaseApp& app, - std::function reply)> result) = 0; - virtual void FetchSignInMethodsForEmail( - const AuthPigeonFirebaseApp& app, const std::string& email, - std::function reply)> result) = 0; - virtual void SendPasswordResetEmail( - const AuthPigeonFirebaseApp& app, const std::string& email, - const InternalActionCodeSettings* action_code_settings, - std::function reply)> result) = 0; - virtual void SendSignInLinkToEmail( - const AuthPigeonFirebaseApp& app, const std::string& email, - const InternalActionCodeSettings& action_code_settings, - std::function reply)> result) = 0; - virtual void SetLanguageCode( - const AuthPigeonFirebaseApp& app, const std::string* language_code, - std::function reply)> result) = 0; - virtual void SetSettings( - const AuthPigeonFirebaseApp& app, - const InternalFirebaseAuthSettings& settings, - std::function reply)> result) = 0; - virtual void VerifyPasswordResetCode( - const AuthPigeonFirebaseApp& app, const std::string& code, - std::function reply)> result) = 0; - virtual void VerifyPhoneNumber( - const AuthPigeonFirebaseApp& app, - const InternalVerifyPhoneNumberRequest& request, - std::function reply)> result) = 0; - virtual void RevokeTokenWithAuthorizationCode( - const AuthPigeonFirebaseApp& app, const std::string& authorization_code, - std::function reply)> result) = 0; - virtual void RevokeAccessToken( - const AuthPigeonFirebaseApp& app, const std::string& access_token, - std::function reply)> result) = 0; - virtual void InitializeRecaptchaConfig( - const AuthPigeonFirebaseApp& app, - std::function reply)> result) = 0; - - // The codec used by FirebaseAuthHostApi. - static const ::flutter::StandardMessageCodec& GetCodec(); - // Sets up an instance of `FirebaseAuthHostApi` to handle messages through the - // `binary_messenger`. - static void SetUp(::flutter::BinaryMessenger* binary_messenger, - FirebaseAuthHostApi* api); - static void SetUp(::flutter::BinaryMessenger* binary_messenger, - FirebaseAuthHostApi* api, - const std::string& message_channel_suffix); - static ::flutter::EncodableValue WrapError(std::string_view error_message); - static ::flutter::EncodableValue WrapError(const FlutterError& error); - - protected: - FirebaseAuthHostApi() = default; -}; -// Generated interface from Pigeon that represents a handler of messages from -// Flutter. -class FirebaseAuthUserHostApi { - public: - FirebaseAuthUserHostApi(const FirebaseAuthUserHostApi&) = delete; - FirebaseAuthUserHostApi& operator=(const FirebaseAuthUserHostApi&) = delete; - virtual ~FirebaseAuthUserHostApi() {} - virtual void Delete( - const AuthPigeonFirebaseApp& app, - std::function reply)> result) = 0; - virtual void GetIdToken( - const AuthPigeonFirebaseApp& app, bool force_refresh, - std::function reply)> result) = 0; - virtual void LinkWithCredential( - const AuthPigeonFirebaseApp& app, const ::flutter::EncodableMap& input, - std::function reply)> result) = 0; - virtual void LinkWithProvider( - const AuthPigeonFirebaseApp& app, - const InternalSignInProvider& sign_in_provider, - std::function reply)> result) = 0; - virtual void ReauthenticateWithCredential( - const AuthPigeonFirebaseApp& app, const ::flutter::EncodableMap& input, - std::function reply)> result) = 0; - virtual void ReauthenticateWithProvider( - const AuthPigeonFirebaseApp& app, - const InternalSignInProvider& sign_in_provider, - std::function reply)> result) = 0; - virtual void Reload( - const AuthPigeonFirebaseApp& app, - std::function reply)> result) = 0; - virtual void SendEmailVerification( - const AuthPigeonFirebaseApp& app, - const InternalActionCodeSettings* action_code_settings, - std::function reply)> result) = 0; - virtual void Unlink( - const AuthPigeonFirebaseApp& app, const std::string& provider_id, - std::function reply)> result) = 0; - virtual void UpdateEmail( - const AuthPigeonFirebaseApp& app, const std::string& new_email, - std::function reply)> result) = 0; - virtual void UpdatePassword( - const AuthPigeonFirebaseApp& app, const std::string& new_password, - std::function reply)> result) = 0; - virtual void UpdatePhoneNumber( - const AuthPigeonFirebaseApp& app, const ::flutter::EncodableMap& input, - std::function reply)> result) = 0; - virtual void UpdateProfile( - const AuthPigeonFirebaseApp& app, const InternalUserProfile& profile, - std::function reply)> result) = 0; - virtual void VerifyBeforeUpdateEmail( - const AuthPigeonFirebaseApp& app, const std::string& new_email, - const InternalActionCodeSettings* action_code_settings, - std::function reply)> result) = 0; - - // The codec used by FirebaseAuthUserHostApi. - static const ::flutter::StandardMessageCodec& GetCodec(); - // Sets up an instance of `FirebaseAuthUserHostApi` to handle messages through - // the `binary_messenger`. - static void SetUp(::flutter::BinaryMessenger* binary_messenger, - FirebaseAuthUserHostApi* api); - static void SetUp(::flutter::BinaryMessenger* binary_messenger, - FirebaseAuthUserHostApi* api, - const std::string& message_channel_suffix); - static ::flutter::EncodableValue WrapError(std::string_view error_message); - static ::flutter::EncodableValue WrapError(const FlutterError& error); - - protected: - FirebaseAuthUserHostApi() = default; -}; -// Generated interface from Pigeon that represents a handler of messages from -// Flutter. -class MultiFactorUserHostApi { - public: - MultiFactorUserHostApi(const MultiFactorUserHostApi&) = delete; - MultiFactorUserHostApi& operator=(const MultiFactorUserHostApi&) = delete; - virtual ~MultiFactorUserHostApi() {} - virtual void EnrollPhone( - const AuthPigeonFirebaseApp& app, - const InternalPhoneMultiFactorAssertion& assertion, - const std::string* display_name, - std::function reply)> result) = 0; - virtual void EnrollTotp( - const AuthPigeonFirebaseApp& app, const std::string& assertion_id, - const std::string* display_name, - std::function reply)> result) = 0; - virtual void GetSession( - const AuthPigeonFirebaseApp& app, - std::function reply)> - result) = 0; - virtual void Unenroll( - const AuthPigeonFirebaseApp& app, const std::string& factor_uid, - std::function reply)> result) = 0; - virtual void GetEnrolledFactors( - const AuthPigeonFirebaseApp& app, - std::function reply)> result) = 0; - - // The codec used by MultiFactorUserHostApi. - static const ::flutter::StandardMessageCodec& GetCodec(); - // Sets up an instance of `MultiFactorUserHostApi` to handle messages through - // the `binary_messenger`. - static void SetUp(::flutter::BinaryMessenger* binary_messenger, - MultiFactorUserHostApi* api); - static void SetUp(::flutter::BinaryMessenger* binary_messenger, - MultiFactorUserHostApi* api, - const std::string& message_channel_suffix); - static ::flutter::EncodableValue WrapError(std::string_view error_message); - static ::flutter::EncodableValue WrapError(const FlutterError& error); - - protected: - MultiFactorUserHostApi() = default; -}; -// Generated interface from Pigeon that represents a handler of messages from -// Flutter. -class MultiFactoResolverHostApi { - public: - MultiFactoResolverHostApi(const MultiFactoResolverHostApi&) = delete; - MultiFactoResolverHostApi& operator=(const MultiFactoResolverHostApi&) = - delete; - virtual ~MultiFactoResolverHostApi() {} - virtual void ResolveSignIn( - const std::string& resolver_id, - const InternalPhoneMultiFactorAssertion* assertion, - const std::string* totp_assertion_id, - std::function reply)> result) = 0; - - // The codec used by MultiFactoResolverHostApi. - static const ::flutter::StandardMessageCodec& GetCodec(); - // Sets up an instance of `MultiFactoResolverHostApi` to handle messages - // through the `binary_messenger`. - static void SetUp(::flutter::BinaryMessenger* binary_messenger, - MultiFactoResolverHostApi* api); - static void SetUp(::flutter::BinaryMessenger* binary_messenger, - MultiFactoResolverHostApi* api, - const std::string& message_channel_suffix); - static ::flutter::EncodableValue WrapError(std::string_view error_message); - static ::flutter::EncodableValue WrapError(const FlutterError& error); - - protected: - MultiFactoResolverHostApi() = default; -}; -// Generated interface from Pigeon that represents a handler of messages from -// Flutter. -class MultiFactorTotpHostApi { - public: - MultiFactorTotpHostApi(const MultiFactorTotpHostApi&) = delete; - MultiFactorTotpHostApi& operator=(const MultiFactorTotpHostApi&) = delete; - virtual ~MultiFactorTotpHostApi() {} - virtual void GenerateSecret( - const std::string& session_id, - std::function reply)> result) = 0; - virtual void GetAssertionForEnrollment( - const std::string& secret_key, const std::string& one_time_password, - std::function reply)> result) = 0; - virtual void GetAssertionForSignIn( - const std::string& enrollment_id, const std::string& one_time_password, - std::function reply)> result) = 0; - - // The codec used by MultiFactorTotpHostApi. - static const ::flutter::StandardMessageCodec& GetCodec(); - // Sets up an instance of `MultiFactorTotpHostApi` to handle messages through - // the `binary_messenger`. - static void SetUp(::flutter::BinaryMessenger* binary_messenger, - MultiFactorTotpHostApi* api); - static void SetUp(::flutter::BinaryMessenger* binary_messenger, - MultiFactorTotpHostApi* api, - const std::string& message_channel_suffix); - static ::flutter::EncodableValue WrapError(std::string_view error_message); - static ::flutter::EncodableValue WrapError(const FlutterError& error); - - protected: - MultiFactorTotpHostApi() = default; -}; -// Generated interface from Pigeon that represents a handler of messages from -// Flutter. -class MultiFactorTotpSecretHostApi { - public: - MultiFactorTotpSecretHostApi(const MultiFactorTotpSecretHostApi&) = delete; - MultiFactorTotpSecretHostApi& operator=(const MultiFactorTotpSecretHostApi&) = - delete; - virtual ~MultiFactorTotpSecretHostApi() {} - virtual void GenerateQrCodeUrl( - const std::string& secret_key, const std::string* account_name, - const std::string* issuer, - std::function reply)> result) = 0; - virtual void OpenInOtpApp( - const std::string& secret_key, const std::string& qr_code_url, - std::function reply)> result) = 0; - - // The codec used by MultiFactorTotpSecretHostApi. - static const ::flutter::StandardMessageCodec& GetCodec(); - // Sets up an instance of `MultiFactorTotpSecretHostApi` to handle messages - // through the `binary_messenger`. - static void SetUp(::flutter::BinaryMessenger* binary_messenger, - MultiFactorTotpSecretHostApi* api); - static void SetUp(::flutter::BinaryMessenger* binary_messenger, - MultiFactorTotpSecretHostApi* api, - const std::string& message_channel_suffix); - static ::flutter::EncodableValue WrapError(std::string_view error_message); - static ::flutter::EncodableValue WrapError(const FlutterError& error); - - protected: - MultiFactorTotpSecretHostApi() = default; -}; -// Only used to generate the object interface that are use outside of the Pigeon -// interface -// -// Generated interface from Pigeon that represents a handler of messages from -// Flutter. -class GenerateInterfaces { - public: - GenerateInterfaces(const GenerateInterfaces&) = delete; - GenerateInterfaces& operator=(const GenerateInterfaces&) = delete; - virtual ~GenerateInterfaces() {} - virtual std::optional PigeonInterface( - const InternalMultiFactorInfo& info) = 0; - - // The codec used by GenerateInterfaces. - static const ::flutter::StandardMessageCodec& GetCodec(); - // Sets up an instance of `GenerateInterfaces` to handle messages through the - // `binary_messenger`. - static void SetUp(::flutter::BinaryMessenger* binary_messenger, - GenerateInterfaces* api); - static void SetUp(::flutter::BinaryMessenger* binary_messenger, - GenerateInterfaces* api, - const std::string& message_channel_suffix); - static ::flutter::EncodableValue WrapError(std::string_view error_message); - static ::flutter::EncodableValue WrapError(const FlutterError& error); - - protected: - GenerateInterfaces() = default; -}; -} // namespace firebase_auth_windows -#endif // PIGEON_MESSAGES_G_H_ diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/windows/plugin_version.h.in b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/windows/plugin_version.h.in deleted file mode 100644 index 3a8915c4..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/windows/plugin_version.h.in +++ /dev/null @@ -1,13 +0,0 @@ -// Copyright 2023, the Chromium project authors. Please see the AUTHORS file -// for details. All rights reserved. Use of this source code is governed by a -// BSD-style license that can be found in the LICENSE file. - -#ifndef PLUGIN_VERSION_CONFIG_H -#define PLUGIN_VERSION_CONFIG_H - -namespace firebase_auth_windows { - -std::string getPluginVersion() { return "@PLUGIN_VERSION@"; } -} // namespace firebase_auth_windows - -#endif // PLUGIN_VERSION_CONFIG_H diff --git a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/windows/test/firebase_auth_plugin_test.cpp b/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/windows/test/firebase_auth_plugin_test.cpp deleted file mode 100644 index 7c8110cf..00000000 --- a/mih_ui/android/build/ios/SourcePackages/firebase_auth-6.5.4/windows/test/firebase_auth_plugin_test.cpp +++ /dev/null @@ -1,47 +0,0 @@ -// Copyright 2023, the Chromium project authors. Please see the AUTHORS file -// for details. All rights reserved. Use of this source code is governed by a -// BSD-style license that can be found in the LICENSE file. - -#include "firebase_auth_plugin.h" - -#include -#include -#include -#include -#include - -#include -#include -#include - -namespace firebase_auth { -namespace test { - -namespace { - -using flutter::EncodableMap; -using flutter::EncodableValue; -using flutter::MethodCall; -using flutter::MethodResultFunctions; - -} // namespace - -TEST(FirebaseAuthPlugin, GetPlatformVersion) { - FirebaseAuthPlugin plugin; - // Save the reply value from the success callback. - std::string result_string; - plugin.HandleMethodCall( - MethodCall("getPlatformVersion", std::make_unique()), - std::make_unique>( - [&result_string](const EncodableValue* result) { - result_string = std::get(*result); - }, - nullptr, nullptr)); - - // Since the exact string varies by host, just ensure that it's a string - // with the expected format. - EXPECT_TRUE(result_string.rfind("Windows ", 0) == 0); -} - -} // namespace test -} // namespace firebase_auth diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/CHANGELOG.md b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/CHANGELOG.md deleted file mode 100644 index 20a205f9..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/CHANGELOG.md +++ /dev/null @@ -1,695 +0,0 @@ -## 8.0.0 -* Updates minimum Flutter SDK to 3.38.1 -* Updates Dart SDK low bound to 3.10.0. -* Adds Swift Package Manager Support for the plugin. [PR 1395](https://github.com/googleads/googleads-mobile-flutter/pull/1395) -* Adds `isCollapsible` API. [FR 1294](https://github.com/googleads/googleads-mobile-flutter/issues/1294) -* Renamed method name to avoid possible name collision. [FR 1394](https://github.com/googleads/googleads-mobile-flutter/issues/1394) -* Migrated to use UISceneDelegate protocol. [Issue 1391](https://github.com/googleads/googleads-mobile-flutter/issues/1391) -* New to Anchored adaptive banner ads: - * The following APIs have been deprecated for their replacement: - * The `getCurrentOrientationAnchoredAdaptiveBannerAdSize` function is deprecated. Instead, use the `getLargeAnchoredAdaptiveBannerAdSize` function. - * The `getAnchoredAdaptiveBannerAdSize` function is deprecated. Instead, use the `getLargeAnchoredAdaptiveBannerAdSizeWithOrientation` function. -* Updates GMA [Android](https://developers.google.com/admob/android/rel-notes) dependency to 25.1.0 -* Updates GMA [iOS](https://developers.google.com/admob/ios/rel-notes) dependency to 13.2.0 -* Uses latest UMP SDK: - * [Android](https://developers.google.com/admob/android/privacy/release-notes) UMP SDK version 4.0.0. - * [iOS](https://developers.google.com/admob/ios/privacy/download#release_notes) UMP SDK version 3.1.0. - -## 7.0.0 -* Added character limits expected for Native Ad Templates. Issues [1243](https://github.com/googleads/googleads-mobile-flutter/issues/1243) and [1332](https://github.com/googleads/googleads-mobile-flutter/issues/1332) -* Fixed padding for Native Ads small template. [Issue 1357](https://github.com/googleads/googleads-mobile-flutter/issues/1357) -* Updated to use Gradle plugin 9.2.1 [Issue 1361](https://github.com/googleads/googleads-mobile-flutter/issues/1361) -* Updates dependencies. [Issue 1366](https://github.com/googleads/googleads-mobile-flutter/issues/1366) -* Updates GMA [Android](https://developers.google.com/admob/android/rel-notes) dependency to 24.9.0 -* Updates GMA [iOS](https://developers.google.com/admob/ios/rel-notes) dependency to 12.14.0 -* Uses latest UMP SDK: - * [Android](https://developers.google.com/admob/android/privacy/release-notes) UMP SDK version 4.0.0. - * [iOS](https://developers.google.com/admob/ios/privacy/download#release_notes) UMP SDK version 3.1.0. - -## 6.0.0 -* Updates minimum Flutter SDK to 3.27.0 -* Updates Dart SDK low bound to 3.6.0. -* Fixes AdMessageCodec deprecated API issue: https://github.com/googleads/googleads-mobile-flutter/issues/1242 -* Adds a new API (`isMounted`) to support recycling ad banners -* Updates GMA [Android](https://developers.google.com/admob/android/rel-notes) dependency to 24.1.0 -* Updates GMA [iOS](https://developers.google.com/admob/ios/rel-notes) dependency to 12.2.0 -* Uses latest UMP SDK: - * [Android](https://developers.google.com/admob/android/privacy/release-notes) UMP SDK version 3.2.0. - * [iOS](https://developers.google.com/admob/ios/privacy/download#release_notes) UMP SDK version 3.0.0. - -## 5.3.1 -* Fixes dart SDK low bound building issues: https://github.com/googleads/googleads-mobile-flutter/issues/1234 - -## 5.3.0 -* Updated WebView Flutter Android dependency -* Adds support for the new Debug Geography enums for the UMP SDK: - * [Android](https://developers.google.com/admob/android/privacy/release-notes) UMP SDK version 3.1.0. - * [iOS](https://developers.google.com/admob/ios/privacy/download#release_notes) UMP SDK version 2.7.0. -* Updates GMA [iOS](https://developers.google.com/admob/ios/rel-notes) dependency to 11.13.0 -* Updates GMA [Android](https://developers.google.com/admob/android/rel-notes) dependency to 23.6.0 - -## 5.2.0 -* Removed use of rootViewController for iOS GMA SDK which solved issues like - https://github.com/googleads/googleads-mobile-flutter/issues/1146 and https://github.com/googleads/googleads-mobile-flutter/issues/700. -* Android GMA SDK is now initialized on a background thread. -* Updates GMA [iOS](https://developers.google.com/admob/ios/rel-notes) dependency to 11.10.0 -* Updates GMA [Android](https://developers.google.com/admob/android/rel-notes) dependency to 23.4.0 - -## 5.1.0 -* Adds support for APIs from the [Android](https://developers.google.com/admob/android/privacy/release-notes) UMP SDK version 2.2.0. -* Adds support for APIs from the [iOS](https://developers.google.com/admob/ios/privacy/download#release_notes) UMP SDK version 2.4.0. - -## 5.0.0 -* Adds `MediationExtras` class to include parameters when using mediation through the implementation of `FlutterMediationExtras` in Android and `FlutterMediationExtras` in iOS. -* Deprecates `MediationNetworkExtrasProvider` and `FLTMediationNetworkExtrasProvider`. -* Removed the `orientation` parameter for the AppOpen Ad format. -* Bumps minimum Android SDK version to 21. -* Updates GMA iOS dependency to 11.2.0 -* Updates GMA Android dependency to 23.0.0 - -## 4.0.0 -* The minimum supported Flutter version is now 3.7.0. -* Removes `visibility_detector` as a dependency, and the workaround added in - https://github.com/googleads/googleads-mobile-flutter/pull/610. -* Adds null checks for Ad Ids for Android in - https://github.com/googleads/googleads-mobile-flutter/pull/967 -* Updated Android dependencies in https://github.com/googleads/googleads-mobile-flutter/pull/843 -* Updates GMA iOS dependency to 10.11.0 -* Updates GMA Android dependency to 22.5.0 - -## 3.1.0 -* Updates GMA iOS dependency to 10.9.0 -* Adds explicit UMP SDK 2.1.0 dependency for Android. -* Fixes https://github.com/googleads/googleads-mobile-flutter/issues/735 - -## 3.0.0 -* Adds support for `MobileAds.registerWebView()`. This API supports in-app ad monetization for - `WebView`s. You can read more in the [android](https://developers.google.com/admob/android/webview) - or [iOS](https://developers.google.com/admob/ios/webview) documentation. - This plugin now depends on [webview_flutter](https://pub.dev/packages/webview_flutter), - [webview_flutter_wkwebview](https://pub.dev/packages/webview_flutter_wkwebview), and - [webview_flutter_android](https://pub.dev/packages/webview_flutter_android) -* Updates Android GMA dependency to 22.0.0 and iOS dependency to 10.4.0 -* Fixes https://github.com/googleads/googleads-mobile-flutter/issues/700 -* Updates minimum supported Xcode version to 14.1. - -## 2.4.0 -* Adds support for native templates, which are predefined layouts for native ads. - * `NativeAd` has a new optional parameter, `nativeTemplateStyle` of type `NativeTemplateStyle`. - If provided, the plugin will inflate and style a platform native ad view for you, instead of - requiring you to write and register a NativeAdFactory (android) or FLTNativeAdFactory (iOS). -* Adds a new flag, AdWidget.optOutOfVisibilityDetectorWorkaround. Setting this to true - lets you opt out of the fix added for https://github.com/googleads/googleads-mobile-flutter/issues/580, - which was resolved in Flutter 3.7.0. - -## 2.3.0 -* Updates GMA iOS dependency to 9.13 -* Updates GMA Android dependency to 21.3.0 -* Updates request agent string based on metadata in AndroidManifest.xml or Info.plist - -## 2.2.0 -* Updates GMA iOS dependency to 9.11.0. This fixes dependency issues in apps that - also depend on the latest version of Firebase: https://github.com/googleads/googleads-mobile-flutter/issues/673 -* Adds the field `responseExtras` to `ResponseInfo`. See `ResponseInfo` docs: - * https://developers.google.com/admob/flutter/response-info - * https://developers.google.com/ad-manager/mobile-ads-sdk/flutter/response-info -* Fixes a crash introduced in 2.1.0, [issue #675](https://github.com/googleads/googleads-mobile-flutter/issues/675) - -## 2.1.0 -* Updates GMA dependencies to 21.2.0 (Android) and 9.10.0 (iOS): -* Adds `loadedAdapterResponseInfo` to `ResponseInfo` and the following fields to - `AdapterResponseInfo`: - * adSourceID - * adSourceInstanceId - * adSourceInstanceName - * adSourceName -* Fixes [close button issue on iOS](https://github.com/googleads/googleads-mobile-flutter/issues/191) -## 2.0.1 -* Bug fix for [issue 580](https://github.com/googleads/googleads-mobile-flutter/issues/580). - Adds a workaround on Android to wait for the ad widget to become visible - before attaching the platform view. - -## 2.0.0 -* Updates GMA Android dependency to 21.0.0 and iOS to 9.6.0 -* Removes `credentials` from `AdapterResponseInfo`, which is replaced with - `adUnitMapping`. -* Removes `serverSideVerificationOptions` from `RewardedAd.load()` and - `RewardedInterstitialAd.load()`, replacing them with setters - `RewardedAd.setServerSideVerificationOptions()` and - `RewardedInterstitialAd.setServerSideVerificationOptions()`. This lets you - update the ssv after the ad is loaded. -* Removes static `testAdUnitId` parameters. See the - [Admob](https://developers.google.com/admob/flutter/test-ads) and - [AdManager](https://developers.google.com/ad-manager/mobile-ads-sdk/flutter/test-ads) - documentation for up to date test ad units. -* Removes `NativeAdListener.onNativeAdClicked`. You should use `onAdClicked` - instead, which present on all ad listeners. -* Removes `AdRequest.location` - -## 1.3.0 -* Adds support for programmatically opening the debug options menu using`MobileAds.openDebugMenu(String adUnitId)` -* Adds support for Ad inspector APIs. See the [AdMob](https://developers.google.com/admob/flutter/ad-inspector) - and [Ad Manager](https://developers.google.com/ad-manager/mobile-ads-sdk/flutter/ad-inspector) - sites for integration guides. -* Adds support for User Messaging Platform. See the [AdMob](https://developers.google.com/admob/flutter/eu-consent) - and [Ad Manager](https://developers.google.com/ad-manager/mobile-ads-sdk/flutter/eu-consent) - sites for integration guides. - -## 1.2.0 -* Set new minimum height for `FluidAdWidget`. - This is required after Flutter v2.11.0-0.1.pre because Android platform views - that have no size don't load. -* Update GMA Android dependency to 20.6.0 and iOS to 8.13.0. - * [Android release notes](https://developers.google.com/admob/android/rel-notes) - * [iOS release notes](https://developers.google.com/admob/ios/rel-notes) -* Deprecate `AdapterResponseInfo.credentials` in favor of `adUnitMapping` -* Deprecates `LocationParams` in `AdRequest` and `AdManagerAdRequest`. - -## 1.1.0 -* Adds support for [Rewarded Interstitial](https://support.google.com/admob/answer/9884467) (beta) ad format. -* Adds support for `onAdClicked` events to all ad formats. `NativeAdListener.onNativeAdClicked` is now deprecated. - * `FullScreenContentCallback` and `AdWithViewListeners` now have an `onAdClicked` event. -## 1.0.1 - -* Fix for [Issue 449](https://github.com/googleads/googleads-mobile-flutter/issues/449). - In `LocationParams`, time is now treated as an optional parameter on Android. -* Fix for [Issue 447](https://github.com/googleads/googleads-mobile-flutter/issues/447), - which affected mediation networks that require an Activity to be initialized on Android. - -## 1.0.0 - -* Mediation is now supported in beta. - * There are new APIs to support passing network extras to mediation adapters: - * [MediationNetworkExtrasProvider](https://github.com/googleads/googleads-mobile-flutter/blob/master/packages/google_mobile_ads/android/src/main/java/io/flutter/plugins/googlemobileads/MediationNetworkExtrasProvider.java) - on Android and [FLTMediationNetworkExtrasProvider](https://github.com/googleads/googleads-mobile-flutter/blob/master/packages/google_mobile_ads/ios/Classes/FLTConstants.h) on iOS - * See the mediation example app [README](https://github.com/googleads/googleads-mobile-flutter/blob/master/packages/mediation_example/README.md) - for more details on how to use these APIs. - -* Fix for Android 12 issue [#330](https://github.com/googleads/googleads-mobile-flutter/issues/330) - * This will break compilation on android if you do not already set `compileSdkVersion` to `31`, or override the WorkManager dependency to < 2.7.0: - ``` - dependencies { - implementation('androidx.work:work-runtime') { - version { - strictly '2.6.0' - } - } - } - ``` -* Fixes issue [#404](https://github.com/googleads/googleads-mobile-flutter/issues/404) - * Adds a new dart class, `AppStateEventNotifier`. You should subscribe to `AppStateEventNotifier.appStateStream` - instead of using `WidgetsBindingObserver` to listen to app foreground/background events. - * See the app open [example app](https://github.com/googleads/googleads-mobile-flutter/tree/master/packages/app_open_example) for a reference - on how to use the new API. - -* Adds a new parameter `extras` to `AdRequest` and `AdManagerAdRequest`. - * This can be used to pass additional signals to the AdMob adapter, such as - [CCPA](https://developers.google.com/admob/android/ccpa) signals. - * For example, to notify Google that [RDP](https://developers.google.com/admob/android/ccpa#rdp_signal) - should be enabled when constructing an ad request: - ```dart - AdRequest request = AdRequest(extras: {'rdp': '1'}); - ``` - -## 0.13.6 - -* Partial fix for [#265](https://github.com/googleads/googleads-mobile-flutter/issues/265). - * The partial fix allows you to load ads from a cached flutter engine in the add to app scenario, - but it only works the first time the engine is attached to an activity. - * Support for reusing the engine in another activity after the first one is destroyed is blocked - by this Flutter issue which affects all platform views: https://github.com/flutter/flutter/issues/88880. -* Adds support for getRequestConfiguration API - * [Android API reference](https://developers.google.com/android/reference/com/google/android/gms/ads/MobileAds#public-static-requestconfiguration-getrequestconfiguration) - * [iOS API reference](https://developers.google.com/admob/ios/api/reference/Classes/GADMobileAds#requestconfiguration) -* Adds support for Fluid Ad Size (Ad Manager only) - * Fluid ads dynamically adjust their height based on their width. To help display them we've added a new - ad container, `FluidAdManagerBannerAd`, and a new widget `FluidAdWidget`. - * You can see the [fluid_example.dart](https://github.com/googleads/googleads-mobile-flutter/blob/master/packages/google_mobile_ads/example/lib/fluid_example.dart) for a reference of how to load and display a fluid ad. - * [Android API reference](https://developers.google.com/ad-manager/mobile-ads-sdk/android/native/styles#fluid_size) - * [iOS API reference](https://developers.google.com/ad-manager/mobile-ads-sdk/ios/native/native-styles#fluid_size) -* Adds `AdSize.getCurrentOrientationAnchoredAdaptiveBannerAdSize()` to support getting an `AnchoredAdaptiveBannerAdSize` in the current orientation. - * Previously the user had to specify an orientation (portrait / landscape) to create an AnchoredAdaptiveBannerAdSize. It has been made optional with this version. SDK will determine the current orientation of the device and return an appropriate AdSize. - * More information on anchored adaptive banners can be found here: - * [Admob android](https://developers.google.com/admob/android/banner/anchored-adaptive) - * [Admob iOS](https://developers.google.com/admob/ios/banner/anchored-adaptive) - * [Ad manager android](https://developers.google.com/ad-manager/mobile-ads-sdk/android/banner/anchored-adaptive) - * [Ad manager iOS](https://developers.google.com/ad-manager/mobile-ads-sdk/ios/banner/anchored-adaptive) -* Adds support for inline adaptive banner ads. - * Inline adaptive banner ads are meant to be used in scrollable content. They are of variable height and can be as tall as the device screen. - They differ from Fluid ads in that they only resize once when the ad is loaded. - You can see the [inline_adaptive_example.dart](https://github.com/googleads/googleads-mobile-flutter/blob/master/packages/google_mobile_ads/example/lib/inline_adaptive_example.dart) for a reference of how to load and display - inline adaptive banners. - * More information on inline adaptive banners can be found here: - * [Admob android](https://developers.google.com/admob/android/banner/inline-adaptive) - * [Admob iOS](https://developers.google.com/admob/ios/banner/inline-adaptive) - * [Ad manager android](https://developers.google.com/ad-manager/mobile-ads-sdk/android/banner/inline-adaptive) - * [Ad manager iOS](https://developers.google.com/ad-manager/mobile-ads-sdk/ios/banner/inline-adaptive) -* Fix for [#369](https://github.com/googleads/googleads-mobile-flutter/issues/369) - * Fixes setting the app volume in android (doesn't affect iOS). -* Adds support for setting location in `AdRequest` and `AdManagerAdRequest`. - * Both `AdRequest` and `AdManagerAdRequest` have a new param, `location`. - * Location data is not used to target Google Ads, but may be used by 3rd party ad networks. - * See other packages for getting the location. For example, https://pub.dev/packages/location. -* Adds `publisherProvidedId` to `AdManagerAdRequest` to support [publisher provided ids](https://support.google.com/admanager/answer/2880055). - -## 0.13.5 - -* Adds support for app open. - * Implementation guidance can be found [here](https://developers.google.com/admob/flutter/app-open). - * As a reference please also see the [example app](https://github.com/googleads/googleads-mobile-flutter/tree/master/packages/app_open_example). - * Best practices can be found [here](https://support.google.com/admob/answer/9341964?hl=en). - -## 0.13.4 - -* Adds support for muting and setting the volume level of the app. -* Visit the following links for more information: - * https://developers.google.com/admob/android/global-settings#video_ad_volume_control - * https://developers.google.com/android/reference/com/google/android/gms/ads/MobileAds#public-static-void-setappvolume-float-volume -* Adds support for setting immersive mode for Rewarded and Interstitial Ads in Android. -* Visit the following links for more information: - * https://developers.google.com/android/reference/com/google/android/gms/ads/interstitial/InterstitialAd?hl=en#setImmersiveMode(boolean) - * https://developers.google.com/android/reference/com/google/android/gms/ads/rewarded/RewardedAd#setImmersiveMode(boolean) -* Adds support for disableSDKCrashReporting in iOS; disableMediationInitialization and getVersionString in both the platforms. - * https://developers.google.com/admob/ios/api/reference/Classes/GADMobileAds#-disablesdkcrashreporting - * iOS (disableMediationInitialization): https://developers.google.com/admob/ios/api/reference/Classes/GADMobileAds#-disablemediationinitialization - * Android (disableMediationAdapterInitialization): https://developers.google.com/android/reference/com/google/android/gms/ads/MobileAds#public-static-void-disablemediationadapterinitialization-context-context - * https://developers.google.com/android/reference/com/google/android/gms/ads/MobileAds#getVersionString() - -## 0.13.3 - -* Adds support for NativeAdOptions. More documentation also available for [Android](https://developers.google.com/admob/android/native/options) and [iOS](https://developers.google.com/admob/ios/native/options) - -## 0.13.2+1 - -* Fixes [Issue #130](https://github.com/googleads/googleads-mobile-flutter/issues/130) - -## 0.13.2 - -* Fixes a crash where [PlatformView.getView() returns null](https://github.com/googleads/googleads-mobile-flutter/issues/46) -* Fixes memory leaks on Android. -* Fixes a [crash on iOS](https://github.com/googleads/googleads-mobile-flutter/issues/138). -* Marks smart banner sizes as deprecated. Instead you should use adaptive banners. - -## 0.13.1 - -* Adds support for the paid event callback. - -## 0.13.0 - -* Updates GMA Android and iOS dependencies to 20.1.0 and 8.5.0, respectively. -* Renames APIs that use the `Publisher` prefix to `AdManager`. -* Rewarded and Interstitial ads now provide static `load` methods and a new `FullScreenContentCallback` for full screen events. -* Native ads use [GADNativeAdView](https://developers.google.com/ad-manager/mobile-ads-sdk/ios/api/reference/Classes/GADNativeAdView) for iOS -and [NativeAdView](https://developers.google.com/android/reference/com/google/android/gms/ads/nativead/NativeAdView) on Android. -* Adds support for [ResponseInfo](https://developers.google.com/admob/android/response-info). -* Adds support for [same app key](https://developers.google.com/admob/ios/ios14#same_app_key) on iOS. -* Removes `testDevices` from `AdRequest`. Use `MobileAds.updateRequestConfiguration` to set test device ids. -* Removes `Ad.isLoaded()`. Instead you should use the `onAdLoaded` callback to track whether an ad is loaded. -* Removes need to call `Ad.dispose()` for Rewarded and Interstitial ads when they fail to load. - -## 0.12.2+1 - -* Fix anchored adaptive banner message corruption error. -* Update example app with better practices and adaptive banner. - -## 0.12.2 - -* Add support for anchored adaptive banners. - -## 0.12.1+1 - -* Fixes a [crash with Swift based native ads](https://github.com/googleads/googleads-mobile-flutter/issues/121) - -## 0.12.1 - -* Rewarded ads now take an optional `ServerSideVerification`, to support [custom data in rewarded ads](https://developers.google.com/admob/ios/rewarded-video-ssv#custom_data). - -## 0.12.0 - -* Migrated to null safety. Minimum Dart SDK version is bumped to 2.12.0. - -## 0.11.0+4 - -* Fixes a [bug](https://github.com/googleads/googleads-mobile-flutter/issues/47) where state is not properly cleaned up on hot restart. -* Update README and example app to appropriately dispose ads. - -## 0.11.0+3 - -* Fixes an [Android crash](https://github.com/googleads/googleads-mobile-flutter/issues/46) when reusing Native and Banner Ad objects. -* Fixes [iOS memory leaks](https://github.com/googleads/googleads-mobile-flutter/issues/69). -* Adds a section on Ad Manager to the README. -* Updates iOS setup in the README to include SKAdNetwork. - -## 0.11.0+2 - -* Set min Android version to `19`. -* Fixes bug that displayed "This AdWidget is already in the Widget tree". -* Update minimum gradle version. -* Add references to the [codelab](https://codelabs.developers.google.com/codelabs/admob-inline-ads-in-flutter#0) in the README. - -## 0.11.0+1 - -* Improve AdRequest documentation and fix README heading. - -## 0.11.0 -Open beta release of the Google Mobile Ads Flutter plugin. -Please see the [README](https://github.com/googleads/googleads-mobile-flutter/blob/master/README.md) for updated integration steps. - -* Package and file names have been renamed from `firebase_admob` to `google_mobile_ads`. - -* Removes support for legacy plugin APIs. - -* Removes Firebase dependencies. - -* Adds support for `RequestConfiguration` targeting APIs. - -* Adds support for Ad Manager key values, via the new `Publisher` ad containers. -See `PublisherBannerAd` and similar classes. - -* Shows warning if an `Ad` object is reused without being disposed. - -* Removes support for V1 embedding. - -* Add version to request agent. - -## 0.10.0 - -* Old Plugin API has been moved to `lib/firebase_admob_legacy.dart`. To keep using the old API change -`import 'package:firebase_admob/firebase_admob.dart';` to -`import 'package:firebase_admob/firebase_admob_legacy.dart';`. - -* Updated `RewardedAd` to the latest API. Instantiating and displaying a `RewardedAd` is now similar -to`InterstitialAd`. See README for more info. A simple example is shown below. -```dart -final RewardedAd myRewardedAd = RewardedAd( - adUnitId: RewardedAd.testAdUnitId, - request: AdRequest(), - listener: AdListener( - onAdLoaded: (Ad ad) => (ad as RewardedAd).show(), - ), -); -myRewardedAd.load(); -``` - -* Replacement of `MobileAdEvent` callbacks with improved `AdListener`. -```dart -BannerAd( - listener: (MobileAdEvent event) { - print("BannerAd event $event"); - }, -); -``` - -can be replaced by: - -```dart -BannerAd( - listener: AdListener( - onAdLoaded: (Ad ad) => print('$BannerAd loaded.'), - onAdFailedToLoad: (Ad ad) => print('$BannerAd failed to load.'), - ), -); -``` - -* `MobileAdTargeting` has been renamed to `AdRequest` to keep consistent with SDK. -* `MobileAd` has been renamed to `Ad`. - -* Fix smart banners on iOS. - - `AdSize.smartBanner` is for Android only. - - `AdSize.smartBannerPortrait` and `AdSize.smartBannerLandscape` are only for iOS. - - Use `Adsize.getSmartBanner(Orientation)` to get the correct value depending on platform. The - orientation can be retrieved using a `BuildContext`: -```dart -Orientation currentOrientation = MediaQuery.of(context).orientation; -``` - -* Removal of `show()` for `BannerAd` and `NativeAd` since they can now be displayed within a widget -tree. -* Showing of `InterstitialAd` and `RewardedAd` should now wait for `AdListener.onAdLoaded` callback -before calling `show()` as best practice: - -```dart -InterstitialAd( - adUnitId: InterstitialAd.testAdUnitId, - targetingInfo: targetingInfo, - listener: (MobileAdEvent event) { - print("InterstitialAd event $event"); - }, -) - ..load() - ..show(); -``` - -can be replaced by: - -```dart -final InterstatialAd interstitial = InterstatialAd( - adUnitId: InterstatialAd.testAdUnitId, - request: AdRequest(), - listener: AdListener( - onAdLoaded: (Ad ad) => (ad as InterstatialAd).show(), - ), -)..load(); -``` - -* `Ad.load()` no longer returns a boolean that only confirms the method was called successfully. - -## 0.9.3+4 - -* Bump Dart version requirement. - -## 0.9.3+3 - -* Provide a default `MobileAdTargetingInfo` for `RewardedVideoAd.load()`. `RewardedVideoAd.load()` -would inadvertently cause a crash if `MobileAdTargetingInfo` was excluded. - -## 0.9.3+2 - -* Fixed bug related to simultaneous ad loading behavior on iOS. - -## 0.9.3+1 - -* Modified README to reflect supporting Native Ads. - -## 0.9.3 - -* Support Native Ads on iOS. - -## 0.9.2+1 - -* Added note about required Google Service config files. - -## 0.9.2 - -* Add basic Native Ads support for Android. - -## 0.9.1+3 - -* Replace deprecated `getFlutterEngine` call on Android. - -## 0.9.1+2 - -* Make the pedantic dev_dependency explicit. - -## 0.9.1+1 - -* Enable custom parameters for rewarded video server-side verification callbacks. - -## 0.9.1 - -* Support v2 embedding. This will remain compatible with the original embedding and won't require - app migration. - -## 0.9.0+10 - -* Remove the deprecated `author:` field from pubspec.yaml -* Migrate the plugin to the pubspec platforms manifest. -* Bump the minimum Flutter version to 1.10.0. - -## 0.9.0+9 - -* Updated README instructions for contributing for consistency with other Flutterfire plugins. - -## 0.9.0+8 - -* Remove AndroidX warning. - -## 0.9.0+7 - -* Update Android gradle plugin, gradle, and Admob versions. -* Improvements to the Android implementation, fixing warnings about a possible null pointer exception. -* Fixed an issue where an advertisement could incorrectly remain displayed when transitioning to another screen. - -## 0.9.0+6 - -* Remove duplicate example from documentation. - -## 0.9.0+5 - -* Update documentation to reflect new repository location. - -## 0.9.0+4 - -* Add the ability to horizontally adjust the ads banner location by specifying a pixel offset from the centre. - -## 0.9.0+3 - -* Update google-services Android gradle plugin to 4.3.0 in documentation and examples. - -## 0.9.0+2 - -* On Android, no longer crashes when registering the plugin if no activity is available. - -## 0.9.0+1 - -* Add missing template type parameter to `invokeMethod` calls. -* Bump minimum Flutter version to 1.5.0. - -## 0.9.0 - -* Update Android dependencies to latest. - -## 0.8.0+4 - -* Update documentation to add AdMob App ID in Info.plist -* Add iOS AdMob App ID in Info.plist in example project - -## 0.8.0+3 - -* Log messages about automatic configuration of the default app are now less confusing. - -## 0.8.0+2 - -* Remove categories. - -## 0.8.0+1 - -* Log a more detailed warning at build time about the previous AndroidX - migration. - -## 0.8.0 - -* **Breaking change**. Migrate from the deprecated original Android Support - Library to AndroidX. This shouldn't result in any functional changes, but it - requires any Android apps using this plugin to [also - migrate](https://developer.android.com/jetpack/androidx/migrate) if they're - using the original support library. - -## 0.7.0 - -* Mark Dart code as deprecated where the newer version AdMob deprecates features (Birthday, Gender, and Family targeting). -* Update gradle dependencies. -* Add documentation for new AndroidManifest requirements. - -## 0.6.1+1 - -* Bump Android dependencies to latest. -* __THIS WAS AN UNINTENTIONAL BREAKING CHANGE__. Users should consume 0.6.1 instead if they need the old API, or 0.7.0 for the bumped version. -* Guide how to fix crash with admob version 17.0.0 in README - -## 0.6.1 - -* listener on MobileAd shouldn't be final. -* Ad listeners can to be set in or out of Ad initialization. - -## 0.6.0 - -* Add nonPersonalizedAds option to MobileAdTargetingInfo - -## 0.5.7 - -* Bumped mockito dependency to pick up Dart 2 support. - -## 0.5.6 - -* Bump Android and Firebase dependency versions. - -## 0.5.5 - -* Updated Gradle tooling to match Android Studio 3.1.2. - -## 0.5.4+1 - -* Graduate to beta. - -## 0.5.4 - -* Fixed a bug that was causing rewarded video failure event to be called on the wrong listener. - -## 0.5.3 - -* Updated Google Play Services dependencies to version 15.0.0. -* Added handling of rewarded video completion event. - -## 0.5.2 - -* Simplified podspec for Cocoapods 1.5.0, avoiding link issues in app archives. - -## 0.5.1 - -* Fixed Dart 2 type errors. - -## 0.5.0 - -* **Breaking change**. The BannerAd constructor now requires an AdSize - parameter. BannerAds can be created with AdSize.smartBanner, or one of - the other predefined AdSize values. Previously BannerAds were always - defined with the smartBanner size. - -## 0.4.0 - -* **Breaking change**. Set SDK constraints to match the Flutter beta release. - -## 0.3.2 - -* Fixed Dart 2 type errors. - -## 0.3.1 - -* Enabled use in Swift projects. - -## 0.3.0 - -* Added support for rewarded video ads. -* **Breaking change**. The properties and parameters named "unitId" in BannerAd - and InterstitialAd have been renamed to "adUnitId" to better match AdMob's - documentation and UI. - -## 0.2.3 - -* Simplified and upgraded Android project template to Android SDK 27. -* Updated package description. - -## 0.2.2 - -* Added platform-specific App IDs and ad unit IDs to example. -* Separated load and show functionality for interstitials in example. - -## 0.2.1 - -* Use safe area layout to place ad in iOS 11 - -## 0.2.0 - -* **Breaking change**. MobileAd TargetingInfo requestAgent is now hardcoded to 'flutter-alpha'. - -## 0.1.0 - -* **Breaking change**. Upgraded to Gradle 4.1 and Android Studio Gradle plugin - 3.0.1. Older Flutter projects need to upgrade their Gradle setup as well in - order to use this version of the plugin. Instructions can be found - [here](https://github.com/flutter/flutter/wiki/Updating-Flutter-projects-to-Gradle-4.1-and-Android-Studio-Gradle-plugin-3.0.1). -* Relaxed GMS dependency to [11.4.0,12.0[ - -## 0.0.3 - -* Add FLT prefix to iOS types -* Change GMS dependency to 11.4.+ - -## 0.0.2 - -* Change GMS dependency to 11.+ - -## 0.0.1 - -* Initial Release: not ready for production use diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/LICENSE b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/LICENSE deleted file mode 100644 index d6456956..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/LICENSE +++ /dev/null @@ -1,202 +0,0 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/README.md b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/README.md deleted file mode 100644 index 622eb3c9..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/README.md +++ /dev/null @@ -1,33 +0,0 @@ -# Google Mobile Ads for Flutter - -[![google_mobile_ads](https://github.com/googleads/googleads-mobile-flutter/actions/workflows/google_mobile_ads.yaml/badge.svg)](https://github.com/googleads/googleads-mobile-flutter/actions/workflows/google_mobile_ads.yaml) - -This repository contains the source code for the Google Mobile Ads Flutter -plugin, which enables publishers to monetize [Flutter](https://flutter.dev/) -apps using the Google Mobile Ads SDK. - -## Documentation - -For instructions on how to use the plugin, please refer to the developer guides -for [AdMob](https://developers.google.com/admob/flutter/quick-start) and -[Ad Manager](https://developers.google.com/ad-manager/mobile-ads-sdk/flutter/quick-start). - -## Downloads - -See [pub.dev](https://pub.dev/packages/google_mobile_ads/versions) for the -latest releases of the plugin. - -## Suggesting improvements - -To file bugs, make feature requests, or to suggest other improvements, please -use [github's issue tracker](https://github.com/googleads/googleads-mobile-flutter/issues). - - -## Other resources - -* [AdMob help center](https://support.google.com/admob/?hl=en#topic=7383088) -* [Ad Manager help center](https://support.google.com/admanager/?hl=en#topic=7505988) - -## License - -[Apache 2.0 License](https://www.apache.org/licenses/LICENSE-2.0) \ No newline at end of file diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/build.gradle b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/build.gradle deleted file mode 100644 index 14c700f9..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/build.gradle +++ /dev/null @@ -1,77 +0,0 @@ -group 'io.flutter.plugins.googlemobileads' -version '8.0.0' - -buildscript { - ext { - agp_version = '8.13.1' - } - repositories { - google() - mavenCentral() - } - - dependencies { - classpath "com.android.tools.build:gradle:$agp_version" - } -} - -rootProject.allprojects { - repositories { - google() - mavenCentral() - } -} - -apply plugin: 'com.android.library' - -android { - compileSdk 36 - - if (project.android.hasProperty('namespace')) { - namespace 'io.flutter.plugins.googlemobileads' - } - - defaultConfig { - minSdk 24 - } - lintOptions { - disable 'InvalidPackage' - } - dependencies { - api 'com.google.android.gms:play-services-ads:25.1.0' - implementation 'com.google.android.ump:user-messaging-platform:4.0.0' - implementation 'androidx.constraintlayout:constraintlayout:2.2.1' - implementation 'androidx.lifecycle:lifecycle-process:2.10.0' - implementation 'com.google.errorprone:error_prone_annotations:2.48.0' - testImplementation 'junit:junit:4.13.2' - testImplementation 'org.hamcrest:hamcrest:3.0' - testImplementation 'org.mockito:mockito-core:5.23.0' - testImplementation 'org.robolectric:robolectric:4.16.1' - testImplementation 'androidx.test:core:1.7.0' - } - testOptions { - unitTests { - includeAndroidResources = true - } - } -} - -afterEvaluate { - def containsEmbeddingDependencies = configurations.any { configuration -> - configuration.dependencies.any { dependency -> - dependency.group == 'io.flutter' && - dependency.name.startsWith('flutter_embedding') && - (dependency instanceof ModuleDependency && dependency.isTransitive()) - } - } - if (!containsEmbeddingDependencies) { - android { - dependencies { - def lifecycle_version = "1.1.1" - compileOnly "android.arch.lifecycle:runtime:$lifecycle_version" - compileOnly "android.arch.lifecycle:common:$lifecycle_version" - compileOnly "android.arch.lifecycle:common-java8:$lifecycle_version" - } - } - } -} diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/gradle.properties b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/gradle.properties deleted file mode 100644 index 94e8c9d9..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/gradle.properties +++ /dev/null @@ -1,15 +0,0 @@ -## For more details on how to configure your build environment visit -# http://www.gradle.org/docs/current/userguide/build_environment.html -# -# Specifies the JVM arguments used for the daemon process. -# The setting is particularly useful for tweaking memory settings. -# Default value: -Xmx1024m -XX:MaxPermSize=256m -# org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 -# -# When configured, Gradle will run in incubating parallel mode. -# This option should only be used with decoupled projects. More details, visit -# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects -# org.gradle.parallel=true -#Fri Aug 06 00:15:03 EDT 2021 -android.useAndroidX=true -android.enableJetifier=true diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/gradle/gradle-daemon-jvm.properties b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/gradle/gradle-daemon-jvm.properties deleted file mode 100644 index 6c1139ec..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/gradle/gradle-daemon-jvm.properties +++ /dev/null @@ -1,12 +0,0 @@ -#This file is generated by updateDaemonJvm -toolchainUrl.FREE_BSD.AARCH64=https\://api.foojay.io/disco/v3.0/ids/ec7520a1e057cd116f9544c42142a16b/redirect -toolchainUrl.FREE_BSD.X86_64=https\://api.foojay.io/disco/v3.0/ids/4c4f879899012ff0a8b2e2117df03b0e/redirect -toolchainUrl.LINUX.AARCH64=https\://api.foojay.io/disco/v3.0/ids/ec7520a1e057cd116f9544c42142a16b/redirect -toolchainUrl.LINUX.X86_64=https\://api.foojay.io/disco/v3.0/ids/4c4f879899012ff0a8b2e2117df03b0e/redirect -toolchainUrl.MAC_OS.AARCH64=https\://api.foojay.io/disco/v3.0/ids/73bcfb608d1fde9fb62e462f834a3299/redirect -toolchainUrl.MAC_OS.X86_64=https\://api.foojay.io/disco/v3.0/ids/846ee0d876d26a26f37aa1ce8de73224/redirect -toolchainUrl.UNIX.AARCH64=https\://api.foojay.io/disco/v3.0/ids/ec7520a1e057cd116f9544c42142a16b/redirect -toolchainUrl.UNIX.X86_64=https\://api.foojay.io/disco/v3.0/ids/4c4f879899012ff0a8b2e2117df03b0e/redirect -toolchainUrl.WINDOWS.AARCH64=https\://api.foojay.io/disco/v3.0/ids/9482ddec596298c84656d31d16652665/redirect -toolchainUrl.WINDOWS.X86_64=https\://api.foojay.io/disco/v3.0/ids/39701d92e1756bb2f141eb67cd4c660e/redirect -toolchainVersion=21 diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/gradle/wrapper/gradle-wrapper.properties b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/gradle/wrapper/gradle-wrapper.properties deleted file mode 100644 index c5856afb..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/gradle/wrapper/gradle-wrapper.properties +++ /dev/null @@ -1,6 +0,0 @@ -#Thu Dec 04 10:45:11 PST 2025 -distributionBase=GRADLE_USER_HOME -distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-9.2.1-bin.zip -zipStoreBase=GRADLE_USER_HOME -zipStorePath=wrapper/dists diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/settings.gradle b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/settings.gradle deleted file mode 100644 index 84685e36..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/settings.gradle +++ /dev/null @@ -1 +0,0 @@ -rootProject.name = 'google_mobile_ads' diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/AndroidManifest.xml b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/AndroidManifest.xml deleted file mode 100644 index eaa5574a..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/AndroidManifest.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/java/com/google/android/ads/nativetemplates/NativeTemplateStyle.java b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/java/com/google/android/ads/nativetemplates/NativeTemplateStyle.java deleted file mode 100644 index 91ababe9..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/java/com/google/android/ads/nativetemplates/NativeTemplateStyle.java +++ /dev/null @@ -1,272 +0,0 @@ -// Copyright 2019 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package com.google.android.ads.nativetemplates; - -import android.graphics.Typeface; -import android.graphics.drawable.ColorDrawable; -import androidx.annotation.Nullable; -import com.google.errorprone.annotations.CanIgnoreReturnValue; - -/** A class containing the optional styling options for the Native Template. */ -public final class NativeTemplateStyle { - - // Call to action typeface. - private Typeface callToActionTextTypeface; - - // Size of call to action text. - private float callToActionTextSize; - - // Call to action typeface color in the form 0xAARRGGBB. - @Nullable private Integer callToActionTypefaceColor; - - // Call to action background color. - private ColorDrawable callToActionBackgroundColor; - - // All templates have a primary text area which is populated by the native ad's headline. - - // Primary text typeface. - private Typeface primaryTextTypeface; - - // Size of primary text. - private float primaryTextSize; - - // Primary text typeface color in the form 0xAARRGGBB. - @Nullable private Integer primaryTextTypefaceColor; - - // Primary text background color. - private ColorDrawable primaryTextBackgroundColor; - - // The typeface, typeface color, and background color for the second row of text in the template. - // All templates have a secondary text area which is populated either by the body of the ad or - // by the rating of the app. - - // Secondary text typeface. - private Typeface secondaryTextTypeface; - - // Size of secondary text. - private float secondaryTextSize; - - // Secondary text typeface color in the form 0xAARRGGBB. - @Nullable private Integer secondaryTextTypefaceColor; - - // Secondary text background color. - private ColorDrawable secondaryTextBackgroundColor; - - // The typeface, typeface color, and background color for the third row of text in the template. - // The third row is used to display store name or the default tertiary text. - - // Tertiary text typeface. - private Typeface tertiaryTextTypeface; - - // Size of tertiary text. - private float tertiaryTextSize; - - // Tertiary text typeface color in the form 0xAARRGGBB. - @Nullable private Integer tertiaryTextTypefaceColor; - - // Tertiary text background color. - private ColorDrawable tertiaryTextBackgroundColor; - - // The background color for the bulk of the ad. - private ColorDrawable mainBackgroundColor; - - public Typeface getCallToActionTextTypeface() { - return callToActionTextTypeface; - } - - public float getCallToActionTextSize() { - return callToActionTextSize; - } - - @Nullable - public Integer getCallToActionTypefaceColor() { - return callToActionTypefaceColor; - } - - public ColorDrawable getCallToActionBackgroundColor() { - return callToActionBackgroundColor; - } - - public Typeface getPrimaryTextTypeface() { - return primaryTextTypeface; - } - - public float getPrimaryTextSize() { - return primaryTextSize; - } - - @Nullable - public Integer getPrimaryTextTypefaceColor() { - return primaryTextTypefaceColor; - } - - public ColorDrawable getPrimaryTextBackgroundColor() { - return primaryTextBackgroundColor; - } - - public Typeface getSecondaryTextTypeface() { - return secondaryTextTypeface; - } - - public float getSecondaryTextSize() { - return secondaryTextSize; - } - - @Nullable - public Integer getSecondaryTextTypefaceColor() { - return secondaryTextTypefaceColor; - } - - public ColorDrawable getSecondaryTextBackgroundColor() { - return secondaryTextBackgroundColor; - } - - public Typeface getTertiaryTextTypeface() { - return tertiaryTextTypeface; - } - - public float getTertiaryTextSize() { - return tertiaryTextSize; - } - - @Nullable - public Integer getTertiaryTextTypefaceColor() { - return tertiaryTextTypefaceColor; - } - - public ColorDrawable getTertiaryTextBackgroundColor() { - return tertiaryTextBackgroundColor; - } - - public ColorDrawable getMainBackgroundColor() { - return mainBackgroundColor; - } - - /** A class that provides helper methods to build a style object. */ - public static final class Builder { - - private NativeTemplateStyle styles; - - public Builder() { - this.styles = new NativeTemplateStyle(); - } - - @CanIgnoreReturnValue - public Builder withCallToActionTextTypeface(Typeface callToActionTextTypeface) { - this.styles.callToActionTextTypeface = callToActionTextTypeface; - return this; - } - - @CanIgnoreReturnValue - public Builder withCallToActionTextSize(float callToActionTextSize) { - this.styles.callToActionTextSize = callToActionTextSize; - return this; - } - - @CanIgnoreReturnValue - public Builder withCallToActionTypefaceColor(int callToActionTypefaceColor) { - this.styles.callToActionTypefaceColor = callToActionTypefaceColor; - return this; - } - - @CanIgnoreReturnValue - public Builder withCallToActionBackgroundColor(ColorDrawable callToActionBackgroundColor) { - this.styles.callToActionBackgroundColor = callToActionBackgroundColor; - return this; - } - - @CanIgnoreReturnValue - public Builder withPrimaryTextTypeface(Typeface primaryTextTypeface) { - this.styles.primaryTextTypeface = primaryTextTypeface; - return this; - } - - @CanIgnoreReturnValue - public Builder withPrimaryTextSize(float primaryTextSize) { - this.styles.primaryTextSize = primaryTextSize; - return this; - } - - @CanIgnoreReturnValue - public Builder withPrimaryTextTypefaceColor(int primaryTextTypefaceColor) { - this.styles.primaryTextTypefaceColor = primaryTextTypefaceColor; - return this; - } - - @CanIgnoreReturnValue - public Builder withPrimaryTextBackgroundColor(ColorDrawable primaryTextBackgroundColor) { - this.styles.primaryTextBackgroundColor = primaryTextBackgroundColor; - return this; - } - - @CanIgnoreReturnValue - public Builder withSecondaryTextTypeface(Typeface secondaryTextTypeface) { - this.styles.secondaryTextTypeface = secondaryTextTypeface; - return this; - } - - @CanIgnoreReturnValue - public Builder withSecondaryTextSize(float secondaryTextSize) { - this.styles.secondaryTextSize = secondaryTextSize; - return this; - } - - @CanIgnoreReturnValue - public Builder withSecondaryTextTypefaceColor(int secondaryTextTypefaceColor) { - this.styles.secondaryTextTypefaceColor = secondaryTextTypefaceColor; - return this; - } - - @CanIgnoreReturnValue - public Builder withSecondaryTextBackgroundColor(ColorDrawable secondaryTextBackgroundColor) { - this.styles.secondaryTextBackgroundColor = secondaryTextBackgroundColor; - return this; - } - - @CanIgnoreReturnValue - public Builder withTertiaryTextTypeface(Typeface tertiaryTextTypeface) { - this.styles.tertiaryTextTypeface = tertiaryTextTypeface; - return this; - } - - @CanIgnoreReturnValue - public Builder withTertiaryTextSize(float tertiaryTextSize) { - this.styles.tertiaryTextSize = tertiaryTextSize; - return this; - } - - @CanIgnoreReturnValue - public Builder withTertiaryTextTypefaceColor(int tertiaryTextTypefaceColor) { - this.styles.tertiaryTextTypefaceColor = tertiaryTextTypefaceColor; - return this; - } - - @CanIgnoreReturnValue - public Builder withTertiaryTextBackgroundColor(ColorDrawable tertiaryTextBackgroundColor) { - this.styles.tertiaryTextBackgroundColor = tertiaryTextBackgroundColor; - return this; - } - - @CanIgnoreReturnValue - public Builder withMainBackgroundColor(ColorDrawable mainBackgroundColor) { - this.styles.mainBackgroundColor = mainBackgroundColor; - return this; - } - - public NativeTemplateStyle build() { - return styles; - } - } -} diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/java/com/google/android/ads/nativetemplates/TemplateView.java b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/java/com/google/android/ads/nativetemplates/TemplateView.java deleted file mode 100644 index 8ee7f145..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/java/com/google/android/ads/nativetemplates/TemplateView.java +++ /dev/null @@ -1,295 +0,0 @@ -// Copyright 2019 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package com.google.android.ads.nativetemplates; - -import android.content.Context; -import android.content.res.TypedArray; -import android.graphics.Typeface; -import android.graphics.drawable.Drawable; -import android.text.TextUtils; -import android.util.AttributeSet; -import android.view.LayoutInflater; -import android.widget.Button; -import android.widget.FrameLayout; -import android.widget.ImageView; -import android.widget.RatingBar; -import android.widget.TextView; -import androidx.annotation.Nullable; -import androidx.constraintlayout.widget.ConstraintLayout; -import com.google.android.gms.ads.nativead.MediaView; -import com.google.android.gms.ads.nativead.NativeAd; -import com.google.android.gms.ads.nativead.NativeAdView; -import io.flutter.plugins.googlemobileads.R; - -/** Base class for a template view. */ -public final class TemplateView extends FrameLayout { - - private int templateType; - private NativeTemplateStyle styles; - private NativeAd nativeAd; - private NativeAdView nativeAdView; - - private TextView primaryView; - private TextView secondaryView; - private RatingBar ratingBar; - private TextView tertiaryView; - private ImageView iconView; - private MediaView mediaView; - private Button callToActionView; - private ConstraintLayout background; - - private static final String MEDIUM_TEMPLATE = "medium_template"; - private static final String SMALL_TEMPLATE = "small_template"; - - public TemplateView(Context context) { - super(context); - } - - public TemplateView(Context context, @Nullable AttributeSet attrs) { - super(context, attrs); - initView(context, attrs); - } - - public TemplateView(Context context, @Nullable AttributeSet attrs, int defStyleAttr) { - super(context, attrs, defStyleAttr); - initView(context, attrs); - } - - public TemplateView(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) { - super(context, attrs, defStyleAttr, defStyleRes); - initView(context, attrs); - } - - public void setStyles(NativeTemplateStyle styles) { - this.styles = styles; - this.applyStyles(); - } - - public NativeAdView getNativeAdView() { - return nativeAdView; - } - - private void applyStyles() { - - Drawable mainBackground = styles.getMainBackgroundColor(); - if (mainBackground != null) { - background.setBackground(mainBackground); - if (primaryView != null) { - primaryView.setBackground(mainBackground); - } - if (secondaryView != null) { - secondaryView.setBackground(mainBackground); - } - if (tertiaryView != null) { - tertiaryView.setBackground(mainBackground); - } - } - - Typeface primary = styles.getPrimaryTextTypeface(); - if (primary != null && primaryView != null) { - primaryView.setTypeface(primary); - } - - Typeface secondary = styles.getSecondaryTextTypeface(); - if (secondary != null && secondaryView != null) { - secondaryView.setTypeface(secondary); - } - - Typeface tertiary = styles.getTertiaryTextTypeface(); - if (tertiary != null && tertiaryView != null) { - tertiaryView.setTypeface(tertiary); - } - - Typeface ctaTypeface = styles.getCallToActionTextTypeface(); - if (ctaTypeface != null && callToActionView != null) { - callToActionView.setTypeface(ctaTypeface); - } - - if (styles.getPrimaryTextTypefaceColor() != null && primaryView != null) { - primaryView.setTextColor(styles.getPrimaryTextTypefaceColor()); - } - - if (styles.getSecondaryTextTypefaceColor() != null && secondaryView != null) { - secondaryView.setTextColor(styles.getSecondaryTextTypefaceColor()); - } - - if (styles.getTertiaryTextTypefaceColor() != null && tertiaryView != null) { - tertiaryView.setTextColor(styles.getTertiaryTextTypefaceColor()); - } - - if (styles.getCallToActionTypefaceColor() != null && callToActionView != null) { - callToActionView.setTextColor(styles.getCallToActionTypefaceColor()); - } - - float ctaTextSize = styles.getCallToActionTextSize(); - if (ctaTextSize > 0 && callToActionView != null) { - callToActionView.setTextSize(ctaTextSize); - } - - float primaryTextSize = styles.getPrimaryTextSize(); - if (primaryTextSize > 0 && primaryView != null) { - primaryView.setTextSize(primaryTextSize); - } - - float secondaryTextSize = styles.getSecondaryTextSize(); - if (secondaryTextSize > 0 && secondaryView != null) { - secondaryView.setTextSize(secondaryTextSize); - } - - float tertiaryTextSize = styles.getTertiaryTextSize(); - if (tertiaryTextSize > 0 && tertiaryView != null) { - tertiaryView.setTextSize(tertiaryTextSize); - } - - Drawable ctaBackground = styles.getCallToActionBackgroundColor(); - if (ctaBackground != null && callToActionView != null) { - callToActionView.setBackground(ctaBackground); - } - - Drawable primaryBackground = styles.getPrimaryTextBackgroundColor(); - if (primaryBackground != null && primaryView != null) { - primaryView.setBackground(primaryBackground); - } - - Drawable secondaryBackground = styles.getSecondaryTextBackgroundColor(); - if (secondaryBackground != null && secondaryView != null) { - secondaryView.setBackground(secondaryBackground); - } - - Drawable tertiaryBackground = styles.getTertiaryTextBackgroundColor(); - if (tertiaryBackground != null && tertiaryView != null) { - tertiaryView.setBackground(tertiaryBackground); - } - - invalidate(); - requestLayout(); - } - - private boolean adHasOnlyStore(NativeAd nativeAd) { - String store = nativeAd.getStore(); - String advertiser = nativeAd.getAdvertiser(); - return !TextUtils.isEmpty(store) && TextUtils.isEmpty(advertiser); - } - - public void setNativeAd(NativeAd nativeAd) { - this.nativeAd = nativeAd; - - String store = nativeAd.getStore(); - String advertiser = nativeAd.getAdvertiser(); - String headline = nativeAd.getHeadline(); - String body = nativeAd.getBody(); - String cta = nativeAd.getCallToAction(); - Double starRating = nativeAd.getStarRating(); - NativeAd.Image icon = nativeAd.getIcon(); - - String secondaryText; - - nativeAdView.setCallToActionView(callToActionView); - nativeAdView.setHeadlineView(primaryView); - nativeAdView.setMediaView(mediaView); - secondaryView.setVisibility(VISIBLE); - if (adHasOnlyStore(nativeAd)) { - nativeAdView.setStoreView(secondaryView); - secondaryText = store; - } else if (!TextUtils.isEmpty(advertiser)) { - nativeAdView.setAdvertiserView(secondaryView); - secondaryText = advertiser; - } else { - secondaryText = ""; - } - - primaryView.setText(headline); - callToActionView.setText(cta); - - // Set the secondary view to be the star rating if available. - if (starRating != null && starRating > 0) { - secondaryView.setVisibility(GONE); - ratingBar.setVisibility(VISIBLE); - ratingBar.setRating(starRating.floatValue()); - - nativeAdView.setStarRatingView(ratingBar); - } else { - secondaryView.setText(secondaryText); - secondaryView.setVisibility(VISIBLE); - ratingBar.setVisibility(GONE); - } - - if (icon != null) { - iconView.setVisibility(VISIBLE); - iconView.setImageDrawable(icon.getDrawable()); - } else { - iconView.setVisibility(GONE); - } - - if (tertiaryView != null) { - tertiaryView.setText(body); - nativeAdView.setBodyView(tertiaryView); - } - - nativeAdView.setNativeAd(nativeAd); - } - - /** - * To prevent memory leaks, make sure to destroy your ad when you don't need it anymore. This - * method does not destroy the template view. - * https://developers.google.com/admob/android/native-unified#destroy_ad - */ - public void destroyNativeAd() { - nativeAd.destroy(); - } - - public String getTemplateTypeName() { - if (templateType == R.layout.gnt_medium_template_view) { - return MEDIUM_TEMPLATE; - } else if (templateType == R.layout.gnt_small_template_view) { - return SMALL_TEMPLATE; - } - return ""; - } - - private void initView(Context context, AttributeSet attributeSet) { - - TypedArray attributes = - context.getTheme().obtainStyledAttributes(attributeSet, R.styleable.TemplateView, 0, 0); - - try { - templateType = - attributes.getResourceId( - R.styleable.TemplateView_gnt_template_type, R.layout.gnt_medium_template_view); - } finally { - attributes.recycle(); - } - LayoutInflater inflater = - (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); - inflater.inflate(templateType, this); - } - - @Override - public void onFinishInflate() { - super.onFinishInflate(); - nativeAdView = (NativeAdView) findViewById(R.id.native_ad_view); - primaryView = (TextView) findViewById(R.id.primary); - secondaryView = (TextView) findViewById(R.id.secondary); - tertiaryView = (TextView) findViewById(R.id.body); - - ratingBar = (RatingBar) findViewById(R.id.rating_bar); - ratingBar.setEnabled(false); - - callToActionView = (Button) findViewById(R.id.cta); - iconView = (ImageView) findViewById(R.id.icon); - mediaView = (MediaView) findViewById(R.id.media_view); - background = (ConstraintLayout) findViewById(R.id.background); - } -} diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/java/io/flutter/plugins/googlemobileads/AdInstanceManager.java b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/java/io/flutter/plugins/googlemobileads/AdInstanceManager.java deleted file mode 100644 index 3adc88b2..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/java/io/flutter/plugins/googlemobileads/AdInstanceManager.java +++ /dev/null @@ -1,245 +0,0 @@ -// Copyright 2021 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package io.flutter.plugins.googlemobileads; - -import android.app.Activity; -import android.os.Handler; -import android.os.Looper; -import androidx.annotation.NonNull; -import androidx.annotation.Nullable; -import com.google.android.gms.ads.AdError; -import com.google.android.gms.ads.ResponseInfo; -import io.flutter.plugin.common.MethodChannel; -import io.flutter.plugins.googlemobileads.FlutterAd.FlutterAdError; -import io.flutter.plugins.googlemobileads.FlutterAd.FlutterResponseInfo; -import java.util.HashMap; -import java.util.Map; - -/** - * Maintains reference to ad instances for the {@link - * io.flutter.plugins.googlemobileads.GoogleMobileAdsPlugin}. - * - *

When an Ad is loaded from Dart, an equivalent ad object is created and maintained here to - * provide access until the ad is disposed. - */ -class AdInstanceManager { - @Nullable private Activity activity; - - @NonNull private final Map ads; - @NonNull private final MethodChannel channel; - - /** - * Initializes the ad instance manager. We only need a method channel to start loading ads, but an - * activity must be present in order to attach any ads to the view hierarchy. - */ - AdInstanceManager(@NonNull MethodChannel channel) { - this.channel = channel; - this.ads = new HashMap<>(); - } - - void setActivity(@Nullable Activity activity) { - this.activity = activity; - } - - @Nullable - Activity getActivity() { - return activity; - } - - @Nullable - FlutterAd adForId(int id) { - return ads.get(id); - } - - @Nullable - Integer adIdFor(@NonNull FlutterAd ad) { - for (Integer adId : ads.keySet()) { - if (ads.get(adId) == ad) { - return adId; - } - } - return null; - } - - void trackAd(@NonNull FlutterAd ad, int adId) { - if (ads.get(adId) != null) { - throw new IllegalArgumentException( - String.format("Ad for following adId already exists: %d", adId)); - } - ads.put(adId, ad); - } - - void disposeAd(int adId) { - if (!ads.containsKey(adId)) { - return; - } - FlutterAd ad = ads.get(adId); - if (ad != null) { - ad.dispose(); - } - ads.remove(adId); - } - - void disposeAllAds() { - for (Map.Entry entry : ads.entrySet()) { - if (entry.getValue() != null) { - entry.getValue().dispose(); - } - } - ads.clear(); - } - - void onAdLoaded(int adId, @Nullable ResponseInfo responseInfo) { - Map arguments = new HashMap<>(); - arguments.put("adId", adId); - arguments.put("eventName", "onAdLoaded"); - FlutterResponseInfo flutterResponseInfo = - (responseInfo == null) ? null : new FlutterResponseInfo(responseInfo); - arguments.put("responseInfo", flutterResponseInfo); - invokeOnAdEvent(arguments); - } - - void onAdFailedToLoad(int adId, @NonNull FlutterAd.FlutterLoadAdError error) { - Map arguments = new HashMap<>(); - arguments.put("adId", adId); - arguments.put("eventName", "onAdFailedToLoad"); - arguments.put("loadAdError", error); - invokeOnAdEvent(arguments); - } - - void onAppEvent(int adId, @NonNull String name, @NonNull String data) { - Map arguments = new HashMap<>(); - arguments.put("adId", adId); - arguments.put("eventName", "onAppEvent"); - arguments.put("name", name); - arguments.put("data", data); - invokeOnAdEvent(arguments); - } - - void onAdImpression(int id) { - Map arguments = new HashMap<>(); - arguments.put("adId", id); - arguments.put("eventName", "onAdImpression"); - invokeOnAdEvent(arguments); - } - - void onAdClicked(int id) { - Map arguments = new HashMap<>(); - arguments.put("adId", id); - arguments.put("eventName", "onAdClicked"); - invokeOnAdEvent(arguments); - } - - void onAdOpened(int adId) { - Map arguments = new HashMap<>(); - arguments.put("adId", adId); - arguments.put("eventName", "onAdOpened"); - invokeOnAdEvent(arguments); - } - - void onAdClosed(int adId) { - Map arguments = new HashMap<>(); - arguments.put("adId", adId); - arguments.put("eventName", "onAdClosed"); - invokeOnAdEvent(arguments); - } - - void onRewardedAdUserEarnedReward(int adId, @NonNull FlutterRewardedAd.FlutterRewardItem reward) { - final Map arguments = new HashMap<>(); - arguments.put("adId", adId); - arguments.put("eventName", "onRewardedAdUserEarnedReward"); - arguments.put("rewardItem", reward); - invokeOnAdEvent(arguments); - } - - void onRewardedInterstitialAdUserEarnedReward( - int adId, @NonNull FlutterRewardedAd.FlutterRewardItem reward) { - final Map arguments = new HashMap<>(); - arguments.put("adId", adId); - arguments.put("eventName", "onRewardedInterstitialAdUserEarnedReward"); - arguments.put("rewardItem", reward); - invokeOnAdEvent(arguments); - } - - void onPaidEvent(@NonNull FlutterAd ad, @NonNull FlutterAdValue adValue) { - final Map arguments = new HashMap<>(); - arguments.put("adId", adIdFor(ad)); - arguments.put("eventName", "onPaidEvent"); - arguments.put("valueMicros", adValue.valueMicros); - arguments.put("precision", adValue.precisionType); - arguments.put("currencyCode", adValue.currencyCode); - invokeOnAdEvent(arguments); - } - - void onFailedToShowFullScreenContent(int adId, @NonNull AdError error) { - final Map arguments = new HashMap<>(); - arguments.put("adId", adId); - arguments.put("eventName", "onFailedToShowFullScreenContent"); - arguments.put("error", new FlutterAdError(error)); - invokeOnAdEvent(arguments); - } - - void onAdShowedFullScreenContent(int adId) { - final Map arguments = new HashMap<>(); - arguments.put("adId", adId); - arguments.put("eventName", "onAdShowedFullScreenContent"); - invokeOnAdEvent(arguments); - } - - void onAdDismissedFullScreenContent(int adId) { - final Map arguments = new HashMap<>(); - arguments.put("adId", adId); - arguments.put("eventName", "onAdDismissedFullScreenContent"); - invokeOnAdEvent(arguments); - } - - void onAdMetadataChanged(int adId) { - final Map arguments = new HashMap<>(); - arguments.put("adId", adId); - arguments.put("eventName", "onAdMetadataChanged"); - invokeOnAdEvent(arguments); - } - - void onFluidAdHeightChanged(int adId, int height) { - final Map arguments = new HashMap<>(); - arguments.put("adId", adId); - arguments.put("eventName", "onFluidAdHeightChanged"); - arguments.put("height", height); - invokeOnAdEvent(arguments); - } - - boolean showAdWithId(int id) { - final FlutterAd.FlutterOverlayAd ad = (FlutterAd.FlutterOverlayAd) adForId(id); - - if (ad == null) { - return false; - } - - ad.show(); - return true; - } - - /** Invoke the method channel using the UI thread. Otherwise the message gets silently dropped. */ - private void invokeOnAdEvent(final Map arguments) { - new Handler(Looper.getMainLooper()) - .post( - new Runnable() { - @Override - public void run() { - channel.invokeMethod("onAdEvent", arguments); - } - }); - } -} diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/java/io/flutter/plugins/googlemobileads/AdMessageCodec.java b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/java/io/flutter/plugins/googlemobileads/AdMessageCodec.java deleted file mode 100644 index 68c23891..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/java/io/flutter/plugins/googlemobileads/AdMessageCodec.java +++ /dev/null @@ -1,484 +0,0 @@ -// Copyright 2021 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License.c language governing permissions and -// limitations under the License. - -package io.flutter.plugins.googlemobileads; - -import android.content.Context; -import android.graphics.Color; -import android.graphics.drawable.ColorDrawable; -import android.util.Log; -import androidx.annotation.NonNull; -import androidx.annotation.Nullable; -import androidx.annotation.VisibleForTesting; -import com.google.android.gms.ads.RequestConfiguration; -import io.flutter.plugin.common.StandardMessageCodec; -import io.flutter.plugins.googlemobileads.FlutterAd.FlutterAdError; -import io.flutter.plugins.googlemobileads.FlutterAd.FlutterAdapterResponseInfo; -import io.flutter.plugins.googlemobileads.FlutterAd.FlutterResponseInfo; -import io.flutter.plugins.googlemobileads.FlutterAdSize.InlineAdaptiveBannerAdSize; -import io.flutter.plugins.googlemobileads.nativetemplates.FlutterNativeTemplateFontStyle; -import io.flutter.plugins.googlemobileads.nativetemplates.FlutterNativeTemplateStyle; -import io.flutter.plugins.googlemobileads.nativetemplates.FlutterNativeTemplateTextStyle; -import io.flutter.plugins.googlemobileads.nativetemplates.FlutterNativeTemplateType; -import java.lang.reflect.InvocationTargetException; -import java.io.ByteArrayOutputStream; -import java.lang.reflect.InvocationTargetException; -import java.nio.ByteBuffer; -import java.util.List; -import java.util.Map; - -/** - * Encodes and decodes values by reading from a ByteBuffer and writing to a ByteArrayOutputStream. - */ -class AdMessageCodec extends StandardMessageCodec { - // The type values below must be consistent for each platform. - private static final byte VALUE_AD_SIZE = (byte) 128; - private static final byte VALUE_AD_REQUEST = (byte) 129; - private static final byte VALUE_FLUID_AD_SIZE = (byte) 130; - private static final byte VALUE_REWARD_ITEM = (byte) 132; - private static final byte VALUE_LOAD_AD_ERROR = (byte) 133; - private static final byte VALUE_ADMANAGER_AD_REQUEST = (byte) 134; - private static final byte VALUE_INITIALIZATION_STATE = (byte) 135; - private static final byte VALUE_ADAPTER_STATUS = (byte) 136; - private static final byte VALUE_INITIALIZATION_STATUS = (byte) 137; - private static final byte VALUE_SERVER_SIDE_VERIFICATION_OPTIONS = (byte) 138; - private static final byte VALUE_AD_ERROR = (byte) 139; - private static final byte VALUE_RESPONSE_INFO = (byte) 140; - private static final byte VALUE_ADAPTER_RESPONSE_INFO = (byte) 141; - private static final byte VALUE_ANCHORED_ADAPTIVE_BANNER_AD_SIZE = (byte) 142; - private static final byte VALUE_SMART_BANNER_AD_SIZE = (byte) 143; - private static final byte VALUE_NATIVE_AD_OPTIONS = (byte) 144; - private static final byte VALUE_VIDEO_OPTIONS = (byte) 145; - private static final byte VALUE_INLINE_ADAPTIVE_BANNER_AD_SIZE = (byte) 146; - private static final byte VALUE_REQUEST_CONFIGURATION_PARAMS = (byte) 148; - private static final byte VALUE_NATIVE_TEMPLATE_STYLE = (byte) 149; - private static final byte VALUE_NATIVE_TEMPLATE_TEXT_STYLE = (byte) 150; - private static final byte VALUE_NATIVE_TEMPLATE_FONT_STYLE = (byte) 151; - private static final byte VALUE_NATIVE_TEMPLATE_TYPE = (byte) 152; - private static final byte VALUE_COLOR = (byte) 153; - private static final byte VALUE_MEDIATION_EXTRAS = (byte) 154; - - @NonNull Context context; - @NonNull final FlutterAdSize.AdSizeFactory adSizeFactory; - - @SuppressWarnings("deprecation") // Keeping for compatibility - @Nullable - private MediationNetworkExtrasProvider mediationNetworkExtrasProvider; - - @NonNull private final FlutterRequestAgentProvider requestAgentProvider; - - AdMessageCodec( - @NonNull Context context, @NonNull FlutterRequestAgentProvider requestAgentProvider) { - this.context = context; - this.adSizeFactory = new FlutterAdSize.AdSizeFactory(); - this.requestAgentProvider = requestAgentProvider; - } - - @VisibleForTesting - AdMessageCodec( - @NonNull Context context, - @NonNull FlutterAdSize.AdSizeFactory adSizeFactory, - @NonNull FlutterRequestAgentProvider requestAgentProvider) { - this.context = context; - this.adSizeFactory = adSizeFactory; - this.requestAgentProvider = requestAgentProvider; - } - - void setContext(@NonNull Context context) { - this.context = context; - } - - @SuppressWarnings("deprecation") // Keeping for compatibility - void setMediationNetworkExtrasProvider( - @Nullable MediationNetworkExtrasProvider mediationNetworkExtrasProvider) { - this.mediationNetworkExtrasProvider = mediationNetworkExtrasProvider; - } - - @Override - protected void writeValue(ByteArrayOutputStream stream, Object value) { - if (value instanceof FlutterAdSize) { - writeAdSize(stream, (FlutterAdSize) value); - } else if (value instanceof FlutterAdManagerAdRequest) { - stream.write(VALUE_ADMANAGER_AD_REQUEST); - final FlutterAdManagerAdRequest request = (FlutterAdManagerAdRequest) value; - writeValue(stream, request.getKeywords()); - writeValue(stream, request.getContentUrl()); - writeValue(stream, request.getCustomTargeting()); - writeValue(stream, request.getCustomTargetingLists()); - writeValue(stream, request.getNonPersonalizedAds()); - writeValue(stream, request.getNeighboringContentUrls()); - writeValue(stream, request.getHttpTimeoutMillis()); - writeValue(stream, request.getPublisherProvidedId()); - writeValue(stream, request.getMediationExtrasIdentifier()); - writeValue(stream, request.getAdMobExtras()); - writeValue(stream, request.getMediationExtras()); - } else if (value instanceof FlutterAdRequest) { - stream.write(VALUE_AD_REQUEST); - final FlutterAdRequest request = (FlutterAdRequest) value; - writeValue(stream, request.getKeywords()); - writeValue(stream, request.getContentUrl()); - writeValue(stream, request.getNonPersonalizedAds()); - writeValue(stream, request.getNeighboringContentUrls()); - writeValue(stream, request.getHttpTimeoutMillis()); - writeValue(stream, request.getMediationExtrasIdentifier()); - writeValue(stream, request.getAdMobExtras()); - writeValue(stream, request.getMediationExtras()); - } else if (value instanceof FlutterMediationExtras) { - stream.write(VALUE_MEDIATION_EXTRAS); - final FlutterMediationExtras mediationExtras = (FlutterMediationExtras) value; - String className = mediationExtras.getClass().getCanonicalName(); - writeValue(stream, className); - writeValue(stream, mediationExtras.extras); - } else if (value instanceof FlutterRewardedAd.FlutterRewardItem) { - stream.write(VALUE_REWARD_ITEM); - final FlutterRewardedAd.FlutterRewardItem item = (FlutterRewardedAd.FlutterRewardItem) value; - writeValue(stream, item.amount); - writeValue(stream, item.type); - } else if (value instanceof FlutterAdapterResponseInfo) { - stream.write(VALUE_ADAPTER_RESPONSE_INFO); - final FlutterAdapterResponseInfo responseInfo = (FlutterAdapterResponseInfo) value; - writeValue(stream, responseInfo.getAdapterClassName()); - writeValue(stream, responseInfo.getLatencyMillis()); - writeValue(stream, responseInfo.getDescription()); - writeValue(stream, responseInfo.getAdUnitMapping()); - writeValue(stream, responseInfo.getError()); - writeValue(stream, responseInfo.getAdSourceName()); - writeValue(stream, responseInfo.getAdSourceId()); - writeValue(stream, responseInfo.getAdSourceInstanceName()); - writeValue(stream, responseInfo.getAdSourceInstanceId()); - } else if (value instanceof FlutterResponseInfo) { - stream.write(VALUE_RESPONSE_INFO); - final FlutterResponseInfo responseInfo = (FlutterResponseInfo) value; - writeValue(stream, responseInfo.getResponseId()); - writeValue(stream, responseInfo.getMediationAdapterClassName()); - writeValue(stream, responseInfo.getAdapterResponses()); - writeValue(stream, responseInfo.getLoadedAdapterResponseInfo()); - writeValue(stream, responseInfo.getResponseExtras()); - } else if (value instanceof FlutterAd.FlutterLoadAdError) { - stream.write(VALUE_LOAD_AD_ERROR); - final FlutterAd.FlutterLoadAdError error = (FlutterAd.FlutterLoadAdError) value; - writeValue(stream, error.code); - writeValue(stream, error.domain); - writeValue(stream, error.message); - writeValue(stream, error.responseInfo); - } else if (value instanceof FlutterAdError) { - stream.write(VALUE_AD_ERROR); - final FlutterAdError error = (FlutterAdError) value; - writeValue(stream, error.code); - writeValue(stream, error.domain); - writeValue(stream, error.message); - } else if (value instanceof FlutterAdapterStatus.AdapterInitializationState) { - stream.write(VALUE_INITIALIZATION_STATE); - final FlutterAdapterStatus.AdapterInitializationState state = - (FlutterAdapterStatus.AdapterInitializationState) value; - switch (state) { - case NOT_READY: - writeValue(stream, "notReady"); - return; - case READY: - writeValue(stream, "ready"); - return; - } - final String message = String.format("Unable to handle state: %s", state); - throw new IllegalArgumentException(message); - } else if (value instanceof FlutterAdapterStatus) { - stream.write(VALUE_ADAPTER_STATUS); - final FlutterAdapterStatus status = (FlutterAdapterStatus) value; - writeValue(stream, status.state); - writeValue(stream, status.description); - writeValue(stream, status.latency); - } else if (value instanceof FlutterInitializationStatus) { - stream.write(VALUE_INITIALIZATION_STATUS); - final FlutterInitializationStatus status = (FlutterInitializationStatus) value; - writeValue(stream, status.adapterStatuses); - } else if (value instanceof FlutterServerSideVerificationOptions) { - stream.write(VALUE_SERVER_SIDE_VERIFICATION_OPTIONS); - FlutterServerSideVerificationOptions options = (FlutterServerSideVerificationOptions) value; - writeValue(stream, options.getUserId()); - writeValue(stream, options.getCustomData()); - } else if (value instanceof FlutterNativeAdOptions) { - stream.write(VALUE_NATIVE_AD_OPTIONS); - FlutterNativeAdOptions options = (FlutterNativeAdOptions) value; - writeValue(stream, options.adChoicesPlacement); - writeValue(stream, options.mediaAspectRatio); - writeValue(stream, options.videoOptions); - writeValue(stream, options.requestCustomMuteThisAd); - writeValue(stream, options.shouldRequestMultipleImages); - writeValue(stream, options.shouldReturnUrlsForImageAssets); - } else if (value instanceof RequestConfiguration) { - stream.write(VALUE_REQUEST_CONFIGURATION_PARAMS); - RequestConfiguration params = (RequestConfiguration) value; - writeValue(stream, params.getMaxAdContentRating()); - writeValue(stream, params.getTagForChildDirectedTreatment()); - writeValue(stream, params.getTagForUnderAgeOfConsent()); - writeValue(stream, params.getTestDeviceIds()); - } else if (value instanceof FlutterVideoOptions) { - stream.write(VALUE_VIDEO_OPTIONS); - FlutterVideoOptions options = (FlutterVideoOptions) value; - writeValue(stream, options.clickToExpandRequested); - writeValue(stream, options.customControlsRequested); - writeValue(stream, options.startMuted); - } else if (value instanceof FlutterNativeTemplateStyle) { - stream.write(VALUE_NATIVE_TEMPLATE_STYLE); - FlutterNativeTemplateStyle nativeTemplateStyle = (FlutterNativeTemplateStyle) value; - writeValue(stream, nativeTemplateStyle.getTemplateType()); - writeValue(stream, nativeTemplateStyle.getMainBackgroundColor()); - writeValue(stream, nativeTemplateStyle.getCallToActionStyle()); - writeValue(stream, nativeTemplateStyle.getPrimaryTextStyle()); - writeValue(stream, nativeTemplateStyle.getSecondaryTextStyle()); - writeValue(stream, nativeTemplateStyle.getTertiaryTextStyle()); - } else if (value instanceof FlutterNativeTemplateFontStyle) { - stream.write(VALUE_NATIVE_TEMPLATE_FONT_STYLE); - writeValue(stream, ((FlutterNativeTemplateFontStyle) value).ordinal()); - } else if (value instanceof FlutterNativeTemplateType) { - stream.write(VALUE_NATIVE_TEMPLATE_TYPE); - writeValue(stream, ((FlutterNativeTemplateType) value).ordinal()); - } else if (value instanceof FlutterNativeTemplateTextStyle) { - stream.write(VALUE_NATIVE_TEMPLATE_TEXT_STYLE); - FlutterNativeTemplateTextStyle textStyle = (FlutterNativeTemplateTextStyle) value; - writeValue(stream, textStyle.getTextColor()); - writeValue(stream, textStyle.getBackgroundColor()); - writeValue(stream, textStyle.getFontStyle()); - writeValue(stream, textStyle.getSize()); - } else if (value instanceof ColorDrawable) { - stream.write(VALUE_COLOR); - int colorValue = ((ColorDrawable) value).getColor(); - writeValue(stream, Color.alpha(colorValue)); - writeValue(stream, Color.red(colorValue)); - writeValue(stream, Color.green(colorValue)); - writeValue(stream, Color.blue(colorValue)); - } else { - super.writeValue(stream, value); - } - } - - @SuppressWarnings("unchecked") - @Override - protected Object readValueOfType(byte type, ByteBuffer buffer) { - switch (type) { - case VALUE_INLINE_ADAPTIVE_BANNER_AD_SIZE: - { - final Integer width = (Integer) readValueOfType(buffer.get(), buffer); - final Integer height = (Integer) readValueOfType(buffer.get(), buffer); - final Integer orientation = (Integer) readValueOfType(buffer.get(), buffer); - return new FlutterAdSize.InlineAdaptiveBannerAdSize( - adSizeFactory, context, width, orientation, height); - } - case VALUE_ANCHORED_ADAPTIVE_BANNER_AD_SIZE: - final String orientation = (String) readValueOfType(buffer.get(), buffer); - final Integer width = (Integer) readValueOfType(buffer.get(), buffer); - return new FlutterAdSize.AnchoredAdaptiveBannerAdSize( - context, adSizeFactory, orientation, width, /* isLarge = */ false); - case VALUE_SMART_BANNER_AD_SIZE: - return new FlutterAdSize.SmartBannerAdSize(); - case VALUE_AD_SIZE: - return new FlutterAdSize( - (Integer) readValueOfType(buffer.get(), buffer), - (Integer) readValueOfType(buffer.get(), buffer)); - case VALUE_FLUID_AD_SIZE: - return new FlutterAdSize.FluidAdSize(); - case VALUE_AD_REQUEST: - return new FlutterAdRequest.Builder() - .setKeywords((List) readValueOfType(buffer.get(), buffer)) - .setContentUrl((String) readValueOfType(buffer.get(), buffer)) - .setNonPersonalizedAds(booleanValueOf(readValueOfType(buffer.get(), buffer))) - .setNeighboringContentUrls((List) readValueOfType(buffer.get(), buffer)) - .setHttpTimeoutMillis((Integer) readValueOfType(buffer.get(), buffer)) - .setMediationNetworkExtrasIdentifier((String) readValueOfType(buffer.get(), buffer)) - .setMediationNetworkExtrasProvider(mediationNetworkExtrasProvider) - .setAdMobExtras((Map) readValueOfType(buffer.get(), buffer)) - .setRequestAgent(requestAgentProvider.getRequestAgent()) - .setMediationExtras( - (List) readValueOfType(buffer.get(), buffer)) - .build(); - case VALUE_MEDIATION_EXTRAS: - String className = (String) readValueOfType(buffer.get(), buffer); - Map extras = (Map) readValueOfType(buffer.get(), buffer); - try { - assert className != null; - Class cls = Class.forName(className); - FlutterMediationExtras flutterExtras = (FlutterMediationExtras) cls.getDeclaredConstructor() - .newInstance(); - flutterExtras.setMediationExtras(extras); - return flutterExtras; - } catch (ClassNotFoundException e) { - Log.e("FlutterMediationExtras", "Class not found: " + className); - } catch (NoSuchMethodException e) { - Log.e("FlutterMediationExtras", "No such method found: " + className + ".getDeclaredConstructor()"); - } catch (InvocationTargetException e) { - Log.e("FlutterMediationExtras", "Invocation Target Exception for: " + className); - } catch (IllegalAccessException e) { - Log.e("FlutterMediationExtras", "Illegal Access to " + className); - } catch (InstantiationException e) { - Log.e("FlutterMediationExtras", "Unable to instantiate class " + className); - } - return null; - case VALUE_REWARD_ITEM: - return new FlutterRewardedAd.FlutterRewardItem( - (Integer) readValueOfType(buffer.get(), buffer), - (String) readValueOfType(buffer.get(), buffer)); - case VALUE_ADAPTER_RESPONSE_INFO: - return new FlutterAdapterResponseInfo( - (String) readValueOfType(buffer.get(), buffer), - (long) readValueOfType(buffer.get(), buffer), - (String) readValueOfType(buffer.get(), buffer), - (Map) readValueOfType(buffer.get(), buffer), - (FlutterAdError) readValueOfType(buffer.get(), buffer), - (String) readValueOfType(buffer.get(), buffer), - (String) readValueOfType(buffer.get(), buffer), - (String) readValueOfType(buffer.get(), buffer), - (String) readValueOfType(buffer.get(), buffer)); - case VALUE_RESPONSE_INFO: - return new FlutterResponseInfo( - (String) readValueOfType(buffer.get(), buffer), - (String) readValueOfType(buffer.get(), buffer), - (List) readValueOfType(buffer.get(), buffer), - (FlutterAdapterResponseInfo) readValueOfType(buffer.get(), buffer), - (Map) readValueOfType(buffer.get(), buffer)); - case VALUE_LOAD_AD_ERROR: - return new FlutterAd.FlutterLoadAdError( - (Integer) readValueOfType(buffer.get(), buffer), - (String) readValueOfType(buffer.get(), buffer), - (String) readValueOfType(buffer.get(), buffer), - (FlutterResponseInfo) readValueOfType(buffer.get(), buffer)); - case VALUE_AD_ERROR: - return new FlutterAdError( - (Integer) readValueOfType(buffer.get(), buffer), - (String) readValueOfType(buffer.get(), buffer), - (String) readValueOfType(buffer.get(), buffer)); - case VALUE_ADMANAGER_AD_REQUEST: - FlutterAdManagerAdRequest.Builder builder = new FlutterAdManagerAdRequest.Builder(); - builder.setKeywords((List) readValueOfType(buffer.get(), buffer)); - builder.setContentUrl((String) readValueOfType(buffer.get(), buffer)); - builder.setCustomTargeting((Map) readValueOfType(buffer.get(), buffer)); - builder.setCustomTargetingLists( - (Map>) readValueOfType(buffer.get(), buffer)); - builder.setNonPersonalizedAds((Boolean) readValueOfType(buffer.get(), buffer)); - builder.setNeighboringContentUrls((List) readValueOfType(buffer.get(), buffer)); - builder.setHttpTimeoutMillis((Integer) readValueOfType(buffer.get(), buffer)); - builder.setPublisherProvidedId((String) readValueOfType(buffer.get(), buffer)); - builder.setMediationNetworkExtrasIdentifier((String) readValueOfType(buffer.get(), buffer)); - builder.setMediationNetworkExtrasProvider(mediationNetworkExtrasProvider); - builder.setAdMobExtras((Map) readValueOfType(buffer.get(), buffer)); - builder.setRequestAgent(requestAgentProvider.getRequestAgent()); - builder.setMediationExtras( - (List) readValueOfType(buffer.get(), buffer)); - return builder.build(); - case VALUE_INITIALIZATION_STATE: - final String state = (String) readValueOfType(buffer.get(), buffer); - switch (state) { - case "notReady": - return FlutterAdapterStatus.AdapterInitializationState.NOT_READY; - case "ready": - return FlutterAdapterStatus.AdapterInitializationState.READY; - default: - final String message = String.format("Unable to handle state: %s", state); - throw new IllegalArgumentException(message); - } - case VALUE_ADAPTER_STATUS: - return new FlutterAdapterStatus( - (FlutterAdapterStatus.AdapterInitializationState) readValueOfType(buffer.get(), buffer), - (String) readValueOfType(buffer.get(), buffer), - (Number) readValueOfType(buffer.get(), buffer)); - case VALUE_INITIALIZATION_STATUS: - return new FlutterInitializationStatus( - (Map) readValueOfType(buffer.get(), buffer)); - case VALUE_SERVER_SIDE_VERIFICATION_OPTIONS: - return new FlutterServerSideVerificationOptions( - (String) readValueOfType(buffer.get(), buffer), - (String) readValueOfType(buffer.get(), buffer)); - case VALUE_NATIVE_AD_OPTIONS: - return new FlutterNativeAdOptions( - (Integer) readValueOfType(buffer.get(), buffer), - (Integer) readValueOfType(buffer.get(), buffer), - (FlutterVideoOptions) readValueOfType(buffer.get(), buffer), - (Boolean) readValueOfType(buffer.get(), buffer), - (Boolean) readValueOfType(buffer.get(), buffer), - (Boolean) readValueOfType(buffer.get(), buffer)); - case VALUE_VIDEO_OPTIONS: - return new FlutterVideoOptions( - (Boolean) readValueOfType(buffer.get(), buffer), - (Boolean) readValueOfType(buffer.get(), buffer), - (Boolean) readValueOfType(buffer.get(), buffer)); - case VALUE_REQUEST_CONFIGURATION_PARAMS: - RequestConfiguration.Builder rcb = new RequestConfiguration.Builder(); - rcb.setMaxAdContentRating((String) readValueOfType(buffer.get(), buffer)); - rcb.setTagForChildDirectedTreatment((Integer) readValueOfType(buffer.get(), buffer)); - rcb.setTagForUnderAgeOfConsent((Integer) readValueOfType(buffer.get(), buffer)); - rcb.setTestDeviceIds((List) readValueOfType(buffer.get(), buffer)); - return rcb.build(); - case VALUE_NATIVE_TEMPLATE_STYLE: - return new FlutterNativeTemplateStyle( - (FlutterNativeTemplateType) readValueOfType(buffer.get(), buffer), - (ColorDrawable) readValueOfType(buffer.get(), buffer), - (FlutterNativeTemplateTextStyle) readValueOfType(buffer.get(), buffer), - (FlutterNativeTemplateTextStyle) readValueOfType(buffer.get(), buffer), - (FlutterNativeTemplateTextStyle) readValueOfType(buffer.get(), buffer), - (FlutterNativeTemplateTextStyle) readValueOfType(buffer.get(), buffer)); - case VALUE_NATIVE_TEMPLATE_TEXT_STYLE: - return new FlutterNativeTemplateTextStyle( - (ColorDrawable) readValueOfType(buffer.get(), buffer), - (ColorDrawable) readValueOfType(buffer.get(), buffer), - (FlutterNativeTemplateFontStyle) readValueOfType(buffer.get(), buffer), - ((Double) readValueOfType(buffer.get(), buffer))); - case VALUE_NATIVE_TEMPLATE_FONT_STYLE: - return FlutterNativeTemplateFontStyle.fromIntValue( - (Integer) readValueOfType(buffer.get(), buffer)); - case VALUE_NATIVE_TEMPLATE_TYPE: - return FlutterNativeTemplateType.fromIntValue( - (Integer) readValueOfType(buffer.get(), buffer)); - case VALUE_COLOR: - final Integer alpha = (Integer) readValueOfType(buffer.get(), buffer); - final Integer red = (Integer) readValueOfType(buffer.get(), buffer); - final Integer green = (Integer) readValueOfType(buffer.get(), buffer); - final Integer blue = (Integer) readValueOfType(buffer.get(), buffer); - return new ColorDrawable(Color.argb(alpha, red, green, blue)); - default: - return super.readValueOfType(type, buffer); - } - } - - protected void writeAdSize(ByteArrayOutputStream stream, FlutterAdSize value) { - if (value instanceof FlutterAdSize.InlineAdaptiveBannerAdSize) { - final InlineAdaptiveBannerAdSize size = (InlineAdaptiveBannerAdSize) value; - stream.write(VALUE_INLINE_ADAPTIVE_BANNER_AD_SIZE); - writeValue(stream, size.width); - writeValue(stream, size.maxHeight); - writeValue(stream, size.orientation); - } else if (value instanceof FlutterAdSize.AnchoredAdaptiveBannerAdSize) { - stream.write(VALUE_ANCHORED_ADAPTIVE_BANNER_AD_SIZE); - final FlutterAdSize.AnchoredAdaptiveBannerAdSize size = - (FlutterAdSize.AnchoredAdaptiveBannerAdSize) value; - writeValue(stream, size.orientation); - writeValue(stream, size.width); - } else if (value instanceof FlutterAdSize.SmartBannerAdSize) { - stream.write(VALUE_SMART_BANNER_AD_SIZE); - } else if (value instanceof FlutterAdSize.FluidAdSize) { - stream.write(VALUE_FLUID_AD_SIZE); - } else { - stream.write(VALUE_AD_SIZE); - writeValue(stream, value.width); - writeValue(stream, value.height); - } - } - - @Nullable - private static Boolean booleanValueOf(@Nullable Object object) { - if (object == null) { - return null; - } - return (Boolean) object; - } -} diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/java/io/flutter/plugins/googlemobileads/AppStateNotifier.java b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/java/io/flutter/plugins/googlemobileads/AppStateNotifier.java deleted file mode 100644 index 3e6bffb9..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/java/io/flutter/plugins/googlemobileads/AppStateNotifier.java +++ /dev/null @@ -1,94 +0,0 @@ -// Copyright 2021 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package io.flutter.plugins.googlemobileads; - -import androidx.annotation.NonNull; -import androidx.annotation.Nullable; -import androidx.lifecycle.Lifecycle.Event; -import androidx.lifecycle.LifecycleEventObserver; -import androidx.lifecycle.LifecycleOwner; -import androidx.lifecycle.ProcessLifecycleOwner; -import io.flutter.plugin.common.BinaryMessenger; -import io.flutter.plugin.common.EventChannel; -import io.flutter.plugin.common.EventChannel.EventSink; -import io.flutter.plugin.common.EventChannel.StreamHandler; -import io.flutter.plugin.common.MethodCall; -import io.flutter.plugin.common.MethodChannel; -import io.flutter.plugin.common.MethodChannel.MethodCallHandler; -import io.flutter.plugin.common.MethodChannel.Result; - -/** Listens to changes in app foreground/background and forwards events to Flutter. */ -final class AppStateNotifier implements LifecycleEventObserver, MethodCallHandler, StreamHandler { - - private static final String METHOD_CHANNEL_NAME = - "plugins.flutter.io/google_mobile_ads/app_state_method"; - private static final String EVENT_CHANNEL_NAME = - "plugins.flutter.io/google_mobile_ads/app_state_event"; - - @NonNull private final MethodChannel methodChannel; - @NonNull private final EventChannel eventChannel; - - @Nullable private EventSink events; - - AppStateNotifier(BinaryMessenger binaryMessenger) { - methodChannel = new MethodChannel(binaryMessenger, METHOD_CHANNEL_NAME); - methodChannel.setMethodCallHandler(this); - eventChannel = new EventChannel(binaryMessenger, EVENT_CHANNEL_NAME); - eventChannel.setStreamHandler(this); - } - - /** Starts listening for app lifecycle changes. */ - void start() { - ProcessLifecycleOwner.get().getLifecycle().addObserver(this); - } - - /** Stops listening for app lifecycle changes. */ - void stop() { - ProcessLifecycleOwner.get().getLifecycle().removeObserver(this); - } - - @Override - public void onMethodCall(@NonNull MethodCall call, @NonNull Result result) { - switch (call.method) { - case "start": - start(); - break; - case "stop": - stop(); - break; - default: - result.notImplemented(); - } - } - - @Override - public void onStateChanged(@NonNull LifecycleOwner source, @NonNull Event event) { - if (event == Event.ON_START && events != null) { - events.success("foreground"); - } else if (event == Event.ON_STOP && events != null) { - events.success("background"); - } - } - - @Override - public void onListen(Object arguments, EventSink events) { - this.events = events; - } - - @Override - public void onCancel(Object arguments) { - this.events = null; - } -} diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/java/io/flutter/plugins/googlemobileads/BannerAdCreator.java b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/java/io/flutter/plugins/googlemobileads/BannerAdCreator.java deleted file mode 100644 index 618eb183..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/java/io/flutter/plugins/googlemobileads/BannerAdCreator.java +++ /dev/null @@ -1,40 +0,0 @@ -// Copyright 2021 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package io.flutter.plugins.googlemobileads; - -import android.content.Context; -import androidx.annotation.NonNull; -import com.google.android.gms.ads.AdView; -import com.google.android.gms.ads.admanager.AdManagerAdView; - -/** Creates AdView and AdManagerAdViews for banner ads. */ -public class BannerAdCreator { - - @NonNull private final Context context; - - public BannerAdCreator(@NonNull Context context) { - this.context = context; - } - - /** Create a new {@link AdManagerAdView}. */ - public AdManagerAdView createAdManagerAdView() { - return new AdManagerAdView(context); - } - - /** Create a new {@link AdView}. */ - public AdView createAdView() { - return new AdView(context); - } -} diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/java/io/flutter/plugins/googlemobileads/Constants.java b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/java/io/flutter/plugins/googlemobileads/Constants.java deleted file mode 100644 index ab28b206..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/java/io/flutter/plugins/googlemobileads/Constants.java +++ /dev/null @@ -1,27 +0,0 @@ -// Copyright 2021 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package io.flutter.plugins.googlemobileads; - -/** Constants used in the plugin. */ -public class Constants { - /** Version request agent. Should be bumped alongside plugin versions. */ - public static final String REQUEST_AGENT_PREFIX_VERSIONED = "Flutter-GMA-8.0.0"; - /** Prefix for news template */ - public static final String REQUEST_AGENT_NEWS_TEMPLATE_PREFIX = "News"; - - public static final String REQUEST_AGENT_GAME_TEMPLATE_PREFIX = "Game"; - - static final String ERROR_CODE_UNEXPECTED_AD_TYPE = "unexpected_ad_type"; -} diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/java/io/flutter/plugins/googlemobileads/FluidAdManagerBannerAd.java b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/java/io/flutter/plugins/googlemobileads/FluidAdManagerBannerAd.java deleted file mode 100644 index 35dadd63..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/java/io/flutter/plugins/googlemobileads/FluidAdManagerBannerAd.java +++ /dev/null @@ -1,125 +0,0 @@ -// Copyright 2021 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package io.flutter.plugins.googlemobileads; - -import android.util.Log; -import android.view.View; -import android.view.View.OnLayoutChangeListener; -import android.view.ViewGroup; -import android.widget.ScrollView; -import androidx.annotation.NonNull; -import androidx.annotation.Nullable; -import androidx.annotation.VisibleForTesting; -import com.google.android.gms.ads.AdSize; -import io.flutter.plugin.platform.PlatformView; -import java.util.Collections; - -/** A subclass of {@link FlutterAdManagerBannerAd} specifically for fluid ad size. */ -final class FluidAdManagerBannerAd extends FlutterAdManagerBannerAd { - - private static final String TAG = "FluidAdManagerBannerAd"; - - @Nullable private ViewGroup containerView; - - private int height = -1; - - FluidAdManagerBannerAd( - int adId, - @NonNull AdInstanceManager manager, - @NonNull String adUnitId, - @NonNull FlutterAdManagerAdRequest request, - @NonNull BannerAdCreator bannerAdCreator) { - super( - adId, - manager, - adUnitId, - Collections.singletonList(new FlutterAdSize(AdSize.FLUID)), - request, - bannerAdCreator); - } - - @Override - public void onAdLoaded() { - if (adView != null) { - adView.addOnLayoutChangeListener( - new OnLayoutChangeListener() { - @Override - public void onLayoutChange( - View v, - int left, - int top, - int right, - int bottom, - int oldLeft, - int oldTop, - int oldRight, - int oldBottom) { - // Forward the new height to its container. - int newHeight = v.getMeasuredHeight(); - if (newHeight != height) { - manager.onFluidAdHeightChanged(adId, newHeight); - } - height = newHeight; - } - }); - manager.onAdLoaded(adId, adView.getResponseInfo()); - } - } - - @Nullable - @Override - PlatformView getPlatformView() { - if (adView == null) { - return null; - } - if (containerView != null) { - return new FlutterPlatformView(containerView); - } - // Place the ad view inside a scroll view. This allows the height of the ad view to overflow - // its container so we can calculate the height and send it back to flutter. - ScrollView scrollView = createContainerView(); - if (scrollView == null) { - return null; - } - scrollView.setClipChildren(false); - scrollView.setVerticalScrollBarEnabled(false); - scrollView.setHorizontalScrollBarEnabled(false); - containerView = scrollView; - containerView.addView(adView); - return new FlutterPlatformView(adView); - } - - @Nullable - @VisibleForTesting - ScrollView createContainerView() { - if (manager.getActivity() == null) { - Log.e(TAG, "Tried to create container view before plugin is attached to an activity."); - return null; - } - return new ScrollView(manager.getActivity()); - } - - @Override - void dispose() { - if (adView != null) { - adView.destroy(); - adView = null; - } - if (containerView != null) { - containerView.removeAllViews(); - containerView = null; - } - } -} diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/java/io/flutter/plugins/googlemobileads/FlutterAd.java b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/java/io/flutter/plugins/googlemobileads/FlutterAd.java deleted file mode 100644 index 9730b514..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/java/io/flutter/plugins/googlemobileads/FlutterAd.java +++ /dev/null @@ -1,388 +0,0 @@ -// Copyright 2021 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package io.flutter.plugins.googlemobileads; - -import androidx.annotation.NonNull; -import androidx.annotation.Nullable; -import com.google.android.gms.ads.AdError; -import com.google.android.gms.ads.AdapterResponseInfo; -import com.google.android.gms.ads.LoadAdError; -import com.google.android.gms.ads.ResponseInfo; -import io.flutter.plugin.platform.PlatformView; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Objects; - -abstract class FlutterAd { - - protected final int adId; - - FlutterAd(int adId) { - this.adId = adId; - } - - /** A {@link FlutterAd} that is overlaid on top of a running application. */ - abstract static class FlutterOverlayAd extends FlutterAd { - abstract void show(); - - abstract void setImmersiveMode(boolean immersiveModeEnabled); - - FlutterOverlayAd(int adId) { - super(adId); - } - } - - /** A wrapper around {@link ResponseInfo}. */ - static class FlutterResponseInfo { - - @Nullable private final String responseId; - @Nullable private final String mediationAdapterClassName; - @NonNull private final List adapterResponses; - @Nullable private final FlutterAdapterResponseInfo loadedAdapterResponseInfo; - @NonNull private final Map responseExtras; - - FlutterResponseInfo(@NonNull ResponseInfo responseInfo) { - this.responseId = responseInfo.getResponseId(); - this.mediationAdapterClassName = responseInfo.getMediationAdapterClassName(); - final List adapterResponseInfos = new ArrayList<>(); - for (AdapterResponseInfo adapterInfo : responseInfo.getAdapterResponses()) { - adapterResponseInfos.add(new FlutterAdapterResponseInfo(adapterInfo)); - } - this.adapterResponses = adapterResponseInfos; - if (responseInfo.getLoadedAdapterResponseInfo() != null) { - this.loadedAdapterResponseInfo = - new FlutterAdapterResponseInfo(responseInfo.getLoadedAdapterResponseInfo()); - } else { - this.loadedAdapterResponseInfo = null; - } - Map extras = new HashMap<>(); - if (responseInfo.getResponseExtras() != null) { - for (String key : responseInfo.getResponseExtras().keySet()) { - String value = responseInfo.getResponseExtras().getString(key); - extras.put(key, value); - } - } - - this.responseExtras = extras; - } - - FlutterResponseInfo( - @Nullable String responseId, - @Nullable String mediationAdapterClassName, - @NonNull List adapterResponseInfos, - @Nullable FlutterAdapterResponseInfo loadedAdapterResponseInfo, - @NonNull Map responseExtras) { - this.responseId = responseId; - this.mediationAdapterClassName = mediationAdapterClassName; - this.adapterResponses = adapterResponseInfos; - this.loadedAdapterResponseInfo = loadedAdapterResponseInfo; - this.responseExtras = responseExtras; - } - - @Nullable - String getResponseId() { - return responseId; - } - - @Nullable - String getMediationAdapterClassName() { - return mediationAdapterClassName; - } - - @NonNull - List getAdapterResponses() { - return adapterResponses; - } - - @Nullable - FlutterAdapterResponseInfo getLoadedAdapterResponseInfo() { - return loadedAdapterResponseInfo; - } - - @NonNull - Map getResponseExtras() { - return responseExtras; - } - - @Override - public boolean equals(@Nullable Object obj) { - if (obj == this) { - return true; - } else if (!(obj instanceof FlutterResponseInfo)) { - return false; - } - - FlutterResponseInfo that = (FlutterResponseInfo) obj; - return Objects.equals(responseId, that.responseId) - && Objects.equals(mediationAdapterClassName, that.mediationAdapterClassName) - && Objects.equals(adapterResponses, that.adapterResponses) - && Objects.equals(loadedAdapterResponseInfo, that.loadedAdapterResponseInfo); - } - - @Override - public int hashCode() { - return Objects.hash( - responseId, mediationAdapterClassName, adapterResponses, loadedAdapterResponseInfo); - } - } - - /** A wrapper for {@link AdapterResponseInfo}. */ - static class FlutterAdapterResponseInfo { - - @NonNull private final String adapterClassName; - private final long latencyMillis; - @NonNull private final String description; - @NonNull private final Map adUnitMapping; - @Nullable private FlutterAdError error; - @NonNull private final String adSourceName; - @NonNull private final String adSourceId; - @NonNull private final String adSourceInstanceName; - @NonNull private final String adSourceInstanceId; - - FlutterAdapterResponseInfo(@NonNull AdapterResponseInfo responseInfo) { - this.adapterClassName = responseInfo.getAdapterClassName(); - this.latencyMillis = responseInfo.getLatencyMillis(); - this.description = responseInfo.toString(); - if (responseInfo.getCredentials() != null) { - this.adUnitMapping = new HashMap<>(); - for (String key : responseInfo.getCredentials().keySet()) { - adUnitMapping.put(key, responseInfo.getCredentials().getString(key)); - } - } else { - adUnitMapping = new HashMap<>(); - } - if (responseInfo.getAdError() != null) { - this.error = new FlutterAdError(responseInfo.getAdError()); - } - adSourceName = responseInfo.getAdSourceName(); - adSourceId = responseInfo.getAdSourceId(); - adSourceInstanceName = responseInfo.getAdSourceInstanceName(); - adSourceInstanceId = responseInfo.getAdSourceInstanceId(); - } - - FlutterAdapterResponseInfo( - @NonNull String adapterClassName, - long latencyMillis, - @NonNull String description, - @NonNull Map adUnitMapping, - @Nullable FlutterAdError error, - @NonNull String adSourceName, - @NonNull String adSourceId, - @NonNull String adSourceInstanceName, - @NonNull String adSourceInstanceId) { - this.adapterClassName = adapterClassName; - this.latencyMillis = latencyMillis; - this.description = description; - this.adUnitMapping = adUnitMapping; - this.error = error; - this.adSourceName = adSourceName; - this.adSourceId = adSourceId; - this.adSourceInstanceName = adSourceInstanceName; - this.adSourceInstanceId = adSourceInstanceId; - } - - @NonNull - public String getAdapterClassName() { - return adapterClassName; - } - - public long getLatencyMillis() { - return latencyMillis; - } - - @NonNull - public String getDescription() { - return description; - } - - @NonNull - public Map getAdUnitMapping() { - return adUnitMapping; - } - - @Nullable - public FlutterAdError getError() { - return error; - } - - @NonNull - public String getAdSourceName() { - return adSourceName; - } - - @NonNull - public String getAdSourceId() { - return adSourceId; - } - - @NonNull - public String getAdSourceInstanceName() { - return adSourceInstanceName; - } - - @NonNull - public String getAdSourceInstanceId() { - return adSourceInstanceId; - } - - @Override - public boolean equals(@Nullable Object obj) { - if (obj == this) { - return true; - } else if (!(obj instanceof FlutterAdapterResponseInfo)) { - return false; - } - - final FlutterAdapterResponseInfo that = (FlutterAdapterResponseInfo) obj; - return Objects.equals(adapterClassName, that.adapterClassName) - && latencyMillis == that.latencyMillis - && Objects.equals(description, that.description) - && Objects.equals(error, that.error) - && Objects.equals(adUnitMapping, that.adUnitMapping) - && Objects.equals(adSourceName, that.adSourceName) - && Objects.equals(adSourceId, that.adSourceId) - && Objects.equals(adSourceInstanceName, that.adSourceInstanceName) - && Objects.equals(adSourceInstanceId, that.adSourceInstanceId); - } - - @Override - public int hashCode() { - return Objects.hash( - adapterClassName, - latencyMillis, - description, - error, - adSourceName, - adSourceId, - adSourceInstanceName, - adSourceInstanceId); - } - } - - /** Wrapper for {@link AdError}. */ - static class FlutterAdError { - final int code; - @NonNull final String domain; - @NonNull final String message; - - FlutterAdError(@NonNull AdError error) { - code = error.getCode(); - domain = error.getDomain(); - message = error.getMessage(); - } - - FlutterAdError(int code, @NonNull String domain, @NonNull String message) { - this.code = code; - this.domain = domain; - this.message = message; - } - - @Override - public boolean equals(Object object) { - if (this == object) { - return true; - } else if (!(object instanceof FlutterAdError)) { - return false; - } - - final FlutterAdError that = (FlutterAdError) object; - - if (code != that.code) { - return false; - } else if (!domain.equals(that.domain)) { - return false; - } - return message.equals(that.message); - } - - @Override - public int hashCode() { - return Objects.hash(code, domain, message); - } - } - - /** Wrapper for {@link LoadAdError}. */ - static class FlutterLoadAdError { - final int code; - @NonNull final String domain; - @NonNull final String message; - @Nullable FlutterResponseInfo responseInfo; - - FlutterLoadAdError(@NonNull LoadAdError error) { - code = error.getCode(); - domain = error.getDomain(); - message = error.getMessage(); - - if (error.getResponseInfo() != null) { - responseInfo = new FlutterResponseInfo(error.getResponseInfo()); - } - } - - FlutterLoadAdError( - int code, - @NonNull String domain, - @NonNull String message, - @Nullable FlutterResponseInfo responseInfo) { - this.code = code; - this.domain = domain; - this.message = message; - this.responseInfo = responseInfo; - } - - @Override - public boolean equals(Object object) { - if (this == object) { - return true; - } else if (!(object instanceof FlutterLoadAdError)) { - return false; - } - - final FlutterLoadAdError that = (FlutterLoadAdError) object; - - if (code != that.code) { - return false; - } else if (!domain.equals(that.domain)) { - return false; - } else if (!Objects.equals(responseInfo, that.responseInfo)) { - return false; - } - return message.equals(that.message); - } - - @Override - public int hashCode() { - return Objects.hash(code, domain, message, responseInfo); - } - } - - abstract void load(); - - /** - * Gets the PlatformView for the ad. Default behavior is to return null. Should be overridden by - * ads with platform views, such as banner and native ads. - */ - @Nullable - PlatformView getPlatformView() { - return null; - }; - - /** - * Invoked when dispose() is called on the corresponding Flutter ad object. This perform any - * necessary cleanup. - */ - abstract void dispose(); -} diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/java/io/flutter/plugins/googlemobileads/FlutterAdListener.java b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/java/io/flutter/plugins/googlemobileads/FlutterAdListener.java deleted file mode 100644 index 8f29ee43..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/java/io/flutter/plugins/googlemobileads/FlutterAdListener.java +++ /dev/null @@ -1,112 +0,0 @@ -// Copyright 2021 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -package io.flutter.plugins.googlemobileads; - -import androidx.annotation.NonNull; -import com.google.android.gms.ads.AdListener; -import com.google.android.gms.ads.LoadAdError; -import com.google.android.gms.ads.nativead.NativeAd; -import com.google.android.gms.ads.nativead.NativeAd.OnNativeAdLoadedListener; -import java.lang.ref.WeakReference; - -/** Callback type to notify when an ad successfully loads. */ -interface FlutterAdLoadedListener { - void onAdLoaded(); -} - -class FlutterAdListener extends AdListener { - protected final int adId; - @NonNull protected final AdInstanceManager manager; - - FlutterAdListener(int adId, @NonNull AdInstanceManager manager) { - this.adId = adId; - this.manager = manager; - } - - @Override - public void onAdClosed() { - manager.onAdClosed(adId); - } - - @Override - public void onAdFailedToLoad(LoadAdError loadAdError) { - manager.onAdFailedToLoad(adId, new FlutterAd.FlutterLoadAdError(loadAdError)); - } - - @Override - public void onAdOpened() { - manager.onAdOpened(adId); - } - - @Override - public void onAdImpression() { - manager.onAdImpression(adId); - } - - @Override - public void onAdClicked() { - manager.onAdClicked(adId); - } -} - -/** - * Ad listener for banner ads. Does not override onAdClicked(), since that is only for native ads. - */ -class FlutterBannerAdListener extends FlutterAdListener { - - @NonNull final WeakReference adLoadedListenerWeakReference; - - FlutterBannerAdListener( - int adId, @NonNull AdInstanceManager manager, FlutterAdLoadedListener adLoadedListener) { - super(adId, manager); - adLoadedListenerWeakReference = new WeakReference<>(adLoadedListener); - } - - @Override - public void onAdLoaded() { - if (adLoadedListenerWeakReference.get() != null) { - adLoadedListenerWeakReference.get().onAdLoaded(); - } - } -} - -/** Listener for native ads. */ -class FlutterNativeAdListener extends FlutterAdListener { - - FlutterNativeAdListener(int adId, AdInstanceManager manager) { - super(adId, manager); - } - - @Override - public void onAdLoaded() { - // Do nothing. Loaded event is handled from FlutterNativeAdLoadedListener. - } -} - -/** {@link OnNativeAdLoadedListener} for native ads. */ -class FlutterNativeAdLoadedListener implements OnNativeAdLoadedListener { - - private final WeakReference nativeAdWeakReference; - - FlutterNativeAdLoadedListener(FlutterNativeAd flutterNativeAd) { - nativeAdWeakReference = new WeakReference<>(flutterNativeAd); - } - - @Override - public void onNativeAdLoaded(@NonNull NativeAd nativeAd) { - if (nativeAdWeakReference.get() != null) { - nativeAdWeakReference.get().onNativeAdLoaded(nativeAd); - } - } -} diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/java/io/flutter/plugins/googlemobileads/FlutterAdLoader.java b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/java/io/flutter/plugins/googlemobileads/FlutterAdLoader.java deleted file mode 100644 index 0e864e7d..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/java/io/flutter/plugins/googlemobileads/FlutterAdLoader.java +++ /dev/null @@ -1,140 +0,0 @@ -// Copyright 2021 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package io.flutter.plugins.googlemobileads; - -import android.content.Context; -import androidx.annotation.NonNull; -import com.google.android.gms.ads.AdListener; -import com.google.android.gms.ads.AdLoader; -import com.google.android.gms.ads.AdRequest; -import com.google.android.gms.ads.admanager.AdManagerAdRequest; -import com.google.android.gms.ads.admanager.AdManagerInterstitialAd; -import com.google.android.gms.ads.admanager.AdManagerInterstitialAdLoadCallback; -import com.google.android.gms.ads.appopen.AppOpenAd; -import com.google.android.gms.ads.appopen.AppOpenAd.AppOpenAdLoadCallback; -import com.google.android.gms.ads.interstitial.InterstitialAd; -import com.google.android.gms.ads.interstitial.InterstitialAdLoadCallback; -import com.google.android.gms.ads.nativead.NativeAd.OnNativeAdLoadedListener; -import com.google.android.gms.ads.nativead.NativeAdOptions; -import com.google.android.gms.ads.rewarded.RewardedAd; -import com.google.android.gms.ads.rewarded.RewardedAdLoadCallback; -import com.google.android.gms.ads.rewardedinterstitial.RewardedInterstitialAd; -import com.google.android.gms.ads.rewardedinterstitial.RewardedInterstitialAdLoadCallback; - -/** - * A wrapper around load methods in GMA. This exists mainly to make the Android code more testable. - */ -public class FlutterAdLoader { - - @NonNull private final Context context; - - public FlutterAdLoader(@NonNull Context context) { - this.context = context; - } - - /** Load an app open ad. */ - public void loadAppOpen( - @NonNull String adUnitId, - @NonNull AdRequest adRequest, - @NonNull AppOpenAdLoadCallback loadCallback) { - AppOpenAd.load(context, adUnitId, adRequest, loadCallback); - } - - /** Load an ad manager app open ad. */ - public void loadAdManagerAppOpen( - @NonNull String adUnitId, - @NonNull AdManagerAdRequest adRequest, - @NonNull AppOpenAdLoadCallback loadCallback) { - AppOpenAd.load(context, adUnitId, adRequest, loadCallback); - } - - /** Load an interstitial ad. */ - public void loadInterstitial( - @NonNull String adUnitId, - @NonNull AdRequest adRequest, - @NonNull InterstitialAdLoadCallback loadCallback) { - InterstitialAd.load(context, adUnitId, adRequest, loadCallback); - } - - /** Load an ad manager interstitial ad. */ - public void loadAdManagerInterstitial( - @NonNull String adUnitId, - @NonNull AdManagerAdRequest adRequest, - @NonNull AdManagerInterstitialAdLoadCallback loadCallback) { - AdManagerInterstitialAd.load(context, adUnitId, adRequest, loadCallback); - } - - /** Load a rewarded ad. */ - public void loadRewarded( - @NonNull String adUnitId, - @NonNull AdRequest adRequest, - @NonNull RewardedAdLoadCallback loadCallback) { - RewardedAd.load(context, adUnitId, adRequest, loadCallback); - } - - /** Load a rewarded interstitial ad. */ - public void loadRewardedInterstitial( - @NonNull String adUnitId, - @NonNull AdRequest adRequest, - @NonNull RewardedInterstitialAdLoadCallback loadCallback) { - RewardedInterstitialAd.load(context, adUnitId, adRequest, loadCallback); - } - - /** Load an ad manager rewarded ad. */ - public void loadAdManagerRewarded( - @NonNull String adUnitId, - @NonNull AdManagerAdRequest adRequest, - @NonNull RewardedAdLoadCallback loadCallback) { - RewardedAd.load(context, adUnitId, adRequest, loadCallback); - } - - /** Load an ad manager rewarded interstitial ad. */ - public void loadAdManagerRewardedInterstitial( - @NonNull String adUnitId, - @NonNull AdManagerAdRequest adRequest, - @NonNull RewardedInterstitialAdLoadCallback loadCallback) { - RewardedInterstitialAd.load(context, adUnitId, adRequest, loadCallback); - } - - /** Load a native ad. */ - public void loadNativeAd( - @NonNull String adUnitId, - @NonNull OnNativeAdLoadedListener onNativeAdLoadedListener, - @NonNull NativeAdOptions nativeAdOptions, - @NonNull AdListener adListener, - @NonNull AdRequest adRequest) { - new AdLoader.Builder(context, adUnitId) - .forNativeAd(onNativeAdLoadedListener) - .withNativeAdOptions(nativeAdOptions) - .withAdListener(adListener) - .build() - .loadAd(adRequest); - } - - /** Load an ad manager native ad. */ - public void loadAdManagerNativeAd( - @NonNull String adUnitId, - @NonNull OnNativeAdLoadedListener onNativeAdLoadedListener, - @NonNull NativeAdOptions nativeAdOptions, - @NonNull AdListener adListener, - @NonNull AdManagerAdRequest adManagerAdRequest) { - new AdLoader.Builder(context, adUnitId) - .forNativeAd(onNativeAdLoadedListener) - .withNativeAdOptions(nativeAdOptions) - .withAdListener(adListener) - .build() - .loadAd(adManagerAdRequest); - } -} diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/java/io/flutter/plugins/googlemobileads/FlutterAdManagerAdRequest.java b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/java/io/flutter/plugins/googlemobileads/FlutterAdManagerAdRequest.java deleted file mode 100644 index 2ae5f99f..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/java/io/flutter/plugins/googlemobileads/FlutterAdManagerAdRequest.java +++ /dev/null @@ -1,163 +0,0 @@ -// Copyright 2021 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package io.flutter.plugins.googlemobileads; - -import androidx.annotation.NonNull; -import androidx.annotation.Nullable; -import com.google.android.gms.ads.admanager.AdManagerAdRequest; -import com.google.errorprone.annotations.CanIgnoreReturnValue; -import java.util.List; -import java.util.Map; -import java.util.Objects; - -/** - * Instantiates and serializes {@link com.google.android.gms.ads.admanager.AdManagerAdRequest} for - * the Google Mobile Ads Plugin. - */ -class FlutterAdManagerAdRequest extends FlutterAdRequest { - - @Nullable private final Map customTargeting; - @Nullable private final Map> customTargetingLists; - @Nullable private final String publisherProvidedId; - - static class Builder extends FlutterAdRequest.Builder { - - @Nullable private Map customTargeting; - @Nullable private Map> customTargetingLists; - @Nullable private String publisherProvidedId; - - @CanIgnoreReturnValue - public Builder setCustomTargeting(@Nullable Map customTargeting) { - this.customTargeting = customTargeting; - return this; - } - - @CanIgnoreReturnValue - public Builder setCustomTargetingLists( - @Nullable Map> customTargetingLists) { - this.customTargetingLists = customTargetingLists; - return this; - } - - @CanIgnoreReturnValue - public Builder setPublisherProvidedId(@Nullable String publisherProvidedId) { - this.publisherProvidedId = publisherProvidedId; - return this; - } - - @Override - FlutterAdManagerAdRequest build() { - return new FlutterAdManagerAdRequest( - getKeywords(), - getContentUrl(), - customTargeting, - customTargetingLists, - getNonPersonalizedAds(), - getNeighboringContentUrls(), - getHttpTimeoutMillis(), - publisherProvidedId, - getMediationExtrasIdentifier(), - getMediationNetworkExtrasProvider(), - getAdMobExtras(), - getRequestAgent(), - getMediationExtras()); - } - } - - @SuppressWarnings("deprecation") // Keeping for compatibility - private FlutterAdManagerAdRequest( - @Nullable List keywords, - @Nullable String contentUrl, - @Nullable Map customTargeting, - @Nullable Map> customTargetingLists, - @Nullable Boolean nonPersonalizedAds, - @Nullable List neighboringContentUrls, - @Nullable Integer httpTimeoutMillis, - @Nullable String publisherProvidedId, - @Nullable String mediationExtrasIdentifier, - @Nullable MediationNetworkExtrasProvider mediationNetworkExtrasProvider, - @Nullable Map adMobExtras, - @NonNull String requestAgent, - @Nullable List mediationExtras) { - super( - keywords, - contentUrl, - nonPersonalizedAds, - neighboringContentUrls, - httpTimeoutMillis, - mediationExtrasIdentifier, - mediationNetworkExtrasProvider, - adMobExtras, - requestAgent, - mediationExtras); - this.customTargeting = customTargeting; - this.customTargetingLists = customTargetingLists; - this.publisherProvidedId = publisherProvidedId; - } - - AdManagerAdRequest asAdManagerAdRequest(String adUnitId) { - final AdManagerAdRequest.Builder builder = new AdManagerAdRequest.Builder(); - updateAdRequestBuilder(builder, adUnitId); - - if (customTargeting != null) { - for (final Map.Entry entry : customTargeting.entrySet()) { - builder.addCustomTargeting(entry.getKey(), entry.getValue()); - } - } - if (customTargetingLists != null) { - for (final Map.Entry> entry : customTargetingLists.entrySet()) { - builder.addCustomTargeting(entry.getKey(), entry.getValue()); - } - } - if (publisherProvidedId != null) { - builder.setPublisherProvidedId(publisherProvidedId); - } - return builder.build(); - } - - @Nullable - protected Map getCustomTargeting() { - return customTargeting; - } - - @Nullable - protected Map> getCustomTargetingLists() { - return customTargetingLists; - } - - @Nullable - protected String getPublisherProvidedId() { - return publisherProvidedId; - } - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } else if (!(o instanceof FlutterAdManagerAdRequest)) { - return false; - } - - FlutterAdManagerAdRequest request = (FlutterAdManagerAdRequest) o; - return super.equals(o) - && Objects.equals(customTargeting, request.customTargeting) - && Objects.equals(customTargetingLists, request.customTargetingLists); - } - - @Override - public int hashCode() { - return Objects.hash(super.hashCode(), customTargeting, customTargetingLists); - } -} diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/java/io/flutter/plugins/googlemobileads/FlutterAdManagerBannerAd.java b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/java/io/flutter/plugins/googlemobileads/FlutterAdManagerBannerAd.java deleted file mode 100644 index c07168eb..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/java/io/flutter/plugins/googlemobileads/FlutterAdManagerBannerAd.java +++ /dev/null @@ -1,131 +0,0 @@ -// Copyright 2021 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package io.flutter.plugins.googlemobileads; - -import static android.view.ViewGroup.LayoutParams.MATCH_PARENT; -import static android.view.ViewGroup.LayoutParams.WRAP_CONTENT; - -import android.view.ViewGroup.LayoutParams; -import androidx.annotation.NonNull; -import androidx.annotation.Nullable; -import com.google.android.gms.ads.AdSize; -import com.google.android.gms.ads.admanager.AdManagerAdView; -import com.google.android.gms.ads.admanager.AppEventListener; -import io.flutter.plugin.platform.PlatformView; -import io.flutter.util.Preconditions; -import java.util.List; - -/** - * Wrapper around {@link com.google.android.gms.ads.admanager.AdManagerAdView} for the Google Mobile - * Ads Plugin. - */ -class FlutterAdManagerBannerAd extends FlutterAd implements FlutterAdLoadedListener { - - @NonNull protected final AdInstanceManager manager; - @NonNull private final String adUnitId; - @NonNull private final List sizes; - @NonNull private final FlutterAdManagerAdRequest request; - @NonNull private final BannerAdCreator bannerAdCreator; - @Nullable protected AdManagerAdView adView; - - /** - * Constructs a `FlutterAdManagerBannerAd`. - * - *

Call `load()` to instantiate the `AdView` and load the `AdRequest`. `getView()` will return - * null only until `load` is called. - */ - public FlutterAdManagerBannerAd( - int adId, - @NonNull AdInstanceManager manager, - @NonNull String adUnitId, - @NonNull List sizes, - @NonNull FlutterAdManagerAdRequest request, - @NonNull BannerAdCreator bannerAdCreator) { - super(adId); - Preconditions.checkNotNull(manager); - Preconditions.checkNotNull(adUnitId); - Preconditions.checkNotNull(sizes); - Preconditions.checkNotNull(request); - this.manager = manager; - this.adUnitId = adUnitId; - this.sizes = sizes; - this.request = request; - this.bannerAdCreator = bannerAdCreator; - } - - @Override - void load() { - adView = bannerAdCreator.createAdManagerAdView(); - if (this instanceof FluidAdManagerBannerAd) { - adView.setLayoutParams(new LayoutParams(MATCH_PARENT, WRAP_CONTENT)); - } - adView.setAdUnitId(adUnitId); - adView.setAppEventListener( - new AppEventListener() { - @Override - public void onAppEvent(String name, String data) { - manager.onAppEvent(adId, name, data); - } - }); - - final AdSize[] allSizes = new AdSize[sizes.size()]; - for (int i = 0; i < sizes.size(); i++) { - allSizes[i] = sizes.get(i).getAdSize(); - } - adView.setAdSizes(allSizes); - adView.setAdListener(new FlutterBannerAdListener(adId, manager, this)); - adView.loadAd(request.asAdManagerAdRequest(adUnitId)); - } - - @Override - public void onAdLoaded() { - if (adView != null) { - manager.onAdLoaded(adId, adView.getResponseInfo()); - } - } - - @Nullable - @Override - PlatformView getPlatformView() { - if (adView == null) { - return null; - } - return new FlutterPlatformView(adView); - } - - @Override - void dispose() { - if (adView != null) { - adView.destroy(); - adView = null; - } - } - - @Nullable - FlutterAdSize getAdSize() { - if (adView == null || adView.getAdSize() == null) { - return null; - } - return new FlutterAdSize(adView.getAdSize()); - } - - boolean isCollapsible() { - if (adView == null) { - return false; - } - - return adView.isCollapsible(); - } -} diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/java/io/flutter/plugins/googlemobileads/FlutterAdManagerInterstitialAd.java b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/java/io/flutter/plugins/googlemobileads/FlutterAdManagerInterstitialAd.java deleted file mode 100644 index 66607fc8..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/java/io/flutter/plugins/googlemobileads/FlutterAdManagerInterstitialAd.java +++ /dev/null @@ -1,143 +0,0 @@ -// Copyright 2021 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package io.flutter.plugins.googlemobileads; - -import android.util.Log; -import androidx.annotation.NonNull; -import androidx.annotation.Nullable; -import com.google.android.gms.ads.LoadAdError; -import com.google.android.gms.ads.admanager.AdManagerInterstitialAd; -import com.google.android.gms.ads.admanager.AdManagerInterstitialAdLoadCallback; -import com.google.android.gms.ads.admanager.AppEventListener; -import java.lang.ref.WeakReference; - -/** - * Wrapper around {@link com.google.android.gms.ads.admanager.AdManagerInterstitialAd} for the - * Google Mobile Ads Plugin. - */ -class FlutterAdManagerInterstitialAd extends FlutterAd.FlutterOverlayAd { - private static final String TAG = "FltGAMInterstitialAd"; - - @NonNull private final AdInstanceManager manager; - @NonNull private final String adUnitId; - @NonNull private final FlutterAdManagerAdRequest request; - @Nullable private AdManagerInterstitialAd ad; - @NonNull private final FlutterAdLoader flutterAdLoader; - - /** - * Constructs a `FlutterAdManagerInterstitialAd`. - * - *

Call `load()` to instantiate the `AdView` and load the `AdRequest`. `getView()` will return - * null only until `load` is called. - */ - public FlutterAdManagerInterstitialAd( - int adId, - @NonNull AdInstanceManager manager, - @NonNull String adUnitId, - @NonNull FlutterAdManagerAdRequest request, - @NonNull FlutterAdLoader flutterAdLoader) { - super(adId); - this.manager = manager; - this.adUnitId = adUnitId; - this.request = request; - this.flutterAdLoader = flutterAdLoader; - } - - @Override - void load() { - flutterAdLoader.loadAdManagerInterstitial( - adUnitId, - request.asAdManagerAdRequest(adUnitId), - new DelegatingAdManagerInterstitialAdCallbacks(this)); - } - - void onAdLoaded(AdManagerInterstitialAd ad) { - this.ad = ad; - ad.setAppEventListener(new DelegatingAdManagerInterstitialAdCallbacks(this)); - ad.setOnPaidEventListener(new FlutterPaidEventListener(manager, this)); - manager.onAdLoaded(adId, ad.getResponseInfo()); - } - - void onAdFailedToLoad(LoadAdError loadAdError) { - manager.onAdFailedToLoad(adId, new FlutterLoadAdError(loadAdError)); - } - - void onAppEvent(@NonNull String name, @NonNull String data) { - manager.onAppEvent(adId, name, data); - } - - @Override - public void show() { - if (ad == null) { - Log.e(TAG, "The interstitial wasn't loaded yet."); - return; - } - if (manager.getActivity() == null) { - Log.e(TAG, "Tried to show interstitial before activity was bound to the plugin."); - return; - } - ad.setFullScreenContentCallback(new FlutterFullScreenContentCallback(manager, adId)); - ad.show(manager.getActivity()); - } - - @Override - public void setImmersiveMode(boolean immersiveModeEnabled) { - if (ad == null) { - Log.e(TAG, "The interstitial wasn't loaded yet."); - return; - } - ad.setImmersiveMode(immersiveModeEnabled); - } - - @Override - void dispose() { - ad = null; - } - - /** - * This class delegates various rewarded ad callbacks to FlutterAdManagerInterstitialAd. Maintains - * a weak reference to avoid memory leaks. - */ - private static final class DelegatingAdManagerInterstitialAdCallbacks - extends AdManagerInterstitialAdLoadCallback implements AppEventListener { - - private final WeakReference delegate; - - DelegatingAdManagerInterstitialAdCallbacks(FlutterAdManagerInterstitialAd delegate) { - this.delegate = new WeakReference<>(delegate); - } - - @Override - public void onAdLoaded(@NonNull AdManagerInterstitialAd interstitialAd) { - if (delegate.get() != null) { - delegate.get().onAdLoaded(interstitialAd); - } - } - - @Override - public void onAdFailedToLoad(@NonNull LoadAdError loadAdError) { - if (delegate.get() != null) { - delegate.get().onAdFailedToLoad(loadAdError); - } - } - - @Override - public void onAppEvent(@NonNull String name, @NonNull String data) { - if (delegate.get() != null) { - delegate.get().onAppEvent(name, data); - } - } - } -} diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/java/io/flutter/plugins/googlemobileads/FlutterAdRequest.java b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/java/io/flutter/plugins/googlemobileads/FlutterAdRequest.java deleted file mode 100644 index e1c65877..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/java/io/flutter/plugins/googlemobileads/FlutterAdRequest.java +++ /dev/null @@ -1,359 +0,0 @@ -// Copyright 2021 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package io.flutter.plugins.googlemobileads; - -import android.os.Bundle; -import android.util.Pair; -import androidx.annotation.NonNull; -import androidx.annotation.Nullable; -import com.google.ads.mediation.admob.AdMobAdapter; -import com.google.android.gms.ads.AbstractAdRequestBuilder; -import com.google.android.gms.ads.AdRequest; -import com.google.android.gms.ads.mediation.MediationExtrasReceiver; -import com.google.errorprone.annotations.CanIgnoreReturnValue; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Map.Entry; -import java.util.Objects; - -class FlutterAdRequest { - @Nullable private final List keywords; - @Nullable private final String contentUrl; - @Nullable private final Boolean nonPersonalizedAds; - @Nullable private final List neighboringContentUrls; - @Nullable private final Integer httpTimeoutMillis; - @Nullable private final String mediationExtrasIdentifier; - - @SuppressWarnings("deprecation") // Keeping for compatibility - @Nullable - private final MediationNetworkExtrasProvider mediationNetworkExtrasProvider; - - @Nullable private final Map adMobExtras; - @NonNull private final String requestAgent; - @Nullable private final List mediationExtras; - - protected static class Builder { - @Nullable private List keywords; - @Nullable private String contentUrl; - @Nullable private Boolean nonPersonalizedAds; - @Nullable private List neighboringContentUrls; - @Nullable private Integer httpTimeoutMillis; - @Nullable private String mediationExtrasIdentifier; - - @SuppressWarnings("deprecation") // Keeping for compatibility - @Nullable - private MediationNetworkExtrasProvider mediationNetworkExtrasProvider; - - @Nullable private Map adMobExtras; - @NonNull private String requestAgent; - - @Nullable private List mediationExtras; - - @CanIgnoreReturnValue - Builder setRequestAgent(String requestAgent) { - this.requestAgent = requestAgent; - return this; - } - - @CanIgnoreReturnValue - Builder setKeywords(@Nullable List keywords) { - this.keywords = keywords; - return this; - } - - @CanIgnoreReturnValue - Builder setContentUrl(@Nullable String contentUrl) { - this.contentUrl = contentUrl; - return this; - } - - @CanIgnoreReturnValue - Builder setNonPersonalizedAds(@Nullable Boolean nonPersonalizedAds) { - this.nonPersonalizedAds = nonPersonalizedAds; - return this; - } - - @CanIgnoreReturnValue - Builder setNeighboringContentUrls(@Nullable List neighboringContentUrls) { - this.neighboringContentUrls = neighboringContentUrls; - return this; - } - - @CanIgnoreReturnValue - Builder setHttpTimeoutMillis(@Nullable Integer httpTimeoutMillis) { - this.httpTimeoutMillis = httpTimeoutMillis; - return this; - } - - @CanIgnoreReturnValue - Builder setMediationNetworkExtrasIdentifier(@Nullable String mediationExtrasIdentifier) { - this.mediationExtrasIdentifier = mediationExtrasIdentifier; - return this; - } - - @CanIgnoreReturnValue - @SuppressWarnings("deprecation") // Keeping for compatibility - Builder setMediationNetworkExtrasProvider( - @Nullable MediationNetworkExtrasProvider mediationNetworkExtrasProvider) { - this.mediationNetworkExtrasProvider = mediationNetworkExtrasProvider; - return this; - } - - @CanIgnoreReturnValue - Builder setAdMobExtras(@Nullable Map adMobExtras) { - this.adMobExtras = adMobExtras; - return this; - } - - @CanIgnoreReturnValue - Builder setMediationExtras(@Nullable List mediationExtras) { - this.mediationExtras = mediationExtras; - return this; - } - - @Nullable - protected List getKeywords() { - return keywords; - } - - @Nullable - protected String getContentUrl() { - return contentUrl; - } - - @Nullable - protected Boolean getNonPersonalizedAds() { - return nonPersonalizedAds; - } - - @Nullable - protected List getNeighboringContentUrls() { - return neighboringContentUrls; - } - - @Nullable - protected Integer getHttpTimeoutMillis() { - return httpTimeoutMillis; - } - - @Nullable - protected String getMediationExtrasIdentifier() { - return mediationExtrasIdentifier; - } - - @SuppressWarnings("deprecation") // Keeping for compatibility - @Nullable - protected MediationNetworkExtrasProvider getMediationNetworkExtrasProvider() { - return mediationNetworkExtrasProvider; - } - - @Nullable - protected Map getAdMobExtras() { - return adMobExtras; - } - - @NonNull - protected String getRequestAgent() { - return requestAgent; - } - - @Nullable - protected List getMediationExtras() { - return mediationExtras; - } - - FlutterAdRequest build() { - return new FlutterAdRequest( - keywords, - contentUrl, - nonPersonalizedAds, - neighboringContentUrls, - httpTimeoutMillis, - mediationExtrasIdentifier, - mediationNetworkExtrasProvider, - adMobExtras, - requestAgent, - mediationExtras); - } - } - - @SuppressWarnings("deprecation") // Keeping for compatibility - protected FlutterAdRequest( - @Nullable List keywords, - @Nullable String contentUrl, - @Nullable Boolean nonPersonalizedAds, - @Nullable List neighboringContentUrls, - @Nullable Integer httpTimeoutMillis, - @Nullable String mediationExtrasIdentifier, - @Nullable MediationNetworkExtrasProvider mediationNetworkExtrasProvider, - @Nullable Map adMobExtras, - String requestAgent, - @Nullable List mediationExtras) { - this.keywords = keywords; - this.contentUrl = contentUrl; - this.nonPersonalizedAds = nonPersonalizedAds; - this.neighboringContentUrls = neighboringContentUrls; - this.httpTimeoutMillis = httpTimeoutMillis; - this.mediationExtrasIdentifier = mediationExtrasIdentifier; - this.mediationNetworkExtrasProvider = mediationNetworkExtrasProvider; - this.adMobExtras = adMobExtras; - this.requestAgent = requestAgent; - this.mediationExtras = mediationExtras; - } - - /** Adds network extras to the ad request builder, if any. */ - private > void addNetworkExtras( - AbstractAdRequestBuilder builder, String adUnitId) { - Map, Bundle> networkExtras = new HashMap<>(); - if (mediationExtras != null) { - for (FlutterMediationExtras flutterExtras : mediationExtras) { - Pair, Bundle> pair = - flutterExtras.getMediationExtras(); - networkExtras.put(pair.first, pair.second); - } - } else if (mediationNetworkExtrasProvider != null) { - Map, Bundle> providedExtras = - mediationNetworkExtrasProvider.getMediationExtras(adUnitId, mediationExtrasIdentifier); - networkExtras.putAll(providedExtras); - } - - if (adMobExtras != null && !adMobExtras.isEmpty()) { - Bundle adMobBundle = new Bundle(); - for (Map.Entry extra : adMobExtras.entrySet()) { - adMobBundle.putString(extra.getKey(), extra.getValue()); - } - networkExtras.put(AdMobAdapter.class, adMobBundle); - } - - if (nonPersonalizedAds != null && nonPersonalizedAds) { - Bundle adMobBundle = networkExtras.get(AdMobAdapter.class); - if (adMobBundle == null) { - adMobBundle = new Bundle(); - } - adMobBundle.putString("npa", "1"); - networkExtras.put(AdMobAdapter.class, adMobBundle); - } - - for (Entry, Bundle> entry : networkExtras.entrySet()) { - builder.addNetworkExtrasBundle(entry.getKey(), entry.getValue()); - } - } - - /** Updates the {@link AdRequest.Builder} with the properties in this {@link FlutterAdRequest}. */ - protected > - AbstractAdRequestBuilder updateAdRequestBuilder( - AbstractAdRequestBuilder builder, String adUnitId) { - if (keywords != null) { - for (final String keyword : keywords) { - builder.addKeyword(keyword); - } - } - if (contentUrl != null) { - builder.setContentUrl(contentUrl); - } - addNetworkExtras(builder, adUnitId); - if (neighboringContentUrls != null) { - builder.setNeighboringContentUrls(neighboringContentUrls); - } - if (httpTimeoutMillis != null) { - builder.setHttpTimeoutMillis(httpTimeoutMillis); - } - builder.setRequestAgent(requestAgent); - return builder; - } - - AdRequest asAdRequest(String adUnitId) { - return ((AdRequest.Builder) updateAdRequestBuilder(new AdRequest.Builder(), adUnitId)).build(); - } - - @Nullable - protected List getKeywords() { - return keywords; - } - - @Nullable - protected String getContentUrl() { - return contentUrl; - } - - @Nullable - protected Boolean getNonPersonalizedAds() { - return nonPersonalizedAds; - } - - @Nullable - protected List getNeighboringContentUrls() { - return neighboringContentUrls; - } - - @Nullable - protected Integer getHttpTimeoutMillis() { - return httpTimeoutMillis; - } - - @Nullable - protected String getMediationExtrasIdentifier() { - return mediationExtrasIdentifier; - } - - @Nullable - protected Map getAdMobExtras() { - return adMobExtras; - } - - @NonNull - protected String getRequestAgent() { - return requestAgent; - } - - @Nullable - protected List getMediationExtras() { - return mediationExtras; - } - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } else if (!(o instanceof FlutterAdRequest)) { - return false; - } - - FlutterAdRequest request = (FlutterAdRequest) o; - return Objects.equals(keywords, request.keywords) - && Objects.equals(contentUrl, request.contentUrl) - && Objects.equals(nonPersonalizedAds, request.nonPersonalizedAds) - && Objects.equals(neighboringContentUrls, request.neighboringContentUrls) - && Objects.equals(httpTimeoutMillis, request.httpTimeoutMillis) - && Objects.equals(mediationExtrasIdentifier, request.mediationExtrasIdentifier) - && Objects.equals(mediationNetworkExtrasProvider, request.mediationNetworkExtrasProvider) - && Objects.equals(adMobExtras, request.adMobExtras) - && Objects.equals(mediationExtras, request.mediationExtras); - } - - @Override - public int hashCode() { - return Objects.hash( - keywords, - contentUrl, - nonPersonalizedAds, - neighboringContentUrls, - httpTimeoutMillis, - mediationExtrasIdentifier, - mediationNetworkExtrasProvider, - mediationExtras); - } -} diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/java/io/flutter/plugins/googlemobileads/FlutterAdSize.java b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/java/io/flutter/plugins/googlemobileads/FlutterAdSize.java deleted file mode 100644 index d08ffa90..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/java/io/flutter/plugins/googlemobileads/FlutterAdSize.java +++ /dev/null @@ -1,200 +0,0 @@ -// Copyright 2021 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package io.flutter.plugins.googlemobileads; - -import android.content.Context; -import androidx.annotation.NonNull; -import androidx.annotation.Nullable; -import com.google.android.gms.ads.AdSize; - -class FlutterAdSize { - @NonNull final AdSize size; - final int width; - final int height; - - /** Wrapper around static methods for {@link com.google.android.gms.ads.AdSize}. */ - static class AdSizeFactory { - - @SuppressWarnings("deprecation") - AdSize getPortraitAnchoredAdaptiveBannerAdSize(Context context, int width) { - return AdSize.getPortraitAnchoredAdaptiveBannerAdSize(context, width); - } - - @SuppressWarnings("deprecation") - AdSize getLandscapeAnchoredAdaptiveBannerAdSize(Context context, int width) { - return AdSize.getLandscapeAnchoredAdaptiveBannerAdSize(context, width); - } - - @SuppressWarnings("deprecation") - AdSize getCurrentOrientationAnchoredAdaptiveBannerAdSize(Context context, int width) { - return AdSize.getCurrentOrientationAnchoredAdaptiveBannerAdSize(context, width); - } - - AdSize getLargePortraitAnchoredAdaptiveBannerAdSize(Context context, int width) { - return AdSize.getLargePortraitAnchoredAdaptiveBannerAdSize(context, width); - } - - AdSize getLargeLandscapeAnchoredAdaptiveBannerAdSize(Context context, int width) { - return AdSize.getLargeLandscapeAnchoredAdaptiveBannerAdSize(context, width); - } - - AdSize getLargeAnchoredAdaptiveBannerAdSize(Context context, int width) { - return AdSize.getLargeAnchoredAdaptiveBannerAdSize(context, width); - } - - AdSize getCurrentOrientationInlineAdaptiveBannerAdSize(Context context, int width) { - return AdSize.getCurrentOrientationInlineAdaptiveBannerAdSize(context, width); - } - - AdSize getLandscapeInlineAdaptiveBannerAdSize(Context context, int width) { - return AdSize.getLandscapeInlineAdaptiveBannerAdSize(context, width); - } - - AdSize getPortraitInlineAdaptiveBannerAdSize(Context context, int width) { - return AdSize.getPortraitInlineAdaptiveBannerAdSize(context, width); - } - - AdSize getInlineAdaptiveBannerAdSize(int width, int maxHeight) { - return AdSize.getInlineAdaptiveBannerAdSize(width, maxHeight); - } - } - - static class AnchoredAdaptiveBannerAdSize extends FlutterAdSize { - final String orientation; - - @NonNull - private static AdSize getAdSize( - @NonNull Context context, - @NonNull AdSizeFactory factory, - @Nullable String orientation, - int width, - boolean isLarge) { - if (orientation == null) { - if (isLarge) { - return factory.getLargeAnchoredAdaptiveBannerAdSize(context, width); - } - return factory.getCurrentOrientationAnchoredAdaptiveBannerAdSize(context, width); - } else if (orientation.equals("portrait")) { - if (isLarge) { - return factory.getLargePortraitAnchoredAdaptiveBannerAdSize(context, width); - } - return factory.getPortraitAnchoredAdaptiveBannerAdSize(context, width); - } else if (orientation.equals("landscape")) { - if (isLarge) { - return factory.getLargeLandscapeAnchoredAdaptiveBannerAdSize(context, width); - } - return factory.getLandscapeAnchoredAdaptiveBannerAdSize(context, width); - } else { - throw new IllegalArgumentException("Unexpected value for orientation: " + orientation); - } - } - - AnchoredAdaptiveBannerAdSize( - @NonNull Context context, - @NonNull AdSizeFactory factory, - @Nullable String orientation, - int width, - boolean isLarge) { - super(getAdSize(context, factory, orientation, width, isLarge)); - this.orientation = orientation; - } - } - - static class SmartBannerAdSize extends FlutterAdSize { - - @SuppressWarnings("deprecation") // Smart banner is already deprecated in Dart. - SmartBannerAdSize() { - super(AdSize.SMART_BANNER); - } - } - - static class FluidAdSize extends FlutterAdSize { - - FluidAdSize() { - super(AdSize.FLUID); - } - } - - static class InlineAdaptiveBannerAdSize extends FlutterAdSize { - - @Nullable final Integer orientation; - @Nullable final Integer maxHeight; - - private static AdSize getAdSize( - @NonNull AdSizeFactory adSizeFactory, - @NonNull Context context, - int width, - @Nullable Integer orientation, - @Nullable Integer maxHeight) { - if (orientation != null) { - return orientation == 0 - ? adSizeFactory.getPortraitInlineAdaptiveBannerAdSize(context, width) - : adSizeFactory.getLandscapeInlineAdaptiveBannerAdSize(context, width); - } else if (maxHeight != null) { - return adSizeFactory.getInlineAdaptiveBannerAdSize(width, maxHeight); - } else { - return adSizeFactory.getCurrentOrientationInlineAdaptiveBannerAdSize(context, width); - } - } - - InlineAdaptiveBannerAdSize( - @NonNull AdSizeFactory adSizeFactory, - @NonNull Context context, - int width, - @Nullable Integer orientation, - @Nullable Integer maxHeight) { - super(getAdSize(adSizeFactory, context, width, orientation, maxHeight)); - this.orientation = orientation; - this.maxHeight = maxHeight; - } - } - - FlutterAdSize(int width, int height) { - this(new AdSize(width, height)); - } - - FlutterAdSize(@NonNull AdSize size) { - this.size = size; - this.width = size.getWidth(); - this.height = size.getHeight(); - } - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } else if (!(o instanceof FlutterAdSize)) { - return false; - } - - final FlutterAdSize that = (FlutterAdSize) o; - - if (width != that.width) { - return false; - } - return height == that.height; - } - - @Override - public int hashCode() { - int result = width; - result = 31 * result + height; - return result; - } - - public AdSize getAdSize() { - return size; - } -} diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/java/io/flutter/plugins/googlemobileads/FlutterAdValue.java b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/java/io/flutter/plugins/googlemobileads/FlutterAdValue.java deleted file mode 100644 index 52c639ad..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/java/io/flutter/plugins/googlemobileads/FlutterAdValue.java +++ /dev/null @@ -1,30 +0,0 @@ -// Copyright 2021 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package io.flutter.plugins.googlemobileads; - -import androidx.annotation.NonNull; - -/** A wrapper for {@link com.google.android.gms.ads.AdValue}. */ -public class FlutterAdValue { - final int precisionType; - @NonNull final String currencyCode; - final long valueMicros; - - public FlutterAdValue(int precisionType, @NonNull String currencyCode, long valueMicros) { - this.precisionType = precisionType; - this.currencyCode = currencyCode; - this.valueMicros = valueMicros; - } -} diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/java/io/flutter/plugins/googlemobileads/FlutterAdapterStatus.java b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/java/io/flutter/plugins/googlemobileads/FlutterAdapterStatus.java deleted file mode 100644 index 3ddbd4c0..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/java/io/flutter/plugins/googlemobileads/FlutterAdapterStatus.java +++ /dev/null @@ -1,88 +0,0 @@ -// Copyright 2021 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -package io.flutter.plugins.googlemobileads; - -import androidx.annotation.NonNull; -import com.google.android.gms.ads.initialization.AdapterStatus; - -/** - * Wrapper around {@link com.google.android.gms.ads.initialization.AdapterStatus} for the Flutter - * Google Mobile Ads Plugin. - */ -class FlutterAdapterStatus { - @NonNull final AdapterInitializationState state; - @NonNull final String description; - @NonNull final Number latency; - - /** - * Represents {@link com.google.android.gms.ads.initialization.AdapterStatus.State} for the - * Flutter Google Mobile Ads Plugin. - */ - enum AdapterInitializationState { - NOT_READY, - READY - } - - FlutterAdapterStatus( - @NonNull AdapterInitializationState state, - @NonNull String description, - @NonNull Number latency) { - this.state = state; - this.description = description; - this.latency = latency; - } - - FlutterAdapterStatus(@NonNull AdapterStatus status) { - switch (status.getInitializationState()) { - case NOT_READY: - this.state = AdapterInitializationState.NOT_READY; - break; - case READY: - this.state = AdapterInitializationState.READY; - break; - default: - final String message = - String.format("Unable to handle state: %s", status.getInitializationState()); - throw new IllegalArgumentException(message); - } - - this.description = status.getDescription(); - this.latency = status.getLatency(); - } - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } else if (!(o instanceof FlutterAdapterStatus)) { - return false; - } - - final FlutterAdapterStatus that = (FlutterAdapterStatus) o; - if (state != that.state) { - return false; - } else if (!description.equals(that.description)) { - return false; - } - return latency.equals(that.latency); - } - - @Override - public int hashCode() { - int result = state.hashCode(); - result = 31 * result + description.hashCode(); - result = 31 * result + latency.hashCode(); - return result; - } -} diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/java/io/flutter/plugins/googlemobileads/FlutterAppOpenAd.java b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/java/io/flutter/plugins/googlemobileads/FlutterAppOpenAd.java deleted file mode 100644 index 28e468f9..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/java/io/flutter/plugins/googlemobileads/FlutterAppOpenAd.java +++ /dev/null @@ -1,130 +0,0 @@ -// Copyright 2021 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package io.flutter.plugins.googlemobileads; - -import android.util.Log; -import androidx.annotation.NonNull; -import androidx.annotation.Nullable; -import com.google.android.gms.ads.LoadAdError; -import com.google.android.gms.ads.appopen.AppOpenAd; -import com.google.android.gms.ads.appopen.AppOpenAd.AppOpenAdLoadCallback; -import io.flutter.util.Preconditions; -import java.lang.ref.WeakReference; - -/** A wrapper for {@link com.google.android.gms.ads.appopen.AppOpenAd}. */ -class FlutterAppOpenAd extends FlutterAd.FlutterOverlayAd { - - private static final String TAG = "FlutterAppOpenAd"; - - @NonNull private final AdInstanceManager manager; - @NonNull private final String adUnitId; - @Nullable private final FlutterAdRequest request; - @Nullable private final FlutterAdManagerAdRequest adManagerAdRequest; - @Nullable private AppOpenAd ad; - @NonNull private final FlutterAdLoader flutterAdLoader; - - FlutterAppOpenAd( - int adId, - @NonNull AdInstanceManager manager, - @NonNull String adUnitId, - @Nullable FlutterAdRequest request, - @Nullable FlutterAdManagerAdRequest adManagerAdRequest, - @NonNull FlutterAdLoader flutterAdLoader) { - super(adId); - Preconditions.checkState( - request != null || adManagerAdRequest != null, - "One of request and adManagerAdRequest must be non-null."); - this.manager = manager; - this.adUnitId = adUnitId; - this.request = request; - this.adManagerAdRequest = adManagerAdRequest; - this.flutterAdLoader = flutterAdLoader; - } - - @Override - void load() { - if (request != null) { - flutterAdLoader.loadAppOpen( - adUnitId, request.asAdRequest(adUnitId), new DelegatingAppOpenAdLoadCallback(this)); - } else if (adManagerAdRequest != null) { - flutterAdLoader.loadAdManagerAppOpen( - adUnitId, - adManagerAdRequest.asAdManagerAdRequest(adUnitId), - new DelegatingAppOpenAdLoadCallback(this)); - } - } - - private void onAdLoaded(@NonNull AppOpenAd ad) { - this.ad = ad; - ad.setOnPaidEventListener(new FlutterPaidEventListener(manager, this)); - manager.onAdLoaded(adId, ad.getResponseInfo()); - } - - private void onAdFailedToLoad(@NonNull LoadAdError loadAdError) { - manager.onAdFailedToLoad(adId, new FlutterLoadAdError(loadAdError)); - } - - @Override - void show() { - if (ad == null) { - Log.w(TAG, "Tried to show app open ad before it was loaded"); - return; - } - if (manager.getActivity() == null) { - Log.e(TAG, "Tried to show app open ad before activity was bound to the plugin."); - return; - } - ad.setFullScreenContentCallback(new FlutterFullScreenContentCallback(manager, adId)); - ad.show(manager.getActivity()); - } - - @Override - void setImmersiveMode(boolean immersiveModeEnabled) { - if (ad == null) { - Log.w(TAG, "Tried to set immersive mode on app open ad before it was loaded"); - return; - } - ad.setImmersiveMode(immersiveModeEnabled); - } - - @Override - void dispose() { - ad = null; - } - - /** An AppOpenAdLoadCallback that just forwards events to a delegate. */ - private static final class DelegatingAppOpenAdLoadCallback extends AppOpenAdLoadCallback { - - private final WeakReference delegate; - - DelegatingAppOpenAdLoadCallback(FlutterAppOpenAd delegate) { - this.delegate = new WeakReference<>(delegate); - } - - @Override - public void onAdLoaded(@NonNull AppOpenAd appOpenAd) { - if (delegate.get() != null) { - delegate.get().onAdLoaded(appOpenAd); - } - } - - @Override - public void onAdFailedToLoad(@NonNull LoadAdError loadAdError) { - if (delegate.get() != null) { - delegate.get().onAdFailedToLoad(loadAdError); - } - } - } -} diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/java/io/flutter/plugins/googlemobileads/FlutterBannerAd.java b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/java/io/flutter/plugins/googlemobileads/FlutterBannerAd.java deleted file mode 100644 index ce4e1870..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/java/io/flutter/plugins/googlemobileads/FlutterBannerAd.java +++ /dev/null @@ -1,102 +0,0 @@ -// Copyright 2021 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package io.flutter.plugins.googlemobileads; - -import androidx.annotation.NonNull; -import androidx.annotation.Nullable; -import com.google.android.gms.ads.AdView; -import io.flutter.plugin.platform.PlatformView; -import io.flutter.util.Preconditions; - -/** A wrapper for {@link AdView}. */ -class FlutterBannerAd extends FlutterAd implements FlutterAdLoadedListener { - - @NonNull private final AdInstanceManager manager; - @NonNull private final String adUnitId; - @NonNull private final FlutterAdSize size; - @NonNull private final FlutterAdRequest request; - @NonNull private final BannerAdCreator bannerAdCreator; - @Nullable private AdView adView; - - /** Constructs the FlutterBannerAd. */ - public FlutterBannerAd( - int adId, - @NonNull AdInstanceManager manager, - @NonNull String adUnitId, - @NonNull FlutterAdRequest request, - @NonNull FlutterAdSize size, - @NonNull BannerAdCreator bannerAdCreator) { - super(adId); - Preconditions.checkNotNull(manager); - Preconditions.checkNotNull(adUnitId); - Preconditions.checkNotNull(request); - Preconditions.checkNotNull(size); - this.manager = manager; - this.adUnitId = adUnitId; - this.request = request; - this.size = size; - this.bannerAdCreator = bannerAdCreator; - } - - @Override - public void onAdLoaded() { - if (adView != null) { - manager.onAdLoaded(adId, adView.getResponseInfo()); - } - } - - @Override - void load() { - adView = bannerAdCreator.createAdView(); - adView.setAdUnitId(adUnitId); - adView.setAdSize(size.getAdSize()); - adView.setOnPaidEventListener(new FlutterPaidEventListener(manager, this)); - adView.setAdListener(new FlutterBannerAdListener(adId, manager, this)); - adView.loadAd(request.asAdRequest(adUnitId)); - } - - @Nullable - @Override - public PlatformView getPlatformView() { - if (adView == null) { - return null; - } - return new FlutterPlatformView(adView); - } - - @Override - void dispose() { - if (adView != null) { - adView.destroy(); - adView = null; - } - } - - @Nullable - FlutterAdSize getAdSize() { - if (adView == null || adView.getAdSize() == null) { - return null; - } - return new FlutterAdSize(adView.getAdSize()); - } - - boolean isCollapsible() { - if (adView == null) { - return false; - } - - return adView.isCollapsible(); - } -} diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/java/io/flutter/plugins/googlemobileads/FlutterDestroyableAd.java b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/java/io/flutter/plugins/googlemobileads/FlutterDestroyableAd.java deleted file mode 100644 index c1d9be8d..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/java/io/flutter/plugins/googlemobileads/FlutterDestroyableAd.java +++ /dev/null @@ -1,22 +0,0 @@ -// Copyright 2021 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package io.flutter.plugins.googlemobileads; - -/** Interface for a destroyable ad. */ -public interface FlutterDestroyableAd { - - /** Destroy any ads and free up references. */ - void destroy(); -} diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/java/io/flutter/plugins/googlemobileads/FlutterFullScreenContentCallback.java b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/java/io/flutter/plugins/googlemobileads/FlutterFullScreenContentCallback.java deleted file mode 100644 index 3359853e..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/java/io/flutter/plugins/googlemobileads/FlutterFullScreenContentCallback.java +++ /dev/null @@ -1,60 +0,0 @@ -// Copyright 2021 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package io.flutter.plugins.googlemobileads; - -import androidx.annotation.NonNull; -import com.google.android.gms.ads.AdError; -import com.google.android.gms.ads.FullScreenContentCallback; - -/** - * Flutter implementation of {@link FullScreenContentCallback}. Forwards events to - * AdInstanceManager. - */ -class FlutterFullScreenContentCallback extends FullScreenContentCallback { - - @NonNull protected final AdInstanceManager manager; - - @NonNull protected final int adId; - - public FlutterFullScreenContentCallback(@NonNull AdInstanceManager manager, int adId) { - this.manager = manager; - this.adId = adId; - } - - @Override - public void onAdFailedToShowFullScreenContent(@NonNull AdError adError) { - manager.onFailedToShowFullScreenContent(adId, adError); - } - - @Override - public void onAdShowedFullScreenContent() { - manager.onAdShowedFullScreenContent(adId); - } - - @Override - public void onAdDismissedFullScreenContent() { - manager.onAdDismissedFullScreenContent(adId); - } - - @Override - public void onAdImpression() { - manager.onAdImpression(adId); - } - - @Override - public void onAdClicked() { - manager.onAdClicked(adId); - } -} diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/java/io/flutter/plugins/googlemobileads/FlutterInitializationStatus.java b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/java/io/flutter/plugins/googlemobileads/FlutterInitializationStatus.java deleted file mode 100644 index d4a07107..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/java/io/flutter/plugins/googlemobileads/FlutterInitializationStatus.java +++ /dev/null @@ -1,44 +0,0 @@ -// Copyright 2021 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package io.flutter.plugins.googlemobileads; - -import androidx.annotation.NonNull; -import com.google.android.gms.ads.initialization.AdapterStatus; -import com.google.android.gms.ads.initialization.InitializationStatus; -import java.util.HashMap; -import java.util.Map; - -/** - * Wrapper around {@link com.google.android.gms.ads.initialization.InitializationStatus} for the - * Flutter Google Mobile Ads Plugin. - */ -class FlutterInitializationStatus { - @NonNull final Map adapterStatuses; - - FlutterInitializationStatus(@NonNull Map adapterStatuses) { - this.adapterStatuses = adapterStatuses; - } - - FlutterInitializationStatus(@NonNull InitializationStatus initializationStatus) { - final HashMap newStatusMap = new HashMap<>(); - final Map adapterStatusMap = initializationStatus.getAdapterStatusMap(); - - for (Map.Entry status : adapterStatusMap.entrySet()) { - newStatusMap.put(status.getKey(), new FlutterAdapterStatus(status.getValue())); - } - - this.adapterStatuses = newStatusMap; - } -} diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/java/io/flutter/plugins/googlemobileads/FlutterInterstitialAd.java b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/java/io/flutter/plugins/googlemobileads/FlutterInterstitialAd.java deleted file mode 100644 index 675278a1..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/java/io/flutter/plugins/googlemobileads/FlutterInterstitialAd.java +++ /dev/null @@ -1,119 +0,0 @@ -// Copyright 2021 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package io.flutter.plugins.googlemobileads; - -import android.util.Log; -import androidx.annotation.NonNull; -import androidx.annotation.Nullable; -import com.google.android.gms.ads.LoadAdError; -import com.google.android.gms.ads.interstitial.InterstitialAd; -import com.google.android.gms.ads.interstitial.InterstitialAdLoadCallback; -import java.lang.ref.WeakReference; - -class FlutterInterstitialAd extends FlutterAd.FlutterOverlayAd { - private static final String TAG = "FlutterInterstitialAd"; - - @NonNull private final AdInstanceManager manager; - @NonNull private final String adUnitId; - @NonNull private final FlutterAdRequest request; - @Nullable private InterstitialAd ad; - @NonNull private final FlutterAdLoader flutterAdLoader; - - public FlutterInterstitialAd( - int adId, - @NonNull AdInstanceManager manager, - @NonNull String adUnitId, - @NonNull FlutterAdRequest request, - @NonNull FlutterAdLoader flutterAdLoader) { - super(adId); - this.manager = manager; - this.adUnitId = adUnitId; - this.request = request; - this.flutterAdLoader = flutterAdLoader; - } - - @Override - void load() { - if (manager != null && adUnitId != null && request != null) { - flutterAdLoader.loadInterstitial( - adUnitId, request.asAdRequest(adUnitId), new DelegatingInterstitialAdLoadCallback(this)); - } - } - - void onAdLoaded(InterstitialAd ad) { - this.ad = ad; - ad.setOnPaidEventListener(new FlutterPaidEventListener(manager, this)); - manager.onAdLoaded(adId, ad.getResponseInfo()); - } - - void onAdFailedToLoad(LoadAdError loadAdError) { - manager.onAdFailedToLoad(adId, new FlutterAd.FlutterLoadAdError(loadAdError)); - } - - @Override - void dispose() { - ad = null; - } - - @Override - public void show() { - if (ad == null) { - Log.e(TAG, "Error showing interstitial - the interstitial ad wasn't loaded yet."); - return; - } - if (manager.getActivity() == null) { - Log.e(TAG, "Tried to show interstitial before activity was bound to the plugin."); - return; - } - ad.setFullScreenContentCallback(new FlutterFullScreenContentCallback(manager, adId)); - ad.show(manager.getActivity()); - } - - @Override - public void setImmersiveMode(boolean immersiveModeEnabled) { - if (ad == null) { - Log.e( - TAG, - "Error setting immersive mode in interstitial ad - the interstitial ad wasn't loaded yet."); - return; - } - ad.setImmersiveMode(immersiveModeEnabled); - } - - /** An InterstitialAdLoadCallback that just forwards events to a delegate. */ - private static final class DelegatingInterstitialAdLoadCallback - extends InterstitialAdLoadCallback { - - private final WeakReference delegate; - - DelegatingInterstitialAdLoadCallback(FlutterInterstitialAd delegate) { - this.delegate = new WeakReference<>(delegate); - } - - @Override - public void onAdLoaded(@NonNull InterstitialAd interstitialAd) { - if (delegate.get() != null) { - delegate.get().onAdLoaded(interstitialAd); - } - } - - @Override - public void onAdFailedToLoad(@NonNull LoadAdError loadAdError) { - if (delegate.get() != null) { - delegate.get().onAdFailedToLoad(loadAdError); - } - } - } -} diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/java/io/flutter/plugins/googlemobileads/FlutterMediationExtras.java b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/java/io/flutter/plugins/googlemobileads/FlutterMediationExtras.java deleted file mode 100644 index 21612988..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/java/io/flutter/plugins/googlemobileads/FlutterMediationExtras.java +++ /dev/null @@ -1,68 +0,0 @@ -// Copyright 2024 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package io.flutter.plugins.googlemobileads; - -import android.os.Bundle; -import android.util.Pair; -import com.google.android.gms.ads.mediation.MediationExtrasReceiver; -import java.util.Map; -import java.util.Objects; - -/** - * Mediation Adapters that require extra parameters provide implementations of this interface to - * further be sent to the {@link com.google.android.gms.ads.AdRequest} - * - *

Implementation will receive the Map of Extras via the {@link - * FlutterMediationExtras#setMediationExtras} which the implementation must store and later parse to - * the proper pair of Class and Bundle values returned by {@link - * FlutterMediationExtras#getMediationExtras()} - */ -public abstract class FlutterMediationExtras { - Map extras; - /** - * Called when the {@link FlutterAdRequest} is parsed into an {@link - * com.google.android.gms.ads.AdRequest}. - * - * @return The parsed values to be sent to the {@link - * com.google.android.gms.ads.AdRequest.Builder#addNetworkExtrasBundle} - */ - public abstract Pair, Bundle> getMediationExtras(); - - /** - * Pair of key-values to be stored and later be parsed into a {@link Bundle}. - * - * @param extras Received from the dart layer through the MediationExtras class. - */ - public void setMediationExtras(Map extras) { - this.extras = extras; - } - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } else if (!(o instanceof FlutterMediationExtras)) { - return false; - } - - FlutterMediationExtras mediationExtras = (FlutterMediationExtras) o; - return Objects.equals(extras, mediationExtras.extras); - } - - @Override - public int hashCode() { - return Objects.hash(extras); - } -} diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/java/io/flutter/plugins/googlemobileads/FlutterMobileAdsWrapper.java b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/java/io/flutter/plugins/googlemobileads/FlutterMobileAdsWrapper.java deleted file mode 100644 index 83f0f783..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/java/io/flutter/plugins/googlemobileads/FlutterMobileAdsWrapper.java +++ /dev/null @@ -1,93 +0,0 @@ -// Copyright 2021 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package io.flutter.plugins.googlemobileads; - -import android.content.Context; -import android.os.Build; -import android.util.Log; -import android.webkit.WebView; -import androidx.annotation.NonNull; -import com.google.android.gms.ads.MobileAds; -import com.google.android.gms.ads.OnAdInspectorClosedListener; -import com.google.android.gms.ads.RequestConfiguration; -import com.google.android.gms.ads.initialization.OnInitializationCompleteListener; -import io.flutter.embedding.engine.FlutterEngine; -import io.flutter.plugins.webviewflutter.WebViewFlutterAndroidExternalApi; - -/** A wrapper around static methods in {@link com.google.android.gms.ads.MobileAds}. */ -public class FlutterMobileAdsWrapper { - - private static final String TAG = "FlutterMobileAdsWrapper"; - - public FlutterMobileAdsWrapper() {} - - /** Initializes the sdk. */ - public void initialize( - @NonNull Context context, @NonNull OnInitializationCompleteListener listener) { - new Thread( - new Runnable() { - @Override - public void run() { - MobileAds.initialize(context, listener); - } - }) - .start(); - } - - /** Wrapper for setAppMuted. */ - public void setAppMuted(boolean muted) { - MobileAds.setAppMuted(muted); - } - - /** Wrapper for setAppVolume. */ - public void setAppVolume(double volume) { - MobileAds.setAppVolume((float) volume); - } - - /** Wrapper for disableMediationInitialization. */ - public void disableMediationInitialization(@NonNull Context context) { - MobileAds.disableMediationAdapterInitialization(context); - } - - /** Wrapper for getVersionString. */ - public String getVersionString() { - return MobileAds.getVersion().toString(); - } - - /** Wrapper for getRequestConfiguration. */ - public RequestConfiguration getRequestConfiguration() { - return MobileAds.getRequestConfiguration(); - } - - /** Wrapper for openDebugMenu. */ - public void openDebugMenu(Context context, String adUnitId) { - MobileAds.openDebugMenu(context, adUnitId); - } - - /** Open the ad inspector. */ - public void openAdInspector(Context context, OnAdInspectorClosedListener listener) { - MobileAds.openAdInspector(context, listener); - } - - /** Register the webView for monetization. */ - public void registerWebView(int webViewId, FlutterEngine flutterEngine) { - WebView webView = WebViewFlutterAndroidExternalApi.getWebView(flutterEngine, webViewId); - if (webView == null) { - Log.w(TAG, "MobileAds.registerWebView unable to find webView with id: " + webViewId); - } else { - MobileAds.registerWebView(webView); - } - } -} diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/java/io/flutter/plugins/googlemobileads/FlutterNativeAd.java b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/java/io/flutter/plugins/googlemobileads/FlutterNativeAd.java deleted file mode 100644 index 8230b1dd..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/java/io/flutter/plugins/googlemobileads/FlutterNativeAd.java +++ /dev/null @@ -1,273 +0,0 @@ -// Copyright 2021 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package io.flutter.plugins.googlemobileads; - -import android.content.Context; -import android.util.Log; -import androidx.annotation.NonNull; -import androidx.annotation.Nullable; -import com.google.android.ads.nativetemplates.TemplateView; -import com.google.android.gms.ads.AdListener; -import com.google.android.gms.ads.admanager.AdManagerAdRequest; -import com.google.android.gms.ads.nativead.NativeAd; -import com.google.android.gms.ads.nativead.NativeAd.OnNativeAdLoadedListener; -import com.google.android.gms.ads.nativead.NativeAdOptions; -import com.google.android.gms.ads.nativead.NativeAdView; -import com.google.errorprone.annotations.CanIgnoreReturnValue; -import io.flutter.plugin.platform.PlatformView; -import io.flutter.plugins.googlemobileads.GoogleMobileAdsPlugin.NativeAdFactory; -import io.flutter.plugins.googlemobileads.nativetemplates.FlutterNativeTemplateStyle; -import java.util.Map; - -/** A wrapper for {@link NativeAd}. */ -class FlutterNativeAd extends FlutterAd { - private static final String TAG = "FlutterNativeAd"; - - @NonNull private final AdInstanceManager manager; - @NonNull private final String adUnitId; - @Nullable private final NativeAdFactory adFactory; - @NonNull private final FlutterAdLoader flutterAdLoader; - @Nullable private FlutterAdRequest request; - @Nullable private FlutterAdManagerAdRequest adManagerRequest; - @Nullable private Map customOptions; - @Nullable private NativeAdView nativeAdView; - @Nullable private final FlutterNativeAdOptions nativeAdOptions; - @Nullable private final FlutterNativeTemplateStyle nativeTemplateStyle; - @Nullable private TemplateView templateView; - @NonNull private final Context context; - - static class Builder { - @Nullable private AdInstanceManager manager; - @Nullable private String adUnitId; - @Nullable private NativeAdFactory adFactory; - @Nullable private FlutterAdRequest request; - @Nullable private FlutterAdManagerAdRequest adManagerRequest; - @Nullable private Map customOptions; - @Nullable private Integer id; - @Nullable private FlutterNativeAdOptions nativeAdOptions; - @Nullable private FlutterAdLoader flutterAdLoader; - @Nullable private FlutterNativeTemplateStyle nativeTemplateStyle; - @NonNull private final Context context; - - Builder(Context context) { - this.context = context; - } - - @CanIgnoreReturnValue - public Builder setAdFactory(@NonNull NativeAdFactory adFactory) { - this.adFactory = adFactory; - return this; - } - - @CanIgnoreReturnValue - public Builder setId(int id) { - this.id = id; - return this; - } - - @CanIgnoreReturnValue - public Builder setCustomOptions(@Nullable Map customOptions) { - this.customOptions = customOptions; - return this; - } - - @CanIgnoreReturnValue - public Builder setManager(@NonNull AdInstanceManager manager) { - this.manager = manager; - return this; - } - - @CanIgnoreReturnValue - public Builder setAdUnitId(@NonNull String adUnitId) { - this.adUnitId = adUnitId; - return this; - } - - @CanIgnoreReturnValue - public Builder setRequest(@NonNull FlutterAdRequest request) { - this.request = request; - return this; - } - - @CanIgnoreReturnValue - public Builder setAdManagerRequest(@NonNull FlutterAdManagerAdRequest request) { - this.adManagerRequest = request; - return this; - } - - @CanIgnoreReturnValue - public Builder setNativeAdOptions(@Nullable FlutterNativeAdOptions nativeAdOptions) { - this.nativeAdOptions = nativeAdOptions; - return this; - } - - @CanIgnoreReturnValue - public Builder setFlutterAdLoader(@NonNull FlutterAdLoader flutterAdLoader) { - this.flutterAdLoader = flutterAdLoader; - return this; - } - - @CanIgnoreReturnValue - public Builder setNativeTemplateStyle( - @Nullable FlutterNativeTemplateStyle nativeTemplateStyle) { - this.nativeTemplateStyle = nativeTemplateStyle; - return this; - } - - FlutterNativeAd build() { - if (manager == null) { - throw new IllegalStateException("AdInstanceManager cannot be null."); - } else if (adUnitId == null) { - throw new IllegalStateException("AdUnitId cannot be null."); - } else if (adFactory == null && nativeTemplateStyle == null) { - throw new IllegalStateException("NativeAdFactory and nativeTemplateStyle cannot be null."); - } else if (request == null && adManagerRequest == null) { - throw new IllegalStateException("adRequest or addManagerRequest must be non-null."); - } - - final FlutterNativeAd nativeAd; - if (request == null) { - nativeAd = - new FlutterNativeAd( - context, - id, - manager, - adUnitId, - adFactory, - adManagerRequest, - flutterAdLoader, - customOptions, - nativeAdOptions, - nativeTemplateStyle); - } else { - nativeAd = - new FlutterNativeAd( - context, - id, - manager, - adUnitId, - adFactory, - request, - flutterAdLoader, - customOptions, - nativeAdOptions, - nativeTemplateStyle); - } - return nativeAd; - } - } - - protected FlutterNativeAd( - @NonNull Context context, - int adId, - @NonNull AdInstanceManager manager, - @NonNull String adUnitId, - @NonNull NativeAdFactory adFactory, - @NonNull FlutterAdRequest request, - @NonNull FlutterAdLoader flutterAdLoader, - @Nullable Map customOptions, - @Nullable FlutterNativeAdOptions nativeAdOptions, - @Nullable FlutterNativeTemplateStyle nativeTemplateStyle) { - super(adId); - this.context = context; - this.manager = manager; - this.adUnitId = adUnitId; - this.adFactory = adFactory; - this.request = request; - this.flutterAdLoader = flutterAdLoader; - this.customOptions = customOptions; - this.nativeAdOptions = nativeAdOptions; - this.nativeTemplateStyle = nativeTemplateStyle; - } - - protected FlutterNativeAd( - @NonNull Context context, - int adId, - @NonNull AdInstanceManager manager, - @NonNull String adUnitId, - @NonNull NativeAdFactory adFactory, - @NonNull FlutterAdManagerAdRequest adManagerRequest, - @NonNull FlutterAdLoader flutterAdLoader, - @Nullable Map customOptions, - @Nullable FlutterNativeAdOptions nativeAdOptions, - @Nullable FlutterNativeTemplateStyle nativeTemplateStyle) { - super(adId); - this.context = context; - this.manager = manager; - this.adUnitId = adUnitId; - this.adFactory = adFactory; - this.adManagerRequest = adManagerRequest; - this.flutterAdLoader = flutterAdLoader; - this.customOptions = customOptions; - this.nativeAdOptions = nativeAdOptions; - this.nativeTemplateStyle = nativeTemplateStyle; - } - - @Override - void load() { - final OnNativeAdLoadedListener loadedListener = new FlutterNativeAdLoadedListener(this); - final AdListener adListener = new FlutterNativeAdListener(adId, manager); - // Note we delegate loading the ad to FlutterAdLoader mainly for testing purposes. - // As of 20.0.0 of GMA, mockito is unable to mock AdLoader. - final NativeAdOptions options = - this.nativeAdOptions == null - ? new NativeAdOptions.Builder().build() - : nativeAdOptions.asNativeAdOptions(); - if (request != null) { - flutterAdLoader.loadNativeAd( - adUnitId, loadedListener, options, adListener, request.asAdRequest(adUnitId)); - } else if (adManagerRequest != null) { - AdManagerAdRequest adManagerAdRequest = adManagerRequest.asAdManagerAdRequest(adUnitId); - flutterAdLoader.loadAdManagerNativeAd( - adUnitId, loadedListener, options, adListener, adManagerAdRequest); - } else { - Log.e(TAG, "A null or invalid ad request was provided."); - } - } - - @Override - @Nullable - public PlatformView getPlatformView() { - if (nativeAdView != null) { - return new FlutterPlatformView(nativeAdView); - } else if (templateView != null) { - return new FlutterPlatformView(templateView); - } - return null; - } - - void onNativeAdLoaded(@NonNull NativeAd nativeAd) { - if (nativeTemplateStyle != null) { - templateView = nativeTemplateStyle.asTemplateView(context); - templateView.setNativeAd(nativeAd); - } else { - nativeAdView = adFactory.createNativeAd(nativeAd, customOptions); - } - nativeAd.setOnPaidEventListener(new FlutterPaidEventListener(manager, this)); - manager.onAdLoaded(adId, nativeAd.getResponseInfo()); - } - - @Override - void dispose() { - if (nativeAdView != null) { - nativeAdView.destroy(); - nativeAdView = null; - } - if (templateView != null) { - templateView.destroyNativeAd(); - templateView = null; - } - } -} diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/java/io/flutter/plugins/googlemobileads/FlutterNativeAdOptions.java b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/java/io/flutter/plugins/googlemobileads/FlutterNativeAdOptions.java deleted file mode 100644 index fe2bb775..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/java/io/flutter/plugins/googlemobileads/FlutterNativeAdOptions.java +++ /dev/null @@ -1,68 +0,0 @@ -// Copyright 2021 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License.c language governing permissions and -// limitations under the License. - -package io.flutter.plugins.googlemobileads; - -import androidx.annotation.Nullable; -import com.google.android.gms.ads.nativead.NativeAdOptions; - -/** A wrapper for {@link com.google.android.gms.ads.nativead.NativeAdOptions}. */ -class FlutterNativeAdOptions { - - @Nullable final Integer adChoicesPlacement; - @Nullable final Integer mediaAspectRatio; - @Nullable final FlutterVideoOptions videoOptions; - @Nullable final Boolean requestCustomMuteThisAd; - @Nullable final Boolean shouldRequestMultipleImages; - @Nullable final Boolean shouldReturnUrlsForImageAssets; - - FlutterNativeAdOptions( - @Nullable Integer adChoicesPlacement, - @Nullable Integer mediaAspectRatio, - @Nullable FlutterVideoOptions videoOptions, - @Nullable Boolean requestCustomMuteThisAd, - @Nullable Boolean shouldRequestMultipleImages, - @Nullable Boolean shouldReturnUrlsForImageAssets) { - this.adChoicesPlacement = adChoicesPlacement; - this.mediaAspectRatio = mediaAspectRatio; - this.videoOptions = videoOptions; - this.requestCustomMuteThisAd = requestCustomMuteThisAd; - this.shouldRequestMultipleImages = shouldRequestMultipleImages; - this.shouldReturnUrlsForImageAssets = shouldReturnUrlsForImageAssets; - } - - NativeAdOptions asNativeAdOptions() { - NativeAdOptions.Builder builder = new NativeAdOptions.Builder(); - if (adChoicesPlacement != null) { - builder.setAdChoicesPlacement(adChoicesPlacement); - } - if (mediaAspectRatio != null) { - builder.setMediaAspectRatio(mediaAspectRatio); - } - if (videoOptions != null) { - builder.setVideoOptions(videoOptions.asVideoOptions()); - } - if (requestCustomMuteThisAd != null) { - builder.setRequestCustomMuteThisAd(requestCustomMuteThisAd); - } - if (shouldRequestMultipleImages != null) { - builder.setRequestMultipleImages(shouldRequestMultipleImages); - } - if (shouldReturnUrlsForImageAssets != null) { - builder.setReturnUrlsForImageAssets(shouldReturnUrlsForImageAssets); - } - return builder.build(); - } -} diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/java/io/flutter/plugins/googlemobileads/FlutterPaidEventListener.java b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/java/io/flutter/plugins/googlemobileads/FlutterPaidEventListener.java deleted file mode 100644 index 01ec96dd..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/java/io/flutter/plugins/googlemobileads/FlutterPaidEventListener.java +++ /dev/null @@ -1,38 +0,0 @@ -// Copyright 2021 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package io.flutter.plugins.googlemobileads; - -import androidx.annotation.NonNull; -import com.google.android.gms.ads.AdValue; -import com.google.android.gms.ads.OnPaidEventListener; - -/** Implementation of {@link OnPaidEventListener} that sends events to {@link AdInstanceManager}. */ -public class FlutterPaidEventListener implements OnPaidEventListener { - @NonNull private final AdInstanceManager manager; - @NonNull private final FlutterAd ad; - - FlutterPaidEventListener(@NonNull AdInstanceManager manager, @NonNull FlutterAd ad) { - this.manager = manager; - this.ad = ad; - } - - @Override - public void onPaidEvent(AdValue adValue) { - FlutterAdValue value = - new FlutterAdValue( - adValue.getPrecisionType(), adValue.getCurrencyCode(), adValue.getValueMicros()); - manager.onPaidEvent(ad, value); - } -} diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/java/io/flutter/plugins/googlemobileads/FlutterPlatformView.java b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/java/io/flutter/plugins/googlemobileads/FlutterPlatformView.java deleted file mode 100644 index 75ba3940..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/java/io/flutter/plugins/googlemobileads/FlutterPlatformView.java +++ /dev/null @@ -1,40 +0,0 @@ -// Copyright 2021 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package io.flutter.plugins.googlemobileads; - -import android.view.View; -import androidx.annotation.NonNull; -import androidx.annotation.Nullable; -import io.flutter.plugin.platform.PlatformView; - -/** A simple PlatformView that wraps a View and sets its reference to null on dispose(). */ -class FlutterPlatformView implements PlatformView { - - @Nullable private View view; - - FlutterPlatformView(@NonNull View view) { - this.view = view; - } - - @Override - public View getView() { - return view; - } - - @Override - public void dispose() { - this.view = null; - } -} diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/java/io/flutter/plugins/googlemobileads/FlutterRequestAgentProvider.java b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/java/io/flutter/plugins/googlemobileads/FlutterRequestAgentProvider.java deleted file mode 100644 index 1322df6d..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/java/io/flutter/plugins/googlemobileads/FlutterRequestAgentProvider.java +++ /dev/null @@ -1,71 +0,0 @@ -package io.flutter.plugins.googlemobileads; - -import android.content.Context; -import android.content.pm.ApplicationInfo; -import android.content.pm.PackageManager; -import android.content.pm.PackageManager.NameNotFoundException; -import android.os.Build; -import android.os.Bundle; -import androidx.annotation.Nullable; - -/** Class that helps detect whether the news or game template is being used. */ -class FlutterRequestAgentProvider { - - static final String GAME_VERSION_KEY = - "io.flutter.plugins.googlemobileads.FLUTTER_GAME_TEMPLATE_VERSION"; - static final String NEWS_VERSION_KEY = - "io.flutter.plugins.googlemobileads.FLUTTER_NEWS_TEMPLATE_VERSION"; - - @Nullable private String newsTemplateVersion; - @Nullable private String gameTemplateVersion; - - FlutterRequestAgentProvider(Context context) { - processGameAndNewsTemplateVersions(context); - } - - private void processGameAndNewsTemplateVersions(Context context) { - try { - ApplicationInfo info; - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) { - info = - context - .getApplicationContext() - .getPackageManager() - .getApplicationInfo( - context.getPackageName(), - PackageManager.ApplicationInfoFlags.of(PackageManager.GET_META_DATA)); - } else { - info = - context - .getApplicationContext() - .getPackageManager() - .getApplicationInfo(context.getPackageName(), PackageManager.GET_META_DATA); - } - Bundle metaData = info.metaData; - if (metaData != null) { - gameTemplateVersion = info.metaData.getString(GAME_VERSION_KEY); - newsTemplateVersion = info.metaData.getString(NEWS_VERSION_KEY); - } - } catch (NameNotFoundException | ClassCastException e) { - // Do nothing - } - } - - String getRequestAgent() { - StringBuilder sb = new StringBuilder(); - sb.append(Constants.REQUEST_AGENT_PREFIX_VERSIONED); - if (newsTemplateVersion != null) { - sb.append("_"); - sb.append(Constants.REQUEST_AGENT_NEWS_TEMPLATE_PREFIX); - sb.append("-"); - sb.append(newsTemplateVersion); - } - if (gameTemplateVersion != null) { - sb.append("_"); - sb.append(Constants.REQUEST_AGENT_GAME_TEMPLATE_PREFIX); - sb.append("-"); - sb.append(gameTemplateVersion); - } - return sb.toString(); - } -} diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/java/io/flutter/plugins/googlemobileads/FlutterRewardedAd.java b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/java/io/flutter/plugins/googlemobileads/FlutterRewardedAd.java deleted file mode 100644 index ee4719e7..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/java/io/flutter/plugins/googlemobileads/FlutterRewardedAd.java +++ /dev/null @@ -1,213 +0,0 @@ -// Copyright 2021 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package io.flutter.plugins.googlemobileads; - -import android.util.Log; -import androidx.annotation.NonNull; -import androidx.annotation.Nullable; -import com.google.android.gms.ads.LoadAdError; -import com.google.android.gms.ads.OnUserEarnedRewardListener; -import com.google.android.gms.ads.rewarded.OnAdMetadataChangedListener; -import com.google.android.gms.ads.rewarded.RewardItem; -import com.google.android.gms.ads.rewarded.RewardedAd; -import com.google.android.gms.ads.rewarded.RewardedAdLoadCallback; -import java.lang.ref.WeakReference; - -/** A wrapper for {@link RewardedAd}. */ -class FlutterRewardedAd extends FlutterAd.FlutterOverlayAd { - private static final String TAG = "FlutterRewardedAd"; - - @NonNull private final AdInstanceManager manager; - @NonNull private final String adUnitId; - @NonNull private final FlutterAdLoader flutterAdLoader; - @Nullable private final FlutterAdRequest request; - @Nullable private final FlutterAdManagerAdRequest adManagerRequest; - @Nullable RewardedAd rewardedAd; - - /** A wrapper for {@link RewardItem}. */ - static class FlutterRewardItem { - @NonNull final Integer amount; - @NonNull final String type; - - FlutterRewardItem(@NonNull Integer amount, @NonNull String type) { - this.amount = amount; - this.type = type; - } - - @Override - public boolean equals(Object other) { - if (this == other) { - return true; - } else if (!(other instanceof FlutterRewardItem)) { - return false; - } - - final FlutterRewardItem that = (FlutterRewardItem) other; - if (!amount.equals(that.amount)) { - return false; - } - return type.equals(that.type); - } - - @Override - public int hashCode() { - int result = amount.hashCode(); - result = 31 * result + type.hashCode(); - return result; - } - } - - /** Constructor for AdMob Ad Request. */ - public FlutterRewardedAd( - int adId, - @NonNull AdInstanceManager manager, - @NonNull String adUnitId, - @NonNull FlutterAdRequest request, - @NonNull FlutterAdLoader flutterAdLoader) { - super(adId); - this.manager = manager; - this.adUnitId = adUnitId; - this.request = request; - this.adManagerRequest = null; - this.flutterAdLoader = flutterAdLoader; - } - - /** Constructor for Ad Manager Ad request. */ - public FlutterRewardedAd( - int adId, - @NonNull AdInstanceManager manager, - @NonNull String adUnitId, - @NonNull FlutterAdManagerAdRequest adManagerRequest, - @NonNull FlutterAdLoader flutterAdLoader) { - super(adId); - this.manager = manager; - this.adUnitId = adUnitId; - this.adManagerRequest = adManagerRequest; - this.request = null; - this.flutterAdLoader = flutterAdLoader; - } - - @Override - void load() { - final RewardedAdLoadCallback adLoadCallback = new DelegatingRewardedCallback(this); - if (request != null) { - flutterAdLoader.loadRewarded(adUnitId, request.asAdRequest(adUnitId), adLoadCallback); - } else if (adManagerRequest != null) { - flutterAdLoader.loadAdManagerRewarded( - adUnitId, adManagerRequest.asAdManagerAdRequest(adUnitId), adLoadCallback); - } else { - Log.e(TAG, "A null or invalid ad request was provided."); - } - } - - void onAdLoaded(@NonNull RewardedAd rewardedAd) { - FlutterRewardedAd.this.rewardedAd = rewardedAd; - rewardedAd.setOnPaidEventListener(new FlutterPaidEventListener(manager, this)); - manager.onAdLoaded(adId, rewardedAd.getResponseInfo()); - } - - void onAdFailedToLoad(@NonNull LoadAdError loadAdError) { - manager.onAdFailedToLoad(adId, new FlutterLoadAdError(loadAdError)); - } - - @Override - public void show() { - if (rewardedAd == null) { - Log.e(TAG, "Error showing rewarded - the rewarded ad wasn't loaded yet."); - return; - } - if (manager.getActivity() == null) { - Log.e(TAG, "Tried to show rewarded ad before activity was bound to the plugin."); - return; - } - rewardedAd.setFullScreenContentCallback(new FlutterFullScreenContentCallback(manager, adId)); - rewardedAd.setOnAdMetadataChangedListener(new DelegatingRewardedCallback(this)); - rewardedAd.show(manager.getActivity(), new DelegatingRewardedCallback(this)); - } - - @Override - public void setImmersiveMode(boolean immersiveModeEnabled) { - if (rewardedAd == null) { - Log.e( - TAG, "Error setting immersive mode in rewarded ad - the rewarded ad wasn't loaded yet."); - return; - } - rewardedAd.setImmersiveMode(immersiveModeEnabled); - } - - void onAdMetadataChanged() { - manager.onAdMetadataChanged(adId); - } - - void onUserEarnedReward(@NonNull RewardItem rewardItem) { - manager.onRewardedAdUserEarnedReward( - adId, new FlutterRewardItem(rewardItem.getAmount(), rewardItem.getType())); - } - - @Override - void dispose() { - rewardedAd = null; - } - - public void setServerSideVerificationOptions(FlutterServerSideVerificationOptions options) { - if (rewardedAd != null) { - rewardedAd.setServerSideVerificationOptions(options.asServerSideVerificationOptions()); - } else { - Log.e(TAG, "RewardedAd is null in setServerSideVerificationOptions"); - } - } - - /** - * This class delegates various rewarded ad callbacks to FlutterRewardedAd. Maintains a weak - * reference to avoid memory leaks. - */ - private static final class DelegatingRewardedCallback extends RewardedAdLoadCallback - implements OnAdMetadataChangedListener, OnUserEarnedRewardListener { - - private final WeakReference delegate; - - DelegatingRewardedCallback(FlutterRewardedAd delegate) { - this.delegate = new WeakReference<>(delegate); - } - - @Override - public void onAdLoaded(@NonNull RewardedAd rewardedAd) { - if (delegate.get() != null) { - delegate.get().onAdLoaded(rewardedAd); - } - } - - @Override - public void onAdFailedToLoad(@NonNull LoadAdError loadAdError) { - if (delegate.get() != null) { - delegate.get().onAdFailedToLoad(loadAdError); - } - } - - @Override - public void onUserEarnedReward(@NonNull RewardItem rewardItem) { - if (delegate.get() != null) { - delegate.get().onUserEarnedReward(rewardItem); - } - } - - @Override - public void onAdMetadataChanged() { - if (delegate.get() != null) { - delegate.get().onAdMetadataChanged(); - } - } - } -} diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/java/io/flutter/plugins/googlemobileads/FlutterRewardedInterstitialAd.java b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/java/io/flutter/plugins/googlemobileads/FlutterRewardedInterstitialAd.java deleted file mode 100644 index 1ed36c6f..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/java/io/flutter/plugins/googlemobileads/FlutterRewardedInterstitialAd.java +++ /dev/null @@ -1,187 +0,0 @@ -// Copyright 2021 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package io.flutter.plugins.googlemobileads; - -import android.util.Log; -import androidx.annotation.NonNull; -import androidx.annotation.Nullable; -import com.google.android.gms.ads.LoadAdError; -import com.google.android.gms.ads.OnUserEarnedRewardListener; -import com.google.android.gms.ads.rewarded.OnAdMetadataChangedListener; -import com.google.android.gms.ads.rewarded.RewardItem; -import com.google.android.gms.ads.rewardedinterstitial.RewardedInterstitialAd; -import com.google.android.gms.ads.rewardedinterstitial.RewardedInterstitialAdLoadCallback; -import io.flutter.plugins.googlemobileads.FlutterRewardedAd.FlutterRewardItem; -import java.lang.ref.WeakReference; - -/** A wrapper for {@link RewardedInterstitialAd}. */ -class FlutterRewardedInterstitialAd extends FlutterAd.FlutterOverlayAd { - private static final String TAG = "FlutterRIAd"; - - @NonNull private final AdInstanceManager manager; - @NonNull private final String adUnitId; - @NonNull private final FlutterAdLoader flutterAdLoader; - @Nullable private final FlutterAdRequest request; - @Nullable private final FlutterAdManagerAdRequest adManagerRequest; - @Nullable RewardedInterstitialAd rewardedInterstitialAd; - - /** Constructor for AdMob Ad Request. */ - public FlutterRewardedInterstitialAd( - int adId, - @NonNull AdInstanceManager manager, - @NonNull String adUnitId, - @NonNull FlutterAdRequest request, - @NonNull FlutterAdLoader flutterAdLoader) { - super(adId); - this.manager = manager; - this.adUnitId = adUnitId; - this.request = request; - this.adManagerRequest = null; - this.flutterAdLoader = flutterAdLoader; - } - - /** Constructor for Ad Manager Ad request. */ - public FlutterRewardedInterstitialAd( - int adId, - @NonNull AdInstanceManager manager, - @NonNull String adUnitId, - @NonNull FlutterAdManagerAdRequest adManagerRequest, - @NonNull FlutterAdLoader flutterAdLoader) { - super(adId); - this.manager = manager; - this.adUnitId = adUnitId; - this.adManagerRequest = adManagerRequest; - this.request = null; - this.flutterAdLoader = flutterAdLoader; - } - - @Override - void load() { - final RewardedInterstitialAdLoadCallback adLoadCallback = new DelegatingRewardedCallback(this); - if (request != null) { - flutterAdLoader.loadRewardedInterstitial( - adUnitId, request.asAdRequest(adUnitId), adLoadCallback); - } else if (adManagerRequest != null) { - flutterAdLoader.loadAdManagerRewardedInterstitial( - adUnitId, adManagerRequest.asAdManagerAdRequest(adUnitId), adLoadCallback); - } else { - Log.e(TAG, "A null or invalid ad request was provided."); - } - } - - void onAdLoaded(@NonNull RewardedInterstitialAd rewardedInterstitialAd) { - FlutterRewardedInterstitialAd.this.rewardedInterstitialAd = rewardedInterstitialAd; - rewardedInterstitialAd.setOnPaidEventListener(new FlutterPaidEventListener(manager, this)); - manager.onAdLoaded(adId, rewardedInterstitialAd.getResponseInfo()); - } - - void onAdFailedToLoad(@NonNull LoadAdError loadAdError) { - manager.onAdFailedToLoad(adId, new FlutterLoadAdError(loadAdError)); - } - - @Override - public void show() { - if (rewardedInterstitialAd == null) { - Log.e( - TAG, - "Error showing rewarded interstitial - the rewarded interstitial ad wasn't loaded yet."); - return; - } - if (manager.getActivity() == null) { - Log.e(TAG, "Tried to show rewarded interstitial ad before activity was bound to the plugin."); - return; - } - rewardedInterstitialAd.setFullScreenContentCallback( - new FlutterFullScreenContentCallback(manager, adId)); - rewardedInterstitialAd.setOnAdMetadataChangedListener(new DelegatingRewardedCallback(this)); - rewardedInterstitialAd.show(manager.getActivity(), new DelegatingRewardedCallback(this)); - } - - @Override - public void setImmersiveMode(boolean immersiveModeEnabled) { - if (rewardedInterstitialAd == null) { - Log.e( - TAG, - "Error setting immersive mode in rewarded interstitial ad - the rewarded interstitial ad wasn't loaded yet."); - return; - } - rewardedInterstitialAd.setImmersiveMode(immersiveModeEnabled); - } - - void onAdMetadataChanged() { - manager.onAdMetadataChanged(adId); - } - - void onUserEarnedReward(@NonNull RewardItem rewardItem) { - manager.onRewardedAdUserEarnedReward( - adId, new FlutterRewardItem(rewardItem.getAmount(), rewardItem.getType())); - } - - @Override - void dispose() { - rewardedInterstitialAd = null; - } - - public void setServerSideVerificationOptions(FlutterServerSideVerificationOptions options) { - if (rewardedInterstitialAd != null) { - rewardedInterstitialAd.setServerSideVerificationOptions( - options.asServerSideVerificationOptions()); - } else { - Log.e(TAG, "RewardedInterstitialAd is null in setServerSideVerificationOptions"); - } - } - - /** - * This class delegates various rewarded interstitial ad callbacks to - * FlutterRewardedInterstitialAd. Maintains a weak reference to avoid memory leaks. - */ - private static final class DelegatingRewardedCallback extends RewardedInterstitialAdLoadCallback - implements OnAdMetadataChangedListener, OnUserEarnedRewardListener { - - private final WeakReference delegate; - - DelegatingRewardedCallback(FlutterRewardedInterstitialAd delegate) { - this.delegate = new WeakReference<>(delegate); - } - - @Override - public void onAdLoaded(@NonNull RewardedInterstitialAd rewardedInterstitialAd) { - if (delegate.get() != null) { - delegate.get().onAdLoaded(rewardedInterstitialAd); - } - } - - @Override - public void onAdFailedToLoad(@NonNull LoadAdError loadAdError) { - if (delegate.get() != null) { - delegate.get().onAdFailedToLoad(loadAdError); - } - } - - @Override - public void onUserEarnedReward(@NonNull RewardItem rewardItem) { - if (delegate.get() != null) { - delegate.get().onUserEarnedReward(rewardItem); - } - } - - @Override - public void onAdMetadataChanged() { - if (delegate.get() != null) { - delegate.get().onAdMetadataChanged(); - } - } - } -} diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/java/io/flutter/plugins/googlemobileads/FlutterServerSideVerificationOptions.java b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/java/io/flutter/plugins/googlemobileads/FlutterServerSideVerificationOptions.java deleted file mode 100644 index cc9a03d5..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/java/io/flutter/plugins/googlemobileads/FlutterServerSideVerificationOptions.java +++ /dev/null @@ -1,57 +0,0 @@ -package io.flutter.plugins.googlemobileads; - -import androidx.annotation.Nullable; -import com.google.android.gms.ads.rewarded.ServerSideVerificationOptions; -import java.util.Objects; - -/** A wrapper for {@link ServerSideVerificationOptions}. */ -class FlutterServerSideVerificationOptions { - - @Nullable private final String userId; - @Nullable private final String customData; - - public FlutterServerSideVerificationOptions( - @Nullable String userId, @Nullable String customData) { - this.userId = userId; - this.customData = customData; - } - - @Nullable - public String getUserId() { - return userId; - } - - @Nullable - public String getCustomData() { - return customData; - } - - /** Gets an equivalent {@link ServerSideVerificationOptions}. */ - public ServerSideVerificationOptions asServerSideVerificationOptions() { - ServerSideVerificationOptions.Builder builder = new ServerSideVerificationOptions.Builder(); - if (userId != null) { - builder.setUserId(userId); - } - if (customData != null) { - builder.setCustomData(customData); - } - return builder.build(); - } - - @Override - public boolean equals(@Nullable Object obj) { - if (this == obj) { - return true; - } - if (!(obj instanceof FlutterServerSideVerificationOptions)) { - return false; - } - FlutterServerSideVerificationOptions other = (FlutterServerSideVerificationOptions) obj; - return Objects.equals(other.userId, userId) && Objects.equals(other.customData, customData); - } - - @Override - public int hashCode() { - return Objects.hash(userId, customData); - } -} diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/java/io/flutter/plugins/googlemobileads/FlutterVideoOptions.java b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/java/io/flutter/plugins/googlemobileads/FlutterVideoOptions.java deleted file mode 100644 index 25a29e6b..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/java/io/flutter/plugins/googlemobileads/FlutterVideoOptions.java +++ /dev/null @@ -1,49 +0,0 @@ -// Copyright 2021 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License.c language governing permissions and -// limitations under the License. - -package io.flutter.plugins.googlemobileads; - -import androidx.annotation.Nullable; -import com.google.android.gms.ads.VideoOptions; - -/** A wrapper for {@link com.google.android.gms.ads.VideoOptions}. */ -class FlutterVideoOptions { - @Nullable final Boolean clickToExpandRequested; - @Nullable final Boolean customControlsRequested; - @Nullable final Boolean startMuted; - - FlutterVideoOptions( - @Nullable Boolean clickToExpandRequested, - @Nullable Boolean customControlsRequested, - @Nullable Boolean startMuted) { - this.clickToExpandRequested = clickToExpandRequested; - this.customControlsRequested = customControlsRequested; - this.startMuted = startMuted; - } - - VideoOptions asVideoOptions() { - VideoOptions.Builder builder = new VideoOptions.Builder(); - if (clickToExpandRequested != null) { - builder.setClickToExpandRequested(clickToExpandRequested); - } - if (customControlsRequested != null) { - builder.setCustomControlsRequested(customControlsRequested); - } - if (startMuted != null) { - builder.setStartMuted(startMuted); - } - return builder.build(); - } -} diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/java/io/flutter/plugins/googlemobileads/GoogleMobileAdsPlugin.java b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/java/io/flutter/plugins/googlemobileads/GoogleMobileAdsPlugin.java deleted file mode 100644 index 87871b5e..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/java/io/flutter/plugins/googlemobileads/GoogleMobileAdsPlugin.java +++ /dev/null @@ -1,724 +0,0 @@ -// Copyright 2021 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package io.flutter.plugins.googlemobileads; - -import android.content.Context; -import android.util.Log; -import androidx.annotation.NonNull; -import androidx.annotation.Nullable; -import androidx.annotation.VisibleForTesting; -import com.google.android.gms.ads.AdInspectorError; -import com.google.android.gms.ads.AdSize; -import com.google.android.gms.ads.MobileAds; -import com.google.android.gms.ads.OnAdInspectorClosedListener; -import com.google.android.gms.ads.RequestConfiguration; -import com.google.android.gms.ads.initialization.InitializationStatus; -import com.google.android.gms.ads.initialization.OnInitializationCompleteListener; -import com.google.android.gms.ads.nativead.NativeAd; -import com.google.android.gms.ads.nativead.NativeAdView; -import io.flutter.embedding.engine.FlutterEngine; -import io.flutter.embedding.engine.plugins.FlutterPlugin; -import io.flutter.embedding.engine.plugins.activity.ActivityAware; -import io.flutter.embedding.engine.plugins.activity.ActivityPluginBinding; -import io.flutter.plugin.common.MethodCall; -import io.flutter.plugin.common.MethodChannel; -import io.flutter.plugin.common.MethodChannel.MethodCallHandler; -import io.flutter.plugin.common.MethodChannel.Result; -import io.flutter.plugin.common.StandardMethodCodec; -import io.flutter.plugins.googlemobileads.FlutterAd.FlutterOverlayAd; -import io.flutter.plugins.googlemobileads.nativetemplates.FlutterNativeTemplateStyle; -import io.flutter.plugins.googlemobileads.usermessagingplatform.UserMessagingPlatformManager; -import java.lang.reflect.Method; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -/** - * Flutter plugin accessing Google Mobile Ads API. - * - *

Instantiate this in an add to app scenario to gracefully handle activity and context changes. - */ -public class GoogleMobileAdsPlugin implements FlutterPlugin, ActivityAware, MethodCallHandler { - - private static final String TAG = "GoogleMobileAdsPlugin"; - - private static T requireNonNull(T obj) { - if (obj == null) { - throw new IllegalArgumentException(); - } - return obj; - } - - // This is always null when not using v2 embedding. - @Nullable private FlutterPluginBinding pluginBinding; - @Nullable private AdInstanceManager instanceManager; - @Nullable private AdMessageCodec adMessageCodec; - @Nullable private AppStateNotifier appStateNotifier; - @Nullable private UserMessagingPlatformManager userMessagingPlatformManager; - private final Map nativeAdFactories = new HashMap<>(); - - @SuppressWarnings("deprecation") // Keeping for compatibility - @Nullable - private MediationNetworkExtrasProvider mediationNetworkExtrasProvider; - - private final FlutterMobileAdsWrapper flutterMobileAds; - /** - * Public constructor for the plugin. Dependency initialization is handled in lifecycle methods - * below. - */ - public GoogleMobileAdsPlugin() { - this.flutterMobileAds = new FlutterMobileAdsWrapper(); - } - - /** Constructor for testing. */ - @VisibleForTesting - protected GoogleMobileAdsPlugin( - @Nullable FlutterPluginBinding pluginBinding, - @Nullable AdInstanceManager instanceManager, - @NonNull FlutterMobileAdsWrapper flutterMobileAds) { - this.pluginBinding = pluginBinding; - this.instanceManager = instanceManager; - this.flutterMobileAds = flutterMobileAds; - } - - @VisibleForTesting - protected GoogleMobileAdsPlugin(@NonNull AppStateNotifier appStateNotifier) { - this.appStateNotifier = appStateNotifier; - this.flutterMobileAds = new FlutterMobileAdsWrapper(); - } - - /** - * Interface used to display a {@link com.google.android.gms.ads.nativead.NativeAd}. - * - *

Added to a {@link io.flutter.plugins.googlemobileads.GoogleMobileAdsPlugin} and creates - * {@link com.google.android.gms.ads.nativead.NativeAdView}s from Native Ads created in Dart. - */ - public interface NativeAdFactory { - /** - * Creates a {@link com.google.android.gms.ads.nativead.NativeAdView} with a {@link - * com.google.android.gms.ads.nativead.NativeAd}. - * - * @param nativeAd Ad information used to create a {@link - * com.google.android.gms.ads.nativead.NativeAd} - * @param customOptions Used to pass additional custom options to create the {@link - * com.google.android.gms.ads.nativead.NativeAdView}. Nullable. - * @return a {@link com.google.android.gms.ads.nativead.NativeAdView} that is overlaid on top of - * the FlutterView - */ - NativeAdView createNativeAd(NativeAd nativeAd, Map customOptions); - } - - /** - * Registers a {@link io.flutter.plugins.googlemobileads.GoogleMobileAdsPlugin.NativeAdFactory} - * used to create {@link com.google.android.gms.ads.nativead.NativeAdView}s from a Native Ad - * created in Dart. - * - * @param engine maintains access to a GoogleMobileAdsPlugin instance - * @param factoryId a unique identifier for the ad factory. The Native Ad created in Dart includes - * a parameter that refers to this. - * @param nativeAdFactory creates {@link com.google.android.gms.ads.nativead.NativeAdView}s when - * Flutter NativeAds are created - * @return whether the factoryId is unique and the nativeAdFactory was successfully added - */ - public static boolean registerNativeAdFactory( - FlutterEngine engine, String factoryId, NativeAdFactory nativeAdFactory) { - final GoogleMobileAdsPlugin gmaPlugin = - (GoogleMobileAdsPlugin) engine.getPlugins().get(GoogleMobileAdsPlugin.class); - return registerNativeAdFactory(gmaPlugin, factoryId, nativeAdFactory); - } - - /** - * Registers a {@link MediationNetworkExtrasProvider} used to provide network extras to the plugin - * when it creates ad requests. - * - * @param engine The {@link FlutterEngine} which should have an attached instance of this plugin - * @param mediationNetworkExtrasProvider The {@link MediationNetworkExtrasProvider} which will be - * used to provide network extras when ad requests are created - * @return whether {@code mediationNetworkExtrasProvider} was registered to a {@code - * GoogleMobileAdsPlugin} associated with {@code engine} - * @deprecated Use {@link FlutterMediationExtras} instead. - */ - @Deprecated - public static boolean registerMediationNetworkExtrasProvider( - FlutterEngine engine, MediationNetworkExtrasProvider mediationNetworkExtrasProvider) { - final GoogleMobileAdsPlugin gmaPlugin = - (GoogleMobileAdsPlugin) engine.getPlugins().get(GoogleMobileAdsPlugin.class); - if (gmaPlugin == null) { - return false; - } - gmaPlugin.mediationNetworkExtrasProvider = mediationNetworkExtrasProvider; - if (gmaPlugin.adMessageCodec != null) { - gmaPlugin.adMessageCodec.setMediationNetworkExtrasProvider(mediationNetworkExtrasProvider); - } - return true; - } - - /** - * Unregisters any {@link MediationNetworkExtrasProvider} that have been previously registered - * with the plugin using {@code unregisterMediationNetworkExtrasProvider}. - * - * @param engine The {@link FlutterEngine} which should have an attached instance of this plugin - * @deprecated Use {@link FlutterMediationExtras} instead. - */ - @Deprecated - public static void unregisterMediationNetworkExtrasProvider(FlutterEngine engine) { - final GoogleMobileAdsPlugin gmaPlugin = - (GoogleMobileAdsPlugin) engine.getPlugins().get(GoogleMobileAdsPlugin.class); - if (gmaPlugin == null) { - return; - } - - if (gmaPlugin.adMessageCodec != null) { - gmaPlugin.adMessageCodec.setMediationNetworkExtrasProvider(null); - } - gmaPlugin.mediationNetworkExtrasProvider = null; - } - - private static boolean registerNativeAdFactory( - GoogleMobileAdsPlugin plugin, String factoryId, NativeAdFactory nativeAdFactory) { - if (plugin == null) { - final String message = - String.format( - "Could not find a %s instance. The plugin may have not been registered.", - GoogleMobileAdsPlugin.class.getSimpleName()); - throw new IllegalStateException(message); - } - - return plugin.addNativeAdFactory(factoryId, nativeAdFactory); - } - - /** - * Unregisters a {@link io.flutter.plugins.googlemobileads.GoogleMobileAdsPlugin.NativeAdFactory} - * used to create {@link com.google.android.gms.ads.nativead.NativeAdView}s from a Native Ad - * created in Dart. - * - * @param engine maintains access to a GoogleMobileAdsPlugin instance - * @param factoryId a unique identifier for the ad factory. The Native ad created in Dart includes - * a parameter that refers to this - * @return the previous {@link - * io.flutter.plugins.googlemobileads.GoogleMobileAdsPlugin.NativeAdFactory} associated with - * this factoryId, or null if there was none for this factoryId - */ - @Nullable - public static NativeAdFactory unregisterNativeAdFactory(FlutterEngine engine, String factoryId) { - final FlutterPlugin gmaPlugin = engine.getPlugins().get(GoogleMobileAdsPlugin.class); - if (gmaPlugin != null) { - return ((GoogleMobileAdsPlugin) gmaPlugin).removeNativeAdFactory(factoryId); - } - - return null; - } - - private boolean addNativeAdFactory(String factoryId, NativeAdFactory nativeAdFactory) { - if (nativeAdFactories.containsKey(factoryId)) { - final String errorMessage = - String.format( - "A NativeAdFactory with the following factoryId already exists: %s", factoryId); - Log.e(GoogleMobileAdsPlugin.class.getSimpleName(), errorMessage); - return false; - } - - nativeAdFactories.put(factoryId, nativeAdFactory); - return true; - } - - private NativeAdFactory removeNativeAdFactory(String factoryId) { - return nativeAdFactories.remove(factoryId); - } - - @Override - public void onAttachedToEngine(FlutterPluginBinding binding) { - pluginBinding = binding; - adMessageCodec = - new AdMessageCodec( - binding.getApplicationContext(), - new FlutterRequestAgentProvider(binding.getApplicationContext())); - if (mediationNetworkExtrasProvider != null) { - adMessageCodec.setMediationNetworkExtrasProvider(mediationNetworkExtrasProvider); - } - final MethodChannel channel = - new MethodChannel( - binding.getBinaryMessenger(), - "plugins.flutter.io/google_mobile_ads", - new StandardMethodCodec(adMessageCodec)); - channel.setMethodCallHandler(this); - instanceManager = new AdInstanceManager(channel); - binding - .getPlatformViewRegistry() - .registerViewFactory( - "plugins.flutter.io/google_mobile_ads/ad_widget", - new GoogleMobileAdsViewFactory(instanceManager)); - appStateNotifier = new AppStateNotifier(binding.getBinaryMessenger()); - userMessagingPlatformManager = - new UserMessagingPlatformManager( - binding.getBinaryMessenger(), binding.getApplicationContext()); - } - - @Override - public void onDetachedFromEngine(FlutterPluginBinding binding) { - if (appStateNotifier != null) { - appStateNotifier.stop(); - appStateNotifier = null; - } - } - - @Override - public void onAttachedToActivity(ActivityPluginBinding binding) { - if (instanceManager != null) { - instanceManager.setActivity(binding.getActivity()); - } - if (adMessageCodec != null) { - adMessageCodec.setContext(binding.getActivity()); - } - if (userMessagingPlatformManager != null) { - userMessagingPlatformManager.setActivity(binding.getActivity()); - } - } - - @Override - public void onDetachedFromActivityForConfigChanges() { - // Use the application context - if (adMessageCodec != null && pluginBinding != null) { - adMessageCodec.setContext(pluginBinding.getApplicationContext()); - } - if (instanceManager != null) { - instanceManager.setActivity(null); - } - if (userMessagingPlatformManager != null) { - userMessagingPlatformManager.setActivity(null); - } - } - - @Override - public void onReattachedToActivityForConfigChanges(@NonNull ActivityPluginBinding binding) { - if (instanceManager != null) { - instanceManager.setActivity(binding.getActivity()); - } - if (adMessageCodec != null) { - adMessageCodec.setContext(binding.getActivity()); - } - if (userMessagingPlatformManager != null) { - userMessagingPlatformManager.setActivity(binding.getActivity()); - } - } - - @Override - public void onDetachedFromActivity() { - if (adMessageCodec != null && pluginBinding != null) { - adMessageCodec.setContext(pluginBinding.getApplicationContext()); - } - if (instanceManager != null) { - instanceManager.setActivity(null); - } - if (userMessagingPlatformManager != null) { - userMessagingPlatformManager.setActivity(null); - } - } - - @SuppressWarnings("deprecation") - @Override - public void onMethodCall(@NonNull MethodCall call, @NonNull final Result result) { - if (instanceManager == null || pluginBinding == null) { - Log.e(TAG, "method call received before instanceManager initialized: " + call.method); - return; - } - // Use activity as context if available. - Context context = - (instanceManager.getActivity() != null) - ? instanceManager.getActivity() - : pluginBinding.getApplicationContext(); - switch (call.method) { - case "_init": - // Internal init. This is necessary to cleanup state on hot restart. - instanceManager.disposeAllAds(); - result.success(null); - break; - case "MobileAds#initialize": - flutterMobileAds.initialize(context, new FlutterInitializationListener(result)); - break; - case "MobileAds#openAdInspector": - flutterMobileAds.openAdInspector( - context, - new OnAdInspectorClosedListener() { - @Override - public void onAdInspectorClosed(@Nullable AdInspectorError adInspectorError) { - if (adInspectorError != null) { - String errorCode = Integer.toString(adInspectorError.getCode()); - result.error( - errorCode, adInspectorError.getMessage(), adInspectorError.getDomain()); - } else { - result.success(null); - } - } - }); - break; - case "MobileAds#getRequestConfiguration": - result.success(flutterMobileAds.getRequestConfiguration()); - break; - case "MobileAds#updateRequestConfiguration": - RequestConfiguration.Builder builder = MobileAds.getRequestConfiguration().toBuilder(); - String maxAdContentRating = call.argument("maxAdContentRating"); - Integer tagForChildDirectedTreatment = call.argument("tagForChildDirectedTreatment"); - Integer tagForUnderAgeOfConsent = call.argument("tagForUnderAgeOfConsent"); - List testDeviceIds = call.argument("testDeviceIds"); - if (maxAdContentRating != null) { - builder.setMaxAdContentRating(maxAdContentRating); - } - if (tagForChildDirectedTreatment != null) { - builder.setTagForChildDirectedTreatment(tagForChildDirectedTreatment); - } - if (tagForUnderAgeOfConsent != null) { - builder.setTagForUnderAgeOfConsent(tagForUnderAgeOfConsent); - } - if (testDeviceIds != null) { - builder.setTestDeviceIds(testDeviceIds); - } - MobileAds.setRequestConfiguration(builder.build()); - result.success(null); - break; - case "MobileAds#registerWebView": - Integer webViewId = call.argument("webViewId"); - flutterMobileAds.registerWebView(webViewId, pluginBinding.getFlutterEngine()); - result.success(null); - break; - case "loadBannerAd": - final FlutterBannerAd bannerAd = - new FlutterBannerAd( - call.argument("adId"), - instanceManager, - call.argument("adUnitId"), - call.argument("request"), - call.argument("size"), - getBannerAdCreator(context)); - instanceManager.trackAd(bannerAd, call.argument("adId")); - bannerAd.load(); - result.success(null); - break; - case "loadNativeAd": - final String factoryId = call.argument("factoryId"); - final NativeAdFactory factory = nativeAdFactories.get(factoryId); - final FlutterNativeTemplateStyle templateStyle = call.argument("nativeTemplateStyle"); - if (factory == null && templateStyle == null) { - final String message = - String.format("No NativeAdFactory with id: %s or nativeTemplateStyle", factoryId); - result.error("NativeAdError", message, null); - break; - } - - final FlutterNativeAd nativeAd = - new FlutterNativeAd.Builder(context) - .setManager(instanceManager) - .setAdUnitId(call.argument("adUnitId")) - .setAdFactory(factory) - .setRequest(call.argument("request")) - .setAdManagerRequest(call.argument("adManagerRequest")) - .setCustomOptions(call.>argument("customOptions")) - .setId(call.argument("adId")) - .setNativeAdOptions(call.argument("nativeAdOptions")) - .setFlutterAdLoader(new FlutterAdLoader(context)) - .setNativeTemplateStyle( - call.argument("nativeTemplateStyle")) - .build(); - instanceManager.trackAd(nativeAd, call.argument("adId")); - nativeAd.load(); - result.success(null); - break; - case "loadInterstitialAd": - final FlutterInterstitialAd interstitial = - new FlutterInterstitialAd( - call.argument("adId"), - instanceManager, - call.argument("adUnitId"), - call.argument("request"), - new FlutterAdLoader(context)); - instanceManager.trackAd(interstitial, call.argument("adId")); - interstitial.load(); - result.success(null); - break; - case "loadRewardedAd": - final String rewardedAdUnitId = requireNonNull(call.argument("adUnitId")); - final FlutterAdRequest rewardedAdRequest = call.argument("request"); - final FlutterAdManagerAdRequest rewardedAdManagerRequest = - call.argument("adManagerRequest"); - - final FlutterRewardedAd rewardedAd; - if (rewardedAdRequest != null) { - rewardedAd = - new FlutterRewardedAd( - call.argument("adId"), - requireNonNull(instanceManager), - rewardedAdUnitId, - rewardedAdRequest, - new FlutterAdLoader(context)); - } else if (rewardedAdManagerRequest != null) { - rewardedAd = - new FlutterRewardedAd( - call.argument("adId"), - requireNonNull(instanceManager), - rewardedAdUnitId, - rewardedAdManagerRequest, - new FlutterAdLoader(context)); - } else { - result.error("InvalidRequest", "A null or invalid ad request was provided.", null); - break; - } - - instanceManager.trackAd(rewardedAd, requireNonNull(call.argument("adId"))); - rewardedAd.load(); - result.success(null); - break; - case "loadAdManagerBannerAd": - final FlutterAdManagerBannerAd adManagerBannerAd = - new FlutterAdManagerBannerAd( - call.argument("adId"), - instanceManager, - call.argument("adUnitId"), - call.>argument("sizes"), - call.argument("request"), - getBannerAdCreator(context)); - instanceManager.trackAd(adManagerBannerAd, call.argument("adId")); - adManagerBannerAd.load(); - result.success(null); - break; - case "loadFluidAd": - final FluidAdManagerBannerAd fluidAd = - new FluidAdManagerBannerAd( - call.argument("adId"), - instanceManager, - call.argument("adUnitId"), - call.argument("request"), - getBannerAdCreator(context)); - instanceManager.trackAd(fluidAd, call.argument("adId")); - fluidAd.load(); - result.success(null); - break; - case "loadAdManagerInterstitialAd": - final FlutterAdManagerInterstitialAd adManagerInterstitialAd = - new FlutterAdManagerInterstitialAd( - call.argument("adId"), - requireNonNull(instanceManager), - requireNonNull(call.argument("adUnitId")), - call.argument("request"), - new FlutterAdLoader(context)); - instanceManager.trackAd( - adManagerInterstitialAd, requireNonNull(call.argument("adId"))); - adManagerInterstitialAd.load(); - result.success(null); - break; - case "loadRewardedInterstitialAd": - final String rewardedInterstitialAdUnitId = - requireNonNull(call.argument("adUnitId")); - final FlutterAdRequest rewardedInterstitialAdRequest = call.argument("request"); - final FlutterAdManagerAdRequest rewardedInterstitialAdManagerRequest = - call.argument("adManagerRequest"); - - final FlutterRewardedInterstitialAd rewardedInterstitialAd; - if (rewardedInterstitialAdRequest != null) { - rewardedInterstitialAd = - new FlutterRewardedInterstitialAd( - call.argument("adId"), - requireNonNull(instanceManager), - rewardedInterstitialAdUnitId, - rewardedInterstitialAdRequest, - new FlutterAdLoader(context)); - } else if (rewardedInterstitialAdManagerRequest != null) { - rewardedInterstitialAd = - new FlutterRewardedInterstitialAd( - call.argument("adId"), - requireNonNull(instanceManager), - rewardedInterstitialAdUnitId, - rewardedInterstitialAdManagerRequest, - new FlutterAdLoader(context)); - } else { - result.error("InvalidRequest", "A null or invalid ad request was provided.", null); - break; - } - - instanceManager.trackAd( - rewardedInterstitialAd, requireNonNull(call.argument("adId"))); - rewardedInterstitialAd.load(); - result.success(null); - break; - case "loadAppOpenAd": - final FlutterAppOpenAd appOpenAd = - new FlutterAppOpenAd( - call.argument("adId"), - requireNonNull(instanceManager), - requireNonNull(call.argument("adUnitId")), - call.argument("request"), - call.argument("adManagerRequest"), - new FlutterAdLoader(context)); - instanceManager.trackAd(appOpenAd, call.argument("adId")); - appOpenAd.load(); - result.success(null); - break; - case "disposeAd": - instanceManager.disposeAd(call.argument("adId")); - result.success(null); - break; - case "showAdWithoutView": - final boolean adShown = instanceManager.showAdWithId(call.argument("adId")); - if (!adShown) { - result.error("AdShowError", "Ad failed to show.", null); - break; - } - result.success(null); - break; - case "AdSize#getAnchoredAdaptiveBannerAdSize": - final FlutterAdSize.AnchoredAdaptiveBannerAdSize size = - new FlutterAdSize.AnchoredAdaptiveBannerAdSize( - context, - new FlutterAdSize.AdSizeFactory(), - call.argument("orientation"), - call.argument("width"), - /* isLarge = */ false); - if (AdSize.INVALID.equals(size.size)) { - result.success(null); - } else { - result.success(size.height); - } - break; - case "AdSize#getLargeAnchoredAdaptiveBannerAdSize": - final FlutterAdSize.AnchoredAdaptiveBannerAdSize largeSize = - new FlutterAdSize.AnchoredAdaptiveBannerAdSize( - context, - new FlutterAdSize.AdSizeFactory(), - call.argument("orientation"), - call.argument("width"), - /* isLarge = */ true); - if (AdSize.INVALID.equals(largeSize.size)) { - result.success(null); - } else { - result.success(largeSize.height); - } - break; - case "MobileAds#setAppMuted": - flutterMobileAds.setAppMuted(call.argument("muted")); - result.success(null); - break; - case "MobileAds#setAppVolume": - flutterMobileAds.setAppVolume(call.argument("volume")); - result.success(null); - break; - case "setImmersiveMode": - ((FlutterOverlayAd) instanceManager.adForId(call.argument("adId"))) - .setImmersiveMode(call.argument("immersiveModeEnabled")); - result.success(null); - break; - case "MobileAds#disableMediationInitialization": - flutterMobileAds.disableMediationInitialization(context); - result.success(null); - break; - case "MobileAds#getVersionString": - result.success(flutterMobileAds.getVersionString()); - break; - case "MobileAds#openDebugMenu": - String adUnitId = call.argument("adUnitId"); - flutterMobileAds.openDebugMenu(context, adUnitId); - result.success(null); - break; - case "getAdSize": - { - FlutterAd ad = instanceManager.adForId(call.argument("adId")); - if (ad == null) { - // This was called on a dart ad container that hasn't been loaded yet. - result.success(null); - } else if (ad instanceof FlutterBannerAd) { - result.success(((FlutterBannerAd) ad).getAdSize()); - } else if (ad instanceof FlutterAdManagerBannerAd) { - result.success(((FlutterAdManagerBannerAd) ad).getAdSize()); - } else { - result.error( - Constants.ERROR_CODE_UNEXPECTED_AD_TYPE, - "Unexpected ad type for getAdSize: " + ad, - null); - } - break; - } - case "isCollapsible": - { - FlutterAd ad = instanceManager.adForId(call.argument("adId")); - if (ad == null) { - result.success(false); - } else if (ad instanceof FlutterBannerAd) { - result.success(((FlutterBannerAd) ad).isCollapsible()); - } else if (ad instanceof FlutterAdManagerBannerAd) { - result.success(((FlutterAdManagerBannerAd) ad).isCollapsible()); - } else { - result.error( - Constants.ERROR_CODE_UNEXPECTED_AD_TYPE, - "Unexpected ad type for isCollapsible: " + ad, - null); - } - break; - } - case "setServerSideVerificationOptions": - { - FlutterAd ad = instanceManager.adForId(call.argument("adId")); - final FlutterServerSideVerificationOptions options = - call.argument("serverSideVerificationOptions"); - if (ad == null) { - Log.w(TAG, "Error - null ad in setServerSideVerificationOptions"); - } else if (ad instanceof FlutterRewardedAd) { - ((FlutterRewardedAd) ad).setServerSideVerificationOptions(options); - } else if (ad instanceof FlutterRewardedInterstitialAd) { - ((FlutterRewardedInterstitialAd) ad).setServerSideVerificationOptions(options); - } else { - Log.w(TAG, "Error - setServerSideVerificationOptions called on " + "non-rewarded ad"); - } - result.success(null); - break; - } - default: - result.notImplemented(); - } - } - - @VisibleForTesting - BannerAdCreator getBannerAdCreator(@NonNull Context context) { - return new BannerAdCreator(context); - } - - /** An {@link OnInitializationCompleteListener} that invokes result.success() at most once. */ - private static final class FlutterInitializationListener - implements OnInitializationCompleteListener { - - private final Result result; - private boolean isInitializationCompleted; - - private FlutterInitializationListener(@NonNull final Result result) { - this.result = result; - isInitializationCompleted = false; - } - - @Override - public void onInitializationComplete(@NonNull InitializationStatus initializationStatus) { - // Make sure not to invoke this more than once, since Dart will throw an exception if success - // is invoked more than once. See b/193418432. - if (isInitializationCompleted) { - return; - } - try { - Class clazz = Class.forName("com.google.android.gms.ads.MobileAds"); - Method method = clazz.getDeclaredMethod("setPlugin", String.class); - method.setAccessible(true); - method.invoke(null, Constants.REQUEST_AGENT_PREFIX_VERSIONED); - } catch (Exception ignored) { - } - result.success(new FlutterInitializationStatus(initializationStatus)); - isInitializationCompleted = true; - } - } -} diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/java/io/flutter/plugins/googlemobileads/GoogleMobileAdsViewFactory.java b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/java/io/flutter/plugins/googlemobileads/GoogleMobileAdsViewFactory.java deleted file mode 100644 index 43d6437f..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/java/io/flutter/plugins/googlemobileads/GoogleMobileAdsViewFactory.java +++ /dev/null @@ -1,99 +0,0 @@ -// Copyright 2021 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package io.flutter.plugins.googlemobileads; - -import android.content.Context; -import android.graphics.Color; -import android.view.View; -import android.widget.TextView; -import androidx.annotation.NonNull; -import io.flutter.BuildConfig; -import io.flutter.Log; -import io.flutter.plugin.common.StandardMessageCodec; -import io.flutter.plugin.platform.PlatformView; -import io.flutter.plugin.platform.PlatformViewFactory; -import java.util.Locale; - -/** Displays loaded FlutterAds for an AdInstanceManager */ -final class GoogleMobileAdsViewFactory extends PlatformViewFactory { - @NonNull private final AdInstanceManager manager; - - private static class ErrorTextView implements PlatformView { - private final TextView textView; - - private ErrorTextView(Context context, String message) { - textView = new TextView(context); - textView.setText(message); - textView.setBackgroundColor(Color.RED); - textView.setTextColor(Color.YELLOW); - } - - @Override - public View getView() { - return textView; - } - - @Override - public void dispose() {} - } - - public GoogleMobileAdsViewFactory(@NonNull AdInstanceManager manager) { - super(StandardMessageCodec.INSTANCE); - this.manager = manager; - } - - @Override - public PlatformView create(Context context, int viewId, Object args) { - if (args == null) { - return getErrorView(context, 0); - } - final Integer adId = (Integer) args; - FlutterAd ad = manager.adForId(adId); - if (ad == null || ad.getPlatformView() == null) { - return getErrorView(context, adId); - } - return ad.getPlatformView(); - } - - /** - * Returns an ErrorView with a debug message for debug builds only. Otherwise just returns an - * empty PlatformView. - */ - private static PlatformView getErrorView(@NonNull final Context context, int adId) { - final String message = - String.format( - Locale.getDefault(), - "This ad may have not been loaded or has been disposed. " - + "Ad with the following id could not be found: %d.", - adId); - - if (BuildConfig.DEBUG) { - return new ErrorTextView(context, message); - } else { - Log.e(GoogleMobileAdsViewFactory.class.getSimpleName(), message); - return new PlatformView() { - @Override - public View getView() { - return new View(context); - } - - @Override - public void dispose() { - // Do nothing. - } - }; - } - } -} diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/java/io/flutter/plugins/googlemobileads/MediationNetworkExtrasProvider.java b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/java/io/flutter/plugins/googlemobileads/MediationNetworkExtrasProvider.java deleted file mode 100644 index 63d24906..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/java/io/flutter/plugins/googlemobileads/MediationNetworkExtrasProvider.java +++ /dev/null @@ -1,54 +0,0 @@ -// Copyright 2021 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package io.flutter.plugins.googlemobileads; - -import android.os.Bundle; -import androidx.annotation.Nullable; -import com.google.android.gms.ads.mediation.MediationExtrasReceiver; -import io.flutter.embedding.engine.FlutterEngine; -import java.util.Map; - -/** - * Provides network specific parameters when constructing an ad request. - * - *

After you register a {@code MediationNetworkExtrasProvider} using {@link - * GoogleMobileAdsPlugin#registerMediationNetworkExtrasProvider(FlutterEngine, - * MediationNetworkExtrasProvider)}, the plugin will use it to pass extras when constructing ad - * requests. - * - * @deprecated User {@link FlutterMediationExtras} instead. - */ -@Deprecated -public interface MediationNetworkExtrasProvider { - - /** - * Gets mediation extras that should be included for an ad request with the {@code adUnitId} and - * {@code identifier}, as a map from adapter classes to their corresponding extras bundle. You can - * refer to each network's documentation - * to see how to find the corresponding adapter class and create its extras. This will be called - * whenever the plugin creates an ad request. - * - * @param adUnitId The ad unit for the associated ad request. - * @param identifier An optional identifier that comes from the associated dart ad request object. - * This allows for additional control of which extras to include for an ad request, beyond - * just the ad unit. - * @return A map of mediation adapter classes to their extras that should be included in the ad - * request. If {@code null} is returned then no extras are added. - */ - @Nullable - Map, Bundle> getMediationExtras( - String adUnitId, @Nullable String identifier); -} diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/java/io/flutter/plugins/googlemobileads/nativetemplates/FlutterNativeTemplateFontStyle.java b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/java/io/flutter/plugins/googlemobileads/nativetemplates/FlutterNativeTemplateFontStyle.java deleted file mode 100644 index 30b353e9..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/java/io/flutter/plugins/googlemobileads/nativetemplates/FlutterNativeTemplateFontStyle.java +++ /dev/null @@ -1,47 +0,0 @@ -// Copyright 2023 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package io.flutter.plugins.googlemobileads.nativetemplates; - -import android.graphics.Typeface; -import android.util.Log; - -public enum FlutterNativeTemplateFontStyle { - NORMAL, - BOLD, - ITALIC, - MONOSPACE; - - public static FlutterNativeTemplateFontStyle fromIntValue(int value) { - if (value >= 0 && value < FlutterNativeTemplateFontStyle.values().length) { - return FlutterNativeTemplateFontStyle.values()[value]; - } - Log.w("NativeTemplateFontStyle", "Invalid index for NativeTemplateFontStyle: " + value); - return NORMAL; - } - - Typeface getTypeface() { - switch (this) { - case NORMAL: - return Typeface.DEFAULT; - case BOLD: - return Typeface.DEFAULT_BOLD; - case ITALIC: - return Typeface.defaultFromStyle(Typeface.ITALIC); - case MONOSPACE: - return Typeface.MONOSPACE; - } - return Typeface.DEFAULT; - } -} diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/java/io/flutter/plugins/googlemobileads/nativetemplates/FlutterNativeTemplateStyle.java b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/java/io/flutter/plugins/googlemobileads/nativetemplates/FlutterNativeTemplateStyle.java deleted file mode 100644 index 2d2f39dc..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/java/io/flutter/plugins/googlemobileads/nativetemplates/FlutterNativeTemplateStyle.java +++ /dev/null @@ -1,180 +0,0 @@ -// Copyright 2023 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package io.flutter.plugins.googlemobileads.nativetemplates; - -import android.content.Context; -import android.graphics.drawable.ColorDrawable; -import android.view.LayoutInflater; -import androidx.annotation.NonNull; -import androidx.annotation.Nullable; -import com.google.android.ads.nativetemplates.NativeTemplateStyle; -import com.google.android.ads.nativetemplates.TemplateView; -import java.util.Objects; - -public final class FlutterNativeTemplateStyle { - - @NonNull final FlutterNativeTemplateType templateType; - @Nullable final ColorDrawable mainBackgroundColor; - @Nullable final FlutterNativeTemplateTextStyle callToActionStyle; - @Nullable final FlutterNativeTemplateTextStyle primaryTextStyle; - @Nullable final FlutterNativeTemplateTextStyle secondaryTextStyle; - @Nullable final FlutterNativeTemplateTextStyle tertiaryTextStyle; - - public FlutterNativeTemplateStyle( - @NonNull FlutterNativeTemplateType templateType, - @Nullable ColorDrawable mainBackgroundColor, - @Nullable FlutterNativeTemplateTextStyle callToActionStyle, - @Nullable FlutterNativeTemplateTextStyle primaryTextStyle, - @Nullable FlutterNativeTemplateTextStyle secondaryTextStyle, - @Nullable FlutterNativeTemplateTextStyle tertiaryTextStyle) { - this.templateType = templateType; - this.mainBackgroundColor = mainBackgroundColor; - this.callToActionStyle = callToActionStyle; - this.primaryTextStyle = primaryTextStyle; - this.secondaryTextStyle = secondaryTextStyle; - this.tertiaryTextStyle = tertiaryTextStyle; - } - - public NativeTemplateStyle asNativeTemplateStyle() { - NativeTemplateStyle.Builder builder = new NativeTemplateStyle.Builder(); - if (mainBackgroundColor != null) { - builder.withMainBackgroundColor(mainBackgroundColor); - } - if (callToActionStyle != null) { - if (callToActionStyle.getBackgroundColor() != null) { - builder.withCallToActionBackgroundColor(callToActionStyle.getBackgroundColor()); - } - if (callToActionStyle.getTextColor() != null) { - builder.withCallToActionTypefaceColor(callToActionStyle.getTextColor().getColor()); - } - if (callToActionStyle.getFontStyle() != null) { - builder.withCallToActionTextTypeface(callToActionStyle.getFontStyle().getTypeface()); - } - if (callToActionStyle.getSize() != null) { - builder.withCallToActionTextSize(callToActionStyle.getSize()); - } - } - if (primaryTextStyle != null) { - if (primaryTextStyle.getBackgroundColor() != null) { - builder.withPrimaryTextBackgroundColor(primaryTextStyle.getBackgroundColor()); - } - if (primaryTextStyle.getTextColor() != null) { - builder.withPrimaryTextTypefaceColor(primaryTextStyle.getTextColor().getColor()); - } - if (primaryTextStyle.getFontStyle() != null) { - builder.withPrimaryTextTypeface(primaryTextStyle.getFontStyle().getTypeface()); - } - if (primaryTextStyle.getSize() != null) { - builder.withPrimaryTextSize(primaryTextStyle.getSize()); - } - } - if (secondaryTextStyle != null) { - if (secondaryTextStyle.getBackgroundColor() != null) { - builder.withSecondaryTextBackgroundColor(secondaryTextStyle.getBackgroundColor()); - } - if (secondaryTextStyle.getTextColor() != null) { - builder.withSecondaryTextTypefaceColor(secondaryTextStyle.getTextColor().getColor()); - } - if (secondaryTextStyle.getFontStyle() != null) { - builder.withSecondaryTextTypeface(secondaryTextStyle.getFontStyle().getTypeface()); - } - if (secondaryTextStyle.getSize() != null) { - builder.withSecondaryTextSize(secondaryTextStyle.getSize()); - } - } - if (tertiaryTextStyle != null) { - if (tertiaryTextStyle.getBackgroundColor() != null) { - builder.withTertiaryTextBackgroundColor(tertiaryTextStyle.getBackgroundColor()); - } - if (tertiaryTextStyle.getTextColor() != null) { - builder.withTertiaryTextTypefaceColor(tertiaryTextStyle.getTextColor().getColor()); - } - if (tertiaryTextStyle.getFontStyle() != null) { - builder.withTertiaryTextTypeface(tertiaryTextStyle.getFontStyle().getTypeface()); - } - if (tertiaryTextStyle.getSize() != null) { - builder.withTertiaryTextSize(tertiaryTextStyle.getSize()); - } - } - return builder.build(); - } - - public TemplateView asTemplateView(Context context) { - LayoutInflater layoutInflater = - (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); - TemplateView templateView = - (TemplateView) layoutInflater.inflate(templateType.resourceId(), null); - templateView.setStyles(asNativeTemplateStyle()); - return templateView; - } - - @NonNull - public FlutterNativeTemplateType getTemplateType() { - return templateType; - } - - @Nullable - public ColorDrawable getMainBackgroundColor() { - return mainBackgroundColor; - } - - @Nullable - public FlutterNativeTemplateTextStyle getCallToActionStyle() { - return callToActionStyle; - } - - @Nullable - public FlutterNativeTemplateTextStyle getPrimaryTextStyle() { - return primaryTextStyle; - } - - @Nullable - public FlutterNativeTemplateTextStyle getSecondaryTextStyle() { - return secondaryTextStyle; - } - - @Nullable - public FlutterNativeTemplateTextStyle getTertiaryTextStyle() { - return tertiaryTextStyle; - } - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } else if (!(o instanceof FlutterNativeTemplateStyle)) { - return false; - } - - FlutterNativeTemplateStyle other = (FlutterNativeTemplateStyle) o; - return templateType == other.templateType - && ((mainBackgroundColor == null && other.mainBackgroundColor == null) - || mainBackgroundColor.getColor() == other.mainBackgroundColor.getColor()) - && Objects.equals(callToActionStyle, other.callToActionStyle) - && Objects.equals(primaryTextStyle, other.primaryTextStyle) - && Objects.equals(secondaryTextStyle, other.secondaryTextStyle) - && Objects.equals(tertiaryTextStyle, other.tertiaryTextStyle); - } - - @Override - public int hashCode() { - return Objects.hash( - mainBackgroundColor == null ? null : mainBackgroundColor.getColor(), - callToActionStyle, - primaryTextStyle, - secondaryTextStyle, - tertiaryTextStyle); - } -} diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/java/io/flutter/plugins/googlemobileads/nativetemplates/FlutterNativeTemplateTextStyle.java b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/java/io/flutter/plugins/googlemobileads/nativetemplates/FlutterNativeTemplateTextStyle.java deleted file mode 100644 index 36a1919a..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/java/io/flutter/plugins/googlemobileads/nativetemplates/FlutterNativeTemplateTextStyle.java +++ /dev/null @@ -1,82 +0,0 @@ -// Copyright 2023 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package io.flutter.plugins.googlemobileads.nativetemplates; - -import android.graphics.drawable.ColorDrawable; -import androidx.annotation.Nullable; -import java.util.Objects; - -public final class FlutterNativeTemplateTextStyle { - - @Nullable private final ColorDrawable textColor; - @Nullable private final ColorDrawable backgroundColor; - @Nullable private final FlutterNativeTemplateFontStyle fontStyle; - @Nullable private final Double size; - - public FlutterNativeTemplateTextStyle( - @Nullable ColorDrawable textColor, - @Nullable ColorDrawable backgroundColor, - @Nullable FlutterNativeTemplateFontStyle fontStyle, - @Nullable Double size) { - this.textColor = textColor; - this.backgroundColor = backgroundColor; - this.fontStyle = fontStyle; - this.size = size; - } - - @Nullable - public ColorDrawable getTextColor() { - return textColor; - } - - @Nullable - public ColorDrawable getBackgroundColor() { - return backgroundColor; - } - - @Nullable - public FlutterNativeTemplateFontStyle getFontStyle() { - return fontStyle; - } - - @Nullable - public Float getSize() { - return size == null ? null : size.floatValue(); - } - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } else if (!(o instanceof FlutterNativeTemplateTextStyle)) { - return false; - } - - FlutterNativeTemplateTextStyle other = (FlutterNativeTemplateTextStyle) o; - return ((textColor == null && other.textColor == null) - || textColor.getColor() == other.textColor.getColor()) - && ((backgroundColor == null && other.backgroundColor == null) - || backgroundColor.getColor() == other.backgroundColor.getColor()) - && Objects.equals(size, other.size) - && Objects.equals(fontStyle, other.fontStyle); - } - - @Override - public int hashCode() { - Integer textColorValue = textColor == null ? null : textColor.getColor(); - Integer backgroundColorValue = backgroundColor == null ? null : backgroundColor.getColor(); - return Objects.hash(textColorValue, backgroundColorValue, size, fontStyle); - } -} diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/java/io/flutter/plugins/googlemobileads/nativetemplates/FlutterNativeTemplateType.java b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/java/io/flutter/plugins/googlemobileads/nativetemplates/FlutterNativeTemplateType.java deleted file mode 100644 index 59d30581..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/java/io/flutter/plugins/googlemobileads/nativetemplates/FlutterNativeTemplateType.java +++ /dev/null @@ -1,41 +0,0 @@ -// Copyright 2023 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package io.flutter.plugins.googlemobileads.nativetemplates; - -import android.util.Log; -import io.flutter.plugins.googlemobileads.R; - -public enum FlutterNativeTemplateType { - SMALL(R.layout.small_template_view_layout), - MEDIUM(R.layout.medium_template_view_layout); - - private final int resourceId; - - FlutterNativeTemplateType(int resourceId) { - this.resourceId = resourceId; - } - - public int resourceId() { - return resourceId; - } - - public static FlutterNativeTemplateType fromIntValue(int value) { - if (value >= 0 && value < FlutterNativeTemplateType.values().length) { - return FlutterNativeTemplateType.values()[value]; - } - Log.w("NativeTemplateType", "Invalid template type index: " + value); - return MEDIUM; - } -} diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/java/io/flutter/plugins/googlemobileads/usermessagingplatform/ConsentDebugSettingsWrapper.java b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/java/io/flutter/plugins/googlemobileads/usermessagingplatform/ConsentDebugSettingsWrapper.java deleted file mode 100644 index 4cc57e38..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/java/io/flutter/plugins/googlemobileads/usermessagingplatform/ConsentDebugSettingsWrapper.java +++ /dev/null @@ -1,77 +0,0 @@ -// Copyright 2022 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package io.flutter.plugins.googlemobileads.usermessagingplatform; - -import android.content.Context; -import androidx.annotation.Nullable; -import com.google.android.ump.ConsentDebugSettings; -import java.util.List; -import java.util.Objects; - -/** Wrapper for {@link ConsentDebugSettings}. */ -class ConsentDebugSettingsWrapper { - - @Nullable private final Integer debugGeography; - - @Nullable private final List testIdentifiers; - - ConsentDebugSettingsWrapper( - @Nullable Integer debugGeography, @Nullable List testIdentifiers) { - this.debugGeography = debugGeography; - this.testIdentifiers = testIdentifiers; - } - - @Nullable - Integer getDebugGeography() { - return debugGeography; - } - - @Nullable - List getTestIdentifiers() { - return testIdentifiers; - } - - /** Get the corresponding {@link ConsentDebugSettings}. */ - ConsentDebugSettings getAsConsentDebugSettings(Context context) { - ConsentDebugSettings.Builder builder = new ConsentDebugSettings.Builder(context); - if (debugGeography != null) { - builder.setDebugGeography(debugGeography); - } - if (testIdentifiers != null) { - for (String testIdentifier : testIdentifiers) { - builder.addTestDeviceHashedId(testIdentifier); - } - } - return builder.build(); - } - - @Override - public boolean equals(@Nullable Object obj) { - if (obj == this) { - return true; - } else if (!(obj instanceof ConsentDebugSettingsWrapper)) { - return false; - } - - ConsentDebugSettingsWrapper other = (ConsentDebugSettingsWrapper) obj; - return Objects.equals(debugGeography, other.getDebugGeography()) - && Objects.equals(testIdentifiers, other.getTestIdentifiers()); - } - - @Override - public int hashCode() { - return Objects.hash(debugGeography, testIdentifiers); - } -} diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/java/io/flutter/plugins/googlemobileads/usermessagingplatform/ConsentRequestParametersWrapper.java b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/java/io/flutter/plugins/googlemobileads/usermessagingplatform/ConsentRequestParametersWrapper.java deleted file mode 100644 index 20568a64..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/java/io/flutter/plugins/googlemobileads/usermessagingplatform/ConsentRequestParametersWrapper.java +++ /dev/null @@ -1,74 +0,0 @@ -// Copyright 2022 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package io.flutter.plugins.googlemobileads.usermessagingplatform; - -import android.content.Context; -import androidx.annotation.Nullable; -import com.google.android.ump.ConsentRequestParameters; -import java.util.Objects; - -/** Wrapper for {@link ConsentRequestParameters}. */ -class ConsentRequestParametersWrapper { - - @Nullable private final Boolean tfuac; - - @Nullable private final ConsentDebugSettingsWrapper debugSettings; - - ConsentRequestParametersWrapper( - @Nullable Boolean tfuac, @Nullable ConsentDebugSettingsWrapper debugSettings) { - this.tfuac = tfuac; - this.debugSettings = debugSettings; - } - - @Nullable - Boolean getTfuac() { - return tfuac; - } - - @Nullable - ConsentDebugSettingsWrapper getDebugSettings() { - return debugSettings; - } - - /** Get as {@link ConsentRequestParameters}. */ - ConsentRequestParameters getAsConsentRequestParameters(Context context) { - ConsentRequestParameters.Builder builder = new ConsentRequestParameters.Builder(); - if (tfuac != null) { - builder.setTagForUnderAgeOfConsent(tfuac); - } - if (debugSettings != null) { - builder.setConsentDebugSettings(debugSettings.getAsConsentDebugSettings(context)); - } - return builder.build(); - } - - @Override - public boolean equals(@Nullable Object obj) { - if (obj == this) { - return true; - } else if (!(obj instanceof ConsentRequestParametersWrapper)) { - return false; - } - - ConsentRequestParametersWrapper other = (ConsentRequestParametersWrapper) obj; - return Objects.equals(tfuac, other.getTfuac()) - && Objects.equals(debugSettings, other.getDebugSettings()); - } - - @Override - public int hashCode() { - return Objects.hash(tfuac, debugSettings); - } -} diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/java/io/flutter/plugins/googlemobileads/usermessagingplatform/UserMessagingCodec.java b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/java/io/flutter/plugins/googlemobileads/usermessagingplatform/UserMessagingCodec.java deleted file mode 100644 index 88aba3e0..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/java/io/flutter/plugins/googlemobileads/usermessagingplatform/UserMessagingCodec.java +++ /dev/null @@ -1,124 +0,0 @@ -// Copyright 2022 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package io.flutter.plugins.googlemobileads.usermessagingplatform; - -import androidx.annotation.NonNull; -import androidx.annotation.Nullable; -import com.google.android.ump.ConsentForm; -import com.google.android.ump.FormError; -import io.flutter.plugin.common.StandardMessageCodec; -import java.io.ByteArrayOutputStream; -import java.nio.ByteBuffer; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -/** Codec for UMP SDK. */ -public class UserMessagingCodec extends StandardMessageCodec { - - private static final byte VALUE_CONSENT_REQUEST_PARAMETERS = (byte) 129; - private static final byte VALUE_CONSENT_DEBUG_SETTINGS = (byte) 130; - private static final byte VALUE_CONSENT_FORM = (byte) 131; - private static final byte VALUE_FORM_ERROR = (byte) 132; - - private final Map consentFormMap; - - UserMessagingCodec() { - consentFormMap = new HashMap<>(); - } - - @Override - protected void writeValue(@NonNull ByteArrayOutputStream stream, @NonNull Object value) { - if (value instanceof ConsentRequestParametersWrapper) { - stream.write(VALUE_CONSENT_REQUEST_PARAMETERS); - ConsentRequestParametersWrapper params = (ConsentRequestParametersWrapper) value; - writeValue(stream, params.getTfuac()); - writeValue(stream, params.getDebugSettings()); - } else if (value instanceof ConsentDebugSettingsWrapper) { - stream.write(VALUE_CONSENT_DEBUG_SETTINGS); - ConsentDebugSettingsWrapper debugSettings = (ConsentDebugSettingsWrapper) value; - writeValue(stream, debugSettings.getDebugGeography()); - writeValue(stream, debugSettings.getTestIdentifiers()); - } else if (value instanceof ConsentForm) { - stream.write(VALUE_CONSENT_FORM); - writeValue(stream, value.hashCode()); - } else if (value instanceof FormError) { - stream.write(VALUE_FORM_ERROR); - FormError formError = (FormError) value; - writeValue(stream, formError.getErrorCode()); - writeValue(stream, formError.getMessage()); - } else { - super.writeValue(stream, value); - } - } - - @Nullable - private List asList(@Nullable Object maybeList) { - if (maybeList == null) { - return null; - } - List stringList = new ArrayList<>(); - if (maybeList instanceof List) { - List list = (List) maybeList; - for (Object obj : list) { - if (obj instanceof String) { - stringList.add((String) obj); - } - } - } - return stringList; - } - - @Override - protected Object readValueOfType(byte type, @NonNull ByteBuffer buffer) { - switch (type) { - case VALUE_CONSENT_REQUEST_PARAMETERS: - { - Boolean tfuac = (Boolean) readValueOfType(buffer.get(), buffer); - ConsentDebugSettingsWrapper debugSettings = - (ConsentDebugSettingsWrapper) readValueOfType(buffer.get(), buffer); - return new ConsentRequestParametersWrapper(tfuac, debugSettings); - } - case VALUE_CONSENT_DEBUG_SETTINGS: - { - Integer debugGeoInt = (Integer) readValueOfType(buffer.get(), buffer); - List testIdentifiers = asList(readValueOfType(buffer.get(), buffer)); - return new ConsentDebugSettingsWrapper(debugGeoInt, testIdentifiers); - } - case VALUE_CONSENT_FORM: - { - Integer hash = (Integer) readValueOfType(buffer.get(), buffer); - return consentFormMap.get(hash); - } - case VALUE_FORM_ERROR: - { - Integer errorCode = (Integer) readValueOfType(buffer.get(), buffer); - String errorMessage = (String) readValueOfType(buffer.get(), buffer); - return new FormError(errorCode, errorMessage); - } - default: - return super.readValueOfType(type, buffer); - } - } - - void trackConsentForm(ConsentForm form) { - consentFormMap.put(form.hashCode(), form); - } - - void disposeConsentForm(ConsentForm form) { - consentFormMap.remove(form.hashCode()); - } -} diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/java/io/flutter/plugins/googlemobileads/usermessagingplatform/UserMessagingPlatformManager.java b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/java/io/flutter/plugins/googlemobileads/usermessagingplatform/UserMessagingPlatformManager.java deleted file mode 100644 index dde12714..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/java/io/flutter/plugins/googlemobileads/usermessagingplatform/UserMessagingPlatformManager.java +++ /dev/null @@ -1,237 +0,0 @@ -// Copyright 2022 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package io.flutter.plugins.googlemobileads.usermessagingplatform; - -import android.app.Activity; -import android.content.Context; -import android.util.Log; -import androidx.annotation.NonNull; -import androidx.annotation.Nullable; -import androidx.annotation.VisibleForTesting; -import com.google.android.ump.ConsentForm; -import com.google.android.ump.ConsentForm.OnConsentFormDismissedListener; -import com.google.android.ump.ConsentInformation; -import com.google.android.ump.ConsentInformation.OnConsentInfoUpdateFailureListener; -import com.google.android.ump.ConsentInformation.OnConsentInfoUpdateSuccessListener; -import com.google.android.ump.ConsentRequestParameters; -import com.google.android.ump.FormError; -import com.google.android.ump.UserMessagingPlatform; -import com.google.android.ump.UserMessagingPlatform.OnConsentFormLoadFailureListener; -import com.google.android.ump.UserMessagingPlatform.OnConsentFormLoadSuccessListener; -import io.flutter.plugin.common.BinaryMessenger; -import io.flutter.plugin.common.MethodCall; -import io.flutter.plugin.common.MethodChannel; -import io.flutter.plugin.common.MethodChannel.MethodCallHandler; -import io.flutter.plugin.common.MethodChannel.Result; -import io.flutter.plugin.common.StandardMethodCodec; - -/** Manages platform code for UMP SDK. */ -public class UserMessagingPlatformManager implements MethodCallHandler { - - private static final String METHOD_CHANNEL_NAME = "plugins.flutter.io/google_mobile_ads/ump"; - /** Use 0 for error code internal to the Flutter plugin. */ - private static final String INTERNAL_ERROR_CODE = "0"; - - private final UserMessagingCodec userMessagingCodec; - private final MethodChannel methodChannel; - private final Context context; - @Nullable private ConsentInformation consentInformation; - - @Nullable private Activity activity; - - public UserMessagingPlatformManager(BinaryMessenger binaryMessenger, Context context) { - userMessagingCodec = new UserMessagingCodec(); - methodChannel = - new MethodChannel( - binaryMessenger, METHOD_CHANNEL_NAME, new StandardMethodCodec(userMessagingCodec)); - methodChannel.setMethodCallHandler(this); - this.context = context; - } - - @VisibleForTesting - UserMessagingPlatformManager( - BinaryMessenger binaryMessenger, Context context, UserMessagingCodec userMessagingCodec) { - this.userMessagingCodec = userMessagingCodec; - methodChannel = - new MethodChannel( - binaryMessenger, METHOD_CHANNEL_NAME, new StandardMethodCodec(userMessagingCodec)); - methodChannel.setMethodCallHandler(this); - this.context = context; - } - - public void setActivity(@Nullable Activity activity) { - this.activity = activity; - } - - private ConsentInformation getConsentInformation() { - if (consentInformation != null) { - return consentInformation; - } - - consentInformation = UserMessagingPlatform.getConsentInformation(context); - return consentInformation; - } - - @Override - public void onMethodCall(@NonNull MethodCall call, @NonNull final Result result) { - switch (call.method) { - case "ConsentInformation#reset": - { - getConsentInformation().reset(); - result.success(null); - break; - } - case "ConsentInformation#getConsentStatus": - { - result.success(getConsentInformation().getConsentStatus()); - break; - } - case "ConsentInformation#requestConsentInfoUpdate": - { - if (activity == null) { - result.error( - INTERNAL_ERROR_CODE, - "ConsentInformation#requestConsentInfoUpdate called before plugin has been registered to an activity.", - null); - break; - } - ConsentRequestParametersWrapper requestParamsWrapper = call.argument("params"); - ConsentRequestParameters consentRequestParameters = - (requestParamsWrapper == null) - ? new ConsentRequestParameters.Builder().build() - : requestParamsWrapper.getAsConsentRequestParameters(activity); - getConsentInformation() - .requestConsentInfoUpdate( - activity, - consentRequestParameters, - new OnConsentInfoUpdateSuccessListener() { - @Override - public void onConsentInfoUpdateSuccess() { - result.success(null); - } - }, - new OnConsentInfoUpdateFailureListener() { - @Override - public void onConsentInfoUpdateFailure(FormError error) { - result.error( - Integer.toString(error.getErrorCode()), error.getMessage(), null); - } - }); - break; - } - case "ConsentInformation#canRequestAds": - result.success(getConsentInformation().canRequestAds()); - break; - case "ConsentInformation#getPrivacyOptionsRequirementStatus": - switch (getConsentInformation().getPrivacyOptionsRequirementStatus()) { - case NOT_REQUIRED: - result.success(0); - break; - case REQUIRED: - result.success(1); - break; - default: - result.success(2); - } - break; - case "UserMessagingPlatform#loadAndShowConsentFormIfRequired": - if (activity == null) { - result.error( - INTERNAL_ERROR_CODE, - "UserMessagingPlatform#loadAndShowConsentFormIfRequired called before plugin has been registered to an activity.", - null); - break; - } - UserMessagingPlatform.loadAndShowConsentFormIfRequired( - activity, - loadAndShowError -> { - result.success(loadAndShowError); - }); - break; - case "UserMessagingPlatform#loadConsentForm": - UserMessagingPlatform.loadConsentForm( - context, - new OnConsentFormLoadSuccessListener() { - @Override - public void onConsentFormLoadSuccess(ConsentForm consentForm) { - userMessagingCodec.trackConsentForm(consentForm); - result.success(consentForm); - } - }, - new OnConsentFormLoadFailureListener() { - @Override - public void onConsentFormLoadFailure(FormError formError) { - result.error( - Integer.toString(formError.getErrorCode()), formError.getMessage(), null); - } - }); - break; - case "UserMessagingPlatform#showPrivacyOptionsForm": - if (activity == null) { - result.error( - INTERNAL_ERROR_CODE, - "UserMessagingPlatform#showPrivacyOptionsForm called before plugin has been registered to an activity.", - null); - break; - } - UserMessagingPlatform.showPrivacyOptionsForm( - activity, - loadAndShowError -> { - result.success(loadAndShowError); - }); - break; - case "ConsentInformation#isConsentFormAvailable": - { - result.success(getConsentInformation().isConsentFormAvailable()); - break; - } - case "ConsentForm#show": - { - ConsentForm consentForm = call.argument("consentForm"); - if (consentForm == null) { - result.error(INTERNAL_ERROR_CODE, "ConsentForm#show", null); - } else { - consentForm.show( - activity, - new OnConsentFormDismissedListener() { - @Override - public void onConsentFormDismissed(@Nullable FormError formError) { - if (formError != null) { - result.error( - Integer.toString(formError.getErrorCode()), formError.getMessage(), null); - } else { - result.success(null); - } - } - }); - } - break; - } - case "ConsentForm#dispose": - { - ConsentForm consentForm = call.argument("consentForm"); - if (consentForm == null) { - Log.w(INTERNAL_ERROR_CODE, "Called dispose on ad that has been freed"); - } else { - userMessagingCodec.disposeConsentForm(consentForm); - } - result.success(null); - break; - } - default: - result.notImplemented(); - } - } -} diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/res/drawable/gnt_outline_shape.xml b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/res/drawable/gnt_outline_shape.xml deleted file mode 100644 index 3c657a12..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/res/drawable/gnt_outline_shape.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/res/drawable/gnt_rounded_corners_shape.xml b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/res/drawable/gnt_rounded_corners_shape.xml deleted file mode 100644 index d03599b8..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/res/drawable/gnt_rounded_corners_shape.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/res/layout/gnt_medium_template_view.xml b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/res/layout/gnt_medium_template_view.xml deleted file mode 100644 index d4184b80..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/res/layout/gnt_medium_template_view.xml +++ /dev/null @@ -1,231 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/res/layout/gnt_small_template_view.xml b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/res/layout/gnt_small_template_view.xml deleted file mode 100644 index 189dbef4..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/res/layout/gnt_small_template_view.xml +++ /dev/null @@ -1,189 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/res/layout/medium_template_view_layout.xml b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/res/layout/medium_template_view_layout.xml deleted file mode 100644 index d84dc6ce..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/res/layout/medium_template_view_layout.xml +++ /dev/null @@ -1,8 +0,0 @@ - - diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/res/layout/small_template_view_layout.xml b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/res/layout/small_template_view_layout.xml deleted file mode 100644 index 792d1517..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/res/layout/small_template_view_layout.xml +++ /dev/null @@ -1,8 +0,0 @@ - - diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/res/values/attrs.xml b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/res/values/attrs.xml deleted file mode 100644 index 36d477b8..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/res/values/attrs.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/res/values/colors.xml b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/res/values/colors.xml deleted file mode 100644 index 7cbddaa4..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/res/values/colors.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - #00F4F4F4 - #00A3A3A3 - #000000 - #FFFFFF - #FF0000 - #00FF00 - #4285f4 - #3A6728 - #808080 - #E0E0E0 - diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/res/values/dimens.xml b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/res/values/dimens.xml deleted file mode 100644 index 29ee0585..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/main/res/values/dimens.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - 0.4 - 0.25 - 1.0 - 0.2 - 10dp - 5dp - 12sp - 15sp - 25dp - 20dp - 30dp - 0dp - 10dp - 10sp - 30dp - 50dp - 0dp - 0dp - diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/test/java/io/flutter/plugins/googlemobileads/AdMessageCodecTest.java b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/test/java/io/flutter/plugins/googlemobileads/AdMessageCodecTest.java deleted file mode 100644 index f1b80ac6..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/test/java/io/flutter/plugins/googlemobileads/AdMessageCodecTest.java +++ /dev/null @@ -1,547 +0,0 @@ -// Copyright 2021 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package io.flutter.plugins.googlemobileads; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertNull; -import static org.junit.Assert.assertTrue; -import static org.mockito.ArgumentMatchers.any; -import static org.mockito.ArgumentMatchers.anyInt; -import static org.mockito.ArgumentMatchers.eq; -import static org.mockito.Mockito.doReturn; -import static org.mockito.Mockito.mock; - -import android.content.Context; -import android.graphics.Color; -import android.graphics.drawable.ColorDrawable; -import android.os.Bundle; -import android.util.Pair; -import com.google.android.gms.ads.AdSize; -import com.google.android.gms.ads.RequestConfiguration; -import com.google.android.gms.ads.mediation.MediationExtrasReceiver; -import io.flutter.plugins.googlemobileads.FlutterAd.FlutterAdapterResponseInfo; -import io.flutter.plugins.googlemobileads.FlutterAd.FlutterResponseInfo; -import io.flutter.plugins.googlemobileads.FlutterAdSize.AdSizeFactory; -import io.flutter.plugins.googlemobileads.FlutterAdSize.AnchoredAdaptiveBannerAdSize; -import io.flutter.plugins.googlemobileads.FlutterAdSize.InlineAdaptiveBannerAdSize; -import io.flutter.plugins.googlemobileads.nativetemplates.FlutterNativeTemplateFontStyle; -import io.flutter.plugins.googlemobileads.nativetemplates.FlutterNativeTemplateStyle; -import io.flutter.plugins.googlemobileads.nativetemplates.FlutterNativeTemplateTextStyle; -import io.flutter.plugins.googlemobileads.nativetemplates.FlutterNativeTemplateType; -import java.nio.ByteBuffer; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collections; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.robolectric.RobolectricTestRunner; - -/** Tests for {@link AdMessageCodec}. */ -@RunWith(RobolectricTestRunner.class) -public class AdMessageCodecTest { - AdMessageCodec codec; - AdSizeFactory mockAdSizeFactory; - FlutterRequestAgentProvider mockFlutterRequestAgentProvider; - - @Before - public void setup() { - mockAdSizeFactory = mock(AdSizeFactory.class); - mockFlutterRequestAgentProvider = mock(FlutterRequestAgentProvider.class); - codec = - new AdMessageCodec(mock(Context.class), mockAdSizeFactory, mockFlutterRequestAgentProvider); - } - - @Test - public void encodeAdapterInitializationState() { - final ByteBuffer message = - codec.encodeMessage(FlutterAdapterStatus.AdapterInitializationState.NOT_READY); - - assertEquals( - codec.decodeMessage((ByteBuffer) message.position(0)), - FlutterAdapterStatus.AdapterInitializationState.NOT_READY); - } - - @Test - public void encodeAdapterStatus() { - final ByteBuffer message = - codec.encodeMessage( - new FlutterAdapterStatus( - FlutterAdapterStatus.AdapterInitializationState.READY, "desc", 24)); - - final FlutterAdapterStatus result = - (FlutterAdapterStatus) codec.decodeMessage((ByteBuffer) message.position(0)); - assertEquals( - result, - new FlutterAdapterStatus( - FlutterAdapterStatus.AdapterInitializationState.READY, "desc", 24)); - } - - @Test - public void encodeInitializationStatus() { - final ByteBuffer message = - codec.encodeMessage( - new FlutterInitializationStatus( - Collections.singletonMap( - "table", - new FlutterAdapterStatus( - FlutterAdapterStatus.AdapterInitializationState.NOT_READY, - "desc", - 56.66)))); - - final FlutterInitializationStatus initStatus = - (FlutterInitializationStatus) codec.decodeMessage((ByteBuffer) message.position(0)); - assertEquals(initStatus.adapterStatuses.size(), 1); - final FlutterAdapterStatus adapterStatus = initStatus.adapterStatuses.get("table"); - assertEquals( - adapterStatus, - new FlutterAdapterStatus( - FlutterAdapterStatus.AdapterInitializationState.NOT_READY, "desc", 56.66)); - } - - @Test - public void decodeServerSideVerificationOptions() { - FlutterServerSideVerificationOptions options = - new FlutterServerSideVerificationOptions("user-id", "custom-data"); - - ByteBuffer message = codec.encodeMessage(options); - - FlutterServerSideVerificationOptions decodedOptions = - (FlutterServerSideVerificationOptions) - codec.decodeMessage((ByteBuffer) message.position(0)); - assertEquals(decodedOptions, options); - - // With userId = null. - options = new FlutterServerSideVerificationOptions(null, "custom-data"); - message = codec.encodeMessage(options); - decodedOptions = - (FlutterServerSideVerificationOptions) - codec.decodeMessage((ByteBuffer) message.position(0)); - assertEquals(decodedOptions, options); - - // With customData = null. - options = new FlutterServerSideVerificationOptions("user-Id", null); - message = codec.encodeMessage(options); - decodedOptions = - (FlutterServerSideVerificationOptions) - codec.decodeMessage((ByteBuffer) message.position(0)); - assertEquals(decodedOptions, options); - - // With userId and customData = null. - options = new FlutterServerSideVerificationOptions(null, null); - message = codec.encodeMessage(options); - decodedOptions = - (FlutterServerSideVerificationOptions) - codec.decodeMessage((ByteBuffer) message.position(0)); - assertEquals(decodedOptions, options); - } - - @Test - public void encodeAnchoredAdaptiveBannerAdSize() { - AdSize mockAdSize = mock(AdSize.class); - doReturn(mockAdSize) - .when(mockAdSizeFactory) - .getPortraitAnchoredAdaptiveBannerAdSize(any(Context.class), anyInt()); - - doReturn(mockAdSize) - .when(mockAdSizeFactory) - .getLandscapeAnchoredAdaptiveBannerAdSize(any(Context.class), anyInt()); - - doReturn(mockAdSize) - .when(mockAdSizeFactory) - .getCurrentOrientationAnchoredAdaptiveBannerAdSize(any(Context.class), anyInt()); - - final AnchoredAdaptiveBannerAdSize portraitAnchoredAdaptiveAdSize = - new AnchoredAdaptiveBannerAdSize(mock(Context.class), mockAdSizeFactory, "portrait", 23, false); - final ByteBuffer portraitData = codec.encodeMessage(portraitAnchoredAdaptiveAdSize); - - final AnchoredAdaptiveBannerAdSize portraitResult = - (AnchoredAdaptiveBannerAdSize) codec.decodeMessage((ByteBuffer) portraitData.position(0)); - assertEquals(portraitResult.size, mockAdSize); - - final AnchoredAdaptiveBannerAdSize landscapeAnchoredAdaptiveAdSize = - new AnchoredAdaptiveBannerAdSize(mock(Context.class), mockAdSizeFactory, "landscape", 34, false); - final ByteBuffer landscapeData = codec.encodeMessage(landscapeAnchoredAdaptiveAdSize); - - final AnchoredAdaptiveBannerAdSize landscapeResult = - (AnchoredAdaptiveBannerAdSize) codec.decodeMessage((ByteBuffer) landscapeData.position(0)); - assertEquals(landscapeResult.size, mockAdSize); - - final AnchoredAdaptiveBannerAdSize anchoredAdaptiveAdSize = - new AnchoredAdaptiveBannerAdSize(mock(Context.class), mockAdSizeFactory, null, 45, false); - final ByteBuffer data = codec.encodeMessage(anchoredAdaptiveAdSize); - - final AnchoredAdaptiveBannerAdSize result = - (AnchoredAdaptiveBannerAdSize) codec.decodeMessage((ByteBuffer) data.position(0)); - assertEquals(result.size, mockAdSize); - } - - @Test - public void encodeSmartBannerAdSize() { - final ByteBuffer data = codec.encodeMessage(new FlutterAdSize.SmartBannerAdSize()); - - final FlutterAdSize.SmartBannerAdSize result = - (FlutterAdSize.SmartBannerAdSize) codec.decodeMessage((ByteBuffer) data.position(0)); - assertEquals(result.size, AdSize.SMART_BANNER); - } - - @Test - public void encodeFluidAdSize() { - final ByteBuffer data = codec.encodeMessage(new FlutterAdSize.FluidAdSize()); - - final FlutterAdSize.FluidAdSize result = - (FlutterAdSize.FluidAdSize) codec.decodeMessage((ByteBuffer) data.position(0)); - assertEquals(result.size, AdSize.FLUID); - } - - @Test - public void nativeAdOptionsNull() { - final ByteBuffer data = - codec.encodeMessage(new FlutterNativeAdOptions(null, null, null, null, null, null)); - - final FlutterNativeAdOptions result = - (FlutterNativeAdOptions) codec.decodeMessage((ByteBuffer) data.position(0)); - assertNull(result.adChoicesPlacement); - assertNull(result.mediaAspectRatio); - assertNull(result.videoOptions); - assertNull(result.requestCustomMuteThisAd); - assertNull(result.shouldRequestMultipleImages); - assertNull(result.shouldReturnUrlsForImageAssets); - } - - @Test - public void nativeAdOptions() { - FlutterVideoOptions videoOptions = new FlutterVideoOptions(true, false, true); - - final ByteBuffer data = - codec.encodeMessage(new FlutterNativeAdOptions(1, 2, videoOptions, false, true, false)); - - final FlutterNativeAdOptions result = - (FlutterNativeAdOptions) codec.decodeMessage((ByteBuffer) data.position(0)); - assertEquals(result.adChoicesPlacement, (Integer) 1); - assertEquals(result.mediaAspectRatio, (Integer) 2); - assertEquals(result.videoOptions.clickToExpandRequested, true); - assertEquals(result.videoOptions.customControlsRequested, false); - assertEquals(result.videoOptions.startMuted, true); - assertFalse(result.requestCustomMuteThisAd); - assertTrue(result.shouldRequestMultipleImages); - assertFalse(result.shouldReturnUrlsForImageAssets); - } - - @Test - public void color() { - ColorDrawable colorDrawable = new ColorDrawable(Color.argb(3, 2, 3, 4)); - ByteBuffer data = codec.encodeMessage(colorDrawable); - ColorDrawable result = (ColorDrawable) codec.decodeMessage((ByteBuffer) data.position(0)); - assertEquals(result.getColor(), colorDrawable.getColor()); - assertEquals(result.getAlpha(), colorDrawable.getAlpha()); - } - - @Test - public void nativeTemplateType() { - for (FlutterNativeTemplateType type : FlutterNativeTemplateType.values()) { - ByteBuffer data = codec.encodeMessage(type); - FlutterNativeTemplateType result = - (FlutterNativeTemplateType) codec.decodeMessage((ByteBuffer) data.position(0)); - assertEquals(result, type); - } - } - - @Test - public void nativeTemplateFontStyle() { - for (FlutterNativeTemplateFontStyle style : FlutterNativeTemplateFontStyle.values()) { - ByteBuffer data = codec.encodeMessage(style); - FlutterNativeTemplateFontStyle result = - (FlutterNativeTemplateFontStyle) codec.decodeMessage((ByteBuffer) data.position(0)); - assertEquals(result, style); - } - } - - @Test - public void nativeTemplateTextStyle() { - FlutterNativeTemplateTextStyle style = - new FlutterNativeTemplateTextStyle( - new ColorDrawable(Color.RED), - new ColorDrawable(Color.BLUE), - FlutterNativeTemplateFontStyle.BOLD, - 12.); - ByteBuffer data = codec.encodeMessage(style); - FlutterNativeTemplateTextStyle result = - (FlutterNativeTemplateTextStyle) codec.decodeMessage((ByteBuffer) data.position(0)); - assertEquals(result, style); - } - - @Test - public void nativeTemplateTextStyle_nullProperties() { - FlutterNativeTemplateTextStyle style = - new FlutterNativeTemplateTextStyle(null, null, null, null); - ByteBuffer data = codec.encodeMessage(style); - FlutterNativeTemplateTextStyle result = - (FlutterNativeTemplateTextStyle) codec.decodeMessage((ByteBuffer) data.position(0)); - assertEquals(style, result); - } - - @Test - public void nativeTemplateStyle_nullProperties() { - FlutterNativeTemplateStyle style = - new FlutterNativeTemplateStyle( - FlutterNativeTemplateType.MEDIUM, null, null, null, null, null); - - ByteBuffer data = codec.encodeMessage(style); - FlutterNativeTemplateStyle result = - (FlutterNativeTemplateStyle) codec.decodeMessage((ByteBuffer) data.position(0)); - - assertEquals(result, style); - } - - @Test - public void nativeTemplateStyle_definedProperties() { - FlutterNativeTemplateTextStyle ctaStyle = - new FlutterNativeTemplateTextStyle(null, null, null, null); - FlutterNativeTemplateTextStyle primaryStyle = - new FlutterNativeTemplateTextStyle( - new ColorDrawable(Color.YELLOW), - new ColorDrawable(Color.RED), - FlutterNativeTemplateFontStyle.ITALIC, - 24.); - FlutterNativeTemplateTextStyle secondaryStyle = - new FlutterNativeTemplateTextStyle( - new ColorDrawable(Color.BLUE), new ColorDrawable(Color.GREEN), null, 24.); - FlutterNativeTemplateTextStyle tertiaryStyle = - new FlutterNativeTemplateTextStyle( - new ColorDrawable(Color.YELLOW), null, FlutterNativeTemplateFontStyle.ITALIC, null); - - FlutterNativeTemplateStyle style = - new FlutterNativeTemplateStyle( - FlutterNativeTemplateType.MEDIUM, - new ColorDrawable(Color.BLACK), - ctaStyle, - primaryStyle, - secondaryStyle, - tertiaryStyle); - - ByteBuffer data = codec.encodeMessage(style); - FlutterNativeTemplateStyle result = - (FlutterNativeTemplateStyle) codec.decodeMessage((ByteBuffer) data.position(0)); - - assertEquals(result, style); - } - - @Test - public void videoOptionsNull() { - final ByteBuffer data = codec.encodeMessage(new FlutterVideoOptions(null, null, null)); - - final FlutterVideoOptions result = - (FlutterVideoOptions) codec.decodeMessage((ByteBuffer) data.position(0)); - assertNull(result.clickToExpandRequested); - assertNull(result.customControlsRequested); - assertNull(result.startMuted); - } - - public void encodeEmptyFlutterAdRequest() { - FlutterAdRequest adRequest = new FlutterAdRequest.Builder().build(); - final ByteBuffer message = codec.encodeMessage(adRequest); - - final FlutterAdRequest decodedRequest = - (FlutterAdRequest) codec.decodeMessage((ByteBuffer) message.position(0)); - assertEquals(adRequest, decodedRequest); - } - - public void encodeEmptyFlutterAdManagerAdRequest() { - FlutterAdManagerAdRequest adRequest = new FlutterAdManagerAdRequest.Builder().build(); - final ByteBuffer message = codec.encodeMessage(adRequest); - - final FlutterAdManagerAdRequest decodedRequest = - (FlutterAdManagerAdRequest) codec.decodeMessage((ByteBuffer) message.position(0)); - assertEquals(adRequest, decodedRequest); - } - - @Test - public void encodeFlutterAdRequest() { - Map extras = Collections.singletonMap("key", "value"); - List mediationExtras = new ArrayList<>(); - DummyMediationExtras randomExtra = new DummyMediationExtras(); - Map flutterRandomExtra = new HashMap<>(); - flutterRandomExtra.put("TEST_KEY", "TEST_VALUE"); - randomExtra.extras = flutterRandomExtra; - mediationExtras.add(randomExtra); - FlutterAdRequest adRequest = - new FlutterAdRequest.Builder() - .setKeywords(Arrays.asList("1", "2", "3")) - .setContentUrl("contentUrl") - .setNonPersonalizedAds(false) - .setNeighboringContentUrls(Arrays.asList("example.com", "test.com")) - .setHttpTimeoutMillis(1000) - .setMediationNetworkExtrasIdentifier("identifier") - .setAdMobExtras(extras) - .setMediationExtras(mediationExtras) - .build(); - final ByteBuffer message = codec.encodeMessage(adRequest); - - final FlutterAdRequest decodedRequest = - (FlutterAdRequest) codec.decodeMessage((ByteBuffer) message.position(0)); - assert decodedRequest != null; - assertEquals(adRequest, decodedRequest); - assertEquals(flutterRandomExtra, decodedRequest.getMediationExtras().get(0).extras); - } - - @Test - public void encodeFlutterAdManagerAdRequest() { - List mediationExtras = new ArrayList<>(); - DummyMediationExtras randomExtra = new DummyMediationExtras(); - Map flutterRandomExtra = new HashMap<>(); - flutterRandomExtra.put("TEST_KEY", "TEST_VALUE"); - randomExtra.extras = flutterRandomExtra; - mediationExtras.add(randomExtra); - doReturn("mock-request-agent").when(mockFlutterRequestAgentProvider).getRequestAgent(); - FlutterAdManagerAdRequest.Builder builder = new FlutterAdManagerAdRequest.Builder(); - builder.setKeywords(Arrays.asList("1", "2", "3")); - builder.setContentUrl("contentUrl"); - builder.setCustomTargeting(Collections.singletonMap("apple", "banana")); - builder.setCustomTargetingLists( - Collections.singletonMap("cherry", Collections.singletonList("pie"))); - builder.setNonPersonalizedAds(true); - builder.setPublisherProvidedId("pub-provided-id"); - builder.setMediationNetworkExtrasIdentifier("identifier"); - builder.setAdMobExtras(Collections.singletonMap("key", "value")); - builder.setMediationExtras(mediationExtras); - - FlutterAdManagerAdRequest flutterAdManagerAdRequest = builder.build(); - - final ByteBuffer message = codec.encodeMessage(flutterAdManagerAdRequest); - FlutterAdManagerAdRequest decodedAdRequest = - (FlutterAdManagerAdRequest) codec.decodeMessage((ByteBuffer) message.position(0)); - assertEquals(decodedAdRequest, flutterAdManagerAdRequest); - assertEquals(decodedAdRequest.getRequestAgent(), "mock-request-agent"); - assertEquals(flutterRandomExtra, decodedAdRequest.getMediationExtras().get(0).extras); - } - - @Test - public void encodeFlutterAdSize() { - final ByteBuffer message = codec.encodeMessage(new FlutterAdSize(1, 2)); - - assertEquals(codec.decodeMessage((ByteBuffer) message.position(0)), new FlutterAdSize(1, 2)); - } - - @Test - public void encodeFlutterRewardItem() { - final ByteBuffer message = - codec.encodeMessage(new FlutterRewardedAd.FlutterRewardItem(23, "coins")); - - assertEquals( - codec.decodeMessage((ByteBuffer) message.position(0)), - new FlutterRewardedAd.FlutterRewardItem(23, "coins")); - } - - @Test - public void encodeFlutterResponseInfo() { - List adapterResponseInfos = new ArrayList<>(); - Map adUnitMapping = Collections.singletonMap("key", "value"); - adapterResponseInfos.add( - new FlutterAdapterResponseInfo( - "adapter-class", - 9999, - "description", - adUnitMapping, - null, - "adSourceName", - "adSourceId", - "adSourceInstanceName", - "adSourceInstanceId")); - FlutterAdapterResponseInfo loadedAdapterResponseInfo = - new FlutterAdapterResponseInfo( - "loaded-adapter-class", - 1234, - "description", - adUnitMapping, - null, - "adSourceName", - "adSourceId", - "adSourceInstanceName", - "adSourceInstanceId"); - Map responseExtras = Collections.singletonMap("key", "value"); - FlutterResponseInfo info = - new FlutterResponseInfo( - "responseId", - "className", - adapterResponseInfos, - loadedAdapterResponseInfo, - responseExtras); - final ByteBuffer message = - codec.encodeMessage(new FlutterBannerAd.FlutterLoadAdError(1, "domain", "message", info)); - - final FlutterAd.FlutterLoadAdError error = - (FlutterAd.FlutterLoadAdError) codec.decodeMessage((ByteBuffer) message.position(0)); - assertNotNull(error); - assertEquals(error.code, 1); - assertEquals(error.domain, "domain"); - assertEquals(error.message, "message"); - assertEquals(error.responseInfo, info); - } - - public void encodeInlineAdaptiveBanner() { - AdSize adSize = new AdSize(100, 101); - doReturn(adSize) - .when(mockAdSizeFactory) - .getCurrentOrientationInlineAdaptiveBannerAdSize(any(Context.class), eq(100)); - - InlineAdaptiveBannerAdSize size = - new InlineAdaptiveBannerAdSize(mockAdSizeFactory, mock(Context.class), 100, null, null); - final ByteBuffer data = codec.encodeMessage(size); - final InlineAdaptiveBannerAdSize result = - (InlineAdaptiveBannerAdSize) codec.decodeMessage((ByteBuffer) data.position(0)); - - assertEquals(result.width, 100); - assertNull(result.maxHeight); - assertNull(result.orientation); - } - - public void encodeRequestConfiguration() { - RequestConfiguration.Builder requestConfigurationBuilder = new RequestConfiguration.Builder(); - requestConfigurationBuilder.setMaxAdContentRating( - RequestConfiguration.MAX_AD_CONTENT_RATING_MA); - requestConfigurationBuilder.setTagForChildDirectedTreatment( - RequestConfiguration.TAG_FOR_CHILD_DIRECTED_TREATMENT_TRUE); - requestConfigurationBuilder.setTagForUnderAgeOfConsent( - RequestConfiguration.TAG_FOR_UNDER_AGE_OF_CONSENT_FALSE); - requestConfigurationBuilder.setTestDeviceIds(Arrays.asList("test-device-id")); - RequestConfiguration requestConfiguration = requestConfigurationBuilder.build(); - - final ByteBuffer data = codec.encodeMessage(requestConfiguration); - final RequestConfiguration result = - (RequestConfiguration) codec.decodeMessage((ByteBuffer) data.position(0)); - - assertEquals(result.getMaxAdContentRating(), RequestConfiguration.MAX_AD_CONTENT_RATING_MA); - assertEquals( - result.getTagForChildDirectedTreatment(), - RequestConfiguration.TAG_FOR_CHILD_DIRECTED_TREATMENT_TRUE); - assertEquals( - result.getTagForUnderAgeOfConsent(), - RequestConfiguration.TAG_FOR_UNDER_AGE_OF_CONSENT_FALSE); - assertEquals(result.getTestDeviceIds(), Arrays.asList("test-device-id")); - } -} - -class DummyMediationExtras extends FlutterMediationExtras { - @Override - public Pair, Bundle> getMediationExtras() { - return null; - } -} diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/test/java/io/flutter/plugins/googlemobileads/FluidAdManagerBannerAdTest.java b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/test/java/io/flutter/plugins/googlemobileads/FluidAdManagerBannerAdTest.java deleted file mode 100644 index de385bdc..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/test/java/io/flutter/plugins/googlemobileads/FluidAdManagerBannerAdTest.java +++ /dev/null @@ -1,202 +0,0 @@ -// Copyright 2021 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package io.flutter.plugins.googlemobileads; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertNull; -import static org.mockito.ArgumentMatchers.any; -import static org.mockito.ArgumentMatchers.anyString; -import static org.mockito.ArgumentMatchers.eq; -import static org.mockito.Mockito.doAnswer; -import static org.mockito.Mockito.doReturn; -import static org.mockito.Mockito.mock; -import static org.mockito.Mockito.spy; -import static org.mockito.Mockito.verify; -import static org.mockito.Mockito.when; - -import android.view.View.OnLayoutChangeListener; -import android.view.ViewGroup.LayoutParams; -import android.widget.ScrollView; -import com.google.android.gms.ads.AdListener; -import com.google.android.gms.ads.AdSize; -import com.google.android.gms.ads.LoadAdError; -import com.google.android.gms.ads.ResponseInfo; -import com.google.android.gms.ads.admanager.AdManagerAdRequest; -import com.google.android.gms.ads.admanager.AdManagerAdView; -import com.google.android.gms.ads.admanager.AppEventListener; -import io.flutter.plugin.common.BinaryMessenger; -import io.flutter.plugin.common.MethodChannel; -import io.flutter.plugin.platform.PlatformView; -import io.flutter.plugins.googlemobileads.FlutterAd.FlutterLoadAdError; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.ArgumentCaptor; -import org.mockito.invocation.InvocationOnMock; -import org.mockito.stubbing.Answer; -import org.robolectric.RobolectricTestRunner; - -/** Tests for {@link FluidAdManagerBannerAd}. */ -@RunWith(RobolectricTestRunner.class) -public class FluidAdManagerBannerAdTest { - - private AdInstanceManager mockManager; - private AdManagerAdRequest mockAdRequest; - private AdManagerAdView mockAdView; - // The system under test. - private FluidAdManagerBannerAd fluidAd; - - @Before - public void setup() { - // Setup mock dependencies for flutterBannerAd. - BinaryMessenger mockMessenger = mock(BinaryMessenger.class); - mockManager = spy(new AdInstanceManager(mock(MethodChannel.class))); - FlutterAdManagerAdRequest mockFlutterAdRequest = mock(FlutterAdManagerAdRequest.class); - mockAdRequest = mock(AdManagerAdRequest.class); - when(mockFlutterAdRequest.asAdManagerAdRequest(anyString())).thenReturn(mockAdRequest); - BannerAdCreator bannerAdCreator = mock(BannerAdCreator.class); - mockAdView = mock(AdManagerAdView.class); - doReturn(mockAdView).when(bannerAdCreator).createAdManagerAdView(); - fluidAd = - new FluidAdManagerBannerAd(1, mockManager, "testId", mockFlutterAdRequest, bannerAdCreator); - } - - @Test - public void failedToLoad() { - final LoadAdError loadError = mock(LoadAdError.class); - ResponseInfo responseInfo = mock(ResponseInfo.class); - doReturn("id").when(responseInfo).getResponseId(); - doReturn("className").when(responseInfo).getMediationAdapterClassName(); - doReturn(1).when(loadError).getCode(); - doReturn("2").when(loadError).getDomain(); - doReturn("3").when(loadError).getMessage(); - doReturn(null).when(loadError).getResponseInfo(); - doAnswer( - new Answer() { - @Override - public Object answer(InvocationOnMock invocation) throws Throwable { - AdListener listener = invocation.getArgument(0); - listener.onAdFailedToLoad(loadError); - return null; - } - }) - .when(mockAdView) - .setAdListener(any(AdListener.class)); - - fluidAd.load(); - - verify(mockAdView).setLayoutParams(any(LayoutParams.class)); - verify(mockAdView).loadAd(eq(mockAdRequest)); - verify(mockAdView).setAdListener(any(AdListener.class)); - verify(mockAdView).setAppEventListener(any(AppEventListener.class)); - verify(mockAdView).setAdUnitId(eq("testId")); - verify(mockAdView).setAdSizes(AdSize.FLUID); - FlutterLoadAdError expectedError = new FlutterLoadAdError(loadError); - verify(mockManager).onAdFailedToLoad(eq(1), eq(expectedError)); - } - - @Test - public void loadWithListenerCallbacks() { - doAnswer( - new Answer() { - @Override - public Object answer(InvocationOnMock invocation) throws Throwable { - AdListener listener = invocation.getArgument(0); - listener.onAdLoaded(); - listener.onAdImpression(); - listener.onAdClosed(); - listener.onAdOpened(); - listener.onAdClicked(); - return null; - } - }) - .when(mockAdView) - .setAdListener(any(AdListener.class)); - final ResponseInfo responseInfo = mock(ResponseInfo.class); - doReturn(responseInfo).when(mockAdView).getResponseInfo(); - fluidAd.load(); - - verify(mockAdView).setLayoutParams(any(LayoutParams.class)); - verify(mockAdView).loadAd(eq(mockAdRequest)); - verify(mockAdView).setAdListener(any(AdListener.class)); - verify(mockAdView).setAdUnitId(eq("testId")); - verify(mockAdView).setAdSizes(AdSize.FLUID); - verify(mockManager).onAdLoaded(eq(1), eq(responseInfo)); - verify(mockManager).onAdImpression(eq(1)); - verify(mockManager).onAdClosed(eq(1)); - verify(mockManager).onAdOpened(eq(1)); - verify(mockManager).onAdClicked(eq(1)); - - // Verify that ad is correctly put into container view. - FluidAdManagerBannerAd spy = spy(fluidAd); - ScrollView mockContainer = mock(ScrollView.class); - doReturn(mockContainer).when(spy).createContainerView(); - assertEquals(spy.getPlatformView().getView(), mockAdView); - verify(mockContainer).setClipChildren(false); - verify(mockContainer).setVerticalScrollBarEnabled(false); - verify(mockContainer).setHorizontalScrollBarEnabled(false); - - // Height changed callback. - ArgumentCaptor layoutChangeCaptor = - ArgumentCaptor.forClass(OnLayoutChangeListener.class); - verify(mockAdView).addOnLayoutChangeListener(layoutChangeCaptor.capture()); - doReturn(10).when(mockAdView).getMeasuredHeight(); - - layoutChangeCaptor.getValue().onLayoutChange(mockAdView, 0, 0, 10, 10, 0, 0, 0, 0); - verify(mockManager).onFluidAdHeightChanged(eq(1), eq(10)); - } - - @Test - public void appEventListener() { - doAnswer( - new Answer() { - @Override - public Object answer(InvocationOnMock invocation) throws Throwable { - AppEventListener listener = invocation.getArgument(0); - listener.onAppEvent("appEvent", "data"); - return null; - } - }) - .when(mockAdView) - .setAppEventListener(any(AppEventListener.class)); - - fluidAd.load(); - - verify(mockManager).onAppEvent(eq(1), eq("appEvent"), eq("data")); - } - - @Test - public void dispose() { - fluidAd.load(); - - FluidAdManagerBannerAd spy = spy(fluidAd); - ScrollView mockContainer = mock(ScrollView.class); - doReturn(mockContainer).when(spy).createContainerView(); - - assertEquals(spy.getPlatformView().getView(), mockAdView); - PlatformView platformView = spy.getPlatformView(); - assertNotNull(platformView); - - spy.dispose(); - verify(mockAdView).destroy(); - assertNull(spy.getPlatformView()); - // Check that the platform view still retains a reference to the view until - // dispose is called on it. - assertNotNull(platformView.getView()); - platformView.dispose(); - assertNull(platformView.getView()); - } -} diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/test/java/io/flutter/plugins/googlemobileads/FlutterAdManagerAdRequestTest.java b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/test/java/io/flutter/plugins/googlemobileads/FlutterAdManagerAdRequestTest.java deleted file mode 100644 index 72ced72d..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/test/java/io/flutter/plugins/googlemobileads/FlutterAdManagerAdRequestTest.java +++ /dev/null @@ -1,111 +0,0 @@ -// Copyright 2021 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package io.flutter.plugins.googlemobileads; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertNull; -import static org.junit.Assert.assertTrue; -import static org.mockito.ArgumentMatchers.eq; -import static org.mockito.Mockito.doReturn; -import static org.mockito.Mockito.mock; - -import android.os.Bundle; -import com.google.ads.mediation.admob.AdMobAdapter; -import com.google.android.gms.ads.admanager.AdManagerAdRequest; -import io.flutter.plugins.googlemobileads.FlutterAdManagerAdRequest.Builder; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.robolectric.RobolectricTestRunner; - -/** Tests for {@link FlutterAdManagerAdRequest}. */ -@RunWith(RobolectricTestRunner.class) -public class FlutterAdManagerAdRequestTest { - - @Test - public void testAsAdRequest_noParams() { - FlutterAdManagerAdRequest flutterAdRequest = new Builder().build(); - AdManagerAdRequest adRequest = flutterAdRequest.asAdManagerAdRequest("test-ad-unit"); - assertNull(adRequest.getContentUrl()); - assertTrue(adRequest.getNeighboringContentUrls().isEmpty()); - assertTrue(adRequest.getKeywords().isEmpty()); - assertTrue(adRequest.getCustomTargeting().isEmpty()); - assertNull(adRequest.getPublisherProvidedId()); - assertNull(adRequest.getNetworkExtrasBundle(AdMobAdapter.class)); - } - - @Test - public void testAsAdRequest_allParams() { - MediationNetworkExtrasProvider provider = mock(MediationNetworkExtrasProvider.class); - Bundle bundle = new Bundle(); - bundle.putString("npa", "0"); - doReturn(Collections.singletonMap(AdMobAdapter.class, bundle)) - .when(provider) - .getMediationExtras(eq("test-ad-unit"), eq("identifier")); - - Builder builder = new Builder(); - builder.setKeywords(Collections.singletonList("keyword")); - builder.setContentUrl("content-url"); - builder.setNeighboringContentUrls(Collections.singletonList("neighbor")); - builder.setHttpTimeoutMillis(100); - builder.setNonPersonalizedAds(true); - builder.setMediationNetworkExtrasIdentifier("identifier"); - builder.setMediationNetworkExtrasProvider(provider); - builder.setCustomTargeting(Collections.singletonMap("targetingKey", "targetingValue")); - List targetingList = new ArrayList<>(); - targetingList.add("targetingValue1"); - targetingList.add("targetingValue2"); - - builder.setCustomTargetingLists(Collections.singletonMap("targetingKey", targetingList)); - builder.setPublisherProvidedId("pubProvidedId"); - builder.build(); - - AdManagerAdRequest adRequest = builder.build().asAdManagerAdRequest("test-ad-unit"); - - assertEquals(adRequest.getKeywords(), Collections.singleton("keyword")); - assertEquals(adRequest.getContentUrl(), "content-url"); - assertEquals(adRequest.getNeighboringContentUrls(), Collections.singletonList("neighbor")); - // Previous value of "npa" should get overridden. - assertEquals(adRequest.getNetworkExtrasBundle(AdMobAdapter.class).get("npa"), "1"); - assertEquals(adRequest.getPublisherProvidedId(), "pubProvidedId"); - assertFalse(adRequest.getCustomTargeting().isEmpty()); - // If custom targeting keys match, the values are overwritten. - assertEquals( - adRequest.getCustomTargeting().get("targetingKey"), "targetingValue1,targetingValue2"); - } - - @Test - public void testAsAdRequestMediationNetworkExtras() { - MediationNetworkExtrasProvider provider = mock(MediationNetworkExtrasProvider.class); - Bundle bundle = new Bundle(); - bundle.putString("key", "value"); - doReturn(Collections.singletonMap(AdMobAdapter.class, bundle)) - .when(provider) - .getMediationExtras(eq("test-ad-unit"), eq("identifier")); - - Builder builder = new Builder(); - builder - .setMediationNetworkExtrasIdentifier("identifier") - .setMediationNetworkExtrasProvider(provider) - .setNonPersonalizedAds(true); - - AdManagerAdRequest adRequest = builder.build().asAdManagerAdRequest("test-ad-unit"); - assertEquals(adRequest.getNetworkExtrasBundle(AdMobAdapter.class).get("key"), "value"); - assertEquals(adRequest.getNetworkExtrasBundle(AdMobAdapter.class).get("npa"), "1"); - } -} diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/test/java/io/flutter/plugins/googlemobileads/FlutterAdManagerBannerAdTest.java b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/test/java/io/flutter/plugins/googlemobileads/FlutterAdManagerBannerAdTest.java deleted file mode 100644 index afd4fb9c..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/test/java/io/flutter/plugins/googlemobileads/FlutterAdManagerBannerAdTest.java +++ /dev/null @@ -1,184 +0,0 @@ -// Copyright 2021 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package io.flutter.plugins.googlemobileads; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertNull; -import static org.mockito.ArgumentMatchers.any; -import static org.mockito.ArgumentMatchers.anyString; -import static org.mockito.ArgumentMatchers.eq; -import static org.mockito.Mockito.doAnswer; -import static org.mockito.Mockito.doReturn; -import static org.mockito.Mockito.mock; -import static org.mockito.Mockito.spy; -import static org.mockito.Mockito.verify; -import static org.mockito.Mockito.when; - -import android.app.Activity; -import com.google.android.gms.ads.AdListener; -import com.google.android.gms.ads.AdSize; -import com.google.android.gms.ads.LoadAdError; -import com.google.android.gms.ads.ResponseInfo; -import com.google.android.gms.ads.admanager.AdManagerAdRequest; -import com.google.android.gms.ads.admanager.AdManagerAdView; -import com.google.android.gms.ads.admanager.AppEventListener; -import io.flutter.plugin.common.MethodChannel; -import io.flutter.plugin.platform.PlatformView; -import io.flutter.plugins.googlemobileads.FlutterAd.FlutterLoadAdError; -import java.util.ArrayList; -import java.util.List; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.invocation.InvocationOnMock; -import org.mockito.stubbing.Answer; -import org.robolectric.RobolectricTestRunner; - -/** Tests for {@link FlutterAdManagerBannerAd}. */ -@RunWith(RobolectricTestRunner.class) -public class FlutterAdManagerBannerAdTest { - - private AdInstanceManager mockManager; - private AdManagerAdRequest mockAdRequest; - private AdSize adSize; - private AdManagerAdView mockAdView; - - // The system under test. - private FlutterAdManagerBannerAd flutterBannerAd; - - @Before - public void setup() { - // Setup mock dependencies for flutterBannerAd. - mockManager = spy(new AdInstanceManager(mock(MethodChannel.class))); - doReturn(mock(Activity.class)).when(mockManager).getActivity(); - FlutterAdManagerAdRequest mockFlutterAdRequest = mock(FlutterAdManagerAdRequest.class); - mockAdRequest = mock(AdManagerAdRequest.class); - FlutterAdSize mockFlutterAdSize = mock(FlutterAdSize.class); - adSize = new AdSize(1, 2); - when(mockFlutterAdRequest.asAdManagerAdRequest(anyString())).thenReturn(mockAdRequest); - when(mockFlutterAdSize.getAdSize()).thenReturn(adSize); - List sizes = new ArrayList<>(); - sizes.add(mockFlutterAdSize); - BannerAdCreator bannerAdCreator = mock(BannerAdCreator.class); - mockAdView = mock(AdManagerAdView.class); - doReturn(mockAdView).when(bannerAdCreator).createAdManagerAdView(); - flutterBannerAd = - new FlutterAdManagerBannerAd( - 1, mockManager, "testId", sizes, mockFlutterAdRequest, bannerAdCreator); - } - - @Test - public void failedToLoad() { - final LoadAdError loadError = mock(LoadAdError.class); - ResponseInfo responseInfo = mock(ResponseInfo.class); - doReturn("id").when(responseInfo).getResponseId(); - doReturn("className").when(responseInfo).getMediationAdapterClassName(); - doReturn(1).when(loadError).getCode(); - doReturn("2").when(loadError).getDomain(); - doReturn("3").when(loadError).getMessage(); - doReturn(null).when(loadError).getResponseInfo(); - doAnswer( - new Answer() { - @Override - public Object answer(InvocationOnMock invocation) throws Throwable { - AdListener listener = invocation.getArgument(0); - listener.onAdFailedToLoad(loadError); - return null; - } - }) - .when(mockAdView) - .setAdListener(any(AdListener.class)); - - flutterBannerAd.load(); - verify(mockAdView).loadAd(eq(mockAdRequest)); - verify(mockAdView).setAdListener(any(AdListener.class)); - verify(mockAdView).setAppEventListener(any(AppEventListener.class)); - verify(mockAdView).setAdUnitId(eq("testId")); - verify(mockAdView).setAdSizes(adSize); - FlutterLoadAdError expectedError = new FlutterLoadAdError(loadError); - verify(mockManager).onAdFailedToLoad(eq(1), eq(expectedError)); - } - - @Test - public void loadWithListenerCallbacks() { - doAnswer( - new Answer() { - @Override - public Object answer(InvocationOnMock invocation) throws Throwable { - AdListener listener = invocation.getArgument(0); - listener.onAdLoaded(); - listener.onAdImpression(); - listener.onAdClosed(); - listener.onAdOpened(); - listener.onAdClicked(); - return null; - } - }) - .when(mockAdView) - .setAdListener(any(AdListener.class)); - final ResponseInfo responseInfo = mock(ResponseInfo.class); - doReturn(responseInfo).when(mockAdView).getResponseInfo(); - flutterBannerAd.load(); - - verify(mockAdView).loadAd(eq(mockAdRequest)); - verify(mockAdView).setAdListener(any(AdListener.class)); - verify(mockAdView).setAdUnitId(eq("testId")); - verify(mockAdView).setAdSizes(adSize); - verify(mockManager).onAdLoaded(eq(1), eq(responseInfo)); - verify(mockManager).onAdImpression(eq(1)); - verify(mockManager).onAdClosed(eq(1)); - verify(mockManager).onAdOpened(eq(1)); - verify(mockManager).onAdClicked(eq(1)); - assertEquals(flutterBannerAd.getPlatformView().getView(), mockAdView); - } - - @Test - public void appEventListener() { - doAnswer( - new Answer() { - @Override - public Object answer(InvocationOnMock invocation) throws Throwable { - AppEventListener listener = invocation.getArgument(0); - listener.onAppEvent("appEvent", "data"); - return null; - } - }) - .when(mockAdView) - .setAppEventListener(any(AppEventListener.class)); - - flutterBannerAd.load(); - - verify(mockManager).onAppEvent(eq(1), eq("appEvent"), eq("data")); - } - - @Test - public void dispose() { - flutterBannerAd.load(); - - assertEquals(flutterBannerAd.getPlatformView().getView(), mockAdView); - PlatformView platformView = flutterBannerAd.getPlatformView(); - assertNotNull(platformView); - - flutterBannerAd.dispose(); - verify(mockAdView).destroy(); - assertNull(flutterBannerAd.getPlatformView()); - // Check that the platform view still retains a reference to the view until - // dispose is called on it. - assertNotNull(platformView.getView()); - platformView.dispose(); - assertNull(platformView.getView()); - } -} diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/test/java/io/flutter/plugins/googlemobileads/FlutterAdManagerInterstitialAdTest.java b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/test/java/io/flutter/plugins/googlemobileads/FlutterAdManagerInterstitialAdTest.java deleted file mode 100644 index e6b4cb03..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/test/java/io/flutter/plugins/googlemobileads/FlutterAdManagerInterstitialAdTest.java +++ /dev/null @@ -1,284 +0,0 @@ -// Copyright 2021 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package io.flutter.plugins.googlemobileads; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNull; -import static org.mockito.ArgumentCaptor.forClass; -import static org.mockito.ArgumentMatchers.any; -import static org.mockito.ArgumentMatchers.anyString; -import static org.mockito.ArgumentMatchers.eq; -import static org.mockito.Mockito.doAnswer; -import static org.mockito.Mockito.doReturn; -import static org.mockito.Mockito.mock; -import static org.mockito.Mockito.spy; -import static org.mockito.Mockito.verify; -import static org.mockito.Mockito.when; - -import android.app.Activity; -import com.google.android.gms.ads.AdError; -import com.google.android.gms.ads.AdValue; -import com.google.android.gms.ads.FullScreenContentCallback; -import com.google.android.gms.ads.LoadAdError; -import com.google.android.gms.ads.ResponseInfo; -import com.google.android.gms.ads.admanager.AdManagerAdRequest; -import com.google.android.gms.ads.admanager.AdManagerInterstitialAd; -import com.google.android.gms.ads.admanager.AdManagerInterstitialAdLoadCallback; -import com.google.android.gms.ads.admanager.AppEventListener; -import io.flutter.plugin.common.MethodChannel; -import io.flutter.plugins.googlemobileads.FlutterAd.FlutterLoadAdError; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.ArgumentCaptor; -import org.mockito.invocation.InvocationOnMock; -import org.mockito.stubbing.Answer; -import org.robolectric.RobolectricTestRunner; - -/** Tests for {@link FlutterAdManagerInterstitialAd}. */ -@RunWith(RobolectricTestRunner.class) -public class FlutterAdManagerInterstitialAdTest { - - private AdInstanceManager mockManager; - private FlutterAdLoader mockFlutterAdLoader; - private AdManagerAdRequest mockRequest; - // The system under test. - private FlutterAdManagerInterstitialAd flutterAdManagerInterstitialAd; - - @Before - public void setup() { - mockManager = spy(new AdInstanceManager(mock(MethodChannel.class))); - doReturn(mock(Activity.class)).when(mockManager).getActivity(); - final FlutterAdManagerAdRequest mockFlutterRequest = mock(FlutterAdManagerAdRequest.class); - mockRequest = mock(AdManagerAdRequest.class); - mockFlutterAdLoader = mock(FlutterAdLoader.class); - when(mockFlutterRequest.asAdManagerAdRequest(anyString())).thenReturn(mockRequest); - flutterAdManagerInterstitialAd = - new FlutterAdManagerInterstitialAd( - 1, mockManager, "testId", mockFlutterRequest, mockFlutterAdLoader); - } - - @Test - public void loadAdManagerInterstitialAd_failedToLoad() { - final LoadAdError loadAdError = mock(LoadAdError.class); - doReturn(1).when(loadAdError).getCode(); - doReturn("2").when(loadAdError).getDomain(); - doReturn("3").when(loadAdError).getMessage(); - doReturn(null).when(loadAdError).getResponseInfo(); - doAnswer( - new Answer() { - @Override - public Object answer(InvocationOnMock invocation) throws Throwable { - AdManagerInterstitialAdLoadCallback adLoadCallback = invocation.getArgument(2); - // Pass back null for ad - adLoadCallback.onAdFailedToLoad(loadAdError); - return null; - } - }) - .when(mockFlutterAdLoader) - .loadAdManagerInterstitial( - anyString(), - any(AdManagerAdRequest.class), - any(AdManagerInterstitialAdLoadCallback.class)); - - flutterAdManagerInterstitialAd.load(); - - verify(mockFlutterAdLoader) - .loadAdManagerInterstitial( - eq("testId"), eq(mockRequest), any(AdManagerInterstitialAdLoadCallback.class)); - - FlutterLoadAdError flutterLoadAdError = new FlutterLoadAdError(loadAdError); - verify(mockManager).onAdFailedToLoad(eq(1), eq(flutterLoadAdError)); - } - - @Test - public void loadAdManagerInterstitialAd_showSuccess() { - final AdManagerInterstitialAd mockAdManagerAd = mock(AdManagerInterstitialAd.class); - doAnswer( - new Answer() { - @Override - public Object answer(InvocationOnMock invocation) throws Throwable { - AdManagerInterstitialAdLoadCallback adLoadCallback = invocation.getArgument(2); - // Pass back null for ad - adLoadCallback.onAdLoaded(mockAdManagerAd); - return null; - } - }) - .when(mockFlutterAdLoader) - .loadAdManagerInterstitial( - anyString(), - any(AdManagerAdRequest.class), - any(AdManagerInterstitialAdLoadCallback.class)); - - final ResponseInfo responseInfo = mock(ResponseInfo.class); - doReturn(responseInfo).when(mockAdManagerAd).getResponseInfo(); - - final AdValue adValue = mock(AdValue.class); - doReturn(1).when(adValue).getPrecisionType(); - doReturn("Dollars").when(adValue).getCurrencyCode(); - doReturn(1000L).when(adValue).getValueMicros(); - doAnswer( - new Answer() { - @Override - public Object answer(InvocationOnMock invocation) { - FlutterPaidEventListener listener = invocation.getArgument(0); - listener.onPaidEvent(adValue); - return null; - } - }) - .when(mockAdManagerAd) - .setOnPaidEventListener(any(FlutterPaidEventListener.class)); - - flutterAdManagerInterstitialAd.load(); - - verify(mockFlutterAdLoader) - .loadAdManagerInterstitial( - eq("testId"), eq(mockRequest), any(AdManagerInterstitialAdLoadCallback.class)); - - verify(mockManager).onAdLoaded(1, responseInfo); - verify(mockAdManagerAd).setOnPaidEventListener(any(FlutterPaidEventListener.class)); - final ArgumentCaptor adValueCaptor = forClass(FlutterAdValue.class); - verify(mockManager).onPaidEvent(eq(flutterAdManagerInterstitialAd), adValueCaptor.capture()); - assertEquals(adValueCaptor.getValue().currencyCode, "Dollars"); - assertEquals(adValueCaptor.getValue().precisionType, 1); - assertEquals(adValueCaptor.getValue().valueMicros, 1000L); - - // Setup mocks for show(). - doAnswer( - new Answer() { - @Override - public Object answer(InvocationOnMock invocation) throws Throwable { - FullScreenContentCallback callback = invocation.getArgument(0); - callback.onAdShowedFullScreenContent(); - callback.onAdImpression(); - callback.onAdDismissedFullScreenContent(); - callback.onAdClicked(); - return null; - } - }) - .when(mockAdManagerAd) - .setFullScreenContentCallback(any(FullScreenContentCallback.class)); - - flutterAdManagerInterstitialAd.show(); - verify(mockAdManagerAd).setFullScreenContentCallback(any(FullScreenContentCallback.class)); - verify(mockAdManagerAd).show(mockManager.getActivity()); - verify(mockAdManagerAd).setAppEventListener(any(AppEventListener.class)); - verify(mockManager).onAdShowedFullScreenContent(eq(1)); - verify(mockManager).onAdImpression(eq(1)); - verify(mockManager).onAdClicked(eq(1)); - verify(mockManager).onAdDismissedFullScreenContent(eq(1)); - assertNull(flutterAdManagerInterstitialAd.getPlatformView()); - } - - @Test - public void loadAdManagerInterstitialAd_setImmersiveMode() { - final AdManagerInterstitialAd mockAdManagerAd = mock(AdManagerInterstitialAd.class); - doAnswer( - new Answer() { - @Override - public Object answer(InvocationOnMock invocation) throws Throwable { - AdManagerInterstitialAdLoadCallback adLoadCallback = invocation.getArgument(2); - adLoadCallback.onAdLoaded(mockAdManagerAd); - // Pass back null for ad - return null; - } - }) - .when(mockFlutterAdLoader) - .loadAdManagerInterstitial( - anyString(), - any(AdManagerAdRequest.class), - any(AdManagerInterstitialAdLoadCallback.class)); - - flutterAdManagerInterstitialAd.load(); - flutterAdManagerInterstitialAd.setImmersiveMode(true); - verify(mockAdManagerAd).setImmersiveMode(true); - } - - @Test - public void loadAdManagerInterstitialAd_showFailure() { - final AdManagerInterstitialAd mockAdManagerAd = mock(AdManagerInterstitialAd.class); - doAnswer( - new Answer() { - @Override - public Object answer(InvocationOnMock invocation) throws Throwable { - AdManagerInterstitialAdLoadCallback adLoadCallback = invocation.getArgument(2); - // Pass back null for ad - adLoadCallback.onAdLoaded(mockAdManagerAd); - return null; - } - }) - .when(mockFlutterAdLoader) - .loadAdManagerInterstitial( - anyString(), - any(AdManagerAdRequest.class), - any(AdManagerInterstitialAdLoadCallback.class)); - doReturn(mock(ResponseInfo.class)).when(mockAdManagerAd).getResponseInfo(); - flutterAdManagerInterstitialAd.load(); - final AdError adError = new AdError(-1, "test", "error"); - doAnswer( - new Answer() { - @Override - public Object answer(InvocationOnMock invocation) throws Throwable { - FullScreenContentCallback callback = invocation.getArgument(0); - callback.onAdFailedToShowFullScreenContent(adError); - return null; - } - }) - .when(mockAdManagerAd) - .setFullScreenContentCallback(any(FullScreenContentCallback.class)); - - flutterAdManagerInterstitialAd.show(); - verify(mockManager).onFailedToShowFullScreenContent(eq(1), eq(adError)); - } - - @Test - public void loadAdManagerInterstitialAd_appEvent() { - final AdManagerInterstitialAd mockAdManagerAd = mock(AdManagerInterstitialAd.class); - doAnswer( - new Answer() { - @Override - public Object answer(InvocationOnMock invocation) throws Throwable { - AdManagerInterstitialAdLoadCallback adLoadCallback = invocation.getArgument(2); - // Pass back null for ad - adLoadCallback.onAdLoaded(mockAdManagerAd); - return null; - } - }) - .when(mockFlutterAdLoader) - .loadAdManagerInterstitial( - anyString(), - any(AdManagerAdRequest.class), - any(AdManagerInterstitialAdLoadCallback.class)); - - doReturn(mock(ResponseInfo.class)).when(mockAdManagerAd).getResponseInfo(); - - doAnswer( - new Answer() { - @Override - public Object answer(InvocationOnMock invocation) throws Throwable { - AppEventListener listener = invocation.getArgument(0); - listener.onAppEvent("test", "data"); - return null; - } - }) - .when(mockAdManagerAd) - .setAppEventListener(any(AppEventListener.class)); - - flutterAdManagerInterstitialAd.load(); - - verify(mockAdManagerAd).setAppEventListener(any(AppEventListener.class)); - verify(mockManager).onAppEvent(eq(1), eq("test"), eq("data")); - } -} diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/test/java/io/flutter/plugins/googlemobileads/FlutterAdRequestTest.java b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/test/java/io/flutter/plugins/googlemobileads/FlutterAdRequestTest.java deleted file mode 100644 index b826b0a3..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/test/java/io/flutter/plugins/googlemobileads/FlutterAdRequestTest.java +++ /dev/null @@ -1,96 +0,0 @@ -// Copyright 2021 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package io.flutter.plugins.googlemobileads; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNull; -import static org.junit.Assert.assertTrue; -import static org.mockito.ArgumentMatchers.eq; -import static org.mockito.Mockito.doReturn; -import static org.mockito.Mockito.mock; - -import android.os.Bundle; -import com.google.ads.mediation.admob.AdMobAdapter; -import com.google.android.gms.ads.AdRequest; -import io.flutter.plugins.googlemobileads.FlutterAdRequest.Builder; -import java.util.Collections; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.robolectric.RobolectricTestRunner; - -/** Tests for {@link FlutterAdRequest}. */ -@RunWith(RobolectricTestRunner.class) -public class FlutterAdRequestTest { - - @Test - public void testAsAdRequest_noParams() { - FlutterAdRequest flutterAdRequest = new Builder().build(); - AdRequest adRequest = flutterAdRequest.asAdRequest("test-ad-unit"); - assertNull(adRequest.getContentUrl()); - assertTrue(adRequest.getNeighboringContentUrls().isEmpty()); - assertTrue(adRequest.getKeywords().isEmpty()); - assertNull(adRequest.getNetworkExtrasBundle(AdMobAdapter.class)); - } - - @Test - public void testAsAdRequest_allParams() { - MediationNetworkExtrasProvider provider = mock(MediationNetworkExtrasProvider.class); - Bundle bundle = new Bundle(); - bundle.putString("npa", "0"); - doReturn(Collections.singletonMap(AdMobAdapter.class, bundle)) - .when(provider) - .getMediationExtras(eq("test-ad-unit"), eq("identifier")); - - FlutterAdRequest flutterAdRequest = - new Builder() - .setKeywords(Collections.singletonList("keyword")) - .setContentUrl("content-url") - .setNeighboringContentUrls(Collections.singletonList("neighbor")) - .setHttpTimeoutMillis(100) - .setNonPersonalizedAds(true) - .setMediationNetworkExtrasIdentifier("identifier") - .setMediationNetworkExtrasProvider(provider) - .build(); - - AdRequest adRequest = flutterAdRequest.asAdRequest("test-ad-unit"); - - assertEquals(adRequest.getKeywords(), Collections.singleton("keyword")); - assertEquals(adRequest.getContentUrl(), "content-url"); - assertEquals(adRequest.getNeighboringContentUrls(), Collections.singletonList("neighbor")); - // Previous value of "npa" should get overridden. - assertEquals(adRequest.getNetworkExtrasBundle(AdMobAdapter.class).get("npa"), "1"); - } - - @Test - public void testAsAdRequestMediationNetworkExtras() { - MediationNetworkExtrasProvider provider = mock(MediationNetworkExtrasProvider.class); - Bundle bundle = new Bundle(); - bundle.putString("key", "value"); - doReturn(Collections.singletonMap(AdMobAdapter.class, bundle)) - .when(provider) - .getMediationExtras(eq("test-ad-unit"), eq("identifier")); - - FlutterAdRequest flutterAdRequest = - new Builder() - .setMediationNetworkExtrasIdentifier("identifier") - .setMediationNetworkExtrasProvider(provider) - .setNonPersonalizedAds(true) - .build(); - - AdRequest adRequest = flutterAdRequest.asAdRequest("test-ad-unit"); - assertEquals(adRequest.getNetworkExtrasBundle(AdMobAdapter.class).get("key"), "value"); - assertEquals(adRequest.getNetworkExtrasBundle(AdMobAdapter.class).get("npa"), "1"); - } -} diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/test/java/io/flutter/plugins/googlemobileads/FlutterAppOpenAdTest.java b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/test/java/io/flutter/plugins/googlemobileads/FlutterAppOpenAdTest.java deleted file mode 100644 index 6f924dde..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/test/java/io/flutter/plugins/googlemobileads/FlutterAppOpenAdTest.java +++ /dev/null @@ -1,458 +0,0 @@ -// Copyright 2021 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package io.flutter.plugins.googlemobileads; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNull; -import static org.mockito.ArgumentCaptor.forClass; -import static org.mockito.ArgumentMatchers.any; -import static org.mockito.ArgumentMatchers.anyString; -import static org.mockito.ArgumentMatchers.eq; -import static org.mockito.Mockito.doAnswer; -import static org.mockito.Mockito.doReturn; -import static org.mockito.Mockito.mock; -import static org.mockito.Mockito.spy; -import static org.mockito.Mockito.verify; -import static org.mockito.Mockito.when; - -import android.app.Activity; -import com.google.android.gms.ads.AdError; -import com.google.android.gms.ads.AdRequest; -import com.google.android.gms.ads.AdValue; -import com.google.android.gms.ads.FullScreenContentCallback; -import com.google.android.gms.ads.LoadAdError; -import com.google.android.gms.ads.ResponseInfo; -import com.google.android.gms.ads.admanager.AdManagerAdRequest; -import com.google.android.gms.ads.appopen.AppOpenAd; -import com.google.android.gms.ads.appopen.AppOpenAd.AppOpenAdLoadCallback; -import io.flutter.plugin.common.MethodChannel; -import io.flutter.plugins.googlemobileads.FlutterAd.FlutterLoadAdError; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.ArgumentCaptor; -import org.mockito.invocation.InvocationOnMock; -import org.mockito.stubbing.Answer; -import org.robolectric.RobolectricTestRunner; - -/** Tests for {@link FlutterAppOpenAd}. */ -@RunWith(RobolectricTestRunner.class) -public class FlutterAppOpenAdTest { - - private FlutterAdLoader mockFlutterAdLoader; - private AdInstanceManager mockManager; - private AdManagerAdRequest mockAdManagerAdRequest; - private AdRequest mockAdRequest; - private AppOpenAd mockAd; - - // The system under test. - private FlutterAppOpenAd flutterAppOpenAd; - - @Before - public void setup() { - mockManager = spy(new AdInstanceManager(mock(MethodChannel.class))); - doReturn(mock(Activity.class)).when(mockManager).getActivity(); - mockFlutterAdLoader = mock(FlutterAdLoader.class); - mockAd = mock(AppOpenAd.class); - } - - private void setupAdmobMocks() { - FlutterAdRequest mockFlutterAdRequest = mock(FlutterAdRequest.class); - mockAdRequest = mock(AdRequest.class); - when(mockFlutterAdRequest.asAdRequest(anyString())).thenReturn(mockAdRequest); - flutterAppOpenAd = - new FlutterAppOpenAd( - 1, mockManager, "testId", mockFlutterAdRequest, null, mockFlutterAdLoader); - } - - private void setupAdManagerMocks() { - FlutterAdManagerAdRequest mockAdManagerFlutterRequest = mock(FlutterAdManagerAdRequest.class); - mockAdManagerAdRequest = mock(AdManagerAdRequest.class); - when(mockAdManagerFlutterRequest.asAdManagerAdRequest(anyString())) - .thenReturn(mockAdManagerAdRequest); - flutterAppOpenAd = - new FlutterAppOpenAd( - 1, mockManager, "testId", null, mockAdManagerFlutterRequest, mockFlutterAdLoader); - } - - @Test - public void loadAdManager_failedToLoad() { - setupAdManagerMocks(); - final LoadAdError loadAdError = mock(LoadAdError.class); - doReturn(1).when(loadAdError).getCode(); - doReturn("2").when(loadAdError).getDomain(); - doReturn("3").when(loadAdError).getMessage(); - doReturn(null).when(loadAdError).getResponseInfo(); - doAnswer( - new Answer() { - @Override - public Object answer(InvocationOnMock invocation) throws Throwable { - AppOpenAdLoadCallback adLoadCallback = invocation.getArgument(2); - // Pass back null for ad - adLoadCallback.onAdFailedToLoad(loadAdError); - return null; - } - }) - .when(mockFlutterAdLoader) - .loadAdManagerAppOpen( - anyString(), any(AdManagerAdRequest.class), any(AppOpenAdLoadCallback.class)); - - flutterAppOpenAd.load(); - - verify(mockFlutterAdLoader) - .loadAdManagerAppOpen( - eq("testId"), eq(mockAdManagerAdRequest), any(AppOpenAdLoadCallback.class)); - - FlutterLoadAdError expectedError = new FlutterLoadAdError(loadAdError); - verify(mockManager).onAdFailedToLoad(eq(1), eq(expectedError)); - } - - @Test - public void loadAdmob_failedToLoad() { - setupAdmobMocks(); - final LoadAdError loadAdError = mock(LoadAdError.class); - doReturn(1).when(loadAdError).getCode(); - doReturn("2").when(loadAdError).getDomain(); - doReturn("3").when(loadAdError).getMessage(); - doReturn(null).when(loadAdError).getResponseInfo(); - doAnswer( - new Answer() { - @Override - public Object answer(InvocationOnMock invocation) throws Throwable { - AppOpenAdLoadCallback adLoadCallback = invocation.getArgument(2); - // Pass back null for ad - adLoadCallback.onAdFailedToLoad(loadAdError); - return null; - } - }) - .when(mockFlutterAdLoader) - .loadAppOpen(anyString(), any(AdRequest.class), any(AppOpenAdLoadCallback.class)); - - flutterAppOpenAd.load(); - - verify(mockFlutterAdLoader) - .loadAppOpen(eq("testId"), eq(mockAdRequest), any(AppOpenAdLoadCallback.class)); - - FlutterLoadAdError expectedError = new FlutterLoadAdError(loadAdError); - verify(mockManager).onAdFailedToLoad(eq(1), eq(expectedError)); - } - - @Test - public void loadAdManager_success() { - // Setup mocks for loading. - setupAdManagerMocks(); - - final AppOpenAd mockAd = mock(AppOpenAd.class); - doAnswer( - new Answer() { - @Override - public Object answer(InvocationOnMock invocation) throws Throwable { - AppOpenAdLoadCallback adLoadCallback = invocation.getArgument(2); - // Pass back null for ad - adLoadCallback.onAdLoaded(mockAd); - return null; - } - }) - .when(mockFlutterAdLoader) - .loadAdManagerAppOpen( - anyString(), any(AdManagerAdRequest.class), any(AppOpenAdLoadCallback.class)); - final ResponseInfo responseInfo = mock(ResponseInfo.class); - doReturn(responseInfo).when(mockAd).getResponseInfo(); - - final AdValue adValue = mock(AdValue.class); - doReturn(1).when(adValue).getPrecisionType(); - doReturn("Dollars").when(adValue).getCurrencyCode(); - doReturn(1000L).when(adValue).getValueMicros(); - doAnswer( - new Answer() { - @Override - public Object answer(InvocationOnMock invocation) { - FlutterPaidEventListener listener = invocation.getArgument(0); - listener.onPaidEvent(adValue); - return null; - } - }) - .when(mockAd) - .setOnPaidEventListener(any(FlutterPaidEventListener.class)); - - // Load an ad and verify correct ad loader method is called. - flutterAppOpenAd.load(); - - verify(mockFlutterAdLoader) - .loadAdManagerAppOpen( - eq("testId"), eq(mockAdManagerAdRequest), any(AppOpenAdLoadCallback.class)); - - verify(mockManager).onAdLoaded(eq(1), eq(responseInfo)); - verify(mockAd).setOnPaidEventListener(any(FlutterPaidEventListener.class)); - final ArgumentCaptor adValueCaptor = forClass(FlutterAdValue.class); - verify(mockManager).onPaidEvent(eq(flutterAppOpenAd), adValueCaptor.capture()); - assertEquals(adValueCaptor.getValue().currencyCode, "Dollars"); - assertEquals(adValueCaptor.getValue().precisionType, 1); - assertEquals(adValueCaptor.getValue().valueMicros, 1000L); - } - - @Test - public void loadAdmob_success() { - // Setup mocks for loading. - setupAdmobMocks(); - - final AppOpenAd mockAd = mock(AppOpenAd.class); - doAnswer( - new Answer() { - @Override - public Object answer(InvocationOnMock invocation) throws Throwable { - AppOpenAdLoadCallback adLoadCallback = invocation.getArgument(2); - // Pass back null for ad - adLoadCallback.onAdLoaded(mockAd); - return null; - } - }) - .when(mockFlutterAdLoader) - .loadAppOpen(anyString(), any(AdRequest.class), any(AppOpenAdLoadCallback.class)); - final ResponseInfo responseInfo = mock(ResponseInfo.class); - doReturn(responseInfo).when(mockAd).getResponseInfo(); - - final AdValue adValue = mock(AdValue.class); - doReturn(1).when(adValue).getPrecisionType(); - doReturn("Dollars").when(adValue).getCurrencyCode(); - doReturn(1000L).when(adValue).getValueMicros(); - doAnswer( - new Answer() { - @Override - public Object answer(InvocationOnMock invocation) { - FlutterPaidEventListener listener = invocation.getArgument(0); - listener.onPaidEvent(adValue); - return null; - } - }) - .when(mockAd) - .setOnPaidEventListener(any(FlutterPaidEventListener.class)); - - // Load an ad and verify correct ad loader method is called. - flutterAppOpenAd.load(); - - verify(mockFlutterAdLoader) - .loadAppOpen(eq("testId"), eq(mockAdRequest), any(AppOpenAdLoadCallback.class)); - - verify(mockManager).onAdLoaded(eq(1), eq(responseInfo)); - verify(mockAd).setOnPaidEventListener(any(FlutterPaidEventListener.class)); - final ArgumentCaptor adValueCaptor = forClass(FlutterAdValue.class); - verify(mockManager).onPaidEvent(eq(flutterAppOpenAd), adValueCaptor.capture()); - assertEquals(adValueCaptor.getValue().currencyCode, "Dollars"); - assertEquals(adValueCaptor.getValue().precisionType, 1); - assertEquals(adValueCaptor.getValue().valueMicros, 1000L); - } - - /** Helper for loading an ad manager ad. */ - private void loadAdManagerAd() { - setupAdManagerMocks(); - doAnswer( - new Answer() { - @Override - public Object answer(InvocationOnMock invocation) throws Throwable { - AppOpenAdLoadCallback adLoadCallback = invocation.getArgument(2); - // Pass back null for ad - adLoadCallback.onAdLoaded(mockAd); - return null; - } - }) - .when(mockFlutterAdLoader) - .loadAdManagerAppOpen( - anyString(), any(AdManagerAdRequest.class), any(AppOpenAdLoadCallback.class)); - final ResponseInfo responseInfo = mock(ResponseInfo.class); - doReturn(responseInfo).when(mockAd).getResponseInfo(); - - // Load an ad and verify correct ad loader method is called. - flutterAppOpenAd.load(); - } - - /** Helper for loading an admob ad. */ - private void loadAdmobAd() { - // Setup mocks for loading. - setupAdmobMocks(); - - doAnswer( - new Answer() { - @Override - public Object answer(InvocationOnMock invocation) throws Throwable { - AppOpenAdLoadCallback adLoadCallback = invocation.getArgument(2); - // Pass back null for ad - adLoadCallback.onAdLoaded(mockAd); - return null; - } - }) - .when(mockFlutterAdLoader) - .loadAppOpen(anyString(), any(AdRequest.class), any(AppOpenAdLoadCallback.class)); - final ResponseInfo responseInfo = mock(ResponseInfo.class); - doReturn(responseInfo).when(mockAd).getResponseInfo(); - - flutterAppOpenAd.load(); - } - - @Test - public void loadAdManager_showSuccess() { - loadAdManagerAd(); - - // Setup mocks for show(). - final FullScreenContentCallback[] fullScreenContentCallback = new FullScreenContentCallback[1]; - doAnswer( - new Answer() { - @Override - public Object answer(InvocationOnMock invocation) throws Throwable { - fullScreenContentCallback[0] = invocation.getArgument(0); - return null; - } - }) - .when(mockAd) - .setFullScreenContentCallback(any(FullScreenContentCallback.class)); - - doAnswer( - new Answer() { - @Override - public Object answer(InvocationOnMock invocation) throws Throwable { - FullScreenContentCallback callback = fullScreenContentCallback[0]; - callback.onAdShowedFullScreenContent(); - callback.onAdImpression(); - callback.onAdClicked(); - callback.onAdDismissedFullScreenContent(); - return null; - } - }) - .when(mockAd) - .show(any(Activity.class)); - - // Show the ad and verify callbacks are set up properly. - flutterAppOpenAd.show(); - verify(mockAd).setFullScreenContentCallback(any(FullScreenContentCallback.class)); - verify(mockAd).show(eq(mockManager.getActivity())); - - verify(mockManager).onAdShowedFullScreenContent(eq(1)); - verify(mockManager).onAdImpression(eq(1)); - verify(mockManager).onAdClicked(eq(1)); - verify(mockManager).onAdDismissedFullScreenContent(eq(1)); - - assertNull(flutterAppOpenAd.getPlatformView()); - } - - @Test - public void loadAdmob_showSuccess() { - loadAdmobAd(); - // Setup mocks for show(). - final FullScreenContentCallback[] fullScreenContentCallback = new FullScreenContentCallback[1]; - doAnswer( - new Answer() { - @Override - public Object answer(InvocationOnMock invocation) throws Throwable { - fullScreenContentCallback[0] = invocation.getArgument(0); - return null; - } - }) - .when(mockAd) - .setFullScreenContentCallback(any(FullScreenContentCallback.class)); - - doAnswer( - new Answer() { - @Override - public Object answer(InvocationOnMock invocation) throws Throwable { - FullScreenContentCallback callback = fullScreenContentCallback[0]; - callback.onAdShowedFullScreenContent(); - callback.onAdImpression(); - callback.onAdDismissedFullScreenContent(); - ; - return null; - } - }) - .when(mockAd) - .show(any(Activity.class)); - - // Show the ad and verify callbacks are set up properly. - flutterAppOpenAd.show(); - verify(mockAd).setFullScreenContentCallback(any(FullScreenContentCallback.class)); - verify(mockAd).show(eq(mockManager.getActivity())); - - verify(mockManager).onAdShowedFullScreenContent(eq(1)); - verify(mockManager).onAdImpression(eq(1)); - verify(mockManager).onAdDismissedFullScreenContent(eq(1)); - - assertNull(flutterAppOpenAd.getPlatformView()); - } - - @Test - public void loadAdmob_failToShow() { - loadAdmobAd(); - - // Setup mocks for triggering fail to show callback. - final AdError adError = new AdError(0, "ad", "error"); - doAnswer( - new Answer() { - @Override - public Object answer(InvocationOnMock invocation) throws Throwable { - FullScreenContentCallback callback = invocation.getArgument(0); - callback.onAdFailedToShowFullScreenContent(adError); - return null; - } - }) - .when(mockAd) - .setFullScreenContentCallback(any(FullScreenContentCallback.class)); - - flutterAppOpenAd.show(); - verify(mockAd).setFullScreenContentCallback(any(FullScreenContentCallback.class)); - verify(mockManager).onFailedToShowFullScreenContent(eq(1), eq(adError)); - } - - @Test - public void loadAdManager_failToShow() { - loadAdManagerAd(); - - // Setup mocks for triggering fail to show callback. - final AdError adError = new AdError(0, "ad", "error"); - doAnswer( - new Answer() { - @Override - public Object answer(InvocationOnMock invocation) throws Throwable { - FullScreenContentCallback callback = invocation.getArgument(0); - callback.onAdFailedToShowFullScreenContent(adError); - return null; - } - }) - .when(mockAd) - .setFullScreenContentCallback(any(FullScreenContentCallback.class)); - - flutterAppOpenAd.show(); - verify(mockAd).setFullScreenContentCallback(any(FullScreenContentCallback.class)); - verify(mockManager).onFailedToShowFullScreenContent(eq(1), eq(adError)); - } - - @Test - public void setImmersiveMode() { - setupAdmobMocks(); - final AppOpenAd mockAd = mock(AppOpenAd.class); - doAnswer( - new Answer() { - @Override - public Object answer(InvocationOnMock invocation) throws Throwable { - AppOpenAdLoadCallback adLoadCallback = invocation.getArgument(2); - adLoadCallback.onAdLoaded(mockAd); - // Pass back null for ad - return null; - } - }) - .when(mockFlutterAdLoader) - .loadAppOpen(anyString(), any(AdRequest.class), any(AppOpenAdLoadCallback.class)); - flutterAppOpenAd.load(); - flutterAppOpenAd.setImmersiveMode(false); - verify(mockAd).setImmersiveMode(eq(false)); - } -} diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/test/java/io/flutter/plugins/googlemobileads/FlutterBannerAdTest.java b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/test/java/io/flutter/plugins/googlemobileads/FlutterBannerAdTest.java deleted file mode 100644 index ff0c8cd3..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/test/java/io/flutter/plugins/googlemobileads/FlutterBannerAdTest.java +++ /dev/null @@ -1,182 +0,0 @@ -// Copyright 2021 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package io.flutter.plugins.googlemobileads; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertNull; -import static org.mockito.ArgumentCaptor.forClass; -import static org.mockito.ArgumentMatchers.any; -import static org.mockito.ArgumentMatchers.anyString; -import static org.mockito.ArgumentMatchers.eq; -import static org.mockito.Mockito.doAnswer; -import static org.mockito.Mockito.doReturn; -import static org.mockito.Mockito.mock; -import static org.mockito.Mockito.spy; -import static org.mockito.Mockito.verify; -import static org.mockito.Mockito.when; - -import android.app.Activity; -import com.google.android.gms.ads.AdListener; -import com.google.android.gms.ads.AdRequest; -import com.google.android.gms.ads.AdSize; -import com.google.android.gms.ads.AdValue; -import com.google.android.gms.ads.AdView; -import com.google.android.gms.ads.LoadAdError; -import com.google.android.gms.ads.ResponseInfo; -import io.flutter.plugin.common.MethodChannel; -import io.flutter.plugin.platform.PlatformView; -import io.flutter.plugins.googlemobileads.FlutterAd.FlutterLoadAdError; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.ArgumentCaptor; -import org.mockito.invocation.InvocationOnMock; -import org.mockito.stubbing.Answer; -import org.robolectric.RobolectricTestRunner; - -/** Tests for {@link FlutterBannerAd}. */ -@RunWith(RobolectricTestRunner.class) -public class FlutterBannerAdTest { - - private AdInstanceManager mockManager; - private AdView mockAdView; - private AdRequest mockAdRequest; - private AdSize adSize; - - // The system under test. - private FlutterBannerAd flutterBannerAd; - - @Before - public void setup() { - mockManager = spy(new AdInstanceManager(mock(MethodChannel.class))); - doReturn(mock(Activity.class)).when(mockManager).getActivity(); - final FlutterAdRequest mockFlutterRequest = mock(FlutterAdRequest.class); - mockAdRequest = mock(AdRequest.class); - final FlutterAdSize mockFlutterAdSize = mock(FlutterAdSize.class); - adSize = new AdSize(1, 2); - when(mockFlutterRequest.asAdRequest(anyString())).thenReturn(mockAdRequest); - when(mockFlutterAdSize.getAdSize()).thenReturn(adSize); - BannerAdCreator bannerAdCreator = mock(BannerAdCreator.class); - mockAdView = mock(AdView.class); - doReturn(mockAdView).when(bannerAdCreator).createAdView(); - flutterBannerAd = - new FlutterBannerAd( - 1, mockManager, "testId", mockFlutterRequest, mockFlutterAdSize, bannerAdCreator); - } - - @Test - public void failedToLoad() { - final LoadAdError loadError = mock(LoadAdError.class); - doReturn(1).when(loadError).getCode(); - doReturn("2").when(loadError).getDomain(); - doReturn("3").when(loadError).getMessage(); - doReturn(null).when(loadError).getResponseInfo(); - doAnswer( - new Answer() { - @Override - public Object answer(InvocationOnMock invocation) throws Throwable { - AdListener listener = invocation.getArgument(0); - listener.onAdFailedToLoad(loadError); - return null; - } - }) - .when(mockAdView) - .setAdListener(any(AdListener.class)); - - flutterBannerAd.load(); - verify(mockAdView).loadAd(eq(mockAdRequest)); - verify(mockAdView).setAdListener(any(AdListener.class)); - verify(mockAdView).setAdUnitId(eq("testId")); - verify(mockAdView).setAdSize(adSize); - FlutterLoadAdError expectedError = new FlutterLoadAdError(loadError); - verify(mockManager).onAdFailedToLoad(eq(1), eq(expectedError)); - } - - @Test - public void loadWithListenerCallbacks() { - doAnswer( - new Answer() { - @Override - public Object answer(InvocationOnMock invocation) throws Throwable { - AdListener listener = invocation.getArgument(0); - listener.onAdLoaded(); - listener.onAdImpression(); - listener.onAdClicked(); - listener.onAdClosed(); - listener.onAdOpened(); - return null; - } - }) - .when(mockAdView) - .setAdListener(any(AdListener.class)); - - final ResponseInfo responseInfo = mock(ResponseInfo.class); - doReturn(responseInfo).when(mockAdView).getResponseInfo(); - - final AdValue adValue = mock(AdValue.class); - doReturn(1).when(adValue).getPrecisionType(); - doReturn("Dollars").when(adValue).getCurrencyCode(); - doReturn(1000L).when(adValue).getValueMicros(); - doAnswer( - new Answer() { - @Override - public Object answer(InvocationOnMock invocation) { - FlutterPaidEventListener listener = invocation.getArgument(0); - listener.onPaidEvent(adValue); - return null; - } - }) - .when(mockAdView) - .setOnPaidEventListener(any(FlutterPaidEventListener.class)); - - flutterBannerAd.load(); - - verify(mockAdView).loadAd(eq(mockAdRequest)); - verify(mockAdView).setAdListener(any(AdListener.class)); - verify(mockAdView).setAdUnitId(eq("testId")); - verify(mockAdView).setAdSize(adSize); - verify(mockManager).onAdLoaded(eq(1), eq(responseInfo)); - verify(mockManager).onAdImpression(eq(1)); - verify(mockManager).onAdClicked(eq(1)); - verify(mockManager).onAdClosed(eq(1)); - verify(mockManager).onAdOpened(eq(1)); - assertEquals(flutterBannerAd.getPlatformView().getView(), mockAdView); - verify(mockAdView).setOnPaidEventListener(any(FlutterPaidEventListener.class)); - final ArgumentCaptor adValueCaptor = forClass(FlutterAdValue.class); - verify(mockManager).onPaidEvent(eq(flutterBannerAd), adValueCaptor.capture()); - assertEquals(adValueCaptor.getValue().currencyCode, "Dollars"); - assertEquals(adValueCaptor.getValue().precisionType, 1); - assertEquals(adValueCaptor.getValue().valueMicros, 1000L); - } - - @Test - public void dispose() { - flutterBannerAd.load(); - - assertEquals(flutterBannerAd.getPlatformView().getView(), mockAdView); - PlatformView platformView = flutterBannerAd.getPlatformView(); - assertNotNull(platformView); - - flutterBannerAd.dispose(); - verify(mockAdView).destroy(); - assertNull(flutterBannerAd.getPlatformView()); - // Check that the platform view still retains a reference to the view until - // dispose is called on it. - assertNotNull(platformView.getView()); - platformView.dispose(); - assertNull(platformView.getView()); - } -} diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/test/java/io/flutter/plugins/googlemobileads/FlutterInterstitialAdTest.java b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/test/java/io/flutter/plugins/googlemobileads/FlutterInterstitialAdTest.java deleted file mode 100644 index 75e76e17..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/test/java/io/flutter/plugins/googlemobileads/FlutterInterstitialAdTest.java +++ /dev/null @@ -1,233 +0,0 @@ -// Copyright 2021 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package io.flutter.plugins.googlemobileads; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNull; -import static org.mockito.ArgumentCaptor.forClass; -import static org.mockito.ArgumentMatchers.any; -import static org.mockito.ArgumentMatchers.anyString; -import static org.mockito.ArgumentMatchers.eq; -import static org.mockito.Mockito.doAnswer; -import static org.mockito.Mockito.doReturn; -import static org.mockito.Mockito.mock; -import static org.mockito.Mockito.spy; -import static org.mockito.Mockito.verify; -import static org.mockito.Mockito.when; - -import android.app.Activity; -import com.google.android.gms.ads.AdError; -import com.google.android.gms.ads.AdRequest; -import com.google.android.gms.ads.AdValue; -import com.google.android.gms.ads.FullScreenContentCallback; -import com.google.android.gms.ads.LoadAdError; -import com.google.android.gms.ads.ResponseInfo; -import com.google.android.gms.ads.interstitial.InterstitialAd; -import com.google.android.gms.ads.interstitial.InterstitialAdLoadCallback; -import io.flutter.plugin.common.MethodChannel; -import io.flutter.plugins.googlemobileads.FlutterAd.FlutterLoadAdError; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.ArgumentCaptor; -import org.mockito.invocation.InvocationOnMock; -import org.mockito.stubbing.Answer; -import org.robolectric.RobolectricTestRunner; - -/** Tests for {@link FlutterInterstitialAd}. */ -@RunWith(RobolectricTestRunner.class) -public class FlutterInterstitialAdTest { - - private AdInstanceManager mockManager; - private FlutterAdLoader mockFlutterAdLoader; - private AdRequest mockAdRequest; - - // The system under test. - private FlutterInterstitialAd flutterInterstitialAd; - - @Before - public void setup() { - mockManager = spy(new AdInstanceManager(mock(MethodChannel.class))); - doReturn(mock(Activity.class)).when(mockManager).getActivity(); - final FlutterAdRequest mockFlutterRequest = mock(FlutterAdRequest.class); - mockAdRequest = mock(AdRequest.class); - mockFlutterAdLoader = mock(FlutterAdLoader.class); - when(mockFlutterRequest.asAdRequest(anyString())).thenReturn(mockAdRequest); - - flutterInterstitialAd = - new FlutterInterstitialAd( - 1, mockManager, "testId", mockFlutterRequest, mockFlutterAdLoader); - } - - @Test - public void loadInterstitialAd_failedToLoad() { - final LoadAdError loadAdError = mock(LoadAdError.class); - ResponseInfo responseInfo = mock(ResponseInfo.class); - doReturn("id").when(responseInfo).getResponseId(); - doReturn("className").when(responseInfo).getMediationAdapterClassName(); - doReturn(1).when(loadAdError).getCode(); - doReturn("2").when(loadAdError).getDomain(); - doReturn("3").when(loadAdError).getMessage(); - doReturn(null).when(loadAdError).getResponseInfo(); - doAnswer( - new Answer() { - @Override - public Object answer(InvocationOnMock invocation) throws Throwable { - InterstitialAdLoadCallback adLoadCallback = invocation.getArgument(2); - // Pass back null for ad - adLoadCallback.onAdFailedToLoad(loadAdError); - return null; - } - }) - .when(mockFlutterAdLoader) - .loadInterstitial(anyString(), any(AdRequest.class), any(InterstitialAdLoadCallback.class)); - - flutterInterstitialAd.load(); - - verify(mockFlutterAdLoader) - .loadInterstitial(eq("testId"), eq(mockAdRequest), any(InterstitialAdLoadCallback.class)); - - FlutterLoadAdError expectedError = new FlutterLoadAdError(loadAdError); - verify(mockManager).onAdFailedToLoad(eq(1), eq(expectedError)); - } - - @Test - public void loadInterstitialAd_showSuccess() { - final InterstitialAd mockAd = mock(InterstitialAd.class); - doAnswer( - new Answer() { - @Override - public Object answer(InvocationOnMock invocation) throws Throwable { - InterstitialAdLoadCallback adLoadCallback = invocation.getArgument(2); - // Pass back null for ad - adLoadCallback.onAdLoaded(mockAd); - return null; - } - }) - .when(mockFlutterAdLoader) - .loadInterstitial(anyString(), any(AdRequest.class), any(InterstitialAdLoadCallback.class)); - final ResponseInfo responseInfo = mock(ResponseInfo.class); - doReturn(responseInfo).when(mockAd).getResponseInfo(); - final AdValue adValue = mock(AdValue.class); - doReturn(1).when(adValue).getPrecisionType(); - doReturn("Dollars").when(adValue).getCurrencyCode(); - doReturn(1000L).when(adValue).getValueMicros(); - doAnswer( - new Answer() { - @Override - public Object answer(InvocationOnMock invocation) { - FlutterPaidEventListener listener = invocation.getArgument(0); - listener.onPaidEvent(adValue); - return null; - } - }) - .when(mockAd) - .setOnPaidEventListener(any(FlutterPaidEventListener.class)); - - flutterInterstitialAd.load(); - - verify(mockFlutterAdLoader) - .loadInterstitial(eq("testId"), eq(mockAdRequest), any(InterstitialAdLoadCallback.class)); - - verify(mockManager).onAdLoaded(eq(1), eq(responseInfo)); - verify(mockAd).setOnPaidEventListener(any(FlutterPaidEventListener.class)); - - final ArgumentCaptor adValueCaptor = forClass(FlutterAdValue.class); - verify(mockManager).onPaidEvent(eq(flutterInterstitialAd), adValueCaptor.capture()); - assertEquals(adValueCaptor.getValue().currencyCode, "Dollars"); - assertEquals(adValueCaptor.getValue().precisionType, 1); - assertEquals(adValueCaptor.getValue().valueMicros, 1000L); - - // Setup mocks for show(). - doAnswer( - new Answer() { - @Override - public Object answer(InvocationOnMock invocation) throws Throwable { - FullScreenContentCallback callback = invocation.getArgument(0); - callback.onAdShowedFullScreenContent(); - callback.onAdImpression(); - callback.onAdClicked(); - callback.onAdDismissedFullScreenContent(); - return null; - } - }) - .when(mockAd) - .setFullScreenContentCallback(any(FullScreenContentCallback.class)); - - flutterInterstitialAd.show(); - verify(mockAd).setFullScreenContentCallback(any(FullScreenContentCallback.class)); - verify(mockAd).show(eq(mockManager.getActivity())); - verify(mockManager).onAdShowedFullScreenContent(eq(1)); - verify(mockManager).onAdDismissedFullScreenContent(eq(1)); - verify(mockManager).onAdImpression(eq(1)); - verify(mockManager).onAdClicked(eq(1)); - assertNull(flutterInterstitialAd.getPlatformView()); - } - - @Test - public void loadInterstitialAd_showFailure() { - final InterstitialAd mockAd = mock(InterstitialAd.class); - doAnswer( - new Answer() { - @Override - public Object answer(InvocationOnMock invocation) throws Throwable { - InterstitialAdLoadCallback adLoadCallback = invocation.getArgument(2); - // Pass back null for ad - adLoadCallback.onAdLoaded(mockAd); - return null; - } - }) - .when(mockFlutterAdLoader) - .loadInterstitial(anyString(), any(AdRequest.class), any(InterstitialAdLoadCallback.class)); - doReturn(mock(ResponseInfo.class)).when(mockAd).getResponseInfo(); - flutterInterstitialAd.load(); - final AdError adError = new AdError(1, "2", "3"); - - doAnswer( - new Answer() { - @Override - public Object answer(InvocationOnMock invocation) throws Throwable { - FullScreenContentCallback callback = invocation.getArgument(0); - callback.onAdFailedToShowFullScreenContent(adError); - return null; - } - }) - .when(mockAd) - .setFullScreenContentCallback(any(FullScreenContentCallback.class)); - - flutterInterstitialAd.show(); - verify(mockManager).onFailedToShowFullScreenContent(eq(1), eq(adError)); - } - - @Test - public void loadInterstitialAd_setImmersiveMode() { - final InterstitialAd mockAd = mock(InterstitialAd.class); - doAnswer( - new Answer() { - @Override - public Object answer(InvocationOnMock invocation) throws Throwable { - InterstitialAdLoadCallback adLoadCallback = invocation.getArgument(2); - adLoadCallback.onAdLoaded(mockAd); - // Pass back null for ad - return null; - } - }) - .when(mockFlutterAdLoader) - .loadInterstitial(anyString(), any(AdRequest.class), any(InterstitialAdLoadCallback.class)); - flutterInterstitialAd.load(); - flutterInterstitialAd.setImmersiveMode(true); - verify(mockAd).setImmersiveMode(true); - } -} diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/test/java/io/flutter/plugins/googlemobileads/FlutterNativeAdOptionsTest.java b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/test/java/io/flutter/plugins/googlemobileads/FlutterNativeAdOptionsTest.java deleted file mode 100644 index 2afbba27..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/test/java/io/flutter/plugins/googlemobileads/FlutterNativeAdOptionsTest.java +++ /dev/null @@ -1,64 +0,0 @@ -// Copyright 2021 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package io.flutter.plugins.googlemobileads; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertTrue; -import static org.mockito.Mockito.doReturn; - -import com.google.android.gms.ads.VideoOptions; -import com.google.android.gms.ads.nativead.NativeAdOptions; -import org.junit.Test; -import org.mockito.Mockito; - -/** Tests for {@link FlutterNativeAdOptions}. */ -public class FlutterNativeAdOptionsTest { - - @Test - public void testAsAdOptions_null() { - FlutterNativeAdOptions flutterNativeAdOptions = - new FlutterNativeAdOptions(null, null, null, null, null, null); - - NativeAdOptions nativeAdOptions = flutterNativeAdOptions.asNativeAdOptions(); - NativeAdOptions defaultOptions = new NativeAdOptions.Builder().build(); - assertEquals(nativeAdOptions.getAdChoicesPlacement(), defaultOptions.getAdChoicesPlacement()); - assertEquals(nativeAdOptions.getMediaAspectRatio(), defaultOptions.getMediaAspectRatio()); - assertEquals(nativeAdOptions.getVideoOptions(), defaultOptions.getVideoOptions()); - assertEquals( - nativeAdOptions.shouldRequestMultipleImages(), - defaultOptions.shouldRequestMultipleImages()); - assertEquals( - nativeAdOptions.shouldReturnUrlsForImageAssets(), - defaultOptions.shouldReturnUrlsForImageAssets()); - } - - @Test - public void testAsAdOptions() { - FlutterVideoOptions mockFlutterVideoOptions = Mockito.mock(FlutterVideoOptions.class); - VideoOptions mockVideoOptions = Mockito.mock(VideoOptions.class); - doReturn(mockVideoOptions).when(mockFlutterVideoOptions).asVideoOptions(); - - FlutterNativeAdOptions flutterNativeAdOptions = - new FlutterNativeAdOptions(1, 2, mockFlutterVideoOptions, true, false, true); - - NativeAdOptions nativeAdOptions = flutterNativeAdOptions.asNativeAdOptions(); - assertEquals(nativeAdOptions.getAdChoicesPlacement(), 1); - assertEquals(nativeAdOptions.getMediaAspectRatio(), 2); - assertFalse(nativeAdOptions.shouldRequestMultipleImages()); - assertTrue(nativeAdOptions.shouldReturnUrlsForImageAssets()); - assertEquals(nativeAdOptions.getVideoOptions(), mockVideoOptions); - } -} diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/test/java/io/flutter/plugins/googlemobileads/FlutterNativeAdTest.java b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/test/java/io/flutter/plugins/googlemobileads/FlutterNativeAdTest.java deleted file mode 100644 index 58f02338..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/test/java/io/flutter/plugins/googlemobileads/FlutterNativeAdTest.java +++ /dev/null @@ -1,375 +0,0 @@ -// Copyright 2021 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package io.flutter.plugins.googlemobileads; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertNull; -import static org.mockito.ArgumentCaptor.forClass; -import static org.mockito.ArgumentMatchers.any; -import static org.mockito.ArgumentMatchers.anyString; -import static org.mockito.ArgumentMatchers.eq; -import static org.mockito.Mockito.doAnswer; -import static org.mockito.Mockito.doReturn; -import static org.mockito.Mockito.mock; -import static org.mockito.Mockito.never; -import static org.mockito.Mockito.spy; -import static org.mockito.Mockito.verify; -import static org.mockito.Mockito.when; - -import android.app.Activity; -import android.content.Context; -import androidx.test.core.app.ApplicationProvider; -import com.google.android.ads.nativetemplates.TemplateView; -import com.google.android.gms.ads.AdListener; -import com.google.android.gms.ads.AdRequest; -import com.google.android.gms.ads.AdValue; -import com.google.android.gms.ads.LoadAdError; -import com.google.android.gms.ads.ResponseInfo; -import com.google.android.gms.ads.admanager.AdManagerAdRequest; -import com.google.android.gms.ads.nativead.NativeAd; -import com.google.android.gms.ads.nativead.NativeAd.OnNativeAdLoadedListener; -import com.google.android.gms.ads.nativead.NativeAdOptions; -import com.google.android.gms.ads.nativead.NativeAdView; -import io.flutter.plugin.common.MethodChannel; -import io.flutter.plugin.platform.PlatformView; -import io.flutter.plugins.googlemobileads.FlutterAd.FlutterLoadAdError; -import io.flutter.plugins.googlemobileads.GoogleMobileAdsPlugin.NativeAdFactory; -import io.flutter.plugins.googlemobileads.nativetemplates.FlutterNativeTemplateStyle; -import java.util.Map; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.ArgumentCaptor; -import org.mockito.invocation.InvocationOnMock; -import org.mockito.stubbing.Answer; -import org.robolectric.RobolectricTestRunner; - -/** Tests for {@link FlutterNativeAd}. */ -@RunWith(RobolectricTestRunner.class) -public class FlutterNativeAdTest { - - private AdInstanceManager testManager; - private final FlutterAdRequest request = new FlutterAdRequest.Builder().build(); - - @Before - public void setup() { - testManager = spy(new AdInstanceManager(mock(MethodChannel.class))); - doReturn(mock(Activity.class)).when(testManager).getActivity(); - } - - @Test - public void loadNativeAdWithAdManagerAdRequest() { - final FlutterAdManagerAdRequest mockFlutterRequest = mock(FlutterAdManagerAdRequest.class); - final AdManagerAdRequest mockRequest = mock(AdManagerAdRequest.class); - when(mockFlutterRequest.asAdManagerAdRequest(anyString())).thenReturn(mockRequest); - FlutterAdLoader mockLoader = mock(FlutterAdLoader.class); - NativeAdFactory mockNativeAdFactory = mock(NativeAdFactory.class); - @SuppressWarnings("unchecked") - Map mockOptions = mock(Map.class); - FlutterNativeAdOptions mockFlutterNativeAdOptions = mock(FlutterNativeAdOptions.class); - NativeAdOptions mockNativeAdOptions = mock(NativeAdOptions.class); - doReturn(mockNativeAdOptions).when(mockFlutterNativeAdOptions).asNativeAdOptions(); - final FlutterNativeAd nativeAd = - new FlutterNativeAd( - ApplicationProvider.getApplicationContext(), - 1, - testManager, - "testId", - mockNativeAdFactory, - mockFlutterRequest, - mockLoader, - mockOptions, - mockFlutterNativeAdOptions, - null); - - final ResponseInfo responseInfo = mock(ResponseInfo.class); - final NativeAd mockNativeAd = mock(NativeAd.class); - doReturn(responseInfo).when(mockNativeAd).getResponseInfo(); - final LoadAdError loadAdError = mock(LoadAdError.class); - doReturn(1).when(loadAdError).getCode(); - doReturn("2").when(loadAdError).getDomain(); - doReturn("3").when(loadAdError).getMessage(); - doReturn(null).when(loadAdError).getResponseInfo(); - doAnswer( - new Answer() { - @Override - public Object answer(InvocationOnMock invocation) { - OnNativeAdLoadedListener adLoadCallback = invocation.getArgument(1); - adLoadCallback.onNativeAdLoaded(mockNativeAd); - - AdListener listener = invocation.getArgument(3); - listener.onAdOpened(); - listener.onAdClosed(); - listener.onAdClicked(); - listener.onAdImpression(); - listener.onAdLoaded(); - listener.onAdFailedToLoad(loadAdError); - return null; - } - }) - .when(mockLoader) - .loadAdManagerNativeAd( - eq("testId"), - any(OnNativeAdLoadedListener.class), - any(NativeAdOptions.class), - any(AdListener.class), - eq(mockRequest)); - - final AdValue adValue = mock(AdValue.class); - doReturn(1).when(adValue).getPrecisionType(); - doReturn("Dollars").when(adValue).getCurrencyCode(); - doReturn(1000L).when(adValue).getValueMicros(); - doAnswer( - new Answer() { - @Override - public Object answer(InvocationOnMock invocation) { - FlutterPaidEventListener listener = invocation.getArgument(0); - listener.onPaidEvent(adValue); - return null; - } - }) - .when(mockNativeAd) - .setOnPaidEventListener(any(FlutterPaidEventListener.class)); - - nativeAd.load(); - verify(mockLoader) - .loadAdManagerNativeAd( - eq("testId"), - any(OnNativeAdLoadedListener.class), - eq(mockNativeAdOptions), - any(AdListener.class), - eq(mockRequest)); - - verify(mockNativeAd).setOnPaidEventListener(any(FlutterPaidEventListener.class)); - - verify(mockNativeAdFactory).createNativeAd(eq(mockNativeAd), eq(mockOptions)); - verify(testManager).onAdOpened(eq(1)); - verify(testManager).onAdClosed(eq(1)); - verify(testManager).onAdClicked(eq(1)); - verify(testManager).onAdImpression(eq(1)); - verify(testManager).onAdLoaded(eq(1), eq(responseInfo)); - FlutterLoadAdError expectedError = new FlutterLoadAdError(loadAdError); - verify(testManager).onAdFailedToLoad(eq(1), eq(expectedError)); - final ArgumentCaptor adValueCaptor = forClass(FlutterAdValue.class); - verify(testManager).onPaidEvent(eq(nativeAd), adValueCaptor.capture()); - assertEquals(adValueCaptor.getValue().currencyCode, "Dollars"); - assertEquals(adValueCaptor.getValue().precisionType, 1); - assertEquals(adValueCaptor.getValue().valueMicros, 1000L); - } - - @Test - public void loadNativeAdWithAdRequest() { - final FlutterAdRequest mockFlutterRequest = mock(FlutterAdRequest.class); - final AdRequest mockRequest = mock(AdRequest.class); - when(mockFlutterRequest.asAdRequest(anyString())).thenReturn(mockRequest); - FlutterAdLoader mockLoader = mock(FlutterAdLoader.class); - NativeAdFactory mockNativeAdFactory = mock(GoogleMobileAdsPlugin.NativeAdFactory.class); - NativeAdView mockNativeAdView = mock(NativeAdView.class); - doReturn(mockNativeAdView) - .when(mockNativeAdFactory) - .createNativeAd(any(NativeAd.class), any(Map.class)); - @SuppressWarnings("unchecked") - Map mockOptions = mock(Map.class); - FlutterNativeAdOptions mockFlutterNativeAdOptions = mock(FlutterNativeAdOptions.class); - NativeAdOptions mockNativeAdOptions = mock(NativeAdOptions.class); - doReturn(mockNativeAdOptions).when(mockFlutterNativeAdOptions).asNativeAdOptions(); - final FlutterNativeAd nativeAd = - new FlutterNativeAd( - ApplicationProvider.getApplicationContext(), - 1, - testManager, - "testId", - mockNativeAdFactory, - mockFlutterRequest, - mockLoader, - mockOptions, - mockFlutterNativeAdOptions, - null); - - final ResponseInfo responseInfo = mock(ResponseInfo.class); - final NativeAd mockNativeAd = mock(NativeAd.class); - doReturn(responseInfo).when(mockNativeAd).getResponseInfo(); - final LoadAdError loadAdError = mock(LoadAdError.class); - doReturn(1).when(loadAdError).getCode(); - doReturn("2").when(loadAdError).getDomain(); - doReturn("3").when(loadAdError).getMessage(); - doReturn(null).when(loadAdError).getResponseInfo(); - - doAnswer( - new Answer() { - @Override - public Object answer(InvocationOnMock invocation) throws Throwable { - OnNativeAdLoadedListener adLoadCallback = invocation.getArgument(1); - adLoadCallback.onNativeAdLoaded(mockNativeAd); - - AdListener listener = invocation.getArgument(3); - listener.onAdOpened(); - listener.onAdClosed(); - listener.onAdClicked(); - listener.onAdImpression(); - listener.onAdLoaded(); - listener.onAdFailedToLoad(loadAdError); - return null; - } - }) - .when(mockLoader) - .loadNativeAd( - eq("testId"), - any(OnNativeAdLoadedListener.class), - any(NativeAdOptions.class), - any(AdListener.class), - eq(mockRequest)); - - nativeAd.load(); - verify(mockLoader) - .loadNativeAd( - eq("testId"), - any(OnNativeAdLoadedListener.class), - eq(mockNativeAdOptions), - any(AdListener.class), - eq(mockRequest)); - - verify(mockNativeAdFactory).createNativeAd(eq(mockNativeAd), eq(mockOptions)); - verify(testManager).onAdLoaded(eq(1), eq(responseInfo)); - verify(testManager).onAdOpened(eq(1)); - verify(testManager).onAdClosed(eq(1)); - verify(testManager).onAdClicked(eq(1)); - verify(testManager).onAdImpression(eq(1)); - FlutterLoadAdError expectedError = new FlutterLoadAdError(loadAdError); - verify(testManager).onAdFailedToLoad(eq(1), eq(expectedError)); - - // Check that platform view is defined. - PlatformView platformView = nativeAd.getPlatformView(); - assertEquals(platformView.getView(), mockNativeAdView); - // getPlatformView() should be null after dispose() is invoked, but the platform view should - // still return the view. - nativeAd.dispose(); - assertNull(nativeAd.getPlatformView()); - assertNotNull(platformView.getView()); - // Platform view's reference to the view isn't cleared until dispose() is invoked on it. - platformView.dispose(); - assertNull(platformView.getView()); - } - - @Test - public void testLoadWithNativeTemplates() { - final FlutterAdRequest mockFlutterRequest = mock(FlutterAdRequest.class); - final AdRequest mockRequest = mock(AdRequest.class); - when(mockFlutterRequest.asAdRequest(anyString())).thenReturn(mockRequest); - FlutterAdLoader mockLoader = mock(FlutterAdLoader.class); - NativeAdFactory mockNativeAdFactory = mock(GoogleMobileAdsPlugin.NativeAdFactory.class); - @SuppressWarnings("unchecked") - Map mockOptions = mock(Map.class); - FlutterNativeAdOptions mockFlutterNativeAdOptions = mock(FlutterNativeAdOptions.class); - NativeAdOptions mockNativeAdOptions = mock(NativeAdOptions.class); - doReturn(mockNativeAdOptions).when(mockFlutterNativeAdOptions).asNativeAdOptions(); - TemplateView mockTemplateView = mock(TemplateView.class); - FlutterNativeTemplateStyle mockStyle = mock(FlutterNativeTemplateStyle.class); - doReturn(mockTemplateView).when(mockStyle).asTemplateView(any()); - - final FlutterNativeAd nativeAd = - new FlutterNativeAd( - ApplicationProvider.getApplicationContext(), - 1, - testManager, - "testId", - mockNativeAdFactory, - mockFlutterRequest, - mockLoader, - mockOptions, - mockFlutterNativeAdOptions, - mockStyle); - - final ResponseInfo responseInfo = mock(ResponseInfo.class); - final NativeAd mockNativeAd = mock(NativeAd.class); - doReturn(responseInfo).when(mockNativeAd).getResponseInfo(); - doAnswer( - new Answer() { - @Override - public Object answer(InvocationOnMock invocation) throws Throwable { - OnNativeAdLoadedListener adLoadCallback = invocation.getArgument(1); - adLoadCallback.onNativeAdLoaded(mockNativeAd); - - AdListener listener = invocation.getArgument(3); - listener.onAdOpened(); - return null; - } - }) - .when(mockLoader) - .loadNativeAd( - eq("testId"), - any(OnNativeAdLoadedListener.class), - any(NativeAdOptions.class), - any(AdListener.class), - eq(mockRequest)); - - nativeAd.load(); - verify(mockLoader) - .loadNativeAd( - eq("testId"), - any(OnNativeAdLoadedListener.class), - eq(mockNativeAdOptions), - any(AdListener.class), - eq(mockRequest)); - - verify(testManager).onAdLoaded(eq(1), eq(responseInfo)); - verify(mockNativeAdFactory, never()).createNativeAd(eq(mockNativeAd), eq(mockOptions)); - verify(mockStyle).asTemplateView(any(Context.class)); - - // Check that platform view is defined and equal to the template view. - PlatformView platformView = nativeAd.getPlatformView(); - assertEquals(platformView.getView(), mockTemplateView); - } - - @Test(expected = IllegalStateException.class) - public void nativeAdBuilderNullManager() { - new FlutterNativeAd.Builder(ApplicationProvider.getApplicationContext()) - .setManager(null) - .setAdUnitId("testId") - .setAdFactory(mock(GoogleMobileAdsPlugin.NativeAdFactory.class)) - .setRequest(request) - .build(); - } - - @Test(expected = IllegalStateException.class) - public void nativeAdBuilderNullAdUnitId() { - new FlutterNativeAd.Builder(ApplicationProvider.getApplicationContext()) - .setManager(testManager) - .setAdUnitId(null) - .setAdFactory(mock(GoogleMobileAdsPlugin.NativeAdFactory.class)) - .setRequest(request) - .build(); - } - - @Test(expected = IllegalStateException.class) - public void nativeAdBuilderNullAdFactory() { - new FlutterNativeAd.Builder(ApplicationProvider.getApplicationContext()) - .setManager(testManager) - .setAdUnitId("testId") - .setAdFactory(null) - .setRequest(request) - .build(); - } - - @Test(expected = IllegalStateException.class) - public void nativeAdBuilderNullRequest() { - new FlutterNativeAd.Builder(ApplicationProvider.getApplicationContext()) - .setManager(testManager) - .setAdUnitId("testId") - .setAdFactory(mock(GoogleMobileAdsPlugin.NativeAdFactory.class)) - .build(); - } -} diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/test/java/io/flutter/plugins/googlemobileads/FlutterRequestAgentProviderTest.java b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/test/java/io/flutter/plugins/googlemobileads/FlutterRequestAgentProviderTest.java deleted file mode 100644 index c457f87a..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/test/java/io/flutter/plugins/googlemobileads/FlutterRequestAgentProviderTest.java +++ /dev/null @@ -1,118 +0,0 @@ -// Copyright 2022 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package io.flutter.plugins.googlemobileads; - -import static android.os.Build.VERSION_CODES.S; -import static android.os.Build.VERSION_CODES.TIRAMISU; -import static org.junit.Assert.assertEquals; -import static org.mockito.ArgumentMatchers.any; -import static org.mockito.ArgumentMatchers.eq; -import static org.mockito.Mockito.doReturn; -import static org.mockito.Mockito.mock; - -import android.content.Context; -import android.content.pm.ApplicationInfo; -import android.content.pm.PackageManager; -import android.content.pm.PackageManager.NameNotFoundException; -import android.os.Build; -import android.os.Bundle; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.robolectric.RobolectricTestRunner; -import org.robolectric.annotation.Config; - -/** Tests {@link FlutterRequestAgentProvider}. */ -@RunWith(RobolectricTestRunner.class) -@Config(sdk = {S, TIRAMISU}) -public class FlutterRequestAgentProviderTest { - - private Context mockContext; - private PackageManager mockPackageManager; - private ApplicationInfo mockApplicationInfo; - private static final String PACKAGE_NAME = "some.test.package"; - private Bundle metaData; - - @Before - public void setUp() throws NameNotFoundException { - mockContext = mock(Context.class); - mockPackageManager = mock(PackageManager.class); - mockApplicationInfo = mock(ApplicationInfo.class); - metaData = new Bundle(); - mockApplicationInfo.metaData = metaData; - doReturn(mockContext).when(mockContext).getApplicationContext(); - doReturn(mockPackageManager).when(mockContext).getPackageManager(); - doReturn(PACKAGE_NAME).when(mockContext).getPackageName(); - if (Build.VERSION.SDK_INT >= TIRAMISU) { - doReturn(mockApplicationInfo) - .when(mockPackageManager) - .getApplicationInfo(eq(PACKAGE_NAME), any()); - } else { - doReturn(mockApplicationInfo) - .when(mockPackageManager) - .getApplicationInfo(eq(PACKAGE_NAME), eq(PackageManager.GET_META_DATA)); - } - } - - @Test - public void testGetRequestAgent_noTemplateMetadata() { - FlutterRequestAgentProvider sut = new FlutterRequestAgentProvider(mockContext); - String requestAgent = sut.getRequestAgent(); - assertEquals(requestAgent, Constants.REQUEST_AGENT_PREFIX_VERSIONED); - } - - @Test - public void testGetRequestAgent_newsTemplateMetadata() { - metaData.putString(FlutterRequestAgentProvider.NEWS_VERSION_KEY, "1.2.54"); - FlutterRequestAgentProvider sut = new FlutterRequestAgentProvider(mockContext); - String requestAgent = sut.getRequestAgent(); - assertEquals( - requestAgent, - Constants.REQUEST_AGENT_PREFIX_VERSIONED - + "_" - + Constants.REQUEST_AGENT_NEWS_TEMPLATE_PREFIX - + "-1.2.54"); - } - - @Test - public void testGetRequestAgent_gameTemplateMetadata() { - metaData.putString(FlutterRequestAgentProvider.GAME_VERSION_KEY, "1.2.54"); - FlutterRequestAgentProvider sut = new FlutterRequestAgentProvider(mockContext); - String requestAgent = sut.getRequestAgent(); - assertEquals( - requestAgent, - Constants.REQUEST_AGENT_PREFIX_VERSIONED - + "_" - + Constants.REQUEST_AGENT_GAME_TEMPLATE_PREFIX - + "-1.2.54"); - } - - @Test - public void testGetRequestAgent_gameAndNewsTemplateMetadata() { - metaData.putString(FlutterRequestAgentProvider.NEWS_VERSION_KEY, "1.2.54"); - metaData.putString(FlutterRequestAgentProvider.GAME_VERSION_KEY, "asdfg"); - FlutterRequestAgentProvider sut = new FlutterRequestAgentProvider(mockContext); - String requestAgent = sut.getRequestAgent(); - assertEquals( - requestAgent, - Constants.REQUEST_AGENT_PREFIX_VERSIONED - + "_" - + Constants.REQUEST_AGENT_NEWS_TEMPLATE_PREFIX - + "-1.2.54" - + "_" - + Constants.REQUEST_AGENT_GAME_TEMPLATE_PREFIX - + "-asdfg"); - } -} diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/test/java/io/flutter/plugins/googlemobileads/FlutterRewardedAdTest.java b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/test/java/io/flutter/plugins/googlemobileads/FlutterRewardedAdTest.java deleted file mode 100644 index e1926eb8..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/test/java/io/flutter/plugins/googlemobileads/FlutterRewardedAdTest.java +++ /dev/null @@ -1,373 +0,0 @@ -// Copyright 2021 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package io.flutter.plugins.googlemobileads; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNull; -import static org.mockito.ArgumentCaptor.forClass; -import static org.mockito.ArgumentMatchers.any; -import static org.mockito.ArgumentMatchers.anyString; -import static org.mockito.ArgumentMatchers.eq; -import static org.mockito.Mockito.doAnswer; -import static org.mockito.Mockito.doReturn; -import static org.mockito.Mockito.mock; -import static org.mockito.Mockito.spy; -import static org.mockito.Mockito.verify; -import static org.mockito.Mockito.when; - -import android.app.Activity; -import com.google.android.gms.ads.AdError; -import com.google.android.gms.ads.AdRequest; -import com.google.android.gms.ads.AdValue; -import com.google.android.gms.ads.FullScreenContentCallback; -import com.google.android.gms.ads.LoadAdError; -import com.google.android.gms.ads.OnUserEarnedRewardListener; -import com.google.android.gms.ads.ResponseInfo; -import com.google.android.gms.ads.admanager.AdManagerAdRequest; -import com.google.android.gms.ads.rewarded.OnAdMetadataChangedListener; -import com.google.android.gms.ads.rewarded.RewardItem; -import com.google.android.gms.ads.rewarded.RewardedAd; -import com.google.android.gms.ads.rewarded.RewardedAdLoadCallback; -import com.google.android.gms.ads.rewarded.ServerSideVerificationOptions; -import io.flutter.plugin.common.MethodChannel; -import io.flutter.plugins.googlemobileads.FlutterAd.FlutterLoadAdError; -import io.flutter.plugins.googlemobileads.FlutterRewardedAd.FlutterRewardItem; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.ArgumentCaptor; -import org.mockito.invocation.InvocationOnMock; -import org.mockito.stubbing.Answer; -import org.robolectric.RobolectricTestRunner; - -/** Tests for {@link FlutterRewardedAd}. */ -@RunWith(RobolectricTestRunner.class) -public class FlutterRewardedAdTest { - - private FlutterAdLoader mockFlutterAdLoader; - private AdInstanceManager mockManager; - private AdManagerAdRequest mockAdManagerAdRequest; - private AdRequest mockAdRequest; - - // The system under test. - private FlutterRewardedAd flutterRewardedAd; - - @Before - public void setup() { - mockManager = spy(new AdInstanceManager(mock(MethodChannel.class))); - doReturn(mock(Activity.class)).when(mockManager).getActivity(); - mockFlutterAdLoader = mock(FlutterAdLoader.class); - } - - private void setupAdmobMocks() { - FlutterAdRequest mockFlutterAdRequest = mock(FlutterAdRequest.class); - mockAdRequest = mock(AdRequest.class); - when(mockFlutterAdRequest.asAdRequest(anyString())).thenReturn(mockAdRequest); - flutterRewardedAd = - new FlutterRewardedAd(1, mockManager, "testId", mockFlutterAdRequest, mockFlutterAdLoader); - } - - private void setupAdManagerMocks() { - FlutterAdManagerAdRequest mockAdManagerFlutterRequest = mock(FlutterAdManagerAdRequest.class); - mockAdManagerAdRequest = mock(AdManagerAdRequest.class); - when(mockAdManagerFlutterRequest.asAdManagerAdRequest(anyString())) - .thenReturn(mockAdManagerAdRequest); - flutterRewardedAd = - new FlutterRewardedAd( - 1, mockManager, "testId", mockAdManagerFlutterRequest, mockFlutterAdLoader); - } - - @Test - public void loadAdManagerRewardedAd_failedToLoad() { - setupAdManagerMocks(); - final LoadAdError loadAdError = mock(LoadAdError.class); - doReturn(1).when(loadAdError).getCode(); - doReturn("2").when(loadAdError).getDomain(); - doReturn("3").when(loadAdError).getMessage(); - doReturn(null).when(loadAdError).getResponseInfo(); - doAnswer( - new Answer() { - @Override - public Object answer(InvocationOnMock invocation) throws Throwable { - RewardedAdLoadCallback adLoadCallback = invocation.getArgument(2); - // Pass back null for ad - adLoadCallback.onAdFailedToLoad(loadAdError); - return null; - } - }) - .when(mockFlutterAdLoader) - .loadAdManagerRewarded( - anyString(), any(AdManagerAdRequest.class), any(RewardedAdLoadCallback.class)); - - flutterRewardedAd.load(); - - verify(mockFlutterAdLoader) - .loadAdManagerRewarded( - eq("testId"), eq(mockAdManagerAdRequest), any(RewardedAdLoadCallback.class)); - - FlutterLoadAdError expectedError = new FlutterLoadAdError(loadAdError); - verify(mockManager).onAdFailedToLoad(eq(1), eq(expectedError)); - } - - @Test - public void loadAdManagerRewardedAd_showSuccessWithReward() { - setupAdManagerMocks(); - - final RewardedAd mockAd = mock(RewardedAd.class); - doAnswer( - new Answer() { - @Override - public Object answer(InvocationOnMock invocation) throws Throwable { - RewardedAdLoadCallback adLoadCallback = invocation.getArgument(2); - // Pass back null for ad - adLoadCallback.onAdLoaded(mockAd); - return null; - } - }) - .when(mockFlutterAdLoader) - .loadAdManagerRewarded( - anyString(), any(AdManagerAdRequest.class), any(RewardedAdLoadCallback.class)); - final ResponseInfo responseInfo = mock(ResponseInfo.class); - doReturn(responseInfo).when(mockAd).getResponseInfo(); - - final AdValue adValue = mock(AdValue.class); - doReturn(1).when(adValue).getPrecisionType(); - doReturn("Dollars").when(adValue).getCurrencyCode(); - doReturn(1000L).when(adValue).getValueMicros(); - doAnswer( - new Answer() { - @Override - public Object answer(InvocationOnMock invocation) { - FlutterPaidEventListener listener = invocation.getArgument(0); - listener.onPaidEvent(adValue); - return null; - } - }) - .when(mockAd) - .setOnPaidEventListener(any(FlutterPaidEventListener.class)); - - flutterRewardedAd.load(); - - verify(mockFlutterAdLoader) - .loadAdManagerRewarded( - eq("testId"), eq(mockAdManagerAdRequest), any(RewardedAdLoadCallback.class)); - - verify(mockManager).onAdLoaded(eq(1), eq(responseInfo)); - verify(mockAd).setOnPaidEventListener(any(FlutterPaidEventListener.class)); - final ArgumentCaptor adValueCaptor = forClass(FlutterAdValue.class); - verify(mockManager).onPaidEvent(eq(flutterRewardedAd), adValueCaptor.capture()); - assertEquals(adValueCaptor.getValue().currencyCode, "Dollars"); - assertEquals(adValueCaptor.getValue().precisionType, 1); - assertEquals(adValueCaptor.getValue().valueMicros, 1000L); - - // Setup mocks for show(). - doAnswer( - new Answer() { - @Override - public Object answer(InvocationOnMock invocation) throws Throwable { - FullScreenContentCallback callback = invocation.getArgument(0); - callback.onAdShowedFullScreenContent(); - callback.onAdImpression(); - callback.onAdClicked(); - callback.onAdDismissedFullScreenContent(); - return null; - } - }) - .when(mockAd) - .setFullScreenContentCallback(any(FullScreenContentCallback.class)); - - final RewardItem mockRewardItem = mock(RewardItem.class); - doReturn(5).when(mockRewardItem).getAmount(); - doReturn("$$").when(mockRewardItem).getType(); - doAnswer( - new Answer() { - @Override - public Object answer(InvocationOnMock invocation) throws Throwable { - OnUserEarnedRewardListener listener = invocation.getArgument(1); - listener.onUserEarnedReward(mockRewardItem); - return null; - } - }) - .when(mockAd) - .show(any(Activity.class), any(OnUserEarnedRewardListener.class)); - - doAnswer( - new Answer() { - @Override - public Object answer(InvocationOnMock invocation) throws Throwable { - OnAdMetadataChangedListener listener = invocation.getArgument(0); - listener.onAdMetadataChanged(); - return null; - } - }) - .when(mockAd) - .setOnAdMetadataChangedListener(any(OnAdMetadataChangedListener.class)); - - flutterRewardedAd.show(); - verify(mockAd).setFullScreenContentCallback(any(FullScreenContentCallback.class)); - verify(mockAd).show(eq(mockManager.getActivity()), any(OnUserEarnedRewardListener.class)); - verify(mockAd).setOnAdMetadataChangedListener(any(OnAdMetadataChangedListener.class)); - verify(mockManager).onAdShowedFullScreenContent(eq(1)); - verify(mockManager).onAdImpression(eq(1)); - verify(mockManager).onAdClicked(eq(1)); - verify(mockManager).onAdDismissedFullScreenContent(eq(1)); - verify(mockManager).onRewardedAdUserEarnedReward(1, new FlutterRewardItem(5, "$$")); - verify(mockManager).onAdMetadataChanged(eq(1)); - - assertNull(flutterRewardedAd.getPlatformView()); - } - - @Test - public void loadRewardedAdWithAdManagerRequest_nullServerSideOptions() { - setupAdManagerMocks(); - - final FlutterRewardedAd mockFlutterAd = spy(flutterRewardedAd); - final RewardedAd mockAd = mock(RewardedAd.class); - final LoadAdError loadAdError = new LoadAdError(1, "2", "3", null, null); - doAnswer( - new Answer() { - @Override - public Object answer(InvocationOnMock invocation) throws Throwable { - RewardedAdLoadCallback adLoadCallback = invocation.getArgument(2); - // Pass back null for ad - adLoadCallback.onAdLoaded(mockAd); - return null; - } - }) - .when(mockFlutterAdLoader) - .loadAdManagerRewarded( - anyString(), any(AdManagerAdRequest.class), any(RewardedAdLoadCallback.class)); - final ResponseInfo responseInfo = mock(ResponseInfo.class); - doReturn(responseInfo).when(mockAd).getResponseInfo(); - - mockFlutterAd.load(); - - verify(mockFlutterAdLoader) - .loadAdManagerRewarded( - eq("testId"), eq(mockAdManagerAdRequest), any(RewardedAdLoadCallback.class)); - - verify(mockManager).onAdLoaded(eq(1), eq(responseInfo)); - - doAnswer( - new Answer() { - @Override - public Object answer(InvocationOnMock invocation) throws Throwable { - FullScreenContentCallback callback = invocation.getArgument(0); - callback.onAdShowedFullScreenContent(); - return null; - } - }) - .when(mockAd) - .setFullScreenContentCallback(any(FullScreenContentCallback.class)); - - mockFlutterAd.show(); - verify(mockAd).setFullScreenContentCallback(any(FullScreenContentCallback.class)); - verify(mockAd).show(eq(mockManager.getActivity()), any(OnUserEarnedRewardListener.class)); - verify(mockAd).setOnAdMetadataChangedListener(any(OnAdMetadataChangedListener.class)); - } - - @Test - public void loadRewardedAdFailToShow() { - setupAdmobMocks(); - final RewardedAd mockRewardedAd = mock(RewardedAd.class); - doAnswer( - new Answer() { - @Override - public Object answer(InvocationOnMock invocation) throws Throwable { - RewardedAdLoadCallback adLoadCallback = invocation.getArgument(2); - // Pass back null for ad - adLoadCallback.onAdLoaded(mockRewardedAd); - return null; - } - }) - .when(mockFlutterAdLoader) - .loadRewarded(anyString(), any(AdRequest.class), any(RewardedAdLoadCallback.class)); - final ResponseInfo responseInfo = mock(ResponseInfo.class); - doReturn(responseInfo).when(mockRewardedAd).getResponseInfo(); - flutterRewardedAd.load(); - - verify(mockFlutterAdLoader) - .loadRewarded(eq("testId"), eq(mockAdRequest), any(RewardedAdLoadCallback.class)); - - verify(mockManager).onAdLoaded(eq(1), eq(responseInfo)); - final AdError adError = new AdError(0, "ad", "error"); - doAnswer( - new Answer() { - @Override - public Object answer(InvocationOnMock invocation) throws Throwable { - FullScreenContentCallback callback = invocation.getArgument(0); - callback.onAdFailedToShowFullScreenContent(adError); - return null; - } - }) - .when(mockRewardedAd) - .setFullScreenContentCallback(any(FullScreenContentCallback.class)); - - flutterRewardedAd.show(); - verify(mockRewardedAd).setFullScreenContentCallback(any(FullScreenContentCallback.class)); - verify(mockManager).onFailedToShowFullScreenContent(eq(1), eq(adError)); - } - - @Test - public void loadRewardedAd_setImmersiveMode() { - setupAdmobMocks(); - - final RewardedAd mockRewardedAd = mock(RewardedAd.class); - doAnswer( - new Answer() { - @Override - public Object answer(InvocationOnMock invocation) throws Throwable { - RewardedAdLoadCallback adLoadCallback = invocation.getArgument(2); - adLoadCallback.onAdLoaded(mockRewardedAd); - // Pass back null for ad - return null; - } - }) - .when(mockFlutterAdLoader) - .loadRewarded(anyString(), any(AdRequest.class), any(RewardedAdLoadCallback.class)); - - flutterRewardedAd.load(); - flutterRewardedAd.setImmersiveMode(true); - verify(mockRewardedAd).setImmersiveMode(true); - } - - @Test - public void setServerSideVerificationOptions() { - setupAdManagerMocks(); - final RewardedAd mockAd = mock(RewardedAd.class); - doAnswer( - new Answer() { - @Override - public Object answer(InvocationOnMock invocation) throws Throwable { - RewardedAdLoadCallback adLoadCallback = invocation.getArgument(2); - // Pass back null for ad - adLoadCallback.onAdLoaded(mockAd); - return null; - } - }) - .when(mockFlutterAdLoader) - .loadAdManagerRewarded( - anyString(), any(AdManagerAdRequest.class), any(RewardedAdLoadCallback.class)); - - flutterRewardedAd.load(); - - FlutterServerSideVerificationOptions fltSsv = mock(FlutterServerSideVerificationOptions.class); - ServerSideVerificationOptions ssv = mock(ServerSideVerificationOptions.class); - doReturn(ssv).when(fltSsv).asServerSideVerificationOptions(); - - flutterRewardedAd.setServerSideVerificationOptions(fltSsv); - verify(mockAd).setServerSideVerificationOptions(eq(ssv)); - } -} diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/test/java/io/flutter/plugins/googlemobileads/FlutterRewardedInterstitialAdTest.java b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/test/java/io/flutter/plugins/googlemobileads/FlutterRewardedInterstitialAdTest.java deleted file mode 100644 index 7237d566..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/test/java/io/flutter/plugins/googlemobileads/FlutterRewardedInterstitialAdTest.java +++ /dev/null @@ -1,393 +0,0 @@ -// Copyright 2021 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package io.flutter.plugins.googlemobileads; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNull; -import static org.mockito.ArgumentCaptor.forClass; -import static org.mockito.ArgumentMatchers.any; -import static org.mockito.ArgumentMatchers.anyString; -import static org.mockito.ArgumentMatchers.eq; -import static org.mockito.Mockito.doAnswer; -import static org.mockito.Mockito.doReturn; -import static org.mockito.Mockito.mock; -import static org.mockito.Mockito.spy; -import static org.mockito.Mockito.verify; -import static org.mockito.Mockito.when; - -import android.app.Activity; -import com.google.android.gms.ads.AdError; -import com.google.android.gms.ads.AdRequest; -import com.google.android.gms.ads.AdValue; -import com.google.android.gms.ads.FullScreenContentCallback; -import com.google.android.gms.ads.LoadAdError; -import com.google.android.gms.ads.OnUserEarnedRewardListener; -import com.google.android.gms.ads.ResponseInfo; -import com.google.android.gms.ads.admanager.AdManagerAdRequest; -import com.google.android.gms.ads.rewarded.OnAdMetadataChangedListener; -import com.google.android.gms.ads.rewarded.RewardItem; -import com.google.android.gms.ads.rewarded.ServerSideVerificationOptions; -import com.google.android.gms.ads.rewardedinterstitial.RewardedInterstitialAd; -import com.google.android.gms.ads.rewardedinterstitial.RewardedInterstitialAdLoadCallback; -import io.flutter.plugin.common.MethodChannel; -import io.flutter.plugins.googlemobileads.FlutterAd.FlutterLoadAdError; -import io.flutter.plugins.googlemobileads.FlutterRewardedAd.FlutterRewardItem; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.ArgumentCaptor; -import org.mockito.invocation.InvocationOnMock; -import org.mockito.stubbing.Answer; -import org.robolectric.RobolectricTestRunner; - -/** Tests for {@link FlutterRewardedInterstitialAd}. */ -@RunWith(RobolectricTestRunner.class) -public class FlutterRewardedInterstitialAdTest { - - private FlutterAdLoader mockFlutterAdLoader; - private AdInstanceManager mockManager; - private AdManagerAdRequest mockAdManagerAdRequest; - private AdRequest mockAdRequest; - - // The system under test. - private FlutterRewardedInterstitialAd flutterRewardedInterstitialAd; - - @Before - public void setup() { - mockManager = spy(new AdInstanceManager(mock(MethodChannel.class))); - doReturn(mock(Activity.class)).when(mockManager).getActivity(); - mockFlutterAdLoader = mock(FlutterAdLoader.class); - } - - private void setupAdmobMocks() { - FlutterAdRequest mockFlutterAdRequest = mock(FlutterAdRequest.class); - mockAdRequest = mock(AdRequest.class); - when(mockFlutterAdRequest.asAdRequest(anyString())).thenReturn(mockAdRequest); - flutterRewardedInterstitialAd = - new FlutterRewardedInterstitialAd( - 1, mockManager, "testId", mockFlutterAdRequest, mockFlutterAdLoader); - } - - private void setupAdManagerMocks() { - FlutterAdManagerAdRequest mockAdManagerFlutterRequest = mock(FlutterAdManagerAdRequest.class); - mockAdManagerAdRequest = mock(AdManagerAdRequest.class); - when(mockAdManagerFlutterRequest.asAdManagerAdRequest(anyString())) - .thenReturn(mockAdManagerAdRequest); - flutterRewardedInterstitialAd = - new FlutterRewardedInterstitialAd( - 1, mockManager, "testId", mockAdManagerFlutterRequest, mockFlutterAdLoader); - } - - @Test - public void loadAdManagerRewardedInterstitialAd_failedToLoad() { - setupAdManagerMocks(); - final LoadAdError loadAdError = mock(LoadAdError.class); - doReturn(1).when(loadAdError).getCode(); - doReturn("2").when(loadAdError).getDomain(); - doReturn("3").when(loadAdError).getMessage(); - doReturn(null).when(loadAdError).getResponseInfo(); - doAnswer( - new Answer() { - @Override - public Object answer(InvocationOnMock invocation) throws Throwable { - RewardedInterstitialAdLoadCallback adLoadCallback = invocation.getArgument(2); - // Pass back null for ad - adLoadCallback.onAdFailedToLoad(loadAdError); - return null; - } - }) - .when(mockFlutterAdLoader) - .loadAdManagerRewardedInterstitial( - anyString(), - any(AdManagerAdRequest.class), - any(RewardedInterstitialAdLoadCallback.class)); - - flutterRewardedInterstitialAd.load(); - - verify(mockFlutterAdLoader) - .loadAdManagerRewardedInterstitial( - eq("testId"), - eq(mockAdManagerAdRequest), - any(RewardedInterstitialAdLoadCallback.class)); - - FlutterLoadAdError expectedError = new FlutterLoadAdError(loadAdError); - verify(mockManager).onAdFailedToLoad(eq(1), eq(expectedError)); - } - - @Test - public void loadAdManagerRewardedInterstitialAd_showSuccessWithReward() { - setupAdManagerMocks(); - - final RewardedInterstitialAd mockAd = mock(RewardedInterstitialAd.class); - doAnswer( - new Answer() { - @Override - public Object answer(InvocationOnMock invocation) throws Throwable { - RewardedInterstitialAdLoadCallback adLoadCallback = invocation.getArgument(2); - // Pass back null for ad - adLoadCallback.onAdLoaded(mockAd); - return null; - } - }) - .when(mockFlutterAdLoader) - .loadAdManagerRewardedInterstitial( - anyString(), - any(AdManagerAdRequest.class), - any(RewardedInterstitialAdLoadCallback.class)); - final ResponseInfo responseInfo = mock(ResponseInfo.class); - doReturn(responseInfo).when(mockAd).getResponseInfo(); - - final AdValue adValue = mock(AdValue.class); - doReturn(1).when(adValue).getPrecisionType(); - doReturn("Dollars").when(adValue).getCurrencyCode(); - doReturn(1000L).when(adValue).getValueMicros(); - doAnswer( - new Answer() { - @Override - public Object answer(InvocationOnMock invocation) { - FlutterPaidEventListener listener = invocation.getArgument(0); - listener.onPaidEvent(adValue); - return null; - } - }) - .when(mockAd) - .setOnPaidEventListener(any(FlutterPaidEventListener.class)); - - flutterRewardedInterstitialAd.load(); - - verify(mockFlutterAdLoader) - .loadAdManagerRewardedInterstitial( - eq("testId"), - eq(mockAdManagerAdRequest), - any(RewardedInterstitialAdLoadCallback.class)); - - verify(mockManager).onAdLoaded(eq(1), eq(responseInfo)); - verify(mockAd).setOnPaidEventListener(any(FlutterPaidEventListener.class)); - final ArgumentCaptor adValueCaptor = forClass(FlutterAdValue.class); - verify(mockManager).onPaidEvent(eq(flutterRewardedInterstitialAd), adValueCaptor.capture()); - assertEquals(adValueCaptor.getValue().currencyCode, "Dollars"); - assertEquals(adValueCaptor.getValue().precisionType, 1); - assertEquals(adValueCaptor.getValue().valueMicros, 1000L); - - // Setup mocks for show(). - doAnswer( - new Answer() { - @Override - public Object answer(InvocationOnMock invocation) throws Throwable { - FullScreenContentCallback callback = invocation.getArgument(0); - callback.onAdShowedFullScreenContent(); - callback.onAdImpression(); - callback.onAdClicked(); - callback.onAdDismissedFullScreenContent(); - return null; - } - }) - .when(mockAd) - .setFullScreenContentCallback(any(FullScreenContentCallback.class)); - - final RewardItem mockRewardItem = mock(RewardItem.class); - doReturn(5).when(mockRewardItem).getAmount(); - doReturn("$$").when(mockRewardItem).getType(); - doAnswer( - new Answer() { - @Override - public Object answer(InvocationOnMock invocation) throws Throwable { - OnUserEarnedRewardListener listener = invocation.getArgument(1); - listener.onUserEarnedReward(mockRewardItem); - return null; - } - }) - .when(mockAd) - .show(any(Activity.class), any(OnUserEarnedRewardListener.class)); - - doAnswer( - new Answer() { - @Override - public Object answer(InvocationOnMock invocation) throws Throwable { - OnAdMetadataChangedListener listener = invocation.getArgument(0); - listener.onAdMetadataChanged(); - return null; - } - }) - .when(mockAd) - .setOnAdMetadataChangedListener(any(OnAdMetadataChangedListener.class)); - - flutterRewardedInterstitialAd.show(); - verify(mockAd).setFullScreenContentCallback(any(FullScreenContentCallback.class)); - verify(mockAd).show(eq(mockManager.getActivity()), any(OnUserEarnedRewardListener.class)); - verify(mockAd).setOnAdMetadataChangedListener(any(OnAdMetadataChangedListener.class)); - verify(mockManager).onAdShowedFullScreenContent(eq(1)); - verify(mockManager).onAdImpression(eq(1)); - verify(mockManager).onAdClicked(eq(1)); - verify(mockManager).onAdDismissedFullScreenContent(eq(1)); - verify(mockManager).onRewardedAdUserEarnedReward(1, new FlutterRewardItem(5, "$$")); - verify(mockManager).onAdMetadataChanged(eq(1)); - - assertNull(flutterRewardedInterstitialAd.getPlatformView()); - } - - @Test - public void loadRewardedInterstitialAdWithAdManagerRequest_nullServerSideOptions() { - setupAdManagerMocks(); - - final FlutterRewardedInterstitialAd mockFlutterAd = spy(flutterRewardedInterstitialAd); - final RewardedInterstitialAd mockAd = mock(RewardedInterstitialAd.class); - final LoadAdError loadAdError = new LoadAdError(1, "2", "3", null, null); - doAnswer( - new Answer() { - @Override - public Object answer(InvocationOnMock invocation) throws Throwable { - RewardedInterstitialAdLoadCallback adLoadCallback = invocation.getArgument(2); - // Pass back null for ad - adLoadCallback.onAdLoaded(mockAd); - return null; - } - }) - .when(mockFlutterAdLoader) - .loadAdManagerRewardedInterstitial( - anyString(), - any(AdManagerAdRequest.class), - any(RewardedInterstitialAdLoadCallback.class)); - final ResponseInfo responseInfo = mock(ResponseInfo.class); - doReturn(responseInfo).when(mockAd).getResponseInfo(); - - mockFlutterAd.load(); - - verify(mockFlutterAdLoader) - .loadAdManagerRewardedInterstitial( - eq("testId"), - eq(mockAdManagerAdRequest), - any(RewardedInterstitialAdLoadCallback.class)); - - verify(mockManager).onAdLoaded(eq(1), eq(responseInfo)); - - doAnswer( - new Answer() { - @Override - public Object answer(InvocationOnMock invocation) throws Throwable { - FullScreenContentCallback callback = invocation.getArgument(0); - callback.onAdShowedFullScreenContent(); - return null; - } - }) - .when(mockAd) - .setFullScreenContentCallback(any(FullScreenContentCallback.class)); - - mockFlutterAd.show(); - verify(mockAd).setFullScreenContentCallback(any(FullScreenContentCallback.class)); - verify(mockAd).show(eq(mockManager.getActivity()), any(OnUserEarnedRewardListener.class)); - verify(mockAd).setOnAdMetadataChangedListener(any(OnAdMetadataChangedListener.class)); - } - - @Test - public void loadRewardedInterstitialAd_failToShow() { - setupAdmobMocks(); - - final RewardedInterstitialAd mockRewardedInterstitialAd = mock(RewardedInterstitialAd.class); - doAnswer( - new Answer() { - @Override - public Object answer(InvocationOnMock invocation) throws Throwable { - RewardedInterstitialAdLoadCallback adLoadCallback = invocation.getArgument(2); - // Pass back null for ad - adLoadCallback.onAdLoaded(mockRewardedInterstitialAd); - return null; - } - }) - .when(mockFlutterAdLoader) - .loadRewardedInterstitial( - anyString(), any(AdRequest.class), any(RewardedInterstitialAdLoadCallback.class)); - final ResponseInfo responseInfo = mock(ResponseInfo.class); - doReturn(responseInfo).when(mockRewardedInterstitialAd).getResponseInfo(); - flutterRewardedInterstitialAd.load(); - - verify(mockFlutterAdLoader) - .loadRewardedInterstitial( - eq("testId"), eq(mockAdRequest), any(RewardedInterstitialAdLoadCallback.class)); - - verify(mockManager).onAdLoaded(eq(1), eq(responseInfo)); - final AdError adError = new AdError(0, "ad", "error"); - doAnswer( - new Answer() { - @Override - public Object answer(InvocationOnMock invocation) throws Throwable { - FullScreenContentCallback callback = invocation.getArgument(0); - callback.onAdFailedToShowFullScreenContent(adError); - return null; - } - }) - .when(mockRewardedInterstitialAd) - .setFullScreenContentCallback(any(FullScreenContentCallback.class)); - - flutterRewardedInterstitialAd.show(); - verify(mockRewardedInterstitialAd) - .setFullScreenContentCallback(any(FullScreenContentCallback.class)); - verify(mockManager).onFailedToShowFullScreenContent(eq(1), eq(adError)); - } - - @Test - public void loadRewardedInterstitialAd_setImmersiveMode() { - setupAdmobMocks(); - - final RewardedInterstitialAd mockRewardedInterstitialAd = mock(RewardedInterstitialAd.class); - doAnswer( - new Answer() { - @Override - public Object answer(InvocationOnMock invocation) throws Throwable { - RewardedInterstitialAdLoadCallback adLoadCallback = invocation.getArgument(2); - adLoadCallback.onAdLoaded(mockRewardedInterstitialAd); - // Pass back null for ad - return null; - } - }) - .when(mockFlutterAdLoader) - .loadRewardedInterstitial( - anyString(), any(AdRequest.class), any(RewardedInterstitialAdLoadCallback.class)); - - flutterRewardedInterstitialAd.load(); - flutterRewardedInterstitialAd.setImmersiveMode(true); - verify(mockRewardedInterstitialAd).setImmersiveMode(true); - } - - @Test - public void setServerSideVerificationOptions() { - setupAdManagerMocks(); - final RewardedInterstitialAd mockAd = mock(RewardedInterstitialAd.class); - doAnswer( - new Answer() { - @Override - public Object answer(InvocationOnMock invocation) throws Throwable { - RewardedInterstitialAdLoadCallback adLoadCallback = invocation.getArgument(2); - // Pass back null for ad - adLoadCallback.onAdLoaded(mockAd); - return null; - } - }) - .when(mockFlutterAdLoader) - .loadAdManagerRewardedInterstitial( - anyString(), - any(AdManagerAdRequest.class), - any(RewardedInterstitialAdLoadCallback.class)); - - flutterRewardedInterstitialAd.load(); - - FlutterServerSideVerificationOptions fltSsv = mock(FlutterServerSideVerificationOptions.class); - ServerSideVerificationOptions ssv = mock(ServerSideVerificationOptions.class); - doReturn(ssv).when(fltSsv).asServerSideVerificationOptions(); - - flutterRewardedInterstitialAd.setServerSideVerificationOptions(fltSsv); - verify(mockAd).setServerSideVerificationOptions(eq(ssv)); - } -} diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/test/java/io/flutter/plugins/googlemobileads/FlutterVideoOptionsTest.java b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/test/java/io/flutter/plugins/googlemobileads/FlutterVideoOptionsTest.java deleted file mode 100644 index 55efe9bc..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/test/java/io/flutter/plugins/googlemobileads/FlutterVideoOptionsTest.java +++ /dev/null @@ -1,50 +0,0 @@ -// Copyright 2021 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package io.flutter.plugins.googlemobileads; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertTrue; - -import com.google.android.gms.ads.VideoOptions; -import org.junit.Test; - -/** Tests for {@link FlutterVideoOptions}. */ -public class FlutterVideoOptionsTest { - - @Test - public void testVideoOptions_null() { - FlutterVideoOptions flutterVideoOptions = new FlutterVideoOptions(null, null, null); - - VideoOptions videoOptions = flutterVideoOptions.asVideoOptions(); - VideoOptions defaultOptions = new VideoOptions.Builder().build(); - assertEquals( - videoOptions.getClickToExpandRequested(), defaultOptions.getClickToExpandRequested()); - assertEquals( - videoOptions.getCustomControlsRequested(), defaultOptions.getCustomControlsRequested()); - assertEquals(videoOptions.getStartMuted(), defaultOptions.getStartMuted()); - } - - @Test - public void testVideoOptions() { - FlutterVideoOptions flutterVideoOptions = new FlutterVideoOptions(true, false, true); - - VideoOptions videoOptions = flutterVideoOptions.asVideoOptions(); - - assertTrue(videoOptions.getClickToExpandRequested()); - assertFalse(videoOptions.getCustomControlsRequested()); - assertTrue(videoOptions.getStartMuted()); - } -} diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/test/java/io/flutter/plugins/googlemobileads/GoogleMobileAdsTest.java b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/test/java/io/flutter/plugins/googlemobileads/GoogleMobileAdsTest.java deleted file mode 100644 index a25e8a88..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/test/java/io/flutter/plugins/googlemobileads/GoogleMobileAdsTest.java +++ /dev/null @@ -1,1035 +0,0 @@ -// Copyright 2021 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package io.flutter.plugins.googlemobileads; - -import static org.hamcrest.Matchers.hasEntry; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertNull; -import static org.junit.Assert.assertThat; -import static org.mockito.ArgumentMatchers.any; -import static org.mockito.ArgumentMatchers.eq; -import static org.mockito.ArgumentMatchers.isNull; -import static org.mockito.Mockito.doAnswer; -import static org.mockito.Mockito.doReturn; -import static org.mockito.Mockito.mock; -import static org.mockito.Mockito.spy; -import static org.mockito.Mockito.verify; -import static org.mockito.Mockito.verifyNoInteractions; - -import android.app.Activity; -import android.content.Context; -import android.os.Bundle; -import androidx.test.core.app.ApplicationProvider; -import com.google.android.gms.ads.AdError; -import com.google.android.gms.ads.AdInspectorError; -import com.google.android.gms.ads.AdSize; -import com.google.android.gms.ads.AdView; -import com.google.android.gms.ads.AdapterResponseInfo; -import com.google.android.gms.ads.OnAdInspectorClosedListener; -import com.google.android.gms.ads.RequestConfiguration; -import com.google.android.gms.ads.ResponseInfo; -import com.google.android.gms.ads.admanager.AdManagerAdView; -import com.google.android.gms.ads.initialization.InitializationStatus; -import com.google.android.gms.ads.initialization.OnInitializationCompleteListener; -import com.google.android.gms.ads.nativead.NativeAd; -import com.google.android.gms.ads.nativead.NativeAdView; -import io.flutter.embedding.engine.plugins.FlutterPlugin.FlutterPluginBinding; -import io.flutter.embedding.engine.plugins.activity.ActivityPluginBinding; -import io.flutter.plugin.common.BinaryMessenger; -import io.flutter.plugin.common.MethodCall; -import io.flutter.plugin.common.MethodChannel; -import io.flutter.plugin.common.MethodChannel.Result; -import io.flutter.plugin.common.StandardMethodCodec; -import io.flutter.plugin.platform.PlatformViewRegistry; -import io.flutter.plugins.googlemobileads.FlutterAd.FlutterResponseInfo; -import java.nio.ByteBuffer; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collections; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import org.hamcrest.Matcher; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.ArgumentCaptor; -import org.mockito.ArgumentMatchers; -import org.mockito.invocation.InvocationOnMock; -import org.mockito.stubbing.Answer; -import org.robolectric.Robolectric; -import org.robolectric.RobolectricTestRunner; - -/** Tests {@link AdInstanceManager}. */ -@RunWith(RobolectricTestRunner.class) -public class GoogleMobileAdsTest { - private AdInstanceManager testManager; - private final FlutterAdRequest request = new FlutterAdRequest.Builder().build(); - private Activity mockActivity; - private Context mockContext; - private FlutterPluginBinding mockFlutterPluginBinding; - private static BinaryMessenger mockMessenger; - private static FlutterRequestAgentProvider mockFlutterRequestAgentProvider = - mock(FlutterRequestAgentProvider.class); - - private static MethodCall getLastMethodCall() { - Robolectric.flushForegroundThreadScheduler(); - final ArgumentCaptor byteBufferCaptor = ArgumentCaptor.forClass(ByteBuffer.class); - verify(mockMessenger) - .send( - eq("plugins.flutter.io/google_mobile_ads"), - byteBufferCaptor.capture(), - (BinaryMessenger.BinaryReply) isNull()); - - return new StandardMethodCodec(new AdMessageCodec(null, mockFlutterRequestAgentProvider)) - .decodeMethodCall((ByteBuffer) byteBufferCaptor.getValue().position(0)); - } - - @Before - public void setup() { - mockMessenger = mock(BinaryMessenger.class); - mockActivity = mock(Activity.class); - doAnswer( - new Answer() { - @Override - public Object answer(InvocationOnMock invocation) { - Runnable runnable = invocation.getArgument(0); - runnable.run(); - return null; - } - }) - .when(mockActivity) - .runOnUiThread(ArgumentMatchers.any(Runnable.class)); - mockFlutterRequestAgentProvider = mock(FlutterRequestAgentProvider.class); - MethodChannel methodChannel = - new MethodChannel( - mockMessenger, - "plugins.flutter.io/google_mobile_ads", - new StandardMethodCodec( - new AdMessageCodec(mockActivity, mockFlutterRequestAgentProvider))); - testManager = new AdInstanceManager(methodChannel); - testManager.setActivity(mockActivity); - mockContext = mock(Context.class); - mockFlutterPluginBinding = mock(FlutterPluginBinding.class); - doReturn(mockContext).when(mockFlutterPluginBinding).getApplicationContext(); - } - - @Test - public void loadAd() { - final FlutterBannerAd bannerAd = - new FlutterBannerAd( - 1, - testManager, - "testId", - request, - new FlutterAdSize(1, 2), - mock(BannerAdCreator.class)); - testManager.trackAd(bannerAd, 0); - - assertNotNull(testManager.adForId(0)); - assertEquals(bannerAd, testManager.adForId(0)); - assertEquals(0, testManager.adIdFor(bannerAd).intValue()); - } - - @Test - public void disposeAd_banner() { - FlutterBannerAd bannerAd = mock(FlutterBannerAd.class); - - testManager.trackAd(bannerAd, 2); - assertNotNull(testManager.adForId(2)); - assertNotNull(testManager.adIdFor(bannerAd)); - testManager.disposeAd(2); - verify(bannerAd).dispose(); - assertNull(testManager.adForId(2)); - assertNull(testManager.adIdFor(bannerAd)); - } - - @Test - public void disposeAd_adManagerBanner() { - FlutterAdManagerBannerAd adManagerBannerAd = mock(FlutterAdManagerBannerAd.class); - - testManager.trackAd(adManagerBannerAd, 2); - assertNotNull(testManager.adForId(2)); - assertNotNull(testManager.adIdFor(adManagerBannerAd)); - testManager.disposeAd(2); - verify(adManagerBannerAd).dispose(); - assertNull(testManager.adForId(2)); - assertNull(testManager.adIdFor(adManagerBannerAd)); - } - - @Test - public void disposeAd_native() { - FlutterNativeAd flutterNativeAd = mock(FlutterNativeAd.class); - - testManager.trackAd(flutterNativeAd, 2); - assertNotNull(testManager.adForId(2)); - assertNotNull(testManager.adIdFor(flutterNativeAd)); - testManager.disposeAd(2); - verify(flutterNativeAd).dispose(); - assertNull(testManager.adForId(2)); - assertNull(testManager.adIdFor(flutterNativeAd)); - } - - @Test - public void flutterAdListener_onAdLoaded() { - final FlutterBannerAd bannerAd = - new FlutterBannerAd( - 0, - testManager, - "testId", - request, - new FlutterAdSize(1, 2), - mock(BannerAdCreator.class)); - testManager.trackAd(bannerAd, 0); - - AdError adError = mock(AdError.class); - doReturn(1).when(adError).getCode(); - doReturn("domain").when(adError).getDomain(); - doReturn("message").when(adError).getMessage(); - - Bundle credentials = new Bundle(); - credentials.putString("key", "value"); - - AdapterResponseInfo adapterInfo = mock(AdapterResponseInfo.class); - doReturn("adapter-class").when(adapterInfo).getAdapterClassName(); - doReturn(adError).when(adapterInfo).getAdError(); - doReturn(123L).when(adapterInfo).getLatencyMillis(); - doReturn(credentials).when(adapterInfo).getCredentials(); - doReturn("description").when(adapterInfo).toString(); - - AdapterResponseInfo adapterInfoWithNullError = mock(AdapterResponseInfo.class); - doReturn("adapter-class").when(adapterInfoWithNullError).getAdapterClassName(); - doReturn(null).when(adapterInfoWithNullError).getAdError(); - doReturn(123L).when(adapterInfoWithNullError).getLatencyMillis(); - doReturn(null).when(adapterInfoWithNullError).getCredentials(); - doReturn("description").when(adapterInfoWithNullError).toString(); - - List adapterResponses = new ArrayList<>(); - adapterResponses.add(adapterInfo); - adapterResponses.add(adapterInfoWithNullError); - - ResponseInfo responseInfo = mock(ResponseInfo.class); - doReturn("response-id").when(responseInfo).getResponseId(); - doReturn("class-name").when(responseInfo).getMediationAdapterClassName(); - doReturn(adapterResponses).when(responseInfo).getAdapterResponses(); - - testManager.onAdLoaded(0, responseInfo); - - final MethodCall call = getLastMethodCall(); - assertEquals("onAdEvent", call.method); - //noinspection rawtypes - assertThat(call.arguments, (Matcher) hasEntry("eventName", "onAdLoaded")); - //noinspection rawtypes - assertThat(call.arguments, (Matcher) hasEntry("adId", 0)); - assertThat( - call.arguments, (Matcher) hasEntry("responseInfo", new FlutterResponseInfo(responseInfo))); - } - - @Test - public void flutterAdListener_onAdLoaded_responseInfoNull() { - final FlutterBannerAd bannerAd = - new FlutterBannerAd( - 0, - testManager, - "testId", - request, - new FlutterAdSize(1, 2), - mock(BannerAdCreator.class)); - testManager.trackAd(bannerAd, 0); - - testManager.onAdLoaded(0, null); - - final MethodCall call = getLastMethodCall(); - assertEquals("onAdEvent", call.method); - //noinspection rawtypes - assertThat(call.arguments, (Matcher) hasEntry("eventName", "onAdLoaded")); - //noinspection rawtypes - assertThat(call.arguments, (Matcher) hasEntry("adId", 0)); - assertThat(call.arguments, (Matcher) hasEntry("responseInfo", null)); - } - - @Test - public void flutterAdListener_onAdFailedToLoad() { - final FlutterBannerAd bannerAd = - new FlutterBannerAd( - 0, - testManager, - "testId", - request, - new FlutterAdSize(1, 2), - mock(BannerAdCreator.class)); - testManager.trackAd(bannerAd, 0); - - testManager.onAdFailedToLoad(0, new FlutterAd.FlutterLoadAdError(1, "hi", "friend", null)); - - final MethodCall call = getLastMethodCall(); - assertEquals("onAdEvent", call.method); - //noinspection rawtypes - assertThat(call.arguments, (Matcher) hasEntry("eventName", "onAdFailedToLoad")); - //noinspection rawtypes - assertThat(call.arguments, (Matcher) hasEntry("adId", 0)); - //noinspection rawtypes - assertThat( - call.arguments, - (Matcher) - hasEntry("loadAdError", new FlutterAd.FlutterLoadAdError(1, "hi", "friend", null))); - } - - @Test - public void flutterAdListener_onAppEvent() { - final FlutterBannerAd bannerAd = - new FlutterBannerAd( - 0, - testManager, - "testId", - request, - new FlutterAdSize(1, 2), - mock(BannerAdCreator.class)); - testManager.trackAd(bannerAd, 0); - - testManager.onAppEvent(0, "color", "red"); - - final MethodCall call = getLastMethodCall(); - assertEquals("onAdEvent", call.method); - //noinspection rawtypes - assertThat(call.arguments, (Matcher) hasEntry("eventName", "onAppEvent")); - //noinspection rawtypes - assertThat(call.arguments, (Matcher) hasEntry("adId", 0)); - //noinspection rawtypes - assertThat(call.arguments, (Matcher) hasEntry("name", "color")); - //noinspection rawtypes - assertThat(call.arguments, (Matcher) hasEntry("data", "red")); - } - - @Test - public void flutterAdListener_onAdOpened() { - final FlutterBannerAd bannerAd = - new FlutterBannerAd( - 0, - testManager, - "testId", - request, - new FlutterAdSize(1, 2), - mock(BannerAdCreator.class)); - testManager.trackAd(bannerAd, 0); - - testManager.onAdOpened(0); - - final MethodCall call = getLastMethodCall(); - assertEquals("onAdEvent", call.method); - //noinspection rawtypes - assertThat(call.arguments, (Matcher) hasEntry("eventName", "onAdOpened")); - //noinspection rawtypes - assertThat(call.arguments, (Matcher) hasEntry("adId", 0)); - } - - @Test - public void flutterAdListener_onNativeAdClicked() { - final FlutterNativeAd nativeAd = - new FlutterNativeAd.Builder(ApplicationProvider.getApplicationContext()) - .setManager(testManager) - .setAdUnitId("testId") - .setRequest(request) - .setAdFactory( - new GoogleMobileAdsPlugin.NativeAdFactory() { - @Override - public NativeAdView createNativeAd( - NativeAd nativeAd, Map customOptions) { - return null; - } - }) - .setId(0) - .build(); - testManager.trackAd(nativeAd, 0); - - testManager.onAdClicked(0); - - final MethodCall call = getLastMethodCall(); - assertEquals("onAdEvent", call.method); - //noinspection rawtypes - assertThat(call.arguments, (Matcher) hasEntry("eventName", "onAdClicked")); - //noinspection rawtypes - assertThat(call.arguments, (Matcher) hasEntry("adId", 0)); - } - - @Test - public void flutterAdListener_onNativeAdImpression() { - final FlutterNativeAd nativeAd = - new FlutterNativeAd.Builder(ApplicationProvider.getApplicationContext()) - .setManager(testManager) - .setAdUnitId("testId") - .setRequest(request) - .setAdFactory( - new GoogleMobileAdsPlugin.NativeAdFactory() { - @Override - public NativeAdView createNativeAd( - NativeAd nativeAd, Map customOptions) { - return null; - } - }) - .setId(0) - .build(); - testManager.trackAd(nativeAd, 0); - - testManager.onAdImpression(0); - - final MethodCall call = getLastMethodCall(); - assertEquals("onAdEvent", call.method); - //noinspection rawtypes - assertThat(call.arguments, (Matcher) hasEntry("eventName", "onAdImpression")); - //noinspection rawtypes - assertThat(call.arguments, (Matcher) hasEntry("adId", 0)); - } - - @Test - public void flutterAdListener_onAdClosed() { - final FlutterBannerAd bannerAd = - new FlutterBannerAd( - 0, - testManager, - "testId", - request, - new FlutterAdSize(1, 2), - mock(BannerAdCreator.class)); - testManager.trackAd(bannerAd, 0); - - testManager.onAdClosed(0); - - final MethodCall call = getLastMethodCall(); - assertEquals("onAdEvent", call.method); - //noinspection rawtypes - assertThat(call.arguments, (Matcher) hasEntry("eventName", "onAdClosed")); - //noinspection rawtypes - assertThat(call.arguments, (Matcher) hasEntry("adId", 0)); - } - - @Test - public void flutterAdListener_onRewardedAdUserEarnedReward() { - FlutterAdLoader mockFlutterAdLoader = mock(FlutterAdLoader.class); - final FlutterRewardedAd ad = - new FlutterRewardedAd(0, testManager, "testId", request, mockFlutterAdLoader); - testManager.trackAd(ad, 0); - - testManager.onRewardedAdUserEarnedReward( - 0, new FlutterRewardedAd.FlutterRewardItem(23, "coins")); - - final MethodCall call = getLastMethodCall(); - assertEquals("onAdEvent", call.method); - //noinspection rawtypes - assertThat(call.arguments, (Matcher) hasEntry("eventName", "onRewardedAdUserEarnedReward")); - //noinspection rawtypes - assertThat(call.arguments, (Matcher) hasEntry("adId", 0)); - //noinspection rawtypes - assertThat( - call.arguments, - (Matcher) hasEntry("rewardItem", new FlutterRewardedAd.FlutterRewardItem(23, "coins"))); - } - - @Test - public void internalInitDisposesAds() { - // Set up testManager so that two ads have already been loaded and tracked. - final FlutterRewardedAd rewarded = mock(FlutterRewardedAd.class); - final FlutterBannerAd banner = mock(FlutterBannerAd.class); - - testManager.trackAd(rewarded, 0); - testManager.trackAd(banner, 1); - - assertEquals(testManager.adIdFor(rewarded), (Integer) 0); - assertEquals(testManager.adIdFor(banner), (Integer) 1); - assertEquals(testManager.adForId(0), rewarded); - assertEquals(testManager.adForId(1), banner); - - // Check that ads are removed and disposed when "_init" is called. - AdInstanceManager testManagerSpy = spy(testManager); - GoogleMobileAdsPlugin plugin = - new GoogleMobileAdsPlugin( - mockFlutterPluginBinding, testManagerSpy, new FlutterMobileAdsWrapper()); - Result result = mock(Result.class); - MethodCall methodCall = new MethodCall("_init", null); - plugin.onMethodCall(methodCall, result); - - verify(testManagerSpy).disposeAllAds(); - verify(result).success(null); - verify(rewarded).dispose(); - verify(banner).dispose(); - assertNull(testManager.adForId(0)); - assertNull(testManager.adForId(1)); - assertNull(testManager.adIdFor(rewarded)); - assertNull(testManager.adIdFor(banner)); - } - - @Test - public void initializeCallbackInvokedTwice() { - AdInstanceManager testManagerSpy = spy(testManager); - FlutterMobileAdsWrapper mockMobileAds = mock(FlutterMobileAdsWrapper.class); - GoogleMobileAdsPlugin plugin = - new GoogleMobileAdsPlugin(mockFlutterPluginBinding, testManagerSpy, mockMobileAds); - final InitializationStatus mockInitStatus = mock(InitializationStatus.class); - doAnswer( - new Answer() { - @Override - public Object answer(InvocationOnMock invocation) { - // Invoke init listener twice. - OnInitializationCompleteListener listener = invocation.getArgument(1); - listener.onInitializationComplete(mockInitStatus); - listener.onInitializationComplete(mockInitStatus); - return null; - } - }) - .when(mockMobileAds) - .initialize( - ArgumentMatchers.any(Context.class), - ArgumentMatchers.any(OnInitializationCompleteListener.class)); - - MethodCall methodCall = new MethodCall("MobileAds#initialize", null); - Result result = mock(Result.class); - plugin.onMethodCall(methodCall, result); - - verify(result).success(ArgumentMatchers.any(FlutterInitializationStatus.class)); - } - - @Test - public void openAdInspector_error() { - AdInstanceManager testManagerSpy = spy(testManager); - FlutterMobileAdsWrapper mockMobileAds = mock(FlutterMobileAdsWrapper.class); - GoogleMobileAdsPlugin plugin = - new GoogleMobileAdsPlugin(mockFlutterPluginBinding, testManagerSpy, mockMobileAds); - - doAnswer( - invocation -> { - OnAdInspectorClosedListener listener = invocation.getArgument(1); - final AdInspectorError error = mock(AdInspectorError.class); - doReturn(1).when(error).getCode(); - doReturn("domain").when(error).getDomain(); - doReturn("message").when(error).getMessage(); - listener.onAdInspectorClosed(error); - return null; - }) - .when(mockMobileAds) - .openAdInspector( - ArgumentMatchers.any(Context.class), - ArgumentMatchers.any(OnAdInspectorClosedListener.class)); - - MethodCall methodCall = new MethodCall("MobileAds#openAdInspector", null); - Result result = mock(Result.class); - plugin.onMethodCall(methodCall, result); - - verify(result).error(eq("1"), eq("message"), eq("domain")); - } - - @Test - public void openAdInspector_success() { - AdInstanceManager testManagerSpy = spy(testManager); - FlutterMobileAdsWrapper mockMobileAds = mock(FlutterMobileAdsWrapper.class); - GoogleMobileAdsPlugin plugin = - new GoogleMobileAdsPlugin(mockFlutterPluginBinding, testManagerSpy, mockMobileAds); - - doAnswer( - invocation -> { - OnAdInspectorClosedListener listener = invocation.getArgument(1); - listener.onAdInspectorClosed(null); - return null; - }) - .when(mockMobileAds) - .openAdInspector( - ArgumentMatchers.any(Context.class), - ArgumentMatchers.any(OnAdInspectorClosedListener.class)); - - MethodCall methodCall = new MethodCall("MobileAds#openAdInspector", null); - Result result = mock(Result.class); - plugin.onMethodCall(methodCall, result); - - verify(result).success(null); - } - - @Test - public void registerWebView() { - AdInstanceManager testManagerSpy = spy(testManager); - FlutterMobileAdsWrapper mockMobileAds = mock(FlutterMobileAdsWrapper.class); - GoogleMobileAdsPlugin plugin = - new GoogleMobileAdsPlugin(mockFlutterPluginBinding, testManagerSpy, mockMobileAds); - - MethodCall methodCall = - new MethodCall("MobileAds#registerWebView", Collections.singletonMap("webViewId", 1)); - Result result = mock(Result.class); - plugin.onMethodCall(methodCall, result); - - verify(result).success(null); - } - - @Test - public void testPluginUsesActivityWhenAvailable() { - FlutterMobileAdsWrapper flutterMobileAdsWrapper = mock(FlutterMobileAdsWrapper.class); - BinaryMessenger mockBinaryMessenger = mock(BinaryMessenger.class); - doReturn(ApplicationProvider.getApplicationContext()) - .when(mockFlutterPluginBinding) - .getApplicationContext(); - doReturn(mockBinaryMessenger).when(mockFlutterPluginBinding).getBinaryMessenger(); - PlatformViewRegistry mockPlatformViewRegistry = mock(PlatformViewRegistry.class); - - doReturn(mockPlatformViewRegistry).when(mockFlutterPluginBinding).getPlatformViewRegistry(); - - GoogleMobileAdsPlugin plugin = new GoogleMobileAdsPlugin(null, null, flutterMobileAdsWrapper); - plugin.onAttachedToEngine(mockFlutterPluginBinding); - - MethodCall methodCall = new MethodCall("MobileAds#initialize", null); - Result result = mock(Result.class); - plugin.onMethodCall(methodCall, result); - - // Check that we use application context if activity is not available. - verify(flutterMobileAdsWrapper) - .initialize(eq(ApplicationProvider.getApplicationContext()), any()); - - // Activity should be used instead of application context - ActivityPluginBinding activityPluginBinding = mock(ActivityPluginBinding.class); - doReturn(mockActivity).when(activityPluginBinding).getActivity(); - plugin.onAttachedToActivity(activityPluginBinding); - - plugin.onMethodCall(methodCall, result); - - verify(flutterMobileAdsWrapper).initialize(eq(mockActivity), any()); - } - - @Test - public void testGetRequestConfiguration() { - AdInstanceManager testManagerSpy = spy(testManager); - FlutterMobileAdsWrapper mockMobileAds = mock(FlutterMobileAdsWrapper.class); - GoogleMobileAdsPlugin plugin = - new GoogleMobileAdsPlugin(mockFlutterPluginBinding, testManagerSpy, mockMobileAds); - RequestConfiguration.Builder rcb = new RequestConfiguration.Builder(); - rcb.setMaxAdContentRating(RequestConfiguration.MAX_AD_CONTENT_RATING_MA); - rcb.setTagForChildDirectedTreatment(RequestConfiguration.TAG_FOR_CHILD_DIRECTED_TREATMENT_TRUE); - rcb.setTagForUnderAgeOfConsent(RequestConfiguration.TAG_FOR_UNDER_AGE_OF_CONSENT_TRUE); - rcb.setTestDeviceIds(new ArrayList(Arrays.asList("id1", "id2"))); - RequestConfiguration rc = rcb.build(); - doReturn(rc).when(mockMobileAds).getRequestConfiguration(); - - MethodCall methodCall = new MethodCall("MobileAds#getRequestConfiguration", null); - Result result = mock(Result.class); - plugin.onMethodCall(methodCall, result); - - verify(result).success(rc); - } - - @Test(expected = IllegalArgumentException.class) - public void trackAdThrowsErrorForDuplicateId() { - final FlutterBannerAd banner = mock(FlutterBannerAd.class); - testManager.trackAd(banner, 0); - testManager.trackAd(banner, 0); - } - - @Test - public void testOnPaidEvent() { - final FlutterBannerAd banner = mock(FlutterBannerAd.class); - final FlutterAdValue flutterAdValue = new FlutterAdValue(1, "code", 1L); - testManager.trackAd(banner, 1); - testManager.onPaidEvent(banner, flutterAdValue); - final MethodCall call = getLastMethodCall(); - assertEquals("onAdEvent", call.method); - //noinspection rawtypes - Map args = (Map) call.arguments; - assertEquals(args.get("eventName"), "onPaidEvent"); - assertEquals(args.get("adId"), 1); - assertEquals(args.get("valueMicros"), 1L); - assertEquals(args.get("precision"), 1); - assertEquals(args.get("currencyCode"), "code"); - } - - @Test - public void testSetAppMuted() { - AdInstanceManager testManagerSpy = spy(testManager); - FlutterMobileAdsWrapper mockMobileAds = mock(FlutterMobileAdsWrapper.class); - GoogleMobileAdsPlugin plugin = - new GoogleMobileAdsPlugin(mockFlutterPluginBinding, testManagerSpy, mockMobileAds); - - // Create a map for passing arguments to the MethodCall - HashMap trueArguments = new HashMap<>(); - trueArguments.put("muted", true); - - // Invoke the setAppMuted method with the arguments. - MethodCall methodCall = new MethodCall("MobileAds#setAppMuted", trueArguments); - Result result = mock(Result.class); - plugin.onMethodCall(methodCall, result); - - // Verify that mockMobileAds.setAppMuted() was called with the correct value. - verify(mockMobileAds).setAppMuted(eq(true)); - - // Create a map for passing arguments to the MethodCall - HashMap falseArguments = new HashMap<>(); - falseArguments.put("muted", false); - - // Invoke the setAppMuted method with the arguments. - MethodCall falseMethodCall = new MethodCall("MobileAds#setAppMuted", falseArguments); - Result falseResult = mock(Result.class); - plugin.onMethodCall(falseMethodCall, falseResult); - - // Verify that mockMobileAds.setAppMuted() was called with the correct value. - verify(mockMobileAds).setAppMuted(eq(false)); - } - - @Test - public void testSetAppVolume() { - AdInstanceManager testManagerSpy = spy(testManager); - FlutterMobileAdsWrapper mockMobileAds = mock(FlutterMobileAdsWrapper.class); - GoogleMobileAdsPlugin plugin = - new GoogleMobileAdsPlugin(mockFlutterPluginBinding, testManagerSpy, mockMobileAds); - - // Create a map for passing arguments to the MethodCall. - HashMap fullVolumeArguments = new HashMap<>(); - fullVolumeArguments.put("volume", 1.0); - - // Invoke the setAppVolume method with the arguments. - MethodCall methodCall = new MethodCall("MobileAds#setAppVolume", fullVolumeArguments); - Result result = mock(Result.class); - plugin.onMethodCall(methodCall, result); - - // Verify that mockMobileAds.setAppVolume() was called with the correct value. - verify(mockMobileAds).setAppVolume(eq(1.0)); - } - - @Test - public void testDisableMediationInitialization() { - AdInstanceManager testManagerSpy = spy(testManager); - FlutterMobileAdsWrapper mockMobileAds = mock(FlutterMobileAdsWrapper.class); - GoogleMobileAdsPlugin plugin = - new GoogleMobileAdsPlugin(mockFlutterPluginBinding, testManagerSpy, mockMobileAds); - // Invoke the disableMediationInitialization method. - MethodCall methodCall = new MethodCall("MobileAds#disableMediationInitialization", null); - Result result = mock(Result.class); - plugin.onMethodCall(methodCall, result); - - Robolectric.flushForegroundThreadScheduler(); - // Verify that mockMobileAds.disableMediationInitialization() was called. - verify(mockMobileAds).disableMediationInitialization(ArgumentMatchers.any(Context.class)); - } - - @Test - public void testGetVersionString() { - AdInstanceManager testManagerSpy = spy(testManager); - FlutterMobileAdsWrapper mockMobileAds = mock(FlutterMobileAdsWrapper.class); - GoogleMobileAdsPlugin plugin = - new GoogleMobileAdsPlugin(mockFlutterPluginBinding, testManagerSpy, mockMobileAds); - // Stub getVersionString() to return a value. - doReturn("Test-SDK-Version").when(mockMobileAds).getVersionString(); - - // Invoke the getVersionString method. - MethodCall methodCall = new MethodCall("MobileAds#getVersionString", null); - Result result = mock(Result.class); - plugin.onMethodCall(methodCall, result); - - // Verify that mockMobileAds.getVersionString() was called and a value is returned. - verify(mockMobileAds).getVersionString(); - verify(result).success("Test-SDK-Version"); - } - - @Test - public void testOpenDebugMenu() { - AdInstanceManager testManagerSpy = spy(testManager); - FlutterMobileAdsWrapper mockMobileAds = mock(FlutterMobileAdsWrapper.class); - GoogleMobileAdsPlugin plugin = - new GoogleMobileAdsPlugin(mockFlutterPluginBinding, testManagerSpy, mockMobileAds); - MethodCall methodCall = - new MethodCall( - "MobileAds#openDebugMenu", Collections.singletonMap("adUnitId", "test-ad-unit")); - Result result = mock(Result.class); - - plugin.onMethodCall(methodCall, result); - - verify(mockMobileAds).openDebugMenu(eq(mockActivity), eq("test-ad-unit")); - verify(result).success(isNull()); - } - - @Test - public void testGetAnchoredAdaptiveBannerAdSize() { - // Setup mocks - AdInstanceManager testManagerSpy = spy(testManager); - FlutterMobileAdsWrapper mockMobileAds = mock(FlutterMobileAdsWrapper.class); - GoogleMobileAdsPlugin plugin = - new GoogleMobileAdsPlugin(mockFlutterPluginBinding, testManagerSpy, mockMobileAds); - - BinaryMessenger mockBinaryMessenger = mock(BinaryMessenger.class); - FlutterPluginBinding mockActivityPluginBinding = mock(FlutterPluginBinding.class); - PlatformViewRegistry mockPlatformViewRegistry = mock(PlatformViewRegistry.class); - - Context context = ApplicationProvider.getApplicationContext(); - - doReturn(context).when(mockActivityPluginBinding).getApplicationContext(); - doReturn(mockBinaryMessenger).when(mockActivityPluginBinding).getBinaryMessenger(); - doReturn(mockPlatformViewRegistry).when(mockActivityPluginBinding).getPlatformViewRegistry(); - - plugin.onAttachedToEngine(mockActivityPluginBinding); - - // Test for portrait Banner AdSize. - HashMap arguments = new HashMap<>(); - arguments.put("orientation", "portrait"); - arguments.put("width", 23); - - AdSize adSize = AdSize.getPortraitAnchoredAdaptiveBannerAdSize(context, 23); - MethodCall methodCall = new MethodCall("AdSize#getAnchoredAdaptiveBannerAdSize", arguments); - Result result = mock(Result.class); - plugin.onMethodCall(methodCall, result); - - verify(result).success(adSize.getHeight()); - - adSize = AdSize.getLargePortraitAnchoredAdaptiveBannerAdSize(context, 23); - methodCall = new MethodCall("AdSize#getLargeAnchoredAdaptiveBannerAdSize", arguments); - result = mock(Result.class); - plugin.onMethodCall(methodCall, result); - - verify(result).success(adSize.getHeight()); - - // Test for landscape Banner AdSize. - arguments = new HashMap<>(); - arguments.put("orientation", "landscape"); - arguments.put("width", 23); - - adSize = AdSize.getLandscapeAnchoredAdaptiveBannerAdSize(context, 23); - methodCall = new MethodCall("AdSize#getAnchoredAdaptiveBannerAdSize", arguments); - result = mock(Result.class); - plugin.onMethodCall(methodCall, result); - - verify(result).success(adSize.getHeight()); - - adSize = AdSize.getLargeLandscapeAnchoredAdaptiveBannerAdSize(context, 23); - methodCall = new MethodCall("AdSize#getLargeAnchoredAdaptiveBannerAdSize", arguments); - result = mock(Result.class); - plugin.onMethodCall(methodCall, result); - - verify(result).success(adSize.getHeight()); - - // Test for current orientation (inferred) Banner AdSize. - arguments = new HashMap<>(); - arguments.put("width", 23); - - adSize = AdSize.getCurrentOrientationAnchoredAdaptiveBannerAdSize(context, 23); - methodCall = new MethodCall("AdSize#getAnchoredAdaptiveBannerAdSize", arguments); - result = mock(Result.class); - plugin.onMethodCall(methodCall, result); - - verify(result).success(adSize.getHeight()); - - adSize = AdSize.getLargeAnchoredAdaptiveBannerAdSize(context, 23); - methodCall = new MethodCall("AdSize#getLargeAnchoredAdaptiveBannerAdSize", arguments); - result = mock(Result.class); - plugin.onMethodCall(methodCall, result); - - verify(result).success(adSize.getHeight()); - } - - public void testGetAdSize_bannerAd() { - // Setup mocks - AdInstanceManager testManagerSpy = spy(testManager); - FlutterMobileAdsWrapper mockMobileAds = mock(FlutterMobileAdsWrapper.class); - GoogleMobileAdsPlugin plugin = - new GoogleMobileAdsPlugin(mockFlutterPluginBinding, testManagerSpy, mockMobileAds); - GoogleMobileAdsPlugin pluginSpy = spy(plugin); - BannerAdCreator bannerAdCreator = mock(BannerAdCreator.class); - AdView adView = mock(AdView.class); - doReturn(adView).when(bannerAdCreator).createAdView(); - doReturn(bannerAdCreator) - .when(pluginSpy) - .getBannerAdCreator(ArgumentMatchers.any(Context.class)); - - // Load a banner ad - Map loadArgs = new HashMap<>(); - loadArgs.put("adId", 1); - loadArgs.put("adUnitId", "test-ad-unit"); - loadArgs.put("request", new FlutterAdRequest.Builder().build()); - loadArgs.put("size", new FlutterAdSize(1, 2)); - - MethodCall loadBannerMethodCall = new MethodCall("loadBannerAd", loadArgs); - Result result = mock(Result.class); - pluginSpy.onMethodCall(loadBannerMethodCall, result); - verify(result).success(null); - - // Mock response for adView.getAdSize(); - AdSize adSize = mock(AdSize.class); - doReturn(adSize).when(adView).getAdSize(); - - // Method call for getAdSize. - Result getAdSizeResult = mock(Result.class); - Map getAdSizeArgs = Collections.singletonMap("adId", (Object) 1); - MethodCall getAdSizeMethodCall = new MethodCall("getAdSize", getAdSizeArgs); - pluginSpy.onMethodCall(getAdSizeMethodCall, getAdSizeResult); - - ArgumentCaptor argumentCaptor = ArgumentCaptor.forClass(FlutterAdSize.class); - verify(getAdSizeResult).success(argumentCaptor.capture()); - assertEquals(argumentCaptor.getValue().getAdSize(), adSize); - } - - @Test - public void testGetAdSize_adManagerBannerAd() { - // Setup mocks - AdInstanceManager testManagerSpy = spy(testManager); - FlutterMobileAdsWrapper mockMobileAds = mock(FlutterMobileAdsWrapper.class); - GoogleMobileAdsPlugin plugin = - new GoogleMobileAdsPlugin(mockFlutterPluginBinding, testManagerSpy, mockMobileAds); - GoogleMobileAdsPlugin pluginSpy = spy(plugin); - BannerAdCreator bannerAdCreator = mock(BannerAdCreator.class); - AdManagerAdView adView = mock(AdManagerAdView.class); - doReturn(adView).when(bannerAdCreator).createAdManagerAdView(); - doReturn(bannerAdCreator) - .when(pluginSpy) - .getBannerAdCreator(ArgumentMatchers.any(Context.class)); - - // Load a banner ad - Map loadArgs = new HashMap<>(); - loadArgs.put("adId", 1); - loadArgs.put("adUnitId", "test-ad-unit"); - loadArgs.put("request", new FlutterAdManagerAdRequest.Builder().build()); - loadArgs.put("sizes", Collections.singletonList(new FlutterAdSize(1, 2))); - - MethodCall loadBannerMethodCall = new MethodCall("loadAdManagerBannerAd", loadArgs); - Result result = mock(Result.class); - pluginSpy.onMethodCall(loadBannerMethodCall, result); - verify(result).success(null); - - // Mock response for adView.getAdSize(); - AdSize adSize = mock(AdSize.class); - doReturn(adSize).when(adView).getAdSize(); - - // Method call for getAdSize. - Result getAdSizeResult = mock(Result.class); - Map getAdSizeArgs = Collections.singletonMap("adId", (Object) 1); - MethodCall getAdSizeMethodCall = new MethodCall("getAdSize", getAdSizeArgs); - pluginSpy.onMethodCall(getAdSizeMethodCall, getAdSizeResult); - - ArgumentCaptor argumentCaptor = ArgumentCaptor.forClass(FlutterAdSize.class); - verify(getAdSizeResult).success(argumentCaptor.capture()); - assertEquals(argumentCaptor.getValue().getAdSize(), adSize); - } - - @Test - public void testAppStateNotifyDetachFromEngine() { - AppStateNotifier notifier = mock(AppStateNotifier.class); - GoogleMobileAdsPlugin plugin = new GoogleMobileAdsPlugin(notifier); - plugin.onDetachedFromEngine(null); - verify(notifier).stop(); - } - - @Test - public void testServerSideVerificationOptions_rewardedAd() { - // Setup mocks - AdInstanceManager mockManager = mock(AdInstanceManager.class); - FlutterMobileAdsWrapper mockMobileAds = mock(FlutterMobileAdsWrapper.class); - GoogleMobileAdsPlugin plugin = - new GoogleMobileAdsPlugin(mockFlutterPluginBinding, mockManager, mockMobileAds); - GoogleMobileAdsPlugin pluginSpy = spy(plugin); - - // Pretend that a rewarded ad has already been loaded with id 1 - FlutterRewardedAd mockRewardedAd = mock(FlutterRewardedAd.class); - doReturn(mockRewardedAd).when(mockManager).adForId(1); - - // Make a ssv method call - Map loadArgs = new HashMap<>(); - loadArgs.put("adId", 1); - FlutterServerSideVerificationOptions mockFlutterSsv = - mock(FlutterServerSideVerificationOptions.class); - loadArgs.put("serverSideVerificationOptions", mockFlutterSsv); - - // Successful call - MethodCall methodCall = new MethodCall("setServerSideVerificationOptions", loadArgs); - Result result = mock(Result.class); - pluginSpy.onMethodCall(methodCall, result); - - verify(mockRewardedAd).setServerSideVerificationOptions(eq(mockFlutterSsv)); - verify(result).success(null); - } - - @Test - public void testServerSideVerificationOptions_rewardedInterstitialAd() { - // Setup mocks - AdInstanceManager mockManager = mock(AdInstanceManager.class); - FlutterMobileAdsWrapper mockMobileAds = mock(FlutterMobileAdsWrapper.class); - GoogleMobileAdsPlugin plugin = - new GoogleMobileAdsPlugin(mockFlutterPluginBinding, mockManager, mockMobileAds); - GoogleMobileAdsPlugin pluginSpy = spy(plugin); - - // Pretend that a rewarded interstitial ad has already been loaded with id 1 - FlutterRewardedInterstitialAd mockAd = mock(FlutterRewardedInterstitialAd.class); - doReturn(mockAd).when(mockManager).adForId(1); - - // Make a ssv method call - Map loadArgs = new HashMap<>(); - loadArgs.put("adId", 1); - FlutterServerSideVerificationOptions mockFlutterSsv = - mock(FlutterServerSideVerificationOptions.class); - loadArgs.put("serverSideVerificationOptions", mockFlutterSsv); - - // Successful call - MethodCall methodCall = new MethodCall("setServerSideVerificationOptions", loadArgs); - Result result = mock(Result.class); - pluginSpy.onMethodCall(methodCall, result); - - verify(mockAd).setServerSideVerificationOptions(eq(mockFlutterSsv)); - verify(result).success(null); - } - - @Test - public void testServerSideVerificationOptions_invalidAdId() { - // Setup mocks - AdInstanceManager mockManager = mock(AdInstanceManager.class); - FlutterMobileAdsWrapper mockMobileAds = mock(FlutterMobileAdsWrapper.class); - GoogleMobileAdsPlugin plugin = - new GoogleMobileAdsPlugin(mockFlutterPluginBinding, mockManager, mockMobileAds); - GoogleMobileAdsPlugin pluginSpy = spy(plugin); - - // AdId matches a banner ad instead of rewarded or rewarded interstitial - FlutterBannerAd mockAd = mock(FlutterBannerAd.class); - doReturn(mockAd).when(mockManager).adForId(1); - - // Make a ssv method call without any ads having loaded - Map loadArgs = new HashMap<>(); - loadArgs.put("adId", 1); - FlutterServerSideVerificationOptions mockFlutterSsv = - mock(FlutterServerSideVerificationOptions.class); - loadArgs.put("serverSideVerificationOptions", mockFlutterSsv); - - // Successful call - MethodCall methodCall = new MethodCall("setServerSideVerificationOptions", loadArgs); - Result result = mock(Result.class); - pluginSpy.onMethodCall(methodCall, result); - - // result.success() still invoked, resulting in no-op - verifyNoInteractions(mockAd); - verify(result).success(null); - } - - @Test - public void testServerSideVerificationOptions_invalidAdType() { - // Setup mocks - AdInstanceManager mockManager = mock(AdInstanceManager.class); - FlutterMobileAdsWrapper mockMobileAds = mock(FlutterMobileAdsWrapper.class); - GoogleMobileAdsPlugin plugin = - new GoogleMobileAdsPlugin(mockFlutterPluginBinding, mockManager, mockMobileAds); - GoogleMobileAdsPlugin pluginSpy = spy(plugin); - - // Make a ssv method call without any ads having loaded - Map loadArgs = new HashMap<>(); - loadArgs.put("adId", 1); - FlutterServerSideVerificationOptions mockFlutterSsv = - mock(FlutterServerSideVerificationOptions.class); - loadArgs.put("serverSideVerificationOptions", mockFlutterSsv); - - // Successful call - MethodCall methodCall = new MethodCall("setServerSideVerificationOptions", loadArgs); - Result result = mock(Result.class); - pluginSpy.onMethodCall(methodCall, result); - - // result.success() still invoked, resulting in no-op - verify(result).success(null); - } -} diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/test/java/io/flutter/plugins/googlemobileads/nativetemplates/FlutterNativeTemplateFontStyleTest.java b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/test/java/io/flutter/plugins/googlemobileads/nativetemplates/FlutterNativeTemplateFontStyleTest.java deleted file mode 100644 index e14929ef..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/test/java/io/flutter/plugins/googlemobileads/nativetemplates/FlutterNativeTemplateFontStyleTest.java +++ /dev/null @@ -1,40 +0,0 @@ -// Copyright 2023 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package io.flutter.plugins.googlemobileads.nativetemplates; - -import static org.junit.Assert.assertEquals; - -import org.junit.Test; -import org.junit.runner.RunWith; -import org.robolectric.RobolectricTestRunner; - -/** Tests for {@link FlutterNativeTemplateFontStyle}. */ -@RunWith(RobolectricTestRunner.class) -public class FlutterNativeTemplateFontStyleTest { - - @Test - public void testFromIntValue() { - for (int i = 0; i < FlutterNativeTemplateFontStyle.values().length; i++) { - FlutterNativeTemplateFontStyle style = FlutterNativeTemplateFontStyle.fromIntValue(i); - assertEquals(style, FlutterNativeTemplateFontStyle.values()[i]); - } - } - - @Test - public void testFromIntValue_unknownValue() { - FlutterNativeTemplateFontStyle type = FlutterNativeTemplateFontStyle.fromIntValue(-1); - assertEquals(type, FlutterNativeTemplateFontStyle.NORMAL); - } -} diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/test/java/io/flutter/plugins/googlemobileads/nativetemplates/FlutterNativeTemplateStyleTest.java b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/test/java/io/flutter/plugins/googlemobileads/nativetemplates/FlutterNativeTemplateStyleTest.java deleted file mode 100644 index b0826c58..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/test/java/io/flutter/plugins/googlemobileads/nativetemplates/FlutterNativeTemplateStyleTest.java +++ /dev/null @@ -1,215 +0,0 @@ -// Copyright 2023 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package io.flutter.plugins.googlemobileads.nativetemplates; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNull; -import static org.mockito.ArgumentMatchers.anyInt; -import static org.mockito.ArgumentMatchers.eq; -import static org.mockito.ArgumentMatchers.isNull; -import static org.mockito.Mockito.doReturn; -import static org.mockito.Mockito.mock; -import static org.mockito.Mockito.spy; -import static org.mockito.Mockito.verify; - -import android.content.Context; -import android.graphics.Color; -import android.graphics.Typeface; -import android.graphics.drawable.ColorDrawable; -import android.view.LayoutInflater; -import com.google.android.ads.nativetemplates.NativeTemplateStyle; -import com.google.android.ads.nativetemplates.TemplateView; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.robolectric.RobolectricTestRunner; - -/** Tests for {@link FlutterNativeTemplateStyle}. */ -@RunWith(RobolectricTestRunner.class) -public class FlutterNativeTemplateStyleTest { - - private Context mockContext = mock(Context.class); - private LayoutInflater mockLayoutInflater = mock(LayoutInflater.class); - private TemplateView mockTemplateView = mock(TemplateView.class); - - @Before - public void setup() { - doReturn(mockLayoutInflater) - .when(mockContext) - .getSystemService(eq(Context.LAYOUT_INFLATER_SERVICE)); - doReturn(mockTemplateView).when(mockLayoutInflater).inflate(anyInt(), isNull()); - } - - @Test - public void testAsTemplateView_noStylesDefined() { - FlutterNativeTemplateStyle flutterNativeTemplateStyle = - new FlutterNativeTemplateStyle( - FlutterNativeTemplateType.MEDIUM, null, null, null, null, null); - - FlutterNativeTemplateStyle spy = spy(flutterNativeTemplateStyle); - NativeTemplateStyle mockNativeTemplateStyle = mock(NativeTemplateStyle.class); - doReturn(mockNativeTemplateStyle).when(spy).asNativeTemplateStyle(); - - TemplateView templateView = spy.asTemplateView(mockContext); - - verify(mockLayoutInflater).inflate(eq(FlutterNativeTemplateType.MEDIUM.resourceId()), isNull()); - verify(mockTemplateView).setStyles(eq(mockNativeTemplateStyle)); - assertEquals(templateView, mockTemplateView); - } - - @Test - public void testAsTemplateView_stylesDefined() { - ColorDrawable mainBackgroundColor = new ColorDrawable(Color.argb(1, 2, 3, 4)); - FlutterNativeTemplateTextStyle ctaStyle = mock(FlutterNativeTemplateTextStyle.class); - FlutterNativeTemplateTextStyle primaryStyle = mock(FlutterNativeTemplateTextStyle.class); - FlutterNativeTemplateTextStyle secondaryStyle = mock(FlutterNativeTemplateTextStyle.class); - FlutterNativeTemplateTextStyle tertiaryStyle = mock(FlutterNativeTemplateTextStyle.class); - - FlutterNativeTemplateStyle flutterNativeTemplateStyle = - new FlutterNativeTemplateStyle( - FlutterNativeTemplateType.SMALL, - mainBackgroundColor, - ctaStyle, - primaryStyle, - secondaryStyle, - tertiaryStyle); - - FlutterNativeTemplateStyle spy = spy(flutterNativeTemplateStyle); - NativeTemplateStyle mockNativeTemplateStyle = mock(NativeTemplateStyle.class); - doReturn(mockNativeTemplateStyle).when(spy).asNativeTemplateStyle(); - - TemplateView templateView = spy.asTemplateView(mockContext); - - verify(mockLayoutInflater).inflate(eq(FlutterNativeTemplateType.SMALL.resourceId()), isNull()); - verify(mockTemplateView).setStyles(eq(mockNativeTemplateStyle)); - assertEquals(templateView, mockTemplateView); - } - - @Test - public void testAsNativeTemplateStyle_noStylesDefined() { - FlutterNativeTemplateStyle flutterNativeTemplateStyle = - new FlutterNativeTemplateStyle( - FlutterNativeTemplateType.MEDIUM, null, null, null, null, null); - - NativeTemplateStyle templateStyle = flutterNativeTemplateStyle.asNativeTemplateStyle(); - - // Values should match that of an empty template style with the same type - NativeTemplateStyle defaultStyle = new NativeTemplateStyle.Builder().build(); - assertEquals(templateStyle.getMainBackgroundColor(), defaultStyle.getMainBackgroundColor()); - assertEquals( - templateStyle.getCallToActionBackgroundColor(), - defaultStyle.getCallToActionBackgroundColor()); - assertEquals( - templateStyle.getCallToActionTextSize(), defaultStyle.getCallToActionTextSize(), 0); - assertEquals( - templateStyle.getCallToActionTextTypeface(), defaultStyle.getCallToActionTextTypeface()); - assertEquals( - templateStyle.getCallToActionTypefaceColor(), defaultStyle.getCallToActionTypefaceColor()); - assertEquals( - templateStyle.getPrimaryTextBackgroundColor(), - defaultStyle.getPrimaryTextBackgroundColor()); - assertEquals(templateStyle.getPrimaryTextSize(), defaultStyle.getPrimaryTextSize(), 0); - assertEquals(templateStyle.getPrimaryTextTypeface(), defaultStyle.getPrimaryTextTypeface()); - assertEquals( - templateStyle.getPrimaryTextTypefaceColor(), defaultStyle.getPrimaryTextTypefaceColor()); - assertEquals( - templateStyle.getSecondaryTextBackgroundColor(), - defaultStyle.getSecondaryTextBackgroundColor()); - assertEquals(templateStyle.getSecondaryTextSize(), defaultStyle.getSecondaryTextSize(), 0); - assertEquals(templateStyle.getSecondaryTextTypeface(), defaultStyle.getSecondaryTextTypeface()); - assertEquals( - templateStyle.getSecondaryTextTypefaceColor(), - defaultStyle.getSecondaryTextTypefaceColor()); - assertEquals( - templateStyle.getTertiaryTextBackgroundColor(), - defaultStyle.getTertiaryTextBackgroundColor()); - assertEquals(templateStyle.getTertiaryTextSize(), defaultStyle.getTertiaryTextSize(), 0); - assertEquals(templateStyle.getTertiaryTextTypeface(), defaultStyle.getTertiaryTextTypeface()); - assertEquals( - templateStyle.getTertiaryTextTypefaceColor(), defaultStyle.getTertiaryTextTypefaceColor()); - } - - @Test - public void testAsNativeTemplateStyle_stylesDefined() { - ColorDrawable mainBackgroundColor = new ColorDrawable(Color.argb(1, 2, 3, 4)); - FlutterNativeTemplateTextStyle ctaStyle = mock(FlutterNativeTemplateTextStyle.class); - doReturn(new ColorDrawable(Color.MAGENTA)).when(ctaStyle).getBackgroundColor(); - doReturn(new ColorDrawable(Color.LTGRAY)).when(ctaStyle).getTextColor(); - doReturn(null).when(ctaStyle).getFontStyle(); - doReturn(100f).when(ctaStyle).getSize(); - - FlutterNativeTemplateTextStyle primaryStyle = mock(FlutterNativeTemplateTextStyle.class); - doReturn(new ColorDrawable(Color.BLUE)).when(primaryStyle).getBackgroundColor(); - doReturn(new ColorDrawable(Color.GREEN)).when(primaryStyle).getTextColor(); - FlutterNativeTemplateFontStyle mockPrimaryFontStyle = - mock(FlutterNativeTemplateFontStyle.class); - Typeface mockPrimaryTypeface = mock(Typeface.class); - doReturn(mockPrimaryTypeface).when(mockPrimaryFontStyle).getTypeface(); - doReturn(mockPrimaryFontStyle).when(primaryStyle).getFontStyle(); - doReturn(200f).when(primaryStyle).getSize(); - - FlutterNativeTemplateTextStyle secondaryStyle = mock(FlutterNativeTemplateTextStyle.class); - doReturn(new ColorDrawable(Color.BLACK)).when(secondaryStyle).getBackgroundColor(); - doReturn(new ColorDrawable(Color.RED)).when(secondaryStyle).getTextColor(); - FlutterNativeTemplateFontStyle mockSecondaryFontStyle = - mock(FlutterNativeTemplateFontStyle.class); - Typeface mockSecondaryTypeface = mock(Typeface.class); - doReturn(mockSecondaryTypeface).when(mockSecondaryFontStyle).getTypeface(); - doReturn(mockSecondaryFontStyle).when(secondaryStyle).getFontStyle(); - doReturn(300f).when(secondaryStyle).getSize(); - - FlutterNativeTemplateTextStyle tertiaryStyle = mock(FlutterNativeTemplateTextStyle.class); - doReturn(new ColorDrawable(Color.TRANSPARENT)).when(tertiaryStyle).getBackgroundColor(); - doReturn(new ColorDrawable(Color.DKGRAY)).when(tertiaryStyle).getTextColor(); - FlutterNativeTemplateFontStyle mockTertiaryFontStyle = - mock(FlutterNativeTemplateFontStyle.class); - Typeface mockTertiaryTypeface = mock(Typeface.class); - doReturn(mockTertiaryTypeface).when(mockTertiaryFontStyle).getTypeface(); - doReturn(mockTertiaryFontStyle).when(tertiaryStyle).getFontStyle(); - doReturn(1000f).when(tertiaryStyle).getSize(); - - FlutterNativeTemplateStyle flutterNativeTemplateStyle = - new FlutterNativeTemplateStyle( - FlutterNativeTemplateType.SMALL, - mainBackgroundColor, - ctaStyle, - primaryStyle, - secondaryStyle, - tertiaryStyle); - - NativeTemplateStyle templateStyle = flutterNativeTemplateStyle.asNativeTemplateStyle(); - - assertEquals(templateStyle.getMainBackgroundColor(), mainBackgroundColor); - assertEquals(templateStyle.getCallToActionBackgroundColor().getColor(), Color.MAGENTA); - assertEquals(templateStyle.getCallToActionTypefaceColor(), (Integer) Color.LTGRAY); - assertEquals(templateStyle.getCallToActionTextSize(), 100f, 0); - assertNull(templateStyle.getCallToActionTextTypeface()); - - assertEquals(templateStyle.getPrimaryTextBackgroundColor().getColor(), Color.BLUE); - assertEquals(templateStyle.getPrimaryTextTypefaceColor(), (Integer) Color.GREEN); - assertEquals(templateStyle.getPrimaryTextSize(), 200f, 0); - assertEquals(templateStyle.getPrimaryTextTypeface(), mockPrimaryTypeface); - - assertEquals(templateStyle.getSecondaryTextBackgroundColor().getColor(), Color.BLACK); - assertEquals(templateStyle.getSecondaryTextTypefaceColor(), (Integer) Color.RED); - assertEquals(templateStyle.getSecondaryTextSize(), 300f, 0); - assertEquals(templateStyle.getSecondaryTextTypeface(), mockSecondaryTypeface); - - assertEquals(templateStyle.getTertiaryTextBackgroundColor().getColor(), Color.TRANSPARENT); - assertEquals(templateStyle.getTertiaryTextTypefaceColor(), (Integer) Color.DKGRAY); - assertEquals(templateStyle.getTertiaryTextSize(), 1000f, 0); - assertEquals(templateStyle.getTertiaryTextTypeface(), mockTertiaryTypeface); - } -} diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/test/java/io/flutter/plugins/googlemobileads/nativetemplates/FlutterNativeTemplateTextStyleTest.java b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/test/java/io/flutter/plugins/googlemobileads/nativetemplates/FlutterNativeTemplateTextStyleTest.java deleted file mode 100644 index a73151c7..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/test/java/io/flutter/plugins/googlemobileads/nativetemplates/FlutterNativeTemplateTextStyleTest.java +++ /dev/null @@ -1,42 +0,0 @@ -// Copyright 2023 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package io.flutter.plugins.googlemobileads.nativetemplates; - -import static org.junit.Assert.assertEquals; -import static org.mockito.Mockito.mock; - -import android.graphics.drawable.ColorDrawable; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.robolectric.RobolectricTestRunner; - -/** Tests for {@link FlutterNativeTemplateTextStyle}. */ -@RunWith(RobolectricTestRunner.class) -public class FlutterNativeTemplateTextStyleTest { - - @Test - public void testGetters() { - ColorDrawable textColor = mock(ColorDrawable.class); - ColorDrawable backgroundColor = mock(ColorDrawable.class); - FlutterNativeTemplateFontStyle fontStyle = mock(FlutterNativeTemplateFontStyle.class); - Double size = 1.; - FlutterNativeTemplateTextStyle style = - new FlutterNativeTemplateTextStyle(textColor, backgroundColor, fontStyle, size); - assertEquals(style.getTextColor(), textColor); - assertEquals(style.getBackgroundColor(), backgroundColor); - assertEquals(style.getFontStyle(), fontStyle); - assertEquals(style.getSize(), 1f, 0); - } -} diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/test/java/io/flutter/plugins/googlemobileads/nativetemplates/FlutterNativeTemplateTypeTest.java b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/test/java/io/flutter/plugins/googlemobileads/nativetemplates/FlutterNativeTemplateTypeTest.java deleted file mode 100644 index ed04e6d8..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/test/java/io/flutter/plugins/googlemobileads/nativetemplates/FlutterNativeTemplateTypeTest.java +++ /dev/null @@ -1,40 +0,0 @@ -// Copyright 2023 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package io.flutter.plugins.googlemobileads.nativetemplates; - -import static org.junit.Assert.assertEquals; - -import org.junit.Test; -import org.junit.runner.RunWith; -import org.robolectric.RobolectricTestRunner; - -/** Tests for {@link FlutterNativeTemplateType}. */ -@RunWith(RobolectricTestRunner.class) -public class FlutterNativeTemplateTypeTest { - - @Test - public void testFromIntValue() { - for (int i = 0; i < FlutterNativeTemplateType.values().length; i++) { - FlutterNativeTemplateType type = FlutterNativeTemplateType.fromIntValue(i); - assertEquals(type, FlutterNativeTemplateType.values()[i]); - } - } - - @Test - public void testFromIntValue_unknownValue() { - FlutterNativeTemplateType type = FlutterNativeTemplateType.fromIntValue(-1); - assertEquals(type, FlutterNativeTemplateType.MEDIUM); - } -} diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/test/java/io/flutter/plugins/googlemobileads/usermessagingplatform/UserMessagingCodecTest.java b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/test/java/io/flutter/plugins/googlemobileads/usermessagingplatform/UserMessagingCodecTest.java deleted file mode 100644 index ad6e1c75..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/test/java/io/flutter/plugins/googlemobileads/usermessagingplatform/UserMessagingCodecTest.java +++ /dev/null @@ -1,146 +0,0 @@ -// Copyright 2022 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package io.flutter.plugins.googlemobileads.usermessagingplatform; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNull; -import static org.mockito.Mockito.mock; - -import com.google.android.ump.ConsentForm; -import com.google.android.ump.FormError; -import java.nio.ByteBuffer; -import java.util.Collections; -import java.util.List; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.robolectric.RobolectricTestRunner; - -/** Tests for {@link UserMessagingCodec}. */ -@RunWith(RobolectricTestRunner.class) -public class UserMessagingCodecTest { - - private UserMessagingCodec codec; - - @Before - public void setup() { - codec = new UserMessagingCodec(); - } - - @Test - public void testConsentRequestParameters_null() { - ConsentRequestParametersWrapper params = new ConsentRequestParametersWrapper(null, null); - final ByteBuffer message = codec.encodeMessage(params); - ConsentRequestParametersWrapper decoded = - (ConsentRequestParametersWrapper) codec.decodeMessage((ByteBuffer) message.position(0)); - assertEquals(params, decoded); - } - - @Test - public void testConsentRequestParameters_tfuacNull_debugSettingsDefined() { - ConsentDebugSettingsWrapper debugSettings = new ConsentDebugSettingsWrapper(null, null); - ConsentRequestParametersWrapper params = - new ConsentRequestParametersWrapper(null, debugSettings); - final ByteBuffer message = codec.encodeMessage(params); - ConsentRequestParametersWrapper decoded = - (ConsentRequestParametersWrapper) codec.decodeMessage((ByteBuffer) message.position(0)); - assertEquals(params, decoded); - } - - @Test - public void testConsentRequestParameters_tfuacDefined_debugSettingsNull() { - ConsentRequestParametersWrapper params = new ConsentRequestParametersWrapper(true, null); - final ByteBuffer message = codec.encodeMessage(params); - ConsentRequestParametersWrapper decoded = - (ConsentRequestParametersWrapper) codec.decodeMessage((ByteBuffer) message.position(0)); - assertEquals(params, decoded); - } - - @Test - public void testConsentRequestParameters_tfuacDefined_debugSettingsDefined() { - ConsentDebugSettingsWrapper debugSettings = new ConsentDebugSettingsWrapper(null, null); - ConsentRequestParametersWrapper params = - new ConsentRequestParametersWrapper(true, debugSettings); - final ByteBuffer message = codec.encodeMessage(params); - ConsentRequestParametersWrapper decoded = - (ConsentRequestParametersWrapper) codec.decodeMessage((ByteBuffer) message.position(0)); - assertEquals(params, decoded); - } - - @Test - public void testConsentDebugSettings_null() { - ConsentDebugSettingsWrapper debugSettings = new ConsentDebugSettingsWrapper(null, null); - final ByteBuffer message = codec.encodeMessage(debugSettings); - ConsentDebugSettingsWrapper decoded = - (ConsentDebugSettingsWrapper) codec.decodeMessage((ByteBuffer) message.position(0)); - assertEquals(debugSettings, decoded); - } - - @Test - public void testConsentDebugSettings_debugGeographyDefined_testIdsNull() { - ConsentDebugSettingsWrapper debugSettings = new ConsentDebugSettingsWrapper(1, null); - final ByteBuffer message = codec.encodeMessage(debugSettings); - ConsentDebugSettingsWrapper decoded = - (ConsentDebugSettingsWrapper) codec.decodeMessage((ByteBuffer) message.position(0)); - assertEquals(debugSettings, decoded); - } - - @Test - public void testConsentDebugSettings_debugGeographyNull_testIdsDefined() { - List testIds = Collections.singletonList("first"); - ConsentDebugSettingsWrapper debugSettings = new ConsentDebugSettingsWrapper(null, testIds); - final ByteBuffer message = codec.encodeMessage(debugSettings); - ConsentDebugSettingsWrapper decoded = - (ConsentDebugSettingsWrapper) codec.decodeMessage((ByteBuffer) message.position(0)); - assertEquals(debugSettings, decoded); - } - - @Test - public void testConsentDebugSettings_debugGeographyDefined_testIdsDefined() { - List testIds = Collections.singletonList("first"); - ConsentDebugSettingsWrapper debugSettings = new ConsentDebugSettingsWrapper(4, testIds); - final ByteBuffer message = codec.encodeMessage(debugSettings); - ConsentDebugSettingsWrapper decoded = - (ConsentDebugSettingsWrapper) codec.decodeMessage((ByteBuffer) message.position(0)); - assertEquals(debugSettings, decoded); - } - - @Test - public void testConsentForm() { - ConsentForm form = mock(ConsentForm.class); - codec.trackConsentForm(form); - final ByteBuffer message = codec.encodeMessage(form); - - ConsentForm decoded = (ConsentForm) codec.decodeMessage((ByteBuffer) message.position(0)); - assertEquals(form, decoded); - - // Untrack consent form and verify that value is null - codec.disposeConsentForm(form); - decoded = (ConsentForm) codec.decodeMessage((ByteBuffer) message.position(0)); - assertNull(decoded); - } - - @Test - public void testFormError() { - FormError formError = new FormError(123, "testMessage"); - - final ByteBuffer message = codec.encodeMessage(formError); - FormError decoded = (FormError) codec.decodeMessage((ByteBuffer) message.position(0)); - - assert decoded != null; - assertEquals(formError.getErrorCode(), decoded.getErrorCode()); - assertEquals(formError.getMessage(), decoded.getMessage()); - } -} diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/test/java/io/flutter/plugins/googlemobileads/usermessagingplatform/UserMessagingPlatformManagerTest.java b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/test/java/io/flutter/plugins/googlemobileads/usermessagingplatform/UserMessagingPlatformManagerTest.java deleted file mode 100644 index 7c578248..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/android/src/test/java/io/flutter/plugins/googlemobileads/usermessagingplatform/UserMessagingPlatformManagerTest.java +++ /dev/null @@ -1,364 +0,0 @@ -// Copyright 2022 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package io.flutter.plugins.googlemobileads.usermessagingplatform; - -import static org.mockito.ArgumentMatchers.any; -import static org.mockito.ArgumentMatchers.eq; -import static org.mockito.ArgumentMatchers.isNull; -import static org.mockito.Mockito.doReturn; -import static org.mockito.Mockito.mock; -import static org.mockito.Mockito.verify; - -import android.app.Activity; -import android.content.Context; -import androidx.test.core.app.ApplicationProvider; -import com.google.android.ump.ConsentForm; -import com.google.android.ump.ConsentForm.OnConsentFormDismissedListener; -import com.google.android.ump.ConsentInformation; -import com.google.android.ump.ConsentInformation.ConsentStatus; -import com.google.android.ump.ConsentInformation.OnConsentInfoUpdateFailureListener; -import com.google.android.ump.ConsentInformation.OnConsentInfoUpdateSuccessListener; -import com.google.android.ump.ConsentInformation.PrivacyOptionsRequirementStatus; -import com.google.android.ump.ConsentRequestParameters; -import com.google.android.ump.FormError; -import com.google.android.ump.UserMessagingPlatform; -import com.google.android.ump.UserMessagingPlatform.OnConsentFormLoadFailureListener; -import com.google.android.ump.UserMessagingPlatform.OnConsentFormLoadSuccessListener; -import io.flutter.plugin.common.BinaryMessenger; -import io.flutter.plugin.common.MethodCall; -import io.flutter.plugin.common.MethodChannel.Result; -import java.util.Collections; -import java.util.HashMap; -import java.util.Map; -import org.junit.After; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.ArgumentCaptor; -import org.mockito.MockedStatic; -import org.mockito.Mockito; -import org.robolectric.RobolectricTestRunner; - -/** Tests for {@link UserMessagingPlatformManager}. */ -@RunWith(RobolectricTestRunner.class) -public class UserMessagingPlatformManagerTest { - - private Context context; - private BinaryMessenger mockMessenger; - private UserMessagingPlatformManager manager; - private UserMessagingCodec userMessagingCodec; - private Activity activity; - - private MockedStatic mockedUmp; - private ConsentInformation mockConsentInformation; - - @Before - public void setup() { - userMessagingCodec = mock(UserMessagingCodec.class); - context = ApplicationProvider.getApplicationContext(); - mockMessenger = mock(BinaryMessenger.class); - manager = new UserMessagingPlatformManager(mockMessenger, context, userMessagingCodec); - activity = mock(Activity.class); - mockConsentInformation = mock(ConsentInformation.class); - mockedUmp = Mockito.mockStatic(UserMessagingPlatform.class); - mockedUmp - .when( - () -> { - UserMessagingPlatform.getConsentInformation(any()); - }) - .thenReturn(mockConsentInformation); - } - - @After - public void tearDown() { - mockedUmp.close(); - } - - @Test - public void testConsentInformation_reset() { - Map args = Collections.emptyMap(); - MethodCall methodCall = new MethodCall("ConsentInformation#reset", args); - Result result = mock(Result.class); - - manager.onMethodCall(methodCall, result); - - verify(mockConsentInformation).reset(); - verify(result).success(isNull()); - } - - @Test - public void testConsentInformation_getConsentStatus() { - doReturn(ConsentStatus.REQUIRED).when(mockConsentInformation).getConsentStatus(); - Map args = Collections.emptyMap(); - MethodCall methodCall = new MethodCall("ConsentInformation#getConsentStatus", args); - Result result = mock(Result.class); - - manager.onMethodCall(methodCall, result); - - verify(result).success(eq(ConsentStatus.REQUIRED)); - } - - @Test - public void testConsentInformation_requestConsentInfoUpdate_activityNotSet() { - manager.setActivity(null); - MethodCall methodCall = new MethodCall("ConsentInformation#requestConsentInfoUpdate", null); - Result result = mock(Result.class); - - manager.onMethodCall(methodCall, result); - - verify(result) - .error( - eq("0"), - eq( - "ConsentInformation#requestConsentInfoUpdate called before plugin has been " - + "registered to an activity."), - isNull()); - } - - @Test - public void testConsentInformation_requestConsentInfoUpdate_success() { - manager.setActivity(activity); - ConsentRequestParametersWrapper paramsWrapper = mock(ConsentRequestParametersWrapper.class); - ConsentRequestParameters params = mock(ConsentRequestParameters.class); - doReturn(params).when(paramsWrapper).getAsConsentRequestParameters(any()); - Map args = new HashMap<>(); - args.put("params", paramsWrapper); - MethodCall methodCall = new MethodCall("ConsentInformation#requestConsentInfoUpdate", args); - Result result = mock(Result.class); - - manager.onMethodCall(methodCall, result); - - ArgumentCaptor successCaptor = - ArgumentCaptor.forClass(OnConsentInfoUpdateSuccessListener.class); - ArgumentCaptor errorCaptor = - ArgumentCaptor.forClass(OnConsentInfoUpdateFailureListener.class); - verify(mockConsentInformation) - .requestConsentInfoUpdate( - eq(activity), eq(params), successCaptor.capture(), errorCaptor.capture()); - - successCaptor.getValue().onConsentInfoUpdateSuccess(); - verify(result).success(isNull()); - - FormError formError = mock(FormError.class); - doReturn(1).when(formError).getErrorCode(); - doReturn("message").when(formError).getMessage(); - errorCaptor.getValue().onConsentInfoUpdateFailure(formError); - verify(result).error(eq("1"), eq("message"), isNull()); - } - - @Test - public void testConsentInformation_isConsentFormAvailable() { - doReturn(false).when(mockConsentInformation).isConsentFormAvailable(); - Map args = - Collections.singletonMap("consentInformation", mockConsentInformation); - MethodCall methodCall = new MethodCall("ConsentInformation#isConsentFormAvailable", args); - Result result = mock(Result.class); - - manager.onMethodCall(methodCall, result); - - verify(result).success(eq(false)); - } - - @Test - public void testConsentInformation_canRequestAds() { - doReturn(true).when(mockConsentInformation).canRequestAds(); - MethodCall methodCall = new MethodCall("ConsentInformation#canRequestAds", null); - Result result = mock(Result.class); - - manager.onMethodCall(methodCall, result); - - verify(result).success(eq(true)); - } - - @Test - public void testConsentInformation_getPrivacyOptionsRequirementStatus_notRequiredReturns0() { - doReturn(PrivacyOptionsRequirementStatus.NOT_REQUIRED) - .when(mockConsentInformation) - .getPrivacyOptionsRequirementStatus(); - MethodCall methodCall = - new MethodCall("ConsentInformation#getPrivacyOptionsRequirementStatus", null); - Result result = mock(Result.class); - - manager.onMethodCall(methodCall, result); - - verify(result).success(eq(0)); - } - - @Test - public void testConsentInformation_getPrivacyOptionsRequirementStatus_requiredReturns1() { - doReturn(PrivacyOptionsRequirementStatus.REQUIRED) - .when(mockConsentInformation) - .getPrivacyOptionsRequirementStatus(); - MethodCall methodCall = - new MethodCall("ConsentInformation#getPrivacyOptionsRequirementStatus", null); - Result result = mock(Result.class); - - manager.onMethodCall(methodCall, result); - - verify(result).success(eq(1)); - } - - @Test - public void testConsentInformation_getPrivacyOptionsRequirementStatus_requiredReturns2() { - doReturn(PrivacyOptionsRequirementStatus.UNKNOWN) - .when(mockConsentInformation) - .getPrivacyOptionsRequirementStatus(); - MethodCall methodCall = - new MethodCall("ConsentInformation#getPrivacyOptionsRequirementStatus", null); - Result result = mock(Result.class); - - manager.onMethodCall(methodCall, result); - - verify(result).success(eq(2)); - } - - @Test - public void testUserMessagingPlatform_loadConsentFormAndDispose() { - MethodCall methodCall = new MethodCall("UserMessagingPlatform#loadConsentForm", null); - Result result = mock(Result.class); - - manager.onMethodCall(methodCall, result); - - ArgumentCaptor successCaptor = - ArgumentCaptor.forClass(OnConsentFormLoadSuccessListener.class); - ArgumentCaptor errorCaptor = - ArgumentCaptor.forClass(OnConsentFormLoadFailureListener.class); - mockedUmp.verify( - () -> - UserMessagingPlatform.loadConsentForm( - eq(context), successCaptor.capture(), errorCaptor.capture())); - - ConsentForm consentForm = mock(ConsentForm.class); - successCaptor.getValue().onConsentFormLoadSuccess(consentForm); - - verify(result).success(eq(consentForm)); - verify(userMessagingCodec).trackConsentForm(consentForm); - - FormError formError = mock(FormError.class); - errorCaptor.getValue().onConsentFormLoadFailure(formError); - - // Dispose - Map args = Collections.singletonMap("consentForm", consentForm); - methodCall = new MethodCall("ConsentForm#dispose", args); - manager.onMethodCall(methodCall, result); - - verify(userMessagingCodec).disposeConsentForm(consentForm); - verify(result).success(null); - } - - @Test - public void testUserMessagingPlatform_loadAndShowConsentFormIfRequired() { - manager.setActivity(activity); - MethodCall methodCall = - new MethodCall("UserMessagingPlatform#loadAndShowConsentFormIfRequired", null); - Result result = mock(Result.class); - - manager.onMethodCall(methodCall, result); - - ArgumentCaptor listenerCaptor = - ArgumentCaptor.forClass(OnConsentFormDismissedListener.class); - mockedUmp.verify( - () -> - UserMessagingPlatform.loadAndShowConsentFormIfRequired( - eq(activity), listenerCaptor.capture())); - listenerCaptor.getValue().onConsentFormDismissed(null); - verify(result).success(isNull()); - } - - @Test - public void testUserMessagingPlatform_loadAndShowConsentFormIfRequired_withFormError() { - manager.setActivity(activity); - FormError mockFormError = mock(FormError.class); - MethodCall methodCall = - new MethodCall("UserMessagingPlatform#loadAndShowConsentFormIfRequired", null); - Result result = mock(Result.class); - - manager.onMethodCall(methodCall, result); - - ArgumentCaptor listenerCaptor = - ArgumentCaptor.forClass(OnConsentFormDismissedListener.class); - mockedUmp.verify( - () -> - UserMessagingPlatform.loadAndShowConsentFormIfRequired( - eq(activity), listenerCaptor.capture())); - listenerCaptor.getValue().onConsentFormDismissed(mockFormError); - verify(result).success(mockFormError); - } - - @Test - public void testUserMessagingPlatform_showPrivacyOptionsForm() { - manager.setActivity(activity); - MethodCall methodCall = new MethodCall("UserMessagingPlatform#showPrivacyOptionsForm", null); - Result result = mock(Result.class); - - manager.onMethodCall(methodCall, result); - - ArgumentCaptor listenerCaptor = - ArgumentCaptor.forClass(OnConsentFormDismissedListener.class); - mockedUmp.verify( - () -> UserMessagingPlatform.showPrivacyOptionsForm(eq(activity), listenerCaptor.capture())); - listenerCaptor.getValue().onConsentFormDismissed(null); - verify(result).success(isNull()); - } - - @Test - public void testUserMessagingPlatform_showPrivacyOptionsForm_withFormError() { - manager.setActivity(activity); - FormError mockFormError = mock(FormError.class); - MethodCall methodCall = new MethodCall("UserMessagingPlatform#showPrivacyOptionsForm", null); - Result result = mock(Result.class); - - manager.onMethodCall(methodCall, result); - - ArgumentCaptor listenerCaptor = - ArgumentCaptor.forClass(OnConsentFormDismissedListener.class); - mockedUmp.verify( - () -> UserMessagingPlatform.showPrivacyOptionsForm(eq(activity), listenerCaptor.capture())); - listenerCaptor.getValue().onConsentFormDismissed(mockFormError); - verify(result).success(mockFormError); - } - - @Test - public void testConsentForm_show() { - manager.setActivity(activity); - ConsentForm consentForm = mock(ConsentForm.class); - Map args = Collections.singletonMap("consentForm", consentForm); - MethodCall methodCall = new MethodCall("ConsentForm#show", args); - Result result = mock(Result.class); - - manager.onMethodCall(methodCall, result); - - ArgumentCaptor listenerCaptor = - ArgumentCaptor.forClass(OnConsentFormDismissedListener.class); - verify(consentForm).show(eq(activity), listenerCaptor.capture()); - - listenerCaptor.getValue().onConsentFormDismissed(null); - verify(result).success(isNull()); - - FormError formError = mock(FormError.class); - doReturn(1).when(formError).getErrorCode(); - doReturn("message").when(formError).getMessage(); - listenerCaptor.getValue().onConsentFormDismissed(formError); - verify(result).error(eq("1"), eq("message"), isNull()); - } - - @Test - public void testConsentForm_show_errorNoConsentForm() { - MethodCall methodCall = new MethodCall("ConsentForm#show", null); - Result result = mock(Result.class); - manager.onMethodCall(methodCall, result); - verify(result).error(eq("0"), eq("ConsentForm#show"), isNull()); - } -} diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/example/README.md b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/example/README.md deleted file mode 100644 index f7ee7a40..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/example/README.md +++ /dev/null @@ -1,8 +0,0 @@ -# google_mobile_ads_example - -Demonstrates how to use the google_mobile_ads plugin. - -## Getting Started - -For help getting started with Flutter, view our online -[documentation](http://flutter.io/). diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/example/analysis_options.yaml b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/example/analysis_options.yaml deleted file mode 100644 index 9b541d2a..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/example/analysis_options.yaml +++ /dev/null @@ -1,15 +0,0 @@ -# Copyright 2021 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# https://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -include: ../../../analysis_options.yaml diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/example/android/app/build.gradle b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/example/android/app/build.gradle deleted file mode 100644 index c1b39b6a..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/example/android/app/build.gradle +++ /dev/null @@ -1,70 +0,0 @@ -plugins { - id "com.android.application" - id "kotlin-android" - id "dev.flutter.flutter-gradle-plugin" -} - -def localProperties = new Properties() -def localPropertiesFile = rootProject.file('local.properties') -if (localPropertiesFile.exists()) { - localPropertiesFile.withReader('UTF-8') { reader -> - localProperties.load(reader) - } -} - -def flutterVersionCode = localProperties.getProperty('flutter.versionCode') -if (flutterVersionCode == null) { - flutterVersionCode = '1' -} - -def flutterVersionName = localProperties.getProperty('flutter.versionName') -if (flutterVersionName == null) { - flutterVersionName = '1.0' -} - -android { - compileSdk 36 - - namespace 'io.flutter.plugins.googlemobileadsexample' - - lintOptions { - disable 'InvalidPackage' - } - - defaultConfig { - applicationId "io.flutter.plugins.googlemobileadsexample" - minSdkVersion flutter.minSdkVersion - targetSdkVersion 34 - versionCode flutterVersionCode.toInteger() - versionName flutterVersionName - testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" - multiDexEnabled true - } - - buildTypes { - release { - // TODO: Add your own signing config for the release build. - // Signing with the debug keys for now, so `flutter run --release` works. - signingConfig signingConfigs.debug - } - } - - compileOptions { - sourceCompatibility JavaLanguageVersion.of(17) - targetCompatibility JavaLanguageVersion.of(17) - } -} - -flutter { - source '../..' -} - -dependencies { - testImplementation 'junit:junit:4.13.2' - testImplementation 'org.robolectric:robolectric:4.14.1' - testImplementation 'org.mockito:mockito-core:5.15.2' - androidTestImplementation 'org.robolectric:robolectric:4.10.3' - androidTestImplementation 'androidx.test:runner:1.2.0' - androidTestImplementation 'androidx.test:rules:1.2.0' - androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0' -} diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/example/android/app/src/main/AndroidManifest.xml b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/example/android/app/src/main/AndroidManifest.xml deleted file mode 100644 index d587c223..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/example/android/app/src/main/AndroidManifest.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/example/android/app/src/main/java/io/flutter/plugins/googlemobileadsexample/MainActivity.java b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/example/android/app/src/main/java/io/flutter/plugins/googlemobileadsexample/MainActivity.java deleted file mode 100644 index 59fc22db..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/example/android/app/src/main/java/io/flutter/plugins/googlemobileadsexample/MainActivity.java +++ /dev/null @@ -1,34 +0,0 @@ -// Copyright 2021 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package io.flutter.plugins.googlemobileadsexample; - -import io.flutter.embedding.android.FlutterActivity; -import io.flutter.embedding.engine.FlutterEngine; -import io.flutter.plugins.googlemobileads.GoogleMobileAdsPlugin; -import io.flutter.plugins.googlemobileads.GoogleMobileAdsPlugin.NativeAdFactory; - -public class MainActivity extends FlutterActivity { - @Override - public void configureFlutterEngine(FlutterEngine flutterEngine) { - super.configureFlutterEngine(flutterEngine); - final NativeAdFactory factory = new NativeAdFactoryExample(getLayoutInflater()); - GoogleMobileAdsPlugin.registerNativeAdFactory(flutterEngine, "adFactoryExample", factory); - } - - @Override - public void cleanUpFlutterEngine(FlutterEngine flutterEngine) { - GoogleMobileAdsPlugin.unregisterNativeAdFactory(flutterEngine, "adFactoryExample"); - } -} diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/example/android/app/src/main/java/io/flutter/plugins/googlemobileadsexample/NativeAdFactoryExample.java b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/example/android/app/src/main/java/io/flutter/plugins/googlemobileadsexample/NativeAdFactoryExample.java deleted file mode 100644 index 8047c5bd..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/example/android/app/src/main/java/io/flutter/plugins/googlemobileadsexample/NativeAdFactoryExample.java +++ /dev/null @@ -1,114 +0,0 @@ -// Copyright 2021 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package io.flutter.plugins.googlemobileadsexample; - -import android.view.LayoutInflater; -import android.view.View; -import android.widget.Button; -import android.widget.ImageView; -import android.widget.RatingBar; -import android.widget.TextView; -import com.google.android.gms.ads.nativead.MediaView; -import com.google.android.gms.ads.nativead.NativeAd; -import com.google.android.gms.ads.nativead.NativeAdView; -import io.flutter.plugins.googlemobileads.GoogleMobileAdsPlugin.NativeAdFactory; -import java.util.Map; - -class NativeAdFactoryExample implements NativeAdFactory { - private final LayoutInflater layoutInflater; - - NativeAdFactoryExample(LayoutInflater layoutInflater) { - this.layoutInflater = layoutInflater; - } - - @Override - public NativeAdView createNativeAd(NativeAd nativeAd, Map customOptions) { - final NativeAdView adView = (NativeAdView) layoutInflater.inflate(R.layout.my_native_ad, null); - - // Set the media view. - adView.setMediaView((MediaView) adView.findViewById(R.id.ad_media)); - - // Set other ad assets. - adView.setHeadlineView(adView.findViewById(R.id.ad_headline)); - adView.setBodyView(adView.findViewById(R.id.ad_body)); - adView.setCallToActionView(adView.findViewById(R.id.ad_call_to_action)); - adView.setIconView(adView.findViewById(R.id.ad_app_icon)); - adView.setPriceView(adView.findViewById(R.id.ad_price)); - adView.setStarRatingView(adView.findViewById(R.id.ad_stars)); - adView.setStoreView(adView.findViewById(R.id.ad_store)); - adView.setAdvertiserView(adView.findViewById(R.id.ad_advertiser)); - - // The headline and mediaContent are guaranteed to be in every NativeAd. - ((TextView) adView.getHeadlineView()).setText(nativeAd.getHeadline()); - adView.getMediaView().setMediaContent(nativeAd.getMediaContent()); - - // These assets aren't guaranteed to be in every NativeAd, so it's important to - // check before trying to display them. - if (nativeAd.getBody() == null) { - adView.getBodyView().setVisibility(View.INVISIBLE); - } else { - adView.getBodyView().setVisibility(View.VISIBLE); - ((TextView) adView.getBodyView()).setText(nativeAd.getBody()); - } - - if (nativeAd.getCallToAction() == null) { - adView.getCallToActionView().setVisibility(View.INVISIBLE); - } else { - adView.getCallToActionView().setVisibility(View.VISIBLE); - ((Button) adView.getCallToActionView()).setText(nativeAd.getCallToAction()); - } - - if (nativeAd.getIcon() == null) { - adView.getIconView().setVisibility(View.GONE); - } else { - ((ImageView) adView.getIconView()).setImageDrawable(nativeAd.getIcon().getDrawable()); - adView.getIconView().setVisibility(View.VISIBLE); - } - - if (nativeAd.getPrice() == null) { - adView.getPriceView().setVisibility(View.INVISIBLE); - } else { - adView.getPriceView().setVisibility(View.VISIBLE); - ((TextView) adView.getPriceView()).setText(nativeAd.getPrice()); - } - - if (nativeAd.getStore() == null) { - adView.getStoreView().setVisibility(View.INVISIBLE); - } else { - adView.getStoreView().setVisibility(View.VISIBLE); - ((TextView) adView.getStoreView()).setText(nativeAd.getStore()); - } - - if (nativeAd.getStarRating() == null) { - adView.getStarRatingView().setVisibility(View.INVISIBLE); - } else { - ((RatingBar) adView.getStarRatingView()).setRating(nativeAd.getStarRating().floatValue()); - adView.getStarRatingView().setVisibility(View.VISIBLE); - } - - if (nativeAd.getAdvertiser() == null) { - adView.getAdvertiserView().setVisibility(View.INVISIBLE); - } else { - adView.getAdvertiserView().setVisibility(View.VISIBLE); - ((TextView) adView.getAdvertiserView()).setText(nativeAd.getAdvertiser()); - } - - // This method tells the Google Mobile Ads SDK that you have finished populating your - // native ad view with this native ad. - adView.setNativeAd(nativeAd); - - return adView; - } -} diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/example/android/app/src/main/res/layout/my_native_ad.xml b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/example/android/app/src/main/res/layout/my_native_ad.xml deleted file mode 100644 index 4dd1cef4..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/example/android/app/src/main/res/layout/my_native_ad.xml +++ /dev/null @@ -1,131 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/example/ios/Runner/main.m b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/example/ios/Runner/main.m deleted file mode 100644 index 80af04fa..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/example/ios/Runner/main.m +++ /dev/null @@ -1,24 +0,0 @@ -// Copyright 2021 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#import "AppDelegate.h" -#import -#import - -int main(int argc, char *argv[]) { - @autoreleasepool { - return UIApplicationMain(argc, argv, nil, - NSStringFromClass([AppDelegate class])); - } -} diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/example/ios/RunnerTests/FLTAdRequestTest.m b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/example/ios/RunnerTests/FLTAdRequestTest.m deleted file mode 100644 index 89aa5c84..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/example/ios/RunnerTests/FLTAdRequestTest.m +++ /dev/null @@ -1,145 +0,0 @@ -// Copyright 2021 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#import -#import - -#import "FLTAd_Internal.h" -#import "FLTMediationNetworkExtrasProvider.h" - -@interface FLTAdRequestTest : XCTestCase -@end - -@interface TestGADAdNetworkExtras : NSObject -@end - -@implementation TestGADAdNetworkExtras -@end - -@implementation FLTAdRequestTest - -- (void)testAsAdRequestAllParams { - // Proxy [GADRequest init] to return a partial mock of a real GADRequest. - GADRequest *gadRequestSpy = OCMPartialMock([GADRequest request]); - id gadRequestClassMock = OCMClassMock([GADRequest class]); - OCMStub([gadRequestClassMock request]).andReturn(gadRequestSpy); - - // Set values for all params. - FLTAdRequest *fltAdRequest = [[FLTAdRequest alloc] init]; - fltAdRequest.contentURL = @"contentURL"; - NSArray *keywords = @[ @"keyword1", @"keyword2" ]; - fltAdRequest.keywords = keywords; - fltAdRequest.nonPersonalizedAds = YES; - fltAdRequest.mediationExtrasIdentifier = @"identifier"; - NSArray *neighbors = @[ @"neighbor1", @"neighbor2" ]; - fltAdRequest.neighboringContentURLs = neighbors; - - // Mock FLTMediationNetworkExtrasProvider. - GADExtras *extras = [[GADExtras alloc] init]; - TestGADAdNetworkExtras *testExtras = [[TestGADAdNetworkExtras alloc] init]; - NSArray> *extrasArray = @[ extras, testExtras ]; - id extrasProvider = - OCMProtocolMock(@protocol(FLTMediationNetworkExtrasProvider)); - OCMStub([extrasProvider getMediationExtras:[OCMArg isEqual:@"test-ad-unit"] - mediationExtrasIdentifier:@"identifier"]) - .andReturn(extrasArray); - - fltAdRequest.mediationNetworkExtrasProvider = extrasProvider; - - // Create a GADRequest and verify properties are set correctly. - GADRequest *gadRequest = [fltAdRequest asGADRequest:@"test-ad-unit"]; - - XCTAssertEqualObjects(gadRequest.contentURL, @"contentURL"); - XCTAssertEqualObjects(gadRequest.keywords, keywords); - XCTAssertEqualObjects(gadRequest.neighboringContentURLStrings, neighbors); - GADExtras *updatedExtras = [gadRequest adNetworkExtrasFor:[GADExtras class]]; - XCTAssertEqualObjects(updatedExtras, extras); - XCTAssertEqualObjects(updatedExtras.additionalParameters[@"npa"], @"1"); - OCMVerify( - [gadRequestSpy registerAdNetworkExtras:[OCMArg isEqual:testExtras]]); -} - -- (void)testAsAdRequestNoParams { - // Proxy [GADRequest init] to return a partial mock of a real GADRequest. - GADRequest *gadRequestSpy = OCMPartialMock([GADRequest request]); - id gadRequestClassMock = OCMClassMock([GADRequest class]); - OCMStub([gadRequestClassMock request]).andReturn(gadRequestSpy); - - // Create a GADRequest with no additional params. - FLTAdRequest *fltAdRequest = [[FLTAdRequest alloc] init]; - GADRequest *gadRequest = [fltAdRequest asGADRequest:@"test-ad-unit"]; - - // Verify parameters are empty or nil. - XCTAssertNil(gadRequest.contentURL); - XCTAssertNil(gadRequest.keywords); - XCTAssertNil(gadRequest.neighboringContentURLStrings); - XCTAssertNil([gadRequest adNetworkExtrasFor:[GADExtras class]]); -} - -- (void)testGADExtrasAddedWhenNpaSpecified { - // Proxy [GADRequest init] to return a partial mock of a real GADRequest. - GADRequest *gadRequestSpy = OCMPartialMock([GADRequest request]); - id gadRequestClassMock = OCMClassMock([GADRequest class]); - OCMStub([gadRequestClassMock request]).andReturn(gadRequestSpy); - - // Create a GADRequest with NPA set, and a FLTMediationNetworkExtrasProvider - // that returns an empty array. - FLTAdRequest *fltAdRequest = [[FLTAdRequest alloc] init]; - fltAdRequest.nonPersonalizedAds = YES; - fltAdRequest.mediationExtrasIdentifier = @"identifier"; - - NSArray> *extrasArray = @[]; - id extrasProvider = - OCMProtocolMock(@protocol(FLTMediationNetworkExtrasProvider)); - OCMStub([extrasProvider getMediationExtras:[OCMArg isEqual:@"test-ad-unit"] - mediationExtrasIdentifier:@"identifier"]) - .andReturn(extrasArray); - - fltAdRequest.mediationNetworkExtrasProvider = extrasProvider; - - GADRequest *gadRequest = [fltAdRequest asGADRequest:@"test-ad-unit"]; - - // GADExtras should be added with npa = 1. - GADExtras *updatedExtras = [gadRequest adNetworkExtrasFor:[GADExtras class]]; - XCTAssertEqualObjects(updatedExtras.additionalParameters[@"npa"], @"1"); -} - -- (void)testGADExtrasWithoutNpa { - // Proxy [GADRequest init] to return a partial mock of a real GADRequest. - GADRequest *gadRequestSpy = OCMPartialMock([GADRequest request]); - id gadRequestClassMock = OCMClassMock([GADRequest class]); - OCMStub([gadRequestClassMock request]).andReturn(gadRequestSpy); - - // Extras should be added even if npa is not set. - FLTAdRequest *fltAdRequest = [[FLTAdRequest alloc] init]; - fltAdRequest.mediationExtrasIdentifier = @"identifier"; - - TestGADAdNetworkExtras *testExtras = [[TestGADAdNetworkExtras alloc] init]; - NSArray> *extrasArray = @[ testExtras ]; - id extrasProvider = - OCMProtocolMock(@protocol(FLTMediationNetworkExtrasProvider)); - OCMStub([extrasProvider getMediationExtras:[OCMArg isEqual:@"test-ad-unit"] - mediationExtrasIdentifier:@"identifier"]) - .andReturn(extrasArray); - - fltAdRequest.mediationNetworkExtrasProvider = extrasProvider; - - GADRequest *gadRequest = [fltAdRequest asGADRequest:@"test-ad-unit"]; - - XCTAssertNil([gadRequest adNetworkExtrasFor:[GADExtras class]]); - OCMVerify( - [gadRequestSpy registerAdNetworkExtras:[OCMArg isEqual:testExtras]]); -} - -@end diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/example/ios/RunnerTests/FLTAdUtilTest.m b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/example/ios/RunnerTests/FLTAdUtilTest.m deleted file mode 100644 index 77d8122e..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/example/ios/RunnerTests/FLTAdUtilTest.m +++ /dev/null @@ -1,97 +0,0 @@ -// Copyright 2022 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#import -#import - -#import "FLTAdUtil.h" -#import "FLTConstants.h" - -@interface FLTAdUtilTest : XCTestCase -@end - -@implementation FLTAdUtilTest { - NSBundle *_mockMainBundle; -} - -- (void)setUp { - id mockBundle = OCMClassMock([NSBundle class]); - OCMStub(ClassMethod([mockBundle mainBundle])).andReturn(mockBundle); - _mockMainBundle = mockBundle; -} - -- (void)testRequestAgent_noTemplateMetadata { - OCMStub( - [_mockMainBundle - objectForInfoDictionaryKey:[OCMArg - isEqual:@"FLTNewsTemplateVersion"]]) - .andReturn(nil); - OCMStub( - [_mockMainBundle - objectForInfoDictionaryKey:[OCMArg - isEqual:@"FLTGameTemplateVersion"]]) - .andReturn(nil); - XCTAssertEqualObjects([FLTAdUtil requestAgent], FLT_REQUEST_AGENT_VERSIONED); -} - -- (void)testRequestAgent_newsTemplateMetadata { - OCMStub( - [_mockMainBundle - objectForInfoDictionaryKey:[OCMArg - isEqual:@"FLTNewsTemplateVersion"]]) - .andReturn(@"v1.2.3"); - OCMStub( - [_mockMainBundle - objectForInfoDictionaryKey:[OCMArg - isEqual:@"FLTGameTemplateVersion"]]) - .andReturn(nil); - NSString *expected = [NSString - stringWithFormat:@"%@%@", FLT_REQUEST_AGENT_VERSIONED, @"_News-v1.2.3"]; - XCTAssertEqualObjects([FLTAdUtil requestAgent], expected); -} - -- (void)testRequestAgent_gameTemplateMetadata { - OCMStub( - [_mockMainBundle - objectForInfoDictionaryKey:[OCMArg - isEqual:@"FLTNewsTemplateVersion"]]) - .andReturn(nil); - OCMStub( - [_mockMainBundle - objectForInfoDictionaryKey:[OCMArg - isEqual:@"FLTGameTemplateVersion"]]) - .andReturn(@"123456"); - NSString *expected = [NSString - stringWithFormat:@"%@%@", FLT_REQUEST_AGENT_VERSIONED, @"_Game-123456"]; - XCTAssertEqualObjects([FLTAdUtil requestAgent], expected); -} - -- (void)testRequestAgent_gameAndNewsTemplateMetadata { - OCMStub( - [_mockMainBundle - objectForInfoDictionaryKey:[OCMArg - isEqual:@"FLTNewsTemplateVersion"]]) - .andReturn(@"123456"); - OCMStub( - [_mockMainBundle - objectForInfoDictionaryKey:[OCMArg - isEqual:@"FLTGameTemplateVersion"]]) - .andReturn(@"789z"); - NSString *expected = - [NSString stringWithFormat:@"%@%@%@", FLT_REQUEST_AGENT_VERSIONED, - @"_News-123456", @"_Game-789z"]; - XCTAssertEqualObjects([FLTAdUtil requestAgent], expected); -} - -@end diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/example/ios/RunnerTests/FLTAppOpenAdTest.m b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/example/ios/RunnerTests/FLTAppOpenAdTest.m deleted file mode 100644 index 1122044e..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/example/ios/RunnerTests/FLTAppOpenAdTest.m +++ /dev/null @@ -1,185 +0,0 @@ -// Copyright 2021 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#import -#import - -#import "FLTAdInstanceManager_Internal.h" -#import "FLTAd_Internal.h" - -@interface FLTAppOpenAdTest : XCTestCase -@end - -@implementation FLTAppOpenAdTest { - FLTAdInstanceManager *mockManager; -} - -- (void)setUp { - mockManager = (OCMClassMock([FLTAdInstanceManager class])); -} - -- (void)testLoadShowGADRequest { - FLTAdRequest *request = OCMClassMock([FLTAdRequest class]); - OCMStub([request keywords]).andReturn(@[ @"apple" ]); - GADRequest *gadRequest = OCMClassMock([GADRequest class]); - OCMStub([request asGADRequest:[OCMArg any]]).andReturn(gadRequest); - - [self testLoadShowAppOpenAd:request gadOrGAMRequest:gadRequest]; -} - -- (void)testLoadShowGAMRequest { - FLTGAMAdRequest *request = OCMClassMock([FLTGAMAdRequest class]); - OCMStub([request keywords]).andReturn(@[ @"apple" ]); - GAMRequest *gamRequest = OCMClassMock([GAMRequest class]); - OCMStub([request asGAMRequest:[OCMArg any]]).andReturn(gamRequest); - FLTServerSideVerificationOptions *serverSideVerificationOptions = - OCMClassMock([FLTServerSideVerificationOptions class]); - GADServerSideVerificationOptions *gadOptions = - OCMClassMock([GADServerSideVerificationOptions class]); - OCMStub([serverSideVerificationOptions asGADServerSideVerificationOptions]) - .andReturn(gadOptions); - - [self testLoadShowAppOpenAd:request gadOrGAMRequest:gamRequest]; -} - -// Helper method for testing with FLTAdRequest and FLTGAMAdRequest. -- (void)testLoadShowAppOpenAd:(FLTAdRequest *)request - gadOrGAMRequest:(GADRequest *)gadOrGAMRequest { - FLTAppOpenAd *ad = [[FLTAppOpenAd alloc] initWithAdUnitId:@"testId" - request:request - adId:@1]; - ad.manager = mockManager; - - // Stub the load call to invoke successful load callback. - id appOpenClassMock = OCMClassMock([GADAppOpenAd class]); - OCMStub(ClassMethod([appOpenClassMock loadWithAdUnitID:[OCMArg any] - request:[OCMArg any] - completionHandler:[OCMArg any]])) - .andDo(^(NSInvocation *invocation) { - void (^completionHandler)(GADAppOpenAd *ad, NSError *error); - [invocation getArgument:&completionHandler atIndex:4]; - completionHandler(appOpenClassMock, nil); - }); - // Stub setting of FullScreenContentDelegate to invoke delegate callbacks. - NSError *error = OCMClassMock([NSError class]); - OCMStub([appOpenClassMock setFullScreenContentDelegate:[OCMArg any]]) - .andDo(^(NSInvocation *invocation) { - id delegate; - [invocation getArgument:&delegate atIndex:2]; - XCTAssertEqual(delegate, ad); - [delegate adDidRecordImpression:appOpenClassMock]; - [delegate adDidRecordClick:appOpenClassMock]; - [delegate adDidDismissFullScreenContent:appOpenClassMock]; - [delegate adWillPresentFullScreenContent:appOpenClassMock]; - [delegate adWillDismissFullScreenContent:appOpenClassMock]; - [delegate ad:appOpenClassMock - didFailToPresentFullScreenContentWithError:error]; - }); - GADResponseInfo *responseInfo = OCMClassMock([GADResponseInfo class]); - OCMStub([appOpenClassMock responseInfo]).andReturn(responseInfo); - - // Mock callback of paid event handler. - GADAdValue *adValue = OCMClassMock([GADAdValue class]); - OCMStub([adValue value]).andReturn(NSDecimalNumber.one); - OCMStub([adValue precision]).andReturn(GADAdValuePrecisionEstimated); - OCMStub([adValue currencyCode]).andReturn(@"currencyCode"); - OCMStub([appOpenClassMock - setPaidEventHandler:[OCMArg checkWithBlock:^BOOL(id obj) { - GADPaidEventHandler handler = obj; - handler(adValue); - return YES; - }]]); - // Call load and check expected interactions with mocks. - [ad load]; - - OCMVerify(ClassMethod([appOpenClassMock - loadWithAdUnitID:[OCMArg isEqual:@"testId"] - request:[OCMArg isEqual:gadOrGAMRequest] - completionHandler:[OCMArg any]])); - OCMVerify([mockManager onAdLoaded:[OCMArg isEqual:ad] - responseInfo:[OCMArg isEqual:responseInfo]]); - OCMVerify( - [appOpenClassMock setFullScreenContentDelegate:[OCMArg isEqual:ad]]); - XCTAssertEqual(ad.appOpenAd, appOpenClassMock); - OCMVerify([mockManager - onPaidEvent:[OCMArg isEqual:ad] - value:[OCMArg checkWithBlock:^BOOL(id obj) { - FLTAdValue *adValue = obj; - XCTAssertEqualObjects( - adValue.valueMicros, - [[NSDecimalNumber alloc] initWithInt:1000000]); - XCTAssertEqual(adValue.precision, GADAdValuePrecisionEstimated); - XCTAssertEqualObjects(adValue.currencyCode, @"currencyCode"); - return TRUE; - }]]); - - [ad show]; - - OCMVerify([appOpenClassMock presentFromRootViewController:[OCMArg isNil]]); - - // Verify full screen callbacks. - OCMVerify([mockManager adWillPresentFullScreenContent:[OCMArg isEqual:ad]]); - OCMVerify([mockManager adDidDismissFullScreenContent:[OCMArg isEqual:ad]]); - OCMVerify([mockManager adWillDismissFullScreenContent:[OCMArg isEqual:ad]]); - OCMVerify([mockManager adDidRecordImpression:[OCMArg isEqual:ad]]); - OCMVerify([mockManager adDidRecordClick:[OCMArg isEqual:ad]]); - OCMVerify([mockManager - didFailToPresentFullScreenContentWithError:[OCMArg isEqual:ad] - error:[OCMArg isEqual:error]]); -} - -- (void)testFailedToLoadGADRequest { - FLTAdRequest *request = OCMClassMock([FLTAdRequest class]); - OCMStub([request keywords]).andReturn(@[ @"apple" ]); - GADRequest *gadRequest = OCMClassMock([GADRequest class]); - OCMStub([request asGADRequest:[OCMArg any]]).andReturn(gadRequest); - [self testFailedToLoad:request]; -} - -- (void)testFailedToLoadGAMRequest { - FLTGAMAdRequest *request = OCMClassMock([FLTGAMAdRequest class]); - OCMStub([request keywords]).andReturn(@[ @"apple" ]); - GAMRequest *gamRequest = OCMClassMock([GAMRequest class]); - OCMStub([request asGAMRequest:[OCMArg any]]).andReturn(gamRequest); - [self testFailedToLoad:request]; -} - -// Helper for testing failed to load. -- (void)testFailedToLoad:(FLTAdRequest *)request { - FLTAppOpenAd *ad = [[FLTAppOpenAd alloc] initWithAdUnitId:@"testId" - request:request - adId:@1]; - ad.manager = mockManager; - - id appOpenClassMock = OCMClassMock([GADAppOpenAd class]); - NSError *error = OCMClassMock([NSError class]); - OCMStub(ClassMethod([appOpenClassMock loadWithAdUnitID:[OCMArg any] - request:[OCMArg any] - completionHandler:[OCMArg any]])) - .andDo(^(NSInvocation *invocation) { - void (^completionHandler)(GADAppOpenAd *ad, NSError *error); - [invocation getArgument:&completionHandler atIndex:4]; - completionHandler(nil, error); - }); - - [ad load]; - - OCMVerify(ClassMethod([appOpenClassMock loadWithAdUnitID:[OCMArg any] - request:[OCMArg any] - completionHandler:[OCMArg any]])); - OCMVerify([mockManager onAdFailedToLoad:[OCMArg isEqual:ad] - error:[OCMArg isEqual:error]]); -} - -@end diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/example/ios/RunnerTests/FLTBannerAdTest.m b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/example/ios/RunnerTests/FLTBannerAdTest.m deleted file mode 100644 index 278875cd..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/example/ios/RunnerTests/FLTBannerAdTest.m +++ /dev/null @@ -1,126 +0,0 @@ -// Copyright 2021 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#import -#import - -#import "FLTAdInstanceManager_Internal.h" -#import "FLTAd_Internal.h" - -@interface FLTBannerAdTest : XCTestCase -@end - -@implementation FLTBannerAdTest { - FLTAdInstanceManager *mockManager; -} - -- (void)setUp { - mockManager = (OCMClassMock([FLTAdInstanceManager class])); -} - -- (void)testDelegates { - FLTAdSize *size = [[FLTAdSize alloc] initWithWidth:@(1) height:@(2)]; - UIViewController *mockRootViewController = - OCMClassMock([UIViewController class]); - FLTBannerAd *bannerAd = - [[FLTBannerAd alloc] initWithAdUnitId:@"testId" - size:size - request:[[FLTAdRequest alloc] init] - rootViewController:mockRootViewController - adId:@1]; - bannerAd.manager = mockManager; - - [bannerAd load]; - - XCTAssertEqual(bannerAd.bannerView.delegate, bannerAd); - - GADBannerView *bannerMock = OCMClassMock([GADBannerView class]); - GADResponseInfo *responseInfo = OCMClassMock([GADResponseInfo class]); - OCMStub([bannerMock responseInfo]).andReturn(responseInfo); - - [bannerAd.bannerView.delegate bannerViewDidReceiveAd:bannerMock]; - OCMVerify([mockManager onAdLoaded:[OCMArg isEqual:bannerAd] - responseInfo:[OCMArg isEqual:responseInfo]]); - - [bannerAd.bannerView.delegate bannerViewDidDismissScreen:bannerMock]; - OCMVerify([mockManager onBannerDidDismissScreen:[OCMArg isEqual:bannerAd]]); - - [bannerAd.bannerView.delegate bannerViewWillDismissScreen:bannerMock]; - OCMVerify([mockManager onBannerWillDismissScreen:[OCMArg isEqual:bannerAd]]); - - [bannerAd.bannerView.delegate bannerViewWillPresentScreen:bannerMock]; - OCMVerify([mockManager onBannerWillPresentScreen:[OCMArg isEqual:bannerAd]]); - - [bannerAd.bannerView.delegate bannerViewDidRecordImpression:bannerMock]; - OCMVerify([mockManager onBannerImpression:[OCMArg isEqual:bannerAd]]); - - [bannerAd.bannerView.delegate bannerViewDidRecordClick:bannerMock]; - OCMVerify([mockManager adDidRecordClick:[OCMArg isEqual:bannerAd]]); - - // Mock callback of paid event handler. - GADAdValue *adValue = OCMClassMock([GADAdValue class]); - OCMStub([adValue value]).andReturn(NSDecimalNumber.one); - OCMStub([adValue precision]).andReturn(GADAdValuePrecisionEstimated); - OCMStub([adValue currencyCode]).andReturn(@"currencyCode"); - - bannerAd.bannerView.paidEventHandler(adValue); - OCMVerify([mockManager - onPaidEvent:[OCMArg isEqual:bannerAd] - value:[OCMArg checkWithBlock:^BOOL(id obj) { - FLTAdValue *adValue = obj; - XCTAssertEqualObjects( - adValue.valueMicros, - [[NSDecimalNumber alloc] initWithInt:1000000]); - XCTAssertEqual(adValue.precision, GADAdValuePrecisionEstimated); - XCTAssertEqualObjects(adValue.currencyCode, @"currencyCode"); - return TRUE; - }]]); - - NSString *domain = @"domain"; - NSDictionary *userInfo = @{NSLocalizedDescriptionKey : @"description"}; - NSError *error = [NSError errorWithDomain:domain code:1 userInfo:userInfo]; - [bannerAd.bannerView.delegate bannerView:OCMClassMock([GADBannerView class]) - didFailToReceiveAdWithError:error]; - OCMVerify([mockManager onAdFailedToLoad:[OCMArg isEqual:bannerAd] - error:[OCMArg isEqual:error]]); -} - -- (void)testLoad { - FLTAdRequest *request = [[FLTAdRequest alloc] init]; - request.keywords = @[ @"apple" ]; - UIViewController *mockRootViewController = - OCMClassMock([UIViewController class]); - FLTBannerAd *ad = [[FLTBannerAd alloc] - initWithAdUnitId:@"testId" - size:[[FLTAdSize alloc] initWithWidth:@(1) height:@(2)] - request:request - rootViewController:mockRootViewController - adId:@1]; - - XCTAssertEqual(ad.bannerView.adUnitID, @"testId"); - XCTAssertEqual(ad.bannerView.rootViewController, mockRootViewController); - - FLTBannerAd *mockBannerAd = OCMPartialMock(ad); - GADBannerView *mockView = OCMClassMock([GADBannerView class]); - OCMStub([mockBannerAd bannerView]).andReturn(mockView); - [mockBannerAd load]; - - OCMVerify([mockView loadRequest:[OCMArg checkWithBlock:^BOOL(id obj) { - GADRequest *requestArg = obj; - return - [requestArg.keywords isEqualToArray:@[ @"apple" ]]; - }]]); -} - -@end diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/example/ios/RunnerTests/FLTFluidGAMBannerAdTest.m b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/example/ios/RunnerTests/FLTFluidGAMBannerAdTest.m deleted file mode 100644 index 5ca92fa9..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/example/ios/RunnerTests/FLTFluidGAMBannerAdTest.m +++ /dev/null @@ -1,204 +0,0 @@ -// Copyright 2021 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#import -#import - -#import "FLTAdInstanceManager_Internal.h" -#import "FLTAd_Internal.h" - -@interface FLTFluidGAMBannerAdTest : XCTestCase -@end - -@implementation FLTFluidGAMBannerAdTest { - FLTAdInstanceManager *mockManager; -} - -- (void)setUp { - mockManager = (OCMClassMock([FLTAdInstanceManager class])); -} - -- (void)testDelegates { - FLTGAMAdRequest *request = [[FLTGAMAdRequest alloc] init]; - request.keywords = @[ @"apple" ]; - UIViewController *mockRootViewController = - OCMClassMock([UIViewController class]); - FLTFluidGAMBannerAd *fluidAd = [[FLTFluidGAMBannerAd alloc] - initWithAdUnitId:@"testId" - request:[[FLTGAMAdRequest alloc] init] - rootViewController:mockRootViewController - adId:@1]; - fluidAd.manager = mockManager; - - [fluidAd load]; - GAMBannerView *adView = (GAMBannerView *)fluidAd.bannerView; - XCTAssertEqual(adView.appEventDelegate, fluidAd); - XCTAssertEqual(adView.delegate, fluidAd); - - [fluidAd.bannerView.delegate - bannerViewDidReceiveAd:OCMClassMock([GADBannerView class])]; - OCMVerify([mockManager onAdLoaded:[OCMArg isEqual:fluidAd] - responseInfo:[OCMArg isEqual:adView.responseInfo]]); - - [fluidAd.bannerView.delegate - bannerViewDidDismissScreen:OCMClassMock([GADBannerView class])]; - OCMVerify([mockManager onBannerDidDismissScreen:[OCMArg isEqual:fluidAd]]); - - [fluidAd.bannerView.delegate - bannerViewWillDismissScreen:OCMClassMock([GADBannerView class])]; - OCMVerify([mockManager onBannerWillDismissScreen:[OCMArg isEqual:fluidAd]]); - - [fluidAd.bannerView.delegate - bannerViewWillPresentScreen:OCMClassMock([GADBannerView class])]; - OCMVerify([mockManager onBannerWillPresentScreen:[OCMArg isEqual:fluidAd]]); - - [fluidAd.bannerView.delegate - bannerViewDidRecordImpression:OCMClassMock([GADBannerView class])]; - OCMVerify([mockManager onBannerImpression:[OCMArg isEqual:fluidAd]]); - - [fluidAd.bannerView.delegate - bannerViewDidRecordClick:OCMClassMock([GADBannerView class])]; - OCMVerify([mockManager adDidRecordClick:[OCMArg isEqual:fluidAd]]); - - // Mock callback of paid event handler. - GADAdValue *adValue = OCMClassMock([GADAdValue class]); - OCMStub([adValue value]).andReturn(NSDecimalNumber.one); - OCMStub([adValue precision]).andReturn(GADAdValuePrecisionEstimated); - OCMStub([adValue currencyCode]).andReturn(@"currencyCode"); - - fluidAd.bannerView.paidEventHandler(adValue); - OCMVerify([mockManager - onPaidEvent:[OCMArg isEqual:fluidAd] - value:[OCMArg checkWithBlock:^BOOL(id obj) { - FLTAdValue *adValue = obj; - XCTAssertEqualObjects( - adValue.valueMicros, - [[NSDecimalNumber alloc] initWithInt:1000000]); - XCTAssertEqual(adValue.precision, GADAdValuePrecisionEstimated); - XCTAssertEqualObjects(adValue.currencyCode, @"currencyCode"); - return TRUE; - }]]); - - NSString *domain = @"domain"; - NSDictionary *userInfo = @{NSLocalizedDescriptionKey : @"description"}; - NSError *error = [NSError errorWithDomain:domain code:1 userInfo:userInfo]; - [fluidAd.bannerView.delegate bannerView:OCMClassMock([GADBannerView class]) - didFailToReceiveAdWithError:error]; - OCMVerify([mockManager onAdFailedToLoad:[OCMArg isEqual:fluidAd] - error:[OCMArg isEqual:error]]); - - [adView.appEventDelegate adView:adView - didReceiveAppEvent:@"appEvent" - withInfo:@"info"]; - OCMVerify([mockManager onAppEvent:[OCMArg isEqual:fluidAd] - name:[OCMArg isEqual:@"appEvent"] - data:[OCMArg isEqual:@"info"]]); -} - -- (void)testPlatformViewSetup { - // Setup mocks - FLTGAMAdRequest *request = [[FLTGAMAdRequest alloc] init]; - request.keywords = @[ @"apple" ]; - UIViewController *mockRootViewController = - OCMClassMock([UIViewController class]); - - id scrollViewClassMock = OCMClassMock([UIScrollView class]); - OCMStub([scrollViewClassMock alloc]).andReturn(scrollViewClassMock); - OCMStub([scrollViewClassMock initWithFrame:CGRectZero]) - .andReturn(scrollViewClassMock); - - id gamBannerClassMock = OCMClassMock([GAMBannerView class]); - OCMStub([gamBannerClassMock alloc]).andReturn(gamBannerClassMock); - OCMStub([gamBannerClassMock initWithAdSize:GADAdSizeFluid]) - .andReturn(gamBannerClassMock); - - // Create and load an ad. - FLTFluidGAMBannerAd *fluidAd = [[FLTFluidGAMBannerAd alloc] - initWithAdUnitId:@"testId" - request:[[FLTGAMAdRequest alloc] init] - rootViewController:mockRootViewController - adId:@1]; - fluidAd.manager = mockManager; - - // Mimic successful loading of an ad. - [fluidAd load]; - [fluidAd.bannerView.delegate - bannerViewDidReceiveAd:OCMClassMock([GADBannerView class])]; - - // The banner view should be contained within a scrollview. - XCTAssertEqualObjects(fluidAd.view, scrollViewClassMock); - OCMVerify([(UIScrollView *)scrollViewClassMock - addSubview:[OCMArg isKindOfClass:GAMBannerView.class]]); - OCMVerify([(UIScrollView *)scrollViewClassMock - setShowsHorizontalScrollIndicator:NO]); - OCMVerify( - [(UIScrollView *)scrollViewClassMock setShowsVerticalScrollIndicator:NO]); - - [scrollViewClassMock stopMocking]; - [gamBannerClassMock stopMocking]; -} - -- (void)testSizeChangedEvent { - // Setup mocks - FLTGAMAdRequest *request = [[FLTGAMAdRequest alloc] init]; - request.keywords = @[ @"apple" ]; - UIViewController *mockRootViewController = - OCMClassMock([UIViewController class]); - - // Create and load an ad. - FLTFluidGAMBannerAd *fluidAd = [[FLTFluidGAMBannerAd alloc] - initWithAdUnitId:@"testId" - request:[[FLTGAMAdRequest alloc] init] - rootViewController:mockRootViewController - adId:@1]; - fluidAd.manager = mockManager; - - // Mimic successful loading of an ad. - [fluidAd load]; - [fluidAd.bannerView.delegate - bannerViewDidReceiveAd:OCMClassMock([GADBannerView class])]; - - [fluidAd.bannerView.adSizeDelegate - adView:fluidAd.bannerView - willChangeAdSizeTo:GADAdSizeFromCGSize(CGSizeMake(0, 25))]; - OCMVerify([mockManager onFluidAdHeightChanged:fluidAd height:25]); -} - -- (void)testLoad { - FLTGAMAdRequest *request = [[FLTGAMAdRequest alloc] init]; - request.keywords = @[ @"apple" ]; - UIViewController *mockRootViewController = - OCMClassMock([UIViewController class]); - FLTFluidGAMBannerAd *ad = - [[FLTFluidGAMBannerAd alloc] initWithAdUnitId:@"testId" - request:request - rootViewController:mockRootViewController - adId:@1]; - - XCTAssertEqual(ad.bannerView.adUnitID, @"testId"); - XCTAssertEqual(ad.bannerView.rootViewController, mockRootViewController); - - FLTBannerAd *mockBannerAd = OCMPartialMock(ad); - GADBannerView *mockView = OCMClassMock([GADBannerView class]); - OCMStub([mockBannerAd bannerView]).andReturn(mockView); - [mockBannerAd load]; - - OCMVerify([mockView loadRequest:[OCMArg checkWithBlock:^BOOL(id obj) { - GADRequest *requestArg = obj; - return - [requestArg.keywords isEqualToArray:@[ @"apple" ]]; - }]]); -} - -@end diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/example/ios/RunnerTests/FLTGAMAdRequestTest.m b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/example/ios/RunnerTests/FLTGAMAdRequestTest.m deleted file mode 100644 index 44b7a1c8..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/example/ios/RunnerTests/FLTGAMAdRequestTest.m +++ /dev/null @@ -1,152 +0,0 @@ -// Copyright 2021 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#import -#import - -#import "FLTAd_Internal.h" -#import "FLTMediationNetworkExtrasProvider.h" - -@interface FLTGAMAdRequestTest : XCTestCase -@end - -@interface TestGAMAdNetworkExtras : NSObject -@end - -@implementation TestGAMAdNetworkExtras -@end - -@implementation FLTGAMAdRequestTest - -- (void)testAsAdRequestAllParams { - // Proxy [GAMRequest init] to return a partial mock of a real GAMRequest. - GAMRequest *gamRequestSpy = OCMPartialMock([GAMRequest request]); - id gamRequestClassMock = OCMClassMock([GAMRequest class]); - OCMStub([gamRequestClassMock request]).andReturn(gamRequestSpy); - - // Set values for all params. - FLTGAMAdRequest *fltGAMAdRequest = [[FLTGAMAdRequest alloc] init]; - fltGAMAdRequest.contentURL = @"contentURL"; - NSArray *keywords = @[ @"keyword1", @"keyword2" ]; - fltGAMAdRequest.keywords = keywords; - fltGAMAdRequest.nonPersonalizedAds = YES; - fltGAMAdRequest.mediationExtrasIdentifier = @"identifier"; - NSArray *neighbors = @[ @"neighbor1", @"neighbor2" ]; - fltGAMAdRequest.neighboringContentURLs = neighbors; - fltGAMAdRequest.customTargeting = @{@"key" : @"value"}; - fltGAMAdRequest.pubProvidedID = @"pubProvidedId"; - fltGAMAdRequest.customTargetingLists = @{@"key" : @[ @"value1", @"value2" ]}; - - // Mock FLTMediationNetworkExtrasProvider. - GADExtras *extras = [[GADExtras alloc] init]; - TestGAMAdNetworkExtras *testExtras = [[TestGAMAdNetworkExtras alloc] init]; - NSArray> *extrasArray = @[ extras, testExtras ]; - id extrasProvider = - OCMProtocolMock(@protocol(FLTMediationNetworkExtrasProvider)); - OCMStub([extrasProvider getMediationExtras:[OCMArg isEqual:@"test-ad-unit"] - mediationExtrasIdentifier:@"identifier"]) - .andReturn(extrasArray); - - fltGAMAdRequest.mediationNetworkExtrasProvider = extrasProvider; - - // Create a GAMRequest and verify properties are set correctly. - GAMRequest *gamRequest = [fltGAMAdRequest asGAMRequest:@"test-ad-unit"]; - - XCTAssertEqualObjects(gamRequest.contentURL, @"contentURL"); - XCTAssertEqualObjects(gamRequest.keywords, keywords); - XCTAssertEqualObjects(gamRequest.neighboringContentURLStrings, neighbors); - XCTAssertEqualObjects(gamRequest.customTargeting[@"key"], @"value1,value2"); - XCTAssertEqualObjects(gamRequest.publisherProvidedID, @"pubProvidedId"); - GADExtras *updatedExtras = [gamRequest adNetworkExtrasFor:[GADExtras class]]; - XCTAssertEqualObjects(updatedExtras, extras); - XCTAssertEqualObjects(updatedExtras.additionalParameters[@"npa"], @"1"); - OCMVerify( - [gamRequestSpy registerAdNetworkExtras:[OCMArg isEqual:testExtras]]); -} - -- (void)testAsAdRequestNoParams { - // Proxy [GAMRequest init] to return a partial mock of a real GAMRequest. - GAMRequest *gamRequestSpy = OCMPartialMock([GAMRequest request]); - id gamRequestClassMock = OCMClassMock([GAMRequest class]); - OCMStub([gamRequestClassMock request]).andReturn(gamRequestSpy); - - // Create a GAMRequest with no additional params. - FLTGAMAdRequest *fltGAMAdRequest = [[FLTGAMAdRequest alloc] init]; - GAMRequest *gamRequest = [fltGAMAdRequest asGAMRequest:@"test-ad-unit"]; - - // Verify parameters are empty or nil. - XCTAssertNil(gamRequest.contentURL); - XCTAssertNil(gamRequest.keywords); - XCTAssertNil(gamRequest.neighboringContentURLStrings); - XCTAssertNil([gamRequest adNetworkExtrasFor:[GADExtras class]]); - XCTAssertNil(gamRequest.publisherProvidedID); - XCTAssertTrue(gamRequest.customTargeting.count == 0); -} - -- (void)testGADExtrasAddedWhenNpaSpecified { - // Proxy [GAMRequest init] to return a partial mock of a real GAMRequest. - GAMRequest *gamRequestSpy = OCMPartialMock([GAMRequest request]); - id gamRequestClassMock = OCMClassMock([GAMRequest class]); - OCMStub([gamRequestClassMock request]).andReturn(gamRequestSpy); - - // Create a GAMRequest with NPA set, and a FLTMediationNetworkExtrasProvider - // that returns an empty array. - FLTGAMAdRequest *fltGAMAdRequest = [[FLTGAMAdRequest alloc] init]; - fltGAMAdRequest.nonPersonalizedAds = YES; - fltGAMAdRequest.mediationExtrasIdentifier = @"identifier"; - - NSArray> *extrasArray = @[]; - id extrasProvider = - OCMProtocolMock(@protocol(FLTMediationNetworkExtrasProvider)); - OCMStub([extrasProvider getMediationExtras:[OCMArg isEqual:@"test-ad-unit"] - mediationExtrasIdentifier:@"identifier"]) - .andReturn(extrasArray); - - fltGAMAdRequest.mediationNetworkExtrasProvider = extrasProvider; - - GAMRequest *gamRequest = [fltGAMAdRequest asGAMRequest:@"test-ad-unit"]; - - // GADExtras should be added with npa = 1. - GADExtras *updatedExtras = [gamRequest adNetworkExtrasFor:[GADExtras class]]; - XCTAssertEqualObjects(updatedExtras.additionalParameters[@"npa"], @"1"); -} - -- (void)testGADExtrasWithoutNpa { - // Proxy [GAMRequest init] to return a partial mock of a real GAMRequest. - GAMRequest *gamRequestSpy = OCMPartialMock([GAMRequest request]); - id gamRequestClassMock = OCMClassMock([GAMRequest class]); - OCMStub([gamRequestClassMock request]).andReturn(gamRequestSpy); - - // Extras should be added even if npa is not set. - FLTGAMAdRequest *fltGAMAdRequest = [[FLTGAMAdRequest alloc] init]; - fltGAMAdRequest.mediationExtrasIdentifier = @"identifier"; - - TestGAMAdNetworkExtras *testExtras = [[TestGAMAdNetworkExtras alloc] init]; - NSArray> *extrasArray = @[ testExtras ]; - id extrasProvider = - OCMProtocolMock(@protocol(FLTMediationNetworkExtrasProvider)); - OCMStub([extrasProvider getMediationExtras:[OCMArg isEqual:@"test-ad-unit"] - mediationExtrasIdentifier:@"identifier"]) - .andReturn(extrasArray); - - fltGAMAdRequest.mediationNetworkExtrasProvider = extrasProvider; - - GADRequest *gamRequest = [fltGAMAdRequest asGAMRequest:@"test-ad-unit"]; - - XCTAssertNil([gamRequest adNetworkExtrasFor:[GADExtras class]]); - OCMVerify( - [gamRequestSpy registerAdNetworkExtras:[OCMArg isEqual:testExtras]]); -} - -@end diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/example/ios/RunnerTests/FLTGAMBannerAdTest.m b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/example/ios/RunnerTests/FLTGAMBannerAdTest.m deleted file mode 100644 index 1baf1f4c..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/example/ios/RunnerTests/FLTGAMBannerAdTest.m +++ /dev/null @@ -1,137 +0,0 @@ -// Copyright 2021 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#import -#import - -#import "FLTAdInstanceManager_Internal.h" -#import "FLTAd_Internal.h" - -@interface FLTGAMBannerAdTest : XCTestCase -@end - -@implementation FLTGAMBannerAdTest { - FLTAdInstanceManager *mockManager; -} - -- (void)setUp { - mockManager = (OCMClassMock([FLTAdInstanceManager class])); -} - -- (void)testDelegates { - FLTGAMAdRequest *request = [[FLTGAMAdRequest alloc] init]; - request.keywords = @[ @"apple" ]; - UIViewController *mockRootViewController = - OCMClassMock([UIViewController class]); - FLTGAMBannerAd *bannerAd = [[FLTGAMBannerAd alloc] - initWithAdUnitId:@"testId" - sizes:@[ [[FLTAdSize alloc] initWithWidth:@(1) height:@(2)] ] - request:[[FLTGAMAdRequest alloc] init] - rootViewController:mockRootViewController - adId:@1]; - bannerAd.manager = mockManager; - - [bannerAd load]; - GAMBannerView *adView = (GAMBannerView *)bannerAd.bannerView; - XCTAssertEqual(adView.appEventDelegate, bannerAd); - XCTAssertEqual(adView.delegate, bannerAd); - - [bannerAd.bannerView.delegate - bannerViewDidReceiveAd:OCMClassMock([GADBannerView class])]; - OCMVerify([mockManager onAdLoaded:[OCMArg isEqual:bannerAd] - responseInfo:[OCMArg isEqual:adView.responseInfo]]); - - [bannerAd.bannerView.delegate - bannerViewDidDismissScreen:OCMClassMock([GADBannerView class])]; - OCMVerify([mockManager onBannerDidDismissScreen:[OCMArg isEqual:bannerAd]]); - - [bannerAd.bannerView.delegate - bannerViewWillDismissScreen:OCMClassMock([GADBannerView class])]; - OCMVerify([mockManager onBannerWillDismissScreen:[OCMArg isEqual:bannerAd]]); - - [bannerAd.bannerView.delegate - bannerViewWillPresentScreen:OCMClassMock([GADBannerView class])]; - OCMVerify([mockManager onBannerWillPresentScreen:[OCMArg isEqual:bannerAd]]); - - [bannerAd.bannerView.delegate - bannerViewDidRecordImpression:OCMClassMock([GADBannerView class])]; - OCMVerify([mockManager onBannerImpression:[OCMArg isEqual:bannerAd]]); - - [bannerAd.bannerView.delegate - bannerViewDidRecordClick:OCMClassMock([GADBannerView class])]; - OCMVerify([mockManager adDidRecordClick:[OCMArg isEqual:bannerAd]]); - - // Mock callback of paid event handler. - GADAdValue *adValue = OCMClassMock([GADAdValue class]); - OCMStub([adValue value]).andReturn(NSDecimalNumber.one); - OCMStub([adValue precision]).andReturn(GADAdValuePrecisionEstimated); - OCMStub([adValue currencyCode]).andReturn(@"currencyCode"); - - bannerAd.bannerView.paidEventHandler(adValue); - OCMVerify([mockManager - onPaidEvent:[OCMArg isEqual:bannerAd] - value:[OCMArg checkWithBlock:^BOOL(id obj) { - FLTAdValue *adValue = obj; - XCTAssertEqualObjects( - adValue.valueMicros, - [[NSDecimalNumber alloc] initWithInt:1000000]); - XCTAssertEqual(adValue.precision, GADAdValuePrecisionEstimated); - XCTAssertEqualObjects(adValue.currencyCode, @"currencyCode"); - return TRUE; - }]]); - - NSString *domain = @"domain"; - NSDictionary *userInfo = @{NSLocalizedDescriptionKey : @"description"}; - NSError *error = [NSError errorWithDomain:domain code:1 userInfo:userInfo]; - [bannerAd.bannerView.delegate bannerView:OCMClassMock([GADBannerView class]) - didFailToReceiveAdWithError:error]; - OCMVerify([mockManager onAdFailedToLoad:[OCMArg isEqual:bannerAd] - error:[OCMArg isEqual:error]]); - - [adView.appEventDelegate adView:adView - didReceiveAppEvent:@"appEvent" - withInfo:@"info"]; - OCMVerify([mockManager onAppEvent:[OCMArg isEqual:bannerAd] - name:[OCMArg isEqual:@"appEvent"] - data:[OCMArg isEqual:@"info"]]); -} - -- (void)testLoad { - FLTGAMAdRequest *request = [[FLTGAMAdRequest alloc] init]; - request.keywords = @[ @"apple" ]; - UIViewController *mockRootViewController = - OCMClassMock([UIViewController class]); - FLTGAMBannerAd *ad = [[FLTGAMBannerAd alloc] - initWithAdUnitId:@"testId" - sizes:@[ [[FLTAdSize alloc] initWithWidth:@(1) height:@(2)] ] - request:request - rootViewController:mockRootViewController - adId:@1]; - - XCTAssertEqual(ad.bannerView.adUnitID, @"testId"); - XCTAssertEqual(ad.bannerView.rootViewController, mockRootViewController); - - FLTBannerAd *mockBannerAd = OCMPartialMock(ad); - GADBannerView *mockView = OCMClassMock([GADBannerView class]); - OCMStub([mockBannerAd bannerView]).andReturn(mockView); - [mockBannerAd load]; - - OCMVerify([mockView loadRequest:[OCMArg checkWithBlock:^BOOL(id obj) { - GADRequest *requestArg = obj; - return - [requestArg.keywords isEqualToArray:@[ @"apple" ]]; - }]]); -} - -@end diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/example/ios/RunnerTests/FLTGamInterstitialAdTest.m b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/example/ios/RunnerTests/FLTGamInterstitialAdTest.m deleted file mode 100644 index da46fba0..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/example/ios/RunnerTests/FLTGamInterstitialAdTest.m +++ /dev/null @@ -1,173 +0,0 @@ -// Copyright 2021 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#import -#import - -#import "FLTAdInstanceManager_Internal.h" -#import "FLTAd_Internal.h" - -@interface FLTGAMInterstitialAdTest : XCTestCase -@end - -@implementation FLTGAMInterstitialAdTest { - FLTAdInstanceManager *mockManager; -} - -- (void)setUp { - mockManager = (OCMClassMock([FLTAdInstanceManager class])); -} - -- (void)testLoadShowInterstitialAd { - FLTGAMAdRequest *request = OCMClassMock([FLTGAMAdRequest class]); - OCMStub([request keywords]).andReturn(@[ @"apple" ]); - GAMRequest *gadRequest = OCMClassMock([GAMRequest class]); - OCMStub([request asGAMRequest:[OCMArg any]]).andReturn(gadRequest); - - FLTGAMInterstitialAd *ad = - [[FLTGAMInterstitialAd alloc] initWithAdUnitId:@"testId" - request:request - adId:@1]; - ad.manager = mockManager; - - id interstitialClassMock = OCMClassMock([GAMInterstitialAd class]); - OCMStub(ClassMethod([interstitialClassMock - loadWithAdManagerAdUnitID:[OCMArg any] - request:[OCMArg any] - completionHandler:[OCMArg any]])) - .andDo(^(NSInvocation *invocation) { - void (^completionHandler)(GAMInterstitialAd *ad, NSError *error); - [invocation getArgument:&completionHandler atIndex:4]; - completionHandler(interstitialClassMock, nil); - }); - NSError *error = OCMClassMock([NSError class]); - OCMStub([interstitialClassMock setFullScreenContentDelegate:[OCMArg any]]) - .andDo(^(NSInvocation *invocation) { - id delegate; - [invocation getArgument:&delegate atIndex:2]; - XCTAssertEqual(delegate, ad); - [delegate adDidRecordImpression:interstitialClassMock]; - [delegate adDidRecordClick:interstitialClassMock]; - [delegate adDidDismissFullScreenContent:interstitialClassMock]; - [delegate adWillPresentFullScreenContent:interstitialClassMock]; - [delegate adWillDismissFullScreenContent:interstitialClassMock]; - [delegate ad:interstitialClassMock - didFailToPresentFullScreenContentWithError:error]; - }); - - OCMStub([interstitialClassMock setAppEventDelegate:[OCMArg any]]) - .andDo(^(NSInvocation *invocation) { - id delegate; - [invocation getArgument:&delegate atIndex:2]; - XCTAssertEqual(delegate, ad); - [delegate interstitialAd:interstitialClassMock - didReceiveAppEvent:@"event" - withInfo:@"info"]; - }); - - GADResponseInfo *responseInfo = OCMClassMock([GADResponseInfo class]); - OCMStub([interstitialClassMock responseInfo]).andReturn(responseInfo); - - // Mock callback of paid event handler. - GADAdValue *adValue = OCMClassMock([GADAdValue class]); - OCMStub([adValue value]).andReturn(NSDecimalNumber.one); - OCMStub([adValue precision]).andReturn(GADAdValuePrecisionEstimated); - OCMStub([adValue currencyCode]).andReturn(@"currencyCode"); - OCMStub([interstitialClassMock - setPaidEventHandler:[OCMArg checkWithBlock:^BOOL(id obj) { - GADPaidEventHandler handler = obj; - handler(adValue); - return YES; - }]]); - // Call load and verify interactions with mocks. - [ad load]; - - OCMVerify(ClassMethod([interstitialClassMock - loadWithAdManagerAdUnitID:[OCMArg isEqual:@"testId"] - request:[OCMArg isEqual:gadRequest] - completionHandler:[OCMArg any]])); - OCMVerify([mockManager onAdLoaded:[OCMArg isEqual:ad] - responseInfo:[OCMArg isEqual:responseInfo]]); - OCMVerify( - [interstitialClassMock setFullScreenContentDelegate:[OCMArg isEqual:ad]]); - XCTAssertEqual(ad.interstitial, interstitialClassMock); - OCMVerify([mockManager - onPaidEvent:[OCMArg isEqual:ad] - value:[OCMArg checkWithBlock:^BOOL(id obj) { - FLTAdValue *adValue = obj; - XCTAssertEqualObjects( - adValue.valueMicros, - [[NSDecimalNumber alloc] initWithInt:1000000]); - XCTAssertEqual(adValue.precision, GADAdValuePrecisionEstimated); - XCTAssertEqualObjects(adValue.currencyCode, @"currencyCode"); - return TRUE; - }]]); - - // Show the ad - [ad show]; - - OCMVerify( - [interstitialClassMock presentFromRootViewController:[OCMArg isNil]]); - - // Verify full screen callbacks. - OCMVerify([mockManager adWillPresentFullScreenContent:[OCMArg isEqual:ad]]); - OCMVerify([mockManager adDidDismissFullScreenContent:[OCMArg isEqual:ad]]); - OCMVerify([mockManager adWillDismissFullScreenContent:[OCMArg isEqual:ad]]); - OCMVerify([mockManager adDidRecordImpression:[OCMArg isEqual:ad]]); - OCMVerify([mockManager adDidRecordClick:[OCMArg isEqual:ad]]); - OCMVerify([mockManager - didFailToPresentFullScreenContentWithError:[OCMArg isEqual:ad] - error:[OCMArg isEqual:error]]); - - // Verify app event - OCMVerify([mockManager onAppEvent:ad - name:[OCMArg isEqual:@"event"] - data:[OCMArg isEqual:@"info"]]); -} - -- (void)testFailToLoad { - FLTGAMAdRequest *request = OCMClassMock([FLTGAMAdRequest class]); - OCMStub([request keywords]).andReturn(@[ @"apple" ]); - GAMRequest *gadRequest = OCMClassMock([GAMRequest class]); - OCMStub([request asGAMRequest:[OCMArg any]]).andReturn(gadRequest); - - FLTGAMInterstitialAd *ad = - [[FLTGAMInterstitialAd alloc] initWithAdUnitId:@"testId" - request:request - adId:@1]; - ad.manager = mockManager; - - id interstitialClassMock = OCMClassMock([GAMInterstitialAd class]); - NSError *error = OCMClassMock([NSError class]); - OCMStub(ClassMethod([interstitialClassMock - loadWithAdManagerAdUnitID:[OCMArg any] - request:[OCMArg any] - completionHandler:[OCMArg any]])) - .andDo(^(NSInvocation *invocation) { - void (^completionHandler)(GAMInterstitialAd *ad, NSError *error); - [invocation getArgument:&completionHandler atIndex:4]; - completionHandler(nil, error); - }); - - [ad load]; - - OCMVerify(ClassMethod([interstitialClassMock - loadWithAdManagerAdUnitID:[OCMArg isEqual:@"testId"] - request:[OCMArg isEqual:gadRequest] - completionHandler:[OCMArg any]])); - OCMVerify([mockManager onAdFailedToLoad:[OCMArg isEqual:ad] - error:[OCMArg isEqual:error]]); -} - -@end diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/example/ios/RunnerTests/FLTGoogleMobileAdsPluginMethodCallsTest.m b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/example/ios/RunnerTests/FLTGoogleMobileAdsPluginMethodCallsTest.m deleted file mode 100644 index ff7d8bde..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/example/ios/RunnerTests/FLTGoogleMobileAdsPluginMethodCallsTest.m +++ /dev/null @@ -1,712 +0,0 @@ -// Copyright 2021 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#import -#import - -#import "google_mobile_ads/FLTAdInstanceManager_Internal.h" -#import "google_mobile_ads/FLTAdUtil.h" -#import "google_mobile_ads/FLTGoogleMobileAdsPlugin.h" -#import "google_mobile_ads/FLTGoogleMobileAdsReaderWriter_Internal.h" -#import "google_mobile_ads/FLTMobileAds_Internal.h" - -@interface FLTGoogleMobileAdsPluginMethodCallsTest : XCTestCase -@end - -@interface FLTGoogleMobileAdsPlugin () -@property UIViewController *rootController; -@end - -@implementation FLTGoogleMobileAdsPluginMethodCallsTest { - FLTGoogleMobileAdsPlugin *_fltGoogleMobileAdsPlugin; - FLTAdInstanceManager *_mockAdInstanceManager; -} - -- (void)setUp { - id messenger = - OCMProtocolMock(@protocol(FlutterBinaryMessenger)); - FLTAdInstanceManager *manager = - [[FLTAdInstanceManager alloc] initWithBinaryMessenger:messenger]; - _mockAdInstanceManager = OCMPartialMock(manager); - _fltGoogleMobileAdsPlugin = [[FLTGoogleMobileAdsPlugin alloc] init]; - [_fltGoogleMobileAdsPlugin setValue:_mockAdInstanceManager - forKey:@"_manager"]; -} - -- (void)testDisposeAd { - FlutterMethodCall *methodCall = - [FlutterMethodCall methodCallWithMethodName:@"disposeAd" - arguments:@{@"adId" : @1}]; - __block bool resultInvoked = false; - __block id _Nullable returnedResult; - FlutterResult result = ^(id _Nullable result) { - resultInvoked = true; - returnedResult = result; - }; - - [_fltGoogleMobileAdsPlugin handleMethodCall:methodCall result:result]; - - XCTAssertTrue(resultInvoked); - XCTAssertNil(returnedResult); - OCMVerify([_mockAdInstanceManager dispose:@1]); -} - -- (void)testLoadRewardedAd { - FLTAdRequest *request = [[FLTAdRequest alloc] init]; - request.keywords = @[ @"apple" ]; - FlutterMethodCall *methodCall = - [FlutterMethodCall methodCallWithMethodName:@"loadRewardedAd" - arguments:@{ - @"adId" : @2, - @"adUnitId" : @"testId", - @"request" : request, - }]; - - __block bool resultInvoked = false; - __block id _Nullable returnedResult; - FlutterResult result = ^(id _Nullable result) { - resultInvoked = true; - returnedResult = result; - }; - - [_fltGoogleMobileAdsPlugin handleMethodCall:methodCall result:result]; - - XCTAssertTrue(resultInvoked); - XCTAssertNil(returnedResult); - BOOL (^verificationBlock)(FLTRewardedAd *) = ^BOOL(FLTRewardedAd *ad) { - FLTAdRequest *adRequest = [ad valueForKey:@"_adRequest"]; - NSString *adUnit = [ad valueForKey:@"_adUnitId"]; - XCTAssertEqualObjects(adRequest, request); - XCTAssertEqualObjects(adUnit, @"testId"); - return YES; - }; - OCMVerify([_mockAdInstanceManager - loadAd:[OCMArg checkWithBlock:verificationBlock]]); -} - -- (void)testInternalInit { - FlutterMethodCall *methodCall = - [FlutterMethodCall methodCallWithMethodName:@"_init" arguments:@{}]; - - __block bool resultInvoked = false; - __block id _Nullable returnedResult; - FlutterResult result = ^(id _Nullable result) { - resultInvoked = true; - returnedResult = result; - }; - - [_fltGoogleMobileAdsPlugin handleMethodCall:methodCall result:result]; - - XCTAssertTrue(resultInvoked); - XCTAssertNil(returnedResult); - OCMVerify([_mockAdInstanceManager disposeAllAds]); -} - -- (void)testMobileAdsInitialize { - id gadMobileAdsClassMock = OCMClassMock([GADMobileAds class]); - OCMStub(ClassMethod([gadMobileAdsClassMock sharedInstance])) - .andReturn((GADMobileAds *)gadMobileAdsClassMock); - GADInitializationStatus *mockInitStatus = - OCMClassMock([GADInitializationStatus class]); - OCMStub([mockInitStatus adapterStatusesByClassName]).andReturn(@{}); - OCMStub([gadMobileAdsClassMock startWithCompletionHandler:[OCMArg any]]) - .andDo(^(NSInvocation *invocation) { - // Invoke the init handler twice. - __unsafe_unretained GADInitializationCompletionHandler - completionHandler; - [invocation getArgument:&completionHandler atIndex:2]; - completionHandler(mockInitStatus); - completionHandler(mockInitStatus); - }); - - FlutterMethodCall *methodCall = - [FlutterMethodCall methodCallWithMethodName:@"MobileAds#initialize" - arguments:@{}]; - __block int resultInvokedCount = 0; - __block id _Nullable returnedResult; - FlutterResult result = ^(id _Nullable result) { - resultInvokedCount += 1; - returnedResult = result; - }; - - [_fltGoogleMobileAdsPlugin handleMethodCall:methodCall result:result]; - XCTAssertEqual(resultInvokedCount, 1); - XCTAssertEqual( - [((FLTInitializationStatus *)returnedResult) adapterStatuses].count, 0); -} - -- (void)testSetSameAppKeyEnabledYes { - id gadMobileAdsClassMock = OCMClassMock([GADMobileAds class]); - OCMStub(ClassMethod([gadMobileAdsClassMock sharedInstance])) - .andReturn((GADMobileAds *)gadMobileAdsClassMock); - GADRequestConfiguration *gadRequestConfigurationMock = - OCMClassMock([GADRequestConfiguration class]); - OCMStub([gadMobileAdsClassMock requestConfiguration]) - .andReturn(gadRequestConfigurationMock); - - FlutterMethodCall *methodCall = [FlutterMethodCall - methodCallWithMethodName:@"MobileAds#setSameAppKeyEnabled" - arguments:@{@"isEnabled" : @(YES)}]; - - __block bool resultInvoked = false; - __block id _Nullable returnedResult; - FlutterResult result = ^(id _Nullable result) { - resultInvoked = true; - returnedResult = result; - }; - - [_fltGoogleMobileAdsPlugin handleMethodCall:methodCall result:result]; - - XCTAssertTrue(resultInvoked); - XCTAssertNil(returnedResult); - OCMVerify([gadRequestConfigurationMock - setPublisherFirstPartyIDEnabled:[OCMArg isEqual:@(YES)]]); -} - -- (void)testRegisterWebView { - id gadMobileAdsClassMock = OCMClassMock([GADMobileAds class]); - OCMStub(ClassMethod([gadMobileAdsClassMock sharedInstance])) - .andReturn((GADMobileAds *)gadMobileAdsClassMock); - - WKWebView *mockWebView = OCMClassMock([WKWebView class]); - id fltAdUtilMock = OCMClassMock([FLTAdUtil class]); - OCMStub(ClassMethod([fltAdUtilMock getWebView:[OCMArg any] - flutterPluginRegistry:[OCMArg any]])) - .andReturn(mockWebView); - - FlutterMethodCall *methodCall = - [FlutterMethodCall methodCallWithMethodName:@"MobileAds#registerWebView" - arguments:@{@"webViewId" : @(1)}]; - - __block bool resultInvoked = false; - __block id _Nullable returnedResult; - FlutterResult result = ^(id _Nullable result) { - resultInvoked = true; - returnedResult = result; - }; - - [_fltGoogleMobileAdsPlugin handleMethodCall:methodCall result:result]; - - XCTAssertTrue(resultInvoked); - XCTAssertNil(returnedResult); -} - -- (void)testSetSameAppKeyEnabledNo { - id gadMobileAdsClassMock = OCMClassMock([GADMobileAds class]); - OCMStub(ClassMethod([gadMobileAdsClassMock sharedInstance])) - .andReturn((GADMobileAds *)gadMobileAdsClassMock); - GADRequestConfiguration *gadRequestConfigurationMock = - OCMClassMock([GADRequestConfiguration class]); - OCMStub([gadMobileAdsClassMock requestConfiguration]) - .andReturn(gadRequestConfigurationMock); - - FlutterMethodCall *methodCall = [FlutterMethodCall - methodCallWithMethodName:@"MobileAds#setSameAppKeyEnabled" - arguments:@{@"isEnabled" : @0}]; - - __block bool resultInvoked = false; - __block id _Nullable returnedResult; - FlutterResult result = ^(id _Nullable result) { - resultInvoked = true; - returnedResult = result; - }; - - [_fltGoogleMobileAdsPlugin handleMethodCall:methodCall result:result]; - - XCTAssertTrue(resultInvoked); - XCTAssertNil(returnedResult); - OCMVerify([gadRequestConfigurationMock setPublisherFirstPartyIDEnabled:NO]); - - FlutterMethodCall *methodCallWithBool = [FlutterMethodCall - methodCallWithMethodName:@"MobileAds#setSameAppKeyEnabled" - arguments:@{@"isEnabled" : @NO}]; - - __block bool resultInvokedWithBool = false; - __block id _Nullable returnedResultWithBool; - FlutterResult resultWithBool = ^(id _Nullable result) { - resultInvokedWithBool = true; - returnedResultWithBool = result; - }; - - [_fltGoogleMobileAdsPlugin handleMethodCall:methodCallWithBool - result:resultWithBool]; - - XCTAssertTrue(resultInvokedWithBool); - XCTAssertNil(returnedResultWithBool); - OCMVerify([gadRequestConfigurationMock setPublisherFirstPartyIDEnabled:NO]); -} - -- (void)testSetAppMuted { - FlutterMethodCall *methodCall = - [FlutterMethodCall methodCallWithMethodName:@"MobileAds#setAppMuted" - arguments:@{@"muted" : @(YES)}]; - - __block bool resultInvoked = false; - __block id _Nullable returnedResult; - FlutterResult result = ^(id _Nullable result) { - resultInvoked = true; - returnedResult = result; - }; - - [_fltGoogleMobileAdsPlugin handleMethodCall:methodCall result:result]; - - XCTAssertTrue(resultInvoked); - XCTAssertNil(returnedResult); - NSTimeInterval timeout = 5.0; - NSDate *startTime = [NSDate date]; - while (!GADMobileAds.sharedInstance.applicationMuted && [[NSDate date] timeIntervalSinceDate:startTime] < timeout) { - [NSThread sleepForTimeInterval:0.1]; - } - XCTAssertTrue(GADMobileAds.sharedInstance.applicationMuted); - - methodCall = - [FlutterMethodCall methodCallWithMethodName:@"MobileAds#setAppMuted" - arguments:@{@"muted" : @(NO)}]; - - resultInvoked = false; - result = ^(id _Nullable result) { - resultInvoked = true; - returnedResult = result; - }; - - [_fltGoogleMobileAdsPlugin handleMethodCall:methodCall result:result]; - - XCTAssertTrue(resultInvoked); - XCTAssertNil(returnedResult); - startTime = [NSDate date]; - while (GADMobileAds.sharedInstance.applicationMuted && [[NSDate date] timeIntervalSinceDate:startTime] < timeout) { - [NSThread sleepForTimeInterval:0.1]; - } - XCTAssertFalse(GADMobileAds.sharedInstance.applicationMuted); -} - -- (void)testSetAppVolume { - FlutterMethodCall *methodCall = - [FlutterMethodCall methodCallWithMethodName:@"MobileAds#setAppVolume" - arguments:@{@"volume" : @1.0f}]; - - __block bool resultInvoked = false; - __block id _Nullable returnedResult; - FlutterResult result = ^(id _Nullable result) { - resultInvoked = true; - returnedResult = result; - }; - - [_fltGoogleMobileAdsPlugin handleMethodCall:methodCall result:result]; - - XCTAssertTrue(resultInvoked); - XCTAssertNil(returnedResult); - XCTAssertEqual(GADMobileAds.sharedInstance.applicationVolume, 1.0f); -} - -- (void)testDisableSDKCrashReporting { - id gadMobileAdsClassMock = OCMClassMock([GADMobileAds class]); - OCMStub(ClassMethod([gadMobileAdsClassMock sharedInstance])) - .andReturn((GADMobileAds *)gadMobileAdsClassMock); - FlutterMethodCall *methodCall = [FlutterMethodCall - methodCallWithMethodName:@"MobileAds#disableSDKCrashReporting" - arguments:@{}]; - - __block bool resultInvoked = false; - __block id _Nullable returnedResult; - FlutterResult result = ^(id _Nullable result) { - resultInvoked = true; - returnedResult = result; - }; - - [_fltGoogleMobileAdsPlugin handleMethodCall:methodCall result:result]; - - XCTAssertTrue(resultInvoked); - XCTAssertNil(returnedResult); - OCMVerify([gadMobileAdsClassMock disableSDKCrashReporting]); -} - -- (void)testDisableMediationInitialization { - id gadMobileAdsClassMock = OCMClassMock([GADMobileAds class]); - OCMStub(ClassMethod([gadMobileAdsClassMock sharedInstance])) - .andReturn((GADMobileAds *)gadMobileAdsClassMock); - - FlutterMethodCall *methodCall = [FlutterMethodCall - methodCallWithMethodName:@"MobileAds#disableMediationInitialization" - arguments:@{}]; - - __block bool resultInvoked = false; - __block id _Nullable returnedResult; - FlutterResult result = ^(id _Nullable result) { - resultInvoked = true; - returnedResult = result; - }; - - [_fltGoogleMobileAdsPlugin handleMethodCall:methodCall result:result]; - - XCTAssertTrue(resultInvoked); - XCTAssertNil(returnedResult); - OCMVerify([gadMobileAdsClassMock disableMediationInitialization]); -} - -- (void)testGetVersionString { - FlutterMethodCall *methodCall = - [FlutterMethodCall methodCallWithMethodName:@"MobileAds#getVersionString" - arguments:@{}]; - - __block bool resultInvoked = false; - __block id _Nullable returnedResult; - FlutterResult result = ^(id _Nullable result) { - resultInvoked = true; - returnedResult = result; - }; - - [_fltGoogleMobileAdsPlugin handleMethodCall:methodCall result:result]; - - XCTAssertTrue(resultInvoked); - XCTAssertEqual( - returnedResult, - GADGetStringFromVersionNumber(GADMobileAds.sharedInstance.versionNumber)); -} - -- (void)testOpenDebugMenu { - FlutterMethodCall *methodCall = [FlutterMethodCall - methodCallWithMethodName:@"MobileAds#openDebugMenu" - arguments:@{@"adUnitId" : @"test-ad-unit"}]; - - __block bool resultInvoked = false; - __block id _Nullable returnedResult; - FlutterResult result = ^(id _Nullable result) { - resultInvoked = true; - returnedResult = result; - }; - - FLTGoogleMobileAdsPlugin *mockPlugin = - OCMPartialMock(_fltGoogleMobileAdsPlugin); - UIViewController *mockUIViewController = OCMClassMock(UIViewController.class); - OCMStub([mockPlugin rootController]).andReturn(mockUIViewController); - - [_fltGoogleMobileAdsPlugin handleMethodCall:methodCall result:result]; - - OCMVerify([mockUIViewController - presentViewController:[OCMArg isKindOfClass:[GADDebugOptionsViewController - class]] - animated:[OCMArg any] - completion:[OCMArg isNil]]); - XCTAssertTrue(resultInvoked); - XCTAssertEqual(returnedResult, nil); -} - -- (void)testOpenAdInspectorSuccess { - FlutterMethodCall *methodCall = - [FlutterMethodCall methodCallWithMethodName:@"MobileAds#openAdInspector" - arguments:@{}]; - - __block bool resultInvoked = false; - __block id _Nullable returnedResult; - FlutterResult result = ^(id _Nullable result) { - resultInvoked = true; - returnedResult = result; - }; - - id gadMobileAdsClassMock = OCMClassMock([GADMobileAds class]); - OCMStub(ClassMethod([gadMobileAdsClassMock sharedInstance])) - .andReturn((GADMobileAds *)gadMobileAdsClassMock); - - OCMStub([gadMobileAdsClassMock - presentAdInspectorFromViewController:[OCMArg any] - completionHandler:[OCMArg any]]) - .andDo(^(NSInvocation *invocation) { - __unsafe_unretained GADAdInspectorCompletionHandler completionHandler; - [invocation getArgument:&completionHandler atIndex:3]; - completionHandler(nil); - }); - - [_fltGoogleMobileAdsPlugin handleMethodCall:methodCall result:result]; - - OCMVerify([gadMobileAdsClassMock - presentAdInspectorFromViewController:[OCMArg any] - completionHandler:[OCMArg any]]); - XCTAssertTrue(resultInvoked); - XCTAssertEqual(returnedResult, nil); -} - -- (void)testOpenAdInspectorError { - FlutterMethodCall *methodCall = - [FlutterMethodCall methodCallWithMethodName:@"MobileAds#openAdInspector" - arguments:@{}]; - - __block bool resultInvoked = false; - __block id _Nullable returnedResult; - FlutterResult result = ^(id _Nullable result) { - resultInvoked = true; - returnedResult = result; - }; - - id gadMobileAdsClassMock = OCMClassMock([GADMobileAds class]); - OCMStub(ClassMethod([gadMobileAdsClassMock sharedInstance])) - .andReturn((GADMobileAds *)gadMobileAdsClassMock); - NSDictionary *userInfo = @{ - NSLocalizedDescriptionKey : @"message", - }; - NSError *error = [NSError errorWithDomain:@"domain" code:1 userInfo:userInfo]; - - OCMStub([gadMobileAdsClassMock - presentAdInspectorFromViewController:[OCMArg any] - completionHandler:[OCMArg any]]) - .andDo(^(NSInvocation *invocation) { - __unsafe_unretained GADAdInspectorCompletionHandler completionHandler; - [invocation getArgument:&completionHandler atIndex:3]; - completionHandler(error); - }); - - [_fltGoogleMobileAdsPlugin handleMethodCall:methodCall result:result]; - - OCMVerify([gadMobileAdsClassMock - presentAdInspectorFromViewController:[OCMArg any] - completionHandler:[OCMArg any]]); - XCTAssertTrue(resultInvoked); - FlutterError *resultError = (FlutterError *)returnedResult; - - XCTAssertEqualObjects(resultError.code, @"1"); - XCTAssertEqualObjects(resultError.message, @"message"); - XCTAssertEqualObjects(resultError.details, @"domain"); -} - -- (void)testGetRequestConfiguration { - FlutterMethodCall *methodCall = [FlutterMethodCall - methodCallWithMethodName:@"MobileAds#getRequestConfiguration" - arguments:@{}]; - - __block bool resultInvoked = false; - __block id _Nullable returnedResult; - FlutterResult result = ^(id _Nullable result) { - resultInvoked = true; - returnedResult = result; - }; - - [_fltGoogleMobileAdsPlugin handleMethodCall:methodCall result:result]; - - XCTAssertTrue(resultInvoked); - XCTAssertEqual(returnedResult, - [GADMobileAds.sharedInstance requestConfiguration]); -} - -- (void)testGetAnchoredAdaptiveBannerAdSize { - FlutterMethodCall *methodCall = [FlutterMethodCall - methodCallWithMethodName:@"AdSize#getLargeAnchoredAdaptiveBannerAdSize" - arguments:@{ - @"orientation" : @"portrait", - @"width" : @23, - }]; - - __block bool resultInvoked = false; - __block id _Nullable returnedResult; - FlutterResult result = ^(id _Nullable result) { - resultInvoked = true; - returnedResult = result; - }; - - [_fltGoogleMobileAdsPlugin handleMethodCall:methodCall result:result]; - - XCTAssertTrue(resultInvoked); - XCTAssertEqual( - [returnedResult doubleValue], - GADLargePortraitAnchoredAdaptiveBannerAdSizeWithWidth(23).size.height); - - methodCall = [FlutterMethodCall - methodCallWithMethodName:@"AdSize#getLargeAnchoredAdaptiveBannerAdSize" - arguments:@{ - @"orientation" : @"landscape", - @"width" : @34, - }]; - - resultInvoked = false; - result = ^(id _Nullable result) { - resultInvoked = true; - returnedResult = result; - }; - - [_fltGoogleMobileAdsPlugin handleMethodCall:methodCall result:result]; - - XCTAssertTrue(resultInvoked); - XCTAssertEqual( - [returnedResult doubleValue], - GADLargeLandscapeAnchoredAdaptiveBannerAdSizeWithWidth(34).size.height); - - methodCall = [FlutterMethodCall - methodCallWithMethodName:@"AdSize#getLargeAnchoredAdaptiveBannerAdSize" - arguments:@{ - @"width" : @45, - }]; - - resultInvoked = false; - result = ^(id _Nullable result) { - resultInvoked = true; - returnedResult = result; - }; - - [_fltGoogleMobileAdsPlugin handleMethodCall:methodCall result:result]; - - XCTAssertTrue(resultInvoked); - XCTAssertEqual([returnedResult doubleValue], - GADLargeAnchoredAdaptiveBannerAdSizeWithWidth(45) - .size.height); -} - -- (void)testGetAdSize_bannerAd { - // Method calls to load a banner ad. - FlutterMethodCall *loadAdMethodCall = [FlutterMethodCall - methodCallWithMethodName:@"loadBannerAd" - arguments:@{ - @"adId" : @(1), - @"adUnitId" : @"ad-unit-id", - @"size" : [[FLTAdSize alloc] initWithWidth:@1 height:@2], - @"request" : [[FLTAdRequest alloc] init], - }]; - - __block bool loadAdResultInvoked = false; - __block id _Nullable returnedLoadAdResult; - FlutterResult loadAdResult = ^(id _Nullable result) { - loadAdResultInvoked = true; - returnedLoadAdResult = result; - }; - - [_fltGoogleMobileAdsPlugin handleMethodCall:loadAdMethodCall - result:loadAdResult]; - - XCTAssertTrue(loadAdResultInvoked); - XCTAssertNil(returnedLoadAdResult); - - // Method call to get the ad size. - __block bool getAdSizeResultInvoked = false; - __block FLTAdSize *_Nullable returnedGetAdSizeResult; - FlutterResult getAdSizeResult = ^(id _Nullable result) { - getAdSizeResultInvoked = true; - returnedGetAdSizeResult = result; - }; - - FlutterMethodCall *getAdSizeMethodCall = - [FlutterMethodCall methodCallWithMethodName:@"getAdSize" - arguments:@{@"adId" : @(1)}]; - [_fltGoogleMobileAdsPlugin handleMethodCall:getAdSizeMethodCall - result:getAdSizeResult]; - - XCTAssertTrue(getAdSizeResultInvoked); - XCTAssertEqualObjects(returnedGetAdSizeResult.width, @1); - XCTAssertEqualObjects(returnedGetAdSizeResult.height, @2); -} - -- (void)testServerSideVerificationOptions_rewardedAd { - // Mock having already loaded an ad - FLTRewardedAd *mockAd = OCMClassMock([FLTRewardedAd class]); - OCMStub([_mockAdInstanceManager adFor:[OCMArg isEqual:@1]]).andReturn(mockAd); - - // Method calls to set ssv - FLTServerSideVerificationOptions *mockSSV = - OCMClassMock([FLTServerSideVerificationOptions class]); - FlutterMethodCall *methodCall = [FlutterMethodCall - methodCallWithMethodName:@"setServerSideVerificationOptions" - arguments:@{ - @"adId" : @(1), - @"adUnitId" : @"ad-unit-id", - @"serverSideVerificationOptions" : mockSSV, - }]; - - __block bool resultInvoked = false; - FlutterResult result = ^(id _Nullable result) { - resultInvoked = true; - }; - - [_fltGoogleMobileAdsPlugin handleMethodCall:methodCall result:result]; - - XCTAssertTrue(resultInvoked); - OCMVerify([mockAd setServerSideVerificationOptions:[OCMArg isEqual:mockSSV]]); -} - -- (void)testServerSideVerificationOptions_rewardedInterstitialAd { - // Mock having already loaded an ad - FLTRewardedInterstitialAd *mockAd = - OCMClassMock([FLTRewardedInterstitialAd class]); - OCMStub([_mockAdInstanceManager adFor:[OCMArg isEqual:@1]]).andReturn(mockAd); - - // Method calls to set ssv - FLTServerSideVerificationOptions *mockSSV = - OCMClassMock([FLTServerSideVerificationOptions class]); - FlutterMethodCall *methodCall = [FlutterMethodCall - methodCallWithMethodName:@"setServerSideVerificationOptions" - arguments:@{ - @"adId" : @(1), - @"adUnitId" : @"ad-unit-id", - @"serverSideVerificationOptions" : mockSSV, - }]; - - __block bool resultInvoked = false; - FlutterResult result = ^(id _Nullable result) { - resultInvoked = true; - }; - - [_fltGoogleMobileAdsPlugin handleMethodCall:methodCall result:result]; - - XCTAssertTrue(resultInvoked); - OCMVerify([mockAd setServerSideVerificationOptions:[OCMArg isEqual:mockSSV]]); -} - -- (void)testServerSideVerificationOptions_nullAd { - // Try to set ssv without any ads being loaded - FLTServerSideVerificationOptions *mockSSV = - OCMClassMock([FLTServerSideVerificationOptions class]); - FlutterMethodCall *methodCall = [FlutterMethodCall - methodCallWithMethodName:@"setServerSideVerificationOptions" - arguments:@{ - @"adId" : @(1), - @"adUnitId" : @"ad-unit-id", - @"serverSideVerificationOptions" : mockSSV, - }]; - - __block bool resultInvoked = false; - FlutterResult result = ^(id _Nullable result) { - resultInvoked = true; - }; - - [_fltGoogleMobileAdsPlugin handleMethodCall:methodCall result:result]; - - // Result still invoked - no op - XCTAssertTrue(resultInvoked); -} - -- (void)testServerSideVerificationOptions_invalidAdType { - // Mock having already loaded an ad that does not support ssv - // Strict mock will fail if there are any interactions - FLTBannerAd *mockAd = OCMStrictClassMock([FLTBannerAd class]); - OCMStub([_mockAdInstanceManager adFor:[OCMArg isEqual:@1]]).andReturn(mockAd); - - // Try to set ssv without any ads being loaded - FLTServerSideVerificationOptions *mockSSV = - OCMClassMock([FLTServerSideVerificationOptions class]); - FlutterMethodCall *methodCall = [FlutterMethodCall - methodCallWithMethodName:@"setServerSideVerificationOptions" - arguments:@{ - @"adId" : @(1), - @"adUnitId" : @"ad-unit-id", - @"serverSideVerificationOptions" : mockSSV, - }]; - - __block bool resultInvoked = false; - FlutterResult result = ^(id _Nullable result) { - resultInvoked = true; - }; - - [_fltGoogleMobileAdsPlugin handleMethodCall:methodCall result:result]; - - // Result still invoked - no op - XCTAssertTrue(resultInvoked); -} - -@end diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/example/ios/RunnerTests/FLTGoogleMobileAdsReaderWriterTest.m b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/example/ios/RunnerTests/FLTGoogleMobileAdsReaderWriterTest.m deleted file mode 100644 index bf273249..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/example/ios/RunnerTests/FLTGoogleMobileAdsReaderWriterTest.m +++ /dev/null @@ -1,816 +0,0 @@ -// Copyright 2021 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#import -#import - -#import "google_mobile_ads/FLTAdInstanceManager_Internal.h" -#import "google_mobile_ads/FLTAdUtil.h" -#import "google_mobile_ads/FLTAd_Internal.h" -#import "google_mobile_ads/FLTGoogleMobileAdsCollection_Internal.h" -#import "google_mobile_ads/FLTGoogleMobileAdsPlugin.h" -#import "google_mobile_ads/FLTGoogleMobileAdsReaderWriter_Internal.h" -#import "google_mobile_ads/FLTMediationExtras.h" -#import "google_mobile_ads/FLTMobileAds_Internal.h" -#import "google_mobile_ads/FLTNativeTemplateColor.h" -#import "google_mobile_ads/FLTNativeTemplateFontStyle.h" -#import "google_mobile_ads/FLTNativeTemplateStyle.h" -#import "google_mobile_ads/FLTNativeTemplateTextStyle.h" -#import "google_mobile_ads/FLTNativeTemplateType.h" - -@interface FLTGoogleMobileAdsReaderWriterTest : XCTestCase -@end - -@interface FLTTestAdSizeFactory : FLTAdSizeFactory -@property(readonly) GADAdSize testAdSize; -@end - -@interface _FlutterMediationExtras : NSObject -@end - -@implementation FLTGoogleMobileAdsReaderWriterTest { - FlutterStandardMessageCodec *_messageCodec; - FLTGoogleMobileAdsReaderWriter *_readerWriter; -} - -- (void)setUp { - id fltAdUtilMock = OCMClassMock([FLTAdUtil class]); - OCMStub(ClassMethod([fltAdUtilMock requestAgent])) - .andReturn(@"request-agent"); - _readerWriter = [[FLTGoogleMobileAdsReaderWriter alloc] - initWithFactory:[[FLTTestAdSizeFactory alloc] init]]; - _messageCodec = - [FlutterStandardMessageCodec codecWithReaderWriter:_readerWriter]; -} - -- (void)testEncodeDecodeAdSize { - FLTAdSize *size = [[FLTAdSize alloc] initWithWidth:@(1) height:@(2)]; - NSData *encodedMessage = [_messageCodec encode:size]; - - FLTAdSize *decodedSize = [_messageCodec decode:encodedMessage]; - XCTAssertEqualObjects(decodedSize.width, @(1)); - XCTAssertEqualObjects(decodedSize.height, @(2)); -} - -- (void)testEncodeDecodeRequestConfiguration { - GADMobileAds.sharedInstance.requestConfiguration.maxAdContentRating = - GADMaxAdContentRatingMatureAudience; - GADMobileAds.sharedInstance.requestConfiguration - .tagForChildDirectedTreatment = @YES; - GADMobileAds.sharedInstance.requestConfiguration.tagForUnderAgeOfConsent = - @NO; - NSArray *testDeviceIds = - [[NSArray alloc] initWithObjects:@"test-device-id", nil]; - GADMobileAds.sharedInstance.requestConfiguration.testDeviceIdentifiers = - testDeviceIds; - NSData *encodedMessage = - [_messageCodec encode:GADMobileAds.sharedInstance.requestConfiguration]; - - GADRequestConfiguration *decodedSize = [_messageCodec decode:encodedMessage]; - XCTAssertEqualObjects(decodedSize.maxAdContentRating, - GADMaxAdContentRatingMatureAudience); - XCTAssertEqualObjects(decodedSize.testDeviceIdentifiers, testDeviceIds); -} - -- (void)testEncodeDecodeInlineAdaptiveBannerAdSize_currentOrientation { - GADAdSize testAdSize = GADAdSizeFromCGSize(CGSizeMake(25, 10)); - - FLTAdSizeFactory *factory = OCMClassMock([FLTAdSizeFactory class]); - OCMStub([factory currentOrientationInlineAdaptiveBannerSizeWithWidth:@(23)]) - .andReturn(testAdSize); - - FLTInlineAdaptiveBannerSize *inlineAdaptiveBannerSize = - [[FLTInlineAdaptiveBannerSize alloc] initWithFactory:factory - width:@(23) - maxHeight:NULL - orientation:NULL]; - - NSData *encodedMessage = [_messageCodec encode:inlineAdaptiveBannerSize]; - - FLTInlineAdaptiveBannerSize *decodedSize = - [_messageCodec decode:encodedMessage]; - XCTAssertEqual(decodedSize.size.size.width, testAdSize.size.width); - XCTAssertEqualObjects(decodedSize.maxHeight, - inlineAdaptiveBannerSize.maxHeight); - XCTAssertEqualObjects(decodedSize.orientation, - inlineAdaptiveBannerSize.orientation); -} - -- (void)testEncodeDecodeInlineAdaptiveBannerAdSize_portraitOrientation { - GADAdSize testAdSize = GADAdSizeFromCGSize(CGSizeMake(25, 10)); - - FLTAdSizeFactory *factory = OCMClassMock([FLTAdSizeFactory class]); - OCMStub([factory portraitOrientationInlineAdaptiveBannerSizeWithWidth:@(23)]) - .andReturn(testAdSize); - - FLTInlineAdaptiveBannerSize *inlineAdaptiveBannerSize = - [[FLTInlineAdaptiveBannerSize alloc] initWithFactory:factory - width:@(23) - maxHeight:NULL - orientation:@0]; - - NSData *encodedMessage = [_messageCodec encode:inlineAdaptiveBannerSize]; - - FLTInlineAdaptiveBannerSize *decodedSize = - [_messageCodec decode:encodedMessage]; - XCTAssertEqual(decodedSize.size.size.width, testAdSize.size.width); - XCTAssertEqualObjects(decodedSize.maxHeight, - inlineAdaptiveBannerSize.maxHeight); - XCTAssertEqualObjects(decodedSize.orientation, - inlineAdaptiveBannerSize.orientation); -} - -- (void)testEncodeDecodeInlineAdaptiveBannerAdSize_landscapeOrientation { - GADAdSize testAdSize = GADAdSizeFromCGSize(CGSizeMake(25, 10)); - - FLTAdSizeFactory *factory = OCMClassMock([FLTAdSizeFactory class]); - OCMStub([factory landscapeInlineAdaptiveBannerAdSizeWithWidth:@(23)]) - .andReturn(testAdSize); - - FLTInlineAdaptiveBannerSize *inlineAdaptiveBannerSize = - [[FLTInlineAdaptiveBannerSize alloc] initWithFactory:factory - width:@(23) - maxHeight:NULL - orientation:@1]; - - NSData *encodedMessage = [_messageCodec encode:inlineAdaptiveBannerSize]; - - FLTInlineAdaptiveBannerSize *decodedSize = - [_messageCodec decode:encodedMessage]; - XCTAssertEqual(decodedSize.size.size.width, testAdSize.size.width); - XCTAssertEqualObjects(decodedSize.maxHeight, - inlineAdaptiveBannerSize.maxHeight); - XCTAssertEqualObjects(decodedSize.orientation, - inlineAdaptiveBannerSize.orientation); -} - -- (void)testEncodeDecodeInlineAdaptiveBannerAdSize_withMaxHeight { - GADAdSize testAdSize = GADAdSizeFromCGSize(CGSizeMake(25, 10)); - - FLTAdSizeFactory *factory = OCMClassMock([FLTAdSizeFactory class]); - OCMStub([factory inlineAdaptiveBannerAdSizeWithWidthAndMaxHeight:@(23) - maxHeight:@50]) - .andReturn(testAdSize); - - FLTInlineAdaptiveBannerSize *inlineAdaptiveBannerSize = - [[FLTInlineAdaptiveBannerSize alloc] initWithFactory:factory - width:@(23) - maxHeight:@50 - orientation:nil]; - - NSData *encodedMessage = [_messageCodec encode:inlineAdaptiveBannerSize]; - - FLTInlineAdaptiveBannerSize *decodedSize = - [_messageCodec decode:encodedMessage]; - XCTAssertEqual(decodedSize.size.size.width, testAdSize.size.width); - XCTAssertEqualObjects(decodedSize.maxHeight, - inlineAdaptiveBannerSize.maxHeight); - XCTAssertEqualObjects(decodedSize.orientation, - inlineAdaptiveBannerSize.orientation); -} - -- (void)testEncodeDecodeAnchoredAdaptiveBannerAdSize_portraitOrientation { - GADAdSize testAdSize = GADAdSizeFromCGSize(CGSizeMake(23, 34)); - - FLTAdSizeFactory *factory = OCMClassMock([FLTAdSizeFactory class]); - OCMStub([factory portraitAnchoredAdaptiveBannerAdSizeWithWidth:@(23)]) - .andReturn(testAdSize); - - FLTAnchoredAdaptiveBannerSize *size = - [[FLTAnchoredAdaptiveBannerSize alloc] initWithFactory:factory - orientation:@"portrait" - width:@(23) - isLarge:false]; - NSData *encodedMessage = [_messageCodec encode:size]; - - FLTAnchoredAdaptiveBannerSize *decodedSize = - [_messageCodec decode:encodedMessage]; - XCTAssertEqual(decodedSize.size.size.width, testAdSize.size.width); -} - -- (void)testEncodeDecodeAnchoredAdaptiveBannerAdSize_landscapeOrientation { - GADAdSize testAdSize = GADAdSizeFromCGSize(CGSizeMake(34, 45)); - - FLTAdSizeFactory *factory = OCMClassMock([FLTAdSizeFactory class]); - OCMStub([factory landscapeAnchoredAdaptiveBannerAdSizeWithWidth:@(34)]) - .andReturn(testAdSize); - - FLTAnchoredAdaptiveBannerSize *size = - [[FLTAnchoredAdaptiveBannerSize alloc] initWithFactory:factory - orientation:@"landscape" - width:@(34) - isLarge:false]; - NSData *encodedMessage = [_messageCodec encode:size]; - - FLTAnchoredAdaptiveBannerSize *decodedSize = - [_messageCodec decode:encodedMessage]; - XCTAssertEqual(decodedSize.size.size.width, testAdSize.size.width); -} - -- (void)testEncodeDecodeAnchoredAdaptiveBannerAdSize_currentOrientation { - GADAdSize testAdSize = GADAdSizeFromCGSize(CGSizeMake(45, 56)); - - FLTAdSizeFactory *factory = OCMClassMock([FLTAdSizeFactory class]); - OCMStub( - [factory currentOrientationAnchoredAdaptiveBannerAdSizeWithWidth:@(45)]) - .andReturn(testAdSize); - - FLTAnchoredAdaptiveBannerSize *size = - [[FLTAnchoredAdaptiveBannerSize alloc] initWithFactory:factory - orientation:NULL - width:@(45) - isLarge:false]; - NSData *encodedMessage = [_messageCodec encode:size]; - - FLTAnchoredAdaptiveBannerSize *decodedSize = - [_messageCodec decode:encodedMessage]; - XCTAssertEqual(decodedSize.size.size.width, testAdSize.size.width); -} - -- (void)testEncodeDecodeSmartBannerAdSize { - FLTSmartBannerSize *size = - [[FLTSmartBannerSize alloc] initWithOrientation:@"landscape"]; - - NSData *encodedMessage = [_messageCodec encode:size]; - FLTSmartBannerSize *decodedSize = [_messageCodec decode:encodedMessage]; - - XCTAssertTrue([decodedSize isKindOfClass:FLTSmartBannerSize.class]); -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wdeprecated-declarations" - XCTAssertEqual(decodedSize.size.size.width, - kGADAdSizeSmartBannerPortrait.size.width); - XCTAssertEqual(decodedSize.size.size.height, - kGADAdSizeSmartBannerPortrait.size.height); -#pragma clang diagnostic pop -} - -- (void)testEncodeDecodeFluidAdSize { - FLTFluidSize *size = [[FLTFluidSize alloc] init]; - - NSData *encodedMessage = [_messageCodec encode:size]; - FLTFluidSize *decodedSize = [_messageCodec decode:encodedMessage]; - - XCTAssertTrue([decodedSize isKindOfClass:FLTFluidSize.class]); - XCTAssertEqual(decodedSize.size.size.width, GADAdSizeFluid.size.width); - XCTAssertEqual(decodedSize.size.size.height, GADAdSizeFluid.size.height); -} - -- (void)testEncodeDecodeAdRequest { - id mediationExtras = - [[_FlutterMediationExtras alloc] init]; - mediationExtras.extras = @{@"test_key" : @"test_value"}; - FLTAdRequest *request = [[FLTAdRequest alloc] init]; - request.keywords = @[ @"apple" ]; - request.contentURL = @"banana"; - request.nonPersonalizedAds = YES; - NSArray *contentURLs = @[ @"url-1.com", @"url-2.com" ]; - request.neighboringContentURLs = contentURLs; - request.mediationExtrasIdentifier = @"identifier"; - request.adMobExtras = @{@"key" : @"value"}; - NSArray> *mediationExtrasArray = - @[ mediationExtras ]; - request.mediationExtras = mediationExtrasArray; - NSData *encodedMessage = [_messageCodec encode:request]; - - FLTAdRequest *decodedRequest = [_messageCodec decode:encodedMessage]; - XCTAssertTrue([decodedRequest.keywords isEqualToArray:@[ @"apple" ]]); - XCTAssertEqualObjects(decodedRequest.contentURL, @"banana"); - XCTAssertTrue(decodedRequest.nonPersonalizedAds); - XCTAssertEqualObjects(decodedRequest.neighboringContentURLs, contentURLs); - XCTAssertEqualObjects(decodedRequest.mediationExtrasIdentifier, - @"identifier"); - XCTAssertEqualObjects(decodedRequest.adMobExtras, @{@"key" : @"value"}); - XCTAssertEqualObjects(decodedRequest.requestAgent, @"request-agent"); - XCTAssertEqualObjects(decodedRequest.mediationExtras[0].extras, - @{@"test_key" : @"test_value"}); -} - -- (void)testEncodeDecodeGAMAdRequest { - id mediationExtras = - [[_FlutterMediationExtras alloc] init]; - mediationExtras.extras = @{@"test_key" : @"test_value"}; - FLTGAMAdRequest *request = [[FLTGAMAdRequest alloc] init]; - request.keywords = @[ @"apple" ]; - request.contentURL = @"banana"; - request.customTargeting = @{@"table" : @"linen"}; - request.customTargetingLists = @{@"go" : @[ @"lakers" ]}; - request.nonPersonalizedAds = YES; - NSArray *contentURLs = @[ @"url-1.com", @"url-2.com" ]; - request.neighboringContentURLs = contentURLs; - request.pubProvidedID = @"pub-id"; - request.mediationExtrasIdentifier = @"identifier"; - request.adMobExtras = @{@"key" : @"value"}; - NSArray> *mediationExtrasArray = - @[ mediationExtras ]; - request.mediationExtras = mediationExtrasArray; - NSData *encodedMessage = [_messageCodec encode:request]; - - FLTGAMAdRequest *decodedRequest = [_messageCodec decode:encodedMessage]; - XCTAssertTrue([decodedRequest.keywords isEqualToArray:@[ @"apple" ]]); - XCTAssertEqualObjects(decodedRequest.contentURL, @"banana"); - XCTAssertTrue([decodedRequest.customTargeting - isEqualToDictionary:@{@"table" : @"linen"}]); - XCTAssertTrue([decodedRequest.customTargetingLists - isEqualToDictionary:@{@"go" : @[ @"lakers" ]}]); - XCTAssertTrue(decodedRequest.nonPersonalizedAds); - XCTAssertEqualObjects(decodedRequest.neighboringContentURLs, contentURLs); - XCTAssertEqualObjects(decodedRequest.pubProvidedID, @"pub-id"); - XCTAssertEqualObjects(decodedRequest.mediationExtrasIdentifier, - @"identifier"); - XCTAssertEqualObjects(decodedRequest.adMobExtras, @{@"key" : @"value"}); - XCTAssertEqualObjects(decodedRequest.requestAgent, @"request-agent"); - XCTAssertEqualObjects(decodedRequest.mediationExtras[0].extras, - @{@"test_key" : @"test_value"}); -} - -- (void)testEncodeDecodeRewardItem { - FLTRewardItem *item = [[FLTRewardItem alloc] initWithAmount:@(1) - type:@"apple"]; - NSData *encodedMessage = [_messageCodec encode:item]; - - FLTRewardItem *decodedItem = [_messageCodec decode:encodedMessage]; - XCTAssertEqualObjects(decodedItem.amount, @(1)); - XCTAssertEqualObjects(decodedItem.type, @"apple"); -} - -- (void)testEncodeDecodeServerSideVerification { - FLTServerSideVerificationOptions *serverSideVerificationOptions = - [[FLTServerSideVerificationOptions alloc] init]; - serverSideVerificationOptions.customRewardString = @"reward"; - serverSideVerificationOptions.userIdentifier = @"user-id"; - NSData *encodedMessage = [_messageCodec encode:serverSideVerificationOptions]; - - FLTServerSideVerificationOptions *decoded = - [_messageCodec decode:encodedMessage]; - XCTAssertEqualObjects(decoded.customRewardString, - serverSideVerificationOptions.customRewardString); - XCTAssertEqualObjects(decoded.userIdentifier, - serverSideVerificationOptions.userIdentifier); - - // With customRewardString not defined. - serverSideVerificationOptions = - [[FLTServerSideVerificationOptions alloc] init]; - serverSideVerificationOptions.userIdentifier = @"user-id"; - encodedMessage = [_messageCodec encode:serverSideVerificationOptions]; - decoded = [_messageCodec decode:encodedMessage]; - XCTAssertEqualObjects(decoded.customRewardString, - serverSideVerificationOptions.customRewardString); - XCTAssertEqualObjects(decoded.userIdentifier, - serverSideVerificationOptions.userIdentifier); - - // With userId not defined. - serverSideVerificationOptions = - [[FLTServerSideVerificationOptions alloc] init]; - serverSideVerificationOptions.customRewardString = @"reward"; - encodedMessage = [_messageCodec encode:serverSideVerificationOptions]; - decoded = [_messageCodec decode:encodedMessage]; - XCTAssertEqualObjects(decoded.customRewardString, - serverSideVerificationOptions.customRewardString); - XCTAssertEqualObjects(decoded.userIdentifier, - serverSideVerificationOptions.userIdentifier); - - // Both undefined. - serverSideVerificationOptions = - [[FLTServerSideVerificationOptions alloc] init]; - encodedMessage = [_messageCodec encode:serverSideVerificationOptions]; - decoded = [_messageCodec decode:encodedMessage]; - XCTAssertEqualObjects(decoded.customRewardString, - serverSideVerificationOptions.customRewardString); - XCTAssertEqualObjects(decoded.userIdentifier, - serverSideVerificationOptions.userIdentifier); -} - -- (void)testEncodeDecodeNSError { - NSDictionary *userInfo = @{NSLocalizedDescriptionKey : @"message"}; - NSError *error = [NSError errorWithDomain:@"domain" code:1 userInfo:userInfo]; - - NSData *encodedMessage = [_messageCodec encode:error]; - - NSError *decodedError = [_messageCodec decode:encodedMessage]; - XCTAssertEqual(decodedError.code, 1); - XCTAssertEqualObjects(decodedError.domain, @"domain"); - XCTAssertEqualObjects(decodedError.localizedDescription, @"message"); -} - -- (void)testEncodeDecodeFLTGADLoadError { - GADResponseInfo *mockResponseInfo = OCMClassMock([GADResponseInfo class]); - GADAdNetworkResponseInfo *mockAdNetworkResponseInfo = - OCMClassMock([GADAdNetworkResponseInfo class]); - NSString *identifier = @"test-identifier"; - NSString *className = @"test-class-name"; - OCMStub([mockResponseInfo responseIdentifier]).andReturn(identifier); - OCMStub(mockResponseInfo.loadedAdNetworkResponseInfo) - .andReturn(mockAdNetworkResponseInfo); - OCMStub(mockAdNetworkResponseInfo.adNetworkClassName).andReturn(className); - NSDictionary *userInfo = @{ - NSLocalizedDescriptionKey : @"message", - GADErrorUserInfoKeyResponseInfo : mockResponseInfo - }; - NSError *error = [NSError errorWithDomain:@"domain" code:1 userInfo:userInfo]; - FLTLoadAdError *loadAdError = [[FLTLoadAdError alloc] initWithError:error]; - - NSData *encodedMessage = [_messageCodec encode:loadAdError]; - FLTLoadAdError *decodedError = [_messageCodec decode:encodedMessage]; - - XCTAssertEqual(decodedError.code, 1); - XCTAssertEqualObjects(decodedError.domain, @"domain"); - XCTAssertEqualObjects(decodedError.message, @"message"); - XCTAssertEqualObjects(decodedError.responseInfo.adNetworkClassName, - className); - XCTAssertEqualObjects(decodedError.responseInfo.responseIdentifier, - identifier); - XCTAssertTrue(decodedError.responseInfo.adNetworkInfoArray.count == 0); -} - -- (void)testEncodeDecodeFLTGADLoadErrorWithResponseInfo { - GADAdNetworkResponseInfo *mockNetworkResponse = - OCMClassMock([GADAdNetworkResponseInfo class]); - OCMStub([mockNetworkResponse adNetworkClassName]).andReturn(@"adapter-class"); - - GADResponseInfo *mockResponseInfo = OCMClassMock([GADResponseInfo class]); - GADAdNetworkResponseInfo *mockAdNetworkResponseInfo = - OCMClassMock([GADAdNetworkResponseInfo class]); - NSString *identifier = @"test-identifier"; - NSString *className = @"test-class-name"; - OCMStub([mockResponseInfo responseIdentifier]).andReturn(identifier); - OCMStub(mockResponseInfo.loadedAdNetworkResponseInfo) - .andReturn(mockAdNetworkResponseInfo); - OCMStub(mockAdNetworkResponseInfo.adNetworkClassName).andReturn(className); - OCMStub([mockResponseInfo adNetworkInfoArray]).andReturn(@[ - mockNetworkResponse - ]); - NSDictionary *userInfo = @{ - NSLocalizedDescriptionKey : @"message", - GADErrorUserInfoKeyResponseInfo : mockResponseInfo - }; - NSError *error = [NSError errorWithDomain:@"domain" code:1 userInfo:userInfo]; - FLTLoadAdError *loadAdError = [[FLTLoadAdError alloc] initWithError:error]; - - NSData *encodedMessage = [_messageCodec encode:loadAdError]; - FLTLoadAdError *decodedError = [_messageCodec decode:encodedMessage]; - - XCTAssertEqual(decodedError.code, 1); - XCTAssertEqualObjects(decodedError.domain, @"domain"); - XCTAssertEqualObjects(decodedError.message, @"message"); - XCTAssertEqualObjects(decodedError.responseInfo.adNetworkClassName, - className); - XCTAssertEqualObjects(decodedError.responseInfo.responseIdentifier, - identifier); - XCTAssertTrue(decodedError.responseInfo.adNetworkInfoArray.count == 1); - XCTAssertEqualObjects(decodedError.responseInfo.adNetworkInfoArray.firstObject - .adNetworkClassName, - @"adapter-class"); -} - -- (void)testEncodeDecodeFLTGADResponseInfo { - NSDictionary *descriptionsDict = @{@"descriptions" : @"dict"}; - NSDictionary *adUnitMappingsDict = @{@"credentials" : @"dict"}; - - NSError *error = OCMClassMock([NSError class]); - OCMStub([error domain]).andReturn(@"domain"); - OCMStub([error code]).andReturn(1); - OCMStub([error localizedDescription]).andReturn(@"error"); - - GADAdNetworkResponseInfo *mockGADResponseInfo = - OCMClassMock([GADAdNetworkResponseInfo class]); - OCMStub([mockGADResponseInfo adNetworkClassName]).andReturn(@"adapter-class"); - OCMStub([mockGADResponseInfo latency]).andReturn(123.1234); - OCMStub([mockGADResponseInfo dictionaryRepresentation]) - .andReturn(descriptionsDict); - OCMStub([mockGADResponseInfo adUnitMapping]).andReturn(adUnitMappingsDict); - OCMStub([mockGADResponseInfo error]).andReturn(error); - - GADAdNetworkResponseInfo *mockLoadedGADResponseInfo = - OCMClassMock([GADAdNetworkResponseInfo class]); - OCMStub([mockLoadedGADResponseInfo adNetworkClassName]) - .andReturn(@"loaded-adapter"); - OCMStub([mockLoadedGADResponseInfo latency]).andReturn(123.1234); - OCMStub([mockLoadedGADResponseInfo dictionaryRepresentation]) - .andReturn(descriptionsDict); - OCMStub([mockLoadedGADResponseInfo adUnitMapping]) - .andReturn(adUnitMappingsDict); - OCMStub([mockLoadedGADResponseInfo error]).andReturn(error); - OCMStub([mockLoadedGADResponseInfo adSourceName]).andReturn(@"adSourceName"); - OCMStub([mockLoadedGADResponseInfo adSourceID]).andReturn(@"adSourceID"); - OCMStub([mockLoadedGADResponseInfo adSourceInstanceName]) - .andReturn(@"adSourceInstanceName"); - OCMStub([mockLoadedGADResponseInfo adSourceInstanceID]) - .andReturn(@"adSourceInstanceID"); - - FLTGADAdNetworkResponseInfo *adNetworkResponseInfo = - [[FLTGADAdNetworkResponseInfo alloc] - initWithResponseInfo:mockGADResponseInfo]; - FLTGADAdNetworkResponseInfo *loadedNetworkResponseInfo = - [[FLTGADAdNetworkResponseInfo alloc] - initWithResponseInfo:mockLoadedGADResponseInfo]; - - FLTGADResponseInfo *responseInfo = [[FLTGADResponseInfo alloc] init]; - responseInfo.adNetworkClassName = @"class-name"; - responseInfo.responseIdentifier = @"identifier"; - responseInfo.adNetworkInfoArray = @[ adNetworkResponseInfo ]; - responseInfo.loadedAdNetworkResponseInfo = loadedNetworkResponseInfo; - responseInfo.extrasDictionary = @{@"key" : @"value"}; - - NSData *encodedMessage = [_messageCodec encode:responseInfo]; - FLTGADResponseInfo *decodedResponseInfo = - [_messageCodec decode:encodedMessage]; - - XCTAssertEqualObjects(decodedResponseInfo.adNetworkClassName, @"class-name"); - XCTAssertEqualObjects(decodedResponseInfo.responseIdentifier, @"identifier"); - XCTAssertEqualObjects(decodedResponseInfo.extrasDictionary, - @{@"key" : @"value"}); - XCTAssertEqual(decodedResponseInfo.adNetworkInfoArray.count, 1); - - FLTGADAdNetworkResponseInfo *decodedInfo = - decodedResponseInfo.adNetworkInfoArray.firstObject; - - XCTAssertEqualObjects(decodedInfo.adNetworkClassName, @"adapter-class"); - XCTAssertEqualObjects(decodedInfo.latency, @(123123)); - XCTAssertEqualObjects(decodedInfo.dictionaryDescription, - @"{\n descriptions = dict;\n}"); - XCTAssertEqualObjects(decodedInfo.adUnitMapping, adUnitMappingsDict); - XCTAssertEqual(decodedInfo.error.code, 1); - XCTAssertEqualObjects(decodedInfo.error.domain, @"domain"); - XCTAssertEqualObjects(decodedInfo.error.localizedDescription, @"error"); - - FLTGADAdNetworkResponseInfo *decodedLoadedInfo = - decodedResponseInfo.loadedAdNetworkResponseInfo; - XCTAssertEqualObjects(decodedLoadedInfo.adNetworkClassName, - @"loaded-adapter"); - XCTAssertEqualObjects(decodedLoadedInfo.latency, @(123123)); - XCTAssertEqualObjects(decodedLoadedInfo.dictionaryDescription, - @"{\n descriptions = dict;\n}"); - XCTAssertEqualObjects(decodedLoadedInfo.adUnitMapping, adUnitMappingsDict); - XCTAssertEqual(decodedLoadedInfo.error.code, 1); - XCTAssertEqualObjects(decodedLoadedInfo.error.domain, @"domain"); - XCTAssertEqualObjects(decodedLoadedInfo.error.localizedDescription, @"error"); - XCTAssertEqualObjects(decodedLoadedInfo.adSourceName, @"adSourceName"); - XCTAssertEqualObjects(decodedLoadedInfo.adSourceID, @"adSourceID"); - XCTAssertEqualObjects(decodedLoadedInfo.adSourceInstanceName, - @"adSourceInstanceName"); - XCTAssertEqualObjects(decodedLoadedInfo.adSourceInstanceID, - @"adSourceInstanceID"); -} - -- (void)testEncodeDecodeFLTGADLoadErrorWithEmptyValues { - GADResponseInfo *mockResponseInfo = OCMClassMock([GADResponseInfo class]); - OCMStub([mockResponseInfo responseIdentifier]).andReturn(nil); - OCMStub([mockResponseInfo.loadedAdNetworkResponseInfo adNetworkClassName]) - .andReturn(nil); - NSDictionary *userInfo = @{ - NSLocalizedDescriptionKey : @"message", - GADErrorUserInfoKeyResponseInfo : mockResponseInfo - }; - NSError *error = [NSError errorWithDomain:@"domain" code:1 userInfo:userInfo]; - FLTLoadAdError *loadAdError = [[FLTLoadAdError alloc] initWithError:error]; - - NSData *encodedMessage = [_messageCodec encode:loadAdError]; - FLTLoadAdError *decodedError = [_messageCodec decode:encodedMessage]; - - XCTAssertEqual(decodedError.code, 1); - XCTAssertEqualObjects(decodedError.domain, @"domain"); - XCTAssertEqualObjects(decodedError.message, @"message"); - XCTAssertNil(decodedError.responseInfo.adNetworkClassName); - XCTAssertNil(decodedError.responseInfo.responseIdentifier); -} - -- (void)testEncodeDecodeAdapterStatus { - FLTAdapterStatus *status = [[FLTAdapterStatus alloc] init]; - status.state = @(1); - status.statusDescription = @"desc"; - status.latency = @(23); - - NSData *encodedMessage = [_messageCodec encode:status]; - - FLTAdapterStatus *decodedStatus = [_messageCodec decode:encodedMessage]; - XCTAssertEqualObjects(decodedStatus.state, @(1)); - XCTAssertEqualObjects(decodedStatus.statusDescription, @"desc"); - XCTAssertEqualObjects(decodedStatus.latency, @(23)); -} - -- (void)testEncodeDecodeInitializationStatus { - FLTInitializationStatus *status = [[FLTInitializationStatus alloc] init]; - status.adapterStatuses = @{@"name" : [[FLTAdapterStatus alloc] init]}; - - NSData *encodedMessage = [_messageCodec encode:status]; - - FLTInitializationStatus *decodedStatus = - [_messageCodec decode:encodedMessage]; - XCTAssertEqual(decodedStatus.adapterStatuses.count, 1); - XCTAssertEqualObjects(decodedStatus.adapterStatuses.allKeys[0], @"name"); - XCTAssertNil(decodedStatus.adapterStatuses.allValues[0].state); - XCTAssertNil(decodedStatus.adapterStatuses.allValues[0].statusDescription); - XCTAssertNil(decodedStatus.adapterStatuses.allValues[0].latency); -} - -- (void)testEncodeDecodeNativeTemplateType { - FLTNativeTemplateType *templateType = - [[FLTNativeTemplateType alloc] initWithInt:1]; - NSData *encodedMessage = [_messageCodec encode:templateType]; - - FLTNativeTemplateType *decodedTemplateType = - [_messageCodec decode:encodedMessage]; - [self assertEqualTemplateTypes:templateType second:decodedTemplateType]; -} - -- (void)testEncodeDecodeNativeTemplateFontStyle { - FLTNativeTemplateFontStyleWrapper *fontStyle = - [[FLTNativeTemplateFontStyleWrapper alloc] initWithInt:2]; - NSData *encodedMessage = [_messageCodec encode:fontStyle]; - - FLTNativeTemplateFontStyleWrapper *decoded = - [_messageCodec decode:encodedMessage]; - [self assertEqualTemplateFontStyles:fontStyle second:decoded]; -} - -- (void)testEncodeDecodeNativeTemplateColor { - FLTNativeTemplateColor *color = - [[FLTNativeTemplateColor alloc] initWithAlpha:@2.0f - red:@3.0f - green:@4.0f - blue:@5.0f]; - NSData *encodedMessage = [_messageCodec encode:color]; - - FLTNativeTemplateColor *decoded = [_messageCodec decode:encodedMessage]; - [self assertEqualTemplateColors:color second:decoded]; -} - -- (void)testEncodeDecodeNativeTemplateTextStyle { - FLTNativeTemplateColor *textColor = - [[FLTNativeTemplateColor alloc] initWithAlpha:@2.0f - red:@3.0f - green:@4.0f - blue:@5.0f]; - FLTNativeTemplateColor *backgroundColor = - [[FLTNativeTemplateColor alloc] initWithAlpha:@6.0f - red:@7.0f - green:@8.0f - blue:@9.0f]; - FLTNativeTemplateFontStyleWrapper *fontStyle = - [[FLTNativeTemplateFontStyleWrapper alloc] initWithInt:1]; - - FLTNativeTemplateTextStyle *textStyle = - [[FLTNativeTemplateTextStyle alloc] initWithTextColor:textColor - backgroundColor:backgroundColor - fontStyle:fontStyle - size:@15.0f]; - NSData *encodedMessage = [_messageCodec encode:textStyle]; - - FLTNativeTemplateTextStyle *decoded = [_messageCodec decode:encodedMessage]; - [self assertEqualTextStyles:textStyle second:decoded]; -} - -- (void)testEncodeDecodeNativeTemplateStyle { - FLTNativeTemplateType *templateType = - [[FLTNativeTemplateType alloc] initWithInt:0]; - FLTNativeTemplateColor *mainBackgroundColor = - [[FLTNativeTemplateColor alloc] initWithAlpha:@2.0f - red:@3.0f - green:@4.0f - blue:@5.0f]; - - FLTNativeTemplateColor *ctaTextColor = - [[FLTNativeTemplateColor alloc] initWithAlpha:@2.0f - red:@3.0f - green:@4.0f - blue:@5.0f]; - FLTNativeTemplateColor *ctaBackgroundColor = - [[FLTNativeTemplateColor alloc] initWithAlpha:@6.0f - red:@7.0f - green:@8.0f - blue:@9.0f]; - FLTNativeTemplateFontStyleWrapper *ctaFontStyle = - [[FLTNativeTemplateFontStyleWrapper alloc] initWithInt:1]; - - FLTNativeTemplateTextStyle *ctaTextStyle = - [[FLTNativeTemplateTextStyle alloc] initWithTextColor:ctaTextColor - backgroundColor:ctaBackgroundColor - fontStyle:ctaFontStyle - size:@15.0f]; - FLTNativeTemplateTextStyle *primaryTextStyle = - [[FLTNativeTemplateTextStyle alloc] initWithTextColor:nil - backgroundColor:nil - fontStyle:nil - size:nil]; - - FLTNativeTemplateTextStyle *secondaryTextStyle = - [[FLTNativeTemplateTextStyle alloc] initWithTextColor:nil - backgroundColor:nil - fontStyle:nil - size:@30.0f]; - - FLTNativeTemplateColor *tertiaryTextColor = - [[FLTNativeTemplateColor alloc] initWithAlpha:@12.0f - red:@13.0f - green:@14.0f - blue:@15.0f]; - FLTNativeTemplateTextStyle *tertiaryTextStyle = - [[FLTNativeTemplateTextStyle alloc] initWithTextColor:tertiaryTextColor - backgroundColor:nil - fontStyle:nil - size:@45.0f]; - - FLTNativeTemplateStyle *style = - [[FLTNativeTemplateStyle alloc] initWithTemplateType:templateType - mainBackgroundColor:mainBackgroundColor - callToActionStyle:ctaTextStyle - primaryTextStyle:primaryTextStyle - secondaryTextStyle:secondaryTextStyle - tertiaryTextStyle:tertiaryTextStyle - cornerRadius:@20.0f]; - - NSData *encodedMessage = [_messageCodec encode:style]; - FLTNativeTemplateStyle *decoded = [_messageCodec decode:encodedMessage]; - - [self assertEqualTemplateTypes:style.templateType - second:decoded.templateType]; - [self assertEqualTemplateColors:style.mainBackgroundColor - second:decoded.mainBackgroundColor]; - [self assertEqualTextStyles:style.callToActionStyle - second:decoded.callToActionStyle]; - [self assertEqualTextStyles:style.primaryTextStyle - second:decoded.primaryTextStyle]; - [self assertEqualTextStyles:style.secondaryTextStyle - second:decoded.secondaryTextStyle]; - [self assertEqualTextStyles:style.tertiaryTextStyle - second:decoded.tertiaryTextStyle]; - XCTAssertEqual(style.cornerRadius.floatValue, - decoded.cornerRadius.floatValue); -} - -#pragma mark - Helper methods to compare native templates types - -- (void)assertEqualTextStyles:(FLTNativeTemplateTextStyle *)first - second:(FLTNativeTemplateTextStyle *)second { - [self assertEqualTemplateColors:first.textColor second:second.textColor]; - [self assertEqualTemplateColors:first.backgroundColor - second:second.backgroundColor]; - - XCTAssertEqual(first.fontStyle.intValue, second.fontStyle.intValue); - XCTAssertEqual(first.size.floatValue, second.size.floatValue); -} - -- (void)assertEqualTemplateFontStyles:(FLTNativeTemplateFontStyleWrapper *)first - second: - (FLTNativeTemplateFontStyleWrapper *)second { - XCTAssertEqual(first.intValue, second.intValue); -} - -- (void)assertEqualTemplateColors:(FLTNativeTemplateColor *)first - second:(FLTNativeTemplateColor *)second { - XCTAssertEqual(first.alpha.floatValue, second.alpha.floatValue); - XCTAssertEqual(first.red.floatValue, second.red.floatValue); - XCTAssertEqual(first.blue.floatValue, second.blue.floatValue); - XCTAssertEqual(first.green.floatValue, second.green.floatValue); -} - -- (void)assertEqualTemplateTypes:(FLTNativeTemplateType *)first - second:(FLTNativeTemplateType *)second { - XCTAssertEqual(first.intValue, second.intValue); -} - -@end - -@implementation FLTTestAdSizeFactory -- (instancetype)initWithAdSize:(GADAdSize)testAdSize { - self = [super init]; - if (self) { - _testAdSize = testAdSize; - } - return self; -} - -- (GADAdSize)portraitAnchoredAdaptiveBannerAdSizeWithWidth:(NSNumber *)width { - return GADAdSizeFromCGSize(CGSizeMake(width.doubleValue, 0)); -} - -- (GADAdSize)landscapeAnchoredAdaptiveBannerAdSizeWithWidth:(NSNumber *)width { - return GADAdSizeFromCGSize(CGSizeMake(width.doubleValue, 0)); -} - -- (GADAdSize)currentOrientationAnchoredAdaptiveBannerAdSizeWithWidth: - (NSNumber *)width { - return GADAdSizeFromCGSize(CGSizeMake(width.doubleValue, 0)); -} -@end - -@implementation _FlutterMediationExtras - -@synthesize extras; - -- (id _Nonnull)getMediationExtras { - return OCMProtocolMock(@protocol(GADAdNetworkExtras)); -} - -@end diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/example/ios/RunnerTests/FLTGoogleMobileAdsTest.m b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/example/ios/RunnerTests/FLTGoogleMobileAdsTest.m deleted file mode 100644 index 427b5e3d..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/example/ios/RunnerTests/FLTGoogleMobileAdsTest.m +++ /dev/null @@ -1,472 +0,0 @@ -// Copyright 2021 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#import -#import - -#import "FLTAdInstanceManager_Internal.h" -#import "FLTAd_Internal.h" -#import "FLTGoogleMobileAdsCollection_Internal.h" -#import "FLTGoogleMobileAdsPlugin.h" -#import "FLTGoogleMobileAdsReaderWriter_Internal.h" -#import "FLTMobileAds_Internal.h" - -@interface FLTGoogleMobileAdsTest : XCTestCase -@end - -@implementation FLTGoogleMobileAdsTest { - FLTAdInstanceManager *_manager; - NSObject *_mockMessenger; - NSObject *_methodCodec; -} - -static NSString *channel = @"plugins.flutter.io/google_mobile_ads"; - -- (void)setUp { - _mockMessenger = OCMProtocolMock(@protocol(FlutterBinaryMessenger)); - _manager = - [[FLTAdInstanceManager alloc] initWithBinaryMessenger:_mockMessenger]; - _methodCodec = [FlutterStandardMethodCodec - codecWithReaderWriter:[[FLTGoogleMobileAdsReaderWriter alloc] init]]; -} - -- (void)testAdInstanceManagerLoadAd { - FLTAdSize *size = [[FLTAdSize alloc] initWithWidth:@(1) height:@(2)]; - FLTBannerAd *bannerAd = [[FLTBannerAd alloc] - initWithAdUnitId:@"testId" - size:size - request:[[FLTAdRequest alloc] init] - rootViewController:OCMClassMock([UIViewController class]) - adId:@1]; - - FLTBannerAd *mockBannerAd = OCMPartialMock(bannerAd); - OCMStub([mockBannerAd load]); - - [_manager loadAd:bannerAd]; - - OCMVerify([mockBannerAd load]); - XCTAssertEqual([_manager adFor:@(1)], bannerAd); - XCTAssertEqualObjects([_manager adIdFor:bannerAd], @(1)); -} - -- (void)testAdInstanceManagerDisposeAd { - FLTAdSize *size = [[FLTAdSize alloc] initWithWidth:@(1) height:@(2)]; - FLTBannerAd *bannerAd = [[FLTBannerAd alloc] - initWithAdUnitId:@"testId" - size:size - request:[[FLTAdRequest alloc] init] - rootViewController:OCMClassMock([UIViewController class]) - adId:@1]; - FLTBannerAd *mockBannerAd = OCMPartialMock(bannerAd); - OCMStub([mockBannerAd load]); - - [_manager loadAd:bannerAd]; - [_manager dispose:@(1)]; - - XCTAssertNil([_manager adFor:@(1)]); - XCTAssertNil([_manager adIdFor:bannerAd]); -} - -- (void)testAdInstanceManagerDisposeAllAds { - FLTAdSize *size = [[FLTAdSize alloc] initWithWidth:@(1) height:@(2)]; - FLTBannerAd *bannerAd1 = [[FLTBannerAd alloc] - initWithAdUnitId:@"testId" - size:size - request:[[FLTAdRequest alloc] init] - rootViewController:OCMClassMock([UIViewController class]) - adId:@1]; - FLTBannerAd *mockBannerAd1 = OCMPartialMock(bannerAd1); - OCMStub([mockBannerAd1 load]); - - FLTBannerAd *bannerAd2 = [[FLTBannerAd alloc] - initWithAdUnitId:@"testId" - size:size - request:[[FLTAdRequest alloc] init] - rootViewController:OCMClassMock([UIViewController class]) - adId:@2]; - FLTBannerAd *mockBannerAd2 = OCMPartialMock(bannerAd2); - OCMStub([mockBannerAd2 load]); - - [_manager loadAd:bannerAd1]; - [_manager loadAd:bannerAd2]; - [_manager disposeAllAds]; - - XCTAssertNil([_manager adFor:@(1)]); - XCTAssertNil([_manager adIdFor:bannerAd1]); - XCTAssertNil([_manager adFor:@(2)]); - XCTAssertNil([_manager adIdFor:bannerAd2]); -} - -- (void)testAdInstanceManagerOnAdLoaded { - FLTNativeAd *ad = [[FLTNativeAd alloc] - initWithAdUnitId:@"testAdUnitId" - request:[[FLTAdRequest alloc] init] - nativeAdFactory:OCMProtocolMock(@protocol(FLTNativeAdFactory)) - customOptions:nil - rootViewController:OCMClassMock([UIViewController class]) - adId:@1 - nativeAdOptions:nil - nativeTemplateStyle:nil]; - [_manager loadAd:ad]; - - GADResponseInfo *responseInfo = OCMClassMock([GADResponseInfo class]); - FLTGADResponseInfo *fltResponseInfo = - [[FLTGADResponseInfo alloc] initWithResponseInfo:responseInfo]; - [_manager onAdLoaded:ad responseInfo:responseInfo]; - NSData *data = [_methodCodec - encodeMethodCall:[FlutterMethodCall - methodCallWithMethodName:@"onAdEvent" - arguments:@{ - @"adId" : @1, - @"eventName" : @"onAdLoaded", - @"responseInfo" : fltResponseInfo, - }]]; - OCMVerify([_mockMessenger sendOnChannel:channel message:data]); -} - -- (void)testAdInstanceManagerOnAdFailedToLoad { - FLTNativeAd *ad = [[FLTNativeAd alloc] - initWithAdUnitId:@"testAdUnitId" - request:[[FLTAdRequest alloc] init] - nativeAdFactory:OCMProtocolMock(@protocol(FLTNativeAdFactory)) - customOptions:nil - rootViewController:OCMClassMock([UIViewController class]) - adId:@1 - nativeAdOptions:nil - nativeTemplateStyle:nil]; - [_manager loadAd:ad]; - - NSDictionary *userInfo = @{NSLocalizedDescriptionKey : @"message"}; - NSError *error = [NSError errorWithDomain:@"domain" code:1 userInfo:userInfo]; - - FLTLoadAdError *loadAdError = [[FLTLoadAdError alloc] initWithError:error]; - [_manager onAdFailedToLoad:ad error:error]; - NSData *data = [_methodCodec - encodeMethodCall:[FlutterMethodCall - methodCallWithMethodName:@"onAdEvent" - arguments:@{ - @"adId" : @1, - @"eventName" : @"onAdFailedToLoad", - @"loadAdError" : loadAdError, - }]]; - OCMVerify([_mockMessenger sendOnChannel:channel message:data]); -} - -- (void)testAdInstanceManagerOnAdFailedToShow { - FLTInterstitialAd *ad = OCMClassMock([FLTInterstitialAd class]); - OCMStub([ad adId]).andReturn(@1); - [_manager loadAd:ad]; - - NSDictionary *userInfo = @{NSLocalizedDescriptionKey : @"message"}; - NSError *error = [NSError errorWithDomain:@"domain" code:1 userInfo:userInfo]; - - [_manager didFailToPresentFullScreenContentWithError:ad error:error]; - NSData *data = [_methodCodec - encodeMethodCall:[FlutterMethodCall - methodCallWithMethodName:@"onAdEvent" - arguments:@{ - @"adId" : @1, - @"eventName" : - @"didFailToPresentFullScreenCon" - @"tentWithError", - @"error" : error, - }]]; - OCMVerify([_mockMessenger sendOnChannel:channel message:data]); -} - -- (void)testAdInstanceManagerOnAppEvent { - FLTNativeAd *ad = [[FLTNativeAd alloc] - initWithAdUnitId:@"testAdUnitId" - request:[[FLTAdRequest alloc] init] - nativeAdFactory:OCMProtocolMock(@protocol(FLTNativeAdFactory)) - customOptions:nil - rootViewController:OCMClassMock([UIViewController class]) - adId:@1 - nativeAdOptions:nil - nativeTemplateStyle:nil]; - FlutterMethodChannel *mockMethodChannel = - OCMClassMock([FlutterMethodChannel class]); - [_manager setValue:mockMethodChannel forKey:@"_channel"]; - [_manager loadAd:ad]; - - [_manager onAppEvent:ad name:@"color" data:@"red"]; - - NSDictionary *arguments = @{ - @"adId" : @1, - @"eventName" : @"onAppEvent", - @"name" : @"color", - @"data" : @"red" - }; - OCMVerify([mockMethodChannel invokeMethod:@"onAdEvent" arguments:arguments]); -} - -- (void)testAdInstanceManagerOnNativeAdEvents { - FLTNativeAd *ad = [[FLTNativeAd alloc] - initWithAdUnitId:@"testAdUnitId" - request:[[FLTAdRequest alloc] init] - nativeAdFactory:OCMProtocolMock(@protocol(FLTNativeAdFactory)) - customOptions:nil - rootViewController:OCMClassMock([UIViewController class]) - adId:@1 - nativeAdOptions:nil - nativeTemplateStyle:nil]; - [_manager loadAd:ad]; - - [_manager adDidRecordClick:ad]; - NSData *clickData = [self getDataForEvent:@"adDidRecordClick" adId:@1]; - OCMVerify([_mockMessenger sendOnChannel:channel message:clickData]); - - [_manager onNativeAdImpression:ad]; - NSData *impressionData = [self getDataForEvent:@"onNativeAdImpression" - adId:@1]; - OCMVerify([_mockMessenger sendOnChannel:channel message:impressionData]); - - [_manager onNativeAdWillPresentScreen:ad]; - NSData *presentScreenData = - [self getDataForEvent:@"onNativeAdWillPresentScreen" adId:@1]; - OCMVerify(([_mockMessenger sendOnChannel:channel message:presentScreenData])); - - [_manager onNativeAdDidDismissScreen:ad]; - NSData *didDismissData = [self getDataForEvent:@"onNativeAdDidDismissScreen" - adId:@1]; - OCMVerify(([_mockMessenger sendOnChannel:channel message:didDismissData])); - - [_manager onNativeAdWillDismissScreen:ad]; - NSData *willDismissData = [self getDataForEvent:@"onNativeAdWillDismissScreen" - adId:@1]; - OCMVerify(([_mockMessenger sendOnChannel:channel message:willDismissData])); -} - -- (void)testAdInstanceManagerOnRewardedAdUserEarnedReward { - FLTRewardedAd *ad = - [[FLTRewardedAd alloc] initWithAdUnitId:@"testId" - request:[[FLTAdRequest alloc] init] - adId:@1]; - [_manager loadAd:ad]; - - [_manager onRewardedAdUserEarnedReward:ad - reward:[[FLTRewardItem alloc] - initWithAmount:@(1) - type:@"type"]]; - NSData *data = [_methodCodec - encodeMethodCall:[FlutterMethodCall - methodCallWithMethodName:@"onAdEvent" - arguments:@{ - @"adId" : @1, - @"eventName" : - @"onRewardedAdUserEarnedReward", - @"rewardItem" : - [[FLTRewardItem alloc] - initWithAmount:@(1) - type:@"type"] - }]]; - OCMVerify([_mockMessenger sendOnChannel:channel message:data]); -} - -- (void)testAdInstanceManagerOnRewardedInterstitialAdUserEarnedReward { - FLTRewardedInterstitialAd *ad = [[FLTRewardedInterstitialAd alloc] - initWithAdUnitId:@"testId" - request:[[FLTAdRequest alloc] init] - adId:@1]; - [_manager loadAd:ad]; - - [_manager - onRewardedInterstitialAdUserEarnedReward:ad - reward:[[FLTRewardItem alloc] - initWithAmount:@(1) - type:@"type"]]; - NSData *data = [_methodCodec - encodeMethodCall: - [FlutterMethodCall - methodCallWithMethodName:@"onAdEvent" - arguments:@{ - @"adId" : @1, - @"eventName" : - @"onRewardedInterstitialAdUserEarnedReward", - @"rewardItem" : [[FLTRewardItem alloc] - initWithAmount:@(1) - type:@"type"] - }]]; - OCMVerify([_mockMessenger sendOnChannel:channel message:data]); -} - -- (void)testAdInstanceManagerOnPaidEvent { - FLTNativeAd *ad = [[FLTNativeAd alloc] - initWithAdUnitId:@"testAdUnitId" - request:[[FLTAdRequest alloc] init] - nativeAdFactory:OCMProtocolMock(@protocol(FLTNativeAdFactory)) - customOptions:nil - rootViewController:OCMClassMock([UIViewController class]) - adId:@1 - nativeAdOptions:nil - nativeTemplateStyle:nil]; - [_manager loadAd:ad]; - - NSDecimalNumber *valueDecimal = [[NSDecimalNumber alloc] initWithInt:1]; - FLTAdValue *value = [[FLTAdValue alloc] initWithValue:valueDecimal - precision:12 - currencyCode:@"code"]; - - [_manager onPaidEvent:ad value:value]; - NSData *data = [_methodCodec - encodeMethodCall:[FlutterMethodCall - methodCallWithMethodName:@"onAdEvent" - arguments:@{ - @"adId" : @1, - @"eventName" : @"onPaidEvent", - @"valueMicros" : value.valueMicros, - @"precision" : - [NSNumber numberWithInteger:12], - @"currencyCode" : @"code" - }]]; - OCMVerify([_mockMessenger sendOnChannel:channel message:data]); -} - -- (void)testBannerEvents { - FLTAdSize *size = [[FLTAdSize alloc] initWithWidth:@(1) height:@(2)]; - FLTBannerAd *ad = [[FLTBannerAd alloc] - initWithAdUnitId:@"testId" - size:size - request:[[FLTAdRequest alloc] init] - rootViewController:OCMClassMock([UIViewController class]) - adId:@1]; - FLTBannerAd *mockBannerAd = OCMPartialMock(ad); - OCMStub([mockBannerAd load]); - - [_manager loadAd:ad]; - - [_manager onBannerImpression:ad]; - NSData *impressionData = [self getDataForEvent:@"onBannerImpression" adId:@1]; - OCMVerify(([_mockMessenger sendOnChannel:channel message:impressionData])); - - [_manager onBannerWillDismissScreen:ad]; - NSData *willDismissData = [self getDataForEvent:@"onBannerWillDismissScreen" - adId:@1]; - OCMVerify(([_mockMessenger sendOnChannel:channel message:willDismissData])); - - [_manager onBannerDidDismissScreen:ad]; - NSData *didDismissData = [self getDataForEvent:@"onBannerDidDismissScreen" - adId:@1]; - OCMVerify(([_mockMessenger sendOnChannel:channel message:didDismissData])); - - [_manager onBannerWillPresentScreen:ad]; - NSData *willPresentData = [self getDataForEvent:@"onBannerWillPresentScreen" - adId:@1]; - OCMVerify(([_mockMessenger sendOnChannel:channel message:willPresentData])); -} - -- (void)testFullScreenEventsRewardedAd { - FLTRewardedAd *rewardedAd = - [[FLTRewardedAd alloc] initWithAdUnitId:@"testId" - request:[[FLTAdRequest alloc] init] - adId:@1]; - [_manager loadAd:rewardedAd]; - - [_manager adWillPresentFullScreenContent:rewardedAd]; - NSData *didPresentData = - [self getDataForEvent:@"adWillPresentFullScreenContent" adId:@1]; - OCMVerify(([_mockMessenger sendOnChannel:channel message:didPresentData])); - - [_manager adDidDismissFullScreenContent:rewardedAd]; - NSData *didDismissData = - [self getDataForEvent:@"adDidDismissFullScreenContent" adId:@1]; - OCMVerify(([_mockMessenger sendOnChannel:channel message:didDismissData])); - - [_manager adWillDismissFullScreenContent:rewardedAd]; - NSData *willDismissData = - [self getDataForEvent:@"adWillDismissFullScreenContent" adId:@1]; - OCMVerify(([_mockMessenger sendOnChannel:channel message:willDismissData])); - - [_manager adDidRecordImpression:rewardedAd]; - NSData *impressionData = [self getDataForEvent:@"adDidRecordImpression" - adId:@1]; - OCMVerify(([_mockMessenger sendOnChannel:channel message:impressionData])); -} - -- (void)testFullScreenEventsRewardedInterstitialAd { - FLTRewardedInterstitialAd *rewardedInterstitialAd = - [[FLTRewardedInterstitialAd alloc] - initWithAdUnitId:@"testId" - request:[[FLTAdRequest alloc] init] - adId:@1]; - [_manager loadAd:rewardedInterstitialAd]; - - [_manager adWillPresentFullScreenContent:rewardedInterstitialAd]; - NSData *didPresentData = - [self getDataForEvent:@"adWillPresentFullScreenContent" adId:@1]; - OCMVerify(([_mockMessenger sendOnChannel:channel message:didPresentData])); - - [_manager adDidDismissFullScreenContent:rewardedInterstitialAd]; - NSData *didDismissData = - [self getDataForEvent:@"adDidDismissFullScreenContent" adId:@1]; - OCMVerify(([_mockMessenger sendOnChannel:channel message:didDismissData])); - - [_manager adWillDismissFullScreenContent:rewardedInterstitialAd]; - NSData *willDismissData = - [self getDataForEvent:@"adWillDismissFullScreenContent" adId:@1]; - OCMVerify(([_mockMessenger sendOnChannel:channel message:willDismissData])); - - [_manager adDidRecordImpression:rewardedInterstitialAd]; - NSData *impressionData = [self getDataForEvent:@"adDidRecordImpression" - adId:@1]; - OCMVerify(([_mockMessenger sendOnChannel:channel message:impressionData])); -} - -- (void)testEventSentForDisposedAd { - FLTAdSize *size = [[FLTAdSize alloc] initWithWidth:@(1) height:@(2)]; - FLTBannerAd *bannerAd = [[FLTBannerAd alloc] - initWithAdUnitId:@"testId" - size:size - request:[[FLTAdRequest alloc] init] - rootViewController:OCMClassMock([UIViewController class]) - adId:@1]; - FLTBannerAd *mockBannerAd = OCMPartialMock(bannerAd); - OCMStub([mockBannerAd load]); - - [_manager loadAd:bannerAd]; - [_manager dispose:@(1)]; - - XCTAssertNil([_manager adFor:@(1)]); - XCTAssertNil([_manager adIdFor:bannerAd]); - - GADBannerView *mockGADBannerView = OCMClassMock([GADBannerView class]); - [bannerAd bannerViewDidRecordImpression:mockGADBannerView]; - - NSData *impressionData = [self getDataForEvent:@"onBannerImpression" adId:@1]; - OCMVerify(([_mockMessenger sendOnChannel:channel message:impressionData])); -} - -// Helper method to create encoded data for an event and ad id. -- (NSData *)getDataForEvent:(NSString *)name adId:(NSNumber *)adId { - return [_methodCodec - encodeMethodCall:[FlutterMethodCall methodCallWithMethodName:@"onAdEvent" - arguments:@{ - @"adId" : @1, - @"eventName" : name - }]]; -} - -- (void)testAdClick { - FLTRewardedInterstitialAd *rewardedInterstitialAd = - [[FLTRewardedInterstitialAd alloc] - initWithAdUnitId:@"testId" - request:[[FLTAdRequest alloc] init] - adId:@1]; - - [_manager adDidRecordClick:rewardedInterstitialAd]; - NSData *impressionData = [self getDataForEvent:@"adDidRecordClick" adId:@1]; - OCMVerify(([_mockMessenger sendOnChannel:channel message:impressionData])); -} - -@end diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/example/ios/RunnerTests/FLTInterstitialAdTest.m b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/example/ios/RunnerTests/FLTInterstitialAdTest.m deleted file mode 100644 index d3ef3c13..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/example/ios/RunnerTests/FLTInterstitialAdTest.m +++ /dev/null @@ -1,154 +0,0 @@ -// Copyright 2021 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#import -#import - -#import "FLTAdInstanceManager_Internal.h" -#import "FLTAd_Internal.h" - -@interface FLTInterstitialAdTest : XCTestCase -@end - -@implementation FLTInterstitialAdTest { - FLTAdInstanceManager *mockManager; -} - -- (void)setUp { - mockManager = (OCMClassMock([FLTAdInstanceManager class])); -} - -- (void)testLoadShowInterstitialAd { - FLTAdRequest *request = OCMClassMock([FLTAdRequest class]); - OCMStub([request keywords]).andReturn(@[ @"apple" ]); - GADRequest *gadRequest = OCMClassMock([GADRequest class]); - OCMStub([request asGADRequest:[OCMArg any]]).andReturn(gadRequest); - - FLTInterstitialAd *ad = [[FLTInterstitialAd alloc] initWithAdUnitId:@"testId" - request:request - adId:@1]; - ad.manager = mockManager; - - id interstitialClassMock = OCMClassMock([GADInterstitialAd class]); - OCMStub(ClassMethod([interstitialClassMock loadWithAdUnitID:[OCMArg any] - request:[OCMArg any] - completionHandler:[OCMArg any]])) - .andDo(^(NSInvocation *invocation) { - void (^completionHandler)(GADInterstitialAd *ad, NSError *error); - [invocation getArgument:&completionHandler atIndex:4]; - completionHandler(interstitialClassMock, nil); - }); - NSError *error = OCMClassMock([NSError class]); - OCMStub([interstitialClassMock setFullScreenContentDelegate:[OCMArg any]]) - .andDo(^(NSInvocation *invocation) { - id delegate; - [invocation getArgument:&delegate atIndex:2]; - XCTAssertEqual(delegate, ad); - [delegate adDidRecordImpression:interstitialClassMock]; - [delegate adDidRecordClick:interstitialClassMock]; - [delegate adDidDismissFullScreenContent:interstitialClassMock]; - [delegate adWillPresentFullScreenContent:interstitialClassMock]; - [delegate adWillDismissFullScreenContent:interstitialClassMock]; - [delegate ad:interstitialClassMock - didFailToPresentFullScreenContentWithError:error]; - }); - - GADResponseInfo *mockResponseInfo = OCMClassMock([GADResponseInfo class]); - OCMStub([interstitialClassMock responseInfo]).andReturn(mockResponseInfo); - - // Mock callback of paid event handler. - GADAdValue *adValue = OCMClassMock([GADAdValue class]); - OCMStub([adValue value]).andReturn(NSDecimalNumber.one); - OCMStub([adValue precision]).andReturn(GADAdValuePrecisionEstimated); - OCMStub([adValue currencyCode]).andReturn(@"currencyCode"); - OCMStub([interstitialClassMock - setPaidEventHandler:[OCMArg checkWithBlock:^BOOL(id obj) { - GADPaidEventHandler handler = obj; - handler(adValue); - return YES; - }]]); - // Call load and verify interactions with mocks. - [ad load]; - - OCMVerify(ClassMethod([interstitialClassMock - loadWithAdUnitID:[OCMArg isEqual:@"testId"] - request:[OCMArg isEqual:gadRequest] - completionHandler:[OCMArg any]])); - OCMVerify([mockManager onAdLoaded:[OCMArg isEqual:ad] - responseInfo:[OCMArg isEqual:mockResponseInfo]]); - OCMVerify( - [interstitialClassMock setFullScreenContentDelegate:[OCMArg isEqual:ad]]); - XCTAssertEqual(ad.interstitial, interstitialClassMock); - OCMVerify([mockManager - onPaidEvent:[OCMArg isEqual:ad] - value:[OCMArg checkWithBlock:^BOOL(id obj) { - FLTAdValue *adValue = obj; - XCTAssertEqualObjects( - adValue.valueMicros, - [[NSDecimalNumber alloc] initWithInt:1000000]); - XCTAssertEqual(adValue.precision, GADAdValuePrecisionEstimated); - XCTAssertEqualObjects(adValue.currencyCode, @"currencyCode"); - return TRUE; - }]]); - - // Show the ad - [ad show]; - - OCMVerify( - [interstitialClassMock presentFromRootViewController:[OCMArg isNil]]); - - // Verify full screen callbacks. - OCMVerify([mockManager adWillPresentFullScreenContent:[OCMArg isEqual:ad]]); - OCMVerify([mockManager adDidDismissFullScreenContent:[OCMArg isEqual:ad]]); - OCMVerify([mockManager adWillDismissFullScreenContent:[OCMArg isEqual:ad]]); - OCMVerify([mockManager adDidRecordImpression:[OCMArg isEqual:ad]]); - OCMVerify([mockManager adDidRecordClick:[OCMArg isEqual:ad]]); - OCMVerify([mockManager - didFailToPresentFullScreenContentWithError:[OCMArg isEqual:ad] - error:[OCMArg isEqual:error]]); -} - -- (void)testFailedToLoad { - FLTAdRequest *request = OCMClassMock([FLTAdRequest class]); - OCMStub([request keywords]).andReturn(@[ @"apple" ]); - GADRequest *gadRequest = OCMClassMock([GADRequest class]); - OCMStub([request asGADRequest:[OCMArg any]]).andReturn(gadRequest); - - FLTInterstitialAd *ad = [[FLTInterstitialAd alloc] initWithAdUnitId:@"testId" - request:request - adId:@1]; - ad.manager = mockManager; - - id interstitialClassMock = OCMClassMock([GADInterstitialAd class]); - NSError *error = OCMClassMock([NSError class]); - OCMStub(ClassMethod([interstitialClassMock loadWithAdUnitID:[OCMArg any] - request:[OCMArg any] - completionHandler:[OCMArg any]])) - .andDo(^(NSInvocation *invocation) { - void (^completionHandler)(GADInterstitialAd *ad, NSError *error); - [invocation getArgument:&completionHandler atIndex:4]; - completionHandler(nil, error); - }); - - [ad load]; - - OCMVerify(ClassMethod([interstitialClassMock - loadWithAdUnitID:[OCMArg isEqual:@"testId"] - request:[OCMArg isEqual:gadRequest] - completionHandler:[OCMArg any]])); - OCMVerify([mockManager onAdFailedToLoad:[OCMArg isEqual:ad] - error:[OCMArg isEqual:error]]); -} - -@end diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/example/ios/RunnerTests/FLTNativeAdTest.m b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/example/ios/RunnerTests/FLTNativeAdTest.m deleted file mode 100644 index 4c3b8cb2..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/example/ios/RunnerTests/FLTNativeAdTest.m +++ /dev/null @@ -1,197 +0,0 @@ -// Copyright 2021 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#import -#import - -#import "FLTAdInstanceManager_Internal.h" -#import "FLTAd_Internal.h" -#import "FLTNativeTemplateStyle.h" - -@interface FLTNativeAdTest : XCTestCase -@end - -@implementation FLTNativeAdTest { - FLTAdInstanceManager *mockManager; -} - -- (void)setUp { - mockManager = (OCMClassMock([FLTAdInstanceManager class])); -} - -- (void)testLoadNativeAd { - FLTAdRequest *request = [[FLTAdRequest alloc] init]; - request.keywords = @[ @"apple" ]; - [self testLoadNativeAd:request customOptions:NULL]; -} - -- (void)testLoadNativeAdWithGAMRequest { - FLTGAMAdRequest *request = [[FLTGAMAdRequest alloc] init]; - request.keywords = @[ @"apple" ]; - [self testLoadNativeAd:request - customOptions:OCMClassMock([NSDictionary class])]; -} - -- (void)testLoadNativeAd:(FLTAdRequest *)gadOrGAMRequest - customOptions: - (NSDictionary *_Nullable)customOptions { - id mockNativeAdFactory = OCMProtocolMock(@protocol(FLTNativeAdFactory)); - FLTNativeAdOptions *mockNativeAdOptions = - OCMClassMock([FLTNativeAdOptions class]); - GADAdLoaderOptions *mockGADAdLoaderOptions = - OCMClassMock([GADAdLoaderOptions class]); - OCMStub([mockNativeAdOptions asGADAdLoaderOptions]) - .andReturn([NSArray arrayWithObject:mockGADAdLoaderOptions]); - UIViewController *mockViewController = OCMClassMock([UIViewController class]); - - FLTNativeAd *ad = [[FLTNativeAd alloc] initWithAdUnitId:@"testAdUnitId" - request:gadOrGAMRequest - nativeAdFactory:mockNativeAdFactory - customOptions:customOptions - rootViewController:mockViewController - adId:@1 - nativeAdOptions:mockNativeAdOptions - nativeTemplateStyle:nil]; - ad.manager = mockManager; - - XCTAssertEqual(ad.adLoader.adUnitID, @"testAdUnitId"); - XCTAssertEqual(ad.adLoader.delegate, ad); - OCMVerify([mockNativeAdOptions asGADAdLoaderOptions]); - - FLTNativeAd *mockNativeAd = OCMPartialMock(ad); - GADAdLoader *mockLoader = OCMPartialMock([ad adLoader]); - OCMStub([mockNativeAd adLoader]).andReturn(mockLoader); - [mockNativeAd load]; - - OCMVerify([mockLoader loadRequest:[OCMArg checkWithBlock:^BOOL(id obj) { - GADRequest *requestArg = obj; - return [requestArg.keywords - isEqualToArray:@[ @"apple" ]]; - }]]); - - // Check that nil is used instead of null when customOptions is Null - GADResponseInfo *mockResponseInfo = OCMClassMock([GADResponseInfo class]); - GADNativeAd *mockGADNativeAd = OCMClassMock([GADNativeAd class]); - OCMStub([mockGADNativeAd responseInfo]).andReturn(mockResponseInfo); - [ad adLoader:mockLoader didReceiveNativeAd:mockGADNativeAd]; - if ([NSNull.null isEqual:customOptions] || customOptions == nil) { - OCMVerify([mockNativeAdFactory createNativeAd:mockGADNativeAd - customOptions:[OCMArg isNil]]); - } else { - OCMVerify([mockNativeAdFactory - createNativeAd:mockGADNativeAd - customOptions:[OCMArg isEqual:customOptions]]); - } - - OCMStub( - [mockGADNativeAd setDelegate:[OCMArg checkWithBlock:^BOOL(id obj) { - id delegate = obj; - [delegate nativeAdDidRecordClick:mockGADNativeAd]; - [delegate nativeAdDidRecordImpression:mockGADNativeAd]; - [delegate nativeAdWillPresentScreen:mockGADNativeAd]; - [delegate nativeAdDidDismissScreen:mockGADNativeAd]; - [delegate nativeAdWillDismissScreen:mockGADNativeAd]; - return YES; - }]]); - - // Mock callback of paid event handler. - GADAdValue *adValue = OCMClassMock([GADAdValue class]); - OCMStub([adValue value]).andReturn(NSDecimalNumber.one); - OCMStub([adValue precision]).andReturn(GADAdValuePrecisionEstimated); - OCMStub([adValue currencyCode]).andReturn(@"currencyCode"); - OCMStub([mockGADNativeAd - setPaidEventHandler:[OCMArg checkWithBlock:^BOOL(id obj) { - GADPaidEventHandler handler = obj; - handler(adValue); - return YES; - }]]); - - // Check ad loader delegate methods forward to ad instance manager. - [(id)ad.adLoader.delegate - adLoader:mockLoader - didReceiveNativeAd:mockGADNativeAd]; - - OCMVerify([mockManager onAdLoaded:[OCMArg isEqual:ad] - responseInfo:[OCMArg isEqual:mockResponseInfo]]); - - NSError *error = OCMClassMock([NSError class]); - [(id)ad.adLoader.delegate adLoader:mockLoader - didFailToReceiveAdWithError:error]; - OCMVerify([mockManager onAdFailedToLoad:[OCMArg isEqual:ad] - error:[OCMArg isEqual:error]]); - - OCMVerify([mockGADNativeAd setPaidEventHandler:[OCMArg any]]); - - // Check GADNativeAdDelegate methods forward to ad instance manager. - OCMVerify([mockGADNativeAd setDelegate:[OCMArg isEqual:ad]]); - OCMVerify([mockManager adDidRecordClick:[OCMArg isEqual:ad]]); - OCMVerify([mockManager onNativeAdImpression:[OCMArg isEqual:ad]]); - OCMVerify([mockManager onNativeAdWillPresentScreen:[OCMArg isEqual:ad]]); - OCMVerify([mockManager onNativeAdDidDismissScreen:[OCMArg isEqual:ad]]); - OCMVerify([mockManager onNativeAdWillDismissScreen:[OCMArg isEqual:ad]]); - OCMVerify([mockManager - onPaidEvent:[OCMArg isEqual:ad] - value:[OCMArg checkWithBlock:^BOOL(id obj) { - FLTAdValue *adValue = obj; - XCTAssertEqualObjects( - adValue.valueMicros, - [[NSDecimalNumber alloc] initWithInt:1000000]); - XCTAssertEqual(adValue.precision, GADAdValuePrecisionEstimated); - XCTAssertEqualObjects(adValue.currencyCode, @"currencyCode"); - return TRUE; - }]]); -} - -// Check that native templates are used when template style is provided. -- (void)testLoadNativeAdNativeTemplateStyle { - FLTGAMAdRequest *request = [[FLTGAMAdRequest alloc] init]; - id mockNativeAdFactory = OCMProtocolMock(@protocol(FLTNativeAdFactory)); - FLTNativeAdOptions *mockNativeAdOptions = - OCMClassMock([FLTNativeAdOptions class]); - GADAdLoaderOptions *mockGADAdLoaderOptions = - OCMClassMock([GADAdLoaderOptions class]); - OCMStub([mockNativeAdOptions asGADAdLoaderOptions]) - .andReturn([NSArray arrayWithObject:mockGADAdLoaderOptions]); - UIViewController *mockViewController = OCMClassMock([UIViewController class]); - FLTNativeTemplateStyle *templateStyle = - OCMClassMock([FLTNativeTemplateStyle class]); - UIView *mockTemplateView = OCMClassMock([UIView class]); - OCMStub([templateStyle getDisplayedView:[OCMArg any]]) - .andReturn(mockTemplateView); - - FLTNativeAd *ad = [[FLTNativeAd alloc] initWithAdUnitId:@"testAdUnitId" - request:request - nativeAdFactory:mockNativeAdFactory - customOptions:nil - rootViewController:mockViewController - adId:@1 - nativeAdOptions:mockNativeAdOptions - nativeTemplateStyle:templateStyle]; - ad.manager = mockManager; - - FLTNativeAd *mockNativeAd = OCMPartialMock(ad); - GADAdLoader *mockLoader = OCMPartialMock([ad adLoader]); - OCMStub([mockNativeAd adLoader]).andReturn(mockLoader); - [mockNativeAd load]; - - GADResponseInfo *mockResponseInfo = OCMClassMock([GADResponseInfo class]); - GADNativeAd *mockGADNativeAd = OCMClassMock([GADNativeAd class]); - OCMStub([mockGADNativeAd responseInfo]).andReturn(mockResponseInfo); - [ad adLoader:mockLoader didReceiveNativeAd:mockGADNativeAd]; - - OCMVerify([templateStyle getDisplayedView:[OCMArg isEqual:mockGADNativeAd]]); - XCTAssertEqual(ad.view, mockTemplateView); -} - -@end diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/example/ios/RunnerTests/FLTRewardedAdTest.m b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/example/ios/RunnerTests/FLTRewardedAdTest.m deleted file mode 100644 index 71d6f66d..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/example/ios/RunnerTests/FLTRewardedAdTest.m +++ /dev/null @@ -1,239 +0,0 @@ -// Copyright 2021 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#import -#import - -#import "FLTAdInstanceManager_Internal.h" -#import "FLTAd_Internal.h" - -@interface FLTRewardedAdTest : XCTestCase -@end - -@implementation FLTRewardedAdTest { - FLTAdInstanceManager *mockManager; -} - -- (void)setUp { - mockManager = (OCMClassMock([FLTAdInstanceManager class])); -} - -- (void)testLoadShowRewardedAdGADRequest { - FLTAdRequest *request = OCMClassMock([FLTAdRequest class]); - OCMStub([request keywords]).andReturn(@[ @"apple" ]); - GADRequest *gadRequest = OCMClassMock([GADRequest class]); - OCMStub([request asGADRequest:[OCMArg any]]).andReturn(gadRequest); - - [self testLoadShowRewardedAd:request gadOrGAMRequest:gadRequest]; -} - -- (void)testLoadShowRewardedAdGAMRequest { - FLTGAMAdRequest *request = OCMClassMock([FLTGAMAdRequest class]); - OCMStub([request keywords]).andReturn(@[ @"apple" ]); - GAMRequest *gamRequest = OCMClassMock([GAMRequest class]); - OCMStub([request asGAMRequest:[OCMArg any]]).andReturn(gamRequest); - - [self testLoadShowRewardedAd:request gadOrGAMRequest:gamRequest]; -} - -// Helper method for testing with FLTAdRequest and FLTGAMAdRequest. -- (void)testLoadShowRewardedAd:(FLTAdRequest *)request - gadOrGAMRequest:(GADRequest *)gadOrGAMRequest { - FLTRewardedAd *ad = [[FLTRewardedAd alloc] initWithAdUnitId:@"testId" - request:request - adId:@1]; - ad.manager = mockManager; - - // Stub the load call to invoke successful load callback. - id rewardedClassMock = OCMClassMock([GADRewardedAd class]); - OCMStub(ClassMethod([rewardedClassMock loadWithAdUnitID:[OCMArg any] - request:[OCMArg any] - completionHandler:[OCMArg any]])) - .andDo(^(NSInvocation *invocation) { - void (^completionHandler)(GADRewardedAd *ad, NSError *error); - [invocation getArgument:&completionHandler atIndex:4]; - completionHandler(rewardedClassMock, nil); - }); - // Stub setting of FullScreenContentDelegate to invoke delegate callbacks. - NSError *error = OCMClassMock([NSError class]); - __block id fullScreenContentDelegate; - OCMStub([rewardedClassMock setFullScreenContentDelegate:[OCMArg any]]) - .andDo(^(NSInvocation *invocation) { - [invocation getArgument:&fullScreenContentDelegate atIndex:2]; - XCTAssertEqual(fullScreenContentDelegate, ad); - }); - GADResponseInfo *responseInfo = OCMClassMock([GADResponseInfo class]); - OCMStub([rewardedClassMock responseInfo]).andReturn(responseInfo); - // Stub presentFromRootViewController to invoke reward callback. - GADAdReward *mockReward = OCMClassMock([GADAdReward class]); - OCMStub([mockReward amount]).andReturn(@1.0); - OCMStub([mockReward type]).andReturn(@"type"); - OCMStub([rewardedClassMock adReward]).andReturn(mockReward); - OCMStub([rewardedClassMock presentFromRootViewController:[OCMArg any] - userDidEarnRewardHandler:[OCMArg any]]) - .andDo(^(NSInvocation *invocation) { - GADUserDidEarnRewardHandler rewardHandler; - [invocation getArgument:&rewardHandler atIndex:3]; - rewardHandler(); - }); - - // Mock callback of paid event handler. - GADAdValue *adValue = OCMClassMock([GADAdValue class]); - OCMStub([adValue value]).andReturn(NSDecimalNumber.one); - OCMStub([adValue precision]).andReturn(GADAdValuePrecisionEstimated); - OCMStub([adValue currencyCode]).andReturn(@"currencyCode"); - OCMStub([rewardedClassMock - setPaidEventHandler:[OCMArg checkWithBlock:^BOOL(id obj) { - GADPaidEventHandler handler = obj; - handler(adValue); - return YES; - }]]); - - // Setup mock for UIApplication.sharedInstance - id uiApplicationClassMock = OCMClassMock([UIApplication class]); - OCMStub(ClassMethod([uiApplicationClassMock sharedApplication])) - .andReturn(uiApplicationClassMock); - - // Call load and check expected interactions with mocks. - [ad load]; - - OCMVerify(ClassMethod([rewardedClassMock - loadWithAdUnitID:[OCMArg isEqual:@"testId"] - request:[OCMArg isEqual:gadOrGAMRequest] - completionHandler:[OCMArg any]])); - OCMVerify([mockManager onAdLoaded:[OCMArg isEqual:ad] - responseInfo:[OCMArg isEqual:responseInfo]]); - OCMVerify( - [rewardedClassMock setFullScreenContentDelegate:[OCMArg isEqual:ad]]); - XCTAssertEqual(ad.rewardedAd, rewardedClassMock); - OCMVerify([mockManager - onPaidEvent:[OCMArg isEqual:ad] - value:[OCMArg checkWithBlock:^BOOL(id obj) { - FLTAdValue *adValue = obj; - XCTAssertEqualObjects( - adValue.valueMicros, - [[NSDecimalNumber alloc] initWithInt:1000000]); - XCTAssertEqual(adValue.precision, GADAdValuePrecisionEstimated); - XCTAssertEqualObjects(adValue.currencyCode, @"currencyCode"); - return TRUE; - }]]); - - // Set SSV and verify interactions with mocks - FLTServerSideVerificationOptions *serverSideVerificationOptions = - OCMClassMock([FLTServerSideVerificationOptions class]); - GADServerSideVerificationOptions *gadOptions = - OCMClassMock([GADServerSideVerificationOptions class]); - OCMStub([serverSideVerificationOptions asGADServerSideVerificationOptions]) - .andReturn(gadOptions); - - [ad setServerSideVerificationOptions:serverSideVerificationOptions]; - - OCMVerify([rewardedClassMock - setServerSideVerificationOptions:[OCMArg isEqual:gadOptions]]); - - // Show the ad and verify callbacks invoked - [ad show]; - - OCMVerify([rewardedClassMock presentFromRootViewController:[OCMArg isNil] - userDidEarnRewardHandler:[OCMArg any]]); - - [fullScreenContentDelegate adWillPresentFullScreenContent:rewardedClassMock]; - OCMVerify([mockManager adWillPresentFullScreenContent:[OCMArg isEqual:ad]]); - // Verify that we hide status bar -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wdeprecated-declarations" - OCMVerify([uiApplicationClassMock setStatusBarHidden:YES]); -#pragma clang diagnostic pop - - [fullScreenContentDelegate adDidRecordImpression:rewardedClassMock]; - OCMVerify([mockManager adDidRecordImpression:[OCMArg isEqual:ad]]); - - [fullScreenContentDelegate adDidRecordClick:rewardedClassMock]; - OCMVerify([mockManager adDidRecordClick:[OCMArg isEqual:ad]]); - - [fullScreenContentDelegate adDidDismissFullScreenContent:rewardedClassMock]; - OCMVerify([mockManager adDidDismissFullScreenContent:[OCMArg isEqual:ad]]); - - [fullScreenContentDelegate adWillDismissFullScreenContent:rewardedClassMock]; - OCMVerify([mockManager adWillDismissFullScreenContent:[OCMArg isEqual:ad]]); -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wdeprecated-declarations" - OCMVerify([uiApplicationClassMock setStatusBarHidden:NO]); -#pragma clang diagnostic pop - - [ad ad:rewardedClassMock didFailToPresentFullScreenContentWithError:error]; - OCMVerify([mockManager - didFailToPresentFullScreenContentWithError:[OCMArg isEqual:ad] - error:[OCMArg isEqual:error]]); - - // Verify reward callback. - OCMVerify([mockManager - onRewardedAdUserEarnedReward:[OCMArg isEqual:ad] - reward:[OCMArg checkWithBlock:^BOOL(id obj) { - FLTRewardItem *reward = (FLTRewardItem *)obj; - XCTAssertEqual(reward.amount, @1.0); - XCTAssertEqual(reward.type, @"type"); - return true; - }]]); - - // Explicitly stop mocking. There is an issue when running tests on Github - // actions where the mock does not get deallocated properly, so without this - // other test cases will fail. - [rewardedClassMock stopMocking]; -} - -- (void)testFailedToLoadGADRequest { - FLTAdRequest *request = OCMClassMock([FLTAdRequest class]); - OCMStub([request keywords]).andReturn(@[ @"apple" ]); - GADRequest *gadRequest = OCMClassMock([GADRequest class]); - OCMStub([request asGADRequest:[OCMArg any]]).andReturn(gadRequest); - [self testFailedToLoad:request]; -} - -- (void)testFailedToLoadGAMRequest { - FLTGAMAdRequest *request = OCMClassMock([FLTGAMAdRequest class]); - OCMStub([request keywords]).andReturn(@[ @"apple" ]); - GAMRequest *gamRequest = OCMClassMock([GAMRequest class]); - OCMStub([request asGAMRequest:[OCMArg any]]).andReturn(gamRequest); - [self testFailedToLoad:request]; -} - -// Helper for testing failed to load. -- (void)testFailedToLoad:(FLTAdRequest *)request { - FLTRewardedAd *ad = [[FLTRewardedAd alloc] initWithAdUnitId:@"testId" - request:request - adId:@1]; - ad.manager = mockManager; - - id rewardedClassMock = OCMClassMock([GADRewardedAd class]); - NSError *error = OCMClassMock([NSError class]); - OCMStub(ClassMethod([rewardedClassMock loadWithAdUnitID:[OCMArg any] - request:[OCMArg any] - completionHandler:[OCMArg any]])) - .andDo(^(NSInvocation *invocation) { - void (^completionHandler)(GADRewardedAd *ad, NSError *error); - [invocation getArgument:&completionHandler atIndex:4]; - completionHandler(nil, error); - }); - - [ad load]; - - OCMVerify(ClassMethod([rewardedClassMock loadWithAdUnitID:[OCMArg any] - request:[OCMArg any] - completionHandler:[OCMArg any]])); - OCMVerify([mockManager onAdFailedToLoad:[OCMArg isEqual:ad] - error:[OCMArg isEqual:error]]); -} - -@end diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/example/ios/RunnerTests/FLTRewardedInterstitialAdTest.m b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/example/ios/RunnerTests/FLTRewardedInterstitialAdTest.m deleted file mode 100644 index 0c547563..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/example/ios/RunnerTests/FLTRewardedInterstitialAdTest.m +++ /dev/null @@ -1,232 +0,0 @@ -// Copyright 2021 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#import -#import - -#import "FLTAdInstanceManager_Internal.h" -#import "FLTAd_Internal.h" - -@interface FLTRewardedInterstitialAdTest : XCTestCase -@end - -@implementation FLTRewardedInterstitialAdTest { - FLTAdInstanceManager *mockManager; -} - -- (void)setUp { - mockManager = (OCMClassMock([FLTAdInstanceManager class])); -} - -- (void)testLoadShowRewardedInterstitialAdGADRequest { - FLTAdRequest *request = OCMClassMock([FLTAdRequest class]); - OCMStub([request keywords]).andReturn(@[ @"apple" ]); - GADRequest *gadRequest = OCMClassMock([GADRequest class]); - OCMStub([request asGADRequest:[OCMArg any]]).andReturn(gadRequest); - - [self testLoadShowRewardedInterstitialAd:request gadOrGAMRequest:gadRequest]; -} - -- (void)testLoadShowRewardedInterstitialAdGAMRequest { - FLTGAMAdRequest *request = OCMClassMock([FLTGAMAdRequest class]); - OCMStub([request keywords]).andReturn(@[ @"apple" ]); - GAMRequest *gamRequest = OCMClassMock([GAMRequest class]); - OCMStub([request asGAMRequest:[OCMArg any]]).andReturn(gamRequest); - - [self testLoadShowRewardedInterstitialAd:request gadOrGAMRequest:gamRequest]; -} - -// Helper method for testing with FLTAdRequest and FLTGAMAdRequest. -- (void)testLoadShowRewardedInterstitialAd:(FLTAdRequest *)request - gadOrGAMRequest:(GADRequest *)gadOrGAMRequest { - FLTRewardedInterstitialAd *ad = - [[FLTRewardedInterstitialAd alloc] initWithAdUnitId:@"testId" - request:request - adId:@1]; - ad.manager = mockManager; - - // Stub the load call to invoke successful load callback. - id rewardedInterstitialClassMock = - OCMClassMock([GADRewardedInterstitialAd class]); - OCMStub(ClassMethod([rewardedInterstitialClassMock - loadWithAdUnitID:[OCMArg any] - request:[OCMArg any] - completionHandler:[OCMArg any]])) - .andDo(^(NSInvocation *invocation) { - void (^completionHandler)(GADRewardedInterstitialAd *ad, - NSError *error); - [invocation getArgument:&completionHandler atIndex:4]; - completionHandler(rewardedInterstitialClassMock, nil); - }); - // Stub setting of FullScreenContentDelegate to invoke delegate callbacks. - NSError *error = OCMClassMock([NSError class]); - OCMStub( - [rewardedInterstitialClassMock setFullScreenContentDelegate:[OCMArg any]]) - .andDo(^(NSInvocation *invocation) { - id delegate; - [invocation getArgument:&delegate atIndex:2]; - XCTAssertEqual(delegate, ad); - [delegate adDidRecordImpression:rewardedInterstitialClassMock]; - [delegate adDidRecordClick:rewardedInterstitialClassMock]; - [delegate adDidDismissFullScreenContent:rewardedInterstitialClassMock]; - [delegate adWillPresentFullScreenContent:rewardedInterstitialClassMock]; - [delegate adWillDismissFullScreenContent:rewardedInterstitialClassMock]; - [delegate ad:rewardedInterstitialClassMock - didFailToPresentFullScreenContentWithError:error]; - }); - GADResponseInfo *responseInfo = OCMClassMock([GADResponseInfo class]); - OCMStub([rewardedInterstitialClassMock responseInfo]).andReturn(responseInfo); - // Stub presentFromRootViewController to invoke reward callback. - GADAdReward *mockReward = OCMClassMock([GADAdReward class]); - OCMStub([mockReward amount]).andReturn(@1.0); - OCMStub([mockReward type]).andReturn(@"type"); - OCMStub([rewardedInterstitialClassMock adReward]).andReturn(mockReward); - OCMStub([rewardedInterstitialClassMock - presentFromRootViewController:[OCMArg any] - userDidEarnRewardHandler:[OCMArg any]]) - .andDo(^(NSInvocation *invocation) { - GADUserDidEarnRewardHandler rewardHandler; - [invocation getArgument:&rewardHandler atIndex:3]; - rewardHandler(); - }); - - // Mock callback of paid event handler. - GADAdValue *adValue = OCMClassMock([GADAdValue class]); - OCMStub([adValue value]).andReturn(NSDecimalNumber.one); - OCMStub([adValue precision]).andReturn(GADAdValuePrecisionEstimated); - OCMStub([adValue currencyCode]).andReturn(@"currencyCode"); - OCMStub([rewardedInterstitialClassMock - setPaidEventHandler:[OCMArg checkWithBlock:^BOOL(id obj) { - GADPaidEventHandler handler = obj; - handler(adValue); - return YES; - }]]); - // Call load and check expected interactions with mocks. - [ad load]; - - OCMVerify(ClassMethod([rewardedInterstitialClassMock - loadWithAdUnitID:[OCMArg isEqual:@"testId"] - request:[OCMArg isEqual:gadOrGAMRequest] - completionHandler:[OCMArg any]])); - OCMVerify([mockManager onAdLoaded:[OCMArg isEqual:ad] - responseInfo:[OCMArg isEqual:responseInfo]]); - OCMVerify([rewardedInterstitialClassMock - setFullScreenContentDelegate:[OCMArg isEqual:ad]]); - OCMVerify([mockManager - onPaidEvent:[OCMArg isEqual:ad] - value:[OCMArg checkWithBlock:^BOOL(id obj) { - FLTAdValue *adValue = obj; - XCTAssertEqualObjects( - adValue.valueMicros, - [[NSDecimalNumber alloc] initWithInt:1000000]); - XCTAssertEqual(adValue.precision, GADAdValuePrecisionEstimated); - XCTAssertEqualObjects(adValue.currencyCode, @"currencyCode"); - return TRUE; - }]]); - - // Set SSV and verify interactions with mocks - FLTServerSideVerificationOptions *serverSideVerificationOptions = - OCMClassMock([FLTServerSideVerificationOptions class]); - GADServerSideVerificationOptions *gadOptions = - OCMClassMock([GADServerSideVerificationOptions class]); - OCMStub([serverSideVerificationOptions asGADServerSideVerificationOptions]) - .andReturn(gadOptions); - - [ad setServerSideVerificationOptions:serverSideVerificationOptions]; - - OCMVerify([rewardedInterstitialClassMock - setServerSideVerificationOptions:[OCMArg isEqual:gadOptions]]); - - // Show the ad and verify callbacks are invoked - [ad show]; - - OCMVerify([rewardedInterstitialClassMock - presentFromRootViewController:[OCMArg isNil] - userDidEarnRewardHandler:[OCMArg any]]); - - // Verify full screen callbacks. - OCMVerify([mockManager adWillPresentFullScreenContent:[OCMArg isEqual:ad]]); - OCMVerify([mockManager adDidDismissFullScreenContent:[OCMArg isEqual:ad]]); - OCMVerify([mockManager adWillDismissFullScreenContent:[OCMArg isEqual:ad]]); - OCMVerify([mockManager adDidRecordImpression:[OCMArg isEqual:ad]]); - OCMVerify([mockManager adDidRecordClick:[OCMArg isEqual:ad]]); - OCMVerify([mockManager - didFailToPresentFullScreenContentWithError:[OCMArg isEqual:ad] - error:[OCMArg isEqual:error]]); - - // Verify reward callback. - OCMVerify([mockManager - onRewardedInterstitialAdUserEarnedReward:[OCMArg isEqual:ad] - reward:[OCMArg checkWithBlock:^BOOL( - id obj) { - FLTRewardItem *reward = - (FLTRewardItem *)obj; - XCTAssertEqual(reward.amount, @1.0); - XCTAssertEqual(reward.type, @"type"); - return true; - }]]); - // Call stopMocking. There's a bug where mocks are not stopping automatically - // after the test finishes. - [rewardedInterstitialClassMock stopMocking]; -} - -- (void)testFailedToLoadGADRequest { - FLTAdRequest *request = OCMClassMock([FLTAdRequest class]); - OCMStub([request keywords]).andReturn(@[ @"apple" ]); - GADRequest *gadRequest = OCMClassMock([GADRequest class]); - OCMStub([request asGADRequest:[OCMArg any]]).andReturn(gadRequest); - [self testFailedToLoad:request]; -} - -- (void)testFailedToLoadGAMRequest { - FLTGAMAdRequest *request = OCMClassMock([FLTGAMAdRequest class]); - OCMStub([request keywords]).andReturn(@[ @"apple" ]); - GAMRequest *gamRequest = OCMClassMock([GAMRequest class]); - OCMStub([request asGAMRequest:[OCMArg any]]).andReturn(gamRequest); - [self testFailedToLoad:request]; -} - -// Helper for testing failed to load. -- (void)testFailedToLoad:(FLTAdRequest *)request { - FLTRewardedInterstitialAd *ad = - [[FLTRewardedInterstitialAd alloc] initWithAdUnitId:@"testId" - request:request - adId:@1]; - ad.manager = mockManager; - - id rewardedInterstitialClassMock = - OCMClassMock([GADRewardedInterstitialAd class]); - NSError *error = OCMClassMock([NSError class]); - OCMStub(ClassMethod([rewardedInterstitialClassMock - loadWithAdUnitID:[OCMArg any] - request:[OCMArg any] - completionHandler:[OCMArg any]])) - .andDo(^(NSInvocation *invocation) { - void (^completionHandler)(GADRewardedInterstitialAd *ad, - NSError *error); - [invocation getArgument:&completionHandler atIndex:4]; - completionHandler(nil, error); - }); - - [ad load]; - - OCMVerify(ClassMethod([rewardedInterstitialClassMock - loadWithAdUnitID:[OCMArg any] - request:[OCMArg any] - completionHandler:[OCMArg any]])); - OCMVerify([mockManager onAdFailedToLoad:[OCMArg isEqual:ad] - error:[OCMArg isEqual:error]]); -} - -@end diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/example/ios/RunnerTests/FLTUserMessagingPlatformManagerTest.m b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/example/ios/RunnerTests/FLTUserMessagingPlatformManagerTest.m deleted file mode 100644 index 946460ba..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/example/ios/RunnerTests/FLTUserMessagingPlatformManagerTest.m +++ /dev/null @@ -1,454 +0,0 @@ -// Copyright 2022 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#import -#include -#import - -#import "FLTUserMessagingPlatformManager.h" -#import "FLTUserMessagingPlatformReaderWriter.h" - -@interface FLTUserMessagingPlatformManagerTest : XCTestCase -@end - -@interface FLTUserMessagingPlatformManager () -@property UIViewController *rootController; -@end - -@implementation FLTUserMessagingPlatformManagerTest { - FLTUserMessagingPlatformManager *umpManager; - NSObject *binaryMessenger; - UMPConsentInformation *mockUmpConsentInformation; - FlutterResult flutterResult; - bool resultInvoked; - id _Nullable returnedResult; -} - -- (void)setUp { - binaryMessenger = OCMProtocolMock(@protocol(FlutterBinaryMessenger)); - umpManager = [[FLTUserMessagingPlatformManager alloc] - initWithBinaryMessenger:binaryMessenger]; - id umpInfoClassMock = OCMClassMock([UMPConsentInformation class]); - OCMStub(ClassMethod([umpInfoClassMock sharedInstance])) - .andReturn(umpInfoClassMock); - mockUmpConsentInformation = umpInfoClassMock; - - resultInvoked = false; - returnedResult = nil; - flutterResult = ^(id _Nullable result) { - self->resultInvoked = true; - self->returnedResult = result; - }; -} - -- (void)testReset { - FlutterMethodCall *methodCall = - [FlutterMethodCall methodCallWithMethodName:@"ConsentInformation#reset" - arguments:@{}]; - - [umpManager handleMethodCall:methodCall result:flutterResult]; - - XCTAssertTrue(resultInvoked); - XCTAssertEqual(returnedResult, nil); - OCMVerify([mockUmpConsentInformation reset]); -} - -- (void)testGetConsentStatus { - FlutterMethodCall *methodCall = [FlutterMethodCall - methodCallWithMethodName:@"ConsentInformation#getConsentStatus" - arguments:@{}]; - - OCMStub([mockUmpConsentInformation consentStatus]) - .andReturn(UMPConsentStatusRequired); - - [umpManager handleMethodCall:methodCall result:flutterResult]; - - XCTAssertTrue(resultInvoked); - NSNumber *expected = - [[NSNumber alloc] initWithInteger:UMPConsentStatusRequired]; - XCTAssertEqual(returnedResult, expected); - OCMVerify([mockUmpConsentInformation consentStatus]); -} - -- (void)testCanRequestAds_yes { - FlutterMethodCall *methodCall = [FlutterMethodCall - methodCallWithMethodName:@"ConsentInformation#canRequestAds" - arguments:@{}]; - OCMStub([mockUmpConsentInformation canRequestAds]).andReturn(YES); - - [umpManager handleMethodCall:methodCall result:flutterResult]; - - XCTAssertTrue(resultInvoked); - XCTAssertEqual(returnedResult, [[NSNumber alloc] initWithBool:YES]); -} - -- (void)testCanRequestAds_no { - FlutterMethodCall *methodCall = [FlutterMethodCall - methodCallWithMethodName:@"ConsentInformation#canRequestAds" - arguments:@{}]; - OCMStub([mockUmpConsentInformation canRequestAds]).andReturn(NO); - - [umpManager handleMethodCall:methodCall result:flutterResult]; - - XCTAssertTrue(resultInvoked); - XCTAssertEqual(returnedResult, [[NSNumber alloc] initWithBool:NO]); -} - -- (void)testGetPrivacyOptionsRequirementStatus_notRequiredReturns0 { - FlutterMethodCall *methodCall = [FlutterMethodCall - methodCallWithMethodName: - @"ConsentInformation#getPrivacyOptionsRequirementStatus" - arguments:@{}]; - OCMStub([mockUmpConsentInformation privacyOptionsRequirementStatus]) - .andReturn(UMPPrivacyOptionsRequirementStatusNotRequired); - - [umpManager handleMethodCall:methodCall result:flutterResult]; - - XCTAssertTrue(resultInvoked); - NSNumber *expected = [[NSNumber alloc] initWithInt:0]; - XCTAssertEqual(returnedResult, expected); -} - -- (void)testGetPrivacyOptionsRequirementStatus_requiredReturns1 { - FlutterMethodCall *methodCall = [FlutterMethodCall - methodCallWithMethodName: - @"ConsentInformation#getPrivacyOptionsRequirementStatus" - arguments:@{}]; - OCMStub([mockUmpConsentInformation privacyOptionsRequirementStatus]) - .andReturn(UMPPrivacyOptionsRequirementStatusRequired); - - [umpManager handleMethodCall:methodCall result:flutterResult]; - - XCTAssertTrue(resultInvoked); - NSNumber *expected = [[NSNumber alloc] initWithInt:1]; - XCTAssertEqual(returnedResult, expected); -} - -- (void)testGetPrivacyOptionsRequirementStatus_unknownReturns2 { - FlutterMethodCall *methodCall = [FlutterMethodCall - methodCallWithMethodName: - @"ConsentInformation#getPrivacyOptionsRequirementStatus" - arguments:@{}]; - OCMStub([mockUmpConsentInformation privacyOptionsRequirementStatus]) - .andReturn(UMPPrivacyOptionsRequirementStatusUnknown); - - [umpManager handleMethodCall:methodCall result:flutterResult]; - - XCTAssertTrue(resultInvoked); - NSNumber *expected = [[NSNumber alloc] initWithInt:2]; - XCTAssertEqual(returnedResult, expected); -} - -- (void)testRequestConsentInfoUpdate_success { - UMPRequestParameters *params = OCMClassMock([UMPRequestParameters class]); - - FlutterMethodCall *methodCall = [FlutterMethodCall - methodCallWithMethodName:@"ConsentInformation#requestConsentInfoUpdate" - arguments:@{@"params" : params}]; - - OCMStub([mockUmpConsentInformation - requestConsentInfoUpdateWithParameters:[OCMArg isEqual:params] - completionHandler:[OCMArg any]]) - .andDo(^(NSInvocation *invocation) { - void (^completionHandler)(NSError *error); - [invocation getArgument:&completionHandler atIndex:3]; - completionHandler(nil); - }); - - [umpManager handleMethodCall:methodCall result:flutterResult]; - - XCTAssertTrue(resultInvoked); - XCTAssertNil(returnedResult); - OCMVerify([mockUmpConsentInformation - requestConsentInfoUpdateWithParameters:[OCMArg any] - completionHandler:[OCMArg any]]); -} - -- (void)testRequestConsentInfoUpdate_error { - UMPRequestParameters *params = OCMClassMock([UMPRequestParameters class]); - FlutterMethodCall *methodCall = [FlutterMethodCall - methodCallWithMethodName:@"ConsentInformation#requestConsentInfoUpdate" - arguments:@{@"params" : params}]; - - NSDictionary *userInfo = @{NSLocalizedDescriptionKey : @"description"}; - NSError *error = [NSError errorWithDomain:@"domain" code:1 userInfo:userInfo]; - OCMStub([mockUmpConsentInformation - requestConsentInfoUpdateWithParameters:[OCMArg isEqual:params] - completionHandler:[OCMArg any]]) - .andDo(^(NSInvocation *invocation) { - void (^completionHandler)(NSError *error); - [invocation getArgument:&completionHandler atIndex:3]; - completionHandler(error); - }); - - [umpManager handleMethodCall:methodCall result:flutterResult]; - - XCTAssertTrue(resultInvoked); - - OCMVerify([mockUmpConsentInformation - requestConsentInfoUpdateWithParameters:[OCMArg any] - completionHandler:[OCMArg any]]); - FlutterError *resultError = (FlutterError *)returnedResult; - XCTAssertEqualObjects(resultError.code, @"1"); - XCTAssertEqualObjects(resultError.details, @"domain"); - XCTAssertEqualObjects(resultError.message, @"description"); -} - -- (void)testLoadAndShowConsentFormIfRequired_success { - UMPRequestParameters *params = OCMClassMock([UMPRequestParameters class]); - FlutterMethodCall *methodCall = [FlutterMethodCall - methodCallWithMethodName: - @"UserMessagingPlatform#loadAndShowConsentFormIfRequired" - arguments:@{@"params" : params}]; - id mockUmpConsentForm = OCMClassMock([UMPConsentForm class]); - OCMStub([mockUmpConsentForm - loadAndPresentIfRequiredFromViewController:[OCMArg any] - completionHandler:[OCMArg any]]) - .andDo(^(NSInvocation *invocation) { - __unsafe_unretained void (^completionHandler)(NSError *loadError); - [invocation getArgument:&completionHandler atIndex:3]; - completionHandler(nil); - }); - - [umpManager handleMethodCall:methodCall result:flutterResult]; - - XCTAssertTrue(resultInvoked); - XCTAssertNil(returnedResult); - OCMVerify([mockUmpConsentForm - loadAndPresentIfRequiredFromViewController:[OCMArg any] - completionHandler:[OCMArg any]]); -} - -- (void)testLoadAndShowConsentFormIfRequired_error { - NSDictionary *userInfo = @{NSLocalizedDescriptionKey : @"description"}; - NSError *error = [NSError errorWithDomain:@"domain" code:1 userInfo:userInfo]; - UMPRequestParameters *params = OCMClassMock([UMPRequestParameters class]); - FlutterMethodCall *methodCall = [FlutterMethodCall - methodCallWithMethodName: - @"UserMessagingPlatform#loadAndShowConsentFormIfRequired" - arguments:@{@"params" : params}]; - id mockUmpConsentForm = OCMClassMock([UMPConsentForm class]); - OCMStub([mockUmpConsentForm - loadAndPresentIfRequiredFromViewController:[OCMArg any] - completionHandler:[OCMArg any]]) - .andDo(^(NSInvocation *invocation) { - __unsafe_unretained void (^completionHandler)(NSError *loadError); - [invocation getArgument:&completionHandler atIndex:3]; - completionHandler(error); - }); - - [umpManager handleMethodCall:methodCall result:flutterResult]; - - XCTAssertTrue(resultInvoked); - FlutterError *resultError = (FlutterError *)returnedResult; - XCTAssertEqualObjects(resultError.code, @"1"); - XCTAssertEqualObjects(resultError.details, @"domain"); - XCTAssertEqualObjects(resultError.message, @"description"); - OCMVerify([mockUmpConsentForm - loadAndPresentIfRequiredFromViewController:[OCMArg any] - completionHandler:[OCMArg any]]); -} - -- (void)testLoadConsentForm_successAndDispose { - FlutterMethodCall *methodCall = [FlutterMethodCall - methodCallWithMethodName:@"UserMessagingPlatform#loadConsentForm" - arguments:@{}]; - - id mockUmpConsentForm = OCMClassMock([UMPConsentForm class]); - OCMStub([mockUmpConsentForm loadWithCompletionHandler:[OCMArg any]]) - .andDo(^(NSInvocation *invocation) { - void (^completionHandler)(UMPConsentForm *form, NSError *loadError); - [invocation getArgument:&completionHandler atIndex:2]; - completionHandler(mockUmpConsentForm, nil); - }); - - FLTUserMessagingPlatformManager *partialMock = OCMPartialMock(umpManager); - FLTUserMessagingPlatformReaderWriter *mockReaderWriter = - OCMClassMock([FLTUserMessagingPlatformReaderWriter class]); - OCMStub([partialMock readerWriter]).andReturn(mockReaderWriter); - - [partialMock handleMethodCall:methodCall result:flutterResult]; - - XCTAssertTrue(resultInvoked); - XCTAssertEqual(returnedResult, mockUmpConsentForm); - OCMVerify([mockUmpConsentForm loadWithCompletionHandler:[OCMArg any]]); - OCMVerify([mockReaderWriter trackConsentForm:mockUmpConsentForm]); -} - -- (void)testLoadConsentForm_error { - FlutterMethodCall *methodCall = [FlutterMethodCall - methodCallWithMethodName:@"UserMessagingPlatform#loadConsentForm" - arguments:@{}]; - - NSDictionary *userInfo = @{NSLocalizedDescriptionKey : @"description"}; - NSError *error = [NSError errorWithDomain:@"domain" code:1 userInfo:userInfo]; - id mockUmpConsentForm = OCMClassMock([UMPConsentForm class]); - OCMStub([mockUmpConsentForm loadWithCompletionHandler:[OCMArg any]]) - .andDo(^(NSInvocation *invocation) { - void (^completionHandler)(UMPConsentForm *form, NSError *loadError); - [invocation getArgument:&completionHandler atIndex:2]; - completionHandler(mockUmpConsentForm, error); - }); - - [umpManager handleMethodCall:methodCall result:flutterResult]; - - XCTAssertTrue(resultInvoked); - OCMVerify([mockUmpConsentForm loadWithCompletionHandler:[OCMArg any]]); - FlutterError *resultError = (FlutterError *)returnedResult; - XCTAssertEqualObjects(resultError.code, @"1"); - XCTAssertEqualObjects(resultError.details, @"domain"); - XCTAssertEqualObjects(resultError.message, @"description"); -} - -- (void)testShowPrivacyOptionsForm_success { - UMPRequestParameters *params = OCMClassMock([UMPRequestParameters class]); - FlutterMethodCall *methodCall = [FlutterMethodCall - methodCallWithMethodName:@"UserMessagingPlatform#showPrivacyOptionsForm" - arguments:@{@"params" : params}]; - id mockUmpConsentForm = OCMClassMock([UMPConsentForm class]); - OCMStub([mockUmpConsentForm - presentPrivacyOptionsFormFromViewController:[OCMArg any] - completionHandler:[OCMArg any]]) - .andDo(^(NSInvocation *invocation) { - __unsafe_unretained void (^completionHandler)(NSError *loadError); - [invocation getArgument:&completionHandler atIndex:3]; - completionHandler(nil); - }); - - [umpManager handleMethodCall:methodCall result:flutterResult]; - - XCTAssertTrue(resultInvoked); - XCTAssertNil(returnedResult); - OCMVerify([mockUmpConsentForm - presentPrivacyOptionsFormFromViewController:[OCMArg any] - completionHandler:[OCMArg any]]); -} - -- (void)testShowPrivacyOptionsForm_error { - NSDictionary *userInfo = @{NSLocalizedDescriptionKey : @"description"}; - NSError *error = [NSError errorWithDomain:@"domain" code:1 userInfo:userInfo]; - UMPRequestParameters *params = OCMClassMock([UMPRequestParameters class]); - FlutterMethodCall *methodCall = [FlutterMethodCall - methodCallWithMethodName:@"UserMessagingPlatform#showPrivacyOptionsForm" - arguments:@{@"params" : params}]; - id mockUmpConsentForm = OCMClassMock([UMPConsentForm class]); - OCMStub([mockUmpConsentForm - presentPrivacyOptionsFormFromViewController:[OCMArg any] - completionHandler:[OCMArg any]]) - .andDo(^(NSInvocation *invocation) { - __unsafe_unretained void (^completionHandler)(NSError *loadError); - [invocation getArgument:&completionHandler atIndex:3]; - completionHandler(error); - }); - - [umpManager handleMethodCall:methodCall result:flutterResult]; - - XCTAssertTrue(resultInvoked); - FlutterError *resultError = (FlutterError *)returnedResult; - XCTAssertEqualObjects(resultError.code, @"1"); - XCTAssertEqualObjects(resultError.details, @"domain"); - XCTAssertEqualObjects(resultError.message, @"description"); - OCMVerify([mockUmpConsentForm - presentPrivacyOptionsFormFromViewController:[OCMArg any] - completionHandler:[OCMArg any]]); -} - -- (void)testIsConsentFormAvailable_available { - FlutterMethodCall *methodCall = [FlutterMethodCall - methodCallWithMethodName:@"ConsentInformation#isConsentFormAvailable" - arguments:@{}]; - - OCMStub([mockUmpConsentInformation formStatus]) - .andReturn(UMPFormStatusAvailable); - - [umpManager handleMethodCall:methodCall result:flutterResult]; - - XCTAssertTrue(resultInvoked); - XCTAssertEqual(returnedResult, [[NSNumber alloc] initWithBool:YES]); -} - -- (void)testIsConsentFormAvailable_notAvailable { - FlutterMethodCall *methodCall = [FlutterMethodCall - methodCallWithMethodName:@"ConsentInformation#isConsentFormAvailable" - arguments:@{}]; - - OCMStub([mockUmpConsentInformation formStatus]) - .andReturn(UMPFormStatusUnavailable); - - [umpManager handleMethodCall:methodCall result:flutterResult]; - - XCTAssertTrue(resultInvoked); - XCTAssertEqual(returnedResult, [[NSNumber alloc] initWithBool:NO]); -} - -- (void)testShowConsentForm_success { - UIViewController *mockUIViewController = OCMClassMock(UIViewController.class); - FLTUserMessagingPlatformManager *partialMock = OCMPartialMock(umpManager); - OCMStub([partialMock rootController]).andReturn(mockUIViewController); - - UMPConsentForm *mockForm = OCMClassMock([UMPConsentForm class]); - FlutterMethodCall *methodCall = - [FlutterMethodCall methodCallWithMethodName:@"ConsentForm#show" - arguments:@{@"consentForm" : mockForm}]; - - OCMStub([mockForm presentFromViewController:[OCMArg any] - completionHandler:[OCMArg any]]) - .andDo(^(NSInvocation *invocation) { - void (^completionHandler)(NSError *error); - [invocation getArgument:&completionHandler atIndex:3]; - completionHandler(nil); - }); - ; - - [partialMock handleMethodCall:methodCall result:flutterResult]; - - XCTAssertTrue(resultInvoked); - XCTAssertNil(returnedResult); - OCMVerify([mockForm presentFromViewController:[OCMArg any] - completionHandler:[OCMArg any]]); -} - -- (void)testShowConsentForm_error { - UIViewController *mockUIViewController = OCMClassMock(UIViewController.class); - FLTUserMessagingPlatformManager *partialMock = OCMPartialMock(umpManager); - OCMStub([partialMock rootController]).andReturn(mockUIViewController); - - UMPConsentForm *mockForm = OCMClassMock([UMPConsentForm class]); - FlutterMethodCall *methodCall = - [FlutterMethodCall methodCallWithMethodName:@"ConsentForm#show" - arguments:@{@"consentForm" : mockForm}]; - - NSDictionary *userInfo = @{NSLocalizedDescriptionKey : @"description"}; - NSError *error = [NSError errorWithDomain:@"domain" code:1 userInfo:userInfo]; - OCMStub([mockForm presentFromViewController:[OCMArg any] - completionHandler:[OCMArg any]]) - .andDo(^(NSInvocation *invocation) { - void (^completionHandler)(NSError *error); - [invocation getArgument:&completionHandler atIndex:3]; - completionHandler(error); - }); - ; - - [partialMock handleMethodCall:methodCall result:flutterResult]; - - XCTAssertTrue(resultInvoked); - OCMVerify([mockForm presentFromViewController:[OCMArg any] - completionHandler:[OCMArg any]]); - FlutterError *resultError = (FlutterError *)returnedResult; - XCTAssertEqualObjects(resultError.code, @"1"); - XCTAssertEqualObjects(resultError.details, @"domain"); - XCTAssertEqualObjects(resultError.message, @"description"); -} - -@end diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/example/ios/RunnerTests/FLTUserMessagingPlatformReaderWriterTest.m b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/example/ios/RunnerTests/FLTUserMessagingPlatformReaderWriterTest.m deleted file mode 100644 index 351133c7..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/example/ios/RunnerTests/FLTUserMessagingPlatformReaderWriterTest.m +++ /dev/null @@ -1,115 +0,0 @@ -// Copyright 2022 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#import -#include -#import - -#import "FLTUserMessagingPlatformReaderWriter.h" - -@interface FLTUserMessagingPlatformReaderWriterTest : XCTestCase -@end - -@implementation FLTUserMessagingPlatformReaderWriterTest { - FlutterStandardMessageCodec *messageCodec; - FLTUserMessagingPlatformReaderWriter *readerWriter; -} - -- (void)setUp { - readerWriter = [[FLTUserMessagingPlatformReaderWriter alloc] init]; - messageCodec = - [FlutterStandardMessageCodec codecWithReaderWriter:readerWriter]; -} - -- (void)testRequestParams_default { - UMPRequestParameters *requestParameters = [[UMPRequestParameters alloc] init]; - NSData *encodedMessage = [messageCodec encode:requestParameters]; - - UMPRequestParameters *decoded = [messageCodec decode:encodedMessage]; - XCTAssertEqual(decoded.tagForUnderAgeOfConsent, - requestParameters.tagForUnderAgeOfConsent); - XCTAssertEqual(decoded.debugSettings, requestParameters.debugSettings); -} - -- (void)testRequestParams_withDebugSettingsTfuac { - UMPRequestParameters *requestParameters = [[UMPRequestParameters alloc] init]; - requestParameters.tagForUnderAgeOfConsent = YES; - requestParameters.debugSettings = [[UMPDebugSettings alloc] init]; - NSData *encodedMessage = [messageCodec encode:requestParameters]; - - UMPRequestParameters *decoded = [messageCodec decode:encodedMessage]; - XCTAssertEqual(decoded.tagForUnderAgeOfConsent, - requestParameters.tagForUnderAgeOfConsent); - XCTAssertEqual(decoded.debugSettings.geography, - requestParameters.debugSettings.geography); - XCTAssertEqual(decoded.debugSettings.testDeviceIdentifiers, - requestParameters.debugSettings.testDeviceIdentifiers); -} - -- (void)testConsentDebugSettings_default { - UMPDebugSettings *debugSettings = [[UMPDebugSettings alloc] init]; - NSData *encodedMessage = [messageCodec encode:debugSettings]; - - UMPDebugSettings *decoded = [messageCodec decode:encodedMessage]; - XCTAssertEqual(decoded.geography, debugSettings.geography); - XCTAssertEqual(decoded.testDeviceIdentifiers, - debugSettings.testDeviceIdentifiers); -} - -- (void)testConsentDebugSettings_geographyTestDeviceIdentifiers { - UMPDebugSettings *debugSettings = [[UMPDebugSettings alloc] init]; - debugSettings.geography = UMPDebugGeographyOther; - debugSettings.testDeviceIdentifiers = @[ @"id-1", @"id-2" ]; - NSData *encodedMessage = [messageCodec encode:debugSettings]; - - UMPDebugSettings *decoded = [messageCodec decode:encodedMessage]; - XCTAssertEqual(decoded.geography, debugSettings.geography); - XCTAssertEqualObjects(decoded.testDeviceIdentifiers, - debugSettings.testDeviceIdentifiers); -} - -- (void)testConsentFormTrackAndDispose { - UMPConsentForm *form1 = OCMClassMock([UMPConsentForm class]); - UMPConsentForm *form2 = OCMClassMock([UMPConsentForm class]); - UMPConsentForm *form3 = OCMClassMock([UMPConsentForm class]); - - [readerWriter trackConsentForm:form1]; - [readerWriter trackConsentForm:form2]; - [readerWriter trackConsentForm:form3]; - - NSData *encodedMessage1 = [messageCodec encode:form1]; - NSData *encodedMessage2 = [messageCodec encode:form2]; - NSData *encodedMessage3 = [messageCodec encode:form3]; - - UMPConsentForm *decoded1 = [messageCodec decode:encodedMessage1]; - UMPConsentForm *decoded2 = [messageCodec decode:encodedMessage2]; - UMPConsentForm *decoded3 = [messageCodec decode:encodedMessage3]; - - XCTAssertEqual(form1, decoded1); - XCTAssertEqual(form2, decoded2); - XCTAssertEqual(form3, decoded3); - - [readerWriter disposeConsentForm:form1]; - [readerWriter disposeConsentForm:form2]; - [readerWriter disposeConsentForm:form3]; - - decoded1 = [messageCodec decode:encodedMessage1]; - decoded2 = [messageCodec decode:encodedMessage2]; - decoded3 = [messageCodec decode:encodedMessage3]; - XCTAssertNil(decoded1); - XCTAssertNil(decoded2); - XCTAssertNil(decoded3); -} - -@end diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/example/ios/RunnerTests/NativeTemplates/FLTNativeTemplateColorTest.m b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/example/ios/RunnerTests/NativeTemplates/FLTNativeTemplateColorTest.m deleted file mode 100644 index 24ad94e7..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/example/ios/RunnerTests/NativeTemplates/FLTNativeTemplateColorTest.m +++ /dev/null @@ -1,41 +0,0 @@ -// Copyright 2023 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#import "FLTNativeTemplateColor.h" -#import -#import - -@interface FLTNativeTemplateColorTest : XCTestCase -@end - -@implementation FLTNativeTemplateColorTest - -- (void)testConvertToUiColor { - FLTNativeTemplateColor *color = [[FLTNativeTemplateColor alloc] - initWithAlpha:[[NSNumber alloc] initWithFloat:5.0f] - red:@10.0f - green:[[NSNumber alloc] initWithFloat:15.0f] - blue:[[NSNumber alloc] initWithFloat:20.0f]]; - CGFloat alpha; - CGFloat red; - CGFloat green; - CGFloat blue; - [color.uiColor getRed:&red green:&green blue:&blue alpha:&alpha]; - XCTAssertEqualWithAccuracy(alpha, 5.0f / 255.0f, FLT_EPSILON); - XCTAssertEqualWithAccuracy(red, 10.0f / 255.0f, FLT_EPSILON); - XCTAssertEqualWithAccuracy(green, 15.0f / 255.0f, FLT_EPSILON); - XCTAssertEqualWithAccuracy(blue, 20.0f / 255.0f, FLT_EPSILON); -} - -@end diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/example/ios/RunnerTests/NativeTemplates/FLTNativeTemplateFontStyleTest.m b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/example/ios/RunnerTests/NativeTemplates/FLTNativeTemplateFontStyleTest.m deleted file mode 100644 index 8657b4de..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/example/ios/RunnerTests/NativeTemplates/FLTNativeTemplateFontStyleTest.m +++ /dev/null @@ -1,38 +0,0 @@ -// Copyright 2023 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#import "FLTNativeTemplateFontStyle.h" -#import - -@interface FLTNativeTemplateFontStyleTest : XCTestCase -@end - -@implementation FLTNativeTemplateFontStyleTest - -- (void)testConvertFromInt { - FLTNativeTemplateFontStyleWrapper *wrapper = - [[FLTNativeTemplateFontStyleWrapper alloc] initWithInt:0]; - XCTAssertEqual(wrapper.fontStyle, FLTNativeTemplateFontNormal); - - wrapper = [[FLTNativeTemplateFontStyleWrapper alloc] initWithInt:1]; - XCTAssertEqual(wrapper.fontStyle, FLTNativeTemplateFontBold); - - wrapper = [[FLTNativeTemplateFontStyleWrapper alloc] initWithInt:2]; - XCTAssertEqual(wrapper.fontStyle, FLTNativeTemplateFontItalic); - - wrapper = [[FLTNativeTemplateFontStyleWrapper alloc] initWithInt:3]; - XCTAssertEqual(wrapper.fontStyle, FLTNativeTemplateFontMonospace); -} - -@end diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/example/ios/RunnerTests/NativeTemplates/FLTNativeTemplateStyleTest.m b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/example/ios/RunnerTests/NativeTemplates/FLTNativeTemplateStyleTest.m deleted file mode 100644 index 208a21f3..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/example/ios/RunnerTests/NativeTemplates/FLTNativeTemplateStyleTest.m +++ /dev/null @@ -1,222 +0,0 @@ -// Copyright 2023 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#import -#import - -#import "FLTNativeTemplateColor.h" -#import "FLTNativeTemplateStyle.h" -#import "FLTNativeTemplateTextStyle.h" -#import "FLTNativeTemplateType.h" - -@interface FLTNativeTemplateStyleTest : XCTestCase -@end - -@implementation FLTNativeTemplateStyleTest - -- (void)testInitNilParameters { - FLTNativeTemplateType *templateType = - [[FLTNativeTemplateType alloc] initWithInt:0]; - - FLTNativeTemplateStyle *style = - [[FLTNativeTemplateStyle alloc] initWithTemplateType:templateType - mainBackgroundColor:nil - callToActionStyle:nil - primaryTextStyle:nil - secondaryTextStyle:nil - tertiaryTextStyle:nil - cornerRadius:nil]; - XCTAssertEqual(style.templateType, templateType); - XCTAssertNil(style.mainBackgroundColor); - XCTAssertNil(style.callToActionStyle); - XCTAssertNil(style.primaryTextStyle); - XCTAssertNil(style.secondaryTextStyle); - XCTAssertNil(style.tertiaryTextStyle); - XCTAssertNil(style.cornerRadius); -} - -- (void)testInit { - FLTNativeTemplateType *templateType = - [[FLTNativeTemplateType alloc] initWithInt:0]; - FLTNativeTemplateColor *bgColor = - OCMClassMock([FLTNativeTemplateColor class]); - UIColor *bgUIColor = OCMClassMock([UIColor class]); - OCMStub([bgColor uiColor]).andReturn(bgUIColor); - FLTNativeTemplateTextStyle *ctaStyle = - OCMClassMock([FLTNativeTemplateTextStyle class]); - FLTNativeTemplateTextStyle *primaryStyle = - OCMClassMock([FLTNativeTemplateTextStyle class]); - FLTNativeTemplateTextStyle *secondaryStyle = - OCMClassMock([FLTNativeTemplateTextStyle class]); - FLTNativeTemplateTextStyle *tertiaryStyle = - OCMClassMock([FLTNativeTemplateTextStyle class]); - - FLTNativeTemplateStyle *style = - [[FLTNativeTemplateStyle alloc] initWithTemplateType:templateType - mainBackgroundColor:bgColor - callToActionStyle:ctaStyle - primaryTextStyle:primaryStyle - secondaryTextStyle:secondaryStyle - tertiaryTextStyle:tertiaryStyle - cornerRadius:@14.0f]; - - XCTAssertEqual(style.templateType, templateType); - XCTAssertEqual(style.mainBackgroundColor, bgColor); - XCTAssertEqual(style.callToActionStyle, ctaStyle); - XCTAssertEqual(style.primaryTextStyle, primaryStyle); - XCTAssertEqual(style.secondaryTextStyle, secondaryStyle); - XCTAssertEqual(style.tertiaryTextStyle, tertiaryStyle); - XCTAssertEqual(style.cornerRadius, @14.0f); -} - -- (void)testGetDisplayedView { - FLTNativeTemplateType *templateType = - OCMClassMock([FLTNativeTemplateType class]); - GADTTemplateView *templateView = OCMClassMock([GADTTemplateView class]); - OCMStub([templateType templateView]).andReturn(templateView); - - FLTNativeTemplateColor *bgColor = - OCMClassMock([FLTNativeTemplateColor class]); - UIColor *bgUIColor = OCMClassMock([UIColor class]); - OCMStub([bgColor uiColor]).andReturn(bgUIColor); - - // Setup mocks for cta - FLTNativeTemplateTextStyle *ctaStyle = - OCMClassMock([FLTNativeTemplateTextStyle class]); - UIColor *ctaBackgroundUIColor = OCMClassMock([UIColor class]); - FLTNativeTemplateColor *ctaBackgroundColor = - OCMClassMock([FLTNativeTemplateColor class]); - OCMStub([ctaBackgroundColor uiColor]).andReturn(ctaBackgroundUIColor); - OCMStub([ctaStyle backgroundColor]).andReturn(ctaBackgroundColor); - - UIColor *ctaTextUIColor = OCMClassMock([UIColor class]); - FLTNativeTemplateColor *ctaTextcolor = - OCMClassMock([FLTNativeTemplateColor class]); - OCMStub([ctaTextcolor uiColor]).andReturn(ctaTextUIColor); - OCMStub([ctaStyle textColor]).andReturn(ctaTextcolor); - - UIFont *ctaFont = OCMClassMock([UIFont class]); - OCMStub([ctaStyle uiFont]).andReturn(ctaFont); - - // Setup mocks for primary - FLTNativeTemplateTextStyle *primaryStyle = - OCMClassMock([FLTNativeTemplateTextStyle class]); - UIColor *primaryBackgroundUIColor = OCMClassMock([UIColor class]); - FLTNativeTemplateColor *primaryBackgroundColor = - OCMClassMock([FLTNativeTemplateColor class]); - OCMStub([primaryBackgroundColor uiColor]).andReturn(primaryBackgroundUIColor); - OCMStub([primaryStyle backgroundColor]).andReturn(primaryBackgroundColor); - - UIColor *primaryTextUIColor = OCMClassMock([UIColor class]); - FLTNativeTemplateColor *primaryTextcolor = - OCMClassMock([FLTNativeTemplateColor class]); - OCMStub([primaryTextcolor uiColor]).andReturn(primaryTextUIColor); - OCMStub([primaryStyle textColor]).andReturn(primaryTextcolor); - - UIFont *primaryFont = OCMClassMock([UIFont class]); - OCMStub([primaryStyle uiFont]).andReturn(primaryFont); - - // Setup mocks for secondary - FLTNativeTemplateTextStyle *secondaryStyle = - OCMClassMock([FLTNativeTemplateTextStyle class]); - UIColor *secondaryBackgroundUIColor = OCMClassMock([UIColor class]); - FLTNativeTemplateColor *secondaryBackgroundColor = - OCMClassMock([FLTNativeTemplateColor class]); - OCMStub([secondaryBackgroundColor uiColor]) - .andReturn(secondaryBackgroundUIColor); - OCMStub([secondaryStyle backgroundColor]).andReturn(secondaryBackgroundColor); - - UIColor *secondaryTextUIColor = OCMClassMock([UIColor class]); - FLTNativeTemplateColor *secondaryTextcolor = - OCMClassMock([FLTNativeTemplateColor class]); - OCMStub([secondaryTextcolor uiColor]).andReturn(secondaryTextUIColor); - OCMStub([secondaryStyle textColor]).andReturn(secondaryTextcolor); - - UIFont *secondaryFont = OCMClassMock([UIFont class]); - OCMStub([secondaryStyle uiFont]).andReturn(secondaryFont); - - // Setup mocks for tertiary - FLTNativeTemplateTextStyle *tertiaryStyle = - OCMClassMock([FLTNativeTemplateTextStyle class]); - UIColor *tertiaryBackgroundUIColor = OCMClassMock([UIColor class]); - FLTNativeTemplateColor *tertiaryBackgroundColor = - OCMClassMock([FLTNativeTemplateColor class]); - OCMStub([tertiaryBackgroundColor uiColor]) - .andReturn(tertiaryBackgroundUIColor); - OCMStub([tertiaryStyle backgroundColor]).andReturn(tertiaryBackgroundColor); - - UIColor *tertiaryTextUIColor = OCMClassMock([UIColor class]); - FLTNativeTemplateColor *tertiaryTextcolor = - OCMClassMock([FLTNativeTemplateColor class]); - OCMStub([tertiaryTextcolor uiColor]).andReturn(tertiaryTextUIColor); - OCMStub([tertiaryStyle textColor]).andReturn(tertiaryTextcolor); - - UIFont *tertiaryFont = OCMClassMock([UIFont class]); - OCMStub([tertiaryStyle uiFont]).andReturn(tertiaryFont); - - FLTNativeTemplateStyle *style = - [[FLTNativeTemplateStyle alloc] initWithTemplateType:templateType - mainBackgroundColor:bgColor - callToActionStyle:ctaStyle - primaryTextStyle:primaryStyle - secondaryTextStyle:secondaryStyle - tertiaryTextStyle:tertiaryStyle - cornerRadius:@14.0f]; - - GADNativeAd *gadNativeAd = OCMClassMock([GADNativeAd class]); - - FLTNativeTemplateViewWrapper *templateViewWrapper = - [style getDisplayedView:gadNativeAd]; - XCTAssertEqual(templateViewWrapper.templateView, templateView); - OCMVerify([templateView setNativeAd:[OCMArg isEqual:gadNativeAd]]); - OCMVerify([templateView - setStyles:[OCMArg checkWithBlock:^BOOL(id obj) { - NSDictionary *styles = obj; - XCTAssertEqual(styles[GADTNativeTemplateStyleKeyCornerRadius], @14.0f); - - XCTAssertEqual( - styles[GADTNativeTemplateStyleKeyCallToActionBackgroundColor], - ctaBackgroundUIColor); - XCTAssertEqual(styles[GADTNativeTemplateStyleKeyCallToActionFontColor], - ctaTextUIColor); - XCTAssertEqual(styles[GADTNativeTemplateStyleKeyCallToActionFont], - ctaFont); - - XCTAssertEqual(styles[GADTNativeTemplateStyleKeyPrimaryBackgroundColor], - primaryBackgroundUIColor); - XCTAssertEqual(styles[GADTNativeTemplateStyleKeyPrimaryFontColor], - primaryTextUIColor); - XCTAssertEqual(styles[GADTNativeTemplateStyleKeyPrimaryFont], - primaryFont); - - XCTAssertEqual( - styles[GADTNativeTemplateStyleKeySecondaryBackgroundColor], - secondaryBackgroundUIColor); - XCTAssertEqual(styles[GADTNativeTemplateStyleKeySecondaryFontColor], - secondaryTextUIColor); - XCTAssertEqual(styles[GADTNativeTemplateStyleKeySecondaryFont], - secondaryFont); - - XCTAssertEqual( - styles[GADTNativeTemplateStyleKeyTertiaryBackgroundColor], - tertiaryBackgroundUIColor); - XCTAssertEqual(styles[GADTNativeTemplateStyleKeyTertiaryFontColor], - tertiaryTextUIColor); - XCTAssertEqual(styles[GADTNativeTemplateStyleKeyTertiaryFont], - tertiaryFont); - return YES; - }]]); -} - -@end diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/example/ios/RunnerTests/NativeTemplates/FLTNativeTemplateTextStyleTest.m b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/example/ios/RunnerTests/NativeTemplates/FLTNativeTemplateTextStyleTest.m deleted file mode 100644 index 1aff4db1..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/example/ios/RunnerTests/NativeTemplates/FLTNativeTemplateTextStyleTest.m +++ /dev/null @@ -1,148 +0,0 @@ -// Copyright 2023 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#import -#import - -#import "FLTNativeTemplateTextStyle.h" - -@interface FLTNativeTemplateTextStyleTest : XCTestCase -@end - -@implementation FLTNativeTemplateTextStyleTest - -- (void)testInitWithNilParameters { - FLTNativeTemplateTextStyle *textStyle = - [[FLTNativeTemplateTextStyle alloc] initWithTextColor:nil - backgroundColor:nil - fontStyle:nil - size:nil]; - XCTAssertNil(textStyle.uiFont); - XCTAssertNil(textStyle.backgroundColor); - XCTAssertNil(textStyle.textColor); - XCTAssertNil(textStyle.fontStyle); - XCTAssertNil(textStyle.size); -} - -- (void)testInitWithDefinedParams { - FLTNativeTemplateColor *textColor = - OCMClassMock([FLTNativeTemplateColor class]); - FLTNativeTemplateColor *backgroundColor = - OCMClassMock([FLTNativeTemplateColor class]); - FLTNativeTemplateFontStyleWrapper *fontStyleWrapper = - OCMClassMock([FLTNativeTemplateFontStyleWrapper class]); - OCMStub([fontStyleWrapper fontStyle]).andReturn(FLTNativeTemplateFontBold); - NSNumber *size = [[NSNumber alloc] initWithFloat:14.0f]; - - FLTNativeTemplateTextStyle *textStyle = - [[FLTNativeTemplateTextStyle alloc] initWithTextColor:textColor - backgroundColor:backgroundColor - fontStyle:fontStyleWrapper - size:size]; - - XCTAssertEqual(textStyle.backgroundColor, backgroundColor); - XCTAssertEqual(textStyle.textColor, textColor); - XCTAssertEqual(textStyle.fontStyle, fontStyleWrapper); - XCTAssertEqual(textStyle.size, size); - - UIFont *font = textStyle.uiFont; - UIFont *expectedFont = [UIFont boldSystemFontOfSize:14.0f]; - XCTAssertEqual(font.pointSize, expectedFont.pointSize); - XCTAssertEqual(font.fontName, expectedFont.fontName); - XCTAssertEqual(font.familyName, expectedFont.familyName); -} - -- (void)testUiFontWithMissingSize { - FLTNativeTemplateColor *textColor = - OCMClassMock([FLTNativeTemplateColor class]); - FLTNativeTemplateColor *backgroundColor = - OCMClassMock([FLTNativeTemplateColor class]); - FLTNativeTemplateFontStyleWrapper *fontStyleWrapper = - OCMClassMock([FLTNativeTemplateFontStyleWrapper class]); - OCMStub([fontStyleWrapper fontStyle]).andReturn(FLTNativeTemplateFontItalic); - - FLTNativeTemplateTextStyle *textStyle = - [[FLTNativeTemplateTextStyle alloc] initWithTextColor:textColor - backgroundColor:backgroundColor - fontStyle:fontStyleWrapper - size:nil]; - - XCTAssertEqual(textStyle.backgroundColor, backgroundColor); - XCTAssertEqual(textStyle.textColor, textColor); - XCTAssertEqual(textStyle.fontStyle, fontStyleWrapper); - XCTAssertNil(textStyle.size); - - UIFont *font = textStyle.uiFont; - // System font size is used when size is not defined - UIFont *expectedFont = [UIFont italicSystemFontOfSize:UIFont.systemFontSize]; - XCTAssertEqual(font.pointSize, expectedFont.pointSize); - XCTAssertEqual(font.fontName, expectedFont.fontName); - XCTAssertEqual(font.familyName, expectedFont.familyName); -} - -- (void)testUiFontWithMissingFontStyle { - FLTNativeTemplateColor *textColor = - OCMClassMock([FLTNativeTemplateColor class]); - FLTNativeTemplateColor *backgroundColor = - OCMClassMock([FLTNativeTemplateColor class]); - NSNumber *size = [[NSNumber alloc] initWithFloat:14.0f]; - FLTNativeTemplateTextStyle *textStyle = - [[FLTNativeTemplateTextStyle alloc] initWithTextColor:textColor - backgroundColor:backgroundColor - fontStyle:nil - size:size]; - - XCTAssertEqual(textStyle.backgroundColor, backgroundColor); - XCTAssertEqual(textStyle.textColor, textColor); - XCTAssertNil(textStyle.fontStyle); - XCTAssertEqual(textStyle.size, size); - - UIFont *font = textStyle.uiFont; - // Default system font type is used when fontStyle is not defined - UIFont *expectedFont = [UIFont systemFontOfSize:14.0f]; - XCTAssertEqual(font.pointSize, expectedFont.pointSize); - XCTAssertEqual(font.fontName, expectedFont.fontName); - XCTAssertEqual(font.familyName, expectedFont.familyName); -} - -- (void)testUiFontWithUnknownFontStyle { - FLTNativeTemplateColor *textColor = - OCMClassMock([FLTNativeTemplateColor class]); - FLTNativeTemplateColor *backgroundColor = - OCMClassMock([FLTNativeTemplateColor class]); - NSNumber *size = [[NSNumber alloc] initWithFloat:14.0f]; - FLTNativeTemplateFontStyleWrapper *fontStyleWrapper = - OCMClassMock([FLTNativeTemplateFontStyleWrapper class]); - OCMStub([fontStyleWrapper fontStyle]).andReturn(-1); - - FLTNativeTemplateTextStyle *textStyle = - [[FLTNativeTemplateTextStyle alloc] initWithTextColor:textColor - backgroundColor:backgroundColor - fontStyle:fontStyleWrapper - size:size]; - - XCTAssertEqual(textStyle.backgroundColor, backgroundColor); - XCTAssertEqual(textStyle.textColor, textColor); - XCTAssertEqual(textStyle.fontStyle, fontStyleWrapper); - XCTAssertEqual(textStyle.size, size); - - UIFont *font = textStyle.uiFont; - // Default system font type is used when fontStyle is unknown - UIFont *expectedFont = [UIFont systemFontOfSize:14.0f]; - XCTAssertEqual(font.pointSize, expectedFont.pointSize); - XCTAssertEqual(font.fontName, expectedFont.fontName); - XCTAssertEqual(font.familyName, expectedFont.familyName); -} - -@end diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/example/ios/RunnerTests/NativeTemplates/FLTNativeTemplateTypeTest.m b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/example/ios/RunnerTests/NativeTemplates/FLTNativeTemplateTypeTest.m deleted file mode 100644 index 94b32771..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/example/ios/RunnerTests/NativeTemplates/FLTNativeTemplateTypeTest.m +++ /dev/null @@ -1,42 +0,0 @@ -// Copyright 2023 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#import "FLTNativeTemplateType.h" -#import - -@interface FLTNativeTemplateTypeTest : XCTestCase -@end - -@implementation FLTNativeTemplateTypeTest - -- (void)testXibName { - FLTNativeTemplateType *templateTypeSmall = - [[FLTNativeTemplateType alloc] initWithInt:0]; - XCTAssertEqualObjects(templateTypeSmall.xibName, @"GADTSmallTemplateView"); - - FLTNativeTemplateType *templateTypeMedium = - [[FLTNativeTemplateType alloc] initWithInt:1]; - XCTAssertEqualObjects(templateTypeMedium.xibName, @"GADTMediumTemplateView"); - - // Unknown templates default to medium - FLTNativeTemplateType *templateTypeUnknown = - [[FLTNativeTemplateType alloc] initWithInt:-1]; - XCTAssertEqualObjects(templateTypeUnknown.xibName, @"GADTMediumTemplateView"); - - FLTNativeTemplateType *templateType = - [[FLTNativeTemplateType alloc] initWithInt:2]; - XCTAssertEqualObjects(templateType.xibName, @"GADTMediumTemplateView"); -} - -@end diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/example/ios/google_mobile_ads_exampleTests/Info.plist b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/example/ios/google_mobile_ads_exampleTests/Info.plist deleted file mode 100644 index 64d65ca4..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/example/ios/google_mobile_ads_exampleTests/Info.plist +++ /dev/null @@ -1,22 +0,0 @@ - - - - - CFBundleDevelopmentRegion - $(DEVELOPMENT_LANGUAGE) - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - $(PRODUCT_BUNDLE_PACKAGE_TYPE) - CFBundleShortVersionString - 1.0 - CFBundleVersion - 1 - - diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/example/lib/anchored_adaptive_example.dart b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/example/lib/anchored_adaptive_example.dart deleted file mode 100644 index 02719666..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/example/lib/anchored_adaptive_example.dart +++ /dev/null @@ -1,146 +0,0 @@ -// Copyright 2021 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -// ignore_for_file: public_member_api_docs - -import 'dart:io'; - -import 'package:flutter/material.dart'; -import 'package:google_mobile_ads/google_mobile_ads.dart'; -import 'constants.dart'; - -/// This example demonstrates anchored adaptive banner ads. -/// -/// Loads an anchored adaptive banner ad and displays it at the bottom of the -/// screen. This also handles loading a new ad on orientation change. -class AnchoredAdaptiveExample extends StatefulWidget { - @override - _AnchoredAdaptiveExampleState createState() => - _AnchoredAdaptiveExampleState(); -} - -class _AnchoredAdaptiveExampleState extends State { - BannerAd? _anchoredAdaptiveAd; - bool _isLoaded = false; - late Orientation _currentOrientation; - - @override - void didChangeDependencies() { - super.didChangeDependencies(); - _currentOrientation = MediaQuery.of(context).orientation; - _loadAd(); - } - - /// Load another ad, disposing of the current ad if there is one. - Future _loadAd() async { - await _anchoredAdaptiveAd?.dispose(); - setState(() { - _anchoredAdaptiveAd = null; - _isLoaded = false; - }); - - final AnchoredAdaptiveBannerAdSize? size = - await AdSize.getLargeAnchoredAdaptiveBannerAdSize( - MediaQuery.of(context).size.width.truncate(), - ); - - if (size == null) { - print('Unable to get height of anchored banner.'); - return; - } - - _anchoredAdaptiveAd = BannerAd( - adUnitId: Platform.isAndroid - ? 'ca-app-pub-3940256099942544/9214589741' - : 'ca-app-pub-3940256099942544/2435281174', - size: size, - request: AdRequest(), - listener: BannerAdListener( - onAdLoaded: (Ad ad) { - print('$ad loaded: ${ad.responseInfo}'); - setState(() { - // When the ad is loaded, get the ad size and use it to set - // the height of the ad container. - _anchoredAdaptiveAd = ad as BannerAd; - _isLoaded = true; - }); - }, - onAdFailedToLoad: (Ad ad, LoadAdError error) { - print('Anchored adaptive banner failedToLoad: $error'); - ad.dispose(); - }, - ), - ); - return _anchoredAdaptiveAd!.load(); - } - - /// Gets a widget containing the ad, if one is loaded. - /// - /// Returns an empty container if no ad is loaded, or the orientation - /// has changed. Also loads a new ad if the orientation changes. - Widget _getAdWidget() { - return OrientationBuilder( - builder: (context, orientation) { - if (_currentOrientation == orientation && - _anchoredAdaptiveAd != null && - _isLoaded) { - return Container( - color: Colors.green, - width: _anchoredAdaptiveAd!.size.width.toDouble(), - height: _anchoredAdaptiveAd!.size.height.toDouble(), - child: AdWidget(ad: _anchoredAdaptiveAd!), - ); - } - // Reload the ad if the orientation changes. - if (_currentOrientation != orientation) { - _currentOrientation = orientation; - _loadAd(); - } - return Container(); - }, - ); - } - - @override - Widget build(BuildContext context) => Scaffold( - appBar: AppBar(title: Text('Anchored adaptive banner example')), - body: Center( - child: Stack( - alignment: AlignmentDirectional.bottomCenter, - children: [ - ListView.separated( - padding: const EdgeInsets.symmetric(horizontal: 16.0), - itemBuilder: (context, index) { - return Text( - Constants.placeholderText, - style: TextStyle(fontSize: 24), - ); - }, - separatorBuilder: (context, index) { - return Container(height: 40); - }, - itemCount: 5, - ), - _getAdWidget(), - ], - ), - ), - ); - - @override - void dispose() { - super.dispose(); - _anchoredAdaptiveAd?.dispose(); - } -} diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/example/lib/constants.dart b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/example/lib/constants.dart deleted file mode 100644 index b71613c4..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/example/lib/constants.dart +++ /dev/null @@ -1,30 +0,0 @@ -// Copyright 2021 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -// ignore_for_file: public_member_api_docs - -/// Constants used in the example app. -class Constants { - /// Placeholder text. - static const String placeholderText = - 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod' - ' tempor incididunt ut labore et dolore magna aliqua. Faucibus purus in' - ' massa tempor. Quis enim lobortis scelerisque fermentum dui faucibus' - ' in. Nibh praesent tristique magna sit amet purus gravida quis.' - ' Magna sit amet purus gravida quis blandit turpis cursus in. Sed' - ' adipiscing diam donec adipiscing tristique. Urna porttitor rhoncus' - ' dolor purus non enim praesent. Pellentesque habitant morbi tristique' - ' senectus et netus. Risus ultricies tristique nulla aliquet enim tortor' - ' at.'; -} diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/example/lib/fluid_example.dart b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/example/lib/fluid_example.dart deleted file mode 100644 index 361ffee9..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/example/lib/fluid_example.dart +++ /dev/null @@ -1,102 +0,0 @@ -// Copyright 2021 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -// ignore_for_file: public_member_api_docs - -import 'package:flutter/material.dart'; -import 'package:google_mobile_ads/google_mobile_ads.dart'; -import 'constants.dart'; - -/// This example demonstrates fluid ads. -class FluidExample extends StatefulWidget { - @override - _FluidExampleExampleState createState() => _FluidExampleExampleState(); -} - -class _FluidExampleExampleState extends State { - FluidAdManagerBannerAd? _fluidAd; - double _width = 200.0; - - @override - Widget build(BuildContext context) => Scaffold( - appBar: AppBar(title: Text('Fluid example')), - body: Center( - child: Padding( - padding: const EdgeInsets.symmetric(horizontal: 16.0), - child: ListView.separated( - itemCount: 3, - separatorBuilder: (BuildContext context, int index) { - return Container(height: 40); - }, - itemBuilder: (BuildContext context, int index) { - if (index == 1) { - return Align( - alignment: Alignment.center, - child: FluidAdWidget(width: _width, ad: _fluidAd!), - ); - } else if (index == 2) { - return ElevatedButton( - onPressed: () { - double newWidth; - if (_width == 200.0) { - newWidth = 100.0; - } else if (_width == 100.0) { - newWidth = 150.0; - } else { - newWidth = 200.0; - } - setState(() { - _width = newWidth; - }); - }, - child: Text('Change size'), - ); - } - return Text( - Constants.placeholderText, - style: TextStyle(fontSize: 24), - ); - }, - ), - ), - ), - ); - - @override - void didChangeDependencies() { - super.didChangeDependencies(); - // Create the ad objects and load ads. - _fluidAd = FluidAdManagerBannerAd( - adUnitId: '/6499/example/APIDemo/Fluid', - request: AdManagerAdRequest(nonPersonalizedAds: true), - listener: AdManagerBannerAdListener( - onAdLoaded: (Ad ad) { - print('$_fluidAd loaded.'); - }, - onAdFailedToLoad: (Ad ad, LoadAdError error) { - print('$_fluidAd failedToLoad: $error'); - ad.dispose(); - }, - onAdOpened: (Ad ad) => print('$_fluidAd onAdOpened.'), - onAdClosed: (Ad ad) => print('$_fluidAd onAdClosed.'), - ), - )..load(); - } - - @override - void dispose() { - super.dispose(); - _fluidAd?.dispose(); - } -} diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/example/lib/inline_adaptive_example.dart b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/example/lib/inline_adaptive_example.dart deleted file mode 100644 index 0052508f..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/example/lib/inline_adaptive_example.dart +++ /dev/null @@ -1,154 +0,0 @@ -// Copyright 2021 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -// ignore_for_file: public_member_api_docs - -import 'dart:io'; - -import 'package:flutter/material.dart'; -import 'package:google_mobile_ads/google_mobile_ads.dart'; -import 'constants.dart'; - -/// This example demonstrates inline adaptive banner ads. -/// -/// Loads and shows an inline adaptive banner ad in a scrolling view, -/// and reloads the ad when the orientation changes. -class InlineAdaptiveExample extends StatefulWidget { - @override - _InlineAdaptiveExampleState createState() => _InlineAdaptiveExampleState(); -} - -class _InlineAdaptiveExampleState extends State { - static const _insets = 16.0; - AdManagerBannerAd? _inlineAdaptiveAd; - bool _isLoaded = false; - AdSize? _adSize; - late Orientation _currentOrientation; - - double get _adWidth => MediaQuery.of(context).size.width - (2 * _insets); - - @override - void didChangeDependencies() { - super.didChangeDependencies(); - _currentOrientation = MediaQuery.of(context).orientation; - _loadAd(); - } - - void _loadAd() async { - await _inlineAdaptiveAd?.dispose(); - setState(() { - _inlineAdaptiveAd = null; - _isLoaded = false; - }); - - // Get an inline adaptive size for the current orientation. - AdSize size = AdSize.getCurrentOrientationInlineAdaptiveBannerAdSize( - _adWidth.truncate(), - ); - - _inlineAdaptiveAd = AdManagerBannerAd( - adUnitId: Platform.isAndroid - ? '/21775744923/example/banner' - : '/21775744923/example/adaptive-banner', - sizes: [size], - request: AdManagerAdRequest(), - listener: AdManagerBannerAdListener( - onAdLoaded: (Ad ad) async { - print('Inline adaptive banner loaded: ${ad.responseInfo}'); - - // After the ad is loaded, get the platform ad size and use it to - // update the height of the container. This is necessary because the - // height can change after the ad is loaded. - AdManagerBannerAd bannerAd = (ad as AdManagerBannerAd); - final AdSize? size = await bannerAd.getPlatformAdSize(); - if (size == null) { - print('Error: getPlatformAdSize() returned null for $bannerAd'); - return; - } - - setState(() { - _inlineAdaptiveAd = bannerAd; - _isLoaded = true; - _adSize = size; - }); - }, - onAdFailedToLoad: (Ad ad, LoadAdError error) { - print('Inline adaptive banner failedToLoad: $error'); - ad.dispose(); - }, - ), - ); - await _inlineAdaptiveAd!.load(); - } - - /// Gets a widget containing the ad, if one is loaded. - /// - /// Returns an empty container if no ad is loaded, or the orientation - /// has changed. Also loads a new ad if the orientation changes. - Widget _getAdWidget() { - return OrientationBuilder( - builder: (context, orientation) { - if (_currentOrientation == orientation && - _inlineAdaptiveAd != null && - _isLoaded && - _adSize != null) { - return Align( - child: Container( - width: _adWidth, - height: _adSize!.height.toDouble(), - child: AdWidget(ad: _inlineAdaptiveAd!), - ), - ); - } - // Reload the ad if the orientation changes. - if (_currentOrientation != orientation) { - _currentOrientation = orientation; - _loadAd(); - } - return Container(); - }, - ); - } - - @override - Widget build(BuildContext context) => Scaffold( - appBar: AppBar(title: Text('Inline adaptive banner example')), - body: Center( - child: Padding( - padding: const EdgeInsets.symmetric(horizontal: _insets), - child: ListView.separated( - itemCount: 3, - separatorBuilder: (BuildContext context, int index) { - return Container(height: 40); - }, - itemBuilder: (BuildContext context, int index) { - if (index == 1) { - return _getAdWidget(); - } - return Text( - Constants.placeholderText, - style: TextStyle(fontSize: 24), - ); - }, - ), - ), - ), - ); - - @override - void dispose() { - super.dispose(); - _inlineAdaptiveAd?.dispose(); - } -} diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/example/lib/main.dart b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/example/lib/main.dart deleted file mode 100644 index 8ee75cb5..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/example/lib/main.dart +++ /dev/null @@ -1,388 +0,0 @@ -// Copyright 2021 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -// ignore_for_file: public_member_api_docs - -import 'dart:io' show Platform; - -import 'package:flutter/material.dart'; -import 'package:google_mobile_ads/google_mobile_ads.dart'; -import 'dart:developer'; - -import 'anchored_adaptive_example.dart'; -import 'fluid_example.dart'; -import 'inline_adaptive_example.dart'; -import 'multi_adaptive_inline_with_recycle_example.dart'; -import 'native_template_example.dart'; -import 'reusable_inline_example.dart'; -import 'webview_example.dart'; - -void main() { - WidgetsFlutterBinding.ensureInitialized(); - MobileAds.instance.initialize(); - runApp(MyApp()); -} - -// You can also test with your own ad unit IDs by registering your device as a -// test device. Check the logs for your device's ID value. -const String testDevice = 'YOUR_DEVICE_ID'; -const int maxFailedLoadAttempts = 3; - -class MyApp extends StatefulWidget { - @override - _MyAppState createState() => _MyAppState(); -} - -class _MyAppState extends State { - static final AdRequest request = AdRequest( - keywords: ['foo', 'bar'], - contentUrl: 'http://foo.com/bar.html', - nonPersonalizedAds: true, - ); - - static const interstitialButtonText = 'InterstitialAd'; - static const rewardedButtonText = 'RewardedAd'; - static const rewardedInterstitialButtonText = 'RewardedInterstitialAd'; - static const fluidButtonText = 'Fluid'; - static const inlineAdaptiveButtonText = 'Inline adaptive'; - static const mulipleInlineAdaptiveWithRecycleButtonText = - 'Multiple inline adaptive with recycle'; - static const anchoredAdaptiveButtonText = 'Anchored adaptive'; - static const nativeTemplateButtonText = 'Native template'; - static const webviewExampleButtonText = 'Register WebView'; - static const adInspectorButtonText = 'Ad Inspector'; - - InterstitialAd? _interstitialAd; - int _numInterstitialLoadAttempts = 0; - - RewardedAd? _rewardedAd; - int _numRewardedLoadAttempts = 0; - - RewardedInterstitialAd? _rewardedInterstitialAd; - int _numRewardedInterstitialLoadAttempts = 0; - - @override - void initState() { - super.initState(); - MobileAds.instance.updateRequestConfiguration( - RequestConfiguration(testDeviceIds: [testDevice]), - ); - _createInterstitialAd(); - _createRewardedAd(); - _createRewardedInterstitialAd(); - } - - void _createInterstitialAd() { - InterstitialAd.load( - adUnitId: Platform.isAndroid - ? 'ca-app-pub-3940256099942544/1033173712' - : 'ca-app-pub-3940256099942544/4411468910', - request: request, - adLoadCallback: InterstitialAdLoadCallback( - onAdLoaded: (InterstitialAd ad) { - print('$ad loaded'); - _interstitialAd = ad; - _numInterstitialLoadAttempts = 0; - _interstitialAd!.setImmersiveMode(true); - }, - onAdFailedToLoad: (LoadAdError error) { - print('InterstitialAd failed to load: $error.'); - _numInterstitialLoadAttempts += 1; - _interstitialAd = null; - if (_numInterstitialLoadAttempts < maxFailedLoadAttempts) { - _createInterstitialAd(); - } - }, - ), - ); - } - - void _showInterstitialAd() { - if (_interstitialAd == null) { - print('Warning: attempt to show interstitial before loaded.'); - return; - } - _interstitialAd!.fullScreenContentCallback = FullScreenContentCallback( - onAdShowedFullScreenContent: (InterstitialAd ad) => - print('ad onAdShowedFullScreenContent.'), - onAdDismissedFullScreenContent: (InterstitialAd ad) { - print('$ad onAdDismissedFullScreenContent.'); - ad.dispose(); - _createInterstitialAd(); - }, - onAdFailedToShowFullScreenContent: (InterstitialAd ad, AdError error) { - print('$ad onAdFailedToShowFullScreenContent: $error'); - ad.dispose(); - _createInterstitialAd(); - }, - ); - _interstitialAd!.show(); - _interstitialAd = null; - } - - void _createRewardedAd() { - RewardedAd.load( - adUnitId: Platform.isAndroid - ? 'ca-app-pub-3940256099942544/5224354917' - : 'ca-app-pub-3940256099942544/1712485313', - request: request, - rewardedAdLoadCallback: RewardedAdLoadCallback( - onAdLoaded: (RewardedAd ad) { - print('$ad loaded.'); - _rewardedAd = ad; - _numRewardedLoadAttempts = 0; - }, - onAdFailedToLoad: (LoadAdError error) { - print('RewardedAd failed to load: $error'); - _rewardedAd = null; - _numRewardedLoadAttempts += 1; - if (_numRewardedLoadAttempts < maxFailedLoadAttempts) { - _createRewardedAd(); - } - }, - ), - ); - } - - void _showRewardedAd() { - if (_rewardedAd == null) { - print('Warning: attempt to show rewarded before loaded.'); - return; - } - _rewardedAd!.fullScreenContentCallback = FullScreenContentCallback( - onAdShowedFullScreenContent: (RewardedAd ad) => - print('ad onAdShowedFullScreenContent.'), - onAdDismissedFullScreenContent: (RewardedAd ad) { - print('$ad onAdDismissedFullScreenContent.'); - ad.dispose(); - _createRewardedAd(); - }, - onAdFailedToShowFullScreenContent: (RewardedAd ad, AdError error) { - print('$ad onAdFailedToShowFullScreenContent: $error'); - ad.dispose(); - _createRewardedAd(); - }, - ); - - _rewardedAd!.setImmersiveMode(true); - _rewardedAd!.show( - onUserEarnedReward: (AdWithoutView ad, RewardItem reward) { - print('$ad with reward $RewardItem(${reward.amount}, ${reward.type})'); - }, - ); - _rewardedAd = null; - } - - void _createRewardedInterstitialAd() { - RewardedInterstitialAd.load( - adUnitId: Platform.isAndroid - ? 'ca-app-pub-3940256099942544/5354046379' - : 'ca-app-pub-3940256099942544/6978759866', - request: request, - rewardedInterstitialAdLoadCallback: RewardedInterstitialAdLoadCallback( - onAdLoaded: (RewardedInterstitialAd ad) { - print('$ad loaded.'); - _rewardedInterstitialAd = ad; - _numRewardedInterstitialLoadAttempts = 0; - }, - onAdFailedToLoad: (LoadAdError error) { - print('RewardedInterstitialAd failed to load: $error'); - _rewardedInterstitialAd = null; - _numRewardedInterstitialLoadAttempts += 1; - if (_numRewardedInterstitialLoadAttempts < maxFailedLoadAttempts) { - _createRewardedInterstitialAd(); - } - }, - ), - ); - } - - void _showRewardedInterstitialAd() { - if (_rewardedInterstitialAd == null) { - print('Warning: attempt to show rewarded interstitial before loaded.'); - return; - } - _rewardedInterstitialAd!.fullScreenContentCallback = - FullScreenContentCallback( - onAdShowedFullScreenContent: (RewardedInterstitialAd ad) => - print('$ad onAdShowedFullScreenContent.'), - onAdDismissedFullScreenContent: (RewardedInterstitialAd ad) { - print('$ad onAdDismissedFullScreenContent.'); - ad.dispose(); - _createRewardedInterstitialAd(); - }, - onAdFailedToShowFullScreenContent: - (RewardedInterstitialAd ad, AdError error) { - print('$ad onAdFailedToShowFullScreenContent: $error'); - ad.dispose(); - _createRewardedInterstitialAd(); - }, - ); - - _rewardedInterstitialAd!.setImmersiveMode(true); - _rewardedInterstitialAd!.show( - onUserEarnedReward: (AdWithoutView ad, RewardItem reward) { - print('$ad with reward $RewardItem(${reward.amount}, ${reward.type})'); - }, - ); - _rewardedInterstitialAd = null; - } - - @override - void dispose() { - super.dispose(); - _interstitialAd?.dispose(); - _rewardedAd?.dispose(); - _rewardedInterstitialAd?.dispose(); - } - - @override - Widget build(BuildContext context) { - return MaterialApp( - home: Builder( - builder: (BuildContext context) { - return Scaffold( - appBar: AppBar( - title: const Text('AdMob Plugin example app'), - actions: [ - PopupMenuButton( - onSelected: (String result) { - switch (result) { - case interstitialButtonText: - _showInterstitialAd(); - break; - case rewardedButtonText: - _showRewardedAd(); - break; - case rewardedInterstitialButtonText: - _showRewardedInterstitialAd(); - break; - case fluidButtonText: - Navigator.push( - context, - MaterialPageRoute( - builder: (context) => FluidExample(), - ), - ); - break; - case inlineAdaptiveButtonText: - Navigator.push( - context, - MaterialPageRoute( - builder: (context) => InlineAdaptiveExample(), - ), - ); - break; - case mulipleInlineAdaptiveWithRecycleButtonText: - Navigator.push( - context, - MaterialPageRoute( - builder: (context) => - MultiInlineAdaptiveWithRecycleExample(), - ), - ); - break; - case anchoredAdaptiveButtonText: - Navigator.push( - context, - MaterialPageRoute( - builder: (context) => AnchoredAdaptiveExample(), - ), - ); - break; - case nativeTemplateButtonText: - Navigator.push( - context, - MaterialPageRoute( - builder: (context) => NativeTemplateExample(), - ), - ); - break; - case webviewExampleButtonText: - Navigator.push( - context, - MaterialPageRoute( - builder: (context) => WebViewExample(), - ), - ); - break; - case adInspectorButtonText: - MobileAds.instance.openAdInspector( - (error) => log( - 'Ad Inspector ' + - (error == null - ? 'opened.' - : 'error: ' + (error.message ?? '')), - ), - ); - break; - default: - throw AssertionError('unexpected button: $result'); - } - }, - itemBuilder: (BuildContext context) => - >[ - PopupMenuItem( - value: interstitialButtonText, - child: Text(interstitialButtonText), - ), - PopupMenuItem( - value: rewardedButtonText, - child: Text(rewardedButtonText), - ), - PopupMenuItem( - value: rewardedInterstitialButtonText, - child: Text(rewardedInterstitialButtonText), - ), - PopupMenuItem( - value: fluidButtonText, - child: Text(fluidButtonText), - ), - PopupMenuItem( - value: inlineAdaptiveButtonText, - child: Text(inlineAdaptiveButtonText), - ), - PopupMenuItem( - value: mulipleInlineAdaptiveWithRecycleButtonText, - child: Text( - mulipleInlineAdaptiveWithRecycleButtonText, - ), - ), - PopupMenuItem( - value: anchoredAdaptiveButtonText, - child: Text(anchoredAdaptiveButtonText), - ), - PopupMenuItem( - value: nativeTemplateButtonText, - child: Text(nativeTemplateButtonText), - ), - PopupMenuItem( - value: webviewExampleButtonText, - child: Text(webviewExampleButtonText), - ), - PopupMenuItem( - value: adInspectorButtonText, - child: Text(adInspectorButtonText), - ), - ], - ), - ], - ), - body: SafeArea(child: ReusableInlineExample()), - ); - }, - ), - ); - } -} diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/example/lib/multi_adaptive_inline_with_recycle_example.dart b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/example/lib/multi_adaptive_inline_with_recycle_example.dart deleted file mode 100644 index f1c310c2..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/example/lib/multi_adaptive_inline_with_recycle_example.dart +++ /dev/null @@ -1,148 +0,0 @@ -import 'dart:io'; -import 'package:flutter/material.dart'; -import 'package:collection/collection.dart'; -import 'package:google_mobile_ads/google_mobile_ads.dart'; - -/// This example demonstrates inline adaptive ads in a list view, where banners -/// are recycle to improve performance. -class MultiInlineAdaptiveWithRecycleExample extends StatefulWidget { - @override - _MultiInlineAdaptiveWithRecycleExampleState createState() => - _MultiInlineAdaptiveWithRecycleExampleState(); -} - -class _MultiInlineAdaptiveWithRecycleExampleState - extends State { - // A list of all the banners created. - final List _banners = []; - // Keep track of sizes of the banners (since they can be different sizes). - final Map _bannerSizes = {}; - // A set of all failed banners to retry. - final Set _failedBanners = {}; - - // The maximum number of banners to create. - static const int _cacheSize = 10; - // Show a banner every 3 rows (i.e. row index 0, 3, 6, 9 etc will be banner rows. - static const int _adInterval = 3; - // Keep track of the positions of banners. - final Map _bannerPositions = {}; - - BannerAd _createBannerAd() { - final String bannerId = Platform.isAndroid - ? 'ca-app-pub-3940256099942544/6300978111' - : 'ca-app-pub-3940256099942544/2934735716'; - AdSize adSize = AdSize.getCurrentOrientationInlineAdaptiveBannerAdSize(360); - final BannerAd bannerAd = BannerAd( - adUnitId: bannerId, - request: const AdRequest(), - size: adSize, - listener: BannerAdListener( - onAdLoaded: (Ad ad) async { - BannerAd bannerAd = (ad as BannerAd); - if (_failedBanners.contains(bannerAd)) { - _failedBanners.remove(bannerAd); - } - final AdSize? adSize = await bannerAd.getPlatformAdSize(); - // When the banner size is updated, rebuild by calling setState. - if (adSize != null && adSize != _bannerSizes[bannerAd]) { - setState(() { - _bannerSizes[bannerAd] = adSize; - }); - } - }, - onAdFailedToLoad: (Ad ad, LoadAdError error) { - _failedBanners.add(ad as BannerAd); - }, - onAdImpression: (Ad ad) { - print('Banner ad impression occurred.'); - }, - ), - ); - bannerAd.load(); - return bannerAd; - } - - BannerAd _getRecycledBannerAd(int bannerPosition) { - // If already created a banner for current position, just reuse it. - BannerAd? currentBannerAd = _bannerPositions.entries - .firstWhereOrNull((entry) => entry.value == bannerPosition) - ?.key; - if (currentBannerAd != null) { - return currentBannerAd; - } - - if (_banners.length < _cacheSize) { - // If the cache is not full, create a new banner - BannerAd bannerAd = _createBannerAd(); - _banners.add(bannerAd); - _bannerPositions[bannerAd] = bannerPosition; - return bannerAd; - } - // If cache is full, recycle the banner (if possible). - BannerAd bannerAd = _banners[bannerPosition % _cacheSize]; - if (_failedBanners.contains(bannerAd)) { - // if it's failed previously, reload it. - bannerAd.load(); - _failedBanners.remove(bannerAd); - } - if (bannerAd.isMounted) { - // Create a new banner if it's not possible to recycle the banner - // e.g. show 15 banners on screen, but _cacheSize is only 10. - // This should be a corner case indicating _cacheSize should be increased. - bannerAd = _createBannerAd(); - } - _bannerPositions[bannerAd] = bannerPosition; - return bannerAd; - } - - @override - Widget build(BuildContext context) { - return Scaffold( - appBar: AppBar(title: Text('Adaptive Size, Recycle')), - body: ListView.builder( - // Arbitrary example of 100 items in the list. - itemCount: 100, - itemBuilder: (BuildContext context, int index) { - if (index % _adInterval == 0) { - int bannerPosition = index ~/ _adInterval; - BannerAd bannerAd = _getRecycledBannerAd(bannerPosition); - final AdSize? adSize = _bannerSizes[bannerAd]; - if (adSize == null) { - // Null adSize means the banner's content is not fetched yet. - return SizedBox.shrink(); - } - // Now this banner is loaded with ad content and corresponding ad size. - return SizedBox( - width: adSize.width.toDouble(), - height: adSize.height.toDouble(), - child: AdWidget(ad: bannerAd), - ); - } - - // Show your regular non-ad content. - return Container( - decoration: BoxDecoration( - border: Border.all( - color: Colors.blue, - width: 1.0, - style: BorderStyle.solid, - ), - ), - child: SizedBox( - height: 100, - child: ColoredBox(color: Colors.yellow), - ), - ); - }, - ), - ); - } - - @override - void dispose() { - for (final banner in _banners) { - banner.dispose(); - } - super.dispose(); - } -} diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/example/lib/native_template_example.dart b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/example/lib/native_template_example.dart deleted file mode 100644 index 415db8ed..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/example/lib/native_template_example.dart +++ /dev/null @@ -1,106 +0,0 @@ -// Copyright 2022 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -// ignore_for_file: public_member_api_docs - -import 'package:flutter/material.dart'; -import 'package:google_mobile_ads/google_mobile_ads.dart'; -import 'constants.dart'; - -/// This example demonstrates native templates. -class NativeTemplateExample extends StatefulWidget { - @override - _NativeTemplateExampleExampleState createState() => - _NativeTemplateExampleExampleState(); -} - -class _NativeTemplateExampleExampleState extends State { - NativeAd? _nativeAd; - bool _nativeAdIsLoaded = false; - - @override - Widget build(BuildContext context) => Scaffold( - appBar: AppBar(title: Text('Native templates example')), - body: Center( - child: Padding( - padding: const EdgeInsets.symmetric(horizontal: 16.0), - child: ListView.separated( - itemCount: 10, - separatorBuilder: (BuildContext context, int index) { - return Container(height: 40); - }, - itemBuilder: (BuildContext context, int index) { - if (index == 5 && _nativeAd != null && _nativeAdIsLoaded) { - return Align( - alignment: Alignment.center, - child: ConstrainedBox( - constraints: const BoxConstraints( - minWidth: 300, - minHeight: 350, - maxHeight: 400, - maxWidth: 450, - ), - child: AdWidget(ad: _nativeAd!), - ), - ); - } - return Text( - Constants.placeholderText, - style: TextStyle(fontSize: 24), - ); - }, - ), - ), - ), - ); - - @override - void didChangeDependencies() { - super.didChangeDependencies(); - // Create the ad objects and load ads. - _nativeAd = NativeAd( - adUnitId: '/6499/example/native', - request: AdRequest(), - listener: NativeAdListener( - onAdLoaded: (Ad ad) { - print('$NativeAd loaded.'); - setState(() { - _nativeAdIsLoaded = true; - }); - }, - onAdFailedToLoad: (Ad ad, LoadAdError error) { - print('$NativeAd failedToLoad: $error'); - ad.dispose(); - }, - onAdOpened: (Ad ad) => print('$NativeAd onAdOpened.'), - onAdClosed: (Ad ad) => print('$NativeAd onAdClosed.'), - ), - nativeTemplateStyle: NativeTemplateStyle( - templateType: TemplateType.medium, - mainBackgroundColor: Colors.white12, - callToActionTextStyle: NativeTemplateTextStyle(size: 16.0), - primaryTextStyle: NativeTemplateTextStyle( - textColor: Colors.black38, - backgroundColor: Colors.white70, - ), - ), - )..load(); - } - - @override - void dispose() { - super.dispose(); - _nativeAd?.dispose(); - } -} diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/example/lib/reusable_inline_example.dart b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/example/lib/reusable_inline_example.dart deleted file mode 100644 index 18711161..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/example/lib/reusable_inline_example.dart +++ /dev/null @@ -1,163 +0,0 @@ -// Copyright 2021 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -// ignore_for_file: public_member_api_docs - -import 'package:flutter/material.dart'; -import 'package:google_mobile_ads/google_mobile_ads.dart'; -import 'constants.dart'; -import 'dart:io' show Platform; - -/// This example demonstrates inline ads in a list view, where the ad objects -/// live for the lifetime of this widget. -class ReusableInlineExample extends StatefulWidget { - @override - _ReusableInlineExampleState createState() => _ReusableInlineExampleState(); -} - -class _ReusableInlineExampleState extends State { - BannerAd? _bannerAd; - bool _bannerAdIsLoaded = false; - - AdManagerBannerAd? _adManagerBannerAd; - bool _adManagerBannerAdIsLoaded = false; - - NativeAd? _nativeAd; - bool _nativeAdIsLoaded = false; - - @override - Widget build(BuildContext context) => Center( - child: Padding( - padding: const EdgeInsets.symmetric(horizontal: 16.0), - child: ListView.separated( - itemCount: 20, - separatorBuilder: (BuildContext context, int index) { - return Container(height: 40); - }, - itemBuilder: (BuildContext context, int index) { - final BannerAd? bannerAd = _bannerAd; - if (index == 5 && _bannerAdIsLoaded && bannerAd != null) { - return Container( - height: bannerAd.size.height.toDouble(), - width: bannerAd.size.width.toDouble(), - child: AdWidget(ad: bannerAd), - ); - } - - final AdManagerBannerAd? adManagerBannerAd = _adManagerBannerAd; - if (index == 10 && - _adManagerBannerAdIsLoaded && - adManagerBannerAd != null) { - return Container( - height: adManagerBannerAd.sizes[0].height.toDouble(), - width: adManagerBannerAd.sizes[0].width.toDouble(), - child: AdWidget(ad: _adManagerBannerAd!), - ); - } - - final NativeAd? nativeAd = _nativeAd; - if (index == 15 && _nativeAdIsLoaded && nativeAd != null) { - return Container( - width: 250, - height: 350, - child: AdWidget(ad: nativeAd), - ); - } - - return Text( - Constants.placeholderText, - style: TextStyle(fontSize: 24), - ); - }, - ), - ), - ); - - @override - void didChangeDependencies() { - super.didChangeDependencies(); - // Create the ad objects and load ads. - _bannerAd = BannerAd( - size: AdSize.banner, - adUnitId: Platform.isAndroid - ? 'ca-app-pub-3940256099942544/6300978111' - : 'ca-app-pub-3940256099942544/2934735716', - listener: BannerAdListener( - onAdLoaded: (Ad ad) { - print('$BannerAd loaded.'); - setState(() { - _bannerAdIsLoaded = true; - }); - }, - onAdFailedToLoad: (Ad ad, LoadAdError error) { - print('$BannerAd failedToLoad: $error'); - ad.dispose(); - }, - onAdOpened: (Ad ad) => print('$BannerAd onAdOpened.'), - onAdClosed: (Ad ad) => print('$BannerAd onAdClosed.'), - ), - request: AdRequest(), - )..load(); - - _nativeAd = NativeAd( - adUnitId: Platform.isAndroid - ? 'ca-app-pub-3940256099942544/2247696110' - : 'ca-app-pub-3940256099942544/3986624511', - request: AdRequest(), - factoryId: 'adFactoryExample', - listener: NativeAdListener( - onAdLoaded: (Ad ad) { - print('$NativeAd loaded.'); - setState(() { - _nativeAdIsLoaded = true; - }); - }, - onAdFailedToLoad: (Ad ad, LoadAdError error) { - print('$NativeAd failedToLoad: $error'); - ad.dispose(); - }, - onAdOpened: (Ad ad) => print('$NativeAd onAdOpened.'), - onAdClosed: (Ad ad) => print('$NativeAd onAdClosed.'), - ), - )..load(); - - _adManagerBannerAd = AdManagerBannerAd( - adUnitId: '/6499/example/banner', - request: AdManagerAdRequest(nonPersonalizedAds: true), - sizes: [AdSize.largeBanner], - listener: AdManagerBannerAdListener( - onAdLoaded: (Ad ad) { - print('$AdManagerBannerAd loaded.'); - setState(() { - _adManagerBannerAdIsLoaded = true; - }); - }, - onAdFailedToLoad: (Ad ad, LoadAdError error) { - print('$AdManagerBannerAd failedToLoad: $error'); - ad.dispose(); - }, - onAdOpened: (Ad ad) => print('$AdManagerBannerAd onAdOpened.'), - onAdClosed: (Ad ad) => print('$AdManagerBannerAd onAdClosed.'), - ), - )..load(); - } - - @override - void dispose() { - super.dispose(); - _bannerAd?.dispose(); - _adManagerBannerAd?.dispose(); - _nativeAd?.dispose(); - } -} diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/example/lib/snippets/banner_ad_snippets.dart b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/example/lib/snippets/banner_ad_snippets.dart deleted file mode 100644 index 8685cbf8..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/example/lib/snippets/banner_ad_snippets.dart +++ /dev/null @@ -1,79 +0,0 @@ -// Copyright 2025 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -// ignore_for_file: public_member_api_docs - -import 'dart:async'; -import 'dart:io'; - -import 'package:flutter/material.dart'; -import 'package:google_mobile_ads/google_mobile_ads.dart'; - -/// Dart snippets for the developer guide. -class _BannerAdWidget extends StatefulWidget { - const _BannerAdWidget(); - - @override - State<_BannerAdWidget> createState() => _BannerAdSnippets(); -} - -class _BannerAdSnippets extends State<_BannerAdWidget> { - BannerAd? _bannerAd; - final _adUnitId = Platform.isAndroid - ? 'ca-app-pub-3940256099942544/9214589741' - : 'ca-app-pub-3940256099942544/2435281174'; - final String _adManagerAdUnitId = '/21775744923/example/adaptive-banner'; - - // [START load_ad_ad_manager] - void _loadAd() async { - // Get an AnchoredAdaptiveBannerAdSize before loading the ad. - final size = await AdSize.getLargeAnchoredAdaptiveBannerAdSize( - MediaQuery.sizeOf(context).width.truncate(), - ); - - if (size == null) { - // Unable to get width of anchored banner. - return; - } - - unawaited( - BannerAd( - adUnitId: _adUnitId, - request: const AdManagerAdRequest(), - size: size, - listener: BannerAdListener( - onAdLoaded: (ad) { - // Called when an ad is successfully received. - debugPrint('Ad was loaded.'); - setState(() { - _bannerAd = ad as BannerAd; - }); - }, - onAdFailedToLoad: (ad, err) { - // Called when an ad request failed. - debugPrint('Ad failed to load with error: $err'); - ad.dispose(); - }, - ), - ).load(), - ); - } - // [END load_ad_ad_manager] - - @override - Widget build(BuildContext context) { - // TODO: implement build - throw UnimplementedError(); - } -} diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/example/lib/snippets/interstitial_ad_snippets.dart b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/example/lib/snippets/interstitial_ad_snippets.dart deleted file mode 100644 index 10d49c89..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/example/lib/snippets/interstitial_ad_snippets.dart +++ /dev/null @@ -1,112 +0,0 @@ -// Copyright 2025 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -// ignore_for_file: public_member_api_docs - -import 'dart:io'; - -import 'package:flutter/cupertino.dart'; -import 'package:google_mobile_ads/google_mobile_ads.dart'; - -/// Dart snippets for the developer guide. -class _InterstitialAdSnippets { - InterstitialAd? _interstitialAd; - final String _adUnitId = Platform.isAndroid - ? 'ca-app-pub-3940256099942544/1033173712' - : 'ca-app-pub-3940256099942544/4411468910'; - final String _adManagerAdUnitId = '/21775744923/example/interstitial'; - - void _loadInterstitialAd() { - // [START load_ad] - InterstitialAd.load( - adUnitId: _adUnitId, - request: const AdRequest(), - adLoadCallback: InterstitialAdLoadCallback( - onAdLoaded: (InterstitialAd ad) { - // Called when an ad is successfully received. - debugPrint('Ad was loaded.'); - // Keep a reference to the ad so you can show it later. - _interstitialAd = ad; - // [START_EXCLUDE silent] - _setFullScreenContentCallback(ad); - // [END_EXCLUDE] - }, - onAdFailedToLoad: (LoadAdError error) { - // Called when an ad request failed. - debugPrint('Ad failed to load with error: $error'); - }, - ), - ); - // [END load_ad] - } - - void _setFullScreenContentCallback(InterstitialAd ad) { - // [START ad_events] - ad.fullScreenContentCallback = FullScreenContentCallback( - onAdShowedFullScreenContent: (ad) { - // Called when the ad showed the full screen content. - debugPrint('Ad showed full screen content.'); - }, - onAdFailedToShowFullScreenContent: (ad, err) { - // Called when the ad failed to show full screen content. - debugPrint('Ad failed to show full screen content with error: $err'); - // Dispose the ad here to free resources. - ad.dispose(); - }, - onAdDismissedFullScreenContent: (ad) { - // Called when the ad dismissed full screen content. - debugPrint('Ad was dismissed.'); - // Dispose the ad here to free resources. - ad.dispose(); - }, - onAdImpression: (ad) { - // Called when an impression occurs on the ad. - debugPrint('Ad recorded an impression.'); - }, - onAdClicked: (ad) { - // Called when a click is recorded for an ad. - debugPrint('Ad was clicked.'); - }, - ); - // [END ad_events] - } - - // =================================================================== - // Ad Manager snippets - // =================================================================== - - void _loadAdManagerInterstitialAd() { - // [START load_ad_ad_manager] - InterstitialAd.load( - adUnitId: _adUnitId, - request: const AdManagerAdRequest(), - adLoadCallback: InterstitialAdLoadCallback( - onAdLoaded: (InterstitialAd ad) { - // Called when an ad is successfully received. - debugPrint('Ad was loaded.'); - // Keep a reference to the ad so you can show it later. - _interstitialAd = ad; - // [START_EXCLUDE silent] - _setFullScreenContentCallback(ad); - // [END_EXCLUDE] - }, - onAdFailedToLoad: (LoadAdError error) { - // Called when an ad request failed. - debugPrint('Ad failed to load with error: $error'); - }, - ), - ); - // [END load_ad_ad_manager] - } -} diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/example/lib/snippets/rewarded_ad_snippets.dart b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/example/lib/snippets/rewarded_ad_snippets.dart deleted file mode 100644 index 82b152ed..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/example/lib/snippets/rewarded_ad_snippets.dart +++ /dev/null @@ -1,152 +0,0 @@ -// Copyright 2025 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -// ignore_for_file: public_member_api_docs - -import 'dart:io'; - -import 'package:flutter/cupertino.dart'; -import 'package:google_mobile_ads/google_mobile_ads.dart'; - -/// Dart snippets for the developer guide. -class _RewardedAdSnippets { - RewardedAd? _rewardedAd; - final String _adUnitId = Platform.isAndroid - ? 'ca-app-pub-3940256099942544/5224354917' - : 'ca-app-pub-3940256099942544/1712485313'; - final String _adManagerAdUnitId = '/21775744923/example/rewarded'; - - void _loadRewardedAd() { - // [START load_ad] - RewardedAd.load( - adUnitId: _adUnitId, - request: const AdRequest(), - rewardedAdLoadCallback: RewardedAdLoadCallback( - onAdLoaded: (RewardedAd ad) { - // Called when an ad is successfully received. - debugPrint('Ad was loaded.'); - // Keep a reference to the ad so you can show it later. - _rewardedAd = ad; - // [START_EXCLUDE silent] - _setFullScreenContentCallback(ad); - // [END_EXCLUDE] - }, - onAdFailedToLoad: (LoadAdError error) { - // Called when an ad request failed. - debugPrint('Ad failed to load with error: $error'); - }, - ), - ); - // [END load_ad] - } - - void _setFullScreenContentCallback(RewardedAd ad) { - // [START ad_events] - ad.fullScreenContentCallback = FullScreenContentCallback( - onAdShowedFullScreenContent: (ad) { - // Called when the ad showed the full screen content. - debugPrint('Ad showed full screen content.'); - }, - onAdFailedToShowFullScreenContent: (ad, err) { - // Called when the ad failed to show full screen content. - debugPrint('Ad failed to show full screen content with error: $err'); - // Dispose the ad here to free resources. - ad.dispose(); - }, - onAdDismissedFullScreenContent: (ad) { - // Called when the ad dismissed full screen content. - debugPrint('Ad was dismissed.'); - // Dispose the ad here to free resources. - ad.dispose(); - }, - onAdImpression: (ad) { - // Called when an impression occurs on the ad. - debugPrint('Ad recorded an impression.'); - }, - onAdClicked: (ad) { - // Called when a click is recorded for an ad. - debugPrint('Ad was clicked.'); - }, - ); - // [END ad_events] - } - - void _validateServerSideVerification() { - // [START validate_server_side_verification] - RewardedAd.load( - adUnitId: _adUnitId, - request: AdRequest(), - rewardedAdLoadCallback: RewardedAdLoadCallback( - onAdLoaded: (ad) { - ServerSideVerificationOptions _options = - ServerSideVerificationOptions( - customData: 'SAMPLE_CUSTOM_DATA_STRING', - ); - ad.setServerSideOptions(_options); - _rewardedAd = ad; - }, - onAdFailedToLoad: (error) {}, - ), - ); - // [END validate_server_side_verification] - } - - // =================================================================== - // Ad Manager snippets - // =================================================================== - - void _loadAdManagerRewardedAd() { - // [START load_ad_ad_manager] - RewardedAd.load( - adUnitId: _adUnitId, - request: const AdManagerAdRequest(), - rewardedAdLoadCallback: RewardedAdLoadCallback( - onAdLoaded: (RewardedAd ad) { - // Called when an ad is successfully received. - debugPrint('Ad was loaded.'); - // Keep a reference to the ad so you can show it later. - _rewardedAd = ad; - // [START_EXCLUDE silent] - _setFullScreenContentCallback(ad); - // [END_EXCLUDE] - }, - onAdFailedToLoad: (LoadAdError error) { - // Called when an ad request failed. - debugPrint('Ad failed to load with error: $error'); - }, - ), - ); - // [END load_ad_ad_manager] - } - - void _validateAdManagerServerSideVerification() { - // [START validate_server_side_verification_ad_manager] - RewardedAd.load( - adUnitId: _adUnitId, - request: AdManagerAdRequest(), - rewardedAdLoadCallback: RewardedAdLoadCallback( - onAdLoaded: (ad) { - ServerSideVerificationOptions _options = - ServerSideVerificationOptions( - customData: 'SAMPLE_CUSTOM_DATA_STRING', - ); - ad.setServerSideOptions(_options); - _rewardedAd = ad; - }, - onAdFailedToLoad: (error) {}, - ), - ); - // [END validate_server_side_verification_ad_manager] - } -} diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/example/lib/snippets/rewarded_interstitial_ad_snippets.dart b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/example/lib/snippets/rewarded_interstitial_ad_snippets.dart deleted file mode 100644 index ff932b61..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/example/lib/snippets/rewarded_interstitial_ad_snippets.dart +++ /dev/null @@ -1,153 +0,0 @@ -// Copyright 2025 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -// ignore_for_file: public_member_api_docs - -import 'dart:io'; - -import 'package:flutter/cupertino.dart'; -import 'package:google_mobile_ads/google_mobile_ads.dart'; - -/// Dart snippets for the developer guide. -class _RewardedInterstitialAdSnippets { - RewardedInterstitialAd? _rewardedInterstitialAd; - final String _adUnitId = Platform.isAndroid - ? 'ca-app-pub-3940256099942544/5354046379' - : 'ca-app-pub-3940256099942544/6978759866'; - final String _adManagerAdUnitId = - '/21775744923/example/rewarded-interstitial'; - - void _loadRewardedInterstitialAd() { - // [START load_ad] - RewardedInterstitialAd.load( - adUnitId: _adUnitId, - request: const AdRequest(), - rewardedInterstitialAdLoadCallback: RewardedInterstitialAdLoadCallback( - onAdLoaded: (RewardedInterstitialAd ad) { - // Called when an ad is successfully received. - debugPrint('Ad was loaded.'); - // Keep a reference to the ad so you can show it later. - _rewardedInterstitialAd = ad; - // [START_EXCLUDE silent] - _setFullScreenContentCallback(ad); - // [END_EXCLUDE] - }, - onAdFailedToLoad: (LoadAdError error) { - // Called when an ad request failed. - debugPrint('Ad failed to load with error: $error'); - }, - ), - ); - // [END load_ad] - } - - void _setFullScreenContentCallback(RewardedInterstitialAd ad) { - // [START ad_events] - ad.fullScreenContentCallback = FullScreenContentCallback( - onAdShowedFullScreenContent: (ad) { - // Called when the ad showed the full screen content. - debugPrint('Ad showed full screen content.'); - }, - onAdFailedToShowFullScreenContent: (ad, err) { - // Called when the ad failed to show full screen content. - debugPrint('Ad failed to show full screen content with error: $err'); - // Dispose the ad here to free resources. - ad.dispose(); - }, - onAdDismissedFullScreenContent: (ad) { - // Called when the ad dismissed full screen content. - debugPrint('Ad was dismissed.'); - // Dispose the ad here to free resources. - ad.dispose(); - }, - onAdImpression: (ad) { - // Called when an impression occurs on the ad. - debugPrint('Ad recorded an impression.'); - }, - onAdClicked: (ad) { - // Called when a click is recorded for an ad. - debugPrint('Ad was clicked.'); - }, - ); - // [END ad_events] - } - - void _validateServerSideVerification() { - // [START validate_server_side_verification] - RewardedInterstitialAd.load( - adUnitId: _adUnitId, - request: AdRequest(), - rewardedInterstitialAdLoadCallback: RewardedInterstitialAdLoadCallback( - onAdLoaded: (ad) { - ServerSideVerificationOptions _options = - ServerSideVerificationOptions( - customData: 'SAMPLE_CUSTOM_DATA_STRING', - ); - ad.setServerSideOptions(_options); - _rewardedInterstitialAd = ad; - }, - onAdFailedToLoad: (error) {}, - ), - ); - // [END validate_server_side_verification] - } - - // =================================================================== - // Ad Manager snippets - // =================================================================== - - void _loadAdManagerRewardedInterstitialAd() { - // [START load_ad_ad_manager] - RewardedInterstitialAd.load( - adUnitId: _adUnitId, - request: const AdManagerAdRequest(), - rewardedInterstitialAdLoadCallback: RewardedInterstitialAdLoadCallback( - onAdLoaded: (RewardedInterstitialAd ad) { - // Called when an ad is successfully received. - debugPrint('Ad was loaded.'); - // Keep a reference to the ad so you can show it later. - _rewardedInterstitialAd = ad; - // [START_EXCLUDE silent] - _setFullScreenContentCallback(ad); - // [END_EXCLUDE] - }, - onAdFailedToLoad: (LoadAdError error) { - // Called when an ad request failed. - debugPrint('Ad failed to load with error: $error'); - }, - ), - ); - // [END load_ad_ad_manager] - } - - void _validateAdManagerServerSideVerification() { - // [START validate_server_side_verification_ad_manager] - RewardedInterstitialAd.load( - adUnitId: _adUnitId, - request: AdManagerAdRequest(), - rewardedInterstitialAdLoadCallback: RewardedInterstitialAdLoadCallback( - onAdLoaded: (ad) { - ServerSideVerificationOptions _options = - ServerSideVerificationOptions( - customData: 'SAMPLE_CUSTOM_DATA_STRING', - ); - ad.setServerSideOptions(_options); - _rewardedInterstitialAd = ad; - }, - onAdFailedToLoad: (error) {}, - ), - ); - // [END validate_server_side_verification_ad_manager] - } -} diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/example/lib/webview_example.dart b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/example/lib/webview_example.dart deleted file mode 100644 index b194a964..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/example/lib/webview_example.dart +++ /dev/null @@ -1,77 +0,0 @@ -// Copyright 2023 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -// ignore_for_file: public_member_api_docs - -import 'package:flutter/material.dart'; -import 'package:google_mobile_ads/google_mobile_ads.dart'; -import 'package:webview_flutter/webview_flutter.dart'; -import 'package:webview_flutter_android/webview_flutter_android.dart'; - -/// Opens a WebView and tries to register it via `MobileAds.registerWebView()`. -class WebViewExample extends StatefulWidget { - @override - _WebViewExampleState createState() => _WebViewExampleState(); -} - -class _WebViewExampleState extends State { - late final WebViewController controller; - - @override - Widget build(BuildContext context) { - return Scaffold( - appBar: AppBar(title: const Text('WebView Example')), - body: WebViewWidget(controller: controller), - ); - } - - @override - void initState() { - super.initState(); - createWebView(); - } - - void createWebView() async { - controller = WebViewController(); - await controller.setJavaScriptMode(JavaScriptMode.unrestricted); - await controller.setBackgroundColor(const Color(0x00000000)); - await controller.setNavigationDelegate( - NavigationDelegate( - onProgress: (int progress) {}, - onPageStarted: (String url) {}, - onPageFinished: (String url) {}, - onWebResourceError: (WebResourceError error) {}, - onNavigationRequest: (NavigationRequest request) { - if (request.url.startsWith('https://www.youtube.com/')) { - return NavigationDecision.prevent; - } - return NavigationDecision.navigate; - }, - ), - ); - if (controller.platform is AndroidWebViewController) { - AndroidWebViewCookieManager cookieManager = AndroidWebViewCookieManager( - PlatformWebViewCookieManagerCreationParams(), - ); - await cookieManager.setAcceptThirdPartyCookies( - controller.platform as AndroidWebViewController, - true, - ); - } - await MobileAds.instance.registerWebView(controller); - await controller.loadRequest( - Uri.parse('https://google.github.io/webview-ads/test/#api-for-ads-tests'), - ); - } -} diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/example/pubspec.yaml b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/example/pubspec.yaml deleted file mode 100644 index aa0ac859..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/example/pubspec.yaml +++ /dev/null @@ -1,37 +0,0 @@ -# Copyright 2021 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# https://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -name: google_mobile_ads_example -version: 1.0.0 -description: Demonstrates how to use the google mobile ads plugin. -publish_to: none - -dependencies: - flutter: - sdk: flutter - google_mobile_ads: - path: ../ - webview_flutter_android: ^4.10.9 - webview_flutter: ^4.10.0 - -dev_dependencies: - pedantic: ^1.11.0 - flutter_driver: - sdk: flutter - -flutter: - uses-material-design: true - -environment: - sdk: ">=3.9.0 <4.0.0" diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/ios/google_mobile_ads.podspec b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/ios/google_mobile_ads.podspec deleted file mode 100644 index 161c4794..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/ios/google_mobile_ads.podspec +++ /dev/null @@ -1,31 +0,0 @@ -# -# To learn more about a Podspec see http://guides.cocoapods.org/syntax/podspec.html -# -Pod::Spec.new do |s| - s.name = 'google_mobile_ads' - s.version = '8.0.0' - s.summary = 'Google Mobile Ads plugin for Flutter.' - s.description = <<-DESC -Google Mobile Ads plugin for Flutter. - DESC - s.homepage = 'https://github.com/googleads/googleads-mobile-flutter' - s.license = { :file => '../LICENSE' } - s.author = { 'Flutter Team' => 'flutter-dev@googlegroups.com' } - s.source = { :path => '.' } - s.source_files = 'google_mobile_ads/Sources/google_mobile_ads/**/*.{h,m}' - s.public_header_files = 'google_mobile_ads/Sources/google_mobile_ads/**/*.h' - s.dependency 'Flutter' - s.dependency 'Google-Mobile-Ads-SDK','~> 13.2.0' - s.dependency 'webview_flutter_wkwebview' - s.ios.deployment_target = '13.0' - s.pod_target_xcconfig = { 'DEFINES_MODULE' => 'YES', 'VALID_ARCHS' => 'armv7 arm64 x86_64' } - s.static_framework = true - s.resource_bundles = { - 'google_mobile_ads' => ['google_mobile_ads/Sources/google_mobile_ads/**/*.xib'] - } - - s.test_spec 'Tests' do |test_spec| - test_spec.source_files = 'Tests/**/*.{h,m}' - test_spec.dependency 'OCMock','3.6' - end -end diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/ios/google_mobile_ads/Package.swift b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/ios/google_mobile_ads/Package.swift deleted file mode 100644 index 057a4e82..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/ios/google_mobile_ads/Package.swift +++ /dev/null @@ -1,34 +0,0 @@ -// swift-tools-version: 5.9 -// The swift-tools-version declares the minimum version of Swift required to build this package. - -import PackageDescription - -let package = Package( - name: "google_mobile_ads", - platforms: [ - .iOS("13.0") - ], - products: [ - .library(name: "google-mobile-ads", targets: ["google_mobile_ads"]) - ], - dependencies: [ - .package( - url: "https://github.com/googleads/swift-package-manager-google-mobile-ads", from: "13.2.0"), - .package(name: "webview_flutter_wkwebview", path: "../webview_flutter_wkwebview-3.26.0"), - ], - targets: [ - .target( - name: "google_mobile_ads", - dependencies: [ - .product(name: "GoogleMobileAds", package: "swift-package-manager-google-mobile-ads"), - .product(name: "webview-flutter-wkwebview", package: "webview_flutter_wkwebview"), - ], - resources: [ - .process("Resources"), - ], - cSettings: [ - .headerSearchPath("include/google_mobile_ads") - ] - ) - ] -) diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/ios/google_mobile_ads/Sources/google_mobile_ads/FLTAdInstanceManager_Internal.m b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/ios/google_mobile_ads/Sources/google_mobile_ads/FLTAdInstanceManager_Internal.m deleted file mode 100644 index 6f8e856c..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/ios/google_mobile_ads/Sources/google_mobile_ads/FLTAdInstanceManager_Internal.m +++ /dev/null @@ -1,259 +0,0 @@ -// Copyright 2021 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#import "FLTAdInstanceManager_Internal.h" - -@implementation FLTAdInstanceManager { - FLTGoogleMobileAdsCollection> *_ads; - FlutterMethodChannel *_channel; -} - -- (instancetype _Nonnull)initWithBinaryMessenger: - (id _Nonnull)binaryMessenger { - self = [super init]; - if (self) { - _ads = [[FLTGoogleMobileAdsCollection alloc] init]; - NSObject *methodCodec = [FlutterStandardMethodCodec - codecWithReaderWriter:[[FLTGoogleMobileAdsReaderWriter alloc] init]]; - _channel = [[FlutterMethodChannel alloc] - initWithName:@"plugins.flutter.io/google_mobile_ads" - binaryMessenger:binaryMessenger - codec:methodCodec]; - } - return self; -} - -- (id _Nullable)adFor:(NSNumber *_Nonnull)adId { - return [_ads objectForKey:adId]; -} - -- (NSNumber *_Nullable)adIdFor:(id _Nonnull)ad { - NSArray *keys = [_ads allKeysForObject:ad]; - - if (keys.count > 1) { - NSLog(@"%@Error: Multiple keys for a single ad.", - NSStringFromClass([FLTAdInstanceManager class])); - } - - if (keys.count > 0) { - return keys[0]; - } - - return nil; -} - -- (void)loadAd:(id _Nonnull)ad { - [_ads setObject:ad forKey:ad.adId]; - ad.manager = self; - [ad load]; -} - -- (void)dispose:(NSNumber *_Nonnull)adId { - [_ads removeObjectForKey:adId]; -} - -- (void)disposeAllAds { - [_ads removeAllObjects]; -} - -- (void)showAdWithID:(NSNumber *_Nonnull)adId { - id ad = (id)[self adFor:adId]; - - if (!ad) { - NSLog(@"Can't find ad with id: %@", adId); - return; - } - - [ad show]; -} - -- (void)onAdLoaded:(id _Nonnull)ad - responseInfo:(GADResponseInfo *_Nonnull)responseInfo { - [_channel invokeMethod:@"onAdEvent" - arguments:@{ - @"adId" : ad.adId, - @"eventName" : @"onAdLoaded", - @"responseInfo" : [[FLTGADResponseInfo alloc] - initWithResponseInfo:responseInfo] - }]; -} - -- (void)onAdFailedToLoad:(id _Nonnull)ad error:(NSError *_Nonnull)error { - [_channel invokeMethod:@"onAdEvent" - arguments:@{ - @"adId" : ad.adId, - @"eventName" : @"onAdFailedToLoad", - @"loadAdError" : [[FLTLoadAdError alloc] initWithError:error] - }]; -} - -- (void)onAppEvent:(id _Nonnull)ad - name:(NSString *)name - data:(NSString *)data { - [_channel invokeMethod:@"onAdEvent" - arguments:@{ - @"adId" : ad.adId, - @"eventName" : @"onAppEvent", - @"name" : name, - @"data" : data - }]; -} - -- (void)onNativeAdImpression:(FLTNativeAd *_Nonnull)ad { - [self sendAdEvent:@"onNativeAdImpression" ad:ad]; -} - -- (void)onNativeAdWillPresentScreen:(FLTNativeAd *_Nonnull)ad { - [self sendAdEvent:@"onNativeAdWillPresentScreen" ad:ad]; -} - -- (void)onNativeAdDidDismissScreen:(FLTNativeAd *_Nonnull)ad { - [self sendAdEvent:@"onNativeAdDidDismissScreen" ad:ad]; -} - -- (void)onNativeAdWillDismissScreen:(FLTNativeAd *_Nonnull)ad { - [self sendAdEvent:@"onNativeAdWillDismissScreen" ad:ad]; -} - -- (void)onRewardedAdUserEarnedReward:(FLTRewardedAd *_Nonnull)ad - reward:(FLTRewardItem *_Nonnull)reward { - [_channel invokeMethod:@"onAdEvent" - arguments:@{ - @"adId" : ad.adId, - @"eventName" : @"onRewardedAdUserEarnedReward", - @"rewardItem" : reward, - }]; -} - -- (void)onRewardedInterstitialAdUserEarnedReward: - (FLTRewardedInterstitialAd *_Nonnull)ad - reward: - (FLTRewardItem *_Nonnull)reward { - [_channel invokeMethod:@"onAdEvent" - arguments:@{ - @"adId" : ad.adId, - @"eventName" : @"onRewardedInterstitialAdUserEarnedReward", - @"rewardItem" : reward, - }]; -} - -- (void)onPaidEvent:(id _Nonnull)ad value:(FLTAdValue *_Nonnull)adValue { - [_channel invokeMethod:@"onAdEvent" - arguments:@{ - @"adId" : ad.adId, - @"eventName" : @"onPaidEvent", - @"valueMicros" : adValue.valueMicros, - @"precision" : [NSNumber numberWithInteger:adValue.precision], - @"currencyCode" : adValue.currencyCode - }]; -} - -- (void)onBannerImpression:(FLTBannerAd *_Nonnull)ad { - [self sendAdEvent:@"onBannerImpression" ad:ad]; -} - -- (void)onBannerWillDismissScreen:(FLTBannerAd *)ad { - [self sendAdEvent:@"onBannerWillDismissScreen" ad:ad]; -} - -- (void)onBannerDidDismissScreen:(FLTBannerAd *)ad { - [self sendAdEvent:@"onBannerDidDismissScreen" ad:ad]; -} - -- (void)onBannerWillPresentScreen:(FLTBannerAd *_Nonnull)ad { - [self sendAdEvent:@"onBannerWillPresentScreen" ad:ad]; -} - -- (void)adWillPresentFullScreenContent:(id _Nonnull)ad { - [self sendAdEvent:@"adWillPresentFullScreenContent" ad:ad]; -} - -- (void)adDidDismissFullScreenContent:(id _Nonnull)ad { - [self sendAdEvent:@"adDidDismissFullScreenContent" ad:ad]; -} - -- (void)adWillDismissFullScreenContent:(id _Nonnull)ad { - [self sendAdEvent:@"adWillDismissFullScreenContent" ad:ad]; -} - -- (void)adDidRecordImpression:(id _Nonnull)ad { - [self sendAdEvent:@"adDidRecordImpression" ad:ad]; -} - -- (void)adDidRecordClick:(id _Nonnull)ad { - [self sendAdEvent:@"adDidRecordClick" ad:ad]; -} - -- (void)didFailToPresentFullScreenContentWithError:(id _Nonnull)ad - error:(NSError *_Nonnull)error { - [_channel invokeMethod:@"onAdEvent" - arguments:@{ - @"adId" : ad.adId, - @"eventName" : @"didFailToPresentFullScreenContentWithError", - @"error" : error - }]; -} - -- (void)onFluidAdHeightChanged:(id _Nonnull)ad height:(CGFloat)height { - [_channel invokeMethod:@"onAdEvent" - arguments:@{ - @"adId" : ad.adId, - @"eventName" : @"onFluidAdHeightChanged", - @"height" : [[NSNumber alloc] initWithFloat:height] - }]; -} - -/// Sends an ad event with the provided name. -- (void)sendAdEvent:(NSString *_Nonnull)eventName ad:(id)ad { - [_channel invokeMethod:@"onAdEvent" - arguments:@{ - @"adId" : ad.adId, - @"eventName" : eventName, - }]; -} - -@end - -@implementation FLTNewGoogleMobileAdsViewFactory -- (instancetype)initWithManager:(FLTAdInstanceManager *_Nonnull)manager { - self = [super init]; - if (self) { - _manager = manager; - } - return self; -} - -- (nonnull NSObject *)createWithFrame:(CGRect)frame - viewIdentifier:(int64_t)viewId - arguments:(id _Nullable)args { - NSNumber *adId = args; - NSObject *view = - (NSObject *)[_manager adFor:adId]; - - if (!view) { - NSString *reason = [NSString - stringWithFormat: - @"Could not find an ad with id: %@. Was this ad already disposed?", - adId]; - @throw [NSException exceptionWithName:NSInvalidArgumentException - reason:reason - userInfo:nil]; - } - return view; -} - -- (NSObject *)createArgsCodec { - return [FlutterStandardMessageCodec sharedInstance]; -} -@end diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/ios/google_mobile_ads/Sources/google_mobile_ads/FLTAdUtil.m b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/ios/google_mobile_ads/Sources/google_mobile_ads/FLTAdUtil.m deleted file mode 100644 index 8627b341..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/ios/google_mobile_ads/Sources/google_mobile_ads/FLTAdUtil.m +++ /dev/null @@ -1,58 +0,0 @@ -// Copyright 2021 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#import "FLTAdUtil.h" -#import "FLTConstants.h" -@import webview_flutter_wkwebview; - -@implementation FLTAdUtil - -static NSString *_requestAgent; - -+ (BOOL)isNull:(id)object { - return object == nil || [[NSNull null] isEqual:object]; -} - -+ (BOOL)isNotNull:(id)object { - return ![FLTAdUtil isNull:object]; -} - -+ (NSString *)requestAgent { - NSString *newsTemplateString = @""; - id newsTemplateVersion = [NSBundle.mainBundle - objectForInfoDictionaryKey:@"FLTNewsTemplateVersion"]; - if ([newsTemplateVersion isKindOfClass:[NSString class]]) { - newsTemplateString = - [NSString stringWithFormat:@"_News-%@", newsTemplateVersion]; - } - - NSString *gameTemplateString = @""; - id gameTemplateVersion = [NSBundle.mainBundle - objectForInfoDictionaryKey:@"FLTGameTemplateVersion"]; - if ([gameTemplateVersion isKindOfClass:[NSString class]]) { - gameTemplateString = - [NSString stringWithFormat:@"_Game-%@", gameTemplateVersion]; - } - return [NSString stringWithFormat:@"%@%@%@", FLT_REQUEST_AGENT_VERSIONED, - newsTemplateString, gameTemplateString]; -} - -+ (WKWebView *)getWebView:(NSNumber *)webViewId - flutterPluginRegistry:(id)flutterPluginRegistry { - return (WKWebView *)[FWFWebViewFlutterWKWebViewExternalAPI - webViewForIdentifier:webViewId.longValue - withPluginRegistry:flutterPluginRegistry]; -} - -@end diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/ios/google_mobile_ads/Sources/google_mobile_ads/FLTAd_Internal.m b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/ios/google_mobile_ads/Sources/google_mobile_ads/FLTAd_Internal.m deleted file mode 100644 index d66f9b91..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/ios/google_mobile_ads/Sources/google_mobile_ads/FLTAd_Internal.m +++ /dev/null @@ -1,1407 +0,0 @@ -// Copyright 2021 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#import "FLTAd_Internal.h" -#import "FLTAdUtil.h" -#import "FLTNativeTemplateStyle.h" - -@implementation FLTAdSize -- (instancetype _Nonnull)initWithWidth:(NSNumber *_Nonnull)width - height:(NSNumber *_Nonnull)height { - return [self initWithAdSize:GADAdSizeFromCGSize(CGSizeMake( - width.doubleValue, height.doubleValue))]; -} - -- (instancetype _Nonnull)initWithAdSize:(GADAdSize)size { - self = [super init]; - if (self) { - _size = size; - _width = @(size.size.width); - _height = @(size.size.height); - } - return self; -} -@end - -@implementation FLTAdSizeFactory -- (GADAdSize)portraitAnchoredAdaptiveBannerAdSizeWithWidth: - (NSNumber *_Nonnull)width { - return GADPortraitAnchoredAdaptiveBannerAdSizeWithWidth(width.doubleValue); -} - -- (GADAdSize)landscapeAnchoredAdaptiveBannerAdSizeWithWidth: - (NSNumber *_Nonnull)width { - return GADLandscapeAnchoredAdaptiveBannerAdSizeWithWidth(width.doubleValue); -} - -- (GADAdSize)currentOrientationAnchoredAdaptiveBannerAdSizeWithWidth: - (NSNumber *_Nonnull)width { - return GADCurrentOrientationAnchoredAdaptiveBannerAdSizeWithWidth( - width.doubleValue); -} - -- (GADAdSize)largePortraitAnchoredAdaptiveBannerAdSizeWithWidth: - (NSNumber *_Nonnull)width { - return GADLargePortraitAnchoredAdaptiveBannerAdSizeWithWidth(width.doubleValue); -} - -- (GADAdSize)largeLandscapeAnchoredAdaptiveBannerAdSizeWithWidth: - (NSNumber *_Nonnull)width { - return GADLargeLandscapeAnchoredAdaptiveBannerAdSizeWithWidth(width.doubleValue); -} - -- (GADAdSize)largeAnchoredAdaptiveBannerAdSizeWithWidth: - (NSNumber *_Nonnull)width { - return GADLargeAnchoredAdaptiveBannerAdSizeWithWidth( - width.doubleValue); -} - -- (GADAdSize)currentOrientationInlineAdaptiveBannerSizeWithWidth: - (NSNumber *_Nonnull)width { - return GADCurrentOrientationInlineAdaptiveBannerAdSizeWithWidth( - width.floatValue); -} - -- (GADAdSize)portraitOrientationInlineAdaptiveBannerSizeWithWidth: - (NSNumber *_Nonnull)width { - return GADPortraitInlineAdaptiveBannerAdSizeWithWidth(width.floatValue); -} -- (GADAdSize)landscapeInlineAdaptiveBannerAdSizeWithWidth: - (NSNumber *_Nonnull)width { - return GADLandscapeInlineAdaptiveBannerAdSizeWithWidth(width.floatValue); -} -- (GADAdSize) - inlineAdaptiveBannerAdSizeWithWidthAndMaxHeight:(NSNumber *_Nonnull)width - maxHeight: - (NSNumber *_Nonnull)maxHeight { - return GADInlineAdaptiveBannerAdSizeWithWidthAndMaxHeight( - width.floatValue, maxHeight.floatValue); -} - -@end - -@implementation FLTAnchoredAdaptiveBannerSize -- (instancetype _Nonnull)initWithFactory:(FLTAdSizeFactory *_Nonnull)factory - orientation:(NSString *_Nullable)orientation - width:(NSNumber *_Nonnull)width - isLarge:(Boolean)isLarge { - GADAdSize size; - if ([FLTAdUtil isNull:orientation]) { - if (isLarge) { - size = [factory largeAnchoredAdaptiveBannerAdSizeWithWidth:width]; - } else { - size = - [factory currentOrientationAnchoredAdaptiveBannerAdSizeWithWidth:width]; - } - } else if ([orientation isEqualToString:@"portrait"]) { - if (isLarge) { - size = [factory largePortraitAnchoredAdaptiveBannerAdSizeWithWidth:width]; - } else { - size = [factory portraitAnchoredAdaptiveBannerAdSizeWithWidth:width]; - } - } else if ([orientation isEqualToString:@"landscape"]) { - if (isLarge) { - size = [factory largeLandscapeAnchoredAdaptiveBannerAdSizeWithWidth:width]; - } else { - size = [factory landscapeAnchoredAdaptiveBannerAdSizeWithWidth:width]; - } - } else { - NSLog(@"Unexpected value for orientation: %@", orientation); - return nil; - } - - self = [self initWithAdSize:size]; - if (self) { - _orientation = orientation; - } - return self; -} -@end - -@implementation FLTInlineAdaptiveBannerSize -- (instancetype _Nonnull)initWithFactory:(FLTAdSizeFactory *_Nonnull)factory - width:(NSNumber *_Nonnull)width - maxHeight:(NSNumber *_Nullable)maxHeight - orientation:(NSNumber *_Nullable)orientation { - GADAdSize gadAdSize; - if ([FLTAdUtil isNotNull:orientation]) { - gadAdSize = - orientation.intValue == 0 - ? [factory - portraitOrientationInlineAdaptiveBannerSizeWithWidth:width] - : [factory landscapeInlineAdaptiveBannerAdSizeWithWidth:width]; - } else if ([FLTAdUtil isNotNull:maxHeight]) { - gadAdSize = - [factory inlineAdaptiveBannerAdSizeWithWidthAndMaxHeight:width - maxHeight:maxHeight]; - } else { - gadAdSize = - [factory currentOrientationInlineAdaptiveBannerSizeWithWidth:width]; - } - self = [self initWithAdSize:gadAdSize]; - if (self) { - _orientation = orientation; - _maxHeight = maxHeight; - } - return self; -} -@end - -@implementation FLTSmartBannerSize -- (instancetype _Nonnull)initWithOrientation:(NSString *_Nonnull)orientation { - GADAdSize size; - if ([orientation isEqualToString:@"portrait"]) { -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wdeprecated-declarations" - size = kGADAdSizeSmartBannerPortrait; - } else if ([orientation isEqualToString:@"landscape"]) { - size = kGADAdSizeSmartBannerLandscape; -#pragma clang diagnostic pop - } else { - NSLog(@"SmartBanner orientation should be 'portrait' or 'landscape': %@", - orientation); - return nil; - } - - self = [self initWithAdSize:size]; - if (self) { - _orientation = orientation; - } - return self; -} -@end - -@implementation FLTFluidSize -- (instancetype _Nonnull)init { - self = [self initWithAdSize:GADAdSizeFluid]; - return self; -} -@end - -@interface FLTAdRequest () -/// A helper method for adding network extras to the GADRequest. -- (void)addNetworkExtrasToGADRequest:(GADRequest *_Nonnull)request - adUnitId:(NSString *_Nonnull)adUnitId; - -@end - -@implementation FLTAdRequest - -- (void)addNetworkExtrasToGADRequest:(GADRequest *)request - adUnitId:(NSString *_Nonnull)adUnitId { - NSArray> *extras; - - if (_mediationExtras != NULL) { - NSMutableArray> *flutterExtras = - [NSMutableArray array]; - for (id extra in _mediationExtras) { - [flutterExtras addObject:[extra getMediationExtras]]; - } - extras = [NSArray arrayWithArray:flutterExtras]; - } else { - extras = [_mediationNetworkExtrasProvider - getMediationExtras:adUnitId - mediationExtrasIdentifier:_mediationExtrasIdentifier]; - } - BOOL addedNpaToGADExtras = false; - - if ([FLTAdUtil isNotNull:extras]) { - for (id extra in extras) { - // If GADExtras are present and npa is true, add npa = 1 to the GADExtras - if ([extra isKindOfClass:[GADExtras class]] && _nonPersonalizedAds) { - GADExtras *gadExtras = (GADExtras *)extra; - NSMutableDictionary *newParams = [[NSMutableDictionary alloc] - initWithDictionary:gadExtras.additionalParameters]; - newParams[@"npa"] = @"1"; - gadExtras.additionalParameters = newParams; - [request registerAdNetworkExtras:gadExtras]; - addedNpaToGADExtras = true; - } else { - [request registerAdNetworkExtras:extra]; - } - } - } - - if (!addedNpaToGADExtras) { - [self addAdMobExtras:request]; - } -} - -- (void)addAdMobExtras:(GADRequest *_Nonnull)request { - NSMutableDictionary *additionalParams = - [[NSMutableDictionary alloc] init]; - - if (_nonPersonalizedAds) { - additionalParams[@"npa"] = @"1"; - } - if (_adMobExtras) { - [additionalParams addEntriesFromDictionary:_adMobExtras]; - } - if (additionalParams.count > 0) { - GADExtras *extras = [[GADExtras alloc] init]; - extras.additionalParameters = additionalParams; - [request registerAdNetworkExtras:extras]; - } -} - -- (GADRequest *_Nonnull)asGADRequest:(NSString *_Nonnull)adUnitId { - GADRequest *request = [GADRequest request]; - request.keywords = _keywords; - request.contentURL = _contentURL; - request.neighboringContentURLStrings = _neighboringContentURLs; - request.requestAgent = _requestAgent; - [self addNetworkExtrasToGADRequest:request adUnitId:adUnitId]; - return request; -} - -@end - -@implementation FLTGADResponseInfo - -- (instancetype _Nonnull)initWithResponseInfo: - (GADResponseInfo *_Nonnull)responseInfo { - self = [super init]; - if (self) { - _responseIdentifier = responseInfo.responseIdentifier; - _adNetworkClassName = - responseInfo.loadedAdNetworkResponseInfo.adNetworkClassName; - NSMutableArray *infoArray = - [[NSMutableArray alloc] init]; - for (GADAdNetworkResponseInfo *adNetworkInfo in responseInfo - .adNetworkInfoArray) { - [infoArray addObject:[[FLTGADAdNetworkResponseInfo alloc] - initWithResponseInfo:adNetworkInfo]]; - } - _adNetworkInfoArray = infoArray; - _loadedAdNetworkResponseInfo = [[FLTGADAdNetworkResponseInfo alloc] - initWithResponseInfo:responseInfo.loadedAdNetworkResponseInfo]; - _extrasDictionary = - responseInfo.extrasDictionary ? responseInfo.extrasDictionary : @{}; - } - return self; -} -@end - -@implementation FLTGADAdNetworkResponseInfo - -- (instancetype _Nonnull)initWithResponseInfo: - (GADAdNetworkResponseInfo *_Nonnull)responseInfo { - self = [super init]; - if (self) { - _adNetworkClassName = responseInfo.adNetworkClassName; - NSNumber *timeInMillis = - [[NSNumber alloc] initWithDouble:responseInfo.latency * 1000]; - _latency = @(timeInMillis.longValue); - _dictionaryDescription = responseInfo.dictionaryRepresentation.description; - _adUnitMapping = [[NSMutableDictionary alloc] init]; - for (NSString *key in responseInfo.adUnitMapping) { - if ([responseInfo.adUnitMapping[key] isKindOfClass:NSObject.class]) { - NSObject *value = ((NSObject *)responseInfo.adUnitMapping[key]); - [_adUnitMapping setValue:value.description forKey:key]; - } else { - [_adUnitMapping setValue:@"Unrecognized credential" forKey:key]; - } - } - _error = responseInfo.error; - - _adSourceName = responseInfo.adSourceName; - _adSourceInstanceName = responseInfo.adSourceInstanceName; - _adSourceInstanceID = responseInfo.adSourceInstanceID; - _adSourceID = responseInfo.adSourceID; - } - return self; -} -@end - -@implementation FLTLoadAdError - -- (instancetype _Nonnull)initWithError:(NSError *_Nonnull)error { - self = [super init]; - if (self) { - _code = error.code; - _domain = error.domain; - _message = error.localizedDescription; - GADResponseInfo *responseInfo = - error.userInfo[GADErrorUserInfoKeyResponseInfo]; - if (responseInfo) { - _responseInfo = - [[FLTGADResponseInfo alloc] initWithResponseInfo:responseInfo]; - } - } - return self; -} -@end - -#pragma mark - FLTGAMAdRequest - -@implementation FLTGAMAdRequest -- (GADRequest *_Nonnull)asGAMRequest:(NSString *_Nonnull)adUnitId { - GAMRequest *request = [GAMRequest request]; - request.keywords = self.keywords; - request.contentURL = self.contentURL; - request.neighboringContentURLStrings = self.neighboringContentURLs; - request.publisherProvidedID = self.pubProvidedID; - request.requestAgent = self.requestAgent; - - NSMutableDictionary *targetingDictionary = - [NSMutableDictionary dictionaryWithDictionary:self.customTargeting]; - for (NSString *key in self.customTargetingLists) { - targetingDictionary[key] = - [self.customTargetingLists[key] componentsJoinedByString:@","]; - } - request.customTargeting = targetingDictionary; - [self addNetworkExtrasToGADRequest:request adUnitId:adUnitId]; - return request; -} -@end - -#pragma mark - FLTBaseAd - -@interface FLTBaseAd () -@property(readwrite) NSNumber *_Nonnull adId; -@end - -@implementation FLTBaseAd -@synthesize adId; -@end - -#pragma mark - FLTBannerAd - -@implementation FLTBannerAd { - GADBannerView *_bannerView; - FLTAdRequest *_adRequest; - NSString *_adUnitId; -} - -- (instancetype)initWithAdUnitId:(NSString *_Nonnull)adUnitId - size:(FLTAdSize *_Nonnull)size - request:(FLTAdRequest *_Nonnull)request - rootViewController:(UIViewController *_Nonnull)rootViewController - adId:(NSNumber *_Nonnull)adId { - self = [super init]; - if (self) { - _adRequest = request; - _adUnitId = adUnitId; - _bannerView = [[GADBannerView alloc] initWithAdSize:size.size]; - _bannerView.adUnitID = adUnitId; - self.adId = adId; - self.bannerView.rootViewController = rootViewController; - __weak FLTBannerAd *weakSelf = self; - self.bannerView.paidEventHandler = ^(GADAdValue *_Nonnull value) { - if (weakSelf.manager == nil) { - return; - } - [weakSelf.manager onPaidEvent:weakSelf - value:[[FLTAdValue alloc] - initWithValue:value.value - precision:(NSInteger)value.precision - currencyCode:value.currencyCode]]; - }; - } - return self; -} - -- (GADBannerView *_Nonnull)bannerView { - return _bannerView; -} - -- (void)load { - self.bannerView.delegate = self; - [self.bannerView loadRequest:[_adRequest asGADRequest:_adUnitId]]; -} - -- (FLTAdSize *)getAdSize { - if (self.bannerView) { - return [[FLTAdSize alloc] initWithAdSize:self.bannerView.adSize]; - } - return nil; -} - --(BOOL)isCollapsible { - if (self.bannerView) { - return self.bannerView.isCollapsible; - } - return false; -} - -#pragma mark - GADBannerViewDelegate - -- (void)bannerViewDidReceiveAd:(GADBannerView *)bannerView { - [manager onAdLoaded:self responseInfo:bannerView.responseInfo]; -} - -- (void)bannerView:(GADBannerView *)bannerView - didFailToReceiveAdWithError:(NSError *)error { - [manager onAdFailedToLoad:self error:error]; -} - -- (void)bannerViewDidRecordImpression:(GADBannerView *)bannerView { - [manager onBannerImpression:self]; -} - -- (void)bannerViewWillPresentScreen:(GADBannerView *)bannerView { - [manager onBannerWillPresentScreen:self]; -} - -- (void)bannerViewWillDismissScreen:(GADBannerView *)bannerView { - [manager onBannerWillDismissScreen:self]; -} - -- (void)bannerViewDidDismissScreen:(GADBannerView *)bannerView { - [manager onBannerDidDismissScreen:self]; -} - -- (void)bannerViewDidRecordClick:(GADBannerView *)bannerView { - [manager adDidRecordClick:self]; -} - -#pragma mark - FlutterPlatformView -- (nonnull UIView *)view { - return self.bannerView; -} - -@synthesize manager; - -@end - -#pragma mark - FLTGAMBannerAd -@implementation FLTGAMBannerAd { - GAMBannerView *_bannerView; - FLTGAMAdRequest *_adRequest; - NSString *_adUnitId; -} - -- (instancetype)initWithAdUnitId:(NSString *_Nonnull)adUnitId - sizes:(NSArray *_Nonnull)sizes - request:(FLTGAMAdRequest *_Nonnull)request - rootViewController:(UIViewController *_Nonnull)rootViewController - adId:(NSNumber *_Nonnull)adId { - self = [super init]; - if (self) { - self.adId = adId; - _adRequest = request; - _adUnitId = adUnitId; - _bannerView = [[GAMBannerView alloc] initWithAdSize:sizes[0].size]; - _bannerView.adUnitID = adUnitId; - _bannerView.rootViewController = rootViewController; - _bannerView.appEventDelegate = self; - _bannerView.delegate = self; - - NSMutableArray *validAdSizes = - [NSMutableArray arrayWithCapacity:sizes.count]; - for (FLTAdSize *size in sizes) { - [validAdSizes addObject:NSValueFromGADAdSize(size.size)]; - } - _bannerView.validAdSizes = validAdSizes; - - __weak FLTGAMBannerAd *weakSelf = self; - self.bannerView.paidEventHandler = ^(GADAdValue *_Nonnull value) { - if (weakSelf.manager == nil) { - return; - } - [weakSelf.manager onPaidEvent:weakSelf - value:[[FLTAdValue alloc] - initWithValue:value.value - precision:(NSInteger)value.precision - currencyCode:value.currencyCode]]; - }; - } - return self; -} - -- (GADBannerView *_Nonnull)bannerView { - return _bannerView; -} - -- (void)load { - [self.bannerView loadRequest:[_adRequest asGAMRequest:_adUnitId]]; -} - -#pragma mark - FlutterPlatformView - -- (nonnull UIView *)view { - return self.bannerView; -} - -#pragma mark - GADAppEventDelegate -- (void)adView:(nonnull GADBannerView *)banner - didReceiveAppEvent:(nonnull NSString *)name - withInfo:(nullable NSString *)info { - [self.manager onAppEvent:self name:name data:info]; -} - -@end - -#pragma mark - FLTFluidGAMBannerAd - -@implementation FLTFluidGAMBannerAd { - GAMBannerView *_bannerView; - FLTGAMAdRequest *_adRequest; - UIScrollView *_containerView; - CGFloat _height; - NSString *_adUnitId; -} - -- (instancetype)initWithAdUnitId:(NSString *_Nonnull)adUnitId - request:(FLTGAMAdRequest *_Nonnull)request - rootViewController:(UIViewController *_Nonnull)rootViewController - adId:(NSNumber *_Nonnull)adId { - self = [super init]; - if (self) { - self.adId = adId; - _height = -1; - _adRequest = request; - _adUnitId = adUnitId; - _bannerView = [[GAMBannerView alloc] initWithAdSize:GADAdSizeFluid]; - _bannerView.adUnitID = adUnitId; - _bannerView.rootViewController = rootViewController; - _bannerView.appEventDelegate = self; - _bannerView.delegate = self; - _bannerView.adSizeDelegate = self; - - __weak FLTFluidGAMBannerAd *weakSelf = self; - self.bannerView.paidEventHandler = ^(GADAdValue *_Nonnull value) { - if (weakSelf.manager == nil) { - return; - } - [weakSelf.manager onPaidEvent:weakSelf - value:[[FLTAdValue alloc] - initWithValue:value.value - precision:(NSInteger)value.precision - currencyCode:value.currencyCode]]; - }; - } - return self; -} - -- (GADBannerView *_Nonnull)bannerView { - return _bannerView; -} - -- (void)load { - [self.bannerView loadRequest:[_adRequest asGAMRequest:_adUnitId]]; -} - -#pragma mark - FlutterPlatformView - -- (nonnull UIView *)view { - if (_containerView) { - return _containerView; - } - - UIScrollView *scrollView = [[UIScrollView alloc] initWithFrame:CGRectZero]; - [scrollView setShowsHorizontalScrollIndicator:NO]; - [scrollView setShowsVerticalScrollIndicator:NO]; - [scrollView addSubview:_bannerView]; - - _bannerView.translatesAutoresizingMaskIntoConstraints = false; - NSLayoutConstraint *width = - [NSLayoutConstraint constraintWithItem:_bannerView - attribute:NSLayoutAttributeWidth - relatedBy:0 - toItem:scrollView - attribute:NSLayoutAttributeWidth - multiplier:1.0 - constant:0]; - [scrollView addConstraint:width]; - _containerView = scrollView; - [_bannerView.widthAnchor constraintEqualToAnchor:scrollView.widthAnchor] - .active = YES; - [_bannerView.topAnchor constraintEqualToAnchor:scrollView.topAnchor].active = - YES; - return scrollView; -} - -#pragma mark - GADAdSizeDelegate - -- (void)adView:(GADBannerView *)bannerView - willChangeAdSizeTo:(GADAdSize)adSize { - CGFloat height = adSize.size.height; - [self.manager onFluidAdHeightChanged:self height:height]; -} - -#pragma mark - GADAppEventDelegate -- (void)adView:(nonnull GADBannerView *)banner - didReceiveAppEvent:(nonnull NSString *)name - withInfo:(nullable NSString *)info { - [self.manager onAppEvent:self name:name data:info]; -} - -@end - -#pragma mark - FLTFullScreenAd - -@implementation FLTFullScreenAd { - BOOL _statusBarVisibilityBeforeAdShow; -} - -@synthesize manager; - -- (void)load { - // Must be overridden by subclasses - [NSException - raise:NSInternalInconsistencyException - format:@"You must override %@ in a subclass", NSStringFromSelector(_cmd)]; -} - -- (void)show { - // Must be overridden by subclasses - [NSException - raise:NSInternalInconsistencyException - format:@"You must override %@ in a subclass", NSStringFromSelector(_cmd)]; -} - -- (void)ad:(nonnull id)ad - didFailToPresentFullScreenContentWithError:(nonnull NSError *)error { - [manager didFailToPresentFullScreenContentWithError:self error:error]; -} - -- (void)adWillPresentFullScreenContent: - (nonnull id)ad { - // Manually hide the status bar. This is a fix for - // https://github.com/googleads/googleads-mobile-flutter/issues/191 -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wdeprecated-declarations" - _statusBarVisibilityBeforeAdShow = - UIApplication.sharedApplication.statusBarHidden; - [UIApplication.sharedApplication setStatusBarHidden:YES]; -#pragma clang diagnostic pop - [manager adWillPresentFullScreenContent:self]; -} - -- (void)adDidDismissFullScreenContent: - (nonnull id)ad { - [manager adDidDismissFullScreenContent:self]; -} - -- (void)adWillDismissFullScreenContent: - (nonnull id)ad { -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wdeprecated-declarations" - [UIApplication.sharedApplication - setStatusBarHidden:_statusBarVisibilityBeforeAdShow]; -#pragma clang diagnostic pop - [manager adWillDismissFullScreenContent:self]; -} - -- (void)adDidRecordImpression:(nonnull id)ad { - [manager adDidRecordImpression:self]; -} - -- (void)adDidRecordClick:(nonnull id)ad { - [manager adDidRecordClick:self]; -} - -@end - -#pragma mark - FLTInterstitialAd - -@implementation FLTInterstitialAd { - GADInterstitialAd *_interstitialView; - FLTAdRequest *_adRequest; - NSString *_adUnitId; -} - -- (instancetype)initWithAdUnitId:(NSString *_Nonnull)adUnitId - request:(FLTAdRequest *_Nonnull)request - adId:(NSNumber *_Nonnull)adId { - self = [super init]; - if (self) { - self.adId = adId; - _adRequest = request; - _adUnitId = [adUnitId copy]; - } - return self; -} - -- (GADInterstitialAd *_Nullable)interstitial { - return _interstitialView; -} - -- (NSString *_Nonnull)adUnitId { - return _adUnitId; -} - -- (void)load { - [GADInterstitialAd - loadWithAdUnitID:_adUnitId - request:[_adRequest asGADRequest:_adUnitId] - completionHandler:^(GADInterstitialAd *ad, NSError *error) { - if (error) { - [self.manager onAdFailedToLoad:self error:error]; - return; - } - - ad.fullScreenContentDelegate = self; - self->_interstitialView = ad; - __weak FLTInterstitialAd *weakSelf = self; - ad.paidEventHandler = ^(GADAdValue *_Nonnull value) { - if (weakSelf.manager == nil) { - return; - } - [weakSelf.manager - onPaidEvent:weakSelf - value:[[FLTAdValue alloc] - initWithValue:value.value - precision:(NSInteger)value.precision - currencyCode:value.currencyCode]]; - }; - - [self.manager onAdLoaded:self responseInfo:ad.responseInfo]; - }]; -} - -- (void)show { - if (self.interstitial) { - [self.interstitial presentFromRootViewController:nil]; - } else { - NSLog(@"InterstitialAd failed to show because the ad was not ready."); - } -} - -@end - -#pragma mark - FLTGAMInterstitialAd - -@implementation FLTGAMInterstitialAd { - GAMInterstitialAd *_insterstitial; - FLTGAMAdRequest *_adRequest; - NSString *_adUnitId; -} - -- (instancetype)initWithAdUnitId:(NSString *_Nonnull)adUnitId - request:(FLTGAMAdRequest *_Nonnull)request - adId:(NSNumber *_Nonnull)adId { - self = [super init]; - if (self) { - self.adId = adId; - _adRequest = request; - _adUnitId = [adUnitId copy]; - } - return self; -} - -- (GADInterstitialAd *_Nullable)interstitial { - return _insterstitial; -} - -- (void)load { - [GAMInterstitialAd - loadWithAdManagerAdUnitID:_adUnitId - request:[_adRequest asGAMRequest:_adUnitId] - completionHandler:^(GAMInterstitialAd *ad, NSError *error) { - if (error) { - [self.manager onAdFailedToLoad:self error:error]; - return; - } - [self.manager onAdLoaded:self responseInfo:ad.responseInfo]; - ad.fullScreenContentDelegate = self; - ad.appEventDelegate = self; - __weak FLTGAMInterstitialAd *weakSelf = self; - ad.paidEventHandler = ^(GADAdValue *_Nonnull value) { - if (weakSelf.manager == nil) { - return; - } - [weakSelf.manager - onPaidEvent:weakSelf - value:[[FLTAdValue alloc] - initWithValue:value.value - precision:(NSInteger)value.precision - currencyCode:value.currencyCode]]; - }; - - self->_insterstitial = ad; - }]; -} - -- (void)show { - if (self.interstitial) { - [self.interstitial presentFromRootViewController:nil]; - } else { - NSLog(@"InterstitialAd failed to show because the ad was not ready."); - } -} - -#pragma mark - GADAppEventDelegate - -- (void)interstitialAd:(nonnull GADInterstitialAd *)interstitialAd - didReceiveAppEvent:(nonnull NSString *)name - withInfo:(nullable NSString *)info { - [self.manager onAppEvent:self name:name data:info]; -} - -@end - -#pragma mark - FLTRewardedAd -@implementation FLTRewardedAd { - GADRewardedAd *_rewardedView; - FLTAdRequest *_adRequest; - NSString *_adUnitId; -} - -- (instancetype)initWithAdUnitId:(NSString *_Nonnull)adUnitId - request:(FLTAdRequest *_Nonnull)request - adId:(NSNumber *_Nonnull)adId { - self = [super init]; - if (self) { - self.adId = adId; - _adRequest = request; - _adUnitId = [adUnitId copy]; - } - return self; -} - -- (GADRewardedAd *_Nullable)rewardedAd { - return _rewardedView; -} - -- (void)load { - GADRequest *request; - if ([_adRequest isKindOfClass:[FLTGAMAdRequest class]]) { - FLTGAMAdRequest *gamRequest = (FLTGAMAdRequest *)_adRequest; - request = [gamRequest asGAMRequest:_adUnitId]; - } else if ([_adRequest isKindOfClass:[FLTAdRequest class]]) { - request = [_adRequest asGADRequest:_adUnitId]; - } else { - NSLog(@"A null or invalid ad request was provided."); - return; - } - - [GADRewardedAd loadWithAdUnitID:_adUnitId - request:request - completionHandler:^(GADRewardedAd *_Nullable rewardedAd, - NSError *_Nullable error) { - if (error) { - [self.manager onAdFailedToLoad:self error:error]; - return; - } - __weak FLTRewardedAd *weakSelf = self; - rewardedAd.paidEventHandler = ^(GADAdValue *_Nonnull value) { - if (weakSelf.manager == nil) { - return; - } - [weakSelf.manager - onPaidEvent:weakSelf - value:[[FLTAdValue alloc] - initWithValue:value.value - precision:(NSInteger)value.precision - currencyCode:value.currencyCode]]; - }; - rewardedAd.fullScreenContentDelegate = self; - self->_rewardedView = rewardedAd; - [self.manager onAdLoaded:self - responseInfo:rewardedAd.responseInfo]; - }]; -} - -- (void)show { - if (self.rewardedAd) { - [self.rewardedAd - presentFromRootViewController:nil - userDidEarnRewardHandler:^{ - GADAdReward *reward = self.rewardedAd.adReward; - FLTRewardItem *fltReward = - [[FLTRewardItem alloc] initWithAmount:reward.amount - type:reward.type]; - [self.manager onRewardedAdUserEarnedReward:self - reward:fltReward]; - }]; - } else { - NSLog(@"RewardedAd failed to show because the ad was not ready."); - } -} - -- (void)setServerSideVerificationOptions: - (FLTServerSideVerificationOptions *_Nullable)serverSideVerificationOptions { - if (_rewardedView) { - _rewardedView.serverSideVerificationOptions = - [serverSideVerificationOptions asGADServerSideVerificationOptions]; - } else { - NSLog(@"Error - rewardedView is nil in " - @"FLTRewardedAd.setServerSideVerificationOptions"); - } -} - -@end - -#pragma mark - FLTRewardedInterstitialAd -@implementation FLTRewardedInterstitialAd { - GADRewardedInterstitialAd *_rewardedInterstitialView; - FLTAdRequest *_adRequest; - NSString *_adUnitId; -} - -- (instancetype)initWithAdUnitId:(NSString *_Nonnull)adUnitId - request:(FLTAdRequest *_Nonnull)request - adId:(NSNumber *_Nonnull)adId { - self = [super init]; - if (self) { - self.adId = adId; - _adRequest = request; - _adUnitId = [adUnitId copy]; - } - return self; -} - -- (GADRewardedInterstitialAd *_Nullable)rewardedInterstitialAd { - return _rewardedInterstitialView; -} - -- (void)load { - GADRequest *request; - if ([_adRequest isKindOfClass:[FLTGAMAdRequest class]]) { - FLTGAMAdRequest *gamRequest = (FLTGAMAdRequest *)_adRequest; - request = [gamRequest asGAMRequest:_adUnitId]; - } else if ([_adRequest isKindOfClass:[FLTAdRequest class]]) { - request = [_adRequest asGADRequest:_adUnitId]; - } else { - NSLog(@"A null or invalid ad request was provided."); - return; - } - - [GADRewardedInterstitialAd - loadWithAdUnitID:_adUnitId - request:request - completionHandler:^( - GADRewardedInterstitialAd *_Nullable rewardedInterstitialAd, - NSError *_Nullable error) { - if (error) { - [self.manager onAdFailedToLoad:self error:error]; - return; - } - __weak FLTRewardedInterstitialAd *weakSelf = self; - rewardedInterstitialAd.paidEventHandler = - ^(GADAdValue *_Nonnull value) { - if (weakSelf.manager == nil) { - return; - } - [weakSelf.manager - onPaidEvent:weakSelf - value:[[FLTAdValue alloc] - initWithValue:value.value - precision:(NSInteger)value.precision - currencyCode:value.currencyCode]]; - }; - rewardedInterstitialAd.fullScreenContentDelegate = self; - self->_rewardedInterstitialView = rewardedInterstitialAd; - [self.manager onAdLoaded:self - responseInfo:rewardedInterstitialAd.responseInfo]; - }]; -} - -- (void)show { - if (self.rewardedInterstitialAd) { - [self.rewardedInterstitialAd - presentFromRootViewController:nil - userDidEarnRewardHandler:^{ - GADAdReward *reward = self.rewardedInterstitialAd.adReward; - FLTRewardItem *fltReward = - [[FLTRewardItem alloc] initWithAmount:reward.amount - type:reward.type]; - [self.manager - onRewardedInterstitialAdUserEarnedReward:self - reward:fltReward]; - }]; - } else { - NSLog( - @"RewardedInterstitialAd failed to show because the ad was not ready."); - } -} - -- (void)setServerSideVerificationOptions: - (FLTServerSideVerificationOptions *_Nullable)serverSideVerificationOptions { - if (_rewardedInterstitialView) { - _rewardedInterstitialView.serverSideVerificationOptions = - [serverSideVerificationOptions asGADServerSideVerificationOptions]; - } else { - NSLog(@"Error - rewardedView is nil in " - @"FLTRewardedInterstitialAd.setServerSideVerificationOptions"); - } -} - -@end - -#pragma mark - FLTAppOpenAd -@implementation FLTAppOpenAd { - GADAppOpenAd *_appOpenAd; - FLTAdRequest *_adRequest; - NSString *_adUnitId; -} - -- (instancetype _Nonnull)initWithAdUnitId:(NSString *_Nonnull)adUnitId - request:(FLTAdRequest *_Nonnull)request - adId:(NSNumber *_Nonnull)adId { - self = [super init]; - if (self) { - self.adId = adId; - _adRequest = request; - _adUnitId = [adUnitId copy]; - } - return self; -} - -- (GADAppOpenAd *_Nullable)appOpenAd { - return _appOpenAd; -} - -- (void)load { - GADRequest *request; - if ([_adRequest isKindOfClass:[FLTGAMAdRequest class]]) { - FLTGAMAdRequest *gamRequest = (FLTGAMAdRequest *)_adRequest; - request = [gamRequest asGAMRequest:_adUnitId]; - } else if ([_adRequest isKindOfClass:[FLTAdRequest class]]) { - request = [_adRequest asGADRequest:_adUnitId]; - } else { - NSLog(@"A null or invalid ad request was provided."); - return; - } - - [GADAppOpenAd loadWithAdUnitID:_adUnitId - request:request - completionHandler:^(GADAppOpenAd *_Nullable appOpenAd, - NSError *_Nullable error) { - if (error) { - [self.manager onAdFailedToLoad:self error:error]; - return; - } - __weak FLTAppOpenAd *weakSelf = self; - appOpenAd.paidEventHandler = ^(GADAdValue *_Nonnull value) { - if (weakSelf.manager == nil) { - return; - } - [weakSelf.manager - onPaidEvent:weakSelf - value:[[FLTAdValue alloc] - initWithValue:value.value - precision:(NSInteger)value.precision - currencyCode:value.currencyCode]]; - }; - appOpenAd.fullScreenContentDelegate = self; - - self->_appOpenAd = appOpenAd; - [self.manager onAdLoaded:self - responseInfo:appOpenAd.responseInfo]; - }]; -} - -- (void)show { - if (self.appOpenAd) { - [self.appOpenAd presentFromRootViewController:nil]; - } else { - NSLog(@"AppOpenAd failed to show because the ad was not ready."); - } -} - -@end - -#pragma mark - FLTNativeAd - -@implementation FLTNativeAd { - NSString *_adUnitId; - FLTAdRequest *_adRequest; - NSObject *_nativeAdFactory; - NSDictionary *_customOptions; - UIView *_view; - GADAdLoader *_adLoader; - FLTNativeAdOptions *_nativeAdOptions; - FLTNativeTemplateStyle *_nativeTemplateStyle; -} - -- (instancetype _Nonnull) - initWithAdUnitId:(NSString *_Nonnull)adUnitId - request:(FLTAdRequest *_Nonnull)request - nativeAdFactory:(NSObject *_Nonnull)nativeAdFactory - customOptions:(NSDictionary *_Nullable)customOptions - rootViewController:(UIViewController *_Nonnull)rootViewController - adId:(NSNumber *_Nonnull)adId - nativeAdOptions:(FLTNativeAdOptions *_Nullable)nativeAdOptions - nativeTemplateStyle:(FLTNativeTemplateStyle *_Nullable)nativeTemplateStyle { - self = [super init]; - if (self) { - self.adId = adId; - _adUnitId = adUnitId; - _adRequest = request; - _nativeAdFactory = nativeAdFactory; - _customOptions = customOptions; - NSArray *adLoaderOptions = - (nativeAdOptions == nil || [[NSNull null] isEqual:nativeAdOptions]) - ? @[] - : nativeAdOptions.asGADAdLoaderOptions; - - _adLoader = - [[GADAdLoader alloc] initWithAdUnitID:_adUnitId - rootViewController:rootViewController - adTypes:@[ GADAdLoaderAdTypeNative ] - options:adLoaderOptions]; - _nativeAdOptions = nativeAdOptions; - _nativeTemplateStyle = nativeTemplateStyle; - self.adLoader.delegate = self; - } - return self; -} - -- (GADAdLoader *_Nonnull)adLoader { - return _adLoader; -} - -- (void)load { - GADRequest *request; - if ([_adRequest isKindOfClass:[FLTGAMAdRequest class]]) { - FLTGAMAdRequest *gamRequest = (FLTGAMAdRequest *)_adRequest; - request = [gamRequest asGAMRequest:_adUnitId]; - } else { - request = [_adRequest asGADRequest:_adUnitId]; - } - - [self.adLoader loadRequest:request]; -} - -#pragma mark - GADNativeAdLoaderDelegate - -- (void)adLoader:(GADAdLoader *)adLoader - didReceiveNativeAd:(GADNativeAd *)nativeAd { - // Use Nil instead of Null to fix crash with Swift integrations. - NSDictionary *customOptions = - [[NSNull null] isEqual:_customOptions] ? nil : _customOptions; - if ([FLTAdUtil isNotNull:_nativeTemplateStyle]) { - _view = [_nativeTemplateStyle getDisplayedView:nativeAd]; - } else if ([FLTAdUtil isNotNull:_nativeAdFactory]) { - _view = [_nativeAdFactory createNativeAd:nativeAd - customOptions:customOptions]; - } - - nativeAd.delegate = self; - - __weak FLTNativeAd *weakSelf = self; - nativeAd.paidEventHandler = ^(GADAdValue *_Nonnull value) { - if (weakSelf.manager == nil) { - return; - } - [weakSelf.manager - onPaidEvent:weakSelf - value:[[FLTAdValue alloc] initWithValue:value.value - precision:(NSInteger)value.precision - currencyCode:value.currencyCode]]; - }; - [manager onAdLoaded:self responseInfo:nativeAd.responseInfo]; -} - -- (void)adLoader:(GADAdLoader *)adLoader - didFailToReceiveAdWithError:(NSError *)error { - [manager onAdFailedToLoad:self error:error]; -} - -#pragma mark - GADNativeAdDelegate - -- (void)nativeAdDidRecordClick:(GADNativeAd *)nativeAd { - [manager adDidRecordClick:self]; -} - -- (void)nativeAdDidRecordImpression:(GADNativeAd *)nativeAd { - [manager onNativeAdImpression:self]; -} - -- (void)nativeAdWillPresentScreen:(GADNativeAd *)nativeAd { - [manager onNativeAdWillPresentScreen:self]; -} - -- (void)nativeAdWillDismissScreen:(nonnull GADNativeAd *)nativeAd { - [manager onNativeAdWillDismissScreen:self]; -} - -- (void)nativeAdDidDismissScreen:(GADNativeAd *)nativeAd { - [manager onNativeAdDidDismissScreen:self]; -} - -#pragma mark - FlutterPlatformView -- (UIView *)view { - return _view; -} - -@synthesize manager; - -@end - -@implementation FLTRewardItem -- (instancetype _Nonnull)initWithAmount:(NSNumber *_Nonnull)amount - type:(NSString *_Nonnull)type { - self = [super init]; - if (self) { - _amount = amount; - _type = type; - } - return self; -} - -- (BOOL)isEqual:(id)other { - if (other == self) { - return YES; - } else if (![super isEqual:other]) { - return NO; - } else { - FLTRewardItem *item = other; - return [_amount isEqual:item.amount] && [_type isEqual:item.type]; - } -} - -- (NSUInteger)hash { - return _amount.hash | _type.hash; -} -@end - -@implementation FLTAdValue -- (instancetype _Nonnull)initWithValue:(NSDecimalNumber *_Nonnull)value - precision:(NSInteger)precision - currencyCode:(NSString *_Nonnull)currencyCode { - self = [super init]; - if (self) { - _valueMicros = - [value decimalNumberByMultiplyingBy:[[NSDecimalNumber alloc] - initWithInteger:1000000]]; - _precision = precision; - _currencyCode = currencyCode; - } - return self; -} -@end - -@implementation FLTVideoOptions -- (instancetype _Nonnull) - initWithClickToExpandRequested:(NSNumber *_Nullable)clickToExpandRequested - customControlsRequested:(NSNumber *_Nullable)customControlsRequested - startMuted:(NSNumber *_Nullable)startMuted { - self = [super init]; - if (self) { - _clickToExpandRequested = clickToExpandRequested; - _customControlsRequested = customControlsRequested; - _startMuted = startMuted; - } - return self; -} - -- (GADVideoOptions *_Nonnull)asGADVideoOptions { - GADVideoOptions *options = [[GADVideoOptions alloc] init]; - if ([FLTAdUtil isNotNull:_clickToExpandRequested]) { - options.clickToExpandRequested = _clickToExpandRequested.boolValue; - } - if ([FLTAdUtil isNotNull:_customControlsRequested]) { - options.customControlsRequested = _customControlsRequested.boolValue; - } - if ([FLTAdUtil isNotNull:_startMuted]) { - options.startMuted = _startMuted.boolValue; - } - return options; -} - -@end - -@implementation FLTNativeAdOptions -- (instancetype _Nonnull) - initWithAdChoicesPlacement:(NSNumber *_Nullable)adChoicesPlacement - mediaAspectRatio:(NSNumber *_Nullable)mediaAspectRatio - videoOptions:(FLTVideoOptions *_Nullable)videoOptions - requestCustomMuteThisAd:(NSNumber *_Nullable)requestCustomMuteThisAd - shouldRequestMultipleImages: - (NSNumber *_Nullable)shouldRequestMultipleImages - shouldReturnUrlsForImageAssets: - (NSNumber *_Nullable)shouldReturnUrlsForImageAssets { - self = [super init]; - if (self) { - _adChoicesPlacement = adChoicesPlacement; - _mediaAspectRatio = mediaAspectRatio; - _videoOptions = videoOptions; - _requestCustomMuteThisAd = requestCustomMuteThisAd; - _shouldRequestMultipleImages = shouldRequestMultipleImages; - _shouldReturnUrlsForImageAssets = shouldReturnUrlsForImageAssets; - } - return self; -} - -- (NSArray *_Nonnull)asGADAdLoaderOptions { - NSMutableArray *options = [NSMutableArray array]; - - GADNativeAdImageAdLoaderOptions *imageOptions = - [[GADNativeAdImageAdLoaderOptions alloc] init]; - if ([FLTAdUtil isNotNull:_shouldReturnUrlsForImageAssets]) { - imageOptions.disableImageLoading = - _shouldReturnUrlsForImageAssets.boolValue; - } - if ([FLTAdUtil isNotNull:_shouldRequestMultipleImages]) { - imageOptions.shouldRequestMultipleImages = - _shouldRequestMultipleImages.boolValue; - } - [options addObject:imageOptions]; - - if ([FLTAdUtil isNotNull:_adChoicesPlacement]) { - GADNativeAdViewAdOptions *adViewOptions = - [[GADNativeAdViewAdOptions alloc] init]; - switch (_adChoicesPlacement.intValue) { - case 0: - adViewOptions.preferredAdChoicesPosition = - GADAdChoicesPositionTopRightCorner; - break; - case 1: - adViewOptions.preferredAdChoicesPosition = - GADAdChoicesPositionTopLeftCorner; - break; - case 2: - adViewOptions.preferredAdChoicesPosition = - GADAdChoicesPositionBottomRightCorner; - break; - case 3: - adViewOptions.preferredAdChoicesPosition = - GADAdChoicesPositionBottomLeftCorner; - break; - default: - NSLog(@"AdChoicesPlacement should be an int in the range [0, 3]: %d", - _adChoicesPlacement.intValue); - break; - } - [options addObject:adViewOptions]; - } - - if ([FLTAdUtil isNotNull:_mediaAspectRatio]) { - GADNativeAdMediaAdLoaderOptions *mediaOptions = - [[GADNativeAdMediaAdLoaderOptions alloc] init]; - switch (_mediaAspectRatio.intValue) { - case 0: - mediaOptions.mediaAspectRatio = GADMediaAspectRatioUnknown; - break; - case 1: - mediaOptions.mediaAspectRatio = GADMediaAspectRatioAny; - break; - case 2: - mediaOptions.mediaAspectRatio = GADMediaAspectRatioLandscape; - break; - case 3: - mediaOptions.mediaAspectRatio = GADMediaAspectRatioPortrait; - break; - case 4: - mediaOptions.mediaAspectRatio = GADMediaAspectRatioSquare; - break; - default: - NSLog(@"MediaAspectRatio should be an int in the range [0, 4]: %d", - _mediaAspectRatio.intValue); - break; - } - [options addObject:mediaOptions]; - } - - if ([FLTAdUtil isNotNull:_videoOptions]) { - [options addObject:_videoOptions.asGADVideoOptions]; - } - return options; -} - -@end diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/ios/google_mobile_ads/Sources/google_mobile_ads/FLTAppStateNotifier.m b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/ios/google_mobile_ads/Sources/google_mobile_ads/FLTAppStateNotifier.m deleted file mode 100644 index d4ef51ad..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/ios/google_mobile_ads/Sources/google_mobile_ads/FLTAppStateNotifier.m +++ /dev/null @@ -1,142 +0,0 @@ -// Copyright 2021 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#import "FLTAppStateNotifier.h" - -@implementation FLTAppStateNotifier { - FlutterEventChannel *_eventChannel; - FlutterMethodChannel *_methodChannel; - FlutterEventSink _events; - NSMutableArray> *_observers; - BOOL _applicationInBackground; -} - -- (instancetype _Nonnull)initWithBinaryMessenger: - (NSObject *_Nonnull)messenger { - self = [self init]; - if (self) { - FLTAppStateNotifier *__weak weakSelf = self; - _observers = [[NSMutableArray alloc] init]; - _eventChannel = [FlutterEventChannel - eventChannelWithName: - @"plugins.flutter.io/google_mobile_ads/app_state_event" - binaryMessenger:messenger]; - _methodChannel = [FlutterMethodChannel - methodChannelWithName: - @"plugins.flutter.io/google_mobile_ads/app_state_method" - binaryMessenger:messenger]; - [_eventChannel setStreamHandler:self]; - [_methodChannel setMethodCallHandler:^(FlutterMethodCall *_Nonnull call, - FlutterResult _Nonnull result) { - [weakSelf handleMethodCall:call result:result]; - }]; - } - return self; -} - -- (void)handleMethodCall:(FlutterMethodCall *_Nonnull)call - result:(FlutterResult _Nonnull)result { - if ([call.method isEqualToString:@"start"]) { - [self addAppStateObservers]; - result(nil); - } else if ([call.method isEqualToString:@"stop"]) { - [self removeAppStateObservers]; - result(nil); - } else { - result(FlutterMethodNotImplemented); - } -} - -- (void)addAppStateObservers { - if (_observers.count > 0) { - NSLog(@"FLTAppStateNotifier: Already listening for foreground/background " - @"changes."); - return; - } - - id foregroundObserver = [NSNotificationCenter.defaultCenter - addObserverForName:UIApplicationWillEnterForegroundNotification - object:nil - queue:nil - usingBlock:^(NSNotification *_Nonnull note) { - [self handleWillEnterForeground]; - }]; - [_observers addObject:foregroundObserver]; - - id backgroundObserver = [NSNotificationCenter.defaultCenter - addObserverForName:UIApplicationDidEnterBackgroundNotification - object:nil - queue:nil - usingBlock:^(NSNotification *_Nonnull note) { - [self handleDidEnterBackground]; - }]; - [_observers addObject:backgroundObserver]; - - if (@available(iOS 13.0, *)) { - id foregroundSceneObserver = [NSNotificationCenter.defaultCenter - addObserverForName:UISceneWillEnterForegroundNotification - object:nil - queue:nil - usingBlock:^(NSNotification *_Nonnull note) { - [self handleWillEnterForeground]; - }]; - [_observers addObject:foregroundSceneObserver]; - - id backgroundSceneObserver = [NSNotificationCenter.defaultCenter - addObserverForName:UISceneDidEnterBackgroundNotification - object:nil - queue:nil - usingBlock:^(NSNotification *_Nonnull note) { - [self handleDidEnterBackground]; - }]; - [_observers addObject:backgroundSceneObserver]; - } -} - -- (void)removeAppStateObservers { - while (_observers.count > 0) { - [NSNotificationCenter.defaultCenter removeObserver:_observers.lastObject]; - [_observers removeLastObject]; - } -} - -- (void)handleWillEnterForeground { - if (!_applicationInBackground) { - return; - } - _applicationInBackground = NO; - _events(@"foreground"); -} - -- (void)handleDidEnterBackground { - if (_applicationInBackground) { - return; - } - _applicationInBackground = YES; - _events(@"background"); -} - -- (FlutterError *_Nullable)onCancelWithArguments:(id _Nullable)arguments { - _events = nil; - return nil; -} - -- (FlutterError *_Nullable)onListenWithArguments:(id _Nullable)arguments - eventSink: - (nonnull FlutterEventSink)events { - _events = events; - return nil; -} - -@end diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/ios/google_mobile_ads/Sources/google_mobile_ads/FLTGoogleMobileAdsCollection_Internal.m b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/ios/google_mobile_ads/Sources/google_mobile_ads/FLTGoogleMobileAdsCollection_Internal.m deleted file mode 100644 index 6efb188e..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/ios/google_mobile_ads/Sources/google_mobile_ads/FLTGoogleMobileAdsCollection_Internal.m +++ /dev/null @@ -1,70 +0,0 @@ -// Copyright 2021 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#import "FLTGoogleMobileAdsCollection_Internal.h" - -@implementation FLTGoogleMobileAdsCollection { - NSMutableDictionary> *_dictionary; - dispatch_queue_t _lockQueue; -} - -- (instancetype _Nonnull)init { - self = [super init]; - if (self) { - _dictionary = [[NSMutableDictionary alloc] init]; - _lockQueue = dispatch_queue_create("FLTGoogleMobileAdsCollection", - DISPATCH_QUEUE_SERIAL); - } - return self; -} - -- (void)setObject:(id _Nonnull)object forKey:(id _Nonnull)key { - if (key && object) { - dispatch_async(_lockQueue, ^{ - self->_dictionary[key] = object; - }); - } -} - -- (void)removeObjectForKey:(id _Nonnull)key { - if (key != nil) { - dispatch_async(_lockQueue, ^{ - [self->_dictionary removeObjectForKey:key]; - }); - } -} - -- (id _Nullable)objectForKey:(id _Nonnull)key { - id __block object = nil; - dispatch_sync(_lockQueue, ^{ - object = _dictionary[key]; - }); - return object; -} - -- (NSArray *_Nonnull)allKeysForObject:(id _Nonnull)object { - NSArray __block *keys = nil; - dispatch_sync(_lockQueue, ^{ - keys = [_dictionary allKeysForObject:object]; - }); - return keys; -} - -- (void)removeAllObjects { - dispatch_async(_lockQueue, ^{ - [self->_dictionary removeAllObjects]; - }); -} - -@end diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/ios/google_mobile_ads/Sources/google_mobile_ads/FLTGoogleMobileAdsPlugin.m b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/ios/google_mobile_ads/Sources/google_mobile_ads/FLTGoogleMobileAdsPlugin.m deleted file mode 100644 index ae62c703..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/ios/google_mobile_ads/Sources/google_mobile_ads/FLTGoogleMobileAdsPlugin.m +++ /dev/null @@ -1,592 +0,0 @@ -// Copyright 2021 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#import "FLTGoogleMobileAdsPlugin.h" -#import "FLTAdUtil.h" -#import "FLTAppStateNotifier.h" -#import "FLTConstants.h" -#import "FLTNSString.h" -#import "FLTUserMessagingPlatformManager.h" -@import webview_flutter_wkwebview; - -@interface FLTGoogleMobileAdsPlugin () -@property(nonatomic, retain) FlutterMethodChannel *channel; -@property NSObject *registrar; -@property NSMutableDictionary> - *nativeAdFactories; -@end - -/// Initialization handler for GMASDK. Invokes result at most once. -@interface FLTInitializationHandler : NSObject -- (instancetype)initWithResult:(FlutterResult)result; -- (void)handleInitializationComplete:(GADInitializationStatus *_Nonnull)status; -@end - -@interface GADMobileAds (Plugin) -- (void)setPlugin:(nullable NSString *)plugin; -@end - -@implementation FLTInitializationHandler { - FlutterResult _result; - BOOL _isInitializationCompleted; -} - -- (instancetype)initWithResult:(FlutterResult)result { - self = [super init]; - if (self) { - _isInitializationCompleted = false; - _result = result; - } - return self; -} - -- (void)handleInitializationComplete:(GADInitializationStatus *_Nonnull)status { - if (_isInitializationCompleted) { - return; - } - _result([[FLTInitializationStatus alloc] initWithStatus:status]); - _isInitializationCompleted = true; - GADMobileAds *mobileAds = GADMobileAds.sharedInstance; - if ([mobileAds respondsToSelector:@selector(setPlugin:)]) { - [mobileAds setPlugin:FLT_REQUEST_AGENT_VERSIONED]; - } -} - -@end - -@implementation FLTGoogleMobileAdsPlugin { - NSMutableDictionary> *_nativeAdFactories; - FLTAdInstanceManager *_manager; - id _mediationNetworkExtrasProvider; - FLTGoogleMobileAdsReaderWriter *_readerWriter; - FLTAppStateNotifier *_appStateNotifier; - FLTUserMessagingPlatformManager *_userMessagingPlatformManager; - __weak FlutterAppDelegate *_appDelegate; -} - -+ (void)registerWithRegistrar:(NSObject *)registrar { - FLTGoogleMobileAdsPlugin *instance = [[FLTGoogleMobileAdsPlugin alloc] - initWithRegistrar:registrar binaryMessenger:registrar.messenger]; - [registrar publish:instance]; - - FLTGoogleMobileAdsReaderWriter *readerWriter = - [[FLTGoogleMobileAdsReaderWriter alloc] init]; - instance->_readerWriter = readerWriter; - - NSObject *codec = - [FlutterStandardMethodCodec codecWithReaderWriter:readerWriter]; - - FlutterMethodChannel *channel = [FlutterMethodChannel - methodChannelWithName:@"plugins.flutter.io/google_mobile_ads" - binaryMessenger:[registrar messenger] - codec:codec]; - [registrar addMethodCallDelegate:instance channel:channel]; - - FLTNewGoogleMobileAdsViewFactory *viewFactory = - [[FLTNewGoogleMobileAdsViewFactory alloc] - initWithManager:instance->_manager]; - [registrar - registerViewFactory:viewFactory - withId:@"plugins.flutter.io/google_mobile_ads/ad_widget"]; - [registrar addApplicationDelegate:instance]; -} - -- (instancetype)init { - self = [super init]; - return self; -} - -- (BOOL)application:(UIApplication *)application - didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { - _appDelegate = (FlutterAppDelegate *)application.delegate; - return YES; -} - -- (instancetype)initWithRegistrar: (NSObject*)registrar - binaryMessenger: (id)binaryMessenger { - self = [self init]; - if (self) { - _registrar = registrar; - _nativeAdFactories = [NSMutableDictionary dictionary]; - _manager = - [[FLTAdInstanceManager alloc] initWithBinaryMessenger:binaryMessenger]; - _appStateNotifier = - [[FLTAppStateNotifier alloc] initWithBinaryMessenger:binaryMessenger]; - _userMessagingPlatformManager = [[FLTUserMessagingPlatformManager alloc] - initWithBinaryMessenger:binaryMessenger]; - } - - return self; -} - -+ (BOOL)registerMediationNetworkExtrasProvider: - (id _Nonnull) - mediationNetworkExtrasProvider - registry: - (id _Nonnull) - registry { - NSString *pluginClassName = - NSStringFromClass([FLTGoogleMobileAdsPlugin class]); - FLTGoogleMobileAdsPlugin *adMobPlugin = (FLTGoogleMobileAdsPlugin *)[registry - valuePublishedByPlugin:pluginClassName]; - if (!adMobPlugin) { - NSLog(@"Could not find a %@ instance registering mediation extras " - @"provider. The plugin may " - @"have not been registered.", - pluginClassName); - return NO; - } - - adMobPlugin->_mediationNetworkExtrasProvider = mediationNetworkExtrasProvider; - adMobPlugin->_readerWriter.mediationNetworkExtrasProvider = - mediationNetworkExtrasProvider; - - return YES; -} - -+ (void)unregisterMediationNetworkExtrasProvider: - (id _Nonnull)registry { - NSString *pluginClassName = - NSStringFromClass([FLTGoogleMobileAdsPlugin class]); - FLTGoogleMobileAdsPlugin *adMobPlugin = (FLTGoogleMobileAdsPlugin *)[registry - valuePublishedByPlugin:pluginClassName]; - if (!adMobPlugin) { - NSLog(@"Could not find a %@ instance deregistering mediation extras " - @"provider. The plugin may " - @"have not been registered.", - pluginClassName); - return; - } - - adMobPlugin->_mediationNetworkExtrasProvider = nil; - adMobPlugin->_readerWriter.mediationNetworkExtrasProvider = nil; -} - -+ (BOOL)registerNativeAdFactory:(id)registry - factoryId:(NSString *)factoryId - nativeAdFactory:(id)nativeAdFactory { - NSString *pluginClassName = - NSStringFromClass([FLTGoogleMobileAdsPlugin class]); - FLTGoogleMobileAdsPlugin *adMobPlugin = (FLTGoogleMobileAdsPlugin *)[registry - valuePublishedByPlugin:pluginClassName]; - if (!adMobPlugin) { - NSString *reason = - [NSString stringWithFormat:@"Could not find a %@ instance. The plugin " - @"may have not been registered.", - pluginClassName]; - [NSException exceptionWithName:NSInvalidArgumentException - reason:reason - userInfo:nil]; - } - - if (adMobPlugin.nativeAdFactories[factoryId]) { - NSLog(@"A NativeAdFactory with the following factoryId already exists: %@", - factoryId); - return NO; - } - - [adMobPlugin.nativeAdFactories setValue:nativeAdFactory forKey:factoryId]; - return YES; -} - -+ (id)unregisterNativeAdFactory: - (id)registry - factoryId:(NSString *)factoryId { - FLTGoogleMobileAdsPlugin *adMobPlugin = (FLTGoogleMobileAdsPlugin *)[registry - valuePublishedByPlugin:NSStringFromClass( - [FLTGoogleMobileAdsPlugin class])]; - - id factory = adMobPlugin.nativeAdFactories[factoryId]; - if (factory) - [adMobPlugin.nativeAdFactories removeObjectForKey:factoryId]; - return factory; -} - -- (UIViewController *)rootController { - UIViewController* root = _registrar.viewController; - if ([FLTAdUtil isNull:root]) { -// UIApplication.sharedApplication.delegate.window is not guaranteed to be -// set. Use the keyWindow in this case. -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wdeprecated-declarations" - root = UIApplication.sharedApplication.keyWindow.rootViewController; -#pragma clang diagnostic pop - } - - // Get the presented view controller. This fixes an issue in the add to app - // case: https://github.com/googleads/googleads-mobile-flutter/issues/700 - UIViewController *presentedViewController = root; - while (presentedViewController.presentedViewController && - ![presentedViewController.presentedViewController isBeingDismissed]) { - if ([presentedViewController isKindOfClass:[UITabBarController class]]) { - UITabBarController *tabBarController = - (UITabBarController *)presentedViewController; - presentedViewController = tabBarController.selectedViewController; - } else if ([presentedViewController - isKindOfClass:[UINavigationController class]]) { - UINavigationController *navigationController = - (UINavigationController *)presentedViewController; - presentedViewController = navigationController.visibleViewController; - } else { - presentedViewController = presentedViewController.presentedViewController; - } - } - return presentedViewController; -} - -- (void)handleMethodCall:(FlutterMethodCall *)call - result:(FlutterResult)result { - UIViewController *rootController = self.rootController; - - if ([call.method isEqualToString:@"MobileAds#initialize"]) { - FLTInitializationHandler *handler = - [[FLTInitializationHandler alloc] initWithResult:result]; - [[GADMobileAds sharedInstance] - startWithCompletionHandler:^(GADInitializationStatus *_Nonnull status) { - [handler handleInitializationComplete:status]; - }]; - } else if ([call.method isEqualToString:@"_init"]) { - [_manager disposeAllAds]; - result(nil); - } else if ([call.method isEqualToString:@"MobileAds#setSameAppKeyEnabled"]) { - GADRequestConfiguration *requestConfig = - GADMobileAds.sharedInstance.requestConfiguration; - NSNumber *isEnabled = call.arguments[@"isEnabled"]; - [requestConfig setPublisherFirstPartyIDEnabled:isEnabled.boolValue]; - result(nil); - } else if ([call.method isEqualToString:@"MobileAds#setAppMuted"]) { - GADMobileAds.sharedInstance.applicationMuted = - [call.arguments[@"muted"] boolValue]; - result(nil); - } else if ([call.method isEqualToString:@"MobileAds#setAppVolume"]) { - GADMobileAds.sharedInstance.applicationVolume = - [call.arguments[@"volume"] floatValue]; - result(nil); - } else if ([call.method - isEqualToString:@"MobileAds#disableSDKCrashReporting"]) { - [GADMobileAds.sharedInstance disableSDKCrashReporting]; - result(nil); - } else if ([call.method - isEqualToString:@"MobileAds#disableMediationInitialization"]) { - [GADMobileAds.sharedInstance disableMediationInitialization]; - result(nil); - } else if ([call.method isEqualToString:@"MobileAds#openDebugMenu"]) { - NSString *adUnitId = call.arguments[@"adUnitId"]; - GADDebugOptionsViewController *debugOptionsViewController = - [GADDebugOptionsViewController - debugOptionsViewControllerWithAdUnitID:adUnitId]; - [rootController presentViewController:debugOptionsViewController - animated:YES - completion:nil]; - result(nil); - } else if ([call.method isEqualToString:@"MobileAds#openAdInspector"]) { - [GADMobileAds.sharedInstance - presentAdInspectorFromViewController:rootController - completionHandler:^(NSError *error) { - if (error) { - result([FlutterError - errorWithCode:[[NSString alloc] - gma_initWithInt:error.code] - message:error.localizedDescription - details:error.domain]); - } else { - result(nil); - } - }]; - } else if ([call.method isEqualToString:@"MobileAds#getVersionString"]) { - result(GADGetStringFromVersionNumber( - GADMobileAds.sharedInstance.versionNumber)); - } else if ([call.method - isEqualToString:@"MobileAds#getRequestConfiguration"]) { - result(GADMobileAds.sharedInstance.requestConfiguration); - } else if ([call.method isEqualToString:@"MobileAds#registerWebView"]) { - UIViewController* viewController = _registrar.viewController; - NSNumber *webViewId = call.arguments[@"webViewId"]; - if ([viewController isKindOfClass:FlutterViewController.class]) { - FlutterEngine* engine = ((FlutterViewController*)viewController).engine; - WKWebView *webView = [FLTAdUtil getWebView:webViewId - flutterPluginRegistry:engine]; - [GADMobileAds.sharedInstance registerWebView:webView]; - } else if (!_appDelegate) { - NSLog(@"App delegate is null in MobileAds#registerWebView, skipping"); - } else { - WKWebView *webView = [FLTAdUtil getWebView:webViewId - flutterPluginRegistry:_appDelegate]; - [GADMobileAds.sharedInstance registerWebView:webView]; - } - result(nil); - } else if ([call.method - isEqualToString:@"MobileAds#updateRequestConfiguration"]) { - NSString *maxAdContentRating = call.arguments[@"maxAdContentRating"]; - NSNumber *tagForChildDirectedTreatment = - call.arguments[@"tagForChildDirectedTreatment"]; - NSNumber *tagForUnderAgeOfConsent = - call.arguments[@"tagForUnderAgeOfConsent"]; - NSArray *testDeviceIds = call.arguments[@"testDeviceIds"]; - - if (maxAdContentRating != NULL && maxAdContentRating != (id)[NSNull null]) { - if ([maxAdContentRating isEqualToString:@"G"]) { - GADMobileAds.sharedInstance.requestConfiguration.maxAdContentRating = - GADMaxAdContentRatingGeneral; - } else if ([maxAdContentRating isEqualToString:@"PG"]) { - GADMobileAds.sharedInstance.requestConfiguration.maxAdContentRating = - GADMaxAdContentRatingParentalGuidance; - } else if ([maxAdContentRating isEqualToString:@"T"]) { - GADMobileAds.sharedInstance.requestConfiguration.maxAdContentRating = - GADMaxAdContentRatingTeen; - } else if ([maxAdContentRating isEqualToString:@"MA"]) { - GADMobileAds.sharedInstance.requestConfiguration.maxAdContentRating = - GADMaxAdContentRatingMatureAudience; - } - } - if (tagForChildDirectedTreatment != NULL && - tagForChildDirectedTreatment != (id)[NSNull null]) { - switch ([tagForChildDirectedTreatment intValue]) { - case 0: - GADMobileAds.sharedInstance.requestConfiguration - .tagForChildDirectedTreatment = @NO; - break; - case 1: - GADMobileAds.sharedInstance.requestConfiguration - .tagForChildDirectedTreatment = @YES; - break; - } - } - if (tagForUnderAgeOfConsent != NULL && - tagForUnderAgeOfConsent != (id)[NSNull null]) { - switch ([tagForUnderAgeOfConsent intValue]) { - case 0: - GADMobileAds.sharedInstance.requestConfiguration - .tagForUnderAgeOfConsent = @NO; - break; - case 1: - GADMobileAds.sharedInstance.requestConfiguration - .tagForUnderAgeOfConsent = @YES; - break; - } - } - if (testDeviceIds != NULL && testDeviceIds != (id)[NSNull null]) { - GADMobileAds.sharedInstance.requestConfiguration.testDeviceIdentifiers = - testDeviceIds; - } - result(nil); - } else if ([call.method isEqualToString:@"loadBannerAd"]) { - FLTBannerAd *ad = - [[FLTBannerAd alloc] initWithAdUnitId:call.arguments[@"adUnitId"] - size:call.arguments[@"size"] - request:call.arguments[@"request"] - rootViewController:rootController - adId:call.arguments[@"adId"]]; - [_manager loadAd:ad]; - result(nil); - } else if ([call.method isEqualToString:@"loadAdManagerBannerAd"]) { - FLTGAMBannerAd *ad = - [[FLTGAMBannerAd alloc] initWithAdUnitId:call.arguments[@"adUnitId"] - sizes:call.arguments[@"sizes"] - request:call.arguments[@"request"] - rootViewController:rootController - adId:call.arguments[@"adId"]]; - [_manager loadAd:ad]; - result(nil); - } else if ([call.method isEqualToString:@"loadFluidAd"]) { - FLTFluidGAMBannerAd *ad = [[FLTFluidGAMBannerAd alloc] - initWithAdUnitId:call.arguments[@"adUnitId"] - request:call.arguments[@"request"] - rootViewController:rootController - adId:call.arguments[@"adId"]]; - [_manager loadAd:ad]; - result(nil); - } else if ([call.method isEqualToString:@"loadNativeAd"]) { - NSString *factoryId = call.arguments[@"factoryId"]; - id factory = _nativeAdFactories[factoryId]; - FLTNativeTemplateStyle *templateStyle = - call.arguments[@"nativeTemplateStyle"]; - if ([FLTAdUtil isNull:factory] && [FLTAdUtil isNull:templateStyle]) { - NSString *message = - [NSString stringWithFormat:@"Can't find NativeAdFactory with id: %@ " - @"and nativeTemplateStyle is null", - factoryId]; - result([FlutterError errorWithCode:@"NativeAdError" - message:message - details:nil]); - return; - } - - FLTAdRequest *request; - if ([FLTAdUtil isNotNull:call.arguments[@"request"]]) { - request = call.arguments[@"request"]; - } else if ([FLTAdUtil isNotNull:call.arguments[@"adManagerRequest"]]) { - request = call.arguments[@"adManagerRequest"]; - } - - FLTNativeAd *ad = [[FLTNativeAd alloc] - initWithAdUnitId:call.arguments[@"adUnitId"] - request:request - nativeAdFactory:(id)factory - customOptions:call.arguments[@"customOptions"] - rootViewController:rootController - adId:call.arguments[@"adId"] - nativeAdOptions:call.arguments[@"nativeAdOptions"] - nativeTemplateStyle:call.arguments[@"nativeTemplateStyle"]]; - [_manager loadAd:ad]; - result(nil); - } else if ([call.method isEqualToString:@"loadInterstitialAd"]) { - FLTInterstitialAd *ad = - [[FLTInterstitialAd alloc] initWithAdUnitId:call.arguments[@"adUnitId"] - request:call.arguments[@"request"] - adId:call.arguments[@"adId"]]; - [_manager loadAd:ad]; - result(nil); - } else if ([call.method isEqualToString:@"loadAdManagerInterstitialAd"]) { - FLTGAMInterstitialAd *ad = [[FLTGAMInterstitialAd alloc] - initWithAdUnitId:call.arguments[@"adUnitId"] - request:call.arguments[@"request"] - adId:call.arguments[@"adId"]]; - [_manager loadAd:ad]; - result(nil); - } else if ([call.method isEqualToString:@"loadRewardedAd"]) { - FLTAdRequest *request; - if ([FLTAdUtil isNotNull:call.arguments[@"request"]]) { - request = call.arguments[@"request"]; - } else if ([FLTAdUtil isNotNull:call.arguments[@"adManagerRequest"]]) { - request = call.arguments[@"adManagerRequest"]; - } else { - result([FlutterError - errorWithCode:@"InvalidRequest" - message:@"A null or invalid ad request was provided." - details:nil]); - return; - } - - FLTRewardedAd *ad = - [[FLTRewardedAd alloc] initWithAdUnitId:call.arguments[@"adUnitId"] - request:request - adId:call.arguments[@"adId"]]; - [_manager loadAd:ad]; - result(nil); - } else if ([call.method isEqualToString:@"loadRewardedInterstitialAd"]) { - FLTAdRequest *request; - if ([FLTAdUtil isNotNull:call.arguments[@"request"]]) { - request = call.arguments[@"request"]; - } else if ([FLTAdUtil isNotNull:call.arguments[@"adManagerRequest"]]) { - request = call.arguments[@"adManagerRequest"]; - } else { - result([FlutterError - errorWithCode:@"InvalidRequest" - message:@"A null or invalid ad request was provided." - details:nil]); - return; - } - - FLTRewardedInterstitialAd *ad = [[FLTRewardedInterstitialAd alloc] - initWithAdUnitId:call.arguments[@"adUnitId"] - request:request - adId:call.arguments[@"adId"]]; - [_manager loadAd:ad]; - result(nil); - } else if ([call.method isEqualToString:@"loadAppOpenAd"]) { - FLTAdRequest *request; - if ([FLTAdUtil isNotNull:call.arguments[@"request"]]) { - request = call.arguments[@"request"]; - } else if ([FLTAdUtil isNotNull:call.arguments[@"adManagerRequest"]]) { - request = call.arguments[@"adManagerRequest"]; - } else { - result([FlutterError - errorWithCode:@"InvalidRequest" - message:@"A null or invalid ad request was provided." - details:nil]); - return; - } - FLTAppOpenAd *ad = - [[FLTAppOpenAd alloc] initWithAdUnitId:call.arguments[@"adUnitId"] - request:request - adId:call.arguments[@"adId"]]; - [_manager loadAd:ad]; - result(nil); - } else if ([call.method isEqualToString:@"disposeAd"]) { - [_manager dispose:call.arguments[@"adId"]]; - result(nil); - } else if ([call.method isEqualToString:@"showAdWithoutView"]) { - [_manager showAdWithID:call.arguments[@"adId"]]; - result(nil); - } else if ([call.method - isEqualToString:@"AdSize#getAnchoredAdaptiveBannerAdSize"]) { - FLTAnchoredAdaptiveBannerSize *size = [[FLTAnchoredAdaptiveBannerSize alloc] - initWithFactory:[[FLTAdSizeFactory alloc] init] - orientation:call.arguments[@"orientation"] - width:call.arguments[@"width"] - isLarge:false]; - if (IsGADAdSizeValid(size.size)) { - result(size.height); - } else { - result(nil); - } - } else if ([call.method isEqualToString:@"AdSize#getLargeAnchoredAdaptiveBannerAdSize"]) { - FLTAnchoredAdaptiveBannerSize *size = [[FLTAnchoredAdaptiveBannerSize alloc] - initWithFactory:[[FLTAdSizeFactory alloc] init] - orientation:call.arguments[@"orientation"] - width:call.arguments[@"width"] - isLarge:true]; - if (IsGADAdSizeValid(size.size)) { - result(size.height); - } else { - result(nil); - } - } else if ([call.method isEqualToString:@"getAdSize"]) { - id ad = [_manager adFor:call.arguments[@"adId"]]; - if ([FLTAdUtil isNull:ad]) { - // Called on an ad that hasn't been loaded yet. - result(nil); - } - if ([ad isKindOfClass:[FLTBannerAd class]]) { - FLTBannerAd *bannerAd = (FLTBannerAd *)ad; - result([bannerAd getAdSize]); - } else { - result(FlutterMethodNotImplemented); - } - } else if ([call.method isEqualToString:@"isCollapsible"]) { - id ad = [_manager adFor:call.arguments[@"adId"]]; - if ([FLTAdUtil isNull:ad]) { - // Called on an ad that hasn't been loaded yet. - result(@NO); - } - if ([ad isKindOfClass:[FLTBannerAd class]]) { - FLTBannerAd *bannerAd = (FLTBannerAd *)ad; - result(@([bannerAd isCollapsible])); - } else { - result(FlutterMethodNotImplemented); - } - } else if ([call.method - isEqualToString:@"setServerSideVerificationOptions"]) { - id ad = [_manager adFor:call.arguments[@"adId"]]; - FLTServerSideVerificationOptions *options = - call.arguments[@"serverSideVerificationOptions"]; - if ([ad isKindOfClass:[FLTRewardedAd class]]) { - FLTRewardedAd *rewardedAd = (FLTRewardedAd *)ad; - [rewardedAd setServerSideVerificationOptions:options]; - } else if ([ad isKindOfClass:[FLTRewardedInterstitialAd class]]) { - FLTRewardedInterstitialAd *rewardedInterstitialAd = - (FLTRewardedInterstitialAd *)ad; - [rewardedInterstitialAd setServerSideVerificationOptions:options]; - } else { - NSLog(@"Error - setServerSideVerificationOptions called on missing or " - @"invalid ad id: %@", - call.arguments[@"adId"]); - } - result(nil); - } else { - result(FlutterMethodNotImplemented); - } -} -@end diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/ios/google_mobile_ads/Sources/google_mobile_ads/FLTGoogleMobileAdsReaderWriter_Internal.m b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/ios/google_mobile_ads/Sources/google_mobile_ads/FLTGoogleMobileAdsReaderWriter_Internal.m deleted file mode 100644 index fa8bcb5b..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/ios/google_mobile_ads/Sources/google_mobile_ads/FLTGoogleMobileAdsReaderWriter_Internal.m +++ /dev/null @@ -1,532 +0,0 @@ -// Copyright 2021 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#import "FLTGoogleMobileAdsReaderWriter_Internal.h" -#import "FLTAdUtil.h" -#import "FLTMediationExtras.h" -#import "FLTNativeTemplateColor.h" -#import "FLTNativeTemplateFontStyle.h" -#import "FLTNativeTemplateStyle.h" -#import "FLTNativeTemplateTextStyle.h" -#import "FLTNativeTemplateType.h" - -// The type values below must be consistent for each platform. -typedef NS_ENUM(NSInteger, FLTAdMobField) { - FLTAdMobFieldAdSize = 128, - FLTAdMobFieldAdRequest = 129, - FLTAdMobFieldFluidAdSize = 130, - FLTAdMobFieldRewardItem = 132, - FLTAdMobFieldLoadError = 133, - FLTAdMobFieldAdManagerAdRequest = 134, - FLTAdMobFieldAdapterInitializationState = 135, - FLTAdMobFieldAdapterStatus = 136, - FLTAdMobFieldInitializationStatus = 137, - FLTAdmobFieldServerSideVerificationOptions = 138, - FLTAdmobFieldAdError = 139, - FLTAdmobFieldGadResponseInfo = 140, - FLTAdmobFieldGADAdNetworkResponseInfo = 141, - FLTAdmobFieldAnchoredAdaptiveBannerAdSize = 142, - FLTAdmobFieldSmartBannerAdSize = 143, - FLTAdmobFieldNativeAdOptions = 144, - FLTAdmobFieldVideoOptions = 145, - FLTAdmobFieldInlineAdaptiveAdSize = 146, - FLTAdmobRequestConfigurationParams = 148, - FLTAdmobFieldNativeTemplateStyle = 149, - FLTAdmobFieldNativeTemplateTextStyle = 150, - FLTAdmobFieldNativeTemplateFontStyle = 151, - FLTAdmobFieldNativeTemplateType = 152, - FLTAdmobFieldNativeTemplateColor = 153, - FLTAdmobFieldMediationExtras = 154 - -}; - -@interface FLTGoogleMobileAdsWriter : FlutterStandardWriter -@end - -@implementation FLTGoogleMobileAdsReaderWriter -- (instancetype)init { - return [self initWithFactory:[[FLTAdSizeFactory alloc] init]]; -} - -- (instancetype _Nonnull)initWithFactory: - (FLTAdSizeFactory *_Nonnull)adSizeFactory { - self = [super init]; - if (self) { - _adSizeFactory = adSizeFactory; - } - return self; -} - -- (FlutterStandardReader *_Nonnull)readerWithData:(NSData *_Nonnull)data { - FLTGoogleMobileAdsReader *reader = - [[FLTGoogleMobileAdsReader alloc] initWithFactory:_adSizeFactory - data:data]; - reader.mediationNetworkExtrasProvider = _mediationNetworkExtrasProvider; - return reader; -} - -- (FlutterStandardWriter *_Nonnull)writerWithData: - (NSMutableData *_Nonnull)data { - return [[FLTGoogleMobileAdsWriter alloc] initWithData:data]; -} -@end - -@implementation FLTGoogleMobileAdsReader { - NSString *_requestAgent; -} -- (instancetype _Nonnull)initWithFactory: - (FLTAdSizeFactory *_Nonnull)adSizeFactory - data:(NSData *_Nonnull)data { - self = [super initWithData:data]; - if (self) { - _adSizeFactory = adSizeFactory; - _requestAgent = [FLTAdUtil requestAgent]; - } - return self; -} - -- (id _Nullable)readValueOfType:(UInt8)type { - FLTAdMobField field = (FLTAdMobField)type; - switch (field) { - case FLTAdMobFieldAdSize: - return [[FLTAdSize alloc] - initWithWidth:[self readValueOfType:[self readByte]] - height:[self readValueOfType:[self readByte]]]; - case FLTAdMobFieldFluidAdSize: - return [[FLTFluidSize alloc] init]; - case FLTAdMobFieldAdRequest: { - FLTAdRequest *request = [[FLTAdRequest alloc] init]; - - request.keywords = [self readValueOfType:[self readByte]]; - request.contentURL = [self readValueOfType:[self readByte]]; - - NSNumber *nonPersonalizedAds = [self readValueOfType:[self readByte]]; - request.nonPersonalizedAds = nonPersonalizedAds.boolValue; - request.neighboringContentURLs = [self readValueOfType:[self readByte]]; - request.mediationExtrasIdentifier = [self readValueOfType:[self readByte]]; - request.mediationNetworkExtrasProvider = _mediationNetworkExtrasProvider; - request.adMobExtras = [self readValueOfType:[self readByte]]; - request.requestAgent = _requestAgent; - request.mediationExtras = [self readValueOfType:[self readByte]]; - return request; - } - case FLTAdmobFieldMediationExtras: { - id flutterMediationExtras = - [[NSClassFromString([self readValueOfType:[self readByte]]) alloc] - init]; - NSMutableDictionary *flutterExtras = [self readValueOfType:[self readByte]]; - flutterMediationExtras.extras = flutterExtras; - return flutterMediationExtras; - } - case FLTAdMobFieldRewardItem: { - return [[FLTRewardItem alloc] - initWithAmount:[self readValueOfType:[self readByte]] - type:[self readValueOfType:[self readByte]]]; - } - case FLTAdmobFieldGadResponseInfo: { - NSString *responseIdentifier = [self readValueOfType:[self readByte]]; - NSString *adNetworkClassName = [self readValueOfType:[self readByte]]; - NSArray *adNetworkInfoArray = - [self readValueOfType:[self readByte]]; - FLTGADAdNetworkResponseInfo *loadedResponseInfo = - [self readValueOfType:[self readByte]]; - NSDictionary *extrasDictionary = - [self readValueOfType:[self readByte]]; - FLTGADResponseInfo *gadResponseInfo = [[FLTGADResponseInfo alloc] init]; - gadResponseInfo.adNetworkClassName = adNetworkClassName; - gadResponseInfo.responseIdentifier = responseIdentifier; - gadResponseInfo.adNetworkInfoArray = adNetworkInfoArray; - gadResponseInfo.loadedAdNetworkResponseInfo = loadedResponseInfo; - gadResponseInfo.extrasDictionary = extrasDictionary; - return gadResponseInfo; - } - case FLTAdmobFieldGADAdNetworkResponseInfo: { - NSString *adNetworkClassName = [self readValueOfType:[self readByte]]; - NSNumber *latency = [self readValueOfType:[self readByte]]; - NSString *dictionaryDescription = [self readValueOfType:[self readByte]]; - NSDictionary *adUnitMapping = - [self readValueOfType:[self readByte]]; - NSError *error = [self readValueOfType:[self readByte]]; - NSString *adSourceName = [self readValueOfType:[self readByte]]; - NSString *adSourceID = [self readValueOfType:[self readByte]]; - NSString *adSourceInstanceName = [self readValueOfType:[self readByte]]; - NSString *adSourceInstanceID = [self readValueOfType:[self readByte]]; - FLTGADAdNetworkResponseInfo *adNetworkResponseInfo = - [[FLTGADAdNetworkResponseInfo alloc] init]; - adNetworkResponseInfo.adNetworkClassName = adNetworkClassName; - adNetworkResponseInfo.latency = latency; - adNetworkResponseInfo.dictionaryDescription = dictionaryDescription; - adNetworkResponseInfo.adUnitMapping = adUnitMapping; - adNetworkResponseInfo.error = error; - adNetworkResponseInfo.adSourceName = adSourceName; - adNetworkResponseInfo.adSourceID = adSourceID; - adNetworkResponseInfo.adSourceInstanceName = adSourceInstanceName; - adNetworkResponseInfo.adSourceInstanceID = adSourceInstanceID; - - return adNetworkResponseInfo; - } - case FLTAdMobFieldLoadError: { - NSNumber *code = [self readValueOfType:[self readByte]]; - NSString *domain = [self readValueOfType:[self readByte]]; - NSString *message = [self readValueOfType:[self readByte]]; - FLTGADResponseInfo *responseInfo = [self readValueOfType:[self readByte]]; - FLTLoadAdError *loadAdError = [[FLTLoadAdError alloc] init]; - loadAdError.code = code.longValue; - loadAdError.domain = domain; - loadAdError.message = message; - loadAdError.responseInfo = responseInfo; - return loadAdError; - } - case FLTAdmobFieldAdError: { - NSNumber *code = [self readValueOfType:[self readByte]]; - NSString *domain = [self readValueOfType:[self readByte]]; - NSString *message = [self readValueOfType:[self readByte]]; - return [NSError errorWithDomain:domain - code:code.longValue - userInfo:@{NSLocalizedDescriptionKey : message}]; - } - case FLTAdMobFieldAdManagerAdRequest: { - FLTGAMAdRequest *request = [[FLTGAMAdRequest alloc] init]; - request.keywords = [self readValueOfType:[self readByte]]; - request.contentURL = [self readValueOfType:[self readByte]]; - request.customTargeting = [self readValueOfType:[self readByte]]; - request.customTargetingLists = [self readValueOfType:[self readByte]]; - NSNumber *nonPersonalizedAds = [self readValueOfType:[self readByte]]; - request.nonPersonalizedAds = nonPersonalizedAds.boolValue; - request.neighboringContentURLs = [self readValueOfType:[self readByte]]; - request.pubProvidedID = [self readValueOfType:[self readByte]]; - request.mediationExtrasIdentifier = [self readValueOfType:[self readByte]]; - request.mediationNetworkExtrasProvider = _mediationNetworkExtrasProvider; - request.adMobExtras = [self readValueOfType:[self readByte]]; - request.requestAgent = _requestAgent; - request.mediationExtras = [self readValueOfType:[self readByte]]; - return request; - } - case FLTAdMobFieldAdapterInitializationState: { - NSString *state = [self readValueOfType:[self readByte]]; - if (!state) { - return nil; - } else if ([@"notReady" isEqualToString:state]) { - return @(FLTAdapterInitializationStateNotReady); - } else if ([@"ready" isEqualToString:state]) { - return @(FLTAdapterInitializationStateReady); - } - NSLog(@"Failed to interpret AdapterInitializationState of: %@", state); - return nil; - } - case FLTAdMobFieldAdapterStatus: { - FLTAdapterStatus *status = [[FLTAdapterStatus alloc] init]; - status.state = [self readValueOfType:[self readByte]]; - status.statusDescription = [self readValueOfType:[self readByte]]; - status.latency = [self readValueOfType:[self readByte]]; - return status; - } - case FLTAdMobFieldInitializationStatus: { - FLTInitializationStatus *status = [[FLTInitializationStatus alloc] init]; - status.adapterStatuses = [self readValueOfType:[self readByte]]; - return status; - } - case FLTAdmobFieldServerSideVerificationOptions: { - FLTServerSideVerificationOptions *options = - [[FLTServerSideVerificationOptions alloc] init]; - options.userIdentifier = [self readValueOfType:[self readByte]]; - options.customRewardString = [self readValueOfType:[self readByte]]; - return options; - } - case FLTAdmobFieldAnchoredAdaptiveBannerAdSize: { - NSString *orientation = [self readValueOfType:[self readByte]]; - NSNumber *width = [self readValueOfType:[self readByte]]; - return [[FLTAnchoredAdaptiveBannerSize alloc] initWithFactory:_adSizeFactory - orientation:orientation - width:width - isLarge:false]; - } - case FLTAdmobFieldSmartBannerAdSize: - return [[FLTSmartBannerSize alloc] - initWithOrientation:[self readValueOfType:[self readByte]]]; - case FLTAdmobFieldNativeAdOptions: { - return [[FLTNativeAdOptions alloc] - initWithAdChoicesPlacement:[self readValueOfType:[self readByte]] - mediaAspectRatio:[self readValueOfType:[self readByte]] - videoOptions:[self readValueOfType:[self readByte]] - requestCustomMuteThisAd:[self readValueOfType:[self readByte]] - shouldRequestMultipleImages:[self readValueOfType:[self readByte]] - shouldReturnUrlsForImageAssets:[self readValueOfType:[self readByte]]]; - } - case FLTAdmobFieldVideoOptions: { - return [[FLTVideoOptions alloc] - initWithClickToExpandRequested:[self readValueOfType:[self readByte]] - customControlsRequested:[self readValueOfType:[self readByte]] - startMuted:[self readValueOfType:[self readByte]]]; - } - case FLTAdmobRequestConfigurationParams: { - GADMobileAds.sharedInstance.requestConfiguration.maxAdContentRating = - [self readValueOfType:[self readByte]]; - GADMobileAds.sharedInstance.requestConfiguration - .tagForChildDirectedTreatment = [self readValueOfType:[self readByte]]; - GADMobileAds.sharedInstance.requestConfiguration.tagForUnderAgeOfConsent = - [self readValueOfType:[self readByte]]; - GADMobileAds.sharedInstance.requestConfiguration.testDeviceIdentifiers = - [self readValueOfType:[self readByte]]; - return GADMobileAds.sharedInstance.requestConfiguration; - } - case FLTAdmobFieldInlineAdaptiveAdSize: { - return [[FLTInlineAdaptiveBannerSize alloc] - initWithFactory:_adSizeFactory - width:[self readValueOfType:[self readByte]] - maxHeight:[self readValueOfType:[self readByte]] - orientation:[self readValueOfType:[self readByte]]]; - } - case FLTAdmobFieldNativeTemplateStyle: { - FLTNativeTemplateType *templateType = - [self readValueOfType:[self readByte]]; - FLTNativeTemplateColor *mainBackgroundColor = - [self readValueOfType:[self readByte]]; - FLTNativeTemplateTextStyle *callToActionStyle = - [self readValueOfType:[self readByte]]; - FLTNativeTemplateTextStyle *primaryTextStyle = - [self readValueOfType:[self readByte]]; - FLTNativeTemplateTextStyle *secondaryTextStyle = - [self readValueOfType:[self readByte]]; - FLTNativeTemplateTextStyle *tertiaryTextStyle = - [self readValueOfType:[self readByte]]; - NSNumber *cornerRadius = [self readValueOfType:[self readByte]]; - return - [[FLTNativeTemplateStyle alloc] initWithTemplateType:templateType - mainBackgroundColor:mainBackgroundColor - callToActionStyle:callToActionStyle - primaryTextStyle:primaryTextStyle - secondaryTextStyle:secondaryTextStyle - tertiaryTextStyle:tertiaryTextStyle - cornerRadius:cornerRadius]; - } - case FLTAdmobFieldNativeTemplateTextStyle: { - FLTNativeTemplateColor *textColor = [self readValueOfType:[self readByte]]; - FLTNativeTemplateColor *backgroundColor = - [self readValueOfType:[self readByte]]; - FLTNativeTemplateFontStyleWrapper *fontStyle = - [self readValueOfType:[self readByte]]; - NSNumber *size = [self readValueOfType:[self readByte]]; - return [[FLTNativeTemplateTextStyle alloc] initWithTextColor:textColor - backgroundColor:backgroundColor - fontStyle:fontStyle - size:size]; - } - case FLTAdmobFieldNativeTemplateFontStyle: { - NSNumber *fontStyleIndex = [self readValueOfType:[self readByte]]; - return [[FLTNativeTemplateFontStyleWrapper alloc] - initWithInt:fontStyleIndex.intValue]; - } - case FLTAdmobFieldNativeTemplateType: { - NSNumber *templateIndex = [self readValueOfType:[self readByte]]; - return [[FLTNativeTemplateType alloc] initWithInt:templateIndex.intValue]; - } - case FLTAdmobFieldNativeTemplateColor: { - NSNumber *alpha = [self readValueOfType:[self readByte]]; - NSNumber *red = [self readValueOfType:[self readByte]]; - NSNumber *green = [self readValueOfType:[self readByte]]; - NSNumber *blue = [self readValueOfType:[self readByte]]; - return [[FLTNativeTemplateColor alloc] initWithAlpha:alpha - red:red - green:green - blue:blue]; - } - } - return [super readValueOfType:type]; -} -@end - -@implementation FLTGoogleMobileAdsWriter -- (void)writeAdSize:(FLTAdSize *_Nonnull)value { - if ([value isKindOfClass:[FLTInlineAdaptiveBannerSize class]]) { - [self writeByte:FLTAdmobFieldInlineAdaptiveAdSize]; - FLTInlineAdaptiveBannerSize *size = (FLTInlineAdaptiveBannerSize *)value; - [self writeValue:size.width]; - [self writeValue:size.maxHeight]; - [self writeValue:size.orientation]; - } else if ([value isKindOfClass:[FLTAnchoredAdaptiveBannerSize class]]) { - [self writeByte:FLTAdmobFieldAnchoredAdaptiveBannerAdSize]; - FLTAnchoredAdaptiveBannerSize *size = - (FLTAnchoredAdaptiveBannerSize *)value; - [self writeValue:size.orientation]; - [self writeValue:size.width]; - } else if ([value isKindOfClass:[FLTSmartBannerSize class]]) { - [self writeByte:FLTAdmobFieldSmartBannerAdSize]; - FLTSmartBannerSize *size = (FLTSmartBannerSize *)value; - [self writeValue:size.orientation]; - } else if ([value isKindOfClass:[FLTFluidSize class]]) { - [self writeByte:FLTAdMobFieldFluidAdSize]; - } else if ([value isKindOfClass:[FLTAdSize class]]) { - [self writeByte:FLTAdMobFieldAdSize]; - [self writeValue:value.width]; - [self writeValue:value.height]; - } -} - -- (void)writeValue:(id)value { - if ([value isKindOfClass:[FLTAdSize class]]) { - [self writeAdSize:value]; - } else if ([value isKindOfClass:[FLTGAMAdRequest class]]) { - [self writeByte:FLTAdMobFieldAdManagerAdRequest]; - FLTGAMAdRequest *request = value; - [self writeValue:request.keywords]; - [self writeValue:request.contentURL]; - [self writeValue:request.customTargeting]; - [self writeValue:request.customTargetingLists]; - [self writeValue:@(request.nonPersonalizedAds)]; - [self writeValue:request.neighboringContentURLs]; - [self writeValue:request.pubProvidedID]; - [self writeValue:request.mediationExtrasIdentifier]; - [self writeValue:request.adMobExtras]; - [self writeValue:request.mediationExtras]; - } else if ([value isKindOfClass:[FLTAdRequest class]]) { - [self writeByte:FLTAdMobFieldAdRequest]; - FLTAdRequest *request = value; - [self writeValue:request.keywords]; - [self writeValue:request.contentURL]; - [self writeValue:@(request.nonPersonalizedAds)]; - [self writeValue:request.neighboringContentURLs]; - [self writeValue:request.mediationExtrasIdentifier]; - [self writeValue:request.adMobExtras]; - [self writeValue:request.mediationExtras]; - } else if ([value conformsToProtocol:@protocol(FlutterMediationExtras)]) { - [self writeByte:FLTAdmobFieldMediationExtras]; - NSObject *fltExtras = value; - [self writeValue:NSStringFromClass([fltExtras class])]; - [self writeValue:fltExtras.extras]; - } else if ([value isKindOfClass:[FLTRewardItem class]]) { - [self writeByte:FLTAdMobFieldRewardItem]; - FLTRewardItem *item = value; - [self writeValue:item.amount]; - [self writeValue:item.type]; - } else if ([value isKindOfClass:[FLTGADResponseInfo class]]) { - [self writeByte:FLTAdmobFieldGadResponseInfo]; - FLTGADResponseInfo *responseInfo = value; - [self writeValue:responseInfo.responseIdentifier]; - [self writeValue:responseInfo.adNetworkClassName]; - [self writeValue:responseInfo.adNetworkInfoArray]; - [self writeValue:responseInfo.loadedAdNetworkResponseInfo]; - [self writeValue:responseInfo.extrasDictionary]; - } else if ([value isKindOfClass:[FLTGADAdNetworkResponseInfo class]]) { - [self writeByte:FLTAdmobFieldGADAdNetworkResponseInfo]; - FLTGADAdNetworkResponseInfo *networkResponseInfo = value; - [self writeValue:networkResponseInfo.adNetworkClassName]; - [self writeValue:networkResponseInfo.latency]; - [self writeValue:networkResponseInfo.dictionaryDescription]; - [self writeValue:networkResponseInfo.adUnitMapping]; - [self writeValue:networkResponseInfo.error]; - [self writeValue:networkResponseInfo.adSourceName]; - [self writeValue:networkResponseInfo.adSourceID]; - [self writeValue:networkResponseInfo.adSourceInstanceName]; - [self writeValue:networkResponseInfo.adSourceInstanceID]; - } else if ([value isKindOfClass:[FLTLoadAdError class]]) { - [self writeByte:FLTAdMobFieldLoadError]; - FLTLoadAdError *error = value; - [self writeValue:@(error.code)]; - [self writeValue:error.domain]; - [self writeValue:error.message]; - [self writeValue:error.responseInfo]; - } else if ([value isKindOfClass:[NSError class]]) { - [self writeByte:FLTAdmobFieldAdError]; - NSError *error = value; - [self writeValue:@(error.code)]; - [self writeValue:error.domain]; - [self writeValue:error.localizedDescription]; - } else if ([value isKindOfClass:[FLTAdapterStatus class]]) { - [self writeByte:FLTAdMobFieldAdapterStatus]; - FLTAdapterStatus *status = value; - [self writeByte:FLTAdMobFieldAdapterInitializationState]; - if (!status.state) { - [self writeValue:[NSNull null]]; - } else if (status.state.unsignedLongValue == - FLTAdapterInitializationStateNotReady) { - [self writeValue:@"notReady"]; - } else if (status.state.unsignedLongValue == - FLTAdapterInitializationStateReady) { - [self writeValue:@"ready"]; - } else { - NSLog(@"Failed to interpret AdapterInitializationState of: %@", - status.state); - [self writeValue:[NSNull null]]; - } - [self writeValue:status.statusDescription]; - [self writeValue:status.latency]; - } else if ([value isKindOfClass:[FLTInitializationStatus class]]) { - [self writeByte:FLTAdMobFieldInitializationStatus]; - FLTInitializationStatus *status = value; - [self writeValue:status.adapterStatuses]; - } else if ([value isKindOfClass:[FLTServerSideVerificationOptions class]]) { - [self writeByte:FLTAdmobFieldServerSideVerificationOptions]; - FLTServerSideVerificationOptions *options = value; - [self writeValue:options.userIdentifier]; - [self writeValue:options.customRewardString]; - } else if ([value isKindOfClass:[FLTNativeAdOptions class]]) { - [self writeByte:FLTAdmobFieldNativeAdOptions]; - FLTNativeAdOptions *options = value; - [self writeValue:options.adChoicesPlacement]; - [self writeValue:options.mediaAspectRatio]; - [self writeValue:options.videoOptions]; - [self writeValue:options.requestCustomMuteThisAd]; - [self writeValue:options.shouldRequestMultipleImages]; - [self writeValue:options.shouldReturnUrlsForImageAssets]; - } else if ([value isKindOfClass:[FLTVideoOptions class]]) { - [self writeByte:FLTAdmobFieldVideoOptions]; - FLTVideoOptions *options = value; - [self writeValue:options.clickToExpandRequested]; - [self writeValue:options.customControlsRequested]; - [self writeValue:options.startMuted]; - } else if ([value isKindOfClass:[GADRequestConfiguration class]]) { - [self writeByte:FLTAdmobRequestConfigurationParams]; - GADRequestConfiguration *params = value; - [self writeValue:params.maxAdContentRating]; - [self writeValue:params.tagForChildDirectedTreatment]; - [self writeValue:params.tagForUnderAgeOfConsent]; - [self writeValue:params.testDeviceIdentifiers]; - } else if ([value isKindOfClass:[FLTNativeTemplateType class]]) { - [self writeByte:FLTAdmobFieldNativeTemplateType]; - FLTNativeTemplateType *templateType = value; - [self writeValue:@(templateType.intValue)]; - } else if ([value isKindOfClass:[FLTNativeTemplateFontStyleWrapper class]]) { - [self writeByte:FLTAdmobFieldNativeTemplateFontStyle]; - FLTNativeTemplateFontStyleWrapper *fontStyle = value; - [self writeValue:@(fontStyle.intValue)]; - } else if ([value isKindOfClass:[FLTNativeTemplateColor class]]) { - [self writeByte:FLTAdmobFieldNativeTemplateColor]; - FLTNativeTemplateColor *templateColor = value; - [self writeValue:templateColor.alpha]; - [self writeValue:templateColor.red]; - [self writeValue:templateColor.green]; - [self writeValue:templateColor.blue]; - } else if ([value isKindOfClass:[FLTNativeTemplateTextStyle class]]) { - [self writeByte:FLTAdmobFieldNativeTemplateTextStyle]; - FLTNativeTemplateTextStyle *textStyle = value; - [self writeValue:textStyle.textColor]; - [self writeValue:textStyle.backgroundColor]; - [self writeValue:textStyle.fontStyle]; - [self writeValue:textStyle.size]; - } else if ([value isKindOfClass:[FLTNativeTemplateStyle class]]) { - [self writeByte:FLTAdmobFieldNativeTemplateStyle]; - FLTNativeTemplateStyle *templateStyle = value; - [self writeValue:templateStyle.templateType]; - [self writeValue:templateStyle.mainBackgroundColor]; - [self writeValue:templateStyle.callToActionStyle]; - [self writeValue:templateStyle.primaryTextStyle]; - [self writeValue:templateStyle.secondaryTextStyle]; - [self writeValue:templateStyle.tertiaryTextStyle]; - [self writeValue:templateStyle.cornerRadius]; - } else { - [super writeValue:value]; - } -} -@end diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/ios/google_mobile_ads/Sources/google_mobile_ads/FLTMobileAds_Internal.m b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/ios/google_mobile_ads/Sources/google_mobile_ads/FLTMobileAds_Internal.m deleted file mode 100644 index cb3a3fba..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/ios/google_mobile_ads/Sources/google_mobile_ads/FLTMobileAds_Internal.m +++ /dev/null @@ -1,61 +0,0 @@ -// Copyright 2021 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#import "FLTMobileAds_Internal.h" - -@implementation FLTAdapterStatus -- (instancetype)initWithStatus:(GADAdapterStatus *)status { - self = [self init]; - if (self) { - switch (status.state) { - case GADAdapterInitializationStateNotReady: - _state = @(FLTAdapterInitializationStateNotReady); - break; - case GADAdapterInitializationStateReady: - _state = @(FLTAdapterInitializationStateReady); - break; - } - _statusDescription = status.description; - _latency = @(status.latency); - } - return self; -} -@end - -@implementation FLTInitializationStatus -- (instancetype)initWithStatus:(GADInitializationStatus *)status { - self = [self init]; - if (self) { - NSMutableDictionary *newDictionary = [NSMutableDictionary dictionary]; - for (NSString *name in status.adapterStatusesByClassName.allKeys) { - FLTAdapterStatus *adapterStatus = [[FLTAdapterStatus alloc] - initWithStatus:status.adapterStatusesByClassName[name]]; - [newDictionary setValue:adapterStatus forKey:name]; - } - _adapterStatuses = newDictionary; - } - return self; -} -@end - -@implementation FLTServerSideVerificationOptions -- (GADServerSideVerificationOptions *_Nonnull) - asGADServerSideVerificationOptions { - GADServerSideVerificationOptions *options = - [[GADServerSideVerificationOptions alloc] init]; - options.userIdentifier = _userIdentifier; - options.customRewardString = _customRewardString; - return options; -} -@end diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/ios/google_mobile_ads/Sources/google_mobile_ads/FLTNSString.m b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/ios/google_mobile_ads/Sources/google_mobile_ads/FLTNSString.m deleted file mode 100644 index 3cf996f6..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/ios/google_mobile_ads/Sources/google_mobile_ads/FLTNSString.m +++ /dev/null @@ -1,24 +0,0 @@ -// Copyright 2022 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#import "FLTNSString.h" - -@implementation NSString (FLTNSStringExtension) - -- (instancetype _Nonnull)gma_initWithInt:(NSInteger)integer { - self = [self initWithFormat:@"%ld", (long)integer]; - return self; -} - -@end diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/ios/google_mobile_ads/Sources/google_mobile_ads/GoogleAdsMobileIosNativeTemplates/GADTFullScreenTemplateView.m b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/ios/google_mobile_ads/Sources/google_mobile_ads/GoogleAdsMobileIosNativeTemplates/GADTFullScreenTemplateView.m deleted file mode 100644 index 237cc11a..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/ios/google_mobile_ads/Sources/google_mobile_ads/GoogleAdsMobileIosNativeTemplates/GADTFullScreenTemplateView.m +++ /dev/null @@ -1,30 +0,0 @@ -// Copyright 2021 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#import "GADTFullScreenTemplateView.h" - -@implementation GADTFullScreenTemplateView - -- (nonnull instancetype)initWithFrame:(CGRect)frame { - if (self = [super initWithFrame:frame]) { - self.translatesAutoresizingMaskIntoConstraints = NO; - } - return self; -} - -- (nonnull NSString *)getTemplateTypeName { - return @"full_screen_template"; -} - -@end diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/ios/google_mobile_ads/Sources/google_mobile_ads/GoogleAdsMobileIosNativeTemplates/GADTMediumTemplateView.m b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/ios/google_mobile_ads/Sources/google_mobile_ads/GoogleAdsMobileIosNativeTemplates/GADTMediumTemplateView.m deleted file mode 100644 index 715010eb..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/ios/google_mobile_ads/Sources/google_mobile_ads/GoogleAdsMobileIosNativeTemplates/GADTMediumTemplateView.m +++ /dev/null @@ -1,29 +0,0 @@ -// Copyright 2018-2021 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -#import "GADTMediumTemplateView.h" - -@implementation GADTMediumTemplateView - -- (nonnull instancetype)initWithFrame:(CGRect)frame { - if (self = [super initWithFrame:frame]) { - self.translatesAutoresizingMaskIntoConstraints = NO; - } - return self; -} - -- (nonnull NSString *)getTemplateTypeName { - return @"medium_template"; -} - -@end diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/ios/google_mobile_ads/Sources/google_mobile_ads/GoogleAdsMobileIosNativeTemplates/GADTSmallTemplateView.m b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/ios/google_mobile_ads/Sources/google_mobile_ads/GoogleAdsMobileIosNativeTemplates/GADTSmallTemplateView.m deleted file mode 100644 index a4482d7b..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/ios/google_mobile_ads/Sources/google_mobile_ads/GoogleAdsMobileIosNativeTemplates/GADTSmallTemplateView.m +++ /dev/null @@ -1,30 +0,0 @@ -// Copyright 2018-2021 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#import "GADTSmallTemplateView.h" - -@implementation GADTSmallTemplateView - -- (nonnull instancetype)initWithFrame:(CGRect)frame { - if (self = [super initWithFrame:frame]) { - self.translatesAutoresizingMaskIntoConstraints = NO; - } - return self; -} - -- (nonnull NSString *)getTemplateTypeName { - return @"small_template"; -} - -@end diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/ios/google_mobile_ads/Sources/google_mobile_ads/GoogleAdsMobileIosNativeTemplates/GADTTemplateView.m b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/ios/google_mobile_ads/Sources/google_mobile_ads/GoogleAdsMobileIosNativeTemplates/GADTTemplateView.m deleted file mode 100644 index 2c8f3413..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/ios/google_mobile_ads/Sources/google_mobile_ads/GoogleAdsMobileIosNativeTemplates/GADTTemplateView.m +++ /dev/null @@ -1,326 +0,0 @@ -// Copyright 2018-2021 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#import "GADTTemplateView.h" -#import - -GADTNativeTemplateStyleKey const GADTNativeTemplateStyleKeyCallToActionFont = - @"call_to_action_font"; - -GADTNativeTemplateStyleKey const - GADTNativeTemplateStyleKeyCallToActionFontColor = - @"call_to_action_font_color"; - -GADTNativeTemplateStyleKey const - GADTNativeTemplateStyleKeyCallToActionBackgroundColor = - @"call_to_action_background_color"; - -GADTNativeTemplateStyleKey const GADTNativeTemplateStyleKeySecondaryFont = - @"secondary_font"; - -GADTNativeTemplateStyleKey const GADTNativeTemplateStyleKeySecondaryFontColor = - @"secondary_font_color"; - -GADTNativeTemplateStyleKey const - GADTNativeTemplateStyleKeySecondaryBackgroundColor = - @"secondary_background_color"; - -GADTNativeTemplateStyleKey const GADTNativeTemplateStyleKeyPrimaryFont = - @"primary_font"; - -GADTNativeTemplateStyleKey const GADTNativeTemplateStyleKeyPrimaryFontColor = - @"primary_font_color"; - -GADTNativeTemplateStyleKey const - GADTNativeTemplateStyleKeyPrimaryBackgroundColor = - @"primary_background_color"; - -GADTNativeTemplateStyleKey const GADTNativeTemplateStyleKeyTertiaryFont = - @"tertiary_font"; - -GADTNativeTemplateStyleKey const GADTNativeTemplateStyleKeyTertiaryFontColor = - @"tertiary_font_color"; - -GADTNativeTemplateStyleKey const - GADTNativeTemplateStyleKeyTertiaryBackgroundColor = - @"tertiary_background_color"; - -GADTNativeTemplateStyleKey const GADTNativeTemplateStyleKeyMainBackgroundColor = - @"main_background_color"; - -GADTNativeTemplateStyleKey const GADTNativeTemplateStyleKeyCornerRadius = - @"corner_radius"; - -static NSString *const GADTBlue = @"#5C84F0"; - -@implementation GADTTemplateView { - NSDictionary *_defaultStyles; -} - -- (instancetype)initWithFrame:(CGRect)frame { - if (self = [super initWithFrame:frame]) { - _rootView = - [NSBundle.mainBundle loadNibNamed:NSStringFromClass([self class]) - owner:self - options:nil] - .firstObject; - - [self addSubview:_rootView]; - - [self addConstraints: - [NSLayoutConstraint - constraintsWithVisualFormat:@"H:|[_rootView]|" - options:0 - metrics:nil - views:NSDictionaryOfVariableBindings( - _rootView)]]; - [self addConstraints: - [NSLayoutConstraint - constraintsWithVisualFormat:@"V:|[_rootView]|" - options:0 - metrics:nil - views:NSDictionaryOfVariableBindings( - _rootView)]]; - [self applyStyles]; - [self styleAdBadge]; - } - return self; -} - -- (NSString *)getTemplateTypeName { - return @"root"; -} - -/// Returns the style value for the provided key or the default style if no -/// styles dictionary was set. -- (id)styleForKey:(GADTNativeTemplateStyleKey)key { - return _styles[key] ?: nil; -} - -// Goes through all recognized style keys and updates the views accordingly, -// overwriting the defaults. -- (void)applyStyles { - self.layer.borderColor = - [GADTTemplateView colorFromHexString:@"E0E0E0"].CGColor; - self.layer.borderWidth = 1.0f; - [self.mediaView sizeToFit]; - if ([self styleForKey:GADTNativeTemplateStyleKeyCornerRadius]) { - float roundedCornerRadius = - ((NSNumber *)[self styleForKey:GADTNativeTemplateStyleKeyCornerRadius]) - .floatValue; - - // Rounded corners - self.iconView.layer.cornerRadius = roundedCornerRadius; - self.iconView.clipsToBounds = YES; - ((UIButton *)self.callToActionView).layer.cornerRadius = - roundedCornerRadius; - ((UIButton *)self.callToActionView).clipsToBounds = YES; - } - - // Fonts - if ([self styleForKey:GADTNativeTemplateStyleKeyPrimaryFont]) { - ((UILabel *)self.headlineView).font = - (UIFont *)[self styleForKey:GADTNativeTemplateStyleKeyPrimaryFont]; - } - - if ([self styleForKey:GADTNativeTemplateStyleKeySecondaryFont]) { - ((UILabel *)self.bodyView).font = - (UIFont *)[self styleForKey:GADTNativeTemplateStyleKeySecondaryFont]; - } - - if ([self styleForKey:GADTNativeTemplateStyleKeyTertiaryFont]) { - ((UILabel *)self.advertiserView).font = - (UIFont *)[self styleForKey:GADTNativeTemplateStyleKeyTertiaryFont]; - } - - if ([self styleForKey:GADTNativeTemplateStyleKeyCallToActionFont]) { - ((UIButton *)self.callToActionView).titleLabel.font = - (UIFont *)[self styleForKey:GADTNativeTemplateStyleKeyCallToActionFont]; - } - - // Font colors - if ([self styleForKey:GADTNativeTemplateStyleKeyPrimaryFontColor]) - ((UILabel *)self.headlineView).textColor = (UIColor *)[self - styleForKey:GADTNativeTemplateStyleKeyPrimaryFontColor]; - - if ([self styleForKey:GADTNativeTemplateStyleKeySecondaryFontColor]) { - ((UILabel *)self.bodyView).textColor = (UIColor *)[self - styleForKey:GADTNativeTemplateStyleKeySecondaryFontColor]; - } - - if ([self styleForKey:GADTNativeTemplateStyleKeyTertiaryFontColor]) { - ((UILabel *)self.advertiserView).textColor = (UIColor *)[self - styleForKey:GADTNativeTemplateStyleKeyTertiaryFontColor]; - } - - if ([self styleForKey:GADTNativeTemplateStyleKeyCallToActionFontColor]) { - [((UIButton *)self.callToActionView) - setTitleColor: - (UIColor *)[self - styleForKey:GADTNativeTemplateStyleKeyCallToActionFontColor] - forState:UIControlStateNormal]; - } - - // Background colors - if ([self styleForKey:GADTNativeTemplateStyleKeyPrimaryBackgroundColor]) { - ((UILabel *)self.headlineView).backgroundColor = (UIColor *)[self - styleForKey:GADTNativeTemplateStyleKeyPrimaryBackgroundColor]; - } - - if ([self styleForKey:GADTNativeTemplateStyleKeySecondaryBackgroundColor]) { - ((UILabel *)self.bodyView).backgroundColor = (UIColor *)[self - styleForKey:GADTNativeTemplateStyleKeySecondaryBackgroundColor]; - } - - if ([self styleForKey:GADTNativeTemplateStyleKeyTertiaryBackgroundColor]) { - ((UILabel *)self.advertiserView).backgroundColor = (UIColor *)[self - styleForKey:GADTNativeTemplateStyleKeyTertiaryBackgroundColor]; - } - - if ([self - styleForKey:GADTNativeTemplateStyleKeyCallToActionBackgroundColor]) { - ((UIButton *)self.callToActionView).backgroundColor = (UIColor *)[self - styleForKey:GADTNativeTemplateStyleKeyCallToActionBackgroundColor]; - } - - if ([self styleForKey:GADTNativeTemplateStyleKeyMainBackgroundColor]) { - self.backgroundColor = (UIColor *)[self - styleForKey:GADTNativeTemplateStyleKeyMainBackgroundColor]; - } - [self styleAdBadge]; -} - -- (void)styleAdBadge { - UILabel *adBadge = self.adBadge; - adBadge.layer.borderColor = adBadge.textColor.CGColor; - adBadge.layer.borderWidth = 1.0; - adBadge.layer.cornerRadius = 3.0; - adBadge.layer.masksToBounds = YES; -} - -- (void)setStyles: - (NSDictionary *)styles { - _styles = [styles copy]; - [self applyStyles]; -} - -- (void)setNativeAd:(GADNativeAd *)nativeAd { - ((UILabel *)self.headlineView).text = nativeAd.headline; - - // Some of the assets are not guaranteed to be present. This is to check - // that they are before showing or hiding them. - ((UIImageView *)self.iconView).image = nativeAd.icon.image; - self.iconView.hidden = nativeAd.icon ? NO : YES; - - [((UIButton *)self.callToActionView) setTitle:nativeAd.callToAction - forState:UIControlStateNormal]; - - // Either show the advertiser an app has, or show the store of the ad. - if (nativeAd.advertiser && !nativeAd.store) { - // Ad has advertiser but not store - self.storeView.hidden = YES; - ((UILabel *)self.advertiserView).text = nativeAd.advertiser; - self.advertiserView.hidden = NO; - } else if (nativeAd.store && !nativeAd.advertiser) { - // Ad has store but not advertiser - self.advertiserView.hidden = YES; - ((UILabel *)self.storeView).text = nativeAd.store; - self.storeView.hidden = NO; - } else if (nativeAd.advertiser && nativeAd.store) { - // Ad has both store and advertiser, default to showing advertiser. - self.storeView.hidden = YES; - ((UILabel *)self.advertiserView).text = nativeAd.advertiser; - self.advertiserView.hidden = NO; - } - - // Either show the number of stars an app has, or show the body of the ad. - // If there is a starRating then starRatingView is shown and bodyView is - // hidden otherwise, starRatingView is hidden and bodyView is filled. Use the - // unicode characters for filled in or empty stars. - if (nativeAd.starRating.floatValue > 0) { - NSMutableString *stars = [[NSMutableString alloc] initWithString:@""]; - int count = 0; - for (; count < nativeAd.starRating.intValue; count++) { - NSString *filledStar = [NSString stringWithUTF8String:"\u2605"]; - [stars appendString:filledStar]; - } - for (; count < 5; count++) { - NSString *emptyStar = [NSString stringWithUTF8String:"\u2606"]; - [stars appendString:emptyStar]; - } - ((UILabel *)self.starRatingView).text = stars; - self.bodyView.hidden = YES; - self.starRatingView.hidden = NO; - } else { - self.starRatingView.hidden = YES; - ((UILabel *)self.bodyView).text = nativeAd.body; - self.bodyView.hidden = NO; - } - - [self.mediaView setMediaContent:nativeAd.mediaContent]; - [super setNativeAd:nativeAd]; -} - -- (void)addHorizontalConstraintsToSuperviewWidth { - // Add an autolayout constraint to make sure our template view stretches to - // fill the width of its parent. - if (self.superview) { - UIView *child = self; - [self.superview - addConstraints: - [NSLayoutConstraint - constraintsWithVisualFormat:@"H:|[child]|" - options:0 - metrics:nil - views:NSDictionaryOfVariableBindings( - child)]]; - } -} - -- (void)addVerticalCenterConstraintToSuperview { - if (self.superview) { - UIView *child = self; - [self.superview - addConstraint:[NSLayoutConstraint - constraintWithItem:self.superview - attribute:NSLayoutAttributeCenterY - relatedBy:NSLayoutRelationEqual - toItem:child - attribute:NSLayoutAttributeCenterY - multiplier:1 - constant:0]]; - } -} - -/// Creates an opaque UIColor object from a byte-value color definition. -+ (UIColor *)colorFromHexString:(NSString *)hexString { - if (hexString == nil) { - return nil; - } - NSRange range = [hexString rangeOfString:@"^#[0-9a-fA-F]{6}$" - options:NSRegularExpressionSearch]; - if (range.location == NSNotFound) { - return nil; - } - unsigned rgbValue = 0; - NSScanner *scanner = [NSScanner scannerWithString:hexString]; - [scanner setScanLocation:1]; // Bypass '#' character. - [scanner scanHexInt:&rgbValue]; - - return [UIColor colorWithRed:((rgbValue & 0xff0000) >> 16) / 255.0f - green:((rgbValue & 0xff00) >> 8) / 255.0f - blue:(rgbValue & 0xff) / 255.0f - alpha:1]; -} -@end diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/ios/google_mobile_ads/Sources/google_mobile_ads/NativeTemplates/FLTNativeTemplateColor.m b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/ios/google_mobile_ads/Sources/google_mobile_ads/NativeTemplates/FLTNativeTemplateColor.m deleted file mode 100644 index 1651ffd1..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/ios/google_mobile_ads/Sources/google_mobile_ads/NativeTemplates/FLTNativeTemplateColor.m +++ /dev/null @@ -1,45 +0,0 @@ -// Copyright 2022 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#import "FLTNativeTemplateColor.h" - -@implementation FLTNativeTemplateColor { - NSNumber *_alpha; - NSNumber *_red; - NSNumber *_green; - NSNumber *_blue; -} - -- (instancetype _Nonnull)initWithAlpha:(NSNumber *_Nonnull)alpha - red:(NSNumber *_Nonnull)red - green:(NSNumber *_Nonnull)green - blue:(NSNumber *_Nonnull)blue { - self = [super init]; - if (self) { - _alpha = alpha; - _red = red; - _green = green; - _blue = blue; - } - return self; -} - -- (UIColor *)uiColor { - return [UIColor colorWithRed:_red.floatValue / 255.f - green:_green.floatValue / 255.f - blue:_blue.floatValue / 255.f - alpha:_alpha.floatValue / 255.f]; -} - -@end diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/ios/google_mobile_ads/Sources/google_mobile_ads/NativeTemplates/FLTNativeTemplateFontStyle.m b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/ios/google_mobile_ads/Sources/google_mobile_ads/NativeTemplates/FLTNativeTemplateFontStyle.m deleted file mode 100644 index 1d1fdbed..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/ios/google_mobile_ads/Sources/google_mobile_ads/NativeTemplates/FLTNativeTemplateFontStyle.m +++ /dev/null @@ -1,45 +0,0 @@ -// Copyright 2022 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#import "FLTNativeTemplateFontStyle.h" - -@implementation FLTNativeTemplateFontStyleWrapper { - int _intValue; -} - -- (instancetype _Nonnull)initWithInt:(int)intValue { - self = [super init]; - if (self) { - _intValue = intValue; - } - return self; -} - -- (FLTNativeTemplateFontStyle)fontStyle { - switch (_intValue) { - case 0: - return FLTNativeTemplateFontNormal; - case 1: - return FLTNativeTemplateFontBold; - case 2: - return FLTNativeTemplateFontItalic; - case 3: - return FLTNativeTemplateFontMonospace; - default: - NSLog(@"Unknown FLTNativeTemplateFontStyle value: %d", _intValue); - return FLTNativeTemplateFontNormal; - } -} - -@end diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/ios/google_mobile_ads/Sources/google_mobile_ads/NativeTemplates/FLTNativeTemplateStyle.m b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/ios/google_mobile_ads/Sources/google_mobile_ads/NativeTemplates/FLTNativeTemplateStyle.m deleted file mode 100644 index 1de7bb50..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/ios/google_mobile_ads/Sources/google_mobile_ads/NativeTemplates/FLTNativeTemplateStyle.m +++ /dev/null @@ -1,157 +0,0 @@ -// Copyright 2022 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#import "FLTNativeTemplateStyle.h" -#import "FLTAdUtil.h" -#import "GADTSmallTemplateView.h" -#import "GADTTemplateView.h" - -@implementation FLTNativeTemplateStyle - -- (instancetype _Nonnull) - initWithTemplateType:(FLTNativeTemplateType *_Nonnull)templateType - mainBackgroundColor:(FLTNativeTemplateColor *_Nullable)mainBackgroundColor - callToActionStyle: - (FLTNativeTemplateTextStyle *_Nullable)callToActionStyle - primaryTextStyle:(FLTNativeTemplateTextStyle *_Nullable)primaryTextStyle - secondaryTextStyle: - (FLTNativeTemplateTextStyle *_Nullable)secondaryTextStyle - tertiaryTextStyle: - (FLTNativeTemplateTextStyle *_Nullable)tertiaryTextStyle - cornerRadius:(NSNumber *_Nullable)cornerRadius { - self = [super init]; - if (self) { - _templateType = templateType; - _mainBackgroundColor = mainBackgroundColor; - _callToActionStyle = callToActionStyle; - _primaryTextStyle = primaryTextStyle; - _secondaryTextStyle = secondaryTextStyle; - _tertiaryTextStyle = tertiaryTextStyle; - _cornerRadius = cornerRadius; - } - return self; -} - -- (FLTNativeTemplateViewWrapper *_Nonnull)getDisplayedView: - (GADNativeAd *_Nonnull)gadNativeAd { - GADTTemplateView *templateView = _templateType.templateView; - templateView.nativeAd = gadNativeAd; - - NSMutableDictionary *styles = [[NSMutableDictionary alloc] init]; - if ([FLTAdUtil isNotNull:_mainBackgroundColor]) { - styles[GADTNativeTemplateStyleKeyMainBackgroundColor] = - _mainBackgroundColor.uiColor; - } - if ([FLTAdUtil isNotNull:_cornerRadius]) { - styles[GADTNativeTemplateStyleKeyCornerRadius] = _cornerRadius; - } - if ([FLTAdUtil isNotNull:_callToActionStyle]) { - if ([FLTAdUtil isNotNull:_callToActionStyle.backgroundColor]) { - styles[GADTNativeTemplateStyleKeyCallToActionBackgroundColor] = - _callToActionStyle.backgroundColor.uiColor; - } - if ([FLTAdUtil isNotNull:_callToActionStyle.uiFont]) { - styles[GADTNativeTemplateStyleKeyCallToActionFont] = - _callToActionStyle.uiFont; - } - if ([FLTAdUtil isNotNull:_callToActionStyle.textColor]) { - styles[GADTNativeTemplateStyleKeyCallToActionFontColor] = - _callToActionStyle.textColor.uiColor; - } - } - if ([FLTAdUtil isNotNull:_primaryTextStyle]) { - if ([FLTAdUtil isNotNull:_primaryTextStyle.backgroundColor]) { - styles[GADTNativeTemplateStyleKeyPrimaryBackgroundColor] = - _primaryTextStyle.backgroundColor.uiColor; - } - if ([FLTAdUtil isNotNull:_primaryTextStyle.uiFont]) { - styles[GADTNativeTemplateStyleKeyPrimaryFont] = _primaryTextStyle.uiFont; - } - if ([FLTAdUtil isNotNull:_primaryTextStyle.textColor]) { - styles[GADTNativeTemplateStyleKeyPrimaryFontColor] = - _primaryTextStyle.textColor.uiColor; - } - } - if ([FLTAdUtil isNotNull:_secondaryTextStyle]) { - if ([FLTAdUtil isNotNull:_secondaryTextStyle.backgroundColor]) { - styles[GADTNativeTemplateStyleKeySecondaryBackgroundColor] = - _secondaryTextStyle.backgroundColor.uiColor; - } - if ([FLTAdUtil isNotNull:_secondaryTextStyle.uiFont]) { - styles[GADTNativeTemplateStyleKeySecondaryFont] = - _secondaryTextStyle.uiFont; - } - if ([FLTAdUtil isNotNull:_secondaryTextStyle.textColor]) { - styles[GADTNativeTemplateStyleKeySecondaryFontColor] = - _secondaryTextStyle.textColor.uiColor; - } - } - if ([FLTAdUtil isNotNull:_tertiaryTextStyle]) { - if ([FLTAdUtil isNotNull:_tertiaryTextStyle.backgroundColor]) { - styles[GADTNativeTemplateStyleKeyTertiaryBackgroundColor] = - _tertiaryTextStyle.backgroundColor.uiColor; - } - if ([FLTAdUtil isNotNull:_tertiaryTextStyle.uiFont]) { - styles[GADTNativeTemplateStyleKeyTertiaryFont] = - _tertiaryTextStyle.uiFont; - } - if ([FLTAdUtil isNotNull:_tertiaryTextStyle.textColor]) { - styles[GADTNativeTemplateStyleKeyTertiaryFontColor] = - _tertiaryTextStyle.textColor.uiColor; - } - } - templateView.styles = styles; - - FLTNativeTemplateViewWrapper *wrapper = - [[FLTNativeTemplateViewWrapper alloc] initWithFrame:CGRectZero]; - wrapper.templateView = templateView; - return wrapper; -} - -@end - -@implementation FLTNativeTemplateViewWrapper - -- (void)layoutSubviews { - [super layoutSubviews]; - if (_templateView) { - [self addSubview:_templateView]; - // Constrain the top of the templateView to the top of this view. This top - // aligns the template view - if (_templateView.superview) { - [_templateView.superview - addConstraint:[NSLayoutConstraint - constraintWithItem:_templateView.superview - attribute:NSLayoutAttributeTop - relatedBy:NSLayoutRelationEqual - toItem:_templateView - attribute:NSLayoutAttributeTop - multiplier:1 - constant:0]]; - [_templateView.superview - addConstraint: - [NSLayoutConstraint - constraintWithItem:_templateView.superview - attribute:NSLayoutAttributeBottom - relatedBy:NSLayoutRelationGreaterThanOrEqual - toItem:_templateView - attribute:NSLayoutAttributeBottom - multiplier:1 - constant:0]]; - } - [_templateView addHorizontalConstraintsToSuperviewWidth]; - } -} - -@end diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/ios/google_mobile_ads/Sources/google_mobile_ads/NativeTemplates/FLTNativeTemplateTextStyle.m b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/ios/google_mobile_ads/Sources/google_mobile_ads/NativeTemplates/FLTNativeTemplateTextStyle.m deleted file mode 100644 index 82716ba1..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/ios/google_mobile_ads/Sources/google_mobile_ads/NativeTemplates/FLTNativeTemplateTextStyle.m +++ /dev/null @@ -1,67 +0,0 @@ -// Copyright 2022 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#import "FLTNativeTemplateTextStyle.h" -#import "FLTAdUtil.h" - -@implementation FLTNativeTemplateTextStyle - -- (instancetype _Nonnull) - initWithTextColor:(FLTNativeTemplateColor *_Nullable)textColor - backgroundColor:(FLTNativeTemplateColor *_Nullable)backgroundColor - fontStyle:(FLTNativeTemplateFontStyleWrapper *_Nullable)fontStyle - size:(NSNumber *_Nullable)size { - self = [super init]; - if (self) { - _textColor = textColor; - _backgroundColor = backgroundColor; - _fontStyle = fontStyle; - _size = size; - } - return self; -} - -- (UIFont *_Nullable)uiFont { - if ([FLTAdUtil isNull:_fontStyle] && [FLTAdUtil isNull:_size]) { - return nil; - } - - CGFloat size = - [FLTAdUtil isNull:_size] ? UIFont.systemFontSize : _size.floatValue; - if ([FLTAdUtil isNull:_fontStyle]) { - return [UIFont systemFontOfSize:size]; - } else { - switch (_fontStyle.fontStyle) { - case FLTNativeTemplateFontNormal: - return [UIFont systemFontOfSize:size]; - case FLTNativeTemplateFontBold: - return [UIFont boldSystemFontOfSize:size]; - case FLTNativeTemplateFontItalic: - return [UIFont italicSystemFontOfSize:size]; - case FLTNativeTemplateFontMonospace: - if (@available(iOS 13.0, *)) { - return [UIFont monospacedSystemFontOfSize:size - weight:UIFontWeightRegular]; - } else { - return [UIFont monospacedDigitSystemFontOfSize:size - weight:UIFontWeightRegular]; - } - default: - NSLog(@"Unknown fontStyle case: %ld", _fontStyle.fontStyle); - return [UIFont systemFontOfSize:size]; - } - } -} - -@end diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/ios/google_mobile_ads/Sources/google_mobile_ads/NativeTemplates/FLTNativeTemplateType.m b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/ios/google_mobile_ads/Sources/google_mobile_ads/NativeTemplates/FLTNativeTemplateType.m deleted file mode 100644 index 6f7ab2e0..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/ios/google_mobile_ads/Sources/google_mobile_ads/NativeTemplates/FLTNativeTemplateType.m +++ /dev/null @@ -1,69 +0,0 @@ -// Copyright 2022 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#import "FLTNativeTemplateType.h" - -#ifndef SWIFTPM_MODULE_BUNDLE - #define SWIFTPM_MODULE_BUNDLE [NSBundle bundleForClass:[self class]] -#endif - -@implementation FLTNativeTemplateType { - int _intValue; -} - -- (instancetype _Nonnull)initWithInt:(int)intValue { - self = [super init]; - if (self) { - _intValue = intValue; - } - return self; -} - -- (NSString *_Nonnull)xibName { - switch (_intValue) { - case 0: - return @"GADTSmallTemplateView"; - case 1: - return @"GADTMediumTemplateView"; - default: - NSLog(@"Unknown template type value: %d", _intValue); - return @"GADTMediumTemplateView"; - } -} - -- (GADTTemplateView *_Nonnull)templateView { - // Bundle file name is declared in Package.swift or podspec - NSBundle *adsBundle = nil; - - NSURL *bundleURL = [[NSBundle mainBundle] URLForResource:@"google_mobile_ads" - withExtension:@"bundle"]; - if (bundleURL) { - adsBundle = [NSBundle bundleWithURL:bundleURL]; - } else { - #ifdef SWIFTPM_MODULE_BUNDLE - adsBundle = SWIFTPM_MODULE_BUNDLE; - #else - adsBundle = [NSBundle bundleForClass:[self class]]; - #endif - } - if (!adsBundle) { - adsBundle = [NSBundle mainBundle]; - } - - GADTTemplateView *templateView = - [adsBundle loadNibNamed:self.xibName owner:nil options:nil].firstObject; - return templateView; -} - -@end diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/ios/google_mobile_ads/Sources/google_mobile_ads/Resources/GADTFullScreenTemplateView.xib b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/ios/google_mobile_ads/Sources/google_mobile_ads/Resources/GADTFullScreenTemplateView.xib deleted file mode 100644 index 8e370677..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/ios/google_mobile_ads/Sources/google_mobile_ads/Resources/GADTFullScreenTemplateView.xib +++ /dev/null @@ -1,134 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/ios/google_mobile_ads/Sources/google_mobile_ads/Resources/GADTMediumTemplateView.xib b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/ios/google_mobile_ads/Sources/google_mobile_ads/Resources/GADTMediumTemplateView.xib deleted file mode 100644 index f6bf27cc..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/ios/google_mobile_ads/Sources/google_mobile_ads/Resources/GADTMediumTemplateView.xib +++ /dev/null @@ -1,192 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/ios/google_mobile_ads/Sources/google_mobile_ads/Resources/GADTSmallTemplateView.xib b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/ios/google_mobile_ads/Sources/google_mobile_ads/Resources/GADTSmallTemplateView.xib deleted file mode 100644 index ccc9feab..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/ios/google_mobile_ads/Sources/google_mobile_ads/Resources/GADTSmallTemplateView.xib +++ /dev/null @@ -1,121 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/ios/google_mobile_ads/Sources/google_mobile_ads/UserMessagingPlatform/FLTUserMessagingPlatformManager.m b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/ios/google_mobile_ads/Sources/google_mobile_ads/UserMessagingPlatform/FLTUserMessagingPlatformManager.m deleted file mode 100644 index 5cca5767..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/ios/google_mobile_ads/Sources/google_mobile_ads/UserMessagingPlatform/FLTUserMessagingPlatformManager.m +++ /dev/null @@ -1,180 +0,0 @@ -// Copyright 2022 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#import "FLTUserMessagingPlatformManager.h" -#import "FLTAdUtil.h" -#import "FLTNSString.h" -#import "FLTUserMessagingPlatformReaderWriter.h" -#include - -@implementation FLTUserMessagingPlatformManager { - FlutterMethodChannel *_methodChannel; -} - -- (instancetype _Nonnull)initWithBinaryMessenger: - (NSObject *_Nonnull)binaryMessenger { - self = [self init]; - if (self) { - self.readerWriter = [[FLTUserMessagingPlatformReaderWriter alloc] init]; - NSObject *methodCodec = - [FlutterStandardMethodCodec codecWithReaderWriter:_readerWriter]; - _methodChannel = [[FlutterMethodChannel alloc] - initWithName:@"plugins.flutter.io/google_mobile_ads/ump" - binaryMessenger:binaryMessenger - codec:methodCodec]; - - FLTUserMessagingPlatformManager *__weak weakSelf = self; - [_methodChannel setMethodCallHandler:^(FlutterMethodCall *_Nonnull call, - FlutterResult _Nonnull result) { - [weakSelf handleMethodCall:call result:result]; - }]; - } - return self; -} - -- (UIViewController *)rootController { - return UIApplication.sharedApplication.delegate.window.rootViewController; -} - -- (void)handleMethodCall:(FlutterMethodCall *_Nonnull)call - result:(FlutterResult _Nonnull)result { - if ([call.method isEqualToString:@"ConsentInformation#reset"]) { - [UMPConsentInformation.sharedInstance reset]; - result(nil); - } else if ([call.method - isEqualToString:@"ConsentInformation#getConsentStatus"]) { - UMPConsentStatus status = - UMPConsentInformation.sharedInstance.consentStatus; - result([[NSNumber alloc] initWithInteger:status]); - } else if ([call.method - isEqualToString:@"ConsentInformation#canRequestAds"]) { - result(@([UMPConsentInformation.sharedInstance canRequestAds])); - } else if ([call.method - isEqualToString:@"ConsentInformation#" - @"getPrivacyOptionsRequirementStatus"]) { - UMPPrivacyOptionsRequirementStatus status = - UMPConsentInformation.sharedInstance.privacyOptionsRequirementStatus; - switch (status) { - case UMPPrivacyOptionsRequirementStatusNotRequired: - result([[NSNumber alloc] initWithInt:0]); - break; - case UMPPrivacyOptionsRequirementStatusRequired: - result([[NSNumber alloc] initWithInt:1]); - break; - default: - result([[NSNumber alloc] initWithInt:2]); - break; - } - } else if ([call.method isEqualToString: - @"ConsentInformation#requestConsentInfoUpdate"]) { - UMPRequestParameters *parameters = call.arguments[@"params"]; - [UMPConsentInformation.sharedInstance - requestConsentInfoUpdateWithParameters:parameters - completionHandler:^(NSError *_Nullable error) { - if ([FLTAdUtil isNull:error]) { - result(nil); - } else { - result([FlutterError - errorWithCode:[[NSString alloc] - gma_initWithInt:error.code] - message:error.localizedDescription - details:error.domain]); - } - }]; - } else if ([call.method - isEqualToString:@"UserMessagingPlatform#" - @"loadAndShowConsentFormIfRequired"]) { - [UMPConsentForm - loadAndPresentIfRequiredFromViewController:self.rootController - completionHandler:^(NSError *_Nullable error) { - if ([FLTAdUtil isNull:error]) { - result(nil); - } else { - result([FlutterError - errorWithCode: - [[NSString alloc] - gma_initWithInt:error.code] - message:error - .localizedDescription - details:error.domain]); - } - }]; - } else if ([call.method - isEqualToString:@"UserMessagingPlatform#loadConsentForm"]) { - [UMPConsentForm - loadWithCompletionHandler:^(UMPConsentForm *form, NSError *loadError) { - if ([FLTAdUtil isNull:loadError]) { - [self.readerWriter trackConsentForm:form]; - result(form); - } else { - result([FlutterError - errorWithCode:[[NSString alloc] gma_initWithInt:loadError.code] - message:loadError.localizedDescription - details:loadError.domain]); - } - }]; - } else if ([call.method - isEqualToString: - @"UserMessagingPlatform#showPrivacyOptionsForm"]) { - [UMPConsentForm - presentPrivacyOptionsFormFromViewController:self.rootController - completionHandler:^( - NSError *_Nullable formError) { - if ([FLTAdUtil isNull:formError]) { - result(nil); - } else { - result([FlutterError - errorWithCode: - [[NSString alloc] - gma_initWithInt:formError.code] - message: - formError - .localizedDescription - details:formError.domain]); - } - }]; - } else if ([call.method isEqualToString: - @"ConsentInformation#isConsentFormAvailable"]) { - BOOL isAvailable = UMPConsentInformation.sharedInstance.formStatus == - UMPFormStatusAvailable; - result([[NSNumber alloc] initWithBool:isAvailable]); - } else if ([call.method isEqualToString:@"ConsentForm#show"]) { - UMPConsentForm *consentForm = call.arguments[@"consentForm"]; - [consentForm - presentFromViewController:self.rootController - completionHandler:^(NSError *_Nullable error) { - if ([FLTAdUtil isNull:error]) { - result(nil); - } else { - result([FlutterError - errorWithCode:[[NSString alloc] gma_initWithInt:error.code] - message:error.localizedDescription - details:error.domain]); - } - }]; - } else if ([call.method isEqualToString:@"ConsentForm#dispose"]) { - UMPConsentForm *consentForm = call.arguments[@"consentForm"]; - if ([FLTAdUtil isNotNull:consentForm]) { - [_readerWriter disposeConsentForm:consentForm]; - } else { - NSLog(@"FLTUserMessagingPlatformManager - consentForm resources already " - @"freed"); - } - result(nil); - } else { - result(FlutterMethodNotImplemented); - } -} - -@end diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/ios/google_mobile_ads/Sources/google_mobile_ads/UserMessagingPlatform/FLTUserMessagingPlatformReaderWriter.m b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/ios/google_mobile_ads/Sources/google_mobile_ads/UserMessagingPlatform/FLTUserMessagingPlatformReaderWriter.m deleted file mode 100644 index d3ab46d7..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/ios/google_mobile_ads/Sources/google_mobile_ads/UserMessagingPlatform/FLTUserMessagingPlatformReaderWriter.m +++ /dev/null @@ -1,138 +0,0 @@ -// Copyright 2022 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#import "FLTUserMessagingPlatformReaderWriter.h" -#import "FLTAdUtil.h" -#include - -// The type values below must be consistent for each platform. -typedef NS_ENUM(NSInteger, FLTUserMessagingPlatformField) { - FLTValueConsentRequestParameters = 129, - FLTValueConsentDebugSettings = 130, - FLTValueConsentForm = 131, -}; - -@interface FLTUserMessagingPlatformReader : FlutterStandardReader -@property NSMutableDictionary *consentFormDict; -@end - -@interface FLTUserMessagingPlatformWriter : FlutterStandardWriter -@property NSMutableDictionary *consentFormDict; -@end - -@interface FLTUserMessagingPlatformReaderWriter () -@property NSMutableDictionary *consentFormDict; -@end - -@implementation FLTUserMessagingPlatformReaderWriter - -- (instancetype _Nonnull)init { - self = [super init]; - if (self) { - self.consentFormDict = [[NSMutableDictionary alloc] init]; - } - return self; -} - -- (void)trackConsentForm:(UMPConsentForm *)consentForm { - NSNumber *hash = [[NSNumber alloc] initWithInteger:consentForm.hash]; - _consentFormDict[hash] = consentForm; -} - -- (void)disposeConsentForm:(UMPConsentForm *)consentForm { - NSNumber *hash = [[NSNumber alloc] initWithInteger:consentForm.hash]; - [_consentFormDict removeObjectForKey:hash]; -} - -- (FlutterStandardReader *_Nonnull)readerWithData:(NSData *_Nonnull)data { - FLTUserMessagingPlatformReader *reader = - [[FLTUserMessagingPlatformReader alloc] initWithData:data]; - reader.consentFormDict = self.consentFormDict; - return reader; -} - -- (FlutterStandardWriter *_Nonnull)writerWithData: - (NSMutableData *_Nonnull)data { - FLTUserMessagingPlatformWriter *writer = - [[FLTUserMessagingPlatformWriter alloc] initWithData:data]; - writer.consentFormDict = self.consentFormDict; - return writer; -} -@end - -@implementation FLTUserMessagingPlatformWriter - -- (void)writeValue:(id)value { - if ([value isKindOfClass:[UMPConsentForm class]]) { - UMPConsentForm *form = (UMPConsentForm *)value; - NSNumber *hash = [[NSNumber alloc] initWithInteger:form.hash]; - [self writeByte:FLTValueConsentForm]; - [self writeValue:hash]; - } else if ([value isKindOfClass:[UMPRequestParameters class]]) { - UMPRequestParameters *params = (UMPRequestParameters *)value; - - [self writeByte:FLTValueConsentRequestParameters]; - [self writeValue:[[NSNumber alloc] - initWithBool:params.tagForUnderAgeOfConsent]]; - [self writeValue:params.debugSettings]; - } else if ([value isKindOfClass:[UMPDebugSettings class]]) { - UMPDebugSettings *debugSettings = (UMPDebugSettings *)value; - [self writeByte:FLTValueConsentDebugSettings]; - [self - writeValue:[[NSNumber alloc] initWithInteger:debugSettings.geography]]; - [self writeValue:debugSettings.testDeviceIdentifiers]; - } else { - [super writeValue:value]; - } -} - -@end - -@implementation FLTUserMessagingPlatformReader - -- (id _Nullable)readValueOfType:(UInt8)type { - FLTUserMessagingPlatformField field = (FLTUserMessagingPlatformField)type; - switch (field) { - case FLTValueConsentRequestParameters: { - UMPRequestParameters *parameters = [[UMPRequestParameters alloc] init]; - NSNumber *tfuac = [self readValueOfType:[self readByte]]; - - parameters.tagForUnderAgeOfConsent = tfuac.boolValue; - UMPDebugSettings *debugSettings = [self readValueOfType:[self readByte]]; - parameters.debugSettings = debugSettings; - return parameters; - } - case FLTValueConsentDebugSettings: { - UMPDebugSettings *debugSettings = [[UMPDebugSettings alloc] init]; - NSNumber *geography = [self readValueOfType:[self readByte]]; - NSArray *testIdentifiers = - [self readValueOfType:[self readByte]]; - if ([FLTAdUtil isNotNull:geography]) { - debugSettings.geography = geography.intValue; - } - if ([FLTAdUtil isNotNull:testIdentifiers]) { - debugSettings.testDeviceIdentifiers = testIdentifiers; - } - return debugSettings; - } - case FLTValueConsentForm: { - NSNumber *hash = [self readValueOfType:[self readByte]]; - return _consentFormDict[hash]; - } - default: - return [super readValueOfType:type]; - } -} - -@end diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/ios/google_mobile_ads/Sources/google_mobile_ads/include/google_mobile_ads/FLTAdInstanceManager_Internal.h b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/ios/google_mobile_ads/Sources/google_mobile_ads/include/google_mobile_ads/FLTAdInstanceManager_Internal.h deleted file mode 100644 index 1e8dd554..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/ios/google_mobile_ads/Sources/google_mobile_ads/include/google_mobile_ads/FLTAdInstanceManager_Internal.h +++ /dev/null @@ -1,74 +0,0 @@ -// Copyright 2021 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#import "FLTAd_Internal.h" -#import "FLTGoogleMobileAdsCollection_Internal.h" -#import "FLTGoogleMobileAdsReaderWriter_Internal.h" -#import - -@protocol FLTAd; -@class FLTBannerAd; -@class FLTNativeAd; -@class FLTRewardedAd; -@class FLTRewardedInterstitialAd; -@class FLTRewardItem; -@class FLTAdValue; - -@interface FLTAdInstanceManager : NSObject -- (instancetype _Nonnull)initWithBinaryMessenger: - (id _Nonnull)binaryMessenger; -- (id _Nullable)adFor:(NSNumber *_Nonnull)adId; -- (NSNumber *_Nullable)adIdFor:(id _Nonnull)ad; -- (void)loadAd:(id _Nonnull)ad; -- (void)dispose:(NSNumber *_Nonnull)adId; -- (void)showAdWithID:(NSNumber *_Nonnull)adId; -- (void)onAdLoaded:(id _Nonnull)ad - responseInfo:(GADResponseInfo *_Nonnull)responseInfo; -- (void)onAdFailedToLoad:(id _Nonnull)ad error:(NSError *_Nonnull)error; -- (void)onAppEvent:(id _Nonnull)ad - name:(NSString *_Nullable)name - data:(NSString *_Nullable)data; -- (void)onNativeAdImpression:(FLTNativeAd *_Nonnull)ad; -- (void)onNativeAdWillPresentScreen:(FLTNativeAd *_Nonnull)ad; -- (void)onNativeAdDidDismissScreen:(FLTNativeAd *_Nonnull)ad; -- (void)onNativeAdWillDismissScreen:(FLTNativeAd *_Nonnull)ad; -- (void)onRewardedAdUserEarnedReward:(FLTRewardedAd *_Nonnull)ad - reward:(FLTRewardItem *_Nonnull)reward; -- (void)onRewardedInterstitialAdUserEarnedReward: - (FLTRewardedInterstitialAd *_Nonnull)ad - reward: - (FLTRewardItem *_Nonnull)reward; -- (void)onPaidEvent:(id _Nonnull)ad value:(FLTAdValue *_Nonnull)value; -- (void)onBannerImpression:(FLTBannerAd *_Nonnull)ad; -- (void)onBannerWillDismissScreen:(FLTBannerAd *_Nonnull)ad; -- (void)onBannerDidDismissScreen:(FLTBannerAd *_Nonnull)ad; -- (void)onBannerWillPresentScreen:(FLTBannerAd *_Nonnull)ad; - -- (void)adWillPresentFullScreenContent:(id _Nonnull)ad; -- (void)adDidDismissFullScreenContent:(id _Nonnull)ad; -- (void)adWillDismissFullScreenContent:(id _Nonnull)ad; -- (void)adDidRecordImpression:(id _Nonnull)ad; -- (void)adDidRecordClick:(id _Nonnull)ad; -- (void)didFailToPresentFullScreenContentWithError:(id _Nonnull)ad - error:(NSError *_Nonnull)error; -- (void)onFluidAdHeightChanged:(id _Nonnull)ad height:(CGFloat)height; -- (void)disposeAllAds; -@end - -@interface FLTNewGoogleMobileAdsViewFactory - : NSObject -@property(readonly) FLTAdInstanceManager *_Nonnull manager; -- (instancetype _Nonnull)initWithManager: - (FLTAdInstanceManager *_Nonnull)manager; -@end diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/ios/google_mobile_ads/Sources/google_mobile_ads/include/google_mobile_ads/FLTAdUtil.h b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/ios/google_mobile_ads/Sources/google_mobile_ads/include/google_mobile_ads/FLTAdUtil.h deleted file mode 100644 index 1a0c2f9f..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/ios/google_mobile_ads/Sources/google_mobile_ads/include/google_mobile_ads/FLTAdUtil.h +++ /dev/null @@ -1,31 +0,0 @@ -// Copyright 2021 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#import -#import -#import - -@interface FLTAdUtil : NSObject - -+ (BOOL)isNull:(_Nullable id)object; - -+ (BOOL)isNotNull:(_Nullable id)object; - -+ (WKWebView *_Nullable)getWebView:(NSNumber *_Nonnull)webViewId - flutterPluginRegistry: - (id _Nonnull)flutterPluginRegistry; - -@property(readonly, class) NSString *_Nonnull requestAgent; - -@end diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/ios/google_mobile_ads/Sources/google_mobile_ads/include/google_mobile_ads/FLTAd_Internal.h b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/ios/google_mobile_ads/Sources/google_mobile_ads/include/google_mobile_ads/FLTAd_Internal.h deleted file mode 100644 index 1d48655c..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/ios/google_mobile_ads/Sources/google_mobile_ads/include/google_mobile_ads/FLTAd_Internal.h +++ /dev/null @@ -1,319 +0,0 @@ -// Copyright 2021 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#import "FLTAdInstanceManager_Internal.h" -#import "FLTGoogleMobileAdsPlugin.h" -#import "FLTMediationExtras.h" -#import "FLTMediationNetworkExtrasProvider.h" -#import "FLTMobileAds_Internal.h" -#import "FLTNativeTemplateStyle.h" -#import "GADTTemplateView.h" -#import -#import - -@class FLTAdInstanceManager; -@protocol FLTNativeAdFactory; - -@interface FLTAdSize : NSObject -@property(readonly) GADAdSize size; -@property(readonly) NSNumber *_Nonnull width; -@property(readonly) NSNumber *_Nonnull height; -- (instancetype _Nonnull)initWithWidth:(NSNumber *_Nonnull)width - height:(NSNumber *_Nonnull)height; -- (instancetype _Nonnull)initWithAdSize:(GADAdSize)size; -@end - -/** - * Wrapper around top level methods for `GADAdSize` for the Google Mobile Ads - * Plugin. - */ -@interface FLTAdSizeFactory : NSObject -- (GADAdSize)portraitAnchoredAdaptiveBannerAdSizeWithWidth: - (NSNumber *_Nonnull)width; -- (GADAdSize)landscapeAnchoredAdaptiveBannerAdSizeWithWidth: - (NSNumber *_Nonnull)width; -- (GADAdSize)currentOrientationAnchoredAdaptiveBannerAdSizeWithWidth: - (NSNumber *_Nonnull)width; -- (GADAdSize)currentOrientationInlineAdaptiveBannerSizeWithWidth: - (NSNumber *_Nonnull)width; -- (GADAdSize)portraitOrientationInlineAdaptiveBannerSizeWithWidth: - (NSNumber *_Nonnull)width; -- (GADAdSize)landscapeInlineAdaptiveBannerAdSizeWithWidth: - (NSNumber *_Nonnull)width; -- (GADAdSize) - inlineAdaptiveBannerAdSizeWithWidthAndMaxHeight:(NSNumber *_Nonnull)width - maxHeight: - (NSNumber *_Nonnull)maxHeight; - -@end - -@interface FLTAnchoredAdaptiveBannerSize : FLTAdSize -@property(readonly) NSString *_Nonnull orientation; -- (instancetype _Nonnull)initWithFactory:(FLTAdSizeFactory *_Nonnull)factory - orientation:(NSString *_Nullable)orientation - width:(NSNumber *_Nonnull)width - isLarge:(BOOL)isLarge; -@end - -@interface FLTInlineAdaptiveBannerSize : FLTAdSize -@property(readonly) NSNumber *_Nullable orientation; -@property(readonly) NSNumber *_Nullable maxHeight; -- (instancetype _Nonnull)initWithFactory:(FLTAdSizeFactory *_Nonnull)factory - width:(NSNumber *_Nonnull)width - maxHeight:(NSNumber *_Nullable)maxHeight - orientation:(NSNumber *_Nullable)orientation; -@end - -@interface FLTSmartBannerSize : FLTAdSize -@property(readonly) NSString *_Nonnull orientation; -- (instancetype _Nonnull)initWithOrientation:(NSString *_Nonnull)orientation; -@end - -@interface FLTFluidSize : FLTAdSize -@end - -@interface FLTAdRequest : NSObject -@property NSArray *_Nullable keywords; -@property NSString *_Nullable contentURL; -@property BOOL nonPersonalizedAds; -@property NSArray *_Nullable neighboringContentURLs; -@property NSString *_Nullable mediationExtrasIdentifier - DEPRECATED_MSG_ATTRIBUTE("Use mediationExtras instead."); -@property id< - FLTMediationNetworkExtrasProvider> _Nullable mediationNetworkExtrasProvider - DEPRECATED_MSG_ATTRIBUTE("Use mediationExtras instead."); -@property NSDictionary *_Nullable adMobExtras; -@property NSString *_Nonnull requestAgent; -@property NSArray> *_Nullable mediationExtras; - -- (GADRequest *_Nonnull)asGADRequest:(NSString *_Nonnull)adUnitId; -@end - -/** - * Wrapper around `GADAdNetworkResponseInfo`. - */ -@interface FLTGADAdNetworkResponseInfo : NSObject - -@property NSString *_Nullable adNetworkClassName; -@property NSNumber *_Nullable latency; -@property NSString *_Nullable dictionaryDescription; -@property NSDictionary *_Nullable adUnitMapping; -@property NSError *_Nullable error; -@property NSString *_Nullable adSourceInstanceID; -@property NSString *_Nullable adSourceID; -@property NSString *_Nullable adSourceName; -@property NSString *_Nullable adSourceInstanceName; - -- (instancetype _Nonnull)initWithResponseInfo: - (GADAdNetworkResponseInfo *_Nonnull)responseInfo; -@end - -/** - * Wrapper around `GADResponseInfo`. - */ -@interface FLTGADResponseInfo : NSObject -@property NSString *_Nullable responseIdentifier; -@property NSString *_Nullable adNetworkClassName; -@property NSArray *_Nullable adNetworkInfoArray; -@property FLTGADAdNetworkResponseInfo *_Nullable loadedAdNetworkResponseInfo; -@property NSDictionary *_Nullable extrasDictionary; - -- (instancetype _Nonnull)initWithResponseInfo: - (GADResponseInfo *_Nonnull)responseInfo; -@end - -/** - * Wrapper around `GAMRequest` for the Google Mobile Ads Plugin. - * Extracts response info from the userInfo dict. - */ -@interface FLTLoadAdError : NSObject -@property NSInteger code; -@property NSString *_Nullable domain; -@property NSString *_Nullable message; -@property FLTGADResponseInfo *_Nullable responseInfo; - -- (instancetype _Nonnull)initWithError:(NSError *_Nonnull)error; -@end - -/** - * Wrapper around `GAMRequest` for the Google Mobile Ads Plugin. - */ -@interface FLTGAMAdRequest : FLTAdRequest -@property NSDictionary *_Nullable customTargeting; -@property NSDictionary *> - *_Nullable customTargetingLists; -@property NSString *_Nullable pubProvidedID; - -- (GAMRequest *_Nonnull)asGAMRequest:(NSString *_Nonnull)adUnitId; -@end - -@protocol FLTAd -@property(weak) FLTAdInstanceManager *_Nullable manager; -@property(readonly) NSNumber *_Nonnull adId; -- (void)load; -@end - -@protocol FLTAdWithoutView -- (void)show; -@end - -@interface FLTBaseAd : NSObject -@property(readonly) NSNumber *_Nonnull adId; -@end - -@interface FLTBannerAd - : FLTBaseAd -- (instancetype _Nonnull)initWithAdUnitId:(NSString *_Nonnull)adUnitId - size:(FLTAdSize *_Nonnull)size - request:(FLTAdRequest *_Nonnull)request - rootViewController: - (UIViewController *_Nonnull)rootViewController - adId:(NSNumber *_Nonnull)adId; -- (FLTAdSize *_Nullable)getAdSize; -- (GADBannerView *_Nonnull)bannerView; -- (BOOL)isCollapsible; -@end - -/** - * Wrapper around `GAMBannerAd` for the Google Mobile Ads Plugin. - */ -@interface FLTGAMBannerAd : FLTBannerAd -- (instancetype _Nonnull)initWithAdUnitId:(NSString *_Nonnull)adUnitId - sizes:(NSArray *_Nonnull)sizes - request:(FLTGAMAdRequest *_Nonnull)request - rootViewController: - (UIViewController *_Nonnull)rootViewController - adId:(NSNumber *_Nonnull)adId; - -@end - -/** - * An extension of`GAMBannerAd` for fluid ad size. - */ -@interface FLTFluidGAMBannerAd : FLTGAMBannerAd -- (instancetype _Nonnull)initWithAdUnitId:(NSString *_Nonnull)adUnitId - request:(FLTGAMAdRequest *_Nonnull)request - rootViewController: - (UIViewController *_Nonnull)rootViewController - adId:(NSNumber *_Nonnull)adId; -@end - -@interface FLTFullScreenAd - : FLTBaseAd -@end - -@interface FLTInterstitialAd : FLTFullScreenAd -- (instancetype _Nonnull)initWithAdUnitId:(NSString *_Nonnull)adUnitId - request:(FLTAdRequest *_Nonnull)request - adId:(NSNumber *_Nonnull)adId; -- (GADInterstitialAd *_Nullable)interstitial; -- (NSString *_Nonnull)adUnitId; -- (void)load; - -@end - -@interface FLTGAMInterstitialAd : FLTInterstitialAd -- (instancetype _Nonnull)initWithAdUnitId:(NSString *_Nonnull)adUnitId - request:(FLTGAMAdRequest *_Nonnull)request - adId:(NSNumber *_Nonnull)adId; -@end - -@interface FLTRewardedAd : FLTFullScreenAd -- (instancetype _Nonnull)initWithAdUnitId:(NSString *_Nonnull)adUnitId - request:(FLTAdRequest *_Nonnull)request - adId:(NSNumber *_Nonnull)adId; -- (GADRewardedAd *_Nullable)rewardedAd; -- (void)setServerSideVerificationOptions: - (FLTServerSideVerificationOptions *_Nullable)serverSideVerificationOptions; -@end - -@interface FLTRewardedInterstitialAd : FLTFullScreenAd -- (instancetype _Nonnull)initWithAdUnitId:(NSString *_Nonnull)adUnitId - request:(FLTAdRequest *_Nonnull)request - adId:(NSNumber *_Nonnull)adId; -- (GADRewardedInterstitialAd *_Nullable)rewardedInterstitialAd; -- (void)setServerSideVerificationOptions: - (FLTServerSideVerificationOptions *_Nullable)serverSideVerificationOptions; -@end - -@interface FLTAppOpenAd : FLTFullScreenAd -- (instancetype _Nonnull)initWithAdUnitId:(NSString *_Nonnull)adUnitId - request:(FLTAdRequest *_Nonnull)request - adId:(NSNumber *_Nonnull)adId; -- (GADAppOpenAd *_Nullable)appOpenAd; -@end - -@interface FLTVideoOptions : NSObject -@property(readonly) NSNumber *_Nullable clickToExpandRequested; -@property(readonly) NSNumber *_Nullable customControlsRequested; -@property(readonly) NSNumber *_Nullable startMuted; -- (instancetype _Nonnull) - initWithClickToExpandRequested:(NSNumber *_Nullable)clickToExpandRequested - customControlsRequested:(NSNumber *_Nullable)customControlsRequested - startMuted:(NSNumber *_Nullable)startMuted; -- (GADVideoOptions *_Nonnull)asGADVideoOptions; - -@end - -@interface FLTNativeAdOptions : NSObject -@property(readonly) NSNumber *_Nullable adChoicesPlacement; -@property(readonly) NSNumber *_Nullable mediaAspectRatio; -@property(readonly) FLTVideoOptions *_Nullable videoOptions; -@property(readonly) NSNumber *_Nullable requestCustomMuteThisAd; -@property(readonly) NSNumber *_Nullable shouldRequestMultipleImages; -@property(readonly) NSNumber *_Nullable shouldReturnUrlsForImageAssets; - -- (instancetype _Nonnull) - initWithAdChoicesPlacement:(NSNumber *_Nullable)adChoicesPlacement - mediaAspectRatio:(NSNumber *_Nullable)mediaAspectRatio - videoOptions:(FLTVideoOptions *_Nullable)videoOptions - requestCustomMuteThisAd:(NSNumber *_Nullable)requestCustomMuteThisAd - shouldRequestMultipleImages: - (NSNumber *_Nullable)shouldRequestMultipleImages - shouldReturnUrlsForImageAssets: - (NSNumber *_Nullable)shouldReturnUrlsForImageAssets; - -- (NSArray *_Nonnull)asGADAdLoaderOptions; -@end - -@interface FLTNativeAd - : FLTBaseAd -- (instancetype _Nonnull) - initWithAdUnitId:(NSString *_Nonnull)adUnitId - request:(FLTAdRequest *_Nonnull)request - nativeAdFactory:(NSObject *_Nonnull)nativeAdFactory - customOptions:(NSDictionary *_Nullable)customOptions - rootViewController:(UIViewController *_Nonnull)rootViewController - adId:(NSNumber *_Nonnull)adId - nativeAdOptions:(FLTNativeAdOptions *_Nullable)nativeAdOptions - nativeTemplateStyle:(FLTNativeTemplateStyle *_Nullable)nativeTemplateStyle; -- (GADAdLoader *_Nonnull)adLoader; -@end - -@interface FLTRewardItem : NSObject -@property(readonly) NSNumber *_Nonnull amount; -@property(readonly) NSString *_Nonnull type; -- (instancetype _Nonnull)initWithAmount:(NSNumber *_Nonnull)amount - type:(NSString *_Nonnull)type; -@end - -@interface FLTAdValue : NSObject -@property(readonly) NSDecimalNumber *_Nonnull valueMicros; -@property(readonly) NSInteger precision; -@property(readonly) NSString *_Nonnull currencyCode; -- (instancetype _Nonnull)initWithValue:(NSDecimalNumber *_Nonnull)value - precision:(NSInteger)precision - currencyCode:(NSString *_Nonnull)currencyCode; -@end diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/ios/google_mobile_ads/Sources/google_mobile_ads/include/google_mobile_ads/FLTAppStateNotifier.h b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/ios/google_mobile_ads/Sources/google_mobile_ads/include/google_mobile_ads/FLTAppStateNotifier.h deleted file mode 100644 index 027d4689..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/ios/google_mobile_ads/Sources/google_mobile_ads/include/google_mobile_ads/FLTAppStateNotifier.h +++ /dev/null @@ -1,22 +0,0 @@ -// Copyright 2021 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#import - -@interface FLTAppStateNotifier : NSObject - -- (instancetype _Nonnull)initWithBinaryMessenger: - (NSObject *_Nonnull)messenger; - -@end diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/ios/google_mobile_ads/Sources/google_mobile_ads/include/google_mobile_ads/FLTConstants.h b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/ios/google_mobile_ads/Sources/google_mobile_ads/include/google_mobile_ads/FLTConstants.h deleted file mode 100644 index 46a063b8..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/ios/google_mobile_ads/Sources/google_mobile_ads/include/google_mobile_ads/FLTConstants.h +++ /dev/null @@ -1,16 +0,0 @@ -// Copyright 2021 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -/** Versioned request agent string. */ -#define FLT_REQUEST_AGENT_VERSIONED @"Flutter-GMA-8.0.0" diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/ios/google_mobile_ads/Sources/google_mobile_ads/include/google_mobile_ads/FLTGoogleMobileAdsCollection_Internal.h b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/ios/google_mobile_ads/Sources/google_mobile_ads/include/google_mobile_ads/FLTGoogleMobileAdsCollection_Internal.h deleted file mode 100644 index 5034d467..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/ios/google_mobile_ads/Sources/google_mobile_ads/include/google_mobile_ads/FLTGoogleMobileAdsCollection_Internal.h +++ /dev/null @@ -1,29 +0,0 @@ -// Copyright 2021 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#import "FLTAd_Internal.h" -#import "FLTGoogleMobileAdsPlugin.h" -#import - -@protocol FLTAd; - -// Thread-safe wrapper of NSMutableDictionary. -@interface FLTGoogleMobileAdsCollection : NSObject -- (void)setObject:(ObjectType _Nonnull)object - forKey:(KeyType _Nonnull)key; -- (void)removeObjectForKey:(KeyType _Nonnull)key; -- (id _Nullable)objectForKey:(KeyType _Nonnull)key; -- (NSArray *_Nonnull)allKeysForObject:(ObjectType _Nonnull)object; -- (void)removeAllObjects; -@end diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/ios/google_mobile_ads/Sources/google_mobile_ads/include/google_mobile_ads/FLTGoogleMobileAdsPlugin.h b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/ios/google_mobile_ads/Sources/google_mobile_ads/include/google_mobile_ads/FLTGoogleMobileAdsPlugin.h deleted file mode 100644 index 9da745da..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/ios/google_mobile_ads/Sources/google_mobile_ads/include/google_mobile_ads/FLTGoogleMobileAdsPlugin.h +++ /dev/null @@ -1,111 +0,0 @@ -// Copyright 2021 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#import - -#import - -#import "FLTAdInstanceManager_Internal.h" -#import "FLTAd_Internal.h" -#import "FLTMediationNetworkExtrasProvider.h" -#import "FLTMobileAds_Internal.h" - -#define FLTLogWarning(format, ...) \ - NSLog((@"GoogleMobileAdsPlugin " format), ##__VA_ARGS__) - -/** - * Creates a `GADNativeAdView` to be shown in a Flutter app. - * - * When a Native Ad is created in Dart, this protocol is responsible for - * building the `GADNativeAdView`. Register a class that implements this with a - * `FLTGoogleMobileAdsPlugin` to use in conjunction with Flutter. - */ -@protocol FLTNativeAdFactory -@required -/** - * Creates a `GADNativeAdView` with a `GADNativeAd`. - * - * @param nativeAd Ad information used to create a `GADNativeAdView` - * @param customOptions Used to pass additional custom options to create the - * `GADNativeAdView`. Nullable. - * @return a `GADNativeAdView` that is overlaid on top of the FlutterView. - */ -- (GADNativeAdView *_Nullable)createNativeAd:(GADNativeAd *_Nonnull)nativeAd - customOptions: - (NSDictionary *_Nullable)customOptions; -@end - -/** - * Flutter plugin providing access to the Google Mobile Ads API. - */ -@interface FLTGoogleMobileAdsPlugin : NSObject - -/** - * Registers a FLTMediationNetworkExtrasProvider used to provide mediation - * extras when the plugin creates ad requests. - * - * @param mediationNetworkExtrasProvider the FLTMediationNetworkExtrasProvider - * which will be used to get extras when ad requests are created. - * @param registry the associated FlutterPluginRegistry the plugin will be - * attached to - * @return whether mediationNetworkExtrasProvider was successfully registered to - * a FLTGoogleMobileAdsPlugin in the registry. - */ -+ (BOOL)registerMediationNetworkExtrasProvider: - (id _Nonnull) - mediationNetworkExtrasProvider - registry: - (id _Nonnull) - registry - __deprecated_msg("Use MediationExtras instead"); - -/* - * Unregisters any FLTMediationNetworkExtrasProvider that was associated with - * the FLTGoogleMobileAdsPlugin in registry. - */ -+ (void)unregisterMediationNetworkExtrasProvider: - (id _Nonnull)registry - __deprecated_msg("Use MediationExtras instead"); - -/** - * Adds a `FLTNativeAdFactory` used to create a `GADNativeAdView`s from a Native - * Ad created in Dart. - * - * @param registry maintains access to a `FLTGoogleMobileAdsPlugin`` instance. - * @param factoryId a unique identifier for the ad factory. The Native Ad - * created in Dart includes a parameter that refers to this. - * @param nativeAdFactory creates `GADNativeAdView`s when a Native Ad is created - * in Dart. - * @return whether the factoryId is unique and the nativeAdFactory was - * successfully added. - */ -+ (BOOL)registerNativeAdFactory:(id _Nonnull)registry - factoryId:(NSString *_Nonnull)factoryId - nativeAdFactory: - (id _Nonnull)nativeAdFactory; - -/** - * Unregisters a `FLTNativeAdFactory` used to create `GADNativeAdView`s from a - * Native Ad created in Dart. - * - * @param registry maintains access to a `FLTGoogleMobileAdsPlugin `instance. - * @param factoryId a unique identifier for the ad factory. The Native Ad - * created in Dart includes a parameter that refers to this. - * @return the previous `FLTNativeAdFactory` associated with this factoryId, or - * null if there was none for this factoryId. - */ -+ (id _Nullable) - unregisterNativeAdFactory:(id _Nonnull)registry - factoryId:(NSString *_Nonnull)factoryId; -@end diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/ios/google_mobile_ads/Sources/google_mobile_ads/include/google_mobile_ads/FLTGoogleMobileAdsReaderWriter_Internal.h b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/ios/google_mobile_ads/Sources/google_mobile_ads/include/google_mobile_ads/FLTGoogleMobileAdsReaderWriter_Internal.h deleted file mode 100644 index 5d8092af..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/ios/google_mobile_ads/Sources/google_mobile_ads/include/google_mobile_ads/FLTGoogleMobileAdsReaderWriter_Internal.h +++ /dev/null @@ -1,38 +0,0 @@ -// Copyright 2021 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#import "FLTAd_Internal.h" -#import "FLTMediationNetworkExtrasProvider.h" -#import - -@class FLTAdSizeFactory; - -@interface FLTGoogleMobileAdsReaderWriter : FlutterStandardReaderWriter -@property(readonly) FLTAdSizeFactory *_Nonnull adSizeFactory; -@property id< - FLTMediationNetworkExtrasProvider> _Nullable mediationNetworkExtrasProvider; - -- (instancetype _Nonnull)initWithFactory: - (FLTAdSizeFactory *_Nonnull)adSizeFactory; -@end - -@interface FLTGoogleMobileAdsReader : FlutterStandardReader -@property(readonly) FLTAdSizeFactory *_Nonnull adSizeFactory; -@property id< - FLTMediationNetworkExtrasProvider> _Nullable mediationNetworkExtrasProvider; - -- (instancetype _Nonnull)initWithFactory: - (FLTAdSizeFactory *_Nonnull)adSizeFactory - data:(NSData *_Nonnull)data; -@end diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/ios/google_mobile_ads/Sources/google_mobile_ads/include/google_mobile_ads/FLTMediationExtras.h b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/ios/google_mobile_ads/Sources/google_mobile_ads/include/google_mobile_ads/FLTMediationExtras.h deleted file mode 100644 index 398d612a..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/ios/google_mobile_ads/Sources/google_mobile_ads/include/google_mobile_ads/FLTMediationExtras.h +++ /dev/null @@ -1,35 +0,0 @@ -// Copyright 2024 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#import -#import - -/** - * Mediation adapters will provide a class that conforms to this protocol to be - * added to the `FLTAdRequest`. - */ -@protocol FlutterMediationExtras - -// Pair of key-values to be stored received from the dart layer. -@property NSDictionary *_Nullable extras; - -/** - * Parses the values in @c extras to the required protocol to append Mediation - * extras to the `FLTAdRequest`. - * - * @return the parsed extra values to an object that conforms to protocol. - */ -- (id _Nonnull)getMediationExtras; - -@end diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/ios/google_mobile_ads/Sources/google_mobile_ads/include/google_mobile_ads/FLTMediationNetworkExtrasProvider.h b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/ios/google_mobile_ads/Sources/google_mobile_ads/include/google_mobile_ads/FLTMediationNetworkExtrasProvider.h deleted file mode 100644 index 3f2c9281..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/ios/google_mobile_ads/Sources/google_mobile_ads/include/google_mobile_ads/FLTMediationNetworkExtrasProvider.h +++ /dev/null @@ -1,42 +0,0 @@ -// Copyright 2021 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#import - -/** - * Provides network specific parameters to include in ad requests. - * An implementation of this protocol can be passed to FLTGoogleMobileAdsPlugin - * using registerMediationNetworkExtrasProvider - * - * @deprecated Use FLTMediationExtras instead. - */ -__attribute__((deprecated)) -@protocol FLTMediationNetworkExtrasProvider -@required - -/** - * Gets an array of GADAdNetworkExtras to include in the GADRequest for the - * given adUnitId and mediationExtrasIdentifier. - * - * @param adUnitId the ad unit id associated with the ad request - * @param mediationExtrasIdentifier n optional string that comes from the - * associated dart ad request object. This allows for additional control of - * which extras to include for an ad request, beyond just the ad unit. - * @return an array of GADAdNetworkExtras to include in the ad request. - */ -- (NSArray> *_Nullable) - getMediationExtras:(NSString *_Nonnull)adUnitId - mediationExtrasIdentifier:(NSString *_Nullable)mediationExtrasIdentifier; - -@end diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/ios/google_mobile_ads/Sources/google_mobile_ads/include/google_mobile_ads/FLTMobileAds_Internal.h b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/ios/google_mobile_ads/Sources/google_mobile_ads/include/google_mobile_ads/FLTMobileAds_Internal.h deleted file mode 100644 index 06414f4d..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/ios/google_mobile_ads/Sources/google_mobile_ads/include/google_mobile_ads/FLTMobileAds_Internal.h +++ /dev/null @@ -1,57 +0,0 @@ -// Copyright 2021 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#import - -NS_ASSUME_NONNULL_BEGIN - -/** - * Represent `GADAdapterInitializationState` for the Google Mobile Ads Plugin. - * - * Used to help serialize and pass `GADAdapterInitializationState` to Dart. - */ -typedef NS_ENUM(NSUInteger, FLTAdapterInitializationState) { - FLTAdapterInitializationStateNotReady, - FLTAdapterInitializationStateReady, -}; - -/** - * Wrapper around `GADAdapterStatus` for the Google Mobile Ads Plugin. - * - * Used to help serialize and pass `GADAdapterStatus` to Dart. - */ -@interface FLTAdapterStatus : NSObject -@property NSNumber *state; -@property NSString *statusDescription; -@property NSNumber *latency; -- (instancetype)initWithStatus:(GADAdapterStatus *)status; -@end - -/** - * Wrapper around `GADInitializationStatus` for the Google Mobile Ads Plugin. - * - * Used to help serialize and pass `GADInitializationStatus` to Dart. - */ -@interface FLTInitializationStatus : NSObject -@property NSDictionary *adapterStatuses; -- (instancetype)initWithStatus:(GADInitializationStatus *)status; -@end - -@interface FLTServerSideVerificationOptions : NSObject -@property(nonatomic, copy, nullable) NSString *userIdentifier; -@property(nonatomic, copy, nullable) NSString *customRewardString; -- (GADServerSideVerificationOptions *_Nonnull) - asGADServerSideVerificationOptions; -@end -NS_ASSUME_NONNULL_END diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/ios/google_mobile_ads/Sources/google_mobile_ads/include/google_mobile_ads/FLTNSString.h b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/ios/google_mobile_ads/Sources/google_mobile_ads/include/google_mobile_ads/FLTNSString.h deleted file mode 100644 index 5ec63900..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/ios/google_mobile_ads/Sources/google_mobile_ads/include/google_mobile_ads/FLTNSString.h +++ /dev/null @@ -1,22 +0,0 @@ -// Copyright 2022 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#import - -/// Category extensions for NSString -@interface NSString (FLTNSStringExtension) - -- (instancetype _Nonnull)gma_initWithInt:(NSInteger)integer __attribute__((objc_method_family(init))); - -@end diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/ios/google_mobile_ads/Sources/google_mobile_ads/include/google_mobile_ads/FLTNativeTemplateColor.h b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/ios/google_mobile_ads/Sources/google_mobile_ads/include/google_mobile_ads/FLTNativeTemplateColor.h deleted file mode 100644 index 67f1c107..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/ios/google_mobile_ads/Sources/google_mobile_ads/include/google_mobile_ads/FLTNativeTemplateColor.h +++ /dev/null @@ -1,34 +0,0 @@ -// Copyright 2022 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#import -#import - -/** - * Handles mapping argb to UIColor. - */ -@interface FLTNativeTemplateColor : NSObject - -- (instancetype _Nonnull)initWithAlpha:(NSNumber *_Nonnull)alpha - red:(NSNumber *_Nonnull)red - green:(NSNumber *_Nonnull)green - blue:(NSNumber *_Nonnull)blue; -- (UIColor *_Nonnull)uiColor; - -@property(readonly) NSNumber *_Nonnull alpha; -@property(readonly) NSNumber *_Nonnull red; -@property(readonly) NSNumber *_Nonnull green; -@property(readonly) NSNumber *_Nonnull blue; - -@end diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/ios/google_mobile_ads/Sources/google_mobile_ads/include/google_mobile_ads/FLTNativeTemplateFontStyle.h b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/ios/google_mobile_ads/Sources/google_mobile_ads/include/google_mobile_ads/FLTNativeTemplateFontStyle.h deleted file mode 100644 index d8b3e6c8..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/ios/google_mobile_ads/Sources/google_mobile_ads/include/google_mobile_ads/FLTNativeTemplateFontStyle.h +++ /dev/null @@ -1,36 +0,0 @@ -// Copyright 2022 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#import - -/** - * Predefined font types for native templates. - */ -typedef NS_ENUM(NSInteger, FLTNativeTemplateFontStyle) { - FLTNativeTemplateFontNormal, - FLTNativeTemplateFontBold, - FLTNativeTemplateFontItalic, - FLTNativeTemplateFontMonospace -}; - -/** - * Handles mapping int values to FLTNativeTemplateFontStyle. - */ -@interface FLTNativeTemplateFontStyleWrapper : NSObject - -- (instancetype _Nonnull)initWithInt:(int)intValue; -- (FLTNativeTemplateFontStyle)fontStyle; - -@property(readonly) int intValue; -@end diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/ios/google_mobile_ads/Sources/google_mobile_ads/include/google_mobile_ads/FLTNativeTemplateStyle.h b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/ios/google_mobile_ads/Sources/google_mobile_ads/include/google_mobile_ads/FLTNativeTemplateStyle.h deleted file mode 100644 index 58ecc30d..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/ios/google_mobile_ads/Sources/google_mobile_ads/include/google_mobile_ads/FLTNativeTemplateStyle.h +++ /dev/null @@ -1,58 +0,0 @@ -// Copyright 2022 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#import "FLTNativeTemplateColor.h" -#import "FLTNativeTemplateTextStyle.h" -#import "FLTNativeTemplateType.h" -#import "GADTTemplateView.h" -#import -#import -#import - -/** - * Wraps a GADTTemplateView for being displayed as a platform view. - * Exists to override layoutSubviews, so we can attach layout constraints. - */ -@interface FLTNativeTemplateViewWrapper : UIView - -/** The GADTTemplateView that is being wrapped. */ -@property GADTTemplateView *_Nullable templateView; -@end - -@interface FLTNativeTemplateStyle : NSObject - -- (instancetype _Nonnull) - initWithTemplateType:(FLTNativeTemplateType *_Nonnull)templateType - mainBackgroundColor:(FLTNativeTemplateColor *_Nullable)mainBackgroundColor - callToActionStyle: - (FLTNativeTemplateTextStyle *_Nullable)callToActionStyle - primaryTextStyle:(FLTNativeTemplateTextStyle *_Nullable)primaryTextStyle - secondaryTextStyle: - (FLTNativeTemplateTextStyle *_Nullable)secondaryTextStyle - tertiaryTextStyle: - (FLTNativeTemplateTextStyle *_Nullable)tertiaryTextStyle - cornerRadius:(NSNumber *_Nullable)cornerRadius; -@property(readonly) FLTNativeTemplateType *_Nonnull templateType; -@property(readonly) FLTNativeTemplateColor *_Nullable mainBackgroundColor; -@property(readonly) FLTNativeTemplateTextStyle *_Nullable callToActionStyle; -@property(readonly) FLTNativeTemplateTextStyle *_Nullable primaryTextStyle; -@property(readonly) FLTNativeTemplateTextStyle *_Nullable secondaryTextStyle; -@property(readonly) FLTNativeTemplateTextStyle *_Nullable tertiaryTextStyle; -@property(readonly) NSNumber *_Nullable cornerRadius; - -/** The actual view to be displayed. */ -- (FLTNativeTemplateViewWrapper *_Nonnull)getDisplayedView: - (GADNativeAd *_Nonnull)gadNativeAd; - -@end diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/ios/google_mobile_ads/Sources/google_mobile_ads/include/google_mobile_ads/FLTNativeTemplateTextStyle.h b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/ios/google_mobile_ads/Sources/google_mobile_ads/include/google_mobile_ads/FLTNativeTemplateTextStyle.h deleted file mode 100644 index d4068a78..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/ios/google_mobile_ads/Sources/google_mobile_ads/include/google_mobile_ads/FLTNativeTemplateTextStyle.h +++ /dev/null @@ -1,35 +0,0 @@ -// Copyright 2022 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#import "FLTNativeTemplateColor.h" -#import "FLTNativeTemplateFontStyle.h" - -/** - * Contains style options that can be applied to text in a native template. - */ -@interface FLTNativeTemplateTextStyle : NSObject - -- (instancetype _Nonnull) - initWithTextColor:(FLTNativeTemplateColor *_Nullable)textColor - backgroundColor:(FLTNativeTemplateColor *_Nullable)backgroundColor - fontStyle:(FLTNativeTemplateFontStyleWrapper *_Nullable)fontStyle - size:(NSNumber *_Nullable)size; - -@property(readonly) FLTNativeTemplateColor *_Nullable textColor; -@property(readonly) FLTNativeTemplateColor *_Nullable backgroundColor; -@property(readonly) FLTNativeTemplateFontStyleWrapper *_Nullable fontStyle; -@property(readonly) NSNumber *_Nullable size; -/** UIFont that has the corresponding fontStyle and size. */ -@property(readonly) UIFont *_Nullable uiFont; -@end diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/ios/google_mobile_ads/Sources/google_mobile_ads/include/google_mobile_ads/FLTNativeTemplateType.h b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/ios/google_mobile_ads/Sources/google_mobile_ads/include/google_mobile_ads/FLTNativeTemplateType.h deleted file mode 100644 index 65bda99b..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/ios/google_mobile_ads/Sources/google_mobile_ads/include/google_mobile_ads/FLTNativeTemplateType.h +++ /dev/null @@ -1,27 +0,0 @@ -// Copyright 2022 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#import "GADTTemplateView.h" -#import - -/** Maps int values to template layout types. */ -@interface FLTNativeTemplateType : NSObject - -- (instancetype _Nonnull)initWithInt:(int)intValue; -- (NSString *_Nonnull)xibName; -- (GADTTemplateView *_Nonnull)templateView; - -@property(readonly) int intValue; - -@end diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/ios/google_mobile_ads/Sources/google_mobile_ads/include/google_mobile_ads/FLTUserMessagingPlatformManager.h b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/ios/google_mobile_ads/Sources/google_mobile_ads/include/google_mobile_ads/FLTUserMessagingPlatformManager.h deleted file mode 100644 index 9bfd93cf..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/ios/google_mobile_ads/Sources/google_mobile_ads/include/google_mobile_ads/FLTUserMessagingPlatformManager.h +++ /dev/null @@ -1,29 +0,0 @@ -// Copyright 2022 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#include "FLTUserMessagingPlatformReaderWriter.h" -#import -#import - -@interface FLTUserMessagingPlatformManager : NSObject - -@property FLTUserMessagingPlatformReaderWriter *_Nonnull readerWriter; - -- (instancetype _Nonnull)initWithBinaryMessenger: - (NSObject *_Nonnull)binaryMessenger; - -- (void)handleMethodCall:(FlutterMethodCall *_Nonnull)call - result:(FlutterResult _Nonnull)result; - -@end diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/ios/google_mobile_ads/Sources/google_mobile_ads/include/google_mobile_ads/FLTUserMessagingPlatformReaderWriter.h b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/ios/google_mobile_ads/Sources/google_mobile_ads/include/google_mobile_ads/FLTUserMessagingPlatformReaderWriter.h deleted file mode 100644 index 1c069166..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/ios/google_mobile_ads/Sources/google_mobile_ads/include/google_mobile_ads/FLTUserMessagingPlatformReaderWriter.h +++ /dev/null @@ -1,24 +0,0 @@ -// Copyright 2022 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#import -#include - -@interface FLTUserMessagingPlatformReaderWriter : FlutterStandardReaderWriter - -- (void)trackConsentForm:(UMPConsentForm *)consentForm; - -- (void)disposeConsentForm:(UMPConsentForm *)consentForm; - -@end diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/ios/google_mobile_ads/Sources/google_mobile_ads/include/google_mobile_ads/GADTFullScreenTemplateView.h b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/ios/google_mobile_ads/Sources/google_mobile_ads/include/google_mobile_ads/GADTFullScreenTemplateView.h deleted file mode 100644 index b9d28475..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/ios/google_mobile_ads/Sources/google_mobile_ads/include/google_mobile_ads/GADTFullScreenTemplateView.h +++ /dev/null @@ -1,21 +0,0 @@ -/* - * Copyright 2021 Google LLC - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#import "GADTTemplateView.h" - -@interface GADTFullScreenTemplateView : GADTTemplateView - -@end diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/ios/google_mobile_ads/Sources/google_mobile_ads/include/google_mobile_ads/GADTMediumTemplateView.h b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/ios/google_mobile_ads/Sources/google_mobile_ads/include/google_mobile_ads/GADTMediumTemplateView.h deleted file mode 100644 index 915d18e0..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/ios/google_mobile_ads/Sources/google_mobile_ads/include/google_mobile_ads/GADTMediumTemplateView.h +++ /dev/null @@ -1,23 +0,0 @@ -/* - * Copyright 2019 Google LLC - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#import "GADTTemplateView.h" - -/// A template for medium sized views. Renders a roughly square view with a call -/// to action on the bottom and a horizontal image in the middle. -@interface GADTMediumTemplateView : GADTTemplateView - -@end diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/ios/google_mobile_ads/Sources/google_mobile_ads/include/google_mobile_ads/GADTSmallTemplateView.h b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/ios/google_mobile_ads/Sources/google_mobile_ads/include/google_mobile_ads/GADTSmallTemplateView.h deleted file mode 100644 index 12d4d3d8..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/ios/google_mobile_ads/Sources/google_mobile_ads/include/google_mobile_ads/GADTSmallTemplateView.h +++ /dev/null @@ -1,22 +0,0 @@ -/* - * Copyright 2019 Google LLC - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#import "GADTTemplateView.h" - -/// A small template, perfect for UITableViewCells or other row views. -@interface GADTSmallTemplateView : GADTTemplateView - -@end diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/ios/google_mobile_ads/Sources/google_mobile_ads/include/google_mobile_ads/GADTTemplateView.h b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/ios/google_mobile_ads/Sources/google_mobile_ads/include/google_mobile_ads/GADTTemplateView.h deleted file mode 100644 index 82a27630..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/ios/google_mobile_ads/Sources/google_mobile_ads/include/google_mobile_ads/GADTTemplateView.h +++ /dev/null @@ -1,114 +0,0 @@ -// Copyright 2018-2021 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#import - -/// Constants used to style your template. -typedef NSString *GADTNativeTemplateStyleKey NS_STRING_ENUM; - -/// The font, font color and background color for your call to action view. -/// All templates have a call to action view. -#pragma mark - Call To Action - -/// Call to action font. Expects a UIFont. -extern GADTNativeTemplateStyleKey const - GADTNativeTemplateStyleKeyCallToActionFont; - -/// Call to action font color. Expects a UIColor. -extern GADTNativeTemplateStyleKey const - GADTNativeTemplateStyleKeyCallToActionFontColor; - -/// Call to action background color. Expects a UIColor. -extern GADTNativeTemplateStyleKey const - GADTNativeTemplateStyleKeyCallToActionBackgroundColor; - -/// The font, font color and background color for the first row of text in the -/// template. All templates have a primary text area which is populated by the -/// native ad's headline. -#pragma mark - Primary Text - -/// Primary text font. Expects a UIFont. -extern GADTNativeTemplateStyleKey const GADTNativeTemplateStyleKeyPrimaryFont; - -/// Primary text font color. Expects a UIColor. -extern GADTNativeTemplateStyleKey const - GADTNativeTemplateStyleKeyPrimaryFontColor; - -/// Primary text background color. Expects a UIColor. -extern GADTNativeTemplateStyleKey const - GADTNativeTemplateStyleKeyPrimaryBackgroundColor; - -/// The font, font color and background color for the second row of text in the -/// template. All templates have a secondary text area which is populated either -/// by the body of the ad, or by the rating of the app. -#pragma mark - Secondary Text - -/// Secondary text font. Expects a UIFont. -extern GADTNativeTemplateStyleKey const GADTNativeTemplateStyleKeySecondaryFont; - -/// Secondary text font color. Expects a UIColor. -extern GADTNativeTemplateStyleKey const - GADTNativeTemplateStyleKeySecondaryFontColor; - -/// Secondary text background color. Expects a UIColor. -extern GADTNativeTemplateStyleKey const - GADTNativeTemplateStyleKeySecondaryBackgroundColor; - -/// The font, font color and background color for the third row of text in the -/// template. The third row is used to display store name or the default -/// tertiary text. -#pragma mark - Tertiary Text - -/// Tertiary text font. Expects a UIFont. -extern GADTNativeTemplateStyleKey const GADTNativeTemplateStyleKeyTertiaryFont; - -/// Tertiary text font color. Expects a UIColor. -extern GADTNativeTemplateStyleKey const - GADTNativeTemplateStyleKeyTertiaryFontColor; - -/// Tertiary text background color. Expects a UIColor. -extern GADTNativeTemplateStyleKey const - GADTNativeTemplateStyleKeyTertiaryBackgroundColor; - -#pragma mark - Additional Style Options - -/// The background color for the bulk of the ad. Expects a UIColor. -extern GADTNativeTemplateStyleKey const - GADTNativeTemplateStyleKeyMainBackgroundColor; - -/// The corner rounding radius for the icon view and call to action. Expects an -/// NSNumber. -extern GADTNativeTemplateStyleKey const GADTNativeTemplateStyleKeyCornerRadius; - -/// The super class for every template object. -/// This class has the majority of all layout and styling logic. -@interface GADTTemplateView : GADNativeAdView -@property(nonatomic, copy) - NSDictionary *styles; -@property(weak) IBOutlet UILabel *adBadge; -@property(weak) UIView *rootView; - -/// Adds a constraint to the superview so that the template spans the width of -/// its parent. Does nothing if there is no superview. -- (void)addHorizontalConstraintsToSuperviewWidth; - -/// Adds a constraint to the superview so that the template is centered -/// vertically in its parent. Does nothing if there is no superview. -- (void)addVerticalCenterConstraintToSuperview; - -/// Utility method to get a color from a hex string. -+ (UIColor *)colorFromHexString:(NSString *)hexString; - -- (NSString *)getTemplateTypeName; -@end diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/lib/google_mobile_ads.dart b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/lib/google_mobile_ads.dart deleted file mode 100644 index d33b6e17..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/lib/google_mobile_ads.dart +++ /dev/null @@ -1,28 +0,0 @@ -// Copyright 2021 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -export 'src/ad_containers.dart'; -export 'src/ad_listeners.dart'; -export 'src/app_background_event_notifier.dart'; -export 'src/mediation_extras.dart'; -export 'src/mobile_ads.dart'; -export 'src/request_configuration.dart'; -export 'src/ump/consent_request_parameters.dart'; -export 'src/ump/consent_information.dart'; -export 'src/ump/consent_form.dart'; -export 'src/ump/form_error.dart'; -export 'src/nativetemplates/native_template_font_style.dart'; -export 'src/nativetemplates/native_template_style.dart'; -export 'src/nativetemplates/native_template_text_style.dart'; -export 'src/nativetemplates/template_type.dart'; diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/lib/src/ad_containers.dart b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/lib/src/ad_containers.dart deleted file mode 100644 index 5c6fb716..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/lib/src/ad_containers.dart +++ /dev/null @@ -1,1663 +0,0 @@ -// Copyright 2021 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -import 'dart:async'; -import 'dart:math'; - -import 'package:flutter/foundation.dart'; -import 'package:flutter/gestures.dart'; -import 'package:flutter/rendering.dart'; -import 'package:flutter/services.dart'; -import 'package:flutter/widgets.dart'; - -import 'ad_instance_manager.dart'; -import 'ad_listeners.dart'; -import 'mediation_extras.dart'; -import 'nativetemplates/native_template_style.dart'; - -/// Error information about why an ad operation failed. -class AdError { - /// Creates an [AdError] with the given [code], [domain] and [message]. - @protected - AdError(this.code, this.domain, this.message); - - /// Unique code to identify the error. - /// - /// See links below for possible error codes: - /// Android: - /// https://developers.google.com/android/reference/com/google/android/gms/ads/AdRequest#constant-summary - /// Ios: - /// https://developers.google.com/admob/ios/api/reference/Enums/GADErrorCode - final int code; - - /// The domain from which the error came. - final String domain; - - /// A message detailing the error. - /// - /// For example "Account not approved yet". See - /// https://support.google.com/admob/answer/9905175 for explanations of - /// common errors. - final String message; - - @override - String toString() { - return '$runtimeType(code: $code, domain: $domain, message: $message)'; - } -} - -/// Contains information about the loaded ad or ad request. -/// -/// For debugging and logging purposes. See -/// https://developers.google.com/admob/android/response-info for more -/// information on how this can be used. -class ResponseInfo { - /// Constructs a [ResponseInfo] with the [responseId] and [mediationAdapterClassName]. - @protected - const ResponseInfo({ - this.responseId, - this.mediationAdapterClassName, - this.adapterResponses, - this.loadedAdapterResponseInfo, - required this.responseExtras, - }); - - /// An identifier for the loaded ad. - final String? responseId; - - /// The mediation adapter class name of the ad network that loaded the ad. - final String? mediationAdapterClassName; - - /// The [AdapterResponseInfo]s containing metadata for each adapter included - /// in the ad response. - /// - /// Can be used to debug the mediation waterfall execution. - final List? adapterResponses; - - /// The [AdapterResponseInfo] of the adapter that was used to load the ad. - /// - /// This is null if the ad failed to load. - final AdapterResponseInfo? loadedAdapterResponseInfo; - - /// Map of extra information about the ad response. - final Map responseExtras; - - @override - String toString() { - return '$runtimeType(responseId: $responseId, ' - 'mediationAdapterClassName: $mediationAdapterClassName, ' - 'adapterResponses: $adapterResponses, ' - 'loadedAdapterResponseInfo: $loadedAdapterResponseInfo), ' - 'responseExtras: $responseExtras'; - } -} - -/// Response information for an individual ad network in an ad response. -class AdapterResponseInfo { - /// Constructs an [AdapterResponseInfo]. - @protected - AdapterResponseInfo({ - required this.adapterClassName, - required this.latencyMillis, - required this.description, - required this.adUnitMapping, - required this.adSourceName, - required this.adSourceId, - required this.adSourceInstanceName, - required this.adSourceInstanceId, - this.adError, - }); - - /// A class name that identifies the ad network adapter. - final String adapterClassName; - - /// The amount of time the ad network adapter spent loading an ad. - /// - /// 0 if the adapter was not attempted. - final int latencyMillis; - - /// A log friendly string version of this object. - final String description; - - /// Network configuration set on the AdMob UI. - final Map adUnitMapping; - - /// The error that occurred while rendering the ad. - final AdError? adError; - - /// The ad source name associated with this adapter response. - /// - /// This is an empty string "" if the ad server did not populate this field. - final String adSourceName; - - /// The ad source ID associated with this adapter response. - /// - /// This is an empty string "" if the ad server did not populate this field. - final String adSourceId; - - /// The ad source instance name associated with this adapter response. - /// - /// This is an empty string "" if the ad server did not populate this field. - final String adSourceInstanceName; - - /// The ad source instance id associated with this adapter response. - /// - /// This is an empty string "" if the ad server did not populate this field. - final String adSourceInstanceId; - - @override - String toString() { - return '$runtimeType(adapterClassName: $adapterClassName, ' - 'latencyMillis: $latencyMillis, ' - 'description: $description, ' - 'adUnitMapping: $adUnitMapping, ' - 'adError: $adError, ' - 'adSourceName: $adSourceName, ' - 'adSourceId: $adSourceId, ' - 'adSourceInstanceName: $adSourceInstanceName, ' - 'adSourceInstanceId: $adSourceInstanceId)'; - } -} - -/// Represents errors that occur when loading an ad. -class LoadAdError extends AdError { - /// Default constructor for [LoadAdError]. - @protected - LoadAdError(int code, String domain, String message, this.responseInfo) - : super(code, domain, message); - - /// The [ResponseInfo] for the error. - final ResponseInfo? responseInfo; - - @override - String toString() { - return '$runtimeType(code: $code, domain: $domain, message: $message' - ', responseInfo: $responseInfo)'; - } -} - -/// Targeting info per the AdMob API. -/// -/// This class's properties mirror the native AdRequest API. See for example: -/// [AdRequest.Builder for Android](https://developers.google.com/android/reference/com/google/android/gms/ads/AdRequest.Builder). -class AdRequest { - /// Default constructor for [AdRequest]. - const AdRequest({ - this.keywords, - this.contentUrl, - this.neighboringContentUrls, - this.nonPersonalizedAds, - this.httpTimeoutMillis, - @Deprecated('Use mediationExtras instead.') this.mediationExtrasIdentifier, - this.extras, - this.mediationExtras, - }); - - /// Words or phrases describing the current user activity. - final List? keywords; - - /// URL string for a webpage whose content matches the app’s primary content. - /// - /// This webpage content is used for targeting and brand safety purposes. - final String? contentUrl; - - /// URLs representing web content near an ad. - final List? neighboringContentUrls; - - /// Non-personalized ads are ads that are not based on a user’s past behavior. - /// - /// For more information: - /// https://support.google.com/admob/answer/7676680?hl=en - final bool? nonPersonalizedAds; - - /// A custom timeout for HTTPS calls during an ad request. - /// - /// This is only supported in Android. This value is ignored on iOS. - final int? httpTimeoutMillis; - - /// String identifier used in providing mediation extras. - /// - /// Only relevant if you use mediation and need to provide network extras - /// to the ad request. This identifier will get passed to your platform-side - /// mediation extras factory class, allowing for additional customization - /// of network extras. - @Deprecated('Use mediationExtras instead.') - final String? mediationExtrasIdentifier; - - /// Extras to pass to the AdMob adapter. - final Map? extras; - - /// Extra parameters to pass to specific ad adapters. - final List? mediationExtras; - - @override - bool operator ==(Object other) { - return other is AdRequest && - listEquals(keywords, other.keywords) && - contentUrl == other.contentUrl && - nonPersonalizedAds == other.nonPersonalizedAds && - listEquals(neighboringContentUrls, other.neighboringContentUrls) && - httpTimeoutMillis == other.httpTimeoutMillis && - //ignore: deprecated_member_use_from_same_package - mediationExtrasIdentifier == other.mediationExtrasIdentifier && - mapEquals(extras, other.extras) && - mediationExtras == other.mediationExtras; - } - - @override - int get hashCode => Object.hash( - keywords, - contentUrl, - nonPersonalizedAds, - neighboringContentUrls, - httpTimeoutMillis, - //ignore: deprecated_member_use_from_same_package - mediationExtrasIdentifier, - extras, - mediationExtras, - ); -} - -/// Targeting info per the Ad Manager API. -class AdManagerAdRequest extends AdRequest { - /// Constructs an [AdManagerAdRequest] from optional targeting information. - const AdManagerAdRequest({ - List? keywords, - String? contentUrl, - List? neighboringContentUrls, - this.customTargeting, - this.customTargetingLists, - bool? nonPersonalizedAds, - int? httpTimeoutMillis, - this.publisherProvidedId, - String? mediationExtrasIdentifier, - Map? extras, - List? mediationExtras, - }) : super( - keywords: keywords, - contentUrl: contentUrl, - neighboringContentUrls: neighboringContentUrls, - nonPersonalizedAds: nonPersonalizedAds, - httpTimeoutMillis: httpTimeoutMillis, - //ignore: deprecated_member_use_from_same_package - mediationExtrasIdentifier: mediationExtrasIdentifier, - extras: extras, - mediationExtras: mediationExtras, - ); - - /// Key-value pairs used for custom targeting. - final Map? customTargeting; - - /// Key-value pairs used for custom targeting. - /// - /// Any duplicate keys from [customTargeting] will be overwritten. - final Map>? customTargetingLists; - - /// The identifier used for frequency capping, audience segmentation - /// and targeting, sequential ad rotation, and other audience-based ad - /// delivery controls across devices. - final String? publisherProvidedId; - - @override - bool operator ==(Object other) { - return super == other && - other is AdManagerAdRequest && - mapEquals(customTargeting, other.customTargeting) && - customTargetingLists.toString() == - other.customTargetingLists.toString() && - publisherProvidedId == other.publisherProvidedId; - } - - @override - int get hashCode => - Object.hash(customTargeting, customTargetingLists, publisherProvidedId); -} - -/// An [AdSize] with the given width and a Google-optimized height to create a banner ad. -/// -/// See: -/// [AdSize.getAnchoredAdaptiveBannerAdSize]. -class AnchoredAdaptiveBannerAdSize extends AdSize { - /// Default constructor for [AnchoredAdaptiveBannerAdSize]. - /// - /// This constructor should only be used internally. - /// - /// See: - /// [AdSize.getAnchoredAdaptiveBannerAdSize]. - AnchoredAdaptiveBannerAdSize( - this.orientation, { - required int width, - required int height, - }) : super(width: width, height: height); - - /// Orientation of the device used by the SDK to automatically find the correct height. - final Orientation? orientation; -} - -/// Ad units that render screen-width banner ads on any screen size across different devices in either [Orientation]. -@Deprecated('Use adaptive banner instead') -class SmartBannerAdSize extends AdSize { - /// Default constructor for [SmartBannerAdSize]. - SmartBannerAdSize(this.orientation) : super(width: -1, height: -1); - - /// Orientation of the device used by the SDK to automatically find the correct height. - final Orientation orientation; -} - -/// A dynamically sized banner that matches its parent's width and content height. -class FluidAdSize extends AdSize { - /// Default constructor for [FluidAdSize]. - const FluidAdSize() : super(width: -3, height: -3); -} - -/// A size for inline adaptive banner ads. -/// -/// This ad size takes a width and optionally a maximum height and orientation. -/// They will be rendered at the provided width and have variable height decided -/// by Google servers. -/// -/// You can obtain an instance of this using factory methods such as -/// [AdSize.getCurrentOrientationInlineAdaptiveBannerAdSize(width)]. -/// -/// After an inline adaptive banner ad is loaded, you should use -/// [BannerAd.getPlatformAdSize] or [AdManagerBannerAd.getPlatformAdSize] to get -/// the height to use for the ad container. -class InlineAdaptiveSize extends AdSize { - /// Private constructor for [InlineAdaptiveSize]. - /// - /// You should use one of the static constructors in [AdSize]. - const InlineAdaptiveSize._({ - required int width, - this.maxHeight, - this.orientation, - }) : super(width: width, height: 0); - - /// The maximum height allowed. - final int? maxHeight; - - /// The orientation. If none if specified the current orientation is used. - final Orientation? orientation; - - /// Representation of [orientation] to pass to platform code. - int? get orientationValue => orientation == null - ? null - : orientation == Orientation.portrait - ? 0 - : 1; -} - -/// [AdSize] represents the size of a banner ad. -/// -/// There are six sizes available, which are the same for both iOS and Android. -/// See the guides for banners on [Android](https://developers.google.com/admob/android/banner#banner_sizes) -/// and [iOS](https://developers.google.com/admob/ios/banner#banner_sizes) for -/// additional details. -class AdSize { - /// Constructs an [AdSize] with the given [width] and [height]. - const AdSize({required this.width, required this.height}); - - /// The vertical span of an ad. - final int height; - - /// The horizontal span of an ad. - final int width; - - /// The standard banner (320x50) size. - static const AdSize banner = AdSize(width: 320, height: 50); - - /// The large banner (320x100) size. - static const AdSize largeBanner = AdSize(width: 320, height: 100); - - /// The medium rectangle (300x250) size. - static const AdSize mediumRectangle = AdSize(width: 300, height: 250); - - /// The full banner (468x60) size. - static const AdSize fullBanner = AdSize(width: 468, height: 60); - - /// The leaderboard (728x90) size. - static const AdSize leaderboard = AdSize(width: 728, height: 90); - - /// A dynamically sized banner that matches its parent's width and expands/contracts its height to match the ad's content after loading completes. - static const AdSize fluid = FluidAdSize(); - - /// Ad units that render screen-width banner ads on any screen size across different devices in either [Orientation]. - /// - /// Width of the current device can be found using: - /// `MediaQuery.of(context).size.width.truncate()`. - /// - /// Returns `null` if a proper height could not be found for the device or - /// window. - @Deprecated('Use getLargeAnchoredAdaptiveBannerAdSizeWithOrientation instead') - static Future getAnchoredAdaptiveBannerAdSize( - Orientation orientation, - int width, - ) async { - final num? height = await instanceManager.channel.invokeMethod( - 'AdSize#getAnchoredAdaptiveBannerAdSize', - {'orientation': orientation.name, 'width': width}, - ); - - if (height == null) return null; - return AnchoredAdaptiveBannerAdSize( - orientation, - width: width, - height: height.truncate(), - ); - } - - /// Ad units that render screen-width banner ads on any screen size across different devices in either [Orientation]. - /// - /// Width of the current device can be found using: - /// `MediaQuery.of(context).size.width.truncate()`. - /// - /// Returns `null` if a proper height could not be found for the device or - /// window. - static Future - getLargeAnchoredAdaptiveBannerAdSizeWithOrientation( - Orientation orientation, - int width, - ) async { - final num? height = await instanceManager.channel.invokeMethod( - 'AdSize#getLargeAnchoredAdaptiveBannerAdSize', - {'orientation': orientation.name, 'width': width}, - ); - - if (height == null) return null; - return AnchoredAdaptiveBannerAdSize( - orientation, - width: width, - height: height.truncate(), - ); - } - - /// Returns an AdSize with the given width and a Google-optimized height to create a banner ad. - /// - /// The size returned will have an aspect ratio similar to AdSize, suitable for anchoring near the top or bottom of your app. - /// The height will never be larger than 15% of the device's current orientation height and never smaller than 50px. - /// This function always returns the same height for any width / device combination. - /// For more details, visit: https://developers.google.com/android/reference/com/google/android/gms/ads/AdSize#getCurrentOrientationAnchoredAdaptiveBannerAdSize(android.content.Context,%20int) - @Deprecated('Use getLargeAnchoredAdaptiveBannerAdSize instead') - static Future - getCurrentOrientationAnchoredAdaptiveBannerAdSize(int width) async { - final num? height = await instanceManager.channel.invokeMethod( - 'AdSize#getAnchoredAdaptiveBannerAdSize', - {'width': width}, - ); - - if (height == null) return null; - return AnchoredAdaptiveBannerAdSize( - null, - width: width, - height: height.truncate(), - ); - } - - /// Returns an AdSize with the given width and a Google-optimized height to create a banner ad. - /// - /// The size returned will have an aspect ratio similar to AdSize, suitable for anchoring near the top or bottom of your app. - /// The height will never be larger than 15% of the device's current orientation height and never smaller than 50px. - /// This function always returns the same height for any width / device combination. - /// For more details, visit: https://developers.google.com/android/reference/com/google/android/gms/ads/AdSize#getCurrentOrientationAnchoredAdaptiveBannerAdSize(android.content.Context,%20int) - static Future - getLargeAnchoredAdaptiveBannerAdSize(int width) async { - final num? height = await instanceManager.channel.invokeMethod( - 'AdSize#getLargeAnchoredAdaptiveBannerAdSize', - {'width': width}, - ); - - if (height == null) return null; - return AnchoredAdaptiveBannerAdSize( - null, - width: width, - height: height.truncate(), - ); - } - - /// Gets an AdSize with the given width and height that is always 0. - /// - /// This ad size allows Google servers to choose an optimal ad size with a - /// height less than or equal to the height of the screen in the current - /// orientation. - /// After the ad is loaded, you should update the height of the ad container - /// by calling [BannerAd.getPlatformAdSize] or - /// [AdManagerBannerAd.getPlatformAdSize] from the ad load callback. - /// This ad size is most suitable for ads intended to be displayed inside - /// scrollable content. - static InlineAdaptiveSize getCurrentOrientationInlineAdaptiveBannerAdSize( - int width, - ) { - return InlineAdaptiveSize._(width: width); - } - - /// Gets an AdSize in landscape orientation with the given width and 0 height. - /// - /// This ad size allows Google servers to choose an optimal ad size with a - /// height less than or equal to the height of the screen in landscape - /// orientation. - /// After the ad is loaded, you should update the height of the ad container - /// by calling [BannerAd.getPlatformAdSize] or - /// [AdManagerBannerAd.getPlatformAdSize] from the ad load callback. - /// This ad size is most suitable for ads intended to be displayed inside - /// scrollable content. - static InlineAdaptiveSize getLandscapeInlineAdaptiveBannerAdSize(int width) { - return InlineAdaptiveSize._( - width: width, - orientation: Orientation.landscape, - ); - } - - /// Gets an AdSize in portrait orientation with the given width and 0 height. - /// - /// This ad size allows Google servers to choose an optimal ad size with a - /// height less than or equal to the height of the screen in portrait - /// orientation. - /// After the ad is loaded, you should update the height of the ad container - /// by calling [BannerAd.getPlatformAdSize] or - /// [AdManagerBannerAd.getPlatformAdSize] from the ad load callback. - /// This ad size is most suitable for ads intended to be displayed inside - /// scrollable content. - static InlineAdaptiveSize getPortraitInlineAdaptiveBannerAdSize(int width) { - return InlineAdaptiveSize._( - width: width, - orientation: Orientation.portrait, - ); - } - - /// Gets an AdSize with the given width and height that is always 0. - /// - /// This ad size allows Google servers to choose an optimal ad size with a - /// height less than or equal to [maxHeight]. - /// After the ad is loaded, you should update the height of the ad container - /// by calling [BannerAd.getPlatformAdSize] or - /// [AdManagerBannerAd.getPlatformAdSize] from the ad load callback. - /// This ad size is most suitable for ads intended to be displayed inside - /// scrollable content. - static InlineAdaptiveSize getInlineAdaptiveBannerAdSize( - int width, - int maxHeight, - ) { - return InlineAdaptiveSize._(width: width, maxHeight: maxHeight); - } - - /// Ad units that render screen-width banner ads on any screen size across different devices in either orientation on Android. - @Deprecated('Use adaptive banner instead') - static AdSize get smartBanner { - assert(defaultTargetPlatform == TargetPlatform.android); - // Orientation is not used on Android. - return smartBannerPortrait; - } - - /// Ad units that render screen-width banner ads on any screen size across different devices in portrait on iOS. - @Deprecated('Use adaptive banner instead') - static AdSize get smartBannerPortrait { - return getSmartBanner(Orientation.portrait); - } - - /// Ad units that render screen-width banner ads on any screen size across different devices in landscape on iOS. - @Deprecated('Use adaptive banner instead') - static AdSize get smartBannerLandscape { - return getSmartBanner(Orientation.landscape); - } - - /// Ad units that render screen-width banner ads on any screen size across different devices in either [Orientation]. - @Deprecated('Use adaptive banner instead') - static SmartBannerAdSize getSmartBanner(Orientation orientation) { - return SmartBannerAdSize(orientation); - } - - @override - bool operator ==(Object other) { - return other is AdSize && width == other.width && height == other.height; - } - - @override - int get hashCode => Object.hash(width, height); -} - -/// The base class for all ads. -/// -/// A valid [adUnitId] is required. -abstract class Ad { - /// Default constructor, used by subclasses. - Ad({required this.adUnitId, this.responseInfo}); - - /// Identifies the source of [Ad]s for your application. - /// - /// For testing use a [sample ad unit](https://developers.google.com/admob/ios/test-ads#sample_ad_units). - final String adUnitId; - - /// Frees the plugin resources associated with this ad. - Future dispose() { - return instanceManager.disposeAd(this); - } - - /// Contains information about the loaded request. - /// - /// Only present if the ad has been successfully loaded. - ResponseInfo? responseInfo; -} - -/// Base class for mobile [Ad] that has an in-line view. -/// -/// A valid [adUnitId] and [size] are required. -abstract class AdWithView extends Ad { - /// Default constructor, used by subclasses. - AdWithView({required String adUnitId, required this.listener}) - : super(adUnitId: adUnitId); - - /// The [AdWithViewListener] for the ad. - final AdWithViewListener listener; - - /// Starts loading this ad. - /// - /// Loading callbacks are sent to this [Ad]'s [listener]. - Future load(); -} - -/// An [Ad] that is overlaid on top of the UI. -abstract class AdWithoutView extends Ad { - /// Default constructor used by subclasses. - AdWithoutView({required String adUnitId}) : super(adUnitId: adUnitId); - - /// Callback to be invoked when an ad is estimated to have earned money. - /// Available for allowlisted accounts only. - OnPaidEventCallback? onPaidEvent; - - /// Sets whether this ad will be displayed in immersive mode (Android only). - /// - /// This is a no-op on iOS. - /// See https://developer.android.com/training/system-ui/immersive#immersive - /// for more information on immersive mode. - Future setImmersiveMode(bool immersiveModeEnabled) async { - if (defaultTargetPlatform == TargetPlatform.iOS) { - return Future.value(); - } else { - return instanceManager.setImmersiveMode(this, immersiveModeEnabled); - } - } -} - -/// Displays an [Ad] as a Flutter widget. -/// -/// This widget takes ads inheriting from [AdWithView] -/// (e.g. [BannerAd] and [NativeAd]) and allows them to be added to the Flutter -/// widget tree. -/// -/// Must call `load()` first before showing the widget. Otherwise, a -/// [PlatformException] will be thrown. -class AdWidget extends StatefulWidget { - /// Default constructor for [AdWidget]. - /// - /// [ad] must be loaded before this is added to the widget tree. - const AdWidget({Key? key, required this.ad}) : super(key: key); - - /// Ad to be displayed as a widget. - final AdWithView ad; - - @override - _AdWidgetState createState() => _AdWidgetState(); -} - -class _AdWidgetState extends State { - bool _adIdAlreadyMounted = false; - bool _adLoadNotCalled = false; - - @override - void initState() { - super.initState(); - final int? adId = instanceManager.adIdFor(widget.ad); - if (adId != null) { - if (instanceManager.isWidgetAdIdMounted(adId)) { - _adIdAlreadyMounted = true; - } - instanceManager.mountWidgetAdId(adId); - } else { - _adLoadNotCalled = true; - } - } - - @override - void dispose() { - super.dispose(); - final int? adId = instanceManager.adIdFor(widget.ad); - if (adId != null) { - instanceManager.unmountWidgetAdId(adId); - } - } - - @override - Widget build(BuildContext context) { - if (_adIdAlreadyMounted) { - throw FlutterError.fromParts([ - ErrorSummary('This AdWidget is already in the Widget tree'), - ErrorHint( - 'If you placed this AdWidget in a list, make sure you create a new instance ' - 'in the builder function with a unique ad object.', - ), - ErrorHint( - 'Make sure you are not using the same ad object in more than one AdWidget.', - ), - ]); - } - if (_adLoadNotCalled) { - throw FlutterError.fromParts([ - ErrorSummary( - 'AdWidget requires Ad.load to be called before AdWidget is inserted into the tree', - ), - ErrorHint( - 'Parameter ad is not loaded. Call Ad.load before AdWidget is inserted into the tree.', - ), - ]); - } - if (defaultTargetPlatform == TargetPlatform.android) { - return PlatformViewLink( - viewType: '${instanceManager.channel.name}/ad_widget', - surfaceFactory: - (BuildContext context, PlatformViewController controller) { - return AndroidViewSurface( - controller: controller as AndroidViewController, - gestureRecognizers: - const >{}, - hitTestBehavior: PlatformViewHitTestBehavior.opaque, - ); - }, - onCreatePlatformView: (PlatformViewCreationParams params) { - return PlatformViewsService.initSurfaceAndroidView( - id: params.id, - viewType: '${instanceManager.channel.name}/ad_widget', - layoutDirection: TextDirection.ltr, - creationParams: instanceManager.adIdFor(widget.ad), - creationParamsCodec: StandardMessageCodec(), - ) - ..addOnPlatformViewCreatedListener(params.onPlatformViewCreated) - ..create(); - }, - ); - } - - return UiKitView( - viewType: '${instanceManager.channel.name}/ad_widget', - creationParams: instanceManager.adIdFor(widget.ad), - creationParamsCodec: StandardMessageCodec(), - ); - } -} - -/// A widget for displaying [FluidAdManagerBannerAd]. -/// -/// This widget adjusts its height based on the platform rendered ad. -class FluidAdWidget extends StatefulWidget { - /// Constructs a [FluidAdWidget]. - const FluidAdWidget({Key? key, required this.ad, this.width}) - : super(key: key); - - /// Ad to be displayed as a widget. - final FluidAdManagerBannerAd ad; - - /// The width to set for the ad widget. - final double? width; - - @override - _FluidAdWidgetState createState() => _FluidAdWidgetState(); -} - -class _FluidAdWidgetState extends State { - bool _adIdAlreadyMounted = false; - bool _adLoadNotCalled = false; - double _height = 0; - - @override - void initState() { - super.initState(); - final int? adId = instanceManager.adIdFor(widget.ad); - if (adId != null) { - if (instanceManager.isWidgetAdIdMounted(adId)) { - _adIdAlreadyMounted = true; - } - instanceManager.mountWidgetAdId(adId); - } else { - _adLoadNotCalled = true; - } - } - - @override - void dispose() { - super.dispose(); - final int? adId = instanceManager.adIdFor(widget.ad); - if (adId != null) { - instanceManager.unmountWidgetAdId(adId); - } - } - - @override - Widget build(BuildContext context) { - if (_adIdAlreadyMounted) { - throw FlutterError.fromParts([ - ErrorSummary('This AdWidget is already in the Widget tree'), - ErrorHint( - 'If you placed this AdWidget in a list, make sure you create a new instance ' - 'in the builder function with a unique ad object.', - ), - ErrorHint( - 'Make sure you are not using the same ad object in more than one AdWidget.', - ), - ]); - } - if (_adLoadNotCalled) { - throw FlutterError.fromParts([ - ErrorSummary( - 'AdWidget requires Ad.load to be called before AdWidget is inserted into the tree', - ), - ErrorHint( - 'Parameter ad is not loaded. Call Ad.load before AdWidget is inserted into the tree.', - ), - ]); - } - - widget.ad.onFluidAdHeightChangedListener = (ad, height) { - setState(() { - _height = height; - }); - }; - - Widget platformView; - double height; - if (defaultTargetPlatform == TargetPlatform.android) { - platformView = PlatformViewLink( - viewType: '${instanceManager.channel.name}/ad_widget', - surfaceFactory: - (BuildContext context, PlatformViewController controller) { - return AndroidViewSurface( - controller: controller as AndroidViewController, - gestureRecognizers: - const >{}, - hitTestBehavior: PlatformViewHitTestBehavior.opaque, - ); - }, - onCreatePlatformView: (PlatformViewCreationParams params) { - return PlatformViewsService.initSurfaceAndroidView( - id: params.id, - viewType: '${instanceManager.channel.name}/ad_widget', - layoutDirection: TextDirection.ltr, - creationParams: instanceManager.adIdFor(widget.ad), - creationParamsCodec: StandardMessageCodec(), - ) - ..addOnPlatformViewCreatedListener(params.onPlatformViewCreated) - ..create(); - }, - ); - height = _height / MediaQuery.of(context).devicePixelRatio; - } else { - platformView = UiKitView( - viewType: '${instanceManager.channel.name}/ad_widget', - creationParams: instanceManager.adIdFor(widget.ad), - creationParamsCodec: StandardMessageCodec(), - ); - height = _height; - } - - return Container( - height: max(1, height), - width: widget.width == null ? 1 : max(1, widget.width!), - child: platformView, - ); - } -} - -/// A banner ad. -/// -/// This ad can either be overlaid on top of all flutter widgets as a static -/// view or displayed as a typical Flutter widget. To display as a widget, -/// instantiate an [AdWidget] with this as a parameter. -class BannerAd extends AdWithView { - /// Creates a [BannerAd]. - /// - /// A valid [adUnitId], nonnull [listener], and nonnull request is required. - BannerAd({ - required this.size, - required String adUnitId, - required this.listener, - required this.request, - }) : super(adUnitId: adUnitId, listener: listener); - - /// Targeting information used to fetch an [Ad]. - final AdRequest request; - - /// Represents the size of a banner ad. - /// - /// There are six sizes available, which are the same for both iOS and Android. - /// See the guides for banners on Android](https://developers.google.com/admob/android/banner#banner_sizes) - /// and [iOS](https://developers.google.com/admob/ios/banner#banner_sizes) for additional details. - final AdSize size; - - /// A listener for receiving events in the ad lifecycle. - @override - final BannerAdListener listener; - - @override - Future load() async { - await instanceManager.loadBannerAd(this); - } - - /// Returns the AdSize of the associated platform ad object. - /// - /// The dimensions of the [AdSize] returned here may differ from [size], - /// depending on what type of [AdSize] was used. - /// The future will resolve to null if [load] has not been called yet. - Future getPlatformAdSize() async { - return await instanceManager.getAdSize(this); - } - - /// Returns true if the ad Id is already mounted in a WidgetAd managed - /// by the instanceManager. - bool get isMounted { - final int? id = instanceManager.adIdFor(this); - if (id != null) { - return instanceManager.isWidgetAdIdMounted(id); - } - return false; - } - - /// Returns true if banner loaded is collapsible - Future get isCollapsible async { - return await instanceManager.isCollapsible(this); - } -} - -/// An 'AdManagerBannerAd' that has fluid ad size. -/// -/// These ads will dynamically adjust their height to match the width of the ad. -/// This should be used with [FluidAdWidget], which displays the ad in a widget -/// that adjusts its height to the height of the platform rendered ad. -class FluidAdManagerBannerAd extends AdManagerBannerAd { - /// Creates a [FluidAdManagerBannerAd]. - /// - /// These ads dynamically change their height based on the width. - /// Set [onFluidAdHeightChangedListener] to get notified of height updates. - FluidAdManagerBannerAd({ - required String adUnitId, - required AdManagerBannerAdListener listener, - required AdManagerAdRequest request, - this.onFluidAdHeightChangedListener, - }) : super( - sizes: [FluidAdSize()], - adUnitId: adUnitId, - listener: listener, - request: request, - ); - - /// Listener for when the height of the ad changes. - OnFluidAdHeightChangedListener? onFluidAdHeightChangedListener; - - @override - Future load() async { - return instanceManager.loadFluidAd(this); - } -} - -/// A banner ad displayed with Google Ad Manager. -/// -/// This ad can either be overlaid on top of all flutter widgets by passing this -/// to an [AdWidget] after calling [load]. -class AdManagerBannerAd extends AdWithView { - /// Default constructor for [AdManagerBannerAd]. - /// - /// [sizes], [adUnitId], [listener], and [request] are all required values. - AdManagerBannerAd({ - required this.sizes, - required String adUnitId, - required this.listener, - required this.request, - }) : assert(sizes.isNotEmpty), - super(adUnitId: adUnitId, listener: listener); - - /// Targeting information used to fetch an [Ad]. - final AdManagerAdRequest request; - - /// A listener for receiving events in the ad lifecycle. - @override - final AdManagerBannerAdListener listener; - - /// Ad sizes supported by this [AdManagerBannerAd]. - /// - /// In most cases, only one ad size will be specified. Multiple ad sizes can - /// be specified if your application can appropriately handle multiple ad - /// sizes. If multiple ad sizes are specified, the [AdManagerBannerAd] will - /// assume the size of the first ad size until an ad is loaded. - final List sizes; - - @override - Future load() async { - await instanceManager.loadAdManagerBannerAd(this); - } - - /// Returns the AdSize of the associated platform ad object. - /// - /// The future will resolve to null if [load] has not been called yet. - /// The dimensions of the [AdSize] returned here may differ from [sizes], - /// depending on what type of [AdSize] was used. - Future getPlatformAdSize() async { - return await instanceManager.getAdSize(this); - } -} - -/// A NativeAd. -/// -/// Native ads are ad assets that are presented to users via UI components that -/// are native to the platform. (e.g. A -/// [View](https://developer.android.com/reference/android/view/View) on Android -/// or a -/// [UIView](https://developer.apple.com/documentation/uikit/uiview?language=objc) -/// on iOS). Using Flutter widgets to create native ads is NOT supported by -/// this. -/// -/// Using platform specific UI components, these ads can be formatted to match -/// the visual design of the user experience in which they live. In coding -/// terms, this means that when a native ad loads, your app receives a NativeAd -/// object that contains its assets, and the app (rather than the Google Mobile -/// Ads SDK) is then responsible for displaying them. -/// -/// See the README for more details on using Native Ads. -/// -/// To display this ad, instantiate an [AdWidget] with this as a parameter after -/// calling [load]. -class NativeAd extends AdWithView { - /// Creates a [NativeAd]. - /// - /// A valid [adUnitId], nonnull [listener], nonnull [request], and either - /// [factoryId] or [nativeTemplateStyle] is required. - /// Use [nativeAdOptions] to customize the native ad request. - /// Use [customOptions] to pass data to your native ad factory. - NativeAd({ - required String adUnitId, - this.factoryId, - required this.listener, - required this.request, - this.nativeAdOptions, - this.customOptions, - this.nativeTemplateStyle, - }) : adManagerRequest = null, - assert(request != null), - assert(nativeTemplateStyle != null || factoryId != null), - super(adUnitId: adUnitId, listener: listener); - - /// Creates a [NativeAd] with Ad Manager. - /// - /// A valid [adUnitId], nonnull [listener], nonnull [adManagerRequest], and - /// either [factoryId] or [nativeTemplateStyle] is required. - /// Use [nativeAdOptions] to customize the native ad request. - /// Use [customOptions] to pass data to your native ad factory. - NativeAd.fromAdManagerRequest({ - required String adUnitId, - this.factoryId, - required this.listener, - required this.adManagerRequest, - this.nativeAdOptions, - this.customOptions, - this.nativeTemplateStyle, - }) : request = null, - assert(adManagerRequest != null), - assert(nativeTemplateStyle != null || factoryId != null), - super(adUnitId: adUnitId, listener: listener); - - /// An identifier for the factory that creates the Platform view. - final String? factoryId; - - /// A listener for receiving events in the ad lifecycle. - @override - final NativeAdListener listener; - - /// Optional options used to create the [NativeAd]. - /// - /// These options are passed to the platform's `NativeAdFactory`. - Map? customOptions; - - /// Targeting information used to fetch an [Ad]. - final AdRequest? request; - - /// Targeting information used to fetch an [Ad] with Ad Manager. - final AdManagerAdRequest? adManagerRequest; - - /// Options to configure the native ad request. - final NativeAdOptions? nativeAdOptions; - - /// Optional [NativeTemplateStyle] for this ad. - /// - /// If this is non-null, the plugin will render a native ad template - /// with corresponding style. Otherwise any registered NativeAdFactory will be - /// used to render the native ad. - final NativeTemplateStyle? nativeTemplateStyle; - - @override - Future load() async { - await instanceManager.loadNativeAd(this); - } -} - -/// A full-screen interstitial ad for the Google Mobile Ads Plugin. -class InterstitialAd extends AdWithoutView { - /// Creates an [InterstitialAd]. - /// - /// A valid [adUnitId] from the AdMob dashboard, a nonnull [listener], and a - /// nonnull [request] is required. - InterstitialAd._({ - required String adUnitId, - required this.request, - required this.adLoadCallback, - }) : super(adUnitId: adUnitId); - - /// Targeting information used to fetch an [Ad]. - final AdRequest request; - - /// Callback to be invoked when the ad finishes loading. - final InterstitialAdLoadCallback adLoadCallback; - - /// Callbacks to be invoked when ads show and dismiss full screen content. - FullScreenContentCallback? fullScreenContentCallback; - - /// Loads an [InterstitialAd] with the given [adUnitId] and [request]. - static Future load({ - required String adUnitId, - required AdRequest request, - required InterstitialAdLoadCallback adLoadCallback, - }) async { - InterstitialAd ad = InterstitialAd._( - adUnitId: adUnitId, - adLoadCallback: adLoadCallback, - request: request, - ); - - await instanceManager.loadInterstitialAd(ad); - } - - /// Displays this on top of the application. - /// - /// Set [fullScreenContentCallback] before calling this method to be - /// notified of events that occur when showing the ad. - Future show() { - return instanceManager.showAdWithoutView(this); - } -} - -/// A full-screen interstitial ad for use with Ad Manager. -class AdManagerInterstitialAd extends AdWithoutView { - /// Creates an [AdManagerInterstitialAd]. - /// - /// A valid [adUnitId] from the Ad Manager dashboard, a nonnull [listener], - /// and nonnull [request] is required. - AdManagerInterstitialAd._({ - required String adUnitId, - required this.request, - required this.adLoadCallback, - }) : super(adUnitId: adUnitId); - - /// Targeting information used to fetch an [Ad]. - final AdManagerAdRequest request; - - /// Callback to be invoked when the ad finishes loading. - final AdManagerInterstitialAdLoadCallback adLoadCallback; - - /// Callbacks to be invoked when ads show and dismiss full screen content. - FullScreenContentCallback? fullScreenContentCallback; - - /// An optional listener for app events. - AppEventListener? appEventListener; - - /// Loads an [AdManagerInterstitialAd] with the given [adUnitId] and [request]. - static Future load({ - required String adUnitId, - required AdManagerAdRequest request, - required AdManagerInterstitialAdLoadCallback adLoadCallback, - AppEventListener? appEventListener, - }) async { - AdManagerInterstitialAd ad = AdManagerInterstitialAd._( - adUnitId: adUnitId, - adLoadCallback: adLoadCallback, - request: request, - ); - - await instanceManager.loadAdManagerInterstitialAd(ad); - } - - /// Displays this on top of the application. - /// - /// Set [fullScreenContentCallback] before calling this method to be - /// notified of events that occur when showing the ad. - Future show() { - return instanceManager.showAdWithoutView(this); - } -} - -/// An [Ad] where a user has the option of interacting with in exchange for in-app rewards. -/// -/// Because the video assets are so large, it's a good idea to start loading an -/// ad well in advance of when it's likely to be needed. -class RewardedAd extends AdWithoutView { - /// Creates a [RewardedAd] with an [AdRequest]. - /// - /// A valid [adUnitId], nonnull [listener], and nonnull request is required. - RewardedAd._({ - required String adUnitId, - required this.rewardedAdLoadCallback, - required this.request, - }) : adManagerRequest = null, - super(adUnitId: adUnitId); - - /// Creates a [RewardedAd] with a [AdManagerAdRequest]. - /// - /// A valid [adUnitId], nonnull [listener], and nonnull request is required. - RewardedAd._fromAdManagerRequest({ - required String adUnitId, - required this.rewardedAdLoadCallback, - required this.adManagerRequest, - }) : request = null, - super(adUnitId: adUnitId); - - /// Targeting information used to fetch an [Ad]. - final AdRequest? request; - - /// Targeting information used to fetch an [Ad] using Ad Manager. - final AdManagerAdRequest? adManagerRequest; - - /// Callbacks for events that occur when attempting to load an ad. - final RewardedAdLoadCallback rewardedAdLoadCallback; - - /// Callbacks to be invoked when ads show and dismiss full screen content. - FullScreenContentCallback? fullScreenContentCallback; - - /// Callback for when the user earns a reward. - OnUserEarnedRewardCallback? onUserEarnedRewardCallback; - - /// Loads a [RewardedAd] using an [AdRequest]. - static Future load({ - required String adUnitId, - required AdRequest request, - required RewardedAdLoadCallback rewardedAdLoadCallback, - }) async { - RewardedAd rewardedAd = RewardedAd._( - adUnitId: adUnitId, - request: request, - rewardedAdLoadCallback: rewardedAdLoadCallback, - ); - - await instanceManager.loadRewardedAd(rewardedAd); - } - - /// Loads a [RewardedAd] using an [AdManagerAdRequest]. - static Future loadWithAdManagerAdRequest({ - required String adUnitId, - required AdManagerAdRequest adManagerRequest, - required RewardedAdLoadCallback rewardedAdLoadCallback, - }) async { - RewardedAd rewardedAd = RewardedAd._fromAdManagerRequest( - adUnitId: adUnitId, - adManagerRequest: adManagerRequest, - rewardedAdLoadCallback: rewardedAdLoadCallback, - ); - - await instanceManager.loadRewardedAd(rewardedAd); - } - - /// Display this on top of the application. - /// - /// Set [fullScreenContentCallback] before calling this method to be - /// notified of events that occur when showing the ad. - /// [onUserEarnedReward] will be invoked when the user earns a reward. - Future show({required OnUserEarnedRewardCallback onUserEarnedReward}) { - onUserEarnedRewardCallback = onUserEarnedReward; - return instanceManager.showAdWithoutView(this); - } - - /// Set [ServerSideVerificationOptions] for the ad. - Future setServerSideOptions(ServerSideVerificationOptions options) { - return instanceManager.setServerSideVerificationOptions(options, this); - } -} - -/// Rewarded interstitials are full screen ads that reward users and can be -/// shown without a user opt in. -/// -/// This ad format is different than [RewardedAd] because rewarded ads require -/// the user to opt-in to watching the video. This ad format is different than -/// [InterstitialAd] because interstitial ads do not reward the user. -/// -/// Because the video assets are so large, it's a good idea to start loading an -/// ad well in advance of when it's likely to be needed. -class RewardedInterstitialAd extends AdWithoutView { - /// Creates a [RewardedInterstitialAd] with an [AdRequest]. - /// - /// A valid [adUnitId], nonnull [listener], and nonnull request is required. - RewardedInterstitialAd._({ - required String adUnitId, - required this.rewardedInterstitialAdLoadCallback, - required this.request, - }) : adManagerRequest = null, - super(adUnitId: adUnitId); - - /// Creates a [RewardedInterstitialAd] with an [AdManagerAdRequest]. - /// - /// A valid [adUnitId], nonnull [listener], and nonnull request is required. - RewardedInterstitialAd._fromAdManagerRequest({ - required String adUnitId, - required this.rewardedInterstitialAdLoadCallback, - required this.adManagerRequest, - }) : request = null, - super(adUnitId: adUnitId); - - /// Targeting information used to fetch an [Ad]. - final AdRequest? request; - - /// Targeting information used to fetch an [Ad] using Ad Manager. - final AdManagerAdRequest? adManagerRequest; - - /// Callbacks for events that occur when attempting to load an ad. - final RewardedInterstitialAdLoadCallback rewardedInterstitialAdLoadCallback; - - /// Callbacks to be invoked when ads show and dismiss full screen content. - FullScreenContentCallback? fullScreenContentCallback; - - /// Callback for when the user earns a reward. - OnUserEarnedRewardCallback? onUserEarnedRewardCallback; - - /// Loads a [RewardedInterstitialAd] using an [AdRequest]. - static Future load({ - required String adUnitId, - required AdRequest request, - required RewardedInterstitialAdLoadCallback - rewardedInterstitialAdLoadCallback, - }) async { - RewardedInterstitialAd rewardedInterstitialAd = RewardedInterstitialAd._( - adUnitId: adUnitId, - request: request, - rewardedInterstitialAdLoadCallback: rewardedInterstitialAdLoadCallback, - ); - - await instanceManager.loadRewardedInterstitialAd(rewardedInterstitialAd); - } - - /// Loads a [RewardedInterstitialAd] using an [AdManagerAdRequest]. - static Future loadWithAdManagerAdRequest({ - required String adUnitId, - required AdManagerAdRequest adManagerRequest, - required RewardedInterstitialAdLoadCallback - rewardedInterstitialAdLoadCallback, - }) async { - RewardedInterstitialAd rewardedInterstitialAd = - RewardedInterstitialAd._fromAdManagerRequest( - adUnitId: adUnitId, - adManagerRequest: adManagerRequest, - rewardedInterstitialAdLoadCallback: - rewardedInterstitialAdLoadCallback, - ); - - await instanceManager.loadRewardedInterstitialAd(rewardedInterstitialAd); - } - - /// Display this on top of the application. - /// - /// Set [fullScreenContentCallback] before calling this method to be - /// notified of events that occur when showing the ad. - /// [onUserEarnedReward] will be invoked when the user earns a reward. - Future show({required OnUserEarnedRewardCallback onUserEarnedReward}) { - onUserEarnedRewardCallback = onUserEarnedReward; - return instanceManager.showAdWithoutView(this); - } - - /// Set [ServerSideVerificationOptions] for the ad. - Future setServerSideOptions(ServerSideVerificationOptions options) { - return instanceManager.setServerSideVerificationOptions(options, this); - } -} - -/// Credit information about a reward received from a [RewardedAd] or -/// [RewardedInterstitialAd]. -class RewardItem { - /// Default constructor for [RewardItem]. - /// - /// This is mostly used to return [RewardItem]s for a [RewardedAd] or - /// [RewardedInterstitialAd] and shouldn't be needed to be used directly. - RewardItem(this.amount, this.type); - - /// Credit amount rewarded from a [RewardedAd] or [RewardedInterstitialAd]. - final num amount; - - /// Type of credit rewarded. - final String type; -} - -/// Options for RewardedAd server-side verification callbacks. -/// -/// See https://developers.google.com/admob/ios/rewarded-video-ssv and -/// https://developers.google.com/admob/android/rewarded-video-ssv for more -/// information. -class ServerSideVerificationOptions { - /// The user id to be used in server-to-server reward callbacks. - final String? userId; - - /// The custom data to be used in server-to-server reward callbacks - final String? customData; - - /// Create [ServerSideVerificationOptions] with the userId or customData. - ServerSideVerificationOptions({this.userId, this.customData}); - - @override - bool operator ==(other) { - return other is ServerSideVerificationOptions && - userId == other.userId && - customData == other.customData; - } - - @override - int get hashCode => Object.hash(userId, customData); -} - -/// A full-screen app open ad for the Google Mobile Ads Plugin. -class AppOpenAd extends AdWithoutView { - AppOpenAd._({ - required String adUnitId, - required this.adLoadCallback, - required this.request, - }) : adManagerAdRequest = null, - super(adUnitId: adUnitId); - - AppOpenAd._fromAdManagerRequest({ - required String adUnitId, - required this.adLoadCallback, - required this.adManagerAdRequest, - }) : request = null, - super(adUnitId: adUnitId); - - /// The [AdRequest] used to load the ad. - final AdRequest? request; - - /// The [AdManagerAdRequest] used to load the ad. - final AdManagerAdRequest? adManagerAdRequest; - - /// Listener for ad load events. - final AppOpenAdLoadCallback adLoadCallback; - - /// Callbacks to be invoked when ads show and dismiss full screen content. - FullScreenContentCallback? fullScreenContentCallback; - - /// Loads a [AppOpenAd] using an [AdRequest]. - static Future load({ - required String adUnitId, - required AdRequest request, - required AppOpenAdLoadCallback adLoadCallback, - }) async { - AppOpenAd ad = AppOpenAd._( - adUnitId: adUnitId, - adLoadCallback: adLoadCallback, - request: request, - ); - await instanceManager.loadAppOpenAd(ad); - } - - /// Loads an [AppOpenAd] using an [AdManagerRequest]. - static Future loadWithAdManagerAdRequest({ - required String adUnitId, - required AdManagerAdRequest adManagerAdRequest, - required AppOpenAdLoadCallback adLoadCallback, - }) async { - AppOpenAd ad = AppOpenAd._fromAdManagerRequest( - adUnitId: adUnitId, - adLoadCallback: adLoadCallback, - adManagerAdRequest: adManagerAdRequest, - ); - await instanceManager.loadAppOpenAd(ad); - } - - /// Displays this on top of the application. - /// - /// Set [fullScreenContentCallback] before calling this method to be - /// notified of events that occur when showing the ad. - Future show() { - return instanceManager.showAdWithoutView(this); - } -} - -/// Media aspect ratio for native ads. -enum MediaAspectRatio { - /// Unknown media aspect ratio. - unknown, - - /// Any media aspect ratio. - any, - - /// Landscape media aspect ratio. - landscape, - - /// Portrait media aspect ratio. - portrait, - - /// Close to square media aspect ratio. This is not a strict 1:1 aspect ratio. - square, -} - -/// Indicates preferred location of AdChoices icon. -enum AdChoicesPlacement { - /// Top right corner. - topRightCorner, - - /// Top left corner. - topLeftCorner, - - /// Bottom right corner. - bottomRightCorner, - - /// Bottom left corner. - bottomLeftCorner, -} - -/// Used to configure native ad requests. -class NativeAdOptions { - /// Where to place the AdChoices icon. - /// - /// Default is top right. - final AdChoicesPlacement? adChoicesPlacement; - - /// The media aspect ratio. - /// - /// Default is unknown, which will apply no restrictions. - final MediaAspectRatio? mediaAspectRatio; - - /// Options for video. - final VideoOptions? videoOptions; - - /// Whether to request a custom implementation for the Mute This Ad feature. - /// - /// Default value is false. - final bool? requestCustomMuteThisAd; - - /// Sets whether multiple images should be requested or not. - /// - /// Default value is false. - final bool? shouldRequestMultipleImages; - - /// Indicates whether image asset content should be loaded by the SDK. - /// - /// If set to true, the SDK will not load image asset content and native ad - /// image URLs can be used to fetch content. Defaults to false. - final bool? shouldReturnUrlsForImageAssets; - - /// Construct a NativeAdOptions, an optional class used to further customize - /// native ad requests. - NativeAdOptions({ - this.adChoicesPlacement, - this.mediaAspectRatio, - this.videoOptions, - this.requestCustomMuteThisAd, - this.shouldRequestMultipleImages, - this.shouldReturnUrlsForImageAssets, - }); - - @override - bool operator ==(other) { - return other is NativeAdOptions && - adChoicesPlacement == other.adChoicesPlacement && - mediaAspectRatio == other.mediaAspectRatio && - videoOptions == other.videoOptions && - requestCustomMuteThisAd == other.requestCustomMuteThisAd && - shouldRequestMultipleImages == other.shouldRequestMultipleImages && - shouldReturnUrlsForImageAssets == other.shouldReturnUrlsForImageAssets; - } - - @override - int get hashCode => Object.hash( - adChoicesPlacement, - mediaAspectRatio, - videoOptions, - requestCustomMuteThisAd, - shouldRequestMultipleImages, - shouldReturnUrlsForImageAssets, - ); -} - -/// Options for controlling video playback in supported ad formats. -class VideoOptions { - /// Whether the requested video should have the click to expand behavior. - final bool? clickToExpandRequested; - - /// Whether the requested video should have custom controls enabled. - /// - /// Custom controls are for play/pause/mute/unmute. - final bool? customControlsRequested; - - /// Indicates whether videos should start muted. - /// - /// By default this property value is YES. - final bool? startMuted; - - /// Constructs a VideoOptions to further customize a native ad request. - /// - /// This is only necessary if you wish to further customize your native ad - /// integration. - VideoOptions({ - this.clickToExpandRequested, - this.customControlsRequested, - this.startMuted, - }); - - @override - bool operator ==(other) { - return other is VideoOptions && - clickToExpandRequested == other.clickToExpandRequested && - customControlsRequested == other.customControlsRequested && - startMuted == other.startMuted; - } - - @override - int get hashCode => - Object.hash(clickToExpandRequested, customControlsRequested, startMuted); -} diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/lib/src/ad_inspector_containers.dart b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/lib/src/ad_inspector_containers.dart deleted file mode 100644 index cfc42daa..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/lib/src/ad_inspector_containers.dart +++ /dev/null @@ -1,31 +0,0 @@ -// Copyright 2022 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -/// Callback for when the ad inspector closes. -typedef OnAdInspectorClosedListener = void Function(AdInspectorError?); - -/// Error information about why the ad inspector failed. -class AdInspectorError { - /// Create an AdInspectorError with the given code, domain and message. - AdInspectorError({this.code, this.domain, this.message}); - - /// Code to identifier the error. - final String? code; - - /// The domain from which the error came. - final String? domain; - - /// A message detailing the error. - final String? message; -} diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/lib/src/ad_instance_manager.dart b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/lib/src/ad_instance_manager.dart deleted file mode 100644 index a0cccbb8..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/lib/src/ad_instance_manager.dart +++ /dev/null @@ -1,1488 +0,0 @@ -// Copyright 2021 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -// ignore_for_file: public_member_api_docs - -// ignore_for_file: deprecated_member_use_from_same_package - -// ignore_for_file: deprecated_member_use - -import 'dart:async'; -import 'dart:collection'; -import 'dart:io'; - -import 'package:flutter/cupertino.dart'; -import 'package:flutter/foundation.dart'; -import 'package:flutter/material.dart'; -import 'package:flutter/services.dart'; -import 'package:google_mobile_ads/src/ad_inspector_containers.dart'; -import 'package:google_mobile_ads/src/ad_listeners.dart'; -import 'package:google_mobile_ads/src/mediation_extras.dart'; -import 'package:google_mobile_ads/src/mobile_ads.dart'; -import 'package:google_mobile_ads/src/nativetemplates/template_type.dart'; -import 'package:google_mobile_ads/src/webview_controller_util.dart'; -import 'package:webview_flutter/webview_flutter.dart'; -import 'package:webview_flutter_android/webview_flutter_android.dart'; -import 'package:webview_flutter_wkwebview/webview_flutter_wkwebview.dart'; - -import 'ad_containers.dart'; -import 'nativetemplates/native_template_font_style.dart'; -import 'nativetemplates/native_template_style.dart'; -import 'nativetemplates/native_template_text_style.dart'; -import 'request_configuration.dart'; - -/// Loads and disposes [BannerAds] and [InterstitialAds]. -AdInstanceManager instanceManager = AdInstanceManager( - 'plugins.flutter.io/google_mobile_ads', -); - -/// Maintains access to loaded [Ad] instances and handles sending/receiving -/// messages to platform code. -class AdInstanceManager { - AdInstanceManager( - String channelName, { - this.webViewControllerUtil = const WebViewControllerUtil(), - }) : channel = MethodChannel( - channelName, - StandardMethodCodec(AdMessageCodec()), - ) { - channel.setMethodCallHandler((MethodCall call) async { - assert(call.method == 'onAdEvent'); - - final int adId = call.arguments['adId']; - final String eventName = call.arguments['eventName']; - - final Ad? ad = adFor(adId); - if (ad != null) { - _onAdEvent(ad, eventName, call.arguments); - } else { - debugPrint('$Ad with id `$adId` is not available for $eventName.'); - } - }); - } - - int _nextAdId = 0; - final _BiMap _loadedAds = _BiMap(); - - /// Invokes load and dispose calls. - final MethodChannel channel; - final WebViewControllerUtil webViewControllerUtil; - - void _onAdEvent(Ad ad, String eventName, Map arguments) { - if (defaultTargetPlatform == TargetPlatform.android) { - _onAdEventAndroid(ad, eventName, arguments); - } else { - _onAdEventIOS(ad, eventName, arguments); - } - } - - void _onAdEventIOS(Ad ad, String eventName, Map arguments) { - switch (eventName) { - case 'onAdLoaded': - _invokeOnAdLoaded(ad, eventName, arguments); - break; - case 'onAdFailedToLoad': - _invokeOnAdFailedToLoad(ad, eventName, arguments); - break; - case 'onAppEvent': - _invokeOnAppEvent(ad, eventName, arguments); - break; - case 'adDidRecordClick': - _invokeOnAdClicked(ad, eventName); - break; - case 'onNativeAdWillPresentScreen': // Fall through - case 'onBannerWillPresentScreen': - _invokeOnAdOpened(ad, eventName); - break; - case 'onNativeAdDidDismissScreen': // Fall through - case 'onBannerDidDismissScreen': - _invokeOnAdClosed(ad, eventName); - break; - case 'onBannerWillDismissScreen': // Fall through - case 'onNativeAdWillDismissScreen': - if (ad is AdWithView) { - ad.listener.onAdWillDismissScreen?.call(ad); - } else { - debugPrint('invalid ad: $ad, for event name: $eventName'); - } - break; - case 'onRewardedAdUserEarnedReward': - case 'onRewardedInterstitialAdUserEarnedReward': - _invokeOnUserEarnedReward(ad, eventName, arguments); - break; - case 'onBannerImpression': - case 'adDidRecordImpression': // Fall through - case 'onNativeAdImpression': // Fall through - _invokeOnAdImpression(ad, eventName); - break; - case 'adWillPresentFullScreenContent': - _invokeOnAdShowedFullScreenContent(ad, eventName); - break; - case 'adDidDismissFullScreenContent': - _invokeOnAdDismissedFullScreenContent(ad, eventName); - break; - case 'adWillDismissFullScreenContent': - if (ad is RewardedAd) { - ad.fullScreenContentCallback?.onAdWillDismissFullScreenContent?.call( - ad, - ); - } else if (ad is InterstitialAd) { - ad.fullScreenContentCallback?.onAdWillDismissFullScreenContent?.call( - ad, - ); - } else if (ad is RewardedInterstitialAd) { - ad.fullScreenContentCallback?.onAdWillDismissFullScreenContent?.call( - ad, - ); - } else if (ad is AdManagerInterstitialAd) { - ad.fullScreenContentCallback?.onAdWillDismissFullScreenContent?.call( - ad, - ); - } else if (ad is AppOpenAd) { - ad.fullScreenContentCallback?.onAdWillDismissFullScreenContent?.call( - ad, - ); - } else { - debugPrint('invalid ad: $ad, for event name: $eventName'); - } - break; - case 'didFailToPresentFullScreenContentWithError': - _invokeOnAdFailedToShowFullScreenContent(ad, eventName, arguments); - break; - case 'onPaidEvent': - _invokePaidEvent(ad, eventName, arguments); - break; - case 'onFluidAdHeightChanged': - _invokeFluidAdHeightChanged(ad, arguments); - break; - default: - debugPrint('invalid ad event name: $eventName'); - } - } - - void _onAdEventAndroid( - Ad ad, - String eventName, - Map arguments, - ) { - switch (eventName) { - case 'onAdLoaded': - _invokeOnAdLoaded(ad, eventName, arguments); - break; - case 'onAdFailedToLoad': - _invokeOnAdFailedToLoad(ad, eventName, arguments); - break; - case 'onAdOpened': - _invokeOnAdOpened(ad, eventName); - break; - case 'onAdClosed': - _invokeOnAdClosed(ad, eventName); - break; - case 'onAppEvent': - _invokeOnAppEvent(ad, eventName, arguments); - break; - case 'onRewardedAdUserEarnedReward': - case 'onRewardedInterstitialAdUserEarnedReward': - _invokeOnUserEarnedReward(ad, eventName, arguments); - break; - case 'onAdImpression': - _invokeOnAdImpression(ad, eventName); - break; - case 'onFailedToShowFullScreenContent': - _invokeOnAdFailedToShowFullScreenContent(ad, eventName, arguments); - break; - case 'onAdShowedFullScreenContent': - _invokeOnAdShowedFullScreenContent(ad, eventName); - break; - case 'onAdDismissedFullScreenContent': - _invokeOnAdDismissedFullScreenContent(ad, eventName); - break; - case 'onPaidEvent': - _invokePaidEvent(ad, eventName, arguments); - break; - case 'onFluidAdHeightChanged': - _invokeFluidAdHeightChanged(ad, arguments); - break; - case 'onAdClicked': - _invokeOnAdClicked(ad, eventName); - break; - default: - debugPrint('invalid ad event name: $eventName'); - } - } - - void _invokeFluidAdHeightChanged(Ad ad, Map arguments) { - assert(ad is FluidAdManagerBannerAd); - (ad as FluidAdManagerBannerAd).onFluidAdHeightChangedListener?.call( - ad, - arguments['height'].toDouble(), - ); - } - - void _invokeOnAdLoaded( - Ad ad, - String eventName, - Map arguments, - ) { - ad.responseInfo = arguments['responseInfo']; - if (ad is AdWithView) { - ad.listener.onAdLoaded?.call(ad); - } else if (ad is RewardedAd) { - ad.rewardedAdLoadCallback.onAdLoaded.call(ad); - } else if (ad is InterstitialAd) { - ad.adLoadCallback.onAdLoaded.call(ad); - } else if (ad is RewardedInterstitialAd) { - ad.rewardedInterstitialAdLoadCallback.onAdLoaded.call(ad); - } else if (ad is AdManagerInterstitialAd) { - ad.adLoadCallback.onAdLoaded.call(ad); - } else if (ad is AppOpenAd) { - ad.adLoadCallback.onAdLoaded.call(ad); - } else { - debugPrint('invalid ad: $ad, for event name: $eventName'); - } - } - - void _invokeOnAdFailedToLoad( - Ad ad, - String eventName, - Map arguments, - ) { - if (ad is AdWithView) { - ad.listener.onAdFailedToLoad?.call(ad, arguments['loadAdError']); - } else if (ad is RewardedAd) { - ad.dispose(); - ad.rewardedAdLoadCallback.onAdFailedToLoad.call(arguments['loadAdError']); - } else if (ad is InterstitialAd) { - ad.dispose(); - ad.adLoadCallback.onAdFailedToLoad.call(arguments['loadAdError']); - } else if (ad is RewardedInterstitialAd) { - ad.dispose(); - ad.rewardedInterstitialAdLoadCallback.onAdFailedToLoad.call( - arguments['loadAdError'], - ); - } else if (ad is AdManagerInterstitialAd) { - ad.dispose(); - ad.adLoadCallback.onAdFailedToLoad.call(arguments['loadAdError']); - } else if (ad is AppOpenAd) { - ad.adLoadCallback.onAdFailedToLoad.call(arguments['loadAdError']); - } else { - debugPrint('invalid ad: $ad, for event name: $eventName'); - } - } - - void _invokeOnAppEvent( - Ad ad, - String eventName, - Map arguments, - ) { - if (ad is AdManagerBannerAd) { - ad.listener.onAppEvent?.call(ad, arguments['name'], arguments['data']); - } else if (ad is AdManagerInterstitialAd) { - ad.appEventListener?.onAppEvent?.call( - ad, - arguments['name'], - arguments['data'], - ); - } else { - debugPrint('invalid ad: $ad, for event name: $eventName'); - } - } - - void _invokeOnUserEarnedReward( - Ad ad, - String eventName, - Map arguments, - ) { - assert(arguments['rewardItem'] != null); - if (ad is RewardedAd) { - ad.onUserEarnedRewardCallback?.call(ad, arguments['rewardItem']); - } else if (ad is RewardedInterstitialAd) { - ad.onUserEarnedRewardCallback?.call(ad, arguments['rewardItem']); - } else { - debugPrint('invalid ad: $ad, for event name: $eventName'); - } - } - - void _invokeOnAdOpened(Ad ad, String eventName) { - if (ad is AdWithView) { - ad.listener.onAdOpened?.call(ad); - } else { - debugPrint('invalid ad: $ad, for event name: $eventName'); - } - } - - void _invokeOnAdClosed(Ad ad, String eventName) { - if (ad is AdWithView) { - ad.listener.onAdClosed?.call(ad); - } else { - debugPrint('invalid ad: $ad, for event name: $eventName'); - } - } - - void _invokeOnAdShowedFullScreenContent(Ad ad, String eventName) { - if (ad is RewardedAd) { - ad.fullScreenContentCallback?.onAdShowedFullScreenContent?.call(ad); - } else if (ad is InterstitialAd) { - ad.fullScreenContentCallback?.onAdShowedFullScreenContent?.call(ad); - } else if (ad is RewardedInterstitialAd) { - ad.fullScreenContentCallback?.onAdShowedFullScreenContent?.call(ad); - } else if (ad is AdManagerInterstitialAd) { - ad.fullScreenContentCallback?.onAdShowedFullScreenContent?.call(ad); - } else if (ad is AppOpenAd) { - ad.fullScreenContentCallback?.onAdShowedFullScreenContent?.call(ad); - } else { - debugPrint('invalid ad: $ad, for event name: $eventName'); - } - } - - void _invokeOnAdDismissedFullScreenContent(Ad ad, String eventName) { - if (ad is RewardedAd) { - ad.fullScreenContentCallback?.onAdDismissedFullScreenContent?.call(ad); - } else if (ad is InterstitialAd) { - ad.fullScreenContentCallback?.onAdDismissedFullScreenContent?.call(ad); - } else if (ad is RewardedInterstitialAd) { - ad.fullScreenContentCallback?.onAdDismissedFullScreenContent?.call(ad); - } else if (ad is AdManagerInterstitialAd) { - ad.fullScreenContentCallback?.onAdDismissedFullScreenContent?.call(ad); - } else if (ad is AppOpenAd) { - ad.fullScreenContentCallback?.onAdDismissedFullScreenContent?.call(ad); - } else { - debugPrint('invalid ad: $ad, for event name: $eventName'); - } - } - - void _invokeOnAdFailedToShowFullScreenContent( - Ad ad, - String eventName, - Map arguments, - ) { - if (ad is RewardedAd) { - ad.fullScreenContentCallback?.onAdFailedToShowFullScreenContent?.call( - ad, - arguments['error'], - ); - } else if (ad is InterstitialAd) { - ad.fullScreenContentCallback?.onAdFailedToShowFullScreenContent?.call( - ad, - arguments['error'], - ); - } else if (ad is RewardedInterstitialAd) { - ad.fullScreenContentCallback?.onAdFailedToShowFullScreenContent?.call( - ad, - arguments['error'], - ); - } else if (ad is AdManagerInterstitialAd) { - ad.fullScreenContentCallback?.onAdFailedToShowFullScreenContent?.call( - ad, - arguments['error'], - ); - } else if (ad is AppOpenAd) { - ad.fullScreenContentCallback?.onAdFailedToShowFullScreenContent?.call( - ad, - arguments['error'], - ); - } else { - debugPrint('invalid ad: $ad, for event name: $eventName'); - } - } - - void _invokeOnAdImpression(Ad ad, String eventName) { - if (ad is AdWithView) { - ad.listener.onAdImpression?.call(ad); - } else if (ad is RewardedAd) { - ad.fullScreenContentCallback?.onAdImpression?.call(ad); - } else if (ad is InterstitialAd) { - ad.fullScreenContentCallback?.onAdImpression?.call(ad); - } else if (ad is RewardedInterstitialAd) { - ad.fullScreenContentCallback?.onAdImpression?.call(ad); - } else if (ad is AdManagerInterstitialAd) { - ad.fullScreenContentCallback?.onAdImpression?.call(ad); - } else if (ad is AppOpenAd) { - ad.fullScreenContentCallback?.onAdImpression?.call(ad); - } else { - debugPrint('invalid ad: $ad, for event name: $eventName'); - } - } - - void _invokeOnAdClicked(Ad ad, String eventName) { - if (ad is NativeAd) { - ad.listener.onAdClicked?.call(ad); - } else if (ad is AdWithView) { - ad.listener.onAdClicked?.call(ad); - } else if (ad is RewardedAd) { - ad.fullScreenContentCallback?.onAdClicked?.call(ad); - } else if (ad is InterstitialAd) { - ad.fullScreenContentCallback?.onAdClicked?.call(ad); - } else if (ad is RewardedInterstitialAd) { - ad.fullScreenContentCallback?.onAdClicked?.call(ad); - } else if (ad is AdManagerInterstitialAd) { - ad.fullScreenContentCallback?.onAdClicked?.call(ad); - } else if (ad is AppOpenAd) { - ad.fullScreenContentCallback?.onAdClicked?.call(ad); - } else { - debugPrint('invalid ad: $ad, for event name: $eventName'); - } - } - - void _invokePaidEvent( - Ad ad, - String eventName, - Map arguments, - ) { - assert(arguments['valueMicros'] != null && arguments['valueMicros'] is num); - - int precisionTypeInt = arguments['precision']; - PrecisionType precisionType; - switch (precisionTypeInt) { - case 0: - precisionType = PrecisionType.unknown; - break; - case 1: - precisionType = PrecisionType.estimated; - break; - case 2: - precisionType = PrecisionType.publisherProvided; - break; - case 3: - precisionType = PrecisionType.precise; - break; - default: - debugPrint('Unexpected precisionType: $precisionTypeInt'); - precisionType = PrecisionType.unknown; - break; - } - if (ad is AdWithView) { - ad.listener.onPaidEvent?.call( - ad, - arguments['valueMicros'].toDouble(), - precisionType, - arguments['currencyCode'], - ); - } else if (ad is AdWithoutView) { - ad.onPaidEvent?.call( - ad, - arguments['valueMicros'].toDouble(), - precisionType, - arguments['currencyCode'], - ); - } else { - debugPrint('invalid ad: $ad, for event name: $eventName'); - } - } - - Future initialize() async { - return (await instanceManager.channel.invokeMethod( - 'MobileAds#initialize', - ))!; - } - - Future getAdSize(Ad ad) => - instanceManager.channel.invokeMethod( - 'getAdSize', - {'adId': adIdFor(ad)}, - ); - - /// Returns null if an invalid [adId] was passed in. - Ad? adFor(int adId) => _loadedAds[adId]; - - /// Returns null if an invalid [Ad] was passed in. - int? adIdFor(Ad ad) => _loadedAds.inverse[ad]; - - final Set _mountedWidgetAdIds = {}; - - /// Returns true if the [adId] is already mounted in a [WidgetAd]. - bool isWidgetAdIdMounted(int adId) => _mountedWidgetAdIds.contains(adId); - - /// Returns true if banner loaded is collapsible - Future isCollapsible(Ad ad) async => - (await instanceManager.channel.invokeMethod( - 'isCollapsible', - {'adId': adIdFor(ad)}, - ))!; - - /// Indicates that [adId] is mounted in widget tree. - void mountWidgetAdId(int adId) => _mountedWidgetAdIds.add(adId); - - /// Indicates that [adId] is unmounted from the widget tree. - void unmountWidgetAdId(int adId) => _mountedWidgetAdIds.remove(adId); - - /// Starts loading the ad if not previously loaded. - /// - /// Does nothing if we have already tried to load the ad. - Future loadBannerAd(BannerAd ad) { - if (adIdFor(ad) != null) { - return Future.value(); - } - - final int adId = _nextAdId++; - _loadedAds[adId] = ad; - return channel.invokeMethod('loadBannerAd', { - 'adId': adId, - 'adUnitId': ad.adUnitId, - 'request': ad.request, - 'size': ad.size, - }); - } - - Future loadInterstitialAd(InterstitialAd ad) { - if (adIdFor(ad) != null) { - return Future.value(); - } - - final int adId = _nextAdId++; - _loadedAds[adId] = ad; - return channel.invokeMethod('loadInterstitialAd', { - 'adId': adId, - 'adUnitId': ad.adUnitId, - 'request': ad.request, - }); - } - - /// Starts loading the ad if not previously loaded. - /// - /// Loading also terminates if ad is already in the process of loading. - Future loadNativeAd(NativeAd ad) { - if (adIdFor(ad) != null) { - return Future.value(); - } - - final int adId = _nextAdId++; - _loadedAds[adId] = ad; - return channel.invokeMethod('loadNativeAd', { - 'adId': adId, - 'adUnitId': ad.adUnitId, - 'request': ad.request, - 'adManagerRequest': ad.adManagerRequest, - 'factoryId': ad.factoryId, - 'nativeAdOptions': ad.nativeAdOptions, - 'customOptions': ad.customOptions, - 'nativeTemplateStyle': ad.nativeTemplateStyle, - }); - } - - /// Starts loading the ad if not previously loaded. - /// - /// Loading also terminates if ad is already in the process of loading. - Future loadRewardedAd(RewardedAd ad) { - if (adIdFor(ad) != null) { - return Future.value(); - } - - final int adId = _nextAdId++; - _loadedAds[adId] = ad; - return channel.invokeMethod('loadRewardedAd', { - 'adId': adId, - 'adUnitId': ad.adUnitId, - 'request': ad.request, - 'adManagerRequest': ad.adManagerRequest, - }); - } - - /// Starts loading the ad if not previously loaded. - /// - /// Loading also terminates if ad is already in the process of loading. - Future loadRewardedInterstitialAd(RewardedInterstitialAd ad) { - if (adIdFor(ad) != null) { - return Future.value(); - } - - final int adId = _nextAdId++; - _loadedAds[adId] = ad; - return channel - .invokeMethod('loadRewardedInterstitialAd', { - 'adId': adId, - 'adUnitId': ad.adUnitId, - 'request': ad.request, - 'adManagerRequest': ad.adManagerRequest, - }); - } - - /// Load an app open ad. - Future loadAppOpenAd(AppOpenAd ad) { - if (adIdFor(ad) != null) { - return Future.value(); - } - - final int adId = _nextAdId++; - _loadedAds[adId] = ad; - return channel.invokeMethod('loadAppOpenAd', { - 'adId': adId, - 'adUnitId': ad.adUnitId, - 'request': ad.request, - 'adManagerRequest': ad.adManagerAdRequest, - }); - } - - /// Starts loading the ad if not previously loaded. - /// - /// Loading also terminates if ad is already in the process of loading. - Future loadAdManagerBannerAd(AdManagerBannerAd ad) { - if (adIdFor(ad) != null) { - return Future.value(); - } - - final int adId = _nextAdId++; - _loadedAds[adId] = ad; - return channel.invokeMethod( - 'loadAdManagerBannerAd', - { - 'adId': adId, - 'sizes': ad.sizes, - 'adUnitId': ad.adUnitId, - 'request': ad.request, - }, - ); - } - - /// Starts loading the ad if not previously loaded. - /// - /// Loading also terminates if ad is already in the process of loading. - Future loadFluidAd(FluidAdManagerBannerAd ad) { - if (adIdFor(ad) != null) { - return Future.value(); - } - - final int adId = _nextAdId++; - _loadedAds[adId] = ad; - return channel.invokeMethod('loadFluidAd', { - 'adId': adId, - 'sizes': ad.sizes, - 'adUnitId': ad.adUnitId, - 'request': ad.request, - }); - } - - /// Loads an ad if not currently loading or loaded. - /// - /// Loading also terminates if ad is already in the process of loading. - Future loadAdManagerInterstitialAd(AdManagerInterstitialAd ad) { - if (adIdFor(ad) != null) { - return Future.value(); - } - - final int adId = _nextAdId++; - _loadedAds[adId] = ad; - return channel.invokeMethod( - 'loadAdManagerInterstitialAd', - { - 'adId': adId, - 'adUnitId': ad.adUnitId, - 'request': ad.request, - }, - ); - } - - /// Free the plugin resources associated with this ad. - /// - /// Disposing a banner ad that's been shown removes it from the screen. - /// Interstitial ads can't be programmatically removed from view. - Future disposeAd(Ad ad) { - final int? adId = adIdFor(ad); - final Ad? disposedAd = _loadedAds.remove(adId); - if (disposedAd == null) { - return Future.value(); - } - return channel.invokeMethod('disposeAd', { - 'adId': adId, - }); - } - - /// Display an [AdWithoutView] that is overlaid on top of the application. - Future showAdWithoutView(AdWithoutView ad) { - assert( - adIdFor(ad) != null, - '$Ad has not been loaded or has already been disposed.', - ); - - return channel.invokeMethod('showAdWithoutView', { - 'adId': adIdFor(ad), - }); - } - - /// Gets the global [RequestConfiguration]. - Future getRequestConfiguration() async { - return (await instanceManager.channel.invokeMethod( - 'MobileAds#getRequestConfiguration', - ))!; - } - - /// Set the [RequestConfiguration] to apply for future ad requests. - Future updateRequestConfiguration( - RequestConfiguration requestConfiguration, - ) { - return channel.invokeMethod( - 'MobileAds#updateRequestConfiguration', - { - 'maxAdContentRating': requestConfiguration.maxAdContentRating, - 'tagForChildDirectedTreatment': - requestConfiguration.tagForChildDirectedTreatment, - 'testDeviceIds': requestConfiguration.testDeviceIds, - 'tagForUnderAgeOfConsent': requestConfiguration.tagForUnderAgeOfConsent, - }, - ); - } - - /// Set whether same app key is enabled. - Future setSameAppKeyEnabled(bool isEnabled) { - return channel.invokeMethod( - 'MobileAds#setSameAppKeyEnabled', - {'isEnabled': isEnabled}, - ); - } - - /// Mute / Unmute app. - Future setAppMuted(bool muted) { - return channel.invokeMethod( - 'MobileAds#setAppMuted', - {'muted': muted}, - ); - } - - /// Set app volume. - Future setAppVolume(double volume) { - return channel.invokeMethod( - 'MobileAds#setAppVolume', - {'volume': volume}, - ); - } - - /// Enable / Disable immersive mode for the Ad. - Future setImmersiveMode(AdWithoutView ad, bool immersiveModeEnabled) { - assert( - adIdFor(ad) != null, - '$ad has not been loaded or has already been disposed.', - ); - - return channel.invokeMethod('setImmersiveMode', { - 'adId': adIdFor(ad), - 'immersiveModeEnabled': immersiveModeEnabled, - }); - } - - /// Disables automated SDK crash reporting. - Future disableSDKCrashReporting() { - return channel.invokeMethod('MobileAds#disableSDKCrashReporting'); - } - - /// Disables mediation adapter initialization during initialization of the GMA SDK. - Future disableMediationInitialization() { - return channel.invokeMethod( - 'MobileAds#disableMediationInitialization', - ); - } - - /// Gets the version string of Google Mobile Ads SDK. - Future getVersionString() async { - return (await instanceManager.channel.invokeMethod( - 'MobileAds#getVersionString', - ))!; - } - - /// Set server side verification options on the ad. - Future setServerSideVerificationOptions( - ServerSideVerificationOptions options, - Ad ad, - ) { - return channel.invokeMethod( - 'setServerSideVerificationOptions', - { - 'adId': adIdFor(ad), - 'serverSideVerificationOptions': options, - }, - ); - } - - /// Opens the debug menu. - /// - /// Returns a Future that completes when the platform side api has been - /// invoked. - Future openDebugMenu(String adUnitId) async { - return channel.invokeMethod( - 'MobileAds#openDebugMenu', - {'adUnitId': adUnitId}, - ); - } - - /// Register the `WebViewController` with the GMASDK. - Future registerWebView(WebViewController controller) { - return channel.invokeMethod( - 'MobileAds#registerWebView', - { - 'webViewId': webViewControllerUtil.webViewIdentifier(controller), - }, - ); - } - - int getWebViewId(WebViewController controller) { - if (WebViewPlatform.instance is AndroidWebViewPlatform) { - return (controller.platform as AndroidWebViewController) - .webViewIdentifier; - } else if (WebViewPlatform.instance is WebKitWebViewPlatform) { - return (controller.platform as WebKitWebViewController).webViewIdentifier; - } else { - throw UnsupportedError('This method only supports Android and iOS.'); - } - } - - /// Send a platform message to open the ad inspector. - void openAdInspector(OnAdInspectorClosedListener listener) async { - try { - await channel.invokeMethod('MobileAds#openAdInspector'); - listener(null); - } on PlatformException catch (e) { - var error = AdInspectorError( - code: e.code, - domain: e.details, - message: e.message, - ); - listener(error); - } - } -} - -@visibleForTesting -class AdMessageCodec extends StandardMessageCodec { - // The type values below must be consistent for each platform. - static const int _valueAdSize = 128; - static const int _valueAdRequest = 129; - static const int _valueFluidAdSize = 130; - static const int _valueRewardItem = 132; - static const int _valueLoadAdError = 133; - static const int _valueAdManagerAdRequest = 134; - static const int _valueInitializationState = 135; - static const int _valueAdapterStatus = 136; - static const int _valueInitializationStatus = 137; - static const int _valueServerSideVerificationOptions = 138; - static const int _valueAdError = 139; - static const int _valueResponseInfo = 140; - static const int _valueAdapterResponseInfo = 141; - static const int _valueAnchoredAdaptiveBannerAdSize = 142; - static const int _valueSmartBannerAdSize = 143; - static const int _valueNativeAdOptions = 144; - static const int _valueVideoOptions = 145; - static const int _valueInlineAdaptiveBannerAdSize = 146; - static const int _valueRequestConfigurationParams = 148; - static const int _valueNativeTemplateStyle = 149; - static const int _valueNativeTemplateTextStyle = 150; - static const int _valueNativeTemplateFontStyle = 151; - static const int _valueNativeTemplateType = 152; - static const int _valueColor = 153; - static const int _valueMediationExtras = 154; - - @override - void writeValue(WriteBuffer buffer, dynamic value) { - if (value is AdSize) { - writeAdSize(buffer, value); - } else if (value is AdManagerAdRequest) { - buffer.putUint8(_valueAdManagerAdRequest); - writeValue(buffer, value.keywords); - writeValue(buffer, value.contentUrl); - writeValue(buffer, value.customTargeting); - writeValue(buffer, value.customTargetingLists); - writeValue(buffer, value.nonPersonalizedAds); - writeValue(buffer, value.neighboringContentUrls); - if (defaultTargetPlatform == TargetPlatform.android) { - writeValue(buffer, value.httpTimeoutMillis); - } - writeValue(buffer, value.publisherProvidedId); - writeValue(buffer, value.mediationExtrasIdentifier); - writeValue(buffer, value.extras); - writeValue(buffer, value.mediationExtras); - } else if (value is AdRequest) { - buffer.putUint8(_valueAdRequest); - writeValue(buffer, value.keywords); - writeValue(buffer, value.contentUrl); - writeValue(buffer, value.nonPersonalizedAds); - writeValue(buffer, value.neighboringContentUrls); - if (defaultTargetPlatform == TargetPlatform.android) { - writeValue(buffer, value.httpTimeoutMillis); - } - writeValue(buffer, value.mediationExtrasIdentifier); - writeValue(buffer, value.extras); - writeValue(buffer, value.mediationExtras); - } else if (value is MediationExtras) { - buffer.putUint8(_valueMediationExtras); - if (defaultTargetPlatform == TargetPlatform.android) { - writeValue(buffer, value.getAndroidClassName()); - } else { - writeValue(buffer, value.getIOSClassName()); - } - writeValue(buffer, value.getExtras()); - } else if (value is RewardItem) { - buffer.putUint8(_valueRewardItem); - writeValue(buffer, value.amount); - writeValue(buffer, value.type); - } else if (value is ResponseInfo) { - buffer.putUint8(_valueResponseInfo); - writeValue(buffer, value.responseId); - writeValue(buffer, value.mediationAdapterClassName); - writeValue(buffer, value.adapterResponses); - writeValue(buffer, value.loadedAdapterResponseInfo); - writeValue(buffer, value.responseExtras); - } else if (value is AdapterResponseInfo) { - buffer.putUint8(_valueAdapterResponseInfo); - writeValue(buffer, value.adapterClassName); - writeValue(buffer, value.latencyMillis); - writeValue(buffer, value.description); - writeValue(buffer, value.adUnitMapping); - writeValue(buffer, value.adError); - writeValue(buffer, value.adSourceName); - writeValue(buffer, value.adSourceId); - writeValue(buffer, value.adSourceInstanceName); - writeValue(buffer, value.adSourceInstanceId); - } else if (value is LoadAdError) { - buffer.putUint8(_valueLoadAdError); - writeValue(buffer, value.code); - writeValue(buffer, value.domain); - writeValue(buffer, value.message); - writeValue(buffer, value.responseInfo); - } else if (value is AdError) { - buffer.putUint8(_valueAdError); - writeValue(buffer, value.code); - writeValue(buffer, value.domain); - writeValue(buffer, value.message); - } else if (value is AdapterInitializationState) { - buffer.putUint8(_valueInitializationState); - writeValue(buffer, value.name); - } else if (value is AdapterStatus) { - buffer.putUint8(_valueAdapterStatus); - writeValue(buffer, value.state); - writeValue(buffer, value.description); - writeValue(buffer, value.latency); - } else if (value is InitializationStatus) { - buffer.putUint8(_valueInitializationStatus); - writeValue(buffer, value.adapterStatuses); - } else if (value is ServerSideVerificationOptions) { - buffer.putUint8(_valueServerSideVerificationOptions); - writeValue(buffer, value.userId); - writeValue(buffer, value.customData); - } else if (value is NativeAdOptions) { - buffer.putUint8(_valueNativeAdOptions); - writeValue(buffer, value.adChoicesPlacement?.intValue); - writeValue(buffer, value.mediaAspectRatio?.intValue); - writeValue(buffer, value.videoOptions); - writeValue(buffer, value.requestCustomMuteThisAd); - writeValue(buffer, value.shouldRequestMultipleImages); - writeValue(buffer, value.shouldReturnUrlsForImageAssets); - } else if (value is VideoOptions) { - buffer.putUint8(_valueVideoOptions); - writeValue(buffer, value.clickToExpandRequested); - writeValue(buffer, value.customControlsRequested); - writeValue(buffer, value.startMuted); - } else if (value is RequestConfiguration) { - buffer.putUint8(_valueRequestConfigurationParams); - writeValue(buffer, value.maxAdContentRating); - writeValue(buffer, value.tagForChildDirectedTreatment); - writeValue(buffer, value.tagForUnderAgeOfConsent); - writeValue(buffer, value.testDeviceIds); - } else if (value is NativeTemplateStyle) { - buffer.putUint8(_valueNativeTemplateStyle); - writeValue(buffer, value.templateType); - writeValue(buffer, value.mainBackgroundColor); - writeValue(buffer, value.callToActionTextStyle); - writeValue(buffer, value.primaryTextStyle); - writeValue(buffer, value.secondaryTextStyle); - writeValue(buffer, value.tertiaryTextStyle); - if (defaultTargetPlatform == TargetPlatform.iOS) { - writeValue(buffer, value.cornerRadius); - } - } else if (value is TemplateType) { - buffer.putUint8(_valueNativeTemplateType); - writeValue(buffer, value.index); - } else if (value is NativeTemplateTextStyle) { - buffer.putUint8(_valueNativeTemplateTextStyle); - writeValue(buffer, value.textColor); - writeValue(buffer, value.backgroundColor); - writeValue(buffer, value.style); - writeValue(buffer, value.size); - } else if (value is Color) { - buffer.putUint8(_valueColor); - writeValue(buffer, (value.a * 255).toInt()); - writeValue(buffer, (value.r * 255).toInt()); - writeValue(buffer, (value.g * 255).toInt()); - writeValue(buffer, (value.b * 255).toInt()); - } else if (value is NativeTemplateFontStyle) { - buffer.putUint8(_valueNativeTemplateFontStyle); - writeValue(buffer, value.index); - } else { - super.writeValue(buffer, value); - } - } - - @override - dynamic readValueOfType(dynamic type, ReadBuffer buffer) { - switch (type) { - case _valueInlineAdaptiveBannerAdSize: - final num width = readValueOfType(buffer.getUint8(), buffer); - final num? maxHeight = readValueOfType(buffer.getUint8(), buffer); - final num? orientation = readValueOfType(buffer.getUint8(), buffer); - if (orientation != null) { - return orientation.toInt() == 0 - ? AdSize.getPortraitInlineAdaptiveBannerAdSize(width.toInt()) - : AdSize.getLandscapeInlineAdaptiveBannerAdSize(width.toInt()); - } else if (maxHeight != null) { - return AdSize.getInlineAdaptiveBannerAdSize( - width.toInt(), - maxHeight.toInt(), - ); - } else { - return AdSize.getCurrentOrientationInlineAdaptiveBannerAdSize( - width.toInt(), - ); - } - - case _valueAnchoredAdaptiveBannerAdSize: - final String? orientationStr = readValueOfType( - buffer.getUint8(), - buffer, - ); - final num width = readValueOfType(buffer.getUint8(), buffer); - Orientation? orientation; - if (orientationStr != null) { - orientation = Orientation.values.firstWhere( - (Orientation orientation) => orientation.name == orientationStr, - ); - } - return AnchoredAdaptiveBannerAdSize( - orientation, - width: width.truncate(), - height: -1, // Unused value - ); - case _valueSmartBannerAdSize: - final String orientationStr = readValueOfType( - buffer.getUint8(), - buffer, - ); - return SmartBannerAdSize( - Orientation.values.firstWhere( - (Orientation orientation) => orientation.name == orientationStr, - ), - ); - case _valueAdSize: - num width = readValueOfType(buffer.getUint8(), buffer); - num height = readValueOfType(buffer.getUint8(), buffer); - return AdSize(width: width.toInt(), height: height.toInt()); - case _valueFluidAdSize: - return FluidAdSize(); - case _valueAdRequest: - return AdRequest( - keywords: readValueOfType(buffer.getUint8(), buffer)?.cast(), - contentUrl: readValueOfType(buffer.getUint8(), buffer), - nonPersonalizedAds: readValueOfType(buffer.getUint8(), buffer), - neighboringContentUrls: readValueOfType( - buffer.getUint8(), - buffer, - )?.cast(), - httpTimeoutMillis: (defaultTargetPlatform == TargetPlatform.android) - ? readValueOfType(buffer.getUint8(), buffer) - : null, - mediationExtrasIdentifier: readValueOfType(buffer.getUint8(), buffer), - extras: readValueOfType( - buffer.getUint8(), - buffer, - )?.cast(), - mediationExtras: readValueOfType( - buffer.getUint8(), - buffer, - )?.cast>(), - ); - case _valueMediationExtras: - return _MediationExtras( - readValueOfType(buffer.getUint8(), buffer), - readValueOfType(buffer.getUint8(), buffer), - ); - case _valueRewardItem: - return RewardItem( - readValueOfType(buffer.getUint8(), buffer), - readValueOfType(buffer.getUint8(), buffer), - ); - case _valueResponseInfo: - return ResponseInfo( - responseId: readValueOfType(buffer.getUint8(), buffer), - mediationAdapterClassName: readValueOfType(buffer.getUint8(), buffer), - adapterResponses: readValueOfType( - buffer.getUint8(), - buffer, - )?.cast(), - loadedAdapterResponseInfo: readValueOfType(buffer.getUint8(), buffer), - responseExtras: _deepCastStringKeyDynamicValueMap( - readValueOfType(buffer.getUint8(), buffer), - ), - ); - case _valueAdapterResponseInfo: - return AdapterResponseInfo( - adapterClassName: _safeReadString(buffer), - latencyMillis: readValueOfType(buffer.getUint8(), buffer), - description: _safeReadString(buffer), - adUnitMapping: _deepCastStringMap( - readValueOfType(buffer.getUint8(), buffer), - ), - adError: readValueOfType(buffer.getUint8(), buffer), - adSourceName: _safeReadString(buffer), - adSourceId: _safeReadString(buffer), - adSourceInstanceName: _safeReadString(buffer), - adSourceInstanceId: _safeReadString(buffer), - ); - case _valueLoadAdError: - return LoadAdError( - readValueOfType(buffer.getUint8(), buffer), - readValueOfType(buffer.getUint8(), buffer), - readValueOfType(buffer.getUint8(), buffer), - readValueOfType(buffer.getUint8(), buffer), - ); - case _valueAdError: - return AdError( - readValueOfType(buffer.getUint8(), buffer), - readValueOfType(buffer.getUint8(), buffer), - readValueOfType(buffer.getUint8(), buffer), - ); - case _valueAdManagerAdRequest: - return AdManagerAdRequest( - keywords: readValueOfType(buffer.getUint8(), buffer)?.cast(), - contentUrl: readValueOfType(buffer.getUint8(), buffer), - customTargeting: readValueOfType( - buffer.getUint8(), - buffer, - )?.cast(), - customTargetingLists: _tryDeepMapCast( - readValueOfType(buffer.getUint8(), buffer), - ), - nonPersonalizedAds: readValueOfType(buffer.getUint8(), buffer), - neighboringContentUrls: readValueOfType( - buffer.getUint8(), - buffer, - )?.cast(), - httpTimeoutMillis: (defaultTargetPlatform == TargetPlatform.android) - ? readValueOfType(buffer.getUint8(), buffer) - : null, - publisherProvidedId: readValueOfType(buffer.getUint8(), buffer), - mediationExtrasIdentifier: readValueOfType(buffer.getUint8(), buffer), - extras: readValueOfType( - buffer.getUint8(), - buffer, - )?.cast(), - mediationExtras: readValueOfType( - buffer.getUint8(), - buffer, - )?.cast>(), - ); - case _valueInitializationState: - switch (readValueOfType(buffer.getUint8(), buffer)) { - case 'notReady': - return AdapterInitializationState.notReady; - case 'ready': - return AdapterInitializationState.ready; - } - throw ArgumentError(); - case _valueAdapterStatus: - final AdapterInitializationState state = readValueOfType( - buffer.getUint8(), - buffer, - ); - final String description = readValueOfType(buffer.getUint8(), buffer); - - double latency = readValueOfType(buffer.getUint8(), buffer).toDouble(); - // Android provides this value as an int in milliseconds while iOS - // provides this value as a double in seconds. - if (defaultTargetPlatform == TargetPlatform.android) { - latency /= 1000; - } - - return AdapterStatus(state, description, latency); - case _valueInitializationStatus: - return InitializationStatus( - readValueOfType( - buffer.getUint8(), - buffer, - ).cast(), - ); - case _valueServerSideVerificationOptions: - return ServerSideVerificationOptions( - userId: readValueOfType(buffer.getUint8(), buffer), - customData: readValueOfType(buffer.getUint8(), buffer), - ); - case _valueNativeAdOptions: - int? adChoices = readValueOfType(buffer.getUint8(), buffer); - int? mediaAspectRatio = readValueOfType(buffer.getUint8(), buffer); - return NativeAdOptions( - adChoicesPlacement: AdChoicesPlacementExtension.fromInt(adChoices), - mediaAspectRatio: MediaAspectRatioExtension.fromInt(mediaAspectRatio), - videoOptions: readValueOfType(buffer.getUint8(), buffer), - requestCustomMuteThisAd: readValueOfType(buffer.getUint8(), buffer), - shouldRequestMultipleImages: readValueOfType( - buffer.getUint8(), - buffer, - ), - shouldReturnUrlsForImageAssets: readValueOfType( - buffer.getUint8(), - buffer, - ), - ); - case _valueVideoOptions: - return VideoOptions( - clickToExpandRequested: readValueOfType(buffer.getUint8(), buffer), - customControlsRequested: readValueOfType(buffer.getUint8(), buffer), - startMuted: readValueOfType(buffer.getUint8(), buffer), - ); - case _valueRequestConfigurationParams: - return RequestConfiguration( - maxAdContentRating: readValueOfType(buffer.getUint8(), buffer), - tagForChildDirectedTreatment: readValueOfType( - buffer.getUint8(), - buffer, - ), - tagForUnderAgeOfConsent: readValueOfType(buffer.getUint8(), buffer), - testDeviceIds: readValueOfType( - buffer.getUint8(), - buffer, - ).cast(), - ); - case _valueNativeTemplateStyle: - return NativeTemplateStyle( - templateType: readValueOfType(buffer.getUint8(), buffer), - mainBackgroundColor: readValueOfType(buffer.getUint8(), buffer), - callToActionTextStyle: readValueOfType(buffer.getUint8(), buffer), - primaryTextStyle: readValueOfType(buffer.getUint8(), buffer), - secondaryTextStyle: readValueOfType(buffer.getUint8(), buffer), - tertiaryTextStyle: readValueOfType(buffer.getUint8(), buffer), - cornerRadius: defaultTargetPlatform == TargetPlatform.iOS - ? readValueOfType(buffer.getUint8(), buffer) - : null, - ); - case _valueNativeTemplateType: - return TemplateType.values[readValueOfType(buffer.getUint8(), buffer)]; - case _valueNativeTemplateTextStyle: - return NativeTemplateTextStyle( - textColor: readValueOfType(buffer.getUint8(), buffer), - backgroundColor: readValueOfType(buffer.getUint8(), buffer), - style: readValueOfType(buffer.getUint8(), buffer), - size: readValueOfType(buffer.getUint8(), buffer), - ); - case _valueColor: - return Color.fromARGB( - readValueOfType(buffer.getUint8(), buffer), - readValueOfType(buffer.getUint8(), buffer), - readValueOfType(buffer.getUint8(), buffer), - readValueOfType(buffer.getUint8(), buffer), - ); - case _valueNativeTemplateFontStyle: - return NativeTemplateFontStyle.values[readValueOfType( - buffer.getUint8(), - buffer, - )]; - default: - return super.readValueOfType(type, buffer); - } - } - - Map>? _tryDeepMapCast(Map? map) { - if (map == null) return null; - return map.map>( - (dynamic key, dynamic value) => - MapEntry>(key, value?.cast()), - ); - } - - Map _deepCastStringMap(Map? map) { - if (map == null) return {}; - return map.map( - (dynamic key, dynamic value) => MapEntry(key, value), - ); - } - - Map _deepCastStringKeyDynamicValueMap( - Map? map, - ) { - if (map == null) return {}; - return map.map( - (dynamic key, dynamic value) => MapEntry(key, value), - ); - } - - /// Reads the next value as a non-nullable string. - /// - /// Returns '' if the next value is null. - String _safeReadString(ReadBuffer buffer) { - return readValueOfType(buffer.getUint8(), buffer) ?? ''; - } - - void writeAdSize(WriteBuffer buffer, AdSize value) { - if (value is InlineAdaptiveSize) { - buffer.putUint8(_valueInlineAdaptiveBannerAdSize); - writeValue(buffer, value.width); - writeValue(buffer, value.maxHeight); - writeValue(buffer, value.orientationValue); - } else if (value is AnchoredAdaptiveBannerAdSize) { - buffer.putUint8(_valueAnchoredAdaptiveBannerAdSize); - String? orientationValue; - if (value.orientation != null) { - orientationValue = (value.orientation as Orientation).name; - } - writeValue(buffer, orientationValue); - writeValue(buffer, value.width); - } else if (value is SmartBannerAdSize) { - buffer.putUint8(_valueSmartBannerAdSize); - if (defaultTargetPlatform == TargetPlatform.iOS) { - writeValue(buffer, value.orientation.name); - } - } else if (value is FluidAdSize) { - buffer.putUint8(_valueFluidAdSize); - } else { - buffer.putUint8(_valueAdSize); - writeValue(buffer, value.width); - writeValue(buffer, value.height); - } - } -} - -class _MediationExtras implements MediationExtras { - _MediationExtras(String className, Map extras) - : _androidClassName = className, - _iOSClassName = className, - _extras = extras; - - final String _androidClassName; - final String _iOSClassName; - final Map _extras; - - @override - String getAndroidClassName() { - return _androidClassName; - } - - @override - Map getExtras() { - return _extras; - } - - @override - String getIOSClassName() { - return _iOSClassName; - } -} - -/// An extension that maps each [MediaAspectRatio] to an int. -extension MediaAspectRatioExtension on MediaAspectRatio { - /// Gets the int mapping to pass to platform channel. - int get intValue { - switch (this) { - case MediaAspectRatio.unknown: - return 0; - case MediaAspectRatio.any: - return 1; - case MediaAspectRatio.landscape: - return 2; - case MediaAspectRatio.portrait: - return 3; - case MediaAspectRatio.square: - return 4; - } - } - - /// Maps an int back to [MediaAspectRatio]. - static MediaAspectRatio? fromInt(int? intValue) { - switch (intValue) { - case 0: - return MediaAspectRatio.unknown; - case 1: - return MediaAspectRatio.any; - case 2: - return MediaAspectRatio.landscape; - case 3: - return MediaAspectRatio.portrait; - case 4: - return MediaAspectRatio.square; - default: - return null; - } - } -} - -/// An extension that maps each [AdChoicesPlacement] to an int. -extension AdChoicesPlacementExtension on AdChoicesPlacement { - /// Gets the int mapping to pass to platform channel. - int get intValue { - switch (this) { - case AdChoicesPlacement.topRightCorner: - return Platform.isAndroid ? 1 : 0; - case AdChoicesPlacement.topLeftCorner: - return Platform.isAndroid ? 0 : 1; - case AdChoicesPlacement.bottomRightCorner: - return 2; - case AdChoicesPlacement.bottomLeftCorner: - return 3; - } - } - - /// Maps an int back to [AdChoicesPlacement]. - static AdChoicesPlacement? fromInt(int? intValue) { - switch (intValue) { - case 0: - return Platform.isAndroid - ? AdChoicesPlacement.topLeftCorner - : AdChoicesPlacement.topRightCorner; - case 1: - return Platform.isAndroid - ? AdChoicesPlacement.topRightCorner - : AdChoicesPlacement.topLeftCorner; - case 2: - return AdChoicesPlacement.bottomRightCorner; - case 3: - return AdChoicesPlacement.bottomLeftCorner; - default: - return null; - } - } -} - -class _BiMap extends MapBase { - _BiMap() { - _inverse = _BiMap._inverse(this); - } - - _BiMap._inverse(this._inverse); - - final Map _map = {}; - late _BiMap _inverse; - - _BiMap get inverse => _inverse; - - @override - V? operator [](Object? key) => _map[key]; - - @override - void operator []=(K key, V value) { - assert(!_map.containsKey(key)); - assert(!inverse.containsKey(value)); - _map[key] = value; - inverse._map[value] = key; - } - - @override - void clear() { - _map.clear(); - inverse._map.clear(); - } - - @override - Iterable get keys => _map.keys; - - @override - V? remove(Object? key) { - if (key == null) return null; - final V? value = _map[key]; - inverse._map.remove(value); - return _map.remove(key); - } -} diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/lib/src/ad_listeners.dart b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/lib/src/ad_listeners.dart deleted file mode 100644 index 2645bf98..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/lib/src/ad_listeners.dart +++ /dev/null @@ -1,325 +0,0 @@ -// Copyright 2021 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -import 'package:meta/meta.dart'; - -import 'ad_containers.dart'; - -/// The callback type to handle an event occurring for an [Ad]. -typedef AdEventCallback = void Function(Ad ad); - -/// Generic callback type for an event occurring on an Ad. -typedef GenericAdEventCallback = void Function(Ad ad); - -/// A callback type for when an error occurs loading a full screen ad. -typedef FullScreenAdLoadErrorCallback = void Function(LoadAdError error); - -/// The callback type for when a user earns a reward. -typedef OnUserEarnedRewardCallback = - void Function(AdWithoutView ad, RewardItem reward); - -/// The callback type to handle an error loading an [Ad]. -typedef AdLoadErrorCallback = void Function(Ad ad, LoadAdError error); - -/// The callback type for when an ad receives revenue value. -typedef OnPaidEventCallback = - void Function( - Ad ad, - double valueMicros, - PrecisionType precision, - String currencyCode, - ); - -/// The callback type for when a fluid ad's height changes. -typedef OnFluidAdHeightChangedListener = - void Function(FluidAdManagerBannerAd ad, double height); - -/// Allowed constants for precision type in [OnPaidEventCallback]. -enum PrecisionType { - /// An ad value with unknown precision. - unknown, - - /// An ad value estimated from aggregated data. - estimated, - - /// A publisher-provided ad value, such as manual CPMs in a mediation group. - publisherProvided, - - /// The precise value paid for this ad. - precise, -} - -/// Listener for app events. -class AppEventListener { - /// Called when an app event is received. - void Function(Ad ad, String name, String data)? onAppEvent; -} - -/// Shared event callbacks used in Native and Banner ads. -abstract class AdWithViewListener { - /// Default constructor for [AdWithViewListener], meant to be used by subclasses. - @protected - const AdWithViewListener({ - this.onAdLoaded, - this.onAdFailedToLoad, - this.onAdOpened, - this.onAdWillDismissScreen, - this.onAdImpression, - this.onAdClosed, - this.onPaidEvent, - this.onAdClicked, - }); - - /// Called when an ad is successfully received. - final AdEventCallback? onAdLoaded; - - /// Called when an ad request failed. - final AdLoadErrorCallback? onAdFailedToLoad; - - /// A full screen view/overlay is presented in response to the user clicking - /// on an ad. You may want to pause animations and time sensitive - /// interactions. - final AdEventCallback? onAdOpened; - - /// For iOS only. Called before dismissing a full screen view. - final AdEventCallback? onAdWillDismissScreen; - - /// Called when the full screen view has been closed. You should restart - /// anything paused while handling onAdOpened. - final AdEventCallback? onAdClosed; - - /// Called when an impression occurs on the ad. - final AdEventCallback? onAdImpression; - - /// Called when the ad is clicked. - final AdEventCallback? onAdClicked; - - /// Callback to be invoked when an ad is estimated to have earned money. - /// Available for allowlisted accounts only. - final OnPaidEventCallback? onPaidEvent; -} - -/// A listener for receiving notifications for the lifecycle of a [BannerAd]. -class BannerAdListener extends AdWithViewListener { - /// Constructs a [BannerAdListener] that notifies for the provided event callbacks. - /// - /// Typically you will override [onAdLoaded] and [onAdFailedToLoad]: - /// ```dart - /// BannerAdListener( - /// onAdLoaded: (ad) { - /// // Ad successfully loaded - display an AdWidget with the banner ad. - /// }, - /// onAdFailedToLoad: (ad, error) { - /// // Ad failed to load - log the error and dispose the ad. - /// }, - /// ... - /// ) - /// ``` - const BannerAdListener({ - AdEventCallback? onAdLoaded, - AdLoadErrorCallback? onAdFailedToLoad, - AdEventCallback? onAdOpened, - AdEventCallback? onAdClosed, - AdEventCallback? onAdWillDismissScreen, - AdEventCallback? onAdImpression, - OnPaidEventCallback? onPaidEvent, - AdEventCallback? onAdClicked, - }) : super( - onAdLoaded: onAdLoaded, - onAdFailedToLoad: onAdFailedToLoad, - onAdOpened: onAdOpened, - onAdClosed: onAdClosed, - onAdWillDismissScreen: onAdWillDismissScreen, - onAdImpression: onAdImpression, - onPaidEvent: onPaidEvent, - onAdClicked: onAdClicked, - ); -} - -/// A listener for receiving notifications for the lifecycle of an [AdManagerBannerAd]. -class AdManagerBannerAdListener extends BannerAdListener - implements AppEventListener { - /// Constructs an [AdManagerBannerAdListener] with the provided event callbacks. - /// - /// Typically you will override [onAdLoaded] and [onAdFailedToLoad]: - /// ```dart - /// AdManagerBannerAdListener( - /// onAdLoaded: (ad) { - /// // Ad successfully loaded - display an AdWidget with the banner ad. - /// }, - /// onAdFailedToLoad: (ad, error) { - /// // Ad failed to load - log the error and dispose the ad. - /// }, - /// ... - /// ) - /// ``` - AdManagerBannerAdListener({ - AdEventCallback? onAdLoaded, - Function(Ad ad, LoadAdError error)? onAdFailedToLoad, - AdEventCallback? onAdOpened, - AdEventCallback? onAdWillDismissScreen, - AdEventCallback? onAdClosed, - AdEventCallback? onAdImpression, - OnPaidEventCallback? onPaidEvent, - this.onAppEvent, - AdEventCallback? onAdClicked, - }) : super( - onAdLoaded: onAdLoaded, - onAdFailedToLoad: onAdFailedToLoad, - onAdOpened: onAdOpened, - onAdWillDismissScreen: onAdWillDismissScreen, - onAdClosed: onAdClosed, - onAdImpression: onAdImpression, - onPaidEvent: onPaidEvent, - onAdClicked: onAdClicked, - ); - - /// Called when an app event is received. - @override - void Function(Ad ad, String name, String data)? onAppEvent; -} - -/// A listener for receiving notifications for the lifecycle of a [NativeAd]. -class NativeAdListener extends AdWithViewListener { - /// Constructs a [NativeAdListener] with the provided event callbacks. - /// - /// Typically you will override [onAdLoaded] and [onAdFailedToLoad]: - /// ```dart - /// NativeAdListener( - /// onAdLoaded: (ad) { - /// // Ad successfully loaded - display an AdWidget with the native ad. - /// }, - /// onAdFailedToLoad: (ad, error) { - /// // Ad failed to load - log the error and dispose the ad. - /// }, - /// ... - /// ) - /// ``` - NativeAdListener({ - AdEventCallback? onAdLoaded, - Function(Ad ad, LoadAdError error)? onAdFailedToLoad, - AdEventCallback? onAdOpened, - AdEventCallback? onAdWillDismissScreen, - AdEventCallback? onAdClosed, - AdEventCallback? onAdImpression, - OnPaidEventCallback? onPaidEvent, - AdEventCallback? onAdClicked, - }) : super( - onAdLoaded: onAdLoaded, - onAdFailedToLoad: onAdFailedToLoad, - onAdOpened: onAdOpened, - onAdWillDismissScreen: onAdWillDismissScreen, - onAdClosed: onAdClosed, - onAdImpression: onAdImpression, - onPaidEvent: onPaidEvent, - onAdClicked: onAdClicked, - ); -} - -/// Callback events for for full screen ads, such as Rewarded and Interstitial. -class FullScreenContentCallback { - /// Construct a new [FullScreenContentCallback]. - /// - /// [Ad.dispose] should be called from [onAdFailedToShowFullScreenContent] - /// and [onAdDismissedFullScreenContent], in order to free up resources. - const FullScreenContentCallback({ - this.onAdShowedFullScreenContent, - this.onAdImpression, - this.onAdFailedToShowFullScreenContent, - this.onAdWillDismissFullScreenContent, - this.onAdDismissedFullScreenContent, - this.onAdClicked, - }); - - /// Called when an ad shows full screen content. - final GenericAdEventCallback? onAdShowedFullScreenContent; - - /// Called when an ad dismisses full screen content. - final GenericAdEventCallback? onAdDismissedFullScreenContent; - - /// For iOS only. Called before dismissing a full screen view. - final GenericAdEventCallback? onAdWillDismissFullScreenContent; - - /// Called when an ad impression occurs. - final GenericAdEventCallback? onAdImpression; - - /// Called when an ad is clicked. - final GenericAdEventCallback? onAdClicked; - - /// Called when ad fails to show full screen content. - final void Function(Ad ad, AdError error)? onAdFailedToShowFullScreenContent; -} - -/// Generic parent class for ad load callbacks. -abstract class FullScreenAdLoadCallback { - /// Default constructor for [FullScreenAdLoadCallback[, used by subclasses. - const FullScreenAdLoadCallback({ - required this.onAdLoaded, - required this.onAdFailedToLoad, - }); - - /// Called when the ad successfully loads. - final GenericAdEventCallback onAdLoaded; - - /// Called when an error occurs loading the ad. - final FullScreenAdLoadErrorCallback onAdFailedToLoad; -} - -/// This class holds callbacks for loading a [RewardedAd]. -class RewardedAdLoadCallback extends FullScreenAdLoadCallback { - /// Construct a [RewardedAdLoadCallback]. - const RewardedAdLoadCallback({ - required GenericAdEventCallback onAdLoaded, - required FullScreenAdLoadErrorCallback onAdFailedToLoad, - }) : super(onAdLoaded: onAdLoaded, onAdFailedToLoad: onAdFailedToLoad); -} - -/// This class holds callbacks for loading an [AppOpenAd]. -class AppOpenAdLoadCallback extends FullScreenAdLoadCallback { - /// Construct an [AppOpenAdLoadCallback]. - const AppOpenAdLoadCallback({ - required GenericAdEventCallback onAdLoaded, - required FullScreenAdLoadErrorCallback onAdFailedToLoad, - }) : super(onAdLoaded: onAdLoaded, onAdFailedToLoad: onAdFailedToLoad); -} - -/// This class holds callbacks for loading an [InterstitialAd]. -class InterstitialAdLoadCallback - extends FullScreenAdLoadCallback { - /// Construct a [InterstitialAdLoadCallback]. - const InterstitialAdLoadCallback({ - required GenericAdEventCallback onAdLoaded, - required FullScreenAdLoadErrorCallback onAdFailedToLoad, - }) : super(onAdLoaded: onAdLoaded, onAdFailedToLoad: onAdFailedToLoad); -} - -/// This class holds callbacks for loading an [AdManagerInterstitialAd]. -class AdManagerInterstitialAdLoadCallback - extends FullScreenAdLoadCallback { - /// Construct a [AdManagerInterstitialAdLoadCallback]. - const AdManagerInterstitialAdLoadCallback({ - required GenericAdEventCallback onAdLoaded, - required FullScreenAdLoadErrorCallback onAdFailedToLoad, - }) : super(onAdLoaded: onAdLoaded, onAdFailedToLoad: onAdFailedToLoad); -} - -/// This class holds callbacks for loading a [RewardedInterstitialAd]. -class RewardedInterstitialAdLoadCallback - extends FullScreenAdLoadCallback { - /// Construct a [RewardedInterstitialAdLoadCallback]. - const RewardedInterstitialAdLoadCallback({ - required GenericAdEventCallback onAdLoaded, - required FullScreenAdLoadErrorCallback onAdFailedToLoad, - }) : super(onAdLoaded: onAdLoaded, onAdFailedToLoad: onAdFailedToLoad); -} diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/lib/src/app_background_event_notifier.dart b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/lib/src/app_background_event_notifier.dart deleted file mode 100644 index 8c0d1e28..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/lib/src/app_background_event_notifier.dart +++ /dev/null @@ -1,63 +0,0 @@ -// Copyright 2021 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -import 'dart:async'; - -import 'package:flutter/cupertino.dart'; -import 'package:flutter/services.dart'; - -/// The app foreground/background state. -enum AppState { - /// App is backgrounded. - background, - - /// App is foregrounded. - foreground, -} - -/// Notifies changes in app foreground/background. -/// -/// Subscribe to [appStateStream] to get notified of changes in [AppState]. -/// Use this when implementing app open ads instead of [WidgetsBindingObserver], -/// because the latter also notifies when the state of the Flutter -/// activity/view controller changes. This makes an interstitial taking control -/// of the screen indistinguishable from the app background/foreground. -class AppStateEventNotifier { - static const _eventChannelName = - 'plugins.flutter.io/google_mobile_ads/app_state_event'; - static const _methodChannelName = - 'plugins.flutter.io/google_mobile_ads/app_state_method'; - static const EventChannel _eventChannel = EventChannel(_eventChannelName); - static const MethodChannel _methodChannel = MethodChannel(_methodChannelName); - - /// Subscribe to this to get notified of changes in [AppState]. - /// - /// Call [startListening] before subscribing to this stream to - /// start listening to background/foreground events on the platform side. - static Stream get appStateStream => - _eventChannel.receiveBroadcastStream().map( - (event) => - event == 'foreground' ? AppState.foreground : AppState.background, - ); - - /// Start listening to background/foreground events. - static Future startListening() async { - return _methodChannel.invokeMethod('start'); - } - - /// Stop listening to background/foreground events. - static Future stopListening() async { - return _methodChannel.invokeMethod('stop'); - } -} diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/lib/src/mediation_extras.dart b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/lib/src/mediation_extras.dart deleted file mode 100644 index c2ecc05f..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/lib/src/mediation_extras.dart +++ /dev/null @@ -1,39 +0,0 @@ -// Copyright 2024 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -import 'package:google_mobile_ads/src/ad_containers.dart'; - -/// Contains information for a particular ad network set by developer. -abstract class MediationExtras { - /// Fully-qualified name of an Android FlutterMediationExtras class. - /// - /// The name of the class must implement the FlutterMediationExtras interface. - /// The flutter plugin will try to instantiate it via reflection when an - /// [AdRequest] is created and an instance of this class is assigned to its - /// mediationExtras. - String getAndroidClassName(); - - /// Name of an iOS class that conforms to the FLTMediationExtras protocol. - /// - /// The flutter plugin will try to instantiate it via reflection when an - /// [AdRequest] is created and an instance of this class is assigned to its - /// mediationExtras. - String getIOSClassName(); - - /// Key-Value pair to be sent to the host platform to parse. - /// - /// The Android or iOS parse classes are responsible to take these values and - /// parse them to Mediation Extras that the Ad Request can register. - Map getExtras(); -} diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/lib/src/mobile_ads.dart b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/lib/src/mobile_ads.dart deleted file mode 100644 index ab6facb4..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/lib/src/mobile_ads.dart +++ /dev/null @@ -1,186 +0,0 @@ -// Copyright 2021 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -import 'package:google_mobile_ads/google_mobile_ads.dart'; - -import 'ad_inspector_containers.dart'; -import 'ad_instance_manager.dart'; -import 'request_configuration.dart'; -import 'package:flutter/foundation.dart'; -import 'package:webview_flutter/webview_flutter.dart'; - -/// The initialization state of the mediation adapter. -enum AdapterInitializationState { - /// The mediation adapter is less likely to fill ad requests. - notReady, - - /// The mediation adapter is ready to service ad requests. - ready, -} - -/// Class contains logic that applies to the Google Mobile Ads SDK as a whole. -/// -/// Right now, the only methods in it are used for initialization. -/// -/// See [instance]. -class MobileAds { - MobileAds._(); - - static final MobileAds _instance = MobileAds._().._init(); - - /// Shared instance to initialize the AdMob SDK. - static MobileAds get instance => _instance; - - /// Initializes the Google Mobile Ads SDK. - /// - /// Call this method as early as possible after the app launches to reduce - /// latency on the session's first ad request. - /// - /// If this method is not called, the first ad request automatically - /// initializes the Google Mobile Ads SDK. - Future initialize() { - return instanceManager.initialize(); - } - - /// Get the current [RequestConfiguration]. - /// - /// On iOS, tagForUnderAgeOfConsent and tagForChildDirectedTreatment are null on - /// the returned [RequestConfiguration]. - Future getRequestConfiguration() { - return instanceManager.getRequestConfiguration(); - } - - /// Update the [RequestConfiguration] to apply for future ad requests. - Future updateRequestConfiguration( - RequestConfiguration requestConfiguration, - ) { - return instanceManager.updateRequestConfiguration(requestConfiguration); - } - - /// Set whether the Google Mobile Ads SDK Same App Key is enabled (iOS only). - /// - /// The value set persists across app sessions. The key is enabled by default. - /// This is a no-op on Android. - /// More documentation on same app key is available at - /// https://developers.google.com/admob/ios/global-settings#same_app_key. - Future setSameAppKeyEnabled(bool isEnabled) { - if (defaultTargetPlatform == TargetPlatform.iOS) { - return instanceManager.setSameAppKeyEnabled(isEnabled); - } else { - return Future.value(); - } - } - - /// Sets whether the app is muted. - /// - /// For more details about the volume control, visit - /// https://developers.google.com/admob/android/global-settings#video_ad_volume_control - Future setAppMuted(bool muted) { - return instanceManager.setAppMuted(muted); - } - - /// Sets the current app volume. - /// - /// [volume] should be from 0 (muted) to 1 (full media volume). - /// The default value is 1. - /// For more details about the volume control, visit - /// https://developers.google.com/android/reference/com/google/android/gms/ads/MobileAds#public-static-void-setappvolume-float-volume - Future setAppVolume(double volume) { - return instanceManager.setAppVolume(volume); - } - - /// Disables automated SDK crash reporting (iOS only). - /// - /// For more details, visit admob (iOS) documentation: - /// https://developers.google.com/admob/ios/api/reference/Classes/GADMobileAds#-disablesdkcrashreporting - Future disableSDKCrashReporting() { - if (defaultTargetPlatform == TargetPlatform.iOS) { - return instanceManager.disableSDKCrashReporting(); - } else { - return Future.value(); - } - } - - /// Disables mediation adapter initialization during initialization of the GMA SDK. - /// - /// For more details, visit admob documentation: - /// https://developers.google.com/admob/ios/api/reference/Classes/GADMobileAds#-disablemediationinitialization - Future disableMediationInitialization() { - return instanceManager.disableMediationInitialization(); - } - - /// Gets the version string of Google Mobile Ads SDK. - Future getVersionString() { - return instanceManager.getVersionString(); - } - - /// Opens the debug menu for the [adUnitId]. - /// - /// Returns a Future that completes when the platform side api has been - /// invoked. - Future openDebugMenu(String adUnitId) { - return instanceManager.openDebugMenu(adUnitId); - } - - /// Registers a `WebViewController` with the Google Mobile Ads SDK. - /// - /// This improves in-app ad monetization of ads within this WebView. - Future registerWebView(WebViewController webViewController) { - return instanceManager.registerWebView(webViewController); - } - - /// Open the ad inspector. - void openAdInspector(OnAdInspectorClosedListener listener) async { - instanceManager.openAdInspector(listener); - } - - /// Internal init to cleanup state for hot restart. - /// This is a workaround for https://github.com/flutter/flutter/issues/7160. - void _init() { - instanceManager.channel.invokeMethod('_init'); - } -} - -/// The status of the SDK initialization. -class InitializationStatus { - /// Default constructor to create an [InitializationStatus]. - /// - /// Returned when calling [MobileAds.initialize]; - InitializationStatus(Map adapterStatuses) - : adapterStatuses = Map.unmodifiable( - adapterStatuses, - ); - - /// Initialization status of each known ad network, keyed by its adapter's class name. - final Map adapterStatuses; -} - -/// An immutable snapshot of a mediation adapter's initialization status. -class AdapterStatus { - /// Default constructor to create an [AdapterStatus]. - /// - /// Returned when calling [MobileAds.initialize]. - AdapterStatus(this.state, this.description, this.latency); - - /// The adapter's initialization state. - final AdapterInitializationState state; - - /// Detailed description of the status. - final String description; - - /// The adapter's initialization latency in seconds. - /// - /// 0 if initialization has not yet ended. - final double latency; -} diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/lib/src/nativetemplates/native_template_font_style.dart b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/lib/src/nativetemplates/native_template_font_style.dart deleted file mode 100644 index 451362ff..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/lib/src/nativetemplates/native_template_font_style.dart +++ /dev/null @@ -1,28 +0,0 @@ -// Copyright 2023 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -/// Font types for native templates. -enum NativeTemplateFontStyle { - /// Default text - normal, - - /// Bold - bold, - - /// Italic - italic, - - /// Monospace - monospace, -} diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/lib/src/nativetemplates/native_template_style.dart b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/lib/src/nativetemplates/native_template_style.dart deleted file mode 100644 index 8d6873ee..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/lib/src/nativetemplates/native_template_style.dart +++ /dev/null @@ -1,85 +0,0 @@ -// Copyright 2023 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -import 'dart:ui'; - -import 'package:google_mobile_ads/src/nativetemplates/template_type.dart'; -import 'package:google_mobile_ads/src/nativetemplates/native_template_text_style.dart'; - -/// Style options for native templates. -/// -/// Can be used when loading a [NativeAd]. -class NativeTemplateStyle { - /// Create a [NativeTemplateStyle]. - /// - /// Only templateType is required. - NativeTemplateStyle({ - required this.templateType, - this.callToActionTextStyle, - this.primaryTextStyle, - this.secondaryTextStyle, - this.tertiaryTextStyle, - this.mainBackgroundColor, - this.cornerRadius, - }); - - /// The [TemplateType] to use. - TemplateType templateType; - - /// The [NativeTemplateTextStyle] for the call to action. - NativeTemplateTextStyle? callToActionTextStyle; - - /// The [NativeTemplateTextStyle] for the primary text. - NativeTemplateTextStyle? primaryTextStyle; - - /// The [NativeTemplateTextStyle] for the second row of text in the template. - /// - /// All templates have a secondary text area which is populated either by the - /// body of the ad or by the rating of the app. - NativeTemplateTextStyle? secondaryTextStyle; - - /// The [NativeTemplateTextStyle] for the third row of text in the template. - /// - /// The third row is used to display store name or the default tertiary text. - NativeTemplateTextStyle? tertiaryTextStyle; - - /// The background color. - Color? mainBackgroundColor; - - /// The corner radius for the icon view and call to action (iOS only). - double? cornerRadius; - - @override - bool operator ==(Object other) { - return other is NativeTemplateStyle && - templateType == other.templateType && - callToActionTextStyle == other.callToActionTextStyle && - primaryTextStyle == other.primaryTextStyle && - secondaryTextStyle == other.secondaryTextStyle && - tertiaryTextStyle == other.tertiaryTextStyle && - mainBackgroundColor == other.mainBackgroundColor && - cornerRadius == other.cornerRadius; - } - - @override - int get hashCode => Object.hashAll([ - templateType, - callToActionTextStyle, - primaryTextStyle, - secondaryTextStyle, - tertiaryTextStyle, - mainBackgroundColor, - cornerRadius, - ]); -} diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/lib/src/nativetemplates/native_template_text_style.dart b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/lib/src/nativetemplates/native_template_text_style.dart deleted file mode 100644 index f2c7b6f2..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/lib/src/nativetemplates/native_template_text_style.dart +++ /dev/null @@ -1,51 +0,0 @@ -// Copyright 2023 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -import 'dart:ui'; -import 'package:google_mobile_ads/src/nativetemplates/native_template_font_style.dart'; - -/// Text style options for native templates. -class NativeTemplateTextStyle { - /// Create a [NativeTemplateTextStyle]. - NativeTemplateTextStyle({ - this.textColor, - this.backgroundColor, - this.style, - this.size, - }); - - /// Text color - Color? textColor; - - /// Background color - Color? backgroundColor; - - /// FontStyle] for the text - NativeTemplateFontStyle? style; - - /// Size of the text - double? size; - - @override - bool operator ==(Object other) { - return other is NativeTemplateTextStyle && - textColor == other.textColor && - backgroundColor == other.backgroundColor && - style == other.style && - size == other.size; - } - - @override - int get hashCode => Object.hashAll([textColor, backgroundColor, style, size]); -} diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/lib/src/nativetemplates/template_type.dart b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/lib/src/nativetemplates/template_type.dart deleted file mode 100644 index 86b63c5b..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/lib/src/nativetemplates/template_type.dart +++ /dev/null @@ -1,22 +0,0 @@ -// Copyright 2023 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -/// Template types for [NativeTemplateStyle]. -enum TemplateType { - /// Small layout - small, - - /// Medium layout - medium, -} diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/lib/src/request_configuration.dart b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/lib/src/request_configuration.dart deleted file mode 100644 index 47491c7a..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/lib/src/request_configuration.dart +++ /dev/null @@ -1,105 +0,0 @@ -// Copyright 2021 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -/// Contains targeting information that can be applied to all ad requests. -/// -/// See relevant documentation at -/// https://developers.google.com/ad-manager/mobile-ads-sdk/android/targeting#requestconfiguration. -class RequestConfiguration { - /// Maximum content rating that will be shown. - final String? maxAdContentRating; - - /// Whether to tag as child directed. - final int? tagForChildDirectedTreatment; - - /// Whether to tag as under age of consent. - final int? tagForUnderAgeOfConsent; - - /// List of test device ids to set. - final List? testDeviceIds; - - /// Creates a [RequestConfiguration]. - RequestConfiguration({ - this.maxAdContentRating, - this.tagForChildDirectedTreatment, - this.tagForUnderAgeOfConsent, - this.testDeviceIds, - }); -} - -/// Values for [RequestConfiguration.maxAdContentRating]. -class MaxAdContentRating { - /// No specified content rating. - static final String unspecified = ''; - - /// Content suitable for general audiences, including families. - static final String g = 'G'; - - /// Content suitable for most audiences with parental guidance. - static final String pg = 'PG'; - - /// Content suitable for most audiences with parental guidance. - static final String t = 'T'; - - /// Content suitable only for mature audiences. - static final String ma = 'MA'; -} - -/// Values for [RequestConfiguration.tagForUnderAgeOfConsent]. -class TagForUnderAgeOfConsent { - /// Tag as under age of consent. - /// - /// Indicates the publisher specified that the ad request should receive - /// treatment for users in the European Economic Area (EEA) under the age - /// of consent. - static final int yes = 1; - - /// Tag as NOT under age of consent. - /// - /// Indicates the publisher specified that the ad request should not receive - /// treatment for users in the European Economic Area (EEA) under the age of - /// consent. - static final int no = 0; - - /// Do not specify tag for under age of consent. - /// - /// Indicates that the publisher has not specified whether the ad request - /// should receive treatment for users in the European Economic Area (EEA) - /// under the age of consent. - static final int unspecified = -1; -} - -/// Values for [RequestConfiguration.tagForChildDirectedTreatment]. -class TagForChildDirectedTreatment { - /// Tag for child directed treatment. - /// - /// Indicates the publisher specified that the ad request should receive - /// treatment for users in the European Economic Area (EEA) under the age - /// of consent. - static final int yes = 1; - - /// Tag for NOT child directed treatment. - /// - /// Indicates the publisher specified that the ad request should not receive - /// treatment for users in the European Economic Area (EEA) under the age - /// of consent. - static final int no = 0; - - /// Do not specify tag for child directed treatment. - /// - /// Indicates that the publisher has not specified whether the ad request - /// should receive treatment for users in the European Economic Area (EEA) - /// under the age of consent. - static final int unspecified = -1; -} diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/lib/src/ump/consent_form.dart b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/lib/src/ump/consent_form.dart deleted file mode 100644 index 0cd3dd01..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/lib/src/ump/consent_form.dart +++ /dev/null @@ -1,71 +0,0 @@ -// Copyright 2022 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -import 'form_error.dart'; -import 'user_messaging_channel.dart'; - -/// Callback to be invoked when a consent form is dismissed. -/// -/// An optional [FormError] is provided if an error occurred. -typedef OnConsentFormDismissedListener = void Function(FormError? formError); - -/// Callback to be invoked when a consent form loads successfully -typedef OnConsentFormLoadSuccessListener = - void Function(ConsentForm consentForm); - -/// Callback to be invoked when a consent form failed to load. -typedef OnConsentFormLoadFailureListener = void Function(FormError formError); - -/// A rendered form for collecting consent from a user. -abstract class ConsentForm { - /// Shows the consent form. - void show(OnConsentFormDismissedListener onConsentFormDismissedListener); - - /// Presents a privacy options form. - static Future showPrivacyOptionsForm( - OnConsentFormDismissedListener onConsentFormDismissedListener, - ) async { - onConsentFormDismissedListener( - await UserMessagingChannel.instance.showPrivacyOptionsForm(), - ); - } - - /// Free platform resources associated with this object. - /// - /// Returns a future that completes when the platform resources are freed. - Future dispose(); - - /// Loads a ConsentForm. - /// - /// Check that [ConsentInformation.isConsentFormAvailable()] returns true - /// prior to calling this method. - static void loadConsentForm( - OnConsentFormLoadSuccessListener successListener, - OnConsentFormLoadFailureListener failureListener, - ) { - UserMessagingChannel.instance.loadConsentForm( - successListener, - failureListener, - ); - } - - /// Loads a consent form and immediately shows it. - static Future loadAndShowConsentFormIfRequired( - OnConsentFormDismissedListener onConsentFormDismissedListener, - ) async { - onConsentFormDismissedListener( - await UserMessagingChannel.instance.loadAndShowConsentFormIfRequired(), - ); - } -} diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/lib/src/ump/consent_form_impl.dart b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/lib/src/ump/consent_form_impl.dart deleted file mode 100644 index 8ad486f7..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/lib/src/ump/consent_form_impl.dart +++ /dev/null @@ -1,43 +0,0 @@ -// Copyright 2022 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -import 'consent_form.dart'; -import 'user_messaging_channel.dart'; - -/// Implementation for [ConsentForm], -class ConsentFormImpl extends ConsentForm { - /// Construct a [ConsentFormImpl]. - ConsentFormImpl(this.platformHash); - - /// Identifier to the underlying platform object. - final int platformHash; - - @override - void show(OnConsentFormDismissedListener onConsentFormDismissedListener) { - UserMessagingChannel.instance.show(this, onConsentFormDismissedListener); - } - - @override - Future dispose() { - return UserMessagingChannel.instance.disposeConsentForm(this); - } - - @override - bool operator ==(Object other) { - return other is ConsentFormImpl && platformHash == other.platformHash; - } - - @override - int get hashCode => platformHash.hashCode; -} diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/lib/src/ump/consent_information.dart b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/lib/src/ump/consent_information.dart deleted file mode 100644 index 5d265941..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/lib/src/ump/consent_information.dart +++ /dev/null @@ -1,85 +0,0 @@ -// Copyright 2022 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -import 'package:google_mobile_ads/src/ump/consent_information_impl.dart'; - -import 'consent_request_parameters.dart'; -import 'form_error.dart'; - -/// Callback to be invoked when consent info is successfully updated. -typedef OnConsentInfoUpdateSuccessListener = void Function(); - -/// Callback to be invoked when consent info failed to update. -typedef OnConsentInfoUpdateFailureListener = void Function(FormError error); - -/// Consent status values. -enum ConsentStatus { - /// User consent not required. - notRequired, - - /// User consent obtained. - obtained, - - /// User consent required but not yet obtained. - required, - - /// Consent status is unknown. - unknown, -} - -/// Utility methods for collecting consent from users. -abstract class ConsentInformation { - /// Requests a consent information update. - void requestConsentInfoUpdate( - ConsentRequestParameters params, - OnConsentInfoUpdateSuccessListener successListener, - OnConsentInfoUpdateFailureListener failureListener, - ); - - /// Returns true if a ConsentForm is available, false otherwise. - Future isConsentFormAvailable(); - - /// Get the user’s consent status. - /// - /// This value is cached between app sessions and can be read before - /// requesting updated parameters. - Future getConsentStatus(); - - /// Resets the consent information to initialized status. - /// - /// Should only be used for testing. Returns a [Future] that completes when - /// the platform API has been called. - Future reset(); - - /// Indicates whether the app has completed the necessary steps for gathering updated user consent. - Future canRequestAds(); - - /// Indicates the privacy options requirement status as a [PrivacyOptionsRequirementStatus]. - Future getPrivacyOptionsRequirementStatus(); - - /// The static [ConsentInformation] instance. - static ConsentInformation instance = ConsentInformationImpl(); -} - -/// Values indicate whether a privacy options button is required. -enum PrivacyOptionsRequirementStatus { - /// Privacy options entry point is not required. - notRequired, - - /// Privacy options entry point is required. - required, - - /// Privacy options requirement status is unknown. - unknown, -} diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/lib/src/ump/consent_information_impl.dart b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/lib/src/ump/consent_information_impl.dart deleted file mode 100644 index c2a4fe81..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/lib/src/ump/consent_information_impl.dart +++ /dev/null @@ -1,61 +0,0 @@ -// Copyright 2022 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -import 'consent_information.dart'; -import 'consent_request_parameters.dart'; -import 'user_messaging_channel.dart'; - -/// Implementation for ConsentInformation. -class ConsentInformationImpl extends ConsentInformation { - /// Constructor for [ConsentInformationImpl]. - ConsentInformationImpl(); - - @override - void requestConsentInfoUpdate( - ConsentRequestParameters params, - OnConsentInfoUpdateSuccessListener successListener, - OnConsentInfoUpdateFailureListener failureListener, - ) { - UserMessagingChannel.instance.requestConsentInfoUpdate( - params, - successListener, - failureListener, - ); - } - - @override - Future isConsentFormAvailable() { - return UserMessagingChannel.instance.isConsentFormAvailable(); - } - - @override - Future getConsentStatus() { - return UserMessagingChannel.instance.getConsentStatus(); - } - - @override - Future reset() { - return UserMessagingChannel.instance.reset(); - } - - @override - Future canRequestAds() { - return UserMessagingChannel.instance.canRequestAds(); - } - - @override - Future getPrivacyOptionsRequirementStatus() { - return UserMessagingChannel.instance.getPrivacyOptionsRequirementStatus(); - } -} diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/lib/src/ump/consent_request_parameters.dart b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/lib/src/ump/consent_request_parameters.dart deleted file mode 100644 index f9f031a6..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/lib/src/ump/consent_request_parameters.dart +++ /dev/null @@ -1,86 +0,0 @@ -// Copyright 2022 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -import 'package:flutter/foundation.dart'; - -/// Parameters sent on updating user consent info. -class ConsentRequestParameters { - /// Construct a [ConsentRequestParameters]. - ConsentRequestParameters({ - this.tagForUnderAgeOfConsent, - this.consentDebugSettings, - }); - - /// Tag for underage of consent. - /// - /// False means users are not underage. - bool? tagForUnderAgeOfConsent; - - /// Debug settings to hardcode in test requests. - ConsentDebugSettings? consentDebugSettings; - - @override - bool operator ==(Object other) { - return other is ConsentRequestParameters && - tagForUnderAgeOfConsent == other.tagForUnderAgeOfConsent && - consentDebugSettings == other.consentDebugSettings; - } - - @override - int get hashCode => - Object.hash(tagForUnderAgeOfConsent, consentDebugSettings); -} - -/// Debug settings to hardcode in test requests. -class ConsentDebugSettings { - /// Construct a [ConsentDebugSettings]. - ConsentDebugSettings({this.debugGeography, this.testIdentifiers}); - - /// Debug geography for testing geography. - DebugGeography? debugGeography; - - /// List of device identifier strings. - /// - /// Debug features are enabled for devices with these identifiers. - List? testIdentifiers; - - @override - bool operator ==(Object other) { - return other is ConsentDebugSettings && - debugGeography == other.debugGeography && - listEquals(testIdentifiers, other.testIdentifiers); - } - - @override - int get hashCode => Object.hash(debugGeography, testIdentifiers); -} - -/// Debug values for testing geography. -enum DebugGeography { - /// Debug geography disabled. - debugGeographyDisabled, - - /// Geography appears as in EEA for debug devices. - debugGeographyEea, - - /// Geography appears as not in EEA for debug devices. - @Deprecated('Use DebugGeography.debugGeographyOther') - debugGeographyNotEea, - - /// Geography appears as in a regulated US State for debug devices. - debugGeographyRegulatedUsState, - - /// Geography appears as in a region with no regulation in force. - debugGeographyOther, -} diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/lib/src/ump/form_error.dart b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/lib/src/ump/form_error.dart deleted file mode 100644 index 7ff1c006..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/lib/src/ump/form_error.dart +++ /dev/null @@ -1,43 +0,0 @@ -// Copyright 2022 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -/// Error information about why a form operation failed. -class FormError { - /// Init a [FormError] with the errorCode and message. - FormError({required this.errorCode, required this.message}); - - /// Code for the error. - /// - /// A value of 0 means that the error is internal to the Flutter plugin. - /// All other error codes come from the corresponding Android and iOS platform - /// objects. - /// See https://developers.google.com/admob/ump/android/api/reference/com/google/android/ump/FormError.ErrorCode, - /// https://developers.google.com/admob/ump/ios/api/reference/Enums/UMPFormErrorCode, - /// and https://developers.google.com/admob/ump/ios/api/reference/Enums/UMPRequestErrorCode - /// for platform specific error code descriptions. - final int errorCode; - - /// The message describing the error. - final String message; - - @override - bool operator ==(Object other) { - return other is FormError && - errorCode == other.errorCode && - message == other.message; - } - - @override - int get hashCode => Object.hash(errorCode, message); -} diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/lib/src/ump/user_messaging_channel.dart b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/lib/src/ump/user_messaging_channel.dart deleted file mode 100644 index 9a64e2f1..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/lib/src/ump/user_messaging_channel.dart +++ /dev/null @@ -1,200 +0,0 @@ -// Copyright 2022 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -import 'package:flutter/foundation.dart'; -import 'package:flutter/services.dart'; - -import 'consent_form.dart'; -import 'consent_information.dart'; -import 'consent_request_parameters.dart'; -import 'form_error.dart'; -import 'user_messaging_codec.dart'; - -/// Platform channel for UMP SDK. -class UserMessagingChannel { - static const _methodChannelName = 'plugins.flutter.io/google_mobile_ads/ump'; - - /// Create a [UserMessagingChannel] with the [channel]. - UserMessagingChannel(MethodChannel channel) : _methodChannel = channel; - - /// The shared [UserMessagingChannel] instance. - static UserMessagingChannel instance = UserMessagingChannel( - MethodChannel( - _methodChannelName, - StandardMethodCodec(UserMessagingCodec()), - ), - ); - - final MethodChannel _methodChannel; - - /// Request a consent information update with [params]. - /// - /// Invokes [successListener] or [failureListener] depending on if there was - /// an error. - void requestConsentInfoUpdate( - ConsentRequestParameters params, - OnConsentInfoUpdateSuccessListener successListener, - OnConsentInfoUpdateFailureListener failureListener, - ) async { - try { - await _methodChannel.invokeMethod( - 'ConsentInformation#requestConsentInfoUpdate', - {'params': params}, - ); - successListener(); - } on PlatformException catch (e) { - failureListener(_formErrorFromPlatformException(e)); - } - } - - /// Returns a future indicating whether a consent form is available. - Future isConsentFormAvailable() async { - return (await _methodChannel.invokeMethod( - 'ConsentInformation#isConsentFormAvailable', - ))!; - } - - /// Gets the consent status. - Future getConsentStatus() async { - int consentStatus = (await _methodChannel.invokeMethod( - 'ConsentInformation#getConsentStatus', - ))!; - - if (defaultTargetPlatform == TargetPlatform.iOS) { - switch (consentStatus) { - case 0: - return ConsentStatus.unknown; - case 1: - return ConsentStatus.required; - case 2: - return ConsentStatus.notRequired; - case 3: - return ConsentStatus.obtained; - default: - debugPrint('Error: unknown ConsentStatus value: $consentStatus'); - return ConsentStatus.unknown; - } - } else { - switch (consentStatus) { - case 0: - return ConsentStatus.unknown; - case 1: - return ConsentStatus.notRequired; - case 2: - return ConsentStatus.required; - case 3: - return ConsentStatus.obtained; - default: - debugPrint('Error: unknown ConsentStatus value: $consentStatus'); - return ConsentStatus.unknown; - } - } - } - - /// Invokes reset API, - Future reset() async { - return _methodChannel.invokeMethod('ConsentInformation#reset'); - } - - /// Returns indicating whether it is ok to request ads. - Future canRequestAds() async { - return (await _methodChannel.invokeMethod( - 'ConsentInformation#canRequestAds', - ))!; - } - - /// Indicates the privacy options requirement status as a [PrivacyOptionsRequirementStatus]. - Future - getPrivacyOptionsRequirementStatus() async { - int? privacyOptionsStatusInt = (await _methodChannel.invokeMethod( - 'ConsentInformation#getPrivacyOptionsRequirementStatus', - )); - switch (privacyOptionsStatusInt) { - case 0: - return PrivacyOptionsRequirementStatus.notRequired; - case 1: - return PrivacyOptionsRequirementStatus.required; - default: - return PrivacyOptionsRequirementStatus.unknown; - } - } - - /// Loads a consent form and calls the corresponding listener. - void loadConsentForm( - OnConsentFormLoadSuccessListener successListener, - OnConsentFormLoadFailureListener failureListener, - ) async { - try { - ConsentForm form = (await _methodChannel.invokeMethod( - 'UserMessagingPlatform#loadConsentForm', - ))!; - successListener(form); - } on PlatformException catch (e) { - failureListener(_formErrorFromPlatformException(e)); - } - } - - /// Loads a consent form and calls the listener afterwards. - Future loadAndShowConsentFormIfRequired() async { - try { - return await _methodChannel.invokeMethod( - 'UserMessagingPlatform#loadAndShowConsentFormIfRequired', - ); - } on PlatformException catch (e) { - return _formErrorFromPlatformException(e); - } - } - - /// Show the consent form. - void show( - ConsentForm consentForm, - OnConsentFormDismissedListener onConsentFormDismissedListener, - ) async { - try { - await _methodChannel.invokeMethod( - 'ConsentForm#show', - {'consentForm': consentForm}, - ); - onConsentFormDismissedListener(null); - } on PlatformException catch (e) { - onConsentFormDismissedListener(_formErrorFromPlatformException(e)); - } - } - - /// Presents a privacy options form. - Future showPrivacyOptionsForm() async { - try { - return await _methodChannel.invokeMethod( - 'UserMessagingPlatform#showPrivacyOptionsForm', - ); - } on PlatformException catch (e) { - return _formErrorFromPlatformException(e); - } - } - - FormError _formErrorFromPlatformException(PlatformException e) { - return FormError( - errorCode: int.tryParse(e.code) ?? -1, - message: e.message ?? '', - ); - } - - /// Free platform resources associated with the [ConsentForm]. - Future disposeConsentForm(ConsentForm consentForm) { - return _methodChannel.invokeMethod( - 'ConsentForm#dispose', - {'consentForm': consentForm}, - ); - } -} diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/lib/src/ump/user_messaging_codec.dart b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/lib/src/ump/user_messaging_codec.dart deleted file mode 100644 index f81a5250..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/lib/src/ump/user_messaging_codec.dart +++ /dev/null @@ -1,88 +0,0 @@ -// Copyright 2022 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -import 'package:flutter/services.dart'; -import 'package:google_mobile_ads/src/ump/form_error.dart'; - -import 'consent_form_impl.dart'; -import 'consent_request_parameters.dart'; - -/// Codec for coding and decoding types in the UMP SDK. -class UserMessagingCodec extends StandardMessageCodec { - static const int _valueConsentRequestParameters = 129; - static const int _valueConsentDebugSettings = 130; - static const int _valueConsentForm = 131; - static const int _valueFormError = 132; - - @override - void writeValue(WriteBuffer buffer, dynamic value) { - if (value is ConsentRequestParameters) { - buffer.putUint8(_valueConsentRequestParameters); - writeValue(buffer, value.tagForUnderAgeOfConsent); - writeValue(buffer, value.consentDebugSettings); - } else if (value is ConsentDebugSettings) { - buffer.putUint8(_valueConsentDebugSettings); - writeValue(buffer, value.debugGeography?.index); - writeValue(buffer, value.testIdentifiers); - } else if (value is ConsentFormImpl) { - buffer.putUint8(_valueConsentForm); - writeValue(buffer, value.platformHash); - } else if (value is FormError) { - buffer.putUint8(_valueFormError); - writeValue(buffer, value.errorCode); - writeValue(buffer, value.message); - } else { - super.writeValue(buffer, value); - } - } - - @override - dynamic readValueOfType(dynamic type, ReadBuffer buffer) { - switch (type) { - case _valueConsentRequestParameters: - bool? tfuac = readValueOfType(buffer.getUint8(), buffer); - ConsentDebugSettings? debugSettings = readValueOfType( - buffer.getUint8(), - buffer, - ); - return ConsentRequestParameters( - tagForUnderAgeOfConsent: tfuac, - consentDebugSettings: debugSettings, - ); - case _valueConsentDebugSettings: - int? debugGeographyInt = readValueOfType(buffer.getUint8(), buffer); - DebugGeography? debugGeography; - if (debugGeographyInt != null) { - debugGeography = DebugGeography.values[debugGeographyInt]; - } - List? testIds = readValueOfType( - buffer.getUint8(), - buffer, - )?.cast(); - return ConsentDebugSettings( - debugGeography: debugGeography, - testIdentifiers: testIds, - ); - case _valueConsentForm: - final int hashCode = readValueOfType(buffer.getUint8(), buffer); - return ConsentFormImpl(hashCode); - case _valueFormError: - final int errorCode = readValueOfType(buffer.getUint8(), buffer); - final String errorMessage = readValueOfType(buffer.getUint8(), buffer); - return FormError(errorCode: errorCode, message: errorMessage); - default: - return super.readValueOfType(type, buffer); - } - } -} diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/lib/src/webview_controller_util.dart b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/lib/src/webview_controller_util.dart deleted file mode 100644 index d843fc7f..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/lib/src/webview_controller_util.dart +++ /dev/null @@ -1,35 +0,0 @@ -// Copyright 2023 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -import 'package:webview_flutter/webview_flutter.dart'; -import 'package:webview_flutter_android/webview_flutter_android.dart'; -import 'package:webview_flutter_wkwebview/webview_flutter_wkwebview.dart'; - -/// Util class for `WebViewController`. -class WebViewControllerUtil { - /// Default constructor. - const WebViewControllerUtil(); - - /// Returns the identifier for the underlying webview. - int webViewIdentifier(WebViewController controller) { - if (WebViewPlatform.instance is AndroidWebViewPlatform) { - return (controller.platform as AndroidWebViewController) - .webViewIdentifier; - } else if (WebViewPlatform.instance is WebKitWebViewPlatform) { - return (controller.platform as WebKitWebViewController).webViewIdentifier; - } else { - throw UnsupportedError('This method only supports Android and iOS.'); - } - } -} diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/pubspec.yaml b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/pubspec.yaml deleted file mode 100644 index 2dd66048..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/pubspec.yaml +++ /dev/null @@ -1,52 +0,0 @@ -# Copyright 2021 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# https://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -name: google_mobile_ads -version: 8.0.0 -description: Flutter plugin for Google Mobile Ads, supporting - banner, interstitial (full-screen), rewarded and native ads -repository: https://github.com/googleads/googleads-mobile-flutter/tree/main/packages/google_mobile_ads - -flutter: - plugin: - platforms: - android: - package: io.flutter.plugins.googlemobileads - pluginClass: GoogleMobileAdsPlugin - ios: - pluginClass: FLTGoogleMobileAdsPlugin - -dependencies: - meta: ^1.16.0 - flutter: - sdk: flutter - webview_flutter_android: ^4.10.9 - webview_flutter_wkwebview: ^3.23.4 - webview_flutter: ^4.10.0 - -dev_dependencies: -# e2e: ^0.7.0 - flutter_driver: - sdk: flutter - mockito: ^5.4.5 - build_runner: ^2.4.15 - flutter_lints: ^6.0.0 - flutter_test: - sdk: flutter - webview_flutter_platform_interface: ^2.10.0 - - -environment: - sdk: ">=3.10.0 <4.0.0" - flutter: ">=3.38.1" diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/test/ad_containers_test.dart b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/test/ad_containers_test.dart deleted file mode 100644 index fa8dd0c0..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/test/ad_containers_test.dart +++ /dev/null @@ -1,1573 +0,0 @@ -// Copyright 2021 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -import 'dart:async'; - -import 'package:flutter/foundation.dart'; -import 'package:flutter/material.dart'; -import 'package:google_mobile_ads/src/ad_instance_manager.dart'; -import 'package:google_mobile_ads/google_mobile_ads.dart'; -import 'package:flutter_test/flutter_test.dart'; -import 'package:flutter/services.dart'; - -Future handlePlatformMessage(ByteData? data) async { - await TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger - .handlePlatformMessage( - 'plugins.flutter.io/google_mobile_ads', - data, - (data) {}, - ); -} - -// ignore_for_file: deprecated_member_use_from_same_package -void main() { - TestWidgetsFlutterBinding.ensureInitialized(); - - group('GoogleMobileAds', () { - final List log = []; - final AdMessageCodec codec = AdMessageCodec(); - - setUp(() async { - log.clear(); - instanceManager = AdInstanceManager( - 'plugins.flutter.io/google_mobile_ads', - ); - TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger - .setMockMethodCallHandler(instanceManager.channel, ( - MethodCall methodCall, - ) async { - log.add(methodCall); - switch (methodCall.method) { - case 'MobileAds#updateRequestConfiguration': - case 'MobileAds#setSameAppKeyEnabled': - case 'setImmersiveMode': - case 'loadBannerAd': - case 'loadNativeAd': - case 'showAdWithoutView': - case 'disposeAd': - case 'loadRewardedAd': - case 'loadInterstitialAd': - case 'loadAdManagerInterstitialAd': - case 'loadAdManagerBannerAd': - case 'setServerSideVerificationOptions': - return Future.value(); - case 'getAdSize': - return Future.value(AdSize.banner); - default: - assert(false); - return null; - } - }); - }); - - test('updateRequestConfiguration', () async { - final RequestConfiguration requestConfiguration = RequestConfiguration( - maxAdContentRating: MaxAdContentRating.ma, - tagForChildDirectedTreatment: TagForChildDirectedTreatment.yes, - tagForUnderAgeOfConsent: TagForUnderAgeOfConsent.yes, - testDeviceIds: ['test-device-id'], - ); - await instanceManager.updateRequestConfiguration(requestConfiguration); - expect(log, [ - isMethodCall( - 'MobileAds#updateRequestConfiguration', - arguments: { - 'maxAdContentRating': MaxAdContentRating.ma, - 'tagForChildDirectedTreatment': TagForChildDirectedTreatment.yes, - 'tagForUnderAgeOfConsent': TagForUnderAgeOfConsent.yes, - 'testDeviceIds': ['test-device-id'], - }, - ), - ]); - }); - - test('setSameAppKeyEnabled', () async { - await instanceManager.setSameAppKeyEnabled(true); - - expect(log, [ - isMethodCall( - 'MobileAds#setSameAppKeyEnabled', - arguments: {'isEnabled': true}, - ), - ]); - - await instanceManager.setSameAppKeyEnabled(false); - - expect(log, [ - isMethodCall( - 'MobileAds#setSameAppKeyEnabled', - arguments: {'isEnabled': true}, - ), - isMethodCall( - 'MobileAds#setSameAppKeyEnabled', - arguments: {'isEnabled': false}, - ), - ]); - }); - - test('load rewarded ad and set immersive mode and ssv', () async { - RewardedAd? rewarded; - AdRequest request = AdRequest(); - await RewardedAd.load( - adUnitId: 'test-ad-unit', - request: request, - rewardedAdLoadCallback: RewardedAdLoadCallback( - onAdLoaded: (ad) { - rewarded = ad; - }, - onAdFailedToLoad: (error) => null, - ), - ); - - RewardedAd createdAd = instanceManager.adFor(0) as RewardedAd; - (createdAd).rewardedAdLoadCallback.onAdLoaded(createdAd); - - expect(log, [ - isMethodCall( - 'loadRewardedAd', - arguments: { - 'adId': 0, - 'adUnitId': 'test-ad-unit', - 'request': request, - 'adManagerRequest': null, - }, - ), - ]); - - expect(instanceManager.adFor(0), isNotNull); - expect(rewarded, createdAd); - - // Set immersive mode - log.clear(); - await createdAd.setImmersiveMode(true); - expect(log, [ - isMethodCall( - 'setImmersiveMode', - arguments: {'adId': 0, 'immersiveModeEnabled': true}, - ), - ]); - - // Set ssv - log.clear(); - final ssv = ServerSideVerificationOptions(); - await createdAd.setServerSideOptions(ssv); - expect(log, [ - isMethodCall( - 'setServerSideVerificationOptions', - arguments: {'adId': 0, 'serverSideVerificationOptions': ssv}, - ), - ]); - }); - - test('load interstitial ad and set immersive mode', () async { - InterstitialAd? interstitial; - await InterstitialAd.load( - adUnitId: 'test-ad-unit', - request: AdRequest(), - adLoadCallback: InterstitialAdLoadCallback( - onAdLoaded: (ad) { - interstitial = ad; - }, - onAdFailedToLoad: (error) => null, - ), - ); - - InterstitialAd createdAd = (instanceManager.adFor(0) as InterstitialAd); - (createdAd).adLoadCallback.onAdLoaded(createdAd); - - expect(log, [ - isMethodCall( - 'loadInterstitialAd', - arguments: { - 'adId': 0, - 'adUnitId': 'test-ad-unit', - 'request': interstitial!.request, - }, - ), - ]); - - expect(instanceManager.adFor(0), isNotNull); - - log.clear(); - await createdAd.setImmersiveMode(false); - expect(log, [ - isMethodCall( - 'setImmersiveMode', - arguments: {'adId': 0, 'immersiveModeEnabled': false}, - ), - ]); - }); - - test('load ad manager interstitial and set immersive mode', () async { - AdManagerInterstitialAd? interstitial; - await AdManagerInterstitialAd.load( - adUnitId: 'test-id', - request: AdManagerAdRequest(), - adLoadCallback: AdManagerInterstitialAdLoadCallback( - onAdLoaded: (ad) { - interstitial = ad; - }, - onAdFailedToLoad: (error) => null, - ), - ); - - AdManagerInterstitialAd createdAd = - (instanceManager.adFor(0) as AdManagerInterstitialAd); - (createdAd).adLoadCallback.onAdLoaded(createdAd); - - expect(log, [ - isMethodCall( - 'loadAdManagerInterstitialAd', - arguments: { - 'adId': 0, - 'adUnitId': 'test-id', - 'request': interstitial!.request, - }, - ), - ]); - - expect(instanceManager.adFor(0), isNotNull); - - log.clear(); - await createdAd.setImmersiveMode(true); - expect(log, [ - isMethodCall( - 'setImmersiveMode', - arguments: {'adId': 0, 'immersiveModeEnabled': true}, - ), - ]); - }); - - test('load native', () async { - final Map options = {'a': 1, 'b': 2}; - final NativeAdOptions nativeAdOptions = NativeAdOptions( - adChoicesPlacement: AdChoicesPlacement.bottomLeftCorner, - mediaAspectRatio: MediaAspectRatio.any, - videoOptions: VideoOptions( - clickToExpandRequested: true, - customControlsRequested: true, - startMuted: true, - ), - requestCustomMuteThisAd: false, - shouldRequestMultipleImages: true, - shouldReturnUrlsForImageAssets: false, - ); - final NativeAd native = NativeAd( - adUnitId: 'test-ad-unit', - factoryId: '0', - customOptions: options, - listener: NativeAdListener(), - request: AdRequest(), - nativeAdOptions: nativeAdOptions, - ); - - await native.load(); - expect(log, [ - isMethodCall( - 'loadNativeAd', - arguments: { - 'adId': 0, - 'adUnitId': 'test-ad-unit', - 'request': native.request, - 'adManagerRequest': null, - 'factoryId': '0', - 'nativeAdOptions': nativeAdOptions, - 'customOptions': options, - 'nativeTemplateStyle': null, - }, - ), - ]); - - expect(instanceManager.adFor(0), isNotNull); - }); - - test('load native with $AdManagerAdRequest', () async { - final Map options = {'a': 1, 'b': 2}; - final NativeAd native = NativeAd.fromAdManagerRequest( - adUnitId: 'test-id', - factoryId: '0', - customOptions: options, - listener: NativeAdListener(), - adManagerRequest: AdManagerAdRequest(), - nativeTemplateStyle: NativeTemplateStyle( - templateType: TemplateType.medium, - ), - ); - - await native.load(); - expect(log, [ - isMethodCall( - 'loadNativeAd', - arguments: { - 'adId': 0, - 'adUnitId': 'test-id', - 'request': null, - 'adManagerRequest': native.adManagerRequest, - 'factoryId': '0', - 'nativeAdOptions': null, - 'customOptions': options, - 'nativeTemplateStyle': native.nativeTemplateStyle, - }, - ), - ]); - - expect(instanceManager.adFor(0), isNotNull); - }); - - testWidgets('build ad widget iOS', (WidgetTester tester) async { - debugDefaultTargetPlatformOverride = TargetPlatform.iOS; - final NativeAd native = NativeAd( - adUnitId: 'test-ad-unit', - factoryId: '0', - listener: NativeAdListener(), - request: AdRequest(), - ); - - await native.load(); - - await tester.pumpWidget( - MaterialApp( - home: Material( - child: SingleChildScrollView( - child: Column( - key: UniqueKey(), - children: [ - SizedBox.fromSize(size: Size(200, 1000)), - Container( - height: 200, - width: 200, - child: AdWidget(ad: native), - ), - ], - ), - ), - ), - ), - ); - await tester.pumpAndSettle(); - - final uiKitView = tester.widget(find.byType(UiKitView)); - expect(uiKitView, isNotNull); - - await native.dispose(); - debugDefaultTargetPlatformOverride = null; - }); - - testWidgets('warns when the widget is reused', (WidgetTester tester) async { - final NativeAd ad = NativeAd( - adUnitId: 'test-ad-unit', - factoryId: '0', - listener: NativeAdListener(), - request: AdRequest(), - ); - - await ad.load(); - - final AdWidget widget = AdWidget(ad: ad); - try { - await tester.pumpWidget( - Directionality( - textDirection: TextDirection.ltr, - child: SizedBox( - width: 100, - height: 100, - child: Stack(children: [widget, widget]), - ), - ), - ); - } finally { - dynamic exception = tester.takeException(); - expect(exception, isA()); - expect( - (exception as FlutterError).toStringDeep(), - 'FlutterError\n' - ' This AdWidget is already in the Widget tree\n' - ' If you placed this AdWidget in a list, make sure you create a new\n' - ' instance in the builder function with a unique ad object.\n' - ' Make sure you are not using the same ad object in more than one\n' - ' AdWidget.\n' - '', - ); - } - }); - - testWidgets( - 'ad objects can be reused if the widget holding the object is disposed', - (WidgetTester tester) async { - final NativeAd ad = NativeAd( - adUnitId: 'test-ad-unit', - factoryId: '0', - listener: NativeAdListener(), - request: AdRequest(), - ); - await ad.load(); - final AdWidget widget = AdWidget(ad: ad); - try { - await tester.pumpWidget( - Directionality( - textDirection: TextDirection.ltr, - child: SizedBox(width: 100, height: 100, child: widget), - ), - ); - - await tester.pumpWidget(Container()); - - await tester.pumpWidget( - Directionality( - textDirection: TextDirection.ltr, - child: SizedBox(width: 100, height: 100, child: widget), - ), - ); - } finally { - expect(tester.takeException(), isNull); - } - }, - ); - - test('load show rewarded', () async { - RewardedAd? rewarded; - AdRequest request = AdRequest(); - await RewardedAd.load( - adUnitId: 'test-ad-unit', - request: request, - rewardedAdLoadCallback: RewardedAdLoadCallback( - onAdLoaded: (ad) { - rewarded = ad; - }, - onAdFailedToLoad: (error) => null, - ), - ); - - RewardedAd createdAd = instanceManager.adFor(0) as RewardedAd; - (createdAd).rewardedAdLoadCallback.onAdLoaded(createdAd); - - expect(log, [ - isMethodCall( - 'loadRewardedAd', - arguments: { - 'adId': 0, - 'adUnitId': 'test-ad-unit', - 'request': request, - 'adManagerRequest': null, - }, - ), - ]); - - expect(instanceManager.adFor(0), isNotNull); - expect(rewarded, createdAd); - - log.clear(); - await rewarded!.show(onUserEarnedReward: (ad, reward) => null); - expect(log, [ - isMethodCall( - 'showAdWithoutView', - arguments: {'adId': 0}, - ), - ]); - }); - - test('load show rewarded with $AdManagerAdRequest', () async { - RewardedAd? rewarded; - AdManagerAdRequest request = AdManagerAdRequest(); - await RewardedAd.loadWithAdManagerAdRequest( - adUnitId: 'test-ad-unit', - adManagerRequest: request, - rewardedAdLoadCallback: RewardedAdLoadCallback( - onAdLoaded: (ad) { - rewarded = ad; - }, - onAdFailedToLoad: (error) => null, - ), - ); - - RewardedAd createdAd = instanceManager.adFor(0) as RewardedAd; - (createdAd).rewardedAdLoadCallback.onAdLoaded(createdAd); - - expect(log, [ - isMethodCall( - 'loadRewardedAd', - arguments: { - 'adId': 0, - 'adUnitId': 'test-ad-unit', - 'request': null, - 'adManagerRequest': request, - }, - ), - ]); - - expect(instanceManager.adFor(0), isNotNull); - - log.clear(); - await rewarded!.show(onUserEarnedReward: (ad, reward) => null); - expect(log, [ - isMethodCall( - 'showAdWithoutView', - arguments: {'adId': 0}, - ), - ]); - }); - - test('load show interstitial', () async { - InterstitialAd? interstitial; - await InterstitialAd.load( - adUnitId: 'test-ad-unit', - request: AdRequest(), - adLoadCallback: InterstitialAdLoadCallback( - onAdLoaded: (ad) { - interstitial = ad; - }, - onAdFailedToLoad: (error) => null, - ), - ); - - InterstitialAd createdAd = (instanceManager.adFor(0) as InterstitialAd); - (createdAd).adLoadCallback.onAdLoaded(createdAd); - - expect(log, [ - isMethodCall( - 'loadInterstitialAd', - arguments: { - 'adId': 0, - 'adUnitId': 'test-ad-unit', - 'request': interstitial!.request, - }, - ), - ]); - - expect(instanceManager.adFor(0), isNotNull); - - log.clear(); - await interstitial!.show(); - expect(log, [ - isMethodCall( - 'showAdWithoutView', - arguments: {'adId': 0}, - ), - ]); - }); - - test('load show ad manager interstitial', () async { - AdManagerInterstitialAd? interstitial; - await AdManagerInterstitialAd.load( - adUnitId: 'test-id', - request: AdManagerAdRequest(), - adLoadCallback: AdManagerInterstitialAdLoadCallback( - onAdLoaded: (ad) { - interstitial = ad; - }, - onAdFailedToLoad: (error) => null, - ), - ); - - AdManagerInterstitialAd createdAd = - (instanceManager.adFor(0) as AdManagerInterstitialAd); - (createdAd).adLoadCallback.onAdLoaded(createdAd); - - expect(log, [ - isMethodCall( - 'loadAdManagerInterstitialAd', - arguments: { - 'adId': 0, - 'adUnitId': 'test-id', - 'request': interstitial!.request, - }, - ), - ]); - - expect(instanceManager.adFor(0), isNotNull); - - log.clear(); - await interstitial!.show(); - expect(log, [ - isMethodCall( - 'showAdWithoutView', - arguments: {'adId': 0}, - ), - ]); - }); - - test('onAdFailedToLoad interstitial', () async { - final Completer resultsCompleter = Completer(); - final AdRequest request = AdRequest(); - await InterstitialAd.load( - adUnitId: 'test-ad-unit', - request: request, - adLoadCallback: InterstitialAdLoadCallback( - onAdLoaded: (ad) => null, - onAdFailedToLoad: (error) => resultsCompleter.complete(error), - ), - ); - - expect(log, [ - isMethodCall( - 'loadInterstitialAd', - arguments: { - 'adId': 0, - 'adUnitId': 'test-ad-unit', - 'request': request, - }, - ), - ]); - - expect(instanceManager.adFor(0), isNotNull); - - // Simulate onAdFailedToLoad. - AdError adError = AdError(1, 'domain', 'error-message'); - AdapterResponseInfo adapterResponseInfo = AdapterResponseInfo( - adapterClassName: 'adapter-name', - latencyMillis: 500, - description: 'message', - adUnitMapping: {'key': 'value'}, - adError: adError, - adSourceName: 'adSourceName', - adSourceId: 'adSourceId', - adSourceInstanceName: 'adSourceInstanceName', - adSourceInstanceId: 'adSourceInstanceId', - ); - - List adapterResponses = [adapterResponseInfo]; - ResponseInfo responseInfo = ResponseInfo( - responseId: 'id', - mediationAdapterClassName: 'className', - adapterResponses: adapterResponses, - responseExtras: {'key1': 'value1'}, - ); - - final MethodCall methodCall = MethodCall('onAdEvent', { - 'adId': 0, - 'eventName': 'onAdFailedToLoad', - 'loadAdError': LoadAdError(1, 'domain', 'message', responseInfo), - }); - - final ByteData data = instanceManager.channel.codec.encodeMethodCall( - methodCall, - ); - - await handlePlatformMessage(data); - - // The ad reference should be freed when load failure occurs. - expect(instanceManager.adFor(0), isNull); - - // Check that load error matches. - final LoadAdError result = await resultsCompleter.future; - expect(result.code, 1); - expect(result.domain, 'domain'); - expect(result.message, 'message'); - expect(result.responseInfo!.responseId, responseInfo.responseId); - expect( - result.responseInfo!.mediationAdapterClassName, - responseInfo.mediationAdapterClassName, - ); - expect(result.responseInfo!.responseExtras, responseInfo.responseExtras); - List responses = - result.responseInfo!.adapterResponses!; - expect(responses.first.adapterClassName, 'adapter-name'); - expect(responses.first.latencyMillis, 500); - expect(responses.first.description, 'message'); - expect(responses.first.adUnitMapping, {'key': 'value'}); - expect(responses.first.adError!.code, 1); - expect(responses.first.adError!.message, 'error-message'); - expect(responses.first.adError!.domain, 'domain'); - }); - - test('onAdFailedToLoad ad manager interstitial', () async { - final Completer resultsCompleter = Completer(); - final AdManagerAdRequest request = AdManagerAdRequest(); - await AdManagerInterstitialAd.load( - adUnitId: 'test-ad-unit', - request: request, - adLoadCallback: AdManagerInterstitialAdLoadCallback( - onAdLoaded: (ad) => null, - onAdFailedToLoad: (error) => resultsCompleter.complete(error), - ), - ); - - expect(log, [ - isMethodCall( - 'loadAdManagerInterstitialAd', - arguments: { - 'adId': 0, - 'adUnitId': 'test-ad-unit', - 'request': request, - }, - ), - ]); - - expect(instanceManager.adFor(0), isNotNull); - - // Simulate onAdFailedToLoad. - AdError adError = AdError(1, 'domain', 'error-message'); - AdapterResponseInfo adapterResponseInfo = AdapterResponseInfo( - adapterClassName: 'adapter-name', - latencyMillis: 500, - description: 'message', - adUnitMapping: {'key': 'value'}, - adError: adError, - adSourceName: 'adSourceName', - adSourceId: 'adSourceId', - adSourceInstanceName: 'adSourceInstanceName', - adSourceInstanceId: 'adSourceInstanceId', - ); - - List adapterResponses = [adapterResponseInfo]; - ResponseInfo responseInfo = ResponseInfo( - responseId: 'id', - mediationAdapterClassName: 'className', - adapterResponses: adapterResponses, - responseExtras: {}, - ); - - final MethodCall methodCall = MethodCall('onAdEvent', { - 'adId': 0, - 'eventName': 'onAdFailedToLoad', - 'loadAdError': LoadAdError(1, 'domain', 'message', responseInfo), - }); - - final ByteData data = instanceManager.channel.codec.encodeMethodCall( - methodCall, - ); - await handlePlatformMessage(data); - // The ad reference should be freed when load failure occurs. - expect(instanceManager.adFor(0), isNull); - - // Check that load error matches. - final LoadAdError result = await resultsCompleter.future; - expect(result.code, 1); - expect(result.domain, 'domain'); - expect(result.message, 'message'); - expect(result.responseInfo!.responseId, responseInfo.responseId); - expect( - result.responseInfo!.mediationAdapterClassName, - responseInfo.mediationAdapterClassName, - ); - expect(result.responseInfo!.responseExtras, responseInfo.responseExtras); - List responses = - result.responseInfo!.adapterResponses!; - expect(responses.first.adapterClassName, 'adapter-name'); - expect(responses.first.latencyMillis, 500); - expect(responses.first.description, 'message'); - expect(responses.first.adUnitMapping, {'key': 'value'}); - expect(responses.first.adError!.code, 1); - expect(responses.first.adError!.message, 'error-message'); - expect(responses.first.adError!.domain, 'domain'); - }); - - test('onAdFailedToLoad rewarded', () async { - final Completer resultsCompleter = Completer(); - final AdRequest request = AdRequest(); - await RewardedAd.load( - adUnitId: 'test-ad-unit', - request: request, - rewardedAdLoadCallback: RewardedAdLoadCallback( - onAdLoaded: (ad) => null, - onAdFailedToLoad: (error) => resultsCompleter.complete(error), - ), - ); - - expect(log, [ - isMethodCall( - 'loadRewardedAd', - arguments: { - 'adId': 0, - 'adUnitId': 'test-ad-unit', - 'request': request, - 'adManagerRequest': null, - }, - ), - ]); - - expect(instanceManager.adFor(0), isNotNull); - - // Simulate onAdFailedToLoad. - AdError adError = AdError(1, 'domain', 'error-message'); - AdapterResponseInfo adapterResponseInfo = AdapterResponseInfo( - adapterClassName: 'adapter-name', - latencyMillis: 500, - description: 'message', - adUnitMapping: {'key': 'value'}, - adError: adError, - adSourceName: 'adSourceName', - adSourceId: 'adSourceId', - adSourceInstanceName: 'adSourceInstanceName', - adSourceInstanceId: 'adSourceInstanceId', - ); - - List adapterResponses = [adapterResponseInfo]; - ResponseInfo responseInfo = ResponseInfo( - responseId: 'id', - mediationAdapterClassName: 'className', - adapterResponses: adapterResponses, - responseExtras: {'key1': 1234}, - ); - - final MethodCall methodCall = MethodCall('onAdEvent', { - 'adId': 0, - 'eventName': 'onAdFailedToLoad', - 'loadAdError': LoadAdError(1, 'domain', 'message', responseInfo), - }); - - final ByteData data = instanceManager.channel.codec.encodeMethodCall( - methodCall, - ); - - await handlePlatformMessage(data); - - // The ad reference should be freed when load failure occurs. - expect(instanceManager.adFor(0), isNull); - - // Check that load error matches. - final LoadAdError result = await resultsCompleter.future; - expect(result.code, 1); - expect(result.domain, 'domain'); - expect(result.message, 'message'); - expect(result.responseInfo!.responseId, responseInfo.responseId); - expect( - result.responseInfo!.mediationAdapterClassName, - responseInfo.mediationAdapterClassName, - ); - expect(result.responseInfo!.responseExtras, responseInfo.responseExtras); - List responses = - result.responseInfo!.adapterResponses!; - expect(responses.first.adapterClassName, 'adapter-name'); - expect(responses.first.latencyMillis, 500); - expect(responses.first.description, 'message'); - expect(responses.first.adUnitMapping, {'key': 'value'}); - expect(responses.first.adError!.code, 1); - expect(responses.first.adError!.message, 'error-message'); - expect(responses.first.adError!.domain, 'domain'); - }); - - test('onNativeAdImpression', () async { - final Completer adEventCompleter = Completer(); - - final NativeAd native = NativeAd( - adUnitId: 'test-ad-unit', - factoryId: 'testId', - listener: NativeAdListener( - onAdImpression: (Ad ad) => adEventCompleter.complete(ad), - ), - request: AdRequest(), - ); - - await native.load(); - - final MethodCall methodCall = MethodCall('onAdEvent', { - 'adId': 0, - 'eventName': 'onAdImpression', - }); - - final ByteData data = instanceManager.channel.codec.encodeMethodCall( - methodCall, - ); - - await handlePlatformMessage(data); - - expect(adEventCompleter.future, completion(native)); - }); - - test('AdapterResponseInfo encoding', () async { - var testAdapterResponseInfo = (adId) async { - final Completer loadCompleter = Completer(); - - AdRequest request = AdRequest(); - await RewardedAd.load( - adUnitId: 'test-ad-unit', - request: request, - rewardedAdLoadCallback: RewardedAdLoadCallback( - onAdLoaded: (ad) { - loadCompleter.complete(ad); - }, - onAdFailedToLoad: (error) => null, - ), - ); - - AdapterResponseInfo adapterResponseInfo = AdapterResponseInfo( - adapterClassName: 'adapter-name', - latencyMillis: 500, - description: 'message', - adUnitMapping: {'key': 'value'}, - adSourceName: 'adSourceName', - adSourceId: 'adSourceId', - adSourceInstanceName: 'adSourceInstanceName', - adSourceInstanceId: 'adSourceInstanceId', - ); - final loadedAdapterResponseInfo = AdapterResponseInfo( - adapterClassName: 'adapter-name', - latencyMillis: 500, - description: 'message', - adUnitMapping: {'key': 'value'}, - adSourceName: 'adSourceName', - adSourceId: 'adSourceId', - adSourceInstanceName: 'adSourceInstanceName', - adSourceInstanceId: 'adSourceInstanceId', - ); - - final responseInfo = ResponseInfo( - mediationAdapterClassName: 'adapter', - adapterResponses: [adapterResponseInfo], - responseId: 'id', - loadedAdapterResponseInfo: loadedAdapterResponseInfo, - responseExtras: {}, - ); - final methodCall = MethodCall('onAdEvent', { - 'adId': adId, - 'eventName': 'onAdLoaded', - 'responseInfo': responseInfo, - }); - - ByteData data = instanceManager.channel.codec.encodeMethodCall( - methodCall, - ); - - await handlePlatformMessage(data); - final ad = await loadCompleter.future; - - expect(ad.responseInfo!.mediationAdapterClassName!, 'adapter'); - expect(ad.responseInfo!.responseId!, 'id'); - expect(ad.responseInfo!.responseExtras, responseInfo.responseExtras); - final adapterResponse = ad.responseInfo!.adapterResponses!.first; - expect(adapterResponse.adapterClassName, 'adapter-name'); - expect(adapterResponse.latencyMillis, 500); - expect(adapterResponse.description, 'message'); - expect(adapterResponse.adUnitMapping, {'key': 'value'}); - expect(adapterResponse.adSourceName, 'adSourceName'); - expect(adapterResponse.adSourceId, 'adSourceId'); - expect(adapterResponse.adSourceInstanceName, 'adSourceInstanceName'); - expect(adapterResponse.adSourceInstanceId, 'adSourceInstanceId'); - final loadedResponse = ad.responseInfo!.loadedAdapterResponseInfo!; - expect(loadedResponse.adapterClassName, 'adapter-name'); - expect(loadedResponse.latencyMillis, 500); - expect(loadedResponse.description, 'message'); - expect(loadedResponse.adUnitMapping, {'key': 'value'}); - expect(loadedResponse.adSourceName, 'adSourceName'); - expect(loadedResponse.adSourceId, 'adSourceId'); - expect(loadedResponse.adSourceInstanceName, 'adSourceInstanceName'); - expect(loadedResponse.adSourceInstanceId, 'adSourceInstanceId'); - }; - debugDefaultTargetPlatformOverride = TargetPlatform.iOS; - await testAdapterResponseInfo(0); - - debugDefaultTargetPlatformOverride = TargetPlatform.android; - await testAdapterResponseInfo(1); - }); - - test('onRewardedAdUserEarnedReward', () async { - final Completer> resultCompleter = - Completer>(); - - RewardedAd? rewarded; - await RewardedAd.load( - adUnitId: 'test-ad-unit', - request: AdRequest(), - rewardedAdLoadCallback: RewardedAdLoadCallback( - onAdLoaded: (ad) { - rewarded = ad; - }, - onAdFailedToLoad: (error) => null, - ), - ); - - RewardedAd createdAd = instanceManager.adFor(0) as RewardedAd; - createdAd.rewardedAdLoadCallback.onAdLoaded(createdAd); - // Reward callback is now set when you call show. - await rewarded!.show( - onUserEarnedReward: (ad, item) => - resultCompleter.complete([ad, item]), - ); - - final MethodCall methodCall = MethodCall('onAdEvent', { - 'adId': 0, - 'eventName': 'onRewardedAdUserEarnedReward', - 'rewardItem': RewardItem(1, 'one'), - }); - - final ByteData data = instanceManager.channel.codec.encodeMethodCall( - methodCall, - ); - - await handlePlatformMessage(data); - - final List result = await resultCompleter.future; - expect(result[0], rewarded!); - expect(result[1].amount, 1); - expect(result[1].type, 'one'); - }); - - test('onPaidEvent', () async { - Completer> resultCompleter = Completer>(); - - final BannerAd banner = BannerAd( - adUnitId: 'test-ad-unit', - size: AdSize.banner, - listener: BannerAdListener( - onPaidEvent: (Ad ad, double value, precision, String currencyCode) => - resultCompleter.complete([ - ad, - value, - precision, - currencyCode, - ]), - ), - request: AdRequest(), - ); - - await banner.load(); - - // Check precision type: unknown - MethodCall methodCall = MethodCall('onAdEvent', { - 'adId': 0, - 'eventName': 'onPaidEvent', - 'valueMicros': 1.2345, - 'precision': 0, - 'currencyCode': 'USD', - }); - - ByteData data = instanceManager.channel.codec.encodeMethodCall( - methodCall, - ); - - await handlePlatformMessage(data); - - List result = await resultCompleter.future; - expect(result[0], banner); - expect(result[1], 1.2345); - expect(result[2], PrecisionType.unknown); - expect(result[3], 'USD'); - - // Unknown precision outside 0-3 range. - resultCompleter = Completer>(); - methodCall = MethodCall('onAdEvent', { - 'adId': 0, - 'eventName': 'onPaidEvent', - 'valueMicros': 1.2345, - 'precision': 9999, - 'currencyCode': 'USD', - }); - data = instanceManager.channel.codec.encodeMethodCall(methodCall); - await handlePlatformMessage( - instanceManager.channel.codec.encodeMethodCall(methodCall), - ); - result = await resultCompleter.future; - expect(result[2], PrecisionType.unknown); - - // Check precision type: estimated. - // Also check that callback is invoked successfully for int valueMicros. - resultCompleter = Completer>(); - methodCall = MethodCall('onAdEvent', { - 'adId': 0, - 'eventName': 'onPaidEvent', - 'valueMicros': 12345, // int - 'precision': 1, - 'currencyCode': 'USD', - }); - data = instanceManager.channel.codec.encodeMethodCall(methodCall); - await handlePlatformMessage( - instanceManager.channel.codec.encodeMethodCall(methodCall), - ); - result = await resultCompleter.future; - expect(result[1], 12345); - expect(result[2], PrecisionType.estimated); - - // Check precision type: publisherProvided. - resultCompleter = Completer>(); - methodCall = MethodCall('onAdEvent', { - 'adId': 0, - 'eventName': 'onPaidEvent', - 'valueMicros': 1.2345, - 'precision': 2, - 'currencyCode': 'USD', - }); - data = instanceManager.channel.codec.encodeMethodCall(methodCall); - await handlePlatformMessage(data); - - result = await resultCompleter.future; - expect(result[2], PrecisionType.publisherProvided); - - // Check precision type: precise. - resultCompleter = Completer>(); - methodCall = MethodCall('onAdEvent', { - 'adId': 0, - 'eventName': 'onPaidEvent', - 'valueMicros': 1.2345, - 'precision': 3, - 'currencyCode': 'USD', - }); - data = instanceManager.channel.codec.encodeMethodCall(methodCall); - await handlePlatformMessage(data); - - result = await resultCompleter.future; - expect(result[2], PrecisionType.precise); - }); - - test('encode/decode AdSize', () async { - final ByteData byteData = codec.encodeMessage(AdSize.banner)!; - expect(codec.decodeMessage(byteData), AdSize.banner); - }); - - test('encode/decode AdRequest Android', () async { - debugDefaultTargetPlatformOverride = TargetPlatform.android; - - final AdRequest adRequest = AdRequest( - keywords: ['1', '2', '3'], - contentUrl: 'contentUrl', - nonPersonalizedAds: false, - neighboringContentUrls: ['url1.com', 'url2.com'], - httpTimeoutMillis: 12345, - mediationExtrasIdentifier: 'identifier', - extras: {'key': 'value'}, - ); - - final AdRequest decodedRequest = AdRequest( - keywords: ['1', '2', '3'], - contentUrl: 'contentUrl', - nonPersonalizedAds: false, - neighboringContentUrls: ['url1.com', 'url2.com'], - httpTimeoutMillis: 12345, - mediationExtrasIdentifier: 'identifier', - extras: {'key': 'value'}, - ); - final ByteData byteData = codec.encodeMessage(adRequest)!; - expect(codec.decodeMessage(byteData), decodedRequest); - }); - - test('encode/decode AdRequest iOS', () async { - debugDefaultTargetPlatformOverride = TargetPlatform.iOS; - - final AdRequest adRequest = AdRequest( - keywords: ['1', '2', '3'], - contentUrl: 'contentUrl', - nonPersonalizedAds: false, - neighboringContentUrls: ['url1.com', 'url2.com'], - httpTimeoutMillis: 12345, - mediationExtrasIdentifier: 'identifier', - extras: {'key': 'value'}, - ); - - final ByteData byteData = codec.encodeMessage(adRequest)!; - AdRequest decoded = codec.decodeMessage(byteData); - expect(decoded.httpTimeoutMillis, null); - expect(decoded.neighboringContentUrls, adRequest.neighboringContentUrls); - expect(decoded.contentUrl, adRequest.contentUrl); - expect(decoded.nonPersonalizedAds, adRequest.nonPersonalizedAds); - expect(decoded.keywords, adRequest.keywords); - expect(decoded.mediationExtrasIdentifier, 'identifier'); - }); - - test('encode/decode $LoadAdError', () async { - final ResponseInfo responseInfo = ResponseInfo( - responseId: 'id', - mediationAdapterClassName: 'class', - adapterResponses: null, - responseExtras: {}, - ); - final ByteData byteData = codec.encodeMessage( - LoadAdError(1, 'domain', 'message', responseInfo), - )!; - final LoadAdError error = codec.decodeMessage(byteData); - expect(error.code, 1); - expect(error.domain, 'domain'); - expect(error.message, 'message'); - expect(error.responseInfo?.responseId, responseInfo.responseId); - expect(error.responseInfo?.responseExtras, responseInfo.responseExtras); - expect( - error.responseInfo?.mediationAdapterClassName, - responseInfo.mediationAdapterClassName, - ); - expect(error.responseInfo?.adapterResponses, null); - }); - - test('encode/decode $RewardItem', () async { - final ByteData byteData = codec.encodeMessage(RewardItem(1, 'type'))!; - - final RewardItem result = codec.decodeMessage(byteData); - expect(result.amount, 1); - expect(result.type, 'type'); - }); - - test('encode/decode $InlineAdaptiveSize', () async { - ByteData byteData = codec.encodeMessage( - AdSize.getCurrentOrientationInlineAdaptiveBannerAdSize(100), - )!; - - InlineAdaptiveSize result = codec.decodeMessage(byteData); - expect(result.orientation, null); - expect(result.width, 100); - expect(result.maxHeight, null); - expect(result.height, 0); - - byteData = codec.encodeMessage( - AdSize.getPortraitInlineAdaptiveBannerAdSize(200), - )!; - - result = codec.decodeMessage(byteData); - expect(result.orientation, Orientation.portrait); - expect(result.width, 200); - expect(result.maxHeight, null); - expect(result.height, 0); - - byteData = codec.encodeMessage( - AdSize.getLandscapeInlineAdaptiveBannerAdSize(20), - )!; - - result = codec.decodeMessage(byteData); - expect(result.orientation, Orientation.landscape); - expect(result.width, 20); - expect(result.maxHeight, null); - expect(result.height, 0); - - byteData = codec.encodeMessage( - AdSize.getInlineAdaptiveBannerAdSize(20, 50), - )!; - - result = codec.decodeMessage(byteData); - expect(result.orientation, null); - expect(result.width, 20); - expect(result.maxHeight, 50); - expect(result.height, 0); - }); - - test('encode/decode $AnchoredAdaptiveBannerAdSize', () async { - final ByteData byteDataPortrait = codec.encodeMessage( - AnchoredAdaptiveBannerAdSize( - Orientation.portrait, - width: 23, - height: 34, - ), - )!; - - final AnchoredAdaptiveBannerAdSize resultPortrait = codec.decodeMessage( - byteDataPortrait, - ); - expect(resultPortrait.orientation, Orientation.portrait); - expect(resultPortrait.width, 23); - expect(resultPortrait.height, -1); - - final ByteData byteDataLandscape = codec.encodeMessage( - AnchoredAdaptiveBannerAdSize( - Orientation.landscape, - width: 34, - height: 23, - ), - )!; - - final AnchoredAdaptiveBannerAdSize resultLandscape = codec.decodeMessage( - byteDataLandscape, - ); - expect(resultLandscape.orientation, Orientation.landscape); - expect(resultLandscape.width, 34); - expect(resultLandscape.height, -1); - - final ByteData byteData = codec.encodeMessage( - AnchoredAdaptiveBannerAdSize(null, width: 45, height: 34), - )!; - - final AnchoredAdaptiveBannerAdSize result = codec.decodeMessage(byteData); - expect(result.orientation, null); - expect(result.width, 45); - expect(result.height, -1); - }); - - test('encode/decode $SmartBannerAdSize', () async { - debugDefaultTargetPlatformOverride = TargetPlatform.iOS; - final ByteData byteData = codec.encodeMessage( - SmartBannerAdSize(Orientation.portrait), - )!; - - final SmartBannerAdSize result = codec.decodeMessage(byteData); - expect(result.orientation, Orientation.portrait); - - debugDefaultTargetPlatformOverride = TargetPlatform.android; - final WriteBuffer expectedBuffer = WriteBuffer(); - expectedBuffer.putUint8(143); - - final WriteBuffer actualBuffer = WriteBuffer(); - codec.writeAdSize(actualBuffer, SmartBannerAdSize(Orientation.portrait)); - expect( - expectedBuffer.done().buffer.asInt8List(), - actualBuffer.done().buffer.asInt8List(), - ); - }); - - test('encode/decode $FluidAdSize', () async { - debugDefaultTargetPlatformOverride = TargetPlatform.iOS; - final ByteData byteData = codec.encodeMessage(FluidAdSize())!; - - final FluidAdSize result = codec.decodeMessage(byteData); - expect(result.width, -3); - expect(result.height, -3); - - debugDefaultTargetPlatformOverride = TargetPlatform.android; - final WriteBuffer expectedBuffer = WriteBuffer(); - expectedBuffer.putUint8(130); - - final WriteBuffer actualBuffer = WriteBuffer(); - codec.writeAdSize(actualBuffer, FluidAdSize()); - expect( - expectedBuffer.done().buffer.asInt8List(), - actualBuffer.done().buffer.asInt8List(), - ); - }); - - test('encode/decode $AdManagerAdRequest Android', () async { - debugDefaultTargetPlatformOverride = TargetPlatform.android; - final AdManagerAdRequest request = AdManagerAdRequest( - keywords: ['who'], - contentUrl: 'dat', - customTargeting: {'boy': 'who'}, - customTargetingLists: >{ - 'him': ['is'], - }, - nonPersonalizedAds: true, - neighboringContentUrls: ['url1.com', 'url2.com'], - httpTimeoutMillis: 5000, - publisherProvidedId: 'test-pub-id', - mediationExtrasIdentifier: 'identifier', - extras: {'key': 'value'}, - ); - final ByteData byteData = codec.encodeMessage(request)!; - - final AdManagerAdRequest decodedRequest = AdManagerAdRequest( - keywords: ['who'], - contentUrl: 'dat', - customTargeting: {'boy': 'who'}, - customTargetingLists: >{ - 'him': ['is'], - }, - nonPersonalizedAds: true, - neighboringContentUrls: ['url1.com', 'url2.com'], - httpTimeoutMillis: 5000, - publisherProvidedId: 'test-pub-id', - mediationExtrasIdentifier: 'identifier', - extras: {'key': 'value'}, - ); - expect(codec.decodeMessage(byteData), decodedRequest); - }); - - test('encode/decode $AdManagerAdRequest iOS', () async { - debugDefaultTargetPlatformOverride = TargetPlatform.iOS; - - final AdManagerAdRequest request = AdManagerAdRequest( - keywords: ['who'], - contentUrl: 'dat', - customTargeting: {'boy': 'who'}, - customTargetingLists: >{ - 'him': ['is'], - }, - nonPersonalizedAds: true, - neighboringContentUrls: ['url1.com', 'url2.com'], - httpTimeoutMillis: 5000, - publisherProvidedId: 'test-pub-id', - mediationExtrasIdentifier: 'identifier', - extras: {'key': 'value'}, - ); - - final ByteData byteData = codec.encodeMessage(request)!; - AdManagerAdRequest decoded = codec.decodeMessage(byteData); - expect(decoded.httpTimeoutMillis, null); - expect(decoded.neighboringContentUrls, request.neighboringContentUrls); - expect(decoded.contentUrl, request.contentUrl); - expect(decoded.nonPersonalizedAds, request.nonPersonalizedAds); - expect(decoded.keywords, request.keywords); - expect(decoded.publisherProvidedId, request.publisherProvidedId); - expect(decoded.customTargeting, request.customTargeting); - expect(decoded.customTargetingLists, request.customTargetingLists); - expect(decoded.mediationExtrasIdentifier, 'identifier'); - }); - - test('ad click native', () async { - var testNativeClick = (eventName, adId) async { - final Completer adClickCompleter = Completer(); - - final NativeAd native = NativeAd( - adUnitId: 'test-ad-unit', - factoryId: 'testId', - listener: NativeAdListener( - onAdClicked: (ad) => adClickCompleter.complete(ad), - ), - request: AdRequest(), - ); - - await native.load(); - - final MethodCall methodCall = MethodCall( - 'onAdEvent', - {'adId': adId, 'eventName': eventName}, - ); - - final ByteData data = instanceManager.channel.codec.encodeMethodCall( - methodCall, - ); - await handlePlatformMessage(data); - - expect(adClickCompleter.future, completion(native)); - }; - - debugDefaultTargetPlatformOverride = TargetPlatform.iOS; - await testNativeClick('adDidRecordClick', 0); - - debugDefaultTargetPlatformOverride = TargetPlatform.android; - await testNativeClick('onAdClicked', 1); - }); - - test('ad click rewarded', () async { - var testRewardedClick = (eventName, adId) async { - final Completer adClickCompleter = Completer(); - - // Load an ad - RewardedAd? rewarded; - AdRequest request = AdRequest(); - await RewardedAd.load( - adUnitId: 'test-ad-unit', - request: request, - rewardedAdLoadCallback: RewardedAdLoadCallback( - onAdLoaded: (ad) { - rewarded = ad; - ad.fullScreenContentCallback = FullScreenContentCallback( - onAdClicked: (ad) => adClickCompleter.complete(ad), - ); - }, - onAdFailedToLoad: (error) => null, - ), - ); - - MethodCall methodCall = MethodCall('onAdEvent', { - 'adId': adId, - 'eventName': 'onAdLoaded', - }); - - ByteData data = instanceManager.channel.codec.encodeMethodCall( - methodCall, - ); - await handlePlatformMessage(data); - - // Handle adDidRecordClick method call - methodCall = MethodCall('onAdEvent', { - 'adId': adId, - 'eventName': eventName, - }); - - data = instanceManager.channel.codec.encodeMethodCall(methodCall); - await handlePlatformMessage(data); - - expect(adClickCompleter.future, completion(rewarded!)); - }; - - debugDefaultTargetPlatformOverride = TargetPlatform.iOS; - await testRewardedClick('adDidRecordClick', 0); - - debugDefaultTargetPlatformOverride = TargetPlatform.android; - await testRewardedClick('onAdClicked', 1); - }); - - test('ad click interstitial', () async { - var testClick = (eventName, adId) async { - final Completer adClickCompleter = Completer(); - - // Load an ad - InterstitialAd? interstitialAd; - AdRequest request = AdRequest(); - await InterstitialAd.load( - adUnitId: 'test-ad-unit', - request: request, - adLoadCallback: InterstitialAdLoadCallback( - onAdLoaded: (ad) { - interstitialAd = ad; - ad.fullScreenContentCallback = FullScreenContentCallback( - onAdClicked: (ad) => adClickCompleter.complete(ad), - ); - }, - onAdFailedToLoad: (error) => null, - ), - ); - - MethodCall methodCall = MethodCall('onAdEvent', { - 'adId': adId, - 'eventName': 'onAdLoaded', - }); - - ByteData data = instanceManager.channel.codec.encodeMethodCall( - methodCall, - ); - await handlePlatformMessage(data); - - // Handle adDidRecordClick method call - methodCall = MethodCall('onAdEvent', { - 'adId': adId, - 'eventName': eventName, - }); - - data = instanceManager.channel.codec.encodeMethodCall(methodCall); - await handlePlatformMessage(data); - - expect(adClickCompleter.future, completion(interstitialAd!)); - }; - - debugDefaultTargetPlatformOverride = TargetPlatform.iOS; - await testClick('adDidRecordClick', 0); - - debugDefaultTargetPlatformOverride = TargetPlatform.android; - await testClick('onAdClicked', 1); - }); - - test('ad click interstitial', () async { - var testClick = (eventName, adId) async { - final Completer adClickCompleter = Completer(); - - // Load an ad - InterstitialAd? interstitialAd; - AdRequest request = AdRequest(); - await InterstitialAd.load( - adUnitId: 'test-ad-unit', - request: request, - adLoadCallback: InterstitialAdLoadCallback( - onAdLoaded: (ad) { - interstitialAd = ad; - ad.fullScreenContentCallback = FullScreenContentCallback( - onAdClicked: (ad) => adClickCompleter.complete(ad), - ); - }, - onAdFailedToLoad: (error) => null, - ), - ); - - MethodCall methodCall = MethodCall('onAdEvent', { - 'adId': adId, - 'eventName': 'onAdLoaded', - }); - - ByteData data = instanceManager.channel.codec.encodeMethodCall( - methodCall, - ); - await handlePlatformMessage(data); - - // Handle adDidRecordClick method call - methodCall = MethodCall('onAdEvent', { - 'adId': adId, - 'eventName': eventName, - }); - - data = instanceManager.channel.codec.encodeMethodCall(methodCall); - await handlePlatformMessage(data); - - expect(adClickCompleter.future, completion(interstitialAd!)); - }; - - debugDefaultTargetPlatformOverride = TargetPlatform.iOS; - await testClick('adDidRecordClick', 0); - - debugDefaultTargetPlatformOverride = TargetPlatform.android; - await testClick('onAdClicked', 1); - }); - }); -} diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/test/admanager_banner_ad_test.dart b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/test/admanager_banner_ad_test.dart deleted file mode 100644 index b2fdaa14..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/test/admanager_banner_ad_test.dart +++ /dev/null @@ -1,360 +0,0 @@ -// Copyright 2021 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -import 'dart:async'; - -import 'package:flutter/foundation.dart'; -import 'package:flutter/services.dart'; -import 'package:flutter_test/flutter_test.dart'; -import 'package:google_mobile_ads/google_mobile_ads.dart'; -import 'package:google_mobile_ads/src/ad_instance_manager.dart'; -import 'test_util.dart'; - -// ignore_for_file: deprecated_member_use_from_same_package -void main() { - TestWidgetsFlutterBinding.ensureInitialized(); - - group('Ad Manager Banner Ad Tests', () { - final List log = []; - - setUp(() async { - log.clear(); - instanceManager = AdInstanceManager( - 'plugins.flutter.io/google_mobile_ads', - ); - - TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger - .setMockMethodCallHandler(instanceManager.channel, ( - MethodCall methodCall, - ) async { - log.add(methodCall); - switch (methodCall.method) { - case 'loadAdManagerBannerAd': - case 'disposeAd': - return Future.value(); - default: - assert(false); - return null; - } - }); - }); - - test('android loaded events', () async { - debugDefaultTargetPlatformOverride = TargetPlatform.android; - AdManagerAdRequest request = AdManagerAdRequest(); - - // Check that listener callbacks are invoked - Completer loaded = Completer(); - Completer> failedToLoad = Completer>(); - Completer opened = Completer(); - Completer clicked = Completer(); - Completer impression = Completer(); - Completer closed = Completer(); - Completer> paidEvent = Completer>(); - - AdManagerBannerAdListener bannerListener = AdManagerBannerAdListener( - onAdLoaded: (ad) => loaded.complete(ad), - onAdFailedToLoad: (ad, error) => - failedToLoad.complete([ad, error]), - onAdImpression: (ad) => impression.complete(ad), - onPaidEvent: (ad, value, precision, currency) => - paidEvent.complete([ad, value, precision, currency]), - onAdClicked: (ad) => clicked.complete(ad), - onAdClosed: (ad) => closed.complete(ad), - onAdOpened: (ad) => opened.complete(ad), - ); - - var bannerAd = AdManagerBannerAd( - sizes: [AdSize.banner], - adUnitId: 'ad-unit', - listener: bannerListener, - request: request, - ); - await bannerAd.load(); - - expect(log, [ - isMethodCall( - 'loadAdManagerBannerAd', - arguments: { - 'adId': 0, - 'adUnitId': 'ad-unit', - 'request': request, - 'sizes': [AdSize.banner], - }, - ), - ]); - - // Simulate load callback - await TestUtil.sendAdEvent(0, 'onAdLoaded', instanceManager); - - AdManagerBannerAd createdAd = - instanceManager.adFor(0) as AdManagerBannerAd; - expect(instanceManager.adFor(0), isNotNull); - expect(bannerAd, createdAd); - expect(await loaded.future, bannerAd); - - await TestUtil.sendAdEvent(0, 'onAdImpression', instanceManager); - expect(await impression.future, bannerAd); - - await TestUtil.sendAdEvent(0, 'onAdClicked', instanceManager); - expect(await clicked.future, bannerAd); - - await TestUtil.sendAdEvent(0, 'onAdOpened', instanceManager); - expect(await opened.future, bannerAd); - - await TestUtil.sendAdEvent(0, 'onAdClosed', instanceManager); - expect(await closed.future, bannerAd); - - await TestUtil.sendAdEvent(0, 'onAdClicked', instanceManager); - expect(await clicked.future, bannerAd); - - const paidEventArgs = { - 'valueMicros': 1.2345, - 'precision': 0, - 'currencyCode': 'USD', - }; - await TestUtil.sendAdEvent( - 0, - 'onPaidEvent', - instanceManager, - paidEventArgs, - ); - List paidEventCallback = await paidEvent.future; - expect(paidEventCallback[0], bannerAd); - expect(paidEventCallback[1], 1.2345); - expect(paidEventCallback[2], PrecisionType.unknown); - expect(paidEventCallback[3], 'USD'); - }); - - test('onAdFailedToLoad banner', () async { - var testOnAdFailedToLoad = (adId) async { - final Completer> resultsCompleter = - Completer>(); - - final AdManagerBannerAd banner = AdManagerBannerAd( - adUnitId: 'test-ad-unit', - sizes: [AdSize.banner], - listener: AdManagerBannerAdListener( - onAdFailedToLoad: (Ad ad, LoadAdError error) => - resultsCompleter.complete([ad, error]), - ), - request: AdManagerAdRequest(), - ); - - await banner.load(); - AdError adError = AdError(1, 'domain', 'error-message'); - AdapterResponseInfo adapterResponseInfo = AdapterResponseInfo( - adapterClassName: 'adapter-name', - latencyMillis: 500, - description: 'message', - adUnitMapping: {'key': 'value'}, - adError: adError, - adSourceName: 'adSourceName', - adSourceId: 'adSourceId', - adSourceInstanceName: 'adSourceInstanceName', - adSourceInstanceId: 'adSourceInstanceId', - ); - - List adapterResponses = [adapterResponseInfo]; - ResponseInfo responseInfo = ResponseInfo( - responseId: 'id', - mediationAdapterClassName: 'className', - adapterResponses: adapterResponses, - responseExtras: {'key': 'value'}, - ); - - final MethodCall methodCall = - MethodCall('onAdEvent', { - 'adId': adId, - 'eventName': 'onAdFailedToLoad', - 'loadAdError': LoadAdError(1, 'domain', 'message', responseInfo), - }); - - final ByteData data = instanceManager.channel.codec.encodeMethodCall( - methodCall, - ); - await TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger - .handlePlatformMessage( - 'plugins.flutter.io/google_mobile_ads', - data, - (data) {}, - ); - - final List results = await resultsCompleter.future; - expect(results[0], banner); - expect(results[1].code, 1); - expect(results[1].domain, 'domain'); - expect(results[1].message, 'message'); - expect(results[1].responseInfo.responseId, responseInfo.responseId); - expect( - results[1].responseInfo.mediationAdapterClassName, - responseInfo.mediationAdapterClassName, - ); - expect( - results[1].responseInfo.responseExtras, - responseInfo.responseExtras, - ); - List responses = - results[1].responseInfo.adapterResponses; - expect(responses.first.adapterClassName, 'adapter-name'); - expect(responses.first.latencyMillis, 500); - expect(responses.first.description, 'message'); - expect(responses.first.adUnitMapping, {'key': 'value'}); - expect(responses.first.adError!.code, 1); - expect(responses.first.adError!.message, 'error-message'); - expect(responses.first.adError!.domain, 'domain'); - }; - - debugDefaultTargetPlatformOverride = TargetPlatform.iOS; - await testOnAdFailedToLoad(0); - - debugDefaultTargetPlatformOverride = TargetPlatform.android; - await testOnAdFailedToLoad(1); - }); - - test('ios loaded events', () async { - debugDefaultTargetPlatformOverride = TargetPlatform.iOS; - AdManagerAdRequest request = AdManagerAdRequest(); - - // Check that listener callbacks are invoked - Completer loaded = Completer(); - Completer> failedToLoad = Completer>(); - Completer opened = Completer(); - Completer clicked = Completer(); - Completer impression = Completer(); - Completer closed = Completer(); - Completer willDismiss = Completer(); - Completer> paidEvent = Completer>(); - - AdManagerBannerAdListener bannerListener = AdManagerBannerAdListener( - onAdLoaded: (ad) => loaded.complete(ad), - onAdFailedToLoad: (ad, error) => - failedToLoad.complete([ad, error]), - onAdImpression: (ad) => impression.complete(ad), - onPaidEvent: (ad, value, precision, currency) => - paidEvent.complete([ad, value, precision, currency]), - onAdClicked: (ad) => clicked.complete(ad), - onAdClosed: (ad) => closed.complete(ad), - onAdOpened: (ad) => opened.complete(ad), - onAdWillDismissScreen: (ad) => willDismiss.complete(ad), - ); - - var bannerAd = AdManagerBannerAd( - sizes: [AdSize.banner], - adUnitId: 'ad-unit', - listener: bannerListener, - request: request, - ); - await bannerAd.load(); - - expect(log, [ - isMethodCall( - 'loadAdManagerBannerAd', - arguments: { - 'adId': 0, - 'adUnitId': 'ad-unit', - 'request': request, - 'sizes': [AdSize.banner], - }, - ), - ]); - - // Simulate load callback - await TestUtil.sendAdEvent(0, 'onAdLoaded', instanceManager); - - AdManagerBannerAd createdAd = - instanceManager.adFor(0) as AdManagerBannerAd; - expect(instanceManager.adFor(0), isNotNull); - expect(bannerAd, createdAd); - expect(await loaded.future, bannerAd); - - await TestUtil.sendAdEvent(0, 'onBannerImpression', instanceManager); - expect(await impression.future, bannerAd); - - await TestUtil.sendAdEvent(0, 'adDidRecordClick', instanceManager); - expect(await clicked.future, bannerAd); - - await TestUtil.sendAdEvent( - 0, - 'onBannerWillPresentScreen', - instanceManager, - ); - expect(await opened.future, bannerAd); - - await TestUtil.sendAdEvent( - 0, - 'onBannerDidDismissScreen', - instanceManager, - ); - expect(await closed.future, bannerAd); - - await TestUtil.sendAdEvent( - 0, - 'onBannerWillDismissScreen', - instanceManager, - ); - expect(await willDismiss.future, bannerAd); - - const paidEventArgs = { - 'valueMicros': 1.2345, - 'precision': 0, - 'currencyCode': 'USD', - }; - await TestUtil.sendAdEvent( - 0, - 'onPaidEvent', - instanceManager, - paidEventArgs, - ); - List paidEventCallback = await paidEvent.future; - expect(paidEventCallback[0], bannerAd); - expect(paidEventCallback[1], 1.2345); - expect(paidEventCallback[2], PrecisionType.unknown); - expect(paidEventCallback[3], 'USD'); - }); - - test('dispose banner', () async { - final AdManagerBannerAd banner = AdManagerBannerAd( - adUnitId: 'test-ad-unit', - sizes: [AdSize.banner], - listener: AdManagerBannerAdListener(), - request: AdManagerAdRequest(), - ); - - await banner.load(); - log.clear(); - await banner.dispose(); - expect(log, [ - isMethodCall('disposeAd', arguments: {'adId': 0}), - ]); - - expect(instanceManager.adFor(0), isNull); - expect(instanceManager.adIdFor(banner), isNull); - }); - - test('calling dispose without awaiting load', () { - final AdManagerBannerAd banner = AdManagerBannerAd( - adUnitId: 'test-ad-unit', - sizes: [AdSize.banner], - listener: AdManagerBannerAdListener(), - request: AdManagerAdRequest(), - ); - - banner.load(); - banner.dispose(); - expect(instanceManager.adFor(0), isNull); - expect(instanceManager.adIdFor(banner), isNull); - }); - }); -} diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/test/app_open_test.dart b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/test/app_open_test.dart deleted file mode 100644 index 9b38f01b..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/test/app_open_test.dart +++ /dev/null @@ -1,292 +0,0 @@ -// Copyright 2021 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -import 'dart:async'; - -import 'package:flutter/foundation.dart'; -import 'package:flutter/services.dart'; -import 'package:flutter_test/flutter_test.dart'; -import 'package:google_mobile_ads/google_mobile_ads.dart'; -import 'package:google_mobile_ads/src/ad_instance_manager.dart'; -import 'test_util.dart'; - -// ignore_for_file: deprecated_member_use_from_same_package -void main() { - TestWidgetsFlutterBinding.ensureInitialized(); - - group('App Open Tests', () { - final List log = []; - - setUp(() async { - log.clear(); - instanceManager = AdInstanceManager( - 'plugins.flutter.io/google_mobile_ads', - ); - TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger - .setMockMethodCallHandler(instanceManager.channel, ( - MethodCall methodCall, - ) async { - log.add(methodCall); - switch (methodCall.method) { - case 'loadAppOpenAd': - case 'showAdWithoutView': - case 'disposeAd': - return Future.value(); - default: - assert(false); - return null; - } - }); - }); - - test('load show android', () async { - debugDefaultTargetPlatformOverride = TargetPlatform.android; - AppOpenAd? appOpenAd; - AdRequest request = AdRequest(); - await AppOpenAd.load( - adUnitId: 'test-ad-unit', - request: request, - adLoadCallback: AppOpenAdLoadCallback( - onAdLoaded: (ad) { - appOpenAd = ad; - }, - onAdFailedToLoad: (error) {}, - ), - ); - - expect(log, [ - isMethodCall( - 'loadAppOpenAd', - arguments: { - 'adId': 0, - 'adUnitId': 'test-ad-unit', - 'request': request, - 'adManagerRequest': null, - }, - ), - ]); - - // Simulate load callback - await TestUtil.sendAdEvent(0, 'onAdLoaded', instanceManager); - - AppOpenAd createdAd = instanceManager.adFor(0) as AppOpenAd; - (createdAd).adLoadCallback.onAdLoaded(createdAd); - expect(instanceManager.adFor(0), isNotNull); - expect(appOpenAd, createdAd); - - log.clear(); - - // Show the ad and verify method call. - await appOpenAd!.show(); - expect(log, [ - isMethodCall( - 'showAdWithoutView', - arguments: {'adId': 0}, - ), - ]); - - // Check that full screen events are passed correctly. - Completer impressionCompleter = Completer(); - Completer failedToShowCompleter = Completer(); - Completer showedCompleter = Completer(); - Completer dismissedCompleter = Completer(); - Completer clickedCompleter = Completer(); - - appOpenAd!.fullScreenContentCallback = FullScreenContentCallback( - onAdImpression: (ad) => impressionCompleter.complete(ad), - onAdShowedFullScreenContent: (ad) => showedCompleter.complete(ad), - onAdFailedToShowFullScreenContent: (ad, error) => - failedToShowCompleter.complete(ad), - onAdDismissedFullScreenContent: (ad) => dismissedCompleter.complete(ad), - onAdClicked: (ad) => clickedCompleter.complete(ad), - ); - - await TestUtil.sendAdEvent(0, 'onAdImpression', instanceManager); - expect(await impressionCompleter.future, appOpenAd); - - await TestUtil.sendAdEvent(0, 'onAdClicked', instanceManager); - expect(await clickedCompleter.future, appOpenAd); - - await TestUtil.sendAdEvent( - 0, - 'onAdShowedFullScreenContent', - instanceManager, - ); - expect(await showedCompleter.future, appOpenAd); - - await TestUtil.sendAdEvent( - 0, - 'onAdDismissedFullScreenContent', - instanceManager, - ); - expect(await dismissedCompleter.future, appOpenAd); - - await TestUtil.sendAdEvent( - 0, - 'onFailedToShowFullScreenContent', - instanceManager, - {'error': AdError(1, 'domain', 'message')}, - ); - expect(await failedToShowCompleter.future, appOpenAd); - - // Check paid event callback - Completer> paidEventCompleter = Completer>(); - appOpenAd!.onPaidEvent = (ad, value, precision, currency) { - paidEventCompleter.complete([ad, value, precision, currency]); - }; - - const paidEventArgs = { - 'valueMicros': 1.2345, - 'precision': 0, - 'currencyCode': 'USD', - }; - await TestUtil.sendAdEvent( - 0, - 'onPaidEvent', - instanceManager, - paidEventArgs, - ); - List paidEventCallback = await paidEventCompleter.future; - expect(paidEventCallback[0], appOpenAd); - expect(paidEventCallback[1], 1.2345); - expect(paidEventCallback[2], PrecisionType.unknown); - expect(paidEventCallback[3], 'USD'); - }); - - test('load show ios', () async { - debugDefaultTargetPlatformOverride = TargetPlatform.iOS; - - AppOpenAd? appOpenAd; - AdRequest request = AdRequest(); - await AppOpenAd.load( - adUnitId: 'test-ad-unit', - request: request, - adLoadCallback: AppOpenAdLoadCallback( - onAdLoaded: (ad) { - appOpenAd = ad; - }, - onAdFailedToLoad: (error) {}, - ), - ); - - expect(log, [ - isMethodCall( - 'loadAppOpenAd', - arguments: { - 'adId': 0, - 'adUnitId': 'test-ad-unit', - 'request': request, - 'adManagerRequest': null, - }, - ), - ]); - - // Simulate load callback - await TestUtil.sendAdEvent(0, 'onAdLoaded', instanceManager); - - AppOpenAd createdAd = instanceManager.adFor(0) as AppOpenAd; - (createdAd).adLoadCallback.onAdLoaded(createdAd); - expect(instanceManager.adFor(0), isNotNull); - expect(appOpenAd, createdAd); - - log.clear(); - - // Show the ad and verify method call. - await appOpenAd!.show(); - expect(log, [ - isMethodCall( - 'showAdWithoutView', - arguments: {'adId': 0}, - ), - ]); - - // Check that full screen events are passed correctly. - Completer impressionCompleter = Completer(); - Completer failedToShowCompleter = Completer(); - Completer showedCompleter = Completer(); - Completer dismissedCompleter = Completer(); - Completer willDismissCompleter = Completer(); - Completer clickedCompleter = Completer(); - - appOpenAd!.fullScreenContentCallback = FullScreenContentCallback( - onAdImpression: (ad) => impressionCompleter.complete(ad), - onAdShowedFullScreenContent: (ad) => showedCompleter.complete(ad), - onAdFailedToShowFullScreenContent: (ad, error) => - failedToShowCompleter.complete(ad), - onAdDismissedFullScreenContent: (ad) => dismissedCompleter.complete(ad), - onAdWillDismissFullScreenContent: (ad) => - willDismissCompleter.complete(ad), - onAdClicked: (ad) => clickedCompleter.complete(ad), - ); - - await TestUtil.sendAdEvent(0, 'adDidRecordImpression', instanceManager); - expect(await impressionCompleter.future, appOpenAd); - - await TestUtil.sendAdEvent(0, 'adDidRecordClick', instanceManager); - expect(await clickedCompleter.future, appOpenAd); - - await TestUtil.sendAdEvent( - 0, - 'adWillPresentFullScreenContent', - instanceManager, - ); - expect(await showedCompleter.future, appOpenAd); - - await TestUtil.sendAdEvent( - 0, - 'adDidDismissFullScreenContent', - instanceManager, - ); - expect(await dismissedCompleter.future, appOpenAd); - - await TestUtil.sendAdEvent( - 0, - 'adWillDismissFullScreenContent', - instanceManager, - ); - expect(await dismissedCompleter.future, appOpenAd); - - await TestUtil.sendAdEvent( - 0, - 'didFailToPresentFullScreenContentWithError', - instanceManager, - {'error': AdError(1, 'domain', 'message')}, - ); - expect(await failedToShowCompleter.future, appOpenAd); - - // Check paid event callback - Completer> paidEventCompleter = Completer>(); - appOpenAd!.onPaidEvent = (ad, value, precision, currency) { - paidEventCompleter.complete([ad, value, precision, currency]); - }; - - const paidEventArgs = { - 'valueMicros': 1.2345, - 'precision': 0, - 'currencyCode': 'USD', - }; - await TestUtil.sendAdEvent( - 0, - 'onPaidEvent', - instanceManager, - paidEventArgs, - ); - List paidEventCallback = await paidEventCompleter.future; - expect(paidEventCallback[0], appOpenAd); - expect(paidEventCallback[1], 1.2345); - expect(paidEventCallback[2], PrecisionType.unknown); - expect(paidEventCallback[3], 'USD'); - }); - }); -} diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/test/banner_ad_test.dart b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/test/banner_ad_test.dart deleted file mode 100644 index c54b87fb..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/test/banner_ad_test.dart +++ /dev/null @@ -1,380 +0,0 @@ -// Copyright 2021 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -import 'dart:async'; - -import 'package:flutter/foundation.dart'; -import 'package:flutter/services.dart'; -import 'package:flutter_test/flutter_test.dart'; -import 'package:google_mobile_ads/google_mobile_ads.dart'; -import 'package:google_mobile_ads/src/ad_instance_manager.dart'; -import 'test_util.dart'; - -// ignore_for_file: deprecated_member_use_from_same_package -void main() { - TestWidgetsFlutterBinding.ensureInitialized(); - - group('Banner Ad Tests', () { - final List log = []; - - setUp(() async { - log.clear(); - instanceManager = AdInstanceManager( - 'plugins.flutter.io/google_mobile_ads', - ); - TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger - .setMockMethodCallHandler(instanceManager.channel, ( - MethodCall methodCall, - ) async { - log.add(methodCall); - switch (methodCall.method) { - case 'loadBannerAd': - case 'disposeAd': - return Future.value(); - default: - assert(false); - return null; - } - }); - }); - - test('android loaded events', () async { - debugDefaultTargetPlatformOverride = TargetPlatform.android; - AdRequest request = AdRequest(); - - // Check that listener callbacks are invoked - Completer loaded = Completer(); - Completer> failedToLoad = Completer>(); - Completer opened = Completer(); - Completer clicked = Completer(); - Completer impression = Completer(); - Completer closed = Completer(); - Completer> paidEvent = Completer>(); - - BannerAdListener bannerListener = BannerAdListener( - onAdLoaded: (ad) => loaded.complete(ad), - onAdFailedToLoad: (ad, error) => - failedToLoad.complete([ad, error]), - onAdImpression: (ad) => impression.complete(ad), - onPaidEvent: (ad, value, precision, currency) => - paidEvent.complete([ad, value, precision, currency]), - onAdClicked: (ad) => clicked.complete(ad), - onAdClosed: (ad) => closed.complete(ad), - onAdOpened: (ad) => opened.complete(ad), - ); - - var bannerAd = BannerAd( - size: AdSize.banner, - adUnitId: 'ad-unit', - listener: bannerListener, - request: request, - ); - await bannerAd.load(); - - expect(log, [ - isMethodCall( - 'loadBannerAd', - arguments: { - 'adId': 0, - 'adUnitId': 'ad-unit', - 'request': request, - 'size': AdSize.banner, - }, - ), - ]); - - // Simulate load callback - await TestUtil.sendAdEvent(0, 'onAdLoaded', instanceManager); - - BannerAd createdAd = instanceManager.adFor(0) as BannerAd; - expect(instanceManager.adFor(0), isNotNull); - expect(bannerAd, createdAd); - expect(await loaded.future, bannerAd); - - await TestUtil.sendAdEvent(0, 'onAdImpression', instanceManager); - expect(await impression.future, bannerAd); - - await TestUtil.sendAdEvent(0, 'onAdClicked', instanceManager); - expect(await clicked.future, bannerAd); - - await TestUtil.sendAdEvent(0, 'onAdOpened', instanceManager); - expect(await opened.future, bannerAd); - - await TestUtil.sendAdEvent(0, 'onAdClosed', instanceManager); - expect(await closed.future, bannerAd); - - await TestUtil.sendAdEvent(0, 'onAdClicked', instanceManager); - expect(await clicked.future, bannerAd); - - const paidEventArgs = { - 'valueMicros': 1.2345, - 'precision': 0, - 'currencyCode': 'USD', - }; - await TestUtil.sendAdEvent( - 0, - 'onPaidEvent', - instanceManager, - paidEventArgs, - ); - List paidEventCallback = await paidEvent.future; - expect(paidEventCallback[0], bannerAd); - expect(paidEventCallback[1], 1.2345); - expect(paidEventCallback[2], PrecisionType.unknown); - expect(paidEventCallback[3], 'USD'); - }); - - test('onAdFailedToLoad banner', () async { - var testOnAdFailedToLoad = (adId) async { - final Completer> resultsCompleter = - Completer>(); - - final BannerAd banner = BannerAd( - adUnitId: 'test-ad-unit', - size: AdSize.banner, - listener: BannerAdListener( - onAdFailedToLoad: (Ad ad, LoadAdError error) => - resultsCompleter.complete([ad, error]), - ), - request: AdRequest(), - ); - - await banner.load(); - AdError adError = AdError(1, 'domain', 'error-message'); - AdapterResponseInfo adapterResponseInfo = AdapterResponseInfo( - adapterClassName: 'adapter-name', - latencyMillis: 500, - description: 'message', - adUnitMapping: {'key': 'value'}, - adError: adError, - adSourceName: 'adSourceName', - adSourceId: 'adSourceId', - adSourceInstanceName: 'adSourceInstanceName', - adSourceInstanceId: 'adSourceInstanceId', - ); - - List adapterResponses = [adapterResponseInfo]; - ResponseInfo responseInfo = ResponseInfo( - responseId: 'id', - mediationAdapterClassName: 'className', - adapterResponses: adapterResponses, - responseExtras: {'key': 'value'}, - ); - - final MethodCall methodCall = - MethodCall('onAdEvent', { - 'adId': adId, - 'eventName': 'onAdFailedToLoad', - 'loadAdError': LoadAdError(1, 'domain', 'message', responseInfo), - }); - - final ByteData data = instanceManager.channel.codec.encodeMethodCall( - methodCall, - ); - await TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger - .handlePlatformMessage( - 'plugins.flutter.io/google_mobile_ads', - data, - (data) {}, - ); - - final List results = await resultsCompleter.future; - expect(results[0], banner); - expect(results[1].code, 1); - expect(results[1].domain, 'domain'); - expect(results[1].message, 'message'); - expect(results[1].responseInfo.responseId, responseInfo.responseId); - expect( - results[1].responseInfo.mediationAdapterClassName, - responseInfo.mediationAdapterClassName, - ); - expect( - results[1].responseInfo.responseExtras, - responseInfo.responseExtras, - ); - List responses = - results[1].responseInfo.adapterResponses; - expect(responses.first.adapterClassName, 'adapter-name'); - expect(responses.first.latencyMillis, 500); - expect(responses.first.description, 'message'); - expect(responses.first.adUnitMapping, {'key': 'value'}); - expect(responses.first.adError!.code, 1); - expect(responses.first.adError!.message, 'error-message'); - expect(responses.first.adError!.domain, 'domain'); - }; - - debugDefaultTargetPlatformOverride = TargetPlatform.iOS; - await testOnAdFailedToLoad(0); - - debugDefaultTargetPlatformOverride = TargetPlatform.android; - await testOnAdFailedToLoad(1); - }); - - test('ios loaded events', () async { - debugDefaultTargetPlatformOverride = TargetPlatform.iOS; - AdRequest request = AdRequest(); - - // Check that listener callbacks are invoked - Completer loaded = Completer(); - Completer> failedToLoad = Completer>(); - Completer opened = Completer(); - Completer clicked = Completer(); - Completer impression = Completer(); - Completer closed = Completer(); - Completer willDismiss = Completer(); - Completer> paidEvent = Completer>(); - - BannerAdListener bannerListener = BannerAdListener( - onAdLoaded: (ad) => loaded.complete(ad), - onAdFailedToLoad: (ad, error) => - failedToLoad.complete([ad, error]), - onAdImpression: (ad) => impression.complete(ad), - onPaidEvent: (ad, value, precision, currency) => - paidEvent.complete([ad, value, precision, currency]), - onAdClicked: (ad) => clicked.complete(ad), - onAdClosed: (ad) => closed.complete(ad), - onAdOpened: (ad) => opened.complete(ad), - onAdWillDismissScreen: (ad) => willDismiss.complete(ad), - ); - - var bannerAd = BannerAd( - size: AdSize.banner, - adUnitId: 'ad-unit', - listener: bannerListener, - request: request, - ); - await bannerAd.load(); - - expect(log, [ - isMethodCall( - 'loadBannerAd', - arguments: { - 'adId': 0, - 'adUnitId': 'ad-unit', - 'request': request, - 'size': AdSize.banner, - }, - ), - ]); - - // Simulate load callback - await TestUtil.sendAdEvent(0, 'onAdLoaded', instanceManager); - - BannerAd createdAd = instanceManager.adFor(0) as BannerAd; - expect(instanceManager.adFor(0), isNotNull); - expect(bannerAd, createdAd); - expect(await loaded.future, bannerAd); - - await TestUtil.sendAdEvent(0, 'onBannerImpression', instanceManager); - expect(await impression.future, bannerAd); - - await TestUtil.sendAdEvent(0, 'adDidRecordClick', instanceManager); - expect(await clicked.future, bannerAd); - - await TestUtil.sendAdEvent( - 0, - 'onBannerWillPresentScreen', - instanceManager, - ); - expect(await opened.future, bannerAd); - - await TestUtil.sendAdEvent( - 0, - 'onBannerDidDismissScreen', - instanceManager, - ); - expect(await closed.future, bannerAd); - - await TestUtil.sendAdEvent( - 0, - 'onBannerWillDismissScreen', - instanceManager, - ); - expect(await willDismiss.future, bannerAd); - - const paidEventArgs = { - 'valueMicros': 1.2345, - 'precision': 0, - 'currencyCode': 'USD', - }; - await TestUtil.sendAdEvent( - 0, - 'onPaidEvent', - instanceManager, - paidEventArgs, - ); - List paidEventCallback = await paidEvent.future; - expect(paidEventCallback[0], bannerAd); - expect(paidEventCallback[1], 1.2345); - expect(paidEventCallback[2], PrecisionType.unknown); - expect(paidEventCallback[3], 'USD'); - }); - - test('dispose banner', () async { - final BannerAd banner = BannerAd( - adUnitId: 'test-ad-unit', - size: AdSize.banner, - listener: BannerAdListener(), - request: AdRequest(), - ); - - await banner.load(); - log.clear(); - await banner.dispose(); - expect(log, [ - isMethodCall('disposeAd', arguments: {'adId': 0}), - ]); - - expect(instanceManager.adFor(0), isNull); - expect(instanceManager.adIdFor(banner), isNull); - }); - - test('calling dispose without awaiting load', () { - final BannerAd banner = BannerAd( - adUnitId: 'test-ad-unit', - size: AdSize.banner, - listener: BannerAdListener(), - request: AdRequest(), - ); - - banner.load(); - banner.dispose(); - expect(instanceManager.adFor(0), isNull); - expect(instanceManager.adIdFor(banner), isNull); - }); - - test('isMounted returns correct value', () { - final BannerAd banner = BannerAd( - adUnitId: 'test-ad-unit', - size: AdSize.banner, - listener: BannerAdListener(), - request: AdRequest(), - ); - - expect(instanceManager.adIdFor(banner), isNull); - expect(banner.isMounted, isFalse); - - banner.load(); - final int? adId = instanceManager.adIdFor(banner); - expect(adId, isNotNull); - expect(banner.isMounted, isFalse); - - instanceManager.mountWidgetAdId(adId!); - expect(banner.isMounted, isTrue); - - instanceManager.unmountWidgetAdId(adId); - expect(banner.isMounted, isFalse); - }); - }); -} diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/test/fluid_ad_test.dart b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/test/fluid_ad_test.dart deleted file mode 100644 index c1e54031..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/test/fluid_ad_test.dart +++ /dev/null @@ -1,268 +0,0 @@ -// Copyright 2021 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -import 'dart:async'; - -import 'package:flutter/foundation.dart'; -import 'package:flutter/services.dart'; -import 'package:flutter_test/flutter_test.dart'; -import 'package:google_mobile_ads/google_mobile_ads.dart'; -import 'package:google_mobile_ads/src/ad_instance_manager.dart'; -import 'test_util.dart'; - -// ignore_for_file: deprecated_member_use_from_same_package -void main() { - TestWidgetsFlutterBinding.ensureInitialized(); - - group('Fluid Ad Tests', () { - final List log = []; - - setUp(() async { - log.clear(); - instanceManager = AdInstanceManager( - 'plugins.flutter.io/google_mobile_ads', - ); - TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger - .setMockMethodCallHandler(instanceManager.channel, ( - MethodCall methodCall, - ) async { - log.add(methodCall); - switch (methodCall.method) { - case 'loadFluidAd': - case 'disposeAd': - return Future.value(); - default: - assert(false); - return null; - } - }); - }); - - test('load android with callbacks', () async { - debugDefaultTargetPlatformOverride = TargetPlatform.android; - - Completer impressionCompleter = Completer(); - Completer loadedCompleter = Completer(); - Completer> failedToLoadCompleter = - Completer>(); - Completer openedCompleter = Completer(); - Completer closedCompleter = Completer(); - Completer willDismissCompleter = Completer(); - Completer> paidEventCompleter = Completer>(); - Completer> appEventCompleter = Completer>(); - Completer> heightChangedCompleter = - Completer>(); - - final FluidAdManagerBannerAd fluidAd = FluidAdManagerBannerAd( - adUnitId: 'testId', - listener: AdManagerBannerAdListener( - onAdLoaded: (ad) => loadedCompleter.complete(ad), - onAdFailedToLoad: (ad, error) => - failedToLoadCompleter.complete([ad, error]), - onAdImpression: (ad) => impressionCompleter.complete(ad), - onAdOpened: (ad) => openedCompleter.complete(ad), - onAdClosed: (ad) => closedCompleter.complete(ad), - onPaidEvent: (ad, value, precision, currencyCode) => - paidEventCompleter.complete([ad, value, precision, currencyCode]), - onAppEvent: (ad, name, data) => - appEventCompleter.complete([ad, name, data]), - onAdWillDismissScreen: (ad) => willDismissCompleter.complete(ad), - ), - onFluidAdHeightChangedListener: (ad, height) => - heightChangedCompleter.complete([ad, height]), - request: AdManagerAdRequest(), - ); - - await fluidAd.load(); - expect(log, [ - isMethodCall( - 'loadFluidAd', - arguments: { - 'adId': 0, - 'adUnitId': 'testId', - 'sizes': [FluidAdSize()], - 'request': AdManagerAdRequest(), - }, - ), - ]); - - await TestUtil.sendAdEvent(0, 'onAdLoaded', instanceManager); - Ad loadedAd = await loadedCompleter.future; - expect(instanceManager.adFor(0), fluidAd); - expect(loadedAd, loadedAd); - - await TestUtil.sendAdEvent(0, 'onAdImpression', instanceManager); - expect(await impressionCompleter.future, loadedAd); - - await TestUtil.sendAdEvent(0, 'onAdOpened', instanceManager); - expect(await openedCompleter.future, loadedAd); - - await TestUtil.sendAdEvent(0, 'onAdClosed', instanceManager); - expect(await closedCompleter.future, loadedAd); - - const heightChangedArgs = {'height': 25}; - await TestUtil.sendAdEvent( - 0, - 'onFluidAdHeightChanged', - instanceManager, - heightChangedArgs, - ); - expect(await heightChangedCompleter.future, [fluidAd, 25]); - - LoadAdError error = LoadAdError(1, 'domain', 'message', null); - var errorArgs = {'loadAdError': error}; - await TestUtil.sendAdEvent( - 0, - 'onAdFailedToLoad', - instanceManager, - errorArgs, - ); - List adAndError = await failedToLoadCompleter.future; - expect(adAndError[0], loadedAd); - expect(adAndError[1].toString(), error.toString()); - - const appEventArgs = {'name': 'name', 'data': '1234'}; - await TestUtil.sendAdEvent( - 0, - 'onAppEvent', - instanceManager, - appEventArgs, - ); - expect(await appEventCompleter.future, [fluidAd, 'name', '1234']); - - // will dismiss is iOS only event. - var willDismissCompleted = false; - unawaited( - willDismissCompleter.future.whenComplete( - () => willDismissCompleted = true, - ), - ); - await TestUtil.sendAdEvent( - 0, - 'onBannerWillDismissScreen', - instanceManager, - ); - expect(willDismissCompleted, false); - }); - - test('load iOS with callbacks', () async { - debugDefaultTargetPlatformOverride = TargetPlatform.iOS; - - Completer impressionCompleter = Completer(); - Completer loadedCompleter = Completer(); - Completer> failedToLoadCompleter = - Completer>(); - Completer openedCompleter = Completer(); - Completer closedCompleter = Completer(); - Completer willDismissCompleter = Completer(); - Completer> paidEventCompleter = Completer>(); - Completer> appEventCompleter = Completer>(); - Completer> heightChangedCompleter = - Completer>(); - - final FluidAdManagerBannerAd fluidAd = FluidAdManagerBannerAd( - adUnitId: 'testId', - listener: AdManagerBannerAdListener( - onAdLoaded: (ad) => loadedCompleter.complete(ad), - onAdFailedToLoad: (ad, error) => - failedToLoadCompleter.complete([ad, error]), - onAdImpression: (ad) => impressionCompleter.complete(ad), - onAdOpened: (ad) => openedCompleter.complete(ad), - onAdClosed: (ad) => closedCompleter.complete(ad), - onPaidEvent: (ad, value, precision, currencyCode) => - paidEventCompleter.complete([ad, value, precision, currencyCode]), - onAppEvent: (ad, name, data) => - appEventCompleter.complete([ad, name, data]), - onAdWillDismissScreen: (ad) => willDismissCompleter.complete(ad), - ), - onFluidAdHeightChangedListener: (ad, height) => - heightChangedCompleter.complete([ad, height]), - request: AdManagerAdRequest(), - ); - - await fluidAd.load(); - expect(log, [ - isMethodCall( - 'loadFluidAd', - arguments: { - 'adId': 0, - 'adUnitId': 'testId', - 'sizes': [FluidAdSize()], - 'request': AdManagerAdRequest(), - }, - ), - ]); - - await TestUtil.sendAdEvent(0, 'onAdLoaded', instanceManager); - Ad loadedAd = await loadedCompleter.future; - expect(instanceManager.adFor(0), fluidAd); - expect(loadedAd, loadedAd); - - await TestUtil.sendAdEvent(0, 'onBannerImpression', instanceManager); - expect(await impressionCompleter.future, loadedAd); - - await TestUtil.sendAdEvent( - 0, - 'onBannerWillPresentScreen', - instanceManager, - ); - expect(await openedCompleter.future, loadedAd); - - await TestUtil.sendAdEvent( - 0, - 'onBannerDidDismissScreen', - instanceManager, - ); - expect(await closedCompleter.future, loadedAd); - - const heightChangedArgs = {'height': 25}; - await TestUtil.sendAdEvent( - 0, - 'onFluidAdHeightChanged', - instanceManager, - heightChangedArgs, - ); - expect(await heightChangedCompleter.future, [fluidAd, 25]); - - LoadAdError error = LoadAdError(1, 'domain', 'message', null); - var errorArgs = {'loadAdError': error}; - await TestUtil.sendAdEvent( - 0, - 'onAdFailedToLoad', - instanceManager, - errorArgs, - ); - List adAndError = await failedToLoadCompleter.future; - expect(adAndError[0], loadedAd); - expect(adAndError[1].toString(), error.toString()); - - const appEventArgs = {'name': 'name', 'data': '1234'}; - await TestUtil.sendAdEvent( - 0, - 'onAppEvent', - instanceManager, - appEventArgs, - ); - expect(await appEventCompleter.future, [fluidAd, 'name', '1234']); - - // will dismiss is iOS only event. - await TestUtil.sendAdEvent( - 0, - 'onBannerWillDismissScreen', - instanceManager, - ); - expect(await willDismissCompleter.future, fluidAd); - }); - }); -} diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/test/mobile_ads_test.dart b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/test/mobile_ads_test.dart deleted file mode 100644 index ab7eddad..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/test/mobile_ads_test.dart +++ /dev/null @@ -1,638 +0,0 @@ -// Copyright 2021 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -import 'dart:async'; - -import 'package:flutter/material.dart'; -import 'package:google_mobile_ads/google_mobile_ads.dart'; -import 'package:google_mobile_ads/src/ad_inspector_containers.dart'; -import 'package:google_mobile_ads/src/ad_instance_manager.dart'; -import 'package:flutter/foundation.dart'; -import 'package:flutter/services.dart'; -import 'package:flutter_test/flutter_test.dart'; -import 'package:google_mobile_ads/src/webview_controller_util.dart'; -import 'package:mockito/annotations.dart'; -import 'package:mockito/mockito.dart'; -import 'package:webview_flutter/webview_flutter.dart'; -import 'mobile_ads_test.mocks.dart'; - -@GenerateMocks([WebViewController, AdInstanceManager, WebViewControllerUtil]) -void main() { - group('Mobile Ads', () { - TestWidgetsFlutterBinding.ensureInitialized(); - - final List log = []; - final AdMessageCodec codec = AdMessageCodec(); - - setUpAll(() { - debugDefaultTargetPlatformOverride = TargetPlatform.iOS; - }); - - setUp(() async { - instanceManager = AdInstanceManager( - 'plugins.flutter.io/google_mobile_ads', - ); - log.clear(); - TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger - .setMockMethodCallHandler( - MethodChannel( - 'plugins.flutter.io/google_mobile_ads', - StandardMethodCodec(AdMessageCodec()), - ), - (MethodCall methodCall) async { - log.add(methodCall); - switch (methodCall.method) { - case 'MobileAds#initialize': - return InitializationStatus({ - 'aName': AdapterStatus( - AdapterInitializationState.notReady, - 'desc', - 0, - ), - }); - case '_init': - case 'MobileAds#setSameAppKeyEnabled': - case 'MobileAds#setAppMuted': - case 'MobileAds#setAppVolume': - case 'MobileAds#disableSDKCrashReporting': - case 'MobileAds#disableMediationInitialization': - return null; - case 'MobileAds#getVersionString': - return Future.value('Test-SDK-Version'); - case 'MobileAds#updateRequestConfiguration': - return null; - case 'MobileAds#registerWebView': - return null; - case 'MobileAds#getRequestConfiguration': - return RequestConfiguration( - maxAdContentRating: MaxAdContentRating.ma, - tagForChildDirectedTreatment: - TagForChildDirectedTreatment.yes, - tagForUnderAgeOfConsent: TagForUnderAgeOfConsent.no, - testDeviceIds: ['test-device-id'], - ); - case 'AdSize#getAnchoredAdaptiveBannerAdSize': - return null; - default: - assert(false); - return null; - } - }, - ); - }); - - test('encode/decode $AdapterInitializationState', () { - final ByteData byteData = codec.encodeMessage( - AdapterInitializationState.ready, - )!; - - final AdapterInitializationState result = codec.decodeMessage(byteData); - expect(result, AdapterInitializationState.ready); - }); - - test('encode/decode $AdapterStatus', () { - debugDefaultTargetPlatformOverride = TargetPlatform.android; - final ByteData byteData = codec.encodeMessage( - AdapterStatus(AdapterInitializationState.notReady, 'describe', 23), - )!; - - AdapterStatus result = codec.decodeMessage(byteData); - expect(result.state, AdapterInitializationState.notReady); - expect(result.description, 'describe'); - expect(result.latency, 0.023); - - debugDefaultTargetPlatformOverride = TargetPlatform.iOS; - result = codec.decodeMessage(byteData); - expect(result.state, AdapterInitializationState.notReady); - expect(result.description, 'describe'); - expect(result.latency, 23); - }); - - test('handle int values for AdapterStatus', () { - final WriteBuffer buffer = WriteBuffer(); - codec.writeValue(buffer, AdapterInitializationState.ready); - codec.writeValue(buffer, 'aDescription'); - codec.writeValue(buffer, 23); - - expect( - () => codec.readValueOfType( - 136 /* AdMessageCodec._valueAdapterStatus */, - ReadBuffer(buffer.done()), - ), - returnsNormally, - ); - }); - - test('encode/decode $InitializationStatus', () { - final ByteData byteData = codec.encodeMessage( - InitializationStatus({ - 'adMediation': AdapterStatus( - AdapterInitializationState.ready, - 'aDescription', - 0, - ), - }), - )!; - - final InitializationStatus result = codec.decodeMessage(byteData); - expect(result.adapterStatuses, hasLength(1)); - final AdapterStatus status = result.adapterStatuses['adMediation']!; - expect(status.state, AdapterInitializationState.ready); - expect(status.description, 'aDescription'); - expect(status.latency, 0); - }); - - test('$MobileAds.initialize', () async { - final InitializationStatus result = await MobileAds.instance.initialize(); - - expect(log, [ - isMethodCall('_init', arguments: null), - isMethodCall('MobileAds#initialize', arguments: null), - ]); - - expect(result.adapterStatuses, hasLength(1)); - final AdapterStatus status = result.adapterStatuses['aName']!; - expect(status.state, AdapterInitializationState.notReady); - expect(status.description, 'desc'); - expect(status.latency, 0); - }); - - test('$MobileAds.registerWebView', () async { - instanceManager = MockAdInstanceManager(); - final webView = MockWebViewController(); - when( - instanceManager.registerWebView(webView), - ).thenAnswer((realInvocation) => Future.value()); - await MobileAds.instance.registerWebView(webView); - - verify(instanceManager.registerWebView(webView)); - }); - - test('$MobileAds.registerWebView android', () async { - debugDefaultTargetPlatformOverride = TargetPlatform.android; - final mockWebViewControllerUtil = MockWebViewControllerUtil(); - when(mockWebViewControllerUtil.webViewIdentifier(any)).thenReturn(1); - instanceManager = AdInstanceManager( - 'plugins.flutter.io/google_mobile_ads', - webViewControllerUtil: mockWebViewControllerUtil, - ); - final webView = MockWebViewController(); - await MobileAds.instance.registerWebView(webView); - - expect(log, [ - isMethodCall('MobileAds#registerWebView', arguments: {'webViewId': 1}), - ]); - }); - - test('$MobileAds.registerWebView iOS', () async { - debugDefaultTargetPlatformOverride = TargetPlatform.iOS; - final mockWebViewControllerUtil = MockWebViewControllerUtil(); - when(mockWebViewControllerUtil.webViewIdentifier(any)).thenReturn(1); - instanceManager = AdInstanceManager( - 'plugins.flutter.io/google_mobile_ads', - webViewControllerUtil: mockWebViewControllerUtil, - ); - final webView = MockWebViewController(); - await MobileAds.instance.registerWebView(webView); - - expect(log, [ - isMethodCall('MobileAds#registerWebView', arguments: {'webViewId': 1}), - ]); - }); - - test('$MobileAds.openAdInspector success', () async { - TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger - .setMockMethodCallHandler( - MethodChannel( - 'plugins.flutter.io/google_mobile_ads', - StandardMethodCodec(AdMessageCodec()), - ), - (MethodCall methodCall) async { - return null; - }, - ); - - Completer completer = Completer(); - MobileAds.instance.openAdInspector((error) { - completer.complete(error); - }); - - AdInspectorError? error = await completer.future; - expect(error, null); - }); - - test('$MobileAds.openAdInspector error', () async { - TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger - .setMockMethodCallHandler( - MethodChannel( - 'plugins.flutter.io/google_mobile_ads', - StandardMethodCodec(AdMessageCodec()), - ), - (MethodCall methodCall) async { - throw PlatformException( - code: '1', - details: 'details', - message: 'message', - ); - }, - ); - - Completer completer = Completer(); - MobileAds.instance.openAdInspector((error) { - completer.complete(error); - }); - - AdInspectorError? error = await completer.future; - expect(error!.message, 'message'); - expect(error.code, '1'); - expect(error.domain, 'details'); - }); - - test('$MobileAds.setSameAppKeyEnabled', () async { - debugDefaultTargetPlatformOverride = TargetPlatform.iOS; - - await MobileAds.instance.setSameAppKeyEnabled(true); - - expect(log, [ - isMethodCall( - 'MobileAds#setSameAppKeyEnabled', - arguments: {'isEnabled': true}, - ), - ]); - - await MobileAds.instance.setSameAppKeyEnabled(false); - - expect(log, [ - isMethodCall( - 'MobileAds#setSameAppKeyEnabled', - arguments: {'isEnabled': true}, - ), - isMethodCall( - 'MobileAds#setSameAppKeyEnabled', - arguments: {'isEnabled': false}, - ), - ]); - }); - - test('encode/decode empty native ad options', () { - debugDefaultTargetPlatformOverride = TargetPlatform.android; - ByteData byteData = codec.encodeMessage(NativeAdOptions())!; - - NativeAdOptions result = codec.decodeMessage(byteData); - expect(result.mediaAspectRatio, null); - expect(result.adChoicesPlacement, null); - expect(result.requestCustomMuteThisAd, null); - expect(result.shouldRequestMultipleImages, null); - expect(result.shouldReturnUrlsForImageAssets, null); - expect(result.videoOptions, null); - - byteData = codec.encodeMessage( - NativeAdOptions(videoOptions: VideoOptions()), - )!; - result = codec.decodeMessage(byteData); - expect(result.mediaAspectRatio, null); - expect(result.adChoicesPlacement, null); - expect(result.requestCustomMuteThisAd, null); - expect(result.shouldRequestMultipleImages, null); - expect(result.shouldReturnUrlsForImageAssets, null); - expect(result.videoOptions!.clickToExpandRequested, null); - expect(result.videoOptions!.customControlsRequested, null); - expect(result.videoOptions!.startMuted, null); - }); - - test('encode/decode native ad options', () { - NativeAdOptions nativeAdOptions = NativeAdOptions( - adChoicesPlacement: AdChoicesPlacement.topRightCorner, - mediaAspectRatio: MediaAspectRatio.unknown, - videoOptions: VideoOptions( - clickToExpandRequested: false, - customControlsRequested: false, - startMuted: false, - ), - requestCustomMuteThisAd: false, - shouldRequestMultipleImages: false, - shouldReturnUrlsForImageAssets: false, - ); - - debugDefaultTargetPlatformOverride = TargetPlatform.android; - ByteData byteData = codec.encodeMessage(nativeAdOptions)!; - - NativeAdOptions result = codec.decodeMessage(byteData); - expect(result.mediaAspectRatio, MediaAspectRatio.unknown); - expect(result.adChoicesPlacement, AdChoicesPlacement.topRightCorner); - expect(result.requestCustomMuteThisAd, false); - expect(result.shouldRequestMultipleImages, false); - expect(result.shouldReturnUrlsForImageAssets, false); - expect(result.videoOptions!.startMuted, false); - expect(result.videoOptions!.customControlsRequested, false); - expect(result.videoOptions!.clickToExpandRequested, false); - - nativeAdOptions = NativeAdOptions( - adChoicesPlacement: AdChoicesPlacement.bottomLeftCorner, - mediaAspectRatio: MediaAspectRatio.landscape, - videoOptions: VideoOptions( - clickToExpandRequested: true, - customControlsRequested: true, - startMuted: true, - ), - requestCustomMuteThisAd: true, - shouldRequestMultipleImages: true, - shouldReturnUrlsForImageAssets: true, - ); - - byteData = codec.encodeMessage(nativeAdOptions)!; - result = codec.decodeMessage(byteData); - - expect(result.mediaAspectRatio, MediaAspectRatio.landscape); - expect(result.adChoicesPlacement, AdChoicesPlacement.bottomLeftCorner); - expect(result.requestCustomMuteThisAd, true); - expect(result.shouldRequestMultipleImages, true); - expect(result.shouldReturnUrlsForImageAssets, true); - expect(result.videoOptions!.startMuted, true); - expect(result.videoOptions!.customControlsRequested, true); - expect(result.videoOptions!.clickToExpandRequested, true); - }); - - test('$MobileAds.setAppMuted', () async { - await MobileAds.instance.setAppMuted(true); - - expect(log, [ - isMethodCall('MobileAds#setAppMuted', arguments: {'muted': true}), - ]); - - await MobileAds.instance.setAppMuted(false); - - expect(log, [ - isMethodCall('MobileAds#setAppMuted', arguments: {'muted': true}), - isMethodCall('MobileAds#setAppMuted', arguments: {'muted': false}), - ]); - }); - - test('$MobileAds.setAppVolume', () async { - await MobileAds.instance.setAppVolume(1.0); - - expect(log, [ - isMethodCall('MobileAds#setAppVolume', arguments: {'volume': 1.0}), - ]); - }); - - test('$MobileAds.disableSDKCrashReporting', () async { - debugDefaultTargetPlatformOverride = TargetPlatform.iOS; - await MobileAds.instance.disableSDKCrashReporting(); - - expect(log, [ - isMethodCall('MobileAds#disableSDKCrashReporting', arguments: null), - ]); - }); - - test('$MobileAds.disableMediationInitialization', () async { - await MobileAds.instance.disableMediationInitialization(); - - expect(log, [ - isMethodCall( - 'MobileAds#disableMediationInitialization', - arguments: null, - ), - ]); - }); - - test('$MobileAds.getVersionString', () async { - await MobileAds.instance.getVersionString(); - - expect(log, [ - isMethodCall('MobileAds#getVersionString', arguments: null), - ]); - }); - - test('$AdSize.getAnchoredAdaptiveBannerAdSize', () async { - await AdSize.getAnchoredAdaptiveBannerAdSize(Orientation.portrait, 23); - - expect(log, [ - isMethodCall( - 'AdSize#getAnchoredAdaptiveBannerAdSize', - arguments: {'orientation': 'portrait', 'width': 23}, - ), - ]); - - await AdSize.getAnchoredAdaptiveBannerAdSize(Orientation.landscape, 34); - - expect(log, [ - isMethodCall( - 'AdSize#getAnchoredAdaptiveBannerAdSize', - arguments: {'orientation': 'portrait', 'width': 23}, - ), - isMethodCall( - 'AdSize#getAnchoredAdaptiveBannerAdSize', - arguments: {'orientation': 'landscape', 'width': 34}, - ), - ]); - - await AdSize.getCurrentOrientationAnchoredAdaptiveBannerAdSize(45); - - expect(log, [ - isMethodCall( - 'AdSize#getAnchoredAdaptiveBannerAdSize', - arguments: {'orientation': 'portrait', 'width': 23}, - ), - isMethodCall( - 'AdSize#getAnchoredAdaptiveBannerAdSize', - arguments: {'orientation': 'landscape', 'width': 34}, - ), - isMethodCall( - 'AdSize#getAnchoredAdaptiveBannerAdSize', - arguments: {'width': 45}, - ), - ]); - }); - - test('encode/decode $MobileAds.getRequestConfiguration', () async { - RequestConfiguration requestConfig = await MobileAds.instance - .getRequestConfiguration(); - - debugDefaultTargetPlatformOverride = TargetPlatform.iOS; - ByteData byteData = codec.encodeMessage(requestConfig)!; - RequestConfiguration result = codec.decodeMessage(byteData); - - expect(result.maxAdContentRating, MaxAdContentRating.ma); - expect( - result.tagForChildDirectedTreatment, - TagForChildDirectedTreatment.yes, - ); - expect(result.tagForUnderAgeOfConsent, TagForUnderAgeOfConsent.no); - expect(result.testDeviceIds, ['test-device-id']); - - debugDefaultTargetPlatformOverride = TargetPlatform.android; - byteData = codec.encodeMessage(requestConfig)!; - result = codec.decodeMessage(byteData); - - expect(result.maxAdContentRating, MaxAdContentRating.ma); - expect( - result.tagForChildDirectedTreatment, - TagForChildDirectedTreatment.yes, - ); - expect(result.tagForUnderAgeOfConsent, TagForUnderAgeOfConsent.no); - expect(result.testDeviceIds, ['test-device-id']); - }); - - test('$MobileAds.RequestConfiguration', () async { - RequestConfiguration requestConfiguration = RequestConfiguration( - maxAdContentRating: MaxAdContentRating.ma, - tagForChildDirectedTreatment: TagForChildDirectedTreatment.yes, - tagForUnderAgeOfConsent: TagForUnderAgeOfConsent.no, - testDeviceIds: ['test-device-id'], - ); - - await MobileAds.instance.updateRequestConfiguration(requestConfiguration); - - debugDefaultTargetPlatformOverride = TargetPlatform.iOS; - RequestConfiguration result = await MobileAds.instance - .getRequestConfiguration(); - expect(result.maxAdContentRating, MaxAdContentRating.ma); - expect( - result.tagForChildDirectedTreatment, - TagForChildDirectedTreatment.yes, - ); - expect(result.tagForUnderAgeOfConsent, TagForUnderAgeOfConsent.no); - expect(result.testDeviceIds, ['test-device-id']); - expect(log, [ - isMethodCall( - 'MobileAds#updateRequestConfiguration', - arguments: { - 'maxAdContentRating': MaxAdContentRating.ma, - 'tagForChildDirectedTreatment': TagForChildDirectedTreatment.yes, - 'testDeviceIds': ['test-device-id'], - 'tagForUnderAgeOfConsent': TagForUnderAgeOfConsent.no, - }, - ), - isMethodCall('MobileAds#getRequestConfiguration', arguments: null), - ]); - - debugDefaultTargetPlatformOverride = TargetPlatform.android; - result = await MobileAds.instance.getRequestConfiguration(); - expect(result.maxAdContentRating, MaxAdContentRating.ma); - expect( - result.tagForChildDirectedTreatment, - TagForChildDirectedTreatment.yes, - ); - expect(result.tagForUnderAgeOfConsent, TagForUnderAgeOfConsent.no); - expect(result.testDeviceIds, ['test-device-id']); - expect(log, [ - isMethodCall( - 'MobileAds#updateRequestConfiguration', - arguments: { - 'maxAdContentRating': MaxAdContentRating.ma, - 'tagForChildDirectedTreatment': TagForChildDirectedTreatment.yes, - 'testDeviceIds': ['test-device-id'], - 'tagForUnderAgeOfConsent': TagForUnderAgeOfConsent.no, - }, - ), - isMethodCall('MobileAds#getRequestConfiguration', arguments: null), - isMethodCall('MobileAds#getRequestConfiguration', arguments: null), - ]); - }); - - test('encode/decode native template font style', () { - NativeTemplateFontStyle.values.forEach((fontStyle) { - final byteData = codec.encodeMessage(fontStyle)!; - final result = codec.decodeMessage(byteData); - expect(result, fontStyle); - }); - }); - - test('encode/decode native template type', () { - TemplateType.values.forEach((templateType) { - final byteData = codec.encodeMessage(templateType)!; - final result = codec.decodeMessage(byteData); - expect(result, templateType); - }); - }); - - test('encode/decode empty native text style', () { - final textStyle = NativeTemplateTextStyle(); - final byteData = codec.encodeMessage(textStyle); - final result = codec.decodeMessage(byteData); - expect(result, textStyle); - }); - - test('encode/decode non-empty native text style', () { - final textStyle = NativeTemplateTextStyle( - textColor: Colors.red.shade900, - backgroundColor: Colors.blue.withAlpha(50), - style: NativeTemplateFontStyle.normal, - size: 20, - ); - final byteData = codec.encodeMessage(textStyle); - final result = codec.decodeMessage(byteData); - expect(result, textStyle); - }); - - test('encode/decode empty native template style', () { - final templateStyle = NativeTemplateStyle( - templateType: TemplateType.medium, - ); - final byteData = codec.encodeMessage(templateStyle); - final result = codec.decodeMessage(byteData); - expect(result, templateStyle); - }); - - test('encode/decode non-empty native template style, ios', () { - debugDefaultTargetPlatformOverride = TargetPlatform.iOS; - final templateStyle = NativeTemplateStyle( - templateType: TemplateType.medium, - callToActionTextStyle: NativeTemplateTextStyle(), - primaryTextStyle: NativeTemplateTextStyle( - textColor: Colors.blue.shade900, - ), - secondaryTextStyle: NativeTemplateTextStyle( - backgroundColor: Colors.green.shade900, - style: NativeTemplateFontStyle.italic, - ), - tertiaryTextStyle: NativeTemplateTextStyle(size: 15), - mainBackgroundColor: Colors.cyan.shade900, - cornerRadius: 12, - ); - final byteData = codec.encodeMessage(templateStyle); - final result = codec.decodeMessage(byteData); - expect(result, templateStyle); - }); - - test('encode/decode non-empty native template style, android', () { - debugDefaultTargetPlatformOverride = TargetPlatform.android; - final templateStyle = NativeTemplateStyle( - templateType: TemplateType.medium, - callToActionTextStyle: NativeTemplateTextStyle(), - primaryTextStyle: NativeTemplateTextStyle( - textColor: Colors.blue.shade900, - ), - secondaryTextStyle: NativeTemplateTextStyle( - backgroundColor: Colors.green.shade900, - style: NativeTemplateFontStyle.italic, - ), - tertiaryTextStyle: NativeTemplateTextStyle(size: 15), - mainBackgroundColor: Color.fromARGB(1, 2, 3, 4), - cornerRadius: 12, - ); - final byteData = codec.encodeMessage(templateStyle); - final NativeTemplateStyle result = codec.decodeMessage(byteData); - // cornerRadius is dropped on android - expect(result.cornerRadius, null); - expect(result.templateType, templateStyle.templateType); - expect(result.callToActionTextStyle, templateStyle.callToActionTextStyle); - expect(result.primaryTextStyle, templateStyle.primaryTextStyle); - expect(result.secondaryTextStyle, templateStyle.secondaryTextStyle); - expect(result.tertiaryTextStyle, templateStyle.tertiaryTextStyle); - expect(result.mainBackgroundColor, templateStyle.mainBackgroundColor); - }); - }); -} diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/test/mobile_ads_test.mocks.dart b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/test/mobile_ads_test.mocks.dart deleted file mode 100644 index 95d6bd0b..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/test/mobile_ads_test.mocks.dart +++ /dev/null @@ -1,754 +0,0 @@ -// Mocks generated by Mockito 5.4.4 from annotations -// in google_mobile_ads/test/mobile_ads_test.dart. -// Do not manually edit this file. - -// ignore_for_file: no_leading_underscores_for_library_prefixes -import 'dart:async' as _i9; -import 'dart:typed_data' as _i10; -import 'dart:ui' as _i3; - -import 'package:flutter/services.dart' as _i4; -import 'package:google_mobile_ads/src/ad_containers.dart' as _i13; -import 'package:google_mobile_ads/src/ad_inspector_containers.dart' as _i15; -import 'package:google_mobile_ads/src/ad_instance_manager.dart' as _i12; -import 'package:google_mobile_ads/src/mobile_ads.dart' as _i6; -import 'package:google_mobile_ads/src/request_configuration.dart' as _i7; -import 'package:google_mobile_ads/src/webview_controller_util.dart' as _i5; -import 'package:mockito/mockito.dart' as _i1; -import 'package:mockito/src/dummies.dart' as _i14; -import 'package:webview_flutter/src/navigation_delegate.dart' as _i11; -import 'package:webview_flutter/webview_flutter.dart' as _i8; -import 'package:webview_flutter_platform_interface/webview_flutter_platform_interface.dart' - as _i2; - -// ignore_for_file: type=lint -// ignore_for_file: avoid_redundant_argument_values -// ignore_for_file: avoid_setters_without_getters -// ignore_for_file: comment_references -// ignore_for_file: deprecated_member_use -// ignore_for_file: deprecated_member_use_from_same_package -// ignore_for_file: implementation_imports -// ignore_for_file: invalid_use_of_visible_for_testing_member -// ignore_for_file: prefer_const_constructors -// ignore_for_file: unnecessary_parenthesis -// ignore_for_file: camel_case_types -// ignore_for_file: subtype_of_sealed_class - -class _FakePlatformWebViewController_0 extends _i1.SmartFake - implements _i2.PlatformWebViewController { - _FakePlatformWebViewController_0(Object parent, Invocation parentInvocation) - : super(parent, parentInvocation); -} - -class _FakeObject_1 extends _i1.SmartFake implements Object { - _FakeObject_1(Object parent, Invocation parentInvocation) - : super(parent, parentInvocation); -} - -class _FakeOffset_2 extends _i1.SmartFake implements _i3.Offset { - _FakeOffset_2(Object parent, Invocation parentInvocation) - : super(parent, parentInvocation); -} - -class _FakeMethodChannel_3 extends _i1.SmartFake implements _i4.MethodChannel { - _FakeMethodChannel_3(Object parent, Invocation parentInvocation) - : super(parent, parentInvocation); -} - -class _FakeWebViewControllerUtil_4 extends _i1.SmartFake - implements _i5.WebViewControllerUtil { - _FakeWebViewControllerUtil_4(Object parent, Invocation parentInvocation) - : super(parent, parentInvocation); -} - -class _FakeInitializationStatus_5 extends _i1.SmartFake - implements _i6.InitializationStatus { - _FakeInitializationStatus_5(Object parent, Invocation parentInvocation) - : super(parent, parentInvocation); -} - -class _FakeRequestConfiguration_6 extends _i1.SmartFake - implements _i7.RequestConfiguration { - _FakeRequestConfiguration_6(Object parent, Invocation parentInvocation) - : super(parent, parentInvocation); -} - -/// A class which mocks [WebViewController]. -/// -/// See the documentation for Mockito's code generation for more information. -class MockWebViewController extends _i1.Mock implements _i8.WebViewController { - MockWebViewController() { - _i1.throwOnMissingStub(this); - } - - @override - _i2.PlatformWebViewController get platform => - (super.noSuchMethod( - Invocation.getter(#platform), - returnValue: _FakePlatformWebViewController_0( - this, - Invocation.getter(#platform), - ), - ) - as _i2.PlatformWebViewController); - - @override - _i9.Future loadFile(String? absoluteFilePath) => - (super.noSuchMethod( - Invocation.method(#loadFile, [absoluteFilePath]), - returnValue: _i9.Future.value(), - returnValueForMissingStub: _i9.Future.value(), - ) - as _i9.Future); - - @override - _i9.Future loadFlutterAsset(String? key) => - (super.noSuchMethod( - Invocation.method(#loadFlutterAsset, [key]), - returnValue: _i9.Future.value(), - returnValueForMissingStub: _i9.Future.value(), - ) - as _i9.Future); - - @override - _i9.Future loadHtmlString(String? html, {String? baseUrl}) => - (super.noSuchMethod( - Invocation.method(#loadHtmlString, [html], {#baseUrl: baseUrl}), - returnValue: _i9.Future.value(), - returnValueForMissingStub: _i9.Future.value(), - ) - as _i9.Future); - - @override - _i9.Future loadRequest( - Uri? uri, { - _i2.LoadRequestMethod? method = _i2.LoadRequestMethod.get, - Map? headers = const {}, - _i10.Uint8List? body, - }) => - (super.noSuchMethod( - Invocation.method( - #loadRequest, - [uri], - {#method: method, #headers: headers, #body: body}, - ), - returnValue: _i9.Future.value(), - returnValueForMissingStub: _i9.Future.value(), - ) - as _i9.Future); - - @override - _i9.Future currentUrl() => - (super.noSuchMethod( - Invocation.method(#currentUrl, []), - returnValue: _i9.Future.value(), - ) - as _i9.Future); - - @override - _i9.Future canGoBack() => - (super.noSuchMethod( - Invocation.method(#canGoBack, []), - returnValue: _i9.Future.value(false), - ) - as _i9.Future); - - @override - _i9.Future canGoForward() => - (super.noSuchMethod( - Invocation.method(#canGoForward, []), - returnValue: _i9.Future.value(false), - ) - as _i9.Future); - - @override - _i9.Future goBack() => - (super.noSuchMethod( - Invocation.method(#goBack, []), - returnValue: _i9.Future.value(), - returnValueForMissingStub: _i9.Future.value(), - ) - as _i9.Future); - - @override - _i9.Future goForward() => - (super.noSuchMethod( - Invocation.method(#goForward, []), - returnValue: _i9.Future.value(), - returnValueForMissingStub: _i9.Future.value(), - ) - as _i9.Future); - - @override - _i9.Future reload() => - (super.noSuchMethod( - Invocation.method(#reload, []), - returnValue: _i9.Future.value(), - returnValueForMissingStub: _i9.Future.value(), - ) - as _i9.Future); - - @override - _i9.Future setNavigationDelegate(_i11.NavigationDelegate? delegate) => - (super.noSuchMethod( - Invocation.method(#setNavigationDelegate, [delegate]), - returnValue: _i9.Future.value(), - returnValueForMissingStub: _i9.Future.value(), - ) - as _i9.Future); - - @override - _i9.Future clearCache() => - (super.noSuchMethod( - Invocation.method(#clearCache, []), - returnValue: _i9.Future.value(), - returnValueForMissingStub: _i9.Future.value(), - ) - as _i9.Future); - - @override - _i9.Future clearLocalStorage() => - (super.noSuchMethod( - Invocation.method(#clearLocalStorage, []), - returnValue: _i9.Future.value(), - returnValueForMissingStub: _i9.Future.value(), - ) - as _i9.Future); - - @override - _i9.Future runJavaScript(String? javaScript) => - (super.noSuchMethod( - Invocation.method(#runJavaScript, [javaScript]), - returnValue: _i9.Future.value(), - returnValueForMissingStub: _i9.Future.value(), - ) - as _i9.Future); - - @override - _i9.Future runJavaScriptReturningResult(String? javaScript) => - (super.noSuchMethod( - Invocation.method(#runJavaScriptReturningResult, [javaScript]), - returnValue: _i9.Future.value( - _FakeObject_1( - this, - Invocation.method(#runJavaScriptReturningResult, [javaScript]), - ), - ), - ) - as _i9.Future); - - @override - _i9.Future addJavaScriptChannel( - String? name, { - required void Function(_i2.JavaScriptMessage)? onMessageReceived, - }) => - (super.noSuchMethod( - Invocation.method( - #addJavaScriptChannel, - [name], - {#onMessageReceived: onMessageReceived}, - ), - returnValue: _i9.Future.value(), - returnValueForMissingStub: _i9.Future.value(), - ) - as _i9.Future); - - @override - _i9.Future removeJavaScriptChannel(String? javaScriptChannelName) => - (super.noSuchMethod( - Invocation.method(#removeJavaScriptChannel, [ - javaScriptChannelName, - ]), - returnValue: _i9.Future.value(), - returnValueForMissingStub: _i9.Future.value(), - ) - as _i9.Future); - - @override - _i9.Future getTitle() => - (super.noSuchMethod( - Invocation.method(#getTitle, []), - returnValue: _i9.Future.value(), - ) - as _i9.Future); - - @override - _i9.Future scrollTo(int? x, int? y) => - (super.noSuchMethod( - Invocation.method(#scrollTo, [x, y]), - returnValue: _i9.Future.value(), - returnValueForMissingStub: _i9.Future.value(), - ) - as _i9.Future); - - @override - _i9.Future scrollBy(int? x, int? y) => - (super.noSuchMethod( - Invocation.method(#scrollBy, [x, y]), - returnValue: _i9.Future.value(), - returnValueForMissingStub: _i9.Future.value(), - ) - as _i9.Future); - - @override - _i9.Future<_i3.Offset> getScrollPosition() => - (super.noSuchMethod( - Invocation.method(#getScrollPosition, []), - returnValue: _i9.Future<_i3.Offset>.value( - _FakeOffset_2(this, Invocation.method(#getScrollPosition, [])), - ), - ) - as _i9.Future<_i3.Offset>); - - @override - _i9.Future enableZoom(bool? enabled) => - (super.noSuchMethod( - Invocation.method(#enableZoom, [enabled]), - returnValue: _i9.Future.value(), - returnValueForMissingStub: _i9.Future.value(), - ) - as _i9.Future); - - @override - _i9.Future setBackgroundColor(_i3.Color? color) => - (super.noSuchMethod( - Invocation.method(#setBackgroundColor, [color]), - returnValue: _i9.Future.value(), - returnValueForMissingStub: _i9.Future.value(), - ) - as _i9.Future); - - @override - _i9.Future setJavaScriptMode(_i2.JavaScriptMode? javaScriptMode) => - (super.noSuchMethod( - Invocation.method(#setJavaScriptMode, [javaScriptMode]), - returnValue: _i9.Future.value(), - returnValueForMissingStub: _i9.Future.value(), - ) - as _i9.Future); - - @override - _i9.Future setUserAgent(String? userAgent) => - (super.noSuchMethod( - Invocation.method(#setUserAgent, [userAgent]), - returnValue: _i9.Future.value(), - returnValueForMissingStub: _i9.Future.value(), - ) - as _i9.Future); - - @override - _i9.Future setOnConsoleMessage( - void Function(_i2.JavaScriptConsoleMessage)? onConsoleMessage, - ) => - (super.noSuchMethod( - Invocation.method(#setOnConsoleMessage, [onConsoleMessage]), - returnValue: _i9.Future.value(), - returnValueForMissingStub: _i9.Future.value(), - ) - as _i9.Future); - - @override - _i9.Future setOnJavaScriptAlertDialog( - _i9.Future Function(_i2.JavaScriptAlertDialogRequest)? - onJavaScriptAlertDialog, - ) => - (super.noSuchMethod( - Invocation.method(#setOnJavaScriptAlertDialog, [ - onJavaScriptAlertDialog, - ]), - returnValue: _i9.Future.value(), - returnValueForMissingStub: _i9.Future.value(), - ) - as _i9.Future); - - @override - _i9.Future setOnJavaScriptConfirmDialog( - _i9.Future Function(_i2.JavaScriptConfirmDialogRequest)? - onJavaScriptConfirmDialog, - ) => - (super.noSuchMethod( - Invocation.method(#setOnJavaScriptConfirmDialog, [ - onJavaScriptConfirmDialog, - ]), - returnValue: _i9.Future.value(), - returnValueForMissingStub: _i9.Future.value(), - ) - as _i9.Future); - - @override - _i9.Future setOnJavaScriptTextInputDialog( - _i9.Future Function(_i2.JavaScriptTextInputDialogRequest)? - onJavaScriptTextInputDialog, - ) => - (super.noSuchMethod( - Invocation.method(#setOnJavaScriptTextInputDialog, [ - onJavaScriptTextInputDialog, - ]), - returnValue: _i9.Future.value(), - returnValueForMissingStub: _i9.Future.value(), - ) - as _i9.Future); - - @override - _i9.Future getUserAgent() => - (super.noSuchMethod( - Invocation.method(#getUserAgent, []), - returnValue: _i9.Future.value(), - ) - as _i9.Future); - - @override - _i9.Future setOnScrollPositionChange( - void Function(_i2.ScrollPositionChange)? onScrollPositionChange, - ) => - (super.noSuchMethod( - Invocation.method(#setOnScrollPositionChange, [ - onScrollPositionChange, - ]), - returnValue: _i9.Future.value(), - returnValueForMissingStub: _i9.Future.value(), - ) - as _i9.Future); -} - -/// A class which mocks [AdInstanceManager]. -/// -/// See the documentation for Mockito's code generation for more information. -class MockAdInstanceManager extends _i1.Mock implements _i12.AdInstanceManager { - MockAdInstanceManager() { - _i1.throwOnMissingStub(this); - } - - @override - _i4.MethodChannel get channel => - (super.noSuchMethod( - Invocation.getter(#channel), - returnValue: _FakeMethodChannel_3( - this, - Invocation.getter(#channel), - ), - ) - as _i4.MethodChannel); - - @override - _i5.WebViewControllerUtil get webViewControllerUtil => - (super.noSuchMethod( - Invocation.getter(#webViewControllerUtil), - returnValue: _FakeWebViewControllerUtil_4( - this, - Invocation.getter(#webViewControllerUtil), - ), - ) - as _i5.WebViewControllerUtil); - - @override - _i9.Future<_i6.InitializationStatus> initialize() => - (super.noSuchMethod( - Invocation.method(#initialize, []), - returnValue: _i9.Future<_i6.InitializationStatus>.value( - _FakeInitializationStatus_5( - this, - Invocation.method(#initialize, []), - ), - ), - ) - as _i9.Future<_i6.InitializationStatus>); - - @override - _i9.Future<_i13.AdSize?> getAdSize(_i13.Ad? ad) => - (super.noSuchMethod( - Invocation.method(#getAdSize, [ad]), - returnValue: _i9.Future<_i13.AdSize?>.value(), - ) - as _i9.Future<_i13.AdSize?>); - - @override - _i13.Ad? adFor(int? adId) => - (super.noSuchMethod(Invocation.method(#adFor, [adId])) as _i13.Ad?); - - @override - int? adIdFor(_i13.Ad? ad) => - (super.noSuchMethod(Invocation.method(#adIdFor, [ad])) as int?); - - @override - bool isWidgetAdIdMounted(int? adId) => - (super.noSuchMethod( - Invocation.method(#isWidgetAdIdMounted, [adId]), - returnValue: false, - ) - as bool); - - @override - void mountWidgetAdId(int? adId) => super.noSuchMethod( - Invocation.method(#mountWidgetAdId, [adId]), - returnValueForMissingStub: null, - ); - - @override - void unmountWidgetAdId(int? adId) => super.noSuchMethod( - Invocation.method(#unmountWidgetAdId, [adId]), - returnValueForMissingStub: null, - ); - - @override - _i9.Future loadBannerAd(_i13.BannerAd? ad) => - (super.noSuchMethod( - Invocation.method(#loadBannerAd, [ad]), - returnValue: _i9.Future.value(), - returnValueForMissingStub: _i9.Future.value(), - ) - as _i9.Future); - - @override - _i9.Future loadInterstitialAd(_i13.InterstitialAd? ad) => - (super.noSuchMethod( - Invocation.method(#loadInterstitialAd, [ad]), - returnValue: _i9.Future.value(), - returnValueForMissingStub: _i9.Future.value(), - ) - as _i9.Future); - - @override - _i9.Future loadNativeAd(_i13.NativeAd? ad) => - (super.noSuchMethod( - Invocation.method(#loadNativeAd, [ad]), - returnValue: _i9.Future.value(), - returnValueForMissingStub: _i9.Future.value(), - ) - as _i9.Future); - - @override - _i9.Future loadRewardedAd(_i13.RewardedAd? ad) => - (super.noSuchMethod( - Invocation.method(#loadRewardedAd, [ad]), - returnValue: _i9.Future.value(), - returnValueForMissingStub: _i9.Future.value(), - ) - as _i9.Future); - - @override - _i9.Future loadRewardedInterstitialAd( - _i13.RewardedInterstitialAd? ad, - ) => - (super.noSuchMethod( - Invocation.method(#loadRewardedInterstitialAd, [ad]), - returnValue: _i9.Future.value(), - returnValueForMissingStub: _i9.Future.value(), - ) - as _i9.Future); - - @override - _i9.Future loadAppOpenAd(_i13.AppOpenAd? ad) => - (super.noSuchMethod( - Invocation.method(#loadAppOpenAd, [ad]), - returnValue: _i9.Future.value(), - returnValueForMissingStub: _i9.Future.value(), - ) - as _i9.Future); - - @override - _i9.Future loadAdManagerBannerAd(_i13.AdManagerBannerAd? ad) => - (super.noSuchMethod( - Invocation.method(#loadAdManagerBannerAd, [ad]), - returnValue: _i9.Future.value(), - returnValueForMissingStub: _i9.Future.value(), - ) - as _i9.Future); - - @override - _i9.Future loadFluidAd(_i13.FluidAdManagerBannerAd? ad) => - (super.noSuchMethod( - Invocation.method(#loadFluidAd, [ad]), - returnValue: _i9.Future.value(), - returnValueForMissingStub: _i9.Future.value(), - ) - as _i9.Future); - - @override - _i9.Future loadAdManagerInterstitialAd( - _i13.AdManagerInterstitialAd? ad, - ) => - (super.noSuchMethod( - Invocation.method(#loadAdManagerInterstitialAd, [ad]), - returnValue: _i9.Future.value(), - returnValueForMissingStub: _i9.Future.value(), - ) - as _i9.Future); - - @override - _i9.Future disposeAd(_i13.Ad? ad) => - (super.noSuchMethod( - Invocation.method(#disposeAd, [ad]), - returnValue: _i9.Future.value(), - returnValueForMissingStub: _i9.Future.value(), - ) - as _i9.Future); - - @override - _i9.Future showAdWithoutView(_i13.AdWithoutView? ad) => - (super.noSuchMethod( - Invocation.method(#showAdWithoutView, [ad]), - returnValue: _i9.Future.value(), - returnValueForMissingStub: _i9.Future.value(), - ) - as _i9.Future); - - @override - _i9.Future<_i7.RequestConfiguration> getRequestConfiguration() => - (super.noSuchMethod( - Invocation.method(#getRequestConfiguration, []), - returnValue: _i9.Future<_i7.RequestConfiguration>.value( - _FakeRequestConfiguration_6( - this, - Invocation.method(#getRequestConfiguration, []), - ), - ), - ) - as _i9.Future<_i7.RequestConfiguration>); - - @override - _i9.Future updateRequestConfiguration( - _i7.RequestConfiguration? requestConfiguration, - ) => - (super.noSuchMethod( - Invocation.method(#updateRequestConfiguration, [ - requestConfiguration, - ]), - returnValue: _i9.Future.value(), - returnValueForMissingStub: _i9.Future.value(), - ) - as _i9.Future); - - @override - _i9.Future setSameAppKeyEnabled(bool? isEnabled) => - (super.noSuchMethod( - Invocation.method(#setSameAppKeyEnabled, [isEnabled]), - returnValue: _i9.Future.value(), - returnValueForMissingStub: _i9.Future.value(), - ) - as _i9.Future); - - @override - _i9.Future setAppMuted(bool? muted) => - (super.noSuchMethod( - Invocation.method(#setAppMuted, [muted]), - returnValue: _i9.Future.value(), - returnValueForMissingStub: _i9.Future.value(), - ) - as _i9.Future); - - @override - _i9.Future setAppVolume(double? volume) => - (super.noSuchMethod( - Invocation.method(#setAppVolume, [volume]), - returnValue: _i9.Future.value(), - returnValueForMissingStub: _i9.Future.value(), - ) - as _i9.Future); - - @override - _i9.Future setImmersiveMode( - _i13.AdWithoutView? ad, - bool? immersiveModeEnabled, - ) => - (super.noSuchMethod( - Invocation.method(#setImmersiveMode, [ad, immersiveModeEnabled]), - returnValue: _i9.Future.value(), - returnValueForMissingStub: _i9.Future.value(), - ) - as _i9.Future); - - @override - _i9.Future disableSDKCrashReporting() => - (super.noSuchMethod( - Invocation.method(#disableSDKCrashReporting, []), - returnValue: _i9.Future.value(), - returnValueForMissingStub: _i9.Future.value(), - ) - as _i9.Future); - - @override - _i9.Future disableMediationInitialization() => - (super.noSuchMethod( - Invocation.method(#disableMediationInitialization, []), - returnValue: _i9.Future.value(), - returnValueForMissingStub: _i9.Future.value(), - ) - as _i9.Future); - - @override - _i9.Future getVersionString() => - (super.noSuchMethod( - Invocation.method(#getVersionString, []), - returnValue: _i9.Future.value( - _i14.dummyValue( - this, - Invocation.method(#getVersionString, []), - ), - ), - ) - as _i9.Future); - - @override - _i9.Future setServerSideVerificationOptions( - _i13.ServerSideVerificationOptions? options, - _i13.Ad? ad, - ) => - (super.noSuchMethod( - Invocation.method(#setServerSideVerificationOptions, [options, ad]), - returnValue: _i9.Future.value(), - returnValueForMissingStub: _i9.Future.value(), - ) - as _i9.Future); - - @override - _i9.Future openDebugMenu(String? adUnitId) => - (super.noSuchMethod( - Invocation.method(#openDebugMenu, [adUnitId]), - returnValue: _i9.Future.value(), - returnValueForMissingStub: _i9.Future.value(), - ) - as _i9.Future); - - @override - _i9.Future registerWebView(_i8.WebViewController? controller) => - (super.noSuchMethod( - Invocation.method(#registerWebView, [controller]), - returnValue: _i9.Future.value(), - returnValueForMissingStub: _i9.Future.value(), - ) - as _i9.Future); - - @override - int getWebViewId(_i8.WebViewController? controller) => - (super.noSuchMethod( - Invocation.method(#getWebViewId, [controller]), - returnValue: 0, - ) - as int); - - @override - void openAdInspector(_i15.OnAdInspectorClosedListener? listener) => - super.noSuchMethod( - Invocation.method(#openAdInspector, [listener]), - returnValueForMissingStub: null, - ); -} - -/// A class which mocks [WebViewControllerUtil]. -/// -/// See the documentation for Mockito's code generation for more information. -class MockWebViewControllerUtil extends _i1.Mock - implements _i5.WebViewControllerUtil { - MockWebViewControllerUtil() { - _i1.throwOnMissingStub(this); - } - - @override - int webViewIdentifier(_i8.WebViewController? controller) => - (super.noSuchMethod( - Invocation.method(#webViewIdentifier, [controller]), - returnValue: 0, - ) - as int); -} diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/test/rewarded_interstitial_ad_test.dart b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/test/rewarded_interstitial_ad_test.dart deleted file mode 100644 index 96bf75db..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/test/rewarded_interstitial_ad_test.dart +++ /dev/null @@ -1,519 +0,0 @@ -// Copyright 2021 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -import 'dart:async'; - -import 'package:flutter/services.dart'; -import 'package:flutter/foundation.dart'; -import 'package:flutter_test/flutter_test.dart'; -import 'package:google_mobile_ads/google_mobile_ads.dart'; -import 'package:google_mobile_ads/src/ad_instance_manager.dart'; -import 'test_util.dart'; - -// ignore_for_file: deprecated_member_use_from_same_package -void main() { - TestWidgetsFlutterBinding.ensureInitialized(); - - group('Rewarded Interstitial Ad Tests', () { - final List log = []; - - setUp(() async { - log.clear(); - instanceManager = AdInstanceManager( - 'plugins.flutter.io/google_mobile_ads', - ); - TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger - .setMockMethodCallHandler(instanceManager.channel, ( - MethodCall methodCall, - ) async { - log.add(methodCall); - switch (methodCall.method) { - case 'loadRewardedInterstitialAd': - case 'showAdWithoutView': - case 'disposeAd': - case 'setServerSideVerificationOptions': - return Future.value(); - default: - assert(false); - return null; - } - }); - }); - - test('load show rewarded interstitial android', () async { - debugDefaultTargetPlatformOverride = TargetPlatform.android; - RewardedInterstitialAd? rewardedInterstitial; - AdRequest request = AdRequest(); - await RewardedInterstitialAd.load( - adUnitId: 'test-ad-unit', - request: request, - rewardedInterstitialAdLoadCallback: RewardedInterstitialAdLoadCallback( - onAdLoaded: (ad) { - rewardedInterstitial = ad; - }, - onAdFailedToLoad: (error) => null, - ), - ); - - RewardedInterstitialAd createdAd = - instanceManager.adFor(0) as RewardedInterstitialAd; - (createdAd).rewardedInterstitialAdLoadCallback.onAdLoaded(createdAd); - - expect(log, [ - isMethodCall( - 'loadRewardedInterstitialAd', - arguments: { - 'adId': 0, - 'adUnitId': 'test-ad-unit', - 'request': request, - 'adManagerRequest': null, - }, - ), - ]); - - expect(instanceManager.adFor(0), isNotNull); - expect(rewardedInterstitial, createdAd); - - log.clear(); - await rewardedInterstitial!.show( - onUserEarnedReward: (ad, reward) => null, - ); - expect(log, [ - isMethodCall( - 'showAdWithoutView', - arguments: {'adId': 0}, - ), - ]); - - // Check that full screen events are passed correctly. - Completer impressionCompleter = - Completer(); - Completer failedToShowCompleter = - Completer(); - Completer showedCompleter = - Completer(); - Completer dismissedCompleter = - Completer(); - Completer clickedCompleter = - Completer(); - - rewardedInterstitial!.fullScreenContentCallback = - FullScreenContentCallback( - onAdImpression: (ad) => impressionCompleter.complete(ad), - onAdShowedFullScreenContent: (ad) => showedCompleter.complete(ad), - onAdFailedToShowFullScreenContent: (ad, error) => - failedToShowCompleter.complete(ad), - onAdDismissedFullScreenContent: (ad) => - dismissedCompleter.complete(ad), - onAdClicked: (ad) => clickedCompleter.complete(ad), - ); - - await TestUtil.sendAdEvent(0, 'onAdImpression', instanceManager); - expect(await impressionCompleter.future, rewardedInterstitial); - - await TestUtil.sendAdEvent( - 0, - 'onAdShowedFullScreenContent', - instanceManager, - ); - expect(await showedCompleter.future, rewardedInterstitial); - - await TestUtil.sendAdEvent( - 0, - 'onAdDismissedFullScreenContent', - instanceManager, - ); - expect(await dismissedCompleter.future, rewardedInterstitial); - - await TestUtil.sendAdEvent(0, 'onAdClicked', instanceManager); - expect(await clickedCompleter.future, rewardedInterstitial); - - await TestUtil.sendAdEvent( - 0, - 'onFailedToShowFullScreenContent', - instanceManager, - {'error': AdError(1, 'domain', 'message')}, - ); - expect(await failedToShowCompleter.future, rewardedInterstitial); - - // Check paid event callback - Completer> paidEventCompleter = Completer>(); - rewardedInterstitial!.onPaidEvent = (ad, value, precision, currency) { - paidEventCompleter.complete([ad, value, precision, currency]); - }; - - const paidEventArgs = { - 'valueMicros': 1.2345, - 'precision': 0, - 'currencyCode': 'USD', - }; - await TestUtil.sendAdEvent( - 0, - 'onPaidEvent', - instanceManager, - paidEventArgs, - ); - List paidEventCallback = await paidEventCompleter.future; - expect(paidEventCallback[0], rewardedInterstitial); - expect(paidEventCallback[1], 1.2345); - expect(paidEventCallback[2], PrecisionType.unknown); - expect(paidEventCallback[3], 'USD'); - }); - - test('load show rewarded interstitial ios', () async { - debugDefaultTargetPlatformOverride = TargetPlatform.iOS; - RewardedInterstitialAd? rewardedInterstitial; - AdRequest request = AdRequest(); - await RewardedInterstitialAd.load( - adUnitId: 'test-ad-unit', - request: request, - rewardedInterstitialAdLoadCallback: RewardedInterstitialAdLoadCallback( - onAdLoaded: (ad) { - rewardedInterstitial = ad; - }, - onAdFailedToLoad: (error) => null, - ), - ); - - RewardedInterstitialAd createdAd = - instanceManager.adFor(0) as RewardedInterstitialAd; - (createdAd).rewardedInterstitialAdLoadCallback.onAdLoaded(createdAd); - - expect(log, [ - isMethodCall( - 'loadRewardedInterstitialAd', - arguments: { - 'adId': 0, - 'adUnitId': 'test-ad-unit', - 'request': request, - 'adManagerRequest': null, - }, - ), - ]); - - expect(instanceManager.adFor(0), isNotNull); - expect(rewardedInterstitial, createdAd); - - log.clear(); - await rewardedInterstitial!.show( - onUserEarnedReward: (ad, reward) => null, - ); - expect(log, [ - isMethodCall( - 'showAdWithoutView', - arguments: {'adId': 0}, - ), - ]); - - // Check that full screen events are passed correctly. - Completer impressionCompleter = - Completer(); - Completer failedToShowCompleter = - Completer(); - Completer showedCompleter = - Completer(); - Completer dismissedCompleter = - Completer(); - Completer clickedCompleter = - Completer(); - Completer willDismissCompleter = - Completer(); - - rewardedInterstitial!.fullScreenContentCallback = - FullScreenContentCallback( - onAdImpression: (ad) => impressionCompleter.complete(ad), - onAdShowedFullScreenContent: (ad) => showedCompleter.complete(ad), - onAdFailedToShowFullScreenContent: (ad, error) => - failedToShowCompleter.complete(ad), - onAdDismissedFullScreenContent: (ad) => - dismissedCompleter.complete(ad), - onAdClicked: (ad) => clickedCompleter.complete(ad), - onAdWillDismissFullScreenContent: (ad) => - willDismissCompleter.complete(ad), - ); - - await TestUtil.sendAdEvent(0, 'adDidRecordImpression', instanceManager); - expect(await impressionCompleter.future, rewardedInterstitial); - - await TestUtil.sendAdEvent( - 0, - 'adWillPresentFullScreenContent', - instanceManager, - ); - expect(await showedCompleter.future, rewardedInterstitial); - - await TestUtil.sendAdEvent( - 0, - 'adDidDismissFullScreenContent', - instanceManager, - ); - expect(await dismissedCompleter.future, rewardedInterstitial); - - await TestUtil.sendAdEvent( - 0, - 'adWillDismissFullScreenContent', - instanceManager, - ); - expect(await dismissedCompleter.future, rewardedInterstitial); - - await TestUtil.sendAdEvent(0, 'adDidRecordClick', instanceManager); - expect(await clickedCompleter.future, rewardedInterstitial); - - await TestUtil.sendAdEvent( - 0, - 'didFailToPresentFullScreenContentWithError', - instanceManager, - {'error': AdError(1, 'domain', 'message')}, - ); - expect(await failedToShowCompleter.future, rewardedInterstitial); - - // Check paid event callback - Completer> paidEventCompleter = Completer>(); - rewardedInterstitial!.onPaidEvent = (ad, value, precision, currency) { - paidEventCompleter.complete([ad, value, precision, currency]); - }; - - const paidEventArgs = { - 'valueMicros': 1.2345, - 'precision': 0, - 'currencyCode': 'USD', - }; - await TestUtil.sendAdEvent( - 0, - 'onPaidEvent', - instanceManager, - paidEventArgs, - ); - List paidEventCallback = await paidEventCompleter.future; - expect(paidEventCallback[0], rewardedInterstitial); - expect(paidEventCallback[1], 1.2345); - expect(paidEventCallback[2], PrecisionType.unknown); - expect(paidEventCallback[3], 'USD'); - }); - - test('load show rewarded interstitial with $AdManagerAdRequest', () async { - RewardedInterstitialAd? rewardedInterstitial; - AdManagerAdRequest request = AdManagerAdRequest(); - await RewardedInterstitialAd.loadWithAdManagerAdRequest( - adUnitId: 'test-ad-unit', - adManagerRequest: request, - rewardedInterstitialAdLoadCallback: RewardedInterstitialAdLoadCallback( - onAdLoaded: (ad) { - rewardedInterstitial = ad; - }, - onAdFailedToLoad: (error) => null, - ), - ); - - RewardedInterstitialAd createdAd = - instanceManager.adFor(0) as RewardedInterstitialAd; - (createdAd).rewardedInterstitialAdLoadCallback.onAdLoaded(createdAd); - - expect(log, [ - isMethodCall( - 'loadRewardedInterstitialAd', - arguments: { - 'adId': 0, - 'adUnitId': 'test-ad-unit', - 'request': null, - 'adManagerRequest': request, - }, - ), - ]); - - expect(instanceManager.adFor(0), isNotNull); - - log.clear(); - await rewardedInterstitial!.show( - onUserEarnedReward: (ad, reward) => null, - ); - expect(log, [ - isMethodCall( - 'showAdWithoutView', - arguments: {'adId': 0}, - ), - ]); - }); - - test('onAdFailedToLoad rewarded interstitial', () async { - final Completer resultsCompleter = Completer(); - final AdRequest request = AdRequest(); - await RewardedInterstitialAd.load( - adUnitId: 'test-ad-unit', - request: request, - rewardedInterstitialAdLoadCallback: RewardedInterstitialAdLoadCallback( - onAdLoaded: (ad) => null, - onAdFailedToLoad: (error) => resultsCompleter.complete(error), - ), - ); - - expect(log, [ - isMethodCall( - 'loadRewardedInterstitialAd', - arguments: { - 'adId': 0, - 'adUnitId': 'test-ad-unit', - 'request': request, - 'adManagerRequest': null, - }, - ), - ]); - - expect(instanceManager.adFor(0), isNotNull); - - // Simulate onAdFailedToLoad. - AdError adError = AdError(1, 'domain', 'error-message'); - AdapterResponseInfo adapterResponseInfo = AdapterResponseInfo( - adapterClassName: 'adapter-name', - latencyMillis: 500, - description: 'message', - adUnitMapping: {'key': 'value'}, - adError: adError, - adSourceName: 'adSourceName', - adSourceId: 'adSourceId', - adSourceInstanceName: 'adSourceInstanceName', - adSourceInstanceId: 'adSourceInstanceId', - ); - - List adapterResponses = [adapterResponseInfo]; - ResponseInfo responseInfo = ResponseInfo( - responseId: 'id', - mediationAdapterClassName: 'className', - adapterResponses: adapterResponses, - responseExtras: {'key': 12345}, - ); - - final MethodCall methodCall = MethodCall('onAdEvent', { - 'adId': 0, - 'eventName': 'onAdFailedToLoad', - 'loadAdError': LoadAdError(1, 'domain', 'message', responseInfo), - }); - - final ByteData data = instanceManager.channel.codec.encodeMethodCall( - methodCall, - ); - await TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger - .handlePlatformMessage( - 'plugins.flutter.io/google_mobile_ads', - data, - (data) {}, - ); - - // The ad reference should be freed when load failure occurs. - expect(instanceManager.adFor(0), isNull); - - // Check that load error matches. - final LoadAdError result = await resultsCompleter.future; - expect(result.code, 1); - expect(result.domain, 'domain'); - expect(result.message, 'message'); - expect(result.responseInfo!.responseId, responseInfo.responseId); - expect( - result.responseInfo!.mediationAdapterClassName, - responseInfo.mediationAdapterClassName, - ); - expect(result.responseInfo!.responseExtras, responseInfo.responseExtras); - List responses = - result.responseInfo!.adapterResponses!; - expect(responses.first.adapterClassName, 'adapter-name'); - expect(responses.first.latencyMillis, 500); - expect(responses.first.description, 'message'); - expect(responses.first.adUnitMapping, {'key': 'value'}); - expect(responses.first.adError!.code, 1); - expect(responses.first.adError!.message, 'error-message'); - expect(responses.first.adError!.domain, 'domain'); - }); - - test('onRewardedInterstitialAdUserEarnedReward', () async { - final Completer> resultCompleter = - Completer>(); - - RewardedInterstitialAd? rewardedInterstitial; - await RewardedInterstitialAd.load( - adUnitId: 'test-ad-unit', - request: AdRequest(), - rewardedInterstitialAdLoadCallback: RewardedInterstitialAdLoadCallback( - onAdLoaded: (ad) { - rewardedInterstitial = ad; - }, - onAdFailedToLoad: (error) => null, - ), - ); - - RewardedInterstitialAd createdAd = - instanceManager.adFor(0) as RewardedInterstitialAd; - createdAd.rewardedInterstitialAdLoadCallback.onAdLoaded(createdAd); - // Reward callback is now set when you call show. - await rewardedInterstitial!.show( - onUserEarnedReward: (ad, item) => - resultCompleter.complete([ad, item]), - ); - - final MethodCall methodCall = MethodCall('onAdEvent', { - 'adId': 0, - 'eventName': 'onRewardedInterstitialAdUserEarnedReward', - 'rewardItem': RewardItem(1, 'one'), - }); - - final ByteData data = instanceManager.channel.codec.encodeMethodCall( - methodCall, - ); - await TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger - .handlePlatformMessage( - 'plugins.flutter.io/google_mobile_ads', - data, - (data) {}, - ); - - final List result = await resultCompleter.future; - expect(result[0], rewardedInterstitial!); - expect(result[1].amount, 1); - expect(result[1].type, 'one'); - }); - - test('setServerSideVerificationOptions', () async { - final adLoadCompleter = Completer(); - await RewardedInterstitialAd.load( - adUnitId: 'test-ad-unit', - request: AdRequest(), - rewardedInterstitialAdLoadCallback: RewardedInterstitialAdLoadCallback( - onAdLoaded: (ad) { - adLoadCompleter.complete(ad); - }, - onAdFailedToLoad: (_) => null, - ), - ); - - await TestUtil.sendAdEvent(0, 'onAdLoaded', instanceManager); - expect(adLoadCompleter.isCompleted, true); - final ad = await adLoadCompleter.future; - - log.clear(); - final ssv = ServerSideVerificationOptions( - userId: 'id', - customData: 'data', - ); - await ad.setServerSideOptions(ssv); - expect(log, [ - isMethodCall( - 'setServerSideVerificationOptions', - arguments: { - 'adId': 0, - 'serverSideVerificationOptions': ssv, - }, - ), - ]); - }); - }); -} diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/test/test_util.dart b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/test/test_util.dart deleted file mode 100644 index cfaa6b6e..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/test/test_util.dart +++ /dev/null @@ -1,47 +0,0 @@ -// Copyright 2021 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -import 'package:flutter/services.dart'; -import 'package:flutter_test/flutter_test.dart'; -import 'package:google_mobile_ads/src/ad_instance_manager.dart'; - -/// Shared test functions. -class TestUtil { - /// Mocks sending an ad event to [instanceManager]. - /// - /// Creates an `onAdEvent` [MethodCall] with [adId], [eventName] and - /// [additionalArgs], encodes it into [ByteData] and sends it as a platform - /// message to [instanceManager]. - static Future sendAdEvent( - int adId, - String eventName, - AdInstanceManager instanceManager, [ - Map? additionalArgs, - ]) async { - Map args = {'adId': adId, 'eventName': eventName}; - additionalArgs?.entries.forEach( - (element) => args[element.key] = element.value, - ); - final MethodCall methodCall = MethodCall('onAdEvent', args); - final ByteData data = instanceManager.channel.codec.encodeMethodCall( - methodCall, - ); - await TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger - .handlePlatformMessage( - 'plugins.flutter.io/google_mobile_ads', - data, - (data) {}, - ); - } -} diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/test/ump/consent_form_impl_test.dart b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/test/ump/consent_form_impl_test.dart deleted file mode 100644 index 4f44551e..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/test/ump/consent_form_impl_test.dart +++ /dev/null @@ -1,80 +0,0 @@ -// Copyright 2022 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -import 'dart:async'; - -import 'package:google_mobile_ads/src/ump/consent_form_impl.dart'; -import 'package:google_mobile_ads/src/ump/form_error.dart'; -import 'package:flutter_test/flutter_test.dart'; -import 'package:google_mobile_ads/src/ump/user_messaging_channel.dart'; -import 'package:mockito/annotations.dart'; -import 'package:mockito/mockito.dart'; - -import 'consent_form_impl_test.mocks.dart'; - -@GenerateMocks([UserMessagingChannel]) -void main() { - TestWidgetsFlutterBinding.ensureInitialized(); - - group('ConsentFormImpl', () { - late MockUserMessagingChannel mockChannel; - - setUp(() async { - mockChannel = MockUserMessagingChannel(); - UserMessagingChannel.instance = mockChannel; - }); - - test('show() success', () async { - when(mockChannel.show(any, any)).thenAnswer((realInvocation) { - realInvocation.positionalArguments[1](null); - }); - ConsentFormImpl form = ConsentFormImpl(1); - Completer errorCompleter = Completer(); - - form.show((formError) => errorCompleter.complete(formError)); - - FormError? error = await errorCompleter.future; - - expect(errorCompleter.isCompleted, true); - expect(error, null); - }); - - test('show() failure', () async { - FormError error = FormError(errorCode: 1, message: 'msg'); - when(mockChannel.show(any, any)).thenAnswer((realInvocation) { - realInvocation.positionalArguments[1](error); - }); - ConsentFormImpl form = ConsentFormImpl(1); - Completer errorCompleter = Completer(); - - form.show((formError) => errorCompleter.complete(formError)); - - FormError? completedError = await errorCompleter.future; - - expect(errorCompleter.isCompleted, true); - expect(error, completedError); - }); - - test('dispose()', () async { - ConsentFormImpl form = ConsentFormImpl(1); - - when( - mockChannel.disposeConsentForm(form), - ).thenAnswer((realInvocation) => Future.value()); - - await form.dispose(); - verify(mockChannel.disposeConsentForm(form)); - }); - }); -} diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/test/ump/consent_form_impl_test.mocks.dart b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/test/ump/consent_form_impl_test.mocks.dart deleted file mode 100644 index 72bb79f7..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/test/ump/consent_form_impl_test.mocks.dart +++ /dev/null @@ -1,140 +0,0 @@ -// Mocks generated by Mockito 5.4.4 from annotations -// in google_mobile_ads/test/ump/consent_form_impl_test.dart. -// Do not manually edit this file. - -// ignore_for_file: no_leading_underscores_for_library_prefixes -import 'dart:async' as _i5; - -import 'package:google_mobile_ads/src/ump/consent_form.dart' as _i6; -import 'package:google_mobile_ads/src/ump/consent_information.dart' as _i4; -import 'package:google_mobile_ads/src/ump/consent_request_parameters.dart' - as _i3; -import 'package:google_mobile_ads/src/ump/form_error.dart' as _i7; -import 'package:google_mobile_ads/src/ump/user_messaging_channel.dart' as _i2; -import 'package:mockito/mockito.dart' as _i1; - -// ignore_for_file: type=lint -// ignore_for_file: avoid_redundant_argument_values -// ignore_for_file: avoid_setters_without_getters -// ignore_for_file: comment_references -// ignore_for_file: deprecated_member_use -// ignore_for_file: deprecated_member_use_from_same_package -// ignore_for_file: implementation_imports -// ignore_for_file: invalid_use_of_visible_for_testing_member -// ignore_for_file: prefer_const_constructors -// ignore_for_file: unnecessary_parenthesis -// ignore_for_file: camel_case_types -// ignore_for_file: subtype_of_sealed_class - -/// A class which mocks [UserMessagingChannel]. -/// -/// See the documentation for Mockito's code generation for more information. -class MockUserMessagingChannel extends _i1.Mock - implements _i2.UserMessagingChannel { - MockUserMessagingChannel() { - _i1.throwOnMissingStub(this); - } - - @override - void requestConsentInfoUpdate( - _i3.ConsentRequestParameters? params, - _i4.OnConsentInfoUpdateSuccessListener? successListener, - _i4.OnConsentInfoUpdateFailureListener? failureListener, - ) => super.noSuchMethod( - Invocation.method(#requestConsentInfoUpdate, [ - params, - successListener, - failureListener, - ]), - returnValueForMissingStub: null, - ); - - @override - _i5.Future isConsentFormAvailable() => - (super.noSuchMethod( - Invocation.method(#isConsentFormAvailable, []), - returnValue: _i5.Future.value(false), - ) - as _i5.Future); - - @override - _i5.Future<_i4.ConsentStatus> getConsentStatus() => - (super.noSuchMethod( - Invocation.method(#getConsentStatus, []), - returnValue: _i5.Future<_i4.ConsentStatus>.value( - _i4.ConsentStatus.notRequired, - ), - ) - as _i5.Future<_i4.ConsentStatus>); - - @override - _i5.Future reset() => - (super.noSuchMethod( - Invocation.method(#reset, []), - returnValue: _i5.Future.value(), - returnValueForMissingStub: _i5.Future.value(), - ) - as _i5.Future); - - @override - _i5.Future canRequestAds() => - (super.noSuchMethod( - Invocation.method(#canRequestAds, []), - returnValue: _i5.Future.value(false), - ) - as _i5.Future); - - @override - _i5.Future<_i4.PrivacyOptionsRequirementStatus> - getPrivacyOptionsRequirementStatus() => - (super.noSuchMethod( - Invocation.method(#getPrivacyOptionsRequirementStatus, []), - returnValue: _i5.Future<_i4.PrivacyOptionsRequirementStatus>.value( - _i4.PrivacyOptionsRequirementStatus.notRequired, - ), - ) - as _i5.Future<_i4.PrivacyOptionsRequirementStatus>); - - @override - void loadConsentForm( - _i6.OnConsentFormLoadSuccessListener? successListener, - _i6.OnConsentFormLoadFailureListener? failureListener, - ) => super.noSuchMethod( - Invocation.method(#loadConsentForm, [successListener, failureListener]), - returnValueForMissingStub: null, - ); - - @override - _i5.Future<_i7.FormError?> loadAndShowConsentFormIfRequired() => - (super.noSuchMethod( - Invocation.method(#loadAndShowConsentFormIfRequired, []), - returnValue: _i5.Future<_i7.FormError?>.value(), - ) - as _i5.Future<_i7.FormError?>); - - @override - void show( - _i6.ConsentForm? consentForm, - _i6.OnConsentFormDismissedListener? onConsentFormDismissedListener, - ) => super.noSuchMethod( - Invocation.method(#show, [consentForm, onConsentFormDismissedListener]), - returnValueForMissingStub: null, - ); - - @override - _i5.Future<_i7.FormError?> showPrivacyOptionsForm() => - (super.noSuchMethod( - Invocation.method(#showPrivacyOptionsForm, []), - returnValue: _i5.Future<_i7.FormError?>.value(), - ) - as _i5.Future<_i7.FormError?>); - - @override - _i5.Future disposeConsentForm(_i6.ConsentForm? consentForm) => - (super.noSuchMethod( - Invocation.method(#disposeConsentForm, [consentForm]), - returnValue: _i5.Future.value(), - returnValueForMissingStub: _i5.Future.value(), - ) - as _i5.Future); -} diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/test/ump/consent_form_test.dart b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/test/ump/consent_form_test.dart deleted file mode 100644 index 27a510aa..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/test/ump/consent_form_test.dart +++ /dev/null @@ -1,133 +0,0 @@ -// Copyright 2022 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -import 'dart:async'; - -import 'package:google_mobile_ads/src/ump/consent_form.dart'; -import 'package:google_mobile_ads/src/ump/consent_form_impl.dart'; -import 'package:google_mobile_ads/src/ump/form_error.dart'; -import 'package:flutter_test/flutter_test.dart'; -import 'package:google_mobile_ads/src/ump/user_messaging_channel.dart'; -import 'package:mockito/annotations.dart'; -import 'package:mockito/mockito.dart'; - -import 'consent_form_test.mocks.dart'; - -@GenerateNiceMocks(>[MockSpec()]) -void main() { - TestWidgetsFlutterBinding.ensureInitialized(); - - group('ConsentForm', () { - late MockUserMessagingChannel mockChannel; - - setUp(() async { - mockChannel = MockUserMessagingChannel(); - UserMessagingChannel.instance = mockChannel; - }); - - test('showPrivacyOptionsForm success', () async { - Completer formCompleter = Completer(); - - await ConsentForm.showPrivacyOptionsForm( - (formError) => formCompleter.complete(formError), - ); - - FormError? formError = await formCompleter.future; - expect(formError, null); - }); - - test('showPrivacyOptionsForm failure', () async { - FormError? testError = FormError(errorCode: 1, message: 'testErrorMsg'); - when( - mockChannel.showPrivacyOptionsForm(), - ).thenAnswer((realInvocation) => Future.value(testError)); - Completer formCompleter = Completer(); - - await ConsentForm.showPrivacyOptionsForm( - (formError) => formCompleter.complete(formError), - ); - - FormError? formError = await formCompleter.future; - expect(formError, testError); - }); - - test('loadConsentForm() success', () async { - ConsentForm form = ConsentFormImpl(2); - - when(mockChannel.loadConsentForm(any, any)).thenAnswer( - (realInvocation) => realInvocation.positionalArguments[0](form), - ); - - Completer successCompleter = Completer(); - Completer errorCompleter = Completer(); - - ConsentForm.loadConsentForm( - (consentForm) => successCompleter.complete(consentForm), - (formError) => errorCompleter.complete(formError), - ); - - ConsentForm responseForm = await successCompleter.future; - expect(successCompleter.isCompleted, true); - expect(errorCompleter.isCompleted, false); - expect(form, responseForm); - }); - - test('loadConsentForm() failure', () async { - FormError formError = FormError(errorCode: 1, message: 'message'); - - when(mockChannel.loadConsentForm(any, any)).thenAnswer( - (realInvocation) => realInvocation.positionalArguments[1](formError), - ); - - Completer successCompleter = Completer(); - Completer errorCompleter = Completer(); - - ConsentForm.loadConsentForm( - (consentForm) => successCompleter.complete(consentForm), - (formError) => errorCompleter.complete(formError), - ); - - FormError responseError = await errorCompleter.future; - expect(formError, responseError); - expect(successCompleter.isCompleted, false); - expect(errorCompleter.isCompleted, true); - }); - - test('loadAndShowConsentFormIfRequired success', () async { - Completer formCompleter = Completer(); - - await ConsentForm.loadAndShowConsentFormIfRequired( - (formError) => formCompleter.complete(formError), - ); - - FormError? formError = await formCompleter.future; - expect(formError, null); - }); - - test('loadAndShowConsentFormIfRequired failure', () async { - FormError? testError = FormError(errorCode: 1, message: 'testErrorMsg'); - when( - mockChannel.loadAndShowConsentFormIfRequired(), - ).thenAnswer((realInvocation) => Future.value(testError)); - Completer formCompleter = Completer(); - - await ConsentForm.loadAndShowConsentFormIfRequired( - (formError) => formCompleter.complete(formError), - ); - - FormError? formError = await formCompleter.future; - expect(formError, testError); - }); - }); -} diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/test/ump/consent_form_test.mocks.dart b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/test/ump/consent_form_test.mocks.dart deleted file mode 100644 index 301aee2f..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/test/ump/consent_form_test.mocks.dart +++ /dev/null @@ -1,147 +0,0 @@ -// Mocks generated by Mockito 5.4.4 from annotations -// in google_mobile_ads/test/ump/consent_form_test.dart. -// Do not manually edit this file. - -// ignore_for_file: no_leading_underscores_for_library_prefixes -import 'dart:async' as _i5; - -import 'package:google_mobile_ads/src/ump/consent_form.dart' as _i6; -import 'package:google_mobile_ads/src/ump/consent_information.dart' as _i4; -import 'package:google_mobile_ads/src/ump/consent_request_parameters.dart' - as _i3; -import 'package:google_mobile_ads/src/ump/form_error.dart' as _i7; -import 'package:google_mobile_ads/src/ump/user_messaging_channel.dart' as _i2; -import 'package:mockito/mockito.dart' as _i1; - -// ignore_for_file: type=lint -// ignore_for_file: avoid_redundant_argument_values -// ignore_for_file: avoid_setters_without_getters -// ignore_for_file: comment_references -// ignore_for_file: deprecated_member_use -// ignore_for_file: deprecated_member_use_from_same_package -// ignore_for_file: implementation_imports -// ignore_for_file: invalid_use_of_visible_for_testing_member -// ignore_for_file: prefer_const_constructors -// ignore_for_file: unnecessary_parenthesis -// ignore_for_file: camel_case_types -// ignore_for_file: subtype_of_sealed_class - -/// A class which mocks [UserMessagingChannel]. -/// -/// See the documentation for Mockito's code generation for more information. -class MockUserMessagingChannel extends _i1.Mock - implements _i2.UserMessagingChannel { - @override - void requestConsentInfoUpdate( - _i3.ConsentRequestParameters? params, - _i4.OnConsentInfoUpdateSuccessListener? successListener, - _i4.OnConsentInfoUpdateFailureListener? failureListener, - ) => super.noSuchMethod( - Invocation.method(#requestConsentInfoUpdate, [ - params, - successListener, - failureListener, - ]), - returnValueForMissingStub: null, - ); - - @override - _i5.Future isConsentFormAvailable() => - (super.noSuchMethod( - Invocation.method(#isConsentFormAvailable, []), - returnValue: _i5.Future.value(false), - returnValueForMissingStub: _i5.Future.value(false), - ) - as _i5.Future); - - @override - _i5.Future<_i4.ConsentStatus> getConsentStatus() => - (super.noSuchMethod( - Invocation.method(#getConsentStatus, []), - returnValue: _i5.Future<_i4.ConsentStatus>.value( - _i4.ConsentStatus.notRequired, - ), - returnValueForMissingStub: _i5.Future<_i4.ConsentStatus>.value( - _i4.ConsentStatus.notRequired, - ), - ) - as _i5.Future<_i4.ConsentStatus>); - - @override - _i5.Future reset() => - (super.noSuchMethod( - Invocation.method(#reset, []), - returnValue: _i5.Future.value(), - returnValueForMissingStub: _i5.Future.value(), - ) - as _i5.Future); - - @override - _i5.Future canRequestAds() => - (super.noSuchMethod( - Invocation.method(#canRequestAds, []), - returnValue: _i5.Future.value(false), - returnValueForMissingStub: _i5.Future.value(false), - ) - as _i5.Future); - - @override - _i5.Future<_i4.PrivacyOptionsRequirementStatus> - getPrivacyOptionsRequirementStatus() => - (super.noSuchMethod( - Invocation.method(#getPrivacyOptionsRequirementStatus, []), - returnValue: _i5.Future<_i4.PrivacyOptionsRequirementStatus>.value( - _i4.PrivacyOptionsRequirementStatus.notRequired, - ), - returnValueForMissingStub: - _i5.Future<_i4.PrivacyOptionsRequirementStatus>.value( - _i4.PrivacyOptionsRequirementStatus.notRequired, - ), - ) - as _i5.Future<_i4.PrivacyOptionsRequirementStatus>); - - @override - void loadConsentForm( - _i6.OnConsentFormLoadSuccessListener? successListener, - _i6.OnConsentFormLoadFailureListener? failureListener, - ) => super.noSuchMethod( - Invocation.method(#loadConsentForm, [successListener, failureListener]), - returnValueForMissingStub: null, - ); - - @override - _i5.Future<_i7.FormError?> loadAndShowConsentFormIfRequired() => - (super.noSuchMethod( - Invocation.method(#loadAndShowConsentFormIfRequired, []), - returnValue: _i5.Future<_i7.FormError?>.value(), - returnValueForMissingStub: _i5.Future<_i7.FormError?>.value(), - ) - as _i5.Future<_i7.FormError?>); - - @override - void show( - _i6.ConsentForm? consentForm, - _i6.OnConsentFormDismissedListener? onConsentFormDismissedListener, - ) => super.noSuchMethod( - Invocation.method(#show, [consentForm, onConsentFormDismissedListener]), - returnValueForMissingStub: null, - ); - - @override - _i5.Future<_i7.FormError?> showPrivacyOptionsForm() => - (super.noSuchMethod( - Invocation.method(#showPrivacyOptionsForm, []), - returnValue: _i5.Future<_i7.FormError?>.value(), - returnValueForMissingStub: _i5.Future<_i7.FormError?>.value(), - ) - as _i5.Future<_i7.FormError?>); - - @override - _i5.Future disposeConsentForm(_i6.ConsentForm? consentForm) => - (super.noSuchMethod( - Invocation.method(#disposeConsentForm, [consentForm]), - returnValue: _i5.Future.value(), - returnValueForMissingStub: _i5.Future.value(), - ) - as _i5.Future); -} diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/test/ump/consent_information_impl_test.dart b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/test/ump/consent_information_impl_test.dart deleted file mode 100644 index 9e8027e7..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/test/ump/consent_information_impl_test.dart +++ /dev/null @@ -1,140 +0,0 @@ -// Copyright 2022 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -import 'dart:async'; - -import 'package:google_mobile_ads/google_mobile_ads.dart'; -import 'package:google_mobile_ads/src/ump/consent_information_impl.dart'; -import 'package:flutter_test/flutter_test.dart'; -import 'package:google_mobile_ads/src/ump/user_messaging_channel.dart'; -import 'package:mockito/annotations.dart'; -import 'package:mockito/mockito.dart'; - -import 'consent_information_impl_test.mocks.dart'; - -@GenerateMocks([UserMessagingChannel]) -void main() { - TestWidgetsFlutterBinding.ensureInitialized(); - - group('ConsentInformationImpl', () { - late MockUserMessagingChannel mockChannel; - late ConsentInformationImpl consentInfo; - - setUp(() async { - mockChannel = MockUserMessagingChannel(); - UserMessagingChannel.instance = mockChannel; - consentInfo = ConsentInformationImpl(); - }); - - test('reset()', () async { - when(mockChannel.reset()).thenAnswer((_) => Future.value()); - - await consentInfo.reset(); - - verify(mockChannel.reset()); - }); - - test('getConsentStatus()', () async { - ConsentStatus status = ConsentStatus.required; - when( - mockChannel.getConsentStatus(), - ).thenAnswer((_) => Future.value(status)); - - ConsentStatus responseStatus = await consentInfo.getConsentStatus(); - - verify(mockChannel.getConsentStatus()); - expect(responseStatus, status); - }); - - test('isConsentFormAvailable()', () async { - when( - mockChannel.isConsentFormAvailable(), - ).thenAnswer((_) => Future.value(false)); - - bool isConsentFormAvailable = await consentInfo.isConsentFormAvailable(); - - verify(mockChannel.isConsentFormAvailable()); - expect(isConsentFormAvailable, false); - }); - - test('requestConsentInfoUpdate() success', () async { - when(mockChannel.requestConsentInfoUpdate(any, any, any)).thenAnswer(( - invocation, - ) { - invocation.positionalArguments[1](); - }); - - ConsentRequestParameters params = ConsentRequestParameters(); - Completer successCompleter = Completer(); - Completer errorCompleter = Completer(); - - consentInfo.requestConsentInfoUpdate( - params, - () => successCompleter.complete(), - (error) => errorCompleter.complete(error), - ); - - await successCompleter.future; - verify(mockChannel.requestConsentInfoUpdate(params, any, any)); - expect(successCompleter.isCompleted, true); - expect(errorCompleter.isCompleted, false); - }); - - test('requestConsentInfoUpdate() failure', () async { - FormError formError = FormError(errorCode: 1, message: 'msg'); - when(mockChannel.requestConsentInfoUpdate(any, any, any)).thenAnswer(( - invocation, - ) { - invocation.positionalArguments[2](formError); - }); - - ConsentRequestParameters params = ConsentRequestParameters(); - Completer successCompleter = Completer(); - Completer errorCompleter = Completer(); - - consentInfo.requestConsentInfoUpdate( - params, - () => successCompleter.complete(), - (error) => errorCompleter.complete(error), - ); - - FormError responseError = await errorCompleter.future; - verify(mockChannel.requestConsentInfoUpdate(params, any, any)); - expect(successCompleter.isCompleted, false); - expect(errorCompleter.isCompleted, true); - expect(responseError, formError); - }); - - test('canRequestAds()', () async { - when(mockChannel.canRequestAds()).thenAnswer((_) => Future.value(true)); - - bool canRequestAds = await consentInfo.canRequestAds(); - - verify(mockChannel.canRequestAds()); - expect(canRequestAds, true); - }); - - test('getPrivacyOptionsRequirementStatus()', () async { - when(mockChannel.getPrivacyOptionsRequirementStatus()).thenAnswer( - (_) => Future.value(PrivacyOptionsRequirementStatus.required), - ); - - PrivacyOptionsRequirementStatus status = await consentInfo - .getPrivacyOptionsRequirementStatus(); - - verify(mockChannel.getPrivacyOptionsRequirementStatus()); - expect(status, PrivacyOptionsRequirementStatus.required); - }); - }); -} diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/test/ump/consent_information_impl_test.mocks.dart b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/test/ump/consent_information_impl_test.mocks.dart deleted file mode 100644 index 3edbd3b1..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/test/ump/consent_information_impl_test.mocks.dart +++ /dev/null @@ -1,140 +0,0 @@ -// Mocks generated by Mockito 5.4.4 from annotations -// in google_mobile_ads/test/ump/consent_information_impl_test.dart. -// Do not manually edit this file. - -// ignore_for_file: no_leading_underscores_for_library_prefixes -import 'dart:async' as _i5; - -import 'package:google_mobile_ads/src/ump/consent_form.dart' as _i6; -import 'package:google_mobile_ads/src/ump/consent_information.dart' as _i4; -import 'package:google_mobile_ads/src/ump/consent_request_parameters.dart' - as _i3; -import 'package:google_mobile_ads/src/ump/form_error.dart' as _i7; -import 'package:google_mobile_ads/src/ump/user_messaging_channel.dart' as _i2; -import 'package:mockito/mockito.dart' as _i1; - -// ignore_for_file: type=lint -// ignore_for_file: avoid_redundant_argument_values -// ignore_for_file: avoid_setters_without_getters -// ignore_for_file: comment_references -// ignore_for_file: deprecated_member_use -// ignore_for_file: deprecated_member_use_from_same_package -// ignore_for_file: implementation_imports -// ignore_for_file: invalid_use_of_visible_for_testing_member -// ignore_for_file: prefer_const_constructors -// ignore_for_file: unnecessary_parenthesis -// ignore_for_file: camel_case_types -// ignore_for_file: subtype_of_sealed_class - -/// A class which mocks [UserMessagingChannel]. -/// -/// See the documentation for Mockito's code generation for more information. -class MockUserMessagingChannel extends _i1.Mock - implements _i2.UserMessagingChannel { - MockUserMessagingChannel() { - _i1.throwOnMissingStub(this); - } - - @override - void requestConsentInfoUpdate( - _i3.ConsentRequestParameters? params, - _i4.OnConsentInfoUpdateSuccessListener? successListener, - _i4.OnConsentInfoUpdateFailureListener? failureListener, - ) => super.noSuchMethod( - Invocation.method(#requestConsentInfoUpdate, [ - params, - successListener, - failureListener, - ]), - returnValueForMissingStub: null, - ); - - @override - _i5.Future isConsentFormAvailable() => - (super.noSuchMethod( - Invocation.method(#isConsentFormAvailable, []), - returnValue: _i5.Future.value(false), - ) - as _i5.Future); - - @override - _i5.Future<_i4.ConsentStatus> getConsentStatus() => - (super.noSuchMethod( - Invocation.method(#getConsentStatus, []), - returnValue: _i5.Future<_i4.ConsentStatus>.value( - _i4.ConsentStatus.notRequired, - ), - ) - as _i5.Future<_i4.ConsentStatus>); - - @override - _i5.Future reset() => - (super.noSuchMethod( - Invocation.method(#reset, []), - returnValue: _i5.Future.value(), - returnValueForMissingStub: _i5.Future.value(), - ) - as _i5.Future); - - @override - _i5.Future canRequestAds() => - (super.noSuchMethod( - Invocation.method(#canRequestAds, []), - returnValue: _i5.Future.value(false), - ) - as _i5.Future); - - @override - _i5.Future<_i4.PrivacyOptionsRequirementStatus> - getPrivacyOptionsRequirementStatus() => - (super.noSuchMethod( - Invocation.method(#getPrivacyOptionsRequirementStatus, []), - returnValue: _i5.Future<_i4.PrivacyOptionsRequirementStatus>.value( - _i4.PrivacyOptionsRequirementStatus.notRequired, - ), - ) - as _i5.Future<_i4.PrivacyOptionsRequirementStatus>); - - @override - void loadConsentForm( - _i6.OnConsentFormLoadSuccessListener? successListener, - _i6.OnConsentFormLoadFailureListener? failureListener, - ) => super.noSuchMethod( - Invocation.method(#loadConsentForm, [successListener, failureListener]), - returnValueForMissingStub: null, - ); - - @override - _i5.Future<_i7.FormError?> loadAndShowConsentFormIfRequired() => - (super.noSuchMethod( - Invocation.method(#loadAndShowConsentFormIfRequired, []), - returnValue: _i5.Future<_i7.FormError?>.value(), - ) - as _i5.Future<_i7.FormError?>); - - @override - void show( - _i6.ConsentForm? consentForm, - _i6.OnConsentFormDismissedListener? onConsentFormDismissedListener, - ) => super.noSuchMethod( - Invocation.method(#show, [consentForm, onConsentFormDismissedListener]), - returnValueForMissingStub: null, - ); - - @override - _i5.Future<_i7.FormError?> showPrivacyOptionsForm() => - (super.noSuchMethod( - Invocation.method(#showPrivacyOptionsForm, []), - returnValue: _i5.Future<_i7.FormError?>.value(), - ) - as _i5.Future<_i7.FormError?>); - - @override - _i5.Future disposeConsentForm(_i6.ConsentForm? consentForm) => - (super.noSuchMethod( - Invocation.method(#disposeConsentForm, [consentForm]), - returnValue: _i5.Future.value(), - returnValueForMissingStub: _i5.Future.value(), - ) - as _i5.Future); -} diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/test/ump/user_messaging_channel_test.dart b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/test/ump/user_messaging_channel_test.dart deleted file mode 100644 index 0b92a19e..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/test/ump/user_messaging_channel_test.dart +++ /dev/null @@ -1,460 +0,0 @@ -// Copyright 2022 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -import 'dart:async'; - -import 'package:google_mobile_ads/src/ump/consent_form_impl.dart'; -import 'package:flutter/services.dart'; -import 'package:flutter_test/flutter_test.dart'; -import 'package:google_mobile_ads/google_mobile_ads.dart'; -import 'package:google_mobile_ads/src/ump/user_messaging_channel.dart'; -import 'package:google_mobile_ads/src/ump/user_messaging_codec.dart'; - -void main() { - TestWidgetsFlutterBinding.ensureInitialized(); - - group('UserMessagingChannel', () { - late MethodChannel methodChannel; - late UserMessagingChannel channel; - setUp(() async { - methodChannel = MethodChannel( - 'test-channel', - StandardMethodCodec(UserMessagingCodec()), - ); - channel = UserMessagingChannel(methodChannel); - }); - - test('requestConsentInfoUpdate() success', () async { - ConsentRequestParameters params = ConsentRequestParameters( - tagForUnderAgeOfConsent: true, - consentDebugSettings: ConsentDebugSettings(), - ); - - TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger - .setMockMethodCallHandler(methodChannel, (MethodCall call) async { - expect( - call.method, - equals('ConsentInformation#requestConsentInfoUpdate'), - ); - expect(call.arguments, equals({'params': params})); - return Future.value(); - }); - - Completer successCompleter = Completer(); - Completer failureCompleter = Completer(); - // Test function - channel.requestConsentInfoUpdate( - params, - () { - successCompleter.complete(); - }, - (error) { - failureCompleter.complete(error); - }, - ); - await successCompleter.future; - - expect(successCompleter.isCompleted, true); - expect(failureCompleter.isCompleted, false); - }); - - test('requestConsentInfoUpdate() failure', () async { - ConsentRequestParameters params = ConsentRequestParameters( - tagForUnderAgeOfConsent: true, - consentDebugSettings: ConsentDebugSettings(), - ); - - TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger - .setMockMethodCallHandler(methodChannel, (MethodCall call) async { - expect( - call.method, - equals('ConsentInformation#requestConsentInfoUpdate'), - ); - expect(call.arguments, equals({'params': params})); - return Future.error( - PlatformException( - code: '1', - message: 'message', - details: 'details', - ), - ); - }); - - Completer successCompleter = Completer(); - Completer failureCompleter = Completer(); - - // Test function - channel.requestConsentInfoUpdate( - params, - () { - successCompleter.complete(); - }, - (error) { - failureCompleter.complete(error); - }, - ); - - FormError error = await failureCompleter.future; - expect(successCompleter.isCompleted, false); - expect(failureCompleter.isCompleted, true); - FormError expectedError = FormError(errorCode: 1, message: 'message'); - expect(error, equals(expectedError)); - }); - - test('isConsentFormAvailable() true', () async { - TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger - .setMockMethodCallHandler(methodChannel, (MethodCall call) async { - expect( - call.method, - equals('ConsentInformation#isConsentFormAvailable'), - ); - expect(call.arguments, null); - return Future.value(true); - }); - - bool isAvailable = await channel.isConsentFormAvailable(); - - expect(isAvailable, true); - }); - - test('isConsentFormAvailable() false', () async { - TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger - .setMockMethodCallHandler(methodChannel, (MethodCall call) async { - expect( - call.method, - equals('ConsentInformation#isConsentFormAvailable'), - ); - expect(call.arguments, null); - return Future.value(false); - }); - - bool isAvailable = await channel.isConsentFormAvailable(); - - expect(isAvailable, false); - }); - - test('getConsentStatus()', () async { - TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger - .setMockMethodCallHandler(methodChannel, (MethodCall call) async { - expect(call.method, equals('ConsentInformation#getConsentStatus')); - expect(call.arguments, null); - return Future.value(1); - }); - - ConsentStatus status = await channel.getConsentStatus(); - - expect(status, ConsentStatus.notRequired); - }); - - test('reset()', () async { - String? method; - dynamic arguments; - TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger - .setMockMethodCallHandler(methodChannel, (MethodCall call) async { - method = call.method; - arguments = call.arguments; - return Future.value(); - }); - - await channel.reset(); - - expect(method, equals('ConsentInformation#reset')); - expect(arguments, null); - }); - - test('loadConsentForm() success', () async { - String? method; - dynamic arguments; - ConsentForm consentForm = ConsentFormImpl(1); - TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger - .setMockMethodCallHandler(methodChannel, (MethodCall call) async { - method = call.method; - arguments = call.arguments; - return Future.value(consentForm); - }); - - Completer successCompleter = Completer(); - Completer failureCompleter = Completer(); - - // Test function - channel.loadConsentForm( - (consentForm) => successCompleter.complete(consentForm), - (formError) => failureCompleter.complete(formError), - ); - - ConsentForm response = await successCompleter.future; - expect(successCompleter.isCompleted, true); - expect(failureCompleter.isCompleted, false); - expect(method, equals('UserMessagingPlatform#loadConsentForm')); - expect(arguments, null); - expect(response, equals(consentForm)); - }); - - test('loadConsentForm() error', () async { - String? method; - dynamic arguments; - TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger - .setMockMethodCallHandler(methodChannel, (MethodCall call) async { - method = call.method; - arguments = call.arguments; - return Future.error( - PlatformException(code: '2', message: 'message'), - ); - }); - - Completer successCompleter = Completer(); - Completer failureCompleter = Completer(); - - // Test function - channel.loadConsentForm( - (consentForm) => successCompleter.complete(consentForm), - (formError) => failureCompleter.complete(formError), - ); - - FormError error = await failureCompleter.future; - expect(successCompleter.isCompleted, false); - expect(failureCompleter.isCompleted, true); - expect(method, equals('UserMessagingPlatform#loadConsentForm')); - expect(arguments, null); - expect(error, FormError(errorCode: 2, message: 'message')); - }); - - test('show() success', () async { - String? method; - dynamic arguments; - ConsentFormImpl consentForm = ConsentFormImpl(1); - TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger - .setMockMethodCallHandler(methodChannel, (MethodCall call) async { - method = call.method; - arguments = call.arguments; - return Future.value(); - }); - - Completer successCompleter = Completer(); - - // Test function - channel.show(consentForm, (error) => successCompleter.complete(error)); - - FormError? error = await successCompleter.future; - expect(successCompleter.isCompleted, true); - expect(method, equals('ConsentForm#show')); - expect(arguments, {'consentForm': consentForm}); - expect(error, null); - }); - - test('show() error', () async { - String? method; - dynamic arguments; - ConsentFormImpl consentForm = ConsentFormImpl(1); - TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger - .setMockMethodCallHandler(methodChannel, (MethodCall call) async { - method = call.method; - arguments = call.arguments; - return Future.error(PlatformException(code: '55', message: 'msg')); - }); - - Completer successCompleter = Completer(); - - // Test function - channel.show(consentForm, (error) => successCompleter.complete(error)); - - FormError? error = await successCompleter.future; - expect(successCompleter.isCompleted, true); - expect(method, equals('ConsentForm#show')); - expect(arguments, {'consentForm': consentForm}); - expect(error, FormError(errorCode: 55, message: 'msg')); - }); - - test('disposeConsentForm()', () async { - String? method; - dynamic arguments; - TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger - .setMockMethodCallHandler(methodChannel, (MethodCall call) async { - method = call.method; - arguments = call.arguments; - return Future.value(); - }); - - ConsentForm consentForm = ConsentFormImpl(1); - await channel.disposeConsentForm(consentForm); - - expect(method, equals('ConsentForm#dispose')); - expect(arguments, {'consentForm': consentForm}); - }); - - test('canRequestAds()', () async { - TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger - .setMockMethodCallHandler(methodChannel, (call) async { - expect(call.method, equals('ConsentInformation#canRequestAds')); - expect(call.arguments, null); - return Future.value(true); - }); - - bool canRequestAds = await channel.canRequestAds(); - - expect(canRequestAds, true); - }); - - test('getPrivacyOptionsRequirementStatus() maps 1 to required', () async { - TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger - .setMockMethodCallHandler(methodChannel, (call) async { - expect( - call.method, - equals('ConsentInformation#getPrivacyOptionsRequirementStatus'), - ); - expect(call.arguments, null); - return Future.value(1); - }); - - PrivacyOptionsRequirementStatus privacyStatus = await channel - .getPrivacyOptionsRequirementStatus(); - - expect(privacyStatus, PrivacyOptionsRequirementStatus.required); - }); - - test( - 'getPrivacyOptionsRequirementStatus() maps 0 to notRequired', - () async { - TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger - .setMockMethodCallHandler(methodChannel, (call) async { - expect( - call.method, - equals('ConsentInformation#getPrivacyOptionsRequirementStatus'), - ); - expect(call.arguments, null); - return Future.value(0); - }); - - PrivacyOptionsRequirementStatus privacyStatus = await channel - .getPrivacyOptionsRequirementStatus(); - - expect(privacyStatus, PrivacyOptionsRequirementStatus.notRequired); - }, - ); - - test('loadAndShowConsentFormIfRequired() success', () async { - TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger - .setMockMethodCallHandler(methodChannel, (call) async { - expect( - call.method, - equals('UserMessagingPlatform#loadAndShowConsentFormIfRequired'), - ); - expect(call.arguments, null); - return Future.value(); - }); - Completer successCompleter = Completer(); - - successCompleter.complete(channel.loadAndShowConsentFormIfRequired()); - - FormError? error = await successCompleter.future; - expect(error, null); - }); - - test('loadAndShowConsentFormIfRequired() failure', () async { - FormError? testError = FormError(errorCode: 55, message: 'msg'); - TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger - .setMockMethodCallHandler(methodChannel, (call) async { - expect( - call.method, - equals('UserMessagingPlatform#loadAndShowConsentFormIfRequired'), - ); - expect(call.arguments, null); - return Future.value(testError); - }); - Completer failureCompleter = Completer(); - - failureCompleter.complete(channel.loadAndShowConsentFormIfRequired()); - - FormError? error = await failureCompleter.future; - expect(failureCompleter.isCompleted, true); - expect(error, testError); - }); - - test('loadAndShowConsentFormIfRequired() error', () async { - TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger - .setMockMethodCallHandler(methodChannel, (call) async { - expect( - call.method, - equals('UserMessagingPlatform#loadAndShowConsentFormIfRequired'), - ); - expect(call.arguments, null); - return Future.error(PlatformException(code: '55', message: 'msg')); - }); - Completer errorCompleter = Completer(); - - errorCompleter.complete(channel.loadAndShowConsentFormIfRequired()); - - FormError? error = await errorCompleter.future; - expect(errorCompleter.isCompleted, true); - expect(error, FormError(errorCode: 55, message: 'msg')); - }); - - test('showPrivacyOptionsForm() success', () async { - TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger - .setMockMethodCallHandler(methodChannel, (call) async { - expect( - call.method, - equals('UserMessagingPlatform#showPrivacyOptionsForm'), - ); - expect(call.arguments, null); - return Future.value(); - }); - Completer successCompleter = Completer(); - - successCompleter.complete(channel.showPrivacyOptionsForm()); - - FormError? error = await successCompleter.future; - expect(error, null); - }); - - test('showPrivacyOptionsForm() failure', () async { - FormError? testError = FormError(errorCode: 55, message: 'msg'); - TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger - .setMockMethodCallHandler(methodChannel, (call) async { - expect( - call.method, - equals('UserMessagingPlatform#showPrivacyOptionsForm'), - ); - expect(call.arguments, null); - return Future.value(testError); - }); - Completer failureCompleter = Completer(); - - failureCompleter.complete(channel.showPrivacyOptionsForm()); - - FormError? error = await failureCompleter.future; - expect(failureCompleter.isCompleted, true); - expect(error, testError); - }); - - test('showPrivacyOptionsForm() error', () async { - TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger - .setMockMethodCallHandler(methodChannel, (call) async { - expect( - call.method, - equals('UserMessagingPlatform#showPrivacyOptionsForm'), - ); - expect(call.arguments, null); - return Future.error(PlatformException(code: '55', message: 'msg')); - }); - Completer errorCompleter = Completer(); - - errorCompleter.complete(channel.showPrivacyOptionsForm()); - - FormError? error = await errorCompleter.future; - expect(errorCompleter.isCompleted, true); - expect(error, FormError(errorCode: 55, message: 'msg')); - }); - }); -} diff --git a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/test/ump/user_messaging_codec_test.dart b/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/test/ump/user_messaging_codec_test.dart deleted file mode 100644 index 6f89bc14..00000000 --- a/mih_ui/android/build/ios/SourcePackages/google_mobile_ads-8.0.0/test/ump/user_messaging_codec_test.dart +++ /dev/null @@ -1,84 +0,0 @@ -// Copyright 2022 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -import 'package:flutter/services.dart'; -import 'package:flutter_test/flutter_test.dart'; -import 'package:google_mobile_ads/google_mobile_ads.dart'; -import 'package:google_mobile_ads/src/ump/consent_form_impl.dart'; -import 'package:google_mobile_ads/src/ump/user_messaging_codec.dart'; - -void main() { - TestWidgetsFlutterBinding.ensureInitialized(); - - group('UserMessagingCodec', () { - /// Sut. - final UserMessagingCodec codec = UserMessagingCodec(); - - test('encode and decode empty ConsentRequestParameters', () async { - ConsentRequestParameters params = ConsentRequestParameters(); - final ByteData? byteData = codec.encodeMessage(params); - ConsentRequestParameters decodedParams = codec.decodeMessage(byteData); - expect(params, decodedParams); - }); - - test('encode and decode empty ConsentDebugSettings', () async { - ConsentDebugSettings debugSettings = ConsentDebugSettings(); - ByteData? byteData = codec.encodeMessage(debugSettings); - ConsentDebugSettings decodedDebugSettings = codec.decodeMessage(byteData); - expect(debugSettings, decodedDebugSettings); - }); - - test('encode and decode ConsentDebugSettings only geography', () async { - ConsentDebugSettings debugSettings = ConsentDebugSettings( - debugGeography: DebugGeography.debugGeographyDisabled, - ); - ByteData? byteData = codec.encodeMessage(debugSettings); - ConsentDebugSettings decodedDebugSettings = codec.decodeMessage(byteData); - expect(debugSettings, decodedDebugSettings); - }); - - test('encode and decode ConsentDebugSettings only testIds', () async { - ConsentDebugSettings debugSettings = ConsentDebugSettings( - testIdentifiers: ['test-identifier1', 'test-identifier2'], - ); - ByteData? byteData = codec.encodeMessage(debugSettings); - ConsentDebugSettings decodedDebugSettings = codec.decodeMessage(byteData); - expect(debugSettings, equals(decodedDebugSettings)); - }); - - test('encode and decode ConsentDebugSettings testIds and geo', () async { - ConsentDebugSettings debugSettings = ConsentDebugSettings( - debugGeography: DebugGeography.debugGeographyEea, - testIdentifiers: ['test-identifier1', 'test-identifier2'], - ); - ByteData? byteData = codec.encodeMessage(debugSettings); - ConsentDebugSettings decodedDebugSettings = codec.decodeMessage(byteData); - expect(debugSettings, equals(decodedDebugSettings)); - }); - - test('encode and decode ConsentForm', () async { - ConsentFormImpl consentFormImpl = ConsentFormImpl(1); - ByteData? byteData = codec.encodeMessage(consentFormImpl); - ConsentForm decodedConsentForm = codec.decodeMessage(byteData); - expect(decodedConsentForm, equals(consentFormImpl)); - }); - - test('encode and decode FormError', () async { - FormError formError = FormError(errorCode: 123, message: 'testError'); - ByteData? byteData = codec.encodeMessage(formError); - FormError decodedFormError = codec.decodeMessage(byteData); - expect(decodedFormError, equals(formError)); - }); - }); -} diff --git a/mih_ui/android/build/ios/XCBuildData/PIFCache/project/PROJECT@v11_mod=d0293ee0112d0357cf900112c05ab991_hash=bfdfe7dc352907fc980b868725387e98plugins=1OJSG6M1FOV3XYQCBH7Z29RZ0FPR9XDE1-json b/mih_ui/android/build/ios/XCBuildData/PIFCache/project/PROJECT@v11_mod=d0293ee0112d0357cf900112c05ab991_hash=bfdfe7dc352907fc980b868725387e98plugins=1OJSG6M1FOV3XYQCBH7Z29RZ0FPR9XDE1-json deleted file mode 100644 index 50cd74b5..00000000 --- a/mih_ui/android/build/ios/XCBuildData/PIFCache/project/PROJECT@v11_mod=d0293ee0112d0357cf900112c05ab991_hash=bfdfe7dc352907fc980b868725387e98plugins=1OJSG6M1FOV3XYQCBH7Z29RZ0FPR9XDE1-json +++ /dev/null @@ -1 +0,0 @@ -{"appPreferencesBuildSettings":{},"buildConfigurations":[{"buildSettings":{"ALWAYS_SEARCH_USER_PATHS":"NO","CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED":"YES","CLANG_ANALYZER_NONNULL":"YES","CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION":"YES_AGGRESSIVE","CLANG_CXX_LANGUAGE_STANDARD":"gnu++14","CLANG_CXX_LIBRARY":"libc++","CLANG_ENABLE_MODULES":"YES","CLANG_ENABLE_OBJC_ARC":"YES","CLANG_ENABLE_OBJC_WEAK":"YES","CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING":"YES","CLANG_WARN_BOOL_CONVERSION":"YES","CLANG_WARN_COMMA":"YES","CLANG_WARN_CONSTANT_CONVERSION":"YES","CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS":"YES","CLANG_WARN_DIRECT_OBJC_ISA_USAGE":"YES_ERROR","CLANG_WARN_DOCUMENTATION_COMMENTS":"YES","CLANG_WARN_EMPTY_BODY":"YES","CLANG_WARN_ENUM_CONVERSION":"YES","CLANG_WARN_INFINITE_RECURSION":"YES","CLANG_WARN_INT_CONVERSION":"YES","CLANG_WARN_NON_LITERAL_NULL_CONVERSION":"YES","CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF":"YES","CLANG_WARN_OBJC_LITERAL_CONVERSION":"YES","CLANG_WARN_OBJC_ROOT_CLASS":"YES_ERROR","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"YES","CLANG_WARN_RANGE_LOOP_ANALYSIS":"YES","CLANG_WARN_STRICT_PROTOTYPES":"YES","CLANG_WARN_SUSPICIOUS_MOVE":"YES","CLANG_WARN_UNGUARDED_AVAILABILITY":"YES_AGGRESSIVE","CLANG_WARN_UNREACHABLE_CODE":"YES","CLANG_WARN__DUPLICATE_METHOD_MATCH":"YES","COPY_PHASE_STRIP":"NO","DEBUG_INFORMATION_FORMAT":"dwarf","ENABLE_STRICT_OBJC_MSGSEND":"YES","ENABLE_TESTABILITY":"YES","GCC_C_LANGUAGE_STANDARD":"gnu11","GCC_DYNAMIC_NO_PIC":"NO","GCC_NO_COMMON_BLOCKS":"YES","GCC_OPTIMIZATION_LEVEL":"0","GCC_PREPROCESSOR_DEFINITIONS":"POD_CONFIGURATION_DEBUG=1 DEBUG=1 $(inherited)","GCC_WARN_64_TO_32_BIT_CONVERSION":"YES","GCC_WARN_ABOUT_RETURN_TYPE":"YES_ERROR","GCC_WARN_UNDECLARED_SELECTOR":"YES","GCC_WARN_UNINITIALIZED_AUTOS":"YES_AGGRESSIVE","GCC_WARN_UNUSED_FUNCTION":"YES","GCC_WARN_UNUSED_VARIABLE":"YES","IPHONEOS_DEPLOYMENT_TARGET":"15.5.0","MTL_ENABLE_DEBUG_INFO":"INCLUDE_SOURCE","MTL_FAST_MATH":"YES","ONLY_ACTIVE_ARCH":"YES","PRODUCT_NAME":"$(TARGET_NAME)","STRIP_INSTALLED_PRODUCT":"NO","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"DEBUG","SWIFT_OPTIMIZATION_LEVEL":"-Onone","SWIFT_VERSION":"5.0","SYMROOT":"${SRCROOT}/../build"},"guid":"bfdfe7dc352907fc980b868725387e98aa7a69c2bf65b07ec18c8dbe4d98a7bc","name":"Debug"},{"buildSettings":{"ALWAYS_SEARCH_USER_PATHS":"NO","CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED":"YES","CLANG_ANALYZER_NONNULL":"YES","CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION":"YES_AGGRESSIVE","CLANG_CXX_LANGUAGE_STANDARD":"gnu++14","CLANG_CXX_LIBRARY":"libc++","CLANG_ENABLE_MODULES":"YES","CLANG_ENABLE_OBJC_ARC":"YES","CLANG_ENABLE_OBJC_WEAK":"YES","CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING":"YES","CLANG_WARN_BOOL_CONVERSION":"YES","CLANG_WARN_COMMA":"YES","CLANG_WARN_CONSTANT_CONVERSION":"YES","CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS":"YES","CLANG_WARN_DIRECT_OBJC_ISA_USAGE":"YES_ERROR","CLANG_WARN_DOCUMENTATION_COMMENTS":"YES","CLANG_WARN_EMPTY_BODY":"YES","CLANG_WARN_ENUM_CONVERSION":"YES","CLANG_WARN_INFINITE_RECURSION":"YES","CLANG_WARN_INT_CONVERSION":"YES","CLANG_WARN_NON_LITERAL_NULL_CONVERSION":"YES","CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF":"YES","CLANG_WARN_OBJC_LITERAL_CONVERSION":"YES","CLANG_WARN_OBJC_ROOT_CLASS":"YES_ERROR","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"YES","CLANG_WARN_RANGE_LOOP_ANALYSIS":"YES","CLANG_WARN_STRICT_PROTOTYPES":"YES","CLANG_WARN_SUSPICIOUS_MOVE":"YES","CLANG_WARN_UNGUARDED_AVAILABILITY":"YES_AGGRESSIVE","CLANG_WARN_UNREACHABLE_CODE":"YES","CLANG_WARN__DUPLICATE_METHOD_MATCH":"YES","COPY_PHASE_STRIP":"NO","DEBUG_INFORMATION_FORMAT":"dwarf-with-dsym","ENABLE_NS_ASSERTIONS":"NO","ENABLE_STRICT_OBJC_MSGSEND":"YES","GCC_C_LANGUAGE_STANDARD":"gnu11","GCC_NO_COMMON_BLOCKS":"YES","GCC_PREPROCESSOR_DEFINITIONS":"POD_CONFIGURATION_PROFILE=1 $(inherited)","GCC_WARN_64_TO_32_BIT_CONVERSION":"YES","GCC_WARN_ABOUT_RETURN_TYPE":"YES_ERROR","GCC_WARN_UNDECLARED_SELECTOR":"YES","GCC_WARN_UNINITIALIZED_AUTOS":"YES_AGGRESSIVE","GCC_WARN_UNUSED_FUNCTION":"YES","GCC_WARN_UNUSED_VARIABLE":"YES","IPHONEOS_DEPLOYMENT_TARGET":"15.5.0","MTL_ENABLE_DEBUG_INFO":"NO","MTL_FAST_MATH":"YES","PRODUCT_NAME":"$(TARGET_NAME)","STRIP_INSTALLED_PRODUCT":"NO","SWIFT_COMPILATION_MODE":"wholemodule","SWIFT_OPTIMIZATION_LEVEL":"-O","SWIFT_VERSION":"5.0","SYMROOT":"${SRCROOT}/../build"},"guid":"bfdfe7dc352907fc980b868725387e983e0e781737f05c4d662f1beac8315a77","name":"Profile"},{"buildSettings":{"ALWAYS_SEARCH_USER_PATHS":"NO","CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED":"YES","CLANG_ANALYZER_NONNULL":"YES","CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION":"YES_AGGRESSIVE","CLANG_CXX_LANGUAGE_STANDARD":"gnu++14","CLANG_CXX_LIBRARY":"libc++","CLANG_ENABLE_MODULES":"YES","CLANG_ENABLE_OBJC_ARC":"YES","CLANG_ENABLE_OBJC_WEAK":"YES","CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING":"YES","CLANG_WARN_BOOL_CONVERSION":"YES","CLANG_WARN_COMMA":"YES","CLANG_WARN_CONSTANT_CONVERSION":"YES","CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS":"YES","CLANG_WARN_DIRECT_OBJC_ISA_USAGE":"YES_ERROR","CLANG_WARN_DOCUMENTATION_COMMENTS":"YES","CLANG_WARN_EMPTY_BODY":"YES","CLANG_WARN_ENUM_CONVERSION":"YES","CLANG_WARN_INFINITE_RECURSION":"YES","CLANG_WARN_INT_CONVERSION":"YES","CLANG_WARN_NON_LITERAL_NULL_CONVERSION":"YES","CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF":"YES","CLANG_WARN_OBJC_LITERAL_CONVERSION":"YES","CLANG_WARN_OBJC_ROOT_CLASS":"YES_ERROR","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"YES","CLANG_WARN_RANGE_LOOP_ANALYSIS":"YES","CLANG_WARN_STRICT_PROTOTYPES":"YES","CLANG_WARN_SUSPICIOUS_MOVE":"YES","CLANG_WARN_UNGUARDED_AVAILABILITY":"YES_AGGRESSIVE","CLANG_WARN_UNREACHABLE_CODE":"YES","CLANG_WARN__DUPLICATE_METHOD_MATCH":"YES","COPY_PHASE_STRIP":"NO","DEBUG_INFORMATION_FORMAT":"dwarf-with-dsym","ENABLE_NS_ASSERTIONS":"NO","ENABLE_STRICT_OBJC_MSGSEND":"YES","GCC_C_LANGUAGE_STANDARD":"gnu11","GCC_NO_COMMON_BLOCKS":"YES","GCC_PREPROCESSOR_DEFINITIONS":"POD_CONFIGURATION_RELEASE=1 $(inherited)","GCC_WARN_64_TO_32_BIT_CONVERSION":"YES","GCC_WARN_ABOUT_RETURN_TYPE":"YES_ERROR","GCC_WARN_UNDECLARED_SELECTOR":"YES","GCC_WARN_UNINITIALIZED_AUTOS":"YES_AGGRESSIVE","GCC_WARN_UNUSED_FUNCTION":"YES","GCC_WARN_UNUSED_VARIABLE":"YES","IPHONEOS_DEPLOYMENT_TARGET":"15.5.0","MTL_ENABLE_DEBUG_INFO":"NO","MTL_FAST_MATH":"YES","PRODUCT_NAME":"$(TARGET_NAME)","STRIP_INSTALLED_PRODUCT":"NO","SWIFT_COMPILATION_MODE":"wholemodule","SWIFT_OPTIMIZATION_LEVEL":"-O","SWIFT_VERSION":"5.0","SYMROOT":"${SRCROOT}/../build"},"guid":"bfdfe7dc352907fc980b868725387e9880fffdb081d1ceb505494a2f72912a5f","name":"Release"}],"classPrefix":"","defaultConfigurationName":"Release","developmentRegion":"en","groupTree":{"children":[{"fileType":"text.script.ruby","guid":"bfdfe7dc352907fc980b868725387e98d0b25d39b515a574839e998df229c3cb","path":"../Podfile","sourceTree":"SOURCE_ROOT","type":"file"},{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98f5e4ec7c8e38b008f7f7c3a9bd4a401e","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/app_settings-7.0.0/ios/app_settings/Sources/app_settings/AppSettingsPlugin.swift","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e9888e3ab526532341a5b566628d447ac8f","name":"app_settings","path":"app_settings","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98fa9a31af2f04da80e43125746faef349","name":"Sources","path":"Sources","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e988841ff692007360f2f6b51e07273427a","name":"app_settings","path":"app_settings","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98433728c6157b2b64fd28c84306daac04","name":"ios","path":"ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9811229002c85d49c31b190a8db8a11e71","name":"app_settings","path":"app_settings","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e983c55a8a126d11bd35cae1348f60d554b","name":"plugins","path":"plugins","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9831fe13b405e0c87b865873dff48b574c","name":".symlinks","path":".symlinks","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98b8efedc672f6cecced7a7a1cac7b8799","name":"ios","path":"ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e981d028851cf57fc21af3531e2bfee8600","name":"mih_ui","path":"mih_ui","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98227668d37a4e895dcda5f82093546f64","name":"mih-project","path":"mih-project","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e986ef8aaca5b7de7bce54c598e8136ebf9","name":"mih_main","path":"mih_main","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e980e0d8d16aabf77aeacf7563312cbe86d","name":"Git","path":"Git","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9860bed12f143a445c4879038194fea56b","name":"..","path":"..","sourceTree":"","type":"group"},{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"fileType":"text.xml","guid":"bfdfe7dc352907fc980b868725387e98a3dc3576e1e38afd167d6415d986fe47","path":"../../../../../../../../../../../.pub-cache/hosted/pub.dev/app_settings-7.0.0/ios/app_settings/Resources/PrivacyInfo.xcprivacy","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e9868b0c4e5d81cecb53e406903944533e3","name":"Resources","path":"Resources","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98c6626661d52970110983c57d13deceb4","name":"app_settings","path":"app_settings","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98eb8795f1f7151238c44c70dc43aa70be","name":"ios","path":"ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98f146fefad0d90e99ebd9c232f62a7925","name":"app_settings","path":"app_settings","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98cec0a1ed7f47956a474953fc4595c551","name":"plugins","path":"plugins","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e986bf009729d094b4f8c44d33c297f40c5","name":".symlinks","path":".symlinks","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98e04242359af722fe7de72e861cbe5f20","name":"ios","path":"ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9834162d784f785b84b8aefde7689d859d","name":"mih_ui","path":"mih_ui","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98465c04ca24d1ea5fed26f17551a07563","name":"mih-project","path":"mih-project","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9875a4364cd191c4f15d02ee6ac1a23193","name":"mih_main","path":"mih_main","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9881237af5c353e7cf1051943341d47a0b","name":"Git","path":"../Git","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98f0745151330f19fa5281176df81811de","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e988f68cfb9804603a3e611363fa6727915","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e987a3b2e728f9d6fdd7f85065429a8bf93","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e983fb14232318f920208fe4162aadd1e42","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9832cc7db1f950bd66acb8879b4f1bccb1","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98f09f0f24b4e38959d65a45c04af00e37","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98a6c57b90ec41cc06d89a82a177a49b04","name":"..","path":"../../../../../../../../../.pub-cache/hosted/pub.dev/app_settings-7.0.0/ios/app_settings/Sources","sourceTree":"","type":"group"},{"children":[{"fileType":"text.script.ruby","guid":"bfdfe7dc352907fc980b868725387e989a44a427d1e6525a95450fa77cdd8d17","path":"../../../../../../../../../.pub-cache/hosted/pub.dev/app_settings-7.0.0/ios/app_settings.podspec","sourceTree":"","type":"file"},{"fileType":"text","guid":"bfdfe7dc352907fc980b868725387e980fcd13aaefa26396d8acba43ed0bf89e","path":"../../../../../../../../../.pub-cache/hosted/pub.dev/app_settings-7.0.0/LICENSE","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e9865b949ba7b72894e728c5e156a244e6c","name":"Pod","path":"","sourceTree":"","type":"group"},{"children":[{"fileType":"sourcecode.module-map","guid":"bfdfe7dc352907fc980b868725387e9828c6e8a90a7a09ef2ea9c1a65a1ad213","path":"app_settings.modulemap","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98b8ecd436f5a48de64e24bcea345336fb","path":"app_settings-dummy.m","sourceTree":"","type":"file"},{"fileType":"text.plist.xml","guid":"bfdfe7dc352907fc980b868725387e9886184509472824a8712d952bd3a1d25a","path":"app_settings-Info.plist","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9840ba091849ac80d1d21b8288461fefa1","path":"app_settings-prefix.pch","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98fdf0be27e7b47159d9d8b87c584ea45f","path":"app_settings-umbrella.h","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e98e9790273c34cf01756c3ac2cbd541c6d","path":"app_settings.debug.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e981916adc978ad471261fb8f5e1e97ed3a","path":"app_settings.release.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.plist.xml","guid":"bfdfe7dc352907fc980b868725387e9804f728d4825970c34fec2208e196d4ad","path":"ResourceBundle-app_settings_privacy-app_settings-Info.plist","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e98aaa57944349cafc01450ca9ee326bed4","name":"Support Files","path":"../../../../Pods/Target Support Files/app_settings","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98e04b5323e0d0bdf3b22fdaa14ce45ae3","name":"app_settings","path":"../.symlinks/plugins/app_settings/ios","sourceTree":"","type":"group"},{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"fileType":"text.xml","guid":"bfdfe7dc352907fc980b868725387e982f6dd2634fb467a93787bdea5788bf12","path":"../../../../../../../../../../../../../.pub-cache/hosted/pub.dev/camera_avfoundation-0.9.21+2/ios/camera_avfoundation/Sources/camera_avfoundation/Resources/PrivacyInfo.xcprivacy","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e98907782cde961601e7eb5c0486a5b08fc","name":"Resources","path":"Resources","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e988b277c50dfc4a3e82554f2a10e35eda7","name":"camera_avfoundation","path":"camera_avfoundation","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e983ef0ea0d8027d33bfaabcb40b6b63fca","name":"Sources","path":"Sources","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98f76a3f826db660164ea4e58a8e9db313","name":"camera_avfoundation","path":"camera_avfoundation","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98241b0eb8251c7ab8760735e4b7231185","name":"ios","path":"ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e981cddc05486d742776651509876719ffb","name":"camera_avfoundation","path":"camera_avfoundation","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98f163409ae91c50e2c1f69fbadc8821f3","name":"plugins","path":"plugins","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e981214cf7b70026b3b7133e703a3e81b3c","name":".symlinks","path":".symlinks","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98d82881cb26a943fa58b54b71c0b83c22","name":"ios","path":"ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98ccc38113989cb0b1fbb7305caa3b369e","name":"mih_ui","path":"mih_ui","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e983f47ad0c78c21eaa69ac826aaaf10a6e","name":"mih-project","path":"mih-project","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98099d298f0f61dcbb06e078f11764f1ef","name":"mih_main","path":"mih_main","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e984a851565313bd39d4f6b6112f363422c","name":"Git","path":"Git","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9862555adfe5832a41f6fc4b1a79cfd9e9","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98a6be0c65d0b3b994d6569761ec2f228e","name":"..","path":".pub-cache","sourceTree":"","type":"group"},{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e982078aae39ae683382f05de711a185375","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/camera_avfoundation-0.9.21+2/ios/camera_avfoundation/Sources/camera_avfoundation/Camera.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98f60a8d6ef410a8896e992632f5a8d7ab","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/camera_avfoundation-0.9.21+2/ios/camera_avfoundation/Sources/camera_avfoundation/CameraPlugin.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e9831ffb27713bc35caf090dde2758982a0","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/camera_avfoundation-0.9.21+2/ios/camera_avfoundation/Sources/camera_avfoundation/DefaultCamera.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98e5dd02315188486cffb3b793528ee079","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/camera_avfoundation-0.9.21+2/ios/camera_avfoundation/Sources/camera_avfoundation/QueueUtils.swift","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e98f6c9672891824c16c7e6f777ea17fc85","name":"camera_avfoundation","path":"camera_avfoundation","sourceTree":"","type":"group"},{"children":[{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98405619e08eb70b9dac88141b45809428","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/camera_avfoundation-0.9.21+2/ios/camera_avfoundation/Sources/camera_avfoundation_objc/CameraProperties.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98dcb3e4b3f551bf7e25dfd5bbe6837c44","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/camera_avfoundation-0.9.21+2/ios/camera_avfoundation/Sources/camera_avfoundation_objc/FLTAssetWriter.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98a03e14e92e8450839f90b1192ebe60f9","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/camera_avfoundation-0.9.21+2/ios/camera_avfoundation/Sources/camera_avfoundation_objc/FLTCam.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e989ae78c91c7fe89bf08cd07030744a390","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/camera_avfoundation-0.9.21+2/ios/camera_avfoundation/Sources/camera_avfoundation_objc/FLTCamConfiguration.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e987cc915a467358158a059f6a1005df343","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/camera_avfoundation-0.9.21+2/ios/camera_avfoundation/Sources/camera_avfoundation_objc/FLTCameraDeviceDiscovering.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e981c411b19a591008768a1751626bec02c","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/camera_avfoundation-0.9.21+2/ios/camera_avfoundation/Sources/camera_avfoundation_objc/FLTCameraPermissionManager.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98e7037d382b9763757e10e512c62f1916","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/camera_avfoundation-0.9.21+2/ios/camera_avfoundation/Sources/camera_avfoundation_objc/FLTCamMediaSettingsAVWrapper.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98121c74ca9aaca4dbb8b55621309a9732","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/camera_avfoundation-0.9.21+2/ios/camera_avfoundation/Sources/camera_avfoundation_objc/FLTCaptureConnection.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e980bd9f3a524e2e4dba9733fa90f4aac3b","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/camera_avfoundation-0.9.21+2/ios/camera_avfoundation/Sources/camera_avfoundation_objc/FLTCaptureDevice.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98903b72cc5b5c782aaff128c3205f4efe","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/camera_avfoundation-0.9.21+2/ios/camera_avfoundation/Sources/camera_avfoundation_objc/FLTCaptureDeviceFormat.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e989d8f330e18415a31deb52b2bed8a2137","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/camera_avfoundation-0.9.21+2/ios/camera_avfoundation/Sources/camera_avfoundation_objc/FLTCapturePhotoOutput.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e984824be8742f3e743f090fe6c33d6ef75","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/camera_avfoundation-0.9.21+2/ios/camera_avfoundation/Sources/camera_avfoundation_objc/FLTCaptureSession.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98ea07288fba88427eaf97221cb0a082ea","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/camera_avfoundation-0.9.21+2/ios/camera_avfoundation/Sources/camera_avfoundation_objc/FLTCaptureVideoDataOutput.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98c741b00c0189ecdcede99a30c61cf5ca","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/camera_avfoundation-0.9.21+2/ios/camera_avfoundation/Sources/camera_avfoundation_objc/FLTDeviceOrientationProviding.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98b6418130a13953d8c503f48653d8efa3","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/camera_avfoundation-0.9.21+2/ios/camera_avfoundation/Sources/camera_avfoundation_objc/FLTFormatUtils.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98b2170aed3422e923d0c594950dc68411","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/camera_avfoundation-0.9.21+2/ios/camera_avfoundation/Sources/camera_avfoundation_objc/FLTImageStreamHandler.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98df6cdfb488e9420dcab5902c4835df8f","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/camera_avfoundation-0.9.21+2/ios/camera_avfoundation/Sources/camera_avfoundation_objc/FLTPermissionServicing.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e982a862aae24ada2357f02abc8f69dfd4e","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/camera_avfoundation-0.9.21+2/ios/camera_avfoundation/Sources/camera_avfoundation_objc/FLTSavePhotoDelegate.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e9867161938a759dfccd8e5a78c167a3c1d","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/camera_avfoundation-0.9.21+2/ios/camera_avfoundation/Sources/camera_avfoundation_objc/FLTThreadSafeEventChannel.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e9805a0d5448fe595b27ad6b8273406e808","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/camera_avfoundation-0.9.21+2/ios/camera_avfoundation/Sources/camera_avfoundation_objc/FLTWritableData.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e983e9ded2512976d1035610e24a7a82a62","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/camera_avfoundation-0.9.21+2/ios/camera_avfoundation/Sources/camera_avfoundation_objc/messages.g.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e9851599d94c80ec88693114889217d19ec","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/camera_avfoundation-0.9.21+2/ios/camera_avfoundation/Sources/camera_avfoundation_objc/QueueUtils.m","sourceTree":"","type":"file"},{"children":[{"children":[{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e988a496b0b1313fdf74b9c7b937fa522af","path":"../../../../../../../../../../../../../../.pub-cache/hosted/pub.dev/camera_avfoundation-0.9.21+2/ios/camera_avfoundation/Sources/camera_avfoundation_objc/include/camera_avfoundation/camera_avfoundation.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98bec2388e2d0f9bf3dcc989355dae261c","path":"../../../../../../../../../../../../../../.pub-cache/hosted/pub.dev/camera_avfoundation-0.9.21+2/ios/camera_avfoundation/Sources/camera_avfoundation_objc/include/camera_avfoundation/CameraProperties.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e982d376cf7afbf6b4a27ea861e42e9e18a","path":"../../../../../../../../../../../../../../.pub-cache/hosted/pub.dev/camera_avfoundation-0.9.21+2/ios/camera_avfoundation/Sources/camera_avfoundation_objc/include/camera_avfoundation/FLTAssetWriter.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98bdcc6ea8f95ca3d31fda7ca6d0ec07bf","path":"../../../../../../../../../../../../../../.pub-cache/hosted/pub.dev/camera_avfoundation-0.9.21+2/ios/camera_avfoundation/Sources/camera_avfoundation_objc/include/camera_avfoundation/FLTCam.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98061b944840a544e7c2244b7dec0cea3c","path":"../../../../../../../../../../../../../../.pub-cache/hosted/pub.dev/camera_avfoundation-0.9.21+2/ios/camera_avfoundation/Sources/camera_avfoundation_objc/include/camera_avfoundation/FLTCam_Test.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9884ca4421e20e7795c8f05c67c31cd7a6","path":"../../../../../../../../../../../../../../.pub-cache/hosted/pub.dev/camera_avfoundation-0.9.21+2/ios/camera_avfoundation/Sources/camera_avfoundation_objc/include/camera_avfoundation/FLTCamConfiguration.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e981307d949f1eec051061c3f81e12003be","path":"../../../../../../../../../../../../../../.pub-cache/hosted/pub.dev/camera_avfoundation-0.9.21+2/ios/camera_avfoundation/Sources/camera_avfoundation_objc/include/camera_avfoundation/FLTCameraDeviceDiscovering.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98b73d4fa19990e40f5ed65965564379bb","path":"../../../../../../../../../../../../../../.pub-cache/hosted/pub.dev/camera_avfoundation-0.9.21+2/ios/camera_avfoundation/Sources/camera_avfoundation_objc/include/camera_avfoundation/FLTCameraPermissionManager.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9806d75717294b36105ee335141a42c17c","path":"../../../../../../../../../../../../../../.pub-cache/hosted/pub.dev/camera_avfoundation-0.9.21+2/ios/camera_avfoundation/Sources/camera_avfoundation_objc/include/camera_avfoundation/FLTCamMediaSettingsAVWrapper.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e981fbc9e9c8a4aa0a1eaacee019fdbf2f4","path":"../../../../../../../../../../../../../../.pub-cache/hosted/pub.dev/camera_avfoundation-0.9.21+2/ios/camera_avfoundation/Sources/camera_avfoundation_objc/include/camera_avfoundation/FLTCaptureConnection.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e989b272d09f5b565b076e8b0a8a66fb95c","path":"../../../../../../../../../../../../../../.pub-cache/hosted/pub.dev/camera_avfoundation-0.9.21+2/ios/camera_avfoundation/Sources/camera_avfoundation_objc/include/camera_avfoundation/FLTCaptureDevice.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98bbc3cd20c75ab4d15083fe2822084151","path":"../../../../../../../../../../../../../../.pub-cache/hosted/pub.dev/camera_avfoundation-0.9.21+2/ios/camera_avfoundation/Sources/camera_avfoundation_objc/include/camera_avfoundation/FLTCaptureDeviceFormat.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9827732205233ea745d3d17d702bae0902","path":"../../../../../../../../../../../../../../.pub-cache/hosted/pub.dev/camera_avfoundation-0.9.21+2/ios/camera_avfoundation/Sources/camera_avfoundation_objc/include/camera_avfoundation/FLTCaptureOutput.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98aa00a66f606a5894ff7b9c4193c2336d","path":"../../../../../../../../../../../../../../.pub-cache/hosted/pub.dev/camera_avfoundation-0.9.21+2/ios/camera_avfoundation/Sources/camera_avfoundation_objc/include/camera_avfoundation/FLTCapturePhotoOutput.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9805f59dff71b98dff44bcb35e99826611","path":"../../../../../../../../../../../../../../.pub-cache/hosted/pub.dev/camera_avfoundation-0.9.21+2/ios/camera_avfoundation/Sources/camera_avfoundation_objc/include/camera_avfoundation/FLTCaptureSession.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98f88bdf71c2ece055e64ef37dfcb946a1","path":"../../../../../../../../../../../../../../.pub-cache/hosted/pub.dev/camera_avfoundation-0.9.21+2/ios/camera_avfoundation/Sources/camera_avfoundation_objc/include/camera_avfoundation/FLTCaptureVideoDataOutput.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98b5b5f640e4853c81fca0b5da550bdcf5","path":"../../../../../../../../../../../../../../.pub-cache/hosted/pub.dev/camera_avfoundation-0.9.21+2/ios/camera_avfoundation/Sources/camera_avfoundation_objc/include/camera_avfoundation/FLTDeviceOrientationProviding.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9841f506e6acdddbc3a5d078988dde4c22","path":"../../../../../../../../../../../../../../.pub-cache/hosted/pub.dev/camera_avfoundation-0.9.21+2/ios/camera_avfoundation/Sources/camera_avfoundation_objc/include/camera_avfoundation/FLTEventChannel.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9877689363904fdc263f22d395bf46b7ff","path":"../../../../../../../../../../../../../../.pub-cache/hosted/pub.dev/camera_avfoundation-0.9.21+2/ios/camera_avfoundation/Sources/camera_avfoundation_objc/include/camera_avfoundation/FLTFormatUtils.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98dc0df62ffc0de3ec3f484ffd1a9ef4da","path":"../../../../../../../../../../../../../../.pub-cache/hosted/pub.dev/camera_avfoundation-0.9.21+2/ios/camera_avfoundation/Sources/camera_avfoundation_objc/include/camera_avfoundation/FLTImageStreamHandler.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98d2795a25b9f9f995f8a6605e26802aa1","path":"../../../../../../../../../../../../../../.pub-cache/hosted/pub.dev/camera_avfoundation-0.9.21+2/ios/camera_avfoundation/Sources/camera_avfoundation_objc/include/camera_avfoundation/FLTPermissionServicing.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98c013c9fa841e7f4843f3a4bde01ca879","path":"../../../../../../../../../../../../../../.pub-cache/hosted/pub.dev/camera_avfoundation-0.9.21+2/ios/camera_avfoundation/Sources/camera_avfoundation_objc/include/camera_avfoundation/FLTSavePhotoDelegate.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98646bcd0bc1969f167312816d9267a516","path":"../../../../../../../../../../../../../../.pub-cache/hosted/pub.dev/camera_avfoundation-0.9.21+2/ios/camera_avfoundation/Sources/camera_avfoundation_objc/include/camera_avfoundation/FLTSavePhotoDelegate_Test.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98d35201bc6359822c132fbf3930cae9a9","path":"../../../../../../../../../../../../../../.pub-cache/hosted/pub.dev/camera_avfoundation-0.9.21+2/ios/camera_avfoundation/Sources/camera_avfoundation_objc/include/camera_avfoundation/FLTThreadSafeEventChannel.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98df47c568f003e0086d5a88268b6eb7a7","path":"../../../../../../../../../../../../../../.pub-cache/hosted/pub.dev/camera_avfoundation-0.9.21+2/ios/camera_avfoundation/Sources/camera_avfoundation_objc/include/camera_avfoundation/FLTWritableData.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98bd068a0e6483485d78dc23696eba3638","path":"../../../../../../../../../../../../../../.pub-cache/hosted/pub.dev/camera_avfoundation-0.9.21+2/ios/camera_avfoundation/Sources/camera_avfoundation_objc/include/camera_avfoundation/messages.g.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9809496e61d8f399d92800b33bdded072b","path":"../../../../../../../../../../../../../../.pub-cache/hosted/pub.dev/camera_avfoundation-0.9.21+2/ios/camera_avfoundation/Sources/camera_avfoundation_objc/include/camera_avfoundation/QueueUtils.h","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e98720dd63de74ad024614aa4abb19e519d","name":"camera_avfoundation","path":"camera_avfoundation","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9833e1da7d2aa110d3c3d45110325a6233","name":"include","path":"include","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e980fb268c16bb3797c2019ef9db59e0048","name":"camera_avfoundation_objc","path":"camera_avfoundation_objc","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9849f52d038cfbc22f3b9dacdb87e6e2de","name":"Sources","path":"Sources","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9873401c8405e805e3bc3993de725e7df2","name":"camera_avfoundation","path":"camera_avfoundation","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e985a688ab6bfba7266f08b9f5e5c53dbec","name":"ios","path":"ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98867ada4264934aebf36f89cb19518fb0","name":"camera_avfoundation","path":"camera_avfoundation","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98eb40b1e369b2fcc9a5eec48da27f28ba","name":"plugins","path":"plugins","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9838b67d3e6e5a6033efe85aaf811aef69","name":".symlinks","path":".symlinks","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98e9c1db63f6999b893a6331e42325c7d7","name":"ios","path":"ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e983270c1ce1714080d15920ec308e831da","name":"mih_ui","path":"mih_ui","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9814e32b562c195bfdc400e4a9d9e51712","name":"mih-project","path":"mih-project","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98dbb3e378d0e8174deba4355285c9e1da","name":"mih_main","path":"mih_main","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98900ef292b8660e0c41c98d05dcf446f4","name":"Git","path":"Git","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e987f5cd018d276006bc73477d3afda0cf0","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9842880957de531609d7c9f73bd4d95f3c","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9896535628810cd04acd2a97306ca82274","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98c73ca0370b3b8cdb5a88e7f675303ccc","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98d2d84f26aae453043067979ccdc88d7b","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9823dcb1c7b5c292debaa1ba714d4913ac","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98fa32e371169eb70bcc78011edeffdce2","name":"..","path":"../../../../../../../../../.pub-cache/hosted/pub.dev/camera_avfoundation-0.9.21+2/ios/camera_avfoundation","sourceTree":"","type":"group"},{"children":[{"fileType":"text.script.ruby","guid":"bfdfe7dc352907fc980b868725387e9848a3f6690a788534c9add8c45820fd84","path":"../../../../../../../../../.pub-cache/hosted/pub.dev/camera_avfoundation-0.9.21+2/ios/camera_avfoundation.podspec","sourceTree":"","type":"file"},{"fileType":"text","guid":"bfdfe7dc352907fc980b868725387e9843698f9b7a15e52408cc7c1082d32940","path":"../../../../../../../../../.pub-cache/hosted/pub.dev/camera_avfoundation-0.9.21+2/LICENSE","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e98e32012cf02cb775fd480ab488b49aa25","name":"Pod","path":"","sourceTree":"","type":"group"},{"children":[{"fileType":"sourcecode.module-map","guid":"bfdfe7dc352907fc980b868725387e98b075b472a37c0cb498df8a9c1bbfabb6","path":"camera_avfoundation.modulemap","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e986340a78c7da800e0528a24e97f21d303","path":"camera_avfoundation-dummy.m","sourceTree":"","type":"file"},{"fileType":"text.plist.xml","guid":"bfdfe7dc352907fc980b868725387e98e9d27d157c4759fc3f852f5aaf9f770f","path":"camera_avfoundation-Info.plist","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98cdce89c428e61807b80568c28f8cf4df","path":"camera_avfoundation-prefix.pch","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98571a31becba8fba4259df5e7da0ef95b","path":"camera_avfoundation-umbrella.h","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e983535bec86897f82e29e35c2a37087d79","path":"camera_avfoundation.debug.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e989ea7a1b7622f37728c5db7b6902fabc9","path":"camera_avfoundation.release.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.plist.xml","guid":"bfdfe7dc352907fc980b868725387e98ba4b8152da8f221e2c3ae3f513312ae3","path":"ResourceBundle-camera_avfoundation_privacy-camera_avfoundation-Info.plist","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e981b9b5b0f8efbde555b4b2d16e08422df","name":"Support Files","path":"../../../../Pods/Target Support Files/camera_avfoundation","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98868ea2c0aec702c3eb3c44293cfe342b","name":"camera_avfoundation","path":"../.symlinks/plugins/camera_avfoundation/ios","sourceTree":"","type":"group"},{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98a14950a917a0df000272111b3af00e58","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/device_info_plus-11.4.0/ios/device_info_plus/Sources/device_info_plus/DeviceIdentifiers.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98f1edbc3ed8b2196eaa0d7f969ebdde47","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/device_info_plus-11.4.0/ios/device_info_plus/Sources/device_info_plus/FPPDeviceInfoPlusPlugin.m","sourceTree":"","type":"file"},{"fileType":"text.xml","guid":"bfdfe7dc352907fc980b868725387e98c10991a7301e313966d8722e62961e70","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/device_info_plus-11.4.0/ios/device_info_plus/Sources/device_info_plus/PrivacyInfo.xcprivacy","sourceTree":"","type":"file"},{"children":[{"children":[{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98bd45822b13e3ce1eed9c6622596d0bb0","path":"../../../../../../../../../../../../../../.pub-cache/hosted/pub.dev/device_info_plus-11.4.0/ios/device_info_plus/Sources/device_info_plus/include/device_info_plus/DeviceIdentifiers.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98c2d16edfd8321a1d2a6421b3cbc221c7","path":"../../../../../../../../../../../../../../.pub-cache/hosted/pub.dev/device_info_plus-11.4.0/ios/device_info_plus/Sources/device_info_plus/include/device_info_plus/FPPDeviceInfoPlusPlugin.h","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e98a36f478c28e4c74c87e6789b6bda487b","name":"device_info_plus","path":"device_info_plus","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e988ccc673f6900230d346706c867dff96c","name":"include","path":"include","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e983114e333923452f967f09fd557bec68c","name":"device_info_plus","path":"device_info_plus","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98a48dad5e47a6c3b4008dd269a358f2dc","name":"Sources","path":"Sources","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9892a23ed194e0fbac325f6866b93f390a","name":"device_info_plus","path":"device_info_plus","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e983b2b17f4bf00ad4702021bf744c70b33","name":"ios","path":"ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98fe5b97c828eb8d8d42456a4d3d485187","name":"device_info_plus","path":"device_info_plus","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98232f37c0ef599d3c2a7a9ff7af2c9eb9","name":"plugins","path":"plugins","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9805222b040a2619c7ab29391e344a705d","name":".symlinks","path":".symlinks","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9895fded9ebca0746ccb4be19405fbf727","name":"ios","path":"ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98241b2e715d2657ff7f9a34c2f332cd25","name":"mih_ui","path":"mih_ui","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98d57295f821f5d909f74a1e93793bf30a","name":"mih-project","path":"mih-project","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e986248d8602b7dff2c11a5e9c877bcbd7a","name":"mih_main","path":"mih_main","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e981819dbd6c107d3de474ab2728b424117","name":"Git","path":"Git","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e982070bfc5818879e8e22cae46e614aa5b","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98e5e96b78a60f6211aeee0b626360de68","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98edd2f48e225e6aaa855ea062d46604d3","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9807f3830ccb1a100cca5b3cd98ecfb9c4","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e989dd701511f33509e51d9d787c4a844b7","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98c3f3a9b09503921fb15ebb9377f8c928","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e983cd44b39da9ed60b459eaeab065e1f3f","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9880ed93f98b6c01706770e2e4ae63126c","name":"..","path":"../../../../../../../../../.pub-cache/hosted/pub.dev/device_info_plus-11.4.0/ios/device_info_plus/Sources","sourceTree":"","type":"group"},{"children":[{"fileType":"text.script.ruby","guid":"bfdfe7dc352907fc980b868725387e98e99d8fc33ed917a25369652f285edca4","path":"../../../../../../../../../.pub-cache/hosted/pub.dev/device_info_plus-11.4.0/ios/device_info_plus.podspec","sourceTree":"","type":"file"},{"fileType":"text","guid":"bfdfe7dc352907fc980b868725387e98ac11e22a794ad2d0d45851ed7b46b7c7","path":"../../../../../../../../../.pub-cache/hosted/pub.dev/device_info_plus-11.4.0/LICENSE","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e98007e8ca70d89e97ce0481f2cd3db9d21","name":"Pod","path":"","sourceTree":"","type":"group"},{"children":[{"fileType":"sourcecode.module-map","guid":"bfdfe7dc352907fc980b868725387e980cf749b6e02f8e783a05b1810ab2520a","path":"device_info_plus.modulemap","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e9807f6b982d3ceb175b963a37c743705ca","path":"device_info_plus-dummy.m","sourceTree":"","type":"file"},{"fileType":"text.plist.xml","guid":"bfdfe7dc352907fc980b868725387e984b05d44895ac38c0aee2a39267e26c58","path":"device_info_plus-Info.plist","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9855d928725338010b58bc023bf60c7982","path":"device_info_plus-prefix.pch","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9835406ea787e507a99238a6afb0ce83bf","path":"device_info_plus-umbrella.h","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e98c5ea3636852338c982e52209ddd197d0","path":"device_info_plus.debug.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e98c321042b295c1853a19a7fc9918a7454","path":"device_info_plus.release.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.plist.xml","guid":"bfdfe7dc352907fc980b868725387e98e560abfc525c03080899e7db2c340f05","path":"ResourceBundle-device_info_plus_privacy-device_info_plus-Info.plist","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e980a0143b7abe232a638c3e436c9c85b04","name":"Support Files","path":"../../../../Pods/Target Support Files/device_info_plus","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e989c60fe42b61655fae2fe43bdf7932aaf","name":"device_info_plus","path":"../.symlinks/plugins/device_info_plus/ios","sourceTree":"","type":"group"},{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e981339c3a7ce270306613c6cbf72ac67cd","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/file_picker-10.1.9/ios/file_picker/Sources/file_picker/FileInfo.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e9801fd6a14089a47c1e1b32718bdf22178","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/file_picker-10.1.9/ios/file_picker/Sources/file_picker/FilePickerPlugin.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e986778635029f602b4f750099540bf2fc6","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/file_picker-10.1.9/ios/file_picker/Sources/file_picker/FileUtils.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98bfd42a1232cd7e5dc79651040aca6fa8","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/file_picker-10.1.9/ios/file_picker/Sources/file_picker/ImageUtils.m","sourceTree":"","type":"file"},{"fileType":"text.xml","guid":"bfdfe7dc352907fc980b868725387e98b551b0a25b90abd62be165059ca67d67","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/file_picker-10.1.9/ios/file_picker/Sources/file_picker/PrivacyInfo.xcprivacy","sourceTree":"","type":"file"},{"children":[{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98194a7baf55c88f6759045c696de2d397","path":"../../../../../../../../../../../../../.pub-cache/hosted/pub.dev/file_picker-10.1.9/ios/file_picker/Sources/file_picker/include/file_picker-umbrella.h","sourceTree":"","type":"file"},{"children":[{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98f2597b2bfcfbe350f782de7028884db9","path":"../../../../../../../../../../../../../../.pub-cache/hosted/pub.dev/file_picker-10.1.9/ios/file_picker/Sources/file_picker/include/file_picker/FileInfo.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9848c85bbc8fed7f463b54a8a831976dcb","path":"../../../../../../../../../../../../../../.pub-cache/hosted/pub.dev/file_picker-10.1.9/ios/file_picker/Sources/file_picker/include/file_picker/FilePickerPlugin.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e980bb97ec29a5da2b10289db8377230b28","path":"../../../../../../../../../../../../../../.pub-cache/hosted/pub.dev/file_picker-10.1.9/ios/file_picker/Sources/file_picker/include/file_picker/FileUtils.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9815da8454f786c30d7b23218e31792c1f","path":"../../../../../../../../../../../../../../.pub-cache/hosted/pub.dev/file_picker-10.1.9/ios/file_picker/Sources/file_picker/include/file_picker/ImageUtils.h","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e987ec33e1da9908dbb8ee4c30e837b13e3","name":"file_picker","path":"file_picker","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98508440893bd5066e3ed1a7c01d72713f","name":"include","path":"include","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98876ccbed581dfb1ccf9cb46b0dcef1ac","name":"file_picker","path":"file_picker","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9876238cc084bb01942c389c823e08ba8e","name":"Sources","path":"Sources","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9825253bdf39f4939aa9d309bad44cd90e","name":"file_picker","path":"file_picker","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98204b4c48a8401aeeb2c66d9da2dc6406","name":"ios","path":"ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e987af8e00fed6cfb19c85be586fb50af29","name":"file_picker","path":"file_picker","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98af20fe2d494dee2b229dff5de201c31d","name":"plugins","path":"plugins","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98b8d348eb13875215537f678da0e57cd9","name":".symlinks","path":".symlinks","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98c329f592babb941bd0763b1c29ce4315","name":"ios","path":"ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98ae0c00c2af685d25f88eb893e62a30b9","name":"mih_ui","path":"mih_ui","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98adc3e4d983100667be4dee2b80d0dfc6","name":"mih-project","path":"mih-project","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e984571879cbdba5837952da95d61733458","name":"mih_main","path":"mih_main","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98086cdd35191d4e5c012daa4ec75a907a","name":"Git","path":"Git","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e988f4b179bf3118ebc76c9bd5515b59302","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98753ef7b019af866f654b60914c737b0b","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98cf4df5d694361eaf7ac7886f24593f44","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9853314b05f9d7966a9967a7b09d288fda","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98d08d2178502ea4607f6e2f4952d5dd61","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98b370b5aeb90be8635fad89141f9cb533","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98ef196c3b56089166e1172c7e48cb7973","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98ced152461fa73008f07b089d6eadb4f3","name":"..","path":"../../../../../../../../../.pub-cache/hosted/pub.dev/file_picker-10.1.9/ios/file_picker/Sources","sourceTree":"","type":"group"},{"children":[{"fileType":"sourcecode.module-map","guid":"bfdfe7dc352907fc980b868725387e984dcd2513e8f43ff19eec26a338dd1a2b","path":"../../../../../../../../../.pub-cache/hosted/pub.dev/file_picker-10.1.9/ios/file_picker/Sources/file_picker/include/file_picker.modulemap","sourceTree":"","type":"file"},{"fileType":"text.script.ruby","guid":"bfdfe7dc352907fc980b868725387e985f9564a0a4b3e872fc7a2dd8cd1eb5ff","path":"../../../../../../../../../.pub-cache/hosted/pub.dev/file_picker-10.1.9/ios/file_picker.podspec","sourceTree":"","type":"file"},{"fileType":"text","guid":"bfdfe7dc352907fc980b868725387e989fdf3c52996ab43f52e59c5173f22c1d","path":"../../../../../../../../../.pub-cache/hosted/pub.dev/file_picker-10.1.9/LICENSE","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e989432d8dee89a4175d16eba8758c97325","name":"Pod","path":"","sourceTree":"","type":"group"},{"children":[{"fileType":"sourcecode.module-map","guid":"bfdfe7dc352907fc980b868725387e9824779eff23f0e074f7df07c4155cef03","path":"file_picker.modulemap","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98d5f93b22efc88a714a54d4c0f0e25b81","path":"file_picker-dummy.m","sourceTree":"","type":"file"},{"fileType":"text.plist.xml","guid":"bfdfe7dc352907fc980b868725387e98e77bdbd62eeb428668775386c90f3736","path":"file_picker-Info.plist","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e980b7fc2d4c6b3db79d638479249afd0ba","path":"file_picker-prefix.pch","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e980e6a79d9461f52673e9cd16e5e9ce12b","path":"file_picker.debug.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e9855ea28d68c6105425b28b0dc67fbf53b","path":"file_picker.release.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.plist.xml","guid":"bfdfe7dc352907fc980b868725387e98ef2de4f3fb1ffd72ab2c607dd8196a86","path":"ResourceBundle-file_picker_ios_privacy-file_picker-Info.plist","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e98ed67d9ccf470b161929b2089bd3d76e0","name":"Support Files","path":"../../../../Pods/Target Support Files/file_picker","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98457261c914b5712a0c81b7b673210d45","name":"file_picker","path":"../.symlinks/plugins/file_picker/ios","sourceTree":"","type":"group"},{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98dc2b0e58e1746182ef03bafc59d5834f","path":"../../../../../../../../../../.pub-cache/hosted/pub.dev/file_saver-0.3.1/ios/Classes/Dialog.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98ff33475189cdb687ddb89ac3219b5661","path":"../../../../../../../../../../.pub-cache/hosted/pub.dev/file_saver-0.3.1/ios/Classes/FileSaverPlugin.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98ddd81e0874cadf29b2be4336e4173aaf","path":"../../../../../../../../../../.pub-cache/hosted/pub.dev/file_saver-0.3.1/ios/Classes/FileSaverPlugin.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e986d800696c536df7c30346254f4e8cf2a","path":"../../../../../../../../../../.pub-cache/hosted/pub.dev/file_saver-0.3.1/ios/Classes/SwiftFileSaverPlugin.swift","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e9815659e089ff36a5bee530818f43fbcb7","name":"Classes","path":"Classes","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98d4aebdd7893e3b8cb089d50ca9b4bc78","name":"ios","path":"ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98e6d7d8cbf3b5ec411c67c1f03fe81ead","name":"file_saver","path":"file_saver","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98aafb9d1e47f6452625d310831d69dddf","name":"plugins","path":"plugins","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98099c89238181468086df85246b398b85","name":".symlinks","path":".symlinks","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9847f9e04d2f254a8af26cb75921d3299b","name":"ios","path":"ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98ab82ab63c3848d1a0a7ed78d67d5da4e","name":"mih_ui","path":"mih_ui","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98b7cf840946693dab6a74f830612074e9","name":"mih-project","path":"mih-project","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9860ffc888692e201c70ed64468e588547","name":"mih_main","path":"mih_main","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98c2d1131dc6f4976e4d3ab6f4176bb3de","name":"Git","path":"Git","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e984c791f289c18e2e4a16e5d8fa411c975","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e983faeb485f301a9e52bf1bb69ba50ad91","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98b434ad4133669ae4f6a08cb4e16d1b46","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98cbcf96434e5a7a4b6d5a57177315499a","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e980343e6b54eb1617a0d8fe398a6533dcb","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e988198233d35ce8b6c3ebb9ad34b8bbd83","name":"..","path":"../../../../../../../../../.pub-cache/hosted/pub.dev/file_saver-0.3.1/ios","sourceTree":"","type":"group"},{"children":[{"fileType":"text.script.ruby","guid":"bfdfe7dc352907fc980b868725387e9825bd1584ea6cd4b633f757b2d188df26","path":"../../../../../../../../../.pub-cache/hosted/pub.dev/file_saver-0.3.1/ios/file_saver.podspec","sourceTree":"","type":"file"},{"fileType":"text","guid":"bfdfe7dc352907fc980b868725387e98be8ad76d02f75772a3daccc4dc4bd919","path":"../../../../../../../../../.pub-cache/hosted/pub.dev/file_saver-0.3.1/LICENSE","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e98d51c541c07ea154916a1264b33490194","name":"Pod","path":"","sourceTree":"","type":"group"},{"children":[{"fileType":"sourcecode.module-map","guid":"bfdfe7dc352907fc980b868725387e989257c31a5aedd8cbb19c763c9e8f796e","path":"file_saver.modulemap","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98e9b49b292faafa97f299b4d375bb94e8","path":"file_saver-dummy.m","sourceTree":"","type":"file"},{"fileType":"text.plist.xml","guid":"bfdfe7dc352907fc980b868725387e98afdb65ab8153857d00d3058fef46ef65","path":"file_saver-Info.plist","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98c3048b85162d65fa5f89103599a57d7f","path":"file_saver-prefix.pch","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e988f5f13c3729537a5e4850a3184ef1504","path":"file_saver-umbrella.h","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e9862b76e562a43dac8471f624a5cd9d3f8","path":"file_saver.debug.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e98344086c33f6b20ad518611d4b42807b0","path":"file_saver.release.xcconfig","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e98400a94e16fad4b8af7b4e60ab51c11df","name":"Support Files","path":"../../../../Pods/Target Support Files/file_saver","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e984bfa932ae3b4edac96a7310960837f24","name":"file_saver","path":"../.symlinks/plugins/file_saver/ios","sourceTree":"","type":"group"},{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"fileType":"text.xml","guid":"bfdfe7dc352907fc980b868725387e9829fbee1379c76a8f9639197078562c42","path":"../../../../../../../../../../../../../.pub-cache/hosted/pub.dev/file_selector_ios-0.5.3+2/ios/file_selector_ios/Sources/file_selector_ios/Resources/PrivacyInfo.xcprivacy","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e98507f8f34c468201e4a5bd4c96ef42b4b","name":"Resources","path":"Resources","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e986ee0a3df2feb3af8fc441fe81a045863","name":"file_selector_ios","path":"file_selector_ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98afe351d95e6d56fb7d6e1926d0bc16c1","name":"Sources","path":"Sources","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98e2bb22e2b6e057e7a42bfecc709a093f","name":"file_selector_ios","path":"file_selector_ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98f8f4bdacf126ec47df60ba4953e1eb6e","name":"ios","path":"ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e982e7e37300e43e96cb98a05aadc3bbc49","name":"file_selector_ios","path":"file_selector_ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e988551db43a644178c4426a752151e8daf","name":"plugins","path":"plugins","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e989b41c5a386d48a0b9781d40539831e9d","name":".symlinks","path":".symlinks","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9860e60b3396bf587cf7e3881b72ff918a","name":"ios","path":"ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98dc89a1a75464472b23df731aee581a25","name":"mih_ui","path":"mih_ui","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e980311fb2e79751151e623b7fd57d7fdff","name":"mih-project","path":"mih-project","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e989a8e9a9d9f60722b296838fc82cf42ab","name":"mih_main","path":"mih_main","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98256aa9c17d570110e0beabc2f63ed1be","name":"Git","path":"Git","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98295899a4f9811e1bf954b10afc74c580","name":"..","path":".","sourceTree":"","type":"group"},{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98f0ea88b68751cab794b769dc586bd419","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/file_selector_ios-0.5.3+2/ios/file_selector_ios/Sources/file_selector_ios/FileSelectorPlugin.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e981d83a354ff745f0961d1610ff6de246a","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/file_selector_ios-0.5.3+2/ios/file_selector_ios/Sources/file_selector_ios/messages.g.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98179ec458b3b02e28a62624469e6b3a80","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/file_selector_ios-0.5.3+2/ios/file_selector_ios/Sources/file_selector_ios/ViewPresenter.swift","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e985325558c396579d5a0998664ac0536ce","name":"file_selector_ios","path":"file_selector_ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9852ed467fbc4a63c5a9875642f31ac8d8","name":"Sources","path":"Sources","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98f73f6a770a7a6bde630a133ebafed198","name":"file_selector_ios","path":"file_selector_ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e985f061352dd57853318525a163e622d61","name":"ios","path":"ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98de7c5b0b652730d3cef22285ad226ace","name":"file_selector_ios","path":"file_selector_ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e981fde57e4d630f694ad318aa71b0c0ac2","name":"plugins","path":"plugins","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e980daa7ba2676ab006d9bdaa50e8bf3e7f","name":".symlinks","path":".symlinks","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9898c49504ad2de913f1c38e3802a21ed8","name":"ios","path":"ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9840dc9570b973353d8fafc8b5f6bb4020","name":"mih_ui","path":"mih_ui","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98a36c35510ef07657da1eda88c2ad136e","name":"mih-project","path":"mih-project","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9800bdb19987b89731ec900cf46c7d72fb","name":"mih_main","path":"mih_main","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98fc436f922c705674880aa06b040181b9","name":"Git","path":"Git","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98567f33f5ac28e20caa07498eb380b103","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98bc048ab2780b32d4a6b86c99601be916","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9816e498c459b4f09f5c4c2feb907c85d6","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9802aa9bfe13ebb25b8fb6245d7d520a0d","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e982bd06e41d732a5c90627c4807cd83d4d","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9874cffb2cc2072f394f34138a88466826","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98733c2da0ac2206061d0f27c458e2a4eb","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e988977a0a3c8225e1d387342c56f44688c","name":"..","path":"../../../../../../../../../.pub-cache/hosted/pub.dev/file_selector_ios-0.5.3+2/ios/file_selector_ios/Sources","sourceTree":"","type":"group"},{"children":[{"fileType":"text.script.ruby","guid":"bfdfe7dc352907fc980b868725387e98359cebf352a3518635389663c1f7a510","path":"../../../../../../../../../.pub-cache/hosted/pub.dev/file_selector_ios-0.5.3+2/ios/file_selector_ios.podspec","sourceTree":"","type":"file"},{"fileType":"text","guid":"bfdfe7dc352907fc980b868725387e98ed9f8e4fd8e348d71e2afdc4b73c98bb","path":"../../../../../../../../../.pub-cache/hosted/pub.dev/file_selector_ios-0.5.3+2/LICENSE","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e98c5dee314251dd376898dcecc730dea89","name":"Pod","path":"","sourceTree":"","type":"group"},{"children":[{"fileType":"sourcecode.module-map","guid":"bfdfe7dc352907fc980b868725387e98b3f56de7e9056dca05895f8157e6d185","path":"file_selector_ios.modulemap","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98c109472dcd25a3e59c31080f0ebdf811","path":"file_selector_ios-dummy.m","sourceTree":"","type":"file"},{"fileType":"text.plist.xml","guid":"bfdfe7dc352907fc980b868725387e983d14e1b4813a27bcd54316850245ae19","path":"file_selector_ios-Info.plist","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9870d9c2c42e712e711980fdc6bb373bf6","path":"file_selector_ios-prefix.pch","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9844d411eb7b3f7cc8e9589148720c721a","path":"file_selector_ios-umbrella.h","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e982b66b547d250357cf91d1817df7cb423","path":"file_selector_ios.debug.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e98f68cdcb857b34033c4bd7d63083cfeef","path":"file_selector_ios.release.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.plist.xml","guid":"bfdfe7dc352907fc980b868725387e9812c099916240a2b77dcfb319effe267a","path":"ResourceBundle-file_selector_ios_privacy-file_selector_ios-Info.plist","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e985babe41be37b5ab0444cb57623720986","name":"Support Files","path":"../../../../Pods/Target Support Files/file_selector_ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98107535039bfff6c5c3c358e9a299f06e","name":"file_selector_ios","path":"../.symlinks/plugins/file_selector_ios/ios","sourceTree":"","type":"group"},{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98157eaa509705c5a0a8cf3ea2683f01c3","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/firebase_app_check-0.4.1+2/ios/firebase_app_check/Sources/firebase_app_check/FLTAppCheckProvider.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e9811391913961f2b0ab6847057591d15a2","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/firebase_app_check-0.4.1+2/ios/firebase_app_check/Sources/firebase_app_check/FLTAppCheckProviderFactory.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e988426fad311447aa6640aeb8b4fe3b1d2","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/firebase_app_check-0.4.1+2/ios/firebase_app_check/Sources/firebase_app_check/FLTFirebaseAppCheckPlugin.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e986cf945052e9a5cc9cf921ff7b6631624","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/firebase_app_check-0.4.1+2/ios/firebase_app_check/Sources/firebase_app_check/FLTTokenRefreshStreamHandler.m","sourceTree":"","type":"file"},{"children":[{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e987257dfc73b43963823ab3e833020d53b","path":"../../../../../../../../../../../../../.pub-cache/hosted/pub.dev/firebase_app_check-0.4.1+2/ios/firebase_app_check/Sources/firebase_app_check/include/FLTAppCheckProvider.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98e6e862ae88920fd2aa08c4d49b573983","path":"../../../../../../../../../../../../../.pub-cache/hosted/pub.dev/firebase_app_check-0.4.1+2/ios/firebase_app_check/Sources/firebase_app_check/include/FLTAppCheckProviderFactory.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9872317cb485910fd1580965e87f2fb858","path":"../../../../../../../../../../../../../.pub-cache/hosted/pub.dev/firebase_app_check-0.4.1+2/ios/firebase_app_check/Sources/firebase_app_check/include/FLTFirebaseAppCheckPlugin.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e980c7e27df05ae77bf0663c37468ec4d68","path":"../../../../../../../../../../../../../.pub-cache/hosted/pub.dev/firebase_app_check-0.4.1+2/ios/firebase_app_check/Sources/firebase_app_check/include/FLTTokenRefreshStreamHandler.h","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e98564cbd84e342d2634ffbe1403141db62","name":"include","path":"include","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98f83b499872a81ddce8a470a21cd946dc","name":"firebase_app_check","path":"firebase_app_check","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e981ec7b586de1bbbfb2e5eb5afd0e6deba","name":"Sources","path":"Sources","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98981359a205b2897b4a0d0e46108f0341","name":"firebase_app_check","path":"firebase_app_check","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98d3d0143f5e5f4a3ce09b9b7e63d97e56","name":"ios","path":"ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e987d4475d9485b3f2a9a12772af3ed9894","name":"firebase_app_check","path":"firebase_app_check","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98bb1b77d43ad6ecddb49404e1d3682124","name":"plugins","path":"plugins","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98f36e3f7d6876ec318283ffecdab3107b","name":".symlinks","path":".symlinks","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98aa9a1a5f3db45001bebdce1fde36d727","name":"ios","path":"ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98aba650793e06d81d390c0775d7a81b29","name":"mih_ui","path":"mih_ui","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e983a52d319578d9d10b8d52643bed7e195","name":"mih-project","path":"mih-project","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98a638b971fcad8c56f52b163de6f696b8","name":"mih_main","path":"mih_main","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e984e18da2ecf2e80176dcb9cb8b29d310c","name":"Git","path":"Git","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e983658cf26719deeda9913fc12baf6d77b","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98735a4ee8c6a39809e6473f773fcd82e4","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e987fdb79a4ac09a13bebcf786f26aaed22","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9890da5e363aa4e4f2945eb226a050a96d","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e983c71bc945af531d92aa843a6039c94c9","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e987b761a8f9efe17c9331540deab200caa","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98ffd3ab3d1b3687a2fe92b627fda8631e","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98511b0c271f946a7bcd65c0200b4c4ba7","name":"..","path":"../../../../../../../../../.pub-cache/hosted/pub.dev/firebase_app_check-0.4.1+2/ios/firebase_app_check/Sources","sourceTree":"","type":"group"},{"children":[{"fileType":"text.script.ruby","guid":"bfdfe7dc352907fc980b868725387e98612a9b3c58bbaa0aac92bb05e45f03c0","path":"../../../../../../../../../.pub-cache/hosted/pub.dev/firebase_app_check-0.4.1+2/ios/firebase_app_check.podspec","sourceTree":"","type":"file"},{"fileType":"text","guid":"bfdfe7dc352907fc980b868725387e98349e639efc819bf8f3b41a18d6c0c6ad","path":"../../../../../../../../../.pub-cache/hosted/pub.dev/firebase_app_check-0.4.1+2/LICENSE","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e985a160f4e68a8315154c9105d8fa9512e","name":"Pod","path":"","sourceTree":"","type":"group"},{"children":[{"fileType":"sourcecode.module-map","guid":"bfdfe7dc352907fc980b868725387e98e110ba9f039db5afe23ccf33b7dd7621","path":"firebase_app_check.modulemap","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98b3b0eb48012053daff698e8d2eecd384","path":"firebase_app_check-dummy.m","sourceTree":"","type":"file"},{"fileType":"text.plist.xml","guid":"bfdfe7dc352907fc980b868725387e9850170c0ec5e7dd0abfa10964ebf7e97d","path":"firebase_app_check-Info.plist","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9885d0d93c676ce6b51858cb35fc28982f","path":"firebase_app_check-prefix.pch","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98d6d26726976b2e08a5c89968805d3304","path":"firebase_app_check-umbrella.h","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e98c25cf455db1669644df3712dd48f7fb4","path":"firebase_app_check.debug.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e98e912e07d424cdf8e7522667434d5bd3f","path":"firebase_app_check.release.xcconfig","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e983e873219b4c28f6aa94cae144a02fbc2","name":"Support Files","path":"../../../../Pods/Target Support Files/firebase_app_check","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9872628f55a9c36767bf41234cfc6edce2","name":"firebase_app_check","path":"../.symlinks/plugins/firebase_app_check/ios","sourceTree":"","type":"group"},{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e985f541d6ffe1082b2902e65204c08509d","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/firebase_auth-6.1.2/ios/firebase_auth/Sources/firebase_auth/firebase_auth_messages.g.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98eb223ecb002d14c77278863d78c4c318","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/firebase_auth-6.1.2/ios/firebase_auth/Sources/firebase_auth/FLTAuthStateChannelStreamHandler.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e9810eacf503f471242fc9c2cd78a82403c","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/firebase_auth-6.1.2/ios/firebase_auth/Sources/firebase_auth/FLTFirebaseAuthPlugin.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e982532bb5826be388841ede9effca1df18","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/firebase_auth-6.1.2/ios/firebase_auth/Sources/firebase_auth/FLTIdTokenChannelStreamHandler.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e988936fde4a4450628a9e214e0ddf0d394","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/firebase_auth-6.1.2/ios/firebase_auth/Sources/firebase_auth/FLTPhoneNumberVerificationStreamHandler.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98347fb9c4a5c7c79fec72e40d077e4345","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/firebase_auth-6.1.2/ios/firebase_auth/Sources/firebase_auth/PigeonParser.m","sourceTree":"","type":"file"},{"children":[{"children":[{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9827bee845e2266de322863f00bfdc2a26","path":"../../../../../../../../../../../../../../.pub-cache/hosted/pub.dev/firebase_auth-6.1.2/ios/firebase_auth/Sources/firebase_auth/include/Private/FLTAuthStateChannelStreamHandler.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e983b118aa12a63ca9f9945efeaf253ff7b","path":"../../../../../../../../../../../../../../.pub-cache/hosted/pub.dev/firebase_auth-6.1.2/ios/firebase_auth/Sources/firebase_auth/include/Private/FLTIdTokenChannelStreamHandler.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98e5b528b032881616d1c665dec13dafa8","path":"../../../../../../../../../../../../../../.pub-cache/hosted/pub.dev/firebase_auth-6.1.2/ios/firebase_auth/Sources/firebase_auth/include/Private/FLTPhoneNumberVerificationStreamHandler.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e982864d491b842dd5124ecf14b972d65b6","path":"../../../../../../../../../../../../../../.pub-cache/hosted/pub.dev/firebase_auth-6.1.2/ios/firebase_auth/Sources/firebase_auth/include/Private/PigeonParser.h","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e981e72e46c04aafea5aa972ae5ea48241d","name":"Private","path":"Private","sourceTree":"","type":"group"},{"children":[{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98f0e96d34aebeddb83a8166ed2181b114","path":"../../../../../../../../../../../../../../.pub-cache/hosted/pub.dev/firebase_auth-6.1.2/ios/firebase_auth/Sources/firebase_auth/include/Public/CustomPigeonHeader.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98c3935a7024d5af57e2ec647f59ad2f2d","path":"../../../../../../../../../../../../../../.pub-cache/hosted/pub.dev/firebase_auth-6.1.2/ios/firebase_auth/Sources/firebase_auth/include/Public/firebase_auth_messages.g.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98a49b0809685262c84b0c7c8e57a010be","path":"../../../../../../../../../../../../../../.pub-cache/hosted/pub.dev/firebase_auth-6.1.2/ios/firebase_auth/Sources/firebase_auth/include/Public/FLTFirebaseAuthPlugin.h","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e988689674edf888352c71bf40c2d6f06d8","name":"Public","path":"Public","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9890cc3cf56c4ecf56185609200fef724d","name":"include","path":"include","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98b91537a86d8ff142a9a71b8543239399","name":"firebase_auth","path":"firebase_auth","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e980c63fca4d0b30ac0d7cfade6fd7baa20","name":"Sources","path":"Sources","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e983a2957f31c0fb614c2422385ab6155f4","name":"firebase_auth","path":"firebase_auth","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e981d60c05c946f47724bdb454d7de281ef","name":"ios","path":"ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98229e2b9089e61e9eabb1f4a499a64615","name":"firebase_auth","path":"firebase_auth","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e986a0fa468b029d67c97345fb834bc931a","name":"plugins","path":"plugins","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98741c70ed9ad1eb5fbdd778fd4484be0a","name":".symlinks","path":".symlinks","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98dd9bf61fb0655d366bbc1c3e855eac94","name":"ios","path":"ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98478621876b3c3d888f232c66debf4bec","name":"mih_ui","path":"mih_ui","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98b66211302ba1386603286639e59770c4","name":"mih-project","path":"mih-project","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98228eedd3ba4ec4acd830d20161e362cc","name":"mih_main","path":"mih_main","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98b185c6679d8573a0ffd09d5579ae11f8","name":"Git","path":"Git","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98a1e73a8aaf7ce19a5d84eeeaccc32dfb","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e987fe2023fc5ff68aa1da0fdeca7b0df29","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e987647079dd59585983c77beee248d10e7","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e986b054a87f6e233291b07e9f149bc3a0e","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98ce4ff64aeb7fe05be2de2df043bdfa3b","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98b62dae0d7686e4c073aa785c0a7d688a","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e988b12bbefe94fd8ef4e4519d37fd1749a","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9887b26a9570a167c9446e05aeab24c807","name":"..","path":"../../../../../../../../../.pub-cache/hosted/pub.dev/firebase_auth-6.1.2/ios/firebase_auth/Sources","sourceTree":"","type":"group"},{"children":[{"fileType":"text.script.ruby","guid":"bfdfe7dc352907fc980b868725387e98ce17bcb37ce91b48392f21e3b8f53153","path":"../../../../../../../../../.pub-cache/hosted/pub.dev/firebase_auth-6.1.2/ios/firebase_auth.podspec","sourceTree":"","type":"file"},{"fileType":"text","guid":"bfdfe7dc352907fc980b868725387e9878d157505d191a41a233bd57c85dc7c6","path":"../../../../../../../../../.pub-cache/hosted/pub.dev/firebase_auth-6.1.2/LICENSE","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e98250a038d829d93037b230634d8fcfe74","name":"Pod","path":"","sourceTree":"","type":"group"},{"children":[{"fileType":"sourcecode.module-map","guid":"bfdfe7dc352907fc980b868725387e989de135d90bfbb20369e2dc6ad3c0745d","path":"firebase_auth.modulemap","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98f9755ae3b2d4cab1fb3158b533f2c9d1","path":"firebase_auth-dummy.m","sourceTree":"","type":"file"},{"fileType":"text.plist.xml","guid":"bfdfe7dc352907fc980b868725387e98c7f50bbff88343cda26e3c4a52387742","path":"firebase_auth-Info.plist","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9851c7bbdf5b67faf577e1d1d8eddb6f2a","path":"firebase_auth-prefix.pch","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e983fadff5bdce928842849d4dcd99e8422","path":"firebase_auth-umbrella.h","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e9895b607e38dd439202402e1eb97e7bfe3","path":"firebase_auth.debug.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e987f882ba03ab88d6bb0c7d3cbdee44856","path":"firebase_auth.release.xcconfig","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e98016135d329d6ef78ce73bc76958be3d5","name":"Support Files","path":"../../../../Pods/Target Support Files/firebase_auth","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98c171ded7240f41b51a6f2138ba58edc7","name":"firebase_auth","path":"../.symlinks/plugins/firebase_auth/ios","sourceTree":"","type":"group"},{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98601b2da428ba75eb289e1c54c7e54ac2","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/firebase_core-4.4.0/ios/firebase_core/Sources/firebase_core/dummy.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e9807da482b8ec6e4d8948d658c8bdf02e5","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/firebase_core-4.4.0/ios/firebase_core/Sources/firebase_core/FLTFirebaseCorePlugin.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e989977ba840e207e56a3bdbda80a4d8615","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/firebase_core-4.4.0/ios/firebase_core/Sources/firebase_core/FLTFirebasePlugin.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98f5cce0e89494288c3baf0f38b30e399f","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/firebase_core-4.4.0/ios/firebase_core/Sources/firebase_core/FLTFirebasePluginRegistry.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e9878e159148fb5c54711d45b5262f445b4","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/firebase_core-4.4.0/ios/firebase_core/Sources/firebase_core/messages.g.m","sourceTree":"","type":"file"},{"children":[{"children":[{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e987dfea0c140a7a0ea66e66dcf646b175b","path":"../../../../../../../../../../../../../../.pub-cache/hosted/pub.dev/firebase_core-4.4.0/ios/firebase_core/Sources/firebase_core/include/firebase_core/dummy.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98b2eb7b9f5e3786b97a3a72dd22421a5e","path":"../../../../../../../../../../../../../../.pub-cache/hosted/pub.dev/firebase_core-4.4.0/ios/firebase_core/Sources/firebase_core/include/firebase_core/FLTFirebaseCorePlugin.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98f772990796156a555335464dc3c777ca","path":"../../../../../../../../../../../../../../.pub-cache/hosted/pub.dev/firebase_core-4.4.0/ios/firebase_core/Sources/firebase_core/include/firebase_core/FLTFirebasePlugin.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98f3bd2cacbaac9079f1396cb3fa6d0e27","path":"../../../../../../../../../../../../../../.pub-cache/hosted/pub.dev/firebase_core-4.4.0/ios/firebase_core/Sources/firebase_core/include/firebase_core/FLTFirebasePluginRegistry.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9867153d6814ea6c8bee7037d6d146ce78","path":"../../../../../../../../../../../../../../.pub-cache/hosted/pub.dev/firebase_core-4.4.0/ios/firebase_core/Sources/firebase_core/include/firebase_core/messages.g.h","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e9865b7968e761564e08d12c9baa7a054db","name":"firebase_core","path":"firebase_core","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9883a0b4ef9a2e69c000683ea94de10c73","name":"include","path":"include","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9892eccf4f3b7fa905e15ef08d0ece99fa","name":"firebase_core","path":"firebase_core","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98c2dffe17be86963f22d459ed1d86418b","name":"Sources","path":"Sources","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9891358efa3d3e96f174405fead3a13ae2","name":"firebase_core","path":"firebase_core","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98502b12fb82269c9c0b8fb45094229336","name":"ios","path":"ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e981bbb0d29bf97b1d72e684b0b138cda31","name":"firebase_core","path":"firebase_core","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98448bc5db7077b4318118247985e9706c","name":"plugins","path":"plugins","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98a8c1e5487da4a3a2b3cc746df3c71d97","name":".symlinks","path":".symlinks","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9850fe7df43146e3a935e2a013f5ca1764","name":"ios","path":"ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98135505935bca92d9516e6903e6b1571a","name":"mih_ui","path":"mih_ui","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98692ed695e9bf9ef940975e909acd6638","name":"mih-project","path":"mih-project","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9890f352f6bbf5e1270326ef1fe0d88d88","name":"mih_main","path":"mih_main","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9801539e7991909202027b2e1fc36bdf88","name":"Git","path":"Git","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98a30283f68c11da265135eb85954528f5","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98178b6dde2c1b75f36da1ef9fa891985b","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e987a6b9ef64f37e718251dd126ecc57e99","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e981b7e3d9c7086a471cf27b040c59ab89f","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98d5c64535fce20f343aadb66d204e6778","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9836f9e6541249e85036c90cafd1fd27c8","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98cc7654428522c87bf7bea58d5fc1c95d","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9897d6d766394d9dba4af94ccd75caf4b8","name":"..","path":"../../../../../../../../../.pub-cache/hosted/pub.dev/firebase_core-4.4.0/ios/firebase_core/Sources","sourceTree":"","type":"group"},{"children":[{"fileType":"text.script.ruby","guid":"bfdfe7dc352907fc980b868725387e9853ba03282c86f64e463a449b10b6feb1","path":"../../../../../../../../../.pub-cache/hosted/pub.dev/firebase_core-4.4.0/ios/firebase_core.podspec","sourceTree":"","type":"file"},{"fileType":"text","guid":"bfdfe7dc352907fc980b868725387e981c7364f8c5643856b3049712de31e099","path":"../../../../../../../../../.pub-cache/hosted/pub.dev/firebase_core-4.4.0/LICENSE","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e98f99ef99c04ea749b9b7bc097d01f2c2d","name":"Pod","path":"","sourceTree":"","type":"group"},{"children":[{"fileType":"sourcecode.module-map","guid":"bfdfe7dc352907fc980b868725387e986cbc2b6bb34ce8d05827fd1947dc4b53","path":"firebase_core.modulemap","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98a993adacba3286d6cf47f3ca504b1406","path":"firebase_core-dummy.m","sourceTree":"","type":"file"},{"fileType":"text.plist.xml","guid":"bfdfe7dc352907fc980b868725387e98007f03499a039437f1f99bde28395952","path":"firebase_core-Info.plist","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98aecf6fabd4fa4b1c8ffda5f839904465","path":"firebase_core-prefix.pch","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98b775542e692f38065f43634092d616ce","path":"firebase_core-umbrella.h","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e98b022d73df32750d90180fee080a0f7d1","path":"firebase_core.debug.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e9808ccd97494fd54f1603a316a163aab94","path":"firebase_core.release.xcconfig","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e9877290915f01301806d110f784aa47c34","name":"Support Files","path":"../../../../Pods/Target Support Files/firebase_core","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e982c77c79f8d278ef39cf766a1ab2e35c4","name":"firebase_core","path":"../.symlinks/plugins/firebase_core/ios","sourceTree":"","type":"group"},{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98a8bcf9b778aff46eca5e22cafa52131b","path":"../../../../../../../../../../.pub-cache/hosted/pub.dev/fl_downloader-2.0.2/ios/Classes/FlDownloaderPlugin.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98914c048b53a42f42ba49718548e5cd81","path":"../../../../../../../../../../.pub-cache/hosted/pub.dev/fl_downloader-2.0.2/ios/Classes/FlDownloaderPlugin.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e9851df058efa51527351690153e2e7a913","path":"../../../../../../../../../../.pub-cache/hosted/pub.dev/fl_downloader-2.0.2/ios/Classes/SwiftFlDownloaderPlugin.swift","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e98d475df7a54432602f65236f0001dcb78","name":"Classes","path":"Classes","sourceTree":"","type":"group"},{"children":[{"fileType":"text.xml","guid":"bfdfe7dc352907fc980b868725387e9831fe485b45a69a8422a609fface14279","path":"../../../../../../../../../../.pub-cache/hosted/pub.dev/fl_downloader-2.0.2/ios/Resources/PrivacyInfo.xcprivacy","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e9803405e5102a3ee40cbb4583ab5ca6eec","name":"Resources","path":"Resources","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98fef6ddba1b5e1232a9d6d37983179d87","name":"ios","path":"ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98964ba06116a1df14720bb9048a88f165","name":"fl_downloader","path":"fl_downloader","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98f34f778596ab56ad4e8931ed917554f7","name":"plugins","path":"plugins","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9817008544f61b16a1efdcc47dbaba93be","name":".symlinks","path":".symlinks","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98297a87ebe04307afc7e2d74dd6dcab72","name":"ios","path":"ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9882ae3c175903986a074928722796df5a","name":"mih_ui","path":"mih_ui","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98cf035c538d2f0b99ec303fb4744ef49e","name":"mih-project","path":"mih-project","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98f3e54afb40aae197eddcd74c76d2df0f","name":"mih_main","path":"mih_main","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9876dbca351375c820c41118bb9cf9561c","name":"Git","path":"Git","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98e7ec519797345e1f834899777e5441ea","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98c1408300b02654c8b20066c91bc8b79c","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98dc96525f14f17580f9e3a5051189fa9c","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98b1adba523e0f600659236656a2385897","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e980d2e7dc4cebf78c19af905a8474b3d9e","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98ae79df9b7e9fb8e31f39f9c108119a8b","name":"..","path":"../../../../../../../../../.pub-cache/hosted/pub.dev/fl_downloader-2.0.2/ios","sourceTree":"","type":"group"},{"children":[{"fileType":"text.script.ruby","guid":"bfdfe7dc352907fc980b868725387e98ddb20a4fc1d66afd701be5f8a445437f","path":"../../../../../../../../../.pub-cache/hosted/pub.dev/fl_downloader-2.0.2/ios/fl_downloader.podspec","sourceTree":"","type":"file"},{"fileType":"text","guid":"bfdfe7dc352907fc980b868725387e9868eecf589861f1e12ff1b3335e246971","path":"../../../../../../../../../.pub-cache/hosted/pub.dev/fl_downloader-2.0.2/LICENSE","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e98161c2e9c04b3bb3a64da701c20bd918d","name":"Pod","path":"","sourceTree":"","type":"group"},{"children":[{"fileType":"sourcecode.module-map","guid":"bfdfe7dc352907fc980b868725387e982efdc85ce2f64d67f95747c395e92b1d","path":"fl_downloader.modulemap","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e9841face9f91cced866f2eca4a4b6c1da2","path":"fl_downloader-dummy.m","sourceTree":"","type":"file"},{"fileType":"text.plist.xml","guid":"bfdfe7dc352907fc980b868725387e988fccddba73755faa02856c09466bd235","path":"fl_downloader-Info.plist","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98289ec58bc3b1befc6553881b2fb56fc8","path":"fl_downloader-prefix.pch","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98e9683ad27cd35a81b03f764dc06cfad0","path":"fl_downloader-umbrella.h","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e984e4a588da55ed3c53fbd1e10e58fd1c6","path":"fl_downloader.debug.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e98c91d9e268657e7dd6c060d3e603cc2b1","path":"fl_downloader.release.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.plist.xml","guid":"bfdfe7dc352907fc980b868725387e9889b843431f88debf830b71694c181718","path":"ResourceBundle-fl_downloader_privacy-fl_downloader-Info.plist","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e98770c68ab7d9e26ed5320fdf79e4127eb","name":"Support Files","path":"../../../../Pods/Target Support Files/fl_downloader","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98e535f7f89dcf23e627ce560fcbf27f07","name":"fl_downloader","path":"../.symlinks/plugins/fl_downloader/ios","sourceTree":"","type":"group"},{"children":[{"children":[{"fileType":"text.script.ruby","guid":"bfdfe7dc352907fc980b868725387e98878ac19076103d7e2a82471b805965be","path":"Flutter.podspec","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e98d5cf7725c652e90a9f4af34bcd4e69ed","name":"Pod","path":"","sourceTree":"","type":"group"},{"children":[{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e98dcbcbc7a5e77c993122880547c8ba2bb","path":"Flutter.debug.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e982275ed66a3f7f3088878aa0c9e2d181a","path":"Flutter.release.xcconfig","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e988e42623e005514899b0b1ea654daa4be","name":"Support Files","path":"../Pods/Target Support Files/Flutter","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9848bfce14ccc39b7a75fedcbde12a921f","name":"Flutter","path":"../Flutter","sourceTree":"","type":"group"},{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98ed4c5781f08ac474801af38d03dae69c","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/flutter_native_splash-2.4.6/ios/flutter_native_splash/Sources/flutter_native_splash/FlutterNativeSplashPlugin.m","sourceTree":"","type":"file"},{"fileType":"text.xml","guid":"bfdfe7dc352907fc980b868725387e98fe3a5ec7d39edfd3a806d5f27e4564cd","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/flutter_native_splash-2.4.6/ios/flutter_native_splash/Sources/flutter_native_splash/PrivacyInfo.xcprivacy","sourceTree":"","type":"file"},{"children":[{"children":[{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98f50f5cea49c7a2be171197f72c2cb1ad","path":"../../../../../../../../../../../../../../.pub-cache/hosted/pub.dev/flutter_native_splash-2.4.6/ios/flutter_native_splash/Sources/flutter_native_splash/include/flutter_native_splash/FlutterNativeSplashPlugin.h","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e9808f268d5b9df60bba67b9fd0c29c05b6","name":"flutter_native_splash","path":"flutter_native_splash","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e983d680a884a248fe65950f39cc3768e67","name":"include","path":"include","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98be78d0783dec2c0a89a792d5f05ce8dd","name":"flutter_native_splash","path":"flutter_native_splash","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98e31a8fab07e05142c7d46ee4b405919e","name":"Sources","path":"Sources","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98b418bce29d3313ae0a404593276dedf9","name":"flutter_native_splash","path":"flutter_native_splash","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98ff5e907fed81d0e3e5a3a0555f6349ac","name":"ios","path":"ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e983d4d7725d200341bb229a31bdbe06958","name":"flutter_native_splash","path":"flutter_native_splash","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9878799cdc0318e044f92f5a91b35a1096","name":"plugins","path":"plugins","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98c0ccd530353d852c3a7ed6a0279249e6","name":".symlinks","path":".symlinks","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e980dd3d0903b6a73e305a08084dff245ec","name":"ios","path":"ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98376cae92cf402a27fcecfee7d6dcc1cb","name":"mih_ui","path":"mih_ui","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98a00410193349da21cc2b1f3c4034ba10","name":"mih-project","path":"mih-project","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9865cc46cc97efdb21a1483fc13cf87f48","name":"mih_main","path":"mih_main","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e984022d2e4ee99326725df8769e42d4a3c","name":"Git","path":"Git","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98d69b98052ba5a4014becc316ac8cc287","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98d10a9c1d4dc219af77c81eacc7cbfe98","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98bfd72b3f36ffda8878b61c12b3d69748","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98c9c621363dc6b8d5e20e054054e36150","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98951a6a7df7346cf226cf7a4b0d152f1c","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e984eb6a970107be74df6b904b39de0b6ba","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98140cd6a7644ab36f518bf4ad22a7d3eb","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e989e2ff8efe01edbed51decf543222911c","name":"..","path":"../../../../../../../../../.pub-cache/hosted/pub.dev/flutter_native_splash-2.4.6/ios/flutter_native_splash/Sources","sourceTree":"","type":"group"},{"children":[{"fileType":"text.script.ruby","guid":"bfdfe7dc352907fc980b868725387e9839bcba16f3a4b5b55a1c4dbae6818d09","path":"../../../../../../../../../.pub-cache/hosted/pub.dev/flutter_native_splash-2.4.6/ios/flutter_native_splash.podspec","sourceTree":"","type":"file"},{"fileType":"text","guid":"bfdfe7dc352907fc980b868725387e9816d242432067f169fb5e634b8da553a4","path":"../../../../../../../../../.pub-cache/hosted/pub.dev/flutter_native_splash-2.4.6/LICENSE","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e981644d34b5ba12a8fcbca4e962da1a49c","name":"Pod","path":"","sourceTree":"","type":"group"},{"children":[{"fileType":"sourcecode.module-map","guid":"bfdfe7dc352907fc980b868725387e9831bb9f78ecf54ee2f2ca2622a012015a","path":"flutter_native_splash.modulemap","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98c166ee5988b20398d317d310c58eb4b1","path":"flutter_native_splash-dummy.m","sourceTree":"","type":"file"},{"fileType":"text.plist.xml","guid":"bfdfe7dc352907fc980b868725387e98eb2ed9da81ceef0af7f4a8b579f6dc40","path":"flutter_native_splash-Info.plist","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98a242fee531fc9ef1ddaaaa74fcf205ae","path":"flutter_native_splash-prefix.pch","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98c086e8c7ed209047f486aa181b9d15d3","path":"flutter_native_splash-umbrella.h","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e984615091c333da42672bfd26263153e2c","path":"flutter_native_splash.debug.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e98eccf4b0b561ffd1dcb573fa88f797247","path":"flutter_native_splash.release.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.plist.xml","guid":"bfdfe7dc352907fc980b868725387e98e47fc30ab84ee592f9392f7679ce4df2","path":"ResourceBundle-flutter_native_splash_privacy-flutter_native_splash-Info.plist","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e98ba002b704616ff51eccbbf740cc19d4a","name":"Support Files","path":"../../../../Pods/Target Support Files/flutter_native_splash","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9884625c55b5029f9d3ac00695d3ec4f1d","name":"flutter_native_splash","path":"../.symlinks/plugins/flutter_native_splash/ios","sourceTree":"","type":"group"},{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98273545ef5ac201300b0bb57c4690f008","path":"../../../../../../../../../../.pub-cache/hosted/pub.dev/flutter_tts-4.2.3/ios/Classes/AudioCategory.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e988f4f0b636ec4f957216c6e152d4e6b99","path":"../../../../../../../../../../.pub-cache/hosted/pub.dev/flutter_tts-4.2.3/ios/Classes/AudioCategoryOptions.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98497ea7215b16a92c8bf53dd577da1a03","path":"../../../../../../../../../../.pub-cache/hosted/pub.dev/flutter_tts-4.2.3/ios/Classes/AudioModes.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98df53373bea73f458559a5c4b8e8a4d93","path":"../../../../../../../../../../.pub-cache/hosted/pub.dev/flutter_tts-4.2.3/ios/Classes/FlutterTtsPlugin.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98bfeb1e815de07bb393e068cd889f2c82","path":"../../../../../../../../../../.pub-cache/hosted/pub.dev/flutter_tts-4.2.3/ios/Classes/FlutterTtsPlugin.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e989645eb0ac136e2e344e1b31f8f5743b7","path":"../../../../../../../../../../.pub-cache/hosted/pub.dev/flutter_tts-4.2.3/ios/Classes/SwiftFlutterTtsPlugin.swift","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e98e795de7ad9d01eca4e8106970b494fc2","name":"Classes","path":"Classes","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9896bf9785b74e587bc9e91fbb4da8a435","name":"ios","path":"ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9858a83b402bb384dd6952816528fa7bbf","name":"flutter_tts","path":"flutter_tts","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98025b02f52f99e3decaab62aa1a291023","name":"plugins","path":"plugins","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9836d8083626fc0dc75b7b8e541ffd9e45","name":".symlinks","path":".symlinks","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e982c279b3e418919ef5f065730bf07a3c1","name":"ios","path":"ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98b3c3cf9f62fc1da56d8b6bff85524539","name":"mih_ui","path":"mih_ui","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98a0b564e42e305c647ab1881da5a03693","name":"mih-project","path":"mih-project","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98299ed66fcf0e4be7c0ec188b0d43e29f","name":"mih_main","path":"mih_main","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98a3cf26d212ebef093548b626061332e3","name":"Git","path":"Git","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98269a01fd0639d9a3e9e948f82caf0f60","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98941778a8285fce310defd4a5d3efddf1","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9813b3dae129ca362ee7543b76405999f1","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98e94adf6fc7d648ea52858ddd73e2e4a5","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98a4697b90150da6f09c432db7f33c8897","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98966cd8c92fd96e89dc448540e3d8724f","name":"..","path":"../../../../../../../../../.pub-cache/hosted/pub.dev/flutter_tts-4.2.3/ios","sourceTree":"","type":"group"},{"children":[{"fileType":"text.script.ruby","guid":"bfdfe7dc352907fc980b868725387e984197658a19c08e23c61b5ca21864856e","path":"../../../../../../../../../.pub-cache/hosted/pub.dev/flutter_tts-4.2.3/ios/flutter_tts.podspec","sourceTree":"","type":"file"},{"fileType":"text","guid":"bfdfe7dc352907fc980b868725387e9850213c3e5ab4d6823caa18df0c548483","path":"../../../../../../../../../.pub-cache/hosted/pub.dev/flutter_tts-4.2.3/LICENSE","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e982c885b13886e6ac5b7c770330e1994b4","name":"Pod","path":"","sourceTree":"","type":"group"},{"children":[{"fileType":"sourcecode.module-map","guid":"bfdfe7dc352907fc980b868725387e98664d028a9be00addb39c144173cd67aa","path":"flutter_tts.modulemap","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98b11e2a9ab729e7e8322eb0a54ccd2fb5","path":"flutter_tts-dummy.m","sourceTree":"","type":"file"},{"fileType":"text.plist.xml","guid":"bfdfe7dc352907fc980b868725387e98bb1e92c4af064ddec8a8064aea018b35","path":"flutter_tts-Info.plist","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98ba1a138da2847d5260f85431acbaf697","path":"flutter_tts-prefix.pch","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9825cfe228bef73c17089a941802e513b1","path":"flutter_tts-umbrella.h","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e98b8e89d3c9864142bc7587bc7895448f7","path":"flutter_tts.debug.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e98111c994b75369b574157edb8fabcd0dc","path":"flutter_tts.release.xcconfig","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e9850a5c296a4de5727af3ec2b788a12c81","name":"Support Files","path":"../../../../Pods/Target Support Files/flutter_tts","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e985664ee4df152ddc248af7315dbd9e2a9","name":"flutter_tts","path":"../.symlinks/plugins/flutter_tts/ios","sourceTree":"","type":"group"},{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98ecf8248839ba4e6f17d3532feb14821b","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/geolocator_apple-2.3.13/darwin/geolocator_apple/Sources/geolocator_apple/GeolocatorPlugin.m","sourceTree":"","type":"file"},{"fileType":"text.xml","guid":"bfdfe7dc352907fc980b868725387e98a5e5404fb09ecfe1c9c3cd85e3ab5448","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/geolocator_apple-2.3.13/darwin/geolocator_apple/Sources/geolocator_apple/PrivacyInfo.xcprivacy","sourceTree":"","type":"file"},{"children":[{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98e067790bbee9fb9376d0c77605d73661","path":"../../../../../../../../../../../../../.pub-cache/hosted/pub.dev/geolocator_apple-2.3.13/darwin/geolocator_apple/Sources/geolocator_apple/Constants/ErrorCodes.m","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e98f389d7590be5e9db0ca57c059ca0108b","name":"Constants","path":"Constants","sourceTree":"","type":"group"},{"children":[{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e9825eb273bb3a088732d81eeb1c19af553","path":"../../../../../../../../../../../../../.pub-cache/hosted/pub.dev/geolocator_apple-2.3.13/darwin/geolocator_apple/Sources/geolocator_apple/Handlers/GeolocationHandler.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98a8a273d3c64641ffd71fe5f8c04b4132","path":"../../../../../../../../../../../../../.pub-cache/hosted/pub.dev/geolocator_apple-2.3.13/darwin/geolocator_apple/Sources/geolocator_apple/Handlers/LocationAccuracyHandler.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e988c15f7293e9ecd2b1063ce877015924a","path":"../../../../../../../../../../../../../.pub-cache/hosted/pub.dev/geolocator_apple-2.3.13/darwin/geolocator_apple/Sources/geolocator_apple/Handlers/LocationServiceStreamHandler.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e989c2cb05698df9b731b1c1c1e59a898de","path":"../../../../../../../../../../../../../.pub-cache/hosted/pub.dev/geolocator_apple-2.3.13/darwin/geolocator_apple/Sources/geolocator_apple/Handlers/PermissionHandler.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98d01f765a57f90a102cc78be24a15233c","path":"../../../../../../../../../../../../../.pub-cache/hosted/pub.dev/geolocator_apple-2.3.13/darwin/geolocator_apple/Sources/geolocator_apple/Handlers/PositionStreamHandler.m","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e98e66506db49d7cfd1dafabb24cf81fa67","name":"Handlers","path":"Handlers","sourceTree":"","type":"group"},{"children":[{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9817d4eb1b3c3ac1e9ddcfc14974bec284","path":"../../../../../../../../../../../../../.pub-cache/hosted/pub.dev/geolocator_apple-2.3.13/darwin/geolocator_apple/Sources/geolocator_apple/include/geolocator-umbrella.h","sourceTree":"","type":"file"},{"children":[{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e986f7ca76bd9fb989518a0786f66daa730","path":"../../../../../../../../../../../../../../.pub-cache/hosted/pub.dev/geolocator_apple-2.3.13/darwin/geolocator_apple/Sources/geolocator_apple/include/geolocator_apple/GeolocatorPlugin.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98e8c93c09dbe016d2a985868756c3daf2","path":"../../../../../../../../../../../../../../.pub-cache/hosted/pub.dev/geolocator_apple-2.3.13/darwin/geolocator_apple/Sources/geolocator_apple/include/geolocator_apple/GeolocatorPlugin_Test.h","sourceTree":"","type":"file"},{"children":[{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98b8a07e04f908cc8061e28409eec78500","path":"../../../../../../../../../../../../../../../.pub-cache/hosted/pub.dev/geolocator_apple-2.3.13/darwin/geolocator_apple/Sources/geolocator_apple/include/geolocator_apple/Constants/ErrorCodes.h","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e98564b47353e7d1bdd7258fa20cf38a285","name":"Constants","path":"Constants","sourceTree":"","type":"group"},{"children":[{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e985d7e5bf3eb3e1529ebbb131e40709a84","path":"../../../../../../../../../../../../../../../.pub-cache/hosted/pub.dev/geolocator_apple-2.3.13/darwin/geolocator_apple/Sources/geolocator_apple/include/geolocator_apple/Handlers/GeolocationHandler.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e982a3cc027245753495848a1caefc6d9f4","path":"../../../../../../../../../../../../../../../.pub-cache/hosted/pub.dev/geolocator_apple-2.3.13/darwin/geolocator_apple/Sources/geolocator_apple/include/geolocator_apple/Handlers/GeolocationHandler_Test.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e983f42416849bce11b33d814523ade52b1","path":"../../../../../../../../../../../../../../../.pub-cache/hosted/pub.dev/geolocator_apple-2.3.13/darwin/geolocator_apple/Sources/geolocator_apple/include/geolocator_apple/Handlers/LocationAccuracyHandler.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e981f6af95e734f0e05952c002243f2cb28","path":"../../../../../../../../../../../../../../../.pub-cache/hosted/pub.dev/geolocator_apple-2.3.13/darwin/geolocator_apple/Sources/geolocator_apple/include/geolocator_apple/Handlers/LocationServiceStreamHandler.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98892d93e77cafda119e30c32988406d93","path":"../../../../../../../../../../../../../../../.pub-cache/hosted/pub.dev/geolocator_apple-2.3.13/darwin/geolocator_apple/Sources/geolocator_apple/include/geolocator_apple/Handlers/PermissionHandler.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98184bfb0fe7b895691bee4935d2b5d50f","path":"../../../../../../../../../../../../../../../.pub-cache/hosted/pub.dev/geolocator_apple-2.3.13/darwin/geolocator_apple/Sources/geolocator_apple/include/geolocator_apple/Handlers/PositionStreamHandler.h","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e981536bb489c24983c514c14d4cc16e595","name":"Handlers","path":"Handlers","sourceTree":"","type":"group"},{"children":[{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98ae7e46b06e0aeb71210643f8094d1b27","path":"../../../../../../../../../../../../../../../.pub-cache/hosted/pub.dev/geolocator_apple-2.3.13/darwin/geolocator_apple/Sources/geolocator_apple/include/geolocator_apple/Utils/ActivityTypeMapper.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9894545c5eb4d21f54d2b3ad4447240a56","path":"../../../../../../../../../../../../../../../.pub-cache/hosted/pub.dev/geolocator_apple-2.3.13/darwin/geolocator_apple/Sources/geolocator_apple/include/geolocator_apple/Utils/AuthorizationStatusMapper.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98d79d9d7f2df01bec5fd1e10cbe9b2f76","path":"../../../../../../../../../../../../../../../.pub-cache/hosted/pub.dev/geolocator_apple-2.3.13/darwin/geolocator_apple/Sources/geolocator_apple/include/geolocator_apple/Utils/LocationAccuracyMapper.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e981fc28c232ec55d2d1c2305e98d7bd92a","path":"../../../../../../../../../../../../../../../.pub-cache/hosted/pub.dev/geolocator_apple-2.3.13/darwin/geolocator_apple/Sources/geolocator_apple/include/geolocator_apple/Utils/LocationDistanceMapper.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98d33e281aa21213bf9ee3ca2d26a8cb52","path":"../../../../../../../../../../../../../../../.pub-cache/hosted/pub.dev/geolocator_apple-2.3.13/darwin/geolocator_apple/Sources/geolocator_apple/include/geolocator_apple/Utils/LocationMapper.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e981700891532905651a54cc9a07dd2c6b3","path":"../../../../../../../../../../../../../../../.pub-cache/hosted/pub.dev/geolocator_apple-2.3.13/darwin/geolocator_apple/Sources/geolocator_apple/include/geolocator_apple/Utils/PermissionUtils.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98e2f51025ce37ba6eff3a96efa381b796","path":"../../../../../../../../../../../../../../../.pub-cache/hosted/pub.dev/geolocator_apple-2.3.13/darwin/geolocator_apple/Sources/geolocator_apple/include/geolocator_apple/Utils/ServiceStatus.h","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e985667aa0966b78f13fc94b8d52ef07069","name":"Utils","path":"Utils","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98ac40486a435ceade9d60db208ec16e1b","name":"geolocator_apple","path":"geolocator_apple","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98b84b1441d770b214bd709d8f5b1d3248","name":"include","path":"include","sourceTree":"","type":"group"},{"children":[{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98394614911d329fd59c3c1e287c4f7ac2","path":"../../../../../../../../../../../../../.pub-cache/hosted/pub.dev/geolocator_apple-2.3.13/darwin/geolocator_apple/Sources/geolocator_apple/Utils/ActivityTypeMapper.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98acbd88adba80f77ca7a9d08f07fa7223","path":"../../../../../../../../../../../../../.pub-cache/hosted/pub.dev/geolocator_apple-2.3.13/darwin/geolocator_apple/Sources/geolocator_apple/Utils/AuthorizationStatusMapper.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e982ea9c75e15c2f0e5172d62007ca22170","path":"../../../../../../../../../../../../../.pub-cache/hosted/pub.dev/geolocator_apple-2.3.13/darwin/geolocator_apple/Sources/geolocator_apple/Utils/LocationAccuracyMapper.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98230a202d71e90bc984b72ad2f09fb2f4","path":"../../../../../../../../../../../../../.pub-cache/hosted/pub.dev/geolocator_apple-2.3.13/darwin/geolocator_apple/Sources/geolocator_apple/Utils/LocationDistanceMapper.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98c64b3141b3e00a1e02e21e19f1e7eaab","path":"../../../../../../../../../../../../../.pub-cache/hosted/pub.dev/geolocator_apple-2.3.13/darwin/geolocator_apple/Sources/geolocator_apple/Utils/LocationMapper.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e982631bb95675558dfb73b76bfc58028b0","path":"../../../../../../../../../../../../../.pub-cache/hosted/pub.dev/geolocator_apple-2.3.13/darwin/geolocator_apple/Sources/geolocator_apple/Utils/PermissionUtils.m","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e981cc49838fe0b164a24b0497426ed1872","name":"Utils","path":"Utils","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9845a18a64d01086b3a5e03e0726c72ad5","name":"geolocator_apple","path":"geolocator_apple","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98f8f310240676888551cbce2c4a38ad04","name":"Sources","path":"Sources","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e985ae39fd60e91694e50d5459c5ee7554b","name":"geolocator_apple","path":"geolocator_apple","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98d5416b91657cb5aadd074a2eafcb298e","name":"darwin","path":"darwin","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9850beea1f1eb7e3285a009c040ac337c0","name":"geolocator_apple","path":"geolocator_apple","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e988381e2d6db0934bae3374082488deb07","name":"plugins","path":"plugins","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e985987c10e62d5ae59c4d30cdfbf7dcd0c","name":".symlinks","path":".symlinks","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98a675fc008b4ccd74ed68303bc64d51d3","name":"ios","path":"ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98b262dff1a6946a390062fb8d44e8f00b","name":"mih_ui","path":"mih_ui","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98792dfcec259d0cb8e896589f0772723f","name":"mih-project","path":"mih-project","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e986be7bd9b69c24b311636c049fd830ced","name":"mih_main","path":"mih_main","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98c86148aec55a4345d66ce5d25dee1fc5","name":"Git","path":"Git","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98ee55db4b9ab3c92c4677f00cc66f472f","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98a4cc776aa809ddbed08a35eba77ff870","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98b192d0a4c1d3cbab73af086e3bc29707","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98443c081a5b6c842b7c474b70b1b6a0b1","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e989fdf0343f9596072ec5a0e066bd81b3d","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e983c0b90a4c6156242cbdc6088a1ac2755","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9893bce549659923dc4c5c1624e81ca6c8","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e981227750ff5a7875e98c4bf141d19a15a","name":"..","path":"../../../../../../../../../.pub-cache/hosted/pub.dev/geolocator_apple-2.3.13/darwin/geolocator_apple/Sources","sourceTree":"","type":"group"},{"children":[{"fileType":"text.script.ruby","guid":"bfdfe7dc352907fc980b868725387e9876a2864167e24de1f0fa64edb99c0ffb","path":"../../../../../../../../../.pub-cache/hosted/pub.dev/geolocator_apple-2.3.13/darwin/geolocator_apple.podspec","sourceTree":"","type":"file"},{"fileType":"sourcecode.module-map","guid":"bfdfe7dc352907fc980b868725387e98820d0afbd7a010746242a58f46799999","path":"../../../../../../../../../.pub-cache/hosted/pub.dev/geolocator_apple-2.3.13/darwin/geolocator_apple/Sources/geolocator_apple/include/GeolocatorPlugin.modulemap","sourceTree":"","type":"file"},{"fileType":"text","guid":"bfdfe7dc352907fc980b868725387e98011268945c36b9ceebbfbccceda6605e","path":"../../../../../../../../../.pub-cache/hosted/pub.dev/geolocator_apple-2.3.13/LICENSE","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e9804b6f8c808c7283afff93f2ea8ea9951","name":"Pod","path":"","sourceTree":"","type":"group"},{"children":[{"fileType":"sourcecode.module-map","guid":"bfdfe7dc352907fc980b868725387e980fd6cecba834abe29b2f15b93f28d8dc","path":"geolocator_apple.modulemap","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e9820b9343c256beee0a1c63afec1a67796","path":"geolocator_apple-dummy.m","sourceTree":"","type":"file"},{"fileType":"text.plist.xml","guid":"bfdfe7dc352907fc980b868725387e98be534d3a4f1db11fbd07c81b7ce20a53","path":"geolocator_apple-Info.plist","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e982f75c0f88f4beefbabfbdf79c68646d4","path":"geolocator_apple-prefix.pch","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e98cca55d6c772db4d637cf770c880e5bab","path":"geolocator_apple.debug.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e98563a39b273a0c88e1e2a4a289bb4eff2","path":"geolocator_apple.release.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.plist.xml","guid":"bfdfe7dc352907fc980b868725387e98228627942149fc66c3cc7f2f156393bc","path":"ResourceBundle-geolocator_apple_privacy-geolocator_apple-Info.plist","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e9802ee4e2e69248bd9f3bc1cc7df1b2a72","name":"Support Files","path":"../../../../Pods/Target Support Files/geolocator_apple","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9883ddda10d177543347d7414387e6b93f","name":"geolocator_apple","path":"../.symlinks/plugins/geolocator_apple/darwin","sourceTree":"","type":"group"},{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98de6a43df899eca99ef9a76eb3ad60a9b","path":"../../../../../../../../../../.pub-cache/hosted/pub.dev/gma_mediation_meta-1.4.1/ios/Classes/GmaMediationMetaPlugin.swift","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e988a3b9138be85eef20087693f3733b9f7","name":"Classes","path":"Classes","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e982d2a97b6721af734cb336d4d9d14a978","name":"ios","path":"ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e981f344dd3f0f476e94dc4032988ad21c8","name":"gma_mediation_meta","path":"gma_mediation_meta","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98dde06cdf7aa79311d49d807bef0624e1","name":"plugins","path":"plugins","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98f7c585e7d69cd1784bc451798af821ba","name":".symlinks","path":".symlinks","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98ca3755d9ea9e625f6b0e1c9595df0e73","name":"ios","path":"ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98cd07de7ece829229a5cd7f4589e9aa1b","name":"mih_ui","path":"mih_ui","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e986c0eb47a69c5ef033ed2c06578cd755f","name":"mih-project","path":"mih-project","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98610ddb3253d894b958fd8caac55fb7c2","name":"mih_main","path":"mih_main","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98be22ace52c66610bf4fa74c9371763ee","name":"Git","path":"Git","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98fc76fa81069a6d2456610d26c09ad29a","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98f54631f5283fc4486540a839cd548473","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9838bf4e5370d028d02019f69e624fb766","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98ce9da887ab31570c31b5be39af990c99","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e987794cbefd29dcd5b55d4f24c0eb9b86b","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98266a86b0874d5a77fcb3f14df27a7dad","name":"..","path":"../../../../../../../../../.pub-cache/hosted/pub.dev/gma_mediation_meta-1.4.1/ios","sourceTree":"","type":"group"},{"children":[{"fileType":"text.script.ruby","guid":"bfdfe7dc352907fc980b868725387e984c9a371b4768a47036f74a85762a5756","path":"../../../../../../../../../.pub-cache/hosted/pub.dev/gma_mediation_meta-1.4.1/ios/gma_mediation_meta.podspec","sourceTree":"","type":"file"},{"fileType":"text","guid":"bfdfe7dc352907fc980b868725387e98d440111c4f17e6cc15039d3a647ca4a1","path":"../../../../../../../../../.pub-cache/hosted/pub.dev/gma_mediation_meta-1.4.1/LICENSE","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e986a11c846835b0464eedb907d8a69504c","name":"Pod","path":"","sourceTree":"","type":"group"},{"children":[{"fileType":"sourcecode.module-map","guid":"bfdfe7dc352907fc980b868725387e9840c032e476c20c8ce93e53da92990570","path":"gma_mediation_meta.modulemap","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e984dfc7910e2cd9fac3233404165834daa","path":"gma_mediation_meta-dummy.m","sourceTree":"","type":"file"},{"fileType":"text.plist.xml","guid":"bfdfe7dc352907fc980b868725387e984c4389c03478134caa5f9063a397ed56","path":"gma_mediation_meta-Info.plist","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98c0926e1ab9cccf8e6f6be6ce2d92d03c","path":"gma_mediation_meta-prefix.pch","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98f8de3b0000f893d550dd9f3b81ebc5cf","path":"gma_mediation_meta-umbrella.h","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e984313c60e6f9802ff746f03392a8606c6","path":"gma_mediation_meta.debug.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e98a3553afa0a155f1b7d0b159f832c1bdf","path":"gma_mediation_meta.release.xcconfig","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e986f31c7fc7caf3bdd20a857979520b8b4","name":"Support Files","path":"../../../../Pods/Target Support Files/gma_mediation_meta","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98d7acdcb1524eae7cf10e61cf08cb5fdb","name":"gma_mediation_meta","path":"../.symlinks/plugins/gma_mediation_meta/ios","sourceTree":"","type":"group"},{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"fileType":"file.xib","guid":"bfdfe7dc352907fc980b868725387e982d53de7511db5a956fe99a4cfd6a3fc6","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/google_mobile_ads-6.0.0/ios/Classes/NativeTemplates/GoogleAdsMobileIosNativeTemplates/GADTFullScreenTemplateView.xib","sourceTree":"","type":"file"},{"fileType":"file.xib","guid":"bfdfe7dc352907fc980b868725387e98fb4a1331e3e12b4a42dc22a871d90dbc","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/google_mobile_ads-6.0.0/ios/Classes/NativeTemplates/GoogleAdsMobileIosNativeTemplates/GADTMediumTemplateView.xib","sourceTree":"","type":"file"},{"fileType":"file.xib","guid":"bfdfe7dc352907fc980b868725387e983b2fa426a77c6733b0fe8cfa17eaaa44","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/google_mobile_ads-6.0.0/ios/Classes/NativeTemplates/GoogleAdsMobileIosNativeTemplates/GADTSmallTemplateView.xib","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e9884fa7ea4fe0a8f9617c20bf588117864","name":"GoogleAdsMobileIosNativeTemplates","path":"GoogleAdsMobileIosNativeTemplates","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98d4f0f60e1ddab0be85f75b22ed409506","name":"NativeTemplates","path":"NativeTemplates","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98b9015572d98d9472a3d4483c35531f25","name":"Classes","path":"Classes","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98aa53af110a5d2ca85b38a84f94ac5b9a","name":"ios","path":"ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98ec9b1a5199f447b986e2adf8d0d674f4","name":"google_mobile_ads","path":"google_mobile_ads","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98376b309d1833fec568dfaf24eb9421ae","name":"plugins","path":"plugins","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e984bb13b21c45d4120ba0107eae0515b20","name":".symlinks","path":".symlinks","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98031bd58572f072f627e4717b1dd7302d","name":"ios","path":"ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e988adf2653fd4903237dc0df4428ff7586","name":"mih_ui","path":"mih_ui","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9822338e4ddc0acc85067c540dca84ad25","name":"mih-project","path":"mih-project","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98aaf47f53e032b61400089f260cbd02c4","name":"mih_main","path":"mih_main","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98408c01383c6581d63d2bf947b72a631a","name":"Git","path":"Git","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e988d96046b8193b5a333e1c55964adf092","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98e32f3ed8f4797a454f2dd4902f43b22f","name":"..","path":".pub-cache","sourceTree":"","type":"group"},{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e984240dfeec000ca8d0ac4a90a031aaf0a","path":"../../../../../../../../../../.pub-cache/hosted/pub.dev/google_mobile_ads-6.0.0/ios/Classes/FLTAd_Internal.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98f5aab5940ee683a0f59b1e8870b802dc","path":"../../../../../../../../../../.pub-cache/hosted/pub.dev/google_mobile_ads-6.0.0/ios/Classes/FLTAd_Internal.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9890fd4326c9f214196bd5a0490007afcd","path":"../../../../../../../../../../.pub-cache/hosted/pub.dev/google_mobile_ads-6.0.0/ios/Classes/FLTAdInstanceManager_Internal.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e9806b9260a8591ca252226b8bacbb7c485","path":"../../../../../../../../../../.pub-cache/hosted/pub.dev/google_mobile_ads-6.0.0/ios/Classes/FLTAdInstanceManager_Internal.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e984d482976b92aa362238438f33e1d3847","path":"../../../../../../../../../../.pub-cache/hosted/pub.dev/google_mobile_ads-6.0.0/ios/Classes/FLTAdUtil.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e981c6389e12e9d4a39af9fc2b794895960","path":"../../../../../../../../../../.pub-cache/hosted/pub.dev/google_mobile_ads-6.0.0/ios/Classes/FLTAdUtil.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9835c6106e9c677e5754054f0a9010d0fb","path":"../../../../../../../../../../.pub-cache/hosted/pub.dev/google_mobile_ads-6.0.0/ios/Classes/FLTAppStateNotifier.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e986b6b176839f0b199c05b9bfda1b0289a","path":"../../../../../../../../../../.pub-cache/hosted/pub.dev/google_mobile_ads-6.0.0/ios/Classes/FLTAppStateNotifier.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e981f6abf8441aeddf38e2ee5b6e097cc8f","path":"../../../../../../../../../../.pub-cache/hosted/pub.dev/google_mobile_ads-6.0.0/ios/Classes/FLTConstants.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e989cc1f81c38bb9851f4050d8234e27827","path":"../../../../../../../../../../.pub-cache/hosted/pub.dev/google_mobile_ads-6.0.0/ios/Classes/FLTGoogleMobileAdsCollection_Internal.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98e42ceda20f7996f4f1db9cb68f5f0e82","path":"../../../../../../../../../../.pub-cache/hosted/pub.dev/google_mobile_ads-6.0.0/ios/Classes/FLTGoogleMobileAdsCollection_Internal.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98b3f9c06c5fdf0e42530f281cca9fc44f","path":"../../../../../../../../../../.pub-cache/hosted/pub.dev/google_mobile_ads-6.0.0/ios/Classes/FLTGoogleMobileAdsPlugin.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98220dcc23917995a27d0f53057040c555","path":"../../../../../../../../../../.pub-cache/hosted/pub.dev/google_mobile_ads-6.0.0/ios/Classes/FLTGoogleMobileAdsPlugin.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98c6a0457f533d1b1ca15ab8a5364ef37b","path":"../../../../../../../../../../.pub-cache/hosted/pub.dev/google_mobile_ads-6.0.0/ios/Classes/FLTGoogleMobileAdsReaderWriter_Internal.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e981d5d659ea3fece667574bfd04ef72e19","path":"../../../../../../../../../../.pub-cache/hosted/pub.dev/google_mobile_ads-6.0.0/ios/Classes/FLTGoogleMobileAdsReaderWriter_Internal.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9864b4634ab3a98b02e906a6583e29134f","path":"../../../../../../../../../../.pub-cache/hosted/pub.dev/google_mobile_ads-6.0.0/ios/Classes/FLTMediationExtras.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e985ef5b1cd5b86a3e538a197c1ab9a9812","path":"../../../../../../../../../../.pub-cache/hosted/pub.dev/google_mobile_ads-6.0.0/ios/Classes/FLTMediationNetworkExtrasProvider.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98d65e11739777d0c59cb6a89a4b9c2e57","path":"../../../../../../../../../../.pub-cache/hosted/pub.dev/google_mobile_ads-6.0.0/ios/Classes/FLTMobileAds_Internal.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e986b796972877c18df3d6f5af3cab27e5c","path":"../../../../../../../../../../.pub-cache/hosted/pub.dev/google_mobile_ads-6.0.0/ios/Classes/FLTMobileAds_Internal.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9816ecde728aa88cc29920a74c71a2d3db","path":"../../../../../../../../../../.pub-cache/hosted/pub.dev/google_mobile_ads-6.0.0/ios/Classes/FLTNSString.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e9815cfebf454d95d6d62ffbab198236c6c","path":"../../../../../../../../../../.pub-cache/hosted/pub.dev/google_mobile_ads-6.0.0/ios/Classes/FLTNSString.m","sourceTree":"","type":"file"},{"children":[{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9881de238705aaccdfd3c39ad39d8a29c1","path":"../../../../../../../../../../../.pub-cache/hosted/pub.dev/google_mobile_ads-6.0.0/ios/Classes/NativeTemplates/FLTNativeTemplateColor.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e988d7783f13036a505334aa6f36adb89c1","path":"../../../../../../../../../../../.pub-cache/hosted/pub.dev/google_mobile_ads-6.0.0/ios/Classes/NativeTemplates/FLTNativeTemplateColor.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9885218f34df8f4718b80b621799778241","path":"../../../../../../../../../../../.pub-cache/hosted/pub.dev/google_mobile_ads-6.0.0/ios/Classes/NativeTemplates/FLTNativeTemplateFontStyle.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e983ac31ec6480613fd151e1b624e682774","path":"../../../../../../../../../../../.pub-cache/hosted/pub.dev/google_mobile_ads-6.0.0/ios/Classes/NativeTemplates/FLTNativeTemplateFontStyle.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98ae8af11166b7347d9e0d43f78afdb3c0","path":"../../../../../../../../../../../.pub-cache/hosted/pub.dev/google_mobile_ads-6.0.0/ios/Classes/NativeTemplates/FLTNativeTemplateStyle.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e982281f17e05329e9e471231e98f942168","path":"../../../../../../../../../../../.pub-cache/hosted/pub.dev/google_mobile_ads-6.0.0/ios/Classes/NativeTemplates/FLTNativeTemplateStyle.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9832d9b8c3de108888f7fc0fad5d829a47","path":"../../../../../../../../../../../.pub-cache/hosted/pub.dev/google_mobile_ads-6.0.0/ios/Classes/NativeTemplates/FLTNativeTemplateTextStyle.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98147317a5801ba72c5dde82a8e257712f","path":"../../../../../../../../../../../.pub-cache/hosted/pub.dev/google_mobile_ads-6.0.0/ios/Classes/NativeTemplates/FLTNativeTemplateTextStyle.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98809c667f0a0b2817398014a088224434","path":"../../../../../../../../../../../.pub-cache/hosted/pub.dev/google_mobile_ads-6.0.0/ios/Classes/NativeTemplates/FLTNativeTemplateType.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98760f6bc37adfc3ac8632fa54f20c218f","path":"../../../../../../../../../../../.pub-cache/hosted/pub.dev/google_mobile_ads-6.0.0/ios/Classes/NativeTemplates/FLTNativeTemplateType.m","sourceTree":"","type":"file"},{"children":[{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e987a51e4f40d97cb9adc27b2e42cc25b62","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/google_mobile_ads-6.0.0/ios/Classes/NativeTemplates/GoogleAdsMobileIosNativeTemplates/GADTFullScreenTemplateView.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e985ae4ef538e0272a808791bf1392f7c73","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/google_mobile_ads-6.0.0/ios/Classes/NativeTemplates/GoogleAdsMobileIosNativeTemplates/GADTFullScreenTemplateView.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9864317c934a174460acab2d786935fa3a","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/google_mobile_ads-6.0.0/ios/Classes/NativeTemplates/GoogleAdsMobileIosNativeTemplates/GADTMediumTemplateView.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e981bf4bcbaf79a603383c23645090bc955","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/google_mobile_ads-6.0.0/ios/Classes/NativeTemplates/GoogleAdsMobileIosNativeTemplates/GADTMediumTemplateView.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98fd894f45ca741629b38f8f4692bca46a","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/google_mobile_ads-6.0.0/ios/Classes/NativeTemplates/GoogleAdsMobileIosNativeTemplates/GADTSmallTemplateView.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98bb573db16d21ecd76a77b185c52f7253","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/google_mobile_ads-6.0.0/ios/Classes/NativeTemplates/GoogleAdsMobileIosNativeTemplates/GADTSmallTemplateView.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98b98042b15a1b65a5f73b8fcdf63acd94","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/google_mobile_ads-6.0.0/ios/Classes/NativeTemplates/GoogleAdsMobileIosNativeTemplates/GADTTemplateView.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98e50cbcfd7237202c92423678a691838b","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/google_mobile_ads-6.0.0/ios/Classes/NativeTemplates/GoogleAdsMobileIosNativeTemplates/GADTTemplateView.m","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e98e22d2696fa4128be851081cad482c8ca","name":"GoogleAdsMobileIosNativeTemplates","path":"GoogleAdsMobileIosNativeTemplates","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9878f5abbe620b2e8f6a4390b145252a4d","name":"NativeTemplates","path":"NativeTemplates","sourceTree":"","type":"group"},{"children":[{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98ef6f527da899ce3d0d655df4fdba772c","path":"../../../../../../../../../../../.pub-cache/hosted/pub.dev/google_mobile_ads-6.0.0/ios/Classes/UserMessagingPlatform/FLTUserMessagingPlatformManager.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98048f3e8812e4b1dbde8a2d474f511920","path":"../../../../../../../../../../../.pub-cache/hosted/pub.dev/google_mobile_ads-6.0.0/ios/Classes/UserMessagingPlatform/FLTUserMessagingPlatformManager.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e988b4c2f093c31a9f200c8f45161df3c2a","path":"../../../../../../../../../../../.pub-cache/hosted/pub.dev/google_mobile_ads-6.0.0/ios/Classes/UserMessagingPlatform/FLTUserMessagingPlatformReaderWriter.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98e0475a3f5954ad23ef9e699046810e3b","path":"../../../../../../../../../../../.pub-cache/hosted/pub.dev/google_mobile_ads-6.0.0/ios/Classes/UserMessagingPlatform/FLTUserMessagingPlatformReaderWriter.m","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e98dad257b2dc557b5727b68304c8db7c68","name":"UserMessagingPlatform","path":"UserMessagingPlatform","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98652188a5dadc38381ce172c0a890a2d9","name":"Classes","path":"Classes","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98316dd38887a1f93cdd4aed18b9206ca3","name":"ios","path":"ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e989f5def3f99247a4e5f3306e4cd362673","name":"google_mobile_ads","path":"google_mobile_ads","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98b5ac357f74183bc9482ddcd74b572bbd","name":"plugins","path":"plugins","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98c2893b7d24aa0fd3a648431c7b0e9c82","name":".symlinks","path":".symlinks","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98dd4d05261f2ae641fa61ddd23af5d353","name":"ios","path":"ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e981f6ebd6d176bba55713745781b8387aa","name":"mih_ui","path":"mih_ui","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98b37d2e32904d4a0ea297c1f290b7c606","name":"mih-project","path":"mih-project","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9887d41874091dbc0baa25eba67d3771a1","name":"mih_main","path":"mih_main","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98e01d7aea4e1c42e5ae031ae391df8bee","name":"Git","path":"Git","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e980b14ece76648d45a7694fdd53bc1b89e","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98b52f528a2d23a47141a16e12ee3bb5f5","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e983e09922b13fb7922db913c5cecb6dfc9","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98dcca5929f51f2ff75f3c6665deaca4b7","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9832a0b2d76a5eb8bc4df634032ddb094b","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98d586424c2adfb4f169f17da152584525","name":"..","path":"../../../../../../../../../.pub-cache/hosted/pub.dev/google_mobile_ads-6.0.0/ios","sourceTree":"","type":"group"},{"children":[{"fileType":"text.script.ruby","guid":"bfdfe7dc352907fc980b868725387e98df51c537cbbedf201548e3015c045e25","path":"../../../../../../../../../.pub-cache/hosted/pub.dev/google_mobile_ads-6.0.0/ios/google_mobile_ads.podspec","sourceTree":"","type":"file"},{"fileType":"text","guid":"bfdfe7dc352907fc980b868725387e9862400f15c02a5ef1ec8ecfaef3f7ced3","path":"../../../../../../../../../.pub-cache/hosted/pub.dev/google_mobile_ads-6.0.0/LICENSE","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e988615fe3270ee13fa5314e4dbb4ab6e06","name":"Pod","path":"","sourceTree":"","type":"group"},{"children":[{"fileType":"sourcecode.module-map","guid":"bfdfe7dc352907fc980b868725387e98e39985f68bed7c23f6357cd57514a24d","path":"google_mobile_ads.modulemap","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e987e0d2c8d0bc0abdac28d339bd37fbf90","path":"google_mobile_ads-dummy.m","sourceTree":"","type":"file"},{"fileType":"text.plist.xml","guid":"bfdfe7dc352907fc980b868725387e982abb331ffa780984b732eed18ee28a91","path":"google_mobile_ads-Info.plist","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98d5e12e1d3c3b1f23c6cd830e343dc6d1","path":"google_mobile_ads-prefix.pch","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e989f6df57e9714d47de1bef126b3e8e39b","path":"google_mobile_ads-umbrella.h","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e988dc0dcaabffa36a9e85d057769df808d","path":"google_mobile_ads.debug.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e987e81c25c7cd2ea8e1b445f8bd4d6b142","path":"google_mobile_ads.release.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.plist.xml","guid":"bfdfe7dc352907fc980b868725387e98f38de7551f2125889ef78735a231e53e","path":"ResourceBundle-google_mobile_ads-google_mobile_ads-Info.plist","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e9891034568da8507d682335bda04778476","name":"Support Files","path":"../../../../Pods/Target Support Files/google_mobile_ads","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98d9941c6f385413bb79945672657edd9a","name":"google_mobile_ads","path":"../.symlinks/plugins/google_mobile_ads/ios","sourceTree":"","type":"group"},{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"fileType":"text.xml","guid":"bfdfe7dc352907fc980b868725387e981c0fc8adcffe31e3d3685bd10445f9cd","path":"../../../../../../../../../../../../../.pub-cache/hosted/pub.dev/image_picker_ios-0.8.13/ios/image_picker_ios/Sources/image_picker_ios/Resources/PrivacyInfo.xcprivacy","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e98da07b66e687bcbf99c81507f3fa9e64e","name":"Resources","path":"Resources","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e982d4f84dfc677164f81435cfa43940016","name":"image_picker_ios","path":"image_picker_ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e983e11ed30721e5a2cee7bce29ccffe730","name":"Sources","path":"Sources","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e982ae8c257e1efdca417b1c8f0012899cc","name":"image_picker_ios","path":"image_picker_ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e982ae444c9a0418625fe9e141afe81ea26","name":"ios","path":"ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e984a3ab10da857c080e1cc9e25d33b2fde","name":"image_picker_ios","path":"image_picker_ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e983fd00daa76d564c345b637deda52955b","name":"plugins","path":"plugins","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98096bcae33ae335715cbe3cb8ce9d0e13","name":".symlinks","path":".symlinks","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e986e563f61e104a3d28b8404f1e8a1f7a3","name":"ios","path":"ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e989617cecf02203d772cf081fa0c6f0f58","name":"mih_ui","path":"mih_ui","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e981f43c77ddeb048b032cc259322695d32","name":"mih-project","path":"mih-project","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9871a2f55396f5166c5ff56b22cb4b755a","name":"mih_main","path":"mih_main","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98bb74272151f913340680065928af3ce7","name":"Git","path":"Git","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e981f0e16b10198c8a690a982ff263b28dd","name":"..","path":".","sourceTree":"","type":"group"},{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98566106fb34bacfb516ebf07d57920aa6","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/image_picker_ios-0.8.13/ios/image_picker_ios/Sources/image_picker_ios/FLTImagePickerImageUtil.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98f8dc4d6581fb8f5b5c907ac0b21fbb8c","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/image_picker_ios-0.8.13/ios/image_picker_ios/Sources/image_picker_ios/FLTImagePickerMetaDataUtil.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98247c332c7d249620a850bd09f2121a84","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/image_picker_ios-0.8.13/ios/image_picker_ios/Sources/image_picker_ios/FLTImagePickerPhotoAssetUtil.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98d989ee30069916d663cfe91d1c5986fe","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/image_picker_ios-0.8.13/ios/image_picker_ios/Sources/image_picker_ios/FLTImagePickerPlugin.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e9851702874b3473204d01c1a11a3c97351","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/image_picker_ios-0.8.13/ios/image_picker_ios/Sources/image_picker_ios/FLTPHPickerSaveImageToPathOperation.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e9822975da8370cfc43e8dbd1e7dc4f64f1","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/image_picker_ios-0.8.13/ios/image_picker_ios/Sources/image_picker_ios/messages.g.m","sourceTree":"","type":"file"},{"children":[{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e987912c452cf5c073488f6736d535565ca","path":"../../../../../../../../../../../../../.pub-cache/hosted/pub.dev/image_picker_ios-0.8.13/ios/image_picker_ios/Sources/image_picker_ios/include/image_picker_ios-umbrella.h","sourceTree":"","type":"file"},{"children":[{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98455184b1ebf4d6916746f5fbc500d738","path":"../../../../../../../../../../../../../../.pub-cache/hosted/pub.dev/image_picker_ios-0.8.13/ios/image_picker_ios/Sources/image_picker_ios/include/image_picker_ios/FLTImagePickerImageUtil.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98c324ea36454852a92ca5c1e7c63badd3","path":"../../../../../../../../../../../../../../.pub-cache/hosted/pub.dev/image_picker_ios-0.8.13/ios/image_picker_ios/Sources/image_picker_ios/include/image_picker_ios/FLTImagePickerMetaDataUtil.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9874d33145b4eb026db783767a8627f331","path":"../../../../../../../../../../../../../../.pub-cache/hosted/pub.dev/image_picker_ios-0.8.13/ios/image_picker_ios/Sources/image_picker_ios/include/image_picker_ios/FLTImagePickerPhotoAssetUtil.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e989aa410188bb1b807675bd70c43b501ec","path":"../../../../../../../../../../../../../../.pub-cache/hosted/pub.dev/image_picker_ios-0.8.13/ios/image_picker_ios/Sources/image_picker_ios/include/image_picker_ios/FLTImagePickerPlugin.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98bb38f172fc4f9f4727a3dedcca07fc48","path":"../../../../../../../../../../../../../../.pub-cache/hosted/pub.dev/image_picker_ios-0.8.13/ios/image_picker_ios/Sources/image_picker_ios/include/image_picker_ios/FLTImagePickerPlugin_Test.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98ee2e909a182ee943c5a04d5112d38a65","path":"../../../../../../../../../../../../../../.pub-cache/hosted/pub.dev/image_picker_ios-0.8.13/ios/image_picker_ios/Sources/image_picker_ios/include/image_picker_ios/FLTPHPickerSaveImageToPathOperation.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9866acc8882d2e86af3542c91447a63240","path":"../../../../../../../../../../../../../../.pub-cache/hosted/pub.dev/image_picker_ios-0.8.13/ios/image_picker_ios/Sources/image_picker_ios/include/image_picker_ios/messages.g.h","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e984bff86a4ae208acca7e8f3edde3349a8","name":"image_picker_ios","path":"image_picker_ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98d92d06a2a7dfd824112b881a81eb823e","name":"include","path":"include","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e984055f0fd326256f2a5690ea71673950e","name":"image_picker_ios","path":"image_picker_ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e981fde58f25a799138a5f1aa130753e79a","name":"Sources","path":"Sources","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e982ab17ac8f24bde6143c8e649d4fba7eb","name":"image_picker_ios","path":"image_picker_ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98e7c37ffdfa773622116c690b4cb90ddb","name":"ios","path":"ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e983fbadda5b97589ce7268d233dafdb4e4","name":"image_picker_ios","path":"image_picker_ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e987020ad53317b6ccf0b145ed56f4d3cc2","name":"plugins","path":"plugins","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e989226fd8b91f9ec19c7f8883460b0781d","name":".symlinks","path":".symlinks","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98307c7c089d35d30d4487bc7cac15a713","name":"ios","path":"ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e981bc570ede355a302a3befc3cb8689d8f","name":"mih_ui","path":"mih_ui","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98cea525b9106a703dc0ad2bff81a1dfbc","name":"mih-project","path":"mih-project","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98f0cee4536b4fb3adb61d85704a1f7f37","name":"mih_main","path":"mih_main","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9822f241e08519d18a55baf464a3f21051","name":"Git","path":"Git","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98d84b2c5672fb971b765f6064f815a455","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98e31e3e08e801da744827fba265a26f14","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98dfdd704e537a3b57bf99d1e132a355c0","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e983e3a7ae225290a3dde92676b7accd9f9","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98e039bdc8098998efc62c8e03514ae442","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98a64c00a081e4cb1a1757f594c24dfe21","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e983903c77482219b08cba6bc6dc17fe368","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98d643500561c05175a0ac846b0b9e173e","name":"..","path":"../../../../../../../../../.pub-cache/hosted/pub.dev/image_picker_ios-0.8.13/ios/image_picker_ios/Sources","sourceTree":"","type":"group"},{"children":[{"fileType":"text.script.ruby","guid":"bfdfe7dc352907fc980b868725387e9800c91b577b618860a700212250b82834","path":"../../../../../../../../../.pub-cache/hosted/pub.dev/image_picker_ios-0.8.13/ios/image_picker_ios.podspec","sourceTree":"","type":"file"},{"fileType":"sourcecode.module-map","guid":"bfdfe7dc352907fc980b868725387e98722af0b7732a4475f77425bc1a36494d","path":"../../../../../../../../../.pub-cache/hosted/pub.dev/image_picker_ios-0.8.13/ios/image_picker_ios/Sources/image_picker_ios/include/ImagePickerPlugin.modulemap","sourceTree":"","type":"file"},{"fileType":"text","guid":"bfdfe7dc352907fc980b868725387e986feda6f198332eb63fb859e5c1c63de4","path":"../../../../../../../../../.pub-cache/hosted/pub.dev/image_picker_ios-0.8.13/LICENSE","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e984b54b854d4e2f20fe857df8c0d5359e9","name":"Pod","path":"","sourceTree":"","type":"group"},{"children":[{"fileType":"sourcecode.module-map","guid":"bfdfe7dc352907fc980b868725387e9863b7488f95b6a6719ccb5d551e115df2","path":"image_picker_ios.modulemap","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e981b14112e34d16a8429f88ce19e8279b2","path":"image_picker_ios-dummy.m","sourceTree":"","type":"file"},{"fileType":"text.plist.xml","guid":"bfdfe7dc352907fc980b868725387e98ee7633b1ae300ba0c6b6fd48ae71897f","path":"image_picker_ios-Info.plist","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9866bdc7888bc2d2fad11e557d980f6a89","path":"image_picker_ios-prefix.pch","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e98be516318204b40d33cd2aae70dc8508d","path":"image_picker_ios.debug.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e988b179e3ba3eb0643314ef47fd544fc52","path":"image_picker_ios.release.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.plist.xml","guid":"bfdfe7dc352907fc980b868725387e9891c072d768664a665bd917d9fb86b64b","path":"ResourceBundle-image_picker_ios_privacy-image_picker_ios-Info.plist","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e986005838bae7db4ccd23bb111860ed544","name":"Support Files","path":"../../../../Pods/Target Support Files/image_picker_ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e983e707e67ff9de078598cf378ca36c302","name":"image_picker_ios","path":"../.symlinks/plugins/image_picker_ios/ios","sourceTree":"","type":"group"},{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"fileType":"text.xml","guid":"bfdfe7dc352907fc980b868725387e988634a8b747b6724232b5af5f382a225c","path":"../../../../../../../../../../../../../.pub-cache/hosted/pub.dev/local_auth_darwin-1.4.3/darwin/local_auth_darwin/Sources/local_auth_darwin/Resources/PrivacyInfo.xcprivacy","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e986a59cf187a3c389807c4fd95e2dfffd9","name":"Resources","path":"Resources","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e987117cc34deea68ff28e2dda88711d4f4","name":"local_auth_darwin","path":"local_auth_darwin","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e988b85f2b2839d7d2859e9dc8a9da51090","name":"Sources","path":"Sources","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98c12f07efaf9181201809923dcfd2387a","name":"local_auth_darwin","path":"local_auth_darwin","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e989b1517a0932ce9821210d415a0fe71c8","name":"darwin","path":"darwin","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98aabae4d6b4484cb02e890b2ee4dd3796","name":"local_auth_darwin","path":"local_auth_darwin","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98bdb2a8d13a6a5e260c48f1c8ea0fc5d4","name":"plugins","path":"plugins","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9840d7bb21ee580dca1b4349e00408e602","name":".symlinks","path":".symlinks","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98d43d768a039f5c5c1c302bb39594b5dd","name":"ios","path":"ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98983f0809aae4ffeb577b2755b857d656","name":"mih_ui","path":"mih_ui","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98420655301fc25a8ad87e1c88daaf5158","name":"mih-project","path":"mih-project","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9868386d84ba8a5631aadc2e4a93e253ea","name":"mih_main","path":"mih_main","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e980245b4fc742e1c55d360d159e4d043b9","name":"Git","path":"Git","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98474060547ad5e3dd080fc0e1f3443e66","name":"..","path":".","sourceTree":"","type":"group"},{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98ae1aa1da940b2cf3059d58fa5aeb575e","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/local_auth_darwin-1.4.3/darwin/local_auth_darwin/Sources/local_auth_darwin/FLALocalAuthPlugin.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98cd73448a566c5be29cdf42df00abfae5","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/local_auth_darwin-1.4.3/darwin/local_auth_darwin/Sources/local_auth_darwin/messages.g.m","sourceTree":"","type":"file"},{"children":[{"children":[{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98ad898343d17a563826d8df8267c2a015","path":"../../../../../../../../../../../../../../.pub-cache/hosted/pub.dev/local_auth_darwin-1.4.3/darwin/local_auth_darwin/Sources/local_auth_darwin/include/local_auth_darwin/FLALocalAuthPlugin.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9851693e394b4c9a3739669bc6f2853f65","path":"../../../../../../../../../../../../../../.pub-cache/hosted/pub.dev/local_auth_darwin-1.4.3/darwin/local_auth_darwin/Sources/local_auth_darwin/include/local_auth_darwin/FLALocalAuthPlugin_Test.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98448a4b5517b9d1847c69072fe92810da","path":"../../../../../../../../../../../../../../.pub-cache/hosted/pub.dev/local_auth_darwin-1.4.3/darwin/local_auth_darwin/Sources/local_auth_darwin/include/local_auth_darwin/messages.g.h","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e98a161d315eb479673f14f048ecec71ace","name":"local_auth_darwin","path":"local_auth_darwin","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98e0993c0c0c14992f88f3a12bb073566c","name":"include","path":"include","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e981e08ed4b60b83e7e8e7b2fda795cd7d4","name":"local_auth_darwin","path":"local_auth_darwin","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98a664ca07bd86e12815faa8f3d3f0d536","name":"Sources","path":"Sources","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98d954f47e5d84ec48455aa08747c33827","name":"local_auth_darwin","path":"local_auth_darwin","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e987f541783438bad867179de50aa657f05","name":"darwin","path":"darwin","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98b2455ccb25cc63d20f4dd630f777c090","name":"local_auth_darwin","path":"local_auth_darwin","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98f955c1d915f5ff1e58eb09e0c8607b1a","name":"plugins","path":"plugins","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98a104ccd45ce06bf5900d08c1c796370a","name":".symlinks","path":".symlinks","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e986cde0c65c9d1dc7e54c9aefa046e52e0","name":"ios","path":"ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98859c5dd5bbc9fb3c911d4835f2176ddb","name":"mih_ui","path":"mih_ui","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e985789b4ec5c32a92659c4f54a96654ff8","name":"mih-project","path":"mih-project","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9882fd9a1cb48c89cf7db806d60b639688","name":"mih_main","path":"mih_main","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e987da109f3fcd566c68d0a71053e79e9e2","name":"Git","path":"Git","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e989ece9917c7a78b655d96d54d73b52b5f","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98ea18ee006ddd6cc0f30cc3cefe94bca1","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98362c091e5bb0c5c1f7d1108694d1981f","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e989ed423038afdece5f9060eed156c53c8","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98938a3b76dab16da59e842d15467d1f1d","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98b5a571a7306c7692a4f06783193986a8","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9895a9a2debccd059637563251bfd9a4b5","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9849f9ad3572f69a73197f55ddc28ea453","name":"..","path":"../../../../../../../../../.pub-cache/hosted/pub.dev/local_auth_darwin-1.4.3/darwin/local_auth_darwin/Sources","sourceTree":"","type":"group"},{"children":[{"fileType":"text","guid":"bfdfe7dc352907fc980b868725387e98644dcfa7bd2b0106a6c8d2d8476a9817","path":"../../../../../../../../../.pub-cache/hosted/pub.dev/local_auth_darwin-1.4.3/LICENSE","sourceTree":"","type":"file"},{"fileType":"text.script.ruby","guid":"bfdfe7dc352907fc980b868725387e98209a4fdd5d9ae4cbea101fd4b9ac1b61","path":"../../../../../../../../../.pub-cache/hosted/pub.dev/local_auth_darwin-1.4.3/darwin/local_auth_darwin.podspec","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e988518b601351060613d86cf587996dc0a","name":"Pod","path":"","sourceTree":"","type":"group"},{"children":[{"fileType":"sourcecode.module-map","guid":"bfdfe7dc352907fc980b868725387e985ca8dbb907229aaa2ebbeceda59847e5","path":"local_auth_darwin.modulemap","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e9824eab6a2af2aa1812cce719f02ee9fd4","path":"local_auth_darwin-dummy.m","sourceTree":"","type":"file"},{"fileType":"text.plist.xml","guid":"bfdfe7dc352907fc980b868725387e989cba074aefbb8832b5cb7321632706bb","path":"local_auth_darwin-Info.plist","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e980618c0f1ad79cdd311f394dff3967355","path":"local_auth_darwin-prefix.pch","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9842b9afd398f7b12fdbd878a1e1fdb5cb","path":"local_auth_darwin-umbrella.h","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e9826aabbf6d6b2201c6400dd7fc8a0967f","path":"local_auth_darwin.debug.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e9835c7588ceebde0ed281cc6f972ef1ccc","path":"local_auth_darwin.release.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.plist.xml","guid":"bfdfe7dc352907fc980b868725387e986bb45d983e17d10ea3b7cdd19dd7e38f","path":"ResourceBundle-local_auth_darwin_privacy-local_auth_darwin-Info.plist","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e986578359082dc6ffe2e1830deffedbce8","name":"Support Files","path":"../../../../Pods/Target Support Files/local_auth_darwin","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9818f43d70ae5ae68bc8fbc41d640bbea8","name":"local_auth_darwin","path":"../.symlinks/plugins/local_auth_darwin/darwin","sourceTree":"","type":"group"},{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"fileType":"text.xml","guid":"bfdfe7dc352907fc980b868725387e9824acc442c11de2383c5d3273c1b19a5c","path":"../../../../../../../../../../../../../.pub-cache/hosted/pub.dev/mobile_scanner-7.0.1/darwin/mobile_scanner/Sources/mobile_scanner/Resources/PrivacyInfo.xcprivacy","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e988aba2706d98ddd7a6dc31a5499defbf2","name":"Resources","path":"Resources","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98e9ed8d07101f9db66a96a1c9cef85c30","name":"mobile_scanner","path":"mobile_scanner","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9805dd8c75e5ea0befbef77f45cbd86e60","name":"Sources","path":"Sources","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98d871d584c248036aaed46ca4fa429edb","name":"mobile_scanner","path":"mobile_scanner","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98044c1ac090289fed3b759322d50cedb7","name":"darwin","path":"darwin","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98b6a779c28a3f4efedd949b4f1e4c6191","name":"mobile_scanner","path":"mobile_scanner","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e985f3d8b477830437ce4ada19e1b5722c8","name":"plugins","path":"plugins","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e982c7261caca783852ebd35ec0f0422291","name":".symlinks","path":".symlinks","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9841017bf02c854f15b2d686e0ae208bc1","name":"ios","path":"ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e982e01021d8d491102b55805698b184b15","name":"mih_ui","path":"mih_ui","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e982c51bbf17124dc9c1cf3f9ba3717551b","name":"mih-project","path":"mih-project","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98eaefceff45c680b6e71184a855e019cf","name":"mih_main","path":"mih_main","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e987f87522472d02d87c6ddbef97f318073","name":"Git","path":"Git","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98861976a212c011927ae4f88525c96a69","name":"..","path":".","sourceTree":"","type":"group"},{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98883be13daebbdfdcf10e362bc3ef4ebb","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/mobile_scanner-7.0.1/darwin/mobile_scanner/Sources/mobile_scanner/DetectionSpeed.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98e4be4892db4744593107b72e6b06cf75","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/mobile_scanner-7.0.1/darwin/mobile_scanner/Sources/mobile_scanner/DeviceOrientationStreamHandler.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e982f3d32c7820c33deaf24eed4a2774a69","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/mobile_scanner-7.0.1/darwin/mobile_scanner/Sources/mobile_scanner/MobileScannerError.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98c373041b232771156d382a714478862a","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/mobile_scanner-7.0.1/darwin/mobile_scanner/Sources/mobile_scanner/MobileScannerErrorCodes.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98168d2dc9c91bbc22b520b7c63b90d589","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/mobile_scanner-7.0.1/darwin/mobile_scanner/Sources/mobile_scanner/MobileScannerPlugin.swift","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e987e52e71ae15abca9499d22d731e79093","name":"mobile_scanner","path":"mobile_scanner","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e981034511db0e33593a7e24a8689e03dc5","name":"Sources","path":"Sources","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98fb8decc8a3ee62d5c8bd8d6ff4e6a8d1","name":"mobile_scanner","path":"mobile_scanner","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e980344bf8982bcf4491bc008234ff0fcc8","name":"darwin","path":"darwin","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98a65e0fad22390424b48a01758cef44da","name":"mobile_scanner","path":"mobile_scanner","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98805362ab01323890c2f101180aac3146","name":"plugins","path":"plugins","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98dcaf8c0f1c406b771b601bd03bd05ffc","name":".symlinks","path":".symlinks","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98febfbba35bcd28b5c786aa01f98775fd","name":"ios","path":"ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98ce592632bfd50415262d6073599edf4c","name":"mih_ui","path":"mih_ui","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98c4e401ec77efc9baaf7de1c0a08b6afb","name":"mih-project","path":"mih-project","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98503199427b7f6244bb4275ac5f5c326b","name":"mih_main","path":"mih_main","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e987dd94584331a980095c2e60245c1ee96","name":"Git","path":"Git","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98324797d58b9def5767a0745d8c5609d9","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98eab1b30239eeeb221fca4cfda1345842","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98e01b6bb8d3e8a8f49e5d0d75a4a82171","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98f3309c2dbd9ef1c343168ea2097bc4f0","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98c9da9563e708c27be8c99c4d410e8efc","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9887a70e30388ce53e62499fbc0fce9069","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e980c14abc1bde0bd3b2bdc0e29c685e757","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98ad5334b6bac4ad344aa880b4601fc04b","name":"..","path":"../../../../../../../../../.pub-cache/hosted/pub.dev/mobile_scanner-7.0.1/darwin/mobile_scanner/Sources","sourceTree":"","type":"group"},{"children":[{"fileType":"text","guid":"bfdfe7dc352907fc980b868725387e98bb78f53d6ab63b17ee387b790371faac","path":"../../../../../../../../../.pub-cache/hosted/pub.dev/mobile_scanner-7.0.1/LICENSE","sourceTree":"","type":"file"},{"fileType":"text.script.ruby","guid":"bfdfe7dc352907fc980b868725387e98ced8939ee4857b8341f6cf6e5bb5d63b","path":"../../../../../../../../../.pub-cache/hosted/pub.dev/mobile_scanner-7.0.1/darwin/mobile_scanner.podspec","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e98cbaa519368773b3e3b95c7685deaa37c","name":"Pod","path":"","sourceTree":"","type":"group"},{"children":[{"fileType":"sourcecode.module-map","guid":"bfdfe7dc352907fc980b868725387e9870e66361762eade18fd3880b17b645a3","path":"mobile_scanner.modulemap","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98cbd2a7736d3f622183620d97dabb51d6","path":"mobile_scanner-dummy.m","sourceTree":"","type":"file"},{"fileType":"text.plist.xml","guid":"bfdfe7dc352907fc980b868725387e98752d460c6673671f9a3d8fc5de663580","path":"mobile_scanner-Info.plist","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e985e33baa0fee6473a955354e7f8cc33f6","path":"mobile_scanner-prefix.pch","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98be2efddfa0659e6c19ce1a5acc94ec6d","path":"mobile_scanner-umbrella.h","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e981144f00ce89ffa4e0260914a9ffec527","path":"mobile_scanner.debug.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e98227c1f919eedf604acd47c56a9ef7ec4","path":"mobile_scanner.release.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.plist.xml","guid":"bfdfe7dc352907fc980b868725387e9880348f8db14a00e978804a7a30575ab9","path":"ResourceBundle-mobile_scanner_privacy-mobile_scanner-Info.plist","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e9850c49c9a619d580948e905f1396f2052","name":"Support Files","path":"../../../../Pods/Target Support Files/mobile_scanner","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e986660600985587db3f4fd512ec43f00df","name":"mobile_scanner","path":"../.symlinks/plugins/mobile_scanner/darwin","sourceTree":"","type":"group"},{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98fc1d853ed7c38ec64399121ac6e96d53","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/package_info_plus-9.0.0/ios/package_info_plus/Sources/package_info_plus/FPPPackageInfoPlusPlugin.m","sourceTree":"","type":"file"},{"fileType":"text.xml","guid":"bfdfe7dc352907fc980b868725387e98acc94a90b20547c25ffbe2fd16f0028a","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/package_info_plus-9.0.0/ios/package_info_plus/Sources/package_info_plus/PrivacyInfo.xcprivacy","sourceTree":"","type":"file"},{"children":[{"children":[{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9863bbc9af63b79ccfc69082c52a621490","path":"../../../../../../../../../../../../../../.pub-cache/hosted/pub.dev/package_info_plus-9.0.0/ios/package_info_plus/Sources/package_info_plus/include/package_info_plus/FPPPackageInfoPlusPlugin.h","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e98ec26db8cff8be69e06208096a9126930","name":"package_info_plus","path":"package_info_plus","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98a1a67ddde90d066ba2022a927b4e98eb","name":"include","path":"include","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e988699e4da4becaef0a1ac36f07d8776bd","name":"package_info_plus","path":"package_info_plus","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9842eb7b6c3e22c7afc5dfa288fabe15bd","name":"Sources","path":"Sources","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e981816d6915b070b17d0288bc02767d225","name":"package_info_plus","path":"package_info_plus","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98bad84403344a2a37869eba2ab8207792","name":"ios","path":"ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98681ce0736a8210205eb8f0ed9dc2db2b","name":"package_info_plus","path":"package_info_plus","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98964df0280cd77c6908661090e0e0b166","name":"plugins","path":"plugins","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9853581a26e5697f1c1ec9c0629bd83adc","name":".symlinks","path":".symlinks","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98ec85ce4148ac92bd095e375b17d95e4f","name":"ios","path":"ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9871a06ec8240d9376a36b7220b3c94d40","name":"mih_ui","path":"mih_ui","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e983344d09607e5a6c28315d3f3bd8f7091","name":"mih-project","path":"mih-project","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e987ac3b022cec7952e060c896e6fe17d37","name":"mih_main","path":"mih_main","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98470eb399928e70cacf78873b8757f16d","name":"Git","path":"Git","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9873f3362bc730baeb2fd566fde4263650","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e982b69b96c034fb5c4b33f4f8bef6056c6","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98bd70896a280a65efe7aa4b3dfc1532be","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98c78aa5e5e2721974953cd630ba85bef0","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98d3c6ade55cf67bcc5f4061a618229940","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98c1e9dbd83409eb01531ec5f1890c0aef","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e988b26e1bf28ece0a5abd348ad25e5999f","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9818577de128738c0001838f30d3ffe53e","name":"..","path":"../../../../../../../../../.pub-cache/hosted/pub.dev/package_info_plus-9.0.0/ios/package_info_plus/Sources","sourceTree":"","type":"group"},{"children":[{"fileType":"text","guid":"bfdfe7dc352907fc980b868725387e987408988d1ac9cd58bc6fa8fc72dbf5e3","path":"../../../../../../../../../.pub-cache/hosted/pub.dev/package_info_plus-9.0.0/LICENSE","sourceTree":"","type":"file"},{"fileType":"text.script.ruby","guid":"bfdfe7dc352907fc980b868725387e98197f1bc65ac62ab93395d8f362167b7c","path":"../../../../../../../../../.pub-cache/hosted/pub.dev/package_info_plus-9.0.0/ios/package_info_plus.podspec","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e980d9ce43aa4051118d4ba16e97a1ad789","name":"Pod","path":"","sourceTree":"","type":"group"},{"children":[{"fileType":"sourcecode.module-map","guid":"bfdfe7dc352907fc980b868725387e98b89c2ba62b22f68dd279ae606bb8ae54","path":"package_info_plus.modulemap","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98c0d03884f20c6bbb2234aee407c81ed1","path":"package_info_plus-dummy.m","sourceTree":"","type":"file"},{"fileType":"text.plist.xml","guid":"bfdfe7dc352907fc980b868725387e98a6d3c99877b2803f710cde83388bb691","path":"package_info_plus-Info.plist","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98f21428ed2f4991c32f54ad4813e1185c","path":"package_info_plus-prefix.pch","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9833f3c33eca65f1240c201c729d3fbde7","path":"package_info_plus-umbrella.h","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e98089a265d15a8f52f9e25ea32540ea5cd","path":"package_info_plus.debug.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e9811034d0cd45341ec5fddd8ae14b45098","path":"package_info_plus.release.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.plist.xml","guid":"bfdfe7dc352907fc980b868725387e989ec4e8aeff1ecfcc0a71c01da47fc909","path":"ResourceBundle-package_info_plus_privacy-package_info_plus-Info.plist","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e985c2e5b22608ecf3b4083bc02d2510b75","name":"Support Files","path":"../../../../Pods/Target Support Files/package_info_plus","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e987d881465b8818ec65e6dcbeb956ffa8c","name":"package_info_plus","path":"../.symlinks/plugins/package_info_plus/ios","sourceTree":"","type":"group"},{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"fileType":"text.xml","guid":"bfdfe7dc352907fc980b868725387e9874c74ec17bfbd10a54d1903d5290b3df","path":"../../../../../../../../../../../../../.pub-cache/hosted/pub.dev/path_provider_foundation-2.4.1/darwin/path_provider_foundation/Sources/path_provider_foundation/Resources/PrivacyInfo.xcprivacy","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e9838811231718361e03f6a6f5b0e7ddb99","name":"Resources","path":"Resources","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e984642c6d2ebf224ba3de29d6821cbcc10","name":"path_provider_foundation","path":"path_provider_foundation","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98677fd2a57575d5131eff5d425348c887","name":"Sources","path":"Sources","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e982d5632d83ca8d57f349dada054228591","name":"path_provider_foundation","path":"path_provider_foundation","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98786becd39f6681899ae2dd404dd1f78c","name":"darwin","path":"darwin","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9857dfc698f7a79bcd9f319cd4c2d98140","name":"path_provider_foundation","path":"path_provider_foundation","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98432314e81e7092b11184c1a7d181bc81","name":"plugins","path":"plugins","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9816fbe7da58336d952d041f94a1bc85b6","name":".symlinks","path":".symlinks","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98a098541608a7f9e1c5817ac9132b47a7","name":"ios","path":"ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9852b81003c0995afdb0000259d0f4594a","name":"mih_ui","path":"mih_ui","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e989afb5afec06430c97b3b2f61cff07fc7","name":"mih-project","path":"mih-project","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e989b2b67c4bc239098b0503a1df083cecf","name":"mih_main","path":"mih_main","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9800a7b873701d158826c9cb8ce11131a3","name":"Git","path":"Git","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e988c0f0d00966b5e9aff4694328c464698","name":"..","path":".","sourceTree":"","type":"group"},{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e9803bb7f63530cdb500ba84b0a1a44af44","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/path_provider_foundation-2.4.1/darwin/path_provider_foundation/Sources/path_provider_foundation/messages.g.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e9840d362b89ea106c24e2dbcd47a7474bd","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/path_provider_foundation-2.4.1/darwin/path_provider_foundation/Sources/path_provider_foundation/PathProviderPlugin.swift","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e98d9bf38d48d544173972c22a616404b57","name":"path_provider_foundation","path":"path_provider_foundation","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e984b8c8ffd0faca63eb7b740929479e246","name":"Sources","path":"Sources","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98405871963a7cd1eb0117dea12841dd5e","name":"path_provider_foundation","path":"path_provider_foundation","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98aa680aeb5c3feeea2fd5b86a2f1b5869","name":"darwin","path":"darwin","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98e856ee72c0490dfb0bd61a8fcfb5d861","name":"path_provider_foundation","path":"path_provider_foundation","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e988e14b8283940a6fd396ece6b42eaec65","name":"plugins","path":"plugins","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98f7aab821e6f39bdf50bec325bee76914","name":".symlinks","path":".symlinks","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9814166559beb12033812190a1a8e7c2b3","name":"ios","path":"ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98cd32eff5e58575df2c6e82645aa2d5f6","name":"mih_ui","path":"mih_ui","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e987286b835751e66eb2f992e11073b616b","name":"mih-project","path":"mih-project","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98dbd02bff4315677521cea12777433d2a","name":"mih_main","path":"mih_main","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98b692cb638bace96a65b3ca97ebf10032","name":"Git","path":"Git","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e983fe85b685e60662e755230f70f3bfeb8","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9884b00bc54c753a42df0619e849eaced0","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e987e2667ec713d517158a2455f95ad1646","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e980a4f8d189879c752b0dcd6d8c3394588","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98fec6efcb827e519915cba9aa364233ce","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9807bf2e9671f046ff64af3dd3d3a0b990","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98075f7c62fe07db619950a060ebb46575","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98b2e1cadbf8bb9cf184f0fe169903860a","name":"..","path":"../../../../../../../../../.pub-cache/hosted/pub.dev/path_provider_foundation-2.4.1/darwin/path_provider_foundation/Sources","sourceTree":"","type":"group"},{"children":[{"fileType":"text","guid":"bfdfe7dc352907fc980b868725387e98e2e6372384412b0830fc2ca98b25a530","path":"../../../../../../../../../.pub-cache/hosted/pub.dev/path_provider_foundation-2.4.1/LICENSE","sourceTree":"","type":"file"},{"fileType":"text.script.ruby","guid":"bfdfe7dc352907fc980b868725387e98f17f32406d0dccbc459b441bafec6243","path":"../../../../../../../../../.pub-cache/hosted/pub.dev/path_provider_foundation-2.4.1/darwin/path_provider_foundation.podspec","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e98222477848e7b9efbb61cc198ff1b7f21","name":"Pod","path":"","sourceTree":"","type":"group"},{"children":[{"fileType":"sourcecode.module-map","guid":"bfdfe7dc352907fc980b868725387e985cfaea5a640b1a62dc651b7f529211e5","path":"path_provider_foundation.modulemap","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e9854c6536298ac986565a978d13cd2d6f9","path":"path_provider_foundation-dummy.m","sourceTree":"","type":"file"},{"fileType":"text.plist.xml","guid":"bfdfe7dc352907fc980b868725387e98d6d45e0d7553ba58d1a7877e9b3f96fe","path":"path_provider_foundation-Info.plist","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98a289b076da08725fe00774cd7ad8b4c4","path":"path_provider_foundation-prefix.pch","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98b67bc92c615d1dba3ac53bf7b30bdb94","path":"path_provider_foundation-umbrella.h","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e98237671cfe20903d6f94682d7135ab52a","path":"path_provider_foundation.debug.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e980e0c5fa0e8218bd665f72f14cbfc898f","path":"path_provider_foundation.release.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.plist.xml","guid":"bfdfe7dc352907fc980b868725387e98373e4c3054ae7574a3dd7a706f79e106","path":"ResourceBundle-path_provider_foundation_privacy-path_provider_foundation-Info.plist","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e98628498300c79d88e3fcb7b7bf656ec9e","name":"Support Files","path":"../../../../Pods/Target Support Files/path_provider_foundation","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9820447c1054b9b30460031f2917861ec9","name":"path_provider_foundation","path":"../.symlinks/plugins/path_provider_foundation/darwin","sourceTree":"","type":"group"},{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e983df66a6182a9ad3e5e664af1554596bb","path":"../../../../../../../../../../.pub-cache/hosted/pub.dev/printing-5.14.2/ios/Classes/CustomPrintPaper.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98f47fd36e52148ce929fdb4b957af7e73","path":"../../../../../../../../../../.pub-cache/hosted/pub.dev/printing-5.14.2/ios/Classes/PrintingPlugin.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98176d3062b5d63f50555ac516d1a7b762","path":"../../../../../../../../../../.pub-cache/hosted/pub.dev/printing-5.14.2/ios/Classes/PrintingPlugin.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98151367d82561314a10d2c18601c9b287","path":"../../../../../../../../../../.pub-cache/hosted/pub.dev/printing-5.14.2/ios/Classes/PrintJob.swift","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e98ab0392ba39c134b3ec6f8601d9893489","name":"Classes","path":"Classes","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98087e5486c2e156481ea05814c260f972","name":"ios","path":"ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9882d75c73cb6db70eb7b4d9d6ea67f1ba","name":"printing","path":"printing","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e981cf5798b87794211255574b3785f8d2c","name":"plugins","path":"plugins","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98b69aa20c54da6a7ca61f71f9f5154fe1","name":".symlinks","path":".symlinks","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e986ffb7d697cc617ae171b2be9d286f81e","name":"ios","path":"ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98cec35e0e83294cb99d373197a425e43d","name":"mih_ui","path":"mih_ui","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98a13f52c383f6cbe98f720592bdadbb56","name":"mih-project","path":"mih-project","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98198b537365c6899d60087aba11560af1","name":"mih_main","path":"mih_main","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e987baad726cba30fef8a460bb3ff176ac8","name":"Git","path":"Git","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98f6ce5004c3020cecac483e257ccc5bc0","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98a5c58f67cc012876091c336dc3da5edb","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9825cef2983a4c7eb4445dfeea6dd00791","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9857d0c815ce8304db09febb9a7b580835","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98e10cf535c11c2cd9ad5f43f9d3dfa130","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98e2d292fce55a6e7f60dbeb231266dc0b","name":"..","path":"../../../../../../../../../.pub-cache/hosted/pub.dev/printing-5.14.2/ios","sourceTree":"","type":"group"},{"children":[{"fileType":"text.script.ruby","guid":"bfdfe7dc352907fc980b868725387e98d162ae822bd46ba05b9f0f48df1b68f4","path":"../../../../../../../../../.pub-cache/hosted/pub.dev/printing-5.14.2/ios/printing.podspec","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e98303dc51b6e656d9629205c0eaefb4951","name":"Pod","path":"","sourceTree":"","type":"group"},{"children":[{"fileType":"sourcecode.module-map","guid":"bfdfe7dc352907fc980b868725387e989d8bf593c88fe175d14008f9be275fa3","path":"printing.modulemap","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e986c7db250b8f3f408d66f6e7a19972379","path":"printing-dummy.m","sourceTree":"","type":"file"},{"fileType":"text.plist.xml","guid":"bfdfe7dc352907fc980b868725387e98d630bb7df80c590d187e195052024cfc","path":"printing-Info.plist","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98b72932e33a788d6a5520d61abf413bac","path":"printing-prefix.pch","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98bd71f2ad20b6a88b723ff05b2d7e23ad","path":"printing-umbrella.h","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e98c744f4c75270e1fd52589ff556e2583a","path":"printing.debug.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e9848711414c4cdd6db7086eae6ec63ab7b","path":"printing.release.xcconfig","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e98e51f17e1ca8b4a6152a5489b5664a1e8","name":"Support Files","path":"../../../../Pods/Target Support Files/printing","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9873c0ad2aa32b467fea9afa937b4c7089","name":"printing","path":"../.symlinks/plugins/printing/ios","sourceTree":"","type":"group"},{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"fileType":"text.xml","guid":"bfdfe7dc352907fc980b868725387e9897ece101e217083edce53455b9b44d62","path":"../../../../../../../../../../../../../.pub-cache/hosted/pub.dev/quick_actions_ios-1.2.1/ios/quick_actions_ios/Sources/quick_actions_ios/Resources/PrivacyInfo.xcprivacy","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e98cb5590f03822fc53833c734b124287c7","name":"Resources","path":"Resources","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98c586bf8ceb44d835c3c3e2f5ae36f722","name":"quick_actions_ios","path":"quick_actions_ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98de0320573ce6b2fab8c8b43255e3bf25","name":"Sources","path":"Sources","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9804f476290fe72ac5d72b9b771ac0d59b","name":"quick_actions_ios","path":"quick_actions_ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98ceb67ec1fdcb7621eae1c0326030a557","name":"ios","path":"ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98ca0624caccb146211d1cc30d20bcf033","name":"quick_actions_ios","path":"quick_actions_ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98bd86253e8a8990ab69fc34ab8c330cad","name":"plugins","path":"plugins","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e987b2a49136fab89a1e971c745460e15e5","name":".symlinks","path":".symlinks","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e982aac00b04ab468ee9299762af8fb0ca5","name":"ios","path":"ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98fad47c95356407bf4ee2ad99a7549394","name":"mih_ui","path":"mih_ui","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98ac9b51e6d29980808b011122a8773610","name":"mih-project","path":"mih-project","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98d76b040de2101ea72db53418a885f6c2","name":"mih_main","path":"mih_main","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9857713be709b36c3e1348273355d3bb02","name":"Git","path":"Git","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9820ac54803a9034ce057fb85ec67eaf61","name":"..","path":".","sourceTree":"","type":"group"},{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98e0db4c45eaeb1548f9f07595cdd1ca45","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/quick_actions_ios-1.2.1/ios/quick_actions_ios/Sources/quick_actions_ios/messages.g.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98775d552104d6921b0e48e28110e132e4","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/quick_actions_ios-1.2.1/ios/quick_actions_ios/Sources/quick_actions_ios/QuickActionsPlugin.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98a6e06b4bf97089fc1190fe51ed103c37","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/quick_actions_ios-1.2.1/ios/quick_actions_ios/Sources/quick_actions_ios/ShortcutItemProviding.swift","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e98406147dfb0affea230b8d4b68c704012","name":"quick_actions_ios","path":"quick_actions_ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98ad7ed4966235ad5dc8474dfbb54a5b3f","name":"Sources","path":"Sources","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98cb105d7b20bdf97d72e09129ff2aae15","name":"quick_actions_ios","path":"quick_actions_ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98f5d3d629332cee98d197a685473ef6f3","name":"ios","path":"ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98fedb4eab167925f8f5f0454da1e6de29","name":"quick_actions_ios","path":"quick_actions_ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98f58981ceda09bb778384630d970b0d94","name":"plugins","path":"plugins","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98ea5d5bbda5e005716443f89447c6145e","name":".symlinks","path":".symlinks","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98738fe071c432a1e9dedd58870ef2210e","name":"ios","path":"ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e987ad13f6004a3230b786732c0d108733e","name":"mih_ui","path":"mih_ui","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98b8e825af6478872c567eb724bf0ae5dd","name":"mih-project","path":"mih-project","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e982511764bc99cbad0017358f152bb63a1","name":"mih_main","path":"mih_main","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e983cf3ac36805ad5a1caaeb64ef2ab3211","name":"Git","path":"Git","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98347f1caadbeb57701a3f277701db1173","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98e1deffa7d429deec9db4eae11ee53dfa","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98eabe60d52a9e59cb6f5a31e3c98b6e12","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98dbd7856a89b8ca57db500cacaab432dc","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9870774b2885d4245155f8909378712f3d","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98a18d5206c296d845d0371fd278376225","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9830f0dc0b053620845dafc314a2efef9b","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9825e5ca8176fa252a5fd570fdc41edddb","name":"..","path":"../../../../../../../../../.pub-cache/hosted/pub.dev/quick_actions_ios-1.2.1/ios/quick_actions_ios/Sources","sourceTree":"","type":"group"},{"children":[{"fileType":"text","guid":"bfdfe7dc352907fc980b868725387e981a23fd7e5b6cc9532a52bfbd111d23d1","path":"../../../../../../../../../.pub-cache/hosted/pub.dev/quick_actions_ios-1.2.1/LICENSE","sourceTree":"","type":"file"},{"fileType":"text.script.ruby","guid":"bfdfe7dc352907fc980b868725387e9833bf9fcf313f2973d53fd78116cbb315","path":"../../../../../../../../../.pub-cache/hosted/pub.dev/quick_actions_ios-1.2.1/ios/quick_actions_ios.podspec","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e9803d03268848b7474d601e1b9e470aace","name":"Pod","path":"","sourceTree":"","type":"group"},{"children":[{"fileType":"sourcecode.module-map","guid":"bfdfe7dc352907fc980b868725387e983f087e6d1e8105ea50e5369b77dd3b08","path":"quick_actions_ios.modulemap","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98dac7ee7a1bbc4495acb5a734dbbf08a0","path":"quick_actions_ios-dummy.m","sourceTree":"","type":"file"},{"fileType":"text.plist.xml","guid":"bfdfe7dc352907fc980b868725387e985a208a09642b31e8de604d9a38c86ba0","path":"quick_actions_ios-Info.plist","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98671d96aa09413e195a8533cd8379d33d","path":"quick_actions_ios-prefix.pch","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98da1a1802428a351085dc1c5dc1b95b0e","path":"quick_actions_ios-umbrella.h","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e9899a3c545d51db50c0cf261030b824669","path":"quick_actions_ios.debug.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e98968b3bc9ee9e49b2679f77b1c2b31c1d","path":"quick_actions_ios.release.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.plist.xml","guid":"bfdfe7dc352907fc980b868725387e98aa75aaf2a1cb28f231d27bcb0722d697","path":"ResourceBundle-quick_actions_ios_privacy-quick_actions_ios-Info.plist","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e980b133fb8ee737cd0f2c62147871f7db0","name":"Support Files","path":"../../../../Pods/Target Support Files/quick_actions_ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98bee18466b48e125b26e27b89d0966163","name":"quick_actions_ios","path":"../.symlinks/plugins/quick_actions_ios/ios","sourceTree":"","type":"group"},{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"fileType":"text.xml","guid":"bfdfe7dc352907fc980b868725387e98174d15dc574e8aee233cdb78708e065d","path":"../../../../../../../../../../../../../.pub-cache/hosted/pub.dev/record_ios-1.1.4/ios/record_ios/Sources/record_ios/Resources/PrivacyInfo.xcprivacy","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e981b45d40a383cdedf63df1f3c52747e07","name":"Resources","path":"Resources","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9895d1e15f4e90ff4d93f2b2392cf5816f","name":"record_ios","path":"record_ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e984864a3169b57ad9e28db829a6c0f8cb1","name":"Sources","path":"Sources","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e982b0061c1d71d45db1a09a76c8c651424","name":"record_ios","path":"record_ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98d53bdd44fdf3dd6aa5ce089e9c70f604","name":"ios","path":"ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98c41d459fcb9fa21cfeecdc707f41b610","name":"record_ios","path":"record_ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9812a9dfb700e2028e311f72b17fc895fe","name":"plugins","path":"plugins","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e983b055601b6561b145460fd9e83f51fdf","name":".symlinks","path":".symlinks","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98d44f75339d1c97dd77d3fcd0d0461ec2","name":"ios","path":"ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e982cf8dcda7b3d0c6826390782a818f4dd","name":"mih_ui","path":"mih_ui","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98dbfe5a0cfdccfaa97756c27c11a1163b","name":"mih-project","path":"mih-project","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98be05ef96388bfaf7d25af31c78bc46dc","name":"mih_main","path":"mih_main","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98ab43803dcddfc883a4c5289aee2c263e","name":"Git","path":"Git","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e984c5e9c2213310378a70ddcb21a5dd955","name":"..","path":".","sourceTree":"","type":"group"},{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98d529b9317f808bc4a0526a0decb58f08","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/record_ios-1.1.4/ios/record_ios/Sources/record_ios/InputHelper.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98d73a5e56d5e68038cb1377eaa90fae0d","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/record_ios-1.1.4/ios/record_ios/Sources/record_ios/RecordConfig.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98f53359071b6f1be5f1da4cef27596689","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/record_ios-1.1.4/ios/record_ios/Sources/record_ios/Recorder.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98298a93bc02eef963b4228ac4db4f6bb8","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/record_ios-1.1.4/ios/record_ios/Sources/record_ios/RecordIosPlugin.swift","sourceTree":"","type":"file"},{"children":[{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98b298ec0b59e4cce28ccc0be3e7f0e5e7","path":"../../../../../../../../../../../../../.pub-cache/hosted/pub.dev/record_ios-1.1.4/ios/record_ios/Sources/record_ios/delegate/RecorderDelegateProtocols.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e982241e0e04227dc7964af065d6a2bbc3c","path":"../../../../../../../../../../../../../.pub-cache/hosted/pub.dev/record_ios-1.1.4/ios/record_ios/Sources/record_ios/delegate/RecorderFileDelegate.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98a41a7891113627a2fa24db24ce22900a","path":"../../../../../../../../../../../../../.pub-cache/hosted/pub.dev/record_ios-1.1.4/ios/record_ios/Sources/record_ios/delegate/RecorderStreamDelegate.swift","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e98102a207de48aa6b7865bb655255eb97d","name":"delegate","path":"delegate","sourceTree":"","type":"group"},{"children":[{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e983a371912ff4d411448f255abead2ed59","path":"../../../../../../../../../../../../../.pub-cache/hosted/pub.dev/record_ios-1.1.4/ios/record_ios/Sources/record_ios/extension/RecorderFormatExtension.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98b47ae3223bc0ccc52b53627d750e2de0","path":"../../../../../../../../../../../../../.pub-cache/hosted/pub.dev/record_ios-1.1.4/ios/record_ios/Sources/record_ios/extension/RecorderSessionExtension.swift","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e9832324292047684aa08caf2ce0ae9bb1f","name":"extension","path":"extension","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e987fcf899c133497aaccaa04d4acf3681b","name":"record_ios","path":"record_ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98557123c7f4bafc3f9d1f9184dc85c36c","name":"Sources","path":"Sources","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e982cd4f595c2c50ffa8f12eb71f4b8bddb","name":"record_ios","path":"record_ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98878c508b646e6248b458c11f23244e69","name":"ios","path":"ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e988d938106dc88ee8f285b1e5486f6edf0","name":"record_ios","path":"record_ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e981447272ccca9ab7d3f9477f564d18ccf","name":"plugins","path":"plugins","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9833105a495e73929ac21221ace3f8cefa","name":".symlinks","path":".symlinks","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e983792ec2fe8d3bf6bd7b3820f8e05659b","name":"ios","path":"ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98fe2d04969e4e34e300424e28e3c5749b","name":"mih_ui","path":"mih_ui","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98ffcbf189e92121eafab95990787d8ee3","name":"mih-project","path":"mih-project","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98676b00d49ca97bf8dd1dd8b9aa44ea6a","name":"mih_main","path":"mih_main","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9880282f9e9a0852b43d2d1b8f2bc6da0c","name":"Git","path":"Git","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9871180fe05d2c8572c124b71c6461cb92","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9878189e5be9adb9fc9b73ebbb47d8a97e","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98466b7514ab90b5afb3b8278924713411","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9887a1fcbcd2589d5a6e3516393b1db1ba","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e983efc6897fae7cf668bcbc35d168b51a1","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98edcba3aae3bd37e2218d1089ea173bb4","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98c281712cdfd17fee37b4bd5b1841992b","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98a03a4b35be5d9e85a7fb7aa0339d6aa0","name":"..","path":"../../../../../../../../../.pub-cache/hosted/pub.dev/record_ios-1.1.4/ios/record_ios/Sources","sourceTree":"","type":"group"},{"children":[{"fileType":"text","guid":"bfdfe7dc352907fc980b868725387e98e1d6b96b4af9220b0f65082f541a6aa4","path":"../../../../../../../../../.pub-cache/hosted/pub.dev/record_ios-1.1.4/LICENSE","sourceTree":"","type":"file"},{"fileType":"text.script.ruby","guid":"bfdfe7dc352907fc980b868725387e98ce484c2575078cc12acbdde631a99151","path":"../../../../../../../../../.pub-cache/hosted/pub.dev/record_ios-1.1.4/ios/record_ios.podspec","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e981d5a61ddabdfd430bfcfcd290130190f","name":"Pod","path":"","sourceTree":"","type":"group"},{"children":[{"fileType":"sourcecode.module-map","guid":"bfdfe7dc352907fc980b868725387e9834ac0094b64a1032543b289ff0408be0","path":"record_ios.modulemap","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98255804e028753f5b8536b2b911ccb620","path":"record_ios-dummy.m","sourceTree":"","type":"file"},{"fileType":"text.plist.xml","guid":"bfdfe7dc352907fc980b868725387e98e4be1a427c54a06ffabcaa130de2c968","path":"record_ios-Info.plist","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98480e6a92f83c6bb52a5901f688fc7040","path":"record_ios-prefix.pch","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e980c4abcf4c655f36e0d31f147be4ed645","path":"record_ios-umbrella.h","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e983daf253e7f620ff0705af75496c7b612","path":"record_ios.debug.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e985629505f5ce763e2c6637f93384c9362","path":"record_ios.release.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.plist.xml","guid":"bfdfe7dc352907fc980b868725387e98e5ca843c47a9788b2db2b9dde08c3daa","path":"ResourceBundle-record_ios_privacy-record_ios-Info.plist","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e9816bac2eecba87f20264d1ae2a9bc5e69","name":"Support Files","path":"../../../../Pods/Target Support Files/record_ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e985d22b1f5e2b6fe75edd6191c37e39101","name":"record_ios","path":"../.symlinks/plugins/record_ios/ios","sourceTree":"","type":"group"},{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"fileType":"text.xml","guid":"bfdfe7dc352907fc980b868725387e98b567af24496618e3e6787600e87a49bf","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/screen_brightness_ios-2.1.2/ios/screen_brightness_ios/Sources/screen_brightness_ios/PrivacyInfo.xcprivacy","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e982068862e6717c819c4fbc09fb536b24a","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/screen_brightness_ios-2.1.2/ios/screen_brightness_ios/Sources/screen_brightness_ios/ScreenBrightnessIosPlugin.swift","sourceTree":"","type":"file"},{"children":[{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98cf5aede3c3831b4f8bb98fbaee4e8fbb","path":"../../../../../../../../../../../../../.pub-cache/hosted/pub.dev/screen_brightness_ios-2.1.2/ios/screen_brightness_ios/Sources/screen_brightness_ios/StreamHandler/BaseStreamHandler.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e988e75d6c80cb6aa025440d7188964cd4c","path":"../../../../../../../../../../../../../.pub-cache/hosted/pub.dev/screen_brightness_ios-2.1.2/ios/screen_brightness_ios/Sources/screen_brightness_ios/StreamHandler/ScreenBrightnessChangedStreamHandler.swift","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e9874d1a6d58b9d742f0585bd07182b814f","name":"StreamHandler","path":"StreamHandler","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e984fa668abf7c9619e3cfe68413bfd3c48","name":"screen_brightness_ios","path":"screen_brightness_ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e982cf65bc832853db0a77191533efb77f5","name":"Sources","path":"Sources","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9896fc17dd81a5a10e141e106731f514b2","name":"screen_brightness_ios","path":"screen_brightness_ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98cfb23e79d351931fbdc8641f383a954c","name":"ios","path":"ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98ddc4bc6bfd114d83e9b0659cf9de43b0","name":"screen_brightness_ios","path":"screen_brightness_ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9828bf95cf7cce1890fee4a38f487eb5c7","name":"plugins","path":"plugins","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e983335bbe674626a01d75a3742e0c48ab0","name":".symlinks","path":".symlinks","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e988c161eae72ee6134907b93514654e3af","name":"ios","path":"ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98e8dd8457b68b460a7f872aa003429071","name":"mih_ui","path":"mih_ui","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e980de842c1d6652e7b8883117ed2154cdb","name":"mih-project","path":"mih-project","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98dbf8dd493f43a4598e0c517f04c088bb","name":"mih_main","path":"mih_main","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e985a1723fa7f75edf0af67129e8a9a562b","name":"Git","path":"Git","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98a3a4fb3b74e4a8c4a47f9240d537a611","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98c60ae4642ba11e10aaeb77c209af10bb","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98aaad6c0e344dc634c87ef0e4bc1c9a03","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e988eb364ca3ffbb4de057b6804cd163394","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e983142062fc9cde280e9c55f45fee3b7fa","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9885c050b29381cffdbca0b90e5592ea71","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e989c3590c2a3270d996dbb84227e1e1876","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98c6ade37d3c830a7144d5ac6398170d1c","name":"..","path":"../../../../../../../../../.pub-cache/hosted/pub.dev/screen_brightness_ios-2.1.2/ios/screen_brightness_ios/Sources","sourceTree":"","type":"group"},{"children":[{"fileType":"text","guid":"bfdfe7dc352907fc980b868725387e98b0915e66297459a9e12167487802adf1","path":"../../../../../../../../../.pub-cache/hosted/pub.dev/screen_brightness_ios-2.1.2/LICENSE","sourceTree":"","type":"file"},{"fileType":"text.script.ruby","guid":"bfdfe7dc352907fc980b868725387e98a59d5ae9e26912fde3acebf778deaaca","path":"../../../../../../../../../.pub-cache/hosted/pub.dev/screen_brightness_ios-2.1.2/ios/screen_brightness_ios.podspec","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e98498dca81558e0027ed3f0baace98590b","name":"Pod","path":"","sourceTree":"","type":"group"},{"children":[{"fileType":"text.plist.xml","guid":"bfdfe7dc352907fc980b868725387e983400f120914c24945cfbd231fe5c63e2","path":"ResourceBundle-screen_brightness_ios_privacy-screen_brightness_ios-Info.plist","sourceTree":"","type":"file"},{"fileType":"sourcecode.module-map","guid":"bfdfe7dc352907fc980b868725387e988d824f7ca473d4d9de96b1e3c06e9dd0","path":"screen_brightness_ios.modulemap","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98d17b81a48ac298f16189bcd229ac4ecc","path":"screen_brightness_ios-dummy.m","sourceTree":"","type":"file"},{"fileType":"text.plist.xml","guid":"bfdfe7dc352907fc980b868725387e98c3fc5c181f687f7753a51ddd197f3105","path":"screen_brightness_ios-Info.plist","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98c8d1b3771b7963ecdf65329021b3b33a","path":"screen_brightness_ios-prefix.pch","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e987ab43a0db493d8c4b0f8700a9bfc1b25","path":"screen_brightness_ios-umbrella.h","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e98bcd767e09eacb2538a5dd8f4781036cb","path":"screen_brightness_ios.debug.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e98e478cdbb3210aa9b19b78eddddb7437c","path":"screen_brightness_ios.release.xcconfig","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e98904b687b3fa631fbc1440c9a46f2ee8f","name":"Support Files","path":"../../../../Pods/Target Support Files/screen_brightness_ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e981579436772685ebdac93ede5e1d42a63","name":"screen_brightness_ios","path":"../.symlinks/plugins/screen_brightness_ios/ios","sourceTree":"","type":"group"},{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98119c9eb9886f3635874ecb6a94a2f0d4","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/share_plus-11.0.0/ios/share_plus/Sources/share_plus/FPPSharePlusPlugin.m","sourceTree":"","type":"file"},{"fileType":"text.xml","guid":"bfdfe7dc352907fc980b868725387e98599bbd5b1a4bdbf5bed39a964d34f18c","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/share_plus-11.0.0/ios/share_plus/Sources/share_plus/PrivacyInfo.xcprivacy","sourceTree":"","type":"file"},{"children":[{"children":[{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e986c6ddc4ee2f3ea412c1028067a0fee4c","path":"../../../../../../../../../../../../../../.pub-cache/hosted/pub.dev/share_plus-11.0.0/ios/share_plus/Sources/share_plus/include/share_plus/FPPSharePlusPlugin.h","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e983d4f6b4b3ea9373c5507d9353d49b7e0","name":"share_plus","path":"share_plus","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98b70fe759825ed1ee9c375ad6032721d9","name":"include","path":"include","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98c031457ec4352cc7b1e0b422667da097","name":"share_plus","path":"share_plus","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98c202cfd8b8c92dd0bf2b027958aaa905","name":"Sources","path":"Sources","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98ff5021a81a1d8e99cd5f9ce177d63508","name":"share_plus","path":"share_plus","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9809db9d2a512ef8f094061ebd6fbd54f2","name":"ios","path":"ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e989f483b4be001cca9d711aa2ba566d331","name":"share_plus","path":"share_plus","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98bfc043e3f7c2c8921db3de166162ac8e","name":"plugins","path":"plugins","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98e2b5b0f7d41421ffee952d9daf7dc83f","name":".symlinks","path":".symlinks","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9869808550973ecb112263c763e971f956","name":"ios","path":"ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98c08eb0711ab0623c4a4c8d45359e060a","name":"mih_ui","path":"mih_ui","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98c6af78477aa25f5d330368714d1a895f","name":"mih-project","path":"mih-project","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98365ca200dffc26fa46d745e2b3b25f4c","name":"mih_main","path":"mih_main","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e981ef0a29baaac601f8f19b64dd0f7cdf0","name":"Git","path":"Git","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e985e4cac157b5628bf4d3788068f4f375d","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98ab42ea15b65127fe5712c39f6b592998","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98396db10edc10cd3116c133d05df79e3c","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98c8199d891ae54b218d13c73dc7d3c057","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98f7798944d5b1e1f39fe75418851c56f4","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98e3f7ac5a05b261acd5a1730475ff0b8b","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e985cc0a390af6375cb0ad89dc0475dc657","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9891a8faf7db2593973fe985b900554efd","name":"..","path":"../../../../../../../../../.pub-cache/hosted/pub.dev/share_plus-11.0.0/ios/share_plus/Sources","sourceTree":"","type":"group"},{"children":[{"fileType":"text","guid":"bfdfe7dc352907fc980b868725387e9868445a1bb92ff184a5e20b5e5a3a39a9","path":"../../../../../../../../../.pub-cache/hosted/pub.dev/share_plus-11.0.0/LICENSE","sourceTree":"","type":"file"},{"fileType":"text.script.ruby","guid":"bfdfe7dc352907fc980b868725387e98ef64afb2023c5878036dc7c6817e9ba1","path":"../../../../../../../../../.pub-cache/hosted/pub.dev/share_plus-11.0.0/ios/share_plus.podspec","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e98154c936dc6036ad046d6363c8f61bd43","name":"Pod","path":"","sourceTree":"","type":"group"},{"children":[{"fileType":"text.plist.xml","guid":"bfdfe7dc352907fc980b868725387e98378bbd516f5eec2de41e524e24bc7e49","path":"ResourceBundle-share_plus_privacy-share_plus-Info.plist","sourceTree":"","type":"file"},{"fileType":"sourcecode.module-map","guid":"bfdfe7dc352907fc980b868725387e98906e870770dfa375bc32a874a460571b","path":"share_plus.modulemap","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98ac3d4b3149126b081d5bc50806117e1a","path":"share_plus-dummy.m","sourceTree":"","type":"file"},{"fileType":"text.plist.xml","guid":"bfdfe7dc352907fc980b868725387e98ff64f8e5620d92a1fb974b44aaf31a50","path":"share_plus-Info.plist","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98e22c09ce8800821b844c11a9a207132d","path":"share_plus-prefix.pch","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e983a3ff60a16fd5c441672e7e40ef2e624","path":"share_plus-umbrella.h","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e98de35fcdac3f67fe0119b4d27e7b7c6d4","path":"share_plus.debug.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e98d3219dc3abe23add073ba57e4e5929db","path":"share_plus.release.xcconfig","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e98d48a2ad2172506e2edc53483822fde13","name":"Support Files","path":"../../../../Pods/Target Support Files/share_plus","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e987bc749703266092de2678c42954db62e","name":"share_plus","path":"../.symlinks/plugins/share_plus/ios","sourceTree":"","type":"group"},{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"fileType":"text.xml","guid":"bfdfe7dc352907fc980b868725387e98251f6f0c0dfa900ccd058f8d5f09e39b","path":"../../../../../../../../../../../../../.pub-cache/hosted/pub.dev/shared_preferences_foundation-2.5.4/darwin/shared_preferences_foundation/Sources/shared_preferences_foundation/Resources/PrivacyInfo.xcprivacy","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e98874a84db9ab4c0b9f22d421b7cd204c7","name":"Resources","path":"Resources","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98d260bd6770b72dfa4da36eadfee166df","name":"shared_preferences_foundation","path":"shared_preferences_foundation","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98e3e39e128c5809bd49040f00361eae7c","name":"Sources","path":"Sources","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9850ffa628d1919f0ec705f9de24bda6c1","name":"shared_preferences_foundation","path":"shared_preferences_foundation","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e985e64e7994fe3fdc22525b6459b9f48cd","name":"darwin","path":"darwin","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e988cad9c321014aed10048c97d530dfc9e","name":"shared_preferences_foundation","path":"shared_preferences_foundation","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98ce1edebbcbeb4dc57286acae03d36057","name":"plugins","path":"plugins","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e988f8bdc4d5afea8e36320c0e1e34946cb","name":".symlinks","path":".symlinks","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98e25e360fe18b437b2db3a93fa43b847a","name":"ios","path":"ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e986a22bf476083da0ba2e2549f7102806f","name":"mih_ui","path":"mih_ui","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98fd58d2e1a8250ce2aa53840a0efebd81","name":"mih-project","path":"mih-project","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e986d5878a7dc724f2c66e8f251b07ed4dc","name":"mih_main","path":"mih_main","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98cca72625c4f27b28e95966284d25a066","name":"Git","path":"Git","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9880a7725720f6588f2fa64a41717c07f3","name":"..","path":".","sourceTree":"","type":"group"},{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98d7fd3cf0401e3393c461b2ae7c1591c7","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/shared_preferences_foundation-2.5.4/darwin/shared_preferences_foundation/Sources/shared_preferences_foundation/messages.g.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98f19bf67647b9b4da54e0115f35b62be4","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/shared_preferences_foundation-2.5.4/darwin/shared_preferences_foundation/Sources/shared_preferences_foundation/SharedPreferencesPlugin.swift","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e986d6f4d0088b7c72652b95fc0ebb93926","name":"shared_preferences_foundation","path":"shared_preferences_foundation","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e982f66ae4f5b415172e3dca64e9e8e5a4e","name":"Sources","path":"Sources","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e982ac4dff249a7528e93cd77a7f162f234","name":"shared_preferences_foundation","path":"shared_preferences_foundation","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e986e413e350fae1f0103b443a6a45fb56b","name":"darwin","path":"darwin","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98986cd207c1e8622480ebb094be785bc4","name":"shared_preferences_foundation","path":"shared_preferences_foundation","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9831549fc1ad6b0e5fe2b6dbae6500a1a5","name":"plugins","path":"plugins","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98c53c5f7a985e5d8906fa525678a4ed74","name":".symlinks","path":".symlinks","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e987fee99b78dd5109cdba3de5751dad705","name":"ios","path":"ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e989e87820aba3f967f8f414a3668bc8c32","name":"mih_ui","path":"mih_ui","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e983424e39400373f6dfe6b3293723b2d63","name":"mih-project","path":"mih-project","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9890236d39b36a50b18dfee2b67a45863e","name":"mih_main","path":"mih_main","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98f5c4325e1db9ad21e4acf5deb1a99531","name":"Git","path":"Git","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9863074831eac277e55e30016b23204e0b","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98093130e99afc1f5f553deb94624455a9","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e988be645abfbd88edc4f33f359acd532f1","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e984434ce912622f5061aa4c626b2217185","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98ca7021dd2115aeea2deec8d2f69b6bc9","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98570f6c2adb30c44a00ee3c91c056c116","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98c835a8cb19147cf0930aaca9c0e17f92","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9859a08326d1ab9bd0425c51f76de45d5a","name":"..","path":"../../../../../../../../../.pub-cache/hosted/pub.dev/shared_preferences_foundation-2.5.4/darwin/shared_preferences_foundation/Sources","sourceTree":"","type":"group"},{"children":[{"fileType":"text","guid":"bfdfe7dc352907fc980b868725387e98ce1dd3ced01a13751360e124369d38d6","path":"../../../../../../../../../.pub-cache/hosted/pub.dev/shared_preferences_foundation-2.5.4/LICENSE","sourceTree":"","type":"file"},{"fileType":"text.script.ruby","guid":"bfdfe7dc352907fc980b868725387e9898024370ef0cf83a515f865ba5f18b1f","path":"../../../../../../../../../.pub-cache/hosted/pub.dev/shared_preferences_foundation-2.5.4/darwin/shared_preferences_foundation.podspec","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e98b4363ea9f157c04918d640a76ca81521","name":"Pod","path":"","sourceTree":"","type":"group"},{"children":[{"fileType":"text.plist.xml","guid":"bfdfe7dc352907fc980b868725387e98c65a8a036f40f9a6657c7c81348dd3ff","path":"ResourceBundle-shared_preferences_foundation_privacy-shared_preferences_foundation-Info.plist","sourceTree":"","type":"file"},{"fileType":"sourcecode.module-map","guid":"bfdfe7dc352907fc980b868725387e9878a138126e157c84d17eb1152493dc20","path":"shared_preferences_foundation.modulemap","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e9857a0115412b61e72a46155af7b48b848","path":"shared_preferences_foundation-dummy.m","sourceTree":"","type":"file"},{"fileType":"text.plist.xml","guid":"bfdfe7dc352907fc980b868725387e9805edc661fdbdf6644df331c393174c01","path":"shared_preferences_foundation-Info.plist","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e981bfa857f3b9b99abe02ca6fc7b5bd990","path":"shared_preferences_foundation-prefix.pch","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98d9c07036facadf4c2fe7142051423416","path":"shared_preferences_foundation-umbrella.h","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e981ea619c6c09d50e42998ac2381b017c9","path":"shared_preferences_foundation.debug.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e988abaddbc7dac244a9dd3a827969bb097","path":"shared_preferences_foundation.release.xcconfig","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e98ef7e6af9b5bd6c7f5706ccb9a18c5adf","name":"Support Files","path":"../../../../Pods/Target Support Files/shared_preferences_foundation","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e980d9e95ccc7793f6ae3460b9735cb8db8","name":"shared_preferences_foundation","path":"../.symlinks/plugins/shared_preferences_foundation/darwin","sourceTree":"","type":"group"},{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"fileType":"text.xml","guid":"bfdfe7dc352907fc980b868725387e9853ec5b69fdc2191f1ca7a8b03970be07","path":"../../../../../../../../../../../../../.pub-cache/hosted/pub.dev/sqflite_darwin-2.4.2/darwin/sqflite_darwin/Sources/sqflite_darwin/Resources/PrivacyInfo.xcprivacy","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e98200d0fa3707fc5ee74afc160d893d31d","name":"Resources","path":"Resources","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e985dcda6b1cb6811b67d0e643bc9f80b04","name":"sqflite_darwin","path":"sqflite_darwin","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e981e185c6bd005e3d15397062c4574f504","name":"Sources","path":"Sources","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98a482ae21cd5e935a49125ee7f4334a4f","name":"sqflite_darwin","path":"sqflite_darwin","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e984d9b6acbccf02f63b8c74455872502ad","name":"darwin","path":"darwin","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9827b2476097951d4ba4a438df6bdab0c3","name":"sqflite_darwin","path":"sqflite_darwin","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98d9e91246b255bd2e9e7a0efaec4a6ae0","name":"plugins","path":"plugins","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98f73a85e7ab7083d26c1cae3a39f97d28","name":".symlinks","path":".symlinks","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98bcc6e45d9dccbce5db97a93454702552","name":"ios","path":"ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e985e4092a639794880dacb330ad8d18b90","name":"mih_ui","path":"mih_ui","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9802c8af15eb3ab80ccbae2168af891649","name":"mih-project","path":"mih-project","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e987e2b6109c38b758dc68f384f773a778f","name":"mih_main","path":"mih_main","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9885f86e0d5bd71fdf4bd51f069cb5a8d4","name":"Git","path":"Git","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e987fab1129b9c51c893011735af55b4bf7","name":"..","path":".","sourceTree":"","type":"group"},{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9879477fd65084cc006d19101f02256fe0","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/sqflite_darwin-2.4.2/darwin/sqflite_darwin/Sources/sqflite_darwin/SqfliteCursor.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e9830c704358e50b5466ffb0fa7d6c2e209","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/sqflite_darwin-2.4.2/darwin/sqflite_darwin/Sources/sqflite_darwin/SqfliteCursor.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e980e35fc805e7942676dde7f6a6cceca96","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/sqflite_darwin-2.4.2/darwin/sqflite_darwin/Sources/sqflite_darwin/SqfliteDarwinDatabase.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e982ce4fd3b13126d36c4c105bebc0d9fd1","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/sqflite_darwin-2.4.2/darwin/sqflite_darwin/Sources/sqflite_darwin/SqfliteDarwinDatabase.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98592da7f3a49d3059663aa71a58cd0a4a","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/sqflite_darwin-2.4.2/darwin/sqflite_darwin/Sources/sqflite_darwin/SqfliteDarwinDatabaseAdditions.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98c6a0774da49442d88e4fb061e345fcbf","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/sqflite_darwin-2.4.2/darwin/sqflite_darwin/Sources/sqflite_darwin/SqfliteDarwinDatabaseAdditions.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98ac0abeeeb91ccc5902df814d398020ae","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/sqflite_darwin-2.4.2/darwin/sqflite_darwin/Sources/sqflite_darwin/SqfliteDarwinDatabaseQueue.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98018efb908ca6e0716b824fc860f61c9b","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/sqflite_darwin-2.4.2/darwin/sqflite_darwin/Sources/sqflite_darwin/SqfliteDarwinDatabaseQueue.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e980c6eff3a04d8f600b147b66f518c810b","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/sqflite_darwin-2.4.2/darwin/sqflite_darwin/Sources/sqflite_darwin/SqfliteDarwinDB.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9812a82c89a68ff3aa4668003694edb150","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/sqflite_darwin-2.4.2/darwin/sqflite_darwin/Sources/sqflite_darwin/SqfliteDarwinImport.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e987a187bee2cf8e65d0c11cbf842b8d0a7","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/sqflite_darwin-2.4.2/darwin/sqflite_darwin/Sources/sqflite_darwin/SqfliteDarwinResultSet.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e9853e6f394a4d03f7b423702095b9e1482","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/sqflite_darwin-2.4.2/darwin/sqflite_darwin/Sources/sqflite_darwin/SqfliteDarwinResultSet.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e985d2f0271270070876a34fb6538811993","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/sqflite_darwin-2.4.2/darwin/sqflite_darwin/Sources/sqflite_darwin/SqfliteDatabase.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98c8dd825ce814e57bbe46ce1cda93d700","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/sqflite_darwin-2.4.2/darwin/sqflite_darwin/Sources/sqflite_darwin/SqfliteDatabase.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e985e37b28cf8fbbaa7f69a2cadcd43d21c","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/sqflite_darwin-2.4.2/darwin/sqflite_darwin/Sources/sqflite_darwin/SqfliteImport.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e988b79e3ba836e166f4d2c19a363e77ef6","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/sqflite_darwin-2.4.2/darwin/sqflite_darwin/Sources/sqflite_darwin/SqfliteOperation.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98f0b4b8929472bef1ea1691b2d60d35bb","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/sqflite_darwin-2.4.2/darwin/sqflite_darwin/Sources/sqflite_darwin/SqfliteOperation.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98c9475c24e421f8b84743f5f595dcf902","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/sqflite_darwin-2.4.2/darwin/sqflite_darwin/Sources/sqflite_darwin/SqflitePlugin.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98e7fb17279cf291b6e4e53390f27f299e","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/sqflite_darwin-2.4.2/darwin/sqflite_darwin/Sources/sqflite_darwin/SqflitePlugin.m","sourceTree":"","type":"file"},{"children":[{"children":[{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98d68895a313533798394d82163692c629","path":"../../../../../../../../../../../../../../.pub-cache/hosted/pub.dev/sqflite_darwin-2.4.2/darwin/sqflite_darwin/Sources/sqflite_darwin/include/sqflite_darwin/SqfliteImportPublic.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e985cac4af7f944cc0b3df8c11a0e43e286","path":"../../../../../../../../../../../../../../.pub-cache/hosted/pub.dev/sqflite_darwin-2.4.2/darwin/sqflite_darwin/Sources/sqflite_darwin/include/sqflite_darwin/SqflitePluginPublic.h","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e983846aced2fd599b48a93ac2106e72ea4","name":"sqflite_darwin","path":"sqflite_darwin","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e987f0259db830b9d38038571b93242197e","name":"include","path":"include","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9807c4dffe6a0500abb6cc0bb91e07e058","name":"sqflite_darwin","path":"sqflite_darwin","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98f974f7c51012fce9ac1b91791d37afe3","name":"Sources","path":"Sources","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e983d081cb1752b8ebe9a76fadf13026796","name":"sqflite_darwin","path":"sqflite_darwin","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98dbc9fe22e4ef90d187fd3abafc65457b","name":"darwin","path":"darwin","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98945dcff18e1f67dcfd7037cbd18b50c4","name":"sqflite_darwin","path":"sqflite_darwin","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e981410346a0e55a9c7843f10860bad76f2","name":"plugins","path":"plugins","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e981a6a34cd1c98dc3ad701f6eb02d8dbe5","name":".symlinks","path":".symlinks","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e989fcf587fd16f1f9a48d3555a22e1b458","name":"ios","path":"ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98e46648f321b2c1f4b91db77505e08f30","name":"mih_ui","path":"mih_ui","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98f6fd94c2b590faa93e53f862ea2ee79e","name":"mih-project","path":"mih-project","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e980e25c3aaf34ca14c48b2996219026a75","name":"mih_main","path":"mih_main","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98848fee2ce1a3a8df150c97e859589977","name":"Git","path":"Git","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9832c2025d830b21b09a6f91d377e96ec6","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e985fb2cee421f991423182d3789b3dff5b","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e988e34517bb9c674813ab2b4b2286d24c8","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9835007b95f817704dba1eeceed30c9fcb","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9893e83fc7d01a44b30af889d682c66137","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9836406f81de276cf028bf598208c2e046","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e983f2adab1decb9579e798ade3e8f94b41","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9836faaaa2c50b49a85977ed4562d12b6b","name":"..","path":"../../../../../../../../../.pub-cache/hosted/pub.dev/sqflite_darwin-2.4.2/darwin/sqflite_darwin/Sources","sourceTree":"","type":"group"},{"children":[{"fileType":"text","guid":"bfdfe7dc352907fc980b868725387e98d6dae8f9e68af4ae0bfa937e10346c24","path":"../../../../../../../../../.pub-cache/hosted/pub.dev/sqflite_darwin-2.4.2/LICENSE","sourceTree":"","type":"file"},{"fileType":"net.daringfireball.markdown","guid":"bfdfe7dc352907fc980b868725387e983d2cf05e8641bfb9bd4e0c8a0d9acb1e","path":"../../../../../../../../../.pub-cache/hosted/pub.dev/sqflite_darwin-2.4.2/darwin/README.md","sourceTree":"","type":"file"},{"fileType":"text.script.ruby","guid":"bfdfe7dc352907fc980b868725387e98cd6558be7189756cef630598ee7d2bb0","path":"../../../../../../../../../.pub-cache/hosted/pub.dev/sqflite_darwin-2.4.2/darwin/sqflite_darwin.podspec","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e98ecbba56932b85a43762bec99b6225df1","name":"Pod","path":"","sourceTree":"","type":"group"},{"children":[{"fileType":"text.plist.xml","guid":"bfdfe7dc352907fc980b868725387e98f4c1bfaaeeabeda1e584c9b61c8588cd","path":"ResourceBundle-sqflite_darwin_privacy-sqflite_darwin-Info.plist","sourceTree":"","type":"file"},{"fileType":"sourcecode.module-map","guid":"bfdfe7dc352907fc980b868725387e988dc8cfd8a4a13f0f776d30a86da3a4c4","path":"sqflite_darwin.modulemap","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e982eb21757b507687455f8acb8e01017e3","path":"sqflite_darwin-dummy.m","sourceTree":"","type":"file"},{"fileType":"text.plist.xml","guid":"bfdfe7dc352907fc980b868725387e98c5b713749c67afaec2446d918bc88dec","path":"sqflite_darwin-Info.plist","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e984350c2c970d218895c0b6757b272d815","path":"sqflite_darwin-prefix.pch","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e983e7d9fa60b774739ab0d6568bf07a351","path":"sqflite_darwin-umbrella.h","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e9875a911280513a51a1fcc833a02e1e86d","path":"sqflite_darwin.debug.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e98b2e50aea12e109eb95c45970b36f8a43","path":"sqflite_darwin.release.xcconfig","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e984b076e246ad5a420d39bd8da89e9420a","name":"Support Files","path":"../../../../Pods/Target Support Files/sqflite_darwin","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98311733b06bfed642b6f8f4347779ecf3","name":"sqflite_darwin","path":"../.symlinks/plugins/sqflite_darwin/darwin","sourceTree":"","type":"group"},{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e9853502a1c45cb54adc332a8b75ff6be4e","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/syncfusion_flutter_pdfviewer-29.2.10/ios/syncfusion_flutter_pdfviewer/Sources/syncfusion_flutter_pdfviewer/SyncfusionFlutterPdfViewerPlugin.swift","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e987361f6fd54e39b6be5032d54d3249f45","name":"syncfusion_flutter_pdfviewer","path":"syncfusion_flutter_pdfviewer","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9803debb445f6700abe7749ae6aee19411","name":"Sources","path":"Sources","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9888c353835eb8ac179d64e97ed5dd2d1c","name":"syncfusion_flutter_pdfviewer","path":"syncfusion_flutter_pdfviewer","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9829d95cda9e4e6450a4ac6fb90943c7e9","name":"ios","path":"ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98a190abdb74ac76152a243d43c1608ed3","name":"syncfusion_flutter_pdfviewer","path":"syncfusion_flutter_pdfviewer","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98febf987d2ebbbed1a6084dfb281decc4","name":"plugins","path":"plugins","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e981169ca70ca26e5814cf73ad7de6b4451","name":".symlinks","path":".symlinks","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9881968911210413bf0459a1a6f921df0e","name":"ios","path":"ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9876e9964386e015101a3090fcf115536e","name":"mih_ui","path":"mih_ui","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98cc01a49f34442ae45ba994342cfb1704","name":"mih-project","path":"mih-project","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98a7aa0d77acd4da36a80bd7da7daf9573","name":"mih_main","path":"mih_main","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98038a90b861a28e5b4b8dd5aa24bc0b5f","name":"Git","path":"Git","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e985846007afd74f6d4389c61c2f76b19a7","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98c98f66cdb2c668eb9c9535e3b005afc8","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e989d999538e9f35e3be808f783dbe6f043","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98d6e839cb13db77a3fccadfa0deeb4f79","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e980af197b92723af06582e4ddbdef77b89","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e989f762b6a7039344e7f57bba56b844b07","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e980ad2d568d7cc8d3f2d64dc169cf65208","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98afaac2d6f80c35a2f08aa0e9cd39ae94","name":"..","path":"../../../../../../../../../.pub-cache/hosted/pub.dev/syncfusion_flutter_pdfviewer-29.2.10/ios/syncfusion_flutter_pdfviewer/Sources","sourceTree":"","type":"group"},{"children":[{"fileType":"text","guid":"bfdfe7dc352907fc980b868725387e986fbd8db7f6bd33265d8a0fbc7bf95baa","path":"../../../../../../../../../.pub-cache/hosted/pub.dev/syncfusion_flutter_pdfviewer-29.2.10/LICENSE","sourceTree":"","type":"file"},{"fileType":"text.script.ruby","guid":"bfdfe7dc352907fc980b868725387e98bb18158157998dde524ca6578c72094d","path":"../../../../../../../../../.pub-cache/hosted/pub.dev/syncfusion_flutter_pdfviewer-29.2.10/ios/syncfusion_flutter_pdfviewer.podspec","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e9854f9fda2b4b51ecd1bc53558d995bc7a","name":"Pod","path":"","sourceTree":"","type":"group"},{"children":[{"fileType":"sourcecode.module-map","guid":"bfdfe7dc352907fc980b868725387e98ca3b4a62b17a3dd6a49cf8261bef40b3","path":"syncfusion_flutter_pdfviewer.modulemap","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98532284d033f3de271a1fd34a6aa57476","path":"syncfusion_flutter_pdfviewer-dummy.m","sourceTree":"","type":"file"},{"fileType":"text.plist.xml","guid":"bfdfe7dc352907fc980b868725387e9891436df15c3476add531fc85739f9a58","path":"syncfusion_flutter_pdfviewer-Info.plist","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e980d895796e7cf3b42d3e6950740583b8a","path":"syncfusion_flutter_pdfviewer-prefix.pch","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98d31e2d30267b93d0385170731adefbb0","path":"syncfusion_flutter_pdfviewer-umbrella.h","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e98e09431f2c48fb9c271b2728be33c6101","path":"syncfusion_flutter_pdfviewer.debug.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e98029debb13536e6240d86d056b253ac21","path":"syncfusion_flutter_pdfviewer.release.xcconfig","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e9800c0f9f91c852b221b37cecf2f479c3f","name":"Support Files","path":"../../../../Pods/Target Support Files/syncfusion_flutter_pdfviewer","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e986405124520db5bbc660c502b34a6f3b1","name":"syncfusion_flutter_pdfviewer","path":"../.symlinks/plugins/syncfusion_flutter_pdfviewer/ios","sourceTree":"","type":"group"},{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"fileType":"text.xml","guid":"bfdfe7dc352907fc980b868725387e980ee24ebd45c579186ae60d129b553bed","path":"../../../../../../../../../../../../../.pub-cache/hosted/pub.dev/url_launcher_ios-6.3.3/ios/url_launcher_ios/Sources/url_launcher_ios/Resources/PrivacyInfo.xcprivacy","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e983d2890ba5d2b8b269c748965a331730f","name":"Resources","path":"Resources","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e987520c262b6c2e979764aed69fdf32580","name":"url_launcher_ios","path":"url_launcher_ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e989c722067f6a359083dda4e1536613554","name":"Sources","path":"Sources","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9858c8c92512b49fbe6824f8b48f6c0dc6","name":"url_launcher_ios","path":"url_launcher_ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98d87575751022a51df7df777f5818d930","name":"ios","path":"ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9819e6d8989c33a6c0f519379ed13a2963","name":"url_launcher_ios","path":"url_launcher_ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98d3ecfc14f6db2f1e8f0cef6667055759","name":"plugins","path":"plugins","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98df65b3e5e40d04dc670a86423b2533e3","name":".symlinks","path":".symlinks","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9859baa4fef5a224f6957b22b0e5995c23","name":"ios","path":"ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e986cbb1861a8f18a765aad58ce5f42505d","name":"mih_ui","path":"mih_ui","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98f6c7572d23448bd4432b9a80fa50c814","name":"mih-project","path":"mih-project","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e980170d6e7944e19473dc55e89ca1efe4e","name":"mih_main","path":"mih_main","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98b15defc0cd422ee3772c3c0fca9df85c","name":"Git","path":"Git","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9849d868a4281d70fcc25e81e90964831e","name":"..","path":".","sourceTree":"","type":"group"},{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e988b923c7f69904073f11cfb33f486be4e","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/url_launcher_ios-6.3.3/ios/url_launcher_ios/Sources/url_launcher_ios/Launcher.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e981f993b8fa34154c706d827a98b25e1b7","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/url_launcher_ios-6.3.3/ios/url_launcher_ios/Sources/url_launcher_ios/messages.g.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e984136e6ab77e9cac49cc5bb8eca9cdee4","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/url_launcher_ios-6.3.3/ios/url_launcher_ios/Sources/url_launcher_ios/URLLauncherPlugin.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e9873c2ef5634c43bf05dc1b4493b3cc0b5","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/url_launcher_ios-6.3.3/ios/url_launcher_ios/Sources/url_launcher_ios/URLLaunchSession.swift","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e98f7a951a8e510f5c77a167fa5f406f30b","name":"url_launcher_ios","path":"url_launcher_ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e988076b64b29be3aa0ae63152231c08121","name":"Sources","path":"Sources","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e984333c1daf9320db8d4305234533ac190","name":"url_launcher_ios","path":"url_launcher_ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98b21c586a7e355d208732425a25de3120","name":"ios","path":"ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9846c810908615f89ab4002301193dabdd","name":"url_launcher_ios","path":"url_launcher_ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e980dc4bca2f03c988785c812e28bcb6977","name":"plugins","path":"plugins","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9819edfc49fd527d321efc12a0ece4ebc5","name":".symlinks","path":".symlinks","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e984e76f9c29de1caa99df42e1843192668","name":"ios","path":"ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e986c2696a5a32da72599133df7fcbb834e","name":"mih_ui","path":"mih_ui","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98696f7e811412224e394426b9c2d2d0b3","name":"mih-project","path":"mih-project","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e985658e8b040b574f365203f09537074bf","name":"mih_main","path":"mih_main","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98ece97ae1843dbb5501f96a0f66b436e7","name":"Git","path":"Git","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e984535507c482b7d2a985b233a26beefa0","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9827ebd5bbdcb0658dcdca8d6fe4694f59","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9894fa141c55a394fd3e5af8000bf7171a","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9805ff6868c01273fe2b08de00332fd407","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98305d7b742e47a78e158d75cc79761002","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9867d1b2556e9e5a7f8c774f33c555d794","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e989c312a0089ac5da7bc277df82ce310c9","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e987569535e74f4a5e60b7fb32576cd6292","name":"..","path":"../../../../../../../../../.pub-cache/hosted/pub.dev/url_launcher_ios-6.3.3/ios/url_launcher_ios/Sources","sourceTree":"","type":"group"},{"children":[{"fileType":"text","guid":"bfdfe7dc352907fc980b868725387e983fc96bbb2314238fd6b66a3010e2da59","path":"../../../../../../../../../.pub-cache/hosted/pub.dev/url_launcher_ios-6.3.3/LICENSE","sourceTree":"","type":"file"},{"fileType":"text.script.ruby","guid":"bfdfe7dc352907fc980b868725387e981b8afb2a57a8b22a69787c6c3021c344","path":"../../../../../../../../../.pub-cache/hosted/pub.dev/url_launcher_ios-6.3.3/ios/url_launcher_ios.podspec","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e98e7e46da2c78b474b1f377a2a5200b24e","name":"Pod","path":"","sourceTree":"","type":"group"},{"children":[{"fileType":"text.plist.xml","guid":"bfdfe7dc352907fc980b868725387e981afd7e37c2302b41538c45325ea46350","path":"ResourceBundle-url_launcher_ios_privacy-url_launcher_ios-Info.plist","sourceTree":"","type":"file"},{"fileType":"sourcecode.module-map","guid":"bfdfe7dc352907fc980b868725387e98801fa898db7d7e32d77d6db2a1f7cecd","path":"url_launcher_ios.modulemap","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98dfc96d715d809f6ba8cb9e157b3e9dea","path":"url_launcher_ios-dummy.m","sourceTree":"","type":"file"},{"fileType":"text.plist.xml","guid":"bfdfe7dc352907fc980b868725387e9834025b90949043ebbfb75a96412e3376","path":"url_launcher_ios-Info.plist","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98a71cb6b5b12314ddf260df4fa2971d1b","path":"url_launcher_ios-prefix.pch","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9806f3adb2e55f13bf793c40eca5d3b6b1","path":"url_launcher_ios-umbrella.h","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e986b056fb7813eab8b622dbbdb4b6201da","path":"url_launcher_ios.debug.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e982e8b062cb2e7d8455d114188a1500a94","path":"url_launcher_ios.release.xcconfig","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e98d70cf7d694633b07145f76f63d1daf60","name":"Support Files","path":"../../../../Pods/Target Support Files/url_launcher_ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98154d1a1da41b6ca907f1f93121bbccc3","name":"url_launcher_ios","path":"../.symlinks/plugins/url_launcher_ios/ios","sourceTree":"","type":"group"},{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"fileType":"text.xml","guid":"bfdfe7dc352907fc980b868725387e9835179e6884138d623d1c2669625be172","path":"../../../../../../../../../../../../../.pub-cache/hosted/pub.dev/webview_flutter_wkwebview-3.22.0/darwin/webview_flutter_wkwebview/Sources/webview_flutter_wkwebview/Resources/PrivacyInfo.xcprivacy","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e98b58196d6d929cb727eca51ff4a3f332e","name":"Resources","path":"Resources","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e986cf8af6e1da86e64d914f5c16f15dc58","name":"webview_flutter_wkwebview","path":"webview_flutter_wkwebview","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9834c41063a580fdcf4a173c7fded36c8a","name":"Sources","path":"Sources","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98dcd89bf8cb2381907f4c2e0d445ddac7","name":"webview_flutter_wkwebview","path":"webview_flutter_wkwebview","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98330bb9bfeba52568e79ebcb765dd5382","name":"darwin","path":"darwin","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98bf1ded961775c6e8cba10375b2d2c67d","name":"webview_flutter_wkwebview","path":"webview_flutter_wkwebview","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98b026a2e46c415bd79f19fdadefd611d6","name":"plugins","path":"plugins","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98875b65cbcdaa1429e932dd3b8a651800","name":".symlinks","path":".symlinks","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98220e4856ff0e495cfe0fbe92563b05ad","name":"ios","path":"ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e981ee67f07af35a222236d2e377be24584","name":"mih_ui","path":"mih_ui","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e981dbf8ebc1fd79bffb781145e48542a3c","name":"mih-project","path":"mih-project","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98505954285a7918a2eb0b12e43345cffb","name":"mih_main","path":"mih_main","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98715ead64085d97a2cf3d2582b3016b5a","name":"Git","path":"Git","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98235da93c52be11c66c714582d9ea97b3","name":"..","path":".","sourceTree":"","type":"group"},{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"children":[{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e986ae0ecde56284e1c58ce266e014e4407","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/webview_flutter_wkwebview-3.22.0/darwin/webview_flutter_wkwebview/Sources/webview_flutter_wkwebview/AuthenticationChallengeResponse.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98ffad4f1ea24597bdb838ed18709ce0bc","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/webview_flutter_wkwebview-3.22.0/darwin/webview_flutter_wkwebview/Sources/webview_flutter_wkwebview/AuthenticationChallengeResponseProxyAPIDelegate.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e986cf40d51c23844c27b2d3847574a999b","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/webview_flutter_wkwebview-3.22.0/darwin/webview_flutter_wkwebview/Sources/webview_flutter_wkwebview/ErrorProxyAPIDelegate.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98ccb07914d3f2ac2700b37e1af527dcb6","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/webview_flutter_wkwebview-3.22.0/darwin/webview_flutter_wkwebview/Sources/webview_flutter_wkwebview/FlutterAssetManager.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98c274a9bb2f458649df20b73def238a31","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/webview_flutter_wkwebview-3.22.0/darwin/webview_flutter_wkwebview/Sources/webview_flutter_wkwebview/FlutterViewFactory.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98b087fab6a6147e88ea8188b98eb479b2","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/webview_flutter_wkwebview-3.22.0/darwin/webview_flutter_wkwebview/Sources/webview_flutter_wkwebview/FrameInfoProxyAPIDelegate.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e983f800f06f13b5c13b4116ae2800ebd62","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/webview_flutter_wkwebview-3.22.0/darwin/webview_flutter_wkwebview/Sources/webview_flutter_wkwebview/GetTrustResultResponse.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e9858a1908524c1677a38ba9bec48112f5d","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/webview_flutter_wkwebview-3.22.0/darwin/webview_flutter_wkwebview/Sources/webview_flutter_wkwebview/GetTrustResultResponseProxyAPIDelegate.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98936d1a39e1338c5cff1f46f1bdcbd970","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/webview_flutter_wkwebview-3.22.0/darwin/webview_flutter_wkwebview/Sources/webview_flutter_wkwebview/HTTPCookieProxyAPIDelegate.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98b7c272896c5e5a1f7466f96e730ef7f7","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/webview_flutter_wkwebview-3.22.0/darwin/webview_flutter_wkwebview/Sources/webview_flutter_wkwebview/HTTPCookieStoreProxyAPIDelegate.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98c92dad67cbc17d9bb7df16017787161e","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/webview_flutter_wkwebview-3.22.0/darwin/webview_flutter_wkwebview/Sources/webview_flutter_wkwebview/HTTPURLResponseProxyAPIDelegate.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e989c9816f986731e3e1d1441ad2f76dc0e","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/webview_flutter_wkwebview-3.22.0/darwin/webview_flutter_wkwebview/Sources/webview_flutter_wkwebview/NavigationActionProxyAPIDelegate.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e9880ed52f43c3c027879cb9c6fa4a7ad00","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/webview_flutter_wkwebview-3.22.0/darwin/webview_flutter_wkwebview/Sources/webview_flutter_wkwebview/NavigationDelegateProxyAPIDelegate.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98978f7d76a4c8e6fe24dc8571670abd23","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/webview_flutter_wkwebview-3.22.0/darwin/webview_flutter_wkwebview/Sources/webview_flutter_wkwebview/NavigationResponseProxyAPIDelegate.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e986681d4e22fff219fca4ec770df70c9e1","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/webview_flutter_wkwebview-3.22.0/darwin/webview_flutter_wkwebview/Sources/webview_flutter_wkwebview/NSObjectProxyAPIDelegate.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98d4eec0353bf3d879db362a265046b0e7","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/webview_flutter_wkwebview-3.22.0/darwin/webview_flutter_wkwebview/Sources/webview_flutter_wkwebview/PreferencesProxyAPIDelegate.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e980d2fd3010d16903a103f41c3d714b7e9","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/webview_flutter_wkwebview-3.22.0/darwin/webview_flutter_wkwebview/Sources/webview_flutter_wkwebview/ProxyAPIRegistrar.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e988a05d69eb8d96765483690bed6c8821a","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/webview_flutter_wkwebview-3.22.0/darwin/webview_flutter_wkwebview/Sources/webview_flutter_wkwebview/ScriptMessageHandlerProxyAPIDelegate.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98758323be30595585a4e9d22cb3236be5","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/webview_flutter_wkwebview-3.22.0/darwin/webview_flutter_wkwebview/Sources/webview_flutter_wkwebview/ScriptMessageProxyAPIDelegate.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98b4d68270040b8330c48a9bfda2ee1f78","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/webview_flutter_wkwebview-3.22.0/darwin/webview_flutter_wkwebview/Sources/webview_flutter_wkwebview/ScrollViewDelegateProxyAPIDelegate.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98e3f1b198c65452c6f005bd694e225209","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/webview_flutter_wkwebview-3.22.0/darwin/webview_flutter_wkwebview/Sources/webview_flutter_wkwebview/ScrollViewProxyAPIDelegate.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e983ea44e48c15b67058eab146e81a72a1b","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/webview_flutter_wkwebview-3.22.0/darwin/webview_flutter_wkwebview/Sources/webview_flutter_wkwebview/SecCertificateProxyAPIDelegate.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e9847e082023cbf1f0ad654c010c16055b9","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/webview_flutter_wkwebview-3.22.0/darwin/webview_flutter_wkwebview/Sources/webview_flutter_wkwebview/SecTrustProxyAPIDelegate.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e9888e40043e949782763c5e735d32e3a70","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/webview_flutter_wkwebview-3.22.0/darwin/webview_flutter_wkwebview/Sources/webview_flutter_wkwebview/SecurityOriginProxyAPIDelegate.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e9881237e59a4bd058f54f8676a7cd5b107","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/webview_flutter_wkwebview-3.22.0/darwin/webview_flutter_wkwebview/Sources/webview_flutter_wkwebview/SecWrappers.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e985a450fed3b83a420034fb96375aeaa79","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/webview_flutter_wkwebview-3.22.0/darwin/webview_flutter_wkwebview/Sources/webview_flutter_wkwebview/StructWrappers.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98f452d1e497caac321e297e891b43bdb8","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/webview_flutter_wkwebview-3.22.0/darwin/webview_flutter_wkwebview/Sources/webview_flutter_wkwebview/UIDelegateProxyAPIDelegate.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e9813ac29d09ae3837e5525c4b1de95e553","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/webview_flutter_wkwebview-3.22.0/darwin/webview_flutter_wkwebview/Sources/webview_flutter_wkwebview/UIViewProxyAPIDelegate.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98fb109f357f6fb05d543e2466bcb69c4d","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/webview_flutter_wkwebview-3.22.0/darwin/webview_flutter_wkwebview/Sources/webview_flutter_wkwebview/URLAuthenticationChallengeProxyAPIDelegate.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98823c5c55a09222a1e95e42f7723b1e09","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/webview_flutter_wkwebview-3.22.0/darwin/webview_flutter_wkwebview/Sources/webview_flutter_wkwebview/URLCredentialProxyAPIDelegate.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98d37a1bf89227943cc5f9bf8dedaec4de","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/webview_flutter_wkwebview-3.22.0/darwin/webview_flutter_wkwebview/Sources/webview_flutter_wkwebview/URLProtectionSpaceProxyAPIDelegate.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e9809ccb0b60ddd3aa24d201b1fbbf78872","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/webview_flutter_wkwebview-3.22.0/darwin/webview_flutter_wkwebview/Sources/webview_flutter_wkwebview/URLProxyAPIDelegate.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e985e9a33b760a4323436cf8a2ac5237f2c","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/webview_flutter_wkwebview-3.22.0/darwin/webview_flutter_wkwebview/Sources/webview_flutter_wkwebview/URLRequestProxyAPIDelegate.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98507cc65c36bbdd5e0f5f59644120aa86","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/webview_flutter_wkwebview-3.22.0/darwin/webview_flutter_wkwebview/Sources/webview_flutter_wkwebview/UserContentControllerProxyAPIDelegate.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e985144a306910625f395b522423bd48599","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/webview_flutter_wkwebview-3.22.0/darwin/webview_flutter_wkwebview/Sources/webview_flutter_wkwebview/UserScriptProxyAPIDelegate.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e983eb7aeab09594d1843bdb8ee61e437b3","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/webview_flutter_wkwebview-3.22.0/darwin/webview_flutter_wkwebview/Sources/webview_flutter_wkwebview/WebKitLibrary.g.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98d5f967adad441e2ff1ad91ba479d4fcd","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/webview_flutter_wkwebview-3.22.0/darwin/webview_flutter_wkwebview/Sources/webview_flutter_wkwebview/WebpagePreferencesProxyAPIDelegate.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e987d4bd25f4b769d8f640b3dd0b8ae5a1c","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/webview_flutter_wkwebview-3.22.0/darwin/webview_flutter_wkwebview/Sources/webview_flutter_wkwebview/WebsiteDataStoreProxyAPIDelegate.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e986201e1488ad29294b96f9cba25c0615c","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/webview_flutter_wkwebview-3.22.0/darwin/webview_flutter_wkwebview/Sources/webview_flutter_wkwebview/WebViewConfigurationProxyAPIDelegate.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e9861f6692e45bf40cd6897b227a33ace1d","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/webview_flutter_wkwebview-3.22.0/darwin/webview_flutter_wkwebview/Sources/webview_flutter_wkwebview/WebViewFlutterPlugin.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98639301e9eea43149be010207d55747c9","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/webview_flutter_wkwebview-3.22.0/darwin/webview_flutter_wkwebview/Sources/webview_flutter_wkwebview/WebViewFlutterWKWebViewExternalAPI.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98494f5fc7ec16230a398c9f181fa0e807","path":"../../../../../../../../../../../../.pub-cache/hosted/pub.dev/webview_flutter_wkwebview-3.22.0/darwin/webview_flutter_wkwebview/Sources/webview_flutter_wkwebview/WebViewProxyAPIDelegate.swift","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e9887ed74d2206a86b64035c6235eb880f6","name":"webview_flutter_wkwebview","path":"webview_flutter_wkwebview","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98f837658afc62b58eb35f97b4aed0911b","name":"Sources","path":"Sources","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98cc1df8469fe93283799d16ba719853cd","name":"webview_flutter_wkwebview","path":"webview_flutter_wkwebview","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e984b895be428eb62faecfa1d08b3027c3e","name":"darwin","path":"darwin","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e982f3ce22c660c05014650f2141be351cb","name":"webview_flutter_wkwebview","path":"webview_flutter_wkwebview","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98f7efc2891320ad7d23a9595c044f24c9","name":"plugins","path":"plugins","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98998268b88352c706bd623fa125d78e14","name":".symlinks","path":".symlinks","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98abca3298a5bbc0bb4dd9d8cf1a74bdfe","name":"ios","path":"ios","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e983142103ba60fc80021c44c082cbb2085","name":"mih_ui","path":"mih_ui","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98bfddf9a72add8798c0680e3a822bd3a3","name":"mih-project","path":"mih-project","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98903a8d20c712a7208dee388e7930522c","name":"mih_main","path":"mih_main","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98fd91bff3257c874eb7cab94656aec62a","name":"Git","path":"Git","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e980f7aca0d0e8ccada61efb73023ffbee1","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98f2a10bc8d167cbe076b355a408fa1528","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e983684033a11df7c3dbdc9173f2b967a01","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98dad8d4d48da518b4832fe56aa6d7ff26","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e981f702a8f32c7edf17307d7f348f4da1b","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e984ac2a3f47720a624cda98c6c63a91a1b","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e983f1a4db6964609522e21e9f0a5118001","name":"..","path":"..","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98e2cb78a131c73a2e02585d8c14d7b887","name":"..","path":"../../../../../../../../../.pub-cache/hosted/pub.dev/webview_flutter_wkwebview-3.22.0/darwin/webview_flutter_wkwebview/Sources","sourceTree":"","type":"group"},{"children":[{"fileType":"text","guid":"bfdfe7dc352907fc980b868725387e9824ff62429bccb22ecfe1ee60ed3f0072","path":"../../../../../../../../../.pub-cache/hosted/pub.dev/webview_flutter_wkwebview-3.22.0/LICENSE","sourceTree":"","type":"file"},{"fileType":"text.script.ruby","guid":"bfdfe7dc352907fc980b868725387e986ce959ed8b55c93c838e281b49f59f62","path":"../../../../../../../../../.pub-cache/hosted/pub.dev/webview_flutter_wkwebview-3.22.0/darwin/webview_flutter_wkwebview.podspec","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e9850235b1d0bbef722e3fc04cc5177d23c","name":"Pod","path":"","sourceTree":"","type":"group"},{"children":[{"fileType":"text.plist.xml","guid":"bfdfe7dc352907fc980b868725387e98383792c148c7b66f5320330479ad4069","path":"ResourceBundle-webview_flutter_wkwebview_privacy-webview_flutter_wkwebview-Info.plist","sourceTree":"","type":"file"},{"fileType":"sourcecode.module-map","guid":"bfdfe7dc352907fc980b868725387e9833349cd22b47af494bc42934f0744298","path":"webview_flutter_wkwebview.modulemap","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e9859611e05685d6f3b5c95a6eec6a330ea","path":"webview_flutter_wkwebview-dummy.m","sourceTree":"","type":"file"},{"fileType":"text.plist.xml","guid":"bfdfe7dc352907fc980b868725387e98a6ceb29d6c56ef325d1f665bba652df2","path":"webview_flutter_wkwebview-Info.plist","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e981acb8967a15abebef01740364c041793","path":"webview_flutter_wkwebview-prefix.pch","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98be6867ee97e573510941c1420420ae39","path":"webview_flutter_wkwebview-umbrella.h","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e98d8979ec56d38d5f43a66a4cc2fbcb401","path":"webview_flutter_wkwebview.debug.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e984206827662d5208f461a0eccfc0e621b","path":"webview_flutter_wkwebview.release.xcconfig","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e980c4cd0ca3d3ff6fcb84398d2a3358a0a","name":"Support Files","path":"../../../../Pods/Target Support Files/webview_flutter_wkwebview","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e984dba023a8957e9dc8093649b3d3333da","name":"webview_flutter_wkwebview","path":"../.symlinks/plugins/webview_flutter_wkwebview/darwin","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e989b4d6c5fa47ecb7daee271dbede5ad52","name":"Development Pods","path":"","sourceTree":"","type":"group"},{"children":[{"children":[{"fileType":"wrapper.framework","guid":"bfdfe7dc352907fc980b868725387e98d6bdeaa5b175cb64de0845531dd3a07a","path":"Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS18.0.sdk/System/Library/Frameworks/AVFoundation.framework","sourceTree":"DEVELOPER_DIR","type":"file"},{"fileType":"wrapper.framework","guid":"bfdfe7dc352907fc980b868725387e98f85abfcd8b98daa4c08612ae63641e69","path":"Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS18.0.sdk/System/Library/Frameworks/AVKit.framework","sourceTree":"DEVELOPER_DIR","type":"file"},{"fileType":"wrapper.framework","guid":"bfdfe7dc352907fc980b868725387e98b14af7c49882340ad551cb13b0a1e06d","path":"Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS18.0.sdk/System/Library/Frameworks/Foundation.framework","sourceTree":"DEVELOPER_DIR","type":"file"},{"fileType":"wrapper.framework","guid":"bfdfe7dc352907fc980b868725387e982680e93f57d9a3d8e73bd93b7e3e0f36","path":"Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS18.0.sdk/System/Library/Frameworks/ImageIO.framework","sourceTree":"DEVELOPER_DIR","type":"file"},{"fileType":"wrapper.framework","guid":"bfdfe7dc352907fc980b868725387e98fc74d0fed09821b42c8c83fca08fddb2","path":"Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS18.0.sdk/System/Library/Frameworks/Photos.framework","sourceTree":"DEVELOPER_DIR","type":"file"},{"fileType":"wrapper.framework","guid":"bfdfe7dc352907fc980b868725387e98e4170aa7f984f5a13b58a3c42c24b3e6","path":"Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS18.0.sdk/System/Library/Frameworks/SafariServices.framework","sourceTree":"DEVELOPER_DIR","type":"file"},{"fileType":"wrapper.framework","guid":"bfdfe7dc352907fc980b868725387e9820c167798bdb228b4ab52bb2aa7eb24b","path":"Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS18.0.sdk/System/Library/Frameworks/Security.framework","sourceTree":"DEVELOPER_DIR","type":"file"},{"fileType":"wrapper.framework","guid":"bfdfe7dc352907fc980b868725387e98e0217d662efb0603efc52f1254a3c7a8","path":"Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS18.0.sdk/System/Library/Frameworks/SystemConfiguration.framework","sourceTree":"DEVELOPER_DIR","type":"file"},{"fileType":"wrapper.framework","guid":"bfdfe7dc352907fc980b868725387e98f2f44ab0d0f0ce315b53d31757eb8db6","path":"Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS18.0.sdk/System/Library/Frameworks/UIKit.framework","sourceTree":"DEVELOPER_DIR","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e984edace956042c415757881081562809b","name":"iOS","path":"","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e986f57df5597ed36b645cb934c885be56d","name":"Frameworks","path":"","sourceTree":"","type":"group"},{"children":[{"children":[{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98014d81339f7078c553aad067e2c1e542","path":"AppCheckCore/Sources/Public/AppCheckCore/AppCheckCore.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9828b098957cb273088cb9694f57f6aa9b","path":"AppCheckCore/Sources/AppAttestProvider/DCAppAttestService+GACAppAttestService.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98eda68ffa8acf6341bdd6764dc69f14ea","path":"AppCheckCore/Sources/AppAttestProvider/DCAppAttestService+GACAppAttestService.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e982d5afb74f6affa743e0f460b5372128c","path":"AppCheckCore/Sources/DeviceCheckProvider/DCDevice+GACDeviceCheckTokenGenerator.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98c82d9f039480b6a3f302f98e59983983","path":"AppCheckCore/Sources/DeviceCheckProvider/DCDevice+GACDeviceCheckTokenGenerator.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98c693a9d5b43f3dd47c9a722b20606f0d","path":"AppCheckCore/Sources/AppAttestProvider/API/GACAppAttestAPIService.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98539f97205232fdc1451a9f7c8097d9f6","path":"AppCheckCore/Sources/AppAttestProvider/API/GACAppAttestAPIService.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9895fad991994f740ea3a0d0ae15aa1ae4","path":"AppCheckCore/Sources/AppAttestProvider/Storage/GACAppAttestArtifactStorage.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98b83a24afd65346b2bf12ca652c517f99","path":"AppCheckCore/Sources/AppAttestProvider/Storage/GACAppAttestArtifactStorage.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9879746c4764bdf06155261adb67d0ecda","path":"AppCheckCore/Sources/AppAttestProvider/API/GACAppAttestAttestationResponse.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98087e9537dc37fc002b865cca978e783c","path":"AppCheckCore/Sources/AppAttestProvider/API/GACAppAttestAttestationResponse.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9858fc7456770843d79df60a4fac1e1f21","path":"AppCheckCore/Sources/AppAttestProvider/Storage/GACAppAttestKeyIDStorage.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e988feba12f52eda30148e94b936a418633","path":"AppCheckCore/Sources/AppAttestProvider/Storage/GACAppAttestKeyIDStorage.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98881b0a9e4c6413cc3a4330c7764cb89e","path":"AppCheckCore/Sources/Public/AppCheckCore/GACAppAttestProvider.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98577f1fe42e5dc5c2e7e55299acf301aa","path":"AppCheckCore/Sources/AppAttestProvider/GACAppAttestProvider.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98fb187d533907cbad809ebd88436c4a78","path":"AppCheckCore/Sources/AppAttestProvider/GACAppAttestProviderState.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98358267319aee2a1f6097c2d48c844228","path":"AppCheckCore/Sources/AppAttestProvider/GACAppAttestProviderState.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e987f13dc02d10ed5c4ba105bb7b6fbc4e4","path":"AppCheckCore/Sources/AppAttestProvider/Errors/GACAppAttestRejectionError.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98ca28cb9281f2e84ed045a06550b0e564","path":"AppCheckCore/Sources/AppAttestProvider/Errors/GACAppAttestRejectionError.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98492f8c730664e908ffe340f7496c9f79","path":"AppCheckCore/Sources/AppAttestProvider/GACAppAttestService.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98aea1bf88784f644740e8ef1f765d1763","path":"AppCheckCore/Sources/AppAttestProvider/Storage/GACAppAttestStoredArtifact.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e985813b18e8935c4f95e05bcd74f837249","path":"AppCheckCore/Sources/AppAttestProvider/Storage/GACAppAttestStoredArtifact.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98f0b1f732a61c77e8d848d5868deb0b62","path":"AppCheckCore/Sources/Public/AppCheckCore/GACAppCheck.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e9827ca8bd13e7ceee923e143162527ddf4","path":"AppCheckCore/Sources/Core/GACAppCheck.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9837bc6335678372d578e6d02db1629af0","path":"AppCheckCore/Sources/Core/APIService/GACAppCheckAPIService.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e984e54641bd8600d981f2b8ae39a870e00","path":"AppCheckCore/Sources/Core/APIService/GACAppCheckAPIService.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98c61395722d06659205139c45a25e2676","path":"AppCheckCore/Sources/Public/AppCheckCore/GACAppCheckAvailability.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98da0f4edada96d01491b50b373b8e2d17","path":"AppCheckCore/Sources/Core/Backoff/GACAppCheckBackoffWrapper.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98174dfe48f0936468875402ed704dabc2","path":"AppCheckCore/Sources/Core/Backoff/GACAppCheckBackoffWrapper.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98b1e121e7f892a1088bfc28fd83c4b2dc","path":"AppCheckCore/Sources/Core/Utils/GACAppCheckCryptoUtils.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e9829007e4ebcafeb1e46a41c025d1c75c6","path":"AppCheckCore/Sources/Core/Utils/GACAppCheckCryptoUtils.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9838ab10c273a7e47d831e4ac8a3a5ac4c","path":"AppCheckCore/Sources/Public/AppCheckCore/GACAppCheckDebugProvider.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e984be13140013cec049e7b151fd1988622","path":"AppCheckCore/Sources/DebugProvider/GACAppCheckDebugProvider.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98dac18db19a745421b5c65b10b4f4d79a","path":"AppCheckCore/Sources/DebugProvider/API/GACAppCheckDebugProviderAPIService.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e9808d0d0571ccc4b7e15d946a45268ab43","path":"AppCheckCore/Sources/DebugProvider/API/GACAppCheckDebugProviderAPIService.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98e1dae2413b60766fd26fdafb05789b08","path":"AppCheckCore/Sources/Public/AppCheckCore/GACAppCheckErrors.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98f3de26ba5b5c36f5aeffb5c06f1623ec","path":"AppCheckCore/Sources/Core/Errors/GACAppCheckErrors.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9829d2cfb34695f3b70daac392c3ac42be","path":"AppCheckCore/Sources/Core/Errors/GACAppCheckErrorUtil.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e981cf6381f55e9ecb15799f109ba22813e","path":"AppCheckCore/Sources/Core/Errors/GACAppCheckErrorUtil.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9840d287a87e37c64d0a718e1abe22ea0b","path":"AppCheckCore/Sources/Core/Errors/GACAppCheckHTTPError.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e9893049ceada4e29aa457dfc968b35d04d","path":"AppCheckCore/Sources/Core/Errors/GACAppCheckHTTPError.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98cd2ca0d4f82d3b33ee4ad429fe8459b0","path":"AppCheckCore/Sources/Public/AppCheckCore/GACAppCheckLogger.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e983ef18a79e17b5bdc30cb4f2b4274fdb9","path":"AppCheckCore/Sources/Core/GACAppCheckLogger.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98bd9686f220f85a0a984b226ac6bf56e2","path":"AppCheckCore/Sources/Core/GACAppCheckLogger+Internal.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9874128677a6ece04c6192ff43793cd2a3","path":"AppCheckCore/Sources/Public/AppCheckCore/GACAppCheckProvider.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98782156c69d76c8c6493e13d013c7ce68","path":"AppCheckCore/Sources/Public/AppCheckCore/GACAppCheckSettings.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e982441595d23425e7fc95dc3f4a540e4da","path":"AppCheckCore/Sources/Core/GACAppCheckSettings.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e986a8e8f52ce1983fc319f91887811f274","path":"AppCheckCore/Sources/Core/Storage/GACAppCheckStorage.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e982b8462cd169d1e0749ac27072f89f63e","path":"AppCheckCore/Sources/Core/Storage/GACAppCheckStorage.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9829195948780728699af6ecdf82603694","path":"AppCheckCore/Sources/Core/Storage/GACAppCheckStoredToken.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e9828e7a28a227cdf431de4bf2858a41bbe","path":"AppCheckCore/Sources/Core/Storage/GACAppCheckStoredToken.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98e10e47fb86648c98be3656c0ccca10e5","path":"AppCheckCore/Sources/Core/Storage/GACAppCheckStoredToken+GACAppCheckToken.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e987533d8eadf98de75a39414c45f84c97a","path":"AppCheckCore/Sources/Core/Storage/GACAppCheckStoredToken+GACAppCheckToken.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9818e104a51a5ccc214c42f6a98edeef45","path":"AppCheckCore/Sources/Core/TokenRefresh/GACAppCheckTimer.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98f4e9b20932af00aaa09e6fad037bc675","path":"AppCheckCore/Sources/Core/TokenRefresh/GACAppCheckTimer.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98a20441f218b6e5f9df32f6fd2cd3c3a6","path":"AppCheckCore/Sources/Public/AppCheckCore/GACAppCheckToken.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e988d91cc71f5ce438497a6057117f8c354","path":"AppCheckCore/Sources/Core/GACAppCheckToken.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98ab95d45482b4f15cf9b35a49cabce56a","path":"AppCheckCore/Sources/Core/APIService/GACAppCheckToken+APIResponse.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e985f834f5e6923ec908549b8f62a618c71","path":"AppCheckCore/Sources/Core/APIService/GACAppCheckToken+APIResponse.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98ed76d12f5c543a6a57822cdb488c14fc","path":"AppCheckCore/Sources/Public/AppCheckCore/GACAppCheckTokenDelegate.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98835e9bec84d11ab061c8232c82eb1d7e","path":"AppCheckCore/Sources/Core/TokenRefresh/GACAppCheckTokenRefresher.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98234709d52c7321a4980d4abdb69bdab2","path":"AppCheckCore/Sources/Core/TokenRefresh/GACAppCheckTokenRefresher.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9806f6d128aff99460ffc6c94ba1bc162c","path":"AppCheckCore/Sources/Core/TokenRefresh/GACAppCheckTokenRefreshResult.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98c749ee5587e64f95f2b09ed09f61b050","path":"AppCheckCore/Sources/Core/TokenRefresh/GACAppCheckTokenRefreshResult.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e980c5f74743a1066c09331ff78287d8b6a","path":"AppCheckCore/Sources/Public/AppCheckCore/GACAppCheckTokenResult.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e9848eaaee93b51e8f77bc9842360a966dd","path":"AppCheckCore/Sources/Core/GACAppCheckTokenResult.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98b18aaaf052e27db0b53d9fa8af58d2c2","path":"AppCheckCore/Sources/DeviceCheckProvider/API/GACDeviceCheckAPIService.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98a68711618db6b4b78c1e1f9eba53a069","path":"AppCheckCore/Sources/DeviceCheckProvider/API/GACDeviceCheckAPIService.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98ea3377b1e0c0bdef3341745d6980d9c2","path":"AppCheckCore/Sources/Public/AppCheckCore/GACDeviceCheckProvider.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e9827dd64bc5511da2695473b94ff768e19","path":"AppCheckCore/Sources/DeviceCheckProvider/GACDeviceCheckProvider.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e986d751b4b66302242538b97dc19e6cc3c","path":"AppCheckCore/Sources/DeviceCheckProvider/GACDeviceCheckTokenGenerator.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98a451f8861c61957089616af539f9e48b","path":"AppCheckCore/Sources/Core/APIService/GACURLSessionDataResponse.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98c0bd7a1ba78b0e4556aa605a1ba1a2e1","path":"AppCheckCore/Sources/Core/APIService/GACURLSessionDataResponse.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98695cb111b5ba9a097c1007af207f49de","path":"AppCheckCore/Sources/Core/APIService/NSURLSession+GACPromises.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98bbce17ed01d5c32b82156eaf7a9cc458","path":"AppCheckCore/Sources/Core/APIService/NSURLSession+GACPromises.m","sourceTree":"","type":"file"},{"children":[{"fileType":"sourcecode.module-map","guid":"bfdfe7dc352907fc980b868725387e98672f89e6abf7bc498589f929ef4ce877","path":"AppCheckCore.modulemap","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98c7d21c3328d9ad46039795667d6cc430","path":"AppCheckCore-dummy.m","sourceTree":"","type":"file"},{"fileType":"text.plist.xml","guid":"bfdfe7dc352907fc980b868725387e98e7dec041b2f08935fbb856955fc66d96","path":"AppCheckCore-Info.plist","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e981b9edf1174753b93be76528df893f4d1","path":"AppCheckCore-umbrella.h","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e989ea1b5ad8cedbe34b515d7efe8552fea","path":"AppCheckCore.debug.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e98bc298d5906127a42ca6675d4cbce0891","path":"AppCheckCore.release.xcconfig","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e98ec495a89e7a8b257ccadbb7eaf4c3523","name":"Support Files","path":"../Target Support Files/AppCheckCore","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e988bcb684524b48bade77ba348047cfd68","name":"AppCheckCore","path":"AppCheckCore","sourceTree":"","type":"group"},{"children":[{"children":[{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98a7167b35e446804e288fc5f3108fd0e0","path":"Sources/DKImagePickerController/View/Cell/DKAssetGroupCellItemProtocol.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e984737ea76e0a4c76036af3b355fdec0ed","path":"Sources/DKImagePickerController/View/Cell/DKAssetGroupDetailBaseCell.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98eba5be275263271fcd1bf32ee797809b","path":"Sources/DKImagePickerController/View/Cell/DKAssetGroupDetailCameraCell.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98b76a64655dc550f5ebec2f9ff3200413","path":"Sources/DKImagePickerController/View/Cell/DKAssetGroupDetailImageCell.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e980f1347790a1fae83f056fa4b808c3cd0","path":"Sources/DKImagePickerController/View/DKAssetGroupDetailVC.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e9876da5a8044ee25187970ba558822731d","path":"Sources/DKImagePickerController/View/Cell/DKAssetGroupDetailVideoCell.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e9849e6729fc1e44edf7426ac54b962a26b","path":"Sources/DKImagePickerController/View/DKAssetGroupGridLayout.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98a8ca137552a3696b8a3ae1c151998fe9","path":"Sources/DKImagePickerController/View/DKAssetGroupListVC.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98add192413820866011e7588ab8d50a1b","path":"Sources/DKImagePickerController/DKImageAssetExporter.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e986747ae603292c978ec451164346bb561","path":"Sources/DKImagePickerController/DKImageExtensionController.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e9804eba36085f83cab0f06e047a1723201","path":"Sources/DKImagePickerController/DKImagePickerController.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e985f34fcdb8acab7b808291804ea4c93a4","path":"Sources/DKImagePickerController/DKImagePickerControllerBaseUIDelegate.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e9804fc4899b4975caa6c83b0bcabd7bdcd","path":"Sources/DKImagePickerController/View/DKPermissionView.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e9847c7fe098b50f268068840c428bc95bc","path":"Sources/DKImagePickerController/DKPopoverViewController.swift","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e98ee77237c63b5b2d99fb3bff9d88bdbac","name":"Core","path":"","sourceTree":"","type":"group"},{"children":[{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98335a94dbe483545144593a747bf57488","path":"Sources/DKImageDataManager/Model/DKAsset.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98c856fc1f1a5df75e1f335a24f80a324c","path":"Sources/DKImageDataManager/Model/DKAsset+Export.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e9883b700d4c655a66d2eb0ecd5009867cc","path":"Sources/DKImageDataManager/Model/DKAsset+Fetch.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98227220f91dfab4c4322ac4ed581b024b","path":"Sources/DKImageDataManager/Model/DKAssetGroup.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98df6555ed20370a218636d2d1ef042bff","path":"Sources/DKImageDataManager/DKImageBaseManager.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e983c5b7868d9cf3226bd45e2f7fde341f2","path":"Sources/DKImageDataManager/DKImageDataManager.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98034544f799334fac9753d3c062ac4eb5","path":"Sources/DKImageDataManager/DKImageGroupDataManager.swift","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e980b04c7ce3b4c4fc3cdc8d706c268e067","name":"ImageDataManager","path":"","sourceTree":"","type":"group"},{"children":[{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e9873c16ebd0704c7e74ef2732a8617faf4","path":"Sources/Extensions/DKImageExtensionGallery.swift","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e98803813ee40633c05ccd6363e45670f9a","name":"PhotoGallery","path":"","sourceTree":"","type":"group"},{"children":[{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98c04e1fef39dccde86db40118bcaf63f7","path":"Sources/DKImagePickerController/Resource/DKImagePickerControllerResource.swift","sourceTree":"","type":"file"},{"children":[{"fileType":"folder","guid":"bfdfe7dc352907fc980b868725387e98992e20e5c86d6ccae38bdf84a625f178","path":"Sources/DKImagePickerController/Resource/Resources/ar.lproj","sourceTree":"","type":"file"},{"fileType":"folder","guid":"bfdfe7dc352907fc980b868725387e98fc42f53bf0b263eb43dfba42d468c1ee","path":"Sources/DKImagePickerController/Resource/Resources/Base.lproj","sourceTree":"","type":"file"},{"fileType":"folder","guid":"bfdfe7dc352907fc980b868725387e98c0e0c44805bf91b9ddacc8f5c5de5887","path":"Sources/DKImagePickerController/Resource/Resources/da.lproj","sourceTree":"","type":"file"},{"fileType":"folder","guid":"bfdfe7dc352907fc980b868725387e985b7ec0450262a9573a0cb306273bc343","path":"Sources/DKImagePickerController/Resource/Resources/de.lproj","sourceTree":"","type":"file"},{"fileType":"folder","guid":"bfdfe7dc352907fc980b868725387e98a0d3580855f196150587aeedde49d8ee","path":"Sources/DKImagePickerController/Resource/Resources/en.lproj","sourceTree":"","type":"file"},{"fileType":"folder","guid":"bfdfe7dc352907fc980b868725387e988591a2b29b958ca4ab9f3147bafa7a8a","path":"Sources/DKImagePickerController/Resource/Resources/es.lproj","sourceTree":"","type":"file"},{"fileType":"folder","guid":"bfdfe7dc352907fc980b868725387e98d68c0474e2f03eb8c7fccab1413bcc77","path":"Sources/DKImagePickerController/Resource/Resources/fr.lproj","sourceTree":"","type":"file"},{"fileType":"folder","guid":"bfdfe7dc352907fc980b868725387e98418e94a9d7a67843e706121817b95d23","path":"Sources/DKImagePickerController/Resource/Resources/hu.lproj","sourceTree":"","type":"file"},{"fileType":"folder.assetcatalog","guid":"bfdfe7dc352907fc980b868725387e9844ff420afcb298679dede65a45ffceb5","path":"Sources/DKImagePickerController/Resource/Resources/Images.xcassets","sourceTree":"","type":"file"},{"fileType":"folder","guid":"bfdfe7dc352907fc980b868725387e987692caa5c901fbd366ce9848d0c1274c","path":"Sources/DKImagePickerController/Resource/Resources/it.lproj","sourceTree":"","type":"file"},{"fileType":"folder","guid":"bfdfe7dc352907fc980b868725387e9865b6e35f95ede252c917f53224dfc704","path":"Sources/DKImagePickerController/Resource/Resources/ja.lproj","sourceTree":"","type":"file"},{"fileType":"folder","guid":"bfdfe7dc352907fc980b868725387e983f2cd8e2aab8a62e70cd896c9a4fea53","path":"Sources/DKImagePickerController/Resource/Resources/ko.lproj","sourceTree":"","type":"file"},{"fileType":"folder","guid":"bfdfe7dc352907fc980b868725387e98ca220a32ab2fe66aa595eba98989e624","path":"Sources/DKImagePickerController/Resource/Resources/nb-NO.lproj","sourceTree":"","type":"file"},{"fileType":"folder","guid":"bfdfe7dc352907fc980b868725387e98c97c449e1eb67deb67ddecb8dcb88dc6","path":"Sources/DKImagePickerController/Resource/Resources/nl.lproj","sourceTree":"","type":"file"},{"fileType":"text.xml","guid":"bfdfe7dc352907fc980b868725387e988a7e09ab3fb0bccf3d6a0840f20edb02","path":"Sources/DKImagePickerController/Resource/Resources/PrivacyInfo.xcprivacy","sourceTree":"","type":"file"},{"fileType":"folder","guid":"bfdfe7dc352907fc980b868725387e98360580afc3ea1e4816652b09373a6cd3","path":"Sources/DKImagePickerController/Resource/Resources/pt_BR.lproj","sourceTree":"","type":"file"},{"fileType":"folder","guid":"bfdfe7dc352907fc980b868725387e985edb9444e98b58b1ebe6043fbb03795f","path":"Sources/DKImagePickerController/Resource/Resources/ru.lproj","sourceTree":"","type":"file"},{"fileType":"folder","guid":"bfdfe7dc352907fc980b868725387e9882faf104037eae2f0a55bac80109a69f","path":"Sources/DKImagePickerController/Resource/Resources/tr.lproj","sourceTree":"","type":"file"},{"fileType":"folder","guid":"bfdfe7dc352907fc980b868725387e98aa7d745938a0d9db3a2c382f9c57b33b","path":"Sources/DKImagePickerController/Resource/Resources/ur.lproj","sourceTree":"","type":"file"},{"fileType":"folder","guid":"bfdfe7dc352907fc980b868725387e98693b26471f52ca7316a1d3e0c7dc0a7f","path":"Sources/DKImagePickerController/Resource/Resources/vi.lproj","sourceTree":"","type":"file"},{"fileType":"folder","guid":"bfdfe7dc352907fc980b868725387e98e7d19f0ec38ff637cbd1084684e63ad4","path":"Sources/DKImagePickerController/Resource/Resources/zh-Hans.lproj","sourceTree":"","type":"file"},{"fileType":"folder","guid":"bfdfe7dc352907fc980b868725387e9822323136a1b52bdd7900e18b364dee99","path":"Sources/DKImagePickerController/Resource/Resources/zh-Hant.lproj","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e987d5cec5b9da575e4dd76fbfa813ffc1d","name":"Resources","path":"","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e9861ce1ecae12f6109ffdab5f33b0e688d","name":"Resource","path":"","sourceTree":"","type":"group"},{"children":[{"fileType":"sourcecode.module-map","guid":"bfdfe7dc352907fc980b868725387e987600b5d2e35ca259d6e8b8af16e2d27d","path":"DKImagePickerController.modulemap","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e9805cbd30dca7799b8a62e2c9aa2908321","path":"DKImagePickerController-dummy.m","sourceTree":"","type":"file"},{"fileType":"text.plist.xml","guid":"bfdfe7dc352907fc980b868725387e9871dfdaf22b47e644dabb30196ab019f0","path":"DKImagePickerController-Info.plist","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e989f5bf9014f82c89ae940c2faeb8de5ca","path":"DKImagePickerController-prefix.pch","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98e6b5d8425df9cc686639898d81ab29bb","path":"DKImagePickerController-umbrella.h","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e9837b4eae1f2290b03d7d4aabded8138b2","path":"DKImagePickerController.debug.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e98c17784c5efe37bcec77e0c17b5660c20","path":"DKImagePickerController.release.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.plist.xml","guid":"bfdfe7dc352907fc980b868725387e98cdaff8cf03e757205e0ffa1c64376011","path":"ResourceBundle-DKImagePickerController-DKImagePickerController-Info.plist","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e98a2d4a00dbd51b88aae84475703fcbe2e","name":"Support Files","path":"../Target Support Files/DKImagePickerController","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98b5ebc6f84912f477d46cfde0025e47ab","name":"DKImagePickerController","path":"DKImagePickerController","sourceTree":"","type":"group"},{"children":[{"children":[{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98eb4d56e39dcd3c8f709fb6323e177298","path":"DKPhotoGallery/DKPhotoGallery.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98df24cc6698371aecc8afd7cf313cac20","path":"DKPhotoGallery/DKPhotoGalleryContentVC.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e987ad73074b99776b1116f9c2856ac5552","path":"DKPhotoGallery/Transition/DKPhotoGalleryInteractiveTransition.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98e4d9272c60986ce5118264cb92283548","path":"DKPhotoGallery/DKPhotoGalleryScrollView.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98cb2b24e4cd6fc396c5a1d3e43868d95f","path":"DKPhotoGallery/Transition/DKPhotoGalleryTransitionController.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e9843f4159faf9603bb660cb95efdf095b3","path":"DKPhotoGallery/Transition/DKPhotoGalleryTransitionDismiss.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98932cc722dd747e8adbcbd5e18fd5fb02","path":"DKPhotoGallery/Transition/DKPhotoGalleryTransitionPresent.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e9827f7ef5f3ea80d79b40d7a4ac9588235","path":"DKPhotoGallery/DKPhotoIncrementalIndicator.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98b77caf2d5e3738f780e1b59e29eabe0d","path":"DKPhotoGallery/DKPhotoPreviewFactory.swift","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e981b7dc05cd0d4c5bc74f25b88576cdaa2","name":"Core","path":"","sourceTree":"","type":"group"},{"children":[{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98d0cc75a3c72b5f298ace8a3bf41f9195","path":"DKPhotoGallery/DKPhotoGalleryItem.swift","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e985adb8b3d068c6073592d841630e83ffb","name":"Model","path":"","sourceTree":"","type":"group"},{"children":[{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98eb71b1871db14bddb34f3b6dc48f5d95","path":"DKPhotoGallery/Preview/PDFPreview/DKPDFView.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e983ba539f64005bde8f3a4c989c13457f6","path":"DKPhotoGallery/Preview/ImagePreview/DKPhotoBaseImagePreviewVC.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98dfa1e27846c545f78585767f808c0290","path":"DKPhotoGallery/Preview/DKPhotoBasePreviewVC.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98925864836a0b949ba0125aac269b941d","path":"DKPhotoGallery/Preview/DKPhotoContentAnimationView.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e9828fa2d719018a25fe1fb3c6ebb4ff951","path":"DKPhotoGallery/Preview/ImagePreview/DKPhotoImageDownloader.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98f64f20afd463bd999a742dc203b790bd","path":"DKPhotoGallery/Preview/ImagePreview/DKPhotoImagePreviewVC.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98358107a82ec5ef5b395911951930fb60","path":"DKPhotoGallery/Preview/ImagePreview/DKPhotoImageUtility.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e983e59331f8189f5e055881857d7ab4a95","path":"DKPhotoGallery/Preview/ImagePreview/DKPhotoImageView.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e9894ebedd554142c9762ffe051143f601a","path":"DKPhotoGallery/Preview/PDFPreview/DKPhotoPDFPreviewVC.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e9824f019a6799511e6df48ed4fa1051373","path":"DKPhotoGallery/Preview/PlayerPreview/DKPhotoPlayerPreviewVC.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e9857c00b0d4565e7a6a12ffd669506d74d","path":"DKPhotoGallery/Preview/DKPhotoProgressIndicator.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e9817c7f07dc865de8893a20abc3a232f83","path":"DKPhotoGallery/Preview/DKPhotoProgressIndicatorProtocol.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98bd8325023686436108c1116ee7b5d7bd","path":"DKPhotoGallery/Preview/QRCode/DKPhotoQRCodeResultVC.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98fef5a0935c29cb454c05b9981615539b","path":"DKPhotoGallery/Preview/QRCode/DKPhotoWebVC.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98941a4bd773c66feec3ba05f2f39973b3","path":"DKPhotoGallery/Preview/PlayerPreview/DKPlayerView.swift","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e988e489eb1556188456366f3c28023a578","name":"Preview","path":"","sourceTree":"","type":"group"},{"children":[{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e9828fefd0d3317647420ee3f37c82ec4a2","path":"DKPhotoGallery/Resource/DKPhotoGalleryResource.swift","sourceTree":"","type":"file"},{"children":[{"fileType":"folder","guid":"bfdfe7dc352907fc980b868725387e9803baa2fc67f8d76b2b108bf635be93dc","path":"DKPhotoGallery/Resource/Resources/Base.lproj","sourceTree":"","type":"file"},{"fileType":"folder","guid":"bfdfe7dc352907fc980b868725387e982a3b28f4eed66179cc3316238b0b3ee7","path":"DKPhotoGallery/Resource/Resources/en.lproj","sourceTree":"","type":"file"},{"fileType":"folder.assetcatalog","guid":"bfdfe7dc352907fc980b868725387e98812489e746316b8b3716cadbcf8878f0","path":"DKPhotoGallery/Resource/Resources/Images.xcassets","sourceTree":"","type":"file"},{"fileType":"text.xml","guid":"bfdfe7dc352907fc980b868725387e988c57c65d211d763f44ecd815974cdf8f","path":"DKPhotoGallery/Resource/Resources/PrivacyInfo.xcprivacy","sourceTree":"","type":"file"},{"fileType":"folder","guid":"bfdfe7dc352907fc980b868725387e98af5703700ee022e99305baf3e4656a2c","path":"DKPhotoGallery/Resource/Resources/zh-Hans.lproj","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e981d1847f8aecbab7065793b6ed1d78cc9","name":"Resources","path":"","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98484ddf673e797dcb2ebabd9096caa83a","name":"Resource","path":"","sourceTree":"","type":"group"},{"children":[{"fileType":"sourcecode.module-map","guid":"bfdfe7dc352907fc980b868725387e9828fd93070011af01c11522753663222e","path":"DKPhotoGallery.modulemap","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98ed6773dc19e610851f0ce6e641b9b3b5","path":"DKPhotoGallery-dummy.m","sourceTree":"","type":"file"},{"fileType":"text.plist.xml","guid":"bfdfe7dc352907fc980b868725387e98eca3c28d80db4703659c7505a841fd5e","path":"DKPhotoGallery-Info.plist","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e984803f882072ffd350875889f6fd00ced","path":"DKPhotoGallery-prefix.pch","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e983e0ca2b7d01325e2be94eb703cc8834c","path":"DKPhotoGallery-umbrella.h","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e98284ffc1eae91e8f4cf71938bb6a26644","path":"DKPhotoGallery.debug.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e986051e77661008cd9b8c42c9db89a8f91","path":"DKPhotoGallery.release.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.plist.xml","guid":"bfdfe7dc352907fc980b868725387e984d1dd876bf56120c5d4824839cdd4023","path":"ResourceBundle-DKPhotoGallery-DKPhotoGallery-Info.plist","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e98791b452afe930675ebc7f222d389f86f","name":"Support Files","path":"../Target Support Files/DKPhotoGallery","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98f6df08f909024b7f852c8e54decac825","name":"DKPhotoGallery","path":"DKPhotoGallery","sourceTree":"","type":"group"},{"children":[{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e985f30da1e2858747ff1d5dbb8e614fcde","path":"Static/FBAudienceNetwork.xcframework/ios-arm64/FBAudienceNetwork.framework/Headers/FBAdBridgeCommon.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98378f51297868f822d06d3dbf7066e8a7","path":"Static/FBAudienceNetwork.xcframework/ios-arm64_x86_64-simulator/FBAudienceNetwork.framework/Headers/FBAdBridgeCommon.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98e1632d1666deb7ab4a20a9807837b175","path":"Static/FBAudienceNetwork.xcframework/ios-arm64/FBAudienceNetwork.framework/Headers/FBAdBridgeContainer.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e980916d710f55a6510ec2236d4ca2eddad","path":"Static/FBAudienceNetwork.xcframework/ios-arm64_x86_64-simulator/FBAudienceNetwork.framework/Headers/FBAdBridgeContainer.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98b23f67914e22c93b5725e10243dbc413","path":"Static/FBAudienceNetwork.xcframework/ios-arm64/FBAudienceNetwork.framework/Headers/FBAdChoicesView.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9859b9f4877a45e0020b0f013a3353c82e","path":"Static/FBAudienceNetwork.xcframework/ios-arm64_x86_64-simulator/FBAudienceNetwork.framework/Headers/FBAdChoicesView.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9865fb7d078872e4377946c879dcd12c79","path":"Static/FBAudienceNetwork.xcframework/ios-arm64/FBAudienceNetwork.framework/Headers/FBAdCompanionView.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e980675651369bb073acbd08fe42a5161e6","path":"Static/FBAudienceNetwork.xcframework/ios-arm64_x86_64-simulator/FBAudienceNetwork.framework/Headers/FBAdCompanionView.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98ce93cdcc5205742b8a45336107ecc2dd","path":"Static/FBAudienceNetwork.xcframework/ios-arm64/FBAudienceNetwork.framework/Headers/FBAdDefines.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9884ed10fcc262f319abf0a7bac72d51aa","path":"Static/FBAudienceNetwork.xcframework/ios-arm64_x86_64-simulator/FBAudienceNetwork.framework/Headers/FBAdDefines.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98a82c28710dc0e35dc980cc2c0008a5c0","path":"Static/FBAudienceNetwork.xcframework/ios-arm64/FBAudienceNetwork.framework/Headers/FBAdExperienceConfig.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e981749539587073f7a0900dbff0a8d251e","path":"Static/FBAudienceNetwork.xcframework/ios-arm64_x86_64-simulator/FBAudienceNetwork.framework/Headers/FBAdExperienceConfig.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98787dcf0e51bdc42d1bdb1190490b5640","path":"Static/FBAudienceNetwork.xcframework/ios-arm64/FBAudienceNetwork.framework/Headers/FBAdExtraHint.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e986e9b8e2679b837ca9e6c0972d070db5e","path":"Static/FBAudienceNetwork.xcframework/ios-arm64_x86_64-simulator/FBAudienceNetwork.framework/Headers/FBAdExtraHint.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e982e3093a68f23522d3acaaa37b752de2d","path":"Static/FBAudienceNetwork.xcframework/ios-arm64/FBAudienceNetwork.framework/Headers/FBAdIconView.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e983bfb569f93d8319e00ac1512bdefd996","path":"Static/FBAudienceNetwork.xcframework/ios-arm64_x86_64-simulator/FBAudienceNetwork.framework/Headers/FBAdIconView.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98eab5c7282e1bf65ccf39aac6e370833d","path":"Static/FBAudienceNetwork.xcframework/ios-arm64/FBAudienceNetwork.framework/Headers/FBAdImage.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9862d7edaa240d37690ac717f9db024e93","path":"Static/FBAudienceNetwork.xcframework/ios-arm64_x86_64-simulator/FBAudienceNetwork.framework/Headers/FBAdImage.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98ff5b60756d3f16f21bef0e4419dab4e2","path":"Static/FBAudienceNetwork.xcframework/ios-arm64/FBAudienceNetwork.framework/Headers/FBAdOptionsView.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98acc102a6a3f0c3a99f9f310b737b794a","path":"Static/FBAudienceNetwork.xcframework/ios-arm64_x86_64-simulator/FBAudienceNetwork.framework/Headers/FBAdOptionsView.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e985b1ee4b7dcc2a5a46b3d73399605cc3b","path":"Static/FBAudienceNetwork.xcframework/ios-arm64/FBAudienceNetwork.framework/Headers/FBAdSDKNotificationManager.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98e5041176a7f353afe09c75449a32b9c8","path":"Static/FBAudienceNetwork.xcframework/ios-arm64_x86_64-simulator/FBAudienceNetwork.framework/Headers/FBAdSDKNotificationManager.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e988841e75bc2b6f7c6bcd5a69a0fa54a78","path":"Static/FBAudienceNetwork.xcframework/ios-arm64/FBAudienceNetwork.framework/Headers/FBAdSettings.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e981d46dfedeaf7f3980eca81be375a0655","path":"Static/FBAudienceNetwork.xcframework/ios-arm64_x86_64-simulator/FBAudienceNetwork.framework/Headers/FBAdSettings.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98be89424a1488672629ee4b0155524fa4","path":"Static/FBAudienceNetwork.xcframework/ios-arm64/FBAudienceNetwork.framework/Headers/FBAdSettingsBridge.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98ce0df0afa7ddd4e666c26da1a00cdb48","path":"Static/FBAudienceNetwork.xcframework/ios-arm64_x86_64-simulator/FBAudienceNetwork.framework/Headers/FBAdSettingsBridge.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e980754644fc65b4c16ee2210deaffdbe88","path":"Static/FBAudienceNetwork.xcframework/ios-arm64/FBAudienceNetwork.framework/Headers/FBAdSize.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98938f0fe0781310ac7bd714edeeaa8a19","path":"Static/FBAudienceNetwork.xcframework/ios-arm64_x86_64-simulator/FBAudienceNetwork.framework/Headers/FBAdSize.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9882f56ec957cfab6c2450547c39edd26d","path":"Static/FBAudienceNetwork.xcframework/ios-arm64/FBAudienceNetwork.framework/Headers/FBAdUtilityBridge.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98b87e6e0d84621887ceebd551f81ff9da","path":"Static/FBAudienceNetwork.xcframework/ios-arm64_x86_64-simulator/FBAudienceNetwork.framework/Headers/FBAdUtilityBridge.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9810de2bb9ec9aef610292ca5539c3e89e","path":"Static/FBAudienceNetwork.xcframework/ios-arm64/FBAudienceNetwork.framework/Headers/FBAdView.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98ed3bb26eb03a937908d954cae64ed8a2","path":"Static/FBAudienceNetwork.xcframework/ios-arm64_x86_64-simulator/FBAudienceNetwork.framework/Headers/FBAdView.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e989a3b5e8381d205fc6b202e0b75b735fb","path":"Static/FBAudienceNetwork.xcframework/ios-arm64/FBAudienceNetwork.framework/Headers/FBAdViewBridge.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98e03b39ffef677af5616a11f258df7dee","path":"Static/FBAudienceNetwork.xcframework/ios-arm64_x86_64-simulator/FBAudienceNetwork.framework/Headers/FBAdViewBridge.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98bb5e5cebb2bd53d1a04b0c6d5594c823","path":"Static/FBAudienceNetwork.xcframework/ios-arm64/FBAudienceNetwork.framework/Headers/FBAudienceNetwork.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98506d278cacc7e4336081071dd136e827","path":"Static/FBAudienceNetwork.xcframework/ios-arm64_x86_64-simulator/FBAudienceNetwork.framework/Headers/FBAudienceNetwork.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98a10ed5f31977972ae2c8ced6c11a89c2","path":"Static/FBAudienceNetwork.xcframework/ios-arm64/FBAudienceNetwork.framework/Headers/FBAudienceNetworkAds.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98b24c1436c3603b36737083c21557dea9","path":"Static/FBAudienceNetwork.xcframework/ios-arm64_x86_64-simulator/FBAudienceNetwork.framework/Headers/FBAudienceNetworkAds.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98fd25fe14e890c20de44d70fb3c90cc7c","path":"Static/FBAudienceNetwork.xcframework/ios-arm64/FBAudienceNetwork.framework/Headers/FBDynamicBannerAd.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e980b35feb2a3784024bf1e5c1694479204","path":"Static/FBAudienceNetwork.xcframework/ios-arm64_x86_64-simulator/FBAudienceNetwork.framework/Headers/FBDynamicBannerAd.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98d767e2834dc93d5a04636fa588e54934","path":"Static/FBAudienceNetwork.xcframework/ios-arm64/FBAudienceNetwork.framework/Headers/FBInterstitialAd.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98bce0521375e6f481a5770a663c2d94cb","path":"Static/FBAudienceNetwork.xcframework/ios-arm64_x86_64-simulator/FBAudienceNetwork.framework/Headers/FBInterstitialAd.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e986895a62035a3ab073d663f6308f4b142","path":"Static/FBAudienceNetwork.xcframework/ios-arm64/FBAudienceNetwork.framework/Headers/FBInterstitialAdBridge.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98e0233cc8f48f164f6dcccd8d5fafa5bf","path":"Static/FBAudienceNetwork.xcframework/ios-arm64_x86_64-simulator/FBAudienceNetwork.framework/Headers/FBInterstitialAdBridge.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98395f0d28522f5b911327253718a41b88","path":"Static/FBAudienceNetwork.xcframework/ios-arm64/FBAudienceNetwork.framework/Headers/FBMediaView.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98a3f76cb39078f642b2e02dd716dbf8ff","path":"Static/FBAudienceNetwork.xcframework/ios-arm64_x86_64-simulator/FBAudienceNetwork.framework/Headers/FBMediaView.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e980030f8b77e5cc7dc6d71308836ff866c","path":"Static/FBAudienceNetwork.xcframework/ios-arm64/FBAudienceNetwork.framework/Headers/FBMediaViewVideoRenderer.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98bc7f79f4355b89c586490b5c9f289bb3","path":"Static/FBAudienceNetwork.xcframework/ios-arm64_x86_64-simulator/FBAudienceNetwork.framework/Headers/FBMediaViewVideoRenderer.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98a475ad9b2f52c40641abee2c56198121","path":"Static/FBAudienceNetwork.xcframework/ios-arm64/FBAudienceNetwork.framework/Headers/FBNativeAd.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98fba50ba6b35c2f37f8efd2f9f4daacca","path":"Static/FBAudienceNetwork.xcframework/ios-arm64_x86_64-simulator/FBAudienceNetwork.framework/Headers/FBNativeAd.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9856ac906686f9dc6db5ae72b054836ccc","path":"Static/FBAudienceNetwork.xcframework/ios-arm64/FBAudienceNetwork.framework/Headers/FBNativeAdBase.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e982295e6dfe4ff004bd85d907e7a55d4fb","path":"Static/FBAudienceNetwork.xcframework/ios-arm64_x86_64-simulator/FBAudienceNetwork.framework/Headers/FBNativeAdBase.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98740f359db1d0a268a509fe6d47112efa","path":"Static/FBAudienceNetwork.xcframework/ios-arm64/FBAudienceNetwork.framework/Headers/FBNativeAdBaseView.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e986492f403cfeb0644ec43f03c121c3679","path":"Static/FBAudienceNetwork.xcframework/ios-arm64_x86_64-simulator/FBAudienceNetwork.framework/Headers/FBNativeAdBaseView.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98edc65ca557d7a9060300ab67b9662859","path":"Static/FBAudienceNetwork.xcframework/ios-arm64/FBAudienceNetwork.framework/Headers/FBNativeAdCollectionViewAdProvider.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98b36055abf1129d808ab6cacdcbccaba1","path":"Static/FBAudienceNetwork.xcframework/ios-arm64_x86_64-simulator/FBAudienceNetwork.framework/Headers/FBNativeAdCollectionViewAdProvider.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98199a1e1340aa6e60b29907f26ead9bc1","path":"Static/FBAudienceNetwork.xcframework/ios-arm64/FBAudienceNetwork.framework/Headers/FBNativeAdCollectionViewCellProvider.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98925bf2b00da26726de88e93a2a4f1e56","path":"Static/FBAudienceNetwork.xcframework/ios-arm64_x86_64-simulator/FBAudienceNetwork.framework/Headers/FBNativeAdCollectionViewCellProvider.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9814d3ba6df6d42e539acc6c93ef6bfc94","path":"Static/FBAudienceNetwork.xcframework/ios-arm64/FBAudienceNetwork.framework/Headers/FBNativeAdScrollView.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e983ae60eade3baf6d8e906aba844054b57","path":"Static/FBAudienceNetwork.xcframework/ios-arm64_x86_64-simulator/FBAudienceNetwork.framework/Headers/FBNativeAdScrollView.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98ee4b4f4292b85e609c35c3dcb9248912","path":"Static/FBAudienceNetwork.xcframework/ios-arm64/FBAudienceNetwork.framework/Headers/FBNativeAdsManager.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e980d45db556b84ae94ce4e46078f0df85b","path":"Static/FBAudienceNetwork.xcframework/ios-arm64_x86_64-simulator/FBAudienceNetwork.framework/Headers/FBNativeAdsManager.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9824e49f1279dd45180ece3fc08c75ba36","path":"Static/FBAudienceNetwork.xcframework/ios-arm64/FBAudienceNetwork.framework/Headers/FBNativeAdTableViewAdProvider.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9812b63f693d659db8569076d6ccb7353e","path":"Static/FBAudienceNetwork.xcframework/ios-arm64_x86_64-simulator/FBAudienceNetwork.framework/Headers/FBNativeAdTableViewAdProvider.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98c9dd1a4cec0ea7cdae22d9e61a25bc30","path":"Static/FBAudienceNetwork.xcframework/ios-arm64/FBAudienceNetwork.framework/Headers/FBNativeAdTableViewCellProvider.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98c41991b564f93766aaba04b99bc121eb","path":"Static/FBAudienceNetwork.xcframework/ios-arm64_x86_64-simulator/FBAudienceNetwork.framework/Headers/FBNativeAdTableViewCellProvider.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e987205755b85acf72129f49800e910012f","path":"Static/FBAudienceNetwork.xcframework/ios-arm64/FBAudienceNetwork.framework/Headers/FBNativeAdView.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9803f2f55fd6116a4615e87684de21e3ab","path":"Static/FBAudienceNetwork.xcframework/ios-arm64_x86_64-simulator/FBAudienceNetwork.framework/Headers/FBNativeAdView.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e984c54b733109f64120a65729950f711a7","path":"Static/FBAudienceNetwork.xcframework/ios-arm64/FBAudienceNetwork.framework/Headers/FBNativeAdViewAttributes.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e983cf2b16f2c77a8946792104145320308","path":"Static/FBAudienceNetwork.xcframework/ios-arm64_x86_64-simulator/FBAudienceNetwork.framework/Headers/FBNativeAdViewAttributes.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e987c997a3be6362831c8aa6e0286fd3688","path":"Static/FBAudienceNetwork.xcframework/ios-arm64/FBAudienceNetwork.framework/Headers/FBNativeBannerAd.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e987c8570d006f483f0c3aa0e9c727e4c7d","path":"Static/FBAudienceNetwork.xcframework/ios-arm64_x86_64-simulator/FBAudienceNetwork.framework/Headers/FBNativeBannerAd.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e989ed7a853d1365d7b9e2a8004207f79eb","path":"Static/FBAudienceNetwork.xcframework/ios-arm64/FBAudienceNetwork.framework/Headers/FBNativeBannerAdView.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e987f17328259bed7b032673765c4ff2f52","path":"Static/FBAudienceNetwork.xcframework/ios-arm64_x86_64-simulator/FBAudienceNetwork.framework/Headers/FBNativeBannerAdView.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98b05774fa05fa68e72bbeca3f94034371","path":"Static/FBAudienceNetwork.xcframework/ios-arm64/FBAudienceNetwork.framework/Headers/FBRewardedInterstitialAd.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98ee2a542ba58a57e7d86e354e6608a3c9","path":"Static/FBAudienceNetwork.xcframework/ios-arm64_x86_64-simulator/FBAudienceNetwork.framework/Headers/FBRewardedInterstitialAd.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98fc3cd5089234a53e65e9a84efd8b67bf","path":"Static/FBAudienceNetwork.xcframework/ios-arm64/FBAudienceNetwork.framework/Headers/FBRewardedVideoAd.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9835e0c14be76420016208797d6f238e19","path":"Static/FBAudienceNetwork.xcframework/ios-arm64_x86_64-simulator/FBAudienceNetwork.framework/Headers/FBRewardedVideoAd.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e980aaf99a60f6d67a0d28487a35e128cf0","path":"Static/FBAudienceNetwork.xcframework/ios-arm64/FBAudienceNetwork.framework/Headers/FBRewardedVideoAdBridge.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98d0f0451fd494e057354cbeee896cfbc3","path":"Static/FBAudienceNetwork.xcframework/ios-arm64_x86_64-simulator/FBAudienceNetwork.framework/Headers/FBRewardedVideoAdBridge.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98e38db7fa44e01f33905356808fb82d8f","path":"Static/FBAudienceNetwork.xcframework/ios-arm64/FBAudienceNetwork.framework/Headers/UIView+FBNativeAdViewTag.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9859499c8cfe7e945035978a3a32243767","path":"Static/FBAudienceNetwork.xcframework/ios-arm64_x86_64-simulator/FBAudienceNetwork.framework/Headers/UIView+FBNativeAdViewTag.h","sourceTree":"","type":"file"},{"children":[{"fileType":"wrapper.xcframework","guid":"bfdfe7dc352907fc980b868725387e9884b95a9dece22dff00b910decf728631","path":"Static/FBAudienceNetwork.xcframework","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e9830aaa3b2cc6399b4cf4102e834790539","name":"Frameworks","path":"","sourceTree":"","type":"group"},{"children":[{"fileType":"text.xml","guid":"bfdfe7dc352907fc980b868725387e9800817c14be55ffe583e047275a4b3cda","path":"Static/FBAudienceNetwork.xcframework/ios-arm64/FBAudienceNetwork.framework/PrivacyInfo.xcprivacy","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e98be01a3e6e0756a45e82b4c77d2a75889","name":"Resources","path":"","sourceTree":"","type":"group"},{"children":[{"fileType":"text.script.sh","guid":"bfdfe7dc352907fc980b868725387e9885d367cde416a3b67a0542ca00669a48","path":"FBAudienceNetwork-xcframeworks.sh","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e98ae2b6e690d9c19a64378428b59f82e0b","path":"FBAudienceNetwork.debug.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e98bf594d3cbb3ba4c66c475a7d56edf012","path":"FBAudienceNetwork.release.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.plist.xml","guid":"bfdfe7dc352907fc980b868725387e981b5b96984ff9136807c0f71d7f491493","path":"ResourceBundle-FBAudienceNetwork-FBAudienceNetwork-Info.plist","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e98e01f03beafa1c2122fceb6d19e38b2ba","name":"Support Files","path":"../Target Support Files/FBAudienceNetwork","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e987cd62d1eeef7de115a08dd9fda096c73","name":"FBAudienceNetwork","path":"FBAudienceNetwork","sourceTree":"","type":"group"},{"children":[{"children":[{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e989cdf761bfdb923827837a9ef42356175","path":"CoreOnly/Sources/Firebase.h","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e98438f94efac4794553543cf1349c1431a","name":"CoreOnly","path":"","sourceTree":"","type":"group"},{"children":[{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e98e7f2a28e7b8ddc8b338bf3b440155a56","path":"Firebase.debug.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e984c35e946ddb98e62c2ccb9cc1055f1ac","path":"Firebase.release.xcconfig","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e98c34cf5b01a9396117142bd03e118dc61","name":"Support Files","path":"../Target Support Files/Firebase","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e981b20b2d72239884cf9cd9a46246cecf1","name":"Firebase","path":"Firebase","sourceTree":"","type":"group"},{"children":[{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98cc62704582d6538d2c8174cc4716bd01","path":"FirebaseAppCheck/Sources/Core/FIRApp+AppCheck.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e985a9877f895a7208fca1225e9aac58deb","path":"FirebaseAppCheck/Sources/Core/FIRApp+AppCheck.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98fbd90d23a9844d554e6c9a88b7a47396","path":"FirebaseAppCheck/Sources/Public/FirebaseAppCheck/FIRAppAttestProvider.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e984f7216d9ae43747c39f20e03ebed994a","path":"FirebaseAppCheck/Sources/AppAttestProvider/FIRAppAttestProvider.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e983bc0545c109603b43fe7a712a18dd4ed","path":"FirebaseAppCheck/Sources/Public/FirebaseAppCheck/FIRAppCheck.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98e5c73c8c1278df91bc0ad8f58764b0ca","path":"FirebaseAppCheck/Sources/Core/FIRAppCheck.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e980969a6e00d9b9e9eadd3837e5f867ec2","path":"FirebaseAppCheck/Sources/Core/FIRAppCheck+Internal.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9876546db88afa14aa0230a40315a8e9cb","path":"FirebaseAppCheck/Sources/Public/FirebaseAppCheck/FIRAppCheckAvailability.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98d015c60cb1e8278e460e203665420af4","path":"FirebaseAppCheck/Sources/Core/FIRAppCheckComponent.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e986055f501457bc6efb35bf3aa8c3a44a4","path":"FirebaseAppCheck/Sources/Public/FirebaseAppCheck/FIRAppCheckDebugProvider.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e984db12fbce05cdb1e7d06a4628004dfee","path":"FirebaseAppCheck/Sources/DebugProvider/FIRAppCheckDebugProvider.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98868da319a13b4790783057bfbc4a8856","path":"FirebaseAppCheck/Sources/Public/FirebaseAppCheck/FIRAppCheckDebugProviderFactory.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98bac4d0c002f00c3c0aadb1f86bea4db4","path":"FirebaseAppCheck/Sources/DebugProvider/FIRAppCheckDebugProviderFactory.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e983250e0568fe4851d28a49a6f1cda2099","path":"FirebaseAppCheck/Sources/Public/FirebaseAppCheck/FIRAppCheckErrors.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e9879f6b6f0297ecaf4f94f56f86cbecd39","path":"FirebaseAppCheck/Sources/Core/Errors/FIRAppCheckErrors.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98af65f253db51a8a01b417fbacaee2077","path":"FirebaseAppCheck/Sources/Core/Errors/FIRAppCheckErrorUtil.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98a467dc7f67b13c6f382fc0476ecf3578","path":"FirebaseAppCheck/Sources/Core/Errors/FIRAppCheckErrorUtil.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e982b2d142e274ac25a0561c078b47b5010","path":"FirebaseAppCheck/Sources/Core/FIRAppCheckLogger.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e988c010400b28cbe56f5bc69ec4f46feac","path":"FirebaseAppCheck/Sources/Core/FIRAppCheckLogger.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98355bf2abe13f0f83f9f3bb625c809df7","path":"FirebaseAppCheck/Sources/Public/FirebaseAppCheck/FIRAppCheckProvider.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e980d7be89019113857f905dea093b1ce52","path":"FirebaseAppCheck/Sources/Public/FirebaseAppCheck/FIRAppCheckProviderFactory.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98f01ba42cf03b5479cb00e8e2f1e498f0","path":"FirebaseAppCheck/Sources/Core/FIRAppCheckSettings.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98e83b31792a4a77b69618b6c4e11a7b1e","path":"FirebaseAppCheck/Sources/Core/FIRAppCheckSettings.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98d719dfabd618a96b66dbf19219ed765b","path":"FirebaseAppCheck/Sources/Public/FirebaseAppCheck/FIRAppCheckToken.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e9814f775d5813351265e9acad2e605cec6","path":"FirebaseAppCheck/Sources/Core/FIRAppCheckToken.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98d668922bc499462306878885b18a5df3","path":"FirebaseAppCheck/Sources/Core/FIRAppCheckToken+Internal.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9876df4e8ca94b5e724a4e852778743c1e","path":"FirebaseAppCheck/Sources/Core/FIRAppCheckTokenResult.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98ee9616d51dbd0978b6b1160bde75c0fe","path":"FirebaseAppCheck/Sources/Core/FIRAppCheckTokenResult.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e986ae26e21f215969b335fcf089dce8a46","path":"FirebaseAppCheck/Sources/Core/FIRAppCheckValidator.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98e48ac13f4b49e42bf03aa112e4b5d6e7","path":"FirebaseAppCheck/Sources/Core/FIRAppCheckValidator.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98b169de74071925d7b12305e13c960697","path":"FirebaseCore/Extension/FIRAppInternal.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e982d03e6a9e16ca15419865ec53d554960","path":"FirebaseCore/Extension/FIRComponent.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98955d9460628f5b5da0340d52b3be53ca","path":"FirebaseCore/Extension/FIRComponentContainer.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e982d929aa8b59449447362db17859560b7","path":"FirebaseCore/Extension/FIRComponentType.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e981059d7aa812d14711b030e28c61bcb6e","path":"FirebaseAppCheck/Sources/Public/FirebaseAppCheck/FIRDeviceCheckProvider.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e9852fe7745f4b2772e6cd3cba24e695be8","path":"FirebaseAppCheck/Sources/DeviceCheckProvider/FIRDeviceCheckProvider.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98c74baa67d92d7c59a439c5411d5e8e6b","path":"FirebaseAppCheck/Sources/Public/FirebaseAppCheck/FIRDeviceCheckProviderFactory.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98b99858e5d1ba7051c08bda553f5cbabe","path":"FirebaseAppCheck/Sources/DeviceCheckProvider/FIRDeviceCheckProviderFactory.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e988d83ba06705aee54c5af980140a6c893","path":"FirebaseAppCheck/Sources/Public/FirebaseAppCheck/FirebaseAppCheck.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98fd3fc54900e75a3cfcce7c2bb219927b","path":"FirebaseCore/Extension/FirebaseCoreInternal.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9852e8ed178d953a6776178ef48ee2814d","path":"FirebaseCore/Extension/FIRHeartbeatLogger.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9816e853290c59ddfa95048f95507f1212","path":"FirebaseAppCheck/Sources/Core/FIRHeartbeatLogger+AppCheck.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e9809a30ce0fe1dd3695686a996a065f387","path":"FirebaseAppCheck/Sources/Core/FIRHeartbeatLogger+AppCheck.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e989213e7824c44f61ef818503291e680e0","path":"FirebaseAppCheck/Sources/Core/FIRInternalAppCheckProvider.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e985c461ab6a7e9879b6fa6169adaab3d61","path":"FirebaseAppCheck/Sources/Core/FIRInternalAppCheckProvider.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e982afb2c662f2c43daeead1d89b85cc4be","path":"FirebaseCore/Extension/FIRLibrary.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9889e260595c9bb6055f19e49c4ac1de2a","path":"FirebaseCore/Extension/FIRLogger.h","sourceTree":"","type":"file"},{"children":[{"fileType":"sourcecode.module-map","guid":"bfdfe7dc352907fc980b868725387e980211d9daa87a7ac73f52199f3828d9bc","path":"FirebaseAppCheck.modulemap","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98c97cf347ee33ebdbcaaf450c07f28d2e","path":"FirebaseAppCheck-dummy.m","sourceTree":"","type":"file"},{"fileType":"text.plist.xml","guid":"bfdfe7dc352907fc980b868725387e98aee35db10f9e9681f7d55fd50f470494","path":"FirebaseAppCheck-Info.plist","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9804717059d9181565ee5576a9e39236df","path":"FirebaseAppCheck-umbrella.h","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e98dcc81be3bb552d5ea4561a1ae5bb7340","path":"FirebaseAppCheck.debug.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e9858ca2cea4d0cfb89402980161e9a9cd8","path":"FirebaseAppCheck.release.xcconfig","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e98d5af18d2974cf2b5dcf20db5050fc6dc","name":"Support Files","path":"../Target Support Files/FirebaseAppCheck","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e983560308e098e7b342a3809e629740fd6","name":"FirebaseAppCheck","path":"FirebaseAppCheck","sourceTree":"","type":"group"},{"children":[{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98c0c7690085e912d942bf2e237c7d1c7b","path":"FirebaseAppCheck/Interop/dummy.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98a7311458b4843df9e67745481ba7c0e5","path":"FirebaseAppCheck/Interop/Public/FirebaseAppCheckInterop/FIRAppCheckInterop.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9829de89cb8f108e22ea823c6be6f50bb8","path":"FirebaseAppCheck/Interop/Public/FirebaseAppCheckInterop/FIRAppCheckTokenResultInterop.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9844c414003af70893691ff86752a3f856","path":"FirebaseAppCheck/Interop/Public/FirebaseAppCheckInterop/FirebaseAppCheckInterop.h","sourceTree":"","type":"file"},{"children":[{"fileType":"sourcecode.module-map","guid":"bfdfe7dc352907fc980b868725387e9872b498b3776044752bd0c53d637ca81b","path":"FirebaseAppCheckInterop.modulemap","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e982a30bb5a8768c4121de0072fc14d52a0","path":"FirebaseAppCheckInterop-dummy.m","sourceTree":"","type":"file"},{"fileType":"text.plist.xml","guid":"bfdfe7dc352907fc980b868725387e980c7d6880ccab0cfe81163d5223da4b7c","path":"FirebaseAppCheckInterop-Info.plist","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98d9599bd862208bd721e00a4a12690380","path":"FirebaseAppCheckInterop-prefix.pch","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e985a1fa15e8a7202370ebafaea17bc9527","path":"FirebaseAppCheckInterop-umbrella.h","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e98421994bc5dd043094766f7b84b26a0c6","path":"FirebaseAppCheckInterop.debug.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e98b37eb9d9e658784e2a78517cf0f13af6","path":"FirebaseAppCheckInterop.release.xcconfig","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e980f3ab6077c6847a34ed9d8382cee65ce","name":"Support Files","path":"../Target Support Files/FirebaseAppCheckInterop","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98a2ec04a7a30518162198b66acd03a635","name":"FirebaseAppCheckInterop","path":"FirebaseAppCheckInterop","sourceTree":"","type":"group"},{"children":[{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e986ed0fe803e5e9f958a7a9c4d9341682d","path":"FirebaseAuth/Sources/Swift/ActionCode/ActionCodeInfo.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98df840a4cc19a73fbfc9de23d95ea4708","path":"FirebaseAuth/Sources/Swift/ActionCode/ActionCodeOperation.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e9812e153f43d8c8c8f356f5148e516cca0","path":"FirebaseAuth/Sources/Swift/ActionCode/ActionCodeSettings.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98ee0255ea1e007a5b0217b62542c6b70d","path":"FirebaseAuth/Sources/Swift/ActionCode/ActionCodeURL.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98dbe0c047f7ef2bbaa652ae3dc458a985","path":"FirebaseAuth/Sources/Swift/User/AdditionalUserInfo.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e9841946e8c5c51d7ff21c3c09451da596d","path":"FirebaseAuth/Sources/Swift/Auth/Auth.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98245f1ef0e5ded755952473e4d2276030","path":"FirebaseAuth/Sources/Swift/SystemService/AuthAPNSToken.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e9895a020d668ee677ee2edc02b024aa625","path":"FirebaseAuth/Sources/Swift/SystemService/AuthAPNSTokenManager.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98f171b0d6e6d7265241cf0eb8f4f3f584","path":"FirebaseAuth/Sources/Swift/SystemService/AuthAPNSTokenType.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98341d38a094f897cf5dd0a4918c8865f2","path":"FirebaseAuth/Sources/Swift/SystemService/AuthAppCredential.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98f415edf05761e36c2f309be524c1706d","path":"FirebaseAuth/Sources/Swift/SystemService/AuthAppCredentialManager.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e980f6007ab2b4227db8a90954c2fe0bd54","path":"FirebaseAuth/Sources/Swift/Backend/AuthBackend.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e980771b86e7c5c94837366efba22ffc771","path":"FirebaseAuth/Sources/Swift/Backend/AuthBackendRPCIssuer.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e985a832d2cff79b53693ec89e1007060f4","path":"FirebaseAuth/Sources/Swift/Auth/AuthComponent.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98929647b475e2c223c9e642a49d717b03","path":"FirebaseAuth/Sources/Swift/Utilities/AuthCondition.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e981f237ef3f88f70d2cea687a28fb706a9","path":"FirebaseAuth/Sources/Swift/AuthProvider/AuthCredential.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e9878d4a02f39de63e3d1106735da970ca7","path":"FirebaseAuth/Sources/Swift/Auth/AuthDataResult.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e987dcc3a7b3e74f870d6620b9a2a2ecf5c","path":"FirebaseAuth/Sources/Swift/Utilities/AuthDefaultUIDelegate.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98bfba41555dc0fdafe3758671a4c8b5c4","path":"FirebaseAuth/Sources/Swift/Auth/AuthDispatcher.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98e0a494f1dd43b14ca8fbd67830a4299a","path":"FirebaseAuth/Sources/Swift/Utilities/AuthErrors.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e9884262f11f18e1ece922d28e9a5d86359","path":"FirebaseAuth/Sources/Swift/Utilities/AuthErrorUtils.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98b1cc66b4cfe08f3b3d9994f6667b1c8f","path":"FirebaseAuth/Sources/Swift/Auth/AuthGlobalWorkQueue.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e9802ac367029fcec689c560e9c09956577","path":"FirebaseAuth/Sources/Swift/Utilities/AuthInternalErrors.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98c55adbc69af63b3fae534d4d32bbb7d9","path":"FirebaseAuth/Sources/Swift/Storage/AuthKeychainServices.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98c7ba925bcaab2ef799e067fb09524783","path":"FirebaseAuth/Sources/Swift/Storage/AuthKeychainStorage.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e9811c9e44fde5c048982c7190a2b83b582","path":"FirebaseAuth/Sources/Swift/Storage/AuthKeychainStorageReal.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e9854254b2427cbf1030d7399e4bf859971","path":"FirebaseAuth/Sources/Swift/Utilities/AuthLog.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98978d22922ec60f31d6f5a06b5fb057c2","path":"FirebaseAuth/Sources/Swift/Backend/RPC/AuthMFAResponse.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e9890e5f1c028980f312accdb59b79b8c9a","path":"FirebaseAuth/Sources/Swift/SystemService/AuthNotificationManager.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98e31f8b7b95878bd97624e635f148c67f","path":"FirebaseAuth/Sources/Swift/Auth/AuthOperationType.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e9847885db3e68e8f2c66b87e797e2b20b7","path":"FirebaseAuth/Sources/Swift/Backend/RPC/Proto/AuthProto.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e983b65068db43de39e5b21be2c4940e213","path":"FirebaseAuth/Sources/Swift/Backend/RPC/Proto/Phone/AuthProtoFinalizeMFAPhoneRequestInfo.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e983266b5201df1b292d44394e8b0d06351","path":"FirebaseAuth/Sources/Swift/Backend/RPC/Proto/Phone/AuthProtoFinalizeMFAPhoneResponseInfo.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98acb7d384e534589053b3d54ec83848e6","path":"FirebaseAuth/Sources/Swift/Backend/RPC/Proto/TOTP/AuthProtoFinalizeMFATOTPEnrollmentRequestInfo.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e988f0aa9a15a980855bb5cd22dd973231e","path":"FirebaseAuth/Sources/Swift/Backend/RPC/Proto/TOTP/AuthProtoFinalizeMFATOTPEnrollmentResponseInfo.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e9833c26626cd1780126c024ea0c1ab99a3","path":"FirebaseAuth/Sources/Swift/Backend/RPC/Proto/TOTP/AuthProtoFinalizeMFATOTPSignInRequestInfo.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98601f5533331fe93d3990abed0a6d8df0","path":"FirebaseAuth/Sources/Swift/Backend/RPC/Proto/AuthProtoMFAEnrollment.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98a00810df46bf1461328c3bae378e67ca","path":"FirebaseAuth/Sources/Swift/Backend/RPC/Proto/Phone/AuthProtoStartMFAPhoneRequestInfo.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98657f85d6f26e1dccdccdadf67c06a872","path":"FirebaseAuth/Sources/Swift/Backend/RPC/Proto/Phone/AuthProtoStartMFAPhoneResponseInfo.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98ccdf38e87f3adf13c65d8b750a8a5d21","path":"FirebaseAuth/Sources/Swift/Backend/RPC/Proto/TOTP/AuthProtoStartMFATOTPEnrollmentRequestInfo.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e989704c064dda1053b269cf2b66cae4669","path":"FirebaseAuth/Sources/Swift/Backend/RPC/Proto/TOTP/AuthProtoStartMFATOTPEnrollmentResponseInfo.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e9897b3d707d3e694c92e507edb2f3b5ebc","path":"FirebaseAuth/Sources/Swift/AuthProvider/AuthProviderID.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e9847039eb0446879e37839563d32a579c0","path":"FirebaseAuth/Sources/Swift/Utilities/AuthRecaptchaVerifier.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e983df13d08c3764514e1e73c1415d6fa58","path":"FirebaseAuth/Sources/Swift/Backend/AuthRequestConfiguration.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e9850eb76d161b30d916255873f47c062e9","path":"FirebaseAuth/Sources/Swift/Backend/AuthRPCRequest.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98d50924e3f8940afe7d774046e67792ae","path":"FirebaseAuth/Sources/Swift/Backend/AuthRPCResponse.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98c73511ff62a44b5597b9e19189dadd10","path":"FirebaseAuth/Sources/Swift/Auth/AuthSettings.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e981b27190e33354e7e6a3225e2c828f557","path":"FirebaseAuth/Sources/Swift/SystemService/AuthStoredUserManager.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98a72d1028678303be9b269ace9225904b","path":"FirebaseAuth/Sources/Swift/Auth/AuthTokenResult.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98dabe9a937a43ec190006e0627054845a","path":"FirebaseAuth/Sources/Swift/Utilities/AuthUIDelegate.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98bdfcbc5d664bbafdd9f354c733bec51a","path":"FirebaseAuth/Sources/Swift/Utilities/AuthURLPresenter.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98ad2e31ca91913c90d37f3a2d95bb0d2b","path":"FirebaseAuth/Sources/Swift/Storage/AuthUserDefaults.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98d610f2d23e0d44e2585bc582e859d2b6","path":"FirebaseAuth/Sources/Swift/Utilities/AuthWebUtils.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98e1bcfb7e241dd08c5ad005fb642710b6","path":"FirebaseAuth/Sources/Swift/Utilities/AuthWebView.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98892b63d4e763877cb5805dc850cd357a","path":"FirebaseAuth/Sources/Swift/Utilities/AuthWebViewController.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e985650e463aa88e7a5e504ae565234621d","path":"FirebaseAuth/Sources/Swift/Base64URLEncodedStringExtension.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98d5db2297cf3e649d29f50bdaed5ba04c","path":"FirebaseAuth/Sources/Swift/Backend/RPC/CreateAuthURIRequest.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e984a298505b96a98d10e522b4edf221ed6","path":"FirebaseAuth/Sources/Swift/Backend/RPC/CreateAuthURIResponse.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e988dfecf325d31fb2d9aff16796c653942","path":"FirebaseAuth/Sources/Swift/Backend/RPC/DeleteAccountRequest.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98f406a955a7d842430e2e924eca1f2640","path":"FirebaseAuth/Sources/Swift/Backend/RPC/DeleteAccountResponse.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98bb059cd18cd13115fe7d4b764e70af41","path":"FirebaseAuth/Sources/Swift/AuthProvider/EmailAuthProvider.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e9869dc6e47e0a6966ada08fb3d58f5e210","path":"FirebaseAuth/Sources/Swift/Backend/RPC/EmailLinkSignInRequest.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98c0c5fe40ae00e565f4197361e56fec0b","path":"FirebaseAuth/Sources/Swift/Backend/RPC/EmailLinkSignInResponse.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98b26cf0e43da862e45d59c66508b01271","path":"FirebaseAuth/Sources/Swift/AuthProvider/FacebookAuthProvider.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98747bfd17f9aa097d0efe403170b79354","path":"FirebaseAuth/Sources/Swift/AuthProvider/FederatedAuthProvider.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98834ab9620e06639a5ff56bf792d9c5db","path":"FirebaseAuth/Sources/Swift/Backend/RPC/MultiFactor/Enroll/FinalizeMFAEnrollmentRequest.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98d8d289f2f9bf72c003ddd77b0878f2b6","path":"FirebaseAuth/Sources/Swift/Backend/RPC/MultiFactor/Enroll/FinalizeMFAEnrollmentResponse.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98f10397478c14950ef9599fdf2d3e642c","path":"FirebaseAuth/Sources/Swift/Backend/RPC/MultiFactor/SignIn/FinalizeMFASignInRequest.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e984e4f4fa3681d3885991f826c7d0626b3","path":"FirebaseAuth/Sources/Swift/Backend/RPC/MultiFactor/SignIn/FinalizeMFASignInResponse.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98956799cfa2b05e7c9a8e6de92669e1d1","path":"FirebaseAuth/Sources/Public/FirebaseAuth/FIRAuth.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e9852ea9a7b923c00deb23d6be14aa04c11","path":"FirebaseAuth/Sources/ObjC/FIRAuth.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98e29f01ee622b04136cc93b8ed10b0042","path":"FirebaseAuth/Sources/Public/FirebaseAuth/FIRAuthErrors.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e980471c1d2185273ed57ceb2cc5af91fd6","path":"FirebaseAuth/Sources/ObjC/FIRAuthErrorUtils.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98f7f99a49e05d9d483849b82a5b042ab3","path":"FirebaseAuth/Sources/ObjC/FIRAuthProvider.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e986e7ac5576571d35a0e6e17df8bef87c2","path":"FirebaseAuth/Sources/Public/FirebaseAuth/FirebaseAuth.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98302380597dd450a0363d088676edafa9","path":"FirebaseAuth/Sources/Public/FirebaseAuth/FIREmailAuthProvider.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98db7c3d4ccbf8dc9059f98c1141a57e3b","path":"FirebaseAuth/Sources/Public/FirebaseAuth/FIRFacebookAuthProvider.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9838bf347b940c7fcc4e312aca96b302b0","path":"FirebaseAuth/Sources/Public/FirebaseAuth/FIRFederatedAuthProvider.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9868ce7c295a5827b53fa0ecbe02749a98","path":"FirebaseAuth/Sources/Public/FirebaseAuth/FIRGameCenterAuthProvider.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e986607cf0b965cb1545a435655d39e9385","path":"FirebaseAuth/Sources/Public/FirebaseAuth/FIRGitHubAuthProvider.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e989fe929ecdf26ddf9920484acf1cab280","path":"FirebaseAuth/Sources/Public/FirebaseAuth/FIRGoogleAuthProvider.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98e5f11c0f670144e5c3d5eba28a2e0bc6","path":"FirebaseAuth/Sources/Public/FirebaseAuth/FIRMultiFactor.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e985d13ff13c510386d418cd069fb618f57","path":"FirebaseAuth/Sources/ObjC/FIRMultiFactorConstants.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98b8f740c8e02b1fc2f3f9baf571e56fe2","path":"FirebaseAuth/Sources/Public/FirebaseAuth/FIRPhoneAuthProvider.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9883a078e0ca1c33c40bd03e510742f7e5","path":"FirebaseAuth/Sources/Public/FirebaseAuth/FIRTwitterAuthProvider.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98e10be73265b6d6dfa47fc284a8ef68ff","path":"FirebaseAuth/Sources/Public/FirebaseAuth/FIRUser.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e9860e788c01b59d8c5e34377d048e9571f","path":"FirebaseAuth/Sources/Swift/AuthProvider/GameCenterAuthProvider.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e9855d28a290f00d95e42828c0cce199a5e","path":"FirebaseAuth/Sources/Swift/Backend/RPC/GetAccountInfoRequest.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e9863b72be988c7f3f4f77f32a07cc998d6","path":"FirebaseAuth/Sources/Swift/Backend/RPC/GetAccountInfoResponse.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e9844d2b74824c486de8efcfb8c9f84924c","path":"FirebaseAuth/Sources/Swift/Backend/RPC/GetOOBConfirmationCodeRequest.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98719fe830048a2ba1365eecb6632f72d2","path":"FirebaseAuth/Sources/Swift/Backend/RPC/GetOOBConfirmationCodeResponse.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e981bc7f28ea1e64999404ca4dd21dd0ea1","path":"FirebaseAuth/Sources/Swift/Backend/RPC/GetProjectConfigRequest.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98dfbbcf08b73d4a041622c799a84cf364","path":"FirebaseAuth/Sources/Swift/Backend/RPC/GetProjectConfigResponse.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98ae767345b9752815dba9af0829f647b1","path":"FirebaseAuth/Sources/Swift/Backend/RPC/GetRecaptchaConfigRequest.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e9806cce955c392c1f7a9e154850367e456","path":"FirebaseAuth/Sources/Swift/Backend/RPC/GetRecaptchaConfigResponse.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98b9b1eb7b36a3fff41786ab9d54bf826d","path":"FirebaseAuth/Sources/Swift/AuthProvider/GitHubAuthProvider.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98069027db4086db498c5c3aee779f8ca8","path":"FirebaseAuth/Sources/Swift/AuthProvider/GoogleAuthProvider.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e981fea20a8743f49d4fd4d140bb89eda56","path":"FirebaseAuth/Sources/Swift/Backend/IdentityToolkitRequest.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e9844a657a5657e6fb389d0de83a143a4c2","path":"FirebaseAuth/Sources/Swift/MultiFactor/MultiFactor.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98fbaa3d86f6d124a450b9f0491119ef2b","path":"FirebaseAuth/Sources/Swift/MultiFactor/MultiFactorAssertion.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98abf7565fee3fc13cae4656dee1d87232","path":"FirebaseAuth/Sources/Swift/MultiFactor/MultiFactorInfo.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e982710250b86c363cad4a9df0dc1f552e3","path":"FirebaseAuth/Sources/Swift/MultiFactor/MultiFactorResolver.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98621647717ebb98ed5215a2363787ec60","path":"FirebaseAuth/Sources/Swift/MultiFactor/MultiFactorSession.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e9887eb43b7b5c4665c64c0e5d668c0db4a","path":"FirebaseAuth/Sources/Swift/AuthProvider/OAuthCredential.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e989534023b43aec676374fa28f504ebd7b","path":"FirebaseAuth/Sources/Swift/AuthProvider/OAuthProvider.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e981d20a98d8d6380a1cc4bfbc035d066f5","path":"FirebaseAuth/Sources/Swift/AuthProvider/PhoneAuthCredential.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e983982f2b3dd103ab5403130fd0d68cf72","path":"FirebaseAuth/Sources/Swift/AuthProvider/PhoneAuthProvider.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e984cc282790fe0653502d68810ce203862","path":"FirebaseAuth/Sources/Swift/MultiFactor/Phone/PhoneMultiFactorAssertion.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98e2da331444b1f53e6dba6cb80e4bd821","path":"FirebaseAuth/Sources/Swift/MultiFactor/Phone/PhoneMultiFactorGenerator.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e989efe2e2a211875271837aebcde4612e9","path":"FirebaseAuth/Sources/Swift/MultiFactor/Phone/PhoneMultiFactorInfo.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e9890e258ab83427e9b3af28df6cbba4069","path":"FirebaseAuth/Sources/Swift/Backend/RPC/ResetPasswordRequest.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e9857980f4cd36be429374abd8731e09dc2","path":"FirebaseAuth/Sources/Swift/Backend/RPC/ResetPasswordResponse.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e9842ed090caa16221d40b2deb5c1fc39a7","path":"FirebaseAuth/Sources/Swift/Backend/RPC/RevokeTokenRequest.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98e98566614e5a7eaa2d269e0707a52718","path":"FirebaseAuth/Sources/Swift/Backend/RPC/RevokeTokenResponse.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98bfc950ffeb67bb663f272c5ed9fedbd4","path":"FirebaseAuth/Sources/Swift/Backend/RPC/SecureTokenRequest.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e980e5fb7ae060697ed6919bcf3cedb0f75","path":"FirebaseAuth/Sources/Swift/Backend/RPC/SecureTokenResponse.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98b4267b665e65b3b2e7bfe1594a1d1f5a","path":"FirebaseAuth/Sources/Swift/SystemService/SecureTokenService.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e986cc1b3357462deb86550440d1f70a61b","path":"FirebaseAuth/Sources/Swift/Backend/RPC/SendVerificationTokenRequest.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98d17a8f03b477f37a765a58084e0e5269","path":"FirebaseAuth/Sources/Swift/Backend/RPC/SendVerificationTokenResponse.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98bee3b1251aecfd29166ec8b8a4b18b24","path":"FirebaseAuth/Sources/Swift/Backend/RPC/SetAccountInfoRequest.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e9875781607f587883e67ef5fc29d71563b","path":"FirebaseAuth/Sources/Swift/Backend/RPC/SetAccountInfoResponse.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e989757f793fe76ee3d65074635004dbb48","path":"FirebaseAuth/Sources/Swift/Backend/RPC/SignInWithGameCenterRequest.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98572304b8a4293ef6e15f1b6935aa3de6","path":"FirebaseAuth/Sources/Swift/Backend/RPC/SignInWithGameCenterResponse.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98666272423879d06e6542d05efdedb720","path":"FirebaseAuth/Sources/Swift/Backend/RPC/SignUpNewUserRequest.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98102c5f8ca0d2ebc5a06ccb97589db0cf","path":"FirebaseAuth/Sources/Swift/Backend/RPC/SignUpNewUserResponse.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e9875b69c0c8d62ef6ae2f4d5ccb2a50140","path":"FirebaseAuth/Sources/Swift/Backend/RPC/MultiFactor/Enroll/StartMFAEnrollmentRequest.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98ca7c8108003627e6f3faac826b461b2b","path":"FirebaseAuth/Sources/Swift/Backend/RPC/MultiFactor/Enroll/StartMFAEnrollmentResponse.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e981f8eac5b6857c6f90839ca30a2c3e6c4","path":"FirebaseAuth/Sources/Swift/Backend/RPC/MultiFactor/SignIn/StartMFASignInRequest.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98a374d7222e915426b2f8ab3ba4d65ee5","path":"FirebaseAuth/Sources/Swift/Backend/RPC/MultiFactor/SignIn/StartMFASignInResponse.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98ba30b785bf30ceb46a9118f6019d819b","path":"FirebaseAuth/Sources/Swift/SystemService/TokenRefreshCoalescer.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98a235f0b77bf950d99dcce74d380bcd75","path":"FirebaseAuth/Sources/Swift/MultiFactor/TOTP/TOTPMultFactorAssertion.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98f5f54f4445a2c9e87da1cea25995185a","path":"FirebaseAuth/Sources/Swift/MultiFactor/TOTP/TOTPMultiFactorGenerator.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e989bb0668960c84bff388737525f9b3a81","path":"FirebaseAuth/Sources/Swift/MultiFactor/TOTP/TOTPMultiFactorInfo.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e986a7af298a7219b614606ae7ff2d749ae","path":"FirebaseAuth/Sources/Swift/MultiFactor/TOTP/TOTPSecret.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98bb1dadfa78eacc3f622bcccdd537b399","path":"FirebaseAuth/Sources/Swift/AuthProvider/TwitterAuthProvider.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98475bcd8f86ab153834b49971ed619ff5","path":"FirebaseAuth/Sources/Swift/User/User.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e984e9998b48de1e3e79cde488b19940ce2","path":"FirebaseAuth/Sources/Swift/User/UserInfo.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e981e6263bb40c09d9f8dc13f069ceae880","path":"FirebaseAuth/Sources/Swift/User/UserInfoImpl.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98d5276ff3ae57c9a7f98db3bccebc2370","path":"FirebaseAuth/Sources/Swift/User/UserMetadata.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98e3a47805b413680ebb0c06709b493b25","path":"FirebaseAuth/Sources/Swift/User/UserProfileChangeRequest.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98d104dd38e64d1362119c6d0e6e6c53a2","path":"FirebaseAuth/Sources/Swift/User/UserProfileUpdate.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e9870ce2670d34fda92a4f9f6fab2cb3f05","path":"FirebaseAuth/Sources/Swift/Backend/RPC/VerifyAssertionRequest.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e986ea08be4fd634924346f78693900e71c","path":"FirebaseAuth/Sources/Swift/Backend/RPC/VerifyAssertionResponse.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e9803ec352f1d5e430050d78853042b369f","path":"FirebaseAuth/Sources/Swift/Backend/VerifyClientRequest.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e986e2c14a76174e5c401d360834cbcd241","path":"FirebaseAuth/Sources/Swift/Backend/VerifyClientResponse.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98dc039d8f859c4d7a942b4a6efffb5c50","path":"FirebaseAuth/Sources/Swift/Backend/RPC/VerifyCustomTokenRequest.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e9806bf6fed24708c67d77335a5235a6cc1","path":"FirebaseAuth/Sources/Swift/Backend/RPC/VerifyCustomTokenResponse.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e984b3cebe055de35d309e97aecaa0a5a1b","path":"FirebaseAuth/Sources/Swift/Backend/RPC/VerifyPasswordRequest.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e986e0bef915cd1d6699aab05207038a96f","path":"FirebaseAuth/Sources/Swift/Backend/RPC/VerifyPasswordResponse.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98e701c1cb6f65239a251e4768e01df45e","path":"FirebaseAuth/Sources/Swift/Backend/RPC/VerifyPhoneNumberRequest.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98e413e4e9aa35c4a57f446f64d1d7dbad","path":"FirebaseAuth/Sources/Swift/Backend/RPC/VerifyPhoneNumberResponse.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e986632cf764cf74da0f8d3dbcbba1c5634","path":"FirebaseAuth/Sources/Swift/Backend/RPC/MultiFactor/Unenroll/WithdrawMFARequest.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e982a785903ce725c51dc299f8f3d264a23","path":"FirebaseAuth/Sources/Swift/Backend/RPC/MultiFactor/Unenroll/WithdrawMFAResponse.swift","sourceTree":"","type":"file"},{"children":[{"fileType":"text.xml","guid":"bfdfe7dc352907fc980b868725387e983b9007b1d0935aee2ec307ea04061f0e","path":"FirebaseAuth/Sources/Resources/PrivacyInfo.xcprivacy","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e9878fe7eb13fb9b14ae0aefa71f2ac2fb4","name":"Resources","path":"","sourceTree":"","type":"group"},{"children":[{"fileType":"sourcecode.module-map","guid":"bfdfe7dc352907fc980b868725387e9842f3c9c61827af042efa90bc656fcf02","path":"FirebaseAuth.modulemap","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e984b7089654a8476c04781946130828ff9","path":"FirebaseAuth-dummy.m","sourceTree":"","type":"file"},{"fileType":"text.plist.xml","guid":"bfdfe7dc352907fc980b868725387e98d9632ed755d6b03ff6528460a14194fe","path":"FirebaseAuth-Info.plist","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e980cfa3bf3b7f73c30be0258c89af531d7","path":"FirebaseAuth-umbrella.h","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e98bbdee8c1686e5d6c3f4956eedcdb3dac","path":"FirebaseAuth.debug.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e9824122a566c18888ab83e78b3078e6f80","path":"FirebaseAuth.release.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.plist.xml","guid":"bfdfe7dc352907fc980b868725387e98db5da4fd7970aeddce90c906e09f827d","path":"ResourceBundle-FirebaseAuth_Privacy-FirebaseAuth-Info.plist","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e983d795f3d7d4801b89b09dd23c6b87625","name":"Support Files","path":"../Target Support Files/FirebaseAuth","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98fe0423eb1011f0dabb5decad0a189f59","name":"FirebaseAuth","path":"FirebaseAuth","sourceTree":"","type":"group"},{"children":[{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e985df5bc504ec3263f252a622a8dde0a2c","path":"FirebaseAuth/Interop/dummy.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98c1695f36a2224a2b1d7774e6d77eee60","path":"FirebaseAuth/Interop/Public/FirebaseAuthInterop/FIRAuthInterop.h","sourceTree":"","type":"file"},{"children":[{"fileType":"sourcecode.module-map","guid":"bfdfe7dc352907fc980b868725387e98db9ebcd1c413e0272430cbf0539cce22","path":"FirebaseAuthInterop.modulemap","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e989fcb859732612135cbcb3779e0ded359","path":"FirebaseAuthInterop-dummy.m","sourceTree":"","type":"file"},{"fileType":"text.plist.xml","guid":"bfdfe7dc352907fc980b868725387e9818680ff65bab7884439f058722e68852","path":"FirebaseAuthInterop-Info.plist","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e982a4ae442514f63382533fc2bd40840e1","path":"FirebaseAuthInterop-prefix.pch","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98b2956b9f464800c9411916e4fbb27729","path":"FirebaseAuthInterop-umbrella.h","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e98e82dd82aa81c61839879590f112b6e6d","path":"FirebaseAuthInterop.debug.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e981506eb316e3225b6c1cb84ca6348d18b","path":"FirebaseAuthInterop.release.xcconfig","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e9842adb397b33519898bb558c7c3a276b1","name":"Support Files","path":"../Target Support Files/FirebaseAuthInterop","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98fe9018f0e6e4e5f3ffb7e95560b8588d","name":"FirebaseAuthInterop","path":"FirebaseAuthInterop","sourceTree":"","type":"group"},{"children":[{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98230955bf7f5b9e02cf80179f183ff7ce","path":"FirebaseCore/Sources/FIRAnalyticsConfiguration.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98ef90badd06be31069855a74a45016d0c","path":"FirebaseCore/Sources/FIRAnalyticsConfiguration.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e981514e798aa63a0fd8e89ee17343dd566","path":"FirebaseCore/Sources/Public/FirebaseCore/FIRApp.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98ed3eb3365ff3413002b88f88bb14f070","path":"FirebaseCore/Sources/FIRApp.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9815996f070a281d153a577e9dbcf3058d","path":"FirebaseCore/Extension/FIRAppInternal.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9806c0b950b861c21b9963990ab43a4b89","path":"FirebaseCore/Sources/FIRBundleUtil.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e983928e1bb746c4dce582f3973204c6c1b","path":"FirebaseCore/Sources/FIRBundleUtil.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98b0744a7edc366118f880568d6132edfd","path":"FirebaseCore/Extension/FIRComponent.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e988ed37762246bec784742e59fb1ae1dd0","path":"FirebaseCore/Sources/FIRComponent.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e989fee6d5e33b87739a2dab9f66760c17e","path":"FirebaseCore/Extension/FIRComponentContainer.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e9819eb20fe822d32fe59693bb1af07e918","path":"FirebaseCore/Sources/FIRComponentContainer.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e984403d97edc979cc08bfdbddd3f49003b","path":"FirebaseCore/Sources/FIRComponentContainerInternal.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9803a1d9e7c7406ae5b4488a23e5256418","path":"FirebaseCore/Extension/FIRComponentType.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98b679246350869a9d1e1a3c06b9d5ac2f","path":"FirebaseCore/Sources/FIRComponentType.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98cd384f769ff6a416ad0a47b308b7244f","path":"FirebaseCore/Sources/Public/FirebaseCore/FIRConfiguration.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98b27bfcc87c6667390e6665cf5ed38907","path":"FirebaseCore/Sources/FIRConfiguration.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9877aeed262da4294e7eba3e108465f228","path":"FirebaseCore/Sources/FIRConfigurationInternal.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98d768dfd7daa1bdb257ad2abc4e232fcd","path":"FirebaseCore/Sources/Public/FirebaseCore/FirebaseCore.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98fc76eb1628ab5a054f098490b4100f6d","path":"FirebaseCore/Extension/FirebaseCoreInternal.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98800f413ba9d90bb10e7bab1cc8fbcfdb","path":"FirebaseCore/Sources/FIRFirebaseUserAgent.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98775c657f07790427fa1301264717a9fe","path":"FirebaseCore/Sources/FIRFirebaseUserAgent.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98e2cf47785d0cb1b51d5ea1a97360174c","path":"FirebaseCore/Extension/FIRHeartbeatLogger.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98981d973aa283cf55e0471a3517765b33","path":"FirebaseCore/Sources/FIRHeartbeatLogger.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98a02d8ba298cf0862bbfc342c7074e5c7","path":"FirebaseCore/Extension/FIRLibrary.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98a71e555b3b552897cbcd1316677dcec1","path":"FirebaseCore/Extension/FIRLogger.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98c004405cc6612ddabb4037b1f909c521","path":"FirebaseCore/Sources/FIRLogger.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e988b4329a5d76b29e87e729d9cd7ad93a1","path":"FirebaseCore/Sources/Public/FirebaseCore/FIRLoggerLevel.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e986ff10679afde8d4204e7c212e534130a","path":"FirebaseCore/Sources/Public/FirebaseCore/FIROptions.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e9892656d0ae210c7efada3c7523ed4ae30","path":"FirebaseCore/Sources/FIROptions.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e989385cc843d99d2d634e9732484488b3f","path":"FirebaseCore/Sources/FIROptionsInternal.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98d8d49f4b04a791b6f8b72a3cca1ee103","path":"FirebaseCore/Sources/Public/FirebaseCore/FIRTimestamp.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e981811e086c8b8e9b086cc158fbccd9d11","path":"FirebaseCore/Sources/FIRTimestamp.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98df0b9329b13401877770c564af2684fe","path":"FirebaseCore/Sources/FIRTimestampInternal.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9881f4b7fbf5d308524566967a15d09dd2","path":"FirebaseCore/Sources/Public/FirebaseCore/FIRVersion.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98fad9bf08165943a9291593d38681f1a9","path":"FirebaseCore/Sources/FIRVersion.m","sourceTree":"","type":"file"},{"children":[{"fileType":"text.xml","guid":"bfdfe7dc352907fc980b868725387e98d58b29168477f224a21c3f9676f8d359","path":"FirebaseCore/Sources/Resources/PrivacyInfo.xcprivacy","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e98d49c852e4a4dbcdd282d6a335751765b","name":"Resources","path":"","sourceTree":"","type":"group"},{"children":[{"fileType":"sourcecode.module-map","guid":"bfdfe7dc352907fc980b868725387e98d4900d1598abe8827c742658c338ad03","path":"FirebaseCore.modulemap","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e988860c8b4c7c5a5dae715e8cfb65d591d","path":"FirebaseCore-dummy.m","sourceTree":"","type":"file"},{"fileType":"text.plist.xml","guid":"bfdfe7dc352907fc980b868725387e980a6c497f4f42db9c53403002052f8c38","path":"FirebaseCore-Info.plist","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98529e5f7bfff87cdbf13185e395700843","path":"FirebaseCore-umbrella.h","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e98cb16e8074f48ba05a2dfeb081f5bd1cb","path":"FirebaseCore.debug.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e9823bbf62c346537eed6e067e233fe0af3","path":"FirebaseCore.release.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.plist.xml","guid":"bfdfe7dc352907fc980b868725387e98c339f723c455897cc4e5846ca001c33c","path":"ResourceBundle-FirebaseCore_Privacy-FirebaseCore-Info.plist","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e981be5108fd2324192c04384e8e98f2d74","name":"Support Files","path":"../Target Support Files/FirebaseCore","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98d5e159ba4d96e56bba4dc7d2e139c597","name":"FirebaseCore","path":"FirebaseCore","sourceTree":"","type":"group"},{"children":[{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e983addcf97f99326db0f50c64ef67acf87","path":"FirebaseCore/Extension/dummy.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e980e9aa4b7906b3dcf65a309a2ebea54da","path":"FirebaseCore/Extension/FIRAppInternal.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98a4ef9427196371e4dc2731c21e69d49f","path":"FirebaseCore/Extension/FIRComponent.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9809785dc11744809391b61338a4ffac7b","path":"FirebaseCore/Extension/FIRComponentContainer.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9862c85af582e57841e77b952dde7fa94c","path":"FirebaseCore/Extension/FIRComponentType.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98ed46d3d90ff2fcfaef63e49a4aef56da","path":"FirebaseCore/Extension/FirebaseCoreInternal.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9865742a13f039fe40a602469ea5f2c5a4","path":"FirebaseCore/Extension/FIRHeartbeatLogger.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98355f9a272a7cc11736b4566ee8b3947d","path":"FirebaseCore/Extension/FIRLibrary.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98f21af28e616ee0d4ff04c7a6421f4400","path":"FirebaseCore/Extension/FIRLogger.h","sourceTree":"","type":"file"},{"children":[{"fileType":"text.xml","guid":"bfdfe7dc352907fc980b868725387e98adf015b8b23a4183c14442061cb3cae9","path":"FirebaseCore/Extension/Resources/PrivacyInfo.xcprivacy","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e981d5ebd0a397fd27c9f99071bb8629db3","name":"Resources","path":"","sourceTree":"","type":"group"},{"children":[{"fileType":"sourcecode.module-map","guid":"bfdfe7dc352907fc980b868725387e983c14e80ab85f19ef5aacb70483bebe26","path":"FirebaseCoreExtension.modulemap","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e988de8032ed3bcd43a2fa9cb6a98756979","path":"FirebaseCoreExtension-dummy.m","sourceTree":"","type":"file"},{"fileType":"text.plist.xml","guid":"bfdfe7dc352907fc980b868725387e982dedac294b14bf8e256212b8ed5832ab","path":"FirebaseCoreExtension-Info.plist","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e989321ef04d8a4ec7b0ef3f10f6590ec5b","path":"FirebaseCoreExtension-prefix.pch","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98ddc20f433ccc0f56de9a35da32254a03","path":"FirebaseCoreExtension-umbrella.h","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e98e8f5202bf6c2927877bbede594254bac","path":"FirebaseCoreExtension.debug.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e986a53acd8d9569d0c22497ed69917f900","path":"FirebaseCoreExtension.release.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.plist.xml","guid":"bfdfe7dc352907fc980b868725387e984fe616145e704e64056a1b2c3efe1f98","path":"ResourceBundle-FirebaseCoreExtension_Privacy-FirebaseCoreExtension-Info.plist","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e98e0cf868d06953d743485bdc6ba845117","name":"Support Files","path":"../Target Support Files/FirebaseCoreExtension","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98d9a4afcca097f04d6a0129dcb1a6c23e","name":"FirebaseCoreExtension","path":"FirebaseCoreExtension","sourceTree":"","type":"group"},{"children":[{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98593f6dae4d99a30c132d62107a81aa3d","path":"FirebaseCore/Internal/Sources/HeartbeatLogging/_ObjC_HeartbeatController.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98a54c9801248b47f1be63245cbf224d35","path":"FirebaseCore/Internal/Sources/HeartbeatLogging/_ObjC_HeartbeatsPayload.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98c4923971f83aa387b26c7b1cbb3461a3","path":"FirebaseCore/Internal/Sources/HeartbeatLogging/Heartbeat.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98b11e742c4a53da542ea1cf321d4e26d0","path":"FirebaseCore/Internal/Sources/HeartbeatLogging/HeartbeatController.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e982094f37cc1ad3624de7ad36386c6f411","path":"FirebaseCore/Internal/Sources/HeartbeatLogging/HeartbeatLoggingTestUtils.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e989c3eb4c9df3e35b9bec6678a11018e5d","path":"FirebaseCore/Internal/Sources/HeartbeatLogging/HeartbeatsBundle.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98a4e413da7fd7f4faf80ef89285732c22","path":"FirebaseCore/Internal/Sources/HeartbeatLogging/HeartbeatsPayload.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e988bf2e7afd647207a48e69cf948defc3b","path":"FirebaseCore/Internal/Sources/HeartbeatLogging/HeartbeatStorage.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98c954661eb8509838d8fb450920a2f8e0","path":"FirebaseCore/Internal/Sources/HeartbeatLogging/RingBuffer.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98f311c41c00ccd9d7c5b428bac6ece171","path":"FirebaseCore/Internal/Sources/HeartbeatLogging/Storage.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98b98bef66718986a1b7d33bc52200004f","path":"FirebaseCore/Internal/Sources/HeartbeatLogging/StorageFactory.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98f6fd1de5036398d6723d5839a7b109e2","path":"FirebaseCore/Internal/Sources/Utilities/UnfairLock.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98ce5e4868163131e336f7e6d43faeef31","path":"FirebaseCore/Internal/Sources/HeartbeatLogging/WeakContainer.swift","sourceTree":"","type":"file"},{"children":[{"fileType":"text.xml","guid":"bfdfe7dc352907fc980b868725387e985dedb4877ad3d0affcc4a716189451c7","path":"FirebaseCore/Internal/Sources/Resources/PrivacyInfo.xcprivacy","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e988c1d78c43bc5eb4417b1f2338eebeaf2","name":"Resources","path":"","sourceTree":"","type":"group"},{"children":[{"fileType":"sourcecode.module-map","guid":"bfdfe7dc352907fc980b868725387e989e456bbb211de15f51766c50e02f2c27","path":"FirebaseCoreInternal.modulemap","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e980896766df14a9046b4bc17a9df2f2c95","path":"FirebaseCoreInternal-dummy.m","sourceTree":"","type":"file"},{"fileType":"text.plist.xml","guid":"bfdfe7dc352907fc980b868725387e98937985b263edb9d830b2b21334cd29af","path":"FirebaseCoreInternal-Info.plist","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9897626e9d40c3b6b17941cad861bc0e00","path":"FirebaseCoreInternal-prefix.pch","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98f58230de926dbcf32485d1422b47f24e","path":"FirebaseCoreInternal-umbrella.h","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e98b94f751a83e7e0f1d4b42f2b77a60509","path":"FirebaseCoreInternal.debug.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e98d9147eb705ef7701ac589855737d9572","path":"FirebaseCoreInternal.release.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.plist.xml","guid":"bfdfe7dc352907fc980b868725387e986b218513940ce3e48cdc4c489b3ac8e5","path":"ResourceBundle-FirebaseCoreInternal_Privacy-FirebaseCoreInternal-Info.plist","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e981124f88580b11e754cb4047243ded021","name":"Support Files","path":"../Target Support Files/FirebaseCoreInternal","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e983c09173dfc655a38a6d4e419fbd39ebd","name":"FirebaseCoreInternal","path":"FirebaseCoreInternal","sourceTree":"","type":"group"},{"children":[{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e989b5a6d6941a300be315e89d9de2d68d7","path":"Sources/GoogleMobileAdsPlaceholder.swift","sourceTree":"","type":"file"},{"children":[{"fileType":"wrapper.xcframework","guid":"bfdfe7dc352907fc980b868725387e98b826f3b2eec55eed6a10b55f0ca6a6a0","path":"Frameworks/GoogleMobileAdsFramework/GoogleMobileAds.xcframework","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e985da7acad7847c0282de48c40c3457fd5","name":"Frameworks","path":"","sourceTree":"","type":"group"},{"children":[{"fileType":"text.xml","guid":"bfdfe7dc352907fc980b868725387e9848de9a416078da1867623b75fba91210","path":"Frameworks/GoogleMobileAdsFramework/GoogleMobileAds.xcframework/ios-arm64/GoogleMobileAds.framework/PrivacyInfo.xcprivacy","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e980843427c6f3ea1b49b9d8a5ceb837cad","name":"Resources","path":"","sourceTree":"","type":"group"},{"children":[{"fileType":"sourcecode.module-map","guid":"bfdfe7dc352907fc980b868725387e98717449eaae37fe982873b032cd675c49","path":"Google-Mobile-Ads-SDK.modulemap","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e980db896d121df87c41c7bb87c65b3946e","path":"Google-Mobile-Ads-SDK-dummy.m","sourceTree":"","type":"file"},{"fileType":"text.plist.xml","guid":"bfdfe7dc352907fc980b868725387e98c80d25f59959dcbd598cbcb223cd28c8","path":"Google-Mobile-Ads-SDK-Info.plist","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9849af401ecb9532c20e2a8e2308054636","path":"Google-Mobile-Ads-SDK-prefix.pch","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e982d361e23934d13045cda7e58f8f9e857","path":"Google-Mobile-Ads-SDK-umbrella.h","sourceTree":"","type":"file"},{"fileType":"text.script.sh","guid":"bfdfe7dc352907fc980b868725387e98dd60968e582a4ffe7188700abb88ad36","path":"Google-Mobile-Ads-SDK-xcframeworks.sh","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e98eef3be20c160fe75bf8789e71fe75d9a","path":"Google-Mobile-Ads-SDK.debug.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e988ad1fd18441580496a4b9e0a44f0cae8","path":"Google-Mobile-Ads-SDK.release.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.plist.xml","guid":"bfdfe7dc352907fc980b868725387e9896b109092d68856da0f72913bf577584","path":"ResourceBundle-GoogleMobileAdsResources-Google-Mobile-Ads-SDK-Info.plist","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e986c13915044e459412dd17ecf59234571","name":"Support Files","path":"../Target Support Files/Google-Mobile-Ads-SDK","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98057e639f67d47cf34347b6e1af69daa7","name":"Google-Mobile-Ads-SDK","path":"Google-Mobile-Ads-SDK","sourceTree":"","type":"group"},{"children":[{"children":[{"fileType":"wrapper.xcframework","guid":"bfdfe7dc352907fc980b868725387e98c43efdadfb220ffdf5295380ed083a19","path":"MetaAdapter-6.20.1.0/MetaAdapter.xcframework","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e981ab5211d0cd234a5ea9be5caa39e2398","name":"Frameworks","path":"","sourceTree":"","type":"group"},{"children":[{"fileType":"text.script.sh","guid":"bfdfe7dc352907fc980b868725387e981d830042957b784950b124340b06562a","path":"GoogleMobileAdsMediationFacebook-xcframeworks.sh","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e98f850c18f6937fd120321475e01101b34","path":"GoogleMobileAdsMediationFacebook.debug.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e98f12a631782f8376926b89f77c119f385","path":"GoogleMobileAdsMediationFacebook.release.xcconfig","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e9839e617bebb881f967675a7ac65938fa2","name":"Support Files","path":"../Target Support Files/GoogleMobileAdsMediationFacebook","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98da1421052f8e4b7ff17543067dbeb8cf","name":"GoogleMobileAdsMediationFacebook","path":"GoogleMobileAdsMediationFacebook","sourceTree":"","type":"group"},{"children":[{"children":[{"fileType":"wrapper.xcframework","guid":"bfdfe7dc352907fc980b868725387e986aa3915f04e13fe9166808a73b912cf8","path":"Frameworks/Release/UserMessagingPlatform.xcframework","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e988062995fa7829a31a5cd3f53a0177dcc","name":"Frameworks","path":"","sourceTree":"","type":"group"},{"children":[{"fileType":"text.xml","guid":"bfdfe7dc352907fc980b868725387e98640b59ad05d12383de1650adc4f4bc54","path":"Frameworks/Release/UserMessagingPlatform.xcframework/ios-arm64/UserMessagingPlatform.framework/PrivacyInfo.xcprivacy","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e985c8f2463fb70d5c97ecd73d01add1ce4","name":"Resources","path":"","sourceTree":"","type":"group"},{"children":[{"fileType":"text.script.sh","guid":"bfdfe7dc352907fc980b868725387e989119c064c9260b0fb80b69420a95fbd7","path":"GoogleUserMessagingPlatform-xcframeworks.sh","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e980fcd71e29c5847bc1bc9583f1118e75f","path":"GoogleUserMessagingPlatform.debug.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e985c479bbc4c266fbeb3d57a3c706051fb","path":"GoogleUserMessagingPlatform.release.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.plist.xml","guid":"bfdfe7dc352907fc980b868725387e98bf7c3664526b9abaddef0ea0511d0ccd","path":"ResourceBundle-UserMessagingPlatformResources-GoogleUserMessagingPlatform-Info.plist","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e98573971a6ed6f4086459e130630f389c5","name":"Support Files","path":"../Target Support Files/GoogleUserMessagingPlatform","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98f4780f57ef61b308f354bbc6939e42b2","name":"GoogleUserMessagingPlatform","path":"GoogleUserMessagingPlatform","sourceTree":"","type":"group"},{"children":[{"children":[{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98c29046bbab936122dbb0c2cfc14ba72d","path":"GoogleUtilities/AppDelegateSwizzler/Public/GoogleUtilities/GULAppDelegateSwizzler.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e9836a90af84591e983274e6666393b3a2e","path":"GoogleUtilities/AppDelegateSwizzler/GULAppDelegateSwizzler.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98eab1d503d7f2282f98d6d9a02d7ec14d","path":"GoogleUtilities/AppDelegateSwizzler/Internal/GULAppDelegateSwizzler_Private.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e980cb51518c389a1e74d47410a29888c54","path":"GoogleUtilities/AppDelegateSwizzler/Public/GoogleUtilities/GULApplication.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98475fd4618ac5ac675f5ed1b8f6b6716f","path":"GoogleUtilities/Common/GULLoggerCodes.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98ade842c0931397013938f333262dace9","path":"GoogleUtilities/AppDelegateSwizzler/Public/GoogleUtilities/GULSceneDelegateSwizzler.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98bb8b15be2869f96e89cb90c94f936c88","path":"GoogleUtilities/AppDelegateSwizzler/GULSceneDelegateSwizzler.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e988abc52683367496919aa598227a1331f","path":"GoogleUtilities/AppDelegateSwizzler/Internal/GULSceneDelegateSwizzler_Private.h","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e98d4f06bfa9c5182a77e6e55f67e8cc512","name":"AppDelegateSwizzler","path":"","sourceTree":"","type":"group"},{"children":[{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98d2f8185c0a44a500020d910dc85efd9a","path":"GoogleUtilities/Environment/Public/GoogleUtilities/GULAppEnvironmentUtil.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98c27f8b93b1c490fbac91a853d0924367","path":"GoogleUtilities/Environment/GULAppEnvironmentUtil.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e985108977873122d0fd57cf870ac976fae","path":"GoogleUtilities/Environment/Public/GoogleUtilities/GULKeychainStorage.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e9804c38c80ac78ea91dfede61e8a02a9f4","path":"GoogleUtilities/Environment/SecureStorage/GULKeychainStorage.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9852edbfb572efb173287d7f90327aaf76","path":"GoogleUtilities/Environment/Public/GoogleUtilities/GULKeychainUtils.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98e76ed7edc7a31347233120173cdb2e3a","path":"GoogleUtilities/Environment/SecureStorage/GULKeychainUtils.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98ed0c4266fd7527af26b4180205338e03","path":"GoogleUtilities/Environment/Public/GoogleUtilities/GULNetworkInfo.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98089b73b727d89e627dc2d8e0e82dc186","path":"GoogleUtilities/Environment/NetworkInfo/GULNetworkInfo.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e985c18bce96838a531d4d7946d6ee3e86f","path":"third_party/IsAppEncrypted/Public/IsAppEncrypted.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98c93ef45b447d11d19620fa2627f46021","path":"third_party/IsAppEncrypted/IsAppEncrypted.m","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e98761489bb4112f6bc6df0aa40ef1c771c","name":"Environment","path":"","sourceTree":"","type":"group"},{"children":[{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98618f336933ff6de3d4b3c21ed135498e","path":"GoogleUtilities/Logger/Public/GoogleUtilities/GULLogger.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e984a49ba4137eac58897391a09f550b916","path":"GoogleUtilities/Logger/GULLogger.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e981958c32a9380d192ba5d6d582d804a04","path":"GoogleUtilities/Logger/Public/GoogleUtilities/GULLoggerLevel.h","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e9877fe81efee4784e48ad0f8fe8e414f5e","name":"Logger","path":"","sourceTree":"","type":"group"},{"children":[{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98873946fb03e9b9792f4f2c868cb04157","path":"GoogleUtilities/Network/Public/GoogleUtilities/GULMutableDictionary.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e983e9921832e287ee04048d221e1bee849","path":"GoogleUtilities/Network/GULMutableDictionary.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98b539eaa0485467aec39f108decf7ce35","path":"GoogleUtilities/Network/Public/GoogleUtilities/GULNetwork.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e987128275d56f53442e3921be1a6970593","path":"GoogleUtilities/Network/GULNetwork.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98f596251d1ba47fb590a11c4fedd4bad6","path":"GoogleUtilities/Network/Public/GoogleUtilities/GULNetworkConstants.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e985b8cba972f211425405a63011c53445a","path":"GoogleUtilities/Network/GULNetworkConstants.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e988a9a3e02046e4440587c711dad22de63","path":"GoogleUtilities/Network/GULNetworkInternal.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98676e9831ef9ffb5a827c77d203afd919","path":"GoogleUtilities/Network/Public/GoogleUtilities/GULNetworkLoggerProtocol.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98436c7dd83d7131340adf9904ee2a22d7","path":"GoogleUtilities/Network/Public/GoogleUtilities/GULNetworkMessageCode.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98e8161f35d2f39b644227bef4985f0d59","path":"GoogleUtilities/Network/Public/GoogleUtilities/GULNetworkURLSession.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e9823abfe0467d22e8134a5c86c0381cf91","path":"GoogleUtilities/Network/GULNetworkURLSession.m","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e98129b859ec7a38d29ec21e6c03ace21af","name":"Network","path":"","sourceTree":"","type":"group"},{"children":[{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98e22f64f75d44ed26f0063f98c220931a","path":"GoogleUtilities/NSData+zlib/Public/GoogleUtilities/GULNSData+zlib.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e9817e6f355fc27ce11ca9eca96e7177a5a","path":"GoogleUtilities/NSData+zlib/GULNSData+zlib.m","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e989adb618c58879974baa4315a2f458a02","name":"NSData+zlib","path":"","sourceTree":"","type":"group"},{"children":[{"children":[{"fileType":"text.xml","guid":"bfdfe7dc352907fc980b868725387e985d3def67c82fae95425ab472ba727077","path":"GoogleUtilities/Privacy/Resources/PrivacyInfo.xcprivacy","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e98181b9c10ada053953db4a2a3511f90be","name":"Resources","path":"","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98c4a9a338166ff287830de607a0dd3a4f","name":"Privacy","path":"","sourceTree":"","type":"group"},{"children":[{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98c794a9f352278aabf8d2fa9bcf1b4ee3","path":"GoogleUtilities/Reachability/Public/GoogleUtilities/GULReachabilityChecker.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e986a169b3bbe51ae95f696d081d0a7c6eb","path":"GoogleUtilities/Reachability/GULReachabilityChecker.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e988c2d21cc3ccea47a9793788238de5094","path":"GoogleUtilities/Reachability/GULReachabilityChecker+Internal.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e987937768805e8acc718e8e50513d69cbd","path":"GoogleUtilities/Reachability/GULReachabilityMessageCode.h","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e985c8183b2a1b690d7fc5cf16eded0a660","name":"Reachability","path":"","sourceTree":"","type":"group"},{"children":[{"fileType":"sourcecode.module-map","guid":"bfdfe7dc352907fc980b868725387e988810e7fc4c8a26443c34ad145807005b","path":"GoogleUtilities.modulemap","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98d975ca315b4242d5baed303cb7aab051","path":"GoogleUtilities-dummy.m","sourceTree":"","type":"file"},{"fileType":"text.plist.xml","guid":"bfdfe7dc352907fc980b868725387e9858e770d96ac8d7973f4cf8649830ef88","path":"GoogleUtilities-Info.plist","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98845f39c98795e88b4a4937d3cf6cf467","path":"GoogleUtilities-umbrella.h","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e981ccda656ca076caea1e69514af198f0f","path":"GoogleUtilities.debug.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e984a59f58d9dc78fdedc9a249bdac259e0","path":"GoogleUtilities.release.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.plist.xml","guid":"bfdfe7dc352907fc980b868725387e98bc384638e42a052945bada9e63f9f837","path":"ResourceBundle-GoogleUtilities_Privacy-GoogleUtilities-Info.plist","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e98ff1fa82abe4489b8840a96f064678df8","name":"Support Files","path":"../Target Support Files/GoogleUtilities","sourceTree":"","type":"group"},{"children":[{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98c5a84dc841d16549464a86e97f593c03","path":"GoogleUtilities/UserDefaults/Public/GoogleUtilities/GULUserDefaults.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98ab52ae4e38d39e8507fe9603aa99a926","path":"GoogleUtilities/UserDefaults/GULUserDefaults.m","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e98ec31974f53c5a27c4ae9331d001d06a6","name":"UserDefaults","path":"","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98730de65bcbdfac7e956e6faf65c53e86","name":"GoogleUtilities","path":"GoogleUtilities","sourceTree":"","type":"group"},{"children":[{"children":[{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98eb4aaedbcf9860120c58f6d4d062f032","path":"Sources/Core/Public/GTMSessionFetcher/GTMSessionFetcher.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98cc293d93ed0348775d80402fa066a035","path":"Sources/Core/GTMSessionFetcher.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98dfa923d33e197f2f10f071abff2371ff","path":"Sources/Core/Public/GTMSessionFetcher/GTMSessionFetcherLogging.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98e555f92b94394e98b028c2f2173f7a28","path":"Sources/Core/GTMSessionFetcherLogging.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98d312b9b5d7afb9da1592f829033a3206","path":"Sources/Core/Public/GTMSessionFetcher/GTMSessionFetcherService.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e983b71212203a0dad88a8868b08a6dbc06","path":"Sources/Core/GTMSessionFetcherService.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e983d4c09b113cf1215cd28e8d9ac61a23f","path":"Sources/Core/GTMSessionFetcherService+Internal.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9885235b209117c45670e8a7e932ed032d","path":"Sources/Core/Public/GTMSessionFetcher/GTMSessionUploadFetcher.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98f0441880a424196f2e774e387ed25a77","path":"Sources/Core/GTMSessionUploadFetcher.m","sourceTree":"","type":"file"},{"children":[{"fileType":"text.xml","guid":"bfdfe7dc352907fc980b868725387e98159e7e7e4b98dfa70678e12155a8ed77","path":"Sources/Core/Resources/PrivacyInfo.xcprivacy","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e98a230ab3f02aa7b59b81f045a257a019d","name":"Resources","path":"","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98a3b6152264436bcb69edc55467bb085c","name":"Core","path":"","sourceTree":"","type":"group"},{"children":[{"fileType":"sourcecode.module-map","guid":"bfdfe7dc352907fc980b868725387e98a25074687bd47b432124a152694eeb8d","path":"GTMSessionFetcher.modulemap","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98043df5bc2e7d05caf248348a4d634e19","path":"GTMSessionFetcher-dummy.m","sourceTree":"","type":"file"},{"fileType":"text.plist.xml","guid":"bfdfe7dc352907fc980b868725387e98c1fd636888d3cfa01ec5b862d3399c64","path":"GTMSessionFetcher-Info.plist","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e983987a537a915850cc63a9531255da27c","path":"GTMSessionFetcher-umbrella.h","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e98478e27dfe1d9ad49d28fafd65b85bf34","path":"GTMSessionFetcher.debug.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e980d155ae95de828a9ae777ff4d23d3419","path":"GTMSessionFetcher.release.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.plist.xml","guid":"bfdfe7dc352907fc980b868725387e9809bf32a80e7276875dd9bcc6a0b2ced3","path":"ResourceBundle-GTMSessionFetcher_Core_Privacy-GTMSessionFetcher-Info.plist","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e98ae477d4033fdc504b018d76c247eb47c","name":"Support Files","path":"../Target Support Files/GTMSessionFetcher","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98b6228db765bb282b42783fbadc6a0681","name":"GTMSessionFetcher","path":"GTMSessionFetcher","sourceTree":"","type":"group"},{"children":[{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9833df98e018adc77b9ee56cdc07aacd3f","path":"Sources/FBLPromises/include/FBLPromise.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98c5db8499ea7419409c1cfaef6255d1d3","path":"Sources/FBLPromises/FBLPromise.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9865be438db2f61c5160b40adf875e6b14","path":"Sources/FBLPromises/include/FBLPromise+All.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98777d27b0a850f634f1b15c4202c2a016","path":"Sources/FBLPromises/FBLPromise+All.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98ec2937fc269337ef369568770a9974f6","path":"Sources/FBLPromises/include/FBLPromise+Always.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98ffaf0c786ee256fbae57c03e63ee964b","path":"Sources/FBLPromises/FBLPromise+Always.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e986d7afd8b9ef329e8b8092b4b4d73ca33","path":"Sources/FBLPromises/include/FBLPromise+Any.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98d2abfa3a17fc90c3c9f15d3fe7b22740","path":"Sources/FBLPromises/FBLPromise+Any.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98d96fd933472cfe31b39378ea674cb4ef","path":"Sources/FBLPromises/include/FBLPromise+Async.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e981ed65769418714c2f278ad25bd9f7a36","path":"Sources/FBLPromises/FBLPromise+Async.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e984258d000b808182a55ed359ba4e63953","path":"Sources/FBLPromises/include/FBLPromise+Await.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98cb71e8d54abeffaf6876d55d161f8006","path":"Sources/FBLPromises/FBLPromise+Await.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e988131c2b568eaafe86a12b2ad83d7db48","path":"Sources/FBLPromises/include/FBLPromise+Catch.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e984a5efdb875e93d5ef617a439c38360ce","path":"Sources/FBLPromises/FBLPromise+Catch.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e984bf3ce587970ab6f7feb6f67744292b5","path":"Sources/FBLPromises/include/FBLPromise+Delay.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98b26e3f35080a2f116c44cf27fa7211e6","path":"Sources/FBLPromises/FBLPromise+Delay.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98c73fcebb94e4884285929eea119100a0","path":"Sources/FBLPromises/include/FBLPromise+Do.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e988c4e1d65136512ca7286df227a07f5ab","path":"Sources/FBLPromises/FBLPromise+Do.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98ce3820605a66e6df7ad360709285dcaa","path":"Sources/FBLPromises/include/FBLPromise+Race.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e984fce25a60148febae2186288f08b436e","path":"Sources/FBLPromises/FBLPromise+Race.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e983f1026a051b69c332802557f54f5f15b","path":"Sources/FBLPromises/include/FBLPromise+Recover.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98bbda8e0bcbecd512009527784f343c26","path":"Sources/FBLPromises/FBLPromise+Recover.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98cf41e5e95c462c3dc24471acd8e6551e","path":"Sources/FBLPromises/include/FBLPromise+Reduce.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e986bc4b82de6a07b4b56186b6d599cee80","path":"Sources/FBLPromises/FBLPromise+Reduce.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9876bb9188aba89de9ffca92bd18712f1a","path":"Sources/FBLPromises/include/FBLPromise+Retry.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98b132b82c791d131185c0584a12d86eec","path":"Sources/FBLPromises/FBLPromise+Retry.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98a8c1c5b1e81fee43b5a34049e1ebbef2","path":"Sources/FBLPromises/include/FBLPromise+Testing.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e983e0d7c9928fe1a8aedc0d9f70af2000e","path":"Sources/FBLPromises/FBLPromise+Testing.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98fb74040e3b4703dc724128dc4259fe39","path":"Sources/FBLPromises/include/FBLPromise+Then.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98ade208b2779864b1dc5eccaf8a2e3787","path":"Sources/FBLPromises/FBLPromise+Then.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98859f6f736e1f8d98f41892e3f0b95c17","path":"Sources/FBLPromises/include/FBLPromise+Timeout.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98ecaad0c1ae197eeb9134fb47589e7311","path":"Sources/FBLPromises/FBLPromise+Timeout.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e980d24fc5ca57e8742be1a4aa5fca26a6c","path":"Sources/FBLPromises/include/FBLPromise+Validate.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98b5d435fc4bd55488b943552a9c620acb","path":"Sources/FBLPromises/FBLPromise+Validate.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e984901e26a9bf94289c40945076a433f5b","path":"Sources/FBLPromises/include/FBLPromise+Wrap.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98cfcaeda41cd8a5573825d9903c2fb4ed","path":"Sources/FBLPromises/FBLPromise+Wrap.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9845b5945be755a7e7bb5daae3aa99c2dc","path":"Sources/FBLPromises/include/FBLPromiseError.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98aa1ef7de5583853025e4a24a30edc99b","path":"Sources/FBLPromises/FBLPromiseError.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e986eee35874291a8ab220e7a802313658a","path":"Sources/FBLPromises/include/FBLPromisePrivate.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98b8523b9773a8337dad012c738c7729d0","path":"Sources/FBLPromises/include/FBLPromises.h","sourceTree":"","type":"file"},{"children":[{"fileType":"text.xml","guid":"bfdfe7dc352907fc980b868725387e988bb932e6bd0db8acade7ecd6b9275b8e","path":"Sources/FBLPromises/Resources/PrivacyInfo.xcprivacy","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e985b0b38ace790464e9ae87a9e60d781df","name":"Resources","path":"","sourceTree":"","type":"group"},{"children":[{"fileType":"sourcecode.module-map","guid":"bfdfe7dc352907fc980b868725387e98aa8fe4ac5bef26b7ccdedf7e33f0afff","path":"PromisesObjC.modulemap","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98f0de8f3e81d724b92d50c2f87e9f8c47","path":"PromisesObjC-dummy.m","sourceTree":"","type":"file"},{"fileType":"text.plist.xml","guid":"bfdfe7dc352907fc980b868725387e981c9a4d0de8c15c822beab4e459b95339","path":"PromisesObjC-Info.plist","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98b32e4e3946291ecb96c31535ac7e701c","path":"PromisesObjC-umbrella.h","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e9870bacfaf6cde3d89a76fe4e932cc6788","path":"PromisesObjC.debug.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e9889d254ad5933689bf555dbc41d2fcf23","path":"PromisesObjC.release.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.plist.xml","guid":"bfdfe7dc352907fc980b868725387e98ffa99e39df737e029151673e255b8518","path":"ResourceBundle-FBLPromises_Privacy-PromisesObjC-Info.plist","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e988e0a79b29d8d06acd35992c3f300c06c","name":"Support Files","path":"../Target Support Files/PromisesObjC","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98eaa2548ef7c9368c0e0bc0a0d06fed6f","name":"PromisesObjC","path":"PromisesObjC","sourceTree":"","type":"group"},{"children":[{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98f53a2b9142a2e19252d075f8af76efe2","path":"RecaptchaEnterprise/RecaptchaInterop/placeholder.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9846288276371e5cec52e9a8a0d7bce8d6","path":"RecaptchaEnterprise/RecaptchaInterop/Public/RecaptchaInterop/RCAActionProtocol.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9888baa60dc9fe0ff0987f46e74e092236","path":"RecaptchaEnterprise/RecaptchaInterop/Public/RecaptchaInterop/RCARecaptchaClientProtocol.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e985616a2553f97c6ad675d654cea953c03","path":"RecaptchaEnterprise/RecaptchaInterop/Public/RecaptchaInterop/RCARecaptchaProtocol.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9898b4264b684c69bf23f82e2a6781718d","path":"RecaptchaEnterprise/RecaptchaInterop/Public/RecaptchaInterop/RecaptchaInterop.h","sourceTree":"","type":"file"},{"children":[{"fileType":"sourcecode.module-map","guid":"bfdfe7dc352907fc980b868725387e983d1e479aaab62448caf944f7a64cdecc","path":"RecaptchaInterop.modulemap","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98eaaffa60434f1c632748d87268193d14","path":"RecaptchaInterop-dummy.m","sourceTree":"","type":"file"},{"fileType":"text.plist.xml","guid":"bfdfe7dc352907fc980b868725387e983415c16ec9a84b848d88010a44012ae2","path":"RecaptchaInterop-Info.plist","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98cee6e4bce2523a5d03ffcf632da2704e","path":"RecaptchaInterop-prefix.pch","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98c54e5d70b03e206695cd4cd8927c8cc8","path":"RecaptchaInterop-umbrella.h","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e9820adfbf68e5990b89cefc5d0ec651cfd","path":"RecaptchaInterop.debug.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e98e4c67bec0da225378144113a5283f5e7","path":"RecaptchaInterop.release.xcconfig","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e98e539d82860197b6df3b978bac898e8d2","name":"Support Files","path":"../Target Support Files/RecaptchaInterop","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98541b599af1ad5ca4951ba2d00e657d7c","name":"RecaptchaInterop","path":"RecaptchaInterop","sourceTree":"","type":"group"},{"children":[{"children":[{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98d5777166096230085837e5a6300319ad","path":"SDWebImage/Private/NSBezierPath+SDRoundedCorners.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e981927866bac5164139b4906c697c2ae1a","path":"SDWebImage/Private/NSBezierPath+SDRoundedCorners.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e988cb0cdc02aa29fb804ef97672630b130","path":"SDWebImage/Core/NSButton+WebCache.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e9879873ec62bf39c031f9405690a0f73c5","path":"SDWebImage/Core/NSButton+WebCache.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98c822fa9c81a63d01137ef8b8fb09fb10","path":"SDWebImage/Core/NSData+ImageContentType.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98ee02f559016795b3a0d12920773904b0","path":"SDWebImage/Core/NSData+ImageContentType.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98bef996f30e7cd8f81a41b150807d2a9d","path":"SDWebImage/Core/NSImage+Compatibility.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98054e5d375da8f4d58909b03284d2ffb5","path":"SDWebImage/Core/NSImage+Compatibility.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e984094c7d883e6e69778784d589b0e06ff","path":"SDWebImage/Core/SDAnimatedImage.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98e057edb06a9fb0ee234d2501e566c13c","path":"SDWebImage/Core/SDAnimatedImage.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e983a316a9a3c0d0918d8038d51d1ce2a7b","path":"SDWebImage/Core/SDAnimatedImagePlayer.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e9864350921c8a3eb6e2717b3957fc629b0","path":"SDWebImage/Core/SDAnimatedImagePlayer.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e981d5092826a9dbc8d0808fdcaa23aeb53","path":"SDWebImage/Core/SDAnimatedImageRep.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e985042bb443803b56b9c76461c6b782096","path":"SDWebImage/Core/SDAnimatedImageRep.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98e04128ff9b1a8ec5bb663090da8e9106","path":"SDWebImage/Core/SDAnimatedImageView.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98d6b7c5fd8f27324b1d4b9b72d5246584","path":"SDWebImage/Core/SDAnimatedImageView.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e983d94e2a4234b8e8df332860ab5c28460","path":"SDWebImage/Core/SDAnimatedImageView+WebCache.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e9869d5460295efbc7dc43c12e14196373a","path":"SDWebImage/Core/SDAnimatedImageView+WebCache.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e981ee2ea2c0f3451ad81e4cd37571a9217","path":"SDWebImage/Private/SDAssociatedObject.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98162b8fefd8d643427787492f1c51da3d","path":"SDWebImage/Private/SDAssociatedObject.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e988c36ed33a6b70955a1fe117c31119455","path":"SDWebImage/Private/SDAsyncBlockOperation.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98ee7eac77a5571e1e9e215e3c5a54cd59","path":"SDWebImage/Private/SDAsyncBlockOperation.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98705e37d167e6aa4fe5e7a89434983b0b","path":"SDWebImage/Core/SDCallbackQueue.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e988427fc8c610fd8f3e1bb219ece805796","path":"SDWebImage/Core/SDCallbackQueue.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98ad42019143a452170ac8f0ccbe351bec","path":"SDWebImage/Private/SDDeviceHelper.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98265fb41c11ac01db9fe94aa464810666","path":"SDWebImage/Private/SDDeviceHelper.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98855529e142431b9ff21b7623dc2343aa","path":"SDWebImage/Core/SDDiskCache.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e985212637a8a891d9412516918621e1a39","path":"SDWebImage/Core/SDDiskCache.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98d9d549ee09361b3182ffb3a7cb2c4f16","path":"SDWebImage/Private/SDDisplayLink.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98e26d3f5025495b220ddd4f6207f4587b","path":"SDWebImage/Private/SDDisplayLink.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9831d5facff92bfe7ff1b1f885cc66a0ef","path":"SDWebImage/Private/SDFileAttributeHelper.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e987aeb1677aa3f05f1761f846718835c50","path":"SDWebImage/Private/SDFileAttributeHelper.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98b10e1dc2d838c45be2daa77f2da23187","path":"SDWebImage/Core/SDGraphicsImageRenderer.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98f959b628d5b8052a17713834ad57fb09","path":"SDWebImage/Core/SDGraphicsImageRenderer.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98ccbf3bd085b02b578987707f8792f7b3","path":"SDWebImage/Core/SDImageAPNGCoder.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e9806ad195b6f8d839ae85aaad6a082e134","path":"SDWebImage/Core/SDImageAPNGCoder.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e987c0adab35058c318538f4dc83454ce4e","path":"SDWebImage/Private/SDImageAssetManager.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e982d87c15323f45612fa9da3bf7eb1f67c","path":"SDWebImage/Private/SDImageAssetManager.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e987a842fd7d0d8113b0e4b745df45548eb","path":"SDWebImage/Core/SDImageAWebPCoder.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e980aaa2ce18060018d8582b15deb60717e","path":"SDWebImage/Core/SDImageAWebPCoder.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98590daa9c16ed56ce3ab6dd2cc5e71b02","path":"SDWebImage/Core/SDImageCache.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98df178355066c42ee41917de773f15445","path":"SDWebImage/Core/SDImageCache.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98e0f1d1916f1c2c74d3580b1a8beadbc9","path":"SDWebImage/Core/SDImageCacheConfig.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98591862058e662b5f63b1e4a002b7c7c5","path":"SDWebImage/Core/SDImageCacheConfig.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98f9e678ebe42d48ec13e555aada3bc3d9","path":"SDWebImage/Core/SDImageCacheDefine.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98f83f5f89240fd2c759541ca77d087f0c","path":"SDWebImage/Core/SDImageCacheDefine.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e988da911fe8274c9c625d56ca791baefb0","path":"SDWebImage/Core/SDImageCachesManager.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e989af56a45d24d5431edf6bad850b00d11","path":"SDWebImage/Core/SDImageCachesManager.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98523fb53a069b36128e18dd0e59218348","path":"SDWebImage/Private/SDImageCachesManagerOperation.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e986bac22c527310784f1c006e87f3294ce","path":"SDWebImage/Private/SDImageCachesManagerOperation.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9838cb0d098103b3b9e86956ad87b22b2d","path":"SDWebImage/Core/SDImageCoder.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e981c2992260f8b3902274cb45c5378a77c","path":"SDWebImage/Core/SDImageCoder.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98e088deb5da5e6541c7b77e9a11ea92c4","path":"SDWebImage/Core/SDImageCoderHelper.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98e34fca7fb9515751e5b65daa60892205","path":"SDWebImage/Core/SDImageCoderHelper.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98c0a8f0a8b8deec84cfa655fb07cfa5ee","path":"SDWebImage/Core/SDImageCodersManager.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e982943aac92a9cbecd2cbbb9c61b214642","path":"SDWebImage/Core/SDImageCodersManager.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e982d86fa74c86e4b192ae203192c4ecbf7","path":"SDWebImage/Core/SDImageFrame.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e981af493bf2a6d92e228891b304a7c2b30","path":"SDWebImage/Core/SDImageFrame.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98be1b86c55734f717d0ca31fec781de9d","path":"SDWebImage/Private/SDImageFramePool.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e9889a07bab11e055a44d47d0a84563e088","path":"SDWebImage/Private/SDImageFramePool.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9852dc3cd416a8f2168164e78857457a58","path":"SDWebImage/Core/SDImageGIFCoder.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98a1d2c3a622ecffffe17ef46139139ca8","path":"SDWebImage/Core/SDImageGIFCoder.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98a7717b19769aeb6b9ee109e003eaf3c5","path":"SDWebImage/Core/SDImageGraphics.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e984d09367fa07320c0ed18d8d09ef5757c","path":"SDWebImage/Core/SDImageGraphics.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98b054f24c9d53f55652ce125ed0820b32","path":"SDWebImage/Core/SDImageHEICCoder.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98616683757c0e1501dd6570169bfd41ac","path":"SDWebImage/Core/SDImageHEICCoder.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9876f5fe642db8bd371f16f87ea2265fdd","path":"SDWebImage/Core/SDImageIOAnimatedCoder.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e988c25500f4df2d88e68f29160fa6d1d5a","path":"SDWebImage/Core/SDImageIOAnimatedCoder.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98736d5194c32aab23367381e19d3ce3fd","path":"SDWebImage/Private/SDImageIOAnimatedCoderInternal.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98e27502a34cf0d8b4655a10b7a907244d","path":"SDWebImage/Core/SDImageIOCoder.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e986a6bcd435124a56335e622830e53d4c3","path":"SDWebImage/Core/SDImageIOCoder.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98b5bfcc15d82c4bdb3694c0a573f3a82c","path":"SDWebImage/Core/SDImageLoader.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e988f7a31d9a7fba991cd82fb921f090297","path":"SDWebImage/Core/SDImageLoader.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9854d83c03faf3ccae2f85ebc06d3edfd7","path":"SDWebImage/Core/SDImageLoadersManager.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98bbe9461acf5722bf63f491f75f987246","path":"SDWebImage/Core/SDImageLoadersManager.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9818cbd8a1594265b40676b393a478ca19","path":"SDWebImage/Core/SDImageTransformer.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e980cd5a67e18edfb65db64920ac80317e1","path":"SDWebImage/Core/SDImageTransformer.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e988ce6991ade90f9118664f77be651e9e7","path":"SDWebImage/Private/SDInternalMacros.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98665db2580b70e0265552837a06ece510","path":"SDWebImage/Private/SDInternalMacros.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98615e5afab5c4b60f4f54bf4a24d5d7f4","path":"SDWebImage/Core/SDMemoryCache.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e9803d55e2bb08b712edefa8542b0d821f2","path":"SDWebImage/Core/SDMemoryCache.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98a1e40288f11809e02afe6d0add4ed3bc","path":"SDWebImage/Private/SDmetamacros.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98f3090cb74fc1105440000f3b094dac06","path":"SDWebImage/Private/SDWeakProxy.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e988f335221864e0c7abd228aa513d49083","path":"SDWebImage/Private/SDWeakProxy.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e982a45a60f2cf9e6b4362fdb5d961d3730","path":"WebImage/SDWebImage.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98645f30d4b737a9944563bf1acbd19e86","path":"SDWebImage/Core/SDWebImageCacheKeyFilter.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e984d3a38375b819f97a2e590d76e3d68be","path":"SDWebImage/Core/SDWebImageCacheKeyFilter.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e982d6c2872630ef832dce2de99d07b9a55","path":"SDWebImage/Core/SDWebImageCacheSerializer.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98ed97a12539b70fccd51dec37544af27e","path":"SDWebImage/Core/SDWebImageCacheSerializer.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98843243bab3fa1f3d33a82459406db798","path":"SDWebImage/Core/SDWebImageCompat.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e988dd995935f6b4bed79a6300837319a14","path":"SDWebImage/Core/SDWebImageCompat.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98b3d9d1eff24b478076662e7793cc0f81","path":"SDWebImage/Core/SDWebImageDefine.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e985c56464dbc24f4b98cd30d9927bd9b20","path":"SDWebImage/Core/SDWebImageDefine.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9852467a5c652bd848d515dcaabfba92be","path":"SDWebImage/Core/SDWebImageDownloader.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e9870310f2e959bc3a5eff9174c850cbe6e","path":"SDWebImage/Core/SDWebImageDownloader.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e981c37503503856f7bb1bf94b84df33811","path":"SDWebImage/Core/SDWebImageDownloaderConfig.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98376eb6b21e867b2936731a0373f7aa37","path":"SDWebImage/Core/SDWebImageDownloaderConfig.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98566b09412f1c142b2d2182d03c2a7c53","path":"SDWebImage/Core/SDWebImageDownloaderDecryptor.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98b463364ff9c18b81a6609b062a5130db","path":"SDWebImage/Core/SDWebImageDownloaderDecryptor.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98ba6dde7dbf6bb8b5d90dd818665d1c99","path":"SDWebImage/Core/SDWebImageDownloaderOperation.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e988d11b2e1b05020946624f2f29892aa00","path":"SDWebImage/Core/SDWebImageDownloaderOperation.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98d2287b1d56a60c6eccdf938b9aa947fd","path":"SDWebImage/Core/SDWebImageDownloaderRequestModifier.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98b7defa3347432052375b438e2e2a471d","path":"SDWebImage/Core/SDWebImageDownloaderRequestModifier.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e985db8e4d10c219b6975cdd62ddf92d0aa","path":"SDWebImage/Core/SDWebImageDownloaderResponseModifier.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e987e7eb9b69db6e27a15c85f9fac88c21b","path":"SDWebImage/Core/SDWebImageDownloaderResponseModifier.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98a20f21b83c952074caf5d18873e86258","path":"SDWebImage/Core/SDWebImageError.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98e94d1578f99b30508d8845d701648ecd","path":"SDWebImage/Core/SDWebImageError.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e980db9b1158e6646728005aa55be435f85","path":"SDWebImage/Core/SDWebImageIndicator.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e9812938caf7996c6d80dbf9271d3a6f958","path":"SDWebImage/Core/SDWebImageIndicator.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98d48abcca92cf18856278d322cd682f4c","path":"SDWebImage/Core/SDWebImageManager.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98f3d32e8ce6d42e2d053519de5c184f67","path":"SDWebImage/Core/SDWebImageManager.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e983f4f10857c92a9d96bc0bf380825345b","path":"SDWebImage/Core/SDWebImageOperation.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98c5d01b3d56827bfde5187df4ae8ae6f7","path":"SDWebImage/Core/SDWebImageOperation.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9826c93ac59a6de6260adf7777d48a8e6b","path":"SDWebImage/Core/SDWebImageOptionsProcessor.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e980bace14250c740b8f01102fed49a6f3f","path":"SDWebImage/Core/SDWebImageOptionsProcessor.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e985628e9529c81661cd2bf059df123f941","path":"SDWebImage/Core/SDWebImagePrefetcher.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98bd63cec024b8004a2cfea6c1f3c3a16d","path":"SDWebImage/Core/SDWebImagePrefetcher.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e985c307f6e0adf9012f1be72c3d0497a21","path":"SDWebImage/Core/SDWebImageTransition.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98f249276cf2cb89b2af74b98fc236dc19","path":"SDWebImage/Core/SDWebImageTransition.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e984b1e3ffd1fb39dc94affca31b4e27b9e","path":"SDWebImage/Private/SDWebImageTransitionInternal.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e988fc042ecdc017c735af204f8c0612394","path":"SDWebImage/Core/UIButton+WebCache.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98741d531661b69bd4c010ad24b33cb126","path":"SDWebImage/Core/UIButton+WebCache.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98d80e8bd3db060dde5d194ccc462db4de","path":"SDWebImage/Private/UIColor+SDHexString.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98fad610585409b4155dfb77dfb11aaff8","path":"SDWebImage/Private/UIColor+SDHexString.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e982c7dbddc604a244196428b8fc46f5cac","path":"SDWebImage/Core/UIImage+ExtendedCacheData.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98b8c9eb74f63ffa618a81f634e2d0e973","path":"SDWebImage/Core/UIImage+ExtendedCacheData.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e984f21f0eb8f4805c253e862eb24369362","path":"SDWebImage/Core/UIImage+ForceDecode.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e9810aa22726b627e7bbff26562ab33a902","path":"SDWebImage/Core/UIImage+ForceDecode.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98a364326f3629a82d35fe5e5601a7cfec","path":"SDWebImage/Core/UIImage+GIF.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98b6a6fe4795e9ccd8158ae4c0af0f8c8c","path":"SDWebImage/Core/UIImage+GIF.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98eab3c5f10863c41bce28b75442dcfb0f","path":"SDWebImage/Core/UIImage+MemoryCacheCost.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e987bc99a6470d3a1db520bcbccc094ac70","path":"SDWebImage/Core/UIImage+MemoryCacheCost.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e988fe87f3480a506b882b7262afada35a2","path":"SDWebImage/Core/UIImage+Metadata.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e9857856e03e3b248fde2b403cff7be0c2d","path":"SDWebImage/Core/UIImage+Metadata.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98d5f4296b72582a649e28a8d376925930","path":"SDWebImage/Core/UIImage+MultiFormat.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e9858b4d3f93823a7a844e9af48e325ea6b","path":"SDWebImage/Core/UIImage+MultiFormat.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98350b1090302f51cfb21e01d8415c7609","path":"SDWebImage/Core/UIImage+Transform.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98f1cdf8141b4e6f72ce96cfc4e114ac93","path":"SDWebImage/Core/UIImage+Transform.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98099e64b0490c5209324be8367cf59b67","path":"SDWebImage/Core/UIImageView+HighlightedWebCache.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e9820c91663ac328caa6a772dc1aec7f895","path":"SDWebImage/Core/UIImageView+HighlightedWebCache.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e9853d9196d0b2578d8a09ef594daec2b10","path":"SDWebImage/Core/UIImageView+WebCache.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98c40558907257758691a97ebe7d32550e","path":"SDWebImage/Core/UIImageView+WebCache.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98358c67ecbf86e16ee420fdc0f60209d6","path":"SDWebImage/Core/UIView+WebCache.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e988613cca076d4233fbc8f533d7bf66208","path":"SDWebImage/Core/UIView+WebCache.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98338ff7df5b388b8cb6dc581ce584707b","path":"SDWebImage/Core/UIView+WebCacheOperation.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e988bfe961a333b087f09acd251c89287f8","path":"SDWebImage/Core/UIView+WebCacheOperation.m","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e980f510685009abf4916684cac897048e9","path":"SDWebImage/Core/UIView+WebCacheState.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e987e9e853cad7160fab37152132380f5fa","path":"SDWebImage/Core/UIView+WebCacheState.m","sourceTree":"","type":"file"},{"children":[{"fileType":"text.xml","guid":"bfdfe7dc352907fc980b868725387e98f00a9964af8b3d1e72008eb9a3395135","path":"WebImage/PrivacyInfo.xcprivacy","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e9876502081714d700f73b534ddf1747213","name":"Resources","path":"","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e980f66c8f3abfba9f5845a6849c9a74da6","name":"Core","path":"","sourceTree":"","type":"group"},{"children":[{"fileType":"text.plist.xml","guid":"bfdfe7dc352907fc980b868725387e98e6e6af65a1e2b901f1e218c4025ec776","path":"ResourceBundle-SDWebImage-SDWebImage-Info.plist","sourceTree":"","type":"file"},{"fileType":"sourcecode.module-map","guid":"bfdfe7dc352907fc980b868725387e98542a3b506afea7cf05a6014e01afd827","path":"SDWebImage.modulemap","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98b007c1bd88b3b03c3720e4d4ec6ce72d","path":"SDWebImage-dummy.m","sourceTree":"","type":"file"},{"fileType":"text.plist.xml","guid":"bfdfe7dc352907fc980b868725387e98fe6b49850f645e18d1be0585bb2dff16","path":"SDWebImage-Info.plist","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e980811a6b206a0c52ca00d25ab2bfa6885","path":"SDWebImage-prefix.pch","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e988e30be8bf3d4fd0d6c23a4784a17b51a","path":"SDWebImage-umbrella.h","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e98853911a66086d603dff7e7f648c6248b","path":"SDWebImage.debug.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e98924a369cb6c964ba34275d7ca3bc2dda","path":"SDWebImage.release.xcconfig","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e9871f48d6bb622e460e9433040cdf01999","name":"Support Files","path":"../Target Support Files/SDWebImage","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98338e88a48b5dc4d1eb800f3b43a812d8","name":"SDWebImage","path":"SDWebImage","sourceTree":"","type":"group"},{"children":[{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98e40e39827e8180631013036cb2dfa2fa","path":"SwiftyGif/NSImage+SwiftyGif.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98319254f7e2beed7375a445c04910195a","path":"SwiftyGif/NSImageView+SwiftyGif.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98721903f80f4a8564791b330bfd01951f","path":"SwiftyGif/ObjcAssociatedWeakObject.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98289a02129447d57ed9106425e09cb6a0","path":"SwiftyGif/SwiftyGif.h","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e98ae29cbc96bfd2ba4fc42c1226f69b713","path":"SwiftyGif/SwiftyGifManager.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e989b199724c96ff32700c5818e07f19a57","path":"SwiftyGif/UIImage+SwiftyGif.swift","sourceTree":"","type":"file"},{"fileType":"sourcecode.swift","guid":"bfdfe7dc352907fc980b868725387e986d3515962c56f64e5bce62c72d467b1e","path":"SwiftyGif/UIImageView+SwiftyGif.swift","sourceTree":"","type":"file"},{"children":[{"fileType":"text.xml","guid":"bfdfe7dc352907fc980b868725387e98b3294ad38a1a774f918eb06a0d82d5fc","path":"SwiftyGif/PrivacyInfo.xcprivacy","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e98da660a130eb921ce56819cd547890abc","name":"Resources","path":"","sourceTree":"","type":"group"},{"children":[{"fileType":"text.plist.xml","guid":"bfdfe7dc352907fc980b868725387e98ff5eeda0914f5feba477e1b42dd88747","path":"ResourceBundle-SwiftyGif-SwiftyGif-Info.plist","sourceTree":"","type":"file"},{"fileType":"sourcecode.module-map","guid":"bfdfe7dc352907fc980b868725387e9833fe566ea17ee70f00a37b770cd49975","path":"SwiftyGif.modulemap","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e9887989963270204aae9475498243cfbd6","path":"SwiftyGif-dummy.m","sourceTree":"","type":"file"},{"fileType":"text.plist.xml","guid":"bfdfe7dc352907fc980b868725387e98d9b96ec9e5d672ffebbc48d485500808","path":"SwiftyGif-Info.plist","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98cfbae3169e68879a7313f75db698346f","path":"SwiftyGif-prefix.pch","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98720d63afa192c3198e49d0e658ad9559","path":"SwiftyGif-umbrella.h","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e9858f3b516df641443530da1bc57fe9cb2","path":"SwiftyGif.debug.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e98ee297b6d0e4054f62dc3e42830b40034","path":"SwiftyGif.release.xcconfig","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e98954abe070bafa0dab86324db53632408","name":"Support Files","path":"../Target Support Files/SwiftyGif","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98ec85f92f83a04cc8c6b5aff5f1d1b451","name":"SwiftyGif","path":"SwiftyGif","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98b9282a537e9e128893d471127342cf65","name":"Pods","path":"","sourceTree":"","type":"group"},{"guid":"bfdfe7dc352907fc980b868725387e985307a35fe1de7c38afb3dea5eb1bab9b","name":"Products","path":"","sourceTree":"","type":"group"},{"children":[{"children":[{"fileType":"sourcecode.module-map","guid":"bfdfe7dc352907fc980b868725387e98a3f4680c874ecbcb5b5a6338bc13a426","path":"Pods-Runner.modulemap","sourceTree":"","type":"file"},{"fileType":"text","guid":"bfdfe7dc352907fc980b868725387e9814181933c973297b0001d0e9ee64381d","path":"Pods-Runner-acknowledgements.markdown","sourceTree":"","type":"file"},{"fileType":"text.plist.xml","guid":"bfdfe7dc352907fc980b868725387e9887440869a53d6020d968ddf6b9b30aa0","path":"Pods-Runner-acknowledgements.plist","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98fed0970e703d355c9aff813f280aafdc","path":"Pods-Runner-dummy.m","sourceTree":"","type":"file"},{"fileType":"text.script.sh","guid":"bfdfe7dc352907fc980b868725387e9826e505869a67d81656859ded68178c1d","path":"Pods-Runner-frameworks.sh","sourceTree":"","type":"file"},{"fileType":"text.plist.xml","guid":"bfdfe7dc352907fc980b868725387e98de02ac5005ab1eb052abf25c63731e95","path":"Pods-Runner-Info.plist","sourceTree":"","type":"file"},{"fileType":"text.script.sh","guid":"bfdfe7dc352907fc980b868725387e98f6f4dcb116856f2da0fa97d3015cb1af","path":"Pods-Runner-resources.sh","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e980ec6fbca7264a6936f2adfc48dd7f5bc","path":"Pods-Runner-umbrella.h","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e9850cc7fc2d23136fb4fac488d6c47df20","path":"Pods-Runner.debug.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e98dc1a21852c7a085c7dd8f65cf0fa9907","path":"Pods-Runner.profile.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e98f17abf55d75f35efcaf45a1185b085b6","path":"Pods-Runner.release.xcconfig","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e98cf3c1972df678a5e36df75a46391500d","name":"Pods-Runner","path":"Target Support Files/Pods-Runner","sourceTree":"","type":"group"},{"children":[{"fileType":"sourcecode.module-map","guid":"bfdfe7dc352907fc980b868725387e984c4f55ec853c945e234980557a98aed8","path":"Pods-RunnerTests.modulemap","sourceTree":"","type":"file"},{"fileType":"text","guid":"bfdfe7dc352907fc980b868725387e98fc0f7e7242f459f81e455145932dcafd","path":"Pods-RunnerTests-acknowledgements.markdown","sourceTree":"","type":"file"},{"fileType":"text.plist.xml","guid":"bfdfe7dc352907fc980b868725387e985f8b68b152f46f18718da20c04e675cb","path":"Pods-RunnerTests-acknowledgements.plist","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.objc","guid":"bfdfe7dc352907fc980b868725387e98022654f1ff78dd844d694dba2439dab2","path":"Pods-RunnerTests-dummy.m","sourceTree":"","type":"file"},{"fileType":"text.plist.xml","guid":"bfdfe7dc352907fc980b868725387e989e5ad6b9a07953a12c7008a15bd9c99c","path":"Pods-RunnerTests-Info.plist","sourceTree":"","type":"file"},{"fileType":"sourcecode.c.h","guid":"bfdfe7dc352907fc980b868725387e98e5e8bcdff29e5f8321be18f7989b4bc7","path":"Pods-RunnerTests-umbrella.h","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e98144cd18850e477837c238075d5256ffe","path":"Pods-RunnerTests.debug.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e981b663a2c82f0220040296818ba53477e","path":"Pods-RunnerTests.profile.xcconfig","sourceTree":"","type":"file"},{"fileType":"text.xcconfig","guid":"bfdfe7dc352907fc980b868725387e98965b92d39d30a7872295adc2841cd1b1","path":"Pods-RunnerTests.release.xcconfig","sourceTree":"","type":"file"}],"guid":"bfdfe7dc352907fc980b868725387e9859551a2ccb1df711861b574920cd49bf","name":"Pods-RunnerTests","path":"Target Support Files/Pods-RunnerTests","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98dafc421ff02609f2772b356038eb9849","name":"Targets Support Files","path":"","sourceTree":"","type":"group"}],"guid":"bfdfe7dc352907fc980b868725387e98677e601b37074db53aff90e47c8f96d1","name":"Pods","path":"","sourceTree":"","type":"group"},"guid":"bfdfe7dc352907fc980b868725387e98","knownRegions":["Base","ar","da","de","en","es","fr","hu","it","ja","ko","nb-NO","nl","pt_BR","ru","tr","ur","vi","zh-Hans","zh-Hant"],"path":"/Users/yaso_meth/Git/mih_main/mih-project/mih_ui/ios/Pods/Pods.xcodeproj","projectDirectory":"/Users/yaso_meth/Git/mih_main/mih-project/mih_ui/ios/Pods","targets":["TARGET@v11_hash=ff5000f2df75d09390a7c02a18cf47cb","TARGET@v11_hash=de9cdf72fffe1fdedbf989540b2a67e3","TARGET@v11_hash=f8fcc6d355b2806d43f663daae6a06d4","TARGET@v11_hash=eb424d111b233087eeb27f0dcd5e1868","TARGET@v11_hash=cbb1eb454f498b998b145ed6dace7d98","TARGET@v11_hash=ddbefab0336a5b7a75af7835b2eb8ae3","TARGET@v11_hash=5bd0bad9e37ac0efe7eb7e9b6a040622","TARGET@v11_hash=ff93596a3d92ba01970679242c7f2f1b","TARGET@v11_hash=218c90a1920c10390be2408439f5191f","TARGET@v11_hash=754922e16fd2edb654ed183d0b9ffc4e","TARGET@v11_hash=d6e43cdf0cbce99338da86c88c7a9b38","TARGET@v11_hash=7dc9dce1405849bf477070cc9de38aed","TARGET@v11_hash=cc9ef9cfbfe34cf5230700b7d8fcc951","TARGET@v11_hash=a771b9f79fd75fad08749ef861b3bddf","TARGET@v11_hash=bca7282312c3cbd6420517c0b06b2299","TARGET@v11_hash=2044c736a22918f3a12ecb44d3e0c006","TARGET@v11_hash=e04e9400c66a280cff3815703b38f084","TARGET@v11_hash=c1be6d82376acb043052cbc000a547ae","TARGET@v11_hash=4cabd0c48a00d7a4ed741cb699f1cc8e","TARGET@v11_hash=ebe021611ae425ec05c93c24ce7a6607","TARGET@v11_hash=5815137460cbcfbe6d2f7a5b54b4ca09","TARGET@v11_hash=525a617ce5cf51a2c10a01508fbe4adf","TARGET@v11_hash=5319ba36858c0aa8d085cf090833a92c","TARGET@v11_hash=0b58e1096693d1b2f665847f3d6ed644","TARGET@v11_hash=0a63255185fd1fe5f5bce3e3d92075cc","TARGET@v11_hash=7aa8351d9b24919942e9946725aa9a4e","TARGET@v11_hash=76c81320e671cd52e5aa73c6af313230","TARGET@v11_hash=7c10b1b705eef3cc27b008fa5df200ca","TARGET@v11_hash=046b943ca2c386252fefb70091df62cb","TARGET@v11_hash=d014b307105d5d21e3d383fba60d7745","TARGET@v11_hash=98c62b097118c3a71fbcc1ac381d0554","TARGET@v11_hash=110600b415fe8fc7dd4ca8c0f3c4e215","TARGET@v11_hash=35adaf1be68b319de0505ded2815bc62","TARGET@v11_hash=ff36872ab1512227359a12a6bdfb005a","TARGET@v11_hash=f3bbe05679242975dafb6d8e69ca7557","TARGET@v11_hash=1140ca82d597cd38dc60054d3a158f68","TARGET@v11_hash=dbb0219d17436c670986b94b7945fa23","TARGET@v11_hash=55e76bc78bd49d51860d689a4f5e9c62","TARGET@v11_hash=cf214d336cf673b4a25ba8952e58ad2f","TARGET@v11_hash=25067fd2852a0fd76a8f9f479b2d4630","TARGET@v11_hash=d560c2e797b744ca35425688afeb9717","TARGET@v11_hash=3af0402199bd31e72f681872a46f8b81","TARGET@v11_hash=4b924fd5a51dd455efd4e7fe9f2f3ae9","TARGET@v11_hash=d1efbd94e043870162f1a431e0d81426","TARGET@v11_hash=a067526aa1156f18ea027d11109a29d4","TARGET@v11_hash=cccb0eb2cb0393abaa5f1f05d755160e","TARGET@v11_hash=eb71d09d11dfb3cc8ccae98e4e65ea84","TARGET@v11_hash=5248d9ba098cf8d77d31b3cf7f8b5a69","TARGET@v11_hash=46e4fdabe3969081354e9e5e60b64b4b","TARGET@v11_hash=bec8a7e752ab7d5daa41943969c542ce","TARGET@v11_hash=d204a2d23a6add831c951cc6c525c071","TARGET@v11_hash=aa56745ff0f6a68146d6117b991ff12e","TARGET@v11_hash=8078b8651d861575cd929af1542b7261","TARGET@v11_hash=a1626071b7e4461b7a78f87d063ecc17","TARGET@v11_hash=5b871dc0aeb742795842305fce24cf10","TARGET@v11_hash=1e4d2a3be90cd0a545f0c49cf9dce02c","TARGET@v11_hash=d67c7fe50f94aa30e853cef078cfecc9","TARGET@v11_hash=d5f04c64bab0734f1ab47fd9bcf15bc4","TARGET@v11_hash=6fb30a1c5b3e857d561640581873eb18","TARGET@v11_hash=ab724a4a507acc9a546958f9aaaa80fd","TARGET@v11_hash=14b6e6d9e2eda3680623b9cb266fb1b3","TARGET@v11_hash=4cc1f6e212912d53710de3aa08e4aa3c","TARGET@v11_hash=0b5c502676ea77f04ab6ea7a2e8956d9","TARGET@v11_hash=c832b6797055a73fc2a937f2ace5a80c","TARGET@v11_hash=558846d52469eb6457f7fa805fbcac19","TARGET@v11_hash=c7e279690d57f8e9617670c2dd8215da","TARGET@v11_hash=1f36083119fed8be641437f19af66acc","TARGET@v11_hash=6a019aebe92f33ef6d2d1a27354a274c","TARGET@v11_hash=61f30aa6dfaff3adeef504cd04583578","TARGET@v11_hash=4d623afd122ecb9d6d730809785df91d","TARGET@v11_hash=ec851e59095ec5bf084fefcd5588ef75","TARGET@v11_hash=211721151cd848f04aa31d195dc75f4a","TARGET@v11_hash=e48e30a0663eeb6ce1b0165ff162002a","TARGET@v11_hash=c5e74116acf786c1a12c0ae36c3b648b","TARGET@v11_hash=cc4efb059f8f4ef111f94e7221f71ad1","TARGET@v11_hash=8d133a19301914cd8e6a4b60878e87a2","TARGET@v11_hash=c57ff86689b99a8853e2ae591b9ac8c6","TARGET@v11_hash=1a4fe29d3cb9f9220793e4797839ee1f","TARGET@v11_hash=b77db6430f49f02a32943c46bd03734b","TARGET@v11_hash=3a7fbdb39c618b52ee7b40baa1e884b1","TARGET@v11_hash=dfe05d0a1a29529d21d126a4eec3834c","TARGET@v11_hash=b02384d9efc0e497521a0ba9096939bd","TARGET@v11_hash=376189dccaae382545d5e718c59412f6","TARGET@v11_hash=7b3186407410bb111b40b5143ff956ed","TARGET@v11_hash=fbb75b67977f7fd3136c2c9e82b06c66","TARGET@v11_hash=d360bbd5e759c5936a6004b5766066e3","TARGET@v11_hash=091b7b21a80cde9e2510d4e82d4cbd78","TARGET@v11_hash=1abbdfc13b53a75a94289fd5712275b6","TARGET@v11_hash=c369ca2358afe46d56e9c4f067675637","TARGET@v11_hash=a6be57b3049abd7b9f2b4e20f4ba91af"]} \ No newline at end of file diff --git a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=046b943ca2c386252fefb70091df62cb-json b/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=046b943ca2c386252fefb70091df62cb-json deleted file mode 100644 index 3593aa04..00000000 --- a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=046b943ca2c386252fefb70091df62cb-json +++ /dev/null @@ -1 +0,0 @@ -{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98cb16e8074f48ba05a2dfeb081f5bd1cb","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/FirebaseCore","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"FirebaseCore","INFOPLIST_FILE":"Target Support Files/FirebaseCore/ResourceBundle-FirebaseCore_Privacy-FirebaseCore-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"FirebaseCore_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e9853c6ca3436a16d495d26d90c62dc041f","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9823bbf62c346537eed6e067e233fe0af3","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/FirebaseCore","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"FirebaseCore","INFOPLIST_FILE":"Target Support Files/FirebaseCore/ResourceBundle-FirebaseCore_Privacy-FirebaseCore-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"FirebaseCore_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e9804059b68be909cf4b5d26662e7aca4cc","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9823bbf62c346537eed6e067e233fe0af3","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/FirebaseCore","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"FirebaseCore","INFOPLIST_FILE":"Target Support Files/FirebaseCore/ResourceBundle-FirebaseCore_Privacy-FirebaseCore-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"FirebaseCore_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98582157cc97f19ee6a02f760e6311d2a5","name":"Release"}],"buildPhases":[{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e98703ab6858e32f59e72e5cb10e19e6ee2","type":"com.apple.buildphase.sources"},{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e984d26d05f34861940fe601d8a1283f8c4","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98d58b29168477f224a21c3f9676f8d359","guid":"bfdfe7dc352907fc980b868725387e98be033315ff722ee1672602020959c071"}],"guid":"bfdfe7dc352907fc980b868725387e9803f5a34bdf64a4474219ec56a84dc5d4","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[],"guid":"bfdfe7dc352907fc980b868725387e98678fb6500ea02c78520816441717cc14","name":"FirebaseCore-FirebaseCore_Privacy","productReference":{"guid":"bfdfe7dc352907fc980b868725387e981126092e527a43878ba047c0d6b5be37","name":"FirebaseCore_Privacy.bundle","type":"product"},"productTypeIdentifier":"com.apple.product-type.bundle","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":0}],"type":"standard"} \ No newline at end of file diff --git a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=091b7b21a80cde9e2510d4e82d4cbd78-json b/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=091b7b21a80cde9e2510d4e82d4cbd78-json deleted file mode 100644 index ad32320e..00000000 --- a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=091b7b21a80cde9e2510d4e82d4cbd78-json +++ /dev/null @@ -1 +0,0 @@ -{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e986b056fb7813eab8b622dbbdb4b6201da","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/url_launcher_ios/url_launcher_ios-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/url_launcher_ios/url_launcher_ios-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","MODULEMAP_FILE":"Target Support Files/url_launcher_ios/url_launcher_ios.modulemap","ONLY_ACTIVE_ARCH":"NO","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"url_launcher_ios","PRODUCT_NAME":"url_launcher_ios","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e983bf7c387e6b30e7532f6cb4e6e71951b","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e982e8b062cb2e7d8455d114188a1500a94","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/url_launcher_ios/url_launcher_ios-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/url_launcher_ios/url_launcher_ios-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","MODULEMAP_FILE":"Target Support Files/url_launcher_ios/url_launcher_ios.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"url_launcher_ios","PRODUCT_NAME":"url_launcher_ios","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e9852e5f92b339577bcf682a1eb4792c8f4","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e982e8b062cb2e7d8455d114188a1500a94","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/url_launcher_ios/url_launcher_ios-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/url_launcher_ios/url_launcher_ios-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","MODULEMAP_FILE":"Target Support Files/url_launcher_ios/url_launcher_ios.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"url_launcher_ios","PRODUCT_NAME":"url_launcher_ios","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98606903bd7be7dc87a070537db999d889","name":"Release"}],"buildPhases":[{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e9806f3adb2e55f13bf793c40eca5d3b6b1","guid":"bfdfe7dc352907fc980b868725387e98488b1aae650ee0880687b46866424107","headerVisibility":"public"}],"guid":"bfdfe7dc352907fc980b868725387e9803da34d77efef8ef3ce2c8ebbae5bdbc","type":"com.apple.buildphase.headers"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e988b923c7f69904073f11cfb33f486be4e","guid":"bfdfe7dc352907fc980b868725387e980199d549f7afb7c9e60eccd688e3ea3b"},{"fileReference":"bfdfe7dc352907fc980b868725387e981f993b8fa34154c706d827a98b25e1b7","guid":"bfdfe7dc352907fc980b868725387e98c0092cc84a327ca1f52286083ca2155f"},{"fileReference":"bfdfe7dc352907fc980b868725387e98dfc96d715d809f6ba8cb9e157b3e9dea","guid":"bfdfe7dc352907fc980b868725387e9888b1e74e60918c1dda1636aa70ed211a"},{"fileReference":"bfdfe7dc352907fc980b868725387e984136e6ab77e9cac49cc5bb8eca9cdee4","guid":"bfdfe7dc352907fc980b868725387e982f495a0a8d9589923d69caf11527df8e"},{"fileReference":"bfdfe7dc352907fc980b868725387e9873c2ef5634c43bf05dc1b4493b3cc0b5","guid":"bfdfe7dc352907fc980b868725387e98146087d3efb3c217078c8450b09168b4"}],"guid":"bfdfe7dc352907fc980b868725387e98fa96dbb049cf26a8a5faf87ef8982665","type":"com.apple.buildphase.sources"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98b14af7c49882340ad551cb13b0a1e06d","guid":"bfdfe7dc352907fc980b868725387e982f8b7ae2e7caa8ede8091d9bb363b0d1"}],"guid":"bfdfe7dc352907fc980b868725387e988f4e5a15bd2f3cf26d08bb8eafccb083","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"guid":"bfdfe7dc352907fc980b868725387e9829873fc0097fc1cd118d2ea1c7a9e44f","targetReference":"bfdfe7dc352907fc980b868725387e9891b3b8cc56823cdea4b418e009a423b2"}],"guid":"bfdfe7dc352907fc980b868725387e98e31bb378ac96256438f4a2e26e722c1b","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[{"guid":"bfdfe7dc352907fc980b868725387e989da425bb6d6d5d8dbb95e4afffb82217","name":"Flutter"},{"guid":"bfdfe7dc352907fc980b868725387e9891b3b8cc56823cdea4b418e009a423b2","name":"url_launcher_ios-url_launcher_ios_privacy"}],"guid":"bfdfe7dc352907fc980b868725387e98903e66fa03d6d27edaa18126a82c20fd","name":"url_launcher_ios","predominantSourceCodeLanguage":"Xcode.SourceCodeLanguage.Swift","productReference":{"guid":"bfdfe7dc352907fc980b868725387e98f7a21f0cd31eecef97e8eaf4a819dde1","name":"url_launcher_ios.framework","type":"product"},"productTypeIdentifier":"com.apple.product-type.framework","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":1}],"type":"standard"} \ No newline at end of file diff --git a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=0a63255185fd1fe5f5bce3e3d92075cc-json b/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=0a63255185fd1fe5f5bce3e3d92075cc-json deleted file mode 100644 index d1417ba5..00000000 --- a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=0a63255185fd1fe5f5bce3e3d92075cc-json +++ /dev/null @@ -1 +0,0 @@ -{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98bbdee8c1686e5d6c3f4956eedcdb3dac","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/FirebaseAuth/FirebaseAuth-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/FirebaseAuth/FirebaseAuth.modulemap","ONLY_ACTIVE_ARCH":"NO","PRODUCT_MODULE_NAME":"FirebaseAuth","PRODUCT_NAME":"FirebaseAuth","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.9","TARGETED_DEVICE_FAMILY":"1,2","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e987caccb104bbe964690ab8e0e5f1c5343","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9824122a566c18888ab83e78b3078e6f80","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/FirebaseAuth/FirebaseAuth-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/FirebaseAuth/FirebaseAuth.modulemap","PRODUCT_MODULE_NAME":"FirebaseAuth","PRODUCT_NAME":"FirebaseAuth","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.9","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e982fdc9bbe7faffc4d067b1a2e07cc439a","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9824122a566c18888ab83e78b3078e6f80","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/FirebaseAuth/FirebaseAuth-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/FirebaseAuth/FirebaseAuth.modulemap","PRODUCT_MODULE_NAME":"FirebaseAuth","PRODUCT_NAME":"FirebaseAuth","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.9","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98c505d05a69d89c655a0f1147dc474bb8","name":"Release"}],"buildPhases":[{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98956799cfa2b05e7c9a8e6de92669e1d1","guid":"bfdfe7dc352907fc980b868725387e9817c3bc70e081e5ec6276565281717acc","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98e29f01ee622b04136cc93b8ed10b0042","guid":"bfdfe7dc352907fc980b868725387e98c44b2c01abc853ff34bbbb8fc91d6791","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e986e7ac5576571d35a0e6e17df8bef87c2","guid":"bfdfe7dc352907fc980b868725387e9842661f22680c9f1263e79b6bbedfaccd","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e980cfa3bf3b7f73c30be0258c89af531d7","guid":"bfdfe7dc352907fc980b868725387e981b28424805e56949e3655fdb82a0de2f","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98302380597dd450a0363d088676edafa9","guid":"bfdfe7dc352907fc980b868725387e980d39f565349f833072c1a6591ec35993","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98db7c3d4ccbf8dc9059f98c1141a57e3b","guid":"bfdfe7dc352907fc980b868725387e987c42db9c96226a0452dd9d80946450ef","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e9838bf347b940c7fcc4e312aca96b302b0","guid":"bfdfe7dc352907fc980b868725387e9801fe571211a9cabd3bede94b0c0fc944","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e9868ce7c295a5827b53fa0ecbe02749a98","guid":"bfdfe7dc352907fc980b868725387e98c41463a4ca1694441164da665d4b554b","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e986607cf0b965cb1545a435655d39e9385","guid":"bfdfe7dc352907fc980b868725387e98edefd5b58c45704619147e682e6c90a8","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e989fe929ecdf26ddf9920484acf1cab280","guid":"bfdfe7dc352907fc980b868725387e9868ff68e98182a13423fae838098eb353","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98e5f11c0f670144e5c3d5eba28a2e0bc6","guid":"bfdfe7dc352907fc980b868725387e984545a36096e8fa496560ec2e969df1e2","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98b8f740c8e02b1fc2f3f9baf571e56fe2","guid":"bfdfe7dc352907fc980b868725387e982cee5fec0eb0252530315ea64386a065","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e9883a078e0ca1c33c40bd03e510742f7e5","guid":"bfdfe7dc352907fc980b868725387e9866559041b1c3e70371e8e64815a59830","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98e10be73265b6d6dfa47fc284a8ef68ff","guid":"bfdfe7dc352907fc980b868725387e98a65aa36a9db621cce28ef6868deeb51f","headerVisibility":"public"}],"guid":"bfdfe7dc352907fc980b868725387e9824d89d6decddd64cdca319e249c8d2c0","type":"com.apple.buildphase.headers"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e986ed0fe803e5e9f958a7a9c4d9341682d","guid":"bfdfe7dc352907fc980b868725387e9845fe1dcb670cd569b688b5db25faccea"},{"fileReference":"bfdfe7dc352907fc980b868725387e98df840a4cc19a73fbfc9de23d95ea4708","guid":"bfdfe7dc352907fc980b868725387e9881ce2076d22304e0f5350bca852d323c"},{"fileReference":"bfdfe7dc352907fc980b868725387e9812e153f43d8c8c8f356f5148e516cca0","guid":"bfdfe7dc352907fc980b868725387e9817ec41ba2276e0af93836778015ad437"},{"fileReference":"bfdfe7dc352907fc980b868725387e98ee0255ea1e007a5b0217b62542c6b70d","guid":"bfdfe7dc352907fc980b868725387e983ccc04f125c1991425ee2e1d144209c2"},{"fileReference":"bfdfe7dc352907fc980b868725387e98dbe0c047f7ef2bbaa652ae3dc458a985","guid":"bfdfe7dc352907fc980b868725387e98b76ba804eeea99a57ab49b7f86fbf1c5"},{"fileReference":"bfdfe7dc352907fc980b868725387e9841946e8c5c51d7ff21c3c09451da596d","guid":"bfdfe7dc352907fc980b868725387e980be46328ee4a69080b0a769bdcc6f9fb"},{"fileReference":"bfdfe7dc352907fc980b868725387e98245f1ef0e5ded755952473e4d2276030","guid":"bfdfe7dc352907fc980b868725387e98f2a1a44676b214b0563a425b4b694964"},{"fileReference":"bfdfe7dc352907fc980b868725387e9895a020d668ee677ee2edc02b024aa625","guid":"bfdfe7dc352907fc980b868725387e9817bec36c2d0730388f65f8b9ef3bf497"},{"fileReference":"bfdfe7dc352907fc980b868725387e98f171b0d6e6d7265241cf0eb8f4f3f584","guid":"bfdfe7dc352907fc980b868725387e989340b668922630a85e0b6cacabe4ac11"},{"fileReference":"bfdfe7dc352907fc980b868725387e98341d38a094f897cf5dd0a4918c8865f2","guid":"bfdfe7dc352907fc980b868725387e98bce252d11de26dee71f19c88dd9232c7"},{"fileReference":"bfdfe7dc352907fc980b868725387e98f415edf05761e36c2f309be524c1706d","guid":"bfdfe7dc352907fc980b868725387e98420daf1bf579fae112748c4d41948639"},{"fileReference":"bfdfe7dc352907fc980b868725387e980f6007ab2b4227db8a90954c2fe0bd54","guid":"bfdfe7dc352907fc980b868725387e98c3b390eb6a4ce356a9d0879dc791a46d"},{"fileReference":"bfdfe7dc352907fc980b868725387e980771b86e7c5c94837366efba22ffc771","guid":"bfdfe7dc352907fc980b868725387e9895a317bfc268a063f97bdb9f91b5e19b"},{"fileReference":"bfdfe7dc352907fc980b868725387e985a832d2cff79b53693ec89e1007060f4","guid":"bfdfe7dc352907fc980b868725387e984746eebd802da19934d8739a1666dbc9"},{"fileReference":"bfdfe7dc352907fc980b868725387e98929647b475e2c223c9e642a49d717b03","guid":"bfdfe7dc352907fc980b868725387e98e147073a51831d4bf07d22bab9543b87"},{"fileReference":"bfdfe7dc352907fc980b868725387e981f237ef3f88f70d2cea687a28fb706a9","guid":"bfdfe7dc352907fc980b868725387e9845caf18783937c0fbf61cebefa37cbbe"},{"fileReference":"bfdfe7dc352907fc980b868725387e9878d4a02f39de63e3d1106735da970ca7","guid":"bfdfe7dc352907fc980b868725387e98cff1c48f2a25fe1a5e41fc8a0401115e"},{"fileReference":"bfdfe7dc352907fc980b868725387e987dcc3a7b3e74f870d6620b9a2a2ecf5c","guid":"bfdfe7dc352907fc980b868725387e98f6d8f64eba33a2d44d77cf31531ccb79"},{"fileReference":"bfdfe7dc352907fc980b868725387e98bfba41555dc0fdafe3758671a4c8b5c4","guid":"bfdfe7dc352907fc980b868725387e98590329414946a82f9d0ea6c7d80dc15f"},{"fileReference":"bfdfe7dc352907fc980b868725387e98e0a494f1dd43b14ca8fbd67830a4299a","guid":"bfdfe7dc352907fc980b868725387e98c762fd4d8f4934171d40801407f41dad"},{"fileReference":"bfdfe7dc352907fc980b868725387e9884262f11f18e1ece922d28e9a5d86359","guid":"bfdfe7dc352907fc980b868725387e98375a0959c5a86fb6a35225ae6e03e3f7"},{"fileReference":"bfdfe7dc352907fc980b868725387e98b1cc66b4cfe08f3b3d9994f6667b1c8f","guid":"bfdfe7dc352907fc980b868725387e98fd1d0fd792add360986488219aaf8249"},{"fileReference":"bfdfe7dc352907fc980b868725387e9802ac367029fcec689c560e9c09956577","guid":"bfdfe7dc352907fc980b868725387e989cc5c451b28bbb6109baaa427000d2af"},{"fileReference":"bfdfe7dc352907fc980b868725387e98c55adbc69af63b3fae534d4d32bbb7d9","guid":"bfdfe7dc352907fc980b868725387e986d601246ae790f43238f20cba79dd00a"},{"fileReference":"bfdfe7dc352907fc980b868725387e98c7ba925bcaab2ef799e067fb09524783","guid":"bfdfe7dc352907fc980b868725387e98f2d2084d52c20e790e05063a043438d4"},{"fileReference":"bfdfe7dc352907fc980b868725387e9811c9e44fde5c048982c7190a2b83b582","guid":"bfdfe7dc352907fc980b868725387e9825e652edb3e93370d2626e87e1c57c29"},{"fileReference":"bfdfe7dc352907fc980b868725387e9854254b2427cbf1030d7399e4bf859971","guid":"bfdfe7dc352907fc980b868725387e98345267a4fcc5d55443683fc4278faab8"},{"fileReference":"bfdfe7dc352907fc980b868725387e98978d22922ec60f31d6f5a06b5fb057c2","guid":"bfdfe7dc352907fc980b868725387e987a2fd9f05f29358b61615006108cbca0"},{"fileReference":"bfdfe7dc352907fc980b868725387e9890e5f1c028980f312accdb59b79b8c9a","guid":"bfdfe7dc352907fc980b868725387e98cd23bc1c902ef586eaf5e165adca0cfc"},{"fileReference":"bfdfe7dc352907fc980b868725387e98e31f8b7b95878bd97624e635f148c67f","guid":"bfdfe7dc352907fc980b868725387e9837ad08567a3c2c71c8094bf789d485f3"},{"fileReference":"bfdfe7dc352907fc980b868725387e9847885db3e68e8f2c66b87e797e2b20b7","guid":"bfdfe7dc352907fc980b868725387e984c97ff9f5fb39f11a366429d98530b13"},{"fileReference":"bfdfe7dc352907fc980b868725387e983b65068db43de39e5b21be2c4940e213","guid":"bfdfe7dc352907fc980b868725387e986860813794c0607632822b953862b233"},{"fileReference":"bfdfe7dc352907fc980b868725387e983266b5201df1b292d44394e8b0d06351","guid":"bfdfe7dc352907fc980b868725387e9875ee3472953b0bbf6d545b77ccbac4e9"},{"fileReference":"bfdfe7dc352907fc980b868725387e98acb7d384e534589053b3d54ec83848e6","guid":"bfdfe7dc352907fc980b868725387e9865af0270a3fafd7b7c80a5f8629d8731"},{"fileReference":"bfdfe7dc352907fc980b868725387e988f0aa9a15a980855bb5cd22dd973231e","guid":"bfdfe7dc352907fc980b868725387e984fb1c7bfa5efa0d31953f43ac5991ea2"},{"fileReference":"bfdfe7dc352907fc980b868725387e9833c26626cd1780126c024ea0c1ab99a3","guid":"bfdfe7dc352907fc980b868725387e9800d811f465c66bb18aafce5665c96c7c"},{"fileReference":"bfdfe7dc352907fc980b868725387e98601f5533331fe93d3990abed0a6d8df0","guid":"bfdfe7dc352907fc980b868725387e983f3b2d863978b613c23b79dbac1c270e"},{"fileReference":"bfdfe7dc352907fc980b868725387e98a00810df46bf1461328c3bae378e67ca","guid":"bfdfe7dc352907fc980b868725387e983755fa6e9436f851d5d18c9bbfb25af1"},{"fileReference":"bfdfe7dc352907fc980b868725387e98657f85d6f26e1dccdccdadf67c06a872","guid":"bfdfe7dc352907fc980b868725387e980dc238b1be26fb309e17af25897021d7"},{"fileReference":"bfdfe7dc352907fc980b868725387e98ccdf38e87f3adf13c65d8b750a8a5d21","guid":"bfdfe7dc352907fc980b868725387e9867ad3a23f2a07d7fc22907a4aa1c0887"},{"fileReference":"bfdfe7dc352907fc980b868725387e989704c064dda1053b269cf2b66cae4669","guid":"bfdfe7dc352907fc980b868725387e98ac349063f6baa67c90249276c9bba409"},{"fileReference":"bfdfe7dc352907fc980b868725387e9897b3d707d3e694c92e507edb2f3b5ebc","guid":"bfdfe7dc352907fc980b868725387e98c31243f48612b4f2554165a7ca11f96a"},{"fileReference":"bfdfe7dc352907fc980b868725387e9847039eb0446879e37839563d32a579c0","guid":"bfdfe7dc352907fc980b868725387e98e88e53ce07b7520fae07a03464c27049"},{"fileReference":"bfdfe7dc352907fc980b868725387e983df13d08c3764514e1e73c1415d6fa58","guid":"bfdfe7dc352907fc980b868725387e986fbe9d540c525bf9dfa79fd4f818a616"},{"fileReference":"bfdfe7dc352907fc980b868725387e9850eb76d161b30d916255873f47c062e9","guid":"bfdfe7dc352907fc980b868725387e985584da6b07705cf1569b7d9fd68d8d16"},{"fileReference":"bfdfe7dc352907fc980b868725387e98d50924e3f8940afe7d774046e67792ae","guid":"bfdfe7dc352907fc980b868725387e98880aeedab70c2576c448971aca1ce7f8"},{"fileReference":"bfdfe7dc352907fc980b868725387e98c73511ff62a44b5597b9e19189dadd10","guid":"bfdfe7dc352907fc980b868725387e9871bb034d5b8abafa5da705c94a309647"},{"fileReference":"bfdfe7dc352907fc980b868725387e981b27190e33354e7e6a3225e2c828f557","guid":"bfdfe7dc352907fc980b868725387e98f58ea67ff3215544e9117ffd20a78d21"},{"fileReference":"bfdfe7dc352907fc980b868725387e98a72d1028678303be9b269ace9225904b","guid":"bfdfe7dc352907fc980b868725387e98d9a9615a52033ae1a824454dc64dbcbe"},{"fileReference":"bfdfe7dc352907fc980b868725387e98dabe9a937a43ec190006e0627054845a","guid":"bfdfe7dc352907fc980b868725387e985f1459360c5b45cfdd1743a953091f18"},{"fileReference":"bfdfe7dc352907fc980b868725387e98bdfcbc5d664bbafdd9f354c733bec51a","guid":"bfdfe7dc352907fc980b868725387e9807b459b35915dd4ab62eec31723dc0b5"},{"fileReference":"bfdfe7dc352907fc980b868725387e98ad2e31ca91913c90d37f3a2d95bb0d2b","guid":"bfdfe7dc352907fc980b868725387e98046f68092dbd8da6036eb8bdff7a3f0b"},{"fileReference":"bfdfe7dc352907fc980b868725387e98d610f2d23e0d44e2585bc582e859d2b6","guid":"bfdfe7dc352907fc980b868725387e9802d4339e254b660c20c8bc08ac3e8263"},{"fileReference":"bfdfe7dc352907fc980b868725387e98e1bcfb7e241dd08c5ad005fb642710b6","guid":"bfdfe7dc352907fc980b868725387e98e69218efeea3524b658db0ff3073c5a7"},{"fileReference":"bfdfe7dc352907fc980b868725387e98892b63d4e763877cb5805dc850cd357a","guid":"bfdfe7dc352907fc980b868725387e98ad9f5ed80dd976202f10cf014a4ce99d"},{"fileReference":"bfdfe7dc352907fc980b868725387e985650e463aa88e7a5e504ae565234621d","guid":"bfdfe7dc352907fc980b868725387e9810355226ec15c2e556f25e62769fe0bf"},{"fileReference":"bfdfe7dc352907fc980b868725387e98d5db2297cf3e649d29f50bdaed5ba04c","guid":"bfdfe7dc352907fc980b868725387e9869037f5c03526b4668fa6a35c653fbfd"},{"fileReference":"bfdfe7dc352907fc980b868725387e984a298505b96a98d10e522b4edf221ed6","guid":"bfdfe7dc352907fc980b868725387e98e375d728d614faa8db719c9f8e3e60cf"},{"fileReference":"bfdfe7dc352907fc980b868725387e988dfecf325d31fb2d9aff16796c653942","guid":"bfdfe7dc352907fc980b868725387e9841538c29f03c2bb78b0dc1a88384bf0d"},{"fileReference":"bfdfe7dc352907fc980b868725387e98f406a955a7d842430e2e924eca1f2640","guid":"bfdfe7dc352907fc980b868725387e982b25827c1628e31a7d1713444881795a"},{"fileReference":"bfdfe7dc352907fc980b868725387e98bb059cd18cd13115fe7d4b764e70af41","guid":"bfdfe7dc352907fc980b868725387e98aec828b3d84b0e7bb4f5a8d3960a8a45"},{"fileReference":"bfdfe7dc352907fc980b868725387e9869dc6e47e0a6966ada08fb3d58f5e210","guid":"bfdfe7dc352907fc980b868725387e98b293c1bedc2213b7c8cd09757a36a5c9"},{"fileReference":"bfdfe7dc352907fc980b868725387e98c0c5fe40ae00e565f4197361e56fec0b","guid":"bfdfe7dc352907fc980b868725387e98c14f113501c010f338f16a8533339fce"},{"fileReference":"bfdfe7dc352907fc980b868725387e98b26cf0e43da862e45d59c66508b01271","guid":"bfdfe7dc352907fc980b868725387e98be10f5be466931df3d5acab238312eb6"},{"fileReference":"bfdfe7dc352907fc980b868725387e98747bfd17f9aa097d0efe403170b79354","guid":"bfdfe7dc352907fc980b868725387e9859c478c77a6f179bc082e80fbcd433f5"},{"fileReference":"bfdfe7dc352907fc980b868725387e98834ab9620e06639a5ff56bf792d9c5db","guid":"bfdfe7dc352907fc980b868725387e98137ab8933ca8ee9fabe0e3cc3938bf69"},{"fileReference":"bfdfe7dc352907fc980b868725387e98d8d289f2f9bf72c003ddd77b0878f2b6","guid":"bfdfe7dc352907fc980b868725387e98b8875c162aa528d44442711655775f38"},{"fileReference":"bfdfe7dc352907fc980b868725387e98f10397478c14950ef9599fdf2d3e642c","guid":"bfdfe7dc352907fc980b868725387e98dc95cbe2de798e45e09532393f59d7f8"},{"fileReference":"bfdfe7dc352907fc980b868725387e984e4f4fa3681d3885991f826c7d0626b3","guid":"bfdfe7dc352907fc980b868725387e98e018cf18d2cd8a356da7c99b29203a50"},{"fileReference":"bfdfe7dc352907fc980b868725387e9852ea9a7b923c00deb23d6be14aa04c11","guid":"bfdfe7dc352907fc980b868725387e9855114a2423959c6d7f7602b2d22b0edd"},{"fileReference":"bfdfe7dc352907fc980b868725387e980471c1d2185273ed57ceb2cc5af91fd6","guid":"bfdfe7dc352907fc980b868725387e985df11c3e6c62ce0568f769d7a9d11c37"},{"fileReference":"bfdfe7dc352907fc980b868725387e98f7f99a49e05d9d483849b82a5b042ab3","guid":"bfdfe7dc352907fc980b868725387e98d75b7c679ff82073888e6e8658d6b4c7"},{"fileReference":"bfdfe7dc352907fc980b868725387e984b7089654a8476c04781946130828ff9","guid":"bfdfe7dc352907fc980b868725387e981b9e683b0875edbfad1d1887f8be7a12"},{"fileReference":"bfdfe7dc352907fc980b868725387e985d13ff13c510386d418cd069fb618f57","guid":"bfdfe7dc352907fc980b868725387e9880bfac654c613c28c08699fdc38edf53"},{"fileReference":"bfdfe7dc352907fc980b868725387e9860e788c01b59d8c5e34377d048e9571f","guid":"bfdfe7dc352907fc980b868725387e98d212dd21c39eed55f72d719fd31ac0c7"},{"fileReference":"bfdfe7dc352907fc980b868725387e9855d28a290f00d95e42828c0cce199a5e","guid":"bfdfe7dc352907fc980b868725387e9867c38619ea1682e963ff11764cfb0633"},{"fileReference":"bfdfe7dc352907fc980b868725387e9863b72be988c7f3f4f77f32a07cc998d6","guid":"bfdfe7dc352907fc980b868725387e98d9f7c1d122c3410663e2bd911d541769"},{"fileReference":"bfdfe7dc352907fc980b868725387e9844d2b74824c486de8efcfb8c9f84924c","guid":"bfdfe7dc352907fc980b868725387e9880a7bd9041da81bb7bcfda3356b6dead"},{"fileReference":"bfdfe7dc352907fc980b868725387e98719fe830048a2ba1365eecb6632f72d2","guid":"bfdfe7dc352907fc980b868725387e98b10a9c767029ac9f595d15626709980e"},{"fileReference":"bfdfe7dc352907fc980b868725387e981bc7f28ea1e64999404ca4dd21dd0ea1","guid":"bfdfe7dc352907fc980b868725387e9881f6541ca05b7f79045d78ee9d333751"},{"fileReference":"bfdfe7dc352907fc980b868725387e98dfbbcf08b73d4a041622c799a84cf364","guid":"bfdfe7dc352907fc980b868725387e982ed83f56908d85ea806d1cb905184570"},{"fileReference":"bfdfe7dc352907fc980b868725387e98ae767345b9752815dba9af0829f647b1","guid":"bfdfe7dc352907fc980b868725387e983ac5001b04ecd375fc2385271fbc5f06"},{"fileReference":"bfdfe7dc352907fc980b868725387e9806cce955c392c1f7a9e154850367e456","guid":"bfdfe7dc352907fc980b868725387e9899eb8965d1c6878b572c95348d79d507"},{"fileReference":"bfdfe7dc352907fc980b868725387e98b9b1eb7b36a3fff41786ab9d54bf826d","guid":"bfdfe7dc352907fc980b868725387e98eb784dd34289004d207c0b21f9ba8fd7"},{"fileReference":"bfdfe7dc352907fc980b868725387e98069027db4086db498c5c3aee779f8ca8","guid":"bfdfe7dc352907fc980b868725387e9837c21ca550aa6783170f1e4f825c7145"},{"fileReference":"bfdfe7dc352907fc980b868725387e981fea20a8743f49d4fd4d140bb89eda56","guid":"bfdfe7dc352907fc980b868725387e980657f8d21ca6a08606f7b393e4157770"},{"fileReference":"bfdfe7dc352907fc980b868725387e9844a657a5657e6fb389d0de83a143a4c2","guid":"bfdfe7dc352907fc980b868725387e984838444d96b988329fba9a184dd937f9"},{"fileReference":"bfdfe7dc352907fc980b868725387e98fbaa3d86f6d124a450b9f0491119ef2b","guid":"bfdfe7dc352907fc980b868725387e982f07db0c04000c73bdd48c225e7fefd1"},{"fileReference":"bfdfe7dc352907fc980b868725387e98abf7565fee3fc13cae4656dee1d87232","guid":"bfdfe7dc352907fc980b868725387e98a8adb4c43d05a78e8118eedcbc80e382"},{"fileReference":"bfdfe7dc352907fc980b868725387e982710250b86c363cad4a9df0dc1f552e3","guid":"bfdfe7dc352907fc980b868725387e98d85fb05fea1de189215946ca7e73089a"},{"fileReference":"bfdfe7dc352907fc980b868725387e98621647717ebb98ed5215a2363787ec60","guid":"bfdfe7dc352907fc980b868725387e986d6780885cc71cb7b1ef447a919ad79f"},{"fileReference":"bfdfe7dc352907fc980b868725387e9887eb43b7b5c4665c64c0e5d668c0db4a","guid":"bfdfe7dc352907fc980b868725387e98e2deb9e9c67acb54cc409929877df0e0"},{"fileReference":"bfdfe7dc352907fc980b868725387e989534023b43aec676374fa28f504ebd7b","guid":"bfdfe7dc352907fc980b868725387e98aed27b90c7d17d0c66bf157ed1b4e3c8"},{"fileReference":"bfdfe7dc352907fc980b868725387e981d20a98d8d6380a1cc4bfbc035d066f5","guid":"bfdfe7dc352907fc980b868725387e98c5ae436a3ec71388ba5c6f7b51963e53"},{"fileReference":"bfdfe7dc352907fc980b868725387e983982f2b3dd103ab5403130fd0d68cf72","guid":"bfdfe7dc352907fc980b868725387e9844bc15b9c17f01683ccf07e988377115"},{"fileReference":"bfdfe7dc352907fc980b868725387e984cc282790fe0653502d68810ce203862","guid":"bfdfe7dc352907fc980b868725387e98950d1d6f193127e8e40e67e5c02684d0"},{"fileReference":"bfdfe7dc352907fc980b868725387e98e2da331444b1f53e6dba6cb80e4bd821","guid":"bfdfe7dc352907fc980b868725387e98a5763e03b24ba60a2a744352ff95792e"},{"fileReference":"bfdfe7dc352907fc980b868725387e989efe2e2a211875271837aebcde4612e9","guid":"bfdfe7dc352907fc980b868725387e981dc0f3ecdf98d33f6bd0547c5ba7059b"},{"fileReference":"bfdfe7dc352907fc980b868725387e9890e258ab83427e9b3af28df6cbba4069","guid":"bfdfe7dc352907fc980b868725387e98128e2f23dbdef32488ed057967dda452"},{"fileReference":"bfdfe7dc352907fc980b868725387e9857980f4cd36be429374abd8731e09dc2","guid":"bfdfe7dc352907fc980b868725387e98cb80b33aacb172d028a447e43287dd99"},{"fileReference":"bfdfe7dc352907fc980b868725387e9842ed090caa16221d40b2deb5c1fc39a7","guid":"bfdfe7dc352907fc980b868725387e98d52815d3ee867fcb3ad71469359df3ae"},{"fileReference":"bfdfe7dc352907fc980b868725387e98e98566614e5a7eaa2d269e0707a52718","guid":"bfdfe7dc352907fc980b868725387e980c8de91ca0b7220175e02a8717488cea"},{"fileReference":"bfdfe7dc352907fc980b868725387e98bfc950ffeb67bb663f272c5ed9fedbd4","guid":"bfdfe7dc352907fc980b868725387e9857981d5ee15a81ff2ad219d70a4cacfd"},{"fileReference":"bfdfe7dc352907fc980b868725387e980e5fb7ae060697ed6919bcf3cedb0f75","guid":"bfdfe7dc352907fc980b868725387e98f074b4794e80d18504d2ac4ec8973aba"},{"fileReference":"bfdfe7dc352907fc980b868725387e98b4267b665e65b3b2e7bfe1594a1d1f5a","guid":"bfdfe7dc352907fc980b868725387e98fc8d362fc9937a90f24c02cf2f06d5de"},{"fileReference":"bfdfe7dc352907fc980b868725387e986cc1b3357462deb86550440d1f70a61b","guid":"bfdfe7dc352907fc980b868725387e988c9fa9c9424a0158e1aa055ef98abce3"},{"fileReference":"bfdfe7dc352907fc980b868725387e98d17a8f03b477f37a765a58084e0e5269","guid":"bfdfe7dc352907fc980b868725387e988f4fb2511ecac4dbce0895ffb3e33073"},{"fileReference":"bfdfe7dc352907fc980b868725387e98bee3b1251aecfd29166ec8b8a4b18b24","guid":"bfdfe7dc352907fc980b868725387e980c3d2a4bd21ddaf89b5496cd9ca714db"},{"fileReference":"bfdfe7dc352907fc980b868725387e9875781607f587883e67ef5fc29d71563b","guid":"bfdfe7dc352907fc980b868725387e98c434064303213b1941104add35057ee0"},{"fileReference":"bfdfe7dc352907fc980b868725387e989757f793fe76ee3d65074635004dbb48","guid":"bfdfe7dc352907fc980b868725387e98d34586ebd10a830179faf2b7579cab78"},{"fileReference":"bfdfe7dc352907fc980b868725387e98572304b8a4293ef6e15f1b6935aa3de6","guid":"bfdfe7dc352907fc980b868725387e98209f73bebac10cc83a92abb142fac939"},{"fileReference":"bfdfe7dc352907fc980b868725387e98666272423879d06e6542d05efdedb720","guid":"bfdfe7dc352907fc980b868725387e98d7ff1bf68c562adf433157767bdc2d12"},{"fileReference":"bfdfe7dc352907fc980b868725387e98102c5f8ca0d2ebc5a06ccb97589db0cf","guid":"bfdfe7dc352907fc980b868725387e987b93d6e1c11d5976960190a9de79c981"},{"fileReference":"bfdfe7dc352907fc980b868725387e9875b69c0c8d62ef6ae2f4d5ccb2a50140","guid":"bfdfe7dc352907fc980b868725387e98e029b66de800d1432fd656a37eca56e1"},{"fileReference":"bfdfe7dc352907fc980b868725387e98ca7c8108003627e6f3faac826b461b2b","guid":"bfdfe7dc352907fc980b868725387e9829de73e8947834ce226654711b56dd16"},{"fileReference":"bfdfe7dc352907fc980b868725387e981f8eac5b6857c6f90839ca30a2c3e6c4","guid":"bfdfe7dc352907fc980b868725387e988f7903eadd15a608fb4a9701b6e8e14d"},{"fileReference":"bfdfe7dc352907fc980b868725387e98a374d7222e915426b2f8ab3ba4d65ee5","guid":"bfdfe7dc352907fc980b868725387e98948074dbee062f2ac5e1b8655d61da3a"},{"fileReference":"bfdfe7dc352907fc980b868725387e98ba30b785bf30ceb46a9118f6019d819b","guid":"bfdfe7dc352907fc980b868725387e9850c0fcd0ff61a1cc91377263edb2a774"},{"fileReference":"bfdfe7dc352907fc980b868725387e98a235f0b77bf950d99dcce74d380bcd75","guid":"bfdfe7dc352907fc980b868725387e984d571fd7a377727b6ad9eda8eb9fd292"},{"fileReference":"bfdfe7dc352907fc980b868725387e98f5f54f4445a2c9e87da1cea25995185a","guid":"bfdfe7dc352907fc980b868725387e98c3a63b2fbadf993aa2ea493f2ad09544"},{"fileReference":"bfdfe7dc352907fc980b868725387e989bb0668960c84bff388737525f9b3a81","guid":"bfdfe7dc352907fc980b868725387e98540a3747079ca6f004d996060b4cb213"},{"fileReference":"bfdfe7dc352907fc980b868725387e986a7af298a7219b614606ae7ff2d749ae","guid":"bfdfe7dc352907fc980b868725387e98a07278050dcd5c4bb66fcf842bbd2c59"},{"fileReference":"bfdfe7dc352907fc980b868725387e98bb1dadfa78eacc3f622bcccdd537b399","guid":"bfdfe7dc352907fc980b868725387e985e65d69e9a35b7e4eecae6411c05d988"},{"fileReference":"bfdfe7dc352907fc980b868725387e98475bcd8f86ab153834b49971ed619ff5","guid":"bfdfe7dc352907fc980b868725387e98255884e31f8582299c265f2678f63e11"},{"fileReference":"bfdfe7dc352907fc980b868725387e984e9998b48de1e3e79cde488b19940ce2","guid":"bfdfe7dc352907fc980b868725387e987f3c8e57401e3d78726e674973e56791"},{"fileReference":"bfdfe7dc352907fc980b868725387e981e6263bb40c09d9f8dc13f069ceae880","guid":"bfdfe7dc352907fc980b868725387e98d5402093b2b404381fa424b7e44f6416"},{"fileReference":"bfdfe7dc352907fc980b868725387e98d5276ff3ae57c9a7f98db3bccebc2370","guid":"bfdfe7dc352907fc980b868725387e98f44e8e8e639b4a36d2e2589e7f6d09b8"},{"fileReference":"bfdfe7dc352907fc980b868725387e98e3a47805b413680ebb0c06709b493b25","guid":"bfdfe7dc352907fc980b868725387e986d59b31ddd293e848d0195c9d82d9c35"},{"fileReference":"bfdfe7dc352907fc980b868725387e98d104dd38e64d1362119c6d0e6e6c53a2","guid":"bfdfe7dc352907fc980b868725387e9818a8d345b243661a4fad38b27025877a"},{"fileReference":"bfdfe7dc352907fc980b868725387e9870ce2670d34fda92a4f9f6fab2cb3f05","guid":"bfdfe7dc352907fc980b868725387e98fcd38fcf5f68f99ec27763741129d04d"},{"fileReference":"bfdfe7dc352907fc980b868725387e986ea08be4fd634924346f78693900e71c","guid":"bfdfe7dc352907fc980b868725387e98636ad24054faf5fe010805a09bd28f07"},{"fileReference":"bfdfe7dc352907fc980b868725387e9803ec352f1d5e430050d78853042b369f","guid":"bfdfe7dc352907fc980b868725387e983b6513c4a450010cafdcfe1cfd932c6e"},{"fileReference":"bfdfe7dc352907fc980b868725387e986e2c14a76174e5c401d360834cbcd241","guid":"bfdfe7dc352907fc980b868725387e9855032b7330d4546888bc4f057b790a2b"},{"fileReference":"bfdfe7dc352907fc980b868725387e98dc039d8f859c4d7a942b4a6efffb5c50","guid":"bfdfe7dc352907fc980b868725387e9856d26ef9d369e7c255bcb8ee4efe5e6a"},{"fileReference":"bfdfe7dc352907fc980b868725387e9806bf6fed24708c67d77335a5235a6cc1","guid":"bfdfe7dc352907fc980b868725387e98eebb994d268fb79e4d27cdde6850c07b"},{"fileReference":"bfdfe7dc352907fc980b868725387e984b3cebe055de35d309e97aecaa0a5a1b","guid":"bfdfe7dc352907fc980b868725387e98b41ea75f645aa1edbb67ce4e7aa57406"},{"fileReference":"bfdfe7dc352907fc980b868725387e986e0bef915cd1d6699aab05207038a96f","guid":"bfdfe7dc352907fc980b868725387e985937601f49aeda389ac579d178ed0052"},{"fileReference":"bfdfe7dc352907fc980b868725387e98e701c1cb6f65239a251e4768e01df45e","guid":"bfdfe7dc352907fc980b868725387e98c36f2b1d46880e5b00462301e3d6fd22"},{"fileReference":"bfdfe7dc352907fc980b868725387e98e413e4e9aa35c4a57f446f64d1d7dbad","guid":"bfdfe7dc352907fc980b868725387e9825bb35b2760144ab3e780b89a8a87da5"},{"fileReference":"bfdfe7dc352907fc980b868725387e986632cf764cf74da0f8d3dbcbba1c5634","guid":"bfdfe7dc352907fc980b868725387e9858350754d1584a351dee2fa4c1585cd6"},{"fileReference":"bfdfe7dc352907fc980b868725387e982a785903ce725c51dc299f8f3d264a23","guid":"bfdfe7dc352907fc980b868725387e989dd2a4953f67a2a10242d78605df06d9"}],"guid":"bfdfe7dc352907fc980b868725387e987908b8f7896408c187f152da1b51c070","type":"com.apple.buildphase.sources"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98b14af7c49882340ad551cb13b0a1e06d","guid":"bfdfe7dc352907fc980b868725387e9806a92d9c576668cee9d5913728916992"},{"fileReference":"bfdfe7dc352907fc980b868725387e98e4170aa7f984f5a13b58a3c42c24b3e6","guid":"bfdfe7dc352907fc980b868725387e9875a1d5d4696253ce89b23de3bd3c6ac6"},{"fileReference":"bfdfe7dc352907fc980b868725387e9820c167798bdb228b4ab52bb2aa7eb24b","guid":"bfdfe7dc352907fc980b868725387e98c8469cac88bbe238ade8f54e247c9e15"}],"guid":"bfdfe7dc352907fc980b868725387e9822ffa72130b46984a7a466dd9c1eea77","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"guid":"bfdfe7dc352907fc980b868725387e9897dd3956ab5a86d4602cc57fdb8a0bbd","targetReference":"bfdfe7dc352907fc980b868725387e98205354208adeebae46380f8f82956de4"}],"guid":"bfdfe7dc352907fc980b868725387e980ef2362b2d99c33629654d25ce1a17eb","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[{"guid":"bfdfe7dc352907fc980b868725387e981f0a8508efd61386103314ddbb82a530","name":"FirebaseAppCheckInterop"},{"guid":"bfdfe7dc352907fc980b868725387e98205354208adeebae46380f8f82956de4","name":"FirebaseAuth-FirebaseAuth_Privacy"},{"guid":"bfdfe7dc352907fc980b868725387e988e935c81efc4686179f554b8fe37864a","name":"FirebaseAuthInterop"},{"guid":"bfdfe7dc352907fc980b868725387e98a408a4c1f668e62161cdeba76f57d50c","name":"FirebaseCore"},{"guid":"bfdfe7dc352907fc980b868725387e982fcb5e27d041e48b96b3ab14ce32d5f2","name":"FirebaseCoreExtension"},{"guid":"bfdfe7dc352907fc980b868725387e98dd3a6a519ed4181bf31ea6bc1f18ebc5","name":"GTMSessionFetcher"},{"guid":"bfdfe7dc352907fc980b868725387e98718890dfdac589615663a02d43d9af3e","name":"GoogleUtilities"},{"guid":"bfdfe7dc352907fc980b868725387e98da29652de71b686743df2bd56decf7ef","name":"RecaptchaInterop"}],"guid":"bfdfe7dc352907fc980b868725387e98b762d5de103fb6cfc7506aa6be1d4f33","name":"FirebaseAuth","predominantSourceCodeLanguage":"Xcode.SourceCodeLanguage.Swift","productReference":{"guid":"bfdfe7dc352907fc980b868725387e985cd3a5a71d9e860191e64012c6d205c4","name":"FirebaseAuth.framework","type":"product"},"productTypeIdentifier":"com.apple.product-type.framework","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":1}],"type":"standard"} \ No newline at end of file diff --git a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=0b58e1096693d1b2f665847f3d6ed644-json b/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=0b58e1096693d1b2f665847f3d6ed644-json deleted file mode 100644 index a55176fa..00000000 --- a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=0b58e1096693d1b2f665847f3d6ed644-json +++ /dev/null @@ -1 +0,0 @@ -{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98421994bc5dd043094766f7b84b26a0c6","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","GCC_PREFIX_HEADER":"Target Support Files/FirebaseAppCheckInterop/FirebaseAppCheckInterop-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/FirebaseAppCheckInterop/FirebaseAppCheckInterop-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/FirebaseAppCheckInterop/FirebaseAppCheckInterop.modulemap","ONLY_ACTIVE_ARCH":"NO","PRODUCT_MODULE_NAME":"FirebaseAppCheckInterop","PRODUCT_NAME":"FirebaseAppCheckInterop","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e986f58c6649fe25a50f60c4963db91c363","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98b37eb9d9e658784e2a78517cf0f13af6","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","GCC_PREFIX_HEADER":"Target Support Files/FirebaseAppCheckInterop/FirebaseAppCheckInterop-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/FirebaseAppCheckInterop/FirebaseAppCheckInterop-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/FirebaseAppCheckInterop/FirebaseAppCheckInterop.modulemap","PRODUCT_MODULE_NAME":"FirebaseAppCheckInterop","PRODUCT_NAME":"FirebaseAppCheckInterop","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e987b692890a649bae1a579bc7e819a8108","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98b37eb9d9e658784e2a78517cf0f13af6","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","GCC_PREFIX_HEADER":"Target Support Files/FirebaseAppCheckInterop/FirebaseAppCheckInterop-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/FirebaseAppCheckInterop/FirebaseAppCheckInterop-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/FirebaseAppCheckInterop/FirebaseAppCheckInterop.modulemap","PRODUCT_MODULE_NAME":"FirebaseAppCheckInterop","PRODUCT_NAME":"FirebaseAppCheckInterop","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e981b4369d08b74582aee651e45141ded31","name":"Release"}],"buildPhases":[{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98a7311458b4843df9e67745481ba7c0e5","guid":"bfdfe7dc352907fc980b868725387e9828e277c9497b2f20895ff53be68a0f33","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e9829de89cb8f108e22ea823c6be6f50bb8","guid":"bfdfe7dc352907fc980b868725387e98844f13aa6f5e1386f61d5696e7b8984d","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e9844c414003af70893691ff86752a3f856","guid":"bfdfe7dc352907fc980b868725387e98a34d867ee41b3a876589657d837461b6","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e985a1fa15e8a7202370ebafaea17bc9527","guid":"bfdfe7dc352907fc980b868725387e98999c06e70f73d8521f2d4ca7b7f131e8","headerVisibility":"public"}],"guid":"bfdfe7dc352907fc980b868725387e98b735d5869615c19ff960db77f1aaa00c","type":"com.apple.buildphase.headers"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98c0c7690085e912d942bf2e237c7d1c7b","guid":"bfdfe7dc352907fc980b868725387e98e4605ad5dcb3e021f9ea7dfa1319e233"},{"fileReference":"bfdfe7dc352907fc980b868725387e982a30bb5a8768c4121de0072fc14d52a0","guid":"bfdfe7dc352907fc980b868725387e98b09b55376e91c7e3090fec6579a02e28"}],"guid":"bfdfe7dc352907fc980b868725387e9820141e6459734f9feb4931b58768af04","type":"com.apple.buildphase.sources"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98b14af7c49882340ad551cb13b0a1e06d","guid":"bfdfe7dc352907fc980b868725387e98afc620bdc83204c63fc012552c2beb39"}],"guid":"bfdfe7dc352907fc980b868725387e98fd137d0784f18399947b71f2309b299b","type":"com.apple.buildphase.frameworks"},{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e9825da9d9e3f725ae476705bc78735502c","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[],"guid":"bfdfe7dc352907fc980b868725387e981f0a8508efd61386103314ddbb82a530","name":"FirebaseAppCheckInterop","predominantSourceCodeLanguage":"Xcode.SourceCodeLanguage.Objective-C-Plus-Plus","productReference":{"guid":"bfdfe7dc352907fc980b868725387e982cdb0c7c817307e018cfb4299b646a42","name":"FirebaseAppCheckInterop.framework","type":"product"},"productTypeIdentifier":"com.apple.product-type.framework","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":1}],"type":"standard"} \ No newline at end of file diff --git a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=0b5c502676ea77f04ab6ea7a2e8956d9-json b/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=0b5c502676ea77f04ab6ea7a2e8956d9-json deleted file mode 100644 index 3c105ee0..00000000 --- a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=0b5c502676ea77f04ab6ea7a2e8956d9-json +++ /dev/null @@ -1 +0,0 @@ -{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98237671cfe20903d6f94682d7135ab52a","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/path_provider_foundation","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"path_provider_foundation","INFOPLIST_FILE":"Target Support Files/path_provider_foundation/ResourceBundle-path_provider_foundation_privacy-path_provider_foundation-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"12.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"path_provider_foundation_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98c220b717effe1cdd465a205ee95d349c","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e980e0c5fa0e8218bd665f72f14cbfc898f","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/path_provider_foundation","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"path_provider_foundation","INFOPLIST_FILE":"Target Support Files/path_provider_foundation/ResourceBundle-path_provider_foundation_privacy-path_provider_foundation-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"12.0","PRODUCT_NAME":"path_provider_foundation_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e9860a98cac683156b89579461b12d9c3f0","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e980e0c5fa0e8218bd665f72f14cbfc898f","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/path_provider_foundation","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"path_provider_foundation","INFOPLIST_FILE":"Target Support Files/path_provider_foundation/ResourceBundle-path_provider_foundation_privacy-path_provider_foundation-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"12.0","PRODUCT_NAME":"path_provider_foundation_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e9845045c47908a01a7620293e9eb5b8581","name":"Release"}],"buildPhases":[{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e9826bc948ab5c020662629313ee4c44ba0","type":"com.apple.buildphase.sources"},{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e98248860b0d15cedbfaa9a198de6fddec1","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e9874c74ec17bfbd10a54d1903d5290b3df","guid":"bfdfe7dc352907fc980b868725387e983753c0c4f160bd4ebab92de93f3e694d"}],"guid":"bfdfe7dc352907fc980b868725387e98c20ebbb494d2a8d56a1306d22e48544f","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[],"guid":"bfdfe7dc352907fc980b868725387e987ea64ee8d53085bf9edd1a57aaf8cbb5","name":"path_provider_foundation-path_provider_foundation_privacy","productReference":{"guid":"bfdfe7dc352907fc980b868725387e986e649604f74c414a7c2dbe5ef4cc4e75","name":"path_provider_foundation_privacy.bundle","type":"product"},"productTypeIdentifier":"com.apple.product-type.bundle","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":0}],"type":"standard"} \ No newline at end of file diff --git a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=110600b415fe8fc7dd4ca8c0f3c4e215-json b/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=110600b415fe8fc7dd4ca8c0f3c4e215-json deleted file mode 100644 index c6cb6059..00000000 --- a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=110600b415fe8fc7dd4ca8c0f3c4e215-json +++ /dev/null @@ -1 +0,0 @@ -{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98b94f751a83e7e0f1d4b42f2b77a60509","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","GCC_PREFIX_HEADER":"Target Support Files/FirebaseCoreInternal/FirebaseCoreInternal-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/FirebaseCoreInternal/FirebaseCoreInternal-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/FirebaseCoreInternal/FirebaseCoreInternal.modulemap","ONLY_ACTIVE_ARCH":"NO","PRODUCT_MODULE_NAME":"FirebaseCoreInternal","PRODUCT_NAME":"FirebaseCoreInternal","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.9","TARGETED_DEVICE_FAMILY":"1,2","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98dac1faaa464be3f8c188e3c2753b5629","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98d9147eb705ef7701ac589855737d9572","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","GCC_PREFIX_HEADER":"Target Support Files/FirebaseCoreInternal/FirebaseCoreInternal-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/FirebaseCoreInternal/FirebaseCoreInternal-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/FirebaseCoreInternal/FirebaseCoreInternal.modulemap","PRODUCT_MODULE_NAME":"FirebaseCoreInternal","PRODUCT_NAME":"FirebaseCoreInternal","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.9","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98ae7c409a52a05bbaf5e0899cdeb43a37","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98d9147eb705ef7701ac589855737d9572","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","GCC_PREFIX_HEADER":"Target Support Files/FirebaseCoreInternal/FirebaseCoreInternal-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/FirebaseCoreInternal/FirebaseCoreInternal-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/FirebaseCoreInternal/FirebaseCoreInternal.modulemap","PRODUCT_MODULE_NAME":"FirebaseCoreInternal","PRODUCT_NAME":"FirebaseCoreInternal","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.9","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e987e49c5c2e0d0e3660e656c636534d89e","name":"Release"}],"buildPhases":[{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98f58230de926dbcf32485d1422b47f24e","guid":"bfdfe7dc352907fc980b868725387e9865ffd85b7f0ec30c195efd65c0ed4864","headerVisibility":"public"}],"guid":"bfdfe7dc352907fc980b868725387e989ee74b6cb3e783bde9b3e9aa17c4b030","type":"com.apple.buildphase.headers"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98593f6dae4d99a30c132d62107a81aa3d","guid":"bfdfe7dc352907fc980b868725387e98f1ea80bb63200a55cee504571102b105"},{"fileReference":"bfdfe7dc352907fc980b868725387e98a54c9801248b47f1be63245cbf224d35","guid":"bfdfe7dc352907fc980b868725387e98fb9046c505d67b720f5c045edfd1baa6"},{"fileReference":"bfdfe7dc352907fc980b868725387e980896766df14a9046b4bc17a9df2f2c95","guid":"bfdfe7dc352907fc980b868725387e98f2618bb7ecbe230b56dc041dad8ea9eb"},{"fileReference":"bfdfe7dc352907fc980b868725387e98c4923971f83aa387b26c7b1cbb3461a3","guid":"bfdfe7dc352907fc980b868725387e98cb1d6dbc80be517122aab0cb0b28ea1a"},{"fileReference":"bfdfe7dc352907fc980b868725387e98b11e742c4a53da542ea1cf321d4e26d0","guid":"bfdfe7dc352907fc980b868725387e9870b56cb875b24c9659feec087e5d2611"},{"fileReference":"bfdfe7dc352907fc980b868725387e982094f37cc1ad3624de7ad36386c6f411","guid":"bfdfe7dc352907fc980b868725387e98465b883b5b87788e23fa539cacbfb5b1"},{"fileReference":"bfdfe7dc352907fc980b868725387e989c3eb4c9df3e35b9bec6678a11018e5d","guid":"bfdfe7dc352907fc980b868725387e980d4f2c99df729b33e0d59a3de295cc9b"},{"fileReference":"bfdfe7dc352907fc980b868725387e98a4e413da7fd7f4faf80ef89285732c22","guid":"bfdfe7dc352907fc980b868725387e9848104916b5ef754223d604646af44d24"},{"fileReference":"bfdfe7dc352907fc980b868725387e988bf2e7afd647207a48e69cf948defc3b","guid":"bfdfe7dc352907fc980b868725387e98d06e31f92447fac27241fcf0d3680a06"},{"fileReference":"bfdfe7dc352907fc980b868725387e98c954661eb8509838d8fb450920a2f8e0","guid":"bfdfe7dc352907fc980b868725387e98f7f03bf9bfb1a22b232b397c960315e6"},{"fileReference":"bfdfe7dc352907fc980b868725387e98f311c41c00ccd9d7c5b428bac6ece171","guid":"bfdfe7dc352907fc980b868725387e98ecc0ff87552d047b0f63420d1fea5327"},{"fileReference":"bfdfe7dc352907fc980b868725387e98b98bef66718986a1b7d33bc52200004f","guid":"bfdfe7dc352907fc980b868725387e98504f0fac6dafb533e98a0e3525c1b686"},{"fileReference":"bfdfe7dc352907fc980b868725387e98f6fd1de5036398d6723d5839a7b109e2","guid":"bfdfe7dc352907fc980b868725387e98b584f86dea2cc420940b8a969cf67229"},{"fileReference":"bfdfe7dc352907fc980b868725387e98ce5e4868163131e336f7e6d43faeef31","guid":"bfdfe7dc352907fc980b868725387e9874a73f512a7ec185dd66b710dafb55b6"}],"guid":"bfdfe7dc352907fc980b868725387e9881092ad92129aab1f82c398bb12c2bbd","type":"com.apple.buildphase.sources"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98b14af7c49882340ad551cb13b0a1e06d","guid":"bfdfe7dc352907fc980b868725387e98a339ba772c8b2c8441aea3db8f7b1f38"}],"guid":"bfdfe7dc352907fc980b868725387e98c6658247b73c5623dfc421ba205fbf85","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"guid":"bfdfe7dc352907fc980b868725387e98630c123717965a20217d70ab52a6ac91","targetReference":"bfdfe7dc352907fc980b868725387e98e5b592b076e092ab7ac9d9b5c85edc6f"}],"guid":"bfdfe7dc352907fc980b868725387e98dc70ed4bbc47154bf942cc9ca90a860b","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[{"guid":"bfdfe7dc352907fc980b868725387e98e5b592b076e092ab7ac9d9b5c85edc6f","name":"FirebaseCoreInternal-FirebaseCoreInternal_Privacy"},{"guid":"bfdfe7dc352907fc980b868725387e98718890dfdac589615663a02d43d9af3e","name":"GoogleUtilities"}],"guid":"bfdfe7dc352907fc980b868725387e98020791fd2e7b7ddc8fb2658339c42e16","name":"FirebaseCoreInternal","predominantSourceCodeLanguage":"Xcode.SourceCodeLanguage.Swift","productReference":{"guid":"bfdfe7dc352907fc980b868725387e983d86e87924acfad2934921ce7ad9fbea","name":"FirebaseCoreInternal.framework","type":"product"},"productTypeIdentifier":"com.apple.product-type.framework","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":1}],"type":"standard"} \ No newline at end of file diff --git a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=1140ca82d597cd38dc60054d3a158f68-json b/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=1140ca82d597cd38dc60054d3a158f68-json deleted file mode 100644 index 09e5918b..00000000 --- a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=1140ca82d597cd38dc60054d3a158f68-json +++ /dev/null @@ -1 +0,0 @@ -{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98dcbcbc7a5e77c993122880547c8ba2bb","buildSettings":{"ASSETCATALOG_COMPILER_APPICON_NAME":"AppIcon","ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME":"AccentColor","CLANG_ENABLE_OBJC_WEAK":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","IPHONEOS_DEPLOYMENT_TARGET":"13.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks","ONLY_ACTIVE_ARCH":"NO","SDKROOT":"iphoneos","TARGETED_DEVICE_FAMILY":"1,2"},"guid":"bfdfe7dc352907fc980b868725387e980bc977b873df9b0e01b3c822e5c77429","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e982275ed66a3f7f3088878aa0c9e2d181a","buildSettings":{"ASSETCATALOG_COMPILER_APPICON_NAME":"AppIcon","ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME":"AccentColor","CLANG_ENABLE_OBJC_WEAK":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","IPHONEOS_DEPLOYMENT_TARGET":"13.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks","SDKROOT":"iphoneos","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES"},"guid":"bfdfe7dc352907fc980b868725387e98b75274b69084014a6a5ac37ea7a9d4bc","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e982275ed66a3f7f3088878aa0c9e2d181a","buildSettings":{"ASSETCATALOG_COMPILER_APPICON_NAME":"AppIcon","ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME":"AccentColor","CLANG_ENABLE_OBJC_WEAK":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","IPHONEOS_DEPLOYMENT_TARGET":"13.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks","SDKROOT":"iphoneos","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES"},"guid":"bfdfe7dc352907fc980b868725387e988b8e6347e534cb57e9bb1b22dc47b716","name":"Release"}],"buildPhases":[],"buildRules":[],"dependencies":[],"guid":"bfdfe7dc352907fc980b868725387e989da425bb6d6d5d8dbb95e4afffb82217","name":"Flutter","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"","configurationName":"Debug","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"","configurationName":"Profile","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"","configurationName":"Release","provisioningStyle":0}],"type":"aggregate"} \ No newline at end of file diff --git a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=14b6e6d9e2eda3680623b9cb266fb1b3-json b/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=14b6e6d9e2eda3680623b9cb266fb1b3-json deleted file mode 100644 index f8c50633..00000000 --- a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=14b6e6d9e2eda3680623b9cb266fb1b3-json +++ /dev/null @@ -1 +0,0 @@ -{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98089a265d15a8f52f9e25ea32540ea5cd","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/package_info_plus","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"package_info_plus","INFOPLIST_FILE":"Target Support Files/package_info_plus/ResourceBundle-package_info_plus_privacy-package_info_plus-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"12.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"package_info_plus_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98086fbffdd1042f07c4960ae59c08c889","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9811034d0cd45341ec5fddd8ae14b45098","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/package_info_plus","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"package_info_plus","INFOPLIST_FILE":"Target Support Files/package_info_plus/ResourceBundle-package_info_plus_privacy-package_info_plus-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"12.0","PRODUCT_NAME":"package_info_plus_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98fb69f0822e220d5db24cd93d3b9ece6a","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9811034d0cd45341ec5fddd8ae14b45098","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/package_info_plus","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"package_info_plus","INFOPLIST_FILE":"Target Support Files/package_info_plus/ResourceBundle-package_info_plus_privacy-package_info_plus-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"12.0","PRODUCT_NAME":"package_info_plus_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98a86b22695c7b114b0b5d3acbd271ad72","name":"Release"}],"buildPhases":[{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e980036fb056e70f26b992370f8a0635a97","type":"com.apple.buildphase.sources"},{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e984d5bd123c512ee74d0cc1c57914e14ec","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98acc94a90b20547c25ffbe2fd16f0028a","guid":"bfdfe7dc352907fc980b868725387e98d2483853a91fcc73342f348b5323c524"}],"guid":"bfdfe7dc352907fc980b868725387e98ad78d1650baee242af866560206ed06e","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[],"guid":"bfdfe7dc352907fc980b868725387e987b6c2f882d164ef4f3c76673562685a1","name":"package_info_plus-package_info_plus_privacy","productReference":{"guid":"bfdfe7dc352907fc980b868725387e982a9852aa81a16cf5578d0e8c78b5679a","name":"package_info_plus_privacy.bundle","type":"product"},"productTypeIdentifier":"com.apple.product-type.bundle","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":0}],"type":"standard"} \ No newline at end of file diff --git a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=1a4fe29d3cb9f9220793e4797839ee1f-json b/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=1a4fe29d3cb9f9220793e4797839ee1f-json deleted file mode 100644 index 29acb733..00000000 --- a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=1a4fe29d3cb9f9220793e4797839ee1f-json +++ /dev/null @@ -1 +0,0 @@ -{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98de35fcdac3f67fe0119b4d27e7b7c6d4","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/share_plus/share_plus-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/share_plus/share_plus-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/share_plus/share_plus.modulemap","ONLY_ACTIVE_ARCH":"NO","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"share_plus","PRODUCT_NAME":"share_plus","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98fa50e2fc76f3c7e46550ec7ffc7bb01c","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98d3219dc3abe23add073ba57e4e5929db","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/share_plus/share_plus-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/share_plus/share_plus-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/share_plus/share_plus.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"share_plus","PRODUCT_NAME":"share_plus","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98e553b9382cc24bd5b1414348a7055016","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98d3219dc3abe23add073ba57e4e5929db","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/share_plus/share_plus-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/share_plus/share_plus-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/share_plus/share_plus.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"share_plus","PRODUCT_NAME":"share_plus","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e9806962fb3610a587387aa54c43210d4b3","name":"Release"}],"buildPhases":[{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e986c6ddc4ee2f3ea412c1028067a0fee4c","guid":"bfdfe7dc352907fc980b868725387e980f8f3deae531c7d612b13ade317f163f","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e983a3ff60a16fd5c441672e7e40ef2e624","guid":"bfdfe7dc352907fc980b868725387e982ea795dc0be844d6be5410e75e86c1c3","headerVisibility":"public"}],"guid":"bfdfe7dc352907fc980b868725387e98865ac88938aac084ee38b49d0be68c79","type":"com.apple.buildphase.headers"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98119c9eb9886f3635874ecb6a94a2f0d4","guid":"bfdfe7dc352907fc980b868725387e98b14be1c2661bdd1d98ad268062b02ea9"},{"fileReference":"bfdfe7dc352907fc980b868725387e98ac3d4b3149126b081d5bc50806117e1a","guid":"bfdfe7dc352907fc980b868725387e981dd4d47921a1bb9bb51aeffb52b2667c"}],"guid":"bfdfe7dc352907fc980b868725387e984e1dbd6e430296b13520d2f888421896","type":"com.apple.buildphase.sources"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98b14af7c49882340ad551cb13b0a1e06d","guid":"bfdfe7dc352907fc980b868725387e985b8ff78a3ba34afe55fbbcea034c09f0"}],"guid":"bfdfe7dc352907fc980b868725387e98cb9a2b042b08bd6c2e561afd4c78e4d4","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"guid":"bfdfe7dc352907fc980b868725387e98831b06cee1c8abfe0f9885d5d85abea1","targetReference":"bfdfe7dc352907fc980b868725387e98de00f90750e7753637464fe34137709d"}],"guid":"bfdfe7dc352907fc980b868725387e984f4190b0e881c91b258e089514665437","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[{"guid":"bfdfe7dc352907fc980b868725387e989da425bb6d6d5d8dbb95e4afffb82217","name":"Flutter"},{"guid":"bfdfe7dc352907fc980b868725387e98de00f90750e7753637464fe34137709d","name":"share_plus-share_plus_privacy"}],"guid":"bfdfe7dc352907fc980b868725387e98848ff9cf74c635f5324731538a1c853f","name":"share_plus","predominantSourceCodeLanguage":"Xcode.SourceCodeLanguage.Objective-C","productReference":{"guid":"bfdfe7dc352907fc980b868725387e98ae2d3cb0c689d7eba802899edfe718f3","name":"share_plus.framework","type":"product"},"productTypeIdentifier":"com.apple.product-type.framework","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":1}],"type":"standard"} \ No newline at end of file diff --git a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=1abbdfc13b53a75a94289fd5712275b6-json b/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=1abbdfc13b53a75a94289fd5712275b6-json deleted file mode 100644 index 24fc0852..00000000 --- a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=1abbdfc13b53a75a94289fd5712275b6-json +++ /dev/null @@ -1 +0,0 @@ -{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e986b056fb7813eab8b622dbbdb4b6201da","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/url_launcher_ios","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"url_launcher_ios","INFOPLIST_FILE":"Target Support Files/url_launcher_ios/ResourceBundle-url_launcher_ios_privacy-url_launcher_ios-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"12.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"url_launcher_ios_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e9849f55a8954fd158d2bb7eeb077a7f738","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e982e8b062cb2e7d8455d114188a1500a94","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/url_launcher_ios","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"url_launcher_ios","INFOPLIST_FILE":"Target Support Files/url_launcher_ios/ResourceBundle-url_launcher_ios_privacy-url_launcher_ios-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"12.0","PRODUCT_NAME":"url_launcher_ios_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98ee5361fd881ec2d400015f1265b2e272","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e982e8b062cb2e7d8455d114188a1500a94","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/url_launcher_ios","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"url_launcher_ios","INFOPLIST_FILE":"Target Support Files/url_launcher_ios/ResourceBundle-url_launcher_ios_privacy-url_launcher_ios-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"12.0","PRODUCT_NAME":"url_launcher_ios_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e981c7d4994c0064d3ceceb2e8ad26c5de1","name":"Release"}],"buildPhases":[{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e9856533e12f3c8cd22a7146d3d1e75a783","type":"com.apple.buildphase.sources"},{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e989d450ecd61cde185e930f37e7e523c50","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e980ee24ebd45c579186ae60d129b553bed","guid":"bfdfe7dc352907fc980b868725387e98283621da68b66680271886dd63420519"}],"guid":"bfdfe7dc352907fc980b868725387e9835d5ecdaa2416776646536fdd7ec6057","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[],"guid":"bfdfe7dc352907fc980b868725387e9891b3b8cc56823cdea4b418e009a423b2","name":"url_launcher_ios-url_launcher_ios_privacy","productReference":{"guid":"bfdfe7dc352907fc980b868725387e9827df8da513ac7d6928fc311b53a7155d","name":"url_launcher_ios_privacy.bundle","type":"product"},"productTypeIdentifier":"com.apple.product-type.bundle","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":0}],"type":"standard"} \ No newline at end of file diff --git a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=1e4d2a3be90cd0a545f0c49cf9dce02c-json b/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=1e4d2a3be90cd0a545f0c49cf9dce02c-json deleted file mode 100644 index a2b07623..00000000 --- a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=1e4d2a3be90cd0a545f0c49cf9dce02c-json +++ /dev/null @@ -1 +0,0 @@ -{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9826aabbf6d6b2201c6400dd7fc8a0967f","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/local_auth_darwin/local_auth_darwin-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/local_auth_darwin/local_auth_darwin-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/local_auth_darwin/local_auth_darwin.modulemap","ONLY_ACTIVE_ARCH":"NO","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"local_auth_darwin","PRODUCT_NAME":"local_auth_darwin","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98a9d9e5af04f6997b3fed9529b7465757","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9835c7588ceebde0ed281cc6f972ef1ccc","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/local_auth_darwin/local_auth_darwin-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/local_auth_darwin/local_auth_darwin-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/local_auth_darwin/local_auth_darwin.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"local_auth_darwin","PRODUCT_NAME":"local_auth_darwin","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e985413d84bcf1d662f2a1bc6ff76cf92f5","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9835c7588ceebde0ed281cc6f972ef1ccc","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/local_auth_darwin/local_auth_darwin-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/local_auth_darwin/local_auth_darwin-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/local_auth_darwin/local_auth_darwin.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"local_auth_darwin","PRODUCT_NAME":"local_auth_darwin","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98b236353cceac3de794f882fb06e1890a","name":"Release"}],"buildPhases":[{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98ad898343d17a563826d8df8267c2a015","guid":"bfdfe7dc352907fc980b868725387e98378840bdd29d8ab2e9515a5a33e3359e","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e9851693e394b4c9a3739669bc6f2853f65","guid":"bfdfe7dc352907fc980b868725387e982681518474e7ceaee45243b339404e77","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e9842b9afd398f7b12fdbd878a1e1fdb5cb","guid":"bfdfe7dc352907fc980b868725387e981f3e5000744e84ff1719ae1a1aeb6957","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98448a4b5517b9d1847c69072fe92810da","guid":"bfdfe7dc352907fc980b868725387e980a10425b06a35799dc132e929ee90a4e","headerVisibility":"public"}],"guid":"bfdfe7dc352907fc980b868725387e98805180487dba141f5f3620a47c45b0bb","type":"com.apple.buildphase.headers"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98ae1aa1da940b2cf3059d58fa5aeb575e","guid":"bfdfe7dc352907fc980b868725387e98db62623edd41b2f6b0559f0c3afac6f2"},{"fileReference":"bfdfe7dc352907fc980b868725387e9824eab6a2af2aa1812cce719f02ee9fd4","guid":"bfdfe7dc352907fc980b868725387e988ecda68313198b3caab96c9ef9c68f44"},{"fileReference":"bfdfe7dc352907fc980b868725387e98cd73448a566c5be29cdf42df00abfae5","guid":"bfdfe7dc352907fc980b868725387e989aca1fccf2b74fcf76219b3929f09707"}],"guid":"bfdfe7dc352907fc980b868725387e989c6628aab1cde4657b2f146bc4c6303f","type":"com.apple.buildphase.sources"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98b14af7c49882340ad551cb13b0a1e06d","guid":"bfdfe7dc352907fc980b868725387e98fd4e00a44784a0623be8b2c18091c770"}],"guid":"bfdfe7dc352907fc980b868725387e989173cd7bbe3b01d3250270f3d874515a","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"guid":"bfdfe7dc352907fc980b868725387e98611297d6be2a6072de2d7b739398c253","targetReference":"bfdfe7dc352907fc980b868725387e98afb8e8e2ed6a0ef9cb1d99282c22f170"}],"guid":"bfdfe7dc352907fc980b868725387e9866ce9dbd023864a453f7ba57656310c5","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[{"guid":"bfdfe7dc352907fc980b868725387e989da425bb6d6d5d8dbb95e4afffb82217","name":"Flutter"},{"guid":"bfdfe7dc352907fc980b868725387e98afb8e8e2ed6a0ef9cb1d99282c22f170","name":"local_auth_darwin-local_auth_darwin_privacy"}],"guid":"bfdfe7dc352907fc980b868725387e988cbaddc02f6ec7fadc6b543cd6534960","name":"local_auth_darwin","predominantSourceCodeLanguage":"Xcode.SourceCodeLanguage.Objective-C-Plus-Plus","productReference":{"guid":"bfdfe7dc352907fc980b868725387e98a8b2f505b57b50e12043e6087151fc22","name":"local_auth_darwin.framework","type":"product"},"productTypeIdentifier":"com.apple.product-type.framework","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":1}],"type":"standard"} \ No newline at end of file diff --git a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=1f36083119fed8be641437f19af66acc-json b/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=1f36083119fed8be641437f19af66acc-json deleted file mode 100644 index f322850a..00000000 --- a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=1f36083119fed8be641437f19af66acc-json +++ /dev/null @@ -1 +0,0 @@ -{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9870bacfaf6cde3d89a76fe4e932cc6788","buildSettings":{"CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/PromisesObjC/PromisesObjC-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"9.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/PromisesObjC/PromisesObjC.modulemap","ONLY_ACTIVE_ARCH":"NO","PRODUCT_MODULE_NAME":"FBLPromises","PRODUCT_NAME":"FBLPromises","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98c52132de3cb297c3dd282c53e4d704df","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9889d254ad5933689bf555dbc41d2fcf23","buildSettings":{"CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/PromisesObjC/PromisesObjC-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"9.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/PromisesObjC/PromisesObjC.modulemap","PRODUCT_MODULE_NAME":"FBLPromises","PRODUCT_NAME":"FBLPromises","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e988459df85d865c11ed777040e666b8dff","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9889d254ad5933689bf555dbc41d2fcf23","buildSettings":{"CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/PromisesObjC/PromisesObjC-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"9.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/PromisesObjC/PromisesObjC.modulemap","PRODUCT_MODULE_NAME":"FBLPromises","PRODUCT_NAME":"FBLPromises","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e9856899bd0f44cb948cf9d8abe49416cd3","name":"Release"}],"buildPhases":[{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e9833df98e018adc77b9ee56cdc07aacd3f","guid":"bfdfe7dc352907fc980b868725387e982fd935af4bbc067393e903fee29653ea","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e9865be438db2f61c5160b40adf875e6b14","guid":"bfdfe7dc352907fc980b868725387e98219a09b0e0ab077bc25a3912f86db88d","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98ec2937fc269337ef369568770a9974f6","guid":"bfdfe7dc352907fc980b868725387e98f23c0e0891c8fc92cf41fee59f1451a7","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e986d7afd8b9ef329e8b8092b4b4d73ca33","guid":"bfdfe7dc352907fc980b868725387e98cd781db61ef2d5193461ba9af1998940","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98d96fd933472cfe31b39378ea674cb4ef","guid":"bfdfe7dc352907fc980b868725387e98d6ad8670e9e917d1c93259384d8595d3","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e984258d000b808182a55ed359ba4e63953","guid":"bfdfe7dc352907fc980b868725387e981402b21e00ba4c1a4024ee13fdceeb36","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e988131c2b568eaafe86a12b2ad83d7db48","guid":"bfdfe7dc352907fc980b868725387e988e759eb726648fe94edb2839399d9a7a","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e984bf3ce587970ab6f7feb6f67744292b5","guid":"bfdfe7dc352907fc980b868725387e98ec4a078a9dd813c289e14a18b684b1e3","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98c73fcebb94e4884285929eea119100a0","guid":"bfdfe7dc352907fc980b868725387e983f5457c93445cbc63a19b15aea5773b4","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98ce3820605a66e6df7ad360709285dcaa","guid":"bfdfe7dc352907fc980b868725387e980ccc717db762fafbee7a87f7b5616419","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e983f1026a051b69c332802557f54f5f15b","guid":"bfdfe7dc352907fc980b868725387e98a71595b7cf5e4a86dba9a76f79920127","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98cf41e5e95c462c3dc24471acd8e6551e","guid":"bfdfe7dc352907fc980b868725387e98b86282800552f32a144aac896551a95f","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e9876bb9188aba89de9ffca92bd18712f1a","guid":"bfdfe7dc352907fc980b868725387e987e3b2dfebe6d8bf41757d59f0c8f03da","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98a8c1c5b1e81fee43b5a34049e1ebbef2","guid":"bfdfe7dc352907fc980b868725387e980f53d1083a1c54c5c11d6483d5ae7c39","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98fb74040e3b4703dc724128dc4259fe39","guid":"bfdfe7dc352907fc980b868725387e98fcd7f434257987d6444ced307010c9d9","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98859f6f736e1f8d98f41892e3f0b95c17","guid":"bfdfe7dc352907fc980b868725387e988972d09ae0f73373fab951d04c2c5428","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e980d24fc5ca57e8742be1a4aa5fca26a6c","guid":"bfdfe7dc352907fc980b868725387e98426a7455793eb985657dfeb453ad88d6","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e984901e26a9bf94289c40945076a433f5b","guid":"bfdfe7dc352907fc980b868725387e98c452c515df5668ee3a8ea7391a83a878","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e9845b5945be755a7e7bb5daae3aa99c2dc","guid":"bfdfe7dc352907fc980b868725387e98cd1de55dc04ab671792b6d915bec622d","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e986eee35874291a8ab220e7a802313658a","guid":"bfdfe7dc352907fc980b868725387e987e028664752f5388c0825e1c08bf83fb","headerVisibility":"private"},{"fileReference":"bfdfe7dc352907fc980b868725387e98b8523b9773a8337dad012c738c7729d0","guid":"bfdfe7dc352907fc980b868725387e98d4f0bc0407cf81373daaf261248deca0","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98b32e4e3946291ecb96c31535ac7e701c","guid":"bfdfe7dc352907fc980b868725387e98d699dac783f8cc275b24659a553c145c","headerVisibility":"public"}],"guid":"bfdfe7dc352907fc980b868725387e986c5f0044c766429735416b05a5aa5c20","type":"com.apple.buildphase.headers"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98c5db8499ea7419409c1cfaef6255d1d3","guid":"bfdfe7dc352907fc980b868725387e980578427a9713e088ea73be3142402163"},{"fileReference":"bfdfe7dc352907fc980b868725387e98777d27b0a850f634f1b15c4202c2a016","guid":"bfdfe7dc352907fc980b868725387e98ee16f346ae8c0af318d77d24263285dc"},{"fileReference":"bfdfe7dc352907fc980b868725387e98ffaf0c786ee256fbae57c03e63ee964b","guid":"bfdfe7dc352907fc980b868725387e98383a83f166780ed19242aa1361919896"},{"fileReference":"bfdfe7dc352907fc980b868725387e98d2abfa3a17fc90c3c9f15d3fe7b22740","guid":"bfdfe7dc352907fc980b868725387e98617f6b7ea9a2cc5900fa248993cb5f6f"},{"fileReference":"bfdfe7dc352907fc980b868725387e981ed65769418714c2f278ad25bd9f7a36","guid":"bfdfe7dc352907fc980b868725387e98f952f96693e51b0e96ddbb03a926712f"},{"fileReference":"bfdfe7dc352907fc980b868725387e98cb71e8d54abeffaf6876d55d161f8006","guid":"bfdfe7dc352907fc980b868725387e98767307e84981f94c8260062fdbcac9d2"},{"fileReference":"bfdfe7dc352907fc980b868725387e984a5efdb875e93d5ef617a439c38360ce","guid":"bfdfe7dc352907fc980b868725387e9895fb09ffafe524a88ed0c70679db0714"},{"fileReference":"bfdfe7dc352907fc980b868725387e98b26e3f35080a2f116c44cf27fa7211e6","guid":"bfdfe7dc352907fc980b868725387e98940e6a5b2ac76719a9c33f268f069f8d"},{"fileReference":"bfdfe7dc352907fc980b868725387e988c4e1d65136512ca7286df227a07f5ab","guid":"bfdfe7dc352907fc980b868725387e981e698b8f25483dbb1dee360a06d00e1f"},{"fileReference":"bfdfe7dc352907fc980b868725387e984fce25a60148febae2186288f08b436e","guid":"bfdfe7dc352907fc980b868725387e984b8363e38c187f413cb07b88f665246f"},{"fileReference":"bfdfe7dc352907fc980b868725387e98bbda8e0bcbecd512009527784f343c26","guid":"bfdfe7dc352907fc980b868725387e981330930e21797bf1f197cfd0ca5acec5"},{"fileReference":"bfdfe7dc352907fc980b868725387e986bc4b82de6a07b4b56186b6d599cee80","guid":"bfdfe7dc352907fc980b868725387e98dc9685ec8b578ec8660c41b0b17101e2"},{"fileReference":"bfdfe7dc352907fc980b868725387e98b132b82c791d131185c0584a12d86eec","guid":"bfdfe7dc352907fc980b868725387e98d87ff2ee52abfbc02b1b58abc102f7b4"},{"fileReference":"bfdfe7dc352907fc980b868725387e983e0d7c9928fe1a8aedc0d9f70af2000e","guid":"bfdfe7dc352907fc980b868725387e98149347ff91740a502dbc151119cb3298"},{"fileReference":"bfdfe7dc352907fc980b868725387e98ade208b2779864b1dc5eccaf8a2e3787","guid":"bfdfe7dc352907fc980b868725387e98c246a31f88d476eec619d5eac8718d1d"},{"fileReference":"bfdfe7dc352907fc980b868725387e98ecaad0c1ae197eeb9134fb47589e7311","guid":"bfdfe7dc352907fc980b868725387e98bd1ebc9ad4aece0ef3c72ee9554031c0"},{"fileReference":"bfdfe7dc352907fc980b868725387e98b5d435fc4bd55488b943552a9c620acb","guid":"bfdfe7dc352907fc980b868725387e983def7557da69d248f2b6902ac6848507"},{"fileReference":"bfdfe7dc352907fc980b868725387e98cfcaeda41cd8a5573825d9903c2fb4ed","guid":"bfdfe7dc352907fc980b868725387e98d3a81484db924bfbdeda79c5ad4febc6"},{"fileReference":"bfdfe7dc352907fc980b868725387e98aa1ef7de5583853025e4a24a30edc99b","guid":"bfdfe7dc352907fc980b868725387e98055696bbfc738331d99c70f801b36a20"},{"fileReference":"bfdfe7dc352907fc980b868725387e98f0de8f3e81d724b92d50c2f87e9f8c47","guid":"bfdfe7dc352907fc980b868725387e98a8395bf7139bf939aa8435ecb8bd6612"}],"guid":"bfdfe7dc352907fc980b868725387e9866d18f195fe409f6d14b5c552b4957e6","type":"com.apple.buildphase.sources"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98b14af7c49882340ad551cb13b0a1e06d","guid":"bfdfe7dc352907fc980b868725387e98cc291911c4b070c80cf04f1024c997c1"}],"guid":"bfdfe7dc352907fc980b868725387e9834e5349b38ec7d3fb7602731abb8c94d","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"guid":"bfdfe7dc352907fc980b868725387e98ec6d85c13ca9619bead8f044fd96b771","targetReference":"bfdfe7dc352907fc980b868725387e98ad53226b339581a6725de188f2c8f823"}],"guid":"bfdfe7dc352907fc980b868725387e9809836315fb3cf74db81f5b6198deb73e","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[{"guid":"bfdfe7dc352907fc980b868725387e98ad53226b339581a6725de188f2c8f823","name":"PromisesObjC-FBLPromises_Privacy"}],"guid":"bfdfe7dc352907fc980b868725387e98f10882e1684b8a3dfdec597bc0a47af3","name":"PromisesObjC","predominantSourceCodeLanguage":"Xcode.SourceCodeLanguage.Objective-C-Plus-Plus","productReference":{"guid":"bfdfe7dc352907fc980b868725387e981c795e45f8d875aac88217c6a2a95faa","name":"FBLPromises.framework","type":"product"},"productTypeIdentifier":"com.apple.product-type.framework","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":1}],"type":"standard"} \ No newline at end of file diff --git a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=2044c736a22918f3a12ecb44d3e0c006-json b/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=2044c736a22918f3a12ecb44d3e0c006-json deleted file mode 100644 index 8722b3da..00000000 --- a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=2044c736a22918f3a12ecb44d3e0c006-json +++ /dev/null @@ -1 +0,0 @@ -{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9862b76e562a43dac8471f624a5cd9d3f8","buildSettings":{"CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/file_saver/file_saver-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/file_saver/file_saver-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/file_saver/file_saver.modulemap","ONLY_ACTIVE_ARCH":"NO","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"file_saver","PRODUCT_NAME":"file_saver","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98492b6ad4db49e05eec51596ae3a00810","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98344086c33f6b20ad518611d4b42807b0","buildSettings":{"CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/file_saver/file_saver-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/file_saver/file_saver-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/file_saver/file_saver.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"file_saver","PRODUCT_NAME":"file_saver","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e981a50b674f911d01a3990e73095ee06c2","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98344086c33f6b20ad518611d4b42807b0","buildSettings":{"CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/file_saver/file_saver-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/file_saver/file_saver-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/file_saver/file_saver.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"file_saver","PRODUCT_NAME":"file_saver","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e9840704f1d9bf02a7f441a6e4a7830088b","name":"Release"}],"buildPhases":[{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e988f5f13c3729537a5e4850a3184ef1504","guid":"bfdfe7dc352907fc980b868725387e988b5b7453914051440a28a5359d31fe11","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98ff33475189cdb687ddb89ac3219b5661","guid":"bfdfe7dc352907fc980b868725387e98acca2eff23e1dd8dac4ba80328517a61","headerVisibility":"public"}],"guid":"bfdfe7dc352907fc980b868725387e989d614e1f9f0ee716701ace7b32961eb8","type":"com.apple.buildphase.headers"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98dc2b0e58e1746182ef03bafc59d5834f","guid":"bfdfe7dc352907fc980b868725387e980b62b55d5d5d98a99e02a082545b16d6"},{"fileReference":"bfdfe7dc352907fc980b868725387e98e9b49b292faafa97f299b4d375bb94e8","guid":"bfdfe7dc352907fc980b868725387e98571eb92c860282871bbdd81052e34f6f"},{"fileReference":"bfdfe7dc352907fc980b868725387e98ddd81e0874cadf29b2be4336e4173aaf","guid":"bfdfe7dc352907fc980b868725387e9856c9298350136ce86238d872d1bf9424"},{"fileReference":"bfdfe7dc352907fc980b868725387e986d800696c536df7c30346254f4e8cf2a","guid":"bfdfe7dc352907fc980b868725387e9885324ae1411aed1a23274eac76cbbb31"}],"guid":"bfdfe7dc352907fc980b868725387e983252b0ab426cbff85a631a370c4e9528","type":"com.apple.buildphase.sources"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98b14af7c49882340ad551cb13b0a1e06d","guid":"bfdfe7dc352907fc980b868725387e9812cc13a21a478e20f317efb5b09f2b1f"}],"guid":"bfdfe7dc352907fc980b868725387e980839fe57c9d10d0556679a7f22b30bb5","type":"com.apple.buildphase.frameworks"},{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e986eb54603a6d1c7607512c4b86d24d1ab","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[{"guid":"bfdfe7dc352907fc980b868725387e989da425bb6d6d5d8dbb95e4afffb82217","name":"Flutter"}],"guid":"bfdfe7dc352907fc980b868725387e9875e40ebaf7773ac78830d9822a5265df","name":"file_saver","predominantSourceCodeLanguage":"Xcode.SourceCodeLanguage.Objective-C","productReference":{"guid":"bfdfe7dc352907fc980b868725387e98072cdc8518935da0cbb0d45a363618b7","name":"file_saver.framework","type":"product"},"productTypeIdentifier":"com.apple.product-type.framework","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":1}],"type":"standard"} \ No newline at end of file diff --git a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=211721151cd848f04aa31d195dc75f4a-json b/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=211721151cd848f04aa31d195dc75f4a-json deleted file mode 100644 index fbf90bc4..00000000 --- a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=211721151cd848f04aa31d195dc75f4a-json +++ /dev/null @@ -1 +0,0 @@ -{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e983daf253e7f620ff0705af75496c7b612","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/record_ios/record_ios-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/record_ios/record_ios-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/record_ios/record_ios.modulemap","ONLY_ACTIVE_ARCH":"NO","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"record_ios","PRODUCT_NAME":"record_ios","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e9848bee89e61a6b7ee9af321127dce4ab8","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e985629505f5ce763e2c6637f93384c9362","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/record_ios/record_ios-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/record_ios/record_ios-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/record_ios/record_ios.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"record_ios","PRODUCT_NAME":"record_ios","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98edfcdb9f1b96adddd852196f39dc47ec","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e985629505f5ce763e2c6637f93384c9362","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/record_ios/record_ios-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/record_ios/record_ios-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/record_ios/record_ios.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"record_ios","PRODUCT_NAME":"record_ios","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e985151e74c4b3300cd4a3c01714d83b72b","name":"Release"}],"buildPhases":[{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e980c4abcf4c655f36e0d31f147be4ed645","guid":"bfdfe7dc352907fc980b868725387e9835d4f538095c7e2a61d6432700d1b798","headerVisibility":"public"}],"guid":"bfdfe7dc352907fc980b868725387e98af64c8b8323fc3e7e84445d2d428f32c","type":"com.apple.buildphase.headers"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98d529b9317f808bc4a0526a0decb58f08","guid":"bfdfe7dc352907fc980b868725387e98662802b9892964a639cd53dad3c90bb0"},{"fileReference":"bfdfe7dc352907fc980b868725387e98255804e028753f5b8536b2b911ccb620","guid":"bfdfe7dc352907fc980b868725387e9839387038e87c9e1ee3935d9c7199509d"},{"fileReference":"bfdfe7dc352907fc980b868725387e98d73a5e56d5e68038cb1377eaa90fae0d","guid":"bfdfe7dc352907fc980b868725387e987d8c48b08525c2b89f0d673771ac0c38"},{"fileReference":"bfdfe7dc352907fc980b868725387e98f53359071b6f1be5f1da4cef27596689","guid":"bfdfe7dc352907fc980b868725387e98d3e29d7662601efc1e65f69115e6ed54"},{"fileReference":"bfdfe7dc352907fc980b868725387e98b298ec0b59e4cce28ccc0be3e7f0e5e7","guid":"bfdfe7dc352907fc980b868725387e98dd3040e7f93d66ea392641159360bfcd"},{"fileReference":"bfdfe7dc352907fc980b868725387e982241e0e04227dc7964af065d6a2bbc3c","guid":"bfdfe7dc352907fc980b868725387e9822803b3af9f03688a299039cfed66143"},{"fileReference":"bfdfe7dc352907fc980b868725387e983a371912ff4d411448f255abead2ed59","guid":"bfdfe7dc352907fc980b868725387e98449028c9016410bbd8edc5d09da56fd3"},{"fileReference":"bfdfe7dc352907fc980b868725387e98b47ae3223bc0ccc52b53627d750e2de0","guid":"bfdfe7dc352907fc980b868725387e981cc98556d2c27a66e809a2ad1059d4f1"},{"fileReference":"bfdfe7dc352907fc980b868725387e98a41a7891113627a2fa24db24ce22900a","guid":"bfdfe7dc352907fc980b868725387e98638d52ced7cda11658d94fee920a2ebd"},{"fileReference":"bfdfe7dc352907fc980b868725387e98298a93bc02eef963b4228ac4db4f6bb8","guid":"bfdfe7dc352907fc980b868725387e986c1d9ca1926b4531b491645942b367a2"}],"guid":"bfdfe7dc352907fc980b868725387e985710b7bd82b0d097b7823f915ab8f0d9","type":"com.apple.buildphase.sources"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98b14af7c49882340ad551cb13b0a1e06d","guid":"bfdfe7dc352907fc980b868725387e98479aea524a81062d670b5dee2fdbfebb"}],"guid":"bfdfe7dc352907fc980b868725387e98a23abfaae0751718e7cfc0e3a3b7f301","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"guid":"bfdfe7dc352907fc980b868725387e98f31adba43dfc75e2b339a25193054eba","targetReference":"bfdfe7dc352907fc980b868725387e982a2ee81fc4f9376a4b6bb6d6bb502a00"}],"guid":"bfdfe7dc352907fc980b868725387e985665529af6526bb8b109c2a01d6cbd37","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[{"guid":"bfdfe7dc352907fc980b868725387e989da425bb6d6d5d8dbb95e4afffb82217","name":"Flutter"},{"guid":"bfdfe7dc352907fc980b868725387e982a2ee81fc4f9376a4b6bb6d6bb502a00","name":"record_ios-record_ios_privacy"}],"guid":"bfdfe7dc352907fc980b868725387e98ff12fc6cf192a2fce22083281b19ee98","name":"record_ios","predominantSourceCodeLanguage":"Xcode.SourceCodeLanguage.Swift","productReference":{"guid":"bfdfe7dc352907fc980b868725387e985df8a39fd4e336288f27764d3eab62c6","name":"record_ios.framework","type":"product"},"productTypeIdentifier":"com.apple.product-type.framework","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":1}],"type":"standard"} \ No newline at end of file diff --git a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=218c90a1920c10390be2408439f5191f-json b/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=218c90a1920c10390be2408439f5191f-json deleted file mode 100644 index 36b72273..00000000 --- a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=218c90a1920c10390be2408439f5191f-json +++ /dev/null @@ -1 +0,0 @@ -{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9837b4eae1f2290b03d7d4aabded8138b2","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/DKImagePickerController","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"DKImagePickerController","INFOPLIST_FILE":"Target Support Files/DKImagePickerController/ResourceBundle-DKImagePickerController-DKImagePickerController-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"9.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"DKImagePickerController","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98f141ae074eb97c98f7000a55ca8db7fe","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98c17784c5efe37bcec77e0c17b5660c20","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/DKImagePickerController","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"DKImagePickerController","INFOPLIST_FILE":"Target Support Files/DKImagePickerController/ResourceBundle-DKImagePickerController-DKImagePickerController-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"9.0","PRODUCT_NAME":"DKImagePickerController","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e987b14cda5589001bc96d9ddc688308937","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98c17784c5efe37bcec77e0c17b5660c20","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/DKImagePickerController","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"DKImagePickerController","INFOPLIST_FILE":"Target Support Files/DKImagePickerController/ResourceBundle-DKImagePickerController-DKImagePickerController-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"9.0","PRODUCT_NAME":"DKImagePickerController","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e989007cac290be025fe4eb8afb36353c0f","name":"Release"}],"buildPhases":[{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e98adcbbbb25f96fadc78573cc295e21fc1","type":"com.apple.buildphase.sources"},{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e98ebf21b0238d856f9dbebe1192ca9b322","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98992e20e5c86d6ccae38bdf84a625f178","guid":"bfdfe7dc352907fc980b868725387e986be49ee2393e8f17ed7a1ef2344b7069"},{"fileReference":"bfdfe7dc352907fc980b868725387e98fc42f53bf0b263eb43dfba42d468c1ee","guid":"bfdfe7dc352907fc980b868725387e98d814d8acfb5c1d4e1f8e6fc2ec224e8d"},{"fileReference":"bfdfe7dc352907fc980b868725387e98c0e0c44805bf91b9ddacc8f5c5de5887","guid":"bfdfe7dc352907fc980b868725387e981225d5fa641a725a1b260a2471b9a62c"},{"fileReference":"bfdfe7dc352907fc980b868725387e985b7ec0450262a9573a0cb306273bc343","guid":"bfdfe7dc352907fc980b868725387e981acb72f3c01b533689f8ee66bb728738"},{"fileReference":"bfdfe7dc352907fc980b868725387e98a0d3580855f196150587aeedde49d8ee","guid":"bfdfe7dc352907fc980b868725387e98958d32ad41dfbf048d0cc441c9067798"},{"fileReference":"bfdfe7dc352907fc980b868725387e988591a2b29b958ca4ab9f3147bafa7a8a","guid":"bfdfe7dc352907fc980b868725387e986b89f7619ace5a2565e2af7f4f05bced"},{"fileReference":"bfdfe7dc352907fc980b868725387e98d68c0474e2f03eb8c7fccab1413bcc77","guid":"bfdfe7dc352907fc980b868725387e988e73ee650992513a6d86fa5431ee29aa"},{"fileReference":"bfdfe7dc352907fc980b868725387e98418e94a9d7a67843e706121817b95d23","guid":"bfdfe7dc352907fc980b868725387e9866e0a68572317dd225c4b4745e7ab666"},{"fileReference":"bfdfe7dc352907fc980b868725387e9844ff420afcb298679dede65a45ffceb5","guid":"bfdfe7dc352907fc980b868725387e98ab3c41d23d906395f505a093e37143e2"},{"fileReference":"bfdfe7dc352907fc980b868725387e987692caa5c901fbd366ce9848d0c1274c","guid":"bfdfe7dc352907fc980b868725387e98fd8c02c4eca38e6f9c34212f583ebc14"},{"fileReference":"bfdfe7dc352907fc980b868725387e9865b6e35f95ede252c917f53224dfc704","guid":"bfdfe7dc352907fc980b868725387e980712cc445e9d1438446dbd691a1d4124"},{"fileReference":"bfdfe7dc352907fc980b868725387e983f2cd8e2aab8a62e70cd896c9a4fea53","guid":"bfdfe7dc352907fc980b868725387e98dfb44109008ea134516786e3d26e5da5"},{"fileReference":"bfdfe7dc352907fc980b868725387e98ca220a32ab2fe66aa595eba98989e624","guid":"bfdfe7dc352907fc980b868725387e98d823890d751c30beb9305b0a7441ed83"},{"fileReference":"bfdfe7dc352907fc980b868725387e98c97c449e1eb67deb67ddecb8dcb88dc6","guid":"bfdfe7dc352907fc980b868725387e98a27e73d7871cb70e17a22ca44f7d4409"},{"fileReference":"bfdfe7dc352907fc980b868725387e988a7e09ab3fb0bccf3d6a0840f20edb02","guid":"bfdfe7dc352907fc980b868725387e98a7d5f490e936c244268c5a7833153cf4"},{"fileReference":"bfdfe7dc352907fc980b868725387e98360580afc3ea1e4816652b09373a6cd3","guid":"bfdfe7dc352907fc980b868725387e98d2fab9356e93aa0b836bf95ab406631b"},{"fileReference":"bfdfe7dc352907fc980b868725387e985edb9444e98b58b1ebe6043fbb03795f","guid":"bfdfe7dc352907fc980b868725387e9874092bff49846a108c58f0631fffc4c1"},{"fileReference":"bfdfe7dc352907fc980b868725387e9882faf104037eae2f0a55bac80109a69f","guid":"bfdfe7dc352907fc980b868725387e98508de0ed4f2eb064b9f5febcec5b1cb8"},{"fileReference":"bfdfe7dc352907fc980b868725387e98aa7d745938a0d9db3a2c382f9c57b33b","guid":"bfdfe7dc352907fc980b868725387e98bcf0b1f9088bb59d5f06c5a559612a8e"},{"fileReference":"bfdfe7dc352907fc980b868725387e98693b26471f52ca7316a1d3e0c7dc0a7f","guid":"bfdfe7dc352907fc980b868725387e98173f5f0c6dca979ea0f0a933d68a8b21"},{"fileReference":"bfdfe7dc352907fc980b868725387e98e7d19f0ec38ff637cbd1084684e63ad4","guid":"bfdfe7dc352907fc980b868725387e988aa5ef492259df6c1fa8e286fbf33f33"},{"fileReference":"bfdfe7dc352907fc980b868725387e9822323136a1b52bdd7900e18b364dee99","guid":"bfdfe7dc352907fc980b868725387e981db7820a3dce011213359a4df93f2380"}],"guid":"bfdfe7dc352907fc980b868725387e98cde9d488469e9fd6cee32e690de21d9e","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[],"guid":"bfdfe7dc352907fc980b868725387e9898fccba7a2febdedb43dddbf2e949fc3","name":"DKImagePickerController-DKImagePickerController","productReference":{"guid":"bfdfe7dc352907fc980b868725387e98ab5e1f747dfe477b655528b07584898d","name":"DKImagePickerController.bundle","type":"product"},"productTypeIdentifier":"com.apple.product-type.bundle","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":0}],"type":"standard"} \ No newline at end of file diff --git a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=25067fd2852a0fd76a8f9f479b2d4630-json b/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=25067fd2852a0fd76a8f9f479b2d4630-json deleted file mode 100644 index 8aaa02c3..00000000 --- a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=25067fd2852a0fd76a8f9f479b2d4630-json +++ /dev/null @@ -1 +0,0 @@ -{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98cca55d6c772db4d637cf770c880e5bab","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/geolocator_apple/geolocator_apple-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/geolocator_apple/geolocator_apple-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/geolocator_apple/geolocator_apple.modulemap","ONLY_ACTIVE_ARCH":"NO","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"geolocator_apple","PRODUCT_NAME":"geolocator_apple","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e984936d7cb8feef48513f6131e211caece","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98563a39b273a0c88e1e2a4a289bb4eff2","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/geolocator_apple/geolocator_apple-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/geolocator_apple/geolocator_apple-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/geolocator_apple/geolocator_apple.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"geolocator_apple","PRODUCT_NAME":"geolocator_apple","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98beaaf634ac9c45a28ea8b53ae8cea921","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98563a39b273a0c88e1e2a4a289bb4eff2","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/geolocator_apple/geolocator_apple-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/geolocator_apple/geolocator_apple-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/geolocator_apple/geolocator_apple.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"geolocator_apple","PRODUCT_NAME":"geolocator_apple","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e9879f34f1e012c285b844492b857411475","name":"Release"}],"buildPhases":[{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98ae7e46b06e0aeb71210643f8094d1b27","guid":"bfdfe7dc352907fc980b868725387e987f28047e02a7d34a46f8ada17b829c9a","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e9894545c5eb4d21f54d2b3ad4447240a56","guid":"bfdfe7dc352907fc980b868725387e98f6c67c4679e7f7927d29cc6777b4854d","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98b8a07e04f908cc8061e28409eec78500","guid":"bfdfe7dc352907fc980b868725387e98fcb7e61931146dcd711e99248d6ccb4a","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e985d7e5bf3eb3e1529ebbb131e40709a84","guid":"bfdfe7dc352907fc980b868725387e9895fe4b33f65c965da7dc45a450744ad5","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e982a3cc027245753495848a1caefc6d9f4","guid":"bfdfe7dc352907fc980b868725387e9881f94adb811a31f238513440b73eb9ce","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e9817d4eb1b3c3ac1e9ddcfc14974bec284","guid":"bfdfe7dc352907fc980b868725387e98d2993dc352971d9dec3337f6492eedd2","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e986f7ca76bd9fb989518a0786f66daa730","guid":"bfdfe7dc352907fc980b868725387e987744d4bc1141e8c3af7814a94ab5d191","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98e8c93c09dbe016d2a985868756c3daf2","guid":"bfdfe7dc352907fc980b868725387e98d44ce0ad517ce468c11abe8a1a7ee842","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e983f42416849bce11b33d814523ade52b1","guid":"bfdfe7dc352907fc980b868725387e986dfc835f86ba61de853986e0c332c9bb","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98d79d9d7f2df01bec5fd1e10cbe9b2f76","guid":"bfdfe7dc352907fc980b868725387e98832bcfeadec19c9672e7d13bba695944","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e981fc28c232ec55d2d1c2305e98d7bd92a","guid":"bfdfe7dc352907fc980b868725387e987522b569e1888c59443fabbfd9eec3d9","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98d33e281aa21213bf9ee3ca2d26a8cb52","guid":"bfdfe7dc352907fc980b868725387e9826df2a365ab1701d04b81b250e704469","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e981f6af95e734f0e05952c002243f2cb28","guid":"bfdfe7dc352907fc980b868725387e98683700ed014e2584117d9919dc247bfe","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98892d93e77cafda119e30c32988406d93","guid":"bfdfe7dc352907fc980b868725387e98a95b46a3d3c80a8cb5734bbb7717809c","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e981700891532905651a54cc9a07dd2c6b3","guid":"bfdfe7dc352907fc980b868725387e98c814b053e6b465d54fefe875995c908b","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98184bfb0fe7b895691bee4935d2b5d50f","guid":"bfdfe7dc352907fc980b868725387e980e4020bf220b21c849a1247a598ef500","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98e2f51025ce37ba6eff3a96efa381b796","guid":"bfdfe7dc352907fc980b868725387e9867e1d59733a195924e43c7221ab3b507","headerVisibility":"public"}],"guid":"bfdfe7dc352907fc980b868725387e9859ab3ec029f964cc4041f98492a33760","type":"com.apple.buildphase.headers"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98394614911d329fd59c3c1e287c4f7ac2","guid":"bfdfe7dc352907fc980b868725387e9836a664f9634f39c09eb263d32eb33de8"},{"fileReference":"bfdfe7dc352907fc980b868725387e98acbd88adba80f77ca7a9d08f07fa7223","guid":"bfdfe7dc352907fc980b868725387e981012013b7c46227b76d2a26c3973c5f4"},{"fileReference":"bfdfe7dc352907fc980b868725387e98e067790bbee9fb9376d0c77605d73661","guid":"bfdfe7dc352907fc980b868725387e986adce0f63de9503184a2571c68ae8037"},{"fileReference":"bfdfe7dc352907fc980b868725387e9825eb273bb3a088732d81eeb1c19af553","guid":"bfdfe7dc352907fc980b868725387e98c97111306fd51e26ac236698d182d1fb"},{"fileReference":"bfdfe7dc352907fc980b868725387e9820b9343c256beee0a1c63afec1a67796","guid":"bfdfe7dc352907fc980b868725387e98d9f834483786fc0c92f7593bcd6dd83c"},{"fileReference":"bfdfe7dc352907fc980b868725387e98ecf8248839ba4e6f17d3532feb14821b","guid":"bfdfe7dc352907fc980b868725387e98c97bce089e46629de083eac4838dd800"},{"fileReference":"bfdfe7dc352907fc980b868725387e98a8a273d3c64641ffd71fe5f8c04b4132","guid":"bfdfe7dc352907fc980b868725387e985817ad63c8e4f8db81700ac14cc618cc"},{"fileReference":"bfdfe7dc352907fc980b868725387e982ea9c75e15c2f0e5172d62007ca22170","guid":"bfdfe7dc352907fc980b868725387e986e494a42d2c0843cec709c09ffdc69a4"},{"fileReference":"bfdfe7dc352907fc980b868725387e98230a202d71e90bc984b72ad2f09fb2f4","guid":"bfdfe7dc352907fc980b868725387e9805c8314d750be278604bc8677fcf4420"},{"fileReference":"bfdfe7dc352907fc980b868725387e98c64b3141b3e00a1e02e21e19f1e7eaab","guid":"bfdfe7dc352907fc980b868725387e988270e34481adcde5ab4b6a9daa89a011"},{"fileReference":"bfdfe7dc352907fc980b868725387e988c15f7293e9ecd2b1063ce877015924a","guid":"bfdfe7dc352907fc980b868725387e98615ad6c8a17ee1f04050629a5a2a260a"},{"fileReference":"bfdfe7dc352907fc980b868725387e989c2cb05698df9b731b1c1c1e59a898de","guid":"bfdfe7dc352907fc980b868725387e98fd9db82003eb1b08fd6976b7ba6920aa"},{"fileReference":"bfdfe7dc352907fc980b868725387e982631bb95675558dfb73b76bfc58028b0","guid":"bfdfe7dc352907fc980b868725387e9836872f22a07d006d803b66800b0fd898"},{"fileReference":"bfdfe7dc352907fc980b868725387e98d01f765a57f90a102cc78be24a15233c","guid":"bfdfe7dc352907fc980b868725387e985cf4803afdb0ccdba56bf5e79afdbebc"}],"guid":"bfdfe7dc352907fc980b868725387e989d91e5abbad637a65716b7fef9466ccd","type":"com.apple.buildphase.sources"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98b14af7c49882340ad551cb13b0a1e06d","guid":"bfdfe7dc352907fc980b868725387e9847d3b3fdbf8c6c03a84819a79f7ae5aa"}],"guid":"bfdfe7dc352907fc980b868725387e988ec00323e57392a3c283b014e048e33b","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"guid":"bfdfe7dc352907fc980b868725387e98c4b351c20ac090098b0dcaf5fd3c18e2","targetReference":"bfdfe7dc352907fc980b868725387e98e1aba8ff8dc833f2269ce0a7182533b3"}],"guid":"bfdfe7dc352907fc980b868725387e98053f546dc39b1661db608be4eb007f0a","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[{"guid":"bfdfe7dc352907fc980b868725387e989da425bb6d6d5d8dbb95e4afffb82217","name":"Flutter"},{"guid":"bfdfe7dc352907fc980b868725387e98e1aba8ff8dc833f2269ce0a7182533b3","name":"geolocator_apple-geolocator_apple_privacy"}],"guid":"bfdfe7dc352907fc980b868725387e9821d372cc1e7c7587a12aeda843619e39","name":"geolocator_apple","predominantSourceCodeLanguage":"Xcode.SourceCodeLanguage.Objective-C-Plus-Plus","productReference":{"guid":"bfdfe7dc352907fc980b868725387e986ff8f87e011522b1b6328c84d9533927","name":"geolocator_apple.framework","type":"product"},"productTypeIdentifier":"com.apple.product-type.framework","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":1}],"type":"standard"} \ No newline at end of file diff --git a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=35adaf1be68b319de0505ded2815bc62-json b/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=35adaf1be68b319de0505ded2815bc62-json deleted file mode 100644 index 83c84d66..00000000 --- a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=35adaf1be68b319de0505ded2815bc62-json +++ /dev/null @@ -1 +0,0 @@ -{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98b94f751a83e7e0f1d4b42f2b77a60509","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/FirebaseCoreInternal","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"FirebaseCoreInternal","INFOPLIST_FILE":"Target Support Files/FirebaseCoreInternal/ResourceBundle-FirebaseCoreInternal_Privacy-FirebaseCoreInternal-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"FirebaseCoreInternal_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98cc5302f00fadf35f3450306558c9fa7b","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98d9147eb705ef7701ac589855737d9572","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/FirebaseCoreInternal","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"FirebaseCoreInternal","INFOPLIST_FILE":"Target Support Files/FirebaseCoreInternal/ResourceBundle-FirebaseCoreInternal_Privacy-FirebaseCoreInternal-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"FirebaseCoreInternal_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e983b5603d8db01d45f55bf49d921492c6d","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98d9147eb705ef7701ac589855737d9572","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/FirebaseCoreInternal","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"FirebaseCoreInternal","INFOPLIST_FILE":"Target Support Files/FirebaseCoreInternal/ResourceBundle-FirebaseCoreInternal_Privacy-FirebaseCoreInternal-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"FirebaseCoreInternal_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98cb85d7840e96bb3c6ada3c7d619feb0c","name":"Release"}],"buildPhases":[{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e98ea0c95b0ea17f26701bbea8182aa2ad4","type":"com.apple.buildphase.sources"},{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e98f508327e914011483a2f664b1da0e143","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e985dedb4877ad3d0affcc4a716189451c7","guid":"bfdfe7dc352907fc980b868725387e98736a76b1f641b349fd98f7b196e1120d"}],"guid":"bfdfe7dc352907fc980b868725387e98d31fb31447fd3669e8ec2ee0a7181156","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[],"guid":"bfdfe7dc352907fc980b868725387e98e5b592b076e092ab7ac9d9b5c85edc6f","name":"FirebaseCoreInternal-FirebaseCoreInternal_Privacy","productReference":{"guid":"bfdfe7dc352907fc980b868725387e98c4db3ee10fd3aea38cd0fd6d5693c776","name":"FirebaseCoreInternal_Privacy.bundle","type":"product"},"productTypeIdentifier":"com.apple.product-type.bundle","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":0}],"type":"standard"} \ No newline at end of file diff --git a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=376189dccaae382545d5e718c59412f6-json b/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=376189dccaae382545d5e718c59412f6-json deleted file mode 100644 index ac08c7bc..00000000 --- a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=376189dccaae382545d5e718c59412f6-json +++ /dev/null @@ -1 +0,0 @@ -{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9875a911280513a51a1fcc833a02e1e86d","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/sqflite_darwin","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"sqflite_darwin","INFOPLIST_FILE":"Target Support Files/sqflite_darwin/ResourceBundle-sqflite_darwin_privacy-sqflite_darwin-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"12.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"sqflite_darwin_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e987c571a44107819654ec3c87e60d3d00a","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98b2e50aea12e109eb95c45970b36f8a43","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/sqflite_darwin","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"sqflite_darwin","INFOPLIST_FILE":"Target Support Files/sqflite_darwin/ResourceBundle-sqflite_darwin_privacy-sqflite_darwin-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"12.0","PRODUCT_NAME":"sqflite_darwin_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98db4f055816091cf5b613d1859af7847a","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98b2e50aea12e109eb95c45970b36f8a43","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/sqflite_darwin","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"sqflite_darwin","INFOPLIST_FILE":"Target Support Files/sqflite_darwin/ResourceBundle-sqflite_darwin_privacy-sqflite_darwin-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"12.0","PRODUCT_NAME":"sqflite_darwin_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98cec1eface6e261de2935ced07b31ae21","name":"Release"}],"buildPhases":[{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e980631f74da17b751c083b070fee808b75","type":"com.apple.buildphase.sources"},{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e98e800c60291ba81fc3a0ae26af24eb2e2","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e9853ec5b69fdc2191f1ca7a8b03970be07","guid":"bfdfe7dc352907fc980b868725387e984d6623b0cd11fced8626890b1e0d21e1"}],"guid":"bfdfe7dc352907fc980b868725387e98803d267b2494aa83d5f2151d32c7bfb5","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[],"guid":"bfdfe7dc352907fc980b868725387e9883134bb5f399cb37a1eb075d4fea30d8","name":"sqflite_darwin-sqflite_darwin_privacy","productReference":{"guid":"bfdfe7dc352907fc980b868725387e9849c1d4b1200fcbf6f387f94121c7d0bf","name":"sqflite_darwin_privacy.bundle","type":"product"},"productTypeIdentifier":"com.apple.product-type.bundle","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":0}],"type":"standard"} \ No newline at end of file diff --git a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=3a7fbdb39c618b52ee7b40baa1e884b1-json b/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=3a7fbdb39c618b52ee7b40baa1e884b1-json deleted file mode 100644 index 53a4eca5..00000000 --- a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=3a7fbdb39c618b52ee7b40baa1e884b1-json +++ /dev/null @@ -1 +0,0 @@ -{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e981ea619c6c09d50e42998ac2381b017c9","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/shared_preferences_foundation/shared_preferences_foundation-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/shared_preferences_foundation/shared_preferences_foundation-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","MODULEMAP_FILE":"Target Support Files/shared_preferences_foundation/shared_preferences_foundation.modulemap","ONLY_ACTIVE_ARCH":"NO","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"shared_preferences_foundation","PRODUCT_NAME":"shared_preferences_foundation","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e986f83bf1d86816a7afe713389f3b0794c","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e988abaddbc7dac244a9dd3a827969bb097","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/shared_preferences_foundation/shared_preferences_foundation-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/shared_preferences_foundation/shared_preferences_foundation-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","MODULEMAP_FILE":"Target Support Files/shared_preferences_foundation/shared_preferences_foundation.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"shared_preferences_foundation","PRODUCT_NAME":"shared_preferences_foundation","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98c6ce66678a98cae8c935e06602a448e0","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e988abaddbc7dac244a9dd3a827969bb097","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/shared_preferences_foundation/shared_preferences_foundation-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/shared_preferences_foundation/shared_preferences_foundation-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","MODULEMAP_FILE":"Target Support Files/shared_preferences_foundation/shared_preferences_foundation.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"shared_preferences_foundation","PRODUCT_NAME":"shared_preferences_foundation","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e980f59bc0c0df185b08d92e2afa6f35dda","name":"Release"}],"buildPhases":[{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98d9c07036facadf4c2fe7142051423416","guid":"bfdfe7dc352907fc980b868725387e98e82259888cd400660e6ae15b115eb233","headerVisibility":"public"}],"guid":"bfdfe7dc352907fc980b868725387e9845bc282ec8aa7540f3a569c2631d21d5","type":"com.apple.buildphase.headers"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98d7fd3cf0401e3393c461b2ae7c1591c7","guid":"bfdfe7dc352907fc980b868725387e9849904c696af5deb4aefd6d8ffebf2ea6"},{"fileReference":"bfdfe7dc352907fc980b868725387e9857a0115412b61e72a46155af7b48b848","guid":"bfdfe7dc352907fc980b868725387e98489a95f2019f3ec6e0acd5ba6de8991a"},{"fileReference":"bfdfe7dc352907fc980b868725387e98f19bf67647b9b4da54e0115f35b62be4","guid":"bfdfe7dc352907fc980b868725387e98d8eb7cdafa52e52bc1601de019c778e6"}],"guid":"bfdfe7dc352907fc980b868725387e98f14b5d6b6d6b0c465e2f1e0eaa6bc1cd","type":"com.apple.buildphase.sources"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98b14af7c49882340ad551cb13b0a1e06d","guid":"bfdfe7dc352907fc980b868725387e98475ba5d87573359032e9b06fd466a003"}],"guid":"bfdfe7dc352907fc980b868725387e9859badffc37928e123e98be61f8d11d71","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"guid":"bfdfe7dc352907fc980b868725387e9872e4e537a8c9a8da179493daa4c54b77","targetReference":"bfdfe7dc352907fc980b868725387e98e0be3b0d5ad56f1985578b1f97431765"}],"guid":"bfdfe7dc352907fc980b868725387e9876fd72010a5b056ae41fa1936cd39334","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[{"guid":"bfdfe7dc352907fc980b868725387e989da425bb6d6d5d8dbb95e4afffb82217","name":"Flutter"},{"guid":"bfdfe7dc352907fc980b868725387e98e0be3b0d5ad56f1985578b1f97431765","name":"shared_preferences_foundation-shared_preferences_foundation_privacy"}],"guid":"bfdfe7dc352907fc980b868725387e9828cab1f188854e0a973e6ff6905c5ffe","name":"shared_preferences_foundation","predominantSourceCodeLanguage":"Xcode.SourceCodeLanguage.Swift","productReference":{"guid":"bfdfe7dc352907fc980b868725387e9815af7ba71ce93f789a463577fc360420","name":"shared_preferences_foundation.framework","type":"product"},"productTypeIdentifier":"com.apple.product-type.framework","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":1}],"type":"standard"} \ No newline at end of file diff --git a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=3af0402199bd31e72f681872a46f8b81-json b/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=3af0402199bd31e72f681872a46f8b81-json deleted file mode 100644 index 8dbc5d96..00000000 --- a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=3af0402199bd31e72f681872a46f8b81-json +++ /dev/null @@ -1 +0,0 @@ -{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e984313c60e6f9802ff746f03392a8606c6","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/gma_mediation_meta/gma_mediation_meta-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/gma_mediation_meta/gma_mediation_meta-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MACH_O_TYPE":"staticlib","MODULEMAP_FILE":"Target Support Files/gma_mediation_meta/gma_mediation_meta.modulemap","ONLY_ACTIVE_ARCH":"NO","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"gma_mediation_meta","PRODUCT_NAME":"gma_mediation_meta","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e9842208ee147f2ba7dc0a8200c0a23e1aa","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98a3553afa0a155f1b7d0b159f832c1bdf","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/gma_mediation_meta/gma_mediation_meta-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/gma_mediation_meta/gma_mediation_meta-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MACH_O_TYPE":"staticlib","MODULEMAP_FILE":"Target Support Files/gma_mediation_meta/gma_mediation_meta.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"gma_mediation_meta","PRODUCT_NAME":"gma_mediation_meta","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98582ee09ed0a1a1fb05b8c6c1eefa4bd7","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98a3553afa0a155f1b7d0b159f832c1bdf","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/gma_mediation_meta/gma_mediation_meta-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/gma_mediation_meta/gma_mediation_meta-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MACH_O_TYPE":"staticlib","MODULEMAP_FILE":"Target Support Files/gma_mediation_meta/gma_mediation_meta.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"gma_mediation_meta","PRODUCT_NAME":"gma_mediation_meta","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e980066747e0314e58d6523583389a782c5","name":"Release"}],"buildPhases":[{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98f8de3b0000f893d550dd9f3b81ebc5cf","guid":"bfdfe7dc352907fc980b868725387e988239cc2cfc83ba8b654a69c1b5933ffa","headerVisibility":"public"}],"guid":"bfdfe7dc352907fc980b868725387e98c4ff86b7c04b021fbfcd01ef4043f680","type":"com.apple.buildphase.headers"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e984dfc7910e2cd9fac3233404165834daa","guid":"bfdfe7dc352907fc980b868725387e984fa93fe538d6b99ceab11e20fbc6c572"},{"fileReference":"bfdfe7dc352907fc980b868725387e98de6a43df899eca99ef9a76eb3ad60a9b","guid":"bfdfe7dc352907fc980b868725387e989fed02c35c69741c7b23872edfd83b41"}],"guid":"bfdfe7dc352907fc980b868725387e98b1688df9c765b513cb34ececb01eadcd","type":"com.apple.buildphase.sources"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98b14af7c49882340ad551cb13b0a1e06d","guid":"bfdfe7dc352907fc980b868725387e986245627ecb3baa4ad9e7d5f4e4253544"}],"guid":"bfdfe7dc352907fc980b868725387e981969ae65eddb8bcd25ef7d9a0ee87e91","type":"com.apple.buildphase.frameworks"},{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e98d0d9631745bce04e3789df4fa10ad3e6","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[{"guid":"bfdfe7dc352907fc980b868725387e989da425bb6d6d5d8dbb95e4afffb82217","name":"Flutter"},{"guid":"bfdfe7dc352907fc980b868725387e98bbd9e0ed4cdc41b93625c3661dbcaa81","name":"GoogleMobileAdsMediationFacebook"}],"guid":"bfdfe7dc352907fc980b868725387e98ec9201ffba3c82781a28590604d34ce4","name":"gma_mediation_meta","predominantSourceCodeLanguage":"Xcode.SourceCodeLanguage.Swift","productReference":{"guid":"bfdfe7dc352907fc980b868725387e983de8b30d452f72d63bc2bb3d5c645196","name":"gma_mediation_meta.framework","type":"product"},"productTypeIdentifier":"com.apple.product-type.framework","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":1}],"type":"standard"} \ No newline at end of file diff --git a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=46e4fdabe3969081354e9e5e60b64b4b-json b/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=46e4fdabe3969081354e9e5e60b64b4b-json deleted file mode 100644 index b6faabb2..00000000 --- a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=46e4fdabe3969081354e9e5e60b64b4b-json +++ /dev/null @@ -1 +0,0 @@ -{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e980fcd71e29c5847bc1bc9583f1118e75f","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/GoogleUserMessagingPlatform","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"GoogleUserMessagingPlatform","INFOPLIST_FILE":"Target Support Files/GoogleUserMessagingPlatform/ResourceBundle-UserMessagingPlatformResources-GoogleUserMessagingPlatform-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"12.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"UserMessagingPlatformResources","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98d8070005d25b539f0e0a08a3311fb447","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e985c479bbc4c266fbeb3d57a3c706051fb","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/GoogleUserMessagingPlatform","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"GoogleUserMessagingPlatform","INFOPLIST_FILE":"Target Support Files/GoogleUserMessagingPlatform/ResourceBundle-UserMessagingPlatformResources-GoogleUserMessagingPlatform-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"12.0","PRODUCT_NAME":"UserMessagingPlatformResources","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98de1c9bc2c4cb036a6000e8397c013520","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e985c479bbc4c266fbeb3d57a3c706051fb","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/GoogleUserMessagingPlatform","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"GoogleUserMessagingPlatform","INFOPLIST_FILE":"Target Support Files/GoogleUserMessagingPlatform/ResourceBundle-UserMessagingPlatformResources-GoogleUserMessagingPlatform-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"12.0","PRODUCT_NAME":"UserMessagingPlatformResources","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e989301e5dd95ab8eb6d43cc5307d22ae22","name":"Release"}],"buildPhases":[{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e98633b38489199a343af49f929aaaec88b","type":"com.apple.buildphase.sources"},{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e98128c5f626f7af94716c0325c73d1a081","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98640b59ad05d12383de1650adc4f4bc54","guid":"bfdfe7dc352907fc980b868725387e98abd9043e61bdb6cddbf7370d96d96d80"}],"guid":"bfdfe7dc352907fc980b868725387e98d62135faa461c3a6c987b0c06852423d","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[],"guid":"bfdfe7dc352907fc980b868725387e984a8eac8d5b6bc897e9823b3668d5ca68","name":"GoogleUserMessagingPlatform-UserMessagingPlatformResources","productReference":{"guid":"bfdfe7dc352907fc980b868725387e985ea2fcc0a122cfbfb93ccb4e59e732f5","name":"UserMessagingPlatformResources.bundle","type":"product"},"productTypeIdentifier":"com.apple.product-type.bundle","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":0}],"type":"standard"} \ No newline at end of file diff --git a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=4b924fd5a51dd455efd4e7fe9f2f3ae9-json b/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=4b924fd5a51dd455efd4e7fe9f2f3ae9-json deleted file mode 100644 index 3c7b9988..00000000 --- a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=4b924fd5a51dd455efd4e7fe9f2f3ae9-json +++ /dev/null @@ -1 +0,0 @@ -{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98eef3be20c160fe75bf8789e71fe75d9a","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","GCC_PREFIX_HEADER":"Target Support Files/Google-Mobile-Ads-SDK/Google-Mobile-Ads-SDK-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/Google-Mobile-Ads-SDK/Google-Mobile-Ads-SDK-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"12.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MACH_O_TYPE":"staticlib","MODULEMAP_FILE":"Target Support Files/Google-Mobile-Ads-SDK/Google-Mobile-Ads-SDK.modulemap","ONLY_ACTIVE_ARCH":"NO","PRODUCT_MODULE_NAME":"Google_Mobile_Ads_SDK","PRODUCT_NAME":"Google_Mobile_Ads_SDK","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.3","TARGETED_DEVICE_FAMILY":"1,2","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e9895d39f6438c3c760697d14f74070c007","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e988ad1fd18441580496a4b9e0a44f0cae8","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","GCC_PREFIX_HEADER":"Target Support Files/Google-Mobile-Ads-SDK/Google-Mobile-Ads-SDK-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/Google-Mobile-Ads-SDK/Google-Mobile-Ads-SDK-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"12.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MACH_O_TYPE":"staticlib","MODULEMAP_FILE":"Target Support Files/Google-Mobile-Ads-SDK/Google-Mobile-Ads-SDK.modulemap","PRODUCT_MODULE_NAME":"Google_Mobile_Ads_SDK","PRODUCT_NAME":"Google_Mobile_Ads_SDK","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.3","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98a0f595b99ebfd9b3b377a474553a7fb0","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e988ad1fd18441580496a4b9e0a44f0cae8","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","GCC_PREFIX_HEADER":"Target Support Files/Google-Mobile-Ads-SDK/Google-Mobile-Ads-SDK-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/Google-Mobile-Ads-SDK/Google-Mobile-Ads-SDK-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"12.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MACH_O_TYPE":"staticlib","MODULEMAP_FILE":"Target Support Files/Google-Mobile-Ads-SDK/Google-Mobile-Ads-SDK.modulemap","PRODUCT_MODULE_NAME":"Google_Mobile_Ads_SDK","PRODUCT_NAME":"Google_Mobile_Ads_SDK","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.3","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98ec66ebd7e509a5ae351eb735f67c1dd6","name":"Release"}],"buildPhases":[{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e982d361e23934d13045cda7e58f8f9e857","guid":"bfdfe7dc352907fc980b868725387e98bfd6bc07c0feb5d200d030c68246ccb2","headerVisibility":"public"}],"guid":"bfdfe7dc352907fc980b868725387e98e90dbc6f14ab6fddfb7cfb52650e6baa","type":"com.apple.buildphase.headers"},{"alwaysOutOfDate":"false","alwaysRunForInstallHdrs":"false","buildFiles":[],"emitEnvironment":"false","guid":"bfdfe7dc352907fc980b868725387e982b44c516936750ab33740e0f34b79301","inputFileListPaths":["${PODS_ROOT}/Target Support Files/Google-Mobile-Ads-SDK/Google-Mobile-Ads-SDK-xcframeworks-input-files.xcfilelist"],"inputFilePaths":[],"name":"[CP] Copy XCFrameworks","originalObjectID":"54A5A3E554ECD3D0840D599053497866","outputFileListPaths":["${PODS_ROOT}/Target Support Files/Google-Mobile-Ads-SDK/Google-Mobile-Ads-SDK-xcframeworks-output-files.xcfilelist"],"outputFilePaths":[],"sandboxingOverride":"basedOnBuildSetting","scriptContents":"\"${PODS_ROOT}/Target Support Files/Google-Mobile-Ads-SDK/Google-Mobile-Ads-SDK-xcframeworks.sh\"\n","shellPath":"/bin/sh","type":"com.apple.buildphase.shell-script"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e980db896d121df87c41c7bb87c65b3946e","guid":"bfdfe7dc352907fc980b868725387e983582f984cc7f56a94c9f1b106157b2ce"},{"fileReference":"bfdfe7dc352907fc980b868725387e989b5a6d6941a300be315e89d9de2d68d7","guid":"bfdfe7dc352907fc980b868725387e981787c00319fbc008e76bd51212dfb8fa"}],"guid":"bfdfe7dc352907fc980b868725387e9874306a37930eb5d34d19474424a49911","type":"com.apple.buildphase.sources"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98b14af7c49882340ad551cb13b0a1e06d","guid":"bfdfe7dc352907fc980b868725387e988639c726c13cba5a0d9f3090f852ba0c"}],"guid":"bfdfe7dc352907fc980b868725387e98d84cd42926dca469b94512f76bd2ac43","type":"com.apple.buildphase.frameworks"},{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e98c4624bd3f1c88f6e9a26ba57dff561e9","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[{"guid":"bfdfe7dc352907fc980b868725387e98468089666b04a941512e80a0cc9cf153","name":"Google-Mobile-Ads-SDK-GoogleMobileAdsResources"},{"guid":"bfdfe7dc352907fc980b868725387e98c777611770584bd7c20ebf80e3d30200","name":"GoogleUserMessagingPlatform"}],"guid":"bfdfe7dc352907fc980b868725387e98cd53d937e824fad9f4527eeeb684cb40","name":"Google-Mobile-Ads-SDK","predominantSourceCodeLanguage":"Xcode.SourceCodeLanguage.Swift","productReference":{"guid":"bfdfe7dc352907fc980b868725387e9818a94369b493dd5e2142e633eac417e6","name":"Google_Mobile_Ads_SDK.framework","type":"product"},"productTypeIdentifier":"com.apple.product-type.framework","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":1}],"type":"standard"} \ No newline at end of file diff --git a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=4cabd0c48a00d7a4ed741cb699f1cc8e-json b/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=4cabd0c48a00d7a4ed741cb699f1cc8e-json deleted file mode 100644 index b5940291..00000000 --- a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=4cabd0c48a00d7a4ed741cb699f1cc8e-json +++ /dev/null @@ -1 +0,0 @@ -{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98e7f2a28e7b8ddc8b338bf3b440155a56","buildSettings":{"ASSETCATALOG_COMPILER_APPICON_NAME":"AppIcon","ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME":"AccentColor","CLANG_ENABLE_OBJC_WEAK":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks","ONLY_ACTIVE_ARCH":"NO","SDKROOT":"iphoneos","TARGETED_DEVICE_FAMILY":"1,2"},"guid":"bfdfe7dc352907fc980b868725387e98a3d5f5bdf8bd74b2e38d03fee57874a9","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e984c35e946ddb98e62c2ccb9cc1055f1ac","buildSettings":{"ASSETCATALOG_COMPILER_APPICON_NAME":"AppIcon","ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME":"AccentColor","CLANG_ENABLE_OBJC_WEAK":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks","SDKROOT":"iphoneos","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES"},"guid":"bfdfe7dc352907fc980b868725387e981a104acc4450feed5fa9a6e9bbde99e6","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e984c35e946ddb98e62c2ccb9cc1055f1ac","buildSettings":{"ASSETCATALOG_COMPILER_APPICON_NAME":"AppIcon","ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME":"AccentColor","CLANG_ENABLE_OBJC_WEAK":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks","SDKROOT":"iphoneos","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES"},"guid":"bfdfe7dc352907fc980b868725387e982cd019beee53251f78381aed3ac00408","name":"Release"}],"buildPhases":[],"buildRules":[],"dependencies":[{"guid":"bfdfe7dc352907fc980b868725387e98b762d5de103fb6cfc7506aa6be1d4f33","name":"FirebaseAuth"},{"guid":"bfdfe7dc352907fc980b868725387e98a408a4c1f668e62161cdeba76f57d50c","name":"FirebaseCore"}],"guid":"bfdfe7dc352907fc980b868725387e98d57b8bce60a0f11113f4cff532db68d3","name":"Firebase","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"","configurationName":"Debug","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"","configurationName":"Profile","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"","configurationName":"Release","provisioningStyle":0}],"type":"aggregate"} \ No newline at end of file diff --git a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=4cc1f6e212912d53710de3aa08e4aa3c-json b/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=4cc1f6e212912d53710de3aa08e4aa3c-json deleted file mode 100644 index 685d750c..00000000 --- a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=4cc1f6e212912d53710de3aa08e4aa3c-json +++ /dev/null @@ -1 +0,0 @@ -{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98237671cfe20903d6f94682d7135ab52a","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/path_provider_foundation/path_provider_foundation-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/path_provider_foundation/path_provider_foundation-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","MODULEMAP_FILE":"Target Support Files/path_provider_foundation/path_provider_foundation.modulemap","ONLY_ACTIVE_ARCH":"NO","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"path_provider_foundation","PRODUCT_NAME":"path_provider_foundation","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98ab88586633079f928287f370e8b6f07b","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e980e0c5fa0e8218bd665f72f14cbfc898f","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/path_provider_foundation/path_provider_foundation-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/path_provider_foundation/path_provider_foundation-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","MODULEMAP_FILE":"Target Support Files/path_provider_foundation/path_provider_foundation.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"path_provider_foundation","PRODUCT_NAME":"path_provider_foundation","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e9880f884b2537bd891ed54ff6e3ab7d0ee","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e980e0c5fa0e8218bd665f72f14cbfc898f","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/path_provider_foundation/path_provider_foundation-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/path_provider_foundation/path_provider_foundation-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","MODULEMAP_FILE":"Target Support Files/path_provider_foundation/path_provider_foundation.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"path_provider_foundation","PRODUCT_NAME":"path_provider_foundation","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e9858b9d941e76db42d349048c14af0e16e","name":"Release"}],"buildPhases":[{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98b67bc92c615d1dba3ac53bf7b30bdb94","guid":"bfdfe7dc352907fc980b868725387e98e40234757d04478dc54a213f59e845fa","headerVisibility":"public"}],"guid":"bfdfe7dc352907fc980b868725387e98450b40315711083d32b0ed949174ff28","type":"com.apple.buildphase.headers"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e9803bb7f63530cdb500ba84b0a1a44af44","guid":"bfdfe7dc352907fc980b868725387e984a6cdfb5d6c5b7f2a63f81831458165e"},{"fileReference":"bfdfe7dc352907fc980b868725387e9854c6536298ac986565a978d13cd2d6f9","guid":"bfdfe7dc352907fc980b868725387e986dfc1b5ca512f6383be32a7124385963"},{"fileReference":"bfdfe7dc352907fc980b868725387e9840d362b89ea106c24e2dbcd47a7474bd","guid":"bfdfe7dc352907fc980b868725387e98ef705c119ac1f3b015cda82f10194a36"}],"guid":"bfdfe7dc352907fc980b868725387e98f5d455158bacea210fd45e1a8f3245fc","type":"com.apple.buildphase.sources"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98b14af7c49882340ad551cb13b0a1e06d","guid":"bfdfe7dc352907fc980b868725387e9829f34398048903731961241124ac546e"}],"guid":"bfdfe7dc352907fc980b868725387e987ebedde198dc993f3ca38aec4ed08768","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"guid":"bfdfe7dc352907fc980b868725387e98234997a2811e55e2dfc23faf0b9d3093","targetReference":"bfdfe7dc352907fc980b868725387e987ea64ee8d53085bf9edd1a57aaf8cbb5"}],"guid":"bfdfe7dc352907fc980b868725387e98ac45f7d09c5ae0c1d8f7eb8e8ff004ab","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[{"guid":"bfdfe7dc352907fc980b868725387e989da425bb6d6d5d8dbb95e4afffb82217","name":"Flutter"},{"guid":"bfdfe7dc352907fc980b868725387e987ea64ee8d53085bf9edd1a57aaf8cbb5","name":"path_provider_foundation-path_provider_foundation_privacy"}],"guid":"bfdfe7dc352907fc980b868725387e9830037b09fee48cfce1f8562d753688c8","name":"path_provider_foundation","predominantSourceCodeLanguage":"Xcode.SourceCodeLanguage.Swift","productReference":{"guid":"bfdfe7dc352907fc980b868725387e98177b75fe6f519d73b22b382cca137f1c","name":"path_provider_foundation.framework","type":"product"},"productTypeIdentifier":"com.apple.product-type.framework","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":1}],"type":"standard"} \ No newline at end of file diff --git a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=4d623afd122ecb9d6d730809785df91d-json b/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=4d623afd122ecb9d6d730809785df91d-json deleted file mode 100644 index dde5b011..00000000 --- a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=4d623afd122ecb9d6d730809785df91d-json +++ /dev/null @@ -1 +0,0 @@ -{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9899a3c545d51db50c0cf261030b824669","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/quick_actions_ios","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"quick_actions_ios","INFOPLIST_FILE":"Target Support Files/quick_actions_ios/ResourceBundle-quick_actions_ios_privacy-quick_actions_ios-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"12.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"quick_actions_ios_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e9825f24fdafd16dee2367a8f077c551266","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98968b3bc9ee9e49b2679f77b1c2b31c1d","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/quick_actions_ios","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"quick_actions_ios","INFOPLIST_FILE":"Target Support Files/quick_actions_ios/ResourceBundle-quick_actions_ios_privacy-quick_actions_ios-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"12.0","PRODUCT_NAME":"quick_actions_ios_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e989d71b68699197c2964ed952c52317108","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98968b3bc9ee9e49b2679f77b1c2b31c1d","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/quick_actions_ios","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"quick_actions_ios","INFOPLIST_FILE":"Target Support Files/quick_actions_ios/ResourceBundle-quick_actions_ios_privacy-quick_actions_ios-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"12.0","PRODUCT_NAME":"quick_actions_ios_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98f408d434fdaa491912a43eb5fc0b7c51","name":"Release"}],"buildPhases":[{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e9860b5503cafc0f3e0ee5f39486fce21f2","type":"com.apple.buildphase.sources"},{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e984ce69b5bc5a78311dbe7681fc5cde81c","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e9897ece101e217083edce53455b9b44d62","guid":"bfdfe7dc352907fc980b868725387e98f22ae4dbfb03af3d8271ecc228f2d865"}],"guid":"bfdfe7dc352907fc980b868725387e98ef759b8c8c0563068bd54b8899291c01","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[],"guid":"bfdfe7dc352907fc980b868725387e980e0d42b02f67da84628f3c3fd30ed4e0","name":"quick_actions_ios-quick_actions_ios_privacy","productReference":{"guid":"bfdfe7dc352907fc980b868725387e9821b5524199a1a9b5cefe276f98c67dc8","name":"quick_actions_ios_privacy.bundle","type":"product"},"productTypeIdentifier":"com.apple.product-type.bundle","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":0}],"type":"standard"} \ No newline at end of file diff --git a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=5248d9ba098cf8d77d31b3cf7f8b5a69-json b/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=5248d9ba098cf8d77d31b3cf7f8b5a69-json deleted file mode 100644 index fb8c7cea..00000000 --- a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=5248d9ba098cf8d77d31b3cf7f8b5a69-json +++ /dev/null @@ -1 +0,0 @@ -{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e980fcd71e29c5847bc1bc9583f1118e75f","buildSettings":{"ASSETCATALOG_COMPILER_APPICON_NAME":"AppIcon","ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME":"AccentColor","CLANG_ENABLE_OBJC_WEAK":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","IPHONEOS_DEPLOYMENT_TARGET":"12.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks","ONLY_ACTIVE_ARCH":"NO","SDKROOT":"iphoneos","TARGETED_DEVICE_FAMILY":"1,2"},"guid":"bfdfe7dc352907fc980b868725387e9849b0a8fef29b1e33f3642957f3e0b890","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e985c479bbc4c266fbeb3d57a3c706051fb","buildSettings":{"ASSETCATALOG_COMPILER_APPICON_NAME":"AppIcon","ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME":"AccentColor","CLANG_ENABLE_OBJC_WEAK":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","IPHONEOS_DEPLOYMENT_TARGET":"12.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks","SDKROOT":"iphoneos","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES"},"guid":"bfdfe7dc352907fc980b868725387e98c07bc701f6dc8f95d2ddc7d82b98c075","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e985c479bbc4c266fbeb3d57a3c706051fb","buildSettings":{"ASSETCATALOG_COMPILER_APPICON_NAME":"AppIcon","ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME":"AccentColor","CLANG_ENABLE_OBJC_WEAK":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","IPHONEOS_DEPLOYMENT_TARGET":"12.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks","SDKROOT":"iphoneos","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES"},"guid":"bfdfe7dc352907fc980b868725387e98533b424307a06a0ca8c8daaf5b4a850a","name":"Release"}],"buildPhases":[{"alwaysOutOfDate":"false","alwaysRunForInstallHdrs":"false","buildFiles":[],"emitEnvironment":"false","guid":"bfdfe7dc352907fc980b868725387e987714768b2802b303372f44281b00b3c8","inputFileListPaths":["${PODS_ROOT}/Target Support Files/GoogleUserMessagingPlatform/GoogleUserMessagingPlatform-xcframeworks-input-files.xcfilelist"],"inputFilePaths":[],"name":"[CP] Copy XCFrameworks","originalObjectID":"B5375E1D4AF75C11071DABBF1B769DF2","outputFileListPaths":["${PODS_ROOT}/Target Support Files/GoogleUserMessagingPlatform/GoogleUserMessagingPlatform-xcframeworks-output-files.xcfilelist"],"outputFilePaths":[],"sandboxingOverride":"basedOnBuildSetting","scriptContents":"\"${PODS_ROOT}/Target Support Files/GoogleUserMessagingPlatform/GoogleUserMessagingPlatform-xcframeworks.sh\"\n","shellPath":"/bin/sh","type":"com.apple.buildphase.shell-script"}],"buildRules":[],"dependencies":[{"guid":"bfdfe7dc352907fc980b868725387e984a8eac8d5b6bc897e9823b3668d5ca68","name":"GoogleUserMessagingPlatform-UserMessagingPlatformResources"}],"guid":"bfdfe7dc352907fc980b868725387e98c777611770584bd7c20ebf80e3d30200","name":"GoogleUserMessagingPlatform","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"","configurationName":"Debug","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"","configurationName":"Profile","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"","configurationName":"Release","provisioningStyle":0}],"type":"aggregate"} \ No newline at end of file diff --git a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=525a617ce5cf51a2c10a01508fbe4adf-json b/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=525a617ce5cf51a2c10a01508fbe4adf-json deleted file mode 100644 index 11b839f6..00000000 --- a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=525a617ce5cf51a2c10a01508fbe4adf-json +++ /dev/null @@ -1 +0,0 @@ -{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98b022d73df32750d90180fee080a0f7d1","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/firebase_core/firebase_core-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/firebase_core/firebase_core-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MACH_O_TYPE":"staticlib","MODULEMAP_FILE":"Target Support Files/firebase_core/firebase_core.modulemap","ONLY_ACTIVE_ARCH":"NO","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"firebase_core","PRODUCT_NAME":"firebase_core","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e9882783658549e0905d9247e7644e480db","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9808ccd97494fd54f1603a316a163aab94","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/firebase_core/firebase_core-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/firebase_core/firebase_core-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MACH_O_TYPE":"staticlib","MODULEMAP_FILE":"Target Support Files/firebase_core/firebase_core.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"firebase_core","PRODUCT_NAME":"firebase_core","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98271ce67a4d92e5b1c9e2841d40ba0c38","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9808ccd97494fd54f1603a316a163aab94","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/firebase_core/firebase_core-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/firebase_core/firebase_core-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MACH_O_TYPE":"staticlib","MODULEMAP_FILE":"Target Support Files/firebase_core/firebase_core.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"firebase_core","PRODUCT_NAME":"firebase_core","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e9841f2bb4249a81b3e0485186c7095bfad","name":"Release"}],"buildPhases":[{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e987dfea0c140a7a0ea66e66dcf646b175b","guid":"bfdfe7dc352907fc980b868725387e9834601f58eb6ecb12dc46f0d4f5c03b22","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98b775542e692f38065f43634092d616ce","guid":"bfdfe7dc352907fc980b868725387e9846c9e9a1471448d65fe1be58e14cf6e8","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98b2eb7b9f5e3786b97a3a72dd22421a5e","guid":"bfdfe7dc352907fc980b868725387e985d388c5dd9014ce65beecebbb06c6cfe","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98f772990796156a555335464dc3c777ca","guid":"bfdfe7dc352907fc980b868725387e981b7e8b90295818a55ff4adacb18d7cda","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98f3bd2cacbaac9079f1396cb3fa6d0e27","guid":"bfdfe7dc352907fc980b868725387e987749bea8c90a0f2da3ebbeed6c84dd52","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e9867153d6814ea6c8bee7037d6d146ce78","guid":"bfdfe7dc352907fc980b868725387e98a36b67d912b208aeec470d4e5f484b8a","headerVisibility":"public"}],"guid":"bfdfe7dc352907fc980b868725387e9882038e1635bc07d4e30bd4023a6b61ae","type":"com.apple.buildphase.headers"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98601b2da428ba75eb289e1c54c7e54ac2","guid":"bfdfe7dc352907fc980b868725387e98bd2b07ac01f48df7e4690488ad174302"},{"fileReference":"bfdfe7dc352907fc980b868725387e98a993adacba3286d6cf47f3ca504b1406","guid":"bfdfe7dc352907fc980b868725387e98941c79f3dab14c7ce61254f0bf7a8224"},{"fileReference":"bfdfe7dc352907fc980b868725387e9807da482b8ec6e4d8948d658c8bdf02e5","guid":"bfdfe7dc352907fc980b868725387e9827c702ca91652a44628c6062c81d922e"},{"fileReference":"bfdfe7dc352907fc980b868725387e989977ba840e207e56a3bdbda80a4d8615","guid":"bfdfe7dc352907fc980b868725387e984d3785c0518cff1d26e769d5fc17a303"},{"fileReference":"bfdfe7dc352907fc980b868725387e98f5cce0e89494288c3baf0f38b30e399f","guid":"bfdfe7dc352907fc980b868725387e984ce69ee8307cb628883258ea8858fb7d"},{"fileReference":"bfdfe7dc352907fc980b868725387e9878e159148fb5c54711d45b5262f445b4","guid":"bfdfe7dc352907fc980b868725387e985ea14b413bc4cf843e5c11a9377768cf"}],"guid":"bfdfe7dc352907fc980b868725387e980222076457cd73b4b2516b590ca4e5e9","type":"com.apple.buildphase.sources"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98b14af7c49882340ad551cb13b0a1e06d","guid":"bfdfe7dc352907fc980b868725387e98f530986a656c334332b1858f373235a0"}],"guid":"bfdfe7dc352907fc980b868725387e9845b8853a6c66f43b65b5fb0a7975fd55","type":"com.apple.buildphase.frameworks"},{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e982da293737faed3f5bf7ed42c243d105d","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[{"guid":"bfdfe7dc352907fc980b868725387e98d57b8bce60a0f11113f4cff532db68d3","name":"Firebase"},{"guid":"bfdfe7dc352907fc980b868725387e989da425bb6d6d5d8dbb95e4afffb82217","name":"Flutter"}],"guid":"bfdfe7dc352907fc980b868725387e987f74324bfc5c78140e34d510e26e00c1","name":"firebase_core","predominantSourceCodeLanguage":"Xcode.SourceCodeLanguage.Objective-C","productReference":{"guid":"bfdfe7dc352907fc980b868725387e98a32fdd082239c9fc7912ba5b473ab170","name":"firebase_core.framework","type":"product"},"productTypeIdentifier":"com.apple.product-type.framework","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":1}],"type":"standard"} \ No newline at end of file diff --git a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=5319ba36858c0aa8d085cf090833a92c-json b/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=5319ba36858c0aa8d085cf090833a92c-json deleted file mode 100644 index acaa96d9..00000000 --- a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=5319ba36858c0aa8d085cf090833a92c-json +++ /dev/null @@ -1 +0,0 @@ -{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98dcc81be3bb552d5ea4561a1ae5bb7340","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/FirebaseAppCheck/FirebaseAppCheck-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/FirebaseAppCheck/FirebaseAppCheck.modulemap","ONLY_ACTIVE_ARCH":"NO","PRODUCT_MODULE_NAME":"FirebaseAppCheck","PRODUCT_NAME":"FirebaseAppCheck","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.9","TARGETED_DEVICE_FAMILY":"1,2","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e9838c4fec4b71725e09cbf9662270d290b","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9858ca2cea4d0cfb89402980161e9a9cd8","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/FirebaseAppCheck/FirebaseAppCheck-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/FirebaseAppCheck/FirebaseAppCheck.modulemap","PRODUCT_MODULE_NAME":"FirebaseAppCheck","PRODUCT_NAME":"FirebaseAppCheck","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.9","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e980c35b2a87e8e6dcf6e77ce5b5ee26166","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9858ca2cea4d0cfb89402980161e9a9cd8","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/FirebaseAppCheck/FirebaseAppCheck-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/FirebaseAppCheck/FirebaseAppCheck.modulemap","PRODUCT_MODULE_NAME":"FirebaseAppCheck","PRODUCT_NAME":"FirebaseAppCheck","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.9","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e9837c7adcccd7fd6a1a2ada6643df6078f","name":"Release"}],"buildPhases":[{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98cc62704582d6538d2c8174cc4716bd01","guid":"bfdfe7dc352907fc980b868725387e9871d91a42be601b71d307300b8355ee1f"},{"fileReference":"bfdfe7dc352907fc980b868725387e98fbd90d23a9844d554e6c9a88b7a47396","guid":"bfdfe7dc352907fc980b868725387e983b665e94a4cfaa5b6a0aca002e7e59fb","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e983bc0545c109603b43fe7a712a18dd4ed","guid":"bfdfe7dc352907fc980b868725387e9806e4e0f07e830dcf1c064d4fde7372c0","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e980969a6e00d9b9e9eadd3837e5f867ec2","guid":"bfdfe7dc352907fc980b868725387e98396b98354e97c6b1358117f08a4e306a"},{"fileReference":"bfdfe7dc352907fc980b868725387e9876546db88afa14aa0230a40315a8e9cb","guid":"bfdfe7dc352907fc980b868725387e987ac25a11fa40f178db5d50bff061db77","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e986055f501457bc6efb35bf3aa8c3a44a4","guid":"bfdfe7dc352907fc980b868725387e98f3b1973278086302771042df4e00ea41","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98868da319a13b4790783057bfbc4a8856","guid":"bfdfe7dc352907fc980b868725387e98756f5b397ad053077de8f46d7da8fab2","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e983250e0568fe4851d28a49a6f1cda2099","guid":"bfdfe7dc352907fc980b868725387e98b1c7b574f15f7fc9aa11534e7d2b7562","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98af65f253db51a8a01b417fbacaee2077","guid":"bfdfe7dc352907fc980b868725387e9834540f115b38beb81f79aaec362acee4"},{"fileReference":"bfdfe7dc352907fc980b868725387e982b2d142e274ac25a0561c078b47b5010","guid":"bfdfe7dc352907fc980b868725387e987738e43885705e2ca3d3f952a852d1e9"},{"fileReference":"bfdfe7dc352907fc980b868725387e98355bf2abe13f0f83f9f3bb625c809df7","guid":"bfdfe7dc352907fc980b868725387e98039ec9cf2443d2dfcaa6bfd00745a082","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e980d7be89019113857f905dea093b1ce52","guid":"bfdfe7dc352907fc980b868725387e980b651aa249a332add6784e1a51326269","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98f01ba42cf03b5479cb00e8e2f1e498f0","guid":"bfdfe7dc352907fc980b868725387e988badb0d31d2706b6e4f9747d22135a0f"},{"fileReference":"bfdfe7dc352907fc980b868725387e98d719dfabd618a96b66dbf19219ed765b","guid":"bfdfe7dc352907fc980b868725387e983155fd9f6a3b8bca94c3c79ab7d6f172","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98d668922bc499462306878885b18a5df3","guid":"bfdfe7dc352907fc980b868725387e98900d260dc13755009dc5e9a87b094ce7"},{"fileReference":"bfdfe7dc352907fc980b868725387e9876df4e8ca94b5e724a4e852778743c1e","guid":"bfdfe7dc352907fc980b868725387e9828b6a38764c56d071ba48fdbb255f533"},{"fileReference":"bfdfe7dc352907fc980b868725387e986ae26e21f215969b335fcf089dce8a46","guid":"bfdfe7dc352907fc980b868725387e98f05d93bb93fdddbb0e4e7929359c57b7"},{"fileReference":"bfdfe7dc352907fc980b868725387e98b169de74071925d7b12305e13c960697","guid":"bfdfe7dc352907fc980b868725387e983a4581eb617a5ad7d83892d698d594b6"},{"fileReference":"bfdfe7dc352907fc980b868725387e982d03e6a9e16ca15419865ec53d554960","guid":"bfdfe7dc352907fc980b868725387e9849ccab35060d3b04350d5b2ec96a6be4"},{"fileReference":"bfdfe7dc352907fc980b868725387e98955d9460628f5b5da0340d52b3be53ca","guid":"bfdfe7dc352907fc980b868725387e98ee4dfe3e5170a4d901e0ea6c5751579f"},{"fileReference":"bfdfe7dc352907fc980b868725387e982d929aa8b59449447362db17859560b7","guid":"bfdfe7dc352907fc980b868725387e9885d6d8d78881bf3885d75b32e70b1277"},{"fileReference":"bfdfe7dc352907fc980b868725387e981059d7aa812d14711b030e28c61bcb6e","guid":"bfdfe7dc352907fc980b868725387e98764cfede42317a5d2c6a5172733c7e97","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98c74baa67d92d7c59a439c5411d5e8e6b","guid":"bfdfe7dc352907fc980b868725387e98ce2868d00d05d2d2211051232eb2df1f","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e988d83ba06705aee54c5af980140a6c893","guid":"bfdfe7dc352907fc980b868725387e98cd6526b0c21c31085bd5878a26ea1a52","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e9804717059d9181565ee5576a9e39236df","guid":"bfdfe7dc352907fc980b868725387e9889255affc0e671e70bb08e4e4f3f6e7c","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98fd3fc54900e75a3cfcce7c2bb219927b","guid":"bfdfe7dc352907fc980b868725387e9815dca42c43fccc27a7b13ec4db07705a"},{"fileReference":"bfdfe7dc352907fc980b868725387e9852e8ed178d953a6776178ef48ee2814d","guid":"bfdfe7dc352907fc980b868725387e9879c2596fd3a27cc64d264f803ac04a3d"},{"fileReference":"bfdfe7dc352907fc980b868725387e9816e853290c59ddfa95048f95507f1212","guid":"bfdfe7dc352907fc980b868725387e98f42c7113b7322f4073dcac9b6e96d7d1"},{"fileReference":"bfdfe7dc352907fc980b868725387e989213e7824c44f61ef818503291e680e0","guid":"bfdfe7dc352907fc980b868725387e9812f35353a4585fb67a3e91a122e4961f"},{"fileReference":"bfdfe7dc352907fc980b868725387e982afb2c662f2c43daeead1d89b85cc4be","guid":"bfdfe7dc352907fc980b868725387e98ede8ff609a807a6a6f7f3501653a1530"},{"fileReference":"bfdfe7dc352907fc980b868725387e9889e260595c9bb6055f19e49c4ac1de2a","guid":"bfdfe7dc352907fc980b868725387e981f72ce5bfe0f0920fcf3a20705e8519e"}],"guid":"bfdfe7dc352907fc980b868725387e989a8bdd7db64c936feeb9fdccde76a124","type":"com.apple.buildphase.headers"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e985a9877f895a7208fca1225e9aac58deb","guid":"bfdfe7dc352907fc980b868725387e98f2d8328aa3716bcf58165cb6aabdd9eb"},{"fileReference":"bfdfe7dc352907fc980b868725387e984f7216d9ae43747c39f20e03ebed994a","guid":"bfdfe7dc352907fc980b868725387e980a6842fc579249ca27117522fcb32520"},{"fileReference":"bfdfe7dc352907fc980b868725387e98e5c73c8c1278df91bc0ad8f58764b0ca","guid":"bfdfe7dc352907fc980b868725387e98c5bcc8cfdebaa2ea4c37d0e8cf801bb7"},{"fileReference":"bfdfe7dc352907fc980b868725387e98d015c60cb1e8278e460e203665420af4","guid":"bfdfe7dc352907fc980b868725387e980d69a15c5090c41cfe80991e6b959490"},{"fileReference":"bfdfe7dc352907fc980b868725387e984db12fbce05cdb1e7d06a4628004dfee","guid":"bfdfe7dc352907fc980b868725387e987c40da3cb9a8bee11591bb9fcfbf9747"},{"fileReference":"bfdfe7dc352907fc980b868725387e98bac4d0c002f00c3c0aadb1f86bea4db4","guid":"bfdfe7dc352907fc980b868725387e981e211ce9b5a82c38a89df7432af5ae11"},{"fileReference":"bfdfe7dc352907fc980b868725387e9879f6b6f0297ecaf4f94f56f86cbecd39","guid":"bfdfe7dc352907fc980b868725387e983e0ead0ddd47065d3ee3316a6a456558"},{"fileReference":"bfdfe7dc352907fc980b868725387e98a467dc7f67b13c6f382fc0476ecf3578","guid":"bfdfe7dc352907fc980b868725387e98a10b53c251fead24e2bc80ffabaca7e3"},{"fileReference":"bfdfe7dc352907fc980b868725387e988c010400b28cbe56f5bc69ec4f46feac","guid":"bfdfe7dc352907fc980b868725387e98908b25b6de0d398e2db2ab88c7de1b95"},{"fileReference":"bfdfe7dc352907fc980b868725387e98e83b31792a4a77b69618b6c4e11a7b1e","guid":"bfdfe7dc352907fc980b868725387e981532a1ac14391b4b492680fe682b0957"},{"fileReference":"bfdfe7dc352907fc980b868725387e9814f775d5813351265e9acad2e605cec6","guid":"bfdfe7dc352907fc980b868725387e9818ac9bb25ea11222d5e6d5d5016eeec6"},{"fileReference":"bfdfe7dc352907fc980b868725387e98ee9616d51dbd0978b6b1160bde75c0fe","guid":"bfdfe7dc352907fc980b868725387e98aace04b8dc34a35748654fa1fa5d33a2"},{"fileReference":"bfdfe7dc352907fc980b868725387e98e48ac13f4b49e42bf03aa112e4b5d6e7","guid":"bfdfe7dc352907fc980b868725387e980435a41cdea476bf7b11f4bfcd411ec4"},{"fileReference":"bfdfe7dc352907fc980b868725387e9852fe7745f4b2772e6cd3cba24e695be8","guid":"bfdfe7dc352907fc980b868725387e984695a5858a5c3c95172aebe1fe52346f"},{"fileReference":"bfdfe7dc352907fc980b868725387e98b99858e5d1ba7051c08bda553f5cbabe","guid":"bfdfe7dc352907fc980b868725387e98fad322e08034ceb08d597725afeba077"},{"fileReference":"bfdfe7dc352907fc980b868725387e98c97cf347ee33ebdbcaaf450c07f28d2e","guid":"bfdfe7dc352907fc980b868725387e98b739033624abbc444cdbd9c09bdf3e92"},{"fileReference":"bfdfe7dc352907fc980b868725387e9809a30ce0fe1dd3695686a996a065f387","guid":"bfdfe7dc352907fc980b868725387e9840a011651d32a8a7d65ff37efb37da99"},{"fileReference":"bfdfe7dc352907fc980b868725387e985c461ab6a7e9879b6fa6169adaab3d61","guid":"bfdfe7dc352907fc980b868725387e98a2eb62cb148ada087de53721959663a9"}],"guid":"bfdfe7dc352907fc980b868725387e980f6ad4bb86e2126a469e3678db6ab533","type":"com.apple.buildphase.sources"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98b14af7c49882340ad551cb13b0a1e06d","guid":"bfdfe7dc352907fc980b868725387e989ad225b4241890eee92fd5876f740106"}],"guid":"bfdfe7dc352907fc980b868725387e980c126ec4e291ef8d9fbbbb38989292f4","type":"com.apple.buildphase.frameworks"},{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e9808b47889de662cd4865776eda02c0c2b","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[{"guid":"bfdfe7dc352907fc980b868725387e98cd8162b601eb6c17e4d86eec112a388c","name":"AppCheckCore"},{"guid":"bfdfe7dc352907fc980b868725387e981f0a8508efd61386103314ddbb82a530","name":"FirebaseAppCheckInterop"},{"guid":"bfdfe7dc352907fc980b868725387e98a408a4c1f668e62161cdeba76f57d50c","name":"FirebaseCore"},{"guid":"bfdfe7dc352907fc980b868725387e98718890dfdac589615663a02d43d9af3e","name":"GoogleUtilities"}],"guid":"bfdfe7dc352907fc980b868725387e98ecaebc2b66f6675fbaa388164aa6c8dd","name":"FirebaseAppCheck","predominantSourceCodeLanguage":"Xcode.SourceCodeLanguage.Objective-C-Plus-Plus","productReference":{"guid":"bfdfe7dc352907fc980b868725387e9857de7acecfe5aa305e96dd28add8de37","name":"FirebaseAppCheck.framework","type":"product"},"productTypeIdentifier":"com.apple.product-type.framework","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":1}],"type":"standard"} \ No newline at end of file diff --git a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=558846d52469eb6457f7fa805fbcac19-json b/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=558846d52469eb6457f7fa805fbcac19-json deleted file mode 100644 index 5d28f5d2..00000000 --- a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=558846d52469eb6457f7fa805fbcac19-json +++ /dev/null @@ -1 +0,0 @@ -{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98144cd18850e477837c238075d5256ffe","buildSettings":{"ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES":"NO","CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","INFOPLIST_FILE":"Target Support Files/Pods-RunnerTests/Pods-RunnerTests-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.5.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MACH_O_TYPE":"staticlib","MODULEMAP_FILE":"Target Support Files/Pods-RunnerTests/Pods-RunnerTests.modulemap","ONLY_ACTIVE_ARCH":"NO","OTHER_LDFLAGS":"$(inherited) -framework Flutter","OTHER_LIBTOOLFLAGS":"","PODS_ROOT":"$(SRCROOT)","PRODUCT_BUNDLE_IDENTIFIER":"org.cocoapods.${PRODUCT_NAME:rfc1034identifier}","PRODUCT_NAME":"$(TARGET_NAME:c99extidentifier)","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98c25f9cc441a3059ef0126c5aaf98288e","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e981b663a2c82f0220040296818ba53477e","buildSettings":{"ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES":"NO","CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","INFOPLIST_FILE":"Target Support Files/Pods-RunnerTests/Pods-RunnerTests-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.5.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MACH_O_TYPE":"staticlib","MODULEMAP_FILE":"Target Support Files/Pods-RunnerTests/Pods-RunnerTests.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","OTHER_LIBTOOLFLAGS":"","PODS_ROOT":"$(SRCROOT)","PRODUCT_BUNDLE_IDENTIFIER":"org.cocoapods.${PRODUCT_NAME:rfc1034identifier}","PRODUCT_NAME":"$(TARGET_NAME:c99extidentifier)","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e980fd5a17e9008e6edce2b18476f20143d","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98965b92d39d30a7872295adc2841cd1b1","buildSettings":{"ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES":"NO","CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","INFOPLIST_FILE":"Target Support Files/Pods-RunnerTests/Pods-RunnerTests-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.5.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MACH_O_TYPE":"staticlib","MODULEMAP_FILE":"Target Support Files/Pods-RunnerTests/Pods-RunnerTests.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","OTHER_LIBTOOLFLAGS":"","PODS_ROOT":"$(SRCROOT)","PRODUCT_BUNDLE_IDENTIFIER":"org.cocoapods.${PRODUCT_NAME:rfc1034identifier}","PRODUCT_NAME":"$(TARGET_NAME:c99extidentifier)","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98c75d8d376d8cc3f3dfe5b11f8b019fbc","name":"Release"}],"buildPhases":[{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98e5e8bcdff29e5f8321be18f7989b4bc7","guid":"bfdfe7dc352907fc980b868725387e98ca9af5e2c54f437f9ebb0c203883ccae","headerVisibility":"public"}],"guid":"bfdfe7dc352907fc980b868725387e986e6b8bd91d07f2fb082ccd84c7dcacb1","type":"com.apple.buildphase.headers"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98022654f1ff78dd844d694dba2439dab2","guid":"bfdfe7dc352907fc980b868725387e9881f185e1672aa83b98d6e30b47f8f468"}],"guid":"bfdfe7dc352907fc980b868725387e98de09b1176c796343f1f9bcd422c73402","type":"com.apple.buildphase.sources"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98b14af7c49882340ad551cb13b0a1e06d","guid":"bfdfe7dc352907fc980b868725387e98e7ac2b91ee49764a75561cf994247683"}],"guid":"bfdfe7dc352907fc980b868725387e983bb5c38e7891bdb262f8e050f7d97030","type":"com.apple.buildphase.frameworks"},{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e987fddc24c35656402341de288e0688015","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[{"guid":"bfdfe7dc352907fc980b868725387e98312b4bc59bbbe2c06c205bf4da6737f5","name":"Pods-Runner"}],"guid":"bfdfe7dc352907fc980b868725387e98483832d3c820398e9d40e1a6904b03fe","name":"Pods-RunnerTests","predominantSourceCodeLanguage":"Xcode.SourceCodeLanguage.Objective-C","productReference":{"guid":"bfdfe7dc352907fc980b868725387e984f9f39caeddf64cc331db2b69d62aa63","name":"Pods_RunnerTests.framework","type":"product"},"productTypeIdentifier":"com.apple.product-type.framework","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":1}],"type":"standard"} \ No newline at end of file diff --git a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=55e76bc78bd49d51860d689a4f5e9c62-json b/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=55e76bc78bd49d51860d689a4f5e9c62-json deleted file mode 100644 index f92ea15a..00000000 --- a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=55e76bc78bd49d51860d689a4f5e9c62-json +++ /dev/null @@ -1 +0,0 @@ -{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e984615091c333da42672bfd26263153e2c","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/flutter_native_splash","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"flutter_native_splash","INFOPLIST_FILE":"Target Support Files/flutter_native_splash/ResourceBundle-flutter_native_splash_privacy-flutter_native_splash-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"9.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"flutter_native_splash_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e9860da4fbfcabe1e33365f0cf663020529","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98eccf4b0b561ffd1dcb573fa88f797247","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/flutter_native_splash","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"flutter_native_splash","INFOPLIST_FILE":"Target Support Files/flutter_native_splash/ResourceBundle-flutter_native_splash_privacy-flutter_native_splash-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"9.0","PRODUCT_NAME":"flutter_native_splash_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e986f07137accd1dd82ae0ad0cefa3da6ce","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98eccf4b0b561ffd1dcb573fa88f797247","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/flutter_native_splash","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"flutter_native_splash","INFOPLIST_FILE":"Target Support Files/flutter_native_splash/ResourceBundle-flutter_native_splash_privacy-flutter_native_splash-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"9.0","PRODUCT_NAME":"flutter_native_splash_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98dd79e1c50585767db93c82ffe1c549bc","name":"Release"}],"buildPhases":[{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e98a37d43881289b10f7faf1b2357e7cb09","type":"com.apple.buildphase.sources"},{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e9829803983f6294853f20f8230464279ca","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98fe3a5ec7d39edfd3a806d5f27e4564cd","guid":"bfdfe7dc352907fc980b868725387e98f684de83241336c666b424da119ad07a"}],"guid":"bfdfe7dc352907fc980b868725387e9824fa8ba8f370ad90caa2d574be5d4562","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[],"guid":"bfdfe7dc352907fc980b868725387e9861233620df33996cccf430ed75b4a999","name":"flutter_native_splash-flutter_native_splash_privacy","productReference":{"guid":"bfdfe7dc352907fc980b868725387e98640e376f8759837464f22e16bcf9542e","name":"flutter_native_splash_privacy.bundle","type":"product"},"productTypeIdentifier":"com.apple.product-type.bundle","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":0}],"type":"standard"} \ No newline at end of file diff --git a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=5815137460cbcfbe6d2f7a5b54b4ca09-json b/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=5815137460cbcfbe6d2f7a5b54b4ca09-json deleted file mode 100644 index 8d0024cd..00000000 --- a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=5815137460cbcfbe6d2f7a5b54b4ca09-json +++ /dev/null @@ -1 +0,0 @@ -{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9895b607e38dd439202402e1eb97e7bfe3","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/firebase_auth/firebase_auth-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/firebase_auth/firebase_auth-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MACH_O_TYPE":"staticlib","MODULEMAP_FILE":"Target Support Files/firebase_auth/firebase_auth.modulemap","ONLY_ACTIVE_ARCH":"NO","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"firebase_auth","PRODUCT_NAME":"firebase_auth","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e986ffa22517f22fd1628a2ac5260461665","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e987f882ba03ab88d6bb0c7d3cbdee44856","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/firebase_auth/firebase_auth-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/firebase_auth/firebase_auth-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MACH_O_TYPE":"staticlib","MODULEMAP_FILE":"Target Support Files/firebase_auth/firebase_auth.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"firebase_auth","PRODUCT_NAME":"firebase_auth","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e987b8d45e58dea39fe7d08353e02a0dd00","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e987f882ba03ab88d6bb0c7d3cbdee44856","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/firebase_auth/firebase_auth-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/firebase_auth/firebase_auth-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MACH_O_TYPE":"staticlib","MODULEMAP_FILE":"Target Support Files/firebase_auth/firebase_auth.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"firebase_auth","PRODUCT_NAME":"firebase_auth","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98edda9841fffc7bfd37a16a25e8033f6c","name":"Release"}],"buildPhases":[{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98f0e96d34aebeddb83a8166ed2181b114","guid":"bfdfe7dc352907fc980b868725387e980264b5003559128064c2d431c7a1d5d2","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e983fadff5bdce928842849d4dcd99e8422","guid":"bfdfe7dc352907fc980b868725387e985d1e77a9e0f21d15d95d15d10c36a7ac","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98c3935a7024d5af57e2ec647f59ad2f2d","guid":"bfdfe7dc352907fc980b868725387e98cbe6b1da8d292457b0a06923224aa7dd","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e9827bee845e2266de322863f00bfdc2a26","guid":"bfdfe7dc352907fc980b868725387e98bc55dd443ff9df6818152546d4b6fa52","headerVisibility":"private"},{"fileReference":"bfdfe7dc352907fc980b868725387e98a49b0809685262c84b0c7c8e57a010be","guid":"bfdfe7dc352907fc980b868725387e982efe64056275ae26b61290455ce42a1b","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e983b118aa12a63ca9f9945efeaf253ff7b","guid":"bfdfe7dc352907fc980b868725387e98e02f7506a83b26f4293ee303c4dbc43f","headerVisibility":"private"},{"fileReference":"bfdfe7dc352907fc980b868725387e98e5b528b032881616d1c665dec13dafa8","guid":"bfdfe7dc352907fc980b868725387e98a0a8593f87d972ef6f48ed937fef744c","headerVisibility":"private"},{"fileReference":"bfdfe7dc352907fc980b868725387e982864d491b842dd5124ecf14b972d65b6","guid":"bfdfe7dc352907fc980b868725387e9877d27052a9618edfae7508f85bac96af","headerVisibility":"private"}],"guid":"bfdfe7dc352907fc980b868725387e988f67ebbfe9a44a955f668d3a5eb4c0bb","type":"com.apple.buildphase.headers"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98f9755ae3b2d4cab1fb3158b533f2c9d1","guid":"bfdfe7dc352907fc980b868725387e98ecb41fbfb930c36ae115d09d3f3d730e"},{"fileReference":"bfdfe7dc352907fc980b868725387e985f541d6ffe1082b2902e65204c08509d","guid":"bfdfe7dc352907fc980b868725387e98b795a98d2e97081bd5295e3b4039deef"},{"fileReference":"bfdfe7dc352907fc980b868725387e98eb223ecb002d14c77278863d78c4c318","guid":"bfdfe7dc352907fc980b868725387e981691306068dfc16ee4f918f9cfb49a7d"},{"fileReference":"bfdfe7dc352907fc980b868725387e9810eacf503f471242fc9c2cd78a82403c","guid":"bfdfe7dc352907fc980b868725387e9833d5a142ad9df6cf3e604e4deb1bcf04"},{"fileReference":"bfdfe7dc352907fc980b868725387e982532bb5826be388841ede9effca1df18","guid":"bfdfe7dc352907fc980b868725387e98849e466755639a30943fd9b3df64d9ea"},{"fileReference":"bfdfe7dc352907fc980b868725387e988936fde4a4450628a9e214e0ddf0d394","guid":"bfdfe7dc352907fc980b868725387e986dd29eeff5f19c0d819a889c21d7e7fa"},{"fileReference":"bfdfe7dc352907fc980b868725387e98347fb9c4a5c7c79fec72e40d077e4345","guid":"bfdfe7dc352907fc980b868725387e9811fb68a52c38697eb33ce80d8ac39fe7"}],"guid":"bfdfe7dc352907fc980b868725387e98d0a3957f9e1e76017912b92f0fab46b9","type":"com.apple.buildphase.sources"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98b14af7c49882340ad551cb13b0a1e06d","guid":"bfdfe7dc352907fc980b868725387e98daa3520e3d9f06a110e8f01981af6f59"}],"guid":"bfdfe7dc352907fc980b868725387e98ce97f70f77fd0c53336335476b6c74ce","type":"com.apple.buildphase.frameworks"},{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e98021c1a71a666361c883fecc3ff1b4e14","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[{"guid":"bfdfe7dc352907fc980b868725387e98d57b8bce60a0f11113f4cff532db68d3","name":"Firebase"},{"guid":"bfdfe7dc352907fc980b868725387e989da425bb6d6d5d8dbb95e4afffb82217","name":"Flutter"},{"guid":"bfdfe7dc352907fc980b868725387e987f74324bfc5c78140e34d510e26e00c1","name":"firebase_core"}],"guid":"bfdfe7dc352907fc980b868725387e983788d8769c821650606514be955fca93","name":"firebase_auth","predominantSourceCodeLanguage":"Xcode.SourceCodeLanguage.Objective-C-Plus-Plus","productReference":{"guid":"bfdfe7dc352907fc980b868725387e984496a3f7661d89567ff8250961054e8f","name":"firebase_auth.framework","type":"product"},"productTypeIdentifier":"com.apple.product-type.framework","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":1}],"type":"standard"} \ No newline at end of file diff --git a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=5b871dc0aeb742795842305fce24cf10-json b/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=5b871dc0aeb742795842305fce24cf10-json deleted file mode 100644 index 9750b1d8..00000000 --- a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=5b871dc0aeb742795842305fce24cf10-json +++ /dev/null @@ -1 +0,0 @@ -{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98be516318204b40d33cd2aae70dc8508d","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/image_picker_ios","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"image_picker_ios","INFOPLIST_FILE":"Target Support Files/image_picker_ios/ResourceBundle-image_picker_ios_privacy-image_picker_ios-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"12.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"image_picker_ios_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98fe184685e7621bee1606ce85917b9b85","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e988b179e3ba3eb0643314ef47fd544fc52","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/image_picker_ios","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"image_picker_ios","INFOPLIST_FILE":"Target Support Files/image_picker_ios/ResourceBundle-image_picker_ios_privacy-image_picker_ios-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"12.0","PRODUCT_NAME":"image_picker_ios_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e980e4526c50a4031936bde394eea80eeea","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e988b179e3ba3eb0643314ef47fd544fc52","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/image_picker_ios","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"image_picker_ios","INFOPLIST_FILE":"Target Support Files/image_picker_ios/ResourceBundle-image_picker_ios_privacy-image_picker_ios-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"12.0","PRODUCT_NAME":"image_picker_ios_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98c53111fcdd62cde610c426b59c6fff48","name":"Release"}],"buildPhases":[{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e98177bb54c0b7e90531c0998c1a64e6640","type":"com.apple.buildphase.sources"},{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e98a28d1f7835b4ffdc546d78cd1abcaa73","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e981c0fc8adcffe31e3d3685bd10445f9cd","guid":"bfdfe7dc352907fc980b868725387e9841b0f8ddcf424810ba75263f93b7b475"}],"guid":"bfdfe7dc352907fc980b868725387e98939f77574fa9675a93079ac8069ec10e","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[],"guid":"bfdfe7dc352907fc980b868725387e98082dc85da1fc941e5234c7cc1f11b27d","name":"image_picker_ios-image_picker_ios_privacy","productReference":{"guid":"bfdfe7dc352907fc980b868725387e98cba567c8a049008de84f093e54e3191c","name":"image_picker_ios_privacy.bundle","type":"product"},"productTypeIdentifier":"com.apple.product-type.bundle","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":0}],"type":"standard"} \ No newline at end of file diff --git a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=5bd0bad9e37ac0efe7eb7e9b6a040622-json b/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=5bd0bad9e37ac0efe7eb7e9b6a040622-json deleted file mode 100644 index d89c810b..00000000 --- a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=5bd0bad9e37ac0efe7eb7e9b6a040622-json +++ /dev/null @@ -1 +0,0 @@ -{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98c5ea3636852338c982e52209ddd197d0","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/device_info_plus","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"device_info_plus","INFOPLIST_FILE":"Target Support Files/device_info_plus/ResourceBundle-device_info_plus_privacy-device_info_plus-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"12.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"device_info_plus_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e982904bb5a1a6cb0ed3f02b0f6d901644e","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98c321042b295c1853a19a7fc9918a7454","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/device_info_plus","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"device_info_plus","INFOPLIST_FILE":"Target Support Files/device_info_plus/ResourceBundle-device_info_plus_privacy-device_info_plus-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"12.0","PRODUCT_NAME":"device_info_plus_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e984596d2a2fc6523e915885973c572d8a0","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98c321042b295c1853a19a7fc9918a7454","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/device_info_plus","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"device_info_plus","INFOPLIST_FILE":"Target Support Files/device_info_plus/ResourceBundle-device_info_plus_privacy-device_info_plus-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"12.0","PRODUCT_NAME":"device_info_plus_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98207a2fbc6c3dec47ad9df0cd8f6ea36f","name":"Release"}],"buildPhases":[{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e98f08c76ed4246bfded15b12d7fa9b32a3","type":"com.apple.buildphase.sources"},{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e98b485edd366b672ff4d81a5c7087c98e0","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98c10991a7301e313966d8722e62961e70","guid":"bfdfe7dc352907fc980b868725387e9806b678c693bf89dc1ed60fcbbdd4c059"}],"guid":"bfdfe7dc352907fc980b868725387e98289669258e6c850a58e363fc4c5889d5","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[],"guid":"bfdfe7dc352907fc980b868725387e98583f48d08e567205bb589ccf43c23e63","name":"device_info_plus-device_info_plus_privacy","productReference":{"guid":"bfdfe7dc352907fc980b868725387e98796fe11972476d5a3ffbbf6850b4991c","name":"device_info_plus_privacy.bundle","type":"product"},"productTypeIdentifier":"com.apple.product-type.bundle","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":0}],"type":"standard"} \ No newline at end of file diff --git a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=61f30aa6dfaff3adeef504cd04583578-json b/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=61f30aa6dfaff3adeef504cd04583578-json deleted file mode 100644 index 52a0e76b..00000000 --- a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=61f30aa6dfaff3adeef504cd04583578-json +++ /dev/null @@ -1 +0,0 @@ -{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9899a3c545d51db50c0cf261030b824669","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/quick_actions_ios/quick_actions_ios-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/quick_actions_ios/quick_actions_ios-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","MODULEMAP_FILE":"Target Support Files/quick_actions_ios/quick_actions_ios.modulemap","ONLY_ACTIVE_ARCH":"NO","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"quick_actions_ios","PRODUCT_NAME":"quick_actions_ios","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98acfdc8cee73d6ddf7ec37d429e7f55b1","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98968b3bc9ee9e49b2679f77b1c2b31c1d","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/quick_actions_ios/quick_actions_ios-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/quick_actions_ios/quick_actions_ios-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","MODULEMAP_FILE":"Target Support Files/quick_actions_ios/quick_actions_ios.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"quick_actions_ios","PRODUCT_NAME":"quick_actions_ios","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98a750796f7c7942168c3e5bdf0be0cf63","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98968b3bc9ee9e49b2679f77b1c2b31c1d","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/quick_actions_ios/quick_actions_ios-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/quick_actions_ios/quick_actions_ios-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","MODULEMAP_FILE":"Target Support Files/quick_actions_ios/quick_actions_ios.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"quick_actions_ios","PRODUCT_NAME":"quick_actions_ios","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e9817fe2af4d90d8c3c858f4d1cf8fff876","name":"Release"}],"buildPhases":[{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98da1a1802428a351085dc1c5dc1b95b0e","guid":"bfdfe7dc352907fc980b868725387e986197130f55596953d24a82ff0fd7953e","headerVisibility":"public"}],"guid":"bfdfe7dc352907fc980b868725387e98f08756e83b172ee067bf0780b590348d","type":"com.apple.buildphase.headers"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98e0db4c45eaeb1548f9f07595cdd1ca45","guid":"bfdfe7dc352907fc980b868725387e98508014754d169ddaeaef802bfeb19d2b"},{"fileReference":"bfdfe7dc352907fc980b868725387e98dac7ee7a1bbc4495acb5a734dbbf08a0","guid":"bfdfe7dc352907fc980b868725387e98dec5ad258fb22b144f74259297632fd4"},{"fileReference":"bfdfe7dc352907fc980b868725387e98775d552104d6921b0e48e28110e132e4","guid":"bfdfe7dc352907fc980b868725387e98a1ac291c4f3e44de99d6167ae512addc"},{"fileReference":"bfdfe7dc352907fc980b868725387e98a6e06b4bf97089fc1190fe51ed103c37","guid":"bfdfe7dc352907fc980b868725387e983cbdaeed8fa320797f798a16df769441"}],"guid":"bfdfe7dc352907fc980b868725387e9818465b2ba502c04f1534d97df9e34078","type":"com.apple.buildphase.sources"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98b14af7c49882340ad551cb13b0a1e06d","guid":"bfdfe7dc352907fc980b868725387e9858de0802fd1ee497f3600e1d76560125"}],"guid":"bfdfe7dc352907fc980b868725387e98e8750693a968a29e0dae5514917f209d","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"guid":"bfdfe7dc352907fc980b868725387e980d7dd864d5fd71579d6bbf547028ddb7","targetReference":"bfdfe7dc352907fc980b868725387e980e0d42b02f67da84628f3c3fd30ed4e0"}],"guid":"bfdfe7dc352907fc980b868725387e984cc8312ad282bea996f89b03ebb9e54b","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[{"guid":"bfdfe7dc352907fc980b868725387e989da425bb6d6d5d8dbb95e4afffb82217","name":"Flutter"},{"guid":"bfdfe7dc352907fc980b868725387e980e0d42b02f67da84628f3c3fd30ed4e0","name":"quick_actions_ios-quick_actions_ios_privacy"}],"guid":"bfdfe7dc352907fc980b868725387e986a7f857d9699ce0307f844d6d31566d3","name":"quick_actions_ios","predominantSourceCodeLanguage":"Xcode.SourceCodeLanguage.Swift","productReference":{"guid":"bfdfe7dc352907fc980b868725387e984bdb4c1ab53354bc3b2bb59c59fb1dee","name":"quick_actions_ios.framework","type":"product"},"productTypeIdentifier":"com.apple.product-type.framework","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":1}],"type":"standard"} \ No newline at end of file diff --git a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=6a019aebe92f33ef6d2d1a27354a274c-json b/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=6a019aebe92f33ef6d2d1a27354a274c-json deleted file mode 100644 index aff82f0d..00000000 --- a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=6a019aebe92f33ef6d2d1a27354a274c-json +++ /dev/null @@ -1 +0,0 @@ -{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9870bacfaf6cde3d89a76fe4e932cc6788","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/PromisesObjC","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"FBLPromises","INFOPLIST_FILE":"Target Support Files/PromisesObjC/ResourceBundle-FBLPromises_Privacy-PromisesObjC-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"9.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"FBLPromises_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e9882ebcc116e276dd1ad989affb5d3ef7d","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9889d254ad5933689bf555dbc41d2fcf23","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/PromisesObjC","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"FBLPromises","INFOPLIST_FILE":"Target Support Files/PromisesObjC/ResourceBundle-FBLPromises_Privacy-PromisesObjC-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"9.0","PRODUCT_NAME":"FBLPromises_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98a64357190e6edd0c5e9f3bc22405e92b","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9889d254ad5933689bf555dbc41d2fcf23","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/PromisesObjC","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"FBLPromises","INFOPLIST_FILE":"Target Support Files/PromisesObjC/ResourceBundle-FBLPromises_Privacy-PromisesObjC-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"9.0","PRODUCT_NAME":"FBLPromises_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98ca432576fa85e32767419ce24b77c0b5","name":"Release"}],"buildPhases":[{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e982e1918b7fa2b325146a97b034178e3e4","type":"com.apple.buildphase.sources"},{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e98350677b5e933aa74a8e8a098f02cd745","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e988bb932e6bd0db8acade7ecd6b9275b8e","guid":"bfdfe7dc352907fc980b868725387e985285bd47a6b213d36b9324a2d71708fe"}],"guid":"bfdfe7dc352907fc980b868725387e98c859ec5b9321d011b44b2c81b6796274","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[],"guid":"bfdfe7dc352907fc980b868725387e98ad53226b339581a6725de188f2c8f823","name":"PromisesObjC-FBLPromises_Privacy","productReference":{"guid":"bfdfe7dc352907fc980b868725387e9867729fb6a85d4c069a179d51db31501d","name":"FBLPromises_Privacy.bundle","type":"product"},"productTypeIdentifier":"com.apple.product-type.bundle","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":0}],"type":"standard"} \ No newline at end of file diff --git a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=6fb30a1c5b3e857d561640581873eb18-json b/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=6fb30a1c5b3e857d561640581873eb18-json deleted file mode 100644 index be242c11..00000000 --- a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=6fb30a1c5b3e857d561640581873eb18-json +++ /dev/null @@ -1 +0,0 @@ -{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e981144f00ce89ffa4e0260914a9ffec527","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/mobile_scanner","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"mobile_scanner","INFOPLIST_FILE":"Target Support Files/mobile_scanner/ResourceBundle-mobile_scanner_privacy-mobile_scanner-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"12.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"mobile_scanner_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e987ca6d15dacb2edbffa5dfaba36c8868b","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98227c1f919eedf604acd47c56a9ef7ec4","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/mobile_scanner","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"mobile_scanner","INFOPLIST_FILE":"Target Support Files/mobile_scanner/ResourceBundle-mobile_scanner_privacy-mobile_scanner-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"12.0","PRODUCT_NAME":"mobile_scanner_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98586a1fcadf5af13071122fe7ac9ac4c1","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98227c1f919eedf604acd47c56a9ef7ec4","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/mobile_scanner","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"mobile_scanner","INFOPLIST_FILE":"Target Support Files/mobile_scanner/ResourceBundle-mobile_scanner_privacy-mobile_scanner-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"12.0","PRODUCT_NAME":"mobile_scanner_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98f5cfd45e056c288fb2742720c62bd5fb","name":"Release"}],"buildPhases":[{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e985491ef18201883ef45ef3b9623bd22f4","type":"com.apple.buildphase.sources"},{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e984b2e91b156503ca4a3e6ffac1fa4543a","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e9824acc442c11de2383c5d3273c1b19a5c","guid":"bfdfe7dc352907fc980b868725387e98b7681edcde5c8b9f962bdc2bda94cb21"}],"guid":"bfdfe7dc352907fc980b868725387e9830dba8368ebf33ceb8a49e7244f6fea7","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[],"guid":"bfdfe7dc352907fc980b868725387e98e39aae0c91f0bdebfb6ac42304942a79","name":"mobile_scanner-mobile_scanner_privacy","productReference":{"guid":"bfdfe7dc352907fc980b868725387e9810e5c44ed7d683e2ac7edeced31dad48","name":"mobile_scanner_privacy.bundle","type":"product"},"productTypeIdentifier":"com.apple.product-type.bundle","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":0}],"type":"standard"} \ No newline at end of file diff --git a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=754922e16fd2edb654ed183d0b9ffc4e-json b/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=754922e16fd2edb654ed183d0b9ffc4e-json deleted file mode 100644 index 49e30564..00000000 --- a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=754922e16fd2edb654ed183d0b9ffc4e-json +++ /dev/null @@ -1 +0,0 @@ -{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98284ffc1eae91e8f4cf71938bb6a26644","buildSettings":{"CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","GCC_PREFIX_HEADER":"Target Support Files/DKPhotoGallery/DKPhotoGallery-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/DKPhotoGallery/DKPhotoGallery-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"9.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/DKPhotoGallery/DKPhotoGallery.modulemap","ONLY_ACTIVE_ARCH":"NO","PRODUCT_MODULE_NAME":"DKPhotoGallery","PRODUCT_NAME":"DKPhotoGallery","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5","TARGETED_DEVICE_FAMILY":"1,2","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e984fd6bf126523546705e45c4b13b53426","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e986051e77661008cd9b8c42c9db89a8f91","buildSettings":{"CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","GCC_PREFIX_HEADER":"Target Support Files/DKPhotoGallery/DKPhotoGallery-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/DKPhotoGallery/DKPhotoGallery-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"9.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/DKPhotoGallery/DKPhotoGallery.modulemap","PRODUCT_MODULE_NAME":"DKPhotoGallery","PRODUCT_NAME":"DKPhotoGallery","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98bf41a5be85b93608223ddc3a12714907","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e986051e77661008cd9b8c42c9db89a8f91","buildSettings":{"CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","GCC_PREFIX_HEADER":"Target Support Files/DKPhotoGallery/DKPhotoGallery-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/DKPhotoGallery/DKPhotoGallery-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"9.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/DKPhotoGallery/DKPhotoGallery.modulemap","PRODUCT_MODULE_NAME":"DKPhotoGallery","PRODUCT_NAME":"DKPhotoGallery","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e981525d6ed0a0c85267c380434fa96d27e","name":"Release"}],"buildPhases":[{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e983e0ca2b7d01325e2be94eb703cc8834c","guid":"bfdfe7dc352907fc980b868725387e98254a304f0731e11cd0b343a2e31c86e6","headerVisibility":"public"}],"guid":"bfdfe7dc352907fc980b868725387e98709232bd94ed46c6c4b58658236d688a","type":"com.apple.buildphase.headers"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98eb71b1871db14bddb34f3b6dc48f5d95","guid":"bfdfe7dc352907fc980b868725387e98f5c96206d6338c4051d09964c3cf3573"},{"fileReference":"bfdfe7dc352907fc980b868725387e983ba539f64005bde8f3a4c989c13457f6","guid":"bfdfe7dc352907fc980b868725387e986b5aa154a8d2690ce44988e33482854f"},{"fileReference":"bfdfe7dc352907fc980b868725387e98dfa1e27846c545f78585767f808c0290","guid":"bfdfe7dc352907fc980b868725387e98c68fe379778449f0e16a1d133a264b26"},{"fileReference":"bfdfe7dc352907fc980b868725387e98925864836a0b949ba0125aac269b941d","guid":"bfdfe7dc352907fc980b868725387e98045cb616019948d44191e02a240f9d20"},{"fileReference":"bfdfe7dc352907fc980b868725387e98eb4d56e39dcd3c8f709fb6323e177298","guid":"bfdfe7dc352907fc980b868725387e987a953dce127f9840d8a2cc412860d83b"},{"fileReference":"bfdfe7dc352907fc980b868725387e98ed6773dc19e610851f0ce6e641b9b3b5","guid":"bfdfe7dc352907fc980b868725387e98f89269599fe4f19e606eb4070445e7b2"},{"fileReference":"bfdfe7dc352907fc980b868725387e98df24cc6698371aecc8afd7cf313cac20","guid":"bfdfe7dc352907fc980b868725387e98da6500675b040e6775d540a5bab5b572"},{"fileReference":"bfdfe7dc352907fc980b868725387e987ad73074b99776b1116f9c2856ac5552","guid":"bfdfe7dc352907fc980b868725387e9897bae1dd898b05af1463d3ecdcecda41"},{"fileReference":"bfdfe7dc352907fc980b868725387e98d0cc75a3c72b5f298ace8a3bf41f9195","guid":"bfdfe7dc352907fc980b868725387e989d2f32864c657dc26cf10d670249fc3d"},{"fileReference":"bfdfe7dc352907fc980b868725387e9828fefd0d3317647420ee3f37c82ec4a2","guid":"bfdfe7dc352907fc980b868725387e989fe1d7170122f47051812ad8c6ae3792"},{"fileReference":"bfdfe7dc352907fc980b868725387e98e4d9272c60986ce5118264cb92283548","guid":"bfdfe7dc352907fc980b868725387e98fd32b6f93e55ad512c42cb46ac4b8872"},{"fileReference":"bfdfe7dc352907fc980b868725387e98cb2b24e4cd6fc396c5a1d3e43868d95f","guid":"bfdfe7dc352907fc980b868725387e986da18817b4c71943d2f5c337ff100c33"},{"fileReference":"bfdfe7dc352907fc980b868725387e9843f4159faf9603bb660cb95efdf095b3","guid":"bfdfe7dc352907fc980b868725387e98492d33fafbc9f57438c4e02e2ec12609"},{"fileReference":"bfdfe7dc352907fc980b868725387e98932cc722dd747e8adbcbd5e18fd5fb02","guid":"bfdfe7dc352907fc980b868725387e98f8bad23065486a2dbda0de79b44eec75"},{"fileReference":"bfdfe7dc352907fc980b868725387e9828fa2d719018a25fe1fb3c6ebb4ff951","guid":"bfdfe7dc352907fc980b868725387e9814d586ebcc0539670dfd5cd996c94e82"},{"fileReference":"bfdfe7dc352907fc980b868725387e98f64f20afd463bd999a742dc203b790bd","guid":"bfdfe7dc352907fc980b868725387e986346068c5a447a992edad6b75316c457"},{"fileReference":"bfdfe7dc352907fc980b868725387e98358107a82ec5ef5b395911951930fb60","guid":"bfdfe7dc352907fc980b868725387e98fef1c2ef12d6b0bded24819fc7c58472"},{"fileReference":"bfdfe7dc352907fc980b868725387e983e59331f8189f5e055881857d7ab4a95","guid":"bfdfe7dc352907fc980b868725387e98bab5ddbc05356a069f4e470f8aea8b87"},{"fileReference":"bfdfe7dc352907fc980b868725387e9827f7ef5f3ea80d79b40d7a4ac9588235","guid":"bfdfe7dc352907fc980b868725387e9863ca86f5b503ceb7a5d87db111cc8f04"},{"fileReference":"bfdfe7dc352907fc980b868725387e9894ebedd554142c9762ffe051143f601a","guid":"bfdfe7dc352907fc980b868725387e983ce7d35149cc5facd0473b4712cbce3f"},{"fileReference":"bfdfe7dc352907fc980b868725387e9824f019a6799511e6df48ed4fa1051373","guid":"bfdfe7dc352907fc980b868725387e98b5497ac3958c22a65eb3c86f1daf3fe0"},{"fileReference":"bfdfe7dc352907fc980b868725387e98b77caf2d5e3738f780e1b59e29eabe0d","guid":"bfdfe7dc352907fc980b868725387e98477ed162930cec3b912fe544897ef035"},{"fileReference":"bfdfe7dc352907fc980b868725387e9857c00b0d4565e7a6a12ffd669506d74d","guid":"bfdfe7dc352907fc980b868725387e9841d0ed0efea975401d3aa5d9f530fbd8"},{"fileReference":"bfdfe7dc352907fc980b868725387e9817c7f07dc865de8893a20abc3a232f83","guid":"bfdfe7dc352907fc980b868725387e98cc18f173b7113016f909093cbc63bb7c"},{"fileReference":"bfdfe7dc352907fc980b868725387e98bd8325023686436108c1116ee7b5d7bd","guid":"bfdfe7dc352907fc980b868725387e9843453298d4b03bcad3fd4528b637e570"},{"fileReference":"bfdfe7dc352907fc980b868725387e98fef5a0935c29cb454c05b9981615539b","guid":"bfdfe7dc352907fc980b868725387e9848c45ef7d2c19e76feb9865d577cb26a"},{"fileReference":"bfdfe7dc352907fc980b868725387e98941a4bd773c66feec3ba05f2f39973b3","guid":"bfdfe7dc352907fc980b868725387e987bca317c79609fa305f2dc1e4cff2575"}],"guid":"bfdfe7dc352907fc980b868725387e985c13f2a4c25a19bba6101babaa9a3d78","type":"com.apple.buildphase.sources"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98d6bdeaa5b175cb64de0845531dd3a07a","guid":"bfdfe7dc352907fc980b868725387e98c7eb66961acafb59eeb4d5a894b9fd14"},{"fileReference":"bfdfe7dc352907fc980b868725387e98f85abfcd8b98daa4c08612ae63641e69","guid":"bfdfe7dc352907fc980b868725387e983046d4487d4cc63c3334c3401796094a"},{"fileReference":"bfdfe7dc352907fc980b868725387e98b14af7c49882340ad551cb13b0a1e06d","guid":"bfdfe7dc352907fc980b868725387e98a20d7047c4deac86c262af51bb186b9a"},{"fileReference":"bfdfe7dc352907fc980b868725387e98fc74d0fed09821b42c8c83fca08fddb2","guid":"bfdfe7dc352907fc980b868725387e98b1f0cd87cbcf90ebbbc03aa9fe580f15"},{"fileReference":"bfdfe7dc352907fc980b868725387e98f2f44ab0d0f0ce315b53d31757eb8db6","guid":"bfdfe7dc352907fc980b868725387e98b0c99aca0a4ba07d16552dce7e0a54e5"}],"guid":"bfdfe7dc352907fc980b868725387e984237cf79a5e3b2c3c7fca87430ca3d79","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"guid":"bfdfe7dc352907fc980b868725387e984cefd7a780b84a7e881deeedb07b972f","targetReference":"bfdfe7dc352907fc980b868725387e98d3f65728b12dd217475d1283ee417937"}],"guid":"bfdfe7dc352907fc980b868725387e98fafe09780663380b2b1c80d8ed698c4f","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[{"guid":"bfdfe7dc352907fc980b868725387e98d3f65728b12dd217475d1283ee417937","name":"DKPhotoGallery-DKPhotoGallery"},{"guid":"bfdfe7dc352907fc980b868725387e98c46180aea4e87057640961e6db37df0d","name":"SDWebImage"},{"guid":"bfdfe7dc352907fc980b868725387e9872eabefc63c14dfe52fb0c95ad90294e","name":"SwiftyGif"}],"guid":"bfdfe7dc352907fc980b868725387e989d0a1858a86fd6e6731ed20f88a1e515","name":"DKPhotoGallery","predominantSourceCodeLanguage":"Xcode.SourceCodeLanguage.Swift","productReference":{"guid":"bfdfe7dc352907fc980b868725387e986e90c628ccd44af657bee5ff4af2f692","name":"DKPhotoGallery.framework","type":"product"},"productTypeIdentifier":"com.apple.product-type.framework","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":1}],"type":"standard"} \ No newline at end of file diff --git a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=76c81320e671cd52e5aa73c6af313230-json b/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=76c81320e671cd52e5aa73c6af313230-json deleted file mode 100644 index 3db9f338..00000000 --- a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=76c81320e671cd52e5aa73c6af313230-json +++ /dev/null @@ -1 +0,0 @@ -{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98e82dd82aa81c61839879590f112b6e6d","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","GCC_PREFIX_HEADER":"Target Support Files/FirebaseAuthInterop/FirebaseAuthInterop-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/FirebaseAuthInterop/FirebaseAuthInterop-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/FirebaseAuthInterop/FirebaseAuthInterop.modulemap","ONLY_ACTIVE_ARCH":"NO","PRODUCT_MODULE_NAME":"FirebaseAuthInterop","PRODUCT_NAME":"FirebaseAuthInterop","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e988e78bf6e1454790ad3bd16d1b518e416","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e981506eb316e3225b6c1cb84ca6348d18b","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","GCC_PREFIX_HEADER":"Target Support Files/FirebaseAuthInterop/FirebaseAuthInterop-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/FirebaseAuthInterop/FirebaseAuthInterop-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/FirebaseAuthInterop/FirebaseAuthInterop.modulemap","PRODUCT_MODULE_NAME":"FirebaseAuthInterop","PRODUCT_NAME":"FirebaseAuthInterop","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e988b946df69e4bdc33893dcb75ee5f8d14","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e981506eb316e3225b6c1cb84ca6348d18b","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","GCC_PREFIX_HEADER":"Target Support Files/FirebaseAuthInterop/FirebaseAuthInterop-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/FirebaseAuthInterop/FirebaseAuthInterop-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/FirebaseAuthInterop/FirebaseAuthInterop.modulemap","PRODUCT_MODULE_NAME":"FirebaseAuthInterop","PRODUCT_NAME":"FirebaseAuthInterop","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e9877422654943191a245992fa9a4b2231c","name":"Release"}],"buildPhases":[{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98c1695f36a2224a2b1d7774e6d77eee60","guid":"bfdfe7dc352907fc980b868725387e98edcd65abd7ddb2fe99bb5a5e1f193eaa","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98b2956b9f464800c9411916e4fbb27729","guid":"bfdfe7dc352907fc980b868725387e9814cc125ce9f97f3e7d283e741a8dfac2","headerVisibility":"public"}],"guid":"bfdfe7dc352907fc980b868725387e98bfcd54bbc5c233c64cac055827da59cb","type":"com.apple.buildphase.headers"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e985df5bc504ec3263f252a622a8dde0a2c","guid":"bfdfe7dc352907fc980b868725387e98d1cbcc26dc1085cbeb87b4a20df3035e"},{"fileReference":"bfdfe7dc352907fc980b868725387e989fcb859732612135cbcb3779e0ded359","guid":"bfdfe7dc352907fc980b868725387e9826584bd9c0309291f44cc573a711d6ac"}],"guid":"bfdfe7dc352907fc980b868725387e980ae1ebc5a01f5d4de3e3fa4d87b1039b","type":"com.apple.buildphase.sources"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98b14af7c49882340ad551cb13b0a1e06d","guid":"bfdfe7dc352907fc980b868725387e9827a93cd0d450b6fd2c612ac23ec5306d"}],"guid":"bfdfe7dc352907fc980b868725387e9817a9666a9a48ad1066eb299a4eb4bbf8","type":"com.apple.buildphase.frameworks"},{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e98eba1f1dccfb9faec6cb1f1617e6d5356","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[],"guid":"bfdfe7dc352907fc980b868725387e988e935c81efc4686179f554b8fe37864a","name":"FirebaseAuthInterop","predominantSourceCodeLanguage":"Xcode.SourceCodeLanguage.Objective-C","productReference":{"guid":"bfdfe7dc352907fc980b868725387e98d45aaf0c2408f87c98fda98709cee1e1","name":"FirebaseAuthInterop.framework","type":"product"},"productTypeIdentifier":"com.apple.product-type.framework","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":1}],"type":"standard"} \ No newline at end of file diff --git a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=7aa8351d9b24919942e9946725aa9a4e-json b/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=7aa8351d9b24919942e9946725aa9a4e-json deleted file mode 100644 index ffae708f..00000000 --- a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=7aa8351d9b24919942e9946725aa9a4e-json +++ /dev/null @@ -1 +0,0 @@ -{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98bbdee8c1686e5d6c3f4956eedcdb3dac","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/FirebaseAuth","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"FirebaseAuth","INFOPLIST_FILE":"Target Support Files/FirebaseAuth/ResourceBundle-FirebaseAuth_Privacy-FirebaseAuth-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"FirebaseAuth_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98a14bfd822970e627264b2c4710e53f92","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9824122a566c18888ab83e78b3078e6f80","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/FirebaseAuth","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"FirebaseAuth","INFOPLIST_FILE":"Target Support Files/FirebaseAuth/ResourceBundle-FirebaseAuth_Privacy-FirebaseAuth-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"FirebaseAuth_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e982d04abd2177b79716ef450658cf051e4","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9824122a566c18888ab83e78b3078e6f80","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/FirebaseAuth","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"FirebaseAuth","INFOPLIST_FILE":"Target Support Files/FirebaseAuth/ResourceBundle-FirebaseAuth_Privacy-FirebaseAuth-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"FirebaseAuth_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98f90e3c8130f9fc37aade41073aede449","name":"Release"}],"buildPhases":[{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e9829107bc009e2e275a01cbdf55e52b1f4","type":"com.apple.buildphase.sources"},{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e987db8c92d8826979e8ed77d200b8293f9","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e983b9007b1d0935aee2ec307ea04061f0e","guid":"bfdfe7dc352907fc980b868725387e98b0b2221c18cfddd4899a12e6ad61f990"}],"guid":"bfdfe7dc352907fc980b868725387e982e8fd7abebd050f9528a84ecd19ef3ed","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[],"guid":"bfdfe7dc352907fc980b868725387e98205354208adeebae46380f8f82956de4","name":"FirebaseAuth-FirebaseAuth_Privacy","productReference":{"guid":"bfdfe7dc352907fc980b868725387e9870db214ed2dafc4df91a7caff7044acf","name":"FirebaseAuth_Privacy.bundle","type":"product"},"productTypeIdentifier":"com.apple.product-type.bundle","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":0}],"type":"standard"} \ No newline at end of file diff --git a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=7b3186407410bb111b40b5143ff956ed-json b/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=7b3186407410bb111b40b5143ff956ed-json deleted file mode 100644 index 1b289dee..00000000 --- a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=7b3186407410bb111b40b5143ff956ed-json +++ /dev/null @@ -1 +0,0 @@ -{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9858f3b516df641443530da1bc57fe9cb2","buildSettings":{"CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","GCC_PREFIX_HEADER":"Target Support Files/SwiftyGif/SwiftyGif-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/SwiftyGif/SwiftyGif-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"9.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/SwiftyGif/SwiftyGif.modulemap","ONLY_ACTIVE_ARCH":"NO","PRODUCT_MODULE_NAME":"SwiftyGif","PRODUCT_NAME":"SwiftyGif","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e983f3111e043ea26aa3178412b70517277","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98ee297b6d0e4054f62dc3e42830b40034","buildSettings":{"CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","GCC_PREFIX_HEADER":"Target Support Files/SwiftyGif/SwiftyGif-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/SwiftyGif/SwiftyGif-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"9.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/SwiftyGif/SwiftyGif.modulemap","PRODUCT_MODULE_NAME":"SwiftyGif","PRODUCT_NAME":"SwiftyGif","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98627c449aba205ad63a83e23ad4ef185f","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98ee297b6d0e4054f62dc3e42830b40034","buildSettings":{"CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","GCC_PREFIX_HEADER":"Target Support Files/SwiftyGif/SwiftyGif-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/SwiftyGif/SwiftyGif-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"9.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/SwiftyGif/SwiftyGif.modulemap","PRODUCT_MODULE_NAME":"SwiftyGif","PRODUCT_NAME":"SwiftyGif","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98a47389569eb28721728af443ffa36eed","name":"Release"}],"buildPhases":[{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98289a02129447d57ed9106425e09cb6a0","guid":"bfdfe7dc352907fc980b868725387e989b9f46d8beacddaab23bd9fa751bb635","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98720d63afa192c3198e49d0e658ad9559","guid":"bfdfe7dc352907fc980b868725387e980711b42e827d9408219256054495b663","headerVisibility":"public"}],"guid":"bfdfe7dc352907fc980b868725387e984796310a5317db7ef36beaf9b5c29ea1","type":"com.apple.buildphase.headers"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98e40e39827e8180631013036cb2dfa2fa","guid":"bfdfe7dc352907fc980b868725387e988308d65fcc5e4e958401a8e6d8f8c90f"},{"fileReference":"bfdfe7dc352907fc980b868725387e98319254f7e2beed7375a445c04910195a","guid":"bfdfe7dc352907fc980b868725387e981349c2a0e0d700d9622a8b64a33f2376"},{"fileReference":"bfdfe7dc352907fc980b868725387e98721903f80f4a8564791b330bfd01951f","guid":"bfdfe7dc352907fc980b868725387e985e8862810d6c1e2ad10cf663d8c38acc"},{"fileReference":"bfdfe7dc352907fc980b868725387e9887989963270204aae9475498243cfbd6","guid":"bfdfe7dc352907fc980b868725387e9859ddb80f1a7aeb6ac1b335b6f225e02e"},{"fileReference":"bfdfe7dc352907fc980b868725387e98ae29cbc96bfd2ba4fc42c1226f69b713","guid":"bfdfe7dc352907fc980b868725387e98d306c993c91c82994b15316db15d60be"},{"fileReference":"bfdfe7dc352907fc980b868725387e989b199724c96ff32700c5818e07f19a57","guid":"bfdfe7dc352907fc980b868725387e9895a30c2f9b82e52f4f040e01df5af362"},{"fileReference":"bfdfe7dc352907fc980b868725387e986d3515962c56f64e5bce62c72d467b1e","guid":"bfdfe7dc352907fc980b868725387e9857f9f3b715a2466faf714bebadf16ed1"}],"guid":"bfdfe7dc352907fc980b868725387e988b147d7eb8deeb283f405b46fb70a2d4","type":"com.apple.buildphase.sources"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98b14af7c49882340ad551cb13b0a1e06d","guid":"bfdfe7dc352907fc980b868725387e9827a4938aeab00986eb99224e4238cff5"}],"guid":"bfdfe7dc352907fc980b868725387e982a93fbdcc586c06b58346e84f2cae7cb","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"guid":"bfdfe7dc352907fc980b868725387e980a2bb69532b6306fbb030179b8829f78","targetReference":"bfdfe7dc352907fc980b868725387e98f5cd644fc2aeb8654450a2168f52697c"}],"guid":"bfdfe7dc352907fc980b868725387e989216f0c1db333a0a85c11ef4e2ae154d","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[{"guid":"bfdfe7dc352907fc980b868725387e98f5cd644fc2aeb8654450a2168f52697c","name":"SwiftyGif-SwiftyGif"}],"guid":"bfdfe7dc352907fc980b868725387e9872eabefc63c14dfe52fb0c95ad90294e","name":"SwiftyGif","predominantSourceCodeLanguage":"Xcode.SourceCodeLanguage.Swift","productReference":{"guid":"bfdfe7dc352907fc980b868725387e98290968646de0d07c6f6e2ed9e146ea78","name":"SwiftyGif.framework","type":"product"},"productTypeIdentifier":"com.apple.product-type.framework","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":1}],"type":"standard"} \ No newline at end of file diff --git a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=7c10b1b705eef3cc27b008fa5df200ca-json b/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=7c10b1b705eef3cc27b008fa5df200ca-json deleted file mode 100644 index 785fb3a1..00000000 --- a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=7c10b1b705eef3cc27b008fa5df200ca-json +++ /dev/null @@ -1 +0,0 @@ -{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98cb16e8074f48ba05a2dfeb081f5bd1cb","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/FirebaseCore/FirebaseCore-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/FirebaseCore/FirebaseCore.modulemap","ONLY_ACTIVE_ARCH":"NO","PRODUCT_MODULE_NAME":"FirebaseCore","PRODUCT_NAME":"FirebaseCore","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.9","TARGETED_DEVICE_FAMILY":"1,2","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98adb9a804873f32b918931070a9c021a4","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9823bbf62c346537eed6e067e233fe0af3","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/FirebaseCore/FirebaseCore-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/FirebaseCore/FirebaseCore.modulemap","PRODUCT_MODULE_NAME":"FirebaseCore","PRODUCT_NAME":"FirebaseCore","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.9","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e986a27c2e3213c7ba4326eba04521f6949","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9823bbf62c346537eed6e067e233fe0af3","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/FirebaseCore/FirebaseCore-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/FirebaseCore/FirebaseCore.modulemap","PRODUCT_MODULE_NAME":"FirebaseCore","PRODUCT_NAME":"FirebaseCore","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.9","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e9839deda820083d79cb0f34721f6e1479e","name":"Release"}],"buildPhases":[{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98230955bf7f5b9e02cf80179f183ff7ce","guid":"bfdfe7dc352907fc980b868725387e980a5e9d3a7e8a318535f6b96541f3ef86"},{"fileReference":"bfdfe7dc352907fc980b868725387e981514e798aa63a0fd8e89ee17343dd566","guid":"bfdfe7dc352907fc980b868725387e98e9120ab602c2030955c26ab594c027a2","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e9815996f070a281d153a577e9dbcf3058d","guid":"bfdfe7dc352907fc980b868725387e9886e9da47164ce7dd0c76682671e81a87"},{"fileReference":"bfdfe7dc352907fc980b868725387e9806c0b950b861c21b9963990ab43a4b89","guid":"bfdfe7dc352907fc980b868725387e988f2cf38e4ff6c633e65869314c8da0e3"},{"fileReference":"bfdfe7dc352907fc980b868725387e98b0744a7edc366118f880568d6132edfd","guid":"bfdfe7dc352907fc980b868725387e982bcd0904ef5ee32b36bb671a7e236f35"},{"fileReference":"bfdfe7dc352907fc980b868725387e989fee6d5e33b87739a2dab9f66760c17e","guid":"bfdfe7dc352907fc980b868725387e98b68792158dc073d58771ebf5bc7dd60b"},{"fileReference":"bfdfe7dc352907fc980b868725387e984403d97edc979cc08bfdbddd3f49003b","guid":"bfdfe7dc352907fc980b868725387e986fa5e4d81c4968082bf08cc76e47d73e"},{"fileReference":"bfdfe7dc352907fc980b868725387e9803a1d9e7c7406ae5b4488a23e5256418","guid":"bfdfe7dc352907fc980b868725387e98b65c7c42b2da9ec77f202e2fe2fc68fd"},{"fileReference":"bfdfe7dc352907fc980b868725387e98cd384f769ff6a416ad0a47b308b7244f","guid":"bfdfe7dc352907fc980b868725387e985f979a76b7e626f8c64978b61666ebc2","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e9877aeed262da4294e7eba3e108465f228","guid":"bfdfe7dc352907fc980b868725387e989a461fe7d601c8c9fdff04007b593ded"},{"fileReference":"bfdfe7dc352907fc980b868725387e98d768dfd7daa1bdb257ad2abc4e232fcd","guid":"bfdfe7dc352907fc980b868725387e984355e071039d0cd0629ba39ff728405b","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98529e5f7bfff87cdbf13185e395700843","guid":"bfdfe7dc352907fc980b868725387e98d7b5769714255382e7311d6184fbd87e","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98fc76eb1628ab5a054f098490b4100f6d","guid":"bfdfe7dc352907fc980b868725387e981d4abcc64aa7c299df633f0a3c49aeef"},{"fileReference":"bfdfe7dc352907fc980b868725387e98800f413ba9d90bb10e7bab1cc8fbcfdb","guid":"bfdfe7dc352907fc980b868725387e983dab6922156c6445ab2cd6e6af27d715"},{"fileReference":"bfdfe7dc352907fc980b868725387e98e2cf47785d0cb1b51d5ea1a97360174c","guid":"bfdfe7dc352907fc980b868725387e9815ae93f9a0c37b6a04f569b15bde9780"},{"fileReference":"bfdfe7dc352907fc980b868725387e98a02d8ba298cf0862bbfc342c7074e5c7","guid":"bfdfe7dc352907fc980b868725387e9866844fddcbbc213133f8c373147e9057"},{"fileReference":"bfdfe7dc352907fc980b868725387e98a71e555b3b552897cbcd1316677dcec1","guid":"bfdfe7dc352907fc980b868725387e9887c2f3648714ecdb338460112a9dae44"},{"fileReference":"bfdfe7dc352907fc980b868725387e988b4329a5d76b29e87e729d9cd7ad93a1","guid":"bfdfe7dc352907fc980b868725387e980b3975b47dbede3460270116abcb0b9d","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e986ff10679afde8d4204e7c212e534130a","guid":"bfdfe7dc352907fc980b868725387e9881116547f84d95a211d0f5ec42c9f182","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e989385cc843d99d2d634e9732484488b3f","guid":"bfdfe7dc352907fc980b868725387e9892d4656bcfb1809ce1e1fa26435c891c"},{"fileReference":"bfdfe7dc352907fc980b868725387e98d8d49f4b04a791b6f8b72a3cca1ee103","guid":"bfdfe7dc352907fc980b868725387e98a1af0bdb4c05cc4407359a1dd8964bac","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98df0b9329b13401877770c564af2684fe","guid":"bfdfe7dc352907fc980b868725387e986dcfc58e302d9ad86d3a454263de87c4"},{"fileReference":"bfdfe7dc352907fc980b868725387e9881f4b7fbf5d308524566967a15d09dd2","guid":"bfdfe7dc352907fc980b868725387e98d536a2be531de6b5598532ecccfa1fd0","headerVisibility":"public"}],"guid":"bfdfe7dc352907fc980b868725387e98b942c37e63188b6762eafc92f5e8a248","type":"com.apple.buildphase.headers"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98ef90badd06be31069855a74a45016d0c","guid":"bfdfe7dc352907fc980b868725387e98c893b5a970679e394189542ba2cdd959"},{"fileReference":"bfdfe7dc352907fc980b868725387e98ed3eb3365ff3413002b88f88bb14f070","guid":"bfdfe7dc352907fc980b868725387e98bce9cb6471eea7a0867a9ea1b0cedded"},{"fileReference":"bfdfe7dc352907fc980b868725387e983928e1bb746c4dce582f3973204c6c1b","guid":"bfdfe7dc352907fc980b868725387e9830210ac41298b4fd0aa63ab86c3566ae"},{"fileReference":"bfdfe7dc352907fc980b868725387e988ed37762246bec784742e59fb1ae1dd0","guid":"bfdfe7dc352907fc980b868725387e98afb10dd8abefc4b3a99181d57a59397c"},{"fileReference":"bfdfe7dc352907fc980b868725387e9819eb20fe822d32fe59693bb1af07e918","guid":"bfdfe7dc352907fc980b868725387e9859ccf16b93a3eb9240e78ef58fede6b3"},{"fileReference":"bfdfe7dc352907fc980b868725387e98b679246350869a9d1e1a3c06b9d5ac2f","guid":"bfdfe7dc352907fc980b868725387e98b7a4dcd48e321156aaf9a063a35ed91a"},{"fileReference":"bfdfe7dc352907fc980b868725387e98b27bfcc87c6667390e6665cf5ed38907","guid":"bfdfe7dc352907fc980b868725387e98127ea78b073e30e1cc3849651f9cbbb8"},{"fileReference":"bfdfe7dc352907fc980b868725387e988860c8b4c7c5a5dae715e8cfb65d591d","guid":"bfdfe7dc352907fc980b868725387e980f6add2dc3dc9ca29aef8f21d1d36419"},{"fileReference":"bfdfe7dc352907fc980b868725387e98775c657f07790427fa1301264717a9fe","guid":"bfdfe7dc352907fc980b868725387e98369779d03515b71b4e7ee2034a7f720d"},{"fileReference":"bfdfe7dc352907fc980b868725387e98981d973aa283cf55e0471a3517765b33","guid":"bfdfe7dc352907fc980b868725387e982341ee40e5e7992d19c5c9014c90bd90"},{"fileReference":"bfdfe7dc352907fc980b868725387e98c004405cc6612ddabb4037b1f909c521","guid":"bfdfe7dc352907fc980b868725387e9882e89c21be85d604d79a1137e6fea805"},{"fileReference":"bfdfe7dc352907fc980b868725387e9892656d0ae210c7efada3c7523ed4ae30","guid":"bfdfe7dc352907fc980b868725387e98fbf03a4f43926c45bf2db681d05df4d5"},{"fileReference":"bfdfe7dc352907fc980b868725387e981811e086c8b8e9b086cc158fbccd9d11","guid":"bfdfe7dc352907fc980b868725387e9895edbd674a0232a482e803cbf22cb328"},{"fileReference":"bfdfe7dc352907fc980b868725387e98fad9bf08165943a9291593d38681f1a9","guid":"bfdfe7dc352907fc980b868725387e98afe1be4dcf4d2d5d2d186cfc545f6a12"}],"guid":"bfdfe7dc352907fc980b868725387e98d55db32e4b311fcd071bfa27f7418373","type":"com.apple.buildphase.sources"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98b14af7c49882340ad551cb13b0a1e06d","guid":"bfdfe7dc352907fc980b868725387e980490b9c7c8e60e025c2f7660628079be"},{"fileReference":"bfdfe7dc352907fc980b868725387e98f2f44ab0d0f0ce315b53d31757eb8db6","guid":"bfdfe7dc352907fc980b868725387e98e5e59c5657f75c0a4185d7fe6602b72b"}],"guid":"bfdfe7dc352907fc980b868725387e9832b44f6b04e6c3a2ee78dc526ae378d3","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"guid":"bfdfe7dc352907fc980b868725387e9802a5617521cbb1c5fb68f702b53128c8","targetReference":"bfdfe7dc352907fc980b868725387e98678fb6500ea02c78520816441717cc14"}],"guid":"bfdfe7dc352907fc980b868725387e9873f028001a1e9a6ea9c379b9a7ecac18","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[{"guid":"bfdfe7dc352907fc980b868725387e98678fb6500ea02c78520816441717cc14","name":"FirebaseCore-FirebaseCore_Privacy"},{"guid":"bfdfe7dc352907fc980b868725387e98020791fd2e7b7ddc8fb2658339c42e16","name":"FirebaseCoreInternal"},{"guid":"bfdfe7dc352907fc980b868725387e98718890dfdac589615663a02d43d9af3e","name":"GoogleUtilities"}],"guid":"bfdfe7dc352907fc980b868725387e98a408a4c1f668e62161cdeba76f57d50c","name":"FirebaseCore","predominantSourceCodeLanguage":"Xcode.SourceCodeLanguage.Objective-C-Plus-Plus","productReference":{"guid":"bfdfe7dc352907fc980b868725387e988ae261e418baab0fdd0a48d117fe7fa2","name":"FirebaseCore.framework","type":"product"},"productTypeIdentifier":"com.apple.product-type.framework","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":1}],"type":"standard"} \ No newline at end of file diff --git a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=7dc9dce1405849bf477070cc9de38aed-json b/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=7dc9dce1405849bf477070cc9de38aed-json deleted file mode 100644 index 704e8a32..00000000 --- a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=7dc9dce1405849bf477070cc9de38aed-json +++ /dev/null @@ -1 +0,0 @@ -{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98ae2b6e690d9c19a64378428b59f82e0b","buildSettings":{"ASSETCATALOG_COMPILER_APPICON_NAME":"AppIcon","ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME":"AccentColor","CLANG_ENABLE_OBJC_WEAK":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","IPHONEOS_DEPLOYMENT_TARGET":"12.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks","ONLY_ACTIVE_ARCH":"NO","SDKROOT":"iphoneos","TARGETED_DEVICE_FAMILY":"1,2"},"guid":"bfdfe7dc352907fc980b868725387e9853420f14dcd3baca88f8c1d2c878a21e","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98bf594d3cbb3ba4c66c475a7d56edf012","buildSettings":{"ASSETCATALOG_COMPILER_APPICON_NAME":"AppIcon","ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME":"AccentColor","CLANG_ENABLE_OBJC_WEAK":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","IPHONEOS_DEPLOYMENT_TARGET":"12.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks","SDKROOT":"iphoneos","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES"},"guid":"bfdfe7dc352907fc980b868725387e98fe7939ea7314b719a07f2aa5cd2b3f29","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98bf594d3cbb3ba4c66c475a7d56edf012","buildSettings":{"ASSETCATALOG_COMPILER_APPICON_NAME":"AppIcon","ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME":"AccentColor","CLANG_ENABLE_OBJC_WEAK":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","IPHONEOS_DEPLOYMENT_TARGET":"12.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks","SDKROOT":"iphoneos","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES"},"guid":"bfdfe7dc352907fc980b868725387e985a4bc39331b3d5f41286a148126691b0","name":"Release"}],"buildPhases":[{"alwaysOutOfDate":"false","alwaysRunForInstallHdrs":"false","buildFiles":[],"emitEnvironment":"false","guid":"bfdfe7dc352907fc980b868725387e98d1df1c8cb84b2ce4f3bda8fbd272b60c","inputFileListPaths":["${PODS_ROOT}/Target Support Files/FBAudienceNetwork/FBAudienceNetwork-xcframeworks-input-files.xcfilelist"],"inputFilePaths":[],"name":"[CP] Copy XCFrameworks","originalObjectID":"67E2A87AFF1FE8DC89D4ADAE34ECB1D3","outputFileListPaths":["${PODS_ROOT}/Target Support Files/FBAudienceNetwork/FBAudienceNetwork-xcframeworks-output-files.xcfilelist"],"outputFilePaths":[],"sandboxingOverride":"basedOnBuildSetting","scriptContents":"\"${PODS_ROOT}/Target Support Files/FBAudienceNetwork/FBAudienceNetwork-xcframeworks.sh\"\n","shellPath":"/bin/sh","type":"com.apple.buildphase.shell-script"}],"buildRules":[],"dependencies":[{"guid":"bfdfe7dc352907fc980b868725387e988a4e25c3b6648d4c88499e02f77b811a","name":"FBAudienceNetwork-FBAudienceNetwork"}],"guid":"bfdfe7dc352907fc980b868725387e98c16926158ef45fa2ac81bd3203fcd49e","name":"FBAudienceNetwork","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"","configurationName":"Debug","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"","configurationName":"Profile","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"","configurationName":"Release","provisioningStyle":0}],"type":"aggregate"} \ No newline at end of file diff --git a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=8078b8651d861575cd929af1542b7261-json b/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=8078b8651d861575cd929af1542b7261-json deleted file mode 100644 index 3462043b..00000000 --- a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=8078b8651d861575cd929af1542b7261-json +++ /dev/null @@ -1 +0,0 @@ -{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98478e27dfe1d9ad49d28fafd65b85bf34","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/GTMSessionFetcher","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"GTMSessionFetcher","INFOPLIST_FILE":"Target Support Files/GTMSessionFetcher/ResourceBundle-GTMSessionFetcher_Core_Privacy-GTMSessionFetcher-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"GTMSessionFetcher_Core_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98d135475422ea3f2893be75f00ba182cc","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e980d155ae95de828a9ae777ff4d23d3419","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/GTMSessionFetcher","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"GTMSessionFetcher","INFOPLIST_FILE":"Target Support Files/GTMSessionFetcher/ResourceBundle-GTMSessionFetcher_Core_Privacy-GTMSessionFetcher-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"GTMSessionFetcher_Core_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e9860736abcff98db5f6b23666aa9dd6f67","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e980d155ae95de828a9ae777ff4d23d3419","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/GTMSessionFetcher","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"GTMSessionFetcher","INFOPLIST_FILE":"Target Support Files/GTMSessionFetcher/ResourceBundle-GTMSessionFetcher_Core_Privacy-GTMSessionFetcher-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"GTMSessionFetcher_Core_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98b6d338774a9da5f2e8bb1222feb32ce8","name":"Release"}],"buildPhases":[{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e983c76c9f47a19a00b393bb2129a5e29f1","type":"com.apple.buildphase.sources"},{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e98ae858fe9482d27c2265431c1481c1825","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98159e7e7e4b98dfa70678e12155a8ed77","guid":"bfdfe7dc352907fc980b868725387e98b5bc51d377c8ea34ecda3d6aef50db1f"}],"guid":"bfdfe7dc352907fc980b868725387e9861c8e5e5c7b3e6c2ad1bdccf88c1da14","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[],"guid":"bfdfe7dc352907fc980b868725387e9801af34ddea6be97d757786022edb34b1","name":"GTMSessionFetcher-GTMSessionFetcher_Core_Privacy","productReference":{"guid":"bfdfe7dc352907fc980b868725387e984eb2bec9e96ca1b7af92c0697fc4108d","name":"GTMSessionFetcher_Core_Privacy.bundle","type":"product"},"productTypeIdentifier":"com.apple.product-type.bundle","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":0}],"type":"standard"} \ No newline at end of file diff --git a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=8d133a19301914cd8e6a4b60878e87a2-json b/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=8d133a19301914cd8e6a4b60878e87a2-json deleted file mode 100644 index 8c788560..00000000 --- a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=8d133a19301914cd8e6a4b60878e87a2-json +++ /dev/null @@ -1 +0,0 @@ -{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98853911a66086d603dff7e7f648c6248b","buildSettings":{"CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","GCC_PREFIX_HEADER":"Target Support Files/SDWebImage/SDWebImage-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/SDWebImage/SDWebImage-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"9.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/SDWebImage/SDWebImage.modulemap","ONLY_ACTIVE_ARCH":"NO","PRODUCT_MODULE_NAME":"SDWebImage","PRODUCT_NAME":"SDWebImage","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e9804ab009110722b2b905053f7534d5b27","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98924a369cb6c964ba34275d7ca3bc2dda","buildSettings":{"CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","GCC_PREFIX_HEADER":"Target Support Files/SDWebImage/SDWebImage-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/SDWebImage/SDWebImage-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"9.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/SDWebImage/SDWebImage.modulemap","PRODUCT_MODULE_NAME":"SDWebImage","PRODUCT_NAME":"SDWebImage","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e9850945e18525a3e598d9724f3a764903b","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98924a369cb6c964ba34275d7ca3bc2dda","buildSettings":{"CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","GCC_PREFIX_HEADER":"Target Support Files/SDWebImage/SDWebImage-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/SDWebImage/SDWebImage-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"9.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/SDWebImage/SDWebImage.modulemap","PRODUCT_MODULE_NAME":"SDWebImage","PRODUCT_NAME":"SDWebImage","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98a2b2e17c2efa1ef1a3aad2d39ddc8c14","name":"Release"}],"buildPhases":[{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98d5777166096230085837e5a6300319ad","guid":"bfdfe7dc352907fc980b868725387e98be9d7442fabca0c5610c0e19f86557d8","headerVisibility":"private"},{"fileReference":"bfdfe7dc352907fc980b868725387e988cb0cdc02aa29fb804ef97672630b130","guid":"bfdfe7dc352907fc980b868725387e9806822004988a9d94cdf5a031c3425eff","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98c822fa9c81a63d01137ef8b8fb09fb10","guid":"bfdfe7dc352907fc980b868725387e9805483cca822ae5c51d8ecad7e0c6ee8e","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98bef996f30e7cd8f81a41b150807d2a9d","guid":"bfdfe7dc352907fc980b868725387e981cce13f27d92cb91bd22a8865967993e","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e984094c7d883e6e69778784d589b0e06ff","guid":"bfdfe7dc352907fc980b868725387e98dc8bf6e5b244b736902e5d7fdcb3fe46","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e983a316a9a3c0d0918d8038d51d1ce2a7b","guid":"bfdfe7dc352907fc980b868725387e98f60172e0fc601f0759de2e4483ad4c2f","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e981d5092826a9dbc8d0808fdcaa23aeb53","guid":"bfdfe7dc352907fc980b868725387e98de8d41f98f23e938e10d164952b69161","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98e04128ff9b1a8ec5bb663090da8e9106","guid":"bfdfe7dc352907fc980b868725387e9891da59dfc2bae9f1127526dede51aef7","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e983d94e2a4234b8e8df332860ab5c28460","guid":"bfdfe7dc352907fc980b868725387e9876af0a8c3f791f81730d69311ecf4ac2","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e981ee2ea2c0f3451ad81e4cd37571a9217","guid":"bfdfe7dc352907fc980b868725387e987122e1eb2469403d73d6e6fdf9334bd7","headerVisibility":"private"},{"fileReference":"bfdfe7dc352907fc980b868725387e988c36ed33a6b70955a1fe117c31119455","guid":"bfdfe7dc352907fc980b868725387e98df09c2f87106b2f16d240eaa625dd401","headerVisibility":"private"},{"fileReference":"bfdfe7dc352907fc980b868725387e98705e37d167e6aa4fe5e7a89434983b0b","guid":"bfdfe7dc352907fc980b868725387e989e62241bc5594eb88a2fc802878c4c8e","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98ad42019143a452170ac8f0ccbe351bec","guid":"bfdfe7dc352907fc980b868725387e98dfe3b8184bcd5ea582b7612cc39cab16","headerVisibility":"private"},{"fileReference":"bfdfe7dc352907fc980b868725387e98855529e142431b9ff21b7623dc2343aa","guid":"bfdfe7dc352907fc980b868725387e98c38562671af29e34109b636e4c2bc8c2","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98d9d549ee09361b3182ffb3a7cb2c4f16","guid":"bfdfe7dc352907fc980b868725387e98f9c7a1b2f9800346014d927b510690a2","headerVisibility":"private"},{"fileReference":"bfdfe7dc352907fc980b868725387e9831d5facff92bfe7ff1b1f885cc66a0ef","guid":"bfdfe7dc352907fc980b868725387e98c017bf1f77ac811959d719e5355fe22f","headerVisibility":"private"},{"fileReference":"bfdfe7dc352907fc980b868725387e98b10e1dc2d838c45be2daa77f2da23187","guid":"bfdfe7dc352907fc980b868725387e9884623cc67a02a4442ca230549e12677c","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98ccbf3bd085b02b578987707f8792f7b3","guid":"bfdfe7dc352907fc980b868725387e9874254a68205e6ae0940472b5f4cc1f1f","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e987c0adab35058c318538f4dc83454ce4e","guid":"bfdfe7dc352907fc980b868725387e9874be0ea45a0fef5220b10df35f5a4e16","headerVisibility":"private"},{"fileReference":"bfdfe7dc352907fc980b868725387e987a842fd7d0d8113b0e4b745df45548eb","guid":"bfdfe7dc352907fc980b868725387e981a5aa3dffda15cfd122f3603c0f97605","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98590daa9c16ed56ce3ab6dd2cc5e71b02","guid":"bfdfe7dc352907fc980b868725387e98a0e073cc5665e6a7e421d1843981e83c","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98e0f1d1916f1c2c74d3580b1a8beadbc9","guid":"bfdfe7dc352907fc980b868725387e98af44b2f9052fb0d1dfc37b269ca0fa77","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98f9e678ebe42d48ec13e555aada3bc3d9","guid":"bfdfe7dc352907fc980b868725387e980b0eda782fee2d98b4b81a23fbe7efa3","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e988da911fe8274c9c625d56ca791baefb0","guid":"bfdfe7dc352907fc980b868725387e98c3fb1f4808021579665b4874f84a68db","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98523fb53a069b36128e18dd0e59218348","guid":"bfdfe7dc352907fc980b868725387e985b4c86a9f12a1d3c662250b6957b4b27","headerVisibility":"private"},{"fileReference":"bfdfe7dc352907fc980b868725387e9838cb0d098103b3b9e86956ad87b22b2d","guid":"bfdfe7dc352907fc980b868725387e98e9aa5ae1c792bfb6263364607e397da8","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98e088deb5da5e6541c7b77e9a11ea92c4","guid":"bfdfe7dc352907fc980b868725387e98cc56f5b1a61aa6f4ef114c1176dd56b7","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98c0a8f0a8b8deec84cfa655fb07cfa5ee","guid":"bfdfe7dc352907fc980b868725387e98066db1e3aec6fa53f2a129cf2c1c59ca","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e982d86fa74c86e4b192ae203192c4ecbf7","guid":"bfdfe7dc352907fc980b868725387e98b96a0a2277207c5da89fbd278c1097c9","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98be1b86c55734f717d0ca31fec781de9d","guid":"bfdfe7dc352907fc980b868725387e985b66920edfbc14563b18ec5a84aeb6ad","headerVisibility":"private"},{"fileReference":"bfdfe7dc352907fc980b868725387e9852dc3cd416a8f2168164e78857457a58","guid":"bfdfe7dc352907fc980b868725387e98ff9bd9e364901a2d70fe987eec778b55","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98a7717b19769aeb6b9ee109e003eaf3c5","guid":"bfdfe7dc352907fc980b868725387e98fcee8ffe2f419640bb36348b96bdb2eb","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98b054f24c9d53f55652ce125ed0820b32","guid":"bfdfe7dc352907fc980b868725387e9846a78de9204357d2f4575bd674172a16","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e9876f5fe642db8bd371f16f87ea2265fdd","guid":"bfdfe7dc352907fc980b868725387e98460c93cd92bf02885c25b97f1382dce0","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98736d5194c32aab23367381e19d3ce3fd","guid":"bfdfe7dc352907fc980b868725387e986efac4fc90f2f5e5c5ccd60f96ce4f42","headerVisibility":"private"},{"fileReference":"bfdfe7dc352907fc980b868725387e98e27502a34cf0d8b4655a10b7a907244d","guid":"bfdfe7dc352907fc980b868725387e98f418b61136bdb1cc3303b2d099c7a44f","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98b5bfcc15d82c4bdb3694c0a573f3a82c","guid":"bfdfe7dc352907fc980b868725387e98087569cf16207aeedc8a7f7377c3af4e","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e9854d83c03faf3ccae2f85ebc06d3edfd7","guid":"bfdfe7dc352907fc980b868725387e9860237b0e354ca5142f37cfa7a8b5a86d","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e9818cbd8a1594265b40676b393a478ca19","guid":"bfdfe7dc352907fc980b868725387e988a46edc810b5a4662db5081a9c0ee458","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e988ce6991ade90f9118664f77be651e9e7","guid":"bfdfe7dc352907fc980b868725387e98de781a9874aa41c31af5fca3fc7bb5fa","headerVisibility":"private"},{"fileReference":"bfdfe7dc352907fc980b868725387e98615e5afab5c4b60f4f54bf4a24d5d7f4","guid":"bfdfe7dc352907fc980b868725387e982d7d60860edde1f1ac6d45d7407bac10","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98a1e40288f11809e02afe6d0add4ed3bc","guid":"bfdfe7dc352907fc980b868725387e98904324030717a3677b3dd7c2e1faf9fc","headerVisibility":"private"},{"fileReference":"bfdfe7dc352907fc980b868725387e98f3090cb74fc1105440000f3b094dac06","guid":"bfdfe7dc352907fc980b868725387e98c820e21223e4828e57e7815e3523f022","headerVisibility":"private"},{"fileReference":"bfdfe7dc352907fc980b868725387e982a45a60f2cf9e6b4362fdb5d961d3730","guid":"bfdfe7dc352907fc980b868725387e9894e7a3d8a5335fc427ab13717a194aff","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e988e30be8bf3d4fd0d6c23a4784a17b51a","guid":"bfdfe7dc352907fc980b868725387e98b7a01124350b9ea34738e95b4ce8af70","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98645f30d4b737a9944563bf1acbd19e86","guid":"bfdfe7dc352907fc980b868725387e98eb06d9479a51925ce47c68daaf2957ed","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e982d6c2872630ef832dce2de99d07b9a55","guid":"bfdfe7dc352907fc980b868725387e980fd12822e9d1e0877948cf7799b966b9","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98843243bab3fa1f3d33a82459406db798","guid":"bfdfe7dc352907fc980b868725387e98585b124df1cc1f4051b35d6daa470f3c","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98b3d9d1eff24b478076662e7793cc0f81","guid":"bfdfe7dc352907fc980b868725387e981db3c8f9bed6bda92ae00cb39db6a867","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e9852467a5c652bd848d515dcaabfba92be","guid":"bfdfe7dc352907fc980b868725387e986e4769e06b3e857ae5f48a0f60e9c06f","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e981c37503503856f7bb1bf94b84df33811","guid":"bfdfe7dc352907fc980b868725387e98b534fb3d206dc29359ee937ef0727d6a","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98566b09412f1c142b2d2182d03c2a7c53","guid":"bfdfe7dc352907fc980b868725387e986df8602d589635ca94a013b1042a734f","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98ba6dde7dbf6bb8b5d90dd818665d1c99","guid":"bfdfe7dc352907fc980b868725387e9852f31a3f0ebcfc2f0539717219b7715c","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98d2287b1d56a60c6eccdf938b9aa947fd","guid":"bfdfe7dc352907fc980b868725387e983ea4b17ddea76c4cc7aae96b6c45393b","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e985db8e4d10c219b6975cdd62ddf92d0aa","guid":"bfdfe7dc352907fc980b868725387e98bf8c1603289ef53ae2aedee48261bea5","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98a20f21b83c952074caf5d18873e86258","guid":"bfdfe7dc352907fc980b868725387e982af44a49e3bae506655b33344ffee8f4","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e980db9b1158e6646728005aa55be435f85","guid":"bfdfe7dc352907fc980b868725387e98054b65a43291bbaacf303162bbfd92fa","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98d48abcca92cf18856278d322cd682f4c","guid":"bfdfe7dc352907fc980b868725387e98f26c041e8dade3c16e1175f056b1c15f","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e983f4f10857c92a9d96bc0bf380825345b","guid":"bfdfe7dc352907fc980b868725387e98077988835ec4ef25e7c8abd8f60bcdbb","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e9826c93ac59a6de6260adf7777d48a8e6b","guid":"bfdfe7dc352907fc980b868725387e98d47ce03e9cb07222aa390d49199f55d0","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e985628e9529c81661cd2bf059df123f941","guid":"bfdfe7dc352907fc980b868725387e98fc88a27c1d4ed8c2fb3abcce664279d7","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e985c307f6e0adf9012f1be72c3d0497a21","guid":"bfdfe7dc352907fc980b868725387e9852ac4f788d7a93a51c0fd6dab80ea1a2","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e984b1e3ffd1fb39dc94affca31b4e27b9e","guid":"bfdfe7dc352907fc980b868725387e98f55afdf13acbb6ed2cab2dff9cebb426","headerVisibility":"private"},{"fileReference":"bfdfe7dc352907fc980b868725387e988fc042ecdc017c735af204f8c0612394","guid":"bfdfe7dc352907fc980b868725387e98e51b44847f216e4a23d48736d09eec70","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98d80e8bd3db060dde5d194ccc462db4de","guid":"bfdfe7dc352907fc980b868725387e988db215393f4d62131be648eb5f6213a5","headerVisibility":"private"},{"fileReference":"bfdfe7dc352907fc980b868725387e982c7dbddc604a244196428b8fc46f5cac","guid":"bfdfe7dc352907fc980b868725387e98f21a3590fa1c973df60ca6d8b8e71349","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e984f21f0eb8f4805c253e862eb24369362","guid":"bfdfe7dc352907fc980b868725387e985363939cb1a02bee382b1eab43991cf7","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98a364326f3629a82d35fe5e5601a7cfec","guid":"bfdfe7dc352907fc980b868725387e984badd00e17696ccbed4916f8623042e2","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98eab3c5f10863c41bce28b75442dcfb0f","guid":"bfdfe7dc352907fc980b868725387e980cc1ca988b39c7115e433dd7df35260b","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e988fe87f3480a506b882b7262afada35a2","guid":"bfdfe7dc352907fc980b868725387e98adfb02854714d6960be634572daef4ab","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98d5f4296b72582a649e28a8d376925930","guid":"bfdfe7dc352907fc980b868725387e986da2af838e0c76932d26585940fd54b1","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98350b1090302f51cfb21e01d8415c7609","guid":"bfdfe7dc352907fc980b868725387e983ab1302293aa92f5e8660eae6502eed5","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98099e64b0490c5209324be8367cf59b67","guid":"bfdfe7dc352907fc980b868725387e98b6ffb9afbc5ddff61acce0e33451fc1f","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e9853d9196d0b2578d8a09ef594daec2b10","guid":"bfdfe7dc352907fc980b868725387e9855b2e6bd42faa7e8be3cf3841fc6988a","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98358c67ecbf86e16ee420fdc0f60209d6","guid":"bfdfe7dc352907fc980b868725387e98b075456f68b6677b57e3871f89b5e1f9","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98338ff7df5b388b8cb6dc581ce584707b","guid":"bfdfe7dc352907fc980b868725387e985a16a27a1864896c01440e8503c648c3","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e980f510685009abf4916684cac897048e9","guid":"bfdfe7dc352907fc980b868725387e98299615dd7fa3f5b6f91988e8d55df07f","headerVisibility":"public"}],"guid":"bfdfe7dc352907fc980b868725387e985f8a059a79682c22f22bb94620c51efe","type":"com.apple.buildphase.headers"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e981927866bac5164139b4906c697c2ae1a","guid":"bfdfe7dc352907fc980b868725387e986916d2e11955e41f9d6bad4f4ac4d34f"},{"fileReference":"bfdfe7dc352907fc980b868725387e9879873ec62bf39c031f9405690a0f73c5","guid":"bfdfe7dc352907fc980b868725387e9883edc7385647da19cb842395bc6294e9"},{"fileReference":"bfdfe7dc352907fc980b868725387e98ee02f559016795b3a0d12920773904b0","guid":"bfdfe7dc352907fc980b868725387e988d125b3474ea3fa48ebaacd4b9aea72d"},{"fileReference":"bfdfe7dc352907fc980b868725387e98054e5d375da8f4d58909b03284d2ffb5","guid":"bfdfe7dc352907fc980b868725387e9859c2b85e26aebbe1ce7d7ae5e2e524c7"},{"fileReference":"bfdfe7dc352907fc980b868725387e98e057edb06a9fb0ee234d2501e566c13c","guid":"bfdfe7dc352907fc980b868725387e98a64ea57d7c2c14526c605f86367674ac"},{"fileReference":"bfdfe7dc352907fc980b868725387e9864350921c8a3eb6e2717b3957fc629b0","guid":"bfdfe7dc352907fc980b868725387e98e5e42db04d1a74fd72168484d7fcd740"},{"fileReference":"bfdfe7dc352907fc980b868725387e985042bb443803b56b9c76461c6b782096","guid":"bfdfe7dc352907fc980b868725387e987a4c3e14d7e2e22018819db5667f8667"},{"fileReference":"bfdfe7dc352907fc980b868725387e98d6b7c5fd8f27324b1d4b9b72d5246584","guid":"bfdfe7dc352907fc980b868725387e98786fa38fcd8028e45f4c518b6ef077ea"},{"fileReference":"bfdfe7dc352907fc980b868725387e9869d5460295efbc7dc43c12e14196373a","guid":"bfdfe7dc352907fc980b868725387e98d193abd26ca6f5fb0c0bf076b813df46"},{"fileReference":"bfdfe7dc352907fc980b868725387e98162b8fefd8d643427787492f1c51da3d","guid":"bfdfe7dc352907fc980b868725387e98747f3e0e165ef143fdb0215d27db29a5"},{"fileReference":"bfdfe7dc352907fc980b868725387e98ee7eac77a5571e1e9e215e3c5a54cd59","guid":"bfdfe7dc352907fc980b868725387e984a63b2811cda9db2e49cfd6c6a419eab"},{"fileReference":"bfdfe7dc352907fc980b868725387e988427fc8c610fd8f3e1bb219ece805796","guid":"bfdfe7dc352907fc980b868725387e98805dd9dbae97a21b7a27b957f9315ded"},{"fileReference":"bfdfe7dc352907fc980b868725387e98265fb41c11ac01db9fe94aa464810666","guid":"bfdfe7dc352907fc980b868725387e9824855676dc6a11a3d4913a3618724d6b"},{"fileReference":"bfdfe7dc352907fc980b868725387e985212637a8a891d9412516918621e1a39","guid":"bfdfe7dc352907fc980b868725387e98d86448a595c3e96977dbdc30fe2cbcaa"},{"fileReference":"bfdfe7dc352907fc980b868725387e98e26d3f5025495b220ddd4f6207f4587b","guid":"bfdfe7dc352907fc980b868725387e987ca43090dc8ea6eb949cda741bc04b77"},{"fileReference":"bfdfe7dc352907fc980b868725387e987aeb1677aa3f05f1761f846718835c50","guid":"bfdfe7dc352907fc980b868725387e9813cd1b8be12783c5362e7c21b9b3dbd0"},{"fileReference":"bfdfe7dc352907fc980b868725387e98f959b628d5b8052a17713834ad57fb09","guid":"bfdfe7dc352907fc980b868725387e981e2f1e86843b302ea0d4f2737975831d"},{"fileReference":"bfdfe7dc352907fc980b868725387e9806ad195b6f8d839ae85aaad6a082e134","guid":"bfdfe7dc352907fc980b868725387e98ecae11baac81de35569689faf861acf0"},{"fileReference":"bfdfe7dc352907fc980b868725387e982d87c15323f45612fa9da3bf7eb1f67c","guid":"bfdfe7dc352907fc980b868725387e98512e6a8ce11bf005cf404a9cc75bef1e"},{"fileReference":"bfdfe7dc352907fc980b868725387e980aaa2ce18060018d8582b15deb60717e","guid":"bfdfe7dc352907fc980b868725387e98186dab1ceb0cab230efb378477e3bef1"},{"fileReference":"bfdfe7dc352907fc980b868725387e98df178355066c42ee41917de773f15445","guid":"bfdfe7dc352907fc980b868725387e987034af3c386dd466a0bf11b21bfb8ce1"},{"fileReference":"bfdfe7dc352907fc980b868725387e98591862058e662b5f63b1e4a002b7c7c5","guid":"bfdfe7dc352907fc980b868725387e98ff8690bf005f30f02b4ed1b96ee15323"},{"fileReference":"bfdfe7dc352907fc980b868725387e98f83f5f89240fd2c759541ca77d087f0c","guid":"bfdfe7dc352907fc980b868725387e9837ba1bdae2ef6a133d2289a1d548034e"},{"fileReference":"bfdfe7dc352907fc980b868725387e989af56a45d24d5431edf6bad850b00d11","guid":"bfdfe7dc352907fc980b868725387e98ede90d70412bd7e9c08a286d1a412f02"},{"fileReference":"bfdfe7dc352907fc980b868725387e986bac22c527310784f1c006e87f3294ce","guid":"bfdfe7dc352907fc980b868725387e984090828cfe8f007ed30b6c219eb371f5"},{"fileReference":"bfdfe7dc352907fc980b868725387e981c2992260f8b3902274cb45c5378a77c","guid":"bfdfe7dc352907fc980b868725387e98481823de9baefb241b80e94b5b534181"},{"fileReference":"bfdfe7dc352907fc980b868725387e98e34fca7fb9515751e5b65daa60892205","guid":"bfdfe7dc352907fc980b868725387e984755b29e1ab7d0e06551b1118e41b162"},{"fileReference":"bfdfe7dc352907fc980b868725387e982943aac92a9cbecd2cbbb9c61b214642","guid":"bfdfe7dc352907fc980b868725387e9842f696bfe4322f5cc5a7f27b409bd157"},{"fileReference":"bfdfe7dc352907fc980b868725387e981af493bf2a6d92e228891b304a7c2b30","guid":"bfdfe7dc352907fc980b868725387e98ad778e981ef8cca89e7cd842950581b0"},{"fileReference":"bfdfe7dc352907fc980b868725387e9889a07bab11e055a44d47d0a84563e088","guid":"bfdfe7dc352907fc980b868725387e98578e82f7545167f78f6ebe61c85d0bde"},{"fileReference":"bfdfe7dc352907fc980b868725387e98a1d2c3a622ecffffe17ef46139139ca8","guid":"bfdfe7dc352907fc980b868725387e98f27537f8f6870ac73ee33ac3eb07ace5"},{"fileReference":"bfdfe7dc352907fc980b868725387e984d09367fa07320c0ed18d8d09ef5757c","guid":"bfdfe7dc352907fc980b868725387e981084672785f169996eccfbe06a47501e"},{"fileReference":"bfdfe7dc352907fc980b868725387e98616683757c0e1501dd6570169bfd41ac","guid":"bfdfe7dc352907fc980b868725387e98fd609d65c809bc7b69cd618b4a267e2c"},{"fileReference":"bfdfe7dc352907fc980b868725387e988c25500f4df2d88e68f29160fa6d1d5a","guid":"bfdfe7dc352907fc980b868725387e98c61718eebeb0af586e28cfd878a30d49"},{"fileReference":"bfdfe7dc352907fc980b868725387e986a6bcd435124a56335e622830e53d4c3","guid":"bfdfe7dc352907fc980b868725387e9805d3af4d75e3e878acf84323fd9a3de7"},{"fileReference":"bfdfe7dc352907fc980b868725387e988f7a31d9a7fba991cd82fb921f090297","guid":"bfdfe7dc352907fc980b868725387e985dbc5d7268ab1beec0cdf54449463d09"},{"fileReference":"bfdfe7dc352907fc980b868725387e98bbe9461acf5722bf63f491f75f987246","guid":"bfdfe7dc352907fc980b868725387e984d62d64fd66552677a95a43a3110a782"},{"fileReference":"bfdfe7dc352907fc980b868725387e980cd5a67e18edfb65db64920ac80317e1","guid":"bfdfe7dc352907fc980b868725387e9840d1d45c039e6a0997e73acdf8116811"},{"fileReference":"bfdfe7dc352907fc980b868725387e98665db2580b70e0265552837a06ece510","guid":"bfdfe7dc352907fc980b868725387e98334b8e80d80747046f2fc391e5ea9355"},{"fileReference":"bfdfe7dc352907fc980b868725387e9803d55e2bb08b712edefa8542b0d821f2","guid":"bfdfe7dc352907fc980b868725387e983714b8079494b3f5de6865925d4b829c"},{"fileReference":"bfdfe7dc352907fc980b868725387e988f335221864e0c7abd228aa513d49083","guid":"bfdfe7dc352907fc980b868725387e98633fcb70323a2b33b006376610ba6836"},{"fileReference":"bfdfe7dc352907fc980b868725387e98b007c1bd88b3b03c3720e4d4ec6ce72d","guid":"bfdfe7dc352907fc980b868725387e98b849347f845e6c86bdec15f76e8e7d13"},{"fileReference":"bfdfe7dc352907fc980b868725387e984d3a38375b819f97a2e590d76e3d68be","guid":"bfdfe7dc352907fc980b868725387e98fd78a2ef4a36e9c9acda3c32683256b3"},{"fileReference":"bfdfe7dc352907fc980b868725387e98ed97a12539b70fccd51dec37544af27e","guid":"bfdfe7dc352907fc980b868725387e98f3ab17ff4a576766707cb8a1f5f37809"},{"fileReference":"bfdfe7dc352907fc980b868725387e988dd995935f6b4bed79a6300837319a14","guid":"bfdfe7dc352907fc980b868725387e98282b8470981ef733954f95dc52507dfb"},{"fileReference":"bfdfe7dc352907fc980b868725387e985c56464dbc24f4b98cd30d9927bd9b20","guid":"bfdfe7dc352907fc980b868725387e984ffaf7c01acbc5d87a5ee765c2df70b5"},{"fileReference":"bfdfe7dc352907fc980b868725387e9870310f2e959bc3a5eff9174c850cbe6e","guid":"bfdfe7dc352907fc980b868725387e985109bbe68a7f2b64a9658b3b1b7eec2b"},{"fileReference":"bfdfe7dc352907fc980b868725387e98376eb6b21e867b2936731a0373f7aa37","guid":"bfdfe7dc352907fc980b868725387e98b4903ef8aab6ee5d2013a62dd68cd9e2"},{"fileReference":"bfdfe7dc352907fc980b868725387e98b463364ff9c18b81a6609b062a5130db","guid":"bfdfe7dc352907fc980b868725387e98dae8da49ee66225cec8f78b90bb90e08"},{"fileReference":"bfdfe7dc352907fc980b868725387e988d11b2e1b05020946624f2f29892aa00","guid":"bfdfe7dc352907fc980b868725387e9860cc5b62aa842becbf29536a0e0e5ddc"},{"fileReference":"bfdfe7dc352907fc980b868725387e98b7defa3347432052375b438e2e2a471d","guid":"bfdfe7dc352907fc980b868725387e98537bc38de94e86ea3eafe19bfd748385"},{"fileReference":"bfdfe7dc352907fc980b868725387e987e7eb9b69db6e27a15c85f9fac88c21b","guid":"bfdfe7dc352907fc980b868725387e98d171e9a43c9ad72ccf75147b91fef59f"},{"fileReference":"bfdfe7dc352907fc980b868725387e98e94d1578f99b30508d8845d701648ecd","guid":"bfdfe7dc352907fc980b868725387e98179b240c7711b0f517df07147048aa70"},{"fileReference":"bfdfe7dc352907fc980b868725387e9812938caf7996c6d80dbf9271d3a6f958","guid":"bfdfe7dc352907fc980b868725387e9887a5a0c6d677d35a77b0063e1e8b376d"},{"fileReference":"bfdfe7dc352907fc980b868725387e98f3d32e8ce6d42e2d053519de5c184f67","guid":"bfdfe7dc352907fc980b868725387e98c1d9c5ff2afc41420943cc5dab781b88"},{"fileReference":"bfdfe7dc352907fc980b868725387e98c5d01b3d56827bfde5187df4ae8ae6f7","guid":"bfdfe7dc352907fc980b868725387e98802e776da498f4fa7311d48fe843398a"},{"fileReference":"bfdfe7dc352907fc980b868725387e980bace14250c740b8f01102fed49a6f3f","guid":"bfdfe7dc352907fc980b868725387e98c21d248fccb0f11f2d9e541ae61496ee"},{"fileReference":"bfdfe7dc352907fc980b868725387e98bd63cec024b8004a2cfea6c1f3c3a16d","guid":"bfdfe7dc352907fc980b868725387e98d5bfc081c61d2b9bbd081fecbb540f9a"},{"fileReference":"bfdfe7dc352907fc980b868725387e98f249276cf2cb89b2af74b98fc236dc19","guid":"bfdfe7dc352907fc980b868725387e98a05f02e6a460453a5e366130f5b7e817"},{"fileReference":"bfdfe7dc352907fc980b868725387e98741d531661b69bd4c010ad24b33cb126","guid":"bfdfe7dc352907fc980b868725387e9859a2d4a9bea3dcb9a4049d90b162ddfb"},{"fileReference":"bfdfe7dc352907fc980b868725387e98fad610585409b4155dfb77dfb11aaff8","guid":"bfdfe7dc352907fc980b868725387e984cb33669d0fc2f1151941641f49adf1d"},{"fileReference":"bfdfe7dc352907fc980b868725387e98b8c9eb74f63ffa618a81f634e2d0e973","guid":"bfdfe7dc352907fc980b868725387e98a250ec6ed2cd0c0620b4ed10e319cbea"},{"fileReference":"bfdfe7dc352907fc980b868725387e9810aa22726b627e7bbff26562ab33a902","guid":"bfdfe7dc352907fc980b868725387e98ec7bc7911ce51ee4a74d5a9d79e4b81d"},{"fileReference":"bfdfe7dc352907fc980b868725387e98b6a6fe4795e9ccd8158ae4c0af0f8c8c","guid":"bfdfe7dc352907fc980b868725387e98c1348845b34fd1ccfb27a623c0925d6c"},{"fileReference":"bfdfe7dc352907fc980b868725387e987bc99a6470d3a1db520bcbccc094ac70","guid":"bfdfe7dc352907fc980b868725387e9817c4f59b351dc085bada6d1090a7bc1d"},{"fileReference":"bfdfe7dc352907fc980b868725387e9857856e03e3b248fde2b403cff7be0c2d","guid":"bfdfe7dc352907fc980b868725387e981653f76ca28d11c081272170f278244b"},{"fileReference":"bfdfe7dc352907fc980b868725387e9858b4d3f93823a7a844e9af48e325ea6b","guid":"bfdfe7dc352907fc980b868725387e9847b84a17fa22432785c8cfeff56d77ff"},{"fileReference":"bfdfe7dc352907fc980b868725387e98f1cdf8141b4e6f72ce96cfc4e114ac93","guid":"bfdfe7dc352907fc980b868725387e98a30c157ebe1e2c286a049b647e73d12d"},{"fileReference":"bfdfe7dc352907fc980b868725387e9820c91663ac328caa6a772dc1aec7f895","guid":"bfdfe7dc352907fc980b868725387e98471e007b019b75823f218dd072af8122"},{"fileReference":"bfdfe7dc352907fc980b868725387e98c40558907257758691a97ebe7d32550e","guid":"bfdfe7dc352907fc980b868725387e9879cb994437901dc58b69df9e2edbe461"},{"fileReference":"bfdfe7dc352907fc980b868725387e988613cca076d4233fbc8f533d7bf66208","guid":"bfdfe7dc352907fc980b868725387e98294c4ee66a770ac5b789fa21d668ef9b"},{"fileReference":"bfdfe7dc352907fc980b868725387e988bfe961a333b087f09acd251c89287f8","guid":"bfdfe7dc352907fc980b868725387e98e05ccb8902dabfc7b53aca6f5feeb0f4"},{"fileReference":"bfdfe7dc352907fc980b868725387e987e9e853cad7160fab37152132380f5fa","guid":"bfdfe7dc352907fc980b868725387e98b48d5ab40647a5926154fc9d16501b75"}],"guid":"bfdfe7dc352907fc980b868725387e98521823472574b05b8a3113867ad0de75","type":"com.apple.buildphase.sources"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98b14af7c49882340ad551cb13b0a1e06d","guid":"bfdfe7dc352907fc980b868725387e980bef1b6724982795f70512f70c223133"},{"fileReference":"bfdfe7dc352907fc980b868725387e982680e93f57d9a3d8e73bd93b7e3e0f36","guid":"bfdfe7dc352907fc980b868725387e98188335ffc04885b6f4f913da8f654d80"}],"guid":"bfdfe7dc352907fc980b868725387e98dd5edf74ef26b6152a6221e71924088d","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"guid":"bfdfe7dc352907fc980b868725387e98ff60c0ecd70eb6e2d3c850b3b15ef431","targetReference":"bfdfe7dc352907fc980b868725387e9826e2628dc041aabe2d77e75ccb1dc95b"}],"guid":"bfdfe7dc352907fc980b868725387e98b874019f1f0b32af2334d21070667d27","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[{"guid":"bfdfe7dc352907fc980b868725387e9826e2628dc041aabe2d77e75ccb1dc95b","name":"SDWebImage-SDWebImage"}],"guid":"bfdfe7dc352907fc980b868725387e98c46180aea4e87057640961e6db37df0d","name":"SDWebImage","predominantSourceCodeLanguage":"Xcode.SourceCodeLanguage.Objective-C-Plus-Plus","productReference":{"guid":"bfdfe7dc352907fc980b868725387e98880bd43228ac3a23ccb630571006ecd9","name":"SDWebImage.framework","type":"product"},"productTypeIdentifier":"com.apple.product-type.framework","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":1}],"type":"standard"} \ No newline at end of file diff --git a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=98c62b097118c3a71fbcc1ac381d0554-json b/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=98c62b097118c3a71fbcc1ac381d0554-json deleted file mode 100644 index 3ad6be28..00000000 --- a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=98c62b097118c3a71fbcc1ac381d0554-json +++ /dev/null @@ -1 +0,0 @@ -{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98e8f5202bf6c2927877bbede594254bac","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/FirebaseCoreExtension","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"FirebaseCoreExtension","INFOPLIST_FILE":"Target Support Files/FirebaseCoreExtension/ResourceBundle-FirebaseCoreExtension_Privacy-FirebaseCoreExtension-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"FirebaseCoreExtension_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e9804aab7798c2569699b967adcd034ffe7","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e986a53acd8d9569d0c22497ed69917f900","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/FirebaseCoreExtension","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"FirebaseCoreExtension","INFOPLIST_FILE":"Target Support Files/FirebaseCoreExtension/ResourceBundle-FirebaseCoreExtension_Privacy-FirebaseCoreExtension-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"FirebaseCoreExtension_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98f0fbb6af706c4937a9ca2f9ce650ab9e","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e986a53acd8d9569d0c22497ed69917f900","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/FirebaseCoreExtension","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"FirebaseCoreExtension","INFOPLIST_FILE":"Target Support Files/FirebaseCoreExtension/ResourceBundle-FirebaseCoreExtension_Privacy-FirebaseCoreExtension-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"15.0","PRODUCT_NAME":"FirebaseCoreExtension_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e9814f84f30e8594a9183e1cdf5147d537e","name":"Release"}],"buildPhases":[{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e989ea3c1c7558f7911245d82f6428108f7","type":"com.apple.buildphase.sources"},{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e98ad882a80f21c1574859d5acd7f84c850","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98adf015b8b23a4183c14442061cb3cae9","guid":"bfdfe7dc352907fc980b868725387e981bbb7fabc1bd01c01460062904a1a61c"}],"guid":"bfdfe7dc352907fc980b868725387e983d4c24a29d73e7e411f18e4971109818","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[],"guid":"bfdfe7dc352907fc980b868725387e98c04ead258c2ba3f656422d1784107881","name":"FirebaseCoreExtension-FirebaseCoreExtension_Privacy","productReference":{"guid":"bfdfe7dc352907fc980b868725387e988df9a93510eab8c6f1cb7471d90295f7","name":"FirebaseCoreExtension_Privacy.bundle","type":"product"},"productTypeIdentifier":"com.apple.product-type.bundle","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":0}],"type":"standard"} \ No newline at end of file diff --git a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=a067526aa1156f18ea027d11109a29d4-json b/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=a067526aa1156f18ea027d11109a29d4-json deleted file mode 100644 index 1c0a9b63..00000000 --- a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=a067526aa1156f18ea027d11109a29d4-json +++ /dev/null @@ -1 +0,0 @@ -{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e988dc0dcaabffa36a9e85d057769df808d","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/google_mobile_ads/google_mobile_ads-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/google_mobile_ads/google_mobile_ads-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MACH_O_TYPE":"staticlib","MODULEMAP_FILE":"Target Support Files/google_mobile_ads/google_mobile_ads.modulemap","ONLY_ACTIVE_ARCH":"NO","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"google_mobile_ads","PRODUCT_NAME":"google_mobile_ads","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98f60f21207bdf48370aadaa7a5944056e","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e987e81c25c7cd2ea8e1b445f8bd4d6b142","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/google_mobile_ads/google_mobile_ads-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/google_mobile_ads/google_mobile_ads-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MACH_O_TYPE":"staticlib","MODULEMAP_FILE":"Target Support Files/google_mobile_ads/google_mobile_ads.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"google_mobile_ads","PRODUCT_NAME":"google_mobile_ads","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98ca83b02fd91b34a498c4c1d10d117548","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e987e81c25c7cd2ea8e1b445f8bd4d6b142","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/google_mobile_ads/google_mobile_ads-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/google_mobile_ads/google_mobile_ads-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MACH_O_TYPE":"staticlib","MODULEMAP_FILE":"Target Support Files/google_mobile_ads/google_mobile_ads.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"google_mobile_ads","PRODUCT_NAME":"google_mobile_ads","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98d212063812730634d67c1838935e42c2","name":"Release"}],"buildPhases":[{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e984240dfeec000ca8d0ac4a90a031aaf0a","guid":"bfdfe7dc352907fc980b868725387e98fc3902591610fa8822f0952c44c23f1c","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e9890fd4326c9f214196bd5a0490007afcd","guid":"bfdfe7dc352907fc980b868725387e9807f209f9c64cb7b32ca06eaaba47c866","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e984d482976b92aa362238438f33e1d3847","guid":"bfdfe7dc352907fc980b868725387e98f5ea5c464c7a684d53e95f4da462ac34","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e9835c6106e9c677e5754054f0a9010d0fb","guid":"bfdfe7dc352907fc980b868725387e988a64f85748721529c8eb1e4cfa6c20e1","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e981f6abf8441aeddf38e2ee5b6e097cc8f","guid":"bfdfe7dc352907fc980b868725387e9815505fdc4ca0eafa4100498d2941a176","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e989cc1f81c38bb9851f4050d8234e27827","guid":"bfdfe7dc352907fc980b868725387e98fb5e81d7cbe6ab1fdb387a41eae62b74","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98b3f9c06c5fdf0e42530f281cca9fc44f","guid":"bfdfe7dc352907fc980b868725387e9885decc54404980d6c525e77bf65fe873","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98c6a0457f533d1b1ca15ab8a5364ef37b","guid":"bfdfe7dc352907fc980b868725387e9817ddcb7b3c12a1eb9d89a5987d5a55c5","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e9864b4634ab3a98b02e906a6583e29134f","guid":"bfdfe7dc352907fc980b868725387e9864d5ee22ae45b1d9c3b93e03407c955d","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e985ef5b1cd5b86a3e538a197c1ab9a9812","guid":"bfdfe7dc352907fc980b868725387e98ca59e34ce3e886935bdd2072ff528b56","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98d65e11739777d0c59cb6a89a4b9c2e57","guid":"bfdfe7dc352907fc980b868725387e9843b7cb1689bb36b536d4ba3242d513d2","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e9881de238705aaccdfd3c39ad39d8a29c1","guid":"bfdfe7dc352907fc980b868725387e9842eff5ae9b47f7f3bf180fb0811eda4a","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e9885218f34df8f4718b80b621799778241","guid":"bfdfe7dc352907fc980b868725387e98b766a8777b3597b0a6631df2c3e49433","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98ae8af11166b7347d9e0d43f78afdb3c0","guid":"bfdfe7dc352907fc980b868725387e98edd82d4594170ffe44735267e3a9b49b","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e9832d9b8c3de108888f7fc0fad5d829a47","guid":"bfdfe7dc352907fc980b868725387e98e1c347924c03a72d30b98fcb5c2b5a48","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98809c667f0a0b2817398014a088224434","guid":"bfdfe7dc352907fc980b868725387e9879fad702e858c9d255ce4e8b9f4693c6","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e9816ecde728aa88cc29920a74c71a2d3db","guid":"bfdfe7dc352907fc980b868725387e98af243acd6a89584103cbd8c7d7e4675c","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98ef6f527da899ce3d0d655df4fdba772c","guid":"bfdfe7dc352907fc980b868725387e989f459d5eb8aed64c82172737f80d33c2","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e988b4c2f093c31a9f200c8f45161df3c2a","guid":"bfdfe7dc352907fc980b868725387e9829ce672bdd912bb92a5b49532c33d0cf","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e987a51e4f40d97cb9adc27b2e42cc25b62","guid":"bfdfe7dc352907fc980b868725387e98f4c5fcae42d97349e67a9ccb65447633","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e9864317c934a174460acab2d786935fa3a","guid":"bfdfe7dc352907fc980b868725387e980e7f02171e5d41504b15837490e1ed45","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98fd894f45ca741629b38f8f4692bca46a","guid":"bfdfe7dc352907fc980b868725387e98e48dc8c919394b5e1d784da833f87967","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98b98042b15a1b65a5f73b8fcdf63acd94","guid":"bfdfe7dc352907fc980b868725387e98aacaef33e940fbd51a0c7b0e82ca2360","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e989f6df57e9714d47de1bef126b3e8e39b","guid":"bfdfe7dc352907fc980b868725387e98a13e606cbbfd39a170e763f81b8c82b0","headerVisibility":"public"}],"guid":"bfdfe7dc352907fc980b868725387e985da9e827eef44a73ab95aff9462753c7","type":"com.apple.buildphase.headers"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98f5aab5940ee683a0f59b1e8870b802dc","guid":"bfdfe7dc352907fc980b868725387e98fcdfb9a416fcb39e0703fd8f8353166a"},{"fileReference":"bfdfe7dc352907fc980b868725387e9806b9260a8591ca252226b8bacbb7c485","guid":"bfdfe7dc352907fc980b868725387e9863549f145557ef47cae8c38144d2d0ff"},{"fileReference":"bfdfe7dc352907fc980b868725387e981c6389e12e9d4a39af9fc2b794895960","guid":"bfdfe7dc352907fc980b868725387e9836f9aa8313b7dc0da597b6bba4715b54"},{"fileReference":"bfdfe7dc352907fc980b868725387e986b6b176839f0b199c05b9bfda1b0289a","guid":"bfdfe7dc352907fc980b868725387e9889634419cf13bf11f5a0962de58c2e7e"},{"fileReference":"bfdfe7dc352907fc980b868725387e98e42ceda20f7996f4f1db9cb68f5f0e82","guid":"bfdfe7dc352907fc980b868725387e98b03a8074c560b4e6d87f39b4ce8a1388"},{"fileReference":"bfdfe7dc352907fc980b868725387e98220dcc23917995a27d0f53057040c555","guid":"bfdfe7dc352907fc980b868725387e9852d9aa72fc505723d0d1a998280f43d8"},{"fileReference":"bfdfe7dc352907fc980b868725387e981d5d659ea3fece667574bfd04ef72e19","guid":"bfdfe7dc352907fc980b868725387e98703ec30c0f6dc44546d36faf52f19a53"},{"fileReference":"bfdfe7dc352907fc980b868725387e986b796972877c18df3d6f5af3cab27e5c","guid":"bfdfe7dc352907fc980b868725387e98c0a427cd67ba5676bb8d7be7bcdbbf25"},{"fileReference":"bfdfe7dc352907fc980b868725387e988d7783f13036a505334aa6f36adb89c1","guid":"bfdfe7dc352907fc980b868725387e98e6d8341d3faae82be8e4fa5ce1e8e33e"},{"fileReference":"bfdfe7dc352907fc980b868725387e983ac31ec6480613fd151e1b624e682774","guid":"bfdfe7dc352907fc980b868725387e988317fab1628f437d63db45ecb4a066d8"},{"fileReference":"bfdfe7dc352907fc980b868725387e982281f17e05329e9e471231e98f942168","guid":"bfdfe7dc352907fc980b868725387e98b90a390daffb6b05d6e7b1b7c4ea7e7d"},{"fileReference":"bfdfe7dc352907fc980b868725387e98147317a5801ba72c5dde82a8e257712f","guid":"bfdfe7dc352907fc980b868725387e9853895820dca86d44e54fa26282d4ff84"},{"fileReference":"bfdfe7dc352907fc980b868725387e98760f6bc37adfc3ac8632fa54f20c218f","guid":"bfdfe7dc352907fc980b868725387e9860c4ef284b6c1adfec9622391b781ad3"},{"fileReference":"bfdfe7dc352907fc980b868725387e9815cfebf454d95d6d62ffbab198236c6c","guid":"bfdfe7dc352907fc980b868725387e98ea7bc478420d17681a494a8d8f3f65db"},{"fileReference":"bfdfe7dc352907fc980b868725387e98048f3e8812e4b1dbde8a2d474f511920","guid":"bfdfe7dc352907fc980b868725387e983df14ef77635bd83b3fd1debb9136c51"},{"fileReference":"bfdfe7dc352907fc980b868725387e98e0475a3f5954ad23ef9e699046810e3b","guid":"bfdfe7dc352907fc980b868725387e98855019121a75246ee32dc26615ea17e3"},{"fileReference":"bfdfe7dc352907fc980b868725387e985ae4ef538e0272a808791bf1392f7c73","guid":"bfdfe7dc352907fc980b868725387e98cdd8508a934a9e834d5a29f64c865988"},{"fileReference":"bfdfe7dc352907fc980b868725387e981bf4bcbaf79a603383c23645090bc955","guid":"bfdfe7dc352907fc980b868725387e98d67b8d6e3b8ffe5c3335096e12a5d549"},{"fileReference":"bfdfe7dc352907fc980b868725387e98bb573db16d21ecd76a77b185c52f7253","guid":"bfdfe7dc352907fc980b868725387e988333ba14f3a1fcae6d60e2b422e436a9"},{"fileReference":"bfdfe7dc352907fc980b868725387e98e50cbcfd7237202c92423678a691838b","guid":"bfdfe7dc352907fc980b868725387e98da07a2d5bba557b3acc9dc679e97aa6b"},{"fileReference":"bfdfe7dc352907fc980b868725387e987e0d2c8d0bc0abdac28d339bd37fbf90","guid":"bfdfe7dc352907fc980b868725387e98de00129e3270ecf6ff3b9a1449b10c5c"}],"guid":"bfdfe7dc352907fc980b868725387e98ef387155c7be58dd1abcd21a411a4e6e","type":"com.apple.buildphase.sources"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98b14af7c49882340ad551cb13b0a1e06d","guid":"bfdfe7dc352907fc980b868725387e98c961a969fb41a7bdab90c538b30528fd"}],"guid":"bfdfe7dc352907fc980b868725387e9817c34e700eb0a17b1be9eca81b57986b","type":"com.apple.buildphase.frameworks"},{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e984da9032ff76790acb4b37e742746ef15","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[{"guid":"bfdfe7dc352907fc980b868725387e989da425bb6d6d5d8dbb95e4afffb82217","name":"Flutter"},{"guid":"bfdfe7dc352907fc980b868725387e98cd53d937e824fad9f4527eeeb684cb40","name":"Google-Mobile-Ads-SDK"},{"guid":"bfdfe7dc352907fc980b868725387e9804037656a8578d8e730f9d99c54e40e2","name":"google_mobile_ads-google_mobile_ads"},{"guid":"bfdfe7dc352907fc980b868725387e988efdc4dd0ac29b43123295eca853f4ed","name":"webview_flutter_wkwebview"}],"guid":"bfdfe7dc352907fc980b868725387e9811f9347c979613c5502173cd5b43060d","name":"google_mobile_ads","predominantSourceCodeLanguage":"Xcode.SourceCodeLanguage.Objective-C-Plus-Plus","productReference":{"guid":"bfdfe7dc352907fc980b868725387e98b1f16b2926bf8e21151b2cb149aa6540","name":"google_mobile_ads.framework","type":"product"},"productTypeIdentifier":"com.apple.product-type.framework","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":1}],"type":"standard"} \ No newline at end of file diff --git a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=a1626071b7e4461b7a78f87d063ecc17-json b/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=a1626071b7e4461b7a78f87d063ecc17-json deleted file mode 100644 index 5c1b4d25..00000000 --- a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=a1626071b7e4461b7a78f87d063ecc17-json +++ /dev/null @@ -1 +0,0 @@ -{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98be516318204b40d33cd2aae70dc8508d","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/image_picker_ios/image_picker_ios-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/image_picker_ios/image_picker_ios-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/image_picker_ios/image_picker_ios.modulemap","ONLY_ACTIVE_ARCH":"NO","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"image_picker_ios","PRODUCT_NAME":"image_picker_ios","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e9864dece58fe8898e7f0b46391fe2d091f","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e988b179e3ba3eb0643314ef47fd544fc52","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/image_picker_ios/image_picker_ios-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/image_picker_ios/image_picker_ios-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/image_picker_ios/image_picker_ios.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"image_picker_ios","PRODUCT_NAME":"image_picker_ios","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e981b08ec94c515cc2b895c3ae9b4c03834","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e988b179e3ba3eb0643314ef47fd544fc52","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/image_picker_ios/image_picker_ios-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/image_picker_ios/image_picker_ios-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/image_picker_ios/image_picker_ios.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"image_picker_ios","PRODUCT_NAME":"image_picker_ios","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e982b03ce4519745554a82e5cffe58f25e2","name":"Release"}],"buildPhases":[{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98455184b1ebf4d6916746f5fbc500d738","guid":"bfdfe7dc352907fc980b868725387e98b6791fb8e76ffddc1e11f5185e6ba9d9","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98c324ea36454852a92ca5c1e7c63badd3","guid":"bfdfe7dc352907fc980b868725387e982744c0d0f0a36505d1c15c23d6935447","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e9874d33145b4eb026db783767a8627f331","guid":"bfdfe7dc352907fc980b868725387e9852492bcf209a038e7a16b3ac8411c283","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e989aa410188bb1b807675bd70c43b501ec","guid":"bfdfe7dc352907fc980b868725387e987a1e9c44d52440ca1f5e324cd3b19909","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98bb38f172fc4f9f4727a3dedcca07fc48","guid":"bfdfe7dc352907fc980b868725387e98f8f8c2601b0779c699d2dac5bd278ac1","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98ee2e909a182ee943c5a04d5112d38a65","guid":"bfdfe7dc352907fc980b868725387e98db97cd107876494aea98961b286c86c1","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e987912c452cf5c073488f6736d535565ca","guid":"bfdfe7dc352907fc980b868725387e98221b63a32b3332c8e7b2aaf405a29507","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e9866acc8882d2e86af3542c91447a63240","guid":"bfdfe7dc352907fc980b868725387e9861e5543a107bb7225169297ccd2207c5","headerVisibility":"public"}],"guid":"bfdfe7dc352907fc980b868725387e987c543487347cac13b6462fae62598e7f","type":"com.apple.buildphase.headers"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98566106fb34bacfb516ebf07d57920aa6","guid":"bfdfe7dc352907fc980b868725387e980e85bc855779f80744931a46e8bb9083"},{"fileReference":"bfdfe7dc352907fc980b868725387e98f8dc4d6581fb8f5b5c907ac0b21fbb8c","guid":"bfdfe7dc352907fc980b868725387e98c3e5c8ae8b4830c962871e88641350bc"},{"fileReference":"bfdfe7dc352907fc980b868725387e98247c332c7d249620a850bd09f2121a84","guid":"bfdfe7dc352907fc980b868725387e98c053e736621f9e5f8a4ad65a0f016f28"},{"fileReference":"bfdfe7dc352907fc980b868725387e98d989ee30069916d663cfe91d1c5986fe","guid":"bfdfe7dc352907fc980b868725387e9812f4be99a5a001879dcf3624e793e714"},{"fileReference":"bfdfe7dc352907fc980b868725387e9851702874b3473204d01c1a11a3c97351","guid":"bfdfe7dc352907fc980b868725387e98c8131c01c4a3f0decb5349a83ef7df1c"},{"fileReference":"bfdfe7dc352907fc980b868725387e981b14112e34d16a8429f88ce19e8279b2","guid":"bfdfe7dc352907fc980b868725387e98e0ab939fbafbd88342244f2b4a6d7f2e"},{"fileReference":"bfdfe7dc352907fc980b868725387e9822975da8370cfc43e8dbd1e7dc4f64f1","guid":"bfdfe7dc352907fc980b868725387e98d36dcd652bf15a28b5d5cb5df79be25e"}],"guid":"bfdfe7dc352907fc980b868725387e98ce67561b68c83c2e24888c94da999914","type":"com.apple.buildphase.sources"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98b14af7c49882340ad551cb13b0a1e06d","guid":"bfdfe7dc352907fc980b868725387e98cf1fddec899afc6c9825c5eb5ec44493"}],"guid":"bfdfe7dc352907fc980b868725387e98434353ef3b38c3699582ee30b73fe6a8","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"guid":"bfdfe7dc352907fc980b868725387e9872ef11792920b3966776ea469c5092df","targetReference":"bfdfe7dc352907fc980b868725387e98082dc85da1fc941e5234c7cc1f11b27d"}],"guid":"bfdfe7dc352907fc980b868725387e9811e9e8a5f23273fd9234f4740a75ccb9","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[{"guid":"bfdfe7dc352907fc980b868725387e989da425bb6d6d5d8dbb95e4afffb82217","name":"Flutter"},{"guid":"bfdfe7dc352907fc980b868725387e98082dc85da1fc941e5234c7cc1f11b27d","name":"image_picker_ios-image_picker_ios_privacy"}],"guid":"bfdfe7dc352907fc980b868725387e981f000f066404b97b12e9c4ca84d38d0f","name":"image_picker_ios","predominantSourceCodeLanguage":"Xcode.SourceCodeLanguage.Objective-C-Plus-Plus","productReference":{"guid":"bfdfe7dc352907fc980b868725387e988e06e8c3685b7c12032d8059f412f4cb","name":"image_picker_ios.framework","type":"product"},"productTypeIdentifier":"com.apple.product-type.framework","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":1}],"type":"standard"} \ No newline at end of file diff --git a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=a6be57b3049abd7b9f2b4e20f4ba91af-json b/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=a6be57b3049abd7b9f2b4e20f4ba91af-json deleted file mode 100644 index 78dae6f9..00000000 --- a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=a6be57b3049abd7b9f2b4e20f4ba91af-json +++ /dev/null @@ -1 +0,0 @@ -{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98d8979ec56d38d5f43a66a4cc2fbcb401","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/webview_flutter_wkwebview","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"webview_flutter_wkwebview","INFOPLIST_FILE":"Target Support Files/webview_flutter_wkwebview/ResourceBundle-webview_flutter_wkwebview_privacy-webview_flutter_wkwebview-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"12.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"webview_flutter_wkwebview_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98bada7907d535f3a8b4ff5ea15a0eccf0","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e984206827662d5208f461a0eccfc0e621b","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/webview_flutter_wkwebview","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"webview_flutter_wkwebview","INFOPLIST_FILE":"Target Support Files/webview_flutter_wkwebview/ResourceBundle-webview_flutter_wkwebview_privacy-webview_flutter_wkwebview-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"12.0","PRODUCT_NAME":"webview_flutter_wkwebview_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e989442ce00206aca38985ec9f9cca4ebaa","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e984206827662d5208f461a0eccfc0e621b","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/webview_flutter_wkwebview","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"webview_flutter_wkwebview","INFOPLIST_FILE":"Target Support Files/webview_flutter_wkwebview/ResourceBundle-webview_flutter_wkwebview_privacy-webview_flutter_wkwebview-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"12.0","PRODUCT_NAME":"webview_flutter_wkwebview_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e980e63dd39c72da64ac849e5fa7a32455e","name":"Release"}],"buildPhases":[{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e98b71e13813068a8f42815fa6985ca3a16","type":"com.apple.buildphase.sources"},{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e980ce4cc1aa52fa13fc3aaa64b1179c020","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e9835179e6884138d623d1c2669625be172","guid":"bfdfe7dc352907fc980b868725387e983cb9e9258cb37dd196c17b38d2026ca5"}],"guid":"bfdfe7dc352907fc980b868725387e98dd58b73e0338cd55ce259842a1ab5fe4","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[],"guid":"bfdfe7dc352907fc980b868725387e987c93e943aa0a38b5f6684beaf6b4a3a1","name":"webview_flutter_wkwebview-webview_flutter_wkwebview_privacy","productReference":{"guid":"bfdfe7dc352907fc980b868725387e98a0c2ea56ea4c64a4495566659e5fdb93","name":"webview_flutter_wkwebview_privacy.bundle","type":"product"},"productTypeIdentifier":"com.apple.product-type.bundle","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":0}],"type":"standard"} \ No newline at end of file diff --git a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=a771b9f79fd75fad08749ef861b3bddf-json b/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=a771b9f79fd75fad08749ef861b3bddf-json deleted file mode 100644 index 5b1c8378..00000000 --- a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=a771b9f79fd75fad08749ef861b3bddf-json +++ /dev/null @@ -1 +0,0 @@ -{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e980e6a79d9461f52673e9cd16e5e9ce12b","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/file_picker/file_picker-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/file_picker/file_picker-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/file_picker/file_picker.modulemap","ONLY_ACTIVE_ARCH":"NO","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"file_picker","PRODUCT_NAME":"file_picker","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98b3839b441583705f02a5120c8d8aa8af","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9855ea28d68c6105425b28b0dc67fbf53b","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/file_picker/file_picker-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/file_picker/file_picker-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/file_picker/file_picker.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"file_picker","PRODUCT_NAME":"file_picker","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98bf7c85eda27e5e9e0261324bd88a67cb","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9855ea28d68c6105425b28b0dc67fbf53b","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/file_picker/file_picker-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/file_picker/file_picker-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/file_picker/file_picker.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"file_picker","PRODUCT_NAME":"file_picker","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e9892027ea2a6fa425b67809870c0e18fdf","name":"Release"}],"buildPhases":[{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98194a7baf55c88f6759045c696de2d397","guid":"bfdfe7dc352907fc980b868725387e98c3154b28584fbc56128e7bc90d1ad537","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98f2597b2bfcfbe350f782de7028884db9","guid":"bfdfe7dc352907fc980b868725387e982745fee4238df0ba4c30f405f9ceb311","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e9848c85bbc8fed7f463b54a8a831976dcb","guid":"bfdfe7dc352907fc980b868725387e98d775035456af40c8df68042b9f67214a","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e980bb97ec29a5da2b10289db8377230b28","guid":"bfdfe7dc352907fc980b868725387e98072eac5d00c04d5afed78f580a9379ca","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e9815da8454f786c30d7b23218e31792c1f","guid":"bfdfe7dc352907fc980b868725387e98f879c2bd74c858de2624663875100089","headerVisibility":"public"}],"guid":"bfdfe7dc352907fc980b868725387e9874a8e10d0d4d6a8e4d51cadd3de25a1f","type":"com.apple.buildphase.headers"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98d5f93b22efc88a714a54d4c0f0e25b81","guid":"bfdfe7dc352907fc980b868725387e98a1de3a054407d1c738e24f5374fa74a5"},{"fileReference":"bfdfe7dc352907fc980b868725387e981339c3a7ce270306613c6cbf72ac67cd","guid":"bfdfe7dc352907fc980b868725387e98b4f77a39ccf0813bbd85099167af4311"},{"fileReference":"bfdfe7dc352907fc980b868725387e9801fd6a14089a47c1e1b32718bdf22178","guid":"bfdfe7dc352907fc980b868725387e98f868ffd01ce81b1910bd85586fa30587"},{"fileReference":"bfdfe7dc352907fc980b868725387e986778635029f602b4f750099540bf2fc6","guid":"bfdfe7dc352907fc980b868725387e98c7bef4a161d4b5e2d85fd85daa44e661"},{"fileReference":"bfdfe7dc352907fc980b868725387e98bfd42a1232cd7e5dc79651040aca6fa8","guid":"bfdfe7dc352907fc980b868725387e98b789e4f458ffb91b232ec4825ba9a8af"}],"guid":"bfdfe7dc352907fc980b868725387e9833a0422bc02947bdd25cd49f9b0b26c7","type":"com.apple.buildphase.sources"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98b14af7c49882340ad551cb13b0a1e06d","guid":"bfdfe7dc352907fc980b868725387e986cf52231b3e99539039502256cc80d97"}],"guid":"bfdfe7dc352907fc980b868725387e98a0e062b1c169ee922cd5cc09aef279dd","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"guid":"bfdfe7dc352907fc980b868725387e98a9270cf577ade730d8197570f3744af9","targetReference":"bfdfe7dc352907fc980b868725387e985452a642045cac0ef7c37f93da2d994e"}],"guid":"bfdfe7dc352907fc980b868725387e98300e823ab028234f8b351b783dfd9d7a","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[{"guid":"bfdfe7dc352907fc980b868725387e985fd5cdb9993b1816141f0c012ffa62bd","name":"DKImagePickerController"},{"guid":"bfdfe7dc352907fc980b868725387e989da425bb6d6d5d8dbb95e4afffb82217","name":"Flutter"},{"guid":"bfdfe7dc352907fc980b868725387e985452a642045cac0ef7c37f93da2d994e","name":"file_picker-file_picker_ios_privacy"}],"guid":"bfdfe7dc352907fc980b868725387e98bf75f71a2aa7fdc38a7d7d70e6c200c1","name":"file_picker","predominantSourceCodeLanguage":"Xcode.SourceCodeLanguage.Objective-C","productReference":{"guid":"bfdfe7dc352907fc980b868725387e981da9957ede39da2a81727560e62463b0","name":"file_picker.framework","type":"product"},"productTypeIdentifier":"com.apple.product-type.framework","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":1}],"type":"standard"} \ No newline at end of file diff --git a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=aa56745ff0f6a68146d6117b991ff12e-json b/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=aa56745ff0f6a68146d6117b991ff12e-json deleted file mode 100644 index dd032665..00000000 --- a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=aa56745ff0f6a68146d6117b991ff12e-json +++ /dev/null @@ -1 +0,0 @@ -{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98478e27dfe1d9ad49d28fafd65b85bf34","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/GTMSessionFetcher/GTMSessionFetcher-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/GTMSessionFetcher/GTMSessionFetcher.modulemap","ONLY_ACTIVE_ARCH":"NO","PRODUCT_MODULE_NAME":"GTMSessionFetcher","PRODUCT_NAME":"GTMSessionFetcher","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98b550d9cbb5a5b1883a64aca754ed9a28","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e980d155ae95de828a9ae777ff4d23d3419","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/GTMSessionFetcher/GTMSessionFetcher-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/GTMSessionFetcher/GTMSessionFetcher.modulemap","PRODUCT_MODULE_NAME":"GTMSessionFetcher","PRODUCT_NAME":"GTMSessionFetcher","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e980724459bcc96ad9ae15e006d971276b5","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e980d155ae95de828a9ae777ff4d23d3419","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/GTMSessionFetcher/GTMSessionFetcher-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/GTMSessionFetcher/GTMSessionFetcher.modulemap","PRODUCT_MODULE_NAME":"GTMSessionFetcher","PRODUCT_NAME":"GTMSessionFetcher","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98a8848bea8636652191740ffcbabf2880","name":"Release"}],"buildPhases":[{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98eb4aaedbcf9860120c58f6d4d062f032","guid":"bfdfe7dc352907fc980b868725387e988563942b64807f4e8b4f03ddc85d2d57","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e983987a537a915850cc63a9531255da27c","guid":"bfdfe7dc352907fc980b868725387e98611d73e0353201771b302ffa48bac290","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98dfa923d33e197f2f10f071abff2371ff","guid":"bfdfe7dc352907fc980b868725387e98734c9257f56678921b39462bd212351b","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98d312b9b5d7afb9da1592f829033a3206","guid":"bfdfe7dc352907fc980b868725387e98397650ca1ecab34f0d3e04f58b22aebd","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e983d4c09b113cf1215cd28e8d9ac61a23f","guid":"bfdfe7dc352907fc980b868725387e98cd40dc3db8bb82b3155de60d17499d4a"},{"fileReference":"bfdfe7dc352907fc980b868725387e9885235b209117c45670e8a7e932ed032d","guid":"bfdfe7dc352907fc980b868725387e986009430d38dfc9178aa961543af2a36d","headerVisibility":"public"}],"guid":"bfdfe7dc352907fc980b868725387e98efce177caf6f851e7498eaa2d39fa5b2","type":"com.apple.buildphase.headers"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98cc293d93ed0348775d80402fa066a035","guid":"bfdfe7dc352907fc980b868725387e9846e72a20e759e4a1f8d30b3565d478ab"},{"fileReference":"bfdfe7dc352907fc980b868725387e98043df5bc2e7d05caf248348a4d634e19","guid":"bfdfe7dc352907fc980b868725387e981a3249d92689bbcb292bf0c163124dd6"},{"fileReference":"bfdfe7dc352907fc980b868725387e98e555f92b94394e98b028c2f2173f7a28","guid":"bfdfe7dc352907fc980b868725387e98da8980140af446b24328e775a18d88d5"},{"fileReference":"bfdfe7dc352907fc980b868725387e983b71212203a0dad88a8868b08a6dbc06","guid":"bfdfe7dc352907fc980b868725387e98c10cb1ca0893a79fbc28c8a8f9b74f6c"},{"fileReference":"bfdfe7dc352907fc980b868725387e98f0441880a424196f2e774e387ed25a77","guid":"bfdfe7dc352907fc980b868725387e989a231f8fc2d1019fe4641fcc3321eb46"}],"guid":"bfdfe7dc352907fc980b868725387e98dc057af249a902b110f3a08f3e0d11f2","type":"com.apple.buildphase.sources"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98b14af7c49882340ad551cb13b0a1e06d","guid":"bfdfe7dc352907fc980b868725387e9867dd418f34545a9d0e00cd3dd1ed8856"},{"fileReference":"bfdfe7dc352907fc980b868725387e9820c167798bdb228b4ab52bb2aa7eb24b","guid":"bfdfe7dc352907fc980b868725387e98eba6d5a9331fc07032c864b0569cadd6"}],"guid":"bfdfe7dc352907fc980b868725387e98d1bc46a72df41ab8ad7c27d649c7eec3","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"guid":"bfdfe7dc352907fc980b868725387e984d676f5872d9f5405805a0c5f9b58829","targetReference":"bfdfe7dc352907fc980b868725387e9801af34ddea6be97d757786022edb34b1"}],"guid":"bfdfe7dc352907fc980b868725387e98240bda713eaa26eb6174af89993368f9","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[{"guid":"bfdfe7dc352907fc980b868725387e9801af34ddea6be97d757786022edb34b1","name":"GTMSessionFetcher-GTMSessionFetcher_Core_Privacy"}],"guid":"bfdfe7dc352907fc980b868725387e98dd3a6a519ed4181bf31ea6bc1f18ebc5","name":"GTMSessionFetcher","predominantSourceCodeLanguage":"Xcode.SourceCodeLanguage.Objective-C-Plus-Plus","productReference":{"guid":"bfdfe7dc352907fc980b868725387e98f65e88472d384b1ba0888326befb3a8e","name":"GTMSessionFetcher.framework","type":"product"},"productTypeIdentifier":"com.apple.product-type.framework","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":1}],"type":"standard"} \ No newline at end of file diff --git a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=ab724a4a507acc9a546958f9aaaa80fd-json b/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=ab724a4a507acc9a546958f9aaaa80fd-json deleted file mode 100644 index 1641b96e..00000000 --- a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=ab724a4a507acc9a546958f9aaaa80fd-json +++ /dev/null @@ -1 +0,0 @@ -{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98089a265d15a8f52f9e25ea32540ea5cd","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/package_info_plus/package_info_plus-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/package_info_plus/package_info_plus-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/package_info_plus/package_info_plus.modulemap","ONLY_ACTIVE_ARCH":"NO","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"package_info_plus","PRODUCT_NAME":"package_info_plus","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e9897051622773a9cd7d8fae6ba3be0988b","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9811034d0cd45341ec5fddd8ae14b45098","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/package_info_plus/package_info_plus-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/package_info_plus/package_info_plus-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/package_info_plus/package_info_plus.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"package_info_plus","PRODUCT_NAME":"package_info_plus","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98937974f840ad34ce898c3a62a0a52a8d","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9811034d0cd45341ec5fddd8ae14b45098","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/package_info_plus/package_info_plus-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/package_info_plus/package_info_plus-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/package_info_plus/package_info_plus.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"package_info_plus","PRODUCT_NAME":"package_info_plus","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98f7c4cdd694f93dd8f9baf8a7be82dba5","name":"Release"}],"buildPhases":[{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e9863bbc9af63b79ccfc69082c52a621490","guid":"bfdfe7dc352907fc980b868725387e988d7afa72893fb24fe059f2d1654db428","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e9833f3c33eca65f1240c201c729d3fbde7","guid":"bfdfe7dc352907fc980b868725387e984a3cde720e889627fced5106f157da46","headerVisibility":"public"}],"guid":"bfdfe7dc352907fc980b868725387e9882bf16bb6e470ae110c9ab32e9a6916b","type":"com.apple.buildphase.headers"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98fc1d853ed7c38ec64399121ac6e96d53","guid":"bfdfe7dc352907fc980b868725387e98b36210ea7ea6f2dc56f34a75a5f98870"},{"fileReference":"bfdfe7dc352907fc980b868725387e98c0d03884f20c6bbb2234aee407c81ed1","guid":"bfdfe7dc352907fc980b868725387e98807c0f13ab38bf78a255422ace44851d"}],"guid":"bfdfe7dc352907fc980b868725387e9802e6907f47df982f511318ee6421866b","type":"com.apple.buildphase.sources"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98b14af7c49882340ad551cb13b0a1e06d","guid":"bfdfe7dc352907fc980b868725387e98f9972619f6373dcc7a588e3720ff6b1d"}],"guid":"bfdfe7dc352907fc980b868725387e9853f06540a2b47e2bce34c4f52b96b9b7","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"guid":"bfdfe7dc352907fc980b868725387e98d3f2eef9a97764f5506e64926c3bef1a","targetReference":"bfdfe7dc352907fc980b868725387e987b6c2f882d164ef4f3c76673562685a1"}],"guid":"bfdfe7dc352907fc980b868725387e981ef7df0f5e6435e5f909151e5c6d893c","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[{"guid":"bfdfe7dc352907fc980b868725387e989da425bb6d6d5d8dbb95e4afffb82217","name":"Flutter"},{"guid":"bfdfe7dc352907fc980b868725387e987b6c2f882d164ef4f3c76673562685a1","name":"package_info_plus-package_info_plus_privacy"}],"guid":"bfdfe7dc352907fc980b868725387e98a5ae7244e41cc249cf7186dbb9962ecb","name":"package_info_plus","predominantSourceCodeLanguage":"Xcode.SourceCodeLanguage.Objective-C","productReference":{"guid":"bfdfe7dc352907fc980b868725387e98d9c4afca85b28d898f3002d0bb74c874","name":"package_info_plus.framework","type":"product"},"productTypeIdentifier":"com.apple.product-type.framework","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":1}],"type":"standard"} \ No newline at end of file diff --git a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=b02384d9efc0e497521a0ba9096939bd-json b/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=b02384d9efc0e497521a0ba9096939bd-json deleted file mode 100644 index fc2aa7ba..00000000 --- a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=b02384d9efc0e497521a0ba9096939bd-json +++ /dev/null @@ -1 +0,0 @@ -{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9875a911280513a51a1fcc833a02e1e86d","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/sqflite_darwin/sqflite_darwin-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/sqflite_darwin/sqflite_darwin-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/sqflite_darwin/sqflite_darwin.modulemap","ONLY_ACTIVE_ARCH":"NO","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"sqflite_darwin","PRODUCT_NAME":"sqflite_darwin","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98ee49f65d26d8a0c930cc03d16e0ffcc8","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98b2e50aea12e109eb95c45970b36f8a43","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/sqflite_darwin/sqflite_darwin-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/sqflite_darwin/sqflite_darwin-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/sqflite_darwin/sqflite_darwin.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"sqflite_darwin","PRODUCT_NAME":"sqflite_darwin","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e987d3fcd01a34fff9e18dec0764bcc371e","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98b2e50aea12e109eb95c45970b36f8a43","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/sqflite_darwin/sqflite_darwin-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/sqflite_darwin/sqflite_darwin-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/sqflite_darwin/sqflite_darwin.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"sqflite_darwin","PRODUCT_NAME":"sqflite_darwin","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e984def481d54810d0de6d3335b228b2a5d","name":"Release"}],"buildPhases":[{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e983e7d9fa60b774739ab0d6568bf07a351","guid":"bfdfe7dc352907fc980b868725387e98f74bfe561cdc142d140be02f934f1dd5","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e9879477fd65084cc006d19101f02256fe0","guid":"bfdfe7dc352907fc980b868725387e98128d41c6be7fab5e0c350afb32404ee9"},{"fileReference":"bfdfe7dc352907fc980b868725387e980e35fc805e7942676dde7f6a6cceca96","guid":"bfdfe7dc352907fc980b868725387e98996eaada1ef569420cabc129d90e2da5"},{"fileReference":"bfdfe7dc352907fc980b868725387e98592da7f3a49d3059663aa71a58cd0a4a","guid":"bfdfe7dc352907fc980b868725387e987840c2aacd1ce55599623d2fd8219817"},{"fileReference":"bfdfe7dc352907fc980b868725387e98ac0abeeeb91ccc5902df814d398020ae","guid":"bfdfe7dc352907fc980b868725387e9843bbc6c7e6cfcb0b409324fd055d0733"},{"fileReference":"bfdfe7dc352907fc980b868725387e980c6eff3a04d8f600b147b66f518c810b","guid":"bfdfe7dc352907fc980b868725387e9808d4ef82ccec1924430403b3fad24e14"},{"fileReference":"bfdfe7dc352907fc980b868725387e9812a82c89a68ff3aa4668003694edb150","guid":"bfdfe7dc352907fc980b868725387e9848d7f4c6b424b5eb3bda0e21cd2f4b1a"},{"fileReference":"bfdfe7dc352907fc980b868725387e987a187bee2cf8e65d0c11cbf842b8d0a7","guid":"bfdfe7dc352907fc980b868725387e98fe5a8d4fd311a1de8df3b173d547fb02"},{"fileReference":"bfdfe7dc352907fc980b868725387e985d2f0271270070876a34fb6538811993","guid":"bfdfe7dc352907fc980b868725387e98d7926028771abe4490aea6eb057df0a7"},{"fileReference":"bfdfe7dc352907fc980b868725387e985e37b28cf8fbbaa7f69a2cadcd43d21c","guid":"bfdfe7dc352907fc980b868725387e98ba15d3216bf17a3026096f27b47b2084"},{"fileReference":"bfdfe7dc352907fc980b868725387e98d68895a313533798394d82163692c629","guid":"bfdfe7dc352907fc980b868725387e9866e8ad8c42705df73de9d3ea6a45d657","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e988b79e3ba836e166f4d2c19a363e77ef6","guid":"bfdfe7dc352907fc980b868725387e986ed45bb24536a4f4c65921c87272200d"},{"fileReference":"bfdfe7dc352907fc980b868725387e98c9475c24e421f8b84743f5f595dcf902","guid":"bfdfe7dc352907fc980b868725387e9839c167ada258f3fc19ab5c4d03331d93"},{"fileReference":"bfdfe7dc352907fc980b868725387e985cac4af7f944cc0b3df8c11a0e43e286","guid":"bfdfe7dc352907fc980b868725387e9812641da7dad587b2e5c4f906d00a4d67","headerVisibility":"public"}],"guid":"bfdfe7dc352907fc980b868725387e98cc465b98567e5be1dff8b7284a07e4e3","type":"com.apple.buildphase.headers"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e982eb21757b507687455f8acb8e01017e3","guid":"bfdfe7dc352907fc980b868725387e985adaa6c4e40f33315ac0cec984200988"},{"fileReference":"bfdfe7dc352907fc980b868725387e9830c704358e50b5466ffb0fa7d6c2e209","guid":"bfdfe7dc352907fc980b868725387e98b66bc2a5e8397ad7553c7550ed81a8b3"},{"fileReference":"bfdfe7dc352907fc980b868725387e982ce4fd3b13126d36c4c105bebc0d9fd1","guid":"bfdfe7dc352907fc980b868725387e984dfb7eb30a2be401cd610bfeffd4e000"},{"fileReference":"bfdfe7dc352907fc980b868725387e98c6a0774da49442d88e4fb061e345fcbf","guid":"bfdfe7dc352907fc980b868725387e98f121c456012e84e3920b1e569a862cc8"},{"fileReference":"bfdfe7dc352907fc980b868725387e98018efb908ca6e0716b824fc860f61c9b","guid":"bfdfe7dc352907fc980b868725387e981a3796db56db3bbb0b570434bd6eaebc"},{"fileReference":"bfdfe7dc352907fc980b868725387e9853e6f394a4d03f7b423702095b9e1482","guid":"bfdfe7dc352907fc980b868725387e986949c0ee9f19296b1da4b9965340e04f"},{"fileReference":"bfdfe7dc352907fc980b868725387e98c8dd825ce814e57bbe46ce1cda93d700","guid":"bfdfe7dc352907fc980b868725387e988dfb0b3f564c83890326c01342984f36"},{"fileReference":"bfdfe7dc352907fc980b868725387e98f0b4b8929472bef1ea1691b2d60d35bb","guid":"bfdfe7dc352907fc980b868725387e983c190223341c96acab486a2921e070db"},{"fileReference":"bfdfe7dc352907fc980b868725387e98e7fb17279cf291b6e4e53390f27f299e","guid":"bfdfe7dc352907fc980b868725387e9868a5700dd6e3280ea41f8cb79e1d012a"}],"guid":"bfdfe7dc352907fc980b868725387e9837c2f0a37c50e959478519168227e455","type":"com.apple.buildphase.sources"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98b14af7c49882340ad551cb13b0a1e06d","guid":"bfdfe7dc352907fc980b868725387e982f461d51c284a55b8f869fc9092ae5dc"}],"guid":"bfdfe7dc352907fc980b868725387e98dd47f73652ff7b522b7942f6a87afd23","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"guid":"bfdfe7dc352907fc980b868725387e98d17544c34b81de618417de5f9c91b4ec","targetReference":"bfdfe7dc352907fc980b868725387e9883134bb5f399cb37a1eb075d4fea30d8"}],"guid":"bfdfe7dc352907fc980b868725387e98e60a652c76bfee084293e97b00176921","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[{"guid":"bfdfe7dc352907fc980b868725387e989da425bb6d6d5d8dbb95e4afffb82217","name":"Flutter"},{"guid":"bfdfe7dc352907fc980b868725387e9883134bb5f399cb37a1eb075d4fea30d8","name":"sqflite_darwin-sqflite_darwin_privacy"}],"guid":"bfdfe7dc352907fc980b868725387e981304d3d2169071b3ca365b19f5340b7c","name":"sqflite_darwin","predominantSourceCodeLanguage":"Xcode.SourceCodeLanguage.Objective-C-Plus-Plus","productReference":{"guid":"bfdfe7dc352907fc980b868725387e98dbbec3eebed26c79cc653713be723aba","name":"sqflite_darwin.framework","type":"product"},"productTypeIdentifier":"com.apple.product-type.framework","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":1}],"type":"standard"} \ No newline at end of file diff --git a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=b77db6430f49f02a32943c46bd03734b-json b/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=b77db6430f49f02a32943c46bd03734b-json deleted file mode 100644 index d89e2b5f..00000000 --- a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=b77db6430f49f02a32943c46bd03734b-json +++ /dev/null @@ -1 +0,0 @@ -{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98de35fcdac3f67fe0119b4d27e7b7c6d4","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/share_plus","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"share_plus","INFOPLIST_FILE":"Target Support Files/share_plus/ResourceBundle-share_plus_privacy-share_plus-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"12.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"share_plus_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98e5a3d2d567b139959df75218c71b66fd","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98d3219dc3abe23add073ba57e4e5929db","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/share_plus","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"share_plus","INFOPLIST_FILE":"Target Support Files/share_plus/ResourceBundle-share_plus_privacy-share_plus-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"12.0","PRODUCT_NAME":"share_plus_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e986d4684892a6fdb9c01a08656828b5ab4","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98d3219dc3abe23add073ba57e4e5929db","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/share_plus","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"share_plus","INFOPLIST_FILE":"Target Support Files/share_plus/ResourceBundle-share_plus_privacy-share_plus-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"12.0","PRODUCT_NAME":"share_plus_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98faa8faccc0ce834a2f40454a96ae0f16","name":"Release"}],"buildPhases":[{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e98f228107ed7261ebdcf699369e1ff469b","type":"com.apple.buildphase.sources"},{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e9831f10af7cac106e78a3f4ac65215ce6c","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98599bbd5b1a4bdbf5bed39a964d34f18c","guid":"bfdfe7dc352907fc980b868725387e9841c969f816d52d2934fec436e4bcc8ad"}],"guid":"bfdfe7dc352907fc980b868725387e9838153627aa97afe0a969918517cff7fc","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[],"guid":"bfdfe7dc352907fc980b868725387e98de00f90750e7753637464fe34137709d","name":"share_plus-share_plus_privacy","productReference":{"guid":"bfdfe7dc352907fc980b868725387e987f86a96a3ca03f6247aa68a7b2c0bfd0","name":"share_plus_privacy.bundle","type":"product"},"productTypeIdentifier":"com.apple.product-type.bundle","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":0}],"type":"standard"} \ No newline at end of file diff --git a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=bca7282312c3cbd6420517c0b06b2299-json b/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=bca7282312c3cbd6420517c0b06b2299-json deleted file mode 100644 index b8afac45..00000000 --- a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=bca7282312c3cbd6420517c0b06b2299-json +++ /dev/null @@ -1 +0,0 @@ -{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e980e6a79d9461f52673e9cd16e5e9ce12b","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/file_picker","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"file_picker","INFOPLIST_FILE":"Target Support Files/file_picker/ResourceBundle-file_picker_ios_privacy-file_picker-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"12.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"file_picker_ios_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98e7e78ac96f79fef2cdccc6cc993884eb","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9855ea28d68c6105425b28b0dc67fbf53b","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/file_picker","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"file_picker","INFOPLIST_FILE":"Target Support Files/file_picker/ResourceBundle-file_picker_ios_privacy-file_picker-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"12.0","PRODUCT_NAME":"file_picker_ios_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98030df92af3ffb7185e5f144aaca5e69d","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9855ea28d68c6105425b28b0dc67fbf53b","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/file_picker","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"file_picker","INFOPLIST_FILE":"Target Support Files/file_picker/ResourceBundle-file_picker_ios_privacy-file_picker-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"12.0","PRODUCT_NAME":"file_picker_ios_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98a14345481287e8e98db95bfecc704979","name":"Release"}],"buildPhases":[{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e98b1fa9f9f46dd0e1ce069cb3a890829f1","type":"com.apple.buildphase.sources"},{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e9819ce6287b1cc301d39929c98d63e4509","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98b551b0a25b90abd62be165059ca67d67","guid":"bfdfe7dc352907fc980b868725387e98c89ed2b7d867d492dce9accf965b0a06"}],"guid":"bfdfe7dc352907fc980b868725387e988e8f9fb9411ed3d8661c320a247fd84e","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[],"guid":"bfdfe7dc352907fc980b868725387e985452a642045cac0ef7c37f93da2d994e","name":"file_picker-file_picker_ios_privacy","productReference":{"guid":"bfdfe7dc352907fc980b868725387e985ae769d0b989789f9e90cfb215ac5a2e","name":"file_picker_ios_privacy.bundle","type":"product"},"productTypeIdentifier":"com.apple.product-type.bundle","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":0}],"type":"standard"} \ No newline at end of file diff --git a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=bec8a7e752ab7d5daa41943969c542ce-json b/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=bec8a7e752ab7d5daa41943969c542ce-json deleted file mode 100644 index d6fa787b..00000000 --- a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=bec8a7e752ab7d5daa41943969c542ce-json +++ /dev/null @@ -1 +0,0 @@ -{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e981ccda656ca076caea1e69514af198f0f","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/GoogleUtilities/GoogleUtilities-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"12.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/GoogleUtilities/GoogleUtilities.modulemap","ONLY_ACTIVE_ARCH":"NO","PRODUCT_MODULE_NAME":"GoogleUtilities","PRODUCT_NAME":"GoogleUtilities","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98793392d0b2a0b5d47aa3f042e39e70ae","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e984a59f58d9dc78fdedc9a249bdac259e0","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/GoogleUtilities/GoogleUtilities-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"12.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/GoogleUtilities/GoogleUtilities.modulemap","PRODUCT_MODULE_NAME":"GoogleUtilities","PRODUCT_NAME":"GoogleUtilities","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e9865b9fba70050dac6138d14ba73a94446","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e984a59f58d9dc78fdedc9a249bdac259e0","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/GoogleUtilities/GoogleUtilities-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"12.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/GoogleUtilities/GoogleUtilities.modulemap","PRODUCT_MODULE_NAME":"GoogleUtilities","PRODUCT_NAME":"GoogleUtilities","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98519621d5de4a46cb8b7b01ccba5eacb9","name":"Release"}],"buildPhases":[{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98845f39c98795e88b4a4937d3cf6cf467","guid":"bfdfe7dc352907fc980b868725387e98c0262c52c9f15ef9b1cc1cf21b27b91c","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98c29046bbab936122dbb0c2cfc14ba72d","guid":"bfdfe7dc352907fc980b868725387e985fa36fcbbe638b46a9f4e712443948b4","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98eab1d503d7f2282f98d6d9a02d7ec14d","guid":"bfdfe7dc352907fc980b868725387e981d941a5de8bead97782cad810830a5a9"},{"fileReference":"bfdfe7dc352907fc980b868725387e98d2f8185c0a44a500020d910dc85efd9a","guid":"bfdfe7dc352907fc980b868725387e9830090dec5db655b35732530148a40c7b","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e980cb51518c389a1e74d47410a29888c54","guid":"bfdfe7dc352907fc980b868725387e982356d4b36aed609ad10f91702457d2d2","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e985108977873122d0fd57cf870ac976fae","guid":"bfdfe7dc352907fc980b868725387e988cc9ac141aeb4adbaae609c44b9a4fe6","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e9852edbfb572efb173287d7f90327aaf76","guid":"bfdfe7dc352907fc980b868725387e98bd963f63c09db904c898ba55d88dc71d","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98618f336933ff6de3d4b3c21ed135498e","guid":"bfdfe7dc352907fc980b868725387e980021e82b1497257aa0218fd3c8f86e17","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98475fd4618ac5ac675f5ed1b8f6b6716f","guid":"bfdfe7dc352907fc980b868725387e98a3c778a2514863bfcb2200fbf5100c9e"},{"fileReference":"bfdfe7dc352907fc980b868725387e981958c32a9380d192ba5d6d582d804a04","guid":"bfdfe7dc352907fc980b868725387e98958acf964d2ae7e3caee0b8c451b09e2","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98873946fb03e9b9792f4f2c868cb04157","guid":"bfdfe7dc352907fc980b868725387e98b343a1a932677bfa2d18cb1a0b144e68","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98b539eaa0485467aec39f108decf7ce35","guid":"bfdfe7dc352907fc980b868725387e9801eeb14b9dd6704e7b6066d9c8d61296","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98f596251d1ba47fb590a11c4fedd4bad6","guid":"bfdfe7dc352907fc980b868725387e9846adbe422c2bde237a26674cdee17b78","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98ed0c4266fd7527af26b4180205338e03","guid":"bfdfe7dc352907fc980b868725387e98d2f912486e901ca4584510e98f725ace","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e988a9a3e02046e4440587c711dad22de63","guid":"bfdfe7dc352907fc980b868725387e98d327704c98281573a8ec6d9f45cd28e1"},{"fileReference":"bfdfe7dc352907fc980b868725387e98676e9831ef9ffb5a827c77d203afd919","guid":"bfdfe7dc352907fc980b868725387e98d5b724d922712a9f76e08f61fb9fc70a","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98436c7dd83d7131340adf9904ee2a22d7","guid":"bfdfe7dc352907fc980b868725387e98206fab94717a61cfafb039ff58d35a0c","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98e8161f35d2f39b644227bef4985f0d59","guid":"bfdfe7dc352907fc980b868725387e984f0c21ccd5e36ab7f241e3e752a500d5","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98e22f64f75d44ed26f0063f98c220931a","guid":"bfdfe7dc352907fc980b868725387e98d02fb7f9dfd74d0dec91d6fd11390716","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98c794a9f352278aabf8d2fa9bcf1b4ee3","guid":"bfdfe7dc352907fc980b868725387e988d2bd0cc39ccea78c5be517ca9aa42f5","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e988c2d21cc3ccea47a9793788238de5094","guid":"bfdfe7dc352907fc980b868725387e981abe0c3f1cd919f7bd4e32b734e6bbbb"},{"fileReference":"bfdfe7dc352907fc980b868725387e987937768805e8acc718e8e50513d69cbd","guid":"bfdfe7dc352907fc980b868725387e98feba0120075400ed3b201e8a30659f68"},{"fileReference":"bfdfe7dc352907fc980b868725387e98ade842c0931397013938f333262dace9","guid":"bfdfe7dc352907fc980b868725387e98b05dbd36b34edd4e1be09d01b2284cdc","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e988abc52683367496919aa598227a1331f","guid":"bfdfe7dc352907fc980b868725387e983596e2b4984780a693f2792b1b5a7f18"},{"fileReference":"bfdfe7dc352907fc980b868725387e98c5a84dc841d16549464a86e97f593c03","guid":"bfdfe7dc352907fc980b868725387e98b90568286da862f16e2f88320a146302","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e985c18bce96838a531d4d7946d6ee3e86f","guid":"bfdfe7dc352907fc980b868725387e980dd4450c821da3e2ad3d478e338edb04"}],"guid":"bfdfe7dc352907fc980b868725387e98a415572b1562595f0c46e5b5cf8592bd","type":"com.apple.buildphase.headers"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98d975ca315b4242d5baed303cb7aab051","guid":"bfdfe7dc352907fc980b868725387e98a4e7a20628e3d8b892e2b48e14f91028"},{"fileReference":"bfdfe7dc352907fc980b868725387e9836a90af84591e983274e6666393b3a2e","guid":"bfdfe7dc352907fc980b868725387e98ee00a6c9a0a56d9de69a03305b6e1921"},{"fileReference":"bfdfe7dc352907fc980b868725387e98c27f8b93b1c490fbac91a853d0924367","guid":"bfdfe7dc352907fc980b868725387e9862c73f036c4c9fdbb78c54f564e9215d"},{"fileReference":"bfdfe7dc352907fc980b868725387e9804c38c80ac78ea91dfede61e8a02a9f4","guid":"bfdfe7dc352907fc980b868725387e9886b3f0d7704f9a75be922ea3657120f9"},{"fileReference":"bfdfe7dc352907fc980b868725387e98e76ed7edc7a31347233120173cdb2e3a","guid":"bfdfe7dc352907fc980b868725387e985c49d2645e456f63d33f45596d887b24"},{"fileReference":"bfdfe7dc352907fc980b868725387e984a49ba4137eac58897391a09f550b916","guid":"bfdfe7dc352907fc980b868725387e98eb3975180c5f303377eaa8dcb3c5e4b9"},{"fileReference":"bfdfe7dc352907fc980b868725387e983e9921832e287ee04048d221e1bee849","guid":"bfdfe7dc352907fc980b868725387e98e09616b72f88ba692ee8f54bc10ea5f2"},{"fileReference":"bfdfe7dc352907fc980b868725387e987128275d56f53442e3921be1a6970593","guid":"bfdfe7dc352907fc980b868725387e981dfcf72b4e28b55038f17a958454cd59"},{"fileReference":"bfdfe7dc352907fc980b868725387e985b8cba972f211425405a63011c53445a","guid":"bfdfe7dc352907fc980b868725387e980effb268955087e7db669e1da6146955"},{"fileReference":"bfdfe7dc352907fc980b868725387e98089b73b727d89e627dc2d8e0e82dc186","guid":"bfdfe7dc352907fc980b868725387e982db3d27f87f50556ca44b543574d7b21"},{"fileReference":"bfdfe7dc352907fc980b868725387e9823abfe0467d22e8134a5c86c0381cf91","guid":"bfdfe7dc352907fc980b868725387e98e6a3c5ca501d74d506859ab16548b704"},{"fileReference":"bfdfe7dc352907fc980b868725387e9817e6f355fc27ce11ca9eca96e7177a5a","guid":"bfdfe7dc352907fc980b868725387e9832f2896fe76316470f82abcc257092b7"},{"fileReference":"bfdfe7dc352907fc980b868725387e986a169b3bbe51ae95f696d081d0a7c6eb","guid":"bfdfe7dc352907fc980b868725387e9875ad916c74e8c7cdcd6bb32d8b717aad"},{"fileReference":"bfdfe7dc352907fc980b868725387e98bb8b15be2869f96e89cb90c94f936c88","guid":"bfdfe7dc352907fc980b868725387e989a97cc9235d7af64c66d6b89dfc849f1"},{"fileReference":"bfdfe7dc352907fc980b868725387e98ab52ae4e38d39e8507fe9603aa99a926","guid":"bfdfe7dc352907fc980b868725387e986765d5ed97e290f49fbf5472819df038"},{"fileReference":"bfdfe7dc352907fc980b868725387e98c93ef45b447d11d19620fa2627f46021","guid":"bfdfe7dc352907fc980b868725387e987fc888c7b9d41ccda5cc7e0bc571494f"}],"guid":"bfdfe7dc352907fc980b868725387e98baa793ef163ae38add98dde80ec0f028","type":"com.apple.buildphase.sources"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98b14af7c49882340ad551cb13b0a1e06d","guid":"bfdfe7dc352907fc980b868725387e989cc92cbf6cfd341c97b42afe5ef3ae15"},{"fileReference":"bfdfe7dc352907fc980b868725387e9820c167798bdb228b4ab52bb2aa7eb24b","guid":"bfdfe7dc352907fc980b868725387e984219e8ad2796683567b161d56d0542fc"},{"fileReference":"bfdfe7dc352907fc980b868725387e98e0217d662efb0603efc52f1254a3c7a8","guid":"bfdfe7dc352907fc980b868725387e98494756648d148dfd85a540d5dfa40c0b"}],"guid":"bfdfe7dc352907fc980b868725387e9888e6a5479802250bf82d036ca17f7195","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"guid":"bfdfe7dc352907fc980b868725387e98fa55bb6ad9a1e437351d0ec8ac00da47","targetReference":"bfdfe7dc352907fc980b868725387e981a9fac6eb9c80f8eed49fda0531af6a4"}],"guid":"bfdfe7dc352907fc980b868725387e9807086d74acbea69d70cf2d58f1edcc28","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[{"guid":"bfdfe7dc352907fc980b868725387e981a9fac6eb9c80f8eed49fda0531af6a4","name":"GoogleUtilities-GoogleUtilities_Privacy"}],"guid":"bfdfe7dc352907fc980b868725387e98718890dfdac589615663a02d43d9af3e","name":"GoogleUtilities","predominantSourceCodeLanguage":"Xcode.SourceCodeLanguage.Objective-C-Plus-Plus","productReference":{"guid":"bfdfe7dc352907fc980b868725387e98ca49ca851f2777b997a3e74ccb860358","name":"GoogleUtilities.framework","type":"product"},"productTypeIdentifier":"com.apple.product-type.framework","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":1}],"type":"standard"} \ No newline at end of file diff --git a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=c1be6d82376acb043052cbc000a547ae-json b/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=c1be6d82376acb043052cbc000a547ae-json deleted file mode 100644 index 18e5871b..00000000 --- a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=c1be6d82376acb043052cbc000a547ae-json +++ /dev/null @@ -1 +0,0 @@ -{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e982b66b547d250357cf91d1817df7cb423","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/file_selector_ios","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"file_selector_ios","INFOPLIST_FILE":"Target Support Files/file_selector_ios/ResourceBundle-file_selector_ios_privacy-file_selector_ios-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"12.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"file_selector_ios_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98eba1323e3dd271e674c3ba6f2a782347","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98f68cdcb857b34033c4bd7d63083cfeef","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/file_selector_ios","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"file_selector_ios","INFOPLIST_FILE":"Target Support Files/file_selector_ios/ResourceBundle-file_selector_ios_privacy-file_selector_ios-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"12.0","PRODUCT_NAME":"file_selector_ios_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98fdbc6e81278bdd854b5da56b6983cac8","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98f68cdcb857b34033c4bd7d63083cfeef","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/file_selector_ios","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"file_selector_ios","INFOPLIST_FILE":"Target Support Files/file_selector_ios/ResourceBundle-file_selector_ios_privacy-file_selector_ios-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"12.0","PRODUCT_NAME":"file_selector_ios_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e986442f840b2209922c85f4e1df1016096","name":"Release"}],"buildPhases":[{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e9873c1f4137498928a8efc00e6d59a0cd2","type":"com.apple.buildphase.sources"},{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e98f1ee2d7e135b464c46b9d2c75d8df4ce","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e9829fbee1379c76a8f9639197078562c42","guid":"bfdfe7dc352907fc980b868725387e98582312471fe04e4750555118964d8479"}],"guid":"bfdfe7dc352907fc980b868725387e9895fd39c9cc061b537d91a78419bbb412","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[],"guid":"bfdfe7dc352907fc980b868725387e9865c7202c1fc33b2af510b64e6d532fb2","name":"file_selector_ios-file_selector_ios_privacy","productReference":{"guid":"bfdfe7dc352907fc980b868725387e98eea7ddd1978d7c6c4a7d366f56242af7","name":"file_selector_ios_privacy.bundle","type":"product"},"productTypeIdentifier":"com.apple.product-type.bundle","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":0}],"type":"standard"} \ No newline at end of file diff --git a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=c369ca2358afe46d56e9c4f067675637-json b/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=c369ca2358afe46d56e9c4f067675637-json deleted file mode 100644 index 099db5b5..00000000 --- a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=c369ca2358afe46d56e9c4f067675637-json +++ /dev/null @@ -1 +0,0 @@ -{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98d8979ec56d38d5f43a66a4cc2fbcb401","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/webview_flutter_wkwebview/webview_flutter_wkwebview-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/webview_flutter_wkwebview/webview_flutter_wkwebview-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","MODULEMAP_FILE":"Target Support Files/webview_flutter_wkwebview/webview_flutter_wkwebview.modulemap","ONLY_ACTIVE_ARCH":"NO","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"webview_flutter_wkwebview","PRODUCT_NAME":"webview_flutter_wkwebview","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e981ff4ee6b2d87a9b32a1fe29a8421b0e6","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e984206827662d5208f461a0eccfc0e621b","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/webview_flutter_wkwebview/webview_flutter_wkwebview-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/webview_flutter_wkwebview/webview_flutter_wkwebview-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","MODULEMAP_FILE":"Target Support Files/webview_flutter_wkwebview/webview_flutter_wkwebview.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"webview_flutter_wkwebview","PRODUCT_NAME":"webview_flutter_wkwebview","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98b244d36e17c524559c280c5efd5caedf","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e984206827662d5208f461a0eccfc0e621b","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/webview_flutter_wkwebview/webview_flutter_wkwebview-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/webview_flutter_wkwebview/webview_flutter_wkwebview-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","MODULEMAP_FILE":"Target Support Files/webview_flutter_wkwebview/webview_flutter_wkwebview.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"webview_flutter_wkwebview","PRODUCT_NAME":"webview_flutter_wkwebview","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98e47e65136b50e077c8953dbf59006fc4","name":"Release"}],"buildPhases":[{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98be6867ee97e573510941c1420420ae39","guid":"bfdfe7dc352907fc980b868725387e98e0a1b1bbd80a1d9ab7e3e2b4fcedc873","headerVisibility":"public"}],"guid":"bfdfe7dc352907fc980b868725387e9879a9cedcfbca7cfcd9ba78e739bf32b6","type":"com.apple.buildphase.headers"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e986ae0ecde56284e1c58ce266e014e4407","guid":"bfdfe7dc352907fc980b868725387e9804497387339cafa9cc0710798da9ab64"},{"fileReference":"bfdfe7dc352907fc980b868725387e98ffad4f1ea24597bdb838ed18709ce0bc","guid":"bfdfe7dc352907fc980b868725387e9843ac0921cd4dffc47af17967f5b9c6ce"},{"fileReference":"bfdfe7dc352907fc980b868725387e986cf40d51c23844c27b2d3847574a999b","guid":"bfdfe7dc352907fc980b868725387e98d890a6ca4f2c764e0fca35bc611a04f4"},{"fileReference":"bfdfe7dc352907fc980b868725387e98ccb07914d3f2ac2700b37e1af527dcb6","guid":"bfdfe7dc352907fc980b868725387e98814241f3358abc9857a079a41bf1b6e7"},{"fileReference":"bfdfe7dc352907fc980b868725387e98c274a9bb2f458649df20b73def238a31","guid":"bfdfe7dc352907fc980b868725387e98dbbae3640a8353a0e9a293c659d45397"},{"fileReference":"bfdfe7dc352907fc980b868725387e98b087fab6a6147e88ea8188b98eb479b2","guid":"bfdfe7dc352907fc980b868725387e9833be444c57cc0be316f626b45c704949"},{"fileReference":"bfdfe7dc352907fc980b868725387e983f800f06f13b5c13b4116ae2800ebd62","guid":"bfdfe7dc352907fc980b868725387e9821369c9e099718006da852370f44fbfd"},{"fileReference":"bfdfe7dc352907fc980b868725387e9858a1908524c1677a38ba9bec48112f5d","guid":"bfdfe7dc352907fc980b868725387e98d72cc48cc1d54e0688fca37b330a2e1d"},{"fileReference":"bfdfe7dc352907fc980b868725387e98936d1a39e1338c5cff1f46f1bdcbd970","guid":"bfdfe7dc352907fc980b868725387e987583e6f4a703ae590962a4382dfc5fb0"},{"fileReference":"bfdfe7dc352907fc980b868725387e98b7c272896c5e5a1f7466f96e730ef7f7","guid":"bfdfe7dc352907fc980b868725387e985c17fc1fb796a67ef777f60e1717153d"},{"fileReference":"bfdfe7dc352907fc980b868725387e98c92dad67cbc17d9bb7df16017787161e","guid":"bfdfe7dc352907fc980b868725387e987e9b17b47846c4b2a6277c4abbd35061"},{"fileReference":"bfdfe7dc352907fc980b868725387e989c9816f986731e3e1d1441ad2f76dc0e","guid":"bfdfe7dc352907fc980b868725387e98007dc0ddb0e127b1a5671d0008a272f3"},{"fileReference":"bfdfe7dc352907fc980b868725387e9880ed52f43c3c027879cb9c6fa4a7ad00","guid":"bfdfe7dc352907fc980b868725387e98755ada3e2b64bb977e99bf43b9026bdf"},{"fileReference":"bfdfe7dc352907fc980b868725387e98978f7d76a4c8e6fe24dc8571670abd23","guid":"bfdfe7dc352907fc980b868725387e981f8977c1d4425fc583ccc5400ae5d18c"},{"fileReference":"bfdfe7dc352907fc980b868725387e986681d4e22fff219fca4ec770df70c9e1","guid":"bfdfe7dc352907fc980b868725387e98350d85f6b218fefc56e5c4fbe12c79ba"},{"fileReference":"bfdfe7dc352907fc980b868725387e98d4eec0353bf3d879db362a265046b0e7","guid":"bfdfe7dc352907fc980b868725387e98a98a965bbbe16ed249af77c3b5ab3401"},{"fileReference":"bfdfe7dc352907fc980b868725387e980d2fd3010d16903a103f41c3d714b7e9","guid":"bfdfe7dc352907fc980b868725387e98c4cb265a1860102b4c54c2f462f29ac4"},{"fileReference":"bfdfe7dc352907fc980b868725387e988a05d69eb8d96765483690bed6c8821a","guid":"bfdfe7dc352907fc980b868725387e98b0598cc906ed0036c8b88aa60059401b"},{"fileReference":"bfdfe7dc352907fc980b868725387e98758323be30595585a4e9d22cb3236be5","guid":"bfdfe7dc352907fc980b868725387e989e8b0793dc1d5c92ae425907dac008bf"},{"fileReference":"bfdfe7dc352907fc980b868725387e98b4d68270040b8330c48a9bfda2ee1f78","guid":"bfdfe7dc352907fc980b868725387e9869ea031087413fd4090b2b02ba609845"},{"fileReference":"bfdfe7dc352907fc980b868725387e98e3f1b198c65452c6f005bd694e225209","guid":"bfdfe7dc352907fc980b868725387e981414040a2834de2dbd9637ac4f1cfa08"},{"fileReference":"bfdfe7dc352907fc980b868725387e983ea44e48c15b67058eab146e81a72a1b","guid":"bfdfe7dc352907fc980b868725387e986c0d146f8cfba8a7f0d0c55d64870918"},{"fileReference":"bfdfe7dc352907fc980b868725387e9847e082023cbf1f0ad654c010c16055b9","guid":"bfdfe7dc352907fc980b868725387e98b938c7f743065b74bb9ca1dc7477d29b"},{"fileReference":"bfdfe7dc352907fc980b868725387e9888e40043e949782763c5e735d32e3a70","guid":"bfdfe7dc352907fc980b868725387e9858a580b83d292a930544934f57a5718c"},{"fileReference":"bfdfe7dc352907fc980b868725387e9881237e59a4bd058f54f8676a7cd5b107","guid":"bfdfe7dc352907fc980b868725387e98b92c9489cd59260396946a41ba58fafd"},{"fileReference":"bfdfe7dc352907fc980b868725387e985a450fed3b83a420034fb96375aeaa79","guid":"bfdfe7dc352907fc980b868725387e988a4f4239ede72ab7e8922905b5aa2e58"},{"fileReference":"bfdfe7dc352907fc980b868725387e98f452d1e497caac321e297e891b43bdb8","guid":"bfdfe7dc352907fc980b868725387e98cc382c3acf3dd29c9f32dc46bee90b52"},{"fileReference":"bfdfe7dc352907fc980b868725387e9813ac29d09ae3837e5525c4b1de95e553","guid":"bfdfe7dc352907fc980b868725387e982b87084c9a83b96bf37c4927bd9678c8"},{"fileReference":"bfdfe7dc352907fc980b868725387e98fb109f357f6fb05d543e2466bcb69c4d","guid":"bfdfe7dc352907fc980b868725387e9847d5a54a6dae7c8f2308ac848fa3b054"},{"fileReference":"bfdfe7dc352907fc980b868725387e98823c5c55a09222a1e95e42f7723b1e09","guid":"bfdfe7dc352907fc980b868725387e9884c71385d871476ef7cffdf9fbbe2e22"},{"fileReference":"bfdfe7dc352907fc980b868725387e98d37a1bf89227943cc5f9bf8dedaec4de","guid":"bfdfe7dc352907fc980b868725387e98d39e285a97235c21ed8fb578a8217419"},{"fileReference":"bfdfe7dc352907fc980b868725387e9809ccb0b60ddd3aa24d201b1fbbf78872","guid":"bfdfe7dc352907fc980b868725387e9821a546435ddb540d19676b751b14b9fc"},{"fileReference":"bfdfe7dc352907fc980b868725387e985e9a33b760a4323436cf8a2ac5237f2c","guid":"bfdfe7dc352907fc980b868725387e980f1cb66fba3ef968844a70a896340de4"},{"fileReference":"bfdfe7dc352907fc980b868725387e98507cc65c36bbdd5e0f5f59644120aa86","guid":"bfdfe7dc352907fc980b868725387e98281cd180c02d9272bc18f2a08984bf02"},{"fileReference":"bfdfe7dc352907fc980b868725387e985144a306910625f395b522423bd48599","guid":"bfdfe7dc352907fc980b868725387e98f7bced146748f847485cd1f302b2f0a8"},{"fileReference":"bfdfe7dc352907fc980b868725387e983eb7aeab09594d1843bdb8ee61e437b3","guid":"bfdfe7dc352907fc980b868725387e98b79d76c44769f57337a5cd1a455fa902"},{"fileReference":"bfdfe7dc352907fc980b868725387e98d5f967adad441e2ff1ad91ba479d4fcd","guid":"bfdfe7dc352907fc980b868725387e98f1bb703c89e6ca91a4e2a0d3959b07c6"},{"fileReference":"bfdfe7dc352907fc980b868725387e987d4bd25f4b769d8f640b3dd0b8ae5a1c","guid":"bfdfe7dc352907fc980b868725387e98e309e19dc03b36bd23901e28ae223d12"},{"fileReference":"bfdfe7dc352907fc980b868725387e9859611e05685d6f3b5c95a6eec6a330ea","guid":"bfdfe7dc352907fc980b868725387e98857d8feaed8a37a106927cef8fc88ebc"},{"fileReference":"bfdfe7dc352907fc980b868725387e986201e1488ad29294b96f9cba25c0615c","guid":"bfdfe7dc352907fc980b868725387e9865ef2fd4b4dac4d75c4ce457bd7b29da"},{"fileReference":"bfdfe7dc352907fc980b868725387e9861f6692e45bf40cd6897b227a33ace1d","guid":"bfdfe7dc352907fc980b868725387e9876a7199f6857234bd7f8a09a196d6a55"},{"fileReference":"bfdfe7dc352907fc980b868725387e98639301e9eea43149be010207d55747c9","guid":"bfdfe7dc352907fc980b868725387e98e7610a3878889873b335f8473a930955"},{"fileReference":"bfdfe7dc352907fc980b868725387e98494f5fc7ec16230a398c9f181fa0e807","guid":"bfdfe7dc352907fc980b868725387e98a4a20ab870fa902d9dabc0fd394cca80"}],"guid":"bfdfe7dc352907fc980b868725387e98d4e227abc1c57dee11b04c0677be8616","type":"com.apple.buildphase.sources"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98b14af7c49882340ad551cb13b0a1e06d","guid":"bfdfe7dc352907fc980b868725387e98a7ed74afb34752809424c1b2ac24db77"}],"guid":"bfdfe7dc352907fc980b868725387e9866a573d4e48c5bbeb13b62681d9717c9","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"guid":"bfdfe7dc352907fc980b868725387e987c92de85c218b74dbd9157bc9f7aed23","targetReference":"bfdfe7dc352907fc980b868725387e987c93e943aa0a38b5f6684beaf6b4a3a1"}],"guid":"bfdfe7dc352907fc980b868725387e984f679f16df53a306ffce2a9c05640f8a","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[{"guid":"bfdfe7dc352907fc980b868725387e989da425bb6d6d5d8dbb95e4afffb82217","name":"Flutter"},{"guid":"bfdfe7dc352907fc980b868725387e987c93e943aa0a38b5f6684beaf6b4a3a1","name":"webview_flutter_wkwebview-webview_flutter_wkwebview_privacy"}],"guid":"bfdfe7dc352907fc980b868725387e988efdc4dd0ac29b43123295eca853f4ed","name":"webview_flutter_wkwebview","predominantSourceCodeLanguage":"Xcode.SourceCodeLanguage.Swift","productReference":{"guid":"bfdfe7dc352907fc980b868725387e980823710353e0487822d6da09bf8d6254","name":"webview_flutter_wkwebview.framework","type":"product"},"productTypeIdentifier":"com.apple.product-type.framework","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":1}],"type":"standard"} \ No newline at end of file diff --git a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=c57ff86689b99a8853e2ae591b9ac8c6-json b/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=c57ff86689b99a8853e2ae591b9ac8c6-json deleted file mode 100644 index 4e5303ca..00000000 --- a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=c57ff86689b99a8853e2ae591b9ac8c6-json +++ /dev/null @@ -1 +0,0 @@ -{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98853911a66086d603dff7e7f648c6248b","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/SDWebImage","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"SDWebImage","INFOPLIST_FILE":"Target Support Files/SDWebImage/ResourceBundle-SDWebImage-SDWebImage-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"9.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"SDWebImage","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e987218912d294645b3b061e54e6c882221","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98924a369cb6c964ba34275d7ca3bc2dda","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/SDWebImage","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"SDWebImage","INFOPLIST_FILE":"Target Support Files/SDWebImage/ResourceBundle-SDWebImage-SDWebImage-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"9.0","PRODUCT_NAME":"SDWebImage","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98b213cdb98f11db9ecabdd1455560e3fa","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98924a369cb6c964ba34275d7ca3bc2dda","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/SDWebImage","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"SDWebImage","INFOPLIST_FILE":"Target Support Files/SDWebImage/ResourceBundle-SDWebImage-SDWebImage-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"9.0","PRODUCT_NAME":"SDWebImage","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98b6c6260be17345855bd089cbb61b41f4","name":"Release"}],"buildPhases":[{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e9832f8c2b10ec49e95a69b9f72be30b01b","type":"com.apple.buildphase.sources"},{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e98854260f87d35c4ac72c21ca3148ffe52","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98f00a9964af8b3d1e72008eb9a3395135","guid":"bfdfe7dc352907fc980b868725387e988bd3504482fe41a43249d3c6d8d5b4a3"}],"guid":"bfdfe7dc352907fc980b868725387e983443094cc631a439428563c47a920aa9","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[],"guid":"bfdfe7dc352907fc980b868725387e9826e2628dc041aabe2d77e75ccb1dc95b","name":"SDWebImage-SDWebImage","productReference":{"guid":"bfdfe7dc352907fc980b868725387e986798c379d76b6055dc2d719d4bd63a69","name":"SDWebImage.bundle","type":"product"},"productTypeIdentifier":"com.apple.product-type.bundle","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":0}],"type":"standard"} \ No newline at end of file diff --git a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=c5e74116acf786c1a12c0ae36c3b648b-json b/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=c5e74116acf786c1a12c0ae36c3b648b-json deleted file mode 100644 index e0488bc0..00000000 --- a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=c5e74116acf786c1a12c0ae36c3b648b-json +++ /dev/null @@ -1 +0,0 @@ -{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98bcd767e09eacb2538a5dd8f4781036cb","buildSettings":{"CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/screen_brightness_ios/screen_brightness_ios-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/screen_brightness_ios/screen_brightness_ios-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/screen_brightness_ios/screen_brightness_ios.modulemap","ONLY_ACTIVE_ARCH":"NO","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"screen_brightness_ios","PRODUCT_NAME":"screen_brightness_ios","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98a2af83387b7f3af699711d80a904da92","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98e478cdbb3210aa9b19b78eddddb7437c","buildSettings":{"CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/screen_brightness_ios/screen_brightness_ios-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/screen_brightness_ios/screen_brightness_ios-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/screen_brightness_ios/screen_brightness_ios.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"screen_brightness_ios","PRODUCT_NAME":"screen_brightness_ios","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98df48769a0fc5dc7cafbde54a79e119b8","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98e478cdbb3210aa9b19b78eddddb7437c","buildSettings":{"CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/screen_brightness_ios/screen_brightness_ios-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/screen_brightness_ios/screen_brightness_ios-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/screen_brightness_ios/screen_brightness_ios.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"screen_brightness_ios","PRODUCT_NAME":"screen_brightness_ios","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e989fefe900bb2130e1e726407ba4e2e561","name":"Release"}],"buildPhases":[{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e987ab43a0db493d8c4b0f8700a9bfc1b25","guid":"bfdfe7dc352907fc980b868725387e98d6c1da118da235177a9397058e862c48","headerVisibility":"public"}],"guid":"bfdfe7dc352907fc980b868725387e98517a14fedf6aa01968b8a59f4d7f5262","type":"com.apple.buildphase.headers"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98cf5aede3c3831b4f8bb98fbaee4e8fbb","guid":"bfdfe7dc352907fc980b868725387e9871dc3b6d091b7ca1e83d8da47ff66fa2"},{"fileReference":"bfdfe7dc352907fc980b868725387e98d17b81a48ac298f16189bcd229ac4ecc","guid":"bfdfe7dc352907fc980b868725387e9809abfeeb7eb19d943e849561924b830c"},{"fileReference":"bfdfe7dc352907fc980b868725387e988e75d6c80cb6aa025440d7188964cd4c","guid":"bfdfe7dc352907fc980b868725387e98712e1e09d35effc38f167fb5b3c3c932"},{"fileReference":"bfdfe7dc352907fc980b868725387e982068862e6717c819c4fbc09fb536b24a","guid":"bfdfe7dc352907fc980b868725387e98518ec4d404496f3c73d93ec41b9ab6ba"}],"guid":"bfdfe7dc352907fc980b868725387e98eb5b89b7940e57fc9e4c6e0b580085c5","type":"com.apple.buildphase.sources"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98b14af7c49882340ad551cb13b0a1e06d","guid":"bfdfe7dc352907fc980b868725387e98ded547427679d36d2213c27860bb1ca1"}],"guid":"bfdfe7dc352907fc980b868725387e98a56bbbbc075976e8dcfb497aa10844ff","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"guid":"bfdfe7dc352907fc980b868725387e988d81158616dbbb23e539b8849635a386","targetReference":"bfdfe7dc352907fc980b868725387e98e778028627b75b5d409ed7c4767eb6e1"}],"guid":"bfdfe7dc352907fc980b868725387e98bee5b610c5d575db1acc7bab68c103b6","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[{"guid":"bfdfe7dc352907fc980b868725387e989da425bb6d6d5d8dbb95e4afffb82217","name":"Flutter"},{"guid":"bfdfe7dc352907fc980b868725387e98e778028627b75b5d409ed7c4767eb6e1","name":"screen_brightness_ios-screen_brightness_ios_privacy"}],"guid":"bfdfe7dc352907fc980b868725387e980c3d3b60e3a8ded9747b35c2abc6c55a","name":"screen_brightness_ios","predominantSourceCodeLanguage":"Xcode.SourceCodeLanguage.Swift","productReference":{"guid":"bfdfe7dc352907fc980b868725387e98068fa378c761628650c0ac4b495bd4f4","name":"screen_brightness_ios.framework","type":"product"},"productTypeIdentifier":"com.apple.product-type.framework","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":1}],"type":"standard"} \ No newline at end of file diff --git a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=c7e279690d57f8e9617670c2dd8215da-json b/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=c7e279690d57f8e9617670c2dd8215da-json deleted file mode 100644 index 68478a06..00000000 --- a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=c7e279690d57f8e9617670c2dd8215da-json +++ /dev/null @@ -1 +0,0 @@ -{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98c744f4c75270e1fd52589ff556e2583a","buildSettings":{"CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/printing/printing-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/printing/printing-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/printing/printing.modulemap","ONLY_ACTIVE_ARCH":"NO","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"printing","PRODUCT_NAME":"printing","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"4.2","TARGETED_DEVICE_FAMILY":"1,2","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e989180cbb294342c37c56fef1b2a496a3e","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9848711414c4cdd6db7086eae6ec63ab7b","buildSettings":{"CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/printing/printing-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/printing/printing-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/printing/printing.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"printing","PRODUCT_NAME":"printing","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"4.2","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e982f826a4dc5d774d621798c14630037db","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9848711414c4cdd6db7086eae6ec63ab7b","buildSettings":{"CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/printing/printing-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/printing/printing-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/printing/printing.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"printing","PRODUCT_NAME":"printing","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"4.2","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98afa791a1e715b561d31327b1e18fa2fa","name":"Release"}],"buildPhases":[{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98bd71f2ad20b6a88b723ff05b2d7e23ad","guid":"bfdfe7dc352907fc980b868725387e98c5232107b13054f10b2125348c3b89be","headerVisibility":"public"}],"guid":"bfdfe7dc352907fc980b868725387e98f8c7b0feb00d4a0d796038a589dcbff4","type":"com.apple.buildphase.headers"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e983df66a6182a9ad3e5e664af1554596bb","guid":"bfdfe7dc352907fc980b868725387e989998bbcd9cfe43fdb81f921bbd512cd0"},{"fileReference":"bfdfe7dc352907fc980b868725387e986c7db250b8f3f408d66f6e7a19972379","guid":"bfdfe7dc352907fc980b868725387e986d0f5149546efd2bae23df8631a6d086"},{"fileReference":"bfdfe7dc352907fc980b868725387e98f47fd36e52148ce929fdb4b957af7e73","guid":"bfdfe7dc352907fc980b868725387e982a196f855aa1f83323a5de96d3fa205b"},{"fileReference":"bfdfe7dc352907fc980b868725387e98176d3062b5d63f50555ac516d1a7b762","guid":"bfdfe7dc352907fc980b868725387e98e7cce645e1a486b20be6ea77f4446896"},{"fileReference":"bfdfe7dc352907fc980b868725387e98151367d82561314a10d2c18601c9b287","guid":"bfdfe7dc352907fc980b868725387e98138beb7de231d45c702665b1097b614e"}],"guid":"bfdfe7dc352907fc980b868725387e98762120b03e967ca976ed83bb9ff49e9e","type":"com.apple.buildphase.sources"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98b14af7c49882340ad551cb13b0a1e06d","guid":"bfdfe7dc352907fc980b868725387e986aa8e5e3dd58adad6e672f929ff69a9d"}],"guid":"bfdfe7dc352907fc980b868725387e988677d1d09f996e86d984b8e885573392","type":"com.apple.buildphase.frameworks"},{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e988e57b82a9a8cfa20eca24bd310928f38","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[{"guid":"bfdfe7dc352907fc980b868725387e989da425bb6d6d5d8dbb95e4afffb82217","name":"Flutter"}],"guid":"bfdfe7dc352907fc980b868725387e9868b3737835b98c013ea1e742f994ae22","name":"printing","predominantSourceCodeLanguage":"Xcode.SourceCodeLanguage.Swift","productReference":{"guid":"bfdfe7dc352907fc980b868725387e983541805154b8a0a140f969f779b5ca3a","name":"printing.framework","type":"product"},"productTypeIdentifier":"com.apple.product-type.framework","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":1}],"type":"standard"} \ No newline at end of file diff --git a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=c832b6797055a73fc2a937f2ace5a80c-json b/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=c832b6797055a73fc2a937f2ace5a80c-json deleted file mode 100644 index 62ef455a..00000000 --- a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=c832b6797055a73fc2a937f2ace5a80c-json +++ /dev/null @@ -1 +0,0 @@ -{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9850cc7fc2d23136fb4fac488d6c47df20","buildSettings":{"ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES":"NO","CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","INFOPLIST_FILE":"Target Support Files/Pods-Runner/Pods-Runner-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.5.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MACH_O_TYPE":"staticlib","MODULEMAP_FILE":"Target Support Files/Pods-Runner/Pods-Runner.modulemap","ONLY_ACTIVE_ARCH":"NO","OTHER_LDFLAGS":"$(inherited) -framework Flutter","OTHER_LIBTOOLFLAGS":"","PODS_ROOT":"$(SRCROOT)","PRODUCT_BUNDLE_IDENTIFIER":"org.cocoapods.${PRODUCT_NAME:rfc1034identifier}","PRODUCT_NAME":"$(TARGET_NAME:c99extidentifier)","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98cc17ac4a853e48900fef73bc45c77506","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98dc1a21852c7a085c7dd8f65cf0fa9907","buildSettings":{"ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES":"NO","CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","INFOPLIST_FILE":"Target Support Files/Pods-Runner/Pods-Runner-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.5.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MACH_O_TYPE":"staticlib","MODULEMAP_FILE":"Target Support Files/Pods-Runner/Pods-Runner.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","OTHER_LIBTOOLFLAGS":"","PODS_ROOT":"$(SRCROOT)","PRODUCT_BUNDLE_IDENTIFIER":"org.cocoapods.${PRODUCT_NAME:rfc1034identifier}","PRODUCT_NAME":"$(TARGET_NAME:c99extidentifier)","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e987d8f9a1b84227cfbdc591476163d8a88","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98f17abf55d75f35efcaf45a1185b085b6","buildSettings":{"ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES":"NO","CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","INFOPLIST_FILE":"Target Support Files/Pods-Runner/Pods-Runner-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.5.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MACH_O_TYPE":"staticlib","MODULEMAP_FILE":"Target Support Files/Pods-Runner/Pods-Runner.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","OTHER_LIBTOOLFLAGS":"","PODS_ROOT":"$(SRCROOT)","PRODUCT_BUNDLE_IDENTIFIER":"org.cocoapods.${PRODUCT_NAME:rfc1034identifier}","PRODUCT_NAME":"$(TARGET_NAME:c99extidentifier)","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98de61797bc95845f506a94d8a3f0d074e","name":"Release"}],"buildPhases":[{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e980ec6fbca7264a6936f2adfc48dd7f5bc","guid":"bfdfe7dc352907fc980b868725387e987f252fe794679d3a8adfaf2c33f51316","headerVisibility":"public"}],"guid":"bfdfe7dc352907fc980b868725387e98c8faf61c8ceeabc5b5e6b6c279f1a223","type":"com.apple.buildphase.headers"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98fed0970e703d355c9aff813f280aafdc","guid":"bfdfe7dc352907fc980b868725387e9850e904616f5713acdb9ce4319e4bb0be"}],"guid":"bfdfe7dc352907fc980b868725387e98ba7b3484a09e2c1ce7f1b8e52bde6bd9","type":"com.apple.buildphase.sources"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98b14af7c49882340ad551cb13b0a1e06d","guid":"bfdfe7dc352907fc980b868725387e987ce943584c3ffff55d9320cd1190a5e6"}],"guid":"bfdfe7dc352907fc980b868725387e9813731d23b33ca055aa03dd2874ce97ab","type":"com.apple.buildphase.frameworks"},{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e985166ce798dfc9a0dff05a4e2cde56403","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[{"guid":"bfdfe7dc352907fc980b868725387e98cd8162b601eb6c17e4d86eec112a388c","name":"AppCheckCore"},{"guid":"bfdfe7dc352907fc980b868725387e985fd5cdb9993b1816141f0c012ffa62bd","name":"DKImagePickerController"},{"guid":"bfdfe7dc352907fc980b868725387e989d0a1858a86fd6e6731ed20f88a1e515","name":"DKPhotoGallery"},{"guid":"bfdfe7dc352907fc980b868725387e98c16926158ef45fa2ac81bd3203fcd49e","name":"FBAudienceNetwork"},{"guid":"bfdfe7dc352907fc980b868725387e98d57b8bce60a0f11113f4cff532db68d3","name":"Firebase"},{"guid":"bfdfe7dc352907fc980b868725387e98ecaebc2b66f6675fbaa388164aa6c8dd","name":"FirebaseAppCheck"},{"guid":"bfdfe7dc352907fc980b868725387e981f0a8508efd61386103314ddbb82a530","name":"FirebaseAppCheckInterop"},{"guid":"bfdfe7dc352907fc980b868725387e98b762d5de103fb6cfc7506aa6be1d4f33","name":"FirebaseAuth"},{"guid":"bfdfe7dc352907fc980b868725387e988e935c81efc4686179f554b8fe37864a","name":"FirebaseAuthInterop"},{"guid":"bfdfe7dc352907fc980b868725387e98a408a4c1f668e62161cdeba76f57d50c","name":"FirebaseCore"},{"guid":"bfdfe7dc352907fc980b868725387e982fcb5e27d041e48b96b3ab14ce32d5f2","name":"FirebaseCoreExtension"},{"guid":"bfdfe7dc352907fc980b868725387e98020791fd2e7b7ddc8fb2658339c42e16","name":"FirebaseCoreInternal"},{"guid":"bfdfe7dc352907fc980b868725387e989da425bb6d6d5d8dbb95e4afffb82217","name":"Flutter"},{"guid":"bfdfe7dc352907fc980b868725387e98dd3a6a519ed4181bf31ea6bc1f18ebc5","name":"GTMSessionFetcher"},{"guid":"bfdfe7dc352907fc980b868725387e98cd53d937e824fad9f4527eeeb684cb40","name":"Google-Mobile-Ads-SDK"},{"guid":"bfdfe7dc352907fc980b868725387e98bbd9e0ed4cdc41b93625c3661dbcaa81","name":"GoogleMobileAdsMediationFacebook"},{"guid":"bfdfe7dc352907fc980b868725387e98c777611770584bd7c20ebf80e3d30200","name":"GoogleUserMessagingPlatform"},{"guid":"bfdfe7dc352907fc980b868725387e98718890dfdac589615663a02d43d9af3e","name":"GoogleUtilities"},{"guid":"bfdfe7dc352907fc980b868725387e98f10882e1684b8a3dfdec597bc0a47af3","name":"PromisesObjC"},{"guid":"bfdfe7dc352907fc980b868725387e98da29652de71b686743df2bd56decf7ef","name":"RecaptchaInterop"},{"guid":"bfdfe7dc352907fc980b868725387e98c46180aea4e87057640961e6db37df0d","name":"SDWebImage"},{"guid":"bfdfe7dc352907fc980b868725387e9872eabefc63c14dfe52fb0c95ad90294e","name":"SwiftyGif"},{"guid":"bfdfe7dc352907fc980b868725387e98c7dd3f56f799b35458f81928cf1cb47b","name":"app_settings"},{"guid":"bfdfe7dc352907fc980b868725387e98f08a09402d437c098acddc7bcf497e64","name":"camera_avfoundation"},{"guid":"bfdfe7dc352907fc980b868725387e98d41ce0bf2141365ff0288286787936d9","name":"device_info_plus"},{"guid":"bfdfe7dc352907fc980b868725387e98bf75f71a2aa7fdc38a7d7d70e6c200c1","name":"file_picker"},{"guid":"bfdfe7dc352907fc980b868725387e9875e40ebaf7773ac78830d9822a5265df","name":"file_saver"},{"guid":"bfdfe7dc352907fc980b868725387e984c83246bc20987a37ea775a535d55cc9","name":"file_selector_ios"},{"guid":"bfdfe7dc352907fc980b868725387e98213dce80d6344a36faf6079e42d20067","name":"firebase_app_check"},{"guid":"bfdfe7dc352907fc980b868725387e983788d8769c821650606514be955fca93","name":"firebase_auth"},{"guid":"bfdfe7dc352907fc980b868725387e987f74324bfc5c78140e34d510e26e00c1","name":"firebase_core"},{"guid":"bfdfe7dc352907fc980b868725387e98cfaa9701b1371f15b99c4f66ff385fb3","name":"fl_downloader"},{"guid":"bfdfe7dc352907fc980b868725387e9822a19f6c224a402387a233be75a6e268","name":"flutter_native_splash"},{"guid":"bfdfe7dc352907fc980b868725387e98b342d8d6d2a8c1bb89705e2a22345264","name":"flutter_tts"},{"guid":"bfdfe7dc352907fc980b868725387e9821d372cc1e7c7587a12aeda843619e39","name":"geolocator_apple"},{"guid":"bfdfe7dc352907fc980b868725387e98ec9201ffba3c82781a28590604d34ce4","name":"gma_mediation_meta"},{"guid":"bfdfe7dc352907fc980b868725387e9811f9347c979613c5502173cd5b43060d","name":"google_mobile_ads"},{"guid":"bfdfe7dc352907fc980b868725387e981f000f066404b97b12e9c4ca84d38d0f","name":"image_picker_ios"},{"guid":"bfdfe7dc352907fc980b868725387e988cbaddc02f6ec7fadc6b543cd6534960","name":"local_auth_darwin"},{"guid":"bfdfe7dc352907fc980b868725387e98b54f2bdfc3ce691d3ad04972a364d2a5","name":"mobile_scanner"},{"guid":"bfdfe7dc352907fc980b868725387e98a5ae7244e41cc249cf7186dbb9962ecb","name":"package_info_plus"},{"guid":"bfdfe7dc352907fc980b868725387e9830037b09fee48cfce1f8562d753688c8","name":"path_provider_foundation"},{"guid":"bfdfe7dc352907fc980b868725387e9868b3737835b98c013ea1e742f994ae22","name":"printing"},{"guid":"bfdfe7dc352907fc980b868725387e986a7f857d9699ce0307f844d6d31566d3","name":"quick_actions_ios"},{"guid":"bfdfe7dc352907fc980b868725387e98ff12fc6cf192a2fce22083281b19ee98","name":"record_ios"},{"guid":"bfdfe7dc352907fc980b868725387e980c3d3b60e3a8ded9747b35c2abc6c55a","name":"screen_brightness_ios"},{"guid":"bfdfe7dc352907fc980b868725387e98848ff9cf74c635f5324731538a1c853f","name":"share_plus"},{"guid":"bfdfe7dc352907fc980b868725387e9828cab1f188854e0a973e6ff6905c5ffe","name":"shared_preferences_foundation"},{"guid":"bfdfe7dc352907fc980b868725387e981304d3d2169071b3ca365b19f5340b7c","name":"sqflite_darwin"},{"guid":"bfdfe7dc352907fc980b868725387e9869b9058bfc96f2a6a75b4b5dd4df3117","name":"syncfusion_flutter_pdfviewer"},{"guid":"bfdfe7dc352907fc980b868725387e98903e66fa03d6d27edaa18126a82c20fd","name":"url_launcher_ios"},{"guid":"bfdfe7dc352907fc980b868725387e988efdc4dd0ac29b43123295eca853f4ed","name":"webview_flutter_wkwebview"}],"guid":"bfdfe7dc352907fc980b868725387e98312b4bc59bbbe2c06c205bf4da6737f5","name":"Pods-Runner","predominantSourceCodeLanguage":"Xcode.SourceCodeLanguage.Objective-C","productReference":{"guid":"bfdfe7dc352907fc980b868725387e98699846e06e93b50cafdb00290784c775","name":"Pods_Runner.framework","type":"product"},"productTypeIdentifier":"com.apple.product-type.framework","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":1}],"type":"standard"} \ No newline at end of file diff --git a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=cbb1eb454f498b998b145ed6dace7d98-json b/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=cbb1eb454f498b998b145ed6dace7d98-json deleted file mode 100644 index 5ca30f17..00000000 --- a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=cbb1eb454f498b998b145ed6dace7d98-json +++ /dev/null @@ -1 +0,0 @@ -{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e983535bec86897f82e29e35c2a37087d79","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/camera_avfoundation","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"camera_avfoundation","INFOPLIST_FILE":"Target Support Files/camera_avfoundation/ResourceBundle-camera_avfoundation_privacy-camera_avfoundation-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"12.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"camera_avfoundation_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e983eb5b47f46c85c0de877a296628c3f1e","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e989ea7a1b7622f37728c5db7b6902fabc9","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/camera_avfoundation","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"camera_avfoundation","INFOPLIST_FILE":"Target Support Files/camera_avfoundation/ResourceBundle-camera_avfoundation_privacy-camera_avfoundation-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"12.0","PRODUCT_NAME":"camera_avfoundation_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e981f9b7500d4a6aa1a9968638a39f51879","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e989ea7a1b7622f37728c5db7b6902fabc9","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/camera_avfoundation","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"camera_avfoundation","INFOPLIST_FILE":"Target Support Files/camera_avfoundation/ResourceBundle-camera_avfoundation_privacy-camera_avfoundation-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"12.0","PRODUCT_NAME":"camera_avfoundation_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98de8a7c14b69ef452eba8aa2276e33ff1","name":"Release"}],"buildPhases":[{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e987b426121b7548413d88986dc83300f8c","type":"com.apple.buildphase.sources"},{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e989c52abe5cb58976985aa045a25733adb","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e982f6dd2634fb467a93787bdea5788bf12","guid":"bfdfe7dc352907fc980b868725387e98c53113c2881ba9ebc2dbd234f782b734"}],"guid":"bfdfe7dc352907fc980b868725387e987c700ecbb719f85f1a935ddff0540717","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[],"guid":"bfdfe7dc352907fc980b868725387e98b9038e7e871b75150c57ed973218b158","name":"camera_avfoundation-camera_avfoundation_privacy","productReference":{"guid":"bfdfe7dc352907fc980b868725387e98a8d4c68aa344dd716b8838fcfafaf16f","name":"camera_avfoundation_privacy.bundle","type":"product"},"productTypeIdentifier":"com.apple.product-type.bundle","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":0}],"type":"standard"} \ No newline at end of file diff --git a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=cc4efb059f8f4ef111f94e7221f71ad1-json b/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=cc4efb059f8f4ef111f94e7221f71ad1-json deleted file mode 100644 index 079de28a..00000000 --- a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=cc4efb059f8f4ef111f94e7221f71ad1-json +++ /dev/null @@ -1 +0,0 @@ -{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98bcd767e09eacb2538a5dd8f4781036cb","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/screen_brightness_ios","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"screen_brightness_ios","INFOPLIST_FILE":"Target Support Files/screen_brightness_ios/ResourceBundle-screen_brightness_ios_privacy-screen_brightness_ios-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"9.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"screen_brightness_ios_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e985723a52fca48de9f7b73c801bd073223","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98e478cdbb3210aa9b19b78eddddb7437c","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/screen_brightness_ios","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"screen_brightness_ios","INFOPLIST_FILE":"Target Support Files/screen_brightness_ios/ResourceBundle-screen_brightness_ios_privacy-screen_brightness_ios-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"9.0","PRODUCT_NAME":"screen_brightness_ios_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98983416a16fd32fdb65b2fa2ead8aceff","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98e478cdbb3210aa9b19b78eddddb7437c","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/screen_brightness_ios","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"screen_brightness_ios","INFOPLIST_FILE":"Target Support Files/screen_brightness_ios/ResourceBundle-screen_brightness_ios_privacy-screen_brightness_ios-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"9.0","PRODUCT_NAME":"screen_brightness_ios_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98b607cd4376423ba1e0f3f7d51dc7eec5","name":"Release"}],"buildPhases":[{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e989e565c9e0abe20769ebd3c57fb43ab87","type":"com.apple.buildphase.sources"},{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e98a074c1e178dad9a1a5a6f0a30f1925b5","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98b567af24496618e3e6787600e87a49bf","guid":"bfdfe7dc352907fc980b868725387e98f5ec6a16ef0ec31fa90e90ec55c533fb"}],"guid":"bfdfe7dc352907fc980b868725387e98c096b214d31386355ce33c7becf542f0","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[],"guid":"bfdfe7dc352907fc980b868725387e98e778028627b75b5d409ed7c4767eb6e1","name":"screen_brightness_ios-screen_brightness_ios_privacy","productReference":{"guid":"bfdfe7dc352907fc980b868725387e980618668f1945e57ca1ef133e5e4cd0fa","name":"screen_brightness_ios_privacy.bundle","type":"product"},"productTypeIdentifier":"com.apple.product-type.bundle","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":0}],"type":"standard"} \ No newline at end of file diff --git a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=cc9ef9cfbfe34cf5230700b7d8fcc951-json b/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=cc9ef9cfbfe34cf5230700b7d8fcc951-json deleted file mode 100644 index cdc22416..00000000 --- a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=cc9ef9cfbfe34cf5230700b7d8fcc951-json +++ /dev/null @@ -1 +0,0 @@ -{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98ae2b6e690d9c19a64378428b59f82e0b","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/FBAudienceNetwork","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"FBAudienceNetwork","INFOPLIST_FILE":"Target Support Files/FBAudienceNetwork/ResourceBundle-FBAudienceNetwork-FBAudienceNetwork-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"12.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"FBAudienceNetwork","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98dde23b97725dd241725862953973d5e2","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98bf594d3cbb3ba4c66c475a7d56edf012","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/FBAudienceNetwork","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"FBAudienceNetwork","INFOPLIST_FILE":"Target Support Files/FBAudienceNetwork/ResourceBundle-FBAudienceNetwork-FBAudienceNetwork-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"12.0","PRODUCT_NAME":"FBAudienceNetwork","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98dddf221c40151c14a2c635254cbfa43d","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98bf594d3cbb3ba4c66c475a7d56edf012","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/FBAudienceNetwork","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"FBAudienceNetwork","INFOPLIST_FILE":"Target Support Files/FBAudienceNetwork/ResourceBundle-FBAudienceNetwork-FBAudienceNetwork-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"12.0","PRODUCT_NAME":"FBAudienceNetwork","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e9802da13b531fa227d301691556eb8e71a","name":"Release"}],"buildPhases":[{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e98e43c2dc576b2b1dff115fe00e995ad34","type":"com.apple.buildphase.sources"},{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e98e4f3b36443e3681be38cef5963954b6d","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e9800817c14be55ffe583e047275a4b3cda","guid":"bfdfe7dc352907fc980b868725387e98cf1e790998556aaef8584105749282bd"}],"guid":"bfdfe7dc352907fc980b868725387e988b2b0dd93c751ed80e081fc01d0cfe60","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[],"guid":"bfdfe7dc352907fc980b868725387e988a4e25c3b6648d4c88499e02f77b811a","name":"FBAudienceNetwork-FBAudienceNetwork","productReference":{"guid":"bfdfe7dc352907fc980b868725387e9809cddfc82cd5ea2ec210b80200def916","name":"FBAudienceNetwork.bundle","type":"product"},"productTypeIdentifier":"com.apple.product-type.bundle","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":0}],"type":"standard"} \ No newline at end of file diff --git a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=cccb0eb2cb0393abaa5f1f05d755160e-json b/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=cccb0eb2cb0393abaa5f1f05d755160e-json deleted file mode 100644 index d21782b2..00000000 --- a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=cccb0eb2cb0393abaa5f1f05d755160e-json +++ /dev/null @@ -1 +0,0 @@ -{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e988dc0dcaabffa36a9e85d057769df808d","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/google_mobile_ads","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"google_mobile_ads","INFOPLIST_FILE":"Target Support Files/google_mobile_ads/ResourceBundle-google_mobile_ads-google_mobile_ads-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"12.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"google_mobile_ads","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e986c911657d6ac059feda98c12db51010e","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e987e81c25c7cd2ea8e1b445f8bd4d6b142","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/google_mobile_ads","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"google_mobile_ads","INFOPLIST_FILE":"Target Support Files/google_mobile_ads/ResourceBundle-google_mobile_ads-google_mobile_ads-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"12.0","PRODUCT_NAME":"google_mobile_ads","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e981ef12a0a1c6fd0e6c6aec00900a484b2","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e987e81c25c7cd2ea8e1b445f8bd4d6b142","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/google_mobile_ads","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"google_mobile_ads","INFOPLIST_FILE":"Target Support Files/google_mobile_ads/ResourceBundle-google_mobile_ads-google_mobile_ads-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"12.0","PRODUCT_NAME":"google_mobile_ads","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e982b2034e654edde92840ada339a8cddae","name":"Release"}],"buildPhases":[{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e980ed54f5352662a0124c0119f9db0abda","type":"com.apple.buildphase.sources"},{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e9881976eb1fa9e0a491341ad5560f9a2c6","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e982d53de7511db5a956fe99a4cfd6a3fc6","guid":"bfdfe7dc352907fc980b868725387e9894e33589982c634a6f477a4d790d1caf"},{"fileReference":"bfdfe7dc352907fc980b868725387e98fb4a1331e3e12b4a42dc22a871d90dbc","guid":"bfdfe7dc352907fc980b868725387e9830805bb02df8d52a0b3e9d7391ab2884"},{"fileReference":"bfdfe7dc352907fc980b868725387e983b2fa426a77c6733b0fe8cfa17eaaa44","guid":"bfdfe7dc352907fc980b868725387e98085b71502c539a264c6d03cc6b68fdaa"}],"guid":"bfdfe7dc352907fc980b868725387e98e41180d575b58451a1687e098db94663","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[],"guid":"bfdfe7dc352907fc980b868725387e9804037656a8578d8e730f9d99c54e40e2","name":"google_mobile_ads-google_mobile_ads","productReference":{"guid":"bfdfe7dc352907fc980b868725387e98bfcaaabe96491183229cf5e8736513d4","name":"google_mobile_ads.bundle","type":"product"},"productTypeIdentifier":"com.apple.product-type.bundle","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":0}],"type":"standard"} \ No newline at end of file diff --git a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=cf214d336cf673b4a25ba8952e58ad2f-json b/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=cf214d336cf673b4a25ba8952e58ad2f-json deleted file mode 100644 index d40c8633..00000000 --- a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=cf214d336cf673b4a25ba8952e58ad2f-json +++ /dev/null @@ -1 +0,0 @@ -{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98b8e89d3c9864142bc7587bc7895448f7","buildSettings":{"CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/flutter_tts/flutter_tts-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/flutter_tts/flutter_tts-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MACH_O_TYPE":"staticlib","MODULEMAP_FILE":"Target Support Files/flutter_tts/flutter_tts.modulemap","ONLY_ACTIVE_ARCH":"NO","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"flutter_tts","PRODUCT_NAME":"flutter_tts","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"4.2","TARGETED_DEVICE_FAMILY":"1,2","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e987c21dec9912de8dd48c2961102a548da","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98111c994b75369b574157edb8fabcd0dc","buildSettings":{"CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/flutter_tts/flutter_tts-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/flutter_tts/flutter_tts-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MACH_O_TYPE":"staticlib","MODULEMAP_FILE":"Target Support Files/flutter_tts/flutter_tts.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"flutter_tts","PRODUCT_NAME":"flutter_tts","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"4.2","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e980c53d9195ad8c7b478ee93c3e371d243","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98111c994b75369b574157edb8fabcd0dc","buildSettings":{"CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/flutter_tts/flutter_tts-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/flutter_tts/flutter_tts-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MACH_O_TYPE":"staticlib","MODULEMAP_FILE":"Target Support Files/flutter_tts/flutter_tts.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"flutter_tts","PRODUCT_NAME":"flutter_tts","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"4.2","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98580e5289bd35cea1ad82b295518eeca5","name":"Release"}],"buildPhases":[{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e9825cfe228bef73c17089a941802e513b1","guid":"bfdfe7dc352907fc980b868725387e98aa4a9e8e8bbf670e2186afb9344708d9","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98df53373bea73f458559a5c4b8e8a4d93","guid":"bfdfe7dc352907fc980b868725387e984fe29b4a3467f9a27602703ddea30611","headerVisibility":"public"}],"guid":"bfdfe7dc352907fc980b868725387e9814445869fbeae769a49c8e54c2b20845","type":"com.apple.buildphase.headers"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98273545ef5ac201300b0bb57c4690f008","guid":"bfdfe7dc352907fc980b868725387e988b58ae42c4344a0957add32c30def327"},{"fileReference":"bfdfe7dc352907fc980b868725387e988f4f0b636ec4f957216c6e152d4e6b99","guid":"bfdfe7dc352907fc980b868725387e9855247ceee2656d809bc03a95fb73d03c"},{"fileReference":"bfdfe7dc352907fc980b868725387e98497ea7215b16a92c8bf53dd577da1a03","guid":"bfdfe7dc352907fc980b868725387e984764ca785930289888f450b49955aa21"},{"fileReference":"bfdfe7dc352907fc980b868725387e98b11e2a9ab729e7e8322eb0a54ccd2fb5","guid":"bfdfe7dc352907fc980b868725387e98cc55721341fbdd8f8618883eae3422bd"},{"fileReference":"bfdfe7dc352907fc980b868725387e98bfeb1e815de07bb393e068cd889f2c82","guid":"bfdfe7dc352907fc980b868725387e983aec172ab0af09596fddeb87d9ea754b"},{"fileReference":"bfdfe7dc352907fc980b868725387e989645eb0ac136e2e344e1b31f8f5743b7","guid":"bfdfe7dc352907fc980b868725387e984e6204af82101e190cdeca07c73d2841"}],"guid":"bfdfe7dc352907fc980b868725387e98680422fb5b2b688026c70eaeae5b6c83","type":"com.apple.buildphase.sources"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98b14af7c49882340ad551cb13b0a1e06d","guid":"bfdfe7dc352907fc980b868725387e98fa7e636c2fe620d708188f11c6211032"}],"guid":"bfdfe7dc352907fc980b868725387e98146323fd34b1855743f3e2d7257195f2","type":"com.apple.buildphase.frameworks"},{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e9811a51cddc529c93c2490d8bdbf4abac5","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[{"guid":"bfdfe7dc352907fc980b868725387e989da425bb6d6d5d8dbb95e4afffb82217","name":"Flutter"}],"guid":"bfdfe7dc352907fc980b868725387e98b342d8d6d2a8c1bb89705e2a22345264","name":"flutter_tts","predominantSourceCodeLanguage":"Xcode.SourceCodeLanguage.Swift","productReference":{"guid":"bfdfe7dc352907fc980b868725387e98ed8855c6c2348477429e791b76577a29","name":"flutter_tts.framework","type":"product"},"productTypeIdentifier":"com.apple.product-type.framework","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":1}],"type":"standard"} \ No newline at end of file diff --git a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=d014b307105d5d21e3d383fba60d7745-json b/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=d014b307105d5d21e3d383fba60d7745-json deleted file mode 100644 index 39d826e3..00000000 --- a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=d014b307105d5d21e3d383fba60d7745-json +++ /dev/null @@ -1 +0,0 @@ -{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98e8f5202bf6c2927877bbede594254bac","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","GCC_PREFIX_HEADER":"Target Support Files/FirebaseCoreExtension/FirebaseCoreExtension-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/FirebaseCoreExtension/FirebaseCoreExtension-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/FirebaseCoreExtension/FirebaseCoreExtension.modulemap","ONLY_ACTIVE_ARCH":"NO","PRODUCT_MODULE_NAME":"FirebaseCoreExtension","PRODUCT_NAME":"FirebaseCoreExtension","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.9","TARGETED_DEVICE_FAMILY":"1,2","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98d7d5560296933c11495f1b9d11cd96b8","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e986a53acd8d9569d0c22497ed69917f900","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","GCC_PREFIX_HEADER":"Target Support Files/FirebaseCoreExtension/FirebaseCoreExtension-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/FirebaseCoreExtension/FirebaseCoreExtension-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/FirebaseCoreExtension/FirebaseCoreExtension.modulemap","PRODUCT_MODULE_NAME":"FirebaseCoreExtension","PRODUCT_NAME":"FirebaseCoreExtension","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.9","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e9849ebef47a96a617098daadb98777ee5b","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e986a53acd8d9569d0c22497ed69917f900","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","GCC_PREFIX_HEADER":"Target Support Files/FirebaseCoreExtension/FirebaseCoreExtension-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/FirebaseCoreExtension/FirebaseCoreExtension-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/FirebaseCoreExtension/FirebaseCoreExtension.modulemap","PRODUCT_MODULE_NAME":"FirebaseCoreExtension","PRODUCT_NAME":"FirebaseCoreExtension","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.9","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98afcc28efd14c04d85527eff3f30d6c30","name":"Release"}],"buildPhases":[{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e980e9aa4b7906b3dcf65a309a2ebea54da","guid":"bfdfe7dc352907fc980b868725387e9814e3c34bd5815835972bdff811822f6b","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98a4ef9427196371e4dc2731c21e69d49f","guid":"bfdfe7dc352907fc980b868725387e98a60be59bffa07302eabd51261ea4af9a","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e9809785dc11744809391b61338a4ffac7b","guid":"bfdfe7dc352907fc980b868725387e987f84684122f41339c53680afc7b733fa","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e9862c85af582e57841e77b952dde7fa94c","guid":"bfdfe7dc352907fc980b868725387e98fcca368266dbcbe7b865e931d91de4f5","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98ddc20f433ccc0f56de9a35da32254a03","guid":"bfdfe7dc352907fc980b868725387e98276181fd4d562612cf9016425b498c7d","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98ed46d3d90ff2fcfaef63e49a4aef56da","guid":"bfdfe7dc352907fc980b868725387e988cb1eb93ffcd82ef6996e6c1317e087e","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e9865742a13f039fe40a602469ea5f2c5a4","guid":"bfdfe7dc352907fc980b868725387e988f69cd36a38ac0679fe7837ea106f281","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98355f9a272a7cc11736b4566ee8b3947d","guid":"bfdfe7dc352907fc980b868725387e98e08bee2d9d4f0245dbc88ad45427f0e2","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98f21af28e616ee0d4ff04c7a6421f4400","guid":"bfdfe7dc352907fc980b868725387e98a5c749b84e8d3c2926f5a48b1af8ee1a","headerVisibility":"public"}],"guid":"bfdfe7dc352907fc980b868725387e98f3daf0106f316a7cd58f1be2cce95475","type":"com.apple.buildphase.headers"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e983addcf97f99326db0f50c64ef67acf87","guid":"bfdfe7dc352907fc980b868725387e98cb512a9a98c5d9916c3e269aa3c900f3"},{"fileReference":"bfdfe7dc352907fc980b868725387e988de8032ed3bcd43a2fa9cb6a98756979","guid":"bfdfe7dc352907fc980b868725387e989f18abf1675f5d8ecb93bf9782e03684"}],"guid":"bfdfe7dc352907fc980b868725387e9850d59ee46a73fe123ccc500d948c6892","type":"com.apple.buildphase.sources"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98b14af7c49882340ad551cb13b0a1e06d","guid":"bfdfe7dc352907fc980b868725387e989d6c63b4845c3d140507e25d719b2b3c"}],"guid":"bfdfe7dc352907fc980b868725387e986151f6ce33582729b1cb033c4952f378","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"guid":"bfdfe7dc352907fc980b868725387e98a090c75adb6b9a2c5ab87c39b490c3cd","targetReference":"bfdfe7dc352907fc980b868725387e98c04ead258c2ba3f656422d1784107881"}],"guid":"bfdfe7dc352907fc980b868725387e984ef42a6e5935f83d2a808f2a201eb147","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[{"guid":"bfdfe7dc352907fc980b868725387e98a408a4c1f668e62161cdeba76f57d50c","name":"FirebaseCore"},{"guid":"bfdfe7dc352907fc980b868725387e98c04ead258c2ba3f656422d1784107881","name":"FirebaseCoreExtension-FirebaseCoreExtension_Privacy"}],"guid":"bfdfe7dc352907fc980b868725387e982fcb5e27d041e48b96b3ab14ce32d5f2","name":"FirebaseCoreExtension","predominantSourceCodeLanguage":"Xcode.SourceCodeLanguage.Objective-C-Plus-Plus","productReference":{"guid":"bfdfe7dc352907fc980b868725387e98311e6292af5af43c801705cd189cc184","name":"FirebaseCoreExtension.framework","type":"product"},"productTypeIdentifier":"com.apple.product-type.framework","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":1}],"type":"standard"} \ No newline at end of file diff --git a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=d1efbd94e043870162f1a431e0d81426-json b/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=d1efbd94e043870162f1a431e0d81426-json deleted file mode 100644 index 964642fe..00000000 --- a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=d1efbd94e043870162f1a431e0d81426-json +++ /dev/null @@ -1 +0,0 @@ -{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98eef3be20c160fe75bf8789e71fe75d9a","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/Google-Mobile-Ads-SDK","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"Google_Mobile_Ads_SDK","INFOPLIST_FILE":"Target Support Files/Google-Mobile-Ads-SDK/ResourceBundle-GoogleMobileAdsResources-Google-Mobile-Ads-SDK-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"12.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"GoogleMobileAdsResources","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98543aedfb2a113f779397a112d1969849","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e988ad1fd18441580496a4b9e0a44f0cae8","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/Google-Mobile-Ads-SDK","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"Google_Mobile_Ads_SDK","INFOPLIST_FILE":"Target Support Files/Google-Mobile-Ads-SDK/ResourceBundle-GoogleMobileAdsResources-Google-Mobile-Ads-SDK-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"12.0","PRODUCT_NAME":"GoogleMobileAdsResources","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98f65e87fd0fed71f9730423420a296aba","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e988ad1fd18441580496a4b9e0a44f0cae8","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/Google-Mobile-Ads-SDK","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"Google_Mobile_Ads_SDK","INFOPLIST_FILE":"Target Support Files/Google-Mobile-Ads-SDK/ResourceBundle-GoogleMobileAdsResources-Google-Mobile-Ads-SDK-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"12.0","PRODUCT_NAME":"GoogleMobileAdsResources","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98c649bfda7d075fcc93fa3f398f4a5eab","name":"Release"}],"buildPhases":[{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e98f3925c17b7ecee1483b16deaa934334d","type":"com.apple.buildphase.sources"},{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e98a4da7e96df183882a2b6247cdb8680fb","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e9848de9a416078da1867623b75fba91210","guid":"bfdfe7dc352907fc980b868725387e98a6befa8e692964e73338cfe4ff6624aa"}],"guid":"bfdfe7dc352907fc980b868725387e98959f895b3e56aa34e86e358d41306fb1","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[],"guid":"bfdfe7dc352907fc980b868725387e98468089666b04a941512e80a0cc9cf153","name":"Google-Mobile-Ads-SDK-GoogleMobileAdsResources","productReference":{"guid":"bfdfe7dc352907fc980b868725387e98d1290e807753728a1c85832ecdf321af","name":"GoogleMobileAdsResources.bundle","type":"product"},"productTypeIdentifier":"com.apple.product-type.bundle","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":0}],"type":"standard"} \ No newline at end of file diff --git a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=d204a2d23a6add831c951cc6c525c071-json b/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=d204a2d23a6add831c951cc6c525c071-json deleted file mode 100644 index 23a91f86..00000000 --- a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=d204a2d23a6add831c951cc6c525c071-json +++ /dev/null @@ -1 +0,0 @@ -{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e981ccda656ca076caea1e69514af198f0f","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/GoogleUtilities","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"GoogleUtilities","INFOPLIST_FILE":"Target Support Files/GoogleUtilities/ResourceBundle-GoogleUtilities_Privacy-GoogleUtilities-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"12.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"GoogleUtilities_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e9844ce9a11001e6b1022a30e252440d4b7","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e984a59f58d9dc78fdedc9a249bdac259e0","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/GoogleUtilities","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"GoogleUtilities","INFOPLIST_FILE":"Target Support Files/GoogleUtilities/ResourceBundle-GoogleUtilities_Privacy-GoogleUtilities-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"12.0","PRODUCT_NAME":"GoogleUtilities_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e982897b6622e539dc70aad26f9fbabcec9","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e984a59f58d9dc78fdedc9a249bdac259e0","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/GoogleUtilities","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"GoogleUtilities","INFOPLIST_FILE":"Target Support Files/GoogleUtilities/ResourceBundle-GoogleUtilities_Privacy-GoogleUtilities-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"12.0","PRODUCT_NAME":"GoogleUtilities_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98b76e3b7d45b03be6c82463330e06d2d4","name":"Release"}],"buildPhases":[{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e98a05287c2a85bed2ebcbba8432f66c3bc","type":"com.apple.buildphase.sources"},{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e982dfd74f90d537b87be9453ae905cbe0f","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e985d3def67c82fae95425ab472ba727077","guid":"bfdfe7dc352907fc980b868725387e98b03e09af0870a6b60d95b5d023148f82"}],"guid":"bfdfe7dc352907fc980b868725387e9897d7aecd1a21b5e60fbbb71cecae5075","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[],"guid":"bfdfe7dc352907fc980b868725387e981a9fac6eb9c80f8eed49fda0531af6a4","name":"GoogleUtilities-GoogleUtilities_Privacy","productReference":{"guid":"bfdfe7dc352907fc980b868725387e981f1852a7971aaa5e479d216071487d3a","name":"GoogleUtilities_Privacy.bundle","type":"product"},"productTypeIdentifier":"com.apple.product-type.bundle","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":0}],"type":"standard"} \ No newline at end of file diff --git a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=d360bbd5e759c5936a6004b5766066e3-json b/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=d360bbd5e759c5936a6004b5766066e3-json deleted file mode 100644 index 904abff2..00000000 --- a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=d360bbd5e759c5936a6004b5766066e3-json +++ /dev/null @@ -1 +0,0 @@ -{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98e09431f2c48fb9c271b2728be33c6101","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/syncfusion_flutter_pdfviewer/syncfusion_flutter_pdfviewer-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/syncfusion_flutter_pdfviewer/syncfusion_flutter_pdfviewer-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/syncfusion_flutter_pdfviewer/syncfusion_flutter_pdfviewer.modulemap","ONLY_ACTIVE_ARCH":"NO","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"syncfusion_flutter_pdfviewer","PRODUCT_NAME":"syncfusion_flutter_pdfviewer","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98e92f8760229b7c40169ecc5dd466efe2","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98029debb13536e6240d86d056b253ac21","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/syncfusion_flutter_pdfviewer/syncfusion_flutter_pdfviewer-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/syncfusion_flutter_pdfviewer/syncfusion_flutter_pdfviewer-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/syncfusion_flutter_pdfviewer/syncfusion_flutter_pdfviewer.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"syncfusion_flutter_pdfviewer","PRODUCT_NAME":"syncfusion_flutter_pdfviewer","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e983729e97f504caf068ca6520a04738b64","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98029debb13536e6240d86d056b253ac21","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/syncfusion_flutter_pdfviewer/syncfusion_flutter_pdfviewer-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/syncfusion_flutter_pdfviewer/syncfusion_flutter_pdfviewer-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/syncfusion_flutter_pdfviewer/syncfusion_flutter_pdfviewer.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"syncfusion_flutter_pdfviewer","PRODUCT_NAME":"syncfusion_flutter_pdfviewer","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e982e2319c198381b7baabaf4fe9102ad09","name":"Release"}],"buildPhases":[{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98d31e2d30267b93d0385170731adefbb0","guid":"bfdfe7dc352907fc980b868725387e987ecc2f248a1b83d7047d9c7702aa300a","headerVisibility":"public"}],"guid":"bfdfe7dc352907fc980b868725387e98986e9aa32f7516e12f353d00ee31c9c2","type":"com.apple.buildphase.headers"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98532284d033f3de271a1fd34a6aa57476","guid":"bfdfe7dc352907fc980b868725387e98aa71677cadb913a7d3d768a57a1c4eeb"},{"fileReference":"bfdfe7dc352907fc980b868725387e9853502a1c45cb54adc332a8b75ff6be4e","guid":"bfdfe7dc352907fc980b868725387e98e39b0e36dfb6cca4d1ba1ac694c46953"}],"guid":"bfdfe7dc352907fc980b868725387e98e91ced1e5e7578937e8ac0579096b99e","type":"com.apple.buildphase.sources"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98b14af7c49882340ad551cb13b0a1e06d","guid":"bfdfe7dc352907fc980b868725387e985c86e1e1ed48253b696ddf1ae2d943b6"}],"guid":"bfdfe7dc352907fc980b868725387e984c87df8814132b0cd79561e17b239f7d","type":"com.apple.buildphase.frameworks"},{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e98ca5b4323584e2043d9709fdfb75e4e12","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[{"guid":"bfdfe7dc352907fc980b868725387e989da425bb6d6d5d8dbb95e4afffb82217","name":"Flutter"}],"guid":"bfdfe7dc352907fc980b868725387e9869b9058bfc96f2a6a75b4b5dd4df3117","name":"syncfusion_flutter_pdfviewer","predominantSourceCodeLanguage":"Xcode.SourceCodeLanguage.Swift","productReference":{"guid":"bfdfe7dc352907fc980b868725387e988d881935b77e0a6a63d6fed20bc032b1","name":"syncfusion_flutter_pdfviewer.framework","type":"product"},"productTypeIdentifier":"com.apple.product-type.framework","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":1}],"type":"standard"} \ No newline at end of file diff --git a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=d560c2e797b744ca35425688afeb9717-json b/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=d560c2e797b744ca35425688afeb9717-json deleted file mode 100644 index 6f8519cd..00000000 --- a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=d560c2e797b744ca35425688afeb9717-json +++ /dev/null @@ -1 +0,0 @@ -{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98cca55d6c772db4d637cf770c880e5bab","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/geolocator_apple","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"geolocator_apple","INFOPLIST_FILE":"Target Support Files/geolocator_apple/ResourceBundle-geolocator_apple_privacy-geolocator_apple-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"11.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"geolocator_apple_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98803aea759e07ea4eddf8d986c4c89b65","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98563a39b273a0c88e1e2a4a289bb4eff2","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/geolocator_apple","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"geolocator_apple","INFOPLIST_FILE":"Target Support Files/geolocator_apple/ResourceBundle-geolocator_apple_privacy-geolocator_apple-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"11.0","PRODUCT_NAME":"geolocator_apple_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98560e1ba7a5e42f80a90f70c60180f82c","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98563a39b273a0c88e1e2a4a289bb4eff2","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/geolocator_apple","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"geolocator_apple","INFOPLIST_FILE":"Target Support Files/geolocator_apple/ResourceBundle-geolocator_apple_privacy-geolocator_apple-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"11.0","PRODUCT_NAME":"geolocator_apple_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e9875e787c92418669546bc9678b26d4929","name":"Release"}],"buildPhases":[{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e98cd585c1c1c68fdee3b86cf64c28d1bd9","type":"com.apple.buildphase.sources"},{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e98eafc0b13c8cff64cb7eb7cb8f7aef5f6","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98a5e5404fb09ecfe1c9c3cd85e3ab5448","guid":"bfdfe7dc352907fc980b868725387e985150e661237d7724afdfd4eb9a7d30eb"}],"guid":"bfdfe7dc352907fc980b868725387e98be1f3cef15a360878635f9921178c3bf","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[],"guid":"bfdfe7dc352907fc980b868725387e98e1aba8ff8dc833f2269ce0a7182533b3","name":"geolocator_apple-geolocator_apple_privacy","productReference":{"guid":"bfdfe7dc352907fc980b868725387e980ae07e1806c3af2f5550d2e89780c766","name":"geolocator_apple_privacy.bundle","type":"product"},"productTypeIdentifier":"com.apple.product-type.bundle","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":0}],"type":"standard"} \ No newline at end of file diff --git a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=d5f04c64bab0734f1ab47fd9bcf15bc4-json b/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=d5f04c64bab0734f1ab47fd9bcf15bc4-json deleted file mode 100644 index 89db2292..00000000 --- a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=d5f04c64bab0734f1ab47fd9bcf15bc4-json +++ /dev/null @@ -1 +0,0 @@ -{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e981144f00ce89ffa4e0260914a9ffec527","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/mobile_scanner/mobile_scanner-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/mobile_scanner/mobile_scanner-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/mobile_scanner/mobile_scanner.modulemap","ONLY_ACTIVE_ARCH":"NO","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"mobile_scanner","PRODUCT_NAME":"mobile_scanner","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98cdfd765d89c800c39981a3166f6eb58e","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98227c1f919eedf604acd47c56a9ef7ec4","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/mobile_scanner/mobile_scanner-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/mobile_scanner/mobile_scanner-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/mobile_scanner/mobile_scanner.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"mobile_scanner","PRODUCT_NAME":"mobile_scanner","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98db33fe3671dba70a9981816dcb538f2f","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98227c1f919eedf604acd47c56a9ef7ec4","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/mobile_scanner/mobile_scanner-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/mobile_scanner/mobile_scanner-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/mobile_scanner/mobile_scanner.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"mobile_scanner","PRODUCT_NAME":"mobile_scanner","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e9846ccb4b1c121a7dfeb02643174c4b6cc","name":"Release"}],"buildPhases":[{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98be2efddfa0659e6c19ce1a5acc94ec6d","guid":"bfdfe7dc352907fc980b868725387e986bf686767dad5a23092e77ca0a446a9d","headerVisibility":"public"}],"guid":"bfdfe7dc352907fc980b868725387e987864d6534a1cfe750375a1690e0d41ee","type":"com.apple.buildphase.headers"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98883be13daebbdfdcf10e362bc3ef4ebb","guid":"bfdfe7dc352907fc980b868725387e98a70ef071f3f451428660d11962ea82d4"},{"fileReference":"bfdfe7dc352907fc980b868725387e98e4be4892db4744593107b72e6b06cf75","guid":"bfdfe7dc352907fc980b868725387e9863ed24d99240b448ebd91bae41774c7b"},{"fileReference":"bfdfe7dc352907fc980b868725387e98cbd2a7736d3f622183620d97dabb51d6","guid":"bfdfe7dc352907fc980b868725387e985987309b98717b9c8713bae689a87a13"},{"fileReference":"bfdfe7dc352907fc980b868725387e982f3d32c7820c33deaf24eed4a2774a69","guid":"bfdfe7dc352907fc980b868725387e98be016dbb72e105cfc4902c58c1e8eacb"},{"fileReference":"bfdfe7dc352907fc980b868725387e98c373041b232771156d382a714478862a","guid":"bfdfe7dc352907fc980b868725387e98ce2a238b52d44e33fd88454a634cde8e"},{"fileReference":"bfdfe7dc352907fc980b868725387e98168d2dc9c91bbc22b520b7c63b90d589","guid":"bfdfe7dc352907fc980b868725387e9829ebdf92672015add48e807e88a7ee9b"}],"guid":"bfdfe7dc352907fc980b868725387e981316f83063c35be8314794975de5fdd3","type":"com.apple.buildphase.sources"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98b14af7c49882340ad551cb13b0a1e06d","guid":"bfdfe7dc352907fc980b868725387e980475a39ebe52eb7b3754e111eac95569"}],"guid":"bfdfe7dc352907fc980b868725387e98946d19d6a5b186917c91965a818b56d7","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"guid":"bfdfe7dc352907fc980b868725387e986c07d430f969c2c80c9bde510147b89f","targetReference":"bfdfe7dc352907fc980b868725387e98e39aae0c91f0bdebfb6ac42304942a79"}],"guid":"bfdfe7dc352907fc980b868725387e981b10a6a7b436fc7f8c97b0f686f8a8c5","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[{"guid":"bfdfe7dc352907fc980b868725387e989da425bb6d6d5d8dbb95e4afffb82217","name":"Flutter"},{"guid":"bfdfe7dc352907fc980b868725387e98e39aae0c91f0bdebfb6ac42304942a79","name":"mobile_scanner-mobile_scanner_privacy"}],"guid":"bfdfe7dc352907fc980b868725387e98b54f2bdfc3ce691d3ad04972a364d2a5","name":"mobile_scanner","predominantSourceCodeLanguage":"Xcode.SourceCodeLanguage.Swift","productReference":{"guid":"bfdfe7dc352907fc980b868725387e9819d278982b4910681a163531507644fe","name":"mobile_scanner.framework","type":"product"},"productTypeIdentifier":"com.apple.product-type.framework","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":1}],"type":"standard"} \ No newline at end of file diff --git a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=d67c7fe50f94aa30e853cef078cfecc9-json b/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=d67c7fe50f94aa30e853cef078cfecc9-json deleted file mode 100644 index ce544d1f..00000000 --- a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=d67c7fe50f94aa30e853cef078cfecc9-json +++ /dev/null @@ -1 +0,0 @@ -{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9826aabbf6d6b2201c6400dd7fc8a0967f","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/local_auth_darwin","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"local_auth_darwin","INFOPLIST_FILE":"Target Support Files/local_auth_darwin/ResourceBundle-local_auth_darwin_privacy-local_auth_darwin-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"12.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"local_auth_darwin_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e9821167a4cd0084e2aff71487ad47adb6e","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9835c7588ceebde0ed281cc6f972ef1ccc","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/local_auth_darwin","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"local_auth_darwin","INFOPLIST_FILE":"Target Support Files/local_auth_darwin/ResourceBundle-local_auth_darwin_privacy-local_auth_darwin-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"12.0","PRODUCT_NAME":"local_auth_darwin_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98fcd58e589d13ee873a59c5574d309686","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9835c7588ceebde0ed281cc6f972ef1ccc","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/local_auth_darwin","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"local_auth_darwin","INFOPLIST_FILE":"Target Support Files/local_auth_darwin/ResourceBundle-local_auth_darwin_privacy-local_auth_darwin-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"12.0","PRODUCT_NAME":"local_auth_darwin_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e9869f1896b0a3d90b12b1fbfa70e956785","name":"Release"}],"buildPhases":[{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e98924acef17ca8c3362146d5df11002941","type":"com.apple.buildphase.sources"},{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e9855620e7b64d5cd7cf1a09dddd9ea32ad","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e988634a8b747b6724232b5af5f382a225c","guid":"bfdfe7dc352907fc980b868725387e98993630a4e34675696479e6e917ca45c7"}],"guid":"bfdfe7dc352907fc980b868725387e984dbc3d8396ea7babbdbe62191a1dad8a","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[],"guid":"bfdfe7dc352907fc980b868725387e98afb8e8e2ed6a0ef9cb1d99282c22f170","name":"local_auth_darwin-local_auth_darwin_privacy","productReference":{"guid":"bfdfe7dc352907fc980b868725387e9899e37153e5b26774a3fd38635d02a847","name":"local_auth_darwin_privacy.bundle","type":"product"},"productTypeIdentifier":"com.apple.product-type.bundle","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":0}],"type":"standard"} \ No newline at end of file diff --git a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=d6e43cdf0cbce99338da86c88c7a9b38-json b/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=d6e43cdf0cbce99338da86c88c7a9b38-json deleted file mode 100644 index e8bb7a9f..00000000 --- a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=d6e43cdf0cbce99338da86c88c7a9b38-json +++ /dev/null @@ -1 +0,0 @@ -{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98284ffc1eae91e8f4cf71938bb6a26644","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/DKPhotoGallery","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"DKPhotoGallery","INFOPLIST_FILE":"Target Support Files/DKPhotoGallery/ResourceBundle-DKPhotoGallery-DKPhotoGallery-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"9.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"DKPhotoGallery","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e9863d709d85955662eec26f230fb1a0156","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e986051e77661008cd9b8c42c9db89a8f91","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/DKPhotoGallery","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"DKPhotoGallery","INFOPLIST_FILE":"Target Support Files/DKPhotoGallery/ResourceBundle-DKPhotoGallery-DKPhotoGallery-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"9.0","PRODUCT_NAME":"DKPhotoGallery","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e985360f3c81b6bc650f3d49f6d1754981b","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e986051e77661008cd9b8c42c9db89a8f91","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/DKPhotoGallery","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"DKPhotoGallery","INFOPLIST_FILE":"Target Support Files/DKPhotoGallery/ResourceBundle-DKPhotoGallery-DKPhotoGallery-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"9.0","PRODUCT_NAME":"DKPhotoGallery","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98abe21851be7f38d4bb7f9d3e74c78ab2","name":"Release"}],"buildPhases":[{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e98c722650b97524f652cb60639ce3e52c9","type":"com.apple.buildphase.sources"},{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e9844830a8106b17c97462f17d37e937150","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e9803baa2fc67f8d76b2b108bf635be93dc","guid":"bfdfe7dc352907fc980b868725387e98077c18fd825071b5517de595c447b6b2"},{"fileReference":"bfdfe7dc352907fc980b868725387e982a3b28f4eed66179cc3316238b0b3ee7","guid":"bfdfe7dc352907fc980b868725387e98924a9936d45ac8728bedefa3385ebf7b"},{"fileReference":"bfdfe7dc352907fc980b868725387e98812489e746316b8b3716cadbcf8878f0","guid":"bfdfe7dc352907fc980b868725387e98980d2ae065915cef447e5eb3952dfcbc"},{"fileReference":"bfdfe7dc352907fc980b868725387e988c57c65d211d763f44ecd815974cdf8f","guid":"bfdfe7dc352907fc980b868725387e9837a850c83dc077bdbe1c2f5bbd492236"},{"fileReference":"bfdfe7dc352907fc980b868725387e98af5703700ee022e99305baf3e4656a2c","guid":"bfdfe7dc352907fc980b868725387e98a63f1bbe973de8ba31cac4f606f9613a"}],"guid":"bfdfe7dc352907fc980b868725387e9847dc59d7e12614b1f4c048158b210d96","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[],"guid":"bfdfe7dc352907fc980b868725387e98d3f65728b12dd217475d1283ee417937","name":"DKPhotoGallery-DKPhotoGallery","productReference":{"guid":"bfdfe7dc352907fc980b868725387e9845db4417944723d8b91f4a6c67e94d3c","name":"DKPhotoGallery.bundle","type":"product"},"productTypeIdentifier":"com.apple.product-type.bundle","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":0}],"type":"standard"} \ No newline at end of file diff --git a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=dbb0219d17436c670986b94b7945fa23-json b/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=dbb0219d17436c670986b94b7945fa23-json deleted file mode 100644 index 0754a499..00000000 --- a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=dbb0219d17436c670986b94b7945fa23-json +++ /dev/null @@ -1 +0,0 @@ -{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e984615091c333da42672bfd26263153e2c","buildSettings":{"CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/flutter_native_splash/flutter_native_splash-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/flutter_native_splash/flutter_native_splash-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/flutter_native_splash/flutter_native_splash.modulemap","ONLY_ACTIVE_ARCH":"NO","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"flutter_native_splash","PRODUCT_NAME":"flutter_native_splash","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98542d46a1c227dffcd81ba310fa86fe75","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98eccf4b0b561ffd1dcb573fa88f797247","buildSettings":{"CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/flutter_native_splash/flutter_native_splash-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/flutter_native_splash/flutter_native_splash-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/flutter_native_splash/flutter_native_splash.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"flutter_native_splash","PRODUCT_NAME":"flutter_native_splash","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e9823f4254e0770592b8f46fb4fbb025206","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98eccf4b0b561ffd1dcb573fa88f797247","buildSettings":{"CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/flutter_native_splash/flutter_native_splash-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/flutter_native_splash/flutter_native_splash-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/flutter_native_splash/flutter_native_splash.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"flutter_native_splash","PRODUCT_NAME":"flutter_native_splash","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98f07bc7dbdbe34af75a03f9c11cf11c50","name":"Release"}],"buildPhases":[{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98c086e8c7ed209047f486aa181b9d15d3","guid":"bfdfe7dc352907fc980b868725387e98ae83221afb93616a2b42114c6693e756","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98f50f5cea49c7a2be171197f72c2cb1ad","guid":"bfdfe7dc352907fc980b868725387e9841077393e2a0ff8edfeb119426569035","headerVisibility":"public"}],"guid":"bfdfe7dc352907fc980b868725387e985ed144159bcebbb64c754bdbdaa159a2","type":"com.apple.buildphase.headers"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98c166ee5988b20398d317d310c58eb4b1","guid":"bfdfe7dc352907fc980b868725387e9834623d0f10c2ebfd5dcdcd7163d68abd"},{"fileReference":"bfdfe7dc352907fc980b868725387e98ed4c5781f08ac474801af38d03dae69c","guid":"bfdfe7dc352907fc980b868725387e98356c380165f16742a800b27751b12dce"}],"guid":"bfdfe7dc352907fc980b868725387e98bf343bcb5da439175c7ff2a128f7a39c","type":"com.apple.buildphase.sources"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98b14af7c49882340ad551cb13b0a1e06d","guid":"bfdfe7dc352907fc980b868725387e9893a4ed39f6f94e150fa3721525891095"}],"guid":"bfdfe7dc352907fc980b868725387e9880eaa46668f967ac50f6577cb9b26348","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"guid":"bfdfe7dc352907fc980b868725387e9831795ef1e63d65d4fa054e4bc1dd66a5","targetReference":"bfdfe7dc352907fc980b868725387e9861233620df33996cccf430ed75b4a999"}],"guid":"bfdfe7dc352907fc980b868725387e987745cc5b5a4b3b50ae3fbbec4c2f9f2d","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[{"guid":"bfdfe7dc352907fc980b868725387e989da425bb6d6d5d8dbb95e4afffb82217","name":"Flutter"},{"guid":"bfdfe7dc352907fc980b868725387e9861233620df33996cccf430ed75b4a999","name":"flutter_native_splash-flutter_native_splash_privacy"}],"guid":"bfdfe7dc352907fc980b868725387e9822a19f6c224a402387a233be75a6e268","name":"flutter_native_splash","predominantSourceCodeLanguage":"Xcode.SourceCodeLanguage.Objective-C","productReference":{"guid":"bfdfe7dc352907fc980b868725387e98c62d527a87861e4e9c2265bba2aed9bb","name":"flutter_native_splash.framework","type":"product"},"productTypeIdentifier":"com.apple.product-type.framework","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":1}],"type":"standard"} \ No newline at end of file diff --git a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=ddbefab0336a5b7a75af7835b2eb8ae3-json b/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=ddbefab0336a5b7a75af7835b2eb8ae3-json deleted file mode 100644 index 9b449a99..00000000 --- a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=ddbefab0336a5b7a75af7835b2eb8ae3-json +++ /dev/null @@ -1 +0,0 @@ -{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98c5ea3636852338c982e52209ddd197d0","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/device_info_plus/device_info_plus-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/device_info_plus/device_info_plus-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/device_info_plus/device_info_plus.modulemap","ONLY_ACTIVE_ARCH":"NO","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"device_info_plus","PRODUCT_NAME":"device_info_plus","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e9816a8336f082ec9a3669234f3df3ef306","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98c321042b295c1853a19a7fc9918a7454","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/device_info_plus/device_info_plus-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/device_info_plus/device_info_plus-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/device_info_plus/device_info_plus.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"device_info_plus","PRODUCT_NAME":"device_info_plus","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98da658f6e11c8f9a5b0898bfe9485a0c1","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98c321042b295c1853a19a7fc9918a7454","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/device_info_plus/device_info_plus-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/device_info_plus/device_info_plus-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/device_info_plus/device_info_plus.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"device_info_plus","PRODUCT_NAME":"device_info_plus","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98c8a212801b2d5d63b36bf1f67475af99","name":"Release"}],"buildPhases":[{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e9835406ea787e507a99238a6afb0ce83bf","guid":"bfdfe7dc352907fc980b868725387e98e22287c8a8e4e993d61ec55644f61c22","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98bd45822b13e3ce1eed9c6622596d0bb0","guid":"bfdfe7dc352907fc980b868725387e987f21151cf9c1c415a4660d42766a0194","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98c2d16edfd8321a1d2a6421b3cbc221c7","guid":"bfdfe7dc352907fc980b868725387e98c28ac01c14bf242ff799731ddfee2d48","headerVisibility":"public"}],"guid":"bfdfe7dc352907fc980b868725387e9840d98c3753b2d39f106825c4fdf513ae","type":"com.apple.buildphase.headers"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e9807f6b982d3ceb175b963a37c743705ca","guid":"bfdfe7dc352907fc980b868725387e98453d8b54a590feea4df4d6cb1f93d63d"},{"fileReference":"bfdfe7dc352907fc980b868725387e98a14950a917a0df000272111b3af00e58","guid":"bfdfe7dc352907fc980b868725387e985371a20400ba6d5877eaa27a28092ddb"},{"fileReference":"bfdfe7dc352907fc980b868725387e98f1edbc3ed8b2196eaa0d7f969ebdde47","guid":"bfdfe7dc352907fc980b868725387e988c13d8ad191e7451e598b02aa34ee7b3"}],"guid":"bfdfe7dc352907fc980b868725387e985bdcfdad3c1bf6d3fac02e0e2d77829f","type":"com.apple.buildphase.sources"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98b14af7c49882340ad551cb13b0a1e06d","guid":"bfdfe7dc352907fc980b868725387e98b8f30e51613d62290c400ac5362c0882"}],"guid":"bfdfe7dc352907fc980b868725387e981367a14a577154ba59aeeab53f667469","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"guid":"bfdfe7dc352907fc980b868725387e98c53380dbd9f7caae5cbdb4ca2b1391f5","targetReference":"bfdfe7dc352907fc980b868725387e98583f48d08e567205bb589ccf43c23e63"}],"guid":"bfdfe7dc352907fc980b868725387e984b38ce846840f6ccefd735c9e1b71a5b","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[{"guid":"bfdfe7dc352907fc980b868725387e989da425bb6d6d5d8dbb95e4afffb82217","name":"Flutter"},{"guid":"bfdfe7dc352907fc980b868725387e98583f48d08e567205bb589ccf43c23e63","name":"device_info_plus-device_info_plus_privacy"}],"guid":"bfdfe7dc352907fc980b868725387e98d41ce0bf2141365ff0288286787936d9","name":"device_info_plus","predominantSourceCodeLanguage":"Xcode.SourceCodeLanguage.Objective-C","productReference":{"guid":"bfdfe7dc352907fc980b868725387e9892a13085952e1452517bc40d45a802eb","name":"device_info_plus.framework","type":"product"},"productTypeIdentifier":"com.apple.product-type.framework","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":1}],"type":"standard"} \ No newline at end of file diff --git a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=de9cdf72fffe1fdedbf989540b2a67e3-json b/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=de9cdf72fffe1fdedbf989540b2a67e3-json deleted file mode 100644 index 0aae7e43..00000000 --- a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=de9cdf72fffe1fdedbf989540b2a67e3-json +++ /dev/null @@ -1 +0,0 @@ -{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98e9790273c34cf01756c3ac2cbd541c6d","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/app_settings","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"app_settings","INFOPLIST_FILE":"Target Support Files/app_settings/ResourceBundle-app_settings_privacy-app_settings-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"11.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"app_settings_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e988399767a3d3dd1838558c42b7460d9f1","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e981916adc978ad471261fb8f5e1e97ed3a","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/app_settings","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"app_settings","INFOPLIST_FILE":"Target Support Files/app_settings/ResourceBundle-app_settings_privacy-app_settings-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"11.0","PRODUCT_NAME":"app_settings_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98ddc284e322ccf885e5d3affffcb1418f","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e981916adc978ad471261fb8f5e1e97ed3a","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/app_settings","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"app_settings","INFOPLIST_FILE":"Target Support Files/app_settings/ResourceBundle-app_settings_privacy-app_settings-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"11.0","PRODUCT_NAME":"app_settings_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98ff8337412b741d81d04ac48ac07e5728","name":"Release"}],"buildPhases":[{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e98abfdf521994743941901da646f4d1fb0","type":"com.apple.buildphase.sources"},{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e98ca2076c2c04db10da445aa6e73378372","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98a3dc3576e1e38afd167d6415d986fe47","guid":"bfdfe7dc352907fc980b868725387e98361ebd4004ebbba5ed5ae28397b8e9ee"}],"guid":"bfdfe7dc352907fc980b868725387e98bb0e6b4ff0d230190d958e7dfca2b78c","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[],"guid":"bfdfe7dc352907fc980b868725387e98cf3ab2030ed25c0947bdaa95034b1488","name":"app_settings-app_settings_privacy","productReference":{"guid":"bfdfe7dc352907fc980b868725387e98e37e29d3db6e76df1c3263033c15095e","name":"app_settings_privacy.bundle","type":"product"},"productTypeIdentifier":"com.apple.product-type.bundle","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":0}],"type":"standard"} \ No newline at end of file diff --git a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=dfe05d0a1a29529d21d126a4eec3834c-json b/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=dfe05d0a1a29529d21d126a4eec3834c-json deleted file mode 100644 index fa956c97..00000000 --- a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=dfe05d0a1a29529d21d126a4eec3834c-json +++ /dev/null @@ -1 +0,0 @@ -{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e981ea619c6c09d50e42998ac2381b017c9","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/shared_preferences_foundation","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"shared_preferences_foundation","INFOPLIST_FILE":"Target Support Files/shared_preferences_foundation/ResourceBundle-shared_preferences_foundation_privacy-shared_preferences_foundation-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"12.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"shared_preferences_foundation_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e9801a7d33f842ed94eea034969d03bdc43","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e988abaddbc7dac244a9dd3a827969bb097","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/shared_preferences_foundation","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"shared_preferences_foundation","INFOPLIST_FILE":"Target Support Files/shared_preferences_foundation/ResourceBundle-shared_preferences_foundation_privacy-shared_preferences_foundation-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"12.0","PRODUCT_NAME":"shared_preferences_foundation_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e983ce11dbc6e5ddc5549f3ca37ef707d53","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e988abaddbc7dac244a9dd3a827969bb097","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/shared_preferences_foundation","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"shared_preferences_foundation","INFOPLIST_FILE":"Target Support Files/shared_preferences_foundation/ResourceBundle-shared_preferences_foundation_privacy-shared_preferences_foundation-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"12.0","PRODUCT_NAME":"shared_preferences_foundation_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98053a99e813142171ef05fbfd349bbfca","name":"Release"}],"buildPhases":[{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e982856acfc533f1b54203f3d7825e4e141","type":"com.apple.buildphase.sources"},{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e98514cb0dec1540eecbf00396fffae81ce","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98251f6f0c0dfa900ccd058f8d5f09e39b","guid":"bfdfe7dc352907fc980b868725387e987beae696e16cd3af4ed9013a0309dd3e"}],"guid":"bfdfe7dc352907fc980b868725387e98d6ff0b32981e31400a2921efd0321163","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[],"guid":"bfdfe7dc352907fc980b868725387e98e0be3b0d5ad56f1985578b1f97431765","name":"shared_preferences_foundation-shared_preferences_foundation_privacy","productReference":{"guid":"bfdfe7dc352907fc980b868725387e98ad625504a4c1e61077bbfd33bd1d1785","name":"shared_preferences_foundation_privacy.bundle","type":"product"},"productTypeIdentifier":"com.apple.product-type.bundle","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":0}],"type":"standard"} \ No newline at end of file diff --git a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=e04e9400c66a280cff3815703b38f084-json b/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=e04e9400c66a280cff3815703b38f084-json deleted file mode 100644 index d8244208..00000000 --- a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=e04e9400c66a280cff3815703b38f084-json +++ /dev/null @@ -1 +0,0 @@ -{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e982b66b547d250357cf91d1817df7cb423","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/file_selector_ios/file_selector_ios-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/file_selector_ios/file_selector_ios-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","MODULEMAP_FILE":"Target Support Files/file_selector_ios/file_selector_ios.modulemap","ONLY_ACTIVE_ARCH":"NO","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"file_selector_ios","PRODUCT_NAME":"file_selector_ios","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e984c78e1f657d786fc062232f5be7a4c97","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98f68cdcb857b34033c4bd7d63083cfeef","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/file_selector_ios/file_selector_ios-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/file_selector_ios/file_selector_ios-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","MODULEMAP_FILE":"Target Support Files/file_selector_ios/file_selector_ios.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"file_selector_ios","PRODUCT_NAME":"file_selector_ios","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e982f41bce8b433a1eb5a28e8b47bdcf7c2","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98f68cdcb857b34033c4bd7d63083cfeef","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/file_selector_ios/file_selector_ios-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/file_selector_ios/file_selector_ios-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","MODULEMAP_FILE":"Target Support Files/file_selector_ios/file_selector_ios.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"file_selector_ios","PRODUCT_NAME":"file_selector_ios","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98e4b40a1b1e34033e3fe80d9f29e9a3ea","name":"Release"}],"buildPhases":[{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e9844d411eb7b3f7cc8e9589148720c721a","guid":"bfdfe7dc352907fc980b868725387e9807f448b26a149156d6ad7762ea029db3","headerVisibility":"public"}],"guid":"bfdfe7dc352907fc980b868725387e98d06e263c8c4c22bf01433b389dea226c","type":"com.apple.buildphase.headers"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98c109472dcd25a3e59c31080f0ebdf811","guid":"bfdfe7dc352907fc980b868725387e980529f91d8d31f8c0ae17d526b7576bb6"},{"fileReference":"bfdfe7dc352907fc980b868725387e98f0ea88b68751cab794b769dc586bd419","guid":"bfdfe7dc352907fc980b868725387e9853e5c8fe2994ace8d62c63b32e5ba586"},{"fileReference":"bfdfe7dc352907fc980b868725387e981d83a354ff745f0961d1610ff6de246a","guid":"bfdfe7dc352907fc980b868725387e983a9f922684fca4ce0666ab6ab5de0526"},{"fileReference":"bfdfe7dc352907fc980b868725387e98179ec458b3b02e28a62624469e6b3a80","guid":"bfdfe7dc352907fc980b868725387e98a4193fad52f6bdd2c33aaf98c41b890c"}],"guid":"bfdfe7dc352907fc980b868725387e987d137a8dde5d27a87e012c2d0d25bdb5","type":"com.apple.buildphase.sources"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98b14af7c49882340ad551cb13b0a1e06d","guid":"bfdfe7dc352907fc980b868725387e987abe237170fc2f507e176beab102403a"}],"guid":"bfdfe7dc352907fc980b868725387e98bb686d736760c1aafeb2585a7df097b0","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"guid":"bfdfe7dc352907fc980b868725387e988868bb129e921eb7047f300ed055ff61","targetReference":"bfdfe7dc352907fc980b868725387e9865c7202c1fc33b2af510b64e6d532fb2"}],"guid":"bfdfe7dc352907fc980b868725387e981895301765af8239f23097fad7798abb","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[{"guid":"bfdfe7dc352907fc980b868725387e989da425bb6d6d5d8dbb95e4afffb82217","name":"Flutter"},{"guid":"bfdfe7dc352907fc980b868725387e9865c7202c1fc33b2af510b64e6d532fb2","name":"file_selector_ios-file_selector_ios_privacy"}],"guid":"bfdfe7dc352907fc980b868725387e984c83246bc20987a37ea775a535d55cc9","name":"file_selector_ios","predominantSourceCodeLanguage":"Xcode.SourceCodeLanguage.Swift","productReference":{"guid":"bfdfe7dc352907fc980b868725387e982efdaf2d28b3a8e59a402711ff1abdd2","name":"file_selector_ios.framework","type":"product"},"productTypeIdentifier":"com.apple.product-type.framework","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":1}],"type":"standard"} \ No newline at end of file diff --git a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=e48e30a0663eeb6ce1b0165ff162002a-json b/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=e48e30a0663eeb6ce1b0165ff162002a-json deleted file mode 100644 index 6d5cdc2c..00000000 --- a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=e48e30a0663eeb6ce1b0165ff162002a-json +++ /dev/null @@ -1 +0,0 @@ -{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e983daf253e7f620ff0705af75496c7b612","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/record_ios","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"record_ios","INFOPLIST_FILE":"Target Support Files/record_ios/ResourceBundle-record_ios_privacy-record_ios-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"12.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"record_ios_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e985ffdaaba1cb6e9f107cf2dfdca7edd29","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e985629505f5ce763e2c6637f93384c9362","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/record_ios","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"record_ios","INFOPLIST_FILE":"Target Support Files/record_ios/ResourceBundle-record_ios_privacy-record_ios-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"12.0","PRODUCT_NAME":"record_ios_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e9893e658ced745883c1a5256eca0fbe4e9","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e985629505f5ce763e2c6637f93384c9362","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/record_ios","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"record_ios","INFOPLIST_FILE":"Target Support Files/record_ios/ResourceBundle-record_ios_privacy-record_ios-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"12.0","PRODUCT_NAME":"record_ios_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98d8db4589f2e390610a58c85c3f6dfda2","name":"Release"}],"buildPhases":[{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e9871f89e8e1848e114f018c543b999f4a1","type":"com.apple.buildphase.sources"},{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e98665f4fffa149ee94e7a1e7a09c00af10","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98174d15dc574e8aee233cdb78708e065d","guid":"bfdfe7dc352907fc980b868725387e98018f269fbe47e05293180fefd0d51955"}],"guid":"bfdfe7dc352907fc980b868725387e98cbc501eb6814aa3920e8e785c77c133d","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[],"guid":"bfdfe7dc352907fc980b868725387e982a2ee81fc4f9376a4b6bb6d6bb502a00","name":"record_ios-record_ios_privacy","productReference":{"guid":"bfdfe7dc352907fc980b868725387e98c34601a2dc07dcfea6b09ca49bc4da60","name":"record_ios_privacy.bundle","type":"product"},"productTypeIdentifier":"com.apple.product-type.bundle","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":0}],"type":"standard"} \ No newline at end of file diff --git a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=eb424d111b233087eeb27f0dcd5e1868-json b/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=eb424d111b233087eeb27f0dcd5e1868-json deleted file mode 100644 index e7a53f07..00000000 --- a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=eb424d111b233087eeb27f0dcd5e1868-json +++ /dev/null @@ -1 +0,0 @@ -{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e983535bec86897f82e29e35c2a37087d79","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/camera_avfoundation/camera_avfoundation-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/camera_avfoundation/camera_avfoundation-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","MODULEMAP_FILE":"Target Support Files/camera_avfoundation/camera_avfoundation.modulemap","ONLY_ACTIVE_ARCH":"NO","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"camera_avfoundation","PRODUCT_NAME":"camera_avfoundation","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e9825a4fb8242ef8a94bbdcd828c87eb13f","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e989ea7a1b7622f37728c5db7b6902fabc9","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/camera_avfoundation/camera_avfoundation-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/camera_avfoundation/camera_avfoundation-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","MODULEMAP_FILE":"Target Support Files/camera_avfoundation/camera_avfoundation.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"camera_avfoundation","PRODUCT_NAME":"camera_avfoundation","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98414cd678aa6ff810b7bd6dd28f5f7e64","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e989ea7a1b7622f37728c5db7b6902fabc9","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/camera_avfoundation/camera_avfoundation-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/camera_avfoundation/camera_avfoundation-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","MODULEMAP_FILE":"Target Support Files/camera_avfoundation/camera_avfoundation.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"camera_avfoundation","PRODUCT_NAME":"camera_avfoundation","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98ef3f94148fe7a046d728d110af328fa8","name":"Release"}],"buildPhases":[{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e988a496b0b1313fdf74b9c7b937fa522af","guid":"bfdfe7dc352907fc980b868725387e98114f165fd17a1f0a141af70efd88cf74","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98571a31becba8fba4259df5e7da0ef95b","guid":"bfdfe7dc352907fc980b868725387e98cf036e804673f99e037e55d8a59f179b","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98bec2388e2d0f9bf3dcc989355dae261c","guid":"bfdfe7dc352907fc980b868725387e9858bba8a33f8d91e4ae427d14c8b083ae","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e982d376cf7afbf6b4a27ea861e42e9e18a","guid":"bfdfe7dc352907fc980b868725387e98b18a2d4b62b725a62cda3056d980d7f8","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98bdcc6ea8f95ca3d31fda7ca6d0ec07bf","guid":"bfdfe7dc352907fc980b868725387e984ce0f9c6c21ff72a0b25c54b8ed237c0","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98061b944840a544e7c2244b7dec0cea3c","guid":"bfdfe7dc352907fc980b868725387e989c980fb37914e9dae0069648fd2f64ea","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e9884ca4421e20e7795c8f05c67c31cd7a6","guid":"bfdfe7dc352907fc980b868725387e98aa31224c2552791dc68d7e338d8ebb03","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e981307d949f1eec051061c3f81e12003be","guid":"bfdfe7dc352907fc980b868725387e983f68e3a6fdbd8b8e8f6c51483152bce5","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98b73d4fa19990e40f5ed65965564379bb","guid":"bfdfe7dc352907fc980b868725387e9831dc752ea4ddbf286632440e685e9589","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e9806d75717294b36105ee335141a42c17c","guid":"bfdfe7dc352907fc980b868725387e98472fe9d646ae69fa759469d36c341c63","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e981fbc9e9c8a4aa0a1eaacee019fdbf2f4","guid":"bfdfe7dc352907fc980b868725387e98d272b0e90c4a047203f1128b42d7be42","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e989b272d09f5b565b076e8b0a8a66fb95c","guid":"bfdfe7dc352907fc980b868725387e98ca4c97be3268fa9df541782e677fbdca","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98bbc3cd20c75ab4d15083fe2822084151","guid":"bfdfe7dc352907fc980b868725387e9881ac7d6cdbad7577b09ddfb248b21582","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e9827732205233ea745d3d17d702bae0902","guid":"bfdfe7dc352907fc980b868725387e98a3325fd7cffce854e665cb4e365829a2","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98aa00a66f606a5894ff7b9c4193c2336d","guid":"bfdfe7dc352907fc980b868725387e982d9a9ef2da841b230fd56434ec3c38ff","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e9805f59dff71b98dff44bcb35e99826611","guid":"bfdfe7dc352907fc980b868725387e98db3d5ee855a77fce514b67efa05bfb88","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98f88bdf71c2ece055e64ef37dfcb946a1","guid":"bfdfe7dc352907fc980b868725387e98046b6337ca1a2931e38d87ecfb6d0aed","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98b5b5f640e4853c81fca0b5da550bdcf5","guid":"bfdfe7dc352907fc980b868725387e98b78eaa35a396bf3a9b589ac2227b7834","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e9841f506e6acdddbc3a5d078988dde4c22","guid":"bfdfe7dc352907fc980b868725387e9879f7b9f948cabb5d9017f96a382e735a","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e9877689363904fdc263f22d395bf46b7ff","guid":"bfdfe7dc352907fc980b868725387e98516323cc760e475d3acdbd312245076e","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98dc0df62ffc0de3ec3f484ffd1a9ef4da","guid":"bfdfe7dc352907fc980b868725387e987e8e35019550f95157af306eff0978ec","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98d2795a25b9f9f995f8a6605e26802aa1","guid":"bfdfe7dc352907fc980b868725387e98341f00c35cdd3c73460126a03385b926","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98c013c9fa841e7f4843f3a4bde01ca879","guid":"bfdfe7dc352907fc980b868725387e98bba1f2d66f66ee182d357b847f1b141e","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98646bcd0bc1969f167312816d9267a516","guid":"bfdfe7dc352907fc980b868725387e98833f381b225ef00cf6f51933ca63b95a","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98d35201bc6359822c132fbf3930cae9a9","guid":"bfdfe7dc352907fc980b868725387e98b8d493d56e2b37563dd9d77061496e25","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98df47c568f003e0086d5a88268b6eb7a7","guid":"bfdfe7dc352907fc980b868725387e987135620a5d21fb6997c197c1242898c9","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98bd068a0e6483485d78dc23696eba3638","guid":"bfdfe7dc352907fc980b868725387e989282f4ceadd511a531ce04f0b0f6b313","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e9809496e61d8f399d92800b33bdded072b","guid":"bfdfe7dc352907fc980b868725387e98ca34dc6ec6d59f68c72fae9469a4ca11","headerVisibility":"public"}],"guid":"bfdfe7dc352907fc980b868725387e987426a7dafac1d2394f10c16127971def","type":"com.apple.buildphase.headers"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e982078aae39ae683382f05de711a185375","guid":"bfdfe7dc352907fc980b868725387e98b01673f8cc0bfd223b723bdc1c7ac67b"},{"fileReference":"bfdfe7dc352907fc980b868725387e986340a78c7da800e0528a24e97f21d303","guid":"bfdfe7dc352907fc980b868725387e981d4b62e7cda0d76579551741b4ebdd3b"},{"fileReference":"bfdfe7dc352907fc980b868725387e98f60a8d6ef410a8896e992632f5a8d7ab","guid":"bfdfe7dc352907fc980b868725387e98c0f2e45f794d36fe785483c45c11eabd"},{"fileReference":"bfdfe7dc352907fc980b868725387e98405619e08eb70b9dac88141b45809428","guid":"bfdfe7dc352907fc980b868725387e987701428c43942c72aba5159424b045ab"},{"fileReference":"bfdfe7dc352907fc980b868725387e9831ffb27713bc35caf090dde2758982a0","guid":"bfdfe7dc352907fc980b868725387e9857290a4d90e4cd3b4d113f8e7a139169"},{"fileReference":"bfdfe7dc352907fc980b868725387e98dcb3e4b3f551bf7e25dfd5bbe6837c44","guid":"bfdfe7dc352907fc980b868725387e98d6063cc7c2f6615de2b5a211c4157dd4"},{"fileReference":"bfdfe7dc352907fc980b868725387e98a03e14e92e8450839f90b1192ebe60f9","guid":"bfdfe7dc352907fc980b868725387e9876289c2c9d3fb085fcacd346afc0dfc0"},{"fileReference":"bfdfe7dc352907fc980b868725387e989ae78c91c7fe89bf08cd07030744a390","guid":"bfdfe7dc352907fc980b868725387e98e5f676e9893a0b508b8bcc5646ba5569"},{"fileReference":"bfdfe7dc352907fc980b868725387e987cc915a467358158a059f6a1005df343","guid":"bfdfe7dc352907fc980b868725387e982bc6848edbea6ddcf109b3a836c959d2"},{"fileReference":"bfdfe7dc352907fc980b868725387e981c411b19a591008768a1751626bec02c","guid":"bfdfe7dc352907fc980b868725387e98b356878988b98ee3276998fe25c3012c"},{"fileReference":"bfdfe7dc352907fc980b868725387e98e7037d382b9763757e10e512c62f1916","guid":"bfdfe7dc352907fc980b868725387e9854acebc0a961e3e0f7847b074493aa37"},{"fileReference":"bfdfe7dc352907fc980b868725387e98121c74ca9aaca4dbb8b55621309a9732","guid":"bfdfe7dc352907fc980b868725387e98bb399586f4a0d8d363d6cbe92b1c7bf4"},{"fileReference":"bfdfe7dc352907fc980b868725387e980bd9f3a524e2e4dba9733fa90f4aac3b","guid":"bfdfe7dc352907fc980b868725387e986d007dc46ab9126bc5c3d4076b33afe7"},{"fileReference":"bfdfe7dc352907fc980b868725387e98903b72cc5b5c782aaff128c3205f4efe","guid":"bfdfe7dc352907fc980b868725387e9805242ec11b20e79273d9263207f6d0bf"},{"fileReference":"bfdfe7dc352907fc980b868725387e989d8f330e18415a31deb52b2bed8a2137","guid":"bfdfe7dc352907fc980b868725387e98027bacb8a5cff4d569a98a2350fdf886"},{"fileReference":"bfdfe7dc352907fc980b868725387e984824be8742f3e743f090fe6c33d6ef75","guid":"bfdfe7dc352907fc980b868725387e98c7f2c4ef1b665707d72fb9fd6b53bc1f"},{"fileReference":"bfdfe7dc352907fc980b868725387e98ea07288fba88427eaf97221cb0a082ea","guid":"bfdfe7dc352907fc980b868725387e98f9dea6c80335e9260774267d46f32889"},{"fileReference":"bfdfe7dc352907fc980b868725387e98c741b00c0189ecdcede99a30c61cf5ca","guid":"bfdfe7dc352907fc980b868725387e9867bc5110f96af1479073b5b678317f50"},{"fileReference":"bfdfe7dc352907fc980b868725387e98b6418130a13953d8c503f48653d8efa3","guid":"bfdfe7dc352907fc980b868725387e988463dd92263356fac7000c6e05ba2df5"},{"fileReference":"bfdfe7dc352907fc980b868725387e98b2170aed3422e923d0c594950dc68411","guid":"bfdfe7dc352907fc980b868725387e984efea462f57cda6e5aa0cd40f269068a"},{"fileReference":"bfdfe7dc352907fc980b868725387e98df6cdfb488e9420dcab5902c4835df8f","guid":"bfdfe7dc352907fc980b868725387e98aabf9280d3e8e8fb7822124dca08f63e"},{"fileReference":"bfdfe7dc352907fc980b868725387e982a862aae24ada2357f02abc8f69dfd4e","guid":"bfdfe7dc352907fc980b868725387e98650c54f22d832769fbc7f38a4235b38f"},{"fileReference":"bfdfe7dc352907fc980b868725387e9867161938a759dfccd8e5a78c167a3c1d","guid":"bfdfe7dc352907fc980b868725387e9810f5665434e2123de1e289381441cbd7"},{"fileReference":"bfdfe7dc352907fc980b868725387e9805a0d5448fe595b27ad6b8273406e808","guid":"bfdfe7dc352907fc980b868725387e98881615f4fc12b38e5e31d319621f3235"},{"fileReference":"bfdfe7dc352907fc980b868725387e983e9ded2512976d1035610e24a7a82a62","guid":"bfdfe7dc352907fc980b868725387e986c72171a470a82a85e40b25501efc6f9"},{"fileReference":"bfdfe7dc352907fc980b868725387e9851599d94c80ec88693114889217d19ec","guid":"bfdfe7dc352907fc980b868725387e98854e85be1e0328ea97f96705ea114756"},{"fileReference":"bfdfe7dc352907fc980b868725387e98e5dd02315188486cffb3b793528ee079","guid":"bfdfe7dc352907fc980b868725387e98d086dac7bafb22d7dac9d5e75f4fc119"}],"guid":"bfdfe7dc352907fc980b868725387e9877363964029d8ad42a403062036a7c87","type":"com.apple.buildphase.sources"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98b14af7c49882340ad551cb13b0a1e06d","guid":"bfdfe7dc352907fc980b868725387e986833ee1301fc896ca7cc18dee79bf078"}],"guid":"bfdfe7dc352907fc980b868725387e981557d72eca0c38666dfd53933b835a06","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"guid":"bfdfe7dc352907fc980b868725387e98e2c4e89c618ae2feca2ecdbf2be263c7","targetReference":"bfdfe7dc352907fc980b868725387e98b9038e7e871b75150c57ed973218b158"}],"guid":"bfdfe7dc352907fc980b868725387e982fd2d25df49aacaaca253cad31fd43c2","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[{"guid":"bfdfe7dc352907fc980b868725387e989da425bb6d6d5d8dbb95e4afffb82217","name":"Flutter"},{"guid":"bfdfe7dc352907fc980b868725387e98b9038e7e871b75150c57ed973218b158","name":"camera_avfoundation-camera_avfoundation_privacy"}],"guid":"bfdfe7dc352907fc980b868725387e98f08a09402d437c098acddc7bcf497e64","name":"camera_avfoundation","predominantSourceCodeLanguage":"Xcode.SourceCodeLanguage.Objective-C-Plus-Plus","productReference":{"guid":"bfdfe7dc352907fc980b868725387e983903b9d6299cde09dc2b081ad04abafe","name":"camera_avfoundation.framework","type":"product"},"productTypeIdentifier":"com.apple.product-type.framework","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":1}],"type":"standard"} \ No newline at end of file diff --git a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=eb71d09d11dfb3cc8ccae98e4e65ea84-json b/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=eb71d09d11dfb3cc8ccae98e4e65ea84-json deleted file mode 100644 index 77a64fa2..00000000 --- a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=eb71d09d11dfb3cc8ccae98e4e65ea84-json +++ /dev/null @@ -1 +0,0 @@ -{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98f850c18f6937fd120321475e01101b34","buildSettings":{"ASSETCATALOG_COMPILER_APPICON_NAME":"AppIcon","ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME":"AccentColor","CLANG_ENABLE_OBJC_WEAK":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","IPHONEOS_DEPLOYMENT_TARGET":"12.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks","ONLY_ACTIVE_ARCH":"NO","SDKROOT":"iphoneos","TARGETED_DEVICE_FAMILY":"1,2"},"guid":"bfdfe7dc352907fc980b868725387e988f7c95cfe7c05e7c498c4effb83b8ca9","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98f12a631782f8376926b89f77c119f385","buildSettings":{"ASSETCATALOG_COMPILER_APPICON_NAME":"AppIcon","ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME":"AccentColor","CLANG_ENABLE_OBJC_WEAK":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","IPHONEOS_DEPLOYMENT_TARGET":"12.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks","SDKROOT":"iphoneos","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES"},"guid":"bfdfe7dc352907fc980b868725387e982781b45ebc68bec548f6cde3050d45db","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98f12a631782f8376926b89f77c119f385","buildSettings":{"ASSETCATALOG_COMPILER_APPICON_NAME":"AppIcon","ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME":"AccentColor","CLANG_ENABLE_OBJC_WEAK":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","IPHONEOS_DEPLOYMENT_TARGET":"12.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks","SDKROOT":"iphoneos","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES"},"guid":"bfdfe7dc352907fc980b868725387e985b28985a46abb62214b40b026e01f674","name":"Release"}],"buildPhases":[{"alwaysOutOfDate":"false","alwaysRunForInstallHdrs":"false","buildFiles":[],"emitEnvironment":"false","guid":"bfdfe7dc352907fc980b868725387e984e2176ef4539053c6517ce3088ac9698","inputFileListPaths":["${PODS_ROOT}/Target Support Files/GoogleMobileAdsMediationFacebook/GoogleMobileAdsMediationFacebook-xcframeworks-input-files.xcfilelist"],"inputFilePaths":[],"name":"[CP] Copy XCFrameworks","originalObjectID":"9AD31E84B8BE0888085C7057A8395CFF","outputFileListPaths":["${PODS_ROOT}/Target Support Files/GoogleMobileAdsMediationFacebook/GoogleMobileAdsMediationFacebook-xcframeworks-output-files.xcfilelist"],"outputFilePaths":[],"sandboxingOverride":"basedOnBuildSetting","scriptContents":"\"${PODS_ROOT}/Target Support Files/GoogleMobileAdsMediationFacebook/GoogleMobileAdsMediationFacebook-xcframeworks.sh\"\n","shellPath":"/bin/sh","type":"com.apple.buildphase.shell-script"}],"buildRules":[],"dependencies":[{"guid":"bfdfe7dc352907fc980b868725387e98c16926158ef45fa2ac81bd3203fcd49e","name":"FBAudienceNetwork"},{"guid":"bfdfe7dc352907fc980b868725387e98cd53d937e824fad9f4527eeeb684cb40","name":"Google-Mobile-Ads-SDK"}],"guid":"bfdfe7dc352907fc980b868725387e98bbd9e0ed4cdc41b93625c3661dbcaa81","name":"GoogleMobileAdsMediationFacebook","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"","configurationName":"Debug","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"","configurationName":"Profile","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"","configurationName":"Release","provisioningStyle":0}],"type":"aggregate"} \ No newline at end of file diff --git a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=ebe021611ae425ec05c93c24ce7a6607-json b/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=ebe021611ae425ec05c93c24ce7a6607-json deleted file mode 100644 index 1c7edb40..00000000 --- a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=ebe021611ae425ec05c93c24ce7a6607-json +++ /dev/null @@ -1 +0,0 @@ -{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98c25cf455db1669644df3712dd48f7fb4","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/firebase_app_check/firebase_app_check-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/firebase_app_check/firebase_app_check-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MACH_O_TYPE":"staticlib","MODULEMAP_FILE":"Target Support Files/firebase_app_check/firebase_app_check.modulemap","ONLY_ACTIVE_ARCH":"NO","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"firebase_app_check","PRODUCT_NAME":"firebase_app_check","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e9811aa18dd7699f02a30902896801d56af","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98e912e07d424cdf8e7522667434d5bd3f","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/firebase_app_check/firebase_app_check-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/firebase_app_check/firebase_app_check-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MACH_O_TYPE":"staticlib","MODULEMAP_FILE":"Target Support Files/firebase_app_check/firebase_app_check.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"firebase_app_check","PRODUCT_NAME":"firebase_app_check","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e988a063649f4f054b30081157d6cfcaa4c","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98e912e07d424cdf8e7522667434d5bd3f","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/firebase_app_check/firebase_app_check-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/firebase_app_check/firebase_app_check-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"15.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MACH_O_TYPE":"staticlib","MODULEMAP_FILE":"Target Support Files/firebase_app_check/firebase_app_check.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"firebase_app_check","PRODUCT_NAME":"firebase_app_check","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98c9eda022570d8bade79621c2c6ccdfbe","name":"Release"}],"buildPhases":[{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98d6d26726976b2e08a5c89968805d3304","guid":"bfdfe7dc352907fc980b868725387e986429c3609fb596acb9ef85af74363599","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e987257dfc73b43963823ab3e833020d53b","guid":"bfdfe7dc352907fc980b868725387e989af0ff5eb2d6b0c5253b0de31189d720","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98e6e862ae88920fd2aa08c4d49b573983","guid":"bfdfe7dc352907fc980b868725387e98d89cb77a27ba98000e028c382a5cc52b","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e9872317cb485910fd1580965e87f2fb858","guid":"bfdfe7dc352907fc980b868725387e98d30d35d1b5ba70d2e2898c982c4ecea3","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e980c7e27df05ae77bf0663c37468ec4d68","guid":"bfdfe7dc352907fc980b868725387e9804b03e8d77afb7cd7ab6ad315f355b9a","headerVisibility":"public"}],"guid":"bfdfe7dc352907fc980b868725387e98f8bd1276980959d08e50d551f643e3f6","type":"com.apple.buildphase.headers"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98b3b0eb48012053daff698e8d2eecd384","guid":"bfdfe7dc352907fc980b868725387e98b560bcec930c02e36024acbe22501a4e"},{"fileReference":"bfdfe7dc352907fc980b868725387e98157eaa509705c5a0a8cf3ea2683f01c3","guid":"bfdfe7dc352907fc980b868725387e98f7d918f7cbb66e428250c231e8b678d2"},{"fileReference":"bfdfe7dc352907fc980b868725387e9811391913961f2b0ab6847057591d15a2","guid":"bfdfe7dc352907fc980b868725387e983d702bdbceda77734fde931632e99c61"},{"fileReference":"bfdfe7dc352907fc980b868725387e988426fad311447aa6640aeb8b4fe3b1d2","guid":"bfdfe7dc352907fc980b868725387e980a04201fef45be55090d423324fcd152"},{"fileReference":"bfdfe7dc352907fc980b868725387e986cf945052e9a5cc9cf921ff7b6631624","guid":"bfdfe7dc352907fc980b868725387e98245ebf0ff7e55665e7a560111f075217"}],"guid":"bfdfe7dc352907fc980b868725387e9845deb996ecac2f34333396d059ec4e5e","type":"com.apple.buildphase.sources"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98b14af7c49882340ad551cb13b0a1e06d","guid":"bfdfe7dc352907fc980b868725387e98e73f4ea779ab24f3c49aa627356a839c"}],"guid":"bfdfe7dc352907fc980b868725387e989bbfdc15c577d12bc28cd60ea06dae27","type":"com.apple.buildphase.frameworks"},{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e9875cbcb21229fc528c24a78bf6a32e9bf","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[{"guid":"bfdfe7dc352907fc980b868725387e98d57b8bce60a0f11113f4cff532db68d3","name":"Firebase"},{"guid":"bfdfe7dc352907fc980b868725387e98ecaebc2b66f6675fbaa388164aa6c8dd","name":"FirebaseAppCheck"},{"guid":"bfdfe7dc352907fc980b868725387e989da425bb6d6d5d8dbb95e4afffb82217","name":"Flutter"},{"guid":"bfdfe7dc352907fc980b868725387e987f74324bfc5c78140e34d510e26e00c1","name":"firebase_core"}],"guid":"bfdfe7dc352907fc980b868725387e98213dce80d6344a36faf6079e42d20067","name":"firebase_app_check","predominantSourceCodeLanguage":"Xcode.SourceCodeLanguage.Objective-C","productReference":{"guid":"bfdfe7dc352907fc980b868725387e98b45c9f0525cc477a414dac35b7dfddb5","name":"firebase_app_check.framework","type":"product"},"productTypeIdentifier":"com.apple.product-type.framework","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":1}],"type":"standard"} \ No newline at end of file diff --git a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=ec851e59095ec5bf084fefcd5588ef75-json b/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=ec851e59095ec5bf084fefcd5588ef75-json deleted file mode 100644 index 015af6a6..00000000 --- a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=ec851e59095ec5bf084fefcd5588ef75-json +++ /dev/null @@ -1 +0,0 @@ -{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9820adfbf68e5990b89cefc5d0ec651cfd","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","GCC_PREFIX_HEADER":"Target Support Files/RecaptchaInterop/RecaptchaInterop-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/RecaptchaInterop/RecaptchaInterop-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"11.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/RecaptchaInterop/RecaptchaInterop.modulemap","ONLY_ACTIVE_ARCH":"NO","PRODUCT_MODULE_NAME":"RecaptchaInterop","PRODUCT_NAME":"RecaptchaInterop","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e982029642174afaeaf5f6d6a171228990e","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98e4c67bec0da225378144113a5283f5e7","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","GCC_PREFIX_HEADER":"Target Support Files/RecaptchaInterop/RecaptchaInterop-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/RecaptchaInterop/RecaptchaInterop-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"11.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/RecaptchaInterop/RecaptchaInterop.modulemap","PRODUCT_MODULE_NAME":"RecaptchaInterop","PRODUCT_NAME":"RecaptchaInterop","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98ca6298affe3b2251336f81d4d31cda29","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98e4c67bec0da225378144113a5283f5e7","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","GCC_PREFIX_HEADER":"Target Support Files/RecaptchaInterop/RecaptchaInterop-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/RecaptchaInterop/RecaptchaInterop-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"11.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/RecaptchaInterop/RecaptchaInterop.modulemap","PRODUCT_MODULE_NAME":"RecaptchaInterop","PRODUCT_NAME":"RecaptchaInterop","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98184f30de80282b2325a9c5c50e5a4ca8","name":"Release"}],"buildPhases":[{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e9846288276371e5cec52e9a8a0d7bce8d6","guid":"bfdfe7dc352907fc980b868725387e985b9ef788a2f63e42989d87e2d4bd928a","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e9888baa60dc9fe0ff0987f46e74e092236","guid":"bfdfe7dc352907fc980b868725387e98f5e1aa42ff5659b24b8e057d94120384","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e985616a2553f97c6ad675d654cea953c03","guid":"bfdfe7dc352907fc980b868725387e9844857006c39671f0f8e35bf97e2f9f8c","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e9898b4264b684c69bf23f82e2a6781718d","guid":"bfdfe7dc352907fc980b868725387e98d94d198f5505923b258d8bf7459691b0","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98c54e5d70b03e206695cd4cd8927c8cc8","guid":"bfdfe7dc352907fc980b868725387e9845d58770cb5cb2ddf38c6f2018b590ba","headerVisibility":"public"}],"guid":"bfdfe7dc352907fc980b868725387e9895443977c38e1be0af3feb46fe9915bd","type":"com.apple.buildphase.headers"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98f53a2b9142a2e19252d075f8af76efe2","guid":"bfdfe7dc352907fc980b868725387e985d8a68069d64fdfbac4efe7f4ed68dec"},{"fileReference":"bfdfe7dc352907fc980b868725387e98eaaffa60434f1c632748d87268193d14","guid":"bfdfe7dc352907fc980b868725387e980dffea18c5e488dd570ae3e6af4ec6ee"}],"guid":"bfdfe7dc352907fc980b868725387e981c11a08274f8e5b3329c63cb2e7c62f9","type":"com.apple.buildphase.sources"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98b14af7c49882340ad551cb13b0a1e06d","guid":"bfdfe7dc352907fc980b868725387e986b5a3a20dc5941822d7ad4dca8f05ec5"}],"guid":"bfdfe7dc352907fc980b868725387e98b9a9049f06ad3c296a3207e49fcff82c","type":"com.apple.buildphase.frameworks"},{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e988d47cc2208426e3b9186cf19fde1addb","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[],"guid":"bfdfe7dc352907fc980b868725387e98da29652de71b686743df2bd56decf7ef","name":"RecaptchaInterop","predominantSourceCodeLanguage":"Xcode.SourceCodeLanguage.Objective-C-Plus-Plus","productReference":{"guid":"bfdfe7dc352907fc980b868725387e988c2a56cd963a48a63ab689fe60f47236","name":"RecaptchaInterop.framework","type":"product"},"productTypeIdentifier":"com.apple.product-type.framework","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":1}],"type":"standard"} \ No newline at end of file diff --git a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=f3bbe05679242975dafb6d8e69ca7557-json b/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=f3bbe05679242975dafb6d8e69ca7557-json deleted file mode 100644 index 4a2254fe..00000000 --- a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=f3bbe05679242975dafb6d8e69ca7557-json +++ /dev/null @@ -1 +0,0 @@ -{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e984e4a588da55ed3c53fbd1e10e58fd1c6","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/fl_downloader","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"fl_downloader","INFOPLIST_FILE":"Target Support Files/fl_downloader/ResourceBundle-fl_downloader_privacy-fl_downloader-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"9.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"fl_downloader_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e981d747fe2f1d7335ed7d95e8f047a6545","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98c91d9e268657e7dd6c060d3e603cc2b1","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/fl_downloader","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"fl_downloader","INFOPLIST_FILE":"Target Support Files/fl_downloader/ResourceBundle-fl_downloader_privacy-fl_downloader-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"9.0","PRODUCT_NAME":"fl_downloader_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98c68b47ec61c5cde3fadfea8837611f8e","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98c91d9e268657e7dd6c060d3e603cc2b1","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/fl_downloader","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"fl_downloader","INFOPLIST_FILE":"Target Support Files/fl_downloader/ResourceBundle-fl_downloader_privacy-fl_downloader-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"9.0","PRODUCT_NAME":"fl_downloader_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e9829bfc4b15e8bff2687d3072f648c807f","name":"Release"}],"buildPhases":[{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e98105b212d6bda99b4525303daa6279240","type":"com.apple.buildphase.sources"},{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e98b38bb11290a0f3cb4344a95bb29dc03e","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e9831fe485b45a69a8422a609fface14279","guid":"bfdfe7dc352907fc980b868725387e98c78b6e00db5873683b83629ebf8b0578"}],"guid":"bfdfe7dc352907fc980b868725387e98f211d7ac8c20ab3b210377b8f3ef8a71","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[],"guid":"bfdfe7dc352907fc980b868725387e98abdd64503b5f23b8e73dd13a311548b1","name":"fl_downloader-fl_downloader_privacy","productReference":{"guid":"bfdfe7dc352907fc980b868725387e98e14c0052b63c62c18c33ff7e46988a66","name":"fl_downloader_privacy.bundle","type":"product"},"productTypeIdentifier":"com.apple.product-type.bundle","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":0}],"type":"standard"} \ No newline at end of file diff --git a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=f8fcc6d355b2806d43f663daae6a06d4-json b/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=f8fcc6d355b2806d43f663daae6a06d4-json deleted file mode 100644 index 3b8047e0..00000000 --- a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=f8fcc6d355b2806d43f663daae6a06d4-json +++ /dev/null @@ -1 +0,0 @@ -{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e989ea1b5ad8cedbe34b515d7efe8552fea","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/AppCheckCore/AppCheckCore-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"12.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/AppCheckCore/AppCheckCore.modulemap","ONLY_ACTIVE_ARCH":"NO","PRODUCT_MODULE_NAME":"AppCheckCore","PRODUCT_NAME":"AppCheckCore","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.5","TARGETED_DEVICE_FAMILY":"1,2","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98e7a99df6e6a4873f55b3ad33955c73d7","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98bc298d5906127a42ca6675d4cbce0891","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/AppCheckCore/AppCheckCore-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"12.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/AppCheckCore/AppCheckCore.modulemap","PRODUCT_MODULE_NAME":"AppCheckCore","PRODUCT_NAME":"AppCheckCore","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.5","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98961e7c9baafe5b4e26a5c59132394731","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98bc298d5906127a42ca6675d4cbce0891","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/AppCheckCore/AppCheckCore-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"12.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/AppCheckCore/AppCheckCore.modulemap","PRODUCT_MODULE_NAME":"AppCheckCore","PRODUCT_NAME":"AppCheckCore","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.5","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98a5e2f4ec47caf1c35a822cf8398efdf7","name":"Release"}],"buildPhases":[{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98014d81339f7078c553aad067e2c1e542","guid":"bfdfe7dc352907fc980b868725387e983a7f56a8bda7f4a32b582f3e3543ec6b","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e981b9edf1174753b93be76528df893f4d1","guid":"bfdfe7dc352907fc980b868725387e98eefa1fbb52d5820fb2f74287e89fa5be","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e9828b098957cb273088cb9694f57f6aa9b","guid":"bfdfe7dc352907fc980b868725387e98731bf14971647468f98880f5ab2ecebd"},{"fileReference":"bfdfe7dc352907fc980b868725387e982d5afb74f6affa743e0f460b5372128c","guid":"bfdfe7dc352907fc980b868725387e985188a1987f7cf2a34653743fc646f39e"},{"fileReference":"bfdfe7dc352907fc980b868725387e98c693a9d5b43f3dd47c9a722b20606f0d","guid":"bfdfe7dc352907fc980b868725387e988f117cd19bea713411f7d886e3ee57f4"},{"fileReference":"bfdfe7dc352907fc980b868725387e9895fad991994f740ea3a0d0ae15aa1ae4","guid":"bfdfe7dc352907fc980b868725387e98f7013b8d08955f03cd9ad217b6575ec4"},{"fileReference":"bfdfe7dc352907fc980b868725387e9879746c4764bdf06155261adb67d0ecda","guid":"bfdfe7dc352907fc980b868725387e98c3717fce461d8c3c727f6ab1e1ef8dd8"},{"fileReference":"bfdfe7dc352907fc980b868725387e9858fc7456770843d79df60a4fac1e1f21","guid":"bfdfe7dc352907fc980b868725387e98971d704d92f697bb1c3431227aeca581"},{"fileReference":"bfdfe7dc352907fc980b868725387e98881b0a9e4c6413cc3a4330c7764cb89e","guid":"bfdfe7dc352907fc980b868725387e987fb0a97b5514da31c86f2442dd9c5c3f","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98fb187d533907cbad809ebd88436c4a78","guid":"bfdfe7dc352907fc980b868725387e98557eecafb08f3d4c91d7a27a04cbc98f"},{"fileReference":"bfdfe7dc352907fc980b868725387e987f13dc02d10ed5c4ba105bb7b6fbc4e4","guid":"bfdfe7dc352907fc980b868725387e9831a692eeee4b67a14159ea381967273a"},{"fileReference":"bfdfe7dc352907fc980b868725387e98492f8c730664e908ffe340f7496c9f79","guid":"bfdfe7dc352907fc980b868725387e986a533507042bc1b488b8d411b4e467dd"},{"fileReference":"bfdfe7dc352907fc980b868725387e98aea1bf88784f644740e8ef1f765d1763","guid":"bfdfe7dc352907fc980b868725387e98ae7871cec43b2a430799debd34abfca4"},{"fileReference":"bfdfe7dc352907fc980b868725387e98f0b1f732a61c77e8d848d5868deb0b62","guid":"bfdfe7dc352907fc980b868725387e9843848d640b95d66ae7b0609d40822a18","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e9837bc6335678372d578e6d02db1629af0","guid":"bfdfe7dc352907fc980b868725387e985df37ff259fbebfcef0385a6ec8da199"},{"fileReference":"bfdfe7dc352907fc980b868725387e98c61395722d06659205139c45a25e2676","guid":"bfdfe7dc352907fc980b868725387e98f8b9a4332a9d35d417da9e60a68e1e5f","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98da0f4edada96d01491b50b373b8e2d17","guid":"bfdfe7dc352907fc980b868725387e987016ef18ef8e69d7bc59d3c64c1062eb"},{"fileReference":"bfdfe7dc352907fc980b868725387e98b1e121e7f892a1088bfc28fd83c4b2dc","guid":"bfdfe7dc352907fc980b868725387e98638fdbf659b7db656daaabefeb0fa1e0"},{"fileReference":"bfdfe7dc352907fc980b868725387e9838ab10c273a7e47d831e4ac8a3a5ac4c","guid":"bfdfe7dc352907fc980b868725387e982366610e765f0b5c67b62d5d700c6ccd","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98dac18db19a745421b5c65b10b4f4d79a","guid":"bfdfe7dc352907fc980b868725387e98201a1ca6306b21611dc8f609d62d8e10"},{"fileReference":"bfdfe7dc352907fc980b868725387e98e1dae2413b60766fd26fdafb05789b08","guid":"bfdfe7dc352907fc980b868725387e9805d1768fe792537334f391c041c31f35","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e9829d2cfb34695f3b70daac392c3ac42be","guid":"bfdfe7dc352907fc980b868725387e981ca2893936b4e0ab83db00de99e3fe4b"},{"fileReference":"bfdfe7dc352907fc980b868725387e9840d287a87e37c64d0a718e1abe22ea0b","guid":"bfdfe7dc352907fc980b868725387e98df05095938a6e6a95d183f2debb7eeca"},{"fileReference":"bfdfe7dc352907fc980b868725387e98cd2ca0d4f82d3b33ee4ad429fe8459b0","guid":"bfdfe7dc352907fc980b868725387e988f3992c3226d3fffed029e44a32d785f","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98bd9686f220f85a0a984b226ac6bf56e2","guid":"bfdfe7dc352907fc980b868725387e98325b799f84feca7cce3ae0c158b3d6d7"},{"fileReference":"bfdfe7dc352907fc980b868725387e9874128677a6ece04c6192ff43793cd2a3","guid":"bfdfe7dc352907fc980b868725387e98d73be45a5c15dbc80c5e29415079a21a","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98782156c69d76c8c6493e13d013c7ce68","guid":"bfdfe7dc352907fc980b868725387e9895e853d89407c6a61308b8ed634f6c83","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e986a8e8f52ce1983fc319f91887811f274","guid":"bfdfe7dc352907fc980b868725387e983f07250a53c4dcc69dfbcf67ebdc325b"},{"fileReference":"bfdfe7dc352907fc980b868725387e9829195948780728699af6ecdf82603694","guid":"bfdfe7dc352907fc980b868725387e987481fc11365e35e19c58f07f6f4b732c"},{"fileReference":"bfdfe7dc352907fc980b868725387e98e10e47fb86648c98be3656c0ccca10e5","guid":"bfdfe7dc352907fc980b868725387e985b6c7b86e2e3ddab6f8772c5362a6fba"},{"fileReference":"bfdfe7dc352907fc980b868725387e9818e104a51a5ccc214c42f6a98edeef45","guid":"bfdfe7dc352907fc980b868725387e988919c6af1499779a90e7598a5e84fabe"},{"fileReference":"bfdfe7dc352907fc980b868725387e98a20441f218b6e5f9df32f6fd2cd3c3a6","guid":"bfdfe7dc352907fc980b868725387e98d6d0fe9c6b6c404e0d62b0cbcd05dfdf","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98ab95d45482b4f15cf9b35a49cabce56a","guid":"bfdfe7dc352907fc980b868725387e9810d41d30cf3c158f9509077744b70505"},{"fileReference":"bfdfe7dc352907fc980b868725387e98ed76d12f5c543a6a57822cdb488c14fc","guid":"bfdfe7dc352907fc980b868725387e9865d6cb4f29a80f2f2ce4e60e0090a0bb","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98835e9bec84d11ab061c8232c82eb1d7e","guid":"bfdfe7dc352907fc980b868725387e98ea323f1a49908e40b0b598e61db59b71"},{"fileReference":"bfdfe7dc352907fc980b868725387e9806f6d128aff99460ffc6c94ba1bc162c","guid":"bfdfe7dc352907fc980b868725387e9866a81d67491e84a3ef0e7b3befdbdaba"},{"fileReference":"bfdfe7dc352907fc980b868725387e980c5f74743a1066c09331ff78287d8b6a","guid":"bfdfe7dc352907fc980b868725387e98f9a04fb7607f394362f9bff3a632b600","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98b18aaaf052e27db0b53d9fa8af58d2c2","guid":"bfdfe7dc352907fc980b868725387e98c1b9cbe39894801763b170085b67c5ad"},{"fileReference":"bfdfe7dc352907fc980b868725387e98ea3377b1e0c0bdef3341745d6980d9c2","guid":"bfdfe7dc352907fc980b868725387e984e87e4b3e6b500cceaa46ede0ec13dfb","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e986d751b4b66302242538b97dc19e6cc3c","guid":"bfdfe7dc352907fc980b868725387e9804e24ee381ecd94ecdaeb870ed0114ce"},{"fileReference":"bfdfe7dc352907fc980b868725387e98a451f8861c61957089616af539f9e48b","guid":"bfdfe7dc352907fc980b868725387e987e8729dc670ba4e8dc2e7ab782a73fb8"},{"fileReference":"bfdfe7dc352907fc980b868725387e98695cb111b5ba9a097c1007af207f49de","guid":"bfdfe7dc352907fc980b868725387e980673b86a47f0fe84859c2176137bfbd7"}],"guid":"bfdfe7dc352907fc980b868725387e98dc3f6c017f50c3291e26862a62071ad6","type":"com.apple.buildphase.headers"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98c7d21c3328d9ad46039795667d6cc430","guid":"bfdfe7dc352907fc980b868725387e981251f36c01e0bb324ca1cf7a8d9bddb0"},{"fileReference":"bfdfe7dc352907fc980b868725387e98eda68ffa8acf6341bdd6764dc69f14ea","guid":"bfdfe7dc352907fc980b868725387e98d8db050f1c7a5fd0ec0a4596c587f92c"},{"fileReference":"bfdfe7dc352907fc980b868725387e98c82d9f039480b6a3f302f98e59983983","guid":"bfdfe7dc352907fc980b868725387e98251d465f7239177f9eb05186be427f1b"},{"fileReference":"bfdfe7dc352907fc980b868725387e98539f97205232fdc1451a9f7c8097d9f6","guid":"bfdfe7dc352907fc980b868725387e98b9bf91278debb41b3833f220f1b435bc"},{"fileReference":"bfdfe7dc352907fc980b868725387e98b83a24afd65346b2bf12ca652c517f99","guid":"bfdfe7dc352907fc980b868725387e98af769f021239e440439d2f37c2a8b47a"},{"fileReference":"bfdfe7dc352907fc980b868725387e98087e9537dc37fc002b865cca978e783c","guid":"bfdfe7dc352907fc980b868725387e98f4410e2eefcc5e3073d1057d8a440acc"},{"fileReference":"bfdfe7dc352907fc980b868725387e988feba12f52eda30148e94b936a418633","guid":"bfdfe7dc352907fc980b868725387e981c659a32af5c88dd60c9e7e92e503c73"},{"fileReference":"bfdfe7dc352907fc980b868725387e98577f1fe42e5dc5c2e7e55299acf301aa","guid":"bfdfe7dc352907fc980b868725387e98385e9f712da19f3fdeab81bd33335d87"},{"fileReference":"bfdfe7dc352907fc980b868725387e98358267319aee2a1f6097c2d48c844228","guid":"bfdfe7dc352907fc980b868725387e98a44cf29d16204615eb6acc6a177ed90d"},{"fileReference":"bfdfe7dc352907fc980b868725387e98ca28cb9281f2e84ed045a06550b0e564","guid":"bfdfe7dc352907fc980b868725387e981759ea69ef13d9431585b07246de10e5"},{"fileReference":"bfdfe7dc352907fc980b868725387e985813b18e8935c4f95e05bcd74f837249","guid":"bfdfe7dc352907fc980b868725387e98c7a014a0f2696eb65fdde5d95ff8a377"},{"fileReference":"bfdfe7dc352907fc980b868725387e9827ca8bd13e7ceee923e143162527ddf4","guid":"bfdfe7dc352907fc980b868725387e987d3c88b047f31c79453e480da1cee745"},{"fileReference":"bfdfe7dc352907fc980b868725387e984e54641bd8600d981f2b8ae39a870e00","guid":"bfdfe7dc352907fc980b868725387e98754dd466afb74dc55b83de8dbd18dd4e"},{"fileReference":"bfdfe7dc352907fc980b868725387e98174dfe48f0936468875402ed704dabc2","guid":"bfdfe7dc352907fc980b868725387e98d346057307b65a0c4cb63b7ce2cfbc65"},{"fileReference":"bfdfe7dc352907fc980b868725387e9829007e4ebcafeb1e46a41c025d1c75c6","guid":"bfdfe7dc352907fc980b868725387e9831a5a7cf4456b84e8b2fb59d15681b76"},{"fileReference":"bfdfe7dc352907fc980b868725387e984be13140013cec049e7b151fd1988622","guid":"bfdfe7dc352907fc980b868725387e98630b01bae14ac405faf80a562b3c32b2"},{"fileReference":"bfdfe7dc352907fc980b868725387e9808d0d0571ccc4b7e15d946a45268ab43","guid":"bfdfe7dc352907fc980b868725387e98c9f34912719e77ba96475461238e0e02"},{"fileReference":"bfdfe7dc352907fc980b868725387e98f3de26ba5b5c36f5aeffb5c06f1623ec","guid":"bfdfe7dc352907fc980b868725387e984867af3440057818079d08ea0c4d6195"},{"fileReference":"bfdfe7dc352907fc980b868725387e981cf6381f55e9ecb15799f109ba22813e","guid":"bfdfe7dc352907fc980b868725387e9804dbc6bc4a995fc03805e33bbdc61583"},{"fileReference":"bfdfe7dc352907fc980b868725387e9893049ceada4e29aa457dfc968b35d04d","guid":"bfdfe7dc352907fc980b868725387e98d92cafd93ccc407f0b67993abcefdce5"},{"fileReference":"bfdfe7dc352907fc980b868725387e983ef18a79e17b5bdc30cb4f2b4274fdb9","guid":"bfdfe7dc352907fc980b868725387e9820143a2be1e220fac8de61a11087c01f"},{"fileReference":"bfdfe7dc352907fc980b868725387e982441595d23425e7fc95dc3f4a540e4da","guid":"bfdfe7dc352907fc980b868725387e98f5c29ea9255f8220e21e5404dc5a3f8e"},{"fileReference":"bfdfe7dc352907fc980b868725387e982b8462cd169d1e0749ac27072f89f63e","guid":"bfdfe7dc352907fc980b868725387e982693cc42ebb05a72e63217341d71bd9e"},{"fileReference":"bfdfe7dc352907fc980b868725387e9828e7a28a227cdf431de4bf2858a41bbe","guid":"bfdfe7dc352907fc980b868725387e985d0530ef6188ebe958e1f0d3f3298d82"},{"fileReference":"bfdfe7dc352907fc980b868725387e987533d8eadf98de75a39414c45f84c97a","guid":"bfdfe7dc352907fc980b868725387e9829041b1e039eb006c470ff92591bf911"},{"fileReference":"bfdfe7dc352907fc980b868725387e98f4e9b20932af00aaa09e6fad037bc675","guid":"bfdfe7dc352907fc980b868725387e98b92b9cf860855796967f283ce7415d09"},{"fileReference":"bfdfe7dc352907fc980b868725387e988d91cc71f5ce438497a6057117f8c354","guid":"bfdfe7dc352907fc980b868725387e98debe9957367259f62596ede328df84af"},{"fileReference":"bfdfe7dc352907fc980b868725387e985f834f5e6923ec908549b8f62a618c71","guid":"bfdfe7dc352907fc980b868725387e98ec8f6bff25068400792a0da62301d62a"},{"fileReference":"bfdfe7dc352907fc980b868725387e98234709d52c7321a4980d4abdb69bdab2","guid":"bfdfe7dc352907fc980b868725387e981808cef69632857ddb48af8a1b5faf76"},{"fileReference":"bfdfe7dc352907fc980b868725387e98c749ee5587e64f95f2b09ed09f61b050","guid":"bfdfe7dc352907fc980b868725387e980f230ea024b72dbc683a1fabead8d6bf"},{"fileReference":"bfdfe7dc352907fc980b868725387e9848eaaee93b51e8f77bc9842360a966dd","guid":"bfdfe7dc352907fc980b868725387e98deca3a41ff15842151e1be841cc3fff0"},{"fileReference":"bfdfe7dc352907fc980b868725387e98a68711618db6b4b78c1e1f9eba53a069","guid":"bfdfe7dc352907fc980b868725387e98f21ff164321f2d57d89d63e9fa8d5d8e"},{"fileReference":"bfdfe7dc352907fc980b868725387e9827dd64bc5511da2695473b94ff768e19","guid":"bfdfe7dc352907fc980b868725387e981618ab1789cddc3783305bb624a1280e"},{"fileReference":"bfdfe7dc352907fc980b868725387e98c0bd7a1ba78b0e4556aa605a1ba1a2e1","guid":"bfdfe7dc352907fc980b868725387e98c367e72e8bce33e83d8a76f05c126e9d"},{"fileReference":"bfdfe7dc352907fc980b868725387e98bbce17ed01d5c32b82156eaf7a9cc458","guid":"bfdfe7dc352907fc980b868725387e98c36efdc476e07ebbd7263ace396ae758"}],"guid":"bfdfe7dc352907fc980b868725387e98053600d677a0ee3a6e8294a5f6c29926","type":"com.apple.buildphase.sources"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98b14af7c49882340ad551cb13b0a1e06d","guid":"bfdfe7dc352907fc980b868725387e98a7f5c11a3ddc6c6109c703c9daffc90f"}],"guid":"bfdfe7dc352907fc980b868725387e986ef21295949b1adf438aaa172cba7c15","type":"com.apple.buildphase.frameworks"},{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e987799c6ff721a2f90b939c7d64edb78cc","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[{"guid":"bfdfe7dc352907fc980b868725387e98718890dfdac589615663a02d43d9af3e","name":"GoogleUtilities"},{"guid":"bfdfe7dc352907fc980b868725387e98f10882e1684b8a3dfdec597bc0a47af3","name":"PromisesObjC"}],"guid":"bfdfe7dc352907fc980b868725387e98cd8162b601eb6c17e4d86eec112a388c","name":"AppCheckCore","predominantSourceCodeLanguage":"Xcode.SourceCodeLanguage.Objective-C-Plus-Plus","productReference":{"guid":"bfdfe7dc352907fc980b868725387e985c8c1a45791dbc15ae7565c9ac08e62e","name":"AppCheckCore.framework","type":"product"},"productTypeIdentifier":"com.apple.product-type.framework","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":1}],"type":"standard"} \ No newline at end of file diff --git a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=fbb75b67977f7fd3136c2c9e82b06c66-json b/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=fbb75b67977f7fd3136c2c9e82b06c66-json deleted file mode 100644 index 32110e53..00000000 --- a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=fbb75b67977f7fd3136c2c9e82b06c66-json +++ /dev/null @@ -1 +0,0 @@ -{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9858f3b516df641443530da1bc57fe9cb2","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/SwiftyGif","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"SwiftyGif","INFOPLIST_FILE":"Target Support Files/SwiftyGif/ResourceBundle-SwiftyGif-SwiftyGif-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"9.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"SwiftyGif","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e9806b9aaab628b0b376322c048fad9e215","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98ee297b6d0e4054f62dc3e42830b40034","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/SwiftyGif","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"SwiftyGif","INFOPLIST_FILE":"Target Support Files/SwiftyGif/ResourceBundle-SwiftyGif-SwiftyGif-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"9.0","PRODUCT_NAME":"SwiftyGif","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e986cca4cd0cfe5897bd20687cf94b99eb6","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98ee297b6d0e4054f62dc3e42830b40034","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/SwiftyGif","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"SwiftyGif","INFOPLIST_FILE":"Target Support Files/SwiftyGif/ResourceBundle-SwiftyGif-SwiftyGif-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"9.0","PRODUCT_NAME":"SwiftyGif","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98edbb20537df13b747231792e67230350","name":"Release"}],"buildPhases":[{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e98bf85d6781eaa8e2307ca9becfe7debd9","type":"com.apple.buildphase.sources"},{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e987fd9d8a6181d78ab5a9c86986248aa32","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98b3294ad38a1a774f918eb06a0d82d5fc","guid":"bfdfe7dc352907fc980b868725387e9823ca68cbbab4250d50c6ef9758b67ab4"}],"guid":"bfdfe7dc352907fc980b868725387e98617f31f14f5d20f06300593fb19e3def","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[],"guid":"bfdfe7dc352907fc980b868725387e98f5cd644fc2aeb8654450a2168f52697c","name":"SwiftyGif-SwiftyGif","productReference":{"guid":"bfdfe7dc352907fc980b868725387e9824d08d80a11ec6e34ca1c1e17eca0844","name":"SwiftyGif.bundle","type":"product"},"productTypeIdentifier":"com.apple.product-type.bundle","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":0}],"type":"standard"} \ No newline at end of file diff --git a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=ff36872ab1512227359a12a6bdfb005a-json b/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=ff36872ab1512227359a12a6bdfb005a-json deleted file mode 100644 index 3ff304b9..00000000 --- a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=ff36872ab1512227359a12a6bdfb005a-json +++ /dev/null @@ -1 +0,0 @@ -{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e984e4a588da55ed3c53fbd1e10e58fd1c6","buildSettings":{"CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/fl_downloader/fl_downloader-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/fl_downloader/fl_downloader-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/fl_downloader/fl_downloader.modulemap","ONLY_ACTIVE_ARCH":"NO","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"fl_downloader","PRODUCT_NAME":"fl_downloader","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98b3e9af480c11026dda651b1a259d5331","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98c91d9e268657e7dd6c060d3e603cc2b1","buildSettings":{"CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/fl_downloader/fl_downloader-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/fl_downloader/fl_downloader-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/fl_downloader/fl_downloader.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"fl_downloader","PRODUCT_NAME":"fl_downloader","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e9811e0df8bbacae27f0a82a011919f4e9b","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98c91d9e268657e7dd6c060d3e603cc2b1","buildSettings":{"CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/fl_downloader/fl_downloader-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/fl_downloader/fl_downloader-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/fl_downloader/fl_downloader.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"fl_downloader","PRODUCT_NAME":"fl_downloader","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e9895ec683195519d210f0111debbce5b1c","name":"Release"}],"buildPhases":[{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98e9683ad27cd35a81b03f764dc06cfad0","guid":"bfdfe7dc352907fc980b868725387e986f918640bedf880f8783ce5c84300e56","headerVisibility":"public"},{"fileReference":"bfdfe7dc352907fc980b868725387e98a8bcf9b778aff46eca5e22cafa52131b","guid":"bfdfe7dc352907fc980b868725387e987a440fd8dbb8990c10e50c6d04775930","headerVisibility":"public"}],"guid":"bfdfe7dc352907fc980b868725387e980148d04120ca1e2af555fdd146152f97","type":"com.apple.buildphase.headers"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e9841face9f91cced866f2eca4a4b6c1da2","guid":"bfdfe7dc352907fc980b868725387e9885f8bd51676cb9cdd800921899e45cf9"},{"fileReference":"bfdfe7dc352907fc980b868725387e98914c048b53a42f42ba49718548e5cd81","guid":"bfdfe7dc352907fc980b868725387e98b5db47fc9c7ba16e239cd25e0812cfc1"},{"fileReference":"bfdfe7dc352907fc980b868725387e9851df058efa51527351690153e2e7a913","guid":"bfdfe7dc352907fc980b868725387e987e5c996dc8776989987ed9646a7c33de"}],"guid":"bfdfe7dc352907fc980b868725387e987e25f6baebcb92061fa7a3fe54d30e5d","type":"com.apple.buildphase.sources"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98b14af7c49882340ad551cb13b0a1e06d","guid":"bfdfe7dc352907fc980b868725387e98400c79d78219652b39963f49b82a5dd5"}],"guid":"bfdfe7dc352907fc980b868725387e98ef6187d6ee599104273156a3c19ede19","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"guid":"bfdfe7dc352907fc980b868725387e98ca83a8acf6416e0c3bd8b6afadb8bce2","targetReference":"bfdfe7dc352907fc980b868725387e98abdd64503b5f23b8e73dd13a311548b1"}],"guid":"bfdfe7dc352907fc980b868725387e9815833bb8cff325841f5f1bc61766efa0","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[{"guid":"bfdfe7dc352907fc980b868725387e989da425bb6d6d5d8dbb95e4afffb82217","name":"Flutter"},{"guid":"bfdfe7dc352907fc980b868725387e98abdd64503b5f23b8e73dd13a311548b1","name":"fl_downloader-fl_downloader_privacy"}],"guid":"bfdfe7dc352907fc980b868725387e98cfaa9701b1371f15b99c4f66ff385fb3","name":"fl_downloader","predominantSourceCodeLanguage":"Xcode.SourceCodeLanguage.Objective-C","productReference":{"guid":"bfdfe7dc352907fc980b868725387e9803300d8065febd8b73cf4bb47635a5a9","name":"fl_downloader.framework","type":"product"},"productTypeIdentifier":"com.apple.product-type.framework","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":1}],"type":"standard"} \ No newline at end of file diff --git a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=ff5000f2df75d09390a7c02a18cf47cb-json b/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=ff5000f2df75d09390a7c02a18cf47cb-json deleted file mode 100644 index 44f24899..00000000 --- a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=ff5000f2df75d09390a7c02a18cf47cb-json +++ /dev/null @@ -1 +0,0 @@ -{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98e9790273c34cf01756c3ac2cbd541c6d","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/app_settings/app_settings-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/app_settings/app_settings-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/app_settings/app_settings.modulemap","ONLY_ACTIVE_ARCH":"NO","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"app_settings","PRODUCT_NAME":"app_settings","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0.1","TARGETED_DEVICE_FAMILY":"1,2","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e9830d6bb49fe670aedf25696dacb5a931b","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e981916adc978ad471261fb8f5e1e97ed3a","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/app_settings/app_settings-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/app_settings/app_settings-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/app_settings/app_settings.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"app_settings","PRODUCT_NAME":"app_settings","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0.1","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e986565976926f5320bfcba72107d42606d","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e981916adc978ad471261fb8f5e1e97ed3a","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER":"NO","CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_BITCODE":"NO","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","EXCLUDED_ARCHS[sdk=iphoneos*]":"$(inherited) armv7","EXCLUDED_ARCHS[sdk=iphonesimulator*]":"$(inherited) i386","FRAMEWORK_SEARCH_PATHS[sdk=iphoneos*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64\" $(inherited)","FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]":"\"/Users/yaso_meth/Git/flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework/ios-arm64_x86_64-simulator\" $(inherited)","GCC_PREFIX_HEADER":"Target Support Files/app_settings/app_settings-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/app_settings/app_settings-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/app_settings/app_settings.modulemap","OTHER_LDFLAGS":"$(inherited) -framework Flutter","PRODUCT_MODULE_NAME":"app_settings","PRODUCT_NAME":"app_settings","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5.0.1","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VALID_ARCHS[sdk=iphonesimulator*]":"$(ARCHS_STANDARD)","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e98b04a0b792901225c2ea31d5baa82eed5","name":"Release"}],"buildPhases":[{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98fdf0be27e7b47159d9d8b87c584ea45f","guid":"bfdfe7dc352907fc980b868725387e98ba9395f2c1b607eec43204cf621f1d9c","headerVisibility":"public"}],"guid":"bfdfe7dc352907fc980b868725387e98ccf8550e493f2144cf1f6ed0eff21468","type":"com.apple.buildphase.headers"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98b8ecd436f5a48de64e24bcea345336fb","guid":"bfdfe7dc352907fc980b868725387e98bccb4c9cc2671489be299602d7cecd08"},{"fileReference":"bfdfe7dc352907fc980b868725387e98f5e4ec7c8e38b008f7f7c3a9bd4a401e","guid":"bfdfe7dc352907fc980b868725387e9885691fe2efdd2cc3f1243fa80c796d16"}],"guid":"bfdfe7dc352907fc980b868725387e982b69e8d5a8dbfbb8b7206d0771ee52f1","type":"com.apple.buildphase.sources"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98b14af7c49882340ad551cb13b0a1e06d","guid":"bfdfe7dc352907fc980b868725387e98e522bc3058aaf05bd33d5dbc6762fd75"}],"guid":"bfdfe7dc352907fc980b868725387e980b74592459c3dd5d4365fc3ac6bb1e04","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"guid":"bfdfe7dc352907fc980b868725387e98167fba69bdf7f86529ed5b907d751eff","targetReference":"bfdfe7dc352907fc980b868725387e98cf3ab2030ed25c0947bdaa95034b1488"}],"guid":"bfdfe7dc352907fc980b868725387e986f601b731d225ae92d96971fdbfc381f","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[{"guid":"bfdfe7dc352907fc980b868725387e989da425bb6d6d5d8dbb95e4afffb82217","name":"Flutter"},{"guid":"bfdfe7dc352907fc980b868725387e98cf3ab2030ed25c0947bdaa95034b1488","name":"app_settings-app_settings_privacy"}],"guid":"bfdfe7dc352907fc980b868725387e98c7dd3f56f799b35458f81928cf1cb47b","name":"app_settings","predominantSourceCodeLanguage":"Xcode.SourceCodeLanguage.Swift","productReference":{"guid":"bfdfe7dc352907fc980b868725387e98d29eb572b0b4c6acbe0dc048bab4bd1d","name":"app_settings.framework","type":"product"},"productTypeIdentifier":"com.apple.product-type.framework","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":1}],"type":"standard"} \ No newline at end of file diff --git a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=ff93596a3d92ba01970679242c7f2f1b-json b/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=ff93596a3d92ba01970679242c7f2f1b-json deleted file mode 100644 index a9e2ad89..00000000 --- a/mih_ui/android/build/ios/XCBuildData/PIFCache/target/TARGET@v11_hash=ff93596a3d92ba01970679242c7f2f1b-json +++ /dev/null @@ -1 +0,0 @@ -{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9837b4eae1f2290b03d7d4aabded8138b2","buildSettings":{"CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","GCC_PREFIX_HEADER":"Target Support Files/DKImagePickerController/DKImagePickerController-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/DKImagePickerController/DKImagePickerController-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"9.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/DKImagePickerController/DKImagePickerController.modulemap","ONLY_ACTIVE_ARCH":"NO","PRODUCT_MODULE_NAME":"DKImagePickerController","PRODUCT_NAME":"DKImagePickerController","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5","TARGETED_DEVICE_FAMILY":"1,2","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e987c1a49d2eb4928f38153fbb752b43f0d","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98c17784c5efe37bcec77e0c17b5660c20","buildSettings":{"CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","GCC_PREFIX_HEADER":"Target Support Files/DKImagePickerController/DKImagePickerController-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/DKImagePickerController/DKImagePickerController-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"9.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/DKImagePickerController/DKImagePickerController.modulemap","PRODUCT_MODULE_NAME":"DKImagePickerController","PRODUCT_NAME":"DKImagePickerController","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e981a061109697a6fecb5c4052027830873","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98c17784c5efe37bcec77e0c17b5660c20","buildSettings":{"CODE_SIGN_IDENTITY[sdk=appletvos*]":"","CODE_SIGN_IDENTITY[sdk=iphoneos*]":"","CODE_SIGN_IDENTITY[sdk=watchos*]":"","CURRENT_PROJECT_VERSION":"1","DEFINES_MODULE":"YES","DYLIB_COMPATIBILITY_VERSION":"1","DYLIB_CURRENT_VERSION":"1","DYLIB_INSTALL_NAME_BASE":"@rpath","ENABLE_MODULE_VERIFIER":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","GCC_PREFIX_HEADER":"Target Support Files/DKImagePickerController/DKImagePickerController-prefix.pch","GENERATE_INFOPLIST_FILE":"NO","INFOPLIST_FILE":"Target Support Files/DKImagePickerController/DKImagePickerController-Info.plist","INSTALL_PATH":"$(LOCAL_LIBRARY_DIR)/Frameworks","IPHONEOS_DEPLOYMENT_TARGET":"9.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks @loader_path/Frameworks","MODULEMAP_FILE":"Target Support Files/DKImagePickerController/DKImagePickerController.modulemap","PRODUCT_MODULE_NAME":"DKImagePickerController","PRODUCT_NAME":"DKImagePickerController","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","SWIFT_ACTIVE_COMPILATION_CONDITIONS":"$(inherited) ","SWIFT_INSTALL_OBJC_HEADER":"YES","SWIFT_VERSION":"5","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","VERSIONING_SYSTEM":"apple-generic","VERSION_INFO_PREFIX":""},"guid":"bfdfe7dc352907fc980b868725387e984a2bfc0afebe00a97dd280fbd3b086c7","name":"Release"}],"buildPhases":[{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98e6b5d8425df9cc686639898d81ab29bb","guid":"bfdfe7dc352907fc980b868725387e98305321bb0f6c61d76ab6f8f834f9e1bc","headerVisibility":"public"}],"guid":"bfdfe7dc352907fc980b868725387e989c7318c71e29c5c2fa728fab937f84e4","type":"com.apple.buildphase.headers"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98335a94dbe483545144593a747bf57488","guid":"bfdfe7dc352907fc980b868725387e986b9c07eb90d1c19fb7ac9f978eac2cfd"},{"fileReference":"bfdfe7dc352907fc980b868725387e98c856fc1f1a5df75e1f335a24f80a324c","guid":"bfdfe7dc352907fc980b868725387e9899bf2eef86ec86d3071d0464ba311bc3"},{"fileReference":"bfdfe7dc352907fc980b868725387e9883b700d4c655a66d2eb0ecd5009867cc","guid":"bfdfe7dc352907fc980b868725387e989923225760583f9044f3477d68370fb4"},{"fileReference":"bfdfe7dc352907fc980b868725387e98227220f91dfab4c4322ac4ed581b024b","guid":"bfdfe7dc352907fc980b868725387e980b8fe6bd9ce7b7f7f9b672f675ac40ea"},{"fileReference":"bfdfe7dc352907fc980b868725387e98a7167b35e446804e288fc5f3108fd0e0","guid":"bfdfe7dc352907fc980b868725387e98c7914d6db7a604491a406b7ffd04ffdc"},{"fileReference":"bfdfe7dc352907fc980b868725387e984737ea76e0a4c76036af3b355fdec0ed","guid":"bfdfe7dc352907fc980b868725387e98eb2913c855fd2bba90610341d1005093"},{"fileReference":"bfdfe7dc352907fc980b868725387e98eba5be275263271fcd1bf32ee797809b","guid":"bfdfe7dc352907fc980b868725387e9818bf3e3f4e2e4ff6409fd3de93a3e67b"},{"fileReference":"bfdfe7dc352907fc980b868725387e98b76a64655dc550f5ebec2f9ff3200413","guid":"bfdfe7dc352907fc980b868725387e9862f3f56aa2a92efeb6d501703a17fb78"},{"fileReference":"bfdfe7dc352907fc980b868725387e980f1347790a1fae83f056fa4b808c3cd0","guid":"bfdfe7dc352907fc980b868725387e986f0a5a4d4d049699b38b834e5127e27c"},{"fileReference":"bfdfe7dc352907fc980b868725387e9876da5a8044ee25187970ba558822731d","guid":"bfdfe7dc352907fc980b868725387e98b11d52cb23817759d43df3901c9dfdcf"},{"fileReference":"bfdfe7dc352907fc980b868725387e9849e6729fc1e44edf7426ac54b962a26b","guid":"bfdfe7dc352907fc980b868725387e982e2cfaddbe60c31e36e71f4cf7b78cf2"},{"fileReference":"bfdfe7dc352907fc980b868725387e98a8ca137552a3696b8a3ae1c151998fe9","guid":"bfdfe7dc352907fc980b868725387e9880b17e68f279e7d7783a51e9bb5287b7"},{"fileReference":"bfdfe7dc352907fc980b868725387e98add192413820866011e7588ab8d50a1b","guid":"bfdfe7dc352907fc980b868725387e98edb05713e1e170990070d795fbfd9ad1"},{"fileReference":"bfdfe7dc352907fc980b868725387e98df6555ed20370a218636d2d1ef042bff","guid":"bfdfe7dc352907fc980b868725387e98571373774a6c562d2a57eeef6625aad4"},{"fileReference":"bfdfe7dc352907fc980b868725387e983c5b7868d9cf3226bd45e2f7fde341f2","guid":"bfdfe7dc352907fc980b868725387e982b8ddf46d054df8e6dd54a4248a7bf7d"},{"fileReference":"bfdfe7dc352907fc980b868725387e986747ae603292c978ec451164346bb561","guid":"bfdfe7dc352907fc980b868725387e98a0be07ca2e426e3bc60d30898d361288"},{"fileReference":"bfdfe7dc352907fc980b868725387e9873c16ebd0704c7e74ef2732a8617faf4","guid":"bfdfe7dc352907fc980b868725387e98b3f4cf0af8ed4ae02ddeeb10e435cd75"},{"fileReference":"bfdfe7dc352907fc980b868725387e98034544f799334fac9753d3c062ac4eb5","guid":"bfdfe7dc352907fc980b868725387e9812c712ccbecb48d4ce26f86166ff880e"},{"fileReference":"bfdfe7dc352907fc980b868725387e9804eba36085f83cab0f06e047a1723201","guid":"bfdfe7dc352907fc980b868725387e982a440638f7cb9965d090ab0c181da156"},{"fileReference":"bfdfe7dc352907fc980b868725387e9805cbd30dca7799b8a62e2c9aa2908321","guid":"bfdfe7dc352907fc980b868725387e9803b6b2b356410bc7bcfcc1b875c69472"},{"fileReference":"bfdfe7dc352907fc980b868725387e985f34fcdb8acab7b808291804ea4c93a4","guid":"bfdfe7dc352907fc980b868725387e98ec9c4546923a074af807de40344c27c3"},{"fileReference":"bfdfe7dc352907fc980b868725387e98c04e1fef39dccde86db40118bcaf63f7","guid":"bfdfe7dc352907fc980b868725387e985cfeda817f2be498febfcb296540639a"},{"fileReference":"bfdfe7dc352907fc980b868725387e9804fc4899b4975caa6c83b0bcabd7bdcd","guid":"bfdfe7dc352907fc980b868725387e982082b1aebfa678d630e6c739c18a5003"},{"fileReference":"bfdfe7dc352907fc980b868725387e9847c7fe098b50f268068840c428bc95bc","guid":"bfdfe7dc352907fc980b868725387e987c4d107baf407af054f8312cf0ad4178"}],"guid":"bfdfe7dc352907fc980b868725387e98239213265a3abaa90df058a8c1bb91cf","type":"com.apple.buildphase.sources"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98b14af7c49882340ad551cb13b0a1e06d","guid":"bfdfe7dc352907fc980b868725387e9840e570f7d28f64055b1dab9dc749246d"},{"fileReference":"bfdfe7dc352907fc980b868725387e98fc74d0fed09821b42c8c83fca08fddb2","guid":"bfdfe7dc352907fc980b868725387e98192e2db6ac44b70d83d52bc9a34503d6"},{"fileReference":"bfdfe7dc352907fc980b868725387e98f2f44ab0d0f0ce315b53d31757eb8db6","guid":"bfdfe7dc352907fc980b868725387e98f0a88717dff9f0a44bc37f82f0d7d1f4"}],"guid":"bfdfe7dc352907fc980b868725387e98819fd04ebca59115ef049e04b7b72408","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"guid":"bfdfe7dc352907fc980b868725387e988c2f740ef6174a43ddde75c8d424f6f2","targetReference":"bfdfe7dc352907fc980b868725387e9898fccba7a2febdedb43dddbf2e949fc3"}],"guid":"bfdfe7dc352907fc980b868725387e984c4b1b52a05e595bcc1230a93d57ff06","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[{"guid":"bfdfe7dc352907fc980b868725387e9898fccba7a2febdedb43dddbf2e949fc3","name":"DKImagePickerController-DKImagePickerController"},{"guid":"bfdfe7dc352907fc980b868725387e989d0a1858a86fd6e6731ed20f88a1e515","name":"DKPhotoGallery"}],"guid":"bfdfe7dc352907fc980b868725387e985fd5cdb9993b1816141f0c012ffa62bd","name":"DKImagePickerController","predominantSourceCodeLanguage":"Xcode.SourceCodeLanguage.Swift","productReference":{"guid":"bfdfe7dc352907fc980b868725387e98f752ba05adf197c3696519e901961310","name":"DKImagePickerController.framework","type":"product"},"productTypeIdentifier":"com.apple.product-type.framework","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":1}],"type":"standard"} \ No newline at end of file diff --git a/mih_ui/android/build/ios/XCBuildData/PIFCache/workspace/WORKSPACE@v11_hash=(null)_subobjects=d4d37871a9d2a6dba5291c9ce70cda86-json b/mih_ui/android/build/ios/XCBuildData/PIFCache/workspace/WORKSPACE@v11_hash=(null)_subobjects=d4d37871a9d2a6dba5291c9ce70cda86-json deleted file mode 100644 index c59e6bf0..00000000 --- a/mih_ui/android/build/ios/XCBuildData/PIFCache/workspace/WORKSPACE@v11_hash=(null)_subobjects=d4d37871a9d2a6dba5291c9ce70cda86-json +++ /dev/null @@ -1 +0,0 @@ -{"guid":"dc4b70c03e8043e50e38f2068887b1d4","name":"Pods","path":"/Users/yaso_meth/Git/mih_main/mih-project/mih_ui/ios/Pods/Pods.xcodeproj/project.xcworkspace","projects":["PROJECT@v11_mod=d0293ee0112d0357cf900112c05ab991_hash=bfdfe7dc352907fc980b868725387e98plugins=1OJSG6M1FOV3XYQCBH7Z29RZ0FPR9XDE1"]} \ No newline at end of file diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/CHANGELOG.md b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/CHANGELOG.md deleted file mode 100644 index ee988ff3..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/CHANGELOG.md +++ /dev/null @@ -1,576 +0,0 @@ -## 0.4.5 - - - **FEAT**(appcheck): appcheck reCAPTCHA mobile support (gradually rolling out) ([#18261](https://github.com/firebase/flutterfire/issues/18261)). ([036a860a](https://github.com/firebase/flutterfire/commit/036a860a0e66d46b5c57eb3df3a0f9e5846ef00b)) - -## 0.4.4+2 - - - Update a dependency to the latest release. - -## 0.4.4+1 - - - Update a dependency to the latest release. - -## 0.4.4 - - - **REFACTOR**: move all packages to workspace ([#18182](https://github.com/firebase/flutterfire/issues/18182)). ([6cdfcb10](https://github.com/firebase/flutterfire/commit/6cdfcb103da7be46ccb190d7e107d8c537aa1ff8)) - - **FIX**: update core, auth and app-check logic so internal resources on method channels are properly disposed ([#18268](https://github.com/firebase/flutterfire/issues/18268)). ([a0de4ed8](https://github.com/firebase/flutterfire/commit/a0de4ed86b0dff89bb9e557f2a54f38cd2546016)) - - **FEAT**(core): Add Auth and AppCheck as App's registered service. ([#18237](https://github.com/firebase/flutterfire/issues/18237)). ([7ce191cb](https://github.com/firebase/flutterfire/commit/7ce191cbd598b299cd0ec64b45d1366914367a5d)) - -## 0.4.3 - - - **FEAT**(app_check,windows): add support for AppCheck for Windows ([#18140](https://github.com/firebase/flutterfire/issues/18140)). ([81f30325](https://github.com/firebase/flutterfire/commit/81f30325fc926fe94b630e49f56b795c781a4cbe)) - - **FEAT**: use local firebase_core instead of remote SPM dependency ([#18141](https://github.com/firebase/flutterfire/issues/18141)). ([995caf40](https://github.com/firebase/flutterfire/commit/995caf400df80c0fde7151c651ccc6c0f756e381)) - -## 0.4.2 - - - **FEAT**(messaging,web): add support for debug tokens on Web ([#18057](https://github.com/firebase/flutterfire/issues/18057)). ([b853386e](https://github.com/firebase/flutterfire/commit/b853386e987d686eab4b8fd9b8dad14eda97479c)) - - **FEAT**(ios): migrate iOS to UIScene lifecycle ([#18054](https://github.com/firebase/flutterfire/issues/18054)). ([3ffa4110](https://github.com/firebase/flutterfire/commit/3ffa411098132fd5182a84be4e7a226106bc7451)) - -## 0.4.1+5 - - - Update a dependency to the latest release. - -## 0.4.1+4 - - - Update a dependency to the latest release. - -## 0.4.1+3 - - - Update a dependency to the latest release. - -## 0.4.1+2 - - - Update a dependency to the latest release. - -## 0.4.1+1 - - - **FIX**(app_check): Deprecate androidProvider and appleProvider parameters in activate method ([#17742](https://github.com/firebase/flutterfire/issues/17742)). ([4e7f800e](https://github.com/firebase/flutterfire/commit/4e7f800e94a895c6553bd3c1595b4f06ac69bb81)) - - **FIX**(app_check): Expose AppleAppAttestProvider without importing platform interface ([#17740](https://github.com/firebase/flutterfire/issues/17740)). ([6c2355a0](https://github.com/firebase/flutterfire/commit/6c2355a05d6bba763768ce3bc09c3cc0528fa900)) - -## 0.4.1 - - - **FEAT**(app-check): Debug token support for the activate method ([#17723](https://github.com/firebase/flutterfire/issues/17723)). ([3c638264](https://github.com/firebase/flutterfire/commit/3c638264565d902ddbe4dff5bb027aef9e1c2140)) - -## 0.4.0+1 - - - **FIX**(app_check,iOS): correctly parse `forceRefresh` argument using `boolValue` ([#17627](https://github.com/firebase/flutterfire/issues/17627)). ([8c0802d0](https://github.com/firebase/flutterfire/commit/8c0802d098c970740a34e83952f56dbe9eb279fd)) - -## 0.4.0 - -> Note: This release has breaking changes. - - - **BREAKING** **FEAT**: bump iOS SDK to version 12.0.0 ([#17549](https://github.com/firebase/flutterfire/issues/17549)). ([b2619e68](https://github.com/firebase/flutterfire/commit/b2619e685fec897513483df1d7be347b64f95606)) - - **BREAKING** **FEAT**(app-check): remove deprecated functions ([#17561](https://github.com/firebase/flutterfire/issues/17561)). ([3e4302c4](https://github.com/firebase/flutterfire/commit/3e4302c4281d1d39c140ff116643d700cd3c5ace)) - - **BREAKING** **FEAT**: bump Android SDK to version 34.0.0 ([#17554](https://github.com/firebase/flutterfire/issues/17554)). ([a5bdc051](https://github.com/firebase/flutterfire/commit/a5bdc051d40ee44e39cf0b8d2a7801bc6f618b67)) - -## 0.3.2+10 - - - Update a dependency to the latest release. - -## 0.3.2+9 - - - Update a dependency to the latest release. - -## 0.3.2+8 - - - Update a dependency to the latest release. - -## 0.3.2+7 - - - Update a dependency to the latest release. - -## 0.3.2+6 - - - Update a dependency to the latest release. - -## 0.3.2+5 - - - Update a dependency to the latest release. - -## 0.3.2+4 - - - Update a dependency to the latest release. - -## 0.3.2+3 - - - Update a dependency to the latest release. - -## 0.3.2+2 - - - Update a dependency to the latest release. - -## 0.3.2+1 - - - Update a dependency to the latest release. - -## 0.3.2 - - - - **FEAT**(app-check): Swift Package Manager support ([#16810](https://github.com/firebase/flutterfire/issues/16810)). ([f2e3f396](https://github.com/firebase/flutterfire/commit/f2e3f3965e83a6bf8c52c1cd9f80509a08907a84)) - -## 0.3.1+7 - - - Update a dependency to the latest release. - -## 0.3.1+6 - - - Update a dependency to the latest release. - -## 0.3.1+5 - - - Update a dependency to the latest release. - -## 0.3.1+4 - - - Update a dependency to the latest release. - -## 0.3.1+3 - - - **FIX**(all,apple): use modular headers to import ([#13400](https://github.com/firebase/flutterfire/issues/13400)). ([d7d2d4b9](https://github.com/firebase/flutterfire/commit/d7d2d4b93e7c00226027fffde46699f3d5388a41)) - -## 0.3.1+2 - - - Update a dependency to the latest release. - -## 0.3.1+1 - - - Update a dependency to the latest release. - -## 0.3.1 - - - **FEAT**(firestore,web): expose `webExperimentalForceLongPolling`, `webExperimentalAutoDetectLongPolling` and `timeoutSeconds` on web ([#13201](https://github.com/firebase/flutterfire/issues/13201)). ([6ec2a103](https://github.com/firebase/flutterfire/commit/6ec2a103a3a325a73550bdfff4c0d524ae7e4068)) - -## 0.3.0+5 - - - **DOCS**: remove reference to flutter.io and firebase.flutter.dev ([#13152](https://github.com/firebase/flutterfire/issues/13152)). ([5f0874b9](https://github.com/firebase/flutterfire/commit/5f0874b91e28a203dd62d37d391e5760c91f5729)) - -## 0.3.0+4 - - - Update a dependency to the latest release. - -## 0.3.0+3 - - - Update a dependency to the latest release. - -## 0.3.0+2 - - - Update a dependency to the latest release. - -## 0.3.0+1 - - - **FIX**(app-check,web): fixed broken `onTokenChanged` and ensured it is properly cleaned up. Streams are also cleaned up on "hot restart" ([#12933](https://github.com/firebase/flutterfire/issues/12933)). ([093b5fef](https://github.com/firebase/flutterfire/commit/093b5fef8c3b8314835dc954ce02daacd1e077f4)) - - **FIX**(firebase_app_check,ios): Replace angles with quotes in import statement ([#12929](https://github.com/firebase/flutterfire/issues/12929)). ([f2fc902b](https://github.com/firebase/flutterfire/commit/f2fc902b9e954baf9d72bd3863a85bde402d2133)) - - **FIX**(app-check,ios): update app check to stable release ([#12924](https://github.com/firebase/flutterfire/issues/12924)). ([ced11684](https://github.com/firebase/flutterfire/commit/ced1168482c3b8e8b4746abde13649d212a503fd)) - -## 0.3.0 - -> Note: This release has breaking changes. - - - **BREAKING** **REFACTOR**: android plugins require `minSdk 21`, auth requires `minSdk 23` ahead of android BOM `>=33.0.0` ([#12873](https://github.com/firebase/flutterfire/issues/12873)). ([52accfc6](https://github.com/firebase/flutterfire/commit/52accfc6c39d6360d9c0f36efe369ede990b7362)) - - **BREAKING** **REFACTOR**: bump all iOS deployment targets to iOS 13 ahead of Firebase iOS SDK `v11` breaking change ([#12872](https://github.com/firebase/flutterfire/issues/12872)). ([de0cea2c](https://github.com/firebase/flutterfire/commit/de0cea2c3c36694a76361be784255986fac84a43)) - -## 0.2.2+7 - - - Update a dependency to the latest release. - -## 0.2.2+6 - - - Update a dependency to the latest release. - -## 0.2.2+5 - - - Update a dependency to the latest release. - -## 0.2.2+4 - - - Update a dependency to the latest release. - -## 0.2.2+3 - - - Update a dependency to the latest release. - -## 0.2.2+2 - - - Update a dependency to the latest release. - -## 0.2.2+1 - - - **FIX**(app-check,android): fix unnecessary deprecation warning ([#12578](https://github.com/firebase/flutterfire/issues/12578)). ([805ca028](https://github.com/firebase/flutterfire/commit/805ca028d20c582e93bcebbeca3105deab365edc)) - -## 0.2.2 - - - **FEAT**(android): Bump `compileSdk` version of Android plugins to latest stable (34) ([#12566](https://github.com/firebase/flutterfire/issues/12566)). ([e891fab2](https://github.com/firebase/flutterfire/commit/e891fab291e9beebc223000b133a6097e066a7fc)) - -## 0.2.1+19 - - - **REFACTOR**(app_check,web): small refactor around initialisation of FirebaseAppCheckWeb ([#12474](https://github.com/firebase/flutterfire/issues/12474)). ([83aab7f8](https://github.com/firebase/flutterfire/commit/83aab7f8f6a6dde6e71765826c0e1f9aabc110a0)) - -## 0.2.1+18 - - - Update a dependency to the latest release. - -## 0.2.1+17 - - - Update a dependency to the latest release. - -## 0.2.1+16 - - - Update a dependency to the latest release. - -## 0.2.1+15 - - - Update a dependency to the latest release. - -## 0.2.1+14 - - - Update a dependency to the latest release. - -## 0.2.1+13 - - - Update a dependency to the latest release. - -## 0.2.1+12 - - - Update a dependency to the latest release. - -## 0.2.1+11 - - - Update a dependency to the latest release. - -## 0.2.1+10 - - - Update a dependency to the latest release. - -## 0.2.1+9 - - - Update a dependency to the latest release. - -## 0.2.1+8 - - - Update a dependency to the latest release. - -## 0.2.1+7 - - - Update a dependency to the latest release. - -## 0.2.1+6 - - - Update a dependency to the latest release. - -## 0.2.1+5 - - - Update a dependency to the latest release. - -## 0.2.1+4 - - - Update a dependency to the latest release. - -## 0.2.1+3 - - - Update a dependency to the latest release. - -## 0.2.1+2 - - - Update a dependency to the latest release. - -## 0.2.1+1 - - - Update a dependency to the latest release. - -## 0.2.1 - - - **REFACTOR**(app-check,android): update linting warnings ([#11666](https://github.com/firebase/flutterfire/issues/11666)). ([fa9c8181](https://github.com/firebase/flutterfire/commit/fa9c8181156697a96b2615906b24613f28346175)) - - **FIX**(firebase_app_check): Allow non-default app for Android debug provider ([#11680](https://github.com/firebase/flutterfire/issues/11680)). ([dd20c0c7](https://github.com/firebase/flutterfire/commit/dd20c0c7413dd9c9cd4c54426afc2572f9438607)) - - **FEAT**: Full support of AGP 8 ([#11699](https://github.com/firebase/flutterfire/issues/11699)). ([bdb5b270](https://github.com/firebase/flutterfire/commit/bdb5b27084d225809883bdaa6aa5954650551927)) - - **FEAT**(app_check): Use Android dependencies from Firebase BOM ([#11671](https://github.com/firebase/flutterfire/issues/11671)). ([378fcbdc](https://github.com/firebase/flutterfire/commit/378fcbdc4909e448d47cc204147a2ecd978b4fb7)) - - **DOCS**: Updated documentation link in firebase_app_check README.md ([#11712](https://github.com/firebase/flutterfire/issues/11712)). ([dd3e56c6](https://github.com/firebase/flutterfire/commit/dd3e56c67a2ddad0a11043f00e9d80544d36355a)) - -## 0.2.0+1 - - - Update a dependency to the latest release. - -## 0.2.0 - -> Note: This release has breaking changes. - - - **BREAKING** **FEAT**(app-check,web): support for `ReCaptchaEnterpriseProvider`. User facing API updated. ([#11573](https://github.com/firebase/flutterfire/issues/11573)). ([09825edd](https://github.com/firebase/flutterfire/commit/09825edd0e1ecd609e2046fdefda439ce4099087)) - -## 0.1.5+2 - - - Update a dependency to the latest release. - -## 0.1.5+1 - - - Update a dependency to the latest release. - -## 0.1.5 - - - **FEAT**(app-check): support for `getLimitedUseToken()` API ([#11091](https://github.com/firebase/flutterfire/issues/11091)). ([9db9326f](https://github.com/firebase/flutterfire/commit/9db9326fe503c31299c9685449150e809543974e)) - -## 0.1.4+3 - - - Update a dependency to the latest release. - -## 0.1.4+2 - - - Update a dependency to the latest release. - -## 0.1.4+1 - - - Update a dependency to the latest release. - -## 0.1.4 - - - **FEAT**: update dependency constraints to `sdk: '>=2.18.0 <4.0.0'` `flutter: '>=3.3.0'` ([#10946](https://github.com/firebase/flutterfire/issues/10946)). ([2772d10f](https://github.com/firebase/flutterfire/commit/2772d10fe510dcc28ec2d37a26b266c935699fa6)) - - **FEAT**: update libraries to be compatible with Flutter 3.10.0 ([#10944](https://github.com/firebase/flutterfire/issues/10944)). ([e1f5a5ea](https://github.com/firebase/flutterfire/commit/e1f5a5ea798c54f19d1d2f7b8f2250f8819f44b7)) - -## 0.1.3 - - - **FIX**: add support for AGP 8.0 ([#10901](https://github.com/firebase/flutterfire/issues/10901)). ([a3b96735](https://github.com/firebase/flutterfire/commit/a3b967354294c295a9be8d699a6adb7f4b1dba7f)) - - **FEAT**: upgrade to dart 3 compatible dependencies ([#10890](https://github.com/firebase/flutterfire/issues/10890)). ([4bd7e59b](https://github.com/firebase/flutterfire/commit/4bd7e59b1f2b09a2230c49830159342dd4592041)) - -## 0.1.2+3 - - - **FIX**(app-check): use correct `getAppCheckToken()` method. Print out debug token for iOS. ([#10819](https://github.com/firebase/flutterfire/issues/10819)). ([66909a9c](https://github.com/firebase/flutterfire/commit/66909a9c5b10e85f93565cbc308fdbee4ec6f607)) - -## 0.1.2+2 - - - Update a dependency to the latest release. - -## 0.1.2+1 - - - **FIX**(app-check): fix 'Semantic Issue (Xcode): `new` is unavailable' on XCode 14.3 ([#10734](https://github.com/firebase/flutterfire/issues/10734)). ([cc6d1c28](https://github.com/firebase/flutterfire/commit/cc6d1c28193d5cdaaa564729340c380b5f632982)) - -## 0.1.2 - - - **FEAT**: bump dart sdk constraint to 2.18 ([#10618](https://github.com/firebase/flutterfire/issues/10618)). ([f80948a2](https://github.com/firebase/flutterfire/commit/f80948a28b62eead358bdb900d5a0dfb97cebb33)) - -## 0.1.1+14 - - - Update a dependency to the latest release. - -## 0.1.1+13 - - - Update a dependency to the latest release. - -## 0.1.1+12 - - - Update a dependency to the latest release. - -## 0.1.1+11 - - - Update a dependency to the latest release. - -## 0.1.1+10 - - - Update a dependency to the latest release. - -## 0.1.1+9 - - - Update a dependency to the latest release. - -## 0.1.1+8 - - - Update a dependency to the latest release. - -## 0.1.1+7 - - - Update a dependency to the latest release. - -## 0.1.1+6 - - - Update a dependency to the latest release. - -## 0.1.1+5 - - - Update a dependency to the latest release. - -## 0.1.1+4 - - - Update a dependency to the latest release. - -## 0.1.1+3 - - - Update a dependency to the latest release. - -## 0.1.1+2 - - - **REFACTOR**: add `verify` to `QueryPlatform` and change internal `verifyToken` API to `verify` ([#9711](https://github.com/firebase/flutterfire/issues/9711)). ([c99a842f](https://github.com/firebase/flutterfire/commit/c99a842f3e3f5f10246e73f51530cc58c42b49a3)) - -## 0.1.1+1 - - - Update a dependency to the latest release. - -## 0.1.1 - -- Update a dependency to the latest release. - -## 0.1.0 - -> Note: This release has breaking changes. - - - **BREAKING** **FEAT**: Firebase iOS SDK version: `10.0.0` ([#9708](https://github.com/firebase/flutterfire/issues/9708)). ([9627c56a](https://github.com/firebase/flutterfire/commit/9627c56a37d657d0250b6f6b87d0fec1c31d4ba3)) - -## 0.0.9+1 - - - Update a dependency to the latest release. - -## 0.0.9 - - - **FEAT**: provide `androidDebugProvider` boolean for android debug provider & update app check example app ([#9412](https://github.com/firebase/flutterfire/issues/9412)). ([f1f26748](https://github.com/firebase/flutterfire/commit/f1f26748615c7c9d406e1d3d605e2987e1134ee7)) - -## 0.0.8 - - - **FEAT**: provide `androidDebugProvider` boolean for android debug provider & update app check example app ([#9412](https://github.com/firebase/flutterfire/issues/9412)). ([f1f26748](https://github.com/firebase/flutterfire/commit/f1f26748615c7c9d406e1d3d605e2987e1134ee7)) - -## 0.0.7+2 - - - Update a dependency to the latest release. - -## 0.0.7+1 - - - Update a dependency to the latest release. - -## 0.0.7 - - - **FEAT**: update the example app with webRecaptcha in activate button ([#9373](https://github.com/firebase/flutterfire/issues/9373)). ([1ff76c1b](https://github.com/firebase/flutterfire/commit/1ff76c1b87b623ff21c921d6a6cc2c586cf43ac3)) - - **REFACTOR**: update deprecated `Tasks.call()` to `TaskCompletionSource` API ([#9404](https://github.com/firebase/flutterfire/pull/9404)). ([837d68ea](https://github.com/firebase/flutterfire/commit/5aa9f665e70297fecb88bd0fda5445753470660f)) - -## 0.0.6+20 - - - Update a dependency to the latest release. - -## 0.0.6+19 - - - Update a dependency to the latest release. - -## 0.0.6+18 - - - Update a dependency to the latest release. - -## 0.0.6+17 - - - Update a dependency to the latest release. - -## 0.0.6+16 - - - **FIX**: bump `firebase_core_platform_interface` version to fix previous release. ([bea70ea5](https://github.com/firebase/flutterfire/commit/bea70ea5cbbb62cbfd2a7a74ae3a07cb12b3ee5a)) - -## 0.0.6+15 - - - **DOCS**: separate the first sentence of a doc comment into its own paragraph for `getToken()` (#8968). ([4d487ef7](https://github.com/firebase/flutterfire/commit/4d487ef7abdb9a8333735ced9c40438fef9912a3)) - -## 0.0.6+14 - - - **REFACTOR**: use `firebase.google.com` link for `homepage` in `pubspec.yaml` (#8727). ([41a963b3](https://github.com/firebase/flutterfire/commit/41a963b376ae4ec23e1394bc074f8feee6ae16b2)) - - **REFACTOR**: use "firebase" instead of "FirebaseExtended" as organisation in all links for this repository (#8791). ([d90b8357](https://github.com/firebase/flutterfire/commit/d90b8357db01d65e753021358668f0b129713e6b)) - - **DOCS**: point to "firebase.google" domain for hyperlinks in the usage section of `README.md` files (for the missing packages) (#8818). ([5bda8c92](https://github.com/firebase/flutterfire/commit/5bda8c92be1651a941d1285d36e885ee0b967b11)) - -## 0.0.6+13 - - - **DOCS**: use camel case style for "FlutterFire" in `README.md` (#8747). ([e2a022d7](https://github.com/firebase/flutterfire/commit/e2a022d7427817002e4114eb7434aa6e53384891)) - -## 0.0.6+12 - - - Update a dependency to the latest release. - -## 0.0.6+11 - - - Update a dependency to the latest release. - -## 0.0.6+10 - - - Update a dependency to the latest release. - -## 0.0.6+9 - - - Update a dependency to the latest release. - -## 0.0.6+8 - - - Update a dependency to the latest release. - -## 0.0.6+7 - - - **FIX**: update all Dart SDK version constraints to Dart >= 2.16.0 (#8184). ([df4a5bab](https://github.com/firebase/flutterfire/commit/df4a5bab3c029399b4f257a5dd658d302efe3908)) - -## 0.0.6+6 - - - Update a dependency to the latest release. - -## 0.0.6+5 - - - **FIX**: workaround iOS build issue when targeting platforms < iOS 11. ([c78e0b79](https://github.com/firebase/flutterfire/commit/c78e0b79bde479e78c558d3df92988c130280e81)) - -## 0.0.6+4 - - - **FIX**: bump Android `compileSdkVersion` to 31 (#7726). ([a9562bac](https://github.com/firebase/flutterfire/commit/a9562bac60ba927fb3664a47a7f7eaceb277dca6)) - -## 0.0.6+3 - - - **REFACTOR**: fix all `unnecessary_import` analyzer issues introduced with Flutter 2.8. ([7f0e82c9](https://github.com/firebase/flutterfire/commit/7f0e82c978a3f5a707dd95c7e9136a3e106ff75e)) - -## 0.0.6+2 - - - Update a dependency to the latest release. - -## 0.0.6+1 - - - Update a dependency to the latest release. - -## 0.0.6 - - - **FEAT**: add token apis and documentation (#7419). - -## 0.0.5 - -- **NEW**: Added support for multi-app via the `instanceFor()` method. -- **NEW**: Added support for getting the current App Check token via the `getToken()` method. -- **NEW**: Added support for enabling automatic token refreshing via the `setTokenAutoRefreshEnabled()` method. -- **NEW**: Added support for subscribing to token change events (as a `Stream`) via `onTokenChange`. - -## 0.0.4 - - - **REFACTOR**: migrate remaining examples & e2e tests to null-safety (#7393). - - **FEAT**: automatically inject Firebase JS SDKs (#7359). - -## 0.0.3 - - - **FEAT**: support initializing default `FirebaseApp` instances from Dart (#6549). - -## 0.0.2+4 - - - Update a dependency to the latest release. - -## 0.0.2+3 - - - Update a dependency to the latest release. - -## 0.0.2+2 - - - Update a dependency to the latest release. - -## 0.0.2+1 - - - **DOCS**: using for version `0.0.1` the same markdown headline level as the other versions have in the changelog (#6845). - -## 0.0.2 - - - **STYLE**: enable additional lint rules (#6832). - - **FEAT**: lower iOS & macOS deployment targets for relevant plugins (#6757). - -## 0.0.1+3 - - - Update a dependency to the latest release. - -## 0.0.1+2 - - - Update a dependency to the latest release. - -## 0.0.1+1 - - - Update a dependency to the latest release. - -## 0.0.1 - - - Initial release. diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/LICENSE b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/LICENSE deleted file mode 100644 index 88629004..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/LICENSE +++ /dev/null @@ -1,27 +0,0 @@ -// Copyright 2021 The Chromium Authors. All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/README.md b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/README.md deleted file mode 100644 index 1d0c9574..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/README.md +++ /dev/null @@ -1,24 +0,0 @@ -# Firebase App Check for Flutter -[![pub package](https://img.shields.io/pub/v/firebase_app_check.svg)](https://pub.dev/packages/firebase_app_check) - -A Flutter plugin to use the [Firebase App Check API](https://firebase.google.com/docs/app-check/). - -To learn more about Firebase App Check, please visit the [Firebase website](https://firebase.google.com/docs/app-check) - -## Getting Started - -To get started with Firebase App Check for Flutter, please [see the documentation](https://firebase.google.com/docs/app-check/flutter/default-providers). - -## Usage - -To use this plugin, please visit the [App Check Usage documentation](https://firebase.google.com/docs/app-check/flutter/default-providers#initialize) - -## Issues and feedback - -Please file FlutterFire specific issues, bugs, or feature requests in our [issue tracker](https://github.com/firebase/flutterfire/issues/new). - -Plugin issues that are not specific to FlutterFire can be filed in the [Flutter issue tracker](https://github.com/flutter/flutter/issues/new). - -To contribute a change to this plugin, -please review our [contribution guide](https://github.com/firebase/flutterfire/blob/main/CONTRIBUTING.md) -and open a [pull request](https://github.com/firebase/flutterfire/pulls). diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/android/build.gradle b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/android/build.gradle deleted file mode 100644 index cc7c342a..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/android/build.gradle +++ /dev/null @@ -1,94 +0,0 @@ -group 'io.flutter.plugins.firebase.appcheck' -version '1.0-SNAPSHOT' - -apply plugin: 'com.android.library' -apply from: file("local-config.gradle") - -buildscript { - ext.kotlin_version = "2.0.0" - repositories { - google() - mavenCentral() - } -} - -rootProject.allprojects { - repositories { - google() - mavenCentral() - } -} - -// AGP 9+ has built-in Kotlin support unless Flutter opts out via android.builtInKotlin=false. -def agpMajor = com.android.Version.ANDROID_GRADLE_PLUGIN_VERSION.tokenize('.')[0] as int -def builtInKotlin = providers.gradleProperty("android.builtInKotlin") - .map { it.toBoolean() } - .orElse(agpMajor >= 9) - .get() -if (agpMajor < 9 || !builtInKotlin) { - apply plugin: 'kotlin-android' -} - -def firebaseCoreProject = findProject(':firebase_core') -if (firebaseCoreProject == null) { - throw new GradleException('Could not find the firebase_core FlutterFire plugin, have you added it as a dependency in your pubspec?') -} else if (!firebaseCoreProject.properties['FirebaseSDKVersion']) { - throw new GradleException('A newer version of the firebase_core FlutterFire plugin is required, please update your firebase_core pubspec dependency.') -} - -def getRootProjectExtOrCoreProperty(name, firebaseCoreProject) { - if (!rootProject.ext.has('FlutterFire')) return firebaseCoreProject.properties[name] - if (!rootProject.ext.get('FlutterFire')[name]) return firebaseCoreProject.properties[name] - return rootProject.ext.get('FlutterFire').get(name) -} - -android { - // Conditional for compatibility with AGP <4.2. - if (project.android.hasProperty("namespace")) { - namespace 'io.flutter.plugins.firebase.appcheck' - } - - compileSdkVersion project.ext.compileSdk - - defaultConfig { - minSdkVersion project.ext.minSdk - testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" - } - - compileOptions { - sourceCompatibility project.ext.javaVersion - targetCompatibility project.ext.javaVersion - } - - sourceSets { - main.java.srcDirs += "src/main/kotlin" - test.java.srcDirs += "src/test/kotlin" - } - - buildFeatures { - buildConfig true - } - - lintOptions { - disable 'InvalidPackage' - } - - dependencies { - api firebaseCoreProject - implementation platform("com.google.firebase:firebase-bom:${getRootProjectExtOrCoreProperty("FirebaseSDKVersion", firebaseCoreProject)}") - implementation 'com.google.firebase:firebase-appcheck-debug' - implementation 'com.google.firebase:firebase-appcheck-playintegrity' - implementation 'com.google.firebase:firebase-appcheck-recaptcha' - implementation 'androidx.annotation:annotation:1.7.0' - } -} - -plugins.withId("org.jetbrains.kotlin.android") { - kotlin { - compilerOptions { - jvmTarget = org.jetbrains.kotlin.gradle.dsl.JvmTarget.fromTarget(project.ext.javaVersion.toString()) - } - } -} - -apply from: file("./user-agent.gradle") diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/android/gradle.properties b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/android/gradle.properties deleted file mode 100644 index d9cf55df..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/android/gradle.properties +++ /dev/null @@ -1,2 +0,0 @@ -org.gradle.jvmargs=-Xmx1536M -android.useAndroidX=true diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/android/gradle/wrapper/gradle-wrapper.properties b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/android/gradle/wrapper/gradle-wrapper.properties deleted file mode 100644 index e411586a..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/android/gradle/wrapper/gradle-wrapper.properties +++ /dev/null @@ -1,5 +0,0 @@ -distributionBase=GRADLE_USER_HOME -distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.4-bin.zip -zipStoreBase=GRADLE_USER_HOME -zipStorePath=wrapper/dists diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/android/local-config.gradle b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/android/local-config.gradle deleted file mode 100644 index 802b7e1d..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/android/local-config.gradle +++ /dev/null @@ -1,7 +0,0 @@ -ext { - compileSdk=34 - minSdk=23 - targetSdk=34 - javaVersion = JavaVersion.toVersion(17) - androidGradlePluginVersion = '8.3.0' -} \ No newline at end of file diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/android/settings.gradle b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/android/settings.gradle deleted file mode 100644 index 11ac1690..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/android/settings.gradle +++ /dev/null @@ -1,10 +0,0 @@ -rootProject.name = 'firebase_app_check' - -apply from: file("local-config.gradle") - -pluginManagement { - plugins { - id "com.android.application" version project.ext.androidGradlePluginVersion - id "com.android.library" version project.ext.androidGradlePluginVersion - } -} diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/android/src/main/AndroidManifest.xml b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/android/src/main/AndroidManifest.xml deleted file mode 100644 index 18867831..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/android/src/main/AndroidManifest.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/android/src/main/kotlin/io/flutter/plugins/firebase/appcheck/FirebaseAppCheckPlugin.kt b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/android/src/main/kotlin/io/flutter/plugins/firebase/appcheck/FirebaseAppCheckPlugin.kt deleted file mode 100644 index 99aab95e..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/android/src/main/kotlin/io/flutter/plugins/firebase/appcheck/FirebaseAppCheckPlugin.kt +++ /dev/null @@ -1,161 +0,0 @@ -// Copyright 2025 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. -package io.flutter.plugins.firebase.appcheck - -import android.os.Handler -import android.os.Looper -import com.google.android.gms.tasks.Task -import com.google.android.gms.tasks.TaskCompletionSource -import com.google.firebase.FirebaseApp -import com.google.firebase.appcheck.FirebaseAppCheck -import com.google.firebase.appcheck.debug.DebugAppCheckProviderFactory -import com.google.firebase.appcheck.playintegrity.PlayIntegrityAppCheckProviderFactory -import com.google.firebase.appcheck.recaptcha.RecaptchaAppCheckProviderFactory -import io.flutter.embedding.engine.plugins.FlutterPlugin -import io.flutter.embedding.engine.plugins.FlutterPlugin.FlutterPluginBinding -import io.flutter.plugin.common.BinaryMessenger -import io.flutter.plugin.common.EventChannel -import io.flutter.plugins.firebase.core.FlutterFirebasePlugin -import io.flutter.plugins.firebase.core.FlutterFirebasePluginRegistry - -class FirebaseAppCheckPlugin : FlutterFirebasePlugin, FlutterPlugin, FirebaseAppCheckHostApi { - - private val streamHandlers: MutableMap = HashMap() - private val eventChannels: MutableMap = HashMap() - private val mainThreadHandler = Handler(Looper.getMainLooper()) - private var messenger: BinaryMessenger? = null - - companion object { - const val METHOD_CHANNEL = "plugins.flutter.io/firebase_app_check" - const val EVENT_CHANNEL_PREFIX = "plugins.flutter.io/firebase_app_check/token/" - } - - override fun onAttachedToEngine(binding: FlutterPluginBinding) { - messenger = binding.binaryMessenger - FirebaseAppCheckHostApi.setUp(binding.binaryMessenger, this) - FlutterFirebasePluginRegistry.registerPlugin(METHOD_CHANNEL, this) - } - - override fun onDetachedFromEngine(binding: FlutterPluginBinding) { - FirebaseAppCheckHostApi.setUp(binding.binaryMessenger, null) - messenger = null - removeEventListeners() - } - - private fun getAppCheck(appName: String): FirebaseAppCheck { - val app = FirebaseApp.getInstance(appName) - return FirebaseAppCheck.getInstance(app) - } - - override fun activate( - appName: String, - androidProvider: String?, - appleProvider: String?, - debugToken: String?, - callback: (Result) -> Unit - ) { - try { - val firebaseAppCheck = getAppCheck(appName) - when (androidProvider) { - "debug" -> { - FlutterFirebaseAppRegistrar.debugToken = debugToken - firebaseAppCheck.installAppCheckProviderFactory( - DebugAppCheckProviderFactory.getInstance()) - } - "recaptcha" -> { - firebaseAppCheck.installAppCheckProviderFactory( - RecaptchaAppCheckProviderFactory.getInstance()) - } - else -> { - firebaseAppCheck.installAppCheckProviderFactory( - PlayIntegrityAppCheckProviderFactory.getInstance()) - } - } - callback(Result.success(Unit)) - } catch (e: Exception) { - callback(Result.failure(FlutterError("unknown", e.message, null))) - } - } - - override fun getToken( - appName: String, - forceRefresh: Boolean, - callback: (Result) -> Unit - ) { - val firebaseAppCheck = getAppCheck(appName) - firebaseAppCheck.getAppCheckToken(forceRefresh).addOnCompleteListener { task -> - if (task.isSuccessful) { - callback(Result.success(task.result?.token)) - } else { - callback(Result.failure(FlutterError("firebase_app_check", task.exception?.message, null))) - } - } - } - - override fun setTokenAutoRefreshEnabled( - appName: String, - isTokenAutoRefreshEnabled: Boolean, - callback: (Result) -> Unit - ) { - try { - val firebaseAppCheck = getAppCheck(appName) - firebaseAppCheck.setTokenAutoRefreshEnabled(isTokenAutoRefreshEnabled) - callback(Result.success(Unit)) - } catch (e: Exception) { - callback(Result.failure(FlutterError("unknown", e.message, null))) - } - } - - override fun registerTokenListener(appName: String, callback: (Result) -> Unit) { - try { - val firebaseAppCheck = getAppCheck(appName) - val name = EVENT_CHANNEL_PREFIX + appName - - val handler = TokenChannelStreamHandler(firebaseAppCheck) - val channel = EventChannel(messenger, name) - channel.setStreamHandler(handler) - eventChannels[name] = channel - streamHandlers[name] = handler - - callback(Result.success(name)) - } catch (e: Exception) { - callback(Result.failure(FlutterError("unknown", e.message, null))) - } - } - - override fun getLimitedUseAppCheckToken(appName: String, callback: (Result) -> Unit) { - val firebaseAppCheck = getAppCheck(appName) - firebaseAppCheck.limitedUseAppCheckToken.addOnCompleteListener { task -> - if (task.isSuccessful) { - callback(Result.success(task.result?.token ?: "")) - } else { - callback(Result.failure(FlutterError("firebase_app_check", task.exception?.message, null))) - } - } - } - - override fun getPluginConstantsForFirebaseApp(firebaseApp: FirebaseApp): Task> { - val taskCompletionSource = TaskCompletionSource>() - taskCompletionSource.setResult(HashMap()) - return taskCompletionSource.task - } - - override fun didReinitializeFirebaseCore(): Task { - val taskCompletionSource = TaskCompletionSource() - removeEventListeners() - taskCompletionSource.setResult(null) - return taskCompletionSource.task - } - - private fun removeEventListeners() { - for ((name, channel) in eventChannels) { - channel.setStreamHandler(null) - } - for ((name, handler) in streamHandlers) { - handler.onCancel(null) - } - eventChannels.clear() - streamHandlers.clear() - } -} diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/android/src/main/kotlin/io/flutter/plugins/firebase/appcheck/FlutterFirebaseAppRegistrar.kt b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/android/src/main/kotlin/io/flutter/plugins/firebase/appcheck/FlutterFirebaseAppRegistrar.kt deleted file mode 100644 index 1f1087b1..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/android/src/main/kotlin/io/flutter/plugins/firebase/appcheck/FlutterFirebaseAppRegistrar.kt +++ /dev/null @@ -1,37 +0,0 @@ -// Copyright 2025 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. -package io.flutter.plugins.firebase.appcheck - -import androidx.annotation.Keep -import com.google.firebase.appcheck.debug.InternalDebugSecretProvider -import com.google.firebase.components.Component -import com.google.firebase.components.ComponentRegistrar -import com.google.firebase.platforminfo.LibraryVersionComponent - -@Keep -class FlutterFirebaseAppRegistrar : ComponentRegistrar, InternalDebugSecretProvider { - - companion object { - private const val DEBUG_SECRET_NAME = "fire-app-check-debug-secret" - - @JvmStatic var debugToken: String? = null - } - - override fun getComponents(): List> { - val library = - LibraryVersionComponent.create(BuildConfig.LIBRARY_NAME, BuildConfig.LIBRARY_VERSION) - - val debugSecretProvider = - Component.builder(InternalDebugSecretProvider::class.java) - .name(DEBUG_SECRET_NAME) - .factory { this } - .build() - - return listOf(library, debugSecretProvider) - } - - override fun getDebugSecret(): String? { - return debugToken - } -} diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/android/src/main/kotlin/io/flutter/plugins/firebase/appcheck/GeneratedAndroidFirebaseAppCheck.g.kt b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/android/src/main/kotlin/io/flutter/plugins/firebase/appcheck/GeneratedAndroidFirebaseAppCheck.g.kt deleted file mode 100644 index 4cd7a39b..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/android/src/main/kotlin/io/flutter/plugins/firebase/appcheck/GeneratedAndroidFirebaseAppCheck.g.kt +++ /dev/null @@ -1,223 +0,0 @@ -// Copyright 2025, the Chromium project authors. Please see the AUTHORS file -// for details. All rights reserved. Use of this source code is governed by a -// BSD-style license that can be found in the LICENSE file. -// Autogenerated from Pigeon (v26.3.4), do not edit directly. -// See also: https://pub.dev/packages/pigeon -@file:Suppress("UNCHECKED_CAST", "ArrayInDataClass") - -package io.flutter.plugins.firebase.appcheck - -import android.util.Log -import io.flutter.plugin.common.BasicMessageChannel -import io.flutter.plugin.common.BinaryMessenger -import io.flutter.plugin.common.MessageCodec -import io.flutter.plugin.common.StandardMessageCodec -import java.io.ByteArrayOutputStream -import java.nio.ByteBuffer - -private object GeneratedAndroidFirebaseAppCheckPigeonUtils { - - fun wrapResult(result: Any?): List { - return listOf(result) - } - - fun wrapError(exception: Throwable): List { - return if (exception is FlutterError) { - listOf(exception.code, exception.message, exception.details) - } else { - listOf( - exception.javaClass.simpleName, - exception.toString(), - "Cause: " + exception.cause + ", Stacktrace: " + Log.getStackTraceString(exception)) - } - } -} - -/** - * Error class for passing custom error details to Flutter via a thrown PlatformException. - * - * @property code The error code. - * @property message The error message. - * @property details The error details. Must be a datatype supported by the api codec. - */ -class FlutterError( - val code: String, - override val message: String? = null, - val details: Any? = null -) : RuntimeException() - -private open class GeneratedAndroidFirebaseAppCheckPigeonCodec : StandardMessageCodec() { - override fun readValueOfType(type: Byte, buffer: ByteBuffer): Any? { - return super.readValueOfType(type, buffer) - } - - override fun writeValue(stream: ByteArrayOutputStream, value: Any?) { - super.writeValue(stream, value) - } -} - -/** Generated interface from Pigeon that represents a handler of messages from Flutter. */ -interface FirebaseAppCheckHostApi { - fun activate( - appName: String, - androidProvider: String?, - appleProvider: String?, - debugToken: String?, - callback: (Result) -> Unit - ) - - fun getToken(appName: String, forceRefresh: Boolean, callback: (Result) -> Unit) - - fun setTokenAutoRefreshEnabled( - appName: String, - isTokenAutoRefreshEnabled: Boolean, - callback: (Result) -> Unit - ) - - fun registerTokenListener(appName: String, callback: (Result) -> Unit) - - fun getLimitedUseAppCheckToken(appName: String, callback: (Result) -> Unit) - - companion object { - /** The codec used by FirebaseAppCheckHostApi. */ - val codec: MessageCodec by lazy { GeneratedAndroidFirebaseAppCheckPigeonCodec() } - /** - * Sets up an instance of `FirebaseAppCheckHostApi` to handle messages through the - * `binaryMessenger`. - */ - @JvmOverloads - fun setUp( - binaryMessenger: BinaryMessenger, - api: FirebaseAppCheckHostApi?, - messageChannelSuffix: String = "" - ) { - val separatedMessageChannelSuffix = - if (messageChannelSuffix.isNotEmpty()) ".$messageChannelSuffix" else "" - run { - val channel = - BasicMessageChannel( - binaryMessenger, - "dev.flutter.pigeon.firebase_app_check_platform_interface.FirebaseAppCheckHostApi.activate$separatedMessageChannelSuffix", - codec) - if (api != null) { - channel.setMessageHandler { message, reply -> - val args = message as List - val appNameArg = args[0] as String - val androidProviderArg = args[1] as String? - val appleProviderArg = args[2] as String? - val debugTokenArg = args[3] as String? - api.activate(appNameArg, androidProviderArg, appleProviderArg, debugTokenArg) { - result: Result -> - val error = result.exceptionOrNull() - if (error != null) { - reply.reply(GeneratedAndroidFirebaseAppCheckPigeonUtils.wrapError(error)) - } else { - reply.reply(GeneratedAndroidFirebaseAppCheckPigeonUtils.wrapResult(null)) - } - } - } - } else { - channel.setMessageHandler(null) - } - } - run { - val channel = - BasicMessageChannel( - binaryMessenger, - "dev.flutter.pigeon.firebase_app_check_platform_interface.FirebaseAppCheckHostApi.getToken$separatedMessageChannelSuffix", - codec) - if (api != null) { - channel.setMessageHandler { message, reply -> - val args = message as List - val appNameArg = args[0] as String - val forceRefreshArg = args[1] as Boolean - api.getToken(appNameArg, forceRefreshArg) { result: Result -> - val error = result.exceptionOrNull() - if (error != null) { - reply.reply(GeneratedAndroidFirebaseAppCheckPigeonUtils.wrapError(error)) - } else { - val data = result.getOrNull() - reply.reply(GeneratedAndroidFirebaseAppCheckPigeonUtils.wrapResult(data)) - } - } - } - } else { - channel.setMessageHandler(null) - } - } - run { - val channel = - BasicMessageChannel( - binaryMessenger, - "dev.flutter.pigeon.firebase_app_check_platform_interface.FirebaseAppCheckHostApi.setTokenAutoRefreshEnabled$separatedMessageChannelSuffix", - codec) - if (api != null) { - channel.setMessageHandler { message, reply -> - val args = message as List - val appNameArg = args[0] as String - val isTokenAutoRefreshEnabledArg = args[1] as Boolean - api.setTokenAutoRefreshEnabled(appNameArg, isTokenAutoRefreshEnabledArg) { - result: Result -> - val error = result.exceptionOrNull() - if (error != null) { - reply.reply(GeneratedAndroidFirebaseAppCheckPigeonUtils.wrapError(error)) - } else { - reply.reply(GeneratedAndroidFirebaseAppCheckPigeonUtils.wrapResult(null)) - } - } - } - } else { - channel.setMessageHandler(null) - } - } - run { - val channel = - BasicMessageChannel( - binaryMessenger, - "dev.flutter.pigeon.firebase_app_check_platform_interface.FirebaseAppCheckHostApi.registerTokenListener$separatedMessageChannelSuffix", - codec) - if (api != null) { - channel.setMessageHandler { message, reply -> - val args = message as List - val appNameArg = args[0] as String - api.registerTokenListener(appNameArg) { result: Result -> - val error = result.exceptionOrNull() - if (error != null) { - reply.reply(GeneratedAndroidFirebaseAppCheckPigeonUtils.wrapError(error)) - } else { - val data = result.getOrNull() - reply.reply(GeneratedAndroidFirebaseAppCheckPigeonUtils.wrapResult(data)) - } - } - } - } else { - channel.setMessageHandler(null) - } - } - run { - val channel = - BasicMessageChannel( - binaryMessenger, - "dev.flutter.pigeon.firebase_app_check_platform_interface.FirebaseAppCheckHostApi.getLimitedUseAppCheckToken$separatedMessageChannelSuffix", - codec) - if (api != null) { - channel.setMessageHandler { message, reply -> - val args = message as List - val appNameArg = args[0] as String - api.getLimitedUseAppCheckToken(appNameArg) { result: Result -> - val error = result.exceptionOrNull() - if (error != null) { - reply.reply(GeneratedAndroidFirebaseAppCheckPigeonUtils.wrapError(error)) - } else { - val data = result.getOrNull() - reply.reply(GeneratedAndroidFirebaseAppCheckPigeonUtils.wrapResult(data)) - } - } - } - } else { - channel.setMessageHandler(null) - } - } - } - } -} diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/android/src/main/kotlin/io/flutter/plugins/firebase/appcheck/TokenChannelStreamHandler.kt b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/android/src/main/kotlin/io/flutter/plugins/firebase/appcheck/TokenChannelStreamHandler.kt deleted file mode 100644 index 81d1b83e..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/android/src/main/kotlin/io/flutter/plugins/firebase/appcheck/TokenChannelStreamHandler.kt +++ /dev/null @@ -1,30 +0,0 @@ -// Copyright 2025 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. -package io.flutter.plugins.firebase.appcheck - -import com.google.firebase.appcheck.FirebaseAppCheck -import io.flutter.plugin.common.EventChannel - -class TokenChannelStreamHandler(private val firebaseAppCheck: FirebaseAppCheck) : - EventChannel.StreamHandler { - - private var listener: FirebaseAppCheck.AppCheckListener? = null - - override fun onListen(arguments: Any?, events: EventChannel.EventSink) { - listener = - FirebaseAppCheck.AppCheckListener { result -> - val event = HashMap() - event["token"] = result.token - events.success(event) - } - firebaseAppCheck.addAppCheckListener(listener!!) - } - - override fun onCancel(arguments: Any?) { - listener?.let { - firebaseAppCheck.removeAppCheckListener(it) - listener = null - } - } -} diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/android/user-agent.gradle b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/android/user-agent.gradle deleted file mode 100644 index 7b9c028a..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/android/user-agent.gradle +++ /dev/null @@ -1,22 +0,0 @@ -import java.util.regex.Matcher -import java.util.regex.Pattern - -String libraryVersionName = "UNKNOWN" -String libraryName = "flutter-fire-app-check" -File pubspec = new File(project.projectDir.parentFile, 'pubspec.yaml') - -if (pubspec.exists()) { - String yaml = pubspec.text - // Using \s*['|"]?([^\n|'|"]*)['|"]? to extract version number. - Matcher versionMatcher = Pattern.compile("^version:\\s*['|\"]?([^\\n|'|\"]*)['|\"]?\$", Pattern.MULTILINE).matcher(yaml) - if (versionMatcher.find()) libraryVersionName = versionMatcher.group(1).replaceAll("\\+", "-") -} - -android { - defaultConfig { - // BuildConfig.VERSION_NAME - buildConfigField 'String', 'LIBRARY_VERSION', "\"${libraryVersionName}\"" - // BuildConfig.LIBRARY_NAME - buildConfigField 'String', 'LIBRARY_NAME', "\"${libraryName}\"" - } -} diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/README.md b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/README.md deleted file mode 100644 index 595e1145..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/README.md +++ /dev/null @@ -1,8 +0,0 @@ -# firebase_app_check_example - -Demonstrates how to use the firebase_app_check plugin. - -## Getting Started - -For help getting started with Flutter, view our online -[documentation](https://flutter.dev/). diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/analysis_options.yaml b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/analysis_options.yaml deleted file mode 100644 index b6cd704f..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/analysis_options.yaml +++ /dev/null @@ -1,10 +0,0 @@ -# Copyright 2021 The Chromium Authors. All rights reserved. -# Use of this source code is governed by a BSD-style license that can be -# in the LICENSE file. - -include: ../../../../analysis_options.yaml -linter: - rules: - avoid_print: false - depend_on_referenced_packages: false - library_private_types_in_public_api: false diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/android/app/build.gradle b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/android/app/build.gradle deleted file mode 100644 index 92298e72..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/android/app/build.gradle +++ /dev/null @@ -1,65 +0,0 @@ -plugins { - id "com.android.application" - // START: FlutterFire Configuration - id 'com.google.gms.google-services' - // END: FlutterFire Configuration - id "kotlin-android" - // The Flutter Gradle Plugin must be applied after the Android and Kotlin Gradle plugins. - id "dev.flutter.flutter-gradle-plugin" -} -apply from: file("../../../android/local-config.gradle") - -def localProperties = new Properties() -def localPropertiesFile = rootProject.file("local.properties") -if (localPropertiesFile.exists()) { - localPropertiesFile.withReader("UTF-8") { reader -> - localProperties.load(reader) - } -} - -def flutterVersionCode = localProperties.getProperty("flutter.versionCode") -if (flutterVersionCode == null) { - flutterVersionCode = "1" -} - -def flutterVersionName = localProperties.getProperty("flutter.versionName") -if (flutterVersionName == null) { - flutterVersionName = "1.0" -} - -android { - namespace = "io.flutter.plugins.firebase.appcheck.example" - compileSdk = flutter.compileSdkVersion - ndkVersion = flutter.ndkVersion - - compileOptions { - sourceCompatibility = project.ext.javaVersion - targetCompatibility = project.ext.javaVersion - } - - kotlinOptions { - jvmTarget = "17" - } - - defaultConfig { - applicationId = "io.flutter.plugins.firebase.appcheck.example" - // You can update the following values to match your application needs. - // For more information, see: https://docs.flutter.dev/deployment/android#reviewing-the-gradle-build-configuration. - minSdkVersion = flutter.minSdkVersion - targetSdk = flutter.targetSdkVersion - versionCode = flutterVersionCode.toInteger() - versionName = flutterVersionName - } - - buildTypes { - release { - // TODO: Add your own signing config for the release build. - // Signing with the debug keys for now, so `flutter run --release` works. - signingConfig = signingConfigs.debug - } - } -} - -flutter { - source = "../.." -} diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/android/app/google-services.json b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/android/app/google-services.json deleted file mode 100644 index 6b7e0408..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/android/app/google-services.json +++ /dev/null @@ -1,615 +0,0 @@ -{ - "project_info": { - "project_number": "406099696497", - "firebase_url": "https://flutterfire-e2e-tests-default-rtdb.europe-west1.firebasedatabase.app", - "project_id": "flutterfire-e2e-tests", - "storage_bucket": "flutterfire-e2e-tests.appspot.com" - }, - "client": [ - { - "client_info": { - "mobilesdk_app_id": "1:406099696497:android:d86a91cc7b338b233574d0", - "android_client_info": { - "package_name": "io.flutter.plugins.firebase.analytics.example" - } - }, - "oauth_client": [ - { - "client_id": "406099696497-a12gakvts4epfk5pkio7dphc1anjiggc.apps.googleusercontent.com", - "client_type": 3 - } - ], - "api_key": [ - { - "current_key": "AIzaSyCdRjCVZlhrq72RuEklEyyxYlBRCYhI2Sw" - } - ], - "services": { - "appinvite_service": { - "other_platform_oauth_client": [ - { - "client_id": "406099696497-a12gakvts4epfk5pkio7dphc1anjiggc.apps.googleusercontent.com", - "client_type": 3 - }, - { - "client_id": "406099696497-0mofiof3ofcgmpmirb6q0fllvb372sme.apps.googleusercontent.com", - "client_type": 2, - "ios_info": { - "bundle_id": "io.flutter.plugins.firebase.example" - } - } - ] - } - } - }, - { - "client_info": { - "mobilesdk_app_id": "1:406099696497:android:a241c4b471513a203574d0", - "android_client_info": { - "package_name": "io.flutter.plugins.firebase.appcheck.example" - } - }, - "oauth_client": [ - { - "client_id": "406099696497-7bvmqp0fffe24vm2arng0dtdeh2tvkgl.apps.googleusercontent.com", - "client_type": 1, - "android_info": { - "package_name": "io.flutter.plugins.firebase.appcheck.example", - "certificate_hash": "909ca1482ef022bbae45a2db6b6d05d807a4c4aa" - } - }, - { - "client_id": "406099696497-a12gakvts4epfk5pkio7dphc1anjiggc.apps.googleusercontent.com", - "client_type": 3 - } - ], - "api_key": [ - { - "current_key": "AIzaSyCdRjCVZlhrq72RuEklEyyxYlBRCYhI2Sw" - } - ], - "services": { - "appinvite_service": { - "other_platform_oauth_client": [ - { - "client_id": "406099696497-a12gakvts4epfk5pkio7dphc1anjiggc.apps.googleusercontent.com", - "client_type": 3 - }, - { - "client_id": "406099696497-0mofiof3ofcgmpmirb6q0fllvb372sme.apps.googleusercontent.com", - "client_type": 2, - "ios_info": { - "bundle_id": "io.flutter.plugins.firebase.example" - } - } - ] - } - } - }, - { - "client_info": { - "mobilesdk_app_id": "1:406099696497:android:21d5142deea38dda3574d0", - "android_client_info": { - "package_name": "io.flutter.plugins.firebase.auth.example" - } - }, - "oauth_client": [ - { - "client_id": "406099696497-emmujnd7g2ammh5uu9ni6v04p4ateqac.apps.googleusercontent.com", - "client_type": 1, - "android_info": { - "package_name": "io.flutter.plugins.firebase.auth.example", - "certificate_hash": "5ad0d6d5cbe577ca185b8df246656bebc3957128" - } - }, - { - "client_id": "406099696497-in8bfp0nali85oul1o98huoar6eo1vv1.apps.googleusercontent.com", - "client_type": 1, - "android_info": { - "package_name": "io.flutter.plugins.firebase.auth.example", - "certificate_hash": "909ca1482ef022bbae45a2db6b6d05d807a4c4aa" - } - }, - { - "client_id": "406099696497-a12gakvts4epfk5pkio7dphc1anjiggc.apps.googleusercontent.com", - "client_type": 3 - } - ], - "api_key": [ - { - "current_key": "AIzaSyCdRjCVZlhrq72RuEklEyyxYlBRCYhI2Sw" - } - ], - "services": { - "appinvite_service": { - "other_platform_oauth_client": [ - { - "client_id": "406099696497-a12gakvts4epfk5pkio7dphc1anjiggc.apps.googleusercontent.com", - "client_type": 3 - }, - { - "client_id": "406099696497-0mofiof3ofcgmpmirb6q0fllvb372sme.apps.googleusercontent.com", - "client_type": 2, - "ios_info": { - "bundle_id": "io.flutter.plugins.firebase.example" - } - } - ] - } - } - }, - { - "client_info": { - "mobilesdk_app_id": "1:406099696497:android:3ef965ff044efc0b3574d0", - "android_client_info": { - "package_name": "io.flutter.plugins.firebase.database.example" - } - }, - "oauth_client": [ - { - "client_id": "406099696497-a12gakvts4epfk5pkio7dphc1anjiggc.apps.googleusercontent.com", - "client_type": 3 - } - ], - "api_key": [ - { - "current_key": "AIzaSyCdRjCVZlhrq72RuEklEyyxYlBRCYhI2Sw" - } - ], - "services": { - "appinvite_service": { - "other_platform_oauth_client": [ - { - "client_id": "406099696497-a12gakvts4epfk5pkio7dphc1anjiggc.apps.googleusercontent.com", - "client_type": 3 - }, - { - "client_id": "406099696497-0mofiof3ofcgmpmirb6q0fllvb372sme.apps.googleusercontent.com", - "client_type": 2, - "ios_info": { - "bundle_id": "io.flutter.plugins.firebase.example" - } - } - ] - } - } - }, - { - "client_info": { - "mobilesdk_app_id": "1:406099696497:android:40da41183cb3d3ff3574d0", - "android_client_info": { - "package_name": "io.flutter.plugins.firebase.dynamiclinksexample" - } - }, - "oauth_client": [ - { - "client_id": "406099696497-a12gakvts4epfk5pkio7dphc1anjiggc.apps.googleusercontent.com", - "client_type": 3 - } - ], - "api_key": [ - { - "current_key": "AIzaSyCdRjCVZlhrq72RuEklEyyxYlBRCYhI2Sw" - } - ], - "services": { - "appinvite_service": { - "other_platform_oauth_client": [ - { - "client_id": "406099696497-a12gakvts4epfk5pkio7dphc1anjiggc.apps.googleusercontent.com", - "client_type": 3 - }, - { - "client_id": "406099696497-0mofiof3ofcgmpmirb6q0fllvb372sme.apps.googleusercontent.com", - "client_type": 2, - "ios_info": { - "bundle_id": "io.flutter.plugins.firebase.example" - } - } - ] - } - } - }, - { - "client_info": { - "mobilesdk_app_id": "1:406099696497:android:175ea7a64b2faf5e3574d0", - "android_client_info": { - "package_name": "io.flutter.plugins.firebase.firestore.example" - } - }, - "oauth_client": [ - { - "client_id": "406099696497-a12gakvts4epfk5pkio7dphc1anjiggc.apps.googleusercontent.com", - "client_type": 3 - } - ], - "api_key": [ - { - "current_key": "AIzaSyCdRjCVZlhrq72RuEklEyyxYlBRCYhI2Sw" - } - ], - "services": { - "appinvite_service": { - "other_platform_oauth_client": [ - { - "client_id": "406099696497-a12gakvts4epfk5pkio7dphc1anjiggc.apps.googleusercontent.com", - "client_type": 3 - }, - { - "client_id": "406099696497-0mofiof3ofcgmpmirb6q0fllvb372sme.apps.googleusercontent.com", - "client_type": 2, - "ios_info": { - "bundle_id": "io.flutter.plugins.firebase.example" - } - } - ] - } - } - }, - { - "client_info": { - "mobilesdk_app_id": "1:406099696497:android:7ca3394493cc601a3574d0", - "android_client_info": { - "package_name": "io.flutter.plugins.firebase.functions.example" - } - }, - "oauth_client": [ - { - "client_id": "406099696497-17qn06u8a0dc717u8ul7s49ampk13lul.apps.googleusercontent.com", - "client_type": 1, - "android_info": { - "package_name": "io.flutter.plugins.firebase.functions.example", - "certificate_hash": "a4256c0612686b336af6d138a5479b7dc1ee1af6" - } - }, - { - "client_id": "406099696497-tvtvuiqogct1gs1s6lh114jeps7hpjm5.apps.googleusercontent.com", - "client_type": 1, - "android_info": { - "package_name": "io.flutter.plugins.firebase.functions.example", - "certificate_hash": "909ca1482ef022bbae45a2db6b6d05d807a4c4aa" - } - }, - { - "client_id": "406099696497-a12gakvts4epfk5pkio7dphc1anjiggc.apps.googleusercontent.com", - "client_type": 3 - } - ], - "api_key": [ - { - "current_key": "AIzaSyCdRjCVZlhrq72RuEklEyyxYlBRCYhI2Sw" - } - ], - "services": { - "appinvite_service": { - "other_platform_oauth_client": [ - { - "client_id": "406099696497-a12gakvts4epfk5pkio7dphc1anjiggc.apps.googleusercontent.com", - "client_type": 3 - }, - { - "client_id": "406099696497-0mofiof3ofcgmpmirb6q0fllvb372sme.apps.googleusercontent.com", - "client_type": 2, - "ios_info": { - "bundle_id": "io.flutter.plugins.firebase.example" - } - } - ] - } - } - }, - { - "client_info": { - "mobilesdk_app_id": "1:406099696497:android:6d1c1fbf4688f39c3574d0", - "android_client_info": { - "package_name": "io.flutter.plugins.firebase.installations.example" - } - }, - "oauth_client": [ - { - "client_id": "406099696497-a12gakvts4epfk5pkio7dphc1anjiggc.apps.googleusercontent.com", - "client_type": 3 - } - ], - "api_key": [ - { - "current_key": "AIzaSyCdRjCVZlhrq72RuEklEyyxYlBRCYhI2Sw" - } - ], - "services": { - "appinvite_service": { - "other_platform_oauth_client": [ - { - "client_id": "406099696497-a12gakvts4epfk5pkio7dphc1anjiggc.apps.googleusercontent.com", - "client_type": 3 - }, - { - "client_id": "406099696497-0mofiof3ofcgmpmirb6q0fllvb372sme.apps.googleusercontent.com", - "client_type": 2, - "ios_info": { - "bundle_id": "io.flutter.plugins.firebase.example" - } - } - ] - } - } - }, - { - "client_info": { - "mobilesdk_app_id": "1:406099696497:android:74ebb073d7727cd43574d0", - "android_client_info": { - "package_name": "io.flutter.plugins.firebase.messaging.example" - } - }, - "oauth_client": [ - { - "client_id": "406099696497-a12gakvts4epfk5pkio7dphc1anjiggc.apps.googleusercontent.com", - "client_type": 3 - } - ], - "api_key": [ - { - "current_key": "AIzaSyCdRjCVZlhrq72RuEklEyyxYlBRCYhI2Sw" - } - ], - "services": { - "appinvite_service": { - "other_platform_oauth_client": [ - { - "client_id": "406099696497-a12gakvts4epfk5pkio7dphc1anjiggc.apps.googleusercontent.com", - "client_type": 3 - }, - { - "client_id": "406099696497-0mofiof3ofcgmpmirb6q0fllvb372sme.apps.googleusercontent.com", - "client_type": 2, - "ios_info": { - "bundle_id": "io.flutter.plugins.firebase.example" - } - } - ] - } - } - }, - { - "client_info": { - "mobilesdk_app_id": "1:406099696497:android:f54b85cfa36a39f73574d0", - "android_client_info": { - "package_name": "io.flutter.plugins.firebase.remoteconfig.example" - } - }, - "oauth_client": [ - { - "client_id": "406099696497-a12gakvts4epfk5pkio7dphc1anjiggc.apps.googleusercontent.com", - "client_type": 3 - } - ], - "api_key": [ - { - "current_key": "AIzaSyCdRjCVZlhrq72RuEklEyyxYlBRCYhI2Sw" - } - ], - "services": { - "appinvite_service": { - "other_platform_oauth_client": [ - { - "client_id": "406099696497-a12gakvts4epfk5pkio7dphc1anjiggc.apps.googleusercontent.com", - "client_type": 3 - }, - { - "client_id": "406099696497-0mofiof3ofcgmpmirb6q0fllvb372sme.apps.googleusercontent.com", - "client_type": 2, - "ios_info": { - "bundle_id": "io.flutter.plugins.firebase.example" - } - } - ] - } - } - }, - { - "client_info": { - "mobilesdk_app_id": "1:406099696497:android:0d4ed619c031c0ac3574d0", - "android_client_info": { - "package_name": "io.flutter.plugins.firebase.tests" - } - }, - "oauth_client": [ - { - "client_id": "406099696497-ib9hj9281l3343cm3nfvvdotaojrthdc.apps.googleusercontent.com", - "client_type": 1, - "android_info": { - "package_name": "io.flutter.plugins.firebase.tests", - "certificate_hash": "5ad0d6d5cbe577ca185b8df246656bebc3957128" - } - }, - { - "client_id": "406099696497-lc54d5l8sp90k39r0bb39ovsgo1s9bek.apps.googleusercontent.com", - "client_type": 1, - "android_info": { - "package_name": "io.flutter.plugins.firebase.tests", - "certificate_hash": "909ca1482ef022bbae45a2db6b6d05d807a4c4aa" - } - }, - { - "client_id": "406099696497-a12gakvts4epfk5pkio7dphc1anjiggc.apps.googleusercontent.com", - "client_type": 3 - } - ], - "api_key": [ - { - "current_key": "AIzaSyCdRjCVZlhrq72RuEklEyyxYlBRCYhI2Sw" - } - ], - "services": { - "appinvite_service": { - "other_platform_oauth_client": [ - { - "client_id": "406099696497-a12gakvts4epfk5pkio7dphc1anjiggc.apps.googleusercontent.com", - "client_type": 3 - }, - { - "client_id": "406099696497-0mofiof3ofcgmpmirb6q0fllvb372sme.apps.googleusercontent.com", - "client_type": 2, - "ios_info": { - "bundle_id": "io.flutter.plugins.firebase.example" - } - } - ] - } - } - }, - { - "client_info": { - "mobilesdk_app_id": "1:406099696497:android:899c6485cfce26c13574d0", - "android_client_info": { - "package_name": "io.flutter.plugins.firebase_ui_example" - } - }, - "oauth_client": [ - { - "client_id": "406099696497-ltgvphphcckosvqhituel5km2k3aecg8.apps.googleusercontent.com", - "client_type": 1, - "android_info": { - "package_name": "io.flutter.plugins.firebase_ui_example", - "certificate_hash": "a4256c0612686b336af6d138a5479b7dc1ee1af6" - } - }, - { - "client_id": "406099696497-a12gakvts4epfk5pkio7dphc1anjiggc.apps.googleusercontent.com", - "client_type": 3 - } - ], - "api_key": [ - { - "current_key": "AIzaSyCdRjCVZlhrq72RuEklEyyxYlBRCYhI2Sw" - } - ], - "services": { - "appinvite_service": { - "other_platform_oauth_client": [ - { - "client_id": "406099696497-a12gakvts4epfk5pkio7dphc1anjiggc.apps.googleusercontent.com", - "client_type": 3 - }, - { - "client_id": "406099696497-0mofiof3ofcgmpmirb6q0fllvb372sme.apps.googleusercontent.com", - "client_type": 2, - "ios_info": { - "bundle_id": "io.flutter.plugins.firebase.example" - } - } - ] - } - } - }, - { - "client_info": { - "mobilesdk_app_id": "1:406099696497:android:bc0b12b0605df8633574d0", - "android_client_info": { - "package_name": "io.flutter.plugins.firebasecoreexample" - } - }, - "oauth_client": [ - { - "client_id": "406099696497-a12gakvts4epfk5pkio7dphc1anjiggc.apps.googleusercontent.com", - "client_type": 3 - } - ], - "api_key": [ - { - "current_key": "AIzaSyCdRjCVZlhrq72RuEklEyyxYlBRCYhI2Sw" - } - ], - "services": { - "appinvite_service": { - "other_platform_oauth_client": [ - { - "client_id": "406099696497-a12gakvts4epfk5pkio7dphc1anjiggc.apps.googleusercontent.com", - "client_type": 3 - }, - { - "client_id": "406099696497-0mofiof3ofcgmpmirb6q0fllvb372sme.apps.googleusercontent.com", - "client_type": 2, - "ios_info": { - "bundle_id": "io.flutter.plugins.firebase.example" - } - } - ] - } - } - }, - { - "client_info": { - "mobilesdk_app_id": "1:406099696497:android:0f3f7bfe78b8b7103574d0", - "android_client_info": { - "package_name": "io.flutter.plugins.firebasecrashlyticsexample" - } - }, - "oauth_client": [ - { - "client_id": "406099696497-a12gakvts4epfk5pkio7dphc1anjiggc.apps.googleusercontent.com", - "client_type": 3 - } - ], - "api_key": [ - { - "current_key": "AIzaSyCdRjCVZlhrq72RuEklEyyxYlBRCYhI2Sw" - } - ], - "services": { - "appinvite_service": { - "other_platform_oauth_client": [ - { - "client_id": "406099696497-a12gakvts4epfk5pkio7dphc1anjiggc.apps.googleusercontent.com", - "client_type": 3 - }, - { - "client_id": "406099696497-0mofiof3ofcgmpmirb6q0fllvb372sme.apps.googleusercontent.com", - "client_type": 2, - "ios_info": { - "bundle_id": "io.flutter.plugins.firebase.example" - } - } - ] - } - } - }, - { - "client_info": { - "mobilesdk_app_id": "1:406099696497:android:2751af6868a69f073574d0", - "android_client_info": { - "package_name": "io.flutter.plugins.firebasestorageexample" - } - }, - "oauth_client": [ - { - "client_id": "406099696497-a12gakvts4epfk5pkio7dphc1anjiggc.apps.googleusercontent.com", - "client_type": 3 - } - ], - "api_key": [ - { - "current_key": "AIzaSyCdRjCVZlhrq72RuEklEyyxYlBRCYhI2Sw" - } - ], - "services": { - "appinvite_service": { - "other_platform_oauth_client": [ - { - "client_id": "406099696497-a12gakvts4epfk5pkio7dphc1anjiggc.apps.googleusercontent.com", - "client_type": 3 - }, - { - "client_id": "406099696497-0mofiof3ofcgmpmirb6q0fllvb372sme.apps.googleusercontent.com", - "client_type": 2, - "ios_info": { - "bundle_id": "io.flutter.plugins.firebase.example" - } - } - ] - } - } - } - ], - "configuration_version": "1" -} \ No newline at end of file diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/android/app/src/debug/AndroidManifest.xml b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/android/app/src/debug/AndroidManifest.xml deleted file mode 100644 index 399f6981..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/android/app/src/debug/AndroidManifest.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/android/app/src/main/AndroidManifest.xml b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/android/app/src/main/AndroidManifest.xml deleted file mode 100644 index 74a78b93..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/android/app/src/main/AndroidManifest.xml +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/android/app/src/main/kotlin/io/flutter/plugins/firebase/appcheck/example/MainActivity.kt b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/android/app/src/main/kotlin/io/flutter/plugins/firebase/appcheck/example/MainActivity.kt deleted file mode 100644 index fd3526f1..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/android/app/src/main/kotlin/io/flutter/plugins/firebase/appcheck/example/MainActivity.kt +++ /dev/null @@ -1,5 +0,0 @@ -package io.flutter.plugins.firebase.appcheck.example - -import io.flutter.embedding.android.FlutterActivity - -class MainActivity : FlutterActivity() diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/android/app/src/main/res/drawable-v21/launch_background.xml b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/android/app/src/main/res/drawable-v21/launch_background.xml deleted file mode 100644 index f74085f3..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/android/app/src/main/res/drawable-v21/launch_background.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/android/app/src/main/res/drawable/launch_background.xml b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/android/app/src/main/res/drawable/launch_background.xml deleted file mode 100644 index 304732f8..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/android/app/src/main/res/drawable/launch_background.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/android/app/src/main/res/mipmap-hdpi/ic_launcher.png b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/android/app/src/main/res/mipmap-hdpi/ic_launcher.png deleted file mode 100644 index db77bb4b..00000000 Binary files a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/android/app/src/main/res/mipmap-hdpi/ic_launcher.png and /dev/null differ diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/android/app/src/main/res/mipmap-mdpi/ic_launcher.png b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/android/app/src/main/res/mipmap-mdpi/ic_launcher.png deleted file mode 100644 index 17987b79..00000000 Binary files a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/android/app/src/main/res/mipmap-mdpi/ic_launcher.png and /dev/null differ diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png deleted file mode 100644 index 09d43914..00000000 Binary files a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png and /dev/null differ diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png deleted file mode 100644 index d5f1c8d3..00000000 Binary files a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png and /dev/null differ diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png deleted file mode 100644 index 4d6372ee..00000000 Binary files a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png and /dev/null differ diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/android/app/src/main/res/values-night/styles.xml b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/android/app/src/main/res/values-night/styles.xml deleted file mode 100644 index 06952be7..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/android/app/src/main/res/values-night/styles.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/android/app/src/main/res/values/styles.xml b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/android/app/src/main/res/values/styles.xml deleted file mode 100644 index cb1ef880..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/android/app/src/main/res/values/styles.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/android/app/src/profile/AndroidManifest.xml b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/android/app/src/profile/AndroidManifest.xml deleted file mode 100644 index 399f6981..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/android/app/src/profile/AndroidManifest.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/android/build.gradle b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/android/build.gradle deleted file mode 100644 index d2ffbffa..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/android/build.gradle +++ /dev/null @@ -1,18 +0,0 @@ -allprojects { - repositories { - google() - mavenCentral() - } -} - -rootProject.buildDir = "../build" -subprojects { - project.buildDir = "${rootProject.buildDir}/${project.name}" -} -subprojects { - project.evaluationDependsOn(":app") -} - -tasks.register("clean", Delete) { - delete rootProject.buildDir -} diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/android/gradle.properties b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/android/gradle.properties deleted file mode 100644 index 3c0f502f..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/android/gradle.properties +++ /dev/null @@ -1,4 +0,0 @@ -org.gradle.jvmargs=-Xmx4G -XX:+HeapDumpOnOutOfMemoryError -android.useAndroidX=true -android.enableJetifier=true -androidGradlePluginVersion=8.3.0 \ No newline at end of file diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/android/gradle/wrapper/gradle-wrapper.properties b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/android/gradle/wrapper/gradle-wrapper.properties deleted file mode 100644 index e411586a..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/android/gradle/wrapper/gradle-wrapper.properties +++ /dev/null @@ -1,5 +0,0 @@ -distributionBase=GRADLE_USER_HOME -distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.4-bin.zip -zipStoreBase=GRADLE_USER_HOME -zipStorePath=wrapper/dists diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/android/settings.gradle b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/android/settings.gradle deleted file mode 100644 index 4fb566e9..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/android/settings.gradle +++ /dev/null @@ -1,28 +0,0 @@ -pluginManagement { - def flutterSdkPath = { - def properties = new Properties() - file("local.properties").withInputStream { properties.load(it) } - def flutterSdkPath = properties.getProperty("flutter.sdk") - assert flutterSdkPath != null, "flutter.sdk not set in local.properties" - return flutterSdkPath - }() - - includeBuild("$flutterSdkPath/packages/flutter_tools/gradle") - - repositories { - google() - mavenCentral() - gradlePluginPortal() - } -} - -plugins { - id "dev.flutter.flutter-plugin-loader" version "1.0.0" - id "com.android.application" version "${androidGradlePluginVersion}" apply false - // START: FlutterFire Configuration - id "com.google.gms.google-services" version "4.3.15" apply false - // END: FlutterFire Configuration - id "org.jetbrains.kotlin.android" version "2.1.0" apply false -} - -include ":app" diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/ios/Flutter/AppFrameworkInfo.plist b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/ios/Flutter/AppFrameworkInfo.plist deleted file mode 100644 index 391a902b..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/ios/Flutter/AppFrameworkInfo.plist +++ /dev/null @@ -1,24 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleExecutable - App - CFBundleIdentifier - io.flutter.flutter.app - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - App - CFBundlePackageType - FMWK - CFBundleShortVersionString - 1.0 - CFBundleSignature - ???? - CFBundleVersion - 1.0 - - diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/ios/Flutter/Debug.xcconfig b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/ios/Flutter/Debug.xcconfig deleted file mode 100644 index ec97fc6f..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/ios/Flutter/Debug.xcconfig +++ /dev/null @@ -1,2 +0,0 @@ -#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig" -#include "Generated.xcconfig" diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/ios/Flutter/Release.xcconfig b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/ios/Flutter/Release.xcconfig deleted file mode 100644 index c4855bfe..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/ios/Flutter/Release.xcconfig +++ /dev/null @@ -1,2 +0,0 @@ -#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig" -#include "Generated.xcconfig" diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/ios/Podfile b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/ios/Podfile deleted file mode 100644 index 620e46eb..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/ios/Podfile +++ /dev/null @@ -1,43 +0,0 @@ -# Uncomment this line to define a global platform for your project -# platform :ios, '13.0' - -# CocoaPods analytics sends network stats synchronously affecting flutter build latency. -ENV['COCOAPODS_DISABLE_STATS'] = 'true' - -project 'Runner', { - 'Debug' => :debug, - 'Profile' => :release, - 'Release' => :release, -} - -def flutter_root - generated_xcode_build_settings_path = File.expand_path(File.join('..', 'Flutter', 'Generated.xcconfig'), __FILE__) - unless File.exist?(generated_xcode_build_settings_path) - raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually, make sure flutter pub get is executed first" - end - - File.foreach(generated_xcode_build_settings_path) do |line| - matches = line.match(/FLUTTER_ROOT\=(.*)/) - return matches[1].strip if matches - end - raise "FLUTTER_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Generated.xcconfig, then run flutter pub get" -end - -require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root) - -flutter_ios_podfile_setup - -target 'Runner' do - use_frameworks! - - flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__)) - target 'RunnerTests' do - inherit! :search_paths - end -end - -post_install do |installer| - installer.pods_project.targets.each do |target| - flutter_additional_ios_build_settings(target) - end -end diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner.xcodeproj/project.pbxproj b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner.xcodeproj/project.pbxproj deleted file mode 100644 index 1ef35c77..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner.xcodeproj/project.pbxproj +++ /dev/null @@ -1,553 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 54; - objects = { - -/* Begin PBXBuildFile section */ - 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; }; - 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; }; - 4627F94B299406540090DA25 /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = BBE2A093D0D5DFBA7CE858E4 /* GoogleService-Info.plist */; }; - 78A318202AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage in Frameworks */ = {isa = PBXBuildFile; productRef = 78A3181F2AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage */; }; - 978B8F6F1D3862AE00F588F7 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 7AFFD8EE1D35381100E5BB4D /* AppDelegate.m */; }; - 97C146F31CF9000F007C117D /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 97C146F21CF9000F007C117D /* main.m */; }; - 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; }; - 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; }; - 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; }; -/* End PBXBuildFile section */ - -/* Begin PBXCopyFilesBuildPhase section */ - 9705A1C41CF9048500538489 /* Embed Frameworks */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = ""; - dstSubfolderSpec = 10; - files = ( - ); - name = "Embed Frameworks"; - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXCopyFilesBuildPhase section */ - -/* Begin PBXFileReference section */ - 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = ""; }; - 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = ""; }; - 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; }; - 4632D5BC275CD47A0059DC83 /* Runner.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = Runner.entitlements; sourceTree = ""; }; - 46A64A032996811C003FC4F3 /* RunnerRelease.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = RunnerRelease.entitlements; sourceTree = ""; }; - 78E0A7A72DC9AD7400C4905E /* FlutterGeneratedPluginSwiftPackage */ = {isa = PBXFileReference; lastKnownFileType = wrapper; name = FlutterGeneratedPluginSwiftPackage; path = Flutter/ephemeral/Packages/FlutterGeneratedPluginSwiftPackage; sourceTree = ""; }; - 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; }; - 7AFFD8ED1D35381100E5BB4D /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; }; - 7AFFD8EE1D35381100E5BB4D /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = ""; }; - 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = ""; }; - 9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = ""; }; - 97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; }; - 97C146F21CF9000F007C117D /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; - 97C146FB1CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; - 97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; - 97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; - 97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - BBE2A093D0D5DFBA7CE858E4 /* GoogleService-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; name = "GoogleService-Info.plist"; path = "Runner/GoogleService-Info.plist"; sourceTree = ""; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - 97C146EB1CF9000F007C117D /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 78A318202AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 9740EEB11CF90186004384FC /* Flutter */ = { - isa = PBXGroup; - children = ( - 78E0A7A72DC9AD7400C4905E /* FlutterGeneratedPluginSwiftPackage */, - 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */, - 9740EEB21CF90195004384FC /* Debug.xcconfig */, - 7AFA3C8E1D35360C0083082E /* Release.xcconfig */, - 9740EEB31CF90195004384FC /* Generated.xcconfig */, - ); - name = Flutter; - sourceTree = ""; - }; - 97C146E51CF9000F007C117D = { - isa = PBXGroup; - children = ( - 9740EEB11CF90186004384FC /* Flutter */, - 97C146F01CF9000F007C117D /* Runner */, - 97C146EF1CF9000F007C117D /* Products */, - F919868105D7CB93D33CAD83 /* Pods */, - BBE2A093D0D5DFBA7CE858E4 /* GoogleService-Info.plist */, - ); - sourceTree = ""; - }; - 97C146EF1CF9000F007C117D /* Products */ = { - isa = PBXGroup; - children = ( - 97C146EE1CF9000F007C117D /* Runner.app */, - ); - name = Products; - sourceTree = ""; - }; - 97C146F01CF9000F007C117D /* Runner */ = { - isa = PBXGroup; - children = ( - 46A64A032996811C003FC4F3 /* RunnerRelease.entitlements */, - 4632D5BC275CD47A0059DC83 /* Runner.entitlements */, - 7AFFD8ED1D35381100E5BB4D /* AppDelegate.h */, - 7AFFD8EE1D35381100E5BB4D /* AppDelegate.m */, - 97C146FA1CF9000F007C117D /* Main.storyboard */, - 97C146FD1CF9000F007C117D /* Assets.xcassets */, - 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */, - 97C147021CF9000F007C117D /* Info.plist */, - 97C146F11CF9000F007C117D /* Supporting Files */, - 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */, - 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */, - ); - path = Runner; - sourceTree = ""; - }; - 97C146F11CF9000F007C117D /* Supporting Files */ = { - isa = PBXGroup; - children = ( - 97C146F21CF9000F007C117D /* main.m */, - ); - name = "Supporting Files"; - sourceTree = ""; - }; - F919868105D7CB93D33CAD83 /* Pods */ = { - isa = PBXGroup; - children = ( - ); - path = Pods; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXNativeTarget section */ - 97C146ED1CF9000F007C117D /* Runner */ = { - isa = PBXNativeTarget; - buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */; - buildPhases = ( - 9740EEB61CF901F6004384FC /* Run Script */, - 97C146EA1CF9000F007C117D /* Sources */, - 97C146EB1CF9000F007C117D /* Frameworks */, - 97C146EC1CF9000F007C117D /* Resources */, - 9705A1C41CF9048500538489 /* Embed Frameworks */, - 3B06AD1E1E4923F5004D2608 /* Thin Binary */, - 46A64A04299681F5003FC4F3 /* ShellScript */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = Runner; - packageProductDependencies = ( - 78A3181F2AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage */, - ); - productName = Runner; - productReference = 97C146EE1CF9000F007C117D /* Runner.app */; - productType = "com.apple.product-type.application"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - 97C146E61CF9000F007C117D /* Project object */ = { - isa = PBXProject; - attributes = { - LastUpgradeCheck = 1510; - ORGANIZATIONNAME = ""; - TargetAttributes = { - 97C146ED1CF9000F007C117D = { - CreatedOnToolsVersion = 7.3.1; - }; - }; - }; - buildConfigurationList = 97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */; - compatibilityVersion = "Xcode 9.3"; - developmentRegion = en; - hasScannedForEncodings = 0; - knownRegions = ( - en, - Base, - ); - mainGroup = 97C146E51CF9000F007C117D; - packageReferences = ( - 781AD8BC2B33823900A9FFBB /* XCLocalSwiftPackageReference "FlutterGeneratedPluginSwiftPackage" */, - ); - productRefGroup = 97C146EF1CF9000F007C117D /* Products */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - 97C146ED1CF9000F007C117D /* Runner */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXResourcesBuildPhase section */ - 97C146EC1CF9000F007C117D /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 4627F94B299406540090DA25 /* GoogleService-Info.plist in Resources */, - 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */, - 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */, - 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */, - 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXShellScriptBuildPhase section */ - 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { - isa = PBXShellScriptBuildPhase; - alwaysOutOfDate = 1; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}", - ); - name = "Thin Binary"; - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; - }; - 46A64A04299681F5003FC4F3 /* ShellScript */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - ); - inputPaths = ( - ); - outputFileListPaths = ( - ); - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "# Type a script or drag a script file from your workspace to insert its path.\necho \"YYYYYYYY: ${CONFIGURATION}\"\n"; - }; - 9740EEB61CF901F6004384FC /* Run Script */ = { - isa = PBXShellScriptBuildPhase; - alwaysOutOfDate = 1; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - name = "Run Script"; - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build\n"; - }; -/* End PBXShellScriptBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - 97C146EA1CF9000F007C117D /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 978B8F6F1D3862AE00F588F7 /* AppDelegate.m in Sources */, - 97C146F31CF9000F007C117D /* main.m in Sources */, - 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin PBXVariantGroup section */ - 97C146FA1CF9000F007C117D /* Main.storyboard */ = { - isa = PBXVariantGroup; - children = ( - 97C146FB1CF9000F007C117D /* Base */, - ); - name = Main.storyboard; - sourceTree = ""; - }; - 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */ = { - isa = PBXVariantGroup; - children = ( - 97C147001CF9000F007C117D /* Base */, - ); - name = LaunchScreen.storyboard; - sourceTree = ""; - }; -/* End PBXVariantGroup section */ - -/* Begin XCBuildConfiguration section */ - 249021D3217E4FDB00AE95B9 /* Profile */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 15.0; - MTL_ENABLE_DEBUG_INFO = NO; - SDKROOT = iphoneos; - SUPPORTED_PLATFORMS = iphoneos; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - }; - name = Profile; - }; - 249021D4217E4FDB00AE95B9 /* Profile */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; - buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements; - CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; - DEVELOPMENT_TEAM = YYX2P3XVJ7; - ENABLE_BITCODE = NO; - INFOPLIST_FILE = Runner/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = io.flutter.plugins.firebase.appcheck.example; - PRODUCT_NAME = "$(TARGET_NAME)"; - VERSIONING_SYSTEM = "apple-generic"; - }; - name = Profile; - }; - 97C147031CF9000F007C117D /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = dwarf; - ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_TESTABILITY = YES; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_DYNAMIC_NO_PIC = NO; - GCC_NO_COMMON_BLOCKS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 15.0; - MTL_ENABLE_DEBUG_INFO = YES; - ONLY_ACTIVE_ARCH = YES; - SDKROOT = iphoneos; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Debug; - }; - 97C147041CF9000F007C117D /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 15.0; - MTL_ENABLE_DEBUG_INFO = NO; - SDKROOT = iphoneos; - SUPPORTED_PLATFORMS = iphoneos; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; - 97C147061CF9000F007C117D /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */; - buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements; - CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; - DEVELOPMENT_TEAM = YYX2P3XVJ7; - ENABLE_BITCODE = NO; - INFOPLIST_FILE = Runner/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = io.flutter.plugins.firebase.appcheck.example; - PRODUCT_NAME = "$(TARGET_NAME)"; - VERSIONING_SYSTEM = "apple-generic"; - }; - name = Debug; - }; - 97C147071CF9000F007C117D /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; - buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CODE_SIGN_ENTITLEMENTS = Runner/RunnerRelease.entitlements; - CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; - DEVELOPMENT_TEAM = YYX2P3XVJ7; - ENABLE_BITCODE = NO; - INFOPLIST_FILE = Runner/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = io.flutter.plugins.firebase.appcheck.example; - PRODUCT_NAME = "$(TARGET_NAME)"; - VERSIONING_SYSTEM = "apple-generic"; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 97C147031CF9000F007C117D /* Debug */, - 97C147041CF9000F007C117D /* Release */, - 249021D3217E4FDB00AE95B9 /* Profile */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 97C147061CF9000F007C117D /* Debug */, - 97C147071CF9000F007C117D /* Release */, - 249021D4217E4FDB00AE95B9 /* Profile */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - -/* Begin XCLocalSwiftPackageReference section */ - 781AD8BC2B33823900A9FFBB /* XCLocalSwiftPackageReference "FlutterGeneratedPluginSwiftPackage" */ = { - isa = XCLocalSwiftPackageReference; - relativePath = Flutter/ephemeral/Packages/FlutterGeneratedPluginSwiftPackage; - }; -/* End XCLocalSwiftPackageReference section */ - -/* Begin XCSwiftPackageProductDependency section */ - 78A3181F2AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage */ = { - isa = XCSwiftPackageProductDependency; - productName = FlutterGeneratedPluginSwiftPackage; - }; -/* End XCSwiftPackageProductDependency section */ - }; - rootObject = 97C146E61CF9000F007C117D /* Project object */; -} diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata deleted file mode 100644 index 919434a6..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata +++ /dev/null @@ -1,7 +0,0 @@ - - - - - diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist deleted file mode 100644 index 18d98100..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +++ /dev/null @@ -1,8 +0,0 @@ - - - - - IDEDidComputeMac32BitWarning - - - diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings deleted file mode 100644 index f9b0d7c5..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings +++ /dev/null @@ -1,8 +0,0 @@ - - - - - PreviewsEnabled - - - diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme deleted file mode 100644 index 8a6c683e..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ /dev/null @@ -1,114 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner.xcworkspace/contents.xcworkspacedata b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner.xcworkspace/contents.xcworkspacedata deleted file mode 100644 index 21a3cc14..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner.xcworkspace/contents.xcworkspacedata +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist deleted file mode 100644 index 18d98100..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +++ /dev/null @@ -1,8 +0,0 @@ - - - - - IDEDidComputeMac32BitWarning - - - diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings deleted file mode 100644 index f9b0d7c5..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings +++ /dev/null @@ -1,8 +0,0 @@ - - - - - PreviewsEnabled - - - diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/AppDelegate.h b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/AppDelegate.h deleted file mode 100644 index 01e6e1d4..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/AppDelegate.h +++ /dev/null @@ -1,6 +0,0 @@ -#import -#import - -@interface AppDelegate : FlutterAppDelegate - -@end diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/AppDelegate.m b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/AppDelegate.m deleted file mode 100644 index 7171162c..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/AppDelegate.m +++ /dev/null @@ -1,16 +0,0 @@ -#import "AppDelegate.h" -#import "GeneratedPluginRegistrant.h" -@import Firebase; - -@implementation AppDelegate - -- (BOOL)application:(UIApplication *)application - didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { - return [super application:application didFinishLaunchingWithOptions:launchOptions]; -} - -- (void)didInitializeImplicitFlutterEngine:(NSObject *)engineBridge { - [GeneratedPluginRegistrant registerWithRegistry:engineBridge.pluginRegistry]; -} - -@end diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json deleted file mode 100644 index d36b1fab..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json +++ /dev/null @@ -1,122 +0,0 @@ -{ - "images" : [ - { - "size" : "20x20", - "idiom" : "iphone", - "filename" : "Icon-App-20x20@2x.png", - "scale" : "2x" - }, - { - "size" : "20x20", - "idiom" : "iphone", - "filename" : "Icon-App-20x20@3x.png", - "scale" : "3x" - }, - { - "size" : "29x29", - "idiom" : "iphone", - "filename" : "Icon-App-29x29@1x.png", - "scale" : "1x" - }, - { - "size" : "29x29", - "idiom" : "iphone", - "filename" : "Icon-App-29x29@2x.png", - "scale" : "2x" - }, - { - "size" : "29x29", - "idiom" : "iphone", - "filename" : "Icon-App-29x29@3x.png", - "scale" : "3x" - }, - { - "size" : "40x40", - "idiom" : "iphone", - "filename" : "Icon-App-40x40@2x.png", - "scale" : "2x" - }, - { - "size" : "40x40", - "idiom" : "iphone", - "filename" : "Icon-App-40x40@3x.png", - "scale" : "3x" - }, - { - "size" : "60x60", - "idiom" : "iphone", - "filename" : "Icon-App-60x60@2x.png", - "scale" : "2x" - }, - { - "size" : "60x60", - "idiom" : "iphone", - "filename" : "Icon-App-60x60@3x.png", - "scale" : "3x" - }, - { - "size" : "20x20", - "idiom" : "ipad", - "filename" : "Icon-App-20x20@1x.png", - "scale" : "1x" - }, - { - "size" : "20x20", - "idiom" : "ipad", - "filename" : "Icon-App-20x20@2x.png", - "scale" : "2x" - }, - { - "size" : "29x29", - "idiom" : "ipad", - "filename" : "Icon-App-29x29@1x.png", - "scale" : "1x" - }, - { - "size" : "29x29", - "idiom" : "ipad", - "filename" : "Icon-App-29x29@2x.png", - "scale" : "2x" - }, - { - "size" : "40x40", - "idiom" : "ipad", - "filename" : "Icon-App-40x40@1x.png", - "scale" : "1x" - }, - { - "size" : "40x40", - "idiom" : "ipad", - "filename" : "Icon-App-40x40@2x.png", - "scale" : "2x" - }, - { - "size" : "76x76", - "idiom" : "ipad", - "filename" : "Icon-App-76x76@1x.png", - "scale" : "1x" - }, - { - "size" : "76x76", - "idiom" : "ipad", - "filename" : "Icon-App-76x76@2x.png", - "scale" : "2x" - }, - { - "size" : "83.5x83.5", - "idiom" : "ipad", - "filename" : "Icon-App-83.5x83.5@2x.png", - "scale" : "2x" - }, - { - "size" : "1024x1024", - "idiom" : "ios-marketing", - "filename" : "Icon-App-1024x1024@1x.png", - "scale" : "1x" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png deleted file mode 100644 index dc9ada47..00000000 Binary files a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png and /dev/null differ diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png deleted file mode 100644 index 28c6bf03..00000000 Binary files a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png and /dev/null differ diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png deleted file mode 100644 index 2ccbfd96..00000000 Binary files a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png and /dev/null differ diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png deleted file mode 100644 index f091b6b0..00000000 Binary files a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png and /dev/null differ diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png deleted file mode 100644 index 4cde1211..00000000 Binary files a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png and /dev/null differ diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png deleted file mode 100644 index d0ef06e7..00000000 Binary files a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png and /dev/null differ diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png deleted file mode 100644 index dcdc2306..00000000 Binary files a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png and /dev/null differ diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png deleted file mode 100644 index 2ccbfd96..00000000 Binary files a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png and /dev/null differ diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png deleted file mode 100644 index c8f9ed8f..00000000 Binary files a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png and /dev/null differ diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png deleted file mode 100644 index a6d6b860..00000000 Binary files a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png and /dev/null differ diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png deleted file mode 100644 index a6d6b860..00000000 Binary files a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png and /dev/null differ diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png deleted file mode 100644 index 75b2d164..00000000 Binary files a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png and /dev/null differ diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png deleted file mode 100644 index c4df70d3..00000000 Binary files a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png and /dev/null differ diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png deleted file mode 100644 index 6a84f41e..00000000 Binary files a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png and /dev/null differ diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png deleted file mode 100644 index d0e1f585..00000000 Binary files a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png and /dev/null differ diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json deleted file mode 100644 index 0bedcf2f..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "images" : [ - { - "idiom" : "universal", - "filename" : "LaunchImage.png", - "scale" : "1x" - }, - { - "idiom" : "universal", - "filename" : "LaunchImage@2x.png", - "scale" : "2x" - }, - { - "idiom" : "universal", - "filename" : "LaunchImage@3x.png", - "scale" : "3x" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png deleted file mode 100644 index 9da19eac..00000000 Binary files a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png and /dev/null differ diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png deleted file mode 100644 index 9da19eac..00000000 Binary files a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png and /dev/null differ diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png deleted file mode 100644 index 9da19eac..00000000 Binary files a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png and /dev/null differ diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md deleted file mode 100644 index 89c2725b..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md +++ /dev/null @@ -1,5 +0,0 @@ -# Launch Screen Assets - -You can customize the launch screen with your own desired assets by replacing the image files in this directory. - -You can also do it by opening your Flutter project's Xcode project with `open ios/Runner.xcworkspace`, selecting `Runner/Assets.xcassets` in the Project Navigator and dropping in the desired images. \ No newline at end of file diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Base.lproj/LaunchScreen.storyboard b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Base.lproj/LaunchScreen.storyboard deleted file mode 100644 index f2e259c7..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Base.lproj/LaunchScreen.storyboard +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Base.lproj/Main.storyboard b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Base.lproj/Main.storyboard deleted file mode 100644 index f3c28516..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Base.lproj/Main.storyboard +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/GoogleService-Info.plist b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/GoogleService-Info.plist deleted file mode 100644 index 7e2f0dcb..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/GoogleService-Info.plist +++ /dev/null @@ -1,38 +0,0 @@ - - - - - CLIENT_ID - 406099696497-17cfsesi620nhia0sck4map450gngkoh.apps.googleusercontent.com - REVERSED_CLIENT_ID - com.googleusercontent.apps.406099696497-17cfsesi620nhia0sck4map450gngkoh - ANDROID_CLIENT_ID - 406099696497-17qn06u8a0dc717u8ul7s49ampk13lul.apps.googleusercontent.com - API_KEY - AIzaSyDooSUGSf63Ghq02_iIhtnmwMDs4HlWS6c - GCM_SENDER_ID - 406099696497 - PLIST_VERSION - 1 - BUNDLE_ID - io.flutter.plugins.firebase.appcheck.example - PROJECT_ID - flutterfire-e2e-tests - STORAGE_BUCKET - flutterfire-e2e-tests.appspot.com - IS_ADS_ENABLED - - IS_ANALYTICS_ENABLED - - IS_APPINVITE_ENABLED - - IS_GCM_ENABLED - - IS_SIGNIN_ENABLED - - GOOGLE_APP_ID - 1:406099696497:ios:bd8702ba3865bb333574d0 - DATABASE_URL - https://flutterfire-e2e-tests-default-rtdb.europe-west1.firebasedatabase.app - - \ No newline at end of file diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Info.plist b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Info.plist deleted file mode 100644 index 3a8a7a2f..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Info.plist +++ /dev/null @@ -1,70 +0,0 @@ - - - - - CADisableMinimumFrameDurationOnPhone - - CFBundleDevelopmentRegion - $(DEVELOPMENT_LANGUAGE) - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - example - CFBundlePackageType - APPL - CFBundleShortVersionString - $(FLUTTER_BUILD_NAME) - CFBundleSignature - ???? - CFBundleVersion - $(FLUTTER_BUILD_NUMBER) - LSRequiresIPhoneOS - - UILaunchStoryboardName - LaunchScreen - UIMainStoryboardFile - Main - UISupportedInterfaceOrientations - - UIInterfaceOrientationPortrait - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - UISupportedInterfaceOrientations~ipad - - UIInterfaceOrientationPortrait - UIInterfaceOrientationPortraitUpsideDown - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - UIViewControllerBasedStatusBarAppearance - - UIApplicationSupportsIndirectInputEvents - - UIApplicationSceneManifest - - UIApplicationSupportsMultipleScenes - - UISceneConfigurations - - UIWindowSceneSessionRoleApplication - - - UISceneClassName - UIWindowScene - UISceneDelegateClassName - FlutterSceneDelegate - UISceneConfigurationName - flutter - UISceneStoryboardFile - Main - - - - - - diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Runner.entitlements b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Runner.entitlements deleted file mode 100644 index 70084b41..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/Runner.entitlements +++ /dev/null @@ -1,8 +0,0 @@ - - - - - com.apple.developer.devicecheck.appattest-environment - development - - diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/RunnerRelease.entitlements b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/RunnerRelease.entitlements deleted file mode 100644 index 70084b41..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/RunnerRelease.entitlements +++ /dev/null @@ -1,8 +0,0 @@ - - - - - com.apple.developer.devicecheck.appattest-environment - development - - diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/main.m b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/main.m deleted file mode 100644 index dff6597e..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/ios/Runner/main.m +++ /dev/null @@ -1,9 +0,0 @@ -#import -#import -#import "AppDelegate.h" - -int main(int argc, char* argv[]) { - @autoreleasepool { - return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); - } -} diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/ios/firebase_app_id_file.json b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/ios/firebase_app_id_file.json deleted file mode 100644 index ab0e60a0..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/ios/firebase_app_id_file.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "file_generated_by": "FlutterFire CLI", - "purpose": "FirebaseAppID & ProjectID for this Firebase app in this directory", - "GOOGLE_APP_ID": "1:406099696497:ios:bd8702ba3865bb333574d0", - "FIREBASE_PROJECT_ID": "flutterfire-e2e-tests", - "GCM_SENDER_ID": "406099696497" -} \ No newline at end of file diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/lib/firebase_options.dart b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/lib/firebase_options.dart deleted file mode 100644 index 8bbd98af..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/lib/firebase_options.dart +++ /dev/null @@ -1,98 +0,0 @@ -// Copyright 2022, the Chromium project authors. Please see the AUTHORS file -// for details. All rights reserved. Use of this source code is governed by a -// BSD-style license that can be found in the LICENSE file. - -// File generated by FlutterFire CLI. -// ignore_for_file: type=lint -import 'package:firebase_core/firebase_core.dart' show FirebaseOptions; -import 'package:flutter/foundation.dart' - show defaultTargetPlatform, kIsWeb, TargetPlatform; - -/// Default [FirebaseOptions] for use with your Firebase apps. -/// -/// Example: -/// ```dart -/// import 'firebase_options.dart'; -/// // ... -/// await Firebase.initializeApp( -/// options: DefaultFirebaseOptions.currentPlatform, -/// ); -/// ``` -class DefaultFirebaseOptions { - static FirebaseOptions get currentPlatform { - if (kIsWeb) { - return web; - } - switch (defaultTargetPlatform) { - case TargetPlatform.android: - return android; - case TargetPlatform.iOS: - return ios; - case TargetPlatform.macOS: - return macos; - case TargetPlatform.windows: - return web; - case TargetPlatform.linux: - throw UnsupportedError( - 'DefaultFirebaseOptions have not been configured for linux - ' - 'you can reconfigure this by running the FlutterFire CLI again.', - ); - default: - throw UnsupportedError( - 'DefaultFirebaseOptions are not supported for this platform.', - ); - } - } - - static const FirebaseOptions web = FirebaseOptions( - apiKey: 'AIzaSyB7wZb2tO1-Fs6GbDADUSTs2Qs3w08Hovw', - appId: '1:406099696497:web:87e25e51afe982cd3574d0', - messagingSenderId: '406099696497', - projectId: 'flutterfire-e2e-tests', - authDomain: 'flutterfire-e2e-tests.firebaseapp.com', - databaseURL: - 'https://flutterfire-e2e-tests-default-rtdb.europe-west1.firebasedatabase.app', - storageBucket: 'flutterfire-e2e-tests.appspot.com', - measurementId: 'G-JN95N1JV2E', - ); - - static const FirebaseOptions android = FirebaseOptions( - apiKey: 'AIzaSyCdRjCVZlhrq72RuEklEyyxYlBRCYhI2Sw', - appId: '1:406099696497:android:a241c4b471513a203574d0', - messagingSenderId: '406099696497', - projectId: 'flutterfire-e2e-tests', - databaseURL: - 'https://flutterfire-e2e-tests-default-rtdb.europe-west1.firebasedatabase.app', - storageBucket: 'flutterfire-e2e-tests.appspot.com', - ); - - static const FirebaseOptions ios = FirebaseOptions( - apiKey: 'AIzaSyDooSUGSf63Ghq02_iIhtnmwMDs4HlWS6c', - appId: '1:406099696497:ios:bd8702ba3865bb333574d0', - messagingSenderId: '406099696497', - projectId: 'flutterfire-e2e-tests', - databaseURL: - 'https://flutterfire-e2e-tests-default-rtdb.europe-west1.firebasedatabase.app', - storageBucket: 'flutterfire-e2e-tests.appspot.com', - androidClientId: - '406099696497-17qn06u8a0dc717u8ul7s49ampk13lul.apps.googleusercontent.com', - iosClientId: - '406099696497-17cfsesi620nhia0sck4map450gngkoh.apps.googleusercontent.com', - iosBundleId: 'io.flutter.plugins.firebase.appcheck.example', - ); - - static const FirebaseOptions macos = FirebaseOptions( - apiKey: 'AIzaSyDooSUGSf63Ghq02_iIhtnmwMDs4HlWS6c', - appId: '1:406099696497:ios:bd8702ba3865bb333574d0', - messagingSenderId: '406099696497', - projectId: 'flutterfire-e2e-tests', - databaseURL: - 'https://flutterfire-e2e-tests-default-rtdb.europe-west1.firebasedatabase.app', - storageBucket: 'flutterfire-e2e-tests.appspot.com', - androidClientId: - '406099696497-17qn06u8a0dc717u8ul7s49ampk13lul.apps.googleusercontent.com', - iosClientId: - '406099696497-17cfsesi620nhia0sck4map450gngkoh.apps.googleusercontent.com', - iosBundleId: 'io.flutter.plugins.firebase.appcheck.example', - ); -} diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/lib/main.dart b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/lib/main.dart deleted file mode 100644 index 8f26c643..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/lib/main.dart +++ /dev/null @@ -1,249 +0,0 @@ -// Copyright 2022, the Chromium project authors. Please see the AUTHORS file -// for details. All rights reserved. Use of this source code is governed by a -// BSD-style license that can be found in the LICENSE file. - -// ignore_for_file: do_not_use_environment - -import 'package:cloud_firestore/cloud_firestore.dart'; -import 'package:firebase_app_check/firebase_app_check.dart'; -import 'package:firebase_core/firebase_core.dart'; -import 'package:flutter/foundation.dart'; -import 'package:flutter/material.dart'; - -import 'firebase_options.dart'; - -const kWebRecaptchaSiteKey = '6Lemcn0dAAAAABLkf6aiiHvpGD6x-zF3nOSDU2M8'; - -// Windows: create a debug token in the Firebase Console -// (App Check > Apps > Manage debug tokens), then paste it here -// or set the APP_CHECK_DEBUG_TOKEN environment variable. -const kWindowsDebugToken = String.fromEnvironment( - 'APP_CHECK_DEBUG_TOKEN', - // ignore: avoid_redundant_argument_values - defaultValue: '', -); - -Future main() async { - WidgetsFlutterBinding.ensureInitialized(); - await Firebase.initializeApp( - options: DefaultFirebaseOptions.currentPlatform, - ); - - // Activate app check after initialization, but before - // usage of any Firebase services. - await FirebaseAppCheck.instance.activate( - providerWeb: kDebugMode - ? WebDebugProvider() - : ReCaptchaV3Provider(kWebRecaptchaSiteKey), - providerAndroid: const AndroidDebugProvider(), - providerApple: const AppleDebugProvider(), - // On Windows, only the debug provider is available. - // You must supply a debug token — the desktop C++ SDK does not - // auto-generate one. Create one in the Firebase Console under - // App Check > Apps > Manage debug tokens, then either: - // - pass it via --dart-define=APP_CHECK_DEBUG_TOKEN= - // - or set the APP_CHECK_DEBUG_TOKEN environment variable - providerWindows: WindowsDebugProvider( - debugToken: kWindowsDebugToken.isNotEmpty ? kWindowsDebugToken : null, - ), - ); - - runApp(MyApp()); -} - -class MyApp extends StatelessWidget { - final String title = 'Firebase App Check'; - - @override - Widget build(BuildContext context) { - return MaterialApp( - title: 'Firebase App Check', - home: FirebaseAppCheckExample(title: title), - ); - } -} - -class FirebaseAppCheckExample extends StatefulWidget { - FirebaseAppCheckExample({ - Key? key, - required this.title, - }) : super(key: key); - - final String title; - - @override - _FirebaseAppCheck createState() => _FirebaseAppCheck(); -} - -class _FirebaseAppCheck extends State { - final appCheck = FirebaseAppCheck.instance; - String _message = ''; - String _eventToken = 'not yet'; - - @override - void initState() { - appCheck.onTokenChange.listen(setEventToken); - super.initState(); - } - - void setMessage(String message) { - setState(() { - _message = message; - }); - } - - void setEventToken(String? token) { - setState(() { - _eventToken = token ?? 'not yet'; - }); - } - - Future _activate({ - AndroidAppCheckProvider? android, - AppleAppCheckProvider? apple, - WindowsAppCheckProvider? windows, - }) async { - try { - await appCheck.activate( - providerAndroid: android ?? const AndroidPlayIntegrityProvider(), - providerApple: apple ?? const AppleDeviceCheckProvider(), - providerWeb: ReCaptchaV3Provider(kWebRecaptchaSiteKey), - providerWindows: windows ?? const WindowsDebugProvider(), - ); - final providerName = windows?.runtimeType.toString() ?? - apple?.runtimeType.toString() ?? - android?.runtimeType.toString() ?? - 'default'; - setMessage('Activated with $providerName'); - } catch (e) { - setMessage('activate error: $e'); - } - } - - @override - Widget build(BuildContext context) { - return Scaffold( - appBar: AppBar( - title: Text(widget.title), - ), - body: SingleChildScrollView( - padding: const EdgeInsets.all(16), - child: Column( - crossAxisAlignment: CrossAxisAlignment.stretch, - children: [ - const Text( - 'Providers', - style: TextStyle(fontSize: 18, fontWeight: FontWeight.bold), - ), - const SizedBox(height: 8), - ElevatedButton( - onPressed: () => _activate( - android: const AndroidDebugProvider(), - apple: const AppleDebugProvider(), - windows: WindowsDebugProvider( - debugToken: - kWindowsDebugToken.isNotEmpty ? kWindowsDebugToken : null, - ), - ), - child: const Text('activate(Debug)'), - ), - ElevatedButton( - onPressed: () => _activate( - android: const AndroidPlayIntegrityProvider(), - apple: const AppleDeviceCheckProvider(), - ), - child: const Text('activate(PlayIntegrity / DeviceCheck)'), - ), - if (!kIsWeb) - ElevatedButton( - onPressed: () => _activate( - apple: const AppleAppAttestProvider(), - ), - child: const Text('activate(AppAttest)'), - ), - if (!kIsWeb) - ElevatedButton( - onPressed: () => _activate( - apple: const AppleAppAttestWithDeviceCheckFallbackProvider(), - ), - child: const Text( - 'activate(AppAttest + DeviceCheck fallback)', - ), - ), - const SizedBox(height: 16), - const Text( - 'Actions', - style: TextStyle(fontSize: 18, fontWeight: FontWeight.bold), - ), - const SizedBox(height: 8), - ElevatedButton( - onPressed: () async { - try { - final token = await appCheck.getToken(true); - setMessage('Token: ${token?.substring(0, 20)}...'); - } catch (e) { - setMessage('getToken error: $e'); - } - }, - child: const Text('getToken(forceRefresh: true)'), - ), - ElevatedButton( - onPressed: () async { - try { - final token = await appCheck.getLimitedUseToken(); - setMessage( - 'Limited use token: ${token.substring(0, 20)}...', - ); - } catch (e) { - setMessage('getLimitedUseToken error: $e'); - } - }, - child: const Text('getLimitedUseToken()'), - ), - ElevatedButton( - onPressed: () async { - await appCheck.setTokenAutoRefreshEnabled(true); - setMessage('Token auto-refresh enabled'); - }, - child: const Text('setTokenAutoRefreshEnabled(true)'), - ), - ElevatedButton( - onPressed: () async { - try { - final result = await FirebaseFirestore.instance - .collection('flutter-tests') - .limit(1) - .get(); - setMessage( - result.docs.isNotEmpty - ? 'Firestore: Document found' - : 'Firestore: No documents', - ); - } catch (e) { - setMessage('Firestore error: $e'); - } - }, - child: const Text('Test Firestore with App Check'), - ), - const SizedBox(height: 20), - Text( - _message, - style: const TextStyle( - color: Color.fromRGBO(47, 79, 79, 1), - fontSize: 16, - ), - ), - const SizedBox(height: 20), - Text( - 'Token from onTokenChange: $_eventToken', - style: const TextStyle( - color: Color.fromRGBO(128, 0, 128, 1), - fontSize: 14, - ), - ), - ], - ), - ), - ); - } -} diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/macos/Flutter/Flutter-Debug.xcconfig b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/macos/Flutter/Flutter-Debug.xcconfig deleted file mode 100644 index 4b81f9b2..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/macos/Flutter/Flutter-Debug.xcconfig +++ /dev/null @@ -1,2 +0,0 @@ -#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig" -#include "ephemeral/Flutter-Generated.xcconfig" diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/macos/Flutter/Flutter-Release.xcconfig b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/macos/Flutter/Flutter-Release.xcconfig deleted file mode 100644 index 5caa9d15..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/macos/Flutter/Flutter-Release.xcconfig +++ /dev/null @@ -1,2 +0,0 @@ -#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig" -#include "ephemeral/Flutter-Generated.xcconfig" diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/macos/Podfile b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/macos/Podfile deleted file mode 100644 index ff5ddb3b..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/macos/Podfile +++ /dev/null @@ -1,42 +0,0 @@ -platform :osx, '10.15' - -# CocoaPods analytics sends network stats synchronously affecting flutter build latency. -ENV['COCOAPODS_DISABLE_STATS'] = 'true' - -project 'Runner', { - 'Debug' => :debug, - 'Profile' => :release, - 'Release' => :release, -} - -def flutter_root - generated_xcode_build_settings_path = File.expand_path(File.join('..', 'Flutter', 'ephemeral', 'Flutter-Generated.xcconfig'), __FILE__) - unless File.exist?(generated_xcode_build_settings_path) - raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually, make sure \"flutter pub get\" is executed first" - end - - File.foreach(generated_xcode_build_settings_path) do |line| - matches = line.match(/FLUTTER_ROOT\=(.*)/) - return matches[1].strip if matches - end - raise "FLUTTER_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Flutter-Generated.xcconfig, then run \"flutter pub get\"" -end - -require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root) - -flutter_macos_podfile_setup - -target 'Runner' do - use_frameworks! - - flutter_install_all_macos_pods File.dirname(File.realpath(__FILE__)) - target 'RunnerTests' do - inherit! :search_paths - end -end - -post_install do |installer| - installer.pods_project.targets.each do |target| - flutter_additional_macos_build_settings(target) - end -end diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/macos/Runner.xcodeproj/project.pbxproj b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/macos/Runner.xcodeproj/project.pbxproj deleted file mode 100644 index c0dc3860..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/macos/Runner.xcodeproj/project.pbxproj +++ /dev/null @@ -1,613 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 54; - objects = { - -/* Begin PBXAggregateTarget section */ - 33CC111A2044C6BA0003C045 /* Flutter Assemble */ = { - isa = PBXAggregateTarget; - buildConfigurationList = 33CC111B2044C6BA0003C045 /* Build configuration list for PBXAggregateTarget "Flutter Assemble" */; - buildPhases = ( - 33CC111E2044C6BF0003C045 /* ShellScript */, - ); - dependencies = ( - ); - name = "Flutter Assemble"; - productName = FLX; - }; -/* End PBXAggregateTarget section */ - -/* Begin PBXBuildFile section */ - 25624AEC275E1E7900B1E491 /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 25624AEB275E1E7900B1E491 /* GoogleService-Info.plist */; }; - 335BBD1B22A9A15E00E9071D /* GeneratedPluginRegistrant.swift in Sources */ = {isa = PBXBuildFile; fileRef = 335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */; }; - 33CC10F12044A3C60003C045 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC10F02044A3C60003C045 /* AppDelegate.swift */; }; - 33CC10F32044A3C60003C045 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F22044A3C60003C045 /* Assets.xcassets */; }; - 33CC10F62044A3C60003C045 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F42044A3C60003C045 /* MainMenu.xib */; }; - 33CC11132044BFA00003C045 /* MainFlutterWindow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */; }; - 78A318202AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage in Frameworks */ = {isa = PBXBuildFile; productRef = 78A3181F2AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage */; }; -/* End PBXBuildFile section */ - -/* Begin PBXContainerItemProxy section */ - 33CC111F2044C79F0003C045 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 33CC10E52044A3C60003C045 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 33CC111A2044C6BA0003C045; - remoteInfo = FLX; - }; -/* End PBXContainerItemProxy section */ - -/* Begin PBXCopyFilesBuildPhase section */ - 33CC110E2044A8840003C045 /* Bundle Framework */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = ""; - dstSubfolderSpec = 10; - files = ( - ); - name = "Bundle Framework"; - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXCopyFilesBuildPhase section */ - -/* Begin PBXFileReference section */ - 0DC934EE60634F0D37DD0EC3 /* GoogleService-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; name = "GoogleService-Info.plist"; path = "Runner/GoogleService-Info.plist"; sourceTree = ""; }; - 25624AEB275E1E7900B1E491 /* GoogleService-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "GoogleService-Info.plist"; sourceTree = ""; }; - 333000ED22D3DE5D00554162 /* Warnings.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Warnings.xcconfig; sourceTree = ""; }; - 335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GeneratedPluginRegistrant.swift; sourceTree = ""; }; - 33CC10ED2044A3C60003C045 /* firebase_app_check_example.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = firebase_app_check_example.app; sourceTree = BUILT_PRODUCTS_DIR; }; - 33CC10F02044A3C60003C045 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; - 33CC10F22044A3C60003C045 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Assets.xcassets; path = Runner/Assets.xcassets; sourceTree = ""; }; - 33CC10F52044A3C60003C045 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/MainMenu.xib; sourceTree = ""; }; - 33CC10F72044A3C60003C045 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = Info.plist; path = Runner/Info.plist; sourceTree = ""; }; - 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MainFlutterWindow.swift; sourceTree = ""; }; - 33CEB47222A05771004F2AC0 /* Flutter-Debug.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Flutter-Debug.xcconfig"; sourceTree = ""; }; - 33CEB47422A05771004F2AC0 /* Flutter-Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Flutter-Release.xcconfig"; sourceTree = ""; }; - 33CEB47722A0578A004F2AC0 /* Flutter-Generated.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = "Flutter-Generated.xcconfig"; path = "ephemeral/Flutter-Generated.xcconfig"; sourceTree = ""; }; - 33E51913231747F40026EE4D /* DebugProfile.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = DebugProfile.entitlements; sourceTree = ""; }; - 33E51914231749380026EE4D /* Release.entitlements */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.entitlements; path = Release.entitlements; sourceTree = ""; }; - 33E5194F232828860026EE4D /* AppInfo.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = AppInfo.xcconfig; sourceTree = ""; }; - 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Release.xcconfig; sourceTree = ""; }; - 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Debug.xcconfig; sourceTree = ""; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - 33CC10EA2044A3C60003C045 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 78A318202AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 33BA886A226E78AF003329D5 /* Configs */ = { - isa = PBXGroup; - children = ( - 33E5194F232828860026EE4D /* AppInfo.xcconfig */, - 9740EEB21CF90195004384FC /* Debug.xcconfig */, - 7AFA3C8E1D35360C0083082E /* Release.xcconfig */, - 333000ED22D3DE5D00554162 /* Warnings.xcconfig */, - ); - path = Configs; - sourceTree = ""; - }; - 33CC10E42044A3C60003C045 = { - isa = PBXGroup; - children = ( - 33FAB671232836740065AC1E /* Runner */, - 33CEB47122A05771004F2AC0 /* Flutter */, - 33CC10EE2044A3C60003C045 /* Products */, - 74CB5F55BD11E25520F6FF45 /* Pods */, - 0DC934EE60634F0D37DD0EC3 /* GoogleService-Info.plist */, - ); - sourceTree = ""; - }; - 33CC10EE2044A3C60003C045 /* Products */ = { - isa = PBXGroup; - children = ( - 33CC10ED2044A3C60003C045 /* firebase_app_check_example.app */, - ); - name = Products; - sourceTree = ""; - }; - 33CC11242044D66E0003C045 /* Resources */ = { - isa = PBXGroup; - children = ( - 33CC10F22044A3C60003C045 /* Assets.xcassets */, - 33CC10F42044A3C60003C045 /* MainMenu.xib */, - 33CC10F72044A3C60003C045 /* Info.plist */, - ); - name = Resources; - path = ..; - sourceTree = ""; - }; - 33CEB47122A05771004F2AC0 /* Flutter */ = { - isa = PBXGroup; - children = ( - 335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */, - 33CEB47222A05771004F2AC0 /* Flutter-Debug.xcconfig */, - 33CEB47422A05771004F2AC0 /* Flutter-Release.xcconfig */, - 33CEB47722A0578A004F2AC0 /* Flutter-Generated.xcconfig */, - ); - path = Flutter; - sourceTree = ""; - }; - 33FAB671232836740065AC1E /* Runner */ = { - isa = PBXGroup; - children = ( - 25624AEB275E1E7900B1E491 /* GoogleService-Info.plist */, - 33CC10F02044A3C60003C045 /* AppDelegate.swift */, - 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */, - 33E51913231747F40026EE4D /* DebugProfile.entitlements */, - 33E51914231749380026EE4D /* Release.entitlements */, - 33CC11242044D66E0003C045 /* Resources */, - 33BA886A226E78AF003329D5 /* Configs */, - ); - path = Runner; - sourceTree = ""; - }; - 74CB5F55BD11E25520F6FF45 /* Pods */ = { - isa = PBXGroup; - children = ( - ); - path = Pods; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXNativeTarget section */ - 33CC10EC2044A3C60003C045 /* Runner */ = { - isa = PBXNativeTarget; - buildConfigurationList = 33CC10FB2044A3C60003C045 /* Build configuration list for PBXNativeTarget "Runner" */; - buildPhases = ( - 33CC10E92044A3C60003C045 /* Sources */, - 33CC10EA2044A3C60003C045 /* Frameworks */, - 33CC10EB2044A3C60003C045 /* Resources */, - 33CC110E2044A8840003C045 /* Bundle Framework */, - 3399D490228B24CF009A79C7 /* ShellScript */, - ); - buildRules = ( - ); - dependencies = ( - 33CC11202044C79F0003C045 /* PBXTargetDependency */, - ); - name = Runner; - packageProductDependencies = ( - 78A3181F2AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage */, - ); - productName = Runner; - productReference = 33CC10ED2044A3C60003C045 /* firebase_app_check_example.app */; - productType = "com.apple.product-type.application"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - 33CC10E52044A3C60003C045 /* Project object */ = { - isa = PBXProject; - attributes = { - LastSwiftUpdateCheck = 0920; - LastUpgradeCheck = 1510; - ORGANIZATIONNAME = ""; - TargetAttributes = { - 33CC10EC2044A3C60003C045 = { - CreatedOnToolsVersion = 9.2; - LastSwiftMigration = 1100; - ProvisioningStyle = Automatic; - SystemCapabilities = { - com.apple.Sandbox = { - enabled = 1; - }; - }; - }; - 33CC111A2044C6BA0003C045 = { - CreatedOnToolsVersion = 9.2; - ProvisioningStyle = Manual; - }; - }; - }; - buildConfigurationList = 33CC10E82044A3C60003C045 /* Build configuration list for PBXProject "Runner" */; - compatibilityVersion = "Xcode 9.3"; - developmentRegion = en; - hasScannedForEncodings = 0; - knownRegions = ( - en, - Base, - ); - mainGroup = 33CC10E42044A3C60003C045; - packageReferences = ( - 781AD8BC2B33823900A9FFBB /* XCLocalSwiftPackageReference "FlutterGeneratedPluginSwiftPackage" */, - ); - productRefGroup = 33CC10EE2044A3C60003C045 /* Products */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - 33CC10EC2044A3C60003C045 /* Runner */, - 33CC111A2044C6BA0003C045 /* Flutter Assemble */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXResourcesBuildPhase section */ - 33CC10EB2044A3C60003C045 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 33CC10F32044A3C60003C045 /* Assets.xcassets in Resources */, - 33CC10F62044A3C60003C045 /* MainMenu.xib in Resources */, - 25624AEC275E1E7900B1E491 /* GoogleService-Info.plist in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXShellScriptBuildPhase section */ - 3399D490228B24CF009A79C7 /* ShellScript */ = { - isa = PBXShellScriptBuildPhase; - alwaysOutOfDate = 1; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - ); - inputPaths = ( - ); - outputFileListPaths = ( - ); - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "echo \"$PRODUCT_NAME.app\" > \"$PROJECT_DIR\"/Flutter/ephemeral/.app_filename && \"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh embed\n"; - }; - 33CC111E2044C6BF0003C045 /* ShellScript */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - Flutter/ephemeral/FlutterInputs.xcfilelist, - ); - inputPaths = ( - Flutter/ephemeral/tripwire, - ); - outputFileListPaths = ( - Flutter/ephemeral/FlutterOutputs.xcfilelist, - ); - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh && touch Flutter/ephemeral/tripwire"; - }; -/* End PBXShellScriptBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - 33CC10E92044A3C60003C045 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 33CC11132044BFA00003C045 /* MainFlutterWindow.swift in Sources */, - 33CC10F12044A3C60003C045 /* AppDelegate.swift in Sources */, - 335BBD1B22A9A15E00E9071D /* GeneratedPluginRegistrant.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin PBXTargetDependency section */ - 33CC11202044C79F0003C045 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 33CC111A2044C6BA0003C045 /* Flutter Assemble */; - targetProxy = 33CC111F2044C79F0003C045 /* PBXContainerItemProxy */; - }; -/* End PBXTargetDependency section */ - -/* Begin PBXVariantGroup section */ - 33CC10F42044A3C60003C045 /* MainMenu.xib */ = { - isa = PBXVariantGroup; - children = ( - 33CC10F52044A3C60003C045 /* Base */, - ); - name = MainMenu.xib; - path = Runner; - sourceTree = ""; - }; -/* End PBXVariantGroup section */ - -/* Begin XCBuildConfiguration section */ - 338D0CE9231458BD00FA5F75 /* Profile */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CODE_SIGN_IDENTITY = "-"; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.15; - MTL_ENABLE_DEBUG_INFO = NO; - SDKROOT = macosx; - SWIFT_COMPILATION_MODE = wholemodule; - SWIFT_OPTIMIZATION_LEVEL = "-O"; - }; - name = Profile; - }; - 338D0CEA231458BD00FA5F75 /* Profile */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 33E5194F232828860026EE4D /* AppInfo.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CLANG_ENABLE_MODULES = YES; - CODE_SIGN_ENTITLEMENTS = Runner/DebugProfile.entitlements; - CODE_SIGN_IDENTITY = "-"; - CODE_SIGN_STYLE = Automatic; - COMBINE_HIDPI_IMAGES = YES; - INFOPLIST_FILE = Runner/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/../Frameworks", - ); - MACOSX_DEPLOYMENT_TARGET = 10.15; - PRODUCT_BUNDLE_IDENTIFIER = io.flutter.plugins.firebase.appcheck.example; - PROVISIONING_PROFILE_SPECIFIER = ""; - SWIFT_VERSION = 5.0; - }; - name = Profile; - }; - 338D0CEB231458BD00FA5F75 /* Profile */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_STYLE = Manual; - PRODUCT_NAME = "$(TARGET_NAME)"; - }; - name = Profile; - }; - 33CC10F92044A3C60003C045 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CODE_SIGN_IDENTITY = "-"; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = dwarf; - ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_TESTABILITY = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_DYNAMIC_NO_PIC = NO; - GCC_NO_COMMON_BLOCKS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.15; - MTL_ENABLE_DEBUG_INFO = YES; - ONLY_ACTIVE_ARCH = YES; - SDKROOT = macosx; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - }; - name = Debug; - }; - 33CC10FA2044A3C60003C045 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CODE_SIGN_IDENTITY = "-"; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.15; - MTL_ENABLE_DEBUG_INFO = NO; - SDKROOT = macosx; - SWIFT_COMPILATION_MODE = wholemodule; - SWIFT_OPTIMIZATION_LEVEL = "-O"; - }; - name = Release; - }; - 33CC10FC2044A3C60003C045 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 33E5194F232828860026EE4D /* AppInfo.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CLANG_ENABLE_MODULES = YES; - CODE_SIGN_ENTITLEMENTS = Runner/DebugProfile.entitlements; - CODE_SIGN_IDENTITY = "-"; - CODE_SIGN_STYLE = Automatic; - COMBINE_HIDPI_IMAGES = YES; - INFOPLIST_FILE = Runner/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/../Frameworks", - ); - MACOSX_DEPLOYMENT_TARGET = 10.15; - PRODUCT_BUNDLE_IDENTIFIER = io.flutter.plugins.firebase.appcheck.example; - PROVISIONING_PROFILE_SPECIFIER = ""; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 5.0; - }; - name = Debug; - }; - 33CC10FD2044A3C60003C045 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 33E5194F232828860026EE4D /* AppInfo.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CLANG_ENABLE_MODULES = YES; - CODE_SIGN_ENTITLEMENTS = Runner/Release.entitlements; - CODE_SIGN_IDENTITY = "-"; - CODE_SIGN_STYLE = Automatic; - COMBINE_HIDPI_IMAGES = YES; - INFOPLIST_FILE = Runner/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/../Frameworks", - ); - MACOSX_DEPLOYMENT_TARGET = 10.15; - PRODUCT_BUNDLE_IDENTIFIER = io.flutter.plugins.firebase.appcheck.example; - PROVISIONING_PROFILE_SPECIFIER = ""; - SWIFT_VERSION = 5.0; - }; - name = Release; - }; - 33CC111C2044C6BA0003C045 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_STYLE = Manual; - PRODUCT_NAME = "$(TARGET_NAME)"; - }; - name = Debug; - }; - 33CC111D2044C6BA0003C045 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_STYLE = Automatic; - PRODUCT_NAME = "$(TARGET_NAME)"; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 33CC10E82044A3C60003C045 /* Build configuration list for PBXProject "Runner" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 33CC10F92044A3C60003C045 /* Debug */, - 33CC10FA2044A3C60003C045 /* Release */, - 338D0CE9231458BD00FA5F75 /* Profile */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 33CC10FB2044A3C60003C045 /* Build configuration list for PBXNativeTarget "Runner" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 33CC10FC2044A3C60003C045 /* Debug */, - 33CC10FD2044A3C60003C045 /* Release */, - 338D0CEA231458BD00FA5F75 /* Profile */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 33CC111B2044C6BA0003C045 /* Build configuration list for PBXAggregateTarget "Flutter Assemble" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 33CC111C2044C6BA0003C045 /* Debug */, - 33CC111D2044C6BA0003C045 /* Release */, - 338D0CEB231458BD00FA5F75 /* Profile */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - -/* Begin XCLocalSwiftPackageReference section */ - 781AD8BC2B33823900A9FFBB /* XCLocalSwiftPackageReference "FlutterGeneratedPluginSwiftPackage" */ = { - isa = XCLocalSwiftPackageReference; - relativePath = Flutter/ephemeral/Packages/FlutterGeneratedPluginSwiftPackage; - }; -/* End XCLocalSwiftPackageReference section */ - -/* Begin XCSwiftPackageProductDependency section */ - 78A3181F2AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage */ = { - isa = XCSwiftPackageProductDependency; - productName = FlutterGeneratedPluginSwiftPackage; - }; -/* End XCSwiftPackageProductDependency section */ - }; - rootObject = 33CC10E52044A3C60003C045 /* Project object */; -} diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist deleted file mode 100644 index 18d98100..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +++ /dev/null @@ -1,8 +0,0 @@ - - - - - IDEDidComputeMac32BitWarning - - - diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme deleted file mode 100644 index 92a5c6f9..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ /dev/null @@ -1,105 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/macos/Runner.xcworkspace/contents.xcworkspacedata b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/macos/Runner.xcworkspace/contents.xcworkspacedata deleted file mode 100644 index 21a3cc14..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/macos/Runner.xcworkspace/contents.xcworkspacedata +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist deleted file mode 100644 index 18d98100..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +++ /dev/null @@ -1,8 +0,0 @@ - - - - - IDEDidComputeMac32BitWarning - - - diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/macos/Runner/AppDelegate.swift b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/macos/Runner/AppDelegate.swift deleted file mode 100644 index b3c17614..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/macos/Runner/AppDelegate.swift +++ /dev/null @@ -1,13 +0,0 @@ -import Cocoa -import FlutterMacOS - -@main -class AppDelegate: FlutterAppDelegate { - override func applicationShouldTerminateAfterLastWindowClosed(_ sender: NSApplication) -> Bool { - return true - } - - override func applicationSupportsSecureRestorableState(_ app: NSApplication) -> Bool { - return true - } -} diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json deleted file mode 100644 index a2ec33f1..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "images" : [ - { - "size" : "16x16", - "idiom" : "mac", - "filename" : "app_icon_16.png", - "scale" : "1x" - }, - { - "size" : "16x16", - "idiom" : "mac", - "filename" : "app_icon_32.png", - "scale" : "2x" - }, - { - "size" : "32x32", - "idiom" : "mac", - "filename" : "app_icon_32.png", - "scale" : "1x" - }, - { - "size" : "32x32", - "idiom" : "mac", - "filename" : "app_icon_64.png", - "scale" : "2x" - }, - { - "size" : "128x128", - "idiom" : "mac", - "filename" : "app_icon_128.png", - "scale" : "1x" - }, - { - "size" : "128x128", - "idiom" : "mac", - "filename" : "app_icon_256.png", - "scale" : "2x" - }, - { - "size" : "256x256", - "idiom" : "mac", - "filename" : "app_icon_256.png", - "scale" : "1x" - }, - { - "size" : "256x256", - "idiom" : "mac", - "filename" : "app_icon_512.png", - "scale" : "2x" - }, - { - "size" : "512x512", - "idiom" : "mac", - "filename" : "app_icon_512.png", - "scale" : "1x" - }, - { - "size" : "512x512", - "idiom" : "mac", - "filename" : "app_icon_1024.png", - "scale" : "2x" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png deleted file mode 100644 index 3c4935a7..00000000 Binary files a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png and /dev/null differ diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png deleted file mode 100644 index ed4cc164..00000000 Binary files a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png and /dev/null differ diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png deleted file mode 100644 index 483be613..00000000 Binary files a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png and /dev/null differ diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png deleted file mode 100644 index bcbf36df..00000000 Binary files a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png and /dev/null differ diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png deleted file mode 100644 index 9c0a6528..00000000 Binary files a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png and /dev/null differ diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png deleted file mode 100644 index e71a7261..00000000 Binary files a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png and /dev/null differ diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png deleted file mode 100644 index 8a31fe2d..00000000 Binary files a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png and /dev/null differ diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/macos/Runner/Base.lproj/MainMenu.xib b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/macos/Runner/Base.lproj/MainMenu.xib deleted file mode 100644 index 537341ab..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/macos/Runner/Base.lproj/MainMenu.xib +++ /dev/null @@ -1,339 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/macos/Runner/Configs/AppInfo.xcconfig b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/macos/Runner/Configs/AppInfo.xcconfig deleted file mode 100644 index 800dd3d2..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/macos/Runner/Configs/AppInfo.xcconfig +++ /dev/null @@ -1,14 +0,0 @@ -// Application-level settings for the Runner target. -// -// This may be replaced with something auto-generated from metadata (e.g., pubspec.yaml) in the -// future. If not, the values below would default to using the project name when this becomes a -// 'flutter create' template. - -// The application's name. By default this is also the title of the Flutter window. -PRODUCT_NAME = firebase_app_check_example - -// The application's bundle identifier -PRODUCT_BUNDLE_IDENTIFIER = io.flutter.plugins.firebase.appcheck.example - -// The copyright displayed in application information -PRODUCT_COPYRIGHT = Copyright © 2021 io.flutter.plugins.firebase.appcheck.example. All rights reserved. diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/macos/Runner/Configs/Debug.xcconfig b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/macos/Runner/Configs/Debug.xcconfig deleted file mode 100644 index 36b0fd94..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/macos/Runner/Configs/Debug.xcconfig +++ /dev/null @@ -1,2 +0,0 @@ -#include "../../Flutter/Flutter-Debug.xcconfig" -#include "Warnings.xcconfig" diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/macos/Runner/Configs/Release.xcconfig b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/macos/Runner/Configs/Release.xcconfig deleted file mode 100644 index dff4f495..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/macos/Runner/Configs/Release.xcconfig +++ /dev/null @@ -1,2 +0,0 @@ -#include "../../Flutter/Flutter-Release.xcconfig" -#include "Warnings.xcconfig" diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/macos/Runner/Configs/Warnings.xcconfig b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/macos/Runner/Configs/Warnings.xcconfig deleted file mode 100644 index 42bcbf47..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/macos/Runner/Configs/Warnings.xcconfig +++ /dev/null @@ -1,13 +0,0 @@ -WARNING_CFLAGS = -Wall -Wconditional-uninitialized -Wnullable-to-nonnull-conversion -Wmissing-method-return-type -Woverlength-strings -GCC_WARN_UNDECLARED_SELECTOR = YES -CLANG_UNDEFINED_BEHAVIOR_SANITIZER_NULLABILITY = YES -CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE -CLANG_WARN__DUPLICATE_METHOD_MATCH = YES -CLANG_WARN_PRAGMA_PACK = YES -CLANG_WARN_STRICT_PROTOTYPES = YES -CLANG_WARN_COMMA = YES -GCC_WARN_STRICT_SELECTOR_MATCH = YES -CLANG_WARN_OBJC_REPEATED_USE_OF_WEAK = YES -CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES -GCC_WARN_SHADOW = YES -CLANG_WARN_UNREACHABLE_CODE = YES diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/macos/Runner/DebugProfile.entitlements b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/macos/Runner/DebugProfile.entitlements deleted file mode 100644 index dddb8a30..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/macos/Runner/DebugProfile.entitlements +++ /dev/null @@ -1,12 +0,0 @@ - - - - - com.apple.security.app-sandbox - - com.apple.security.cs.allow-jit - - com.apple.security.network.server - - - diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/macos/Runner/GoogleService-Info.plist b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/macos/Runner/GoogleService-Info.plist deleted file mode 100644 index 7e2f0dcb..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/macos/Runner/GoogleService-Info.plist +++ /dev/null @@ -1,38 +0,0 @@ - - - - - CLIENT_ID - 406099696497-17cfsesi620nhia0sck4map450gngkoh.apps.googleusercontent.com - REVERSED_CLIENT_ID - com.googleusercontent.apps.406099696497-17cfsesi620nhia0sck4map450gngkoh - ANDROID_CLIENT_ID - 406099696497-17qn06u8a0dc717u8ul7s49ampk13lul.apps.googleusercontent.com - API_KEY - AIzaSyDooSUGSf63Ghq02_iIhtnmwMDs4HlWS6c - GCM_SENDER_ID - 406099696497 - PLIST_VERSION - 1 - BUNDLE_ID - io.flutter.plugins.firebase.appcheck.example - PROJECT_ID - flutterfire-e2e-tests - STORAGE_BUCKET - flutterfire-e2e-tests.appspot.com - IS_ADS_ENABLED - - IS_ANALYTICS_ENABLED - - IS_APPINVITE_ENABLED - - IS_GCM_ENABLED - - IS_SIGNIN_ENABLED - - GOOGLE_APP_ID - 1:406099696497:ios:bd8702ba3865bb333574d0 - DATABASE_URL - https://flutterfire-e2e-tests-default-rtdb.europe-west1.firebasedatabase.app - - \ No newline at end of file diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/macos/Runner/Info.plist b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/macos/Runner/Info.plist deleted file mode 100644 index 4789daa6..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/macos/Runner/Info.plist +++ /dev/null @@ -1,32 +0,0 @@ - - - - - CFBundleDevelopmentRegion - $(DEVELOPMENT_LANGUAGE) - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIconFile - - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - APPL - CFBundleShortVersionString - $(FLUTTER_BUILD_NAME) - CFBundleVersion - $(FLUTTER_BUILD_NUMBER) - LSMinimumSystemVersion - $(MACOSX_DEPLOYMENT_TARGET) - NSHumanReadableCopyright - $(PRODUCT_COPYRIGHT) - NSMainNibFile - MainMenu - NSPrincipalClass - NSApplication - - diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/macos/Runner/MainFlutterWindow.swift b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/macos/Runner/MainFlutterWindow.swift deleted file mode 100644 index 2722837e..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/macos/Runner/MainFlutterWindow.swift +++ /dev/null @@ -1,15 +0,0 @@ -import Cocoa -import FlutterMacOS - -class MainFlutterWindow: NSWindow { - override func awakeFromNib() { - let flutterViewController = FlutterViewController.init() - let windowFrame = self.frame - self.contentViewController = flutterViewController - self.setFrame(windowFrame, display: true) - - RegisterGeneratedPlugins(registry: flutterViewController) - - super.awakeFromNib() - } -} diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/macos/Runner/Release.entitlements b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/macos/Runner/Release.entitlements deleted file mode 100644 index 0c67376e..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/macos/Runner/Release.entitlements +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/macos/firebase_app_id_file.json b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/macos/firebase_app_id_file.json deleted file mode 100644 index ab0e60a0..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/macos/firebase_app_id_file.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "file_generated_by": "FlutterFire CLI", - "purpose": "FirebaseAppID & ProjectID for this Firebase app in this directory", - "GOOGLE_APP_ID": "1:406099696497:ios:bd8702ba3865bb333574d0", - "FIREBASE_PROJECT_ID": "flutterfire-e2e-tests", - "GCM_SENDER_ID": "406099696497" -} \ No newline at end of file diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/pubspec.yaml b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/pubspec.yaml deleted file mode 100644 index c652ec30..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/pubspec.yaml +++ /dev/null @@ -1,21 +0,0 @@ -name: firebase_app_check_example -description: Firebase App Check example application. - -publish_to: 'none' - -version: 1.0.0+1 -resolution: workspace - -environment: - sdk: '^3.6.0' - flutter: '>=3.27.0' - -dependencies: - cloud_firestore: ^6.6.0 - firebase_app_check: ^0.4.5 - firebase_core: ^4.11.0 - flutter: - sdk: flutter - -flutter: - uses-material-design: true diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/web/favicon.png b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/web/favicon.png deleted file mode 100644 index 8aaa46ac..00000000 Binary files a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/web/favicon.png and /dev/null differ diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/web/icons/Icon-192.png b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/web/icons/Icon-192.png deleted file mode 100644 index b749bfef..00000000 Binary files a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/web/icons/Icon-192.png and /dev/null differ diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/web/icons/Icon-512.png b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/web/icons/Icon-512.png deleted file mode 100644 index 88cfd48d..00000000 Binary files a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/web/icons/Icon-512.png and /dev/null differ diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/web/icons/Icon-maskable-192.png b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/web/icons/Icon-maskable-192.png deleted file mode 100644 index eb9b4d76..00000000 Binary files a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/web/icons/Icon-maskable-192.png and /dev/null differ diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/web/icons/Icon-maskable-512.png b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/web/icons/Icon-maskable-512.png deleted file mode 100644 index d69c5669..00000000 Binary files a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/web/icons/Icon-maskable-512.png and /dev/null differ diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/web/index.html b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/web/index.html deleted file mode 100644 index e619aadd..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/web/index.html +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - - - - - - - - - - - - - - - flutterfire_app_check - - - - - - - diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/web/manifest.json b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/web/manifest.json deleted file mode 100644 index a5a5ebda..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/web/manifest.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "name": "flutterfire_app_check", - "short_name": "flutterfire_app_check", - "start_url": ".", - "display": "standalone", - "background_color": "#0175C2", - "theme_color": "#0175C2", - "description": "A new Flutter project.", - "orientation": "portrait-primary", - "prefer_related_applications": false, - "icons": [ - { - "src": "icons/Icon-192.png", - "sizes": "192x192", - "type": "image/png" - }, - { - "src": "icons/Icon-512.png", - "sizes": "512x512", - "type": "image/png" - }, - { - "src": "icons/Icon-maskable-192.png", - "sizes": "192x192", - "type": "image/png", - "purpose": "maskable" - }, - { - "src": "icons/Icon-maskable-512.png", - "sizes": "512x512", - "type": "image/png", - "purpose": "maskable" - } - ] -} diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/windows/CMakeLists.txt b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/windows/CMakeLists.txt deleted file mode 100644 index ffc5f0c5..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/windows/CMakeLists.txt +++ /dev/null @@ -1,108 +0,0 @@ -# Project-level configuration. -cmake_minimum_required(VERSION 3.14) -project(firebase_app_check_example LANGUAGES CXX) - -# The name of the executable created for the application. Change this to change -# the on-disk name of your application. -set(BINARY_NAME "firebase_app_check_example") - -# Explicitly opt in to modern CMake behaviors to avoid warnings with recent -# versions of CMake. -cmake_policy(VERSION 3.14...3.25) - -# Define build configuration option. -get_property(IS_MULTICONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) -if(IS_MULTICONFIG) - set(CMAKE_CONFIGURATION_TYPES "Debug;Profile;Release" - CACHE STRING "" FORCE) -else() - if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES) - set(CMAKE_BUILD_TYPE "Debug" CACHE - STRING "Flutter build mode" FORCE) - set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS - "Debug" "Profile" "Release") - endif() -endif() -# Define settings for the Profile build mode. -set(CMAKE_EXE_LINKER_FLAGS_PROFILE "${CMAKE_EXE_LINKER_FLAGS_RELEASE}") -set(CMAKE_SHARED_LINKER_FLAGS_PROFILE "${CMAKE_SHARED_LINKER_FLAGS_RELEASE}") -set(CMAKE_C_FLAGS_PROFILE "${CMAKE_C_FLAGS_RELEASE}") -set(CMAKE_CXX_FLAGS_PROFILE "${CMAKE_CXX_FLAGS_RELEASE}") - -# Use Unicode for all projects. -add_definitions(-DUNICODE -D_UNICODE) - -# Compilation settings that should be applied to most targets. -# -# Be cautious about adding new options here, as plugins use this function by -# default. In most cases, you should add new options to specific targets instead -# of modifying this function. -function(APPLY_STANDARD_SETTINGS TARGET) - target_compile_features(${TARGET} PUBLIC cxx_std_17) - target_compile_options(${TARGET} PRIVATE /W4 /WX /wd"4100") - target_compile_options(${TARGET} PRIVATE /EHsc) - target_compile_definitions(${TARGET} PRIVATE "_HAS_EXCEPTIONS=0") - target_compile_definitions(${TARGET} PRIVATE "$<$:_DEBUG>") -endfunction() - -# Flutter library and tool build rules. -set(FLUTTER_MANAGED_DIR "${CMAKE_CURRENT_SOURCE_DIR}/flutter") -add_subdirectory(${FLUTTER_MANAGED_DIR}) - -# Application build; see runner/CMakeLists.txt. -add_subdirectory("runner") - - -# Generated plugin build rules, which manage building the plugins and adding -# them to the application. -include(flutter/generated_plugins.cmake) - - -# === Installation === -# Support files are copied into place next to the executable, so that it can -# run in place. This is done instead of making a separate bundle (as on Linux) -# so that building and running from within Visual Studio will work. -set(BUILD_BUNDLE_DIR "$") -# Make the "install" step default, as it's required to run. -set(CMAKE_VS_INCLUDE_INSTALL_TO_DEFAULT_BUILD 1) -if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT) - set(CMAKE_INSTALL_PREFIX "${BUILD_BUNDLE_DIR}" CACHE PATH "..." FORCE) -endif() - -set(INSTALL_BUNDLE_DATA_DIR "${CMAKE_INSTALL_PREFIX}/data") -set(INSTALL_BUNDLE_LIB_DIR "${CMAKE_INSTALL_PREFIX}") - -install(TARGETS ${BINARY_NAME} RUNTIME DESTINATION "${CMAKE_INSTALL_PREFIX}" - COMPONENT Runtime) - -install(FILES "${FLUTTER_ICU_DATA_FILE}" DESTINATION "${INSTALL_BUNDLE_DATA_DIR}" - COMPONENT Runtime) - -install(FILES "${FLUTTER_LIBRARY}" DESTINATION "${INSTALL_BUNDLE_LIB_DIR}" - COMPONENT Runtime) - -if(PLUGIN_BUNDLED_LIBRARIES) - install(FILES "${PLUGIN_BUNDLED_LIBRARIES}" - DESTINATION "${INSTALL_BUNDLE_LIB_DIR}" - COMPONENT Runtime) -endif() - -# Copy the native assets provided by the build.dart from all packages. -set(NATIVE_ASSETS_DIR "${PROJECT_BUILD_DIR}native_assets/windows/") -install(DIRECTORY "${NATIVE_ASSETS_DIR}" - DESTINATION "${INSTALL_BUNDLE_LIB_DIR}" - COMPONENT Runtime) - -# Fully re-copy the assets directory on each build to avoid having stale files -# from a previous install. -set(FLUTTER_ASSET_DIR_NAME "flutter_assets") -install(CODE " - file(REMOVE_RECURSE \"${INSTALL_BUNDLE_DATA_DIR}/${FLUTTER_ASSET_DIR_NAME}\") - " COMPONENT Runtime) -install(DIRECTORY "${PROJECT_BUILD_DIR}/${FLUTTER_ASSET_DIR_NAME}" - DESTINATION "${INSTALL_BUNDLE_DATA_DIR}" COMPONENT Runtime) - -# Install the AOT library on non-Debug builds only. -install(FILES "${AOT_LIBRARY}" DESTINATION "${INSTALL_BUNDLE_DATA_DIR}" - CONFIGURATIONS Profile;Release - COMPONENT Runtime) diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/windows/flutter/CMakeLists.txt b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/windows/flutter/CMakeLists.txt deleted file mode 100644 index 903f4899..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/windows/flutter/CMakeLists.txt +++ /dev/null @@ -1,109 +0,0 @@ -# This file controls Flutter-level build steps. It should not be edited. -cmake_minimum_required(VERSION 3.14) - -set(EPHEMERAL_DIR "${CMAKE_CURRENT_SOURCE_DIR}/ephemeral") - -# Configuration provided via flutter tool. -include(${EPHEMERAL_DIR}/generated_config.cmake) - -# TODO: Move the rest of this into files in ephemeral. See -# https://github.com/flutter/flutter/issues/57146. -set(WRAPPER_ROOT "${EPHEMERAL_DIR}/cpp_client_wrapper") - -# Set fallback configurations for older versions of the flutter tool. -if (NOT DEFINED FLUTTER_TARGET_PLATFORM) - set(FLUTTER_TARGET_PLATFORM "windows-x64") -endif() - -# === Flutter Library === -set(FLUTTER_LIBRARY "${EPHEMERAL_DIR}/flutter_windows.dll") - -# Published to parent scope for install step. -set(FLUTTER_LIBRARY ${FLUTTER_LIBRARY} PARENT_SCOPE) -set(FLUTTER_ICU_DATA_FILE "${EPHEMERAL_DIR}/icudtl.dat" PARENT_SCOPE) -set(PROJECT_BUILD_DIR "${PROJECT_DIR}/build/" PARENT_SCOPE) -set(AOT_LIBRARY "${PROJECT_DIR}/build/windows/app.so" PARENT_SCOPE) - -list(APPEND FLUTTER_LIBRARY_HEADERS - "flutter_export.h" - "flutter_windows.h" - "flutter_messenger.h" - "flutter_plugin_registrar.h" - "flutter_texture_registrar.h" -) -list(TRANSFORM FLUTTER_LIBRARY_HEADERS PREPEND "${EPHEMERAL_DIR}/") -add_library(flutter INTERFACE) -target_include_directories(flutter INTERFACE - "${EPHEMERAL_DIR}" -) -target_link_libraries(flutter INTERFACE "${FLUTTER_LIBRARY}.lib") -add_dependencies(flutter flutter_assemble) - -# === Wrapper === -list(APPEND CPP_WRAPPER_SOURCES_CORE - "core_implementations.cc" - "standard_codec.cc" -) -list(TRANSFORM CPP_WRAPPER_SOURCES_CORE PREPEND "${WRAPPER_ROOT}/") -list(APPEND CPP_WRAPPER_SOURCES_PLUGIN - "plugin_registrar.cc" -) -list(TRANSFORM CPP_WRAPPER_SOURCES_PLUGIN PREPEND "${WRAPPER_ROOT}/") -list(APPEND CPP_WRAPPER_SOURCES_APP - "flutter_engine.cc" - "flutter_view_controller.cc" -) -list(TRANSFORM CPP_WRAPPER_SOURCES_APP PREPEND "${WRAPPER_ROOT}/") - -# Wrapper sources needed for a plugin. -add_library(flutter_wrapper_plugin STATIC - ${CPP_WRAPPER_SOURCES_CORE} - ${CPP_WRAPPER_SOURCES_PLUGIN} -) -apply_standard_settings(flutter_wrapper_plugin) -set_target_properties(flutter_wrapper_plugin PROPERTIES - POSITION_INDEPENDENT_CODE ON) -set_target_properties(flutter_wrapper_plugin PROPERTIES - CXX_VISIBILITY_PRESET hidden) -target_link_libraries(flutter_wrapper_plugin PUBLIC flutter) -target_include_directories(flutter_wrapper_plugin PUBLIC - "${WRAPPER_ROOT}/include" -) -add_dependencies(flutter_wrapper_plugin flutter_assemble) - -# Wrapper sources needed for the runner. -add_library(flutter_wrapper_app STATIC - ${CPP_WRAPPER_SOURCES_CORE} - ${CPP_WRAPPER_SOURCES_APP} -) -apply_standard_settings(flutter_wrapper_app) -target_link_libraries(flutter_wrapper_app PUBLIC flutter) -target_include_directories(flutter_wrapper_app PUBLIC - "${WRAPPER_ROOT}/include" -) -add_dependencies(flutter_wrapper_app flutter_assemble) - -# === Flutter tool backend === -# _phony_ is a non-existent file to force this command to run every time, -# since currently there's no way to get a full input/output list from the -# flutter tool. -set(PHONY_OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/_phony_") -set_source_files_properties("${PHONY_OUTPUT}" PROPERTIES SYMBOLIC TRUE) -add_custom_command( - OUTPUT ${FLUTTER_LIBRARY} ${FLUTTER_LIBRARY_HEADERS} - ${CPP_WRAPPER_SOURCES_CORE} ${CPP_WRAPPER_SOURCES_PLUGIN} - ${CPP_WRAPPER_SOURCES_APP} - ${PHONY_OUTPUT} - COMMAND ${CMAKE_COMMAND} -E env - ${FLUTTER_TOOL_ENVIRONMENT} - "${FLUTTER_ROOT}/packages/flutter_tools/bin/tool_backend.bat" - ${FLUTTER_TARGET_PLATFORM} $ - VERBATIM -) -add_custom_target(flutter_assemble DEPENDS - "${FLUTTER_LIBRARY}" - ${FLUTTER_LIBRARY_HEADERS} - ${CPP_WRAPPER_SOURCES_CORE} - ${CPP_WRAPPER_SOURCES_PLUGIN} - ${CPP_WRAPPER_SOURCES_APP} -) diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/windows/runner/CMakeLists.txt b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/windows/runner/CMakeLists.txt deleted file mode 100644 index 394917c0..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/windows/runner/CMakeLists.txt +++ /dev/null @@ -1,40 +0,0 @@ -cmake_minimum_required(VERSION 3.14) -project(runner LANGUAGES CXX) - -# Define the application target. To change its name, change BINARY_NAME in the -# top-level CMakeLists.txt, not the value here, or `flutter run` will no longer -# work. -# -# Any new source files that you add to the application should be added here. -add_executable(${BINARY_NAME} WIN32 - "flutter_window.cpp" - "main.cpp" - "utils.cpp" - "win32_window.cpp" - "${FLUTTER_MANAGED_DIR}/generated_plugin_registrant.cc" - "Runner.rc" - "runner.exe.manifest" -) - -# Apply the standard set of build settings. This can be removed for applications -# that need different build settings. -apply_standard_settings(${BINARY_NAME}) - -# Add preprocessor definitions for the build version. -target_compile_definitions(${BINARY_NAME} PRIVATE "FLUTTER_VERSION=\"${FLUTTER_VERSION}\"") -target_compile_definitions(${BINARY_NAME} PRIVATE "FLUTTER_VERSION_MAJOR=${FLUTTER_VERSION_MAJOR}") -target_compile_definitions(${BINARY_NAME} PRIVATE "FLUTTER_VERSION_MINOR=${FLUTTER_VERSION_MINOR}") -target_compile_definitions(${BINARY_NAME} PRIVATE "FLUTTER_VERSION_PATCH=${FLUTTER_VERSION_PATCH}") -target_compile_definitions(${BINARY_NAME} PRIVATE "FLUTTER_VERSION_BUILD=${FLUTTER_VERSION_BUILD}") - -# Disable Windows macros that collide with C++ standard library functions. -target_compile_definitions(${BINARY_NAME} PRIVATE "NOMINMAX") - -# Add dependency libraries and include directories. Add any application-specific -# dependencies here. -target_link_libraries(${BINARY_NAME} PRIVATE flutter flutter_wrapper_app) -target_link_libraries(${BINARY_NAME} PRIVATE "dwmapi.lib") -target_include_directories(${BINARY_NAME} PRIVATE "${CMAKE_SOURCE_DIR}") - -# Run the Flutter tool portions of the build. This must not be removed. -add_dependencies(${BINARY_NAME} flutter_assemble) diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/windows/runner/Runner.rc b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/windows/runner/Runner.rc deleted file mode 100644 index 26d198ff..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/windows/runner/Runner.rc +++ /dev/null @@ -1,121 +0,0 @@ -// Microsoft Visual C++ generated resource script. -// -#pragma code_page(65001) -#include "resource.h" - -#define APSTUDIO_READONLY_SYMBOLS -///////////////////////////////////////////////////////////////////////////// -// -// Generated from the TEXTINCLUDE 2 resource. -// -#include "winres.h" - -///////////////////////////////////////////////////////////////////////////// -#undef APSTUDIO_READONLY_SYMBOLS - -///////////////////////////////////////////////////////////////////////////// -// English (United States) resources - -#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) -LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US - -#ifdef APSTUDIO_INVOKED -///////////////////////////////////////////////////////////////////////////// -// -// TEXTINCLUDE -// - -1 TEXTINCLUDE -BEGIN - "resource.h\0" -END - -2 TEXTINCLUDE -BEGIN - "#include ""winres.h""\r\n" - "\0" -END - -3 TEXTINCLUDE -BEGIN - "\r\n" - "\0" -END - -#endif // APSTUDIO_INVOKED - - -///////////////////////////////////////////////////////////////////////////// -// -// Icon -// - -// Icon with lowest ID value placed first to ensure application icon -// remains consistent on all systems. -IDI_APP_ICON ICON "resources\\app_icon.ico" - - -///////////////////////////////////////////////////////////////////////////// -// -// Version -// - -#if defined(FLUTTER_VERSION_MAJOR) && defined(FLUTTER_VERSION_MINOR) && defined(FLUTTER_VERSION_PATCH) && defined(FLUTTER_VERSION_BUILD) -#define VERSION_AS_NUMBER FLUTTER_VERSION_MAJOR,FLUTTER_VERSION_MINOR,FLUTTER_VERSION_PATCH,FLUTTER_VERSION_BUILD -#else -#define VERSION_AS_NUMBER 1,0,0,0 -#endif - -#if defined(FLUTTER_VERSION) -#define VERSION_AS_STRING FLUTTER_VERSION -#else -#define VERSION_AS_STRING "1.0.0" -#endif - -VS_VERSION_INFO VERSIONINFO - FILEVERSION VERSION_AS_NUMBER - PRODUCTVERSION VERSION_AS_NUMBER - FILEFLAGSMASK VS_FFI_FILEFLAGSMASK -#ifdef _DEBUG - FILEFLAGS VS_FF_DEBUG -#else - FILEFLAGS 0x0L -#endif - FILEOS VOS__WINDOWS32 - FILETYPE VFT_APP - FILESUBTYPE 0x0L -BEGIN - BLOCK "StringFileInfo" - BEGIN - BLOCK "040904e4" - BEGIN - VALUE "CompanyName", "io.flutter.plugins.firebase.appcheck" "\0" - VALUE "FileDescription", "firebase_app_check_example" "\0" - VALUE "FileVersion", VERSION_AS_STRING "\0" - VALUE "InternalName", "firebase_app_check_example" "\0" - VALUE "LegalCopyright", "Copyright (C) 2026 io.flutter.plugins.firebase.appcheck. All rights reserved." "\0" - VALUE "OriginalFilename", "firebase_app_check_example.exe" "\0" - VALUE "ProductName", "firebase_app_check_example" "\0" - VALUE "ProductVersion", VERSION_AS_STRING "\0" - END - END - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x409, 1252 - END -END - -#endif // English (United States) resources -///////////////////////////////////////////////////////////////////////////// - - - -#ifndef APSTUDIO_INVOKED -///////////////////////////////////////////////////////////////////////////// -// -// Generated from the TEXTINCLUDE 3 resource. -// - - -///////////////////////////////////////////////////////////////////////////// -#endif // not APSTUDIO_INVOKED diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/windows/runner/flutter_window.cpp b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/windows/runner/flutter_window.cpp deleted file mode 100644 index d1bd86f4..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/windows/runner/flutter_window.cpp +++ /dev/null @@ -1,73 +0,0 @@ -// Copyright 2025, the Chromium project authors. Please see the AUTHORS file -// for details. All rights reserved. Use of this source code is governed by a -// BSD-style license that can be found in the LICENSE file. - -#include "flutter_window.h" - -#include - -#include "flutter/generated_plugin_registrant.h" - -FlutterWindow::FlutterWindow(const flutter::DartProject& project) - : project_(project) {} - -FlutterWindow::~FlutterWindow() {} - -bool FlutterWindow::OnCreate() { - if (!Win32Window::OnCreate()) { - return false; - } - - RECT frame = GetClientArea(); - - // The size here must match the window dimensions to avoid unnecessary surface - // creation / destruction in the startup path. - flutter_controller_ = std::make_unique( - frame.right - frame.left, frame.bottom - frame.top, project_); - // Ensure that basic setup of the controller was successful. - if (!flutter_controller_->engine() || !flutter_controller_->view()) { - return false; - } - RegisterPlugins(flutter_controller_->engine()); - SetChildContent(flutter_controller_->view()->GetNativeWindow()); - - flutter_controller_->engine()->SetNextFrameCallback([&]() { this->Show(); }); - - // Flutter can complete the first frame before the "show window" callback is - // registered. The following call ensures a frame is pending to ensure the - // window is shown. It is a no-op if the first frame hasn't completed yet. - flutter_controller_->ForceRedraw(); - - return true; -} - -void FlutterWindow::OnDestroy() { - if (flutter_controller_) { - flutter_controller_ = nullptr; - } - - Win32Window::OnDestroy(); -} - -LRESULT -FlutterWindow::MessageHandler(HWND hwnd, UINT const message, - WPARAM const wparam, - LPARAM const lparam) noexcept { - // Give Flutter, including plugins, an opportunity to handle window messages. - if (flutter_controller_) { - std::optional result = - flutter_controller_->HandleTopLevelWindowProc(hwnd, message, wparam, - lparam); - if (result) { - return *result; - } - } - - switch (message) { - case WM_FONTCHANGE: - flutter_controller_->engine()->ReloadSystemFonts(); - break; - } - - return Win32Window::MessageHandler(hwnd, message, wparam, lparam); -} diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/windows/runner/flutter_window.h b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/windows/runner/flutter_window.h deleted file mode 100644 index 243c8352..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/windows/runner/flutter_window.h +++ /dev/null @@ -1,37 +0,0 @@ -// Copyright 2025, the Chromium project authors. Please see the AUTHORS file -// for details. All rights reserved. Use of this source code is governed by a -// BSD-style license that can be found in the LICENSE file. - -#ifndef RUNNER_FLUTTER_WINDOW_H_ -#define RUNNER_FLUTTER_WINDOW_H_ - -#include -#include - -#include - -#include "win32_window.h" - -// A window that does nothing but host a Flutter view. -class FlutterWindow : public Win32Window { - public: - // Creates a new FlutterWindow hosting a Flutter view running |project|. - explicit FlutterWindow(const flutter::DartProject& project); - virtual ~FlutterWindow(); - - protected: - // Win32Window: - bool OnCreate() override; - void OnDestroy() override; - LRESULT MessageHandler(HWND window, UINT const message, WPARAM const wparam, - LPARAM const lparam) noexcept override; - - private: - // The project to run. - flutter::DartProject project_; - - // The Flutter instance hosted by this window. - std::unique_ptr flutter_controller_; -}; - -#endif // RUNNER_FLUTTER_WINDOW_H_ diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/windows/runner/main.cpp b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/windows/runner/main.cpp deleted file mode 100644 index 129ed2c3..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/windows/runner/main.cpp +++ /dev/null @@ -1,46 +0,0 @@ -// Copyright 2025, the Chromium project authors. Please see the AUTHORS file -// for details. All rights reserved. Use of this source code is governed by a -// BSD-style license that can be found in the LICENSE file. - -#include -#include -#include - -#include "flutter_window.h" -#include "utils.h" - -int APIENTRY wWinMain(_In_ HINSTANCE instance, _In_opt_ HINSTANCE prev, - _In_ wchar_t* command_line, _In_ int show_command) { - // Attach to console when present (e.g., 'flutter run') or create a - // new console when running with a debugger. - if (!::AttachConsole(ATTACH_PARENT_PROCESS) && ::IsDebuggerPresent()) { - CreateAndAttachConsole(); - } - - // Initialize COM, so that it is available for use in the library and/or - // plugins. - ::CoInitializeEx(nullptr, COINIT_APARTMENTTHREADED); - - flutter::DartProject project(L"data"); - - std::vector command_line_arguments = GetCommandLineArguments(); - - project.set_dart_entrypoint_arguments(std::move(command_line_arguments)); - - FlutterWindow window(project); - Win32Window::Point origin(10, 10); - Win32Window::Size size(1280, 720); - if (!window.Create(L"firebase_app_check_example", origin, size)) { - return EXIT_FAILURE; - } - window.SetQuitOnClose(true); - - ::MSG msg; - while (::GetMessage(&msg, nullptr, 0, 0)) { - ::TranslateMessage(&msg); - ::DispatchMessage(&msg); - } - - ::CoUninitialize(); - return EXIT_SUCCESS; -} diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/windows/runner/resource.h b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/windows/runner/resource.h deleted file mode 100644 index 91d70fa3..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/windows/runner/resource.h +++ /dev/null @@ -1,20 +0,0 @@ -// Copyright 2025, the Chromium project authors. Please see the AUTHORS file -// for details. All rights reserved. Use of this source code is governed by a -// BSD-style license that can be found in the LICENSE file. - -//{{NO_DEPENDENCIES}} -// Microsoft Visual C++ generated include file. -// Used by Runner.rc -// -#define IDI_APP_ICON 101 - -// Next default values for new objects -// -#ifdef APSTUDIO_INVOKED -#ifndef APSTUDIO_READONLY_SYMBOLS -#define _APS_NEXT_RESOURCE_VALUE 102 -#define _APS_NEXT_COMMAND_VALUE 40001 -#define _APS_NEXT_CONTROL_VALUE 1001 -#define _APS_NEXT_SYMED_VALUE 101 -#endif -#endif diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/windows/runner/resources/app_icon.ico b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/windows/runner/resources/app_icon.ico deleted file mode 100644 index c04e20ca..00000000 Binary files a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/windows/runner/resources/app_icon.ico and /dev/null differ diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/windows/runner/runner.exe.manifest b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/windows/runner/runner.exe.manifest deleted file mode 100644 index 153653e8..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/windows/runner/runner.exe.manifest +++ /dev/null @@ -1,14 +0,0 @@ - - - - - PerMonitorV2 - - - - - - - - - diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/windows/runner/utils.cpp b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/windows/runner/utils.cpp deleted file mode 100644 index 3b134475..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/windows/runner/utils.cpp +++ /dev/null @@ -1,69 +0,0 @@ -// Copyright 2025, the Chromium project authors. Please see the AUTHORS file -// for details. All rights reserved. Use of this source code is governed by a -// BSD-style license that can be found in the LICENSE file. - -#include "utils.h" - -#include -#include -#include -#include - -#include - -void CreateAndAttachConsole() { - if (::AllocConsole()) { - FILE* unused; - if (freopen_s(&unused, "CONOUT$", "w", stdout)) { - _dup2(_fileno(stdout), 1); - } - if (freopen_s(&unused, "CONOUT$", "w", stderr)) { - _dup2(_fileno(stdout), 2); - } - std::ios::sync_with_stdio(); - FlutterDesktopResyncOutputStreams(); - } -} - -std::vector GetCommandLineArguments() { - // Convert the UTF-16 command line arguments to UTF-8 for the Engine to use. - int argc; - wchar_t** argv = ::CommandLineToArgvW(::GetCommandLineW(), &argc); - if (argv == nullptr) { - return std::vector(); - } - - std::vector command_line_arguments; - - // Skip the first argument as it's the binary name. - for (int i = 1; i < argc; i++) { - command_line_arguments.push_back(Utf8FromUtf16(argv[i])); - } - - ::LocalFree(argv); - - return command_line_arguments; -} - -std::string Utf8FromUtf16(const wchar_t* utf16_string) { - if (utf16_string == nullptr) { - return std::string(); - } - unsigned int target_length = - ::WideCharToMultiByte(CP_UTF8, WC_ERR_INVALID_CHARS, utf16_string, -1, - nullptr, 0, nullptr, nullptr) - - 1; // remove the trailing null character - int input_length = (int)wcslen(utf16_string); - std::string utf8_string; - if (target_length == 0 || target_length > utf8_string.max_size()) { - return utf8_string; - } - utf8_string.resize(target_length); - int converted_length = ::WideCharToMultiByte( - CP_UTF8, WC_ERR_INVALID_CHARS, utf16_string, input_length, - utf8_string.data(), target_length, nullptr, nullptr); - if (converted_length == 0) { - return std::string(); - } - return utf8_string; -} diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/windows/runner/utils.h b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/windows/runner/utils.h deleted file mode 100644 index 8ec0c44d..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/windows/runner/utils.h +++ /dev/null @@ -1,23 +0,0 @@ -// Copyright 2025, the Chromium project authors. Please see the AUTHORS file -// for details. All rights reserved. Use of this source code is governed by a -// BSD-style license that can be found in the LICENSE file. - -#ifndef RUNNER_UTILS_H_ -#define RUNNER_UTILS_H_ - -#include -#include - -// Creates a console for the process, and redirects stdout and stderr to -// it for both the runner and the Flutter library. -void CreateAndAttachConsole(); - -// Takes a null-terminated wchar_t* encoded in UTF-16 and returns a std::string -// encoded in UTF-8. Returns an empty std::string on failure. -std::string Utf8FromUtf16(const wchar_t* utf16_string); - -// Gets the command line arguments passed in as a std::vector, -// encoded in UTF-8. Returns an empty std::vector on failure. -std::vector GetCommandLineArguments(); - -#endif // RUNNER_UTILS_H_ diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/windows/runner/win32_window.cpp b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/windows/runner/win32_window.cpp deleted file mode 100644 index 82754b04..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/windows/runner/win32_window.cpp +++ /dev/null @@ -1,284 +0,0 @@ -// Copyright 2025, the Chromium project authors. Please see the AUTHORS file -// for details. All rights reserved. Use of this source code is governed by a -// BSD-style license that can be found in the LICENSE file. - -#include "win32_window.h" - -#include -#include - -#include "resource.h" - -namespace { - -/// Window attribute that enables dark mode window decorations. -/// -/// Redefined in case the developer's machine has a Windows SDK older than -/// version 10.0.22000.0. -/// See: -/// https://docs.microsoft.com/windows/win32/api/dwmapi/ne-dwmapi-dwmwindowattribute -#ifndef DWMWA_USE_IMMERSIVE_DARK_MODE -#define DWMWA_USE_IMMERSIVE_DARK_MODE 20 -#endif - -constexpr const wchar_t kWindowClassName[] = L"FLUTTER_RUNNER_WIN32_WINDOW"; - -/// Registry key for app theme preference. -/// -/// A value of 0 indicates apps should use dark mode. A non-zero or missing -/// value indicates apps should use light mode. -constexpr const wchar_t kGetPreferredBrightnessRegKey[] = - L"Software\\Microsoft\\Windows\\CurrentVersion\\Themes\\Personalize"; -constexpr const wchar_t kGetPreferredBrightnessRegValue[] = - L"AppsUseLightTheme"; - -// The number of Win32Window objects that currently exist. -static int g_active_window_count = 0; - -using EnableNonClientDpiScaling = BOOL __stdcall(HWND hwnd); - -// Scale helper to convert logical scaler values to physical using passed in -// scale factor -int Scale(int source, double scale_factor) { - return static_cast(source * scale_factor); -} - -// Dynamically loads the |EnableNonClientDpiScaling| from the User32 module. -// This API is only needed for PerMonitor V1 awareness mode. -void EnableFullDpiSupportIfAvailable(HWND hwnd) { - HMODULE user32_module = LoadLibraryA("User32.dll"); - if (!user32_module) { - return; - } - auto enable_non_client_dpi_scaling = - reinterpret_cast( - GetProcAddress(user32_module, "EnableNonClientDpiScaling")); - if (enable_non_client_dpi_scaling != nullptr) { - enable_non_client_dpi_scaling(hwnd); - } - FreeLibrary(user32_module); -} - -} // namespace - -// Manages the Win32Window's window class registration. -class WindowClassRegistrar { - public: - ~WindowClassRegistrar() = default; - - // Returns the singleton registrar instance. - static WindowClassRegistrar* GetInstance() { - if (!instance_) { - instance_ = new WindowClassRegistrar(); - } - return instance_; - } - - // Returns the name of the window class, registering the class if it hasn't - // previously been registered. - const wchar_t* GetWindowClass(); - - // Unregisters the window class. Should only be called if there are no - // instances of the window. - void UnregisterWindowClass(); - - private: - WindowClassRegistrar() = default; - - static WindowClassRegistrar* instance_; - - bool class_registered_ = false; -}; - -WindowClassRegistrar* WindowClassRegistrar::instance_ = nullptr; - -const wchar_t* WindowClassRegistrar::GetWindowClass() { - if (!class_registered_) { - WNDCLASS window_class{}; - window_class.hCursor = LoadCursor(nullptr, IDC_ARROW); - window_class.lpszClassName = kWindowClassName; - window_class.style = CS_HREDRAW | CS_VREDRAW; - window_class.cbClsExtra = 0; - window_class.cbWndExtra = 0; - window_class.hInstance = GetModuleHandle(nullptr); - window_class.hIcon = - LoadIcon(window_class.hInstance, MAKEINTRESOURCE(IDI_APP_ICON)); - window_class.hbrBackground = 0; - window_class.lpszMenuName = nullptr; - window_class.lpfnWndProc = Win32Window::WndProc; - RegisterClass(&window_class); - class_registered_ = true; - } - return kWindowClassName; -} - -void WindowClassRegistrar::UnregisterWindowClass() { - UnregisterClass(kWindowClassName, nullptr); - class_registered_ = false; -} - -Win32Window::Win32Window() { ++g_active_window_count; } - -Win32Window::~Win32Window() { - --g_active_window_count; - Destroy(); -} - -bool Win32Window::Create(const std::wstring& title, const Point& origin, - const Size& size) { - Destroy(); - - const wchar_t* window_class = - WindowClassRegistrar::GetInstance()->GetWindowClass(); - - const POINT target_point = {static_cast(origin.x), - static_cast(origin.y)}; - HMONITOR monitor = MonitorFromPoint(target_point, MONITOR_DEFAULTTONEAREST); - UINT dpi = FlutterDesktopGetDpiForMonitor(monitor); - double scale_factor = dpi / 96.0; - - HWND window = CreateWindow( - window_class, title.c_str(), WS_OVERLAPPEDWINDOW, - Scale(origin.x, scale_factor), Scale(origin.y, scale_factor), - Scale(size.width, scale_factor), Scale(size.height, scale_factor), - nullptr, nullptr, GetModuleHandle(nullptr), this); - - if (!window) { - return false; - } - - UpdateTheme(window); - - return OnCreate(); -} - -bool Win32Window::Show() { return ShowWindow(window_handle_, SW_SHOWNORMAL); } - -// static -LRESULT CALLBACK Win32Window::WndProc(HWND const window, UINT const message, - WPARAM const wparam, - LPARAM const lparam) noexcept { - if (message == WM_NCCREATE) { - auto window_struct = reinterpret_cast(lparam); - SetWindowLongPtr(window, GWLP_USERDATA, - reinterpret_cast(window_struct->lpCreateParams)); - - auto that = static_cast(window_struct->lpCreateParams); - EnableFullDpiSupportIfAvailable(window); - that->window_handle_ = window; - } else if (Win32Window* that = GetThisFromHandle(window)) { - return that->MessageHandler(window, message, wparam, lparam); - } - - return DefWindowProc(window, message, wparam, lparam); -} - -LRESULT -Win32Window::MessageHandler(HWND hwnd, UINT const message, WPARAM const wparam, - LPARAM const lparam) noexcept { - switch (message) { - case WM_DESTROY: - window_handle_ = nullptr; - Destroy(); - if (quit_on_close_) { - PostQuitMessage(0); - } - return 0; - - case WM_DPICHANGED: { - auto newRectSize = reinterpret_cast(lparam); - LONG newWidth = newRectSize->right - newRectSize->left; - LONG newHeight = newRectSize->bottom - newRectSize->top; - - SetWindowPos(hwnd, nullptr, newRectSize->left, newRectSize->top, newWidth, - newHeight, SWP_NOZORDER | SWP_NOACTIVATE); - - return 0; - } - case WM_SIZE: { - RECT rect = GetClientArea(); - if (child_content_ != nullptr) { - // Size and position the child window. - MoveWindow(child_content_, rect.left, rect.top, rect.right - rect.left, - rect.bottom - rect.top, TRUE); - } - return 0; - } - - case WM_ACTIVATE: - if (child_content_ != nullptr) { - SetFocus(child_content_); - } - return 0; - - case WM_DWMCOLORIZATIONCOLORCHANGED: - UpdateTheme(hwnd); - return 0; - } - - return DefWindowProc(window_handle_, message, wparam, lparam); -} - -void Win32Window::Destroy() { - OnDestroy(); - - if (window_handle_) { - DestroyWindow(window_handle_); - window_handle_ = nullptr; - } - if (g_active_window_count == 0) { - WindowClassRegistrar::GetInstance()->UnregisterWindowClass(); - } -} - -Win32Window* Win32Window::GetThisFromHandle(HWND const window) noexcept { - return reinterpret_cast( - GetWindowLongPtr(window, GWLP_USERDATA)); -} - -void Win32Window::SetChildContent(HWND content) { - child_content_ = content; - SetParent(content, window_handle_); - RECT frame = GetClientArea(); - - MoveWindow(content, frame.left, frame.top, frame.right - frame.left, - frame.bottom - frame.top, true); - - SetFocus(child_content_); -} - -RECT Win32Window::GetClientArea() { - RECT frame; - GetClientRect(window_handle_, &frame); - return frame; -} - -HWND Win32Window::GetHandle() { return window_handle_; } - -void Win32Window::SetQuitOnClose(bool quit_on_close) { - quit_on_close_ = quit_on_close; -} - -bool Win32Window::OnCreate() { - // No-op; provided for subclasses. - return true; -} - -void Win32Window::OnDestroy() { - // No-op; provided for subclasses. -} - -void Win32Window::UpdateTheme(HWND const window) { - DWORD light_mode; - DWORD light_mode_size = sizeof(light_mode); - LSTATUS result = - RegGetValue(HKEY_CURRENT_USER, kGetPreferredBrightnessRegKey, - kGetPreferredBrightnessRegValue, RRF_RT_REG_DWORD, nullptr, - &light_mode, &light_mode_size); - - if (result == ERROR_SUCCESS) { - BOOL enable_dark_mode = light_mode == 0; - DwmSetWindowAttribute(window, DWMWA_USE_IMMERSIVE_DARK_MODE, - &enable_dark_mode, sizeof(enable_dark_mode)); - } -} diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/windows/runner/win32_window.h b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/windows/runner/win32_window.h deleted file mode 100644 index dd242548..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/example/windows/runner/win32_window.h +++ /dev/null @@ -1,104 +0,0 @@ -// Copyright 2025, the Chromium project authors. Please see the AUTHORS file -// for details. All rights reserved. Use of this source code is governed by a -// BSD-style license that can be found in the LICENSE file. - -#ifndef RUNNER_WIN32_WINDOW_H_ -#define RUNNER_WIN32_WINDOW_H_ - -#include - -#include -#include -#include - -// A class abstraction for a high DPI-aware Win32 Window. Intended to be -// inherited from by classes that wish to specialize with custom -// rendering and input handling -class Win32Window { - public: - struct Point { - unsigned int x; - unsigned int y; - Point(unsigned int x, unsigned int y) : x(x), y(y) {} - }; - - struct Size { - unsigned int width; - unsigned int height; - Size(unsigned int width, unsigned int height) - : width(width), height(height) {} - }; - - Win32Window(); - virtual ~Win32Window(); - - // Creates a win32 window with |title| that is positioned and sized using - // |origin| and |size|. New windows are created on the default monitor. Window - // sizes are specified to the OS in physical pixels, hence to ensure a - // consistent size this function will scale the inputted width and height as - // as appropriate for the default monitor. The window is invisible until - // |Show| is called. Returns true if the window was created successfully. - bool Create(const std::wstring& title, const Point& origin, const Size& size); - - // Show the current window. Returns true if the window was successfully shown. - bool Show(); - - // Release OS resources associated with window. - void Destroy(); - - // Inserts |content| into the window tree. - void SetChildContent(HWND content); - - // Returns the backing Window handle to enable clients to set icon and other - // window properties. Returns nullptr if the window has been destroyed. - HWND GetHandle(); - - // If true, closing this window will quit the application. - void SetQuitOnClose(bool quit_on_close); - - // Return a RECT representing the bounds of the current client area. - RECT GetClientArea(); - - protected: - // Processes and route salient window messages for mouse handling, - // size change and DPI. Delegates handling of these to member overloads that - // inheriting classes can handle. - virtual LRESULT MessageHandler(HWND window, UINT const message, - WPARAM const wparam, - LPARAM const lparam) noexcept; - - // Called when CreateAndShow is called, allowing subclass window-related - // setup. Subclasses should return false if setup fails. - virtual bool OnCreate(); - - // Called when Destroy is called. - virtual void OnDestroy(); - - private: - friend class WindowClassRegistrar; - - // OS callback called by message pump. Handles the WM_NCCREATE message which - // is passed when the non-client area is being created and enables automatic - // non-client DPI scaling so that the non-client area automatically - // responds to changes in DPI. All other messages are handled by - // MessageHandler. - static LRESULT CALLBACK WndProc(HWND const window, UINT const message, - WPARAM const wparam, - LPARAM const lparam) noexcept; - - // Retrieves a class instance pointer for |window| - static Win32Window* GetThisFromHandle(HWND const window) noexcept; - - // Update the window frame's theme to match the system theme. - static void UpdateTheme(HWND const window); - - bool quit_on_close_ = false; - - // window handle for top level window. - HWND window_handle_ = nullptr; - - // window handle for hosted content. - HWND child_content_ = nullptr; -}; - -#endif // RUNNER_WIN32_WINDOW_H_ diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/ios/firebase_app_check.podspec b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/ios/firebase_app_check.podspec deleted file mode 100644 index b4d81500..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/ios/firebase_app_check.podspec +++ /dev/null @@ -1,46 +0,0 @@ -require 'yaml' -pubspec = YAML.load_file(File.join('..', 'pubspec.yaml')) -library_version = pubspec['version'].gsub('+', '-') - -if defined?($FirebaseSDKVersion) - Pod::UI.puts "#{pubspec['name']}: Using user specified Firebase SDK version '#{$FirebaseSDKVersion}'" - firebase_sdk_version = $FirebaseSDKVersion -else - firebase_core_script = File.join(File.expand_path('..', File.expand_path('..', File.dirname(__FILE__))), 'firebase_core/ios/firebase_sdk_version.rb') - if File.exist?(firebase_core_script) - require firebase_core_script - firebase_sdk_version = firebase_sdk_version! - Pod::UI.puts "#{pubspec['name']}: Using Firebase SDK version '#{firebase_sdk_version}' defined in 'firebase_core'" - end -end - -Pod::Spec.new do |s| - s.name = pubspec['name'] - s.version = library_version - s.summary = pubspec['description'] - s.description = pubspec['description'] - s.homepage = pubspec['homepage'] - - s.license = { :file => '../LICENSE' } - s.authors = 'The Chromium Authors' - s.source = { :path => '.' } - s.source_files = 'firebase_app_check/Sources/firebase_app_check/**/*.swift' - s.ios.deployment_target = '15.0' - - # Flutter dependencies - s.dependency 'Flutter' - - # Firebase dependencies - s.dependency 'firebase_core' - s.dependency 'Firebase/CoreOnly', "~> #{firebase_sdk_version}" - s.dependency 'FirebaseAppCheck', "~> #{firebase_sdk_version}" - - s.static_framework = true - s.pod_target_xcconfig = { - 'GCC_PREPROCESSOR_DEFINITIONS' => "LIBRARY_VERSION=\\\"#{library_version}\\\" LIBRARY_NAME=\\\"flutter-fire-appcheck\\\"", - 'DEFINES_MODULE' => 'YES', - # Flutter.framework does not contain a i386 slice. - 'EXCLUDED_ARCHS[sdk=iphonesimulator*]' => 'i386' - } -end - diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/ios/firebase_app_check/Package.swift b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/ios/firebase_app_check/Package.swift deleted file mode 100644 index 14de1a76..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/ios/firebase_app_check/Package.swift +++ /dev/null @@ -1,41 +0,0 @@ -// swift-tools-version: 5.9 -// The swift-tools-version declares the minimum version of Swift required to build this package. - -// Copyright 2024, the Chromium project authors. Please see the AUTHORS file -// for details. All rights reserved. Use of this source code is governed by a -// BSD-style license that can be found in the LICENSE file. - -import PackageDescription - -let firebaseSdkVersion: Version = "12.15.0" - -let package = Package( - name: "firebase_app_check", - platforms: [ - .iOS("15.0") - ], - products: [ - .library(name: "firebase-app-check", targets: ["firebase_app_check"]) - ], - dependencies: [ - .package(url: "https://github.com/firebase/firebase-ios-sdk", exact: firebaseSdkVersion), - .package( - url: "https://github.com/GoogleCloudPlatform/recaptcha-enterprise-mobile-sdk.git", - from: "18.0.0" - ), - .package(name: "firebase_core", path: "../firebase_core"), - ], - targets: [ - .target( - name: "firebase_app_check", - dependencies: [ - .product(name: "FirebaseAppCheck", package: "firebase-ios-sdk"), - .product(name: "RecaptchaEnterprise", package: "recaptcha-enterprise-mobile-sdk"), - .product(name: "firebase-core", package: "firebase_core"), - ], - resources: [ - .process("Resources") - ] - ) - ] -) diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/ios/firebase_app_check/Sources/firebase_app_check/Constants.swift b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/ios/firebase_app_check/Sources/firebase_app_check/Constants.swift deleted file mode 100644 index 28a2ec57..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/ios/firebase_app_check/Sources/firebase_app_check/Constants.swift +++ /dev/null @@ -1,6 +0,0 @@ -// Copyright 2025 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -/// Auto-generated file. Do not edit. -public let versionNumber = "0.4.5" diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/ios/firebase_app_check/Sources/firebase_app_check/FirebaseAppCheckMessages.g.swift b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/ios/firebase_app_check/Sources/firebase_app_check/FirebaseAppCheckMessages.g.swift deleted file mode 100644 index d8f3a100..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/ios/firebase_app_check/Sources/firebase_app_check/FirebaseAppCheckMessages.g.swift +++ /dev/null @@ -1,236 +0,0 @@ -// Copyright 2025, the Chromium project authors. Please see the AUTHORS file -// for details. All rights reserved. Use of this source code is governed by a -// BSD-style license that can be found in the LICENSE file. -// Autogenerated from Pigeon (v26.3.4), do not edit directly. -// See also: https://pub.dev/packages/pigeon - -import Foundation - -#if os(iOS) - import Flutter -#elseif os(macOS) - import FlutterMacOS -#else - #error("Unsupported platform.") -#endif - -/// Error class for passing custom error details to Dart side. -final class PigeonError: Error { - let code: String - let message: String? - let details: Sendable? - - init(code: String, message: String?, details: Sendable?) { - self.code = code - self.message = message - self.details = details - } - - var localizedDescription: String { - "PigeonError(code: \(code), message: \(message ?? ""), details: \(details ?? "")" - } -} - -private func wrapResult(_ result: Any?) -> [Any?] { - [result] -} - -private func wrapError(_ error: Any) -> [Any?] { - if let pigeonError = error as? PigeonError { - return [ - pigeonError.code, - pigeonError.message, - pigeonError.details, - ] - } - if let flutterError = error as? FlutterError { - return [ - flutterError.code, - flutterError.message, - flutterError.details, - ] - } - return [ - "\(error)", - "\(Swift.type(of: error))", - "Stacktrace: \(Thread.callStackSymbols)", - ] -} - -private func isNullish(_ value: Any?) -> Bool { - value is NSNull || value == nil -} - -private func nilOrValue(_ value: Any?) -> T? { - if value is NSNull { return nil } - return value as! T? -} - -private class FirebaseAppCheckMessagesPigeonCodecReader: FlutterStandardReader {} - -private class FirebaseAppCheckMessagesPigeonCodecWriter: FlutterStandardWriter {} - -private class FirebaseAppCheckMessagesPigeonCodecReaderWriter: FlutterStandardReaderWriter { - override func reader(with data: Data) -> FlutterStandardReader { - FirebaseAppCheckMessagesPigeonCodecReader(data: data) - } - - override func writer(with data: NSMutableData) -> FlutterStandardWriter { - FirebaseAppCheckMessagesPigeonCodecWriter(data: data) - } -} - -class FirebaseAppCheckMessagesPigeonCodec: FlutterStandardMessageCodec, @unchecked Sendable { - static let shared = FirebaseAppCheckMessagesPigeonCodec( - readerWriter: FirebaseAppCheckMessagesPigeonCodecReaderWriter() - ) -} - -/// Generated protocol from Pigeon that represents a handler of messages from Flutter. -protocol FirebaseAppCheckHostApi { - func activate( - appName: String, androidProvider: String?, appleProvider: String?, - debugToken: String?, - completion: @escaping (Result) -> Void) - func getToken( - appName: String, forceRefresh: Bool, - completion: @escaping (Result) -> Void) - func setTokenAutoRefreshEnabled( - appName: String, isTokenAutoRefreshEnabled: Bool, - completion: @escaping (Result) -> Void) - func registerTokenListener(appName: String, completion: @escaping (Result) -> Void) - func getLimitedUseAppCheckToken( - appName: String, - completion: @escaping (Result) -> Void) -} - -/// Generated setup class from Pigeon to handle messages through the `binaryMessenger`. -class FirebaseAppCheckHostApiSetup { - static var codec: FlutterStandardMessageCodec { - FirebaseAppCheckMessagesPigeonCodec.shared - } - - /// Sets up an instance of `FirebaseAppCheckHostApi` to handle messages through the - /// `binaryMessenger`. - static func setUp( - binaryMessenger: FlutterBinaryMessenger, api: FirebaseAppCheckHostApi?, - messageChannelSuffix: String = "" - ) { - let channelSuffix = messageChannelSuffix.count > 0 ? ".\(messageChannelSuffix)" : "" - let activateChannel = FlutterBasicMessageChannel( - name: - "dev.flutter.pigeon.firebase_app_check_platform_interface.FirebaseAppCheckHostApi.activate\(channelSuffix)", - binaryMessenger: binaryMessenger, codec: codec - ) - if let api { - activateChannel.setMessageHandler { message, reply in - let args = message as! [Any?] - let appNameArg = args[0] as! String - let androidProviderArg: String? = nilOrValue(args[1]) - let appleProviderArg: String? = nilOrValue(args[2]) - let debugTokenArg: String? = nilOrValue(args[3]) - api.activate( - appName: appNameArg, androidProvider: androidProviderArg, appleProvider: appleProviderArg, - debugToken: debugTokenArg - ) { result in - switch result { - case .success: - reply(wrapResult(nil)) - case .failure(let error): - reply(wrapError(error)) - } - } - } - } else { - activateChannel.setMessageHandler(nil) - } - let getTokenChannel = FlutterBasicMessageChannel( - name: - "dev.flutter.pigeon.firebase_app_check_platform_interface.FirebaseAppCheckHostApi.getToken\(channelSuffix)", - binaryMessenger: binaryMessenger, codec: codec - ) - if let api { - getTokenChannel.setMessageHandler { message, reply in - let args = message as! [Any?] - let appNameArg = args[0] as! String - let forceRefreshArg = args[1] as! Bool - api.getToken(appName: appNameArg, forceRefresh: forceRefreshArg) { result in - switch result { - case .success(let res): - reply(wrapResult(res)) - case .failure(let error): - reply(wrapError(error)) - } - } - } - } else { - getTokenChannel.setMessageHandler(nil) - } - let setTokenAutoRefreshEnabledChannel = FlutterBasicMessageChannel( - name: - "dev.flutter.pigeon.firebase_app_check_platform_interface.FirebaseAppCheckHostApi.setTokenAutoRefreshEnabled\(channelSuffix)", - binaryMessenger: binaryMessenger, codec: codec - ) - if let api { - setTokenAutoRefreshEnabledChannel.setMessageHandler { message, reply in - let args = message as! [Any?] - let appNameArg = args[0] as! String - let isTokenAutoRefreshEnabledArg = args[1] as! Bool - api.setTokenAutoRefreshEnabled( - appName: appNameArg, isTokenAutoRefreshEnabled: isTokenAutoRefreshEnabledArg - ) { result in - switch result { - case .success: - reply(wrapResult(nil)) - case .failure(let error): - reply(wrapError(error)) - } - } - } - } else { - setTokenAutoRefreshEnabledChannel.setMessageHandler(nil) - } - let registerTokenListenerChannel = FlutterBasicMessageChannel( - name: - "dev.flutter.pigeon.firebase_app_check_platform_interface.FirebaseAppCheckHostApi.registerTokenListener\(channelSuffix)", - binaryMessenger: binaryMessenger, codec: codec - ) - if let api { - registerTokenListenerChannel.setMessageHandler { message, reply in - let args = message as! [Any?] - let appNameArg = args[0] as! String - api.registerTokenListener(appName: appNameArg) { result in - switch result { - case .success(let res): - reply(wrapResult(res)) - case .failure(let error): - reply(wrapError(error)) - } - } - } - } else { - registerTokenListenerChannel.setMessageHandler(nil) - } - let getLimitedUseAppCheckTokenChannel = FlutterBasicMessageChannel( - name: - "dev.flutter.pigeon.firebase_app_check_platform_interface.FirebaseAppCheckHostApi.getLimitedUseAppCheckToken\(channelSuffix)", - binaryMessenger: binaryMessenger, codec: codec - ) - if let api { - getLimitedUseAppCheckTokenChannel.setMessageHandler { message, reply in - let args = message as! [Any?] - let appNameArg = args[0] as! String - api.getLimitedUseAppCheckToken(appName: appNameArg) { result in - switch result { - case .success(let res): - reply(wrapResult(res)) - case .failure(let error): - reply(wrapError(error)) - } - } - } - } else { - getLimitedUseAppCheckTokenChannel.setMessageHandler(nil) - } - } -} diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/ios/firebase_app_check/Sources/firebase_app_check/FirebaseAppCheckPlugin.swift b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/ios/firebase_app_check/Sources/firebase_app_check/FirebaseAppCheckPlugin.swift deleted file mode 100644 index 2d63a765..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/ios/firebase_app_check/Sources/firebase_app_check/FirebaseAppCheckPlugin.swift +++ /dev/null @@ -1,369 +0,0 @@ -// Copyright 2025 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -import FirebaseAppCheck -import FirebaseCore - -#if canImport(FlutterMacOS) - import FlutterMacOS -#else - import Flutter -#endif - -#if canImport(firebase_core) - import firebase_core -#else - import firebase_core_shared -#endif - -let kFirebaseAppCheckChannelName = "plugins.flutter.io/firebase_app_check" -let kFirebaseAppCheckTokenChannelPrefix = "plugins.flutter.io/firebase_app_check/token/" - -// swift-format-ignore: AvoidRetroactiveConformances -extension FlutterError: @retroactive Error {} - -public class FirebaseAppCheckPlugin: NSObject, FlutterPlugin, - FLTFirebasePluginProtocol, FirebaseAppCheckHostApi -{ - private var eventChannels: [String: FlutterEventChannel] = [:] - private var streamHandlers: [String: AppCheckTokenStreamHandler] = [:] - private var providerFactory: FlutterAppCheckProviderFactory? - - static let shared: FirebaseAppCheckPlugin = { - let instance = FirebaseAppCheckPlugin() - instance.providerFactory = FlutterAppCheckProviderFactory() - AppCheck.setAppCheckProviderFactory(instance.providerFactory) - FLTFirebasePluginRegistry.sharedInstance().register(instance) - return instance - }() - - public static func register(with registrar: FlutterPluginRegistrar) { - let binaryMessenger: FlutterBinaryMessenger - - #if os(macOS) - binaryMessenger = registrar.messenger - #elseif os(iOS) - binaryMessenger = registrar.messenger() - #endif - - let instance = shared - instance.binaryMessenger = binaryMessenger - FirebaseAppCheckHostApiSetup.setUp(binaryMessenger: binaryMessenger, api: instance) - - if FirebaseApp.responds(to: NSSelectorFromString("registerLibrary:withVersion:")) { - FirebaseApp.perform( - NSSelectorFromString("registerLibrary:withVersion:"), - with: instance.firebaseLibraryName(), - with: instance.firebaseLibraryVersion() - ) - } - } - - private var binaryMessenger: FlutterBinaryMessenger? - - func activate( - appName: String, androidProvider: String?, appleProvider: String?, - debugToken: String?, - completion: @escaping (Result) -> Void - ) { - guard let app = FLTFirebasePlugin.firebaseAppNamed(appName) else { - completion( - .failure( - FlutterError( - code: "unknown", message: "Firebase app not found: \(appName)", details: nil - ) - ) - ) - return - } - let provider = appleProvider ?? "deviceCheck" - - providerFactory?.configure( - app: app, - providerName: provider, - debugToken: debugToken - ) - - completion(.success(())) - } - - func getToken( - appName: String, forceRefresh: Bool, - completion: @escaping (Result) -> Void - ) { - guard let app = FLTFirebasePlugin.firebaseAppNamed(appName), - let appCheck = AppCheck.appCheck(app: app) - else { - completion( - .failure( - FlutterError( - code: "unknown", message: "App Check not available for app: \(appName)", details: nil - ) - ) - ) - return - } - - appCheck.token(forcingRefresh: forceRefresh) { token, error in - if let error { - completion(.failure(self.createFlutterError(error))) - } else { - completion(.success(token?.token)) - } - } - } - - func setTokenAutoRefreshEnabled( - appName: String, isTokenAutoRefreshEnabled: Bool, - completion: @escaping (Result) -> Void - ) { - guard let app = FLTFirebasePlugin.firebaseAppNamed(appName), - let appCheck = AppCheck.appCheck(app: app) - else { - completion( - .failure( - FlutterError( - code: "unknown", message: "App Check not available for app: \(appName)", details: nil - ) - ) - ) - return - } - appCheck.isTokenAutoRefreshEnabled = isTokenAutoRefreshEnabled - completion(.success(())) - } - - func registerTokenListener( - appName: String, - completion: @escaping (Result) -> Void - ) { - let name = kFirebaseAppCheckTokenChannelPrefix + appName - - guard let messenger = binaryMessenger else { - completion( - .failure( - FlutterError( - code: "no-messenger", - message: "Binary messenger not available", - details: nil - ) - ) - ) - return - } - - let channel = FlutterEventChannel(name: name, binaryMessenger: messenger) - let handler = AppCheckTokenStreamHandler() - channel.setStreamHandler(handler) - - eventChannels[name] = channel - streamHandlers[name] = handler - - completion(.success(name)) - } - - func getLimitedUseAppCheckToken( - appName: String, - completion: @escaping (Result) -> Void - ) { - guard let app = FLTFirebasePlugin.firebaseAppNamed(appName), - let appCheck = AppCheck.appCheck(app: app) - else { - completion( - .failure( - FlutterError( - code: "unknown", message: "App Check not available for app: \(appName)", details: nil - ) - ) - ) - return - } - - appCheck.limitedUseToken { token, error in - if let error { - completion(.failure(self.createFlutterError(error))) - } else { - completion(.success(token?.token ?? "")) - } - } - } - - // MARK: - FLTFirebasePluginProtocol - - public func didReinitializeFirebaseCore(_ completion: @escaping () -> Void) { - for (_, channel) in eventChannels { - channel.setStreamHandler(nil) - } - for (_, handler) in streamHandlers { - _ = handler.onCancel(withArguments: nil) - } - eventChannels.removeAll() - streamHandlers.removeAll() - completion() - } - - public func pluginConstants(for firebaseApp: FirebaseApp) -> [AnyHashable: Any] { - [:] - } - - public func firebaseLibraryName() -> String { - "flutter-fire-appcheck" - } - - public func firebaseLibraryVersion() -> String { - versionNumber - } - - public func flutterChannelName() -> String { - kFirebaseAppCheckChannelName - } - - private func createFlutterError(_ error: Error) -> FlutterError { - let nsError = error as NSError - var code = "unknown" - switch nsError.code { - case 0: // FIRAppCheckErrorCodeServerUnreachable - code = "server-unreachable" - case 1: // FIRAppCheckErrorCodeInvalidConfiguration - code = "invalid-configuration" - case 2: // FIRAppCheckErrorCodeKeychain - code = "code-keychain" - case 3: // FIRAppCheckErrorCodeUnsupported - code = "code-unsupported" - default: - code = "unknown" - } - return FlutterError( - code: code, - message: nsError.localizedDescription, - details: nil - ) - } -} - -// MARK: - Token Stream Handler - -class AppCheckTokenStreamHandler: NSObject, FlutterStreamHandler { - private var observer: NSObjectProtocol? - - func onListen( - withArguments arguments: Any?, - eventSink events: @escaping FlutterEventSink - ) -> FlutterError? { - observer = NotificationCenter.default.addObserver( - forName: NSNotification.Name("FIRAppCheckAppCheckTokenDidChangeNotification"), - object: nil, - queue: nil - ) { notification in - if let token = notification.userInfo?["FIRAppCheckTokenNotificationKey"] as? String { - events(["token": token]) - } - } - return nil - } - - func onCancel(withArguments arguments: Any?) -> FlutterError? { - if let observer { - NotificationCenter.default.removeObserver(observer) - self.observer = nil - } - return nil - } -} - -// MARK: - App Check Provider Factory - -class FlutterAppCheckProviderFactory: NSObject, AppCheckProviderFactory { - private var providers: [String: AppCheckProviderWrapper] = [:] - - func createProvider(with app: FirebaseApp) -> (any AppCheckProvider)? { - if providers[app.name] == nil { - let wrapper = AppCheckProviderWrapper() - // Default to deviceCheck. activate() will reconfigure with the correct provider. - wrapper.configure( - app: app, - providerName: "deviceCheck", - debugToken: nil - ) - providers[app.name] = wrapper - } - return providers[app.name] - } - - func configure( - app: FirebaseApp, - providerName: String, - debugToken: String? - ) { - if providers[app.name] == nil { - providers[app.name] = AppCheckProviderWrapper() - } - providers[app.name]?.configure( - app: app, - providerName: providerName, - debugToken: debugToken - ) - } -} - -class AppCheckProviderWrapper: NSObject, AppCheckProvider { - private var delegateProvider: (any AppCheckProvider)? - - func configure( - app: FirebaseApp, - providerName: String, - debugToken: String? - ) { - switch providerName { - case "debug": - if let debugToken { - setenv("FIRAAppCheckDebugToken", debugToken, 1) - } - delegateProvider = AppCheckDebugProvider(app: app) - if debugToken == nil, let debugProvider = delegateProvider as? AppCheckDebugProvider { - print("Firebase App Check Debug Token: \(debugProvider.localDebugToken())") - } - case "appAttest": - if #available(iOS 14.0, macOS 14.0, macCatalyst 14.0, tvOS 15.0, watchOS 9.0, *) { - delegateProvider = AppAttestProvider(app: app) - } else { - delegateProvider = AppCheckDebugProvider(app: app) - } - case "appAttestWithDeviceCheckFallback": - if #available(iOS 14.0, macOS 14.0, *) { - delegateProvider = AppAttestProvider(app: app) - } else { - delegateProvider = DeviceCheckProvider(app: app) - } - case "recaptcha": - #if os(iOS) - delegateProvider = RecaptchaProvider(app: app) - if delegateProvider == nil { - print( - "Firebase App Check: failed to initialize RecaptchaProvider. Ensure site key is in GoogleService-Info.plist." - ) - } - #else - print("Firebase App Check: reCAPTCHA is only supported on iOS.") - #endif - default: - // deviceCheck - delegateProvider = DeviceCheckProvider(app: app) - } - } - - func getToken(completion handler: @escaping (AppCheckToken?, Error?) -> Void) { - guard let delegateProvider else { - handler( - nil, - NSError( - domain: "firebase_app_check", code: -1, - userInfo: [NSLocalizedDescriptionKey: "Provider not configured"] - ) - ) - return - } - delegateProvider.getToken(completion: handler) - } -} diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/lib/firebase_app_check.dart b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/lib/firebase_app_check.dart deleted file mode 100644 index 5e6a8cc9..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/lib/firebase_app_check.dart +++ /dev/null @@ -1,34 +0,0 @@ -// ignore_for_file: require_trailing_commas -// Copyright 2019 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -import 'package:firebase_app_check_platform_interface/firebase_app_check_platform_interface.dart'; -import 'package:firebase_core/firebase_core.dart'; -import 'package:firebase_core_platform_interface/firebase_core_platform_interface.dart'; - -export 'package:firebase_app_check_platform_interface/firebase_app_check_platform_interface.dart' - show - AndroidProvider, - AndroidAppCheckProvider, - AndroidDebugProvider, - AndroidPlayIntegrityProvider, - AndroidReCaptchaProvider, - AppleProvider, - AppleAppCheckProvider, - AppleDebugProvider, - AppleDeviceCheckProvider, - AppleAppAttestProvider, - AppleAppAttestWithDeviceCheckFallbackProvider, - AppleReCaptchaProvider, - ReCaptchaEnterpriseProvider, - ReCaptchaV3Provider, - WebDebugProvider, - WebProvider, - WebReCaptchaProvider, - WindowsAppCheckProvider, - WindowsDebugProvider; -export 'package:firebase_core_platform_interface/firebase_core_platform_interface.dart' - show FirebaseException; - -part 'src/firebase_app_check.dart'; diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/lib/src/firebase_app_check.dart b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/lib/src/firebase_app_check.dart deleted file mode 100644 index 8deabfc9..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/lib/src/firebase_app_check.dart +++ /dev/null @@ -1,156 +0,0 @@ -// ignore_for_file: require_trailing_commas -// Copyright 2021 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -part of '../firebase_app_check.dart'; - -class FirebaseAppCheck extends FirebasePluginPlatform - implements FirebaseService { - static Map _firebaseAppCheckInstances = {}; - - FirebaseAppCheck._({required this.app}) - : super(app.name, 'plugins.flutter.io/firebase_app_check'); - - /// The [FirebaseApp] for this current [FirebaseAppCheck] instance. - FirebaseApp app; - - // Cached and lazily loaded instance of [FirebaseAppCheckPlatform] to avoid - // creating a [MethodChannelFirebaseAppCheck] when not needed or creating an - // instance with the default app before a user specifies an app. - FirebaseAppCheckPlatform? _delegatePackingProperty; - - /// Returns the underlying delegate implementation. - /// - /// If called and no [_delegatePackingProperty] exists, it will first be - /// created and assigned before returning the delegate. - FirebaseAppCheckPlatform get _delegate { - _delegatePackingProperty ??= FirebaseAppCheckPlatform.instanceFor( - app: app, - ); - - return _delegatePackingProperty!; - } - - /// Returns an instance using the default [FirebaseApp]. - static FirebaseAppCheck get instance { - FirebaseApp defaultAppInstance = Firebase.app(); - - return FirebaseAppCheck.instanceFor(app: defaultAppInstance); - } - - /// Returns an instance using a specified [FirebaseApp]. - static FirebaseAppCheck instanceFor({required FirebaseApp app}) { - return _firebaseAppCheckInstances.putIfAbsent(app.name, () { - final instance = FirebaseAppCheck._(app: app); - app.registerService( - instance, - dispose: (appCheck) => appCheck._dispose(), - ); - return instance; - }); - } - - Future _dispose() async { - _firebaseAppCheckInstances.remove(app.name); - final delegate = _delegatePackingProperty; - _delegatePackingProperty = null; - await delegate?.dispose(); - } - - /// Activates the Firebase App Check service. - /// - /// ## Platform Configuration - /// - /// **Web**: Provide the reCAPTCHA v3 Site Key using `webProvider`, which can be - /// found in the Firebase Console. - /// - /// **Android**: The default provider is "play integrity". Use `providerAndroid` - /// to configure alternative providers such as "safety net", debug providers, or - /// custom implementations via `AndroidAppCheckProvider`. - /// - /// **iOS/macOS**: The default provider is "device check". Use `providerApple` - /// to configure alternative providers such as "app attest", debug providers, or - /// "app attest with fallback to device check" via `AppleAppCheckProvider`. - /// Note: App Attest is only available on iOS 14.0+ and macOS 14.0+. - /// - /// **Windows**: Only the debug provider is supported. You **must** supply a - /// debug token — the desktop C++ SDK does not auto-generate one. Either pass - /// it via `providerWindows: WindowsDebugProvider(debugToken: 'your-token')` - /// or set the `APP_CHECK_DEBUG_TOKEN` environment variable. The token must - /// first be registered in the Firebase Console under - /// *App Check → Apps → Manage debug tokens*. - /// - /// ## Migration Notice - /// - /// The `androidProvider` and `appleProvider` parameters will be deprecated - /// in a future release. Use `providerAndroid` and `providerApple` instead, - /// which support the new provider classes including `AndroidDebugProvider` - /// and `AppleDebugProvider` for passing debug tokens directly. - /// - /// For more information, see [the Firebase Documentation](https://firebase.google.com/docs/app-check) - Future activate({ - @Deprecated( - 'Use providerWeb instead. ' - 'This parameter will be removed in a future major release.', - ) - WebProvider? webProvider, - WebProvider? providerWeb, - @Deprecated( - 'Use providerAndroid instead. ' - 'This parameter will be removed in a future major release.', - ) - AndroidProvider androidProvider = AndroidProvider.playIntegrity, - @Deprecated( - 'Use providerApple instead. ' - 'This parameter will be removed in a future major release.', - ) - AppleProvider appleProvider = AppleProvider.deviceCheck, - AndroidAppCheckProvider providerAndroid = - const AndroidPlayIntegrityProvider(), - AppleAppCheckProvider providerApple = const AppleDeviceCheckProvider(), - WindowsAppCheckProvider providerWindows = const WindowsDebugProvider(), - }) { - return _delegate.activate( - webProvider: providerWeb ?? webProvider, - // ignore: deprecated_member_use - androidProvider: androidProvider, - // ignore: deprecated_member_use - appleProvider: appleProvider, - providerAndroid: providerAndroid, - providerApple: providerApple, - providerWindows: providerWindows, - ); - } - - /// Get the current App Check token. - /// - /// Attaches to the most recent in-flight request if one is present. Returns - /// null if no token is present and no token requests are in-flight. - /// - /// If `forceRefresh` is true, will always try to fetch a fresh token. If - /// false, will use a cached token if found in storage. - Future getToken([bool? forceRefresh]) async { - return _delegate.getToken(forceRefresh ?? false); - } - - /// If true, the SDK automatically refreshes App Check tokens as needed. - Future setTokenAutoRefreshEnabled(bool isTokenAutoRefreshEnabled) { - return _delegate.setTokenAutoRefreshEnabled(isTokenAutoRefreshEnabled); - } - - /// Requests a limited-use Firebase App Check token. This method should be used only - /// if you need to authorize requests to a non-Firebase backend. - // - // Returns limited-use tokens that are intended for use with your non-Firebase backend - // endpoints that are protected with Replay Protection. This method does not affect - // the token generation behavior of the `getToken()` method. - Future getLimitedUseToken() { - return _delegate.getLimitedUseToken(); - } - - /// Registers a listener to changes in the token state. - Stream get onTokenChange { - return _delegate.onTokenChange; - } -} diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/macos/firebase_app_check.podspec b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/macos/firebase_app_check.podspec deleted file mode 100644 index 497fbc64..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/macos/firebase_app_check.podspec +++ /dev/null @@ -1,63 +0,0 @@ -require 'yaml' - -pubspec = YAML.load_file(File.join('..', 'pubspec.yaml')) -library_version = pubspec['version'].gsub('+', '-') - -if defined?($FirebaseSDKVersion) - Pod::UI.puts "#{pubspec['name']}: Using user specified Firebase SDK version '#{$FirebaseSDKVersion}'" - firebase_sdk_version = $FirebaseSDKVersion -else - firebase_core_script = File.join(File.expand_path('..', File.expand_path('..', File.dirname(__FILE__))), 'firebase_core/ios/firebase_sdk_version.rb') - if File.exist?(firebase_core_script) - require firebase_core_script - firebase_sdk_version = firebase_sdk_version! - Pod::UI.puts "#{pubspec['name']}: Using Firebase SDK version '#{firebase_sdk_version}' defined in 'firebase_core'" - end -end - -begin - required_macos_version = "10.15" - current_target_definition = Pod::Config.instance.podfile.send(:current_target_definition) - user_osx_target = current_target_definition.to_hash["platform"]["osx"] - if (Gem::Version.new(user_osx_target) < Gem::Version.new(required_macos_version)) - error_message = "The FlutterFire plugin #{pubspec['name']} for macOS requires a macOS deployment target of #{required_macos_version} or later." - Pod::UI.warn error_message, [ - "Update the `platform :osx, '#{user_osx_target}'` line in your macOS/Podfile to version `#{required_macos_version}` and ensure you commit this file.", - "Open your `macos/Runner.xcodeproj` Xcode project and under the 'Runner' target General tab set your Deployment Target to #{required_macos_version} or later." - ] - raise Pod::Informative, error_message - end -rescue Pod::Informative - raise -rescue - # Do nothing for all other errors and let `pod install` deal with any issues. -end - -Pod::Spec.new do |s| - s.name = pubspec['name'] - s.version = library_version - s.summary = pubspec['description'] - s.description = pubspec['description'] - s.homepage = pubspec['homepage'] - s.license = { :file => '../LICENSE' } - s.authors = 'The Chromium Authors' - s.source = { :path => '.' } - - s.source_files = 'firebase_app_check/Sources/firebase_app_check/**/*.swift' - - s.platform = :osx, '10.13' - - # Flutter dependencies - s.dependency 'FlutterMacOS' - - # Firebase dependencies - s.dependency 'firebase_core' - s.dependency 'Firebase/CoreOnly', "~> #{firebase_sdk_version}" - s.dependency 'Firebase/AppCheck', "~> #{firebase_sdk_version}" - - s.static_framework = true - s.pod_target_xcconfig = { - 'GCC_PREPROCESSOR_DEFINITIONS' => "LIBRARY_VERSION=\\\"#{library_version}\\\" LIBRARY_NAME=\\\"flutter-fire-appcheck\\\"", - 'DEFINES_MODULE' => 'YES' - } -end diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/macos/firebase_app_check/Package.swift b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/macos/firebase_app_check/Package.swift deleted file mode 100644 index 9078dffe..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/macos/firebase_app_check/Package.swift +++ /dev/null @@ -1,36 +0,0 @@ -// swift-tools-version: 5.9 -// The swift-tools-version declares the minimum version of Swift required to build this package. - -// Copyright 2024, the Chromium project authors. Please see the AUTHORS file -// for details. All rights reserved. Use of this source code is governed by a -// BSD-style license that can be found in the LICENSE file. - -import PackageDescription - -let firebaseSdkVersion: Version = "12.15.0" - -let package = Package( - name: "firebase_app_check", - platforms: [ - .macOS("10.15") - ], - products: [ - .library(name: "firebase-app-check", targets: ["firebase_app_check"]) - ], - dependencies: [ - .package(url: "https://github.com/firebase/firebase-ios-sdk", exact: firebaseSdkVersion), - .package(name: "firebase_core", path: "../firebase_core-4.11.0"), - ], - targets: [ - .target( - name: "firebase_app_check", - dependencies: [ - .product(name: "FirebaseAppCheck", package: "firebase-ios-sdk"), - .product(name: "firebase-core", package: "firebase_core"), - ], - resources: [ - .process("Resources") - ] - ) - ] -) diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/macos/firebase_app_check/Sources/firebase_app_check/Constants.swift b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/macos/firebase_app_check/Sources/firebase_app_check/Constants.swift deleted file mode 100644 index 28a2ec57..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/macos/firebase_app_check/Sources/firebase_app_check/Constants.swift +++ /dev/null @@ -1,6 +0,0 @@ -// Copyright 2025 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -/// Auto-generated file. Do not edit. -public let versionNumber = "0.4.5" diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/macos/firebase_app_check/Sources/firebase_app_check/FirebaseAppCheckMessages.g.swift b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/macos/firebase_app_check/Sources/firebase_app_check/FirebaseAppCheckMessages.g.swift deleted file mode 100644 index d8f3a100..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/macos/firebase_app_check/Sources/firebase_app_check/FirebaseAppCheckMessages.g.swift +++ /dev/null @@ -1,236 +0,0 @@ -// Copyright 2025, the Chromium project authors. Please see the AUTHORS file -// for details. All rights reserved. Use of this source code is governed by a -// BSD-style license that can be found in the LICENSE file. -// Autogenerated from Pigeon (v26.3.4), do not edit directly. -// See also: https://pub.dev/packages/pigeon - -import Foundation - -#if os(iOS) - import Flutter -#elseif os(macOS) - import FlutterMacOS -#else - #error("Unsupported platform.") -#endif - -/// Error class for passing custom error details to Dart side. -final class PigeonError: Error { - let code: String - let message: String? - let details: Sendable? - - init(code: String, message: String?, details: Sendable?) { - self.code = code - self.message = message - self.details = details - } - - var localizedDescription: String { - "PigeonError(code: \(code), message: \(message ?? ""), details: \(details ?? "")" - } -} - -private func wrapResult(_ result: Any?) -> [Any?] { - [result] -} - -private func wrapError(_ error: Any) -> [Any?] { - if let pigeonError = error as? PigeonError { - return [ - pigeonError.code, - pigeonError.message, - pigeonError.details, - ] - } - if let flutterError = error as? FlutterError { - return [ - flutterError.code, - flutterError.message, - flutterError.details, - ] - } - return [ - "\(error)", - "\(Swift.type(of: error))", - "Stacktrace: \(Thread.callStackSymbols)", - ] -} - -private func isNullish(_ value: Any?) -> Bool { - value is NSNull || value == nil -} - -private func nilOrValue(_ value: Any?) -> T? { - if value is NSNull { return nil } - return value as! T? -} - -private class FirebaseAppCheckMessagesPigeonCodecReader: FlutterStandardReader {} - -private class FirebaseAppCheckMessagesPigeonCodecWriter: FlutterStandardWriter {} - -private class FirebaseAppCheckMessagesPigeonCodecReaderWriter: FlutterStandardReaderWriter { - override func reader(with data: Data) -> FlutterStandardReader { - FirebaseAppCheckMessagesPigeonCodecReader(data: data) - } - - override func writer(with data: NSMutableData) -> FlutterStandardWriter { - FirebaseAppCheckMessagesPigeonCodecWriter(data: data) - } -} - -class FirebaseAppCheckMessagesPigeonCodec: FlutterStandardMessageCodec, @unchecked Sendable { - static let shared = FirebaseAppCheckMessagesPigeonCodec( - readerWriter: FirebaseAppCheckMessagesPigeonCodecReaderWriter() - ) -} - -/// Generated protocol from Pigeon that represents a handler of messages from Flutter. -protocol FirebaseAppCheckHostApi { - func activate( - appName: String, androidProvider: String?, appleProvider: String?, - debugToken: String?, - completion: @escaping (Result) -> Void) - func getToken( - appName: String, forceRefresh: Bool, - completion: @escaping (Result) -> Void) - func setTokenAutoRefreshEnabled( - appName: String, isTokenAutoRefreshEnabled: Bool, - completion: @escaping (Result) -> Void) - func registerTokenListener(appName: String, completion: @escaping (Result) -> Void) - func getLimitedUseAppCheckToken( - appName: String, - completion: @escaping (Result) -> Void) -} - -/// Generated setup class from Pigeon to handle messages through the `binaryMessenger`. -class FirebaseAppCheckHostApiSetup { - static var codec: FlutterStandardMessageCodec { - FirebaseAppCheckMessagesPigeonCodec.shared - } - - /// Sets up an instance of `FirebaseAppCheckHostApi` to handle messages through the - /// `binaryMessenger`. - static func setUp( - binaryMessenger: FlutterBinaryMessenger, api: FirebaseAppCheckHostApi?, - messageChannelSuffix: String = "" - ) { - let channelSuffix = messageChannelSuffix.count > 0 ? ".\(messageChannelSuffix)" : "" - let activateChannel = FlutterBasicMessageChannel( - name: - "dev.flutter.pigeon.firebase_app_check_platform_interface.FirebaseAppCheckHostApi.activate\(channelSuffix)", - binaryMessenger: binaryMessenger, codec: codec - ) - if let api { - activateChannel.setMessageHandler { message, reply in - let args = message as! [Any?] - let appNameArg = args[0] as! String - let androidProviderArg: String? = nilOrValue(args[1]) - let appleProviderArg: String? = nilOrValue(args[2]) - let debugTokenArg: String? = nilOrValue(args[3]) - api.activate( - appName: appNameArg, androidProvider: androidProviderArg, appleProvider: appleProviderArg, - debugToken: debugTokenArg - ) { result in - switch result { - case .success: - reply(wrapResult(nil)) - case .failure(let error): - reply(wrapError(error)) - } - } - } - } else { - activateChannel.setMessageHandler(nil) - } - let getTokenChannel = FlutterBasicMessageChannel( - name: - "dev.flutter.pigeon.firebase_app_check_platform_interface.FirebaseAppCheckHostApi.getToken\(channelSuffix)", - binaryMessenger: binaryMessenger, codec: codec - ) - if let api { - getTokenChannel.setMessageHandler { message, reply in - let args = message as! [Any?] - let appNameArg = args[0] as! String - let forceRefreshArg = args[1] as! Bool - api.getToken(appName: appNameArg, forceRefresh: forceRefreshArg) { result in - switch result { - case .success(let res): - reply(wrapResult(res)) - case .failure(let error): - reply(wrapError(error)) - } - } - } - } else { - getTokenChannel.setMessageHandler(nil) - } - let setTokenAutoRefreshEnabledChannel = FlutterBasicMessageChannel( - name: - "dev.flutter.pigeon.firebase_app_check_platform_interface.FirebaseAppCheckHostApi.setTokenAutoRefreshEnabled\(channelSuffix)", - binaryMessenger: binaryMessenger, codec: codec - ) - if let api { - setTokenAutoRefreshEnabledChannel.setMessageHandler { message, reply in - let args = message as! [Any?] - let appNameArg = args[0] as! String - let isTokenAutoRefreshEnabledArg = args[1] as! Bool - api.setTokenAutoRefreshEnabled( - appName: appNameArg, isTokenAutoRefreshEnabled: isTokenAutoRefreshEnabledArg - ) { result in - switch result { - case .success: - reply(wrapResult(nil)) - case .failure(let error): - reply(wrapError(error)) - } - } - } - } else { - setTokenAutoRefreshEnabledChannel.setMessageHandler(nil) - } - let registerTokenListenerChannel = FlutterBasicMessageChannel( - name: - "dev.flutter.pigeon.firebase_app_check_platform_interface.FirebaseAppCheckHostApi.registerTokenListener\(channelSuffix)", - binaryMessenger: binaryMessenger, codec: codec - ) - if let api { - registerTokenListenerChannel.setMessageHandler { message, reply in - let args = message as! [Any?] - let appNameArg = args[0] as! String - api.registerTokenListener(appName: appNameArg) { result in - switch result { - case .success(let res): - reply(wrapResult(res)) - case .failure(let error): - reply(wrapError(error)) - } - } - } - } else { - registerTokenListenerChannel.setMessageHandler(nil) - } - let getLimitedUseAppCheckTokenChannel = FlutterBasicMessageChannel( - name: - "dev.flutter.pigeon.firebase_app_check_platform_interface.FirebaseAppCheckHostApi.getLimitedUseAppCheckToken\(channelSuffix)", - binaryMessenger: binaryMessenger, codec: codec - ) - if let api { - getLimitedUseAppCheckTokenChannel.setMessageHandler { message, reply in - let args = message as! [Any?] - let appNameArg = args[0] as! String - api.getLimitedUseAppCheckToken(appName: appNameArg) { result in - switch result { - case .success(let res): - reply(wrapResult(res)) - case .failure(let error): - reply(wrapError(error)) - } - } - } - } else { - getLimitedUseAppCheckTokenChannel.setMessageHandler(nil) - } - } -} diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/macos/firebase_app_check/Sources/firebase_app_check/FirebaseAppCheckPlugin.swift b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/macos/firebase_app_check/Sources/firebase_app_check/FirebaseAppCheckPlugin.swift deleted file mode 100644 index 2d63a765..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/macos/firebase_app_check/Sources/firebase_app_check/FirebaseAppCheckPlugin.swift +++ /dev/null @@ -1,369 +0,0 @@ -// Copyright 2025 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -import FirebaseAppCheck -import FirebaseCore - -#if canImport(FlutterMacOS) - import FlutterMacOS -#else - import Flutter -#endif - -#if canImport(firebase_core) - import firebase_core -#else - import firebase_core_shared -#endif - -let kFirebaseAppCheckChannelName = "plugins.flutter.io/firebase_app_check" -let kFirebaseAppCheckTokenChannelPrefix = "plugins.flutter.io/firebase_app_check/token/" - -// swift-format-ignore: AvoidRetroactiveConformances -extension FlutterError: @retroactive Error {} - -public class FirebaseAppCheckPlugin: NSObject, FlutterPlugin, - FLTFirebasePluginProtocol, FirebaseAppCheckHostApi -{ - private var eventChannels: [String: FlutterEventChannel] = [:] - private var streamHandlers: [String: AppCheckTokenStreamHandler] = [:] - private var providerFactory: FlutterAppCheckProviderFactory? - - static let shared: FirebaseAppCheckPlugin = { - let instance = FirebaseAppCheckPlugin() - instance.providerFactory = FlutterAppCheckProviderFactory() - AppCheck.setAppCheckProviderFactory(instance.providerFactory) - FLTFirebasePluginRegistry.sharedInstance().register(instance) - return instance - }() - - public static func register(with registrar: FlutterPluginRegistrar) { - let binaryMessenger: FlutterBinaryMessenger - - #if os(macOS) - binaryMessenger = registrar.messenger - #elseif os(iOS) - binaryMessenger = registrar.messenger() - #endif - - let instance = shared - instance.binaryMessenger = binaryMessenger - FirebaseAppCheckHostApiSetup.setUp(binaryMessenger: binaryMessenger, api: instance) - - if FirebaseApp.responds(to: NSSelectorFromString("registerLibrary:withVersion:")) { - FirebaseApp.perform( - NSSelectorFromString("registerLibrary:withVersion:"), - with: instance.firebaseLibraryName(), - with: instance.firebaseLibraryVersion() - ) - } - } - - private var binaryMessenger: FlutterBinaryMessenger? - - func activate( - appName: String, androidProvider: String?, appleProvider: String?, - debugToken: String?, - completion: @escaping (Result) -> Void - ) { - guard let app = FLTFirebasePlugin.firebaseAppNamed(appName) else { - completion( - .failure( - FlutterError( - code: "unknown", message: "Firebase app not found: \(appName)", details: nil - ) - ) - ) - return - } - let provider = appleProvider ?? "deviceCheck" - - providerFactory?.configure( - app: app, - providerName: provider, - debugToken: debugToken - ) - - completion(.success(())) - } - - func getToken( - appName: String, forceRefresh: Bool, - completion: @escaping (Result) -> Void - ) { - guard let app = FLTFirebasePlugin.firebaseAppNamed(appName), - let appCheck = AppCheck.appCheck(app: app) - else { - completion( - .failure( - FlutterError( - code: "unknown", message: "App Check not available for app: \(appName)", details: nil - ) - ) - ) - return - } - - appCheck.token(forcingRefresh: forceRefresh) { token, error in - if let error { - completion(.failure(self.createFlutterError(error))) - } else { - completion(.success(token?.token)) - } - } - } - - func setTokenAutoRefreshEnabled( - appName: String, isTokenAutoRefreshEnabled: Bool, - completion: @escaping (Result) -> Void - ) { - guard let app = FLTFirebasePlugin.firebaseAppNamed(appName), - let appCheck = AppCheck.appCheck(app: app) - else { - completion( - .failure( - FlutterError( - code: "unknown", message: "App Check not available for app: \(appName)", details: nil - ) - ) - ) - return - } - appCheck.isTokenAutoRefreshEnabled = isTokenAutoRefreshEnabled - completion(.success(())) - } - - func registerTokenListener( - appName: String, - completion: @escaping (Result) -> Void - ) { - let name = kFirebaseAppCheckTokenChannelPrefix + appName - - guard let messenger = binaryMessenger else { - completion( - .failure( - FlutterError( - code: "no-messenger", - message: "Binary messenger not available", - details: nil - ) - ) - ) - return - } - - let channel = FlutterEventChannel(name: name, binaryMessenger: messenger) - let handler = AppCheckTokenStreamHandler() - channel.setStreamHandler(handler) - - eventChannels[name] = channel - streamHandlers[name] = handler - - completion(.success(name)) - } - - func getLimitedUseAppCheckToken( - appName: String, - completion: @escaping (Result) -> Void - ) { - guard let app = FLTFirebasePlugin.firebaseAppNamed(appName), - let appCheck = AppCheck.appCheck(app: app) - else { - completion( - .failure( - FlutterError( - code: "unknown", message: "App Check not available for app: \(appName)", details: nil - ) - ) - ) - return - } - - appCheck.limitedUseToken { token, error in - if let error { - completion(.failure(self.createFlutterError(error))) - } else { - completion(.success(token?.token ?? "")) - } - } - } - - // MARK: - FLTFirebasePluginProtocol - - public func didReinitializeFirebaseCore(_ completion: @escaping () -> Void) { - for (_, channel) in eventChannels { - channel.setStreamHandler(nil) - } - for (_, handler) in streamHandlers { - _ = handler.onCancel(withArguments: nil) - } - eventChannels.removeAll() - streamHandlers.removeAll() - completion() - } - - public func pluginConstants(for firebaseApp: FirebaseApp) -> [AnyHashable: Any] { - [:] - } - - public func firebaseLibraryName() -> String { - "flutter-fire-appcheck" - } - - public func firebaseLibraryVersion() -> String { - versionNumber - } - - public func flutterChannelName() -> String { - kFirebaseAppCheckChannelName - } - - private func createFlutterError(_ error: Error) -> FlutterError { - let nsError = error as NSError - var code = "unknown" - switch nsError.code { - case 0: // FIRAppCheckErrorCodeServerUnreachable - code = "server-unreachable" - case 1: // FIRAppCheckErrorCodeInvalidConfiguration - code = "invalid-configuration" - case 2: // FIRAppCheckErrorCodeKeychain - code = "code-keychain" - case 3: // FIRAppCheckErrorCodeUnsupported - code = "code-unsupported" - default: - code = "unknown" - } - return FlutterError( - code: code, - message: nsError.localizedDescription, - details: nil - ) - } -} - -// MARK: - Token Stream Handler - -class AppCheckTokenStreamHandler: NSObject, FlutterStreamHandler { - private var observer: NSObjectProtocol? - - func onListen( - withArguments arguments: Any?, - eventSink events: @escaping FlutterEventSink - ) -> FlutterError? { - observer = NotificationCenter.default.addObserver( - forName: NSNotification.Name("FIRAppCheckAppCheckTokenDidChangeNotification"), - object: nil, - queue: nil - ) { notification in - if let token = notification.userInfo?["FIRAppCheckTokenNotificationKey"] as? String { - events(["token": token]) - } - } - return nil - } - - func onCancel(withArguments arguments: Any?) -> FlutterError? { - if let observer { - NotificationCenter.default.removeObserver(observer) - self.observer = nil - } - return nil - } -} - -// MARK: - App Check Provider Factory - -class FlutterAppCheckProviderFactory: NSObject, AppCheckProviderFactory { - private var providers: [String: AppCheckProviderWrapper] = [:] - - func createProvider(with app: FirebaseApp) -> (any AppCheckProvider)? { - if providers[app.name] == nil { - let wrapper = AppCheckProviderWrapper() - // Default to deviceCheck. activate() will reconfigure with the correct provider. - wrapper.configure( - app: app, - providerName: "deviceCheck", - debugToken: nil - ) - providers[app.name] = wrapper - } - return providers[app.name] - } - - func configure( - app: FirebaseApp, - providerName: String, - debugToken: String? - ) { - if providers[app.name] == nil { - providers[app.name] = AppCheckProviderWrapper() - } - providers[app.name]?.configure( - app: app, - providerName: providerName, - debugToken: debugToken - ) - } -} - -class AppCheckProviderWrapper: NSObject, AppCheckProvider { - private var delegateProvider: (any AppCheckProvider)? - - func configure( - app: FirebaseApp, - providerName: String, - debugToken: String? - ) { - switch providerName { - case "debug": - if let debugToken { - setenv("FIRAAppCheckDebugToken", debugToken, 1) - } - delegateProvider = AppCheckDebugProvider(app: app) - if debugToken == nil, let debugProvider = delegateProvider as? AppCheckDebugProvider { - print("Firebase App Check Debug Token: \(debugProvider.localDebugToken())") - } - case "appAttest": - if #available(iOS 14.0, macOS 14.0, macCatalyst 14.0, tvOS 15.0, watchOS 9.0, *) { - delegateProvider = AppAttestProvider(app: app) - } else { - delegateProvider = AppCheckDebugProvider(app: app) - } - case "appAttestWithDeviceCheckFallback": - if #available(iOS 14.0, macOS 14.0, *) { - delegateProvider = AppAttestProvider(app: app) - } else { - delegateProvider = DeviceCheckProvider(app: app) - } - case "recaptcha": - #if os(iOS) - delegateProvider = RecaptchaProvider(app: app) - if delegateProvider == nil { - print( - "Firebase App Check: failed to initialize RecaptchaProvider. Ensure site key is in GoogleService-Info.plist." - ) - } - #else - print("Firebase App Check: reCAPTCHA is only supported on iOS.") - #endif - default: - // deviceCheck - delegateProvider = DeviceCheckProvider(app: app) - } - } - - func getToken(completion handler: @escaping (AppCheckToken?, Error?) -> Void) { - guard let delegateProvider else { - handler( - nil, - NSError( - domain: "firebase_app_check", code: -1, - userInfo: [NSLocalizedDescriptionKey: "Provider not configured"] - ) - ) - return - } - delegateProvider.getToken(completion: handler) - } -} diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/pubspec.yaml b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/pubspec.yaml deleted file mode 100644 index 605a2914..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/pubspec.yaml +++ /dev/null @@ -1,48 +0,0 @@ -name: firebase_app_check -description: App Check works alongside other Firebase services to help protect your backend resources from abuse, such as billing fraud or phishing. -homepage: https://firebase.google.com/docs/app-check -repository: https://github.com/firebase/flutterfire/tree/main/packages/firebase_app_check/firebase_app_check -version: 0.4.5 -resolution: workspace -topics: - - firebase - - app-check - - security - - protection - -false_secrets: - - example/** - -environment: - sdk: '^3.6.0' - flutter: '>=3.27.0' - -dependencies: - firebase_app_check_platform_interface: ^0.4.1 - firebase_app_check_web: ^0.2.5 - firebase_core: ^4.11.0 - firebase_core_platform_interface: ^7.1.0 - flutter: - sdk: flutter - -dev_dependencies: - async: ^2.5.0 - flutter_test: - sdk: flutter - mockito: ^5.0.0 - plugin_platform_interface: ^2.1.3 - -flutter: - plugin: - platforms: - android: - package: io.flutter.plugins.firebase.appcheck - pluginClass: FirebaseAppCheckPlugin - ios: - pluginClass: FirebaseAppCheckPlugin - macos: - pluginClass: FirebaseAppCheckPlugin - web: - default_package: firebase_app_check_web - windows: - pluginClass: FirebaseAppCheckPluginCApi diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/test/firebase_app_check_test.dart b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/test/firebase_app_check_test.dart deleted file mode 100755 index f939040d..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/test/firebase_app_check_test.dart +++ /dev/null @@ -1,79 +0,0 @@ -// Copyright 2021 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -import 'package:firebase_app_check/firebase_app_check.dart'; -import 'package:firebase_core/firebase_core.dart'; -import 'package:flutter_test/flutter_test.dart'; - -import './mock.dart'; - -void main() { - setupFirebaseAppCheckMocks(); - late FirebaseApp secondaryApp; - - group('$FirebaseAppCheck', () { - setUpAll(() async { - await Firebase.initializeApp(); - secondaryApp = await Firebase.initializeApp( - name: 'secondaryApp', - options: const FirebaseOptions( - appId: '1:1234567890:ios:42424242424242', - apiKey: '123', - projectId: '123', - messagingSenderId: '1234567890', - ), - ); - }); - - group('instance', () { - test('successful call', () async { - final appCheck = FirebaseAppCheck.instance; - - expect(appCheck, isA()); - expect(appCheck.app.name, defaultFirebaseAppName); - }); - }); - - group('instanceFor', () { - test('successful call', () async { - final appCheck = FirebaseAppCheck.instanceFor(app: secondaryApp); - - expect(appCheck, isA()); - expect(appCheck.app.name, 'secondaryApp'); - }); - - test('creates a fresh instance after app delete and reinitialize', - () async { - const appName = 'delete-reinit-app-check'; - const options = FirebaseOptions( - appId: '1:1234567890:ios:42424242424242', - apiKey: '123', - projectId: '123', - messagingSenderId: '1234567890', - ); - final app = await Firebase.initializeApp( - name: appName, - options: options, - ); - final appCheck1 = FirebaseAppCheck.instanceFor(app: app); - - expect(app.getService(), same(appCheck1)); - - await app.delete(); - - final app2 = await Firebase.initializeApp( - name: appName, - options: options, - ); - addTearDown(app2.delete); - - final appCheck2 = FirebaseAppCheck.instanceFor(app: app2); - - expect(appCheck2, isNot(same(appCheck1))); - expect(appCheck2.app, app2); - expect(app2.getService(), same(appCheck2)); - }); - }); - }); -} diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/test/mock.dart b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/test/mock.dart deleted file mode 100644 index 0a6701d3..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/test/mock.dart +++ /dev/null @@ -1,35 +0,0 @@ -// Copyright 2021 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -import 'package:firebase_core_platform_interface/test.dart'; -import 'package:flutter/services.dart'; -import 'package:flutter_test/flutter_test.dart'; - -typedef Callback = void Function(MethodCall call); - -final List methodCallLog = []; - -void setupFirebaseAppCheckMocks([Callback? customHandlers]) { - TestWidgetsFlutterBinding.ensureInitialized(); - - setupFirebaseCoreMocks(); - TestFirebaseAppHostApi.setUp(MockFirebaseAppHostApi()); -} - -class MockFirebaseAppHostApi implements TestFirebaseAppHostApi { - @override - Future delete(String appName) async {} - - @override - Future setAutomaticDataCollectionEnabled( - String appName, - bool enabled, - ) async {} - - @override - Future setAutomaticResourceManagementEnabled( - String appName, - bool enabled, - ) async {} -} diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/windows/CMakeLists.txt b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/windows/CMakeLists.txt deleted file mode 100644 index 7c40c200..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/windows/CMakeLists.txt +++ /dev/null @@ -1,81 +0,0 @@ -# The Flutter tooling requires that developers have a version of Visual Studio -# installed that includes CMake 3.14 or later. You should not increase this -# version, as doing so will cause the plugin to fail to compile for some -# customers of the plugin. -cmake_minimum_required(VERSION 3.14) - -# Project-level configuration. -set(PROJECT_NAME "firebase_app_check") -project(${PROJECT_NAME} LANGUAGES CXX) - -# This value is used when generating builds using this plugin, so it must -# not be changed -set(PLUGIN_NAME "firebase_app_check_plugin") - -# Any new source files that you add to the plugin should be added here. -list(APPEND PLUGIN_SOURCES - "firebase_app_check_plugin.cpp" - "firebase_app_check_plugin.h" - "messages.g.cpp" - "messages.g.h" -) - -# Read version from pubspec.yaml -file(STRINGS "../pubspec.yaml" pubspec_content) -foreach(line ${pubspec_content}) - string(FIND ${line} "version: " has_version) - - if("${has_version}" STREQUAL "0") - string(FIND ${line} ": " version_start_pos) - math(EXPR version_start_pos "${version_start_pos} + 2") - string(LENGTH ${line} version_end_pos) - math(EXPR len "${version_end_pos} - ${version_start_pos}") - string(SUBSTRING ${line} ${version_start_pos} ${len} PLUGIN_VERSION) - break() - endif() -endforeach(line) - -configure_file(plugin_version.h.in ${CMAKE_BINARY_DIR}/generated/firebase_app_check/plugin_version.h) -include_directories(${CMAKE_BINARY_DIR}/generated/) - -# Define the plugin library target. Its name must not be changed (see comment -# on PLUGIN_NAME above). -add_library(${PLUGIN_NAME} STATIC - "include/firebase_app_check/firebase_app_check_plugin_c_api.h" - "firebase_app_check_plugin_c_api.cpp" - ${PLUGIN_SOURCES} - ${CMAKE_BINARY_DIR}/generated/firebase_app_check/plugin_version.h -) - -# Apply a standard set of build settings that are configured in the -# application-level CMakeLists.txt. This can be removed for plugins that want -# full control over build settings. -apply_standard_settings(${PLUGIN_NAME}) - -# Symbols are hidden by default to reduce the chance of accidental conflicts -# between plugins. This should not be removed; any symbols that should be -# exported should be explicitly exported with the FLUTTER_PLUGIN_EXPORT macro. -set_target_properties(${PLUGIN_NAME} PROPERTIES - CXX_VISIBILITY_PRESET hidden) -target_compile_definitions(${PLUGIN_NAME} PUBLIC FLUTTER_PLUGIN_IMPL) - -# Enable firebase-cpp-sdk's platform logging api. -target_compile_definitions(${PLUGIN_NAME} PRIVATE -DINTERNAL_EXPERIMENTAL=1) - -# Source include directories and library dependencies. Add any plugin-specific -# dependencies here. -set(MSVC_RUNTIME_MODE MD) -set(firebase_libs firebase_core_plugin firebase_app_check) -target_link_libraries(${PLUGIN_NAME} PRIVATE "${firebase_libs}") - -target_include_directories(${PLUGIN_NAME} INTERFACE - "${CMAKE_CURRENT_SOURCE_DIR}/include") -target_link_libraries(${PLUGIN_NAME} PUBLIC flutter flutter_wrapper_plugin) - -# List of absolute paths to libraries that should be bundled with the plugin. -# This list could contain prebuilt libraries, or libraries created by an -# external build triggered from this build file. -set(firebase_app_check_bundled_libraries - "" - PARENT_SCOPE -) diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/windows/firebase_app_check_plugin.cpp b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/windows/firebase_app_check_plugin.cpp deleted file mode 100644 index d9a0a72d..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/windows/firebase_app_check_plugin.cpp +++ /dev/null @@ -1,249 +0,0 @@ -// Copyright 2025, the Chromium project authors. Please see the AUTHORS file -// for details. All rights reserved. Use of this source code is governed by a -// BSD-style license that can be found in the LICENSE file. - -#include "firebase_app_check_plugin.h" - -#include -#include -#include -#include -#include - -#include -#include -#include - -#include "firebase/app.h" -#include "firebase/app_check.h" -#include "firebase/app_check/debug_provider.h" -#include "firebase/future.h" -#include "firebase_app_check/plugin_version.h" -#include "firebase_core/firebase_core_plugin_c_api.h" -#include "messages.g.h" - -using ::firebase::App; -using ::firebase::Future; -using ::firebase::app_check::AppCheck; -using ::firebase::app_check::AppCheckListener; -using ::firebase::app_check::AppCheckToken; -using ::firebase::app_check::DebugAppCheckProviderFactory; - -namespace firebase_app_check_windows { - -static const std::string kLibraryName = "flutter-fire-app-check"; -static const std::string kEventChannelNamePrefix = - "plugins.flutter.io/firebase_app_check/token/"; - -flutter::BinaryMessenger* FirebaseAppCheckPlugin::binaryMessenger = nullptr; -std::map>> - FirebaseAppCheckPlugin::event_channels_; -std::map - FirebaseAppCheckPlugin::listeners_map_; - -// AppCheckListener implementation that forwards token changes to an EventSink. -class FlutterAppCheckListener : public AppCheckListener { - public: - void SetEventSink( - std::unique_ptr> event_sink) { - event_sink_ = std::move(event_sink); - } - - void OnAppCheckTokenChanged(const AppCheckToken& token) override { - if (event_sink_) { - flutter::EncodableMap event; - event[flutter::EncodableValue("token")] = - flutter::EncodableValue(token.token); - event_sink_->Success(flutter::EncodableValue(event)); - } - } - - private: - std::unique_ptr> event_sink_; -}; - -// StreamHandler for token change events. -class TokenStreamHandler - : public flutter::StreamHandler { - public: - TokenStreamHandler(AppCheck* app_check, const std::string& app_name) - : app_check_(app_check), app_name_(app_name) {} - - std::unique_ptr> - OnListenInternal( - const flutter::EncodableValue* arguments, - std::unique_ptr>&& events) - override { - listener_ = std::make_unique(); - listener_->SetEventSink(std::move(events)); - app_check_->AddAppCheckListener(listener_.get()); - FirebaseAppCheckPlugin::listeners_map_[app_name_] = listener_.get(); - return nullptr; - } - - std::unique_ptr> - OnCancelInternal(const flutter::EncodableValue* arguments) override { - if (listener_) { - app_check_->RemoveAppCheckListener(listener_.get()); - FirebaseAppCheckPlugin::listeners_map_.erase(app_name_); - listener_.reset(); - } - return nullptr; - } - - private: - AppCheck* app_check_; - std::string app_name_; - std::unique_ptr listener_; -}; - -static AppCheck* GetAppCheckFromPigeon(const std::string& app_name) { - App* app = App::GetInstance(app_name.c_str()); - return AppCheck::GetInstance(app); -} - -static FlutterError ParseError(const firebase::FutureBase& completed_future) { - std::string error_code = "unknown"; - int error = completed_future.error(); - switch (error) { - case firebase::app_check::kAppCheckErrorServerUnreachable: - error_code = "server-unreachable"; - break; - case firebase::app_check::kAppCheckErrorInvalidConfiguration: - error_code = "invalid-configuration"; - break; - case firebase::app_check::kAppCheckErrorSystemKeychain: - error_code = "system-keychain"; - break; - case firebase::app_check::kAppCheckErrorUnsupportedProvider: - error_code = "unsupported-provider"; - break; - default: - error_code = "unknown"; - break; - } - - std::string error_message = completed_future.error_message() - ? completed_future.error_message() - : "An unknown error occurred"; - - return FlutterError(error_code, error_message); -} - -// static -void FirebaseAppCheckPlugin::RegisterWithRegistrar( - flutter::PluginRegistrarWindows* registrar) { - auto plugin = std::make_unique(); - - FirebaseAppCheckHostApi::SetUp(registrar->messenger(), plugin.get()); - - registrar->AddPlugin(std::move(plugin)); - - binaryMessenger = registrar->messenger(); - - // Register for platform logging - App::RegisterLibrary(kLibraryName.c_str(), getPluginVersion().c_str(), - nullptr); -} - -FirebaseAppCheckPlugin::FirebaseAppCheckPlugin() {} - -FirebaseAppCheckPlugin::~FirebaseAppCheckPlugin() { - for (auto& [app_name, listener] : listeners_map_) { - App* app = App::GetInstance(app_name.c_str()); - if (app) { - AppCheck* app_check = AppCheck::GetInstance(app); - if (app_check) { - app_check->RemoveAppCheckListener(listener); - } - } - } - listeners_map_.clear(); - event_channels_.clear(); -} - -void FirebaseAppCheckPlugin::Activate( - const std::string& app_name, const std::string* android_provider, - const std::string* apple_provider, const std::string* debug_token, - std::function reply)> result) { - // On Windows/desktop, only the Debug provider is available. - DebugAppCheckProviderFactory* factory = - DebugAppCheckProviderFactory::GetInstance(); - - if (debug_token != nullptr && !debug_token->empty()) { - factory->SetDebugToken(*debug_token); - } - - AppCheck::SetAppCheckProviderFactory(factory); - - result(std::nullopt); -} - -void FirebaseAppCheckPlugin::GetToken( - const std::string& app_name, bool force_refresh, - std::function> reply)> result) { - AppCheck* app_check = GetAppCheckFromPigeon(app_name); - - Future future = app_check->GetAppCheckToken(force_refresh); - future.OnCompletion([result](const Future& completed_future) { - if (completed_future.error() != 0) { - result(ParseError(completed_future)); - } else { - const AppCheckToken* token = completed_future.result(); - if (token) { - result(std::optional(token->token)); - } else { - result(std::optional(std::nullopt)); - } - } - }); -} - -void FirebaseAppCheckPlugin::SetTokenAutoRefreshEnabled( - const std::string& app_name, bool is_token_auto_refresh_enabled, - std::function reply)> result) { - AppCheck* app_check = GetAppCheckFromPigeon(app_name); - app_check->SetTokenAutoRefreshEnabled(is_token_auto_refresh_enabled); - result(std::nullopt); -} - -void FirebaseAppCheckPlugin::RegisterTokenListener( - const std::string& app_name, - std::function reply)> result) { - AppCheck* app_check = GetAppCheckFromPigeon(app_name); - - const std::string name = kEventChannelNamePrefix + app_name; - - auto event_channel = - std::make_unique>( - binaryMessenger, name, &flutter::StandardMethodCodec::GetInstance()); - event_channel->SetStreamHandler( - std::make_unique(app_check, app_name)); - - event_channels_[app_name] = std::move(event_channel); - - result(name); -} - -void FirebaseAppCheckPlugin::GetLimitedUseAppCheckToken( - const std::string& app_name, - std::function reply)> result) { - AppCheck* app_check = GetAppCheckFromPigeon(app_name); - - Future future = app_check->GetLimitedUseAppCheckToken(); - future.OnCompletion([result](const Future& completed_future) { - if (completed_future.error() != 0) { - result(ParseError(completed_future)); - } else { - const AppCheckToken* token = completed_future.result(); - if (token) { - result(token->token); - } else { - result(FlutterError("unknown", "Failed to get limited use token")); - } - } - }); -} - -} // namespace firebase_app_check_windows diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/windows/firebase_app_check_plugin.h b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/windows/firebase_app_check_plugin.h deleted file mode 100644 index baabf2bd..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/windows/firebase_app_check_plugin.h +++ /dev/null @@ -1,72 +0,0 @@ -/* - * Copyright 2025, the Chromium project authors. Please see the AUTHORS file - * for details. All rights reserved. Use of this source code is governed by a - * BSD-style license that can be found in the LICENSE file. - */ - -#ifndef FLUTTER_PLUGIN_FIREBASE_APP_CHECK_PLUGIN_H_ -#define FLUTTER_PLUGIN_FIREBASE_APP_CHECK_PLUGIN_H_ - -#include -#include -#include - -#include -#include -#include - -#include "firebase/app.h" -#include "firebase/app_check.h" -#include "firebase/future.h" -#include "messages.g.h" - -namespace firebase_app_check_windows { - -class TokenStreamHandler; - -class FirebaseAppCheckPlugin : public flutter::Plugin, - public FirebaseAppCheckHostApi { - friend class TokenStreamHandler; - - public: - static void RegisterWithRegistrar(flutter::PluginRegistrarWindows* registrar); - - FirebaseAppCheckPlugin(); - - virtual ~FirebaseAppCheckPlugin(); - - // Disallow copy and assign. - FirebaseAppCheckPlugin(const FirebaseAppCheckPlugin&) = delete; - FirebaseAppCheckPlugin& operator=(const FirebaseAppCheckPlugin&) = delete; - - // FirebaseAppCheckHostApi methods. - void Activate( - const std::string& app_name, const std::string* android_provider, - const std::string* apple_provider, const std::string* debug_token, - std::function reply)> result) override; - void GetToken(const std::string& app_name, bool force_refresh, - std::function> reply)> - result) override; - void SetTokenAutoRefreshEnabled( - const std::string& app_name, bool is_token_auto_refresh_enabled, - std::function reply)> result) override; - void RegisterTokenListener( - const std::string& app_name, - std::function reply)> result) override; - void GetLimitedUseAppCheckToken( - const std::string& app_name, - std::function reply)> result) override; - - private: - static flutter::BinaryMessenger* binaryMessenger; - static std::map< - std::string, - std::unique_ptr>> - event_channels_; - static std::map - listeners_map_; -}; - -} // namespace firebase_app_check_windows - -#endif // FLUTTER_PLUGIN_FIREBASE_APP_CHECK_PLUGIN_H_ diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/windows/firebase_app_check_plugin_c_api.cpp b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/windows/firebase_app_check_plugin_c_api.cpp deleted file mode 100644 index f0ace78f..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/windows/firebase_app_check_plugin_c_api.cpp +++ /dev/null @@ -1,16 +0,0 @@ -// Copyright 2025, the Chromium project authors. Please see the AUTHORS file -// for details. All rights reserved. Use of this source code is governed by a -// BSD-style license that can be found in the LICENSE file. - -#include "include/firebase_app_check/firebase_app_check_plugin_c_api.h" - -#include - -#include "firebase_app_check_plugin.h" - -void FirebaseAppCheckPluginCApiRegisterWithRegistrar( - FlutterDesktopPluginRegistrarRef registrar) { - firebase_app_check_windows::FirebaseAppCheckPlugin::RegisterWithRegistrar( - flutter::PluginRegistrarManager::GetInstance() - ->GetRegistrar(registrar)); -} diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/windows/include/firebase_app_check/firebase_app_check_plugin_c_api.h b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/windows/include/firebase_app_check/firebase_app_check_plugin_c_api.h deleted file mode 100644 index ab2d9e94..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/windows/include/firebase_app_check/firebase_app_check_plugin_c_api.h +++ /dev/null @@ -1,29 +0,0 @@ -/* - * Copyright 2025, the Chromium project authors. Please see the AUTHORS file - * for details. All rights reserved. Use of this source code is governed by a - * BSD-style license that can be found in the LICENSE file. - */ - -#ifndef FLUTTER_PLUGIN_FIREBASE_APP_CHECK_PLUGIN_C_API_H_ -#define FLUTTER_PLUGIN_FIREBASE_APP_CHECK_PLUGIN_C_API_H_ - -#include - -#ifdef FLUTTER_PLUGIN_IMPL -#define FLUTTER_PLUGIN_EXPORT __declspec(dllexport) -#else -#define FLUTTER_PLUGIN_EXPORT __declspec(dllimport) -#endif - -#if defined(__cplusplus) -extern "C" { -#endif - -FLUTTER_PLUGIN_EXPORT void FirebaseAppCheckPluginCApiRegisterWithRegistrar( - FlutterDesktopPluginRegistrarRef registrar); - -#if defined(__cplusplus) -} // extern "C" -#endif - -#endif // FLUTTER_PLUGIN_FIREBASE_APP_CHECK_PLUGIN_C_API_H_ diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/windows/messages.g.cpp b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/windows/messages.g.cpp deleted file mode 100644 index 0da3e3c1..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/windows/messages.g.cpp +++ /dev/null @@ -1,517 +0,0 @@ -// Copyright 2025, the Chromium project authors. Please see the AUTHORS file -// for details. All rights reserved. Use of this source code is governed by a -// BSD-style license that can be found in the LICENSE file. -// Autogenerated from Pigeon (v26.3.4), do not edit directly. -// See also: https://pub.dev/packages/pigeon - -#undef _HAS_EXCEPTIONS - -#include "messages.g.h" - -#include -#include -#include -#include - -#include -#include -#include -#include -#include - -namespace firebase_app_check_windows { -using ::flutter::BasicMessageChannel; -using ::flutter::CustomEncodableValue; -using ::flutter::EncodableList; -using ::flutter::EncodableMap; -using ::flutter::EncodableValue; - -FlutterError CreateConnectionError(const std::string channel_name) { - return FlutterError( - "channel-error", - "Unable to establish connection on channel: '" + channel_name + "'.", - EncodableValue("")); -} - -namespace { -template -bool PigeonInternalDeepEquals(const T& a, const T& b); - -bool PigeonInternalDeepEquals(const double& a, const double& b); - -template -bool PigeonInternalDeepEquals(const std::vector& a, const std::vector& b); - -template -bool PigeonInternalDeepEquals(const std::map& a, const std::map& b); - -template -bool PigeonInternalDeepEquals(const std::optional& a, - const std::optional& b); - -template -bool PigeonInternalDeepEquals(const std::unique_ptr& a, - const std::unique_ptr& b); - -bool PigeonInternalDeepEquals(const ::flutter::EncodableValue& a, - const ::flutter::EncodableValue& b); - -template -bool PigeonInternalDeepEquals(const T& a, const T& b) { - return a == b; -} - -template -bool PigeonInternalDeepEquals(const std::vector& a, - const std::vector& b) { - if (a.size() != b.size()) { - return false; - } - for (size_t i = 0; i < a.size(); ++i) { - if (!PigeonInternalDeepEquals(a[i], b[i])) { - return false; - } - } - return true; -} - -template -bool PigeonInternalDeepEquals(const std::map& a, - const std::map& b) { - if (a.size() != b.size()) { - return false; - } - for (const auto& kv : a) { - bool found = false; - for (const auto& b_kv : b) { - if (PigeonInternalDeepEquals(kv.first, b_kv.first)) { - if (PigeonInternalDeepEquals(kv.second, b_kv.second)) { - found = true; - break; - } else { - return false; - } - } - } - if (!found) { - return false; - } - } - return true; -} - -bool PigeonInternalDeepEquals(const double& a, const double& b) { - // Normalize -0.0 to 0.0 and handle NaN equality. - return (a == b) || (std::isnan(a) && std::isnan(b)); -} - -template -bool PigeonInternalDeepEquals(const std::optional& a, - const std::optional& b) { - if (!a && !b) { - return true; - } - if (!a || !b) { - return false; - } - return PigeonInternalDeepEquals(*a, *b); -} - -template -bool PigeonInternalDeepEquals(const std::unique_ptr& a, - const std::unique_ptr& b) { - if (a.get() == b.get()) { - return true; - } - if (!a || !b) { - return false; - } - return PigeonInternalDeepEquals(*a, *b); -} - -bool PigeonInternalDeepEquals(const ::flutter::EncodableValue& a, - const ::flutter::EncodableValue& b) { - if (a.index() != b.index()) { - return false; - } - if (const double* da = std::get_if(&a)) { - return PigeonInternalDeepEquals(*da, std::get(b)); - } else if (const ::flutter::EncodableList* la = - std::get_if<::flutter::EncodableList>(&a)) { - return PigeonInternalDeepEquals(*la, std::get<::flutter::EncodableList>(b)); - } else if (const ::flutter::EncodableMap* ma = - std::get_if<::flutter::EncodableMap>(&a)) { - return PigeonInternalDeepEquals(*ma, std::get<::flutter::EncodableMap>(b)); - } - return a == b; -} - -template -size_t PigeonInternalDeepHash(const T& v); - -size_t PigeonInternalDeepHash(const double& v); - -template -size_t PigeonInternalDeepHash(const std::vector& v); - -template -size_t PigeonInternalDeepHash(const std::map& v); - -template -size_t PigeonInternalDeepHash(const std::optional& v); - -template -size_t PigeonInternalDeepHash(const std::unique_ptr& v); - -size_t PigeonInternalDeepHash(const ::flutter::EncodableValue& v); - -template -size_t PigeonInternalDeepHash(const T& v) { - return std::hash()(v); -} - -template -size_t PigeonInternalDeepHash(const std::vector& v) { - size_t result = 1; - for (const auto& item : v) { - result = result * 31 + PigeonInternalDeepHash(item); - } - return result; -} - -template -size_t PigeonInternalDeepHash(const std::map& v) { - size_t result = 0; - for (const auto& kv : v) { - result += ((PigeonInternalDeepHash(kv.first) * 31) ^ - PigeonInternalDeepHash(kv.second)); - } - return result; -} - -size_t PigeonInternalDeepHash(const double& v) { - if (std::isnan(v)) { - // Normalize NaN to a consistent hash. - return std::hash()(std::numeric_limits::quiet_NaN()); - } - if (v == 0.0) { - // Normalize -0.0 to 0.0 so they have the same hash code. - return std::hash()(0.0); - } - return std::hash()(v); -} - -template -size_t PigeonInternalDeepHash(const std::optional& v) { - return v ? PigeonInternalDeepHash(*v) : 0; -} - -template -size_t PigeonInternalDeepHash(const std::unique_ptr& v) { - return v ? PigeonInternalDeepHash(*v) : 0; -} - -size_t PigeonInternalDeepHash(const ::flutter::EncodableValue& v) { - size_t result = v.index(); - if (const double* dv = std::get_if(&v)) { - result = result * 31 + PigeonInternalDeepHash(*dv); - } else if (const ::flutter::EncodableList* lv = - std::get_if<::flutter::EncodableList>(&v)) { - result = result * 31 + PigeonInternalDeepHash(*lv); - } else if (const ::flutter::EncodableMap* mv = - std::get_if<::flutter::EncodableMap>(&v)) { - result = result * 31 + PigeonInternalDeepHash(*mv); - } else { - std::visit( - [&result](const auto& val) { - using T = std::decay_t; - if constexpr (!std::is_same_v && - !std::is_same_v && - !std::is_same_v && - !std::is_same_v && - !std::is_same_v) { - result = result * 31 + PigeonInternalDeepHash(val); - } - }, - v); - } - return result; -} - -} // namespace - -PigeonInternalCodecSerializer::PigeonInternalCodecSerializer() {} - -EncodableValue PigeonInternalCodecSerializer::ReadValueOfType( - uint8_t type, ::flutter::ByteStreamReader* stream) const { - return ::flutter::StandardCodecSerializer::ReadValueOfType(type, stream); -} - -void PigeonInternalCodecSerializer::WriteValue( - const EncodableValue& value, ::flutter::ByteStreamWriter* stream) const { - ::flutter::StandardCodecSerializer::WriteValue(value, stream); -} - -/// The codec used by FirebaseAppCheckHostApi. -const ::flutter::StandardMessageCodec& FirebaseAppCheckHostApi::GetCodec() { - return ::flutter::StandardMessageCodec::GetInstance( - &PigeonInternalCodecSerializer::GetInstance()); -} - -// Sets up an instance of `FirebaseAppCheckHostApi` to handle messages through -// the `binary_messenger`. -void FirebaseAppCheckHostApi::SetUp( - ::flutter::BinaryMessenger* binary_messenger, - FirebaseAppCheckHostApi* api) { - FirebaseAppCheckHostApi::SetUp(binary_messenger, api, ""); -} - -void FirebaseAppCheckHostApi::SetUp( - ::flutter::BinaryMessenger* binary_messenger, FirebaseAppCheckHostApi* api, - const std::string& message_channel_suffix) { - const std::string prepended_suffix = - message_channel_suffix.length() > 0 - ? std::string(".") + message_channel_suffix - : ""; - { - BasicMessageChannel<> channel( - binary_messenger, - "dev.flutter.pigeon.firebase_app_check_platform_interface." - "FirebaseAppCheckHostApi.activate" + - prepended_suffix, - &GetCodec()); - if (api != nullptr) { - channel.SetMessageHandler( - [api](const EncodableValue& message, - const ::flutter::MessageReply& reply) { - try { - const auto& args = std::get(message); - const auto& encodable_app_name_arg = args.at(0); - if (encodable_app_name_arg.IsNull()) { - reply(WrapError("app_name_arg unexpectedly null.")); - return; - } - const auto& app_name_arg = - std::get(encodable_app_name_arg); - const auto& encodable_android_provider_arg = args.at(1); - const auto* android_provider_arg = - std::get_if(&encodable_android_provider_arg); - const auto& encodable_apple_provider_arg = args.at(2); - const auto* apple_provider_arg = - std::get_if(&encodable_apple_provider_arg); - const auto& encodable_debug_token_arg = args.at(3); - const auto* debug_token_arg = - std::get_if(&encodable_debug_token_arg); - api->Activate(app_name_arg, android_provider_arg, - apple_provider_arg, debug_token_arg, - [reply](std::optional&& output) { - if (output.has_value()) { - reply(WrapError(output.value())); - return; - } - EncodableList wrapped; - wrapped.push_back(EncodableValue()); - reply(EncodableValue(std::move(wrapped))); - }); - } catch (const std::exception& exception) { - reply(WrapError(exception.what())); - } - }); - } else { - channel.SetMessageHandler(nullptr); - } - } - { - BasicMessageChannel<> channel( - binary_messenger, - "dev.flutter.pigeon.firebase_app_check_platform_interface." - "FirebaseAppCheckHostApi.getToken" + - prepended_suffix, - &GetCodec()); - if (api != nullptr) { - channel.SetMessageHandler( - [api](const EncodableValue& message, - const ::flutter::MessageReply& reply) { - try { - const auto& args = std::get(message); - const auto& encodable_app_name_arg = args.at(0); - if (encodable_app_name_arg.IsNull()) { - reply(WrapError("app_name_arg unexpectedly null.")); - return; - } - const auto& app_name_arg = - std::get(encodable_app_name_arg); - const auto& encodable_force_refresh_arg = args.at(1); - if (encodable_force_refresh_arg.IsNull()) { - reply(WrapError("force_refresh_arg unexpectedly null.")); - return; - } - const auto& force_refresh_arg = - std::get(encodable_force_refresh_arg); - api->GetToken( - app_name_arg, force_refresh_arg, - [reply](ErrorOr>&& output) { - if (output.has_error()) { - reply(WrapError(output.error())); - return; - } - EncodableList wrapped; - auto output_optional = std::move(output).TakeValue(); - if (output_optional) { - wrapped.push_back( - EncodableValue(std::move(output_optional).value())); - } else { - wrapped.push_back(EncodableValue()); - } - reply(EncodableValue(std::move(wrapped))); - }); - } catch (const std::exception& exception) { - reply(WrapError(exception.what())); - } - }); - } else { - channel.SetMessageHandler(nullptr); - } - } - { - BasicMessageChannel<> channel( - binary_messenger, - "dev.flutter.pigeon.firebase_app_check_platform_interface." - "FirebaseAppCheckHostApi.setTokenAutoRefreshEnabled" + - prepended_suffix, - &GetCodec()); - if (api != nullptr) { - channel.SetMessageHandler( - [api](const EncodableValue& message, - const ::flutter::MessageReply& reply) { - try { - const auto& args = std::get(message); - const auto& encodable_app_name_arg = args.at(0); - if (encodable_app_name_arg.IsNull()) { - reply(WrapError("app_name_arg unexpectedly null.")); - return; - } - const auto& app_name_arg = - std::get(encodable_app_name_arg); - const auto& encodable_is_token_auto_refresh_enabled_arg = - args.at(1); - if (encodable_is_token_auto_refresh_enabled_arg.IsNull()) { - reply(WrapError( - "is_token_auto_refresh_enabled_arg unexpectedly null.")); - return; - } - const auto& is_token_auto_refresh_enabled_arg = - std::get(encodable_is_token_auto_refresh_enabled_arg); - api->SetTokenAutoRefreshEnabled( - app_name_arg, is_token_auto_refresh_enabled_arg, - [reply](std::optional&& output) { - if (output.has_value()) { - reply(WrapError(output.value())); - return; - } - EncodableList wrapped; - wrapped.push_back(EncodableValue()); - reply(EncodableValue(std::move(wrapped))); - }); - } catch (const std::exception& exception) { - reply(WrapError(exception.what())); - } - }); - } else { - channel.SetMessageHandler(nullptr); - } - } - { - BasicMessageChannel<> channel( - binary_messenger, - "dev.flutter.pigeon.firebase_app_check_platform_interface." - "FirebaseAppCheckHostApi.registerTokenListener" + - prepended_suffix, - &GetCodec()); - if (api != nullptr) { - channel.SetMessageHandler( - [api](const EncodableValue& message, - const ::flutter::MessageReply& reply) { - try { - const auto& args = std::get(message); - const auto& encodable_app_name_arg = args.at(0); - if (encodable_app_name_arg.IsNull()) { - reply(WrapError("app_name_arg unexpectedly null.")); - return; - } - const auto& app_name_arg = - std::get(encodable_app_name_arg); - api->RegisterTokenListener( - app_name_arg, [reply](ErrorOr&& output) { - if (output.has_error()) { - reply(WrapError(output.error())); - return; - } - EncodableList wrapped; - wrapped.push_back( - EncodableValue(std::move(output).TakeValue())); - reply(EncodableValue(std::move(wrapped))); - }); - } catch (const std::exception& exception) { - reply(WrapError(exception.what())); - } - }); - } else { - channel.SetMessageHandler(nullptr); - } - } - { - BasicMessageChannel<> channel( - binary_messenger, - "dev.flutter.pigeon.firebase_app_check_platform_interface." - "FirebaseAppCheckHostApi.getLimitedUseAppCheckToken" + - prepended_suffix, - &GetCodec()); - if (api != nullptr) { - channel.SetMessageHandler( - [api](const EncodableValue& message, - const ::flutter::MessageReply& reply) { - try { - const auto& args = std::get(message); - const auto& encodable_app_name_arg = args.at(0); - if (encodable_app_name_arg.IsNull()) { - reply(WrapError("app_name_arg unexpectedly null.")); - return; - } - const auto& app_name_arg = - std::get(encodable_app_name_arg); - api->GetLimitedUseAppCheckToken( - app_name_arg, [reply](ErrorOr&& output) { - if (output.has_error()) { - reply(WrapError(output.error())); - return; - } - EncodableList wrapped; - wrapped.push_back( - EncodableValue(std::move(output).TakeValue())); - reply(EncodableValue(std::move(wrapped))); - }); - } catch (const std::exception& exception) { - reply(WrapError(exception.what())); - } - }); - } else { - channel.SetMessageHandler(nullptr); - } - } -} - -EncodableValue FirebaseAppCheckHostApi::WrapError( - std::string_view error_message) { - return EncodableValue( - EncodableList{EncodableValue(std::string(error_message)), - EncodableValue("Error"), EncodableValue()}); -} - -EncodableValue FirebaseAppCheckHostApi::WrapError(const FlutterError& error) { - return EncodableValue(EncodableList{EncodableValue(error.code()), - EncodableValue(error.message()), - error.details()}); -} - -} // namespace firebase_app_check_windows diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/windows/messages.g.h b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/windows/messages.g.h deleted file mode 100644 index 50ae4829..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/windows/messages.g.h +++ /dev/null @@ -1,119 +0,0 @@ -// Copyright 2025, the Chromium project authors. Please see the AUTHORS file -// for details. All rights reserved. Use of this source code is governed by a -// BSD-style license that can be found in the LICENSE file. -// Autogenerated from Pigeon (v26.3.4), do not edit directly. -// See also: https://pub.dev/packages/pigeon - -#ifndef PIGEON_MESSAGES_G_H_ -#define PIGEON_MESSAGES_G_H_ -#include -#include -#include -#include - -#include -#include -#include - -namespace firebase_app_check_windows { - -// Generated class from Pigeon. - -class FlutterError { - public: - explicit FlutterError(const std::string& code) : code_(code) {} - explicit FlutterError(const std::string& code, const std::string& message) - : code_(code), message_(message) {} - explicit FlutterError(const std::string& code, const std::string& message, - const ::flutter::EncodableValue& details) - : code_(code), message_(message), details_(details) {} - - const std::string& code() const { return code_; } - const std::string& message() const { return message_; } - const ::flutter::EncodableValue& details() const { return details_; } - - private: - std::string code_; - std::string message_; - ::flutter::EncodableValue details_; -}; - -template -class ErrorOr { - public: - ErrorOr(const T& rhs) : v_(rhs) {} - ErrorOr(const T&& rhs) : v_(std::move(rhs)) {} - ErrorOr(const FlutterError& rhs) : v_(rhs) {} - ErrorOr(const FlutterError&& rhs) : v_(std::move(rhs)) {} - - bool has_error() const { return std::holds_alternative(v_); } - const T& value() const { return std::get(v_); }; - const FlutterError& error() const { return std::get(v_); }; - - private: - friend class FirebaseAppCheckHostApi; - ErrorOr() = default; - T TakeValue() && { return std::get(std::move(v_)); } - - std::variant v_; -}; - -class PigeonInternalCodecSerializer - : public ::flutter::StandardCodecSerializer { - public: - PigeonInternalCodecSerializer(); - inline static PigeonInternalCodecSerializer& GetInstance() { - static PigeonInternalCodecSerializer sInstance; - return sInstance; - } - - void WriteValue(const ::flutter::EncodableValue& value, - ::flutter::ByteStreamWriter* stream) const override; - - protected: - ::flutter::EncodableValue ReadValueOfType( - uint8_t type, ::flutter::ByteStreamReader* stream) const override; -}; - -// Generated interface from Pigeon that represents a handler of messages from -// Flutter. -class FirebaseAppCheckHostApi { - public: - FirebaseAppCheckHostApi(const FirebaseAppCheckHostApi&) = delete; - FirebaseAppCheckHostApi& operator=(const FirebaseAppCheckHostApi&) = delete; - virtual ~FirebaseAppCheckHostApi() {} - virtual void Activate( - const std::string& app_name, const std::string* android_provider, - const std::string* apple_provider, const std::string* debug_token, - std::function reply)> result) = 0; - virtual void GetToken( - const std::string& app_name, bool force_refresh, - std::function> reply)> - result) = 0; - virtual void SetTokenAutoRefreshEnabled( - const std::string& app_name, bool is_token_auto_refresh_enabled, - std::function reply)> result) = 0; - virtual void RegisterTokenListener( - const std::string& app_name, - std::function reply)> result) = 0; - virtual void GetLimitedUseAppCheckToken( - const std::string& app_name, - std::function reply)> result) = 0; - - // The codec used by FirebaseAppCheckHostApi. - static const ::flutter::StandardMessageCodec& GetCodec(); - // Sets up an instance of `FirebaseAppCheckHostApi` to handle messages through - // the `binary_messenger`. - static void SetUp(::flutter::BinaryMessenger* binary_messenger, - FirebaseAppCheckHostApi* api); - static void SetUp(::flutter::BinaryMessenger* binary_messenger, - FirebaseAppCheckHostApi* api, - const std::string& message_channel_suffix); - static ::flutter::EncodableValue WrapError(std::string_view error_message); - static ::flutter::EncodableValue WrapError(const FlutterError& error); - - protected: - FirebaseAppCheckHostApi() = default; -}; -} // namespace firebase_app_check_windows -#endif // PIGEON_MESSAGES_G_H_ diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/windows/plugin_version.h.in b/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/windows/plugin_version.h.in deleted file mode 100644 index 0a52f845..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_app_check-0.4.5/windows/plugin_version.h.in +++ /dev/null @@ -1,13 +0,0 @@ -// Copyright 2025, the Chromium project authors. Please see the AUTHORS file -// for details. All rights reserved. Use of this source code is governed by a -// BSD-style license that can be found in the LICENSE file. - -#ifndef PLUGIN_VERSION_CONFIG_H -#define PLUGIN_VERSION_CONFIG_H - -namespace firebase_app_check_windows { - -std::string getPluginVersion() { return "@PLUGIN_VERSION@"; } -} // namespace firebase_app_check_windows - -#endif // PLUGIN_VERSION_CONFIG_H diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/CHANGELOG.md b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/CHANGELOG.md deleted file mode 100644 index b712b5e1..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/CHANGELOG.md +++ /dev/null @@ -1,1613 +0,0 @@ -## 6.5.4 - - - **FIX**: resolve FlutterSceneLifeCycleDelegate conformance guard ([#18385](https://github.com/firebase/flutterfire/issues/18385)). ([48d67196](https://github.com/firebase/flutterfire/commit/48d67196a10affe09724529df5f67cf40b62bccf)) - -## 6.5.3 - - - Update a dependency to the latest release. - -## 6.5.2 - - - **FIX**(auth,android): update token retrieval in PigeonParser to handle Number type correctly ([#18328](https://github.com/firebase/flutterfire/issues/18328)). ([3b77147b](https://github.com/firebase/flutterfire/commit/3b77147bc00bb19af5f4821436a1a4cdd8ff6791)) - - **DOCS**(auth): clarify behavior of password reset email with email enumeration protection enabled ([#18296](https://github.com/firebase/flutterfire/issues/18296)). ([0bcce87a](https://github.com/firebase/flutterfire/commit/0bcce87a17830797dae6ff3c1a8ba4ce210c2c0d)) - -## 6.5.1 - - - Update a dependency to the latest release. - -## 6.5.0 - - - **REFACTOR**: move all packages to workspace ([#18182](https://github.com/firebase/flutterfire/issues/18182)). ([6cdfcb10](https://github.com/firebase/flutterfire/commit/6cdfcb103da7be46ccb190d7e107d8c537aa1ff8)) - - **FIX**: update core, auth and app-check logic so internal resources on method channels are properly disposed ([#18268](https://github.com/firebase/flutterfire/issues/18268)). ([a0de4ed8](https://github.com/firebase/flutterfire/commit/a0de4ed86b0dff89bb9e557f2a54f38cd2546016)) - - **FIX**(auth,apple): remove incorrect paths in Package.swift files search paths ([#18239](https://github.com/firebase/flutterfire/issues/18239)). ([7c2fa5b8](https://github.com/firebase/flutterfire/commit/7c2fa5b83201f2f68e031476dc37ad41809215f2)) - - **FIX**(auth,iOS): update import path for autogenerated messages ([#18227](https://github.com/firebase/flutterfire/issues/18227)). ([4351179d](https://github.com/firebase/flutterfire/commit/4351179d357eeab6b23ec66f45d558c02d3fde69)) - - **FEAT**(core): Add Auth and AppCheck as App's registered service. ([#18237](https://github.com/firebase/flutterfire/issues/18237)). ([7ce191cb](https://github.com/firebase/flutterfire/commit/7ce191cbd598b299cd0ec64b45d1366914367a5d)) - - **FEAT**: upgrade pigeon to version 26.3.4 ([#18205](https://github.com/firebase/flutterfire/issues/18205)). ([cb6b4aef](https://github.com/firebase/flutterfire/commit/cb6b4aeffc568755ea3eebe32b998f00237bf5ad)) - - **FEAT**(auth,android): add revokeAccessToken support for Android ([#18206](https://github.com/firebase/flutterfire/issues/18206)) ([#18207](https://github.com/firebase/flutterfire/issues/18207)). ([7e0a2227](https://github.com/firebase/flutterfire/commit/7e0a222700178a57d064c27b4ef62cefdda1e253)) - -## 6.4.0 - - - **FIX**(auth,ios): serialize Sign in with Apple to prevent crash on overlapping requests ([#18172](https://github.com/firebase/flutterfire/issues/18172)). ([752cbcaa](https://github.com/firebase/flutterfire/commit/752cbcaa57f887a8fea3bda728bb8482290fa049)) - - **FEAT**: use local firebase_core instead of remote SPM dependency ([#18141](https://github.com/firebase/flutterfire/issues/18141)). ([995caf40](https://github.com/firebase/flutterfire/commit/995caf400df80c0fde7151c651ccc6c0f756e381)) - -## 6.3.0 - - - **FIX**(auth): fix inconsistence in casing in the native iOS SDK and Web SDK ([#18086](https://github.com/firebase/flutterfire/issues/18086)). ([60b5cd5c](https://github.com/firebase/flutterfire/commit/60b5cd5c7888fa932124958125e87bd39e1c323c)) - - **FIX**(auth,ios): fix crash that could happen when reloading currentUser informations ([#18065](https://github.com/firebase/flutterfire/issues/18065)). ([6e6f6546](https://github.com/firebase/flutterfire/commit/6e6f65468c07045e1c21b1d7970234b2dfc16b3d)) - - **FIX**(auth,windows): add pluginregistry to properly restore state on Windows ([#18049](https://github.com/firebase/flutterfire/issues/18049)). ([8d715a77](https://github.com/firebase/flutterfire/commit/8d715a777a4827bff59f820d9978007bd7568a7d)) - - **FEAT**(ios): migrate iOS to UIScene lifecycle ([#18054](https://github.com/firebase/flutterfire/issues/18054)). ([3ffa4110](https://github.com/firebase/flutterfire/commit/3ffa411098132fd5182a84be4e7a226106bc7451)) - - **DOCS**(auth): add documentation about errors code when Email Enumeration Protection is activated ([#18084](https://github.com/firebase/flutterfire/issues/18084)). ([476ba53f](https://github.com/firebase/flutterfire/commit/476ba53f016f20009fd571ad6ab359631f97094b)) - -## 6.2.0 - - - **FEAT**(remote-config,windows): add support for windows ([#18006](https://github.com/firebase/flutterfire/issues/18006)). ([a6ec167f](https://github.com/firebase/flutterfire/commit/a6ec167f4ece9c9b455a916366781f482cc380b3)) - -## 6.1.4 - - - Update a dependency to the latest release. - -## 6.1.3 - - - Update a dependency to the latest release. - -## 6.1.2 - - - Update a dependency to the latest release. - -## 6.1.1 - - - Update a dependency to the latest release. - -## 6.1.0 - - - **FEAT**(auth): TOTP macOS support ([#17513](https://github.com/firebase/flutterfire/issues/17513)). ([41890d62](https://github.com/firebase/flutterfire/commit/41890d62a49258df097c19fd3b90e0b5de181526)) - -## 6.0.2 - - - Update a dependency to the latest release. - -## 6.0.1 - - - **FIX**(auth,apple): Move FirebaseAuth imports to implementation files ([#17607](https://github.com/firebase/flutterfire/issues/17607)). ([0c3ccd37](https://github.com/firebase/flutterfire/commit/0c3ccd3722038a47e656b0a703a0395a78befc5b)) - -## 6.0.0 - -> Note: This release has breaking changes. - - - **FEAT**(auth): validatePassword method/PasswordPolicy Support ([#17439](https://github.com/firebase/flutterfire/issues/17439)). ([9a032b34](https://github.com/firebase/flutterfire/commit/9a032b344d6a22c1e3a181ae27e511939f2d8972)) - - **BREAKING** **FEAT**: bump iOS SDK to version 12.0.0 ([#17549](https://github.com/firebase/flutterfire/issues/17549)). ([b2619e68](https://github.com/firebase/flutterfire/commit/b2619e685fec897513483df1d7be347b64f95606)) - - **BREAKING** **FEAT**(auth): remove deprecated functions ([#17562](https://github.com/firebase/flutterfire/issues/17562)). ([d50aad95](https://github.com/firebase/flutterfire/commit/d50aad954443904d64d4ebd4442ebc63ed702986)) - - **BREAKING** **FEAT**: bump Android SDK to version 34.0.0 ([#17554](https://github.com/firebase/flutterfire/issues/17554)). ([a5bdc051](https://github.com/firebase/flutterfire/commit/a5bdc051d40ee44e39cf0b8d2a7801bc6f618b67)) - -## Removed Methods - -- `ActionCodeSettings.dynamicLinkDomain` - Firebase Dynamic Links is deprecated and will be shut down -- `MicrosoftAuthProvider.credential()` - Use `signInWithProvider(MicrosoftAuthProvider)` instead -- `FirebaseAuth.instanceFor()` persistence parameter - Use `setPersistence()` instead -- `FirebaseAuth.fetchSignInMethodsForEmail()` - Removed for security best practices -- `User.updateEmail()` - Use `verifyBeforeUpdateEmail()` instead - -## Migration Guide - -### ActionCodeSettings -```dart -// Before -ActionCodeSettings( - url: 'https://example.com', - dynamicLinkDomain: 'example.page.link', -) - -// After -ActionCodeSettings( - url: 'https://example.com', - linkDomain: 'your-custom-domain.com', // Use custom Firebase Hosting domain -) -``` - -### Microsoft Authentication -```dart -// Before -final credential = MicrosoftAuthProvider.credential(accessToken); -await FirebaseAuth.instance.signInWithCredential(credential); - -// After -final provider = MicrosoftAuthProvider(); -await FirebaseAuth.instance.signInWithProvider(provider); -``` - -### FirebaseAuth Instance -```dart -// Before -FirebaseAuth.instanceFor(app: app, persistence: Persistence.local); - -// After -final auth = FirebaseAuth.instanceFor(app: app); -auth.setPersistence(Persistence.local); -``` - -### Email Updates -```dart -// Before -await user.updateEmail('new@email.com'); - -// After -await user.verifyBeforeUpdateEmail('new@email.com'); -``` - -### Email Sign-in Methods -The `fetchSignInMethodsForEmail()` method has been removed for security reasons. Consider implementing alternative authentication flows that don't require email enumeration. - -## 5.7.0 - - - **FEAT**(auth,macos): add support for `publish` and `addApplicationDelegate` on macOS FlutterPluginRegistrar ([#17518](https://github.com/firebase/flutterfire/issues/17518)). ([376bb6ea](https://github.com/firebase/flutterfire/commit/376bb6ea8878df3f25cc1416fe26ace2203fd793)) - -## 5.6.2 - - - Update a dependency to the latest release. - -## 5.6.1 - - - Update a dependency to the latest release. - -## 5.6.0 - - - **FEAT**(auth): add support for initializeRecaptchaConfig ([#17365](https://github.com/firebase/flutterfire/issues/17365)). ([73f9028e](https://github.com/firebase/flutterfire/commit/73f9028e114874fddc8a4f76f22b247504a95a02)) - -## 5.5.4 - - - **FIX**(auth,apple): prevent EXC_BAD_ACCESS crash in Apple Sign-In completion handler ([#17273](https://github.com/firebase/flutterfire/issues/17273)). ([cc7d28ae](https://github.com/firebase/flutterfire/commit/cc7d28ae09036464f7ece6a2637bae6a3c7a292d)) - - **DOCS**(firebase_auth): Removed duplicates; fixed typos; removed "unnecessary use of a null check" ([#16815](https://github.com/firebase/flutterfire/issues/16815)). ([0eb17e13](https://github.com/firebase/flutterfire/commit/0eb17e13587ebfe5c8d64cbba9c0a2ccd0b7ce90)) - -## 5.5.3 - - - **FIX**(auth,iOS): include missing email and credential in account-exists-with-different-credential error ([#17180](https://github.com/firebase/flutterfire/issues/17180)). ([2a0bdc64](https://github.com/firebase/flutterfire/commit/2a0bdc64086e99f8a98bd18b472b36bcfe05a9a4)) - -## 5.5.2 - - - Update a dependency to the latest release. - -## 5.5.1 - - - Update a dependency to the latest release. - -## 5.5.0 - - - **FEAT**(auth): support for `linkDomain` in `ActionCodeSettings` ([#17099](https://github.com/firebase/flutterfire/issues/17099)). ([090cdb20](https://github.com/firebase/flutterfire/commit/090cdb2078dc66e58aa4b1a3ef9a48101467b6ac)) - -## 5.4.2 - - - Update a dependency to the latest release. - -## 5.4.1 - - - Update a dependency to the latest release. - -## 5.4.0 - - - - **FIX**: Remove dart:io imports for analytics, auth and app check ([#16827](https://github.com/firebase/flutterfire/issues/16827)). ([8c7f57c4](https://github.com/firebase/flutterfire/commit/8c7f57c4a181b8cae3b0d2ba564682ad7d68f484)) - - **FIX**(firebase_auth): Fix `std::variant` compiler errors with VS 2022 17.12 ([#16840](https://github.com/firebase/flutterfire/issues/16840)). ([b88b71f4](https://github.com/firebase/flutterfire/commit/b88b71f45c856eb0ff2d2caefb8b6aa367e91418)) - - **FEAT**(auth): Swift Package Manager support ([#16773](https://github.com/firebase/flutterfire/issues/16773)). ([69abbe19](https://github.com/firebase/flutterfire/commit/69abbe19bb37e6eb450b0b5123a74c2d68a761c7)) - -## 5.3.4 - - - **FIX**(auth,android): `signInWithProvider()` for non-default instances ([#13522](https://github.com/firebase/flutterfire/issues/13522)). ([fe016a44](https://github.com/firebase/flutterfire/commit/fe016a4487993c8aa444e15c9881fe355b5f6624)) - -## 5.3.3 - - - Update a dependency to the latest release. - -## 5.3.2 - - - **FIX**(auth,apple): set nullability on pigeon parser method ([#13571](https://github.com/firebase/flutterfire/issues/13571)). ([7e8a1b2e](https://github.com/firebase/flutterfire/commit/7e8a1b2e5be454b168d942056c4abb7f8e92a9a8)) - -## 5.3.1 - - - **FIX**(all,apple): use modular headers to import ([#13400](https://github.com/firebase/flutterfire/issues/13400)). ([d7d2d4b9](https://github.com/firebase/flutterfire/commit/d7d2d4b93e7c00226027fffde46699f3d5388a41)) - -## 5.3.0 - - - **FEAT**(fdc): Initial Release of Data Connect ([#13313](https://github.com/firebase/flutterfire/issues/13313)). ([603a6726](https://github.com/firebase/flutterfire/commit/603a67261a2f7cbdd6ef594bfaef480aeb820683)) - -## 5.2.1 - - - Update a dependency to the latest release. - -## 5.2.0 - - - **FEAT**: bump iOS SDK to version 11.0.0 ([#13158](https://github.com/firebase/flutterfire/issues/13158)). ([c0e0c997](https://github.com/firebase/flutterfire/commit/c0e0c99703ea394d1bb873ac225c5fe3539b002d)) - - **DOCS**: remove reference to flutter.io and firebase.flutter.dev ([#13152](https://github.com/firebase/flutterfire/issues/13152)). ([5f0874b9](https://github.com/firebase/flutterfire/commit/5f0874b91e28a203dd62d37d391e5760c91f5729)) - -## 5.1.4 - - - **FIX**(firebase_auth): added supporting rawNonce for OAuth credential on Windows platform ([#13086](https://github.com/firebase/flutterfire/issues/13086)). ([12e87de9](https://github.com/firebase/flutterfire/commit/12e87de93ddc39d41a6a634d7d03766b3e36996a)) - -## 5.1.3 - - - **DOCS**(auth): add information about error codes for email/password functions ([#13100](https://github.com/firebase/flutterfire/issues/13100)). ([aeafc356](https://github.com/firebase/flutterfire/commit/aeafc356953a0531003f765e766ffcff2387401d)) - -## 5.1.2 - - - **DOCS**(auth): add information about error codes for `verifyBeforeUpdateEmail` ([#13036](https://github.com/firebase/flutterfire/issues/13036)). ([8ef7421d](https://github.com/firebase/flutterfire/commit/8ef7421d6a524938087769537ac70ec249096ed4)) - -## 5.1.1 - - - **FIX**(auth,apple): bug with cached `AuthCredential`, hash key was producing different value ([#12957](https://github.com/firebase/flutterfire/issues/12957)). ([ef0077e3](https://github.com/firebase/flutterfire/commit/ef0077e37744360264eb60d6eea4359a5cc13227)) - - **FIX**(auth,windows): fix a crash that could happen when using `sendEmailVerification` or `sendPasswordResetEmail` ([#12946](https://github.com/firebase/flutterfire/issues/12946)). ([a1008290](https://github.com/firebase/flutterfire/commit/a100829087dbf83ea59e73c3811d87b67e2a4012)) - - **DOCS**: Update documentation for auth/user-not-found exception to reflect email enumeration protection ([#12964](https://github.com/firebase/flutterfire/issues/12964)). ([125f8209](https://github.com/firebase/flutterfire/commit/125f820971331ec75e7fe59cff3b296c42c7d8f3)) - -## 5.1.0 - - - **FIX**(auth,ios): fix the parsing of an error that could specifically happen when using MicrosoftProvider ([#12920](https://github.com/firebase/flutterfire/issues/12920)). ([3b415e64](https://github.com/firebase/flutterfire/commit/3b415e641e6107b131a170277bbc1fa0e2908e27)) - - **FEAT**(auth,apple): create a credential with `idToken`, `rawNonce` & `appleFullPersonName` ([#12356](https://github.com/firebase/flutterfire/issues/12356)). ([17793080](https://github.com/firebase/flutterfire/commit/177930802ca13a3af1610968e54b8ce79f0781ca)) - -## 5.0.0 - -> Note: This release has breaking changes. - - - **BREAKING** **REFACTOR**: android plugins require `minSdk 21`, auth requires `minSdk 23` ahead of android BOM `>=33.0.0` ([#12873](https://github.com/firebase/flutterfire/issues/12873)). ([52accfc6](https://github.com/firebase/flutterfire/commit/52accfc6c39d6360d9c0f36efe369ede990b7362)) - - **BREAKING** **REFACTOR**: bump all iOS deployment targets to iOS 13 ahead of Firebase iOS SDK `v11` breaking change ([#12872](https://github.com/firebase/flutterfire/issues/12872)). ([de0cea2c](https://github.com/firebase/flutterfire/commit/de0cea2c3c36694a76361be784255986fac84a43)) - - **BREAKING** **REFACTOR**(auth): remove deprecated API ahead of breaking change release ([#12859](https://github.com/firebase/flutterfire/issues/12859)). ([995fa7e1](https://github.com/firebase/flutterfire/commit/995fa7e19540fe52ba75a66865823c8ca86b6657)) - -## 4.20.0 - - - **FIX**(auth,android): remove unnecessary error type guarding ([#12816](https://github.com/firebase/flutterfire/issues/12816)). ([7d4c200a](https://github.com/firebase/flutterfire/commit/7d4c200ac6f06a50c2e7ee852aea2c9fa7bcb0ff)) - - **FEAT**(auth,windows): `verifyBeforeUpdateEmail()` API support ([#12825](https://github.com/firebase/flutterfire/issues/12825)). ([111b1ad9](https://github.com/firebase/flutterfire/commit/111b1ad91e985b0462532bc579e64342b7f46fe2)) - - **FEAT**(auth): update Pigeon version to 19 ([#12828](https://github.com/firebase/flutterfire/issues/12828)). ([5e76153f](https://github.com/firebase/flutterfire/commit/5e76153fbcd337a26e83abc2b43b651ab6c501bc)) - - **FEAT**: bump CPP SDK to version 11.10.0 ([#12749](https://github.com/firebase/flutterfire/issues/12749)). ([2e410a23](https://github.com/firebase/flutterfire/commit/2e410a232758292baa70f8e78464bd3c62ec0373)) - -## 4.19.6 - - - **FIX**(auth,android): allow nullable `accessToken` when creating `OAuthProvider` ([#12795](https://github.com/firebase/flutterfire/issues/12795)). ([490319d4](https://github.com/firebase/flutterfire/commit/490319d4c046917bdd227c19fd37185d63076b4a)) - -## 4.19.5 - - - **FIX**(auth,windows): allow `idToken` and `accessToken` to be nullable to stop windows crashing for `signInWithCredential()` ([#12688](https://github.com/firebase/flutterfire/issues/12688)). ([ca9f92d0](https://github.com/firebase/flutterfire/commit/ca9f92d05f717b46c80307987f560454b90a4d67)) - -## 4.19.4 - - - Update a dependency to the latest release. - -## 4.19.3 - - - **FIX**(auth,ios): Give more details on internal error when calling `sendSignInLinkToEmail`. ([#12671](https://github.com/firebase/flutterfire/issues/12671)). ([2b086029](https://github.com/firebase/flutterfire/commit/2b0860296bf577c99810643bb286b7219ee9291f)) - -## 4.19.2 - - - Update a dependency to the latest release. - -## 4.19.1 - - - Update a dependency to the latest release. - -## 4.19.0 - - - **FEAT**(android): Bump `compileSdk` version of Android plugins to latest stable (34) ([#12566](https://github.com/firebase/flutterfire/issues/12566)). ([e891fab2](https://github.com/firebase/flutterfire/commit/e891fab291e9beebc223000b133a6097e066a7fc)) - -## 4.18.0 - - - **FIX**(auth,android): fixing an issue that could cause `getEnrolledFactors` to return an empty list if signing out in the same app session ([#12488](https://github.com/firebase/flutterfire/issues/12488)). ([04280a31](https://github.com/firebase/flutterfire/commit/04280a31310dbbe51a8e619f031f5190d02e695d)) - - **FEAT**(firebase_auth): add custom auth domain setter to Firebase Auth ([#12218](https://github.com/firebase/flutterfire/issues/12218)). ([e1297800](https://github.com/firebase/flutterfire/commit/e12978009e0fd785f267db560972ab0bbe021fcb)) - - **FEAT**(auth,windows): add support for oAuth with credentials on Windows ([#12154](https://github.com/firebase/flutterfire/issues/12154)). ([cc708e6f](https://github.com/firebase/flutterfire/commit/cc708e6fdce6053772da0f08c9872e1dbe9899b1)) - -## 4.17.9 - - - Update a dependency to the latest release. - -## 4.17.8 - - - Update a dependency to the latest release. - -## 4.17.7 - - - Update a dependency to the latest release. - -## 4.17.6 - - - Update a dependency to the latest release. - -## 4.17.5 - - - Update a dependency to the latest release. - -## 4.17.4 - - - Update a dependency to the latest release. - -## 4.17.3 - - - Update a dependency to the latest release. - -## 4.17.2 - - - **FIX**(auth,web): fix null safety issue in typing JS Interop ([#12250](https://github.com/firebase/flutterfire/issues/12250)). ([d0d30405](https://github.com/firebase/flutterfire/commit/d0d30405a895ae221603ddd158b1cb1636312fb4)) - -## 4.17.1 - - - Update a dependency to the latest release. - -## 4.17.0 - - - **FIX**(auth): deprecate `updateEmail()` & `fetchSignInMethodsForEmail()` ([#12143](https://github.com/firebase/flutterfire/issues/12143)). ([dcfd9e80](https://github.com/firebase/flutterfire/commit/dcfd9e801c3231d17821355df5865b179cf0bf11)) - - **FEAT**(auth,apple): Game Center sign-in support ([#12228](https://github.com/firebase/flutterfire/issues/12228)). ([ac625ec7](https://github.com/firebase/flutterfire/commit/ac625ec7a2ceb8c7ef78180f3bcaa8294cf06a2e)) - - **FEAT**(auth,android): Play Games provider sign-in support ([#12201](https://github.com/firebase/flutterfire/issues/12201)). ([1fb9019d](https://github.com/firebase/flutterfire/commit/1fb9019de1fd832223aa56139d98c1194b2d5efa)) - - **FEAT**(auth,windows): add support for `creationTime` and `lastSignInTime` ([#12116](https://github.com/firebase/flutterfire/issues/12116)). ([387e9434](https://github.com/firebase/flutterfire/commit/387e94343a237d0976bdfa4f5c0e20c6922456fa)) - -## 4.16.0 - - - **FIX**(auth,windows): fix a parsing issue of the Pigeon message on Windows for sendPasswordResetEmail ([#12082](https://github.com/firebase/flutterfire/issues/12082)). ([17c4ab12](https://github.com/firebase/flutterfire/commit/17c4ab128650c8e7a4f7e3cea0c55d1fea0998fd)) - - **FEAT**: allow users to disable automatic host mapping ([#11962](https://github.com/firebase/flutterfire/issues/11962)). ([13c1ce33](https://github.com/firebase/flutterfire/commit/13c1ce333b8cd113241a1f7ac07181c1c76194bc)) - -## 4.15.3 - - - **FIX**(auth): return email address if one is returned by the auth exception ([#11978](https://github.com/firebase/flutterfire/issues/11978)). ([ceee304d](https://github.com/firebase/flutterfire/commit/ceee304dd87cd66e34a7f7fa67c9961b72c10e72)) - -## 4.15.2 - - - Update a dependency to the latest release. - -## 4.15.1 - - - Update a dependency to the latest release. - -## 4.15.0 - - - **FEAT**(auth): add support for custom domains on mobile ([#11925](https://github.com/firebase/flutterfire/issues/11925)). ([552119c7](https://github.com/firebase/flutterfire/commit/552119c78e2750a929c6226de22f9f6d8df948a4)) - -## 4.14.1 - - - **FIX**(auth,apple): need to cache `AuthCredential` on native in case Dart exception passes `AuthCredential` back to user for sign-in ([#11889](https://github.com/firebase/flutterfire/issues/11889)). ([9c09f224](https://github.com/firebase/flutterfire/commit/9c09f22416f549e3b80bc7e618b07c1c3c24ee31)) - - **FIX**(auth,web): use the device language when using `setLanguageCode` with null ([#11905](https://github.com/firebase/flutterfire/issues/11905)). ([f9322b6f](https://github.com/firebase/flutterfire/commit/f9322b6f25cd9520c5e033361e63a4db3f375a15)) - - **FIX**(auth): add proper error message when trying to access the multifactor object on an unsupported platform ([#11894](https://github.com/firebase/flutterfire/issues/11894)). ([27d1c47d](https://github.com/firebase/flutterfire/commit/27d1c47d1168198e9fa296fcff52feb1f0a345d2)) - -## 4.14.0 - - - **FEAT**(auth,windows): add Windows support for Google Sign In ([#11861](https://github.com/firebase/flutterfire/issues/11861)). ([cde57d05](https://github.com/firebase/flutterfire/commit/cde57d059e099913efc994db27141540a2a981d1)) - -## 4.13.0 - - - **FEAT**(firebase_auth): export `AuthProvider` from `firebase_auth_interface` ([#11470](https://github.com/firebase/flutterfire/issues/11470)). ([39881e7e](https://github.com/firebase/flutterfire/commit/39881e7e4671faa94b274d980aad81829e6e0bfc)) - - **FEAT**(windows): add platform logging for core, auth, firestore and storage ([#11790](https://github.com/firebase/flutterfire/issues/11790)). ([e7d428d1](https://github.com/firebase/flutterfire/commit/e7d428d14be1535a2d579d4b2d376fbb81f06742)) - -## 4.12.1 - - - Update a dependency to the latest release. - -## 4.12.0 - - - **FEAT**(storage,windows): Add windows support ([#11617](https://github.com/firebase/flutterfire/issues/11617)). ([87ea02c8](https://github.com/firebase/flutterfire/commit/87ea02c8ae03eb351636cf202961ad0df6caebd8)) - -## 4.11.1 - - - **FIX**(ios): fix clashing filenames between Auth and Firestore ([#11731](https://github.com/firebase/flutterfire/issues/11731)). ([8770cafc](https://github.com/firebase/flutterfire/commit/8770cafccccb11607b5530311e3150ac08cd172e)) - -## 4.11.0 - - - **FIX**(auth): ensure `PigeonAuthCredential` is passed back to Dart side within try/catch ([#11683](https://github.com/firebase/flutterfire/issues/11683)). ([d42c3396](https://github.com/firebase/flutterfire/commit/d42c33969b096a9825af21c624f8d93aebede8b2)) - - **FEAT**: Full support of AGP 8 ([#11699](https://github.com/firebase/flutterfire/issues/11699)). ([bdb5b270](https://github.com/firebase/flutterfire/commit/bdb5b27084d225809883bdaa6aa5954650551927)) - - **FEAT**(firestore,windows): add support to Windows ([#11516](https://github.com/firebase/flutterfire/issues/11516)). ([e51d2a2d](https://github.com/firebase/flutterfire/commit/e51d2a2d287f4162f5a67d8200f1bf57fc2afe14)) - -## 4.10.1 - - - Update a dependency to the latest release. - -## 4.10.0 - - - **FIX**(auth): deprecate `FirebaseAuth.instanceFor`'s `persistence` parameter ([#11259](https://github.com/firebase/flutterfire/issues/11259)). ([a1966e82](https://github.com/firebase/flutterfire/commit/a1966e82c15f13119cb28a262a57c67b4f2b8d3b)) - - **FIX**(auth,apple): `fetchSignInMethodsForEmail` if value is `nil`, pass empty array. ([#11596](https://github.com/firebase/flutterfire/issues/11596)). ([6d261cc9](https://github.com/firebase/flutterfire/commit/6d261cc9a147befbfd203004aff8565492567f58)) - - **FEAT**(core,windows): Change the windows plugin compiling way ([#11594](https://github.com/firebase/flutterfire/issues/11594)). ([3dab95e0](https://github.com/firebase/flutterfire/commit/3dab95e01f7f71680aff84db4e9dccfe1e77643b)) - - **FEAT**(auth,windows): add Windows support to auth plugin ([#11089](https://github.com/firebase/flutterfire/issues/11089)). ([0cedfc85](https://github.com/firebase/flutterfire/commit/0cedfc8580bedd9e21b262537e643dbace0d7114)) - - **DOCS**: firebase_auth description ([#11292](https://github.com/firebase/flutterfire/issues/11292)). ([d9e05713](https://github.com/firebase/flutterfire/commit/d9e057137dffca09ea293b5df7292d7b7b21ca99)) - - **DOCS**(auth): update the incorrect "getting started" link ([#11440](https://github.com/firebase/flutterfire/issues/11440)). ([5db956dc](https://github.com/firebase/flutterfire/commit/5db956dc935dfec5be28e0463f7e8499a20d5577)) - -## 4.9.0 - - - **FEAT**(auth): TOTP (time-based one-time password) support for multi-factor authentication ([#11420](https://github.com/firebase/flutterfire/issues/11420)). ([3cc1243c](https://github.com/firebase/flutterfire/commit/3cc1243c94368de44d3a5c4be96b905a0a37b963)) - -## 4.8.0 - - - **FEAT**(auth): `revokeTokenWithAuthorizationCode()` implementation for revoking Apple sign-in token ([#11454](https://github.com/firebase/flutterfire/issues/11454)). ([92de98c9](https://github.com/firebase/flutterfire/commit/92de98c9e62f2bf20712dbfed22dd39f6883eb58)) - -## 4.7.3 - - - **FIX**(auth): rename import header to "firebase_auth_messages.g.h". ([#11472](https://github.com/firebase/flutterfire/issues/11472)). ([693a6f3c](https://github.com/firebase/flutterfire/commit/693a6f3cba3620933b905a964126406ae6ae3374)) - - **FIX**(firebase_auth): Fix forceRefresh parameter conversion before calling native API ([#11464](https://github.com/firebase/flutterfire/issues/11464)). ([86639876](https://github.com/firebase/flutterfire/commit/86639876b8e9138af740a1c74c122fcdb5c4566d)) - - **FIX**(auth): set the tenant id on iOS `FIRAuth` instance ([#11427](https://github.com/firebase/flutterfire/issues/11427)). ([15f3cf5d](https://github.com/firebase/flutterfire/commit/15f3cf5d9b86f287fac22370ea09abf9e773ea60)) - - **FIX**(firebase_auth,android): Remove implicit default locale used in error message ([#11321](https://github.com/firebase/flutterfire/issues/11321)). ([3a20f41c](https://github.com/firebase/flutterfire/commit/3a20f41c0d8a4d61d789874d7bb16d6ef710c9d1)) - -## 4.7.2 - - - **FIX**(auth): fix MFA issue where the error wouldn't be properly caught ([#11370](https://github.com/firebase/flutterfire/issues/11370)). ([72fef03f](https://github.com/firebase/flutterfire/commit/72fef03f775702aaf9a2ce0c6b31aea2a3c200a9)) - - **FIX**(auth,android): `getIdToken()` `IllegalStateException` crash fix ([#11362](https://github.com/firebase/flutterfire/issues/11362)). ([e925b4c9](https://github.com/firebase/flutterfire/commit/e925b4c9a937d90de0bdfb59ffa005938b3862dd)) - - **FIX**(auth,apple): pass in Firebase auth instance for correct app when using Provider sign in ([#11284](https://github.com/firebase/flutterfire/issues/11284)). ([1cffae79](https://github.com/firebase/flutterfire/commit/1cffae79ded28808ba55f2f4c9c1b47817987999)) - -## 4.7.1 - - - **FIX**(auth,android): Fix crash on Android where detaching from engine ([#11296](https://github.com/firebase/flutterfire/issues/11296)). ([d0a37332](https://github.com/firebase/flutterfire/commit/d0a373323a818d5005a58e95042b7ea3652ead50)) - - **FIX**(auth,ios): fix scoping of import for message.g.h, could cause incompatibility with other packages ([#11300](https://github.com/firebase/flutterfire/issues/11300)). ([91ccc57d](https://github.com/firebase/flutterfire/commit/91ccc57d4b40b1b7a77dc0d871f9ff7d3f24ba13)) - -## 4.7.0 - - - **FEAT**(auth): move to Pigeon for Platform channels ([#10802](https://github.com/firebase/flutterfire/issues/10802)). ([43e5b20b](https://github.com/firebase/flutterfire/commit/43e5b20b14799102a6544a4763476eaba44b9cfb)) - -## 4.6.3 - - - Update a dependency to the latest release. - -## 4.6.2 - - - Update a dependency to the latest release. - -## 4.6.1 - - - Update a dependency to the latest release. - -## 4.6.0 - - - **FEAT**: update dependency constraints to `sdk: '>=2.18.0 <4.0.0'` `flutter: '>=3.3.0'` ([#10946](https://github.com/firebase/flutterfire/issues/10946)). ([2772d10f](https://github.com/firebase/flutterfire/commit/2772d10fe510dcc28ec2d37a26b266c935699fa6)) - - **FEAT**: update libraries to be compatible with Flutter 3.10.0 ([#10944](https://github.com/firebase/flutterfire/issues/10944)). ([e1f5a5ea](https://github.com/firebase/flutterfire/commit/e1f5a5ea798c54f19d1d2f7b8f2250f8819f44b7)) - -## 4.5.0 - - - **FIX**: add support for AGP 8.0 ([#10901](https://github.com/firebase/flutterfire/issues/10901)). ([a3b96735](https://github.com/firebase/flutterfire/commit/a3b967354294c295a9be8d699a6adb7f4b1dba7f)) - - **FEAT**: upgrade to dart 3 compatible dependencies ([#10890](https://github.com/firebase/flutterfire/issues/10890)). ([4bd7e59b](https://github.com/firebase/flutterfire/commit/4bd7e59b1f2b09a2230c49830159342dd4592041)) - -## 4.4.2 - - - Update a dependency to the latest release. - -## 4.4.1 - - - Update a dependency to the latest release. - -## 4.4.0 - - - **FEAT**(auth,ios): automatically save the Apple Sign In display name ([#10652](https://github.com/firebase/flutterfire/issues/10652)). ([257f1ffb](https://github.com/firebase/flutterfire/commit/257f1ffbce7abd458df91d8e4b6422d83b5b849f)) - - **FEAT**: bump dart sdk constraint to 2.18 ([#10618](https://github.com/firebase/flutterfire/issues/10618)). ([f80948a2](https://github.com/firebase/flutterfire/commit/f80948a28b62eead358bdb900d5a0dfb97cebb33)) - -## 4.3.0 - - - **FIX**(auth): fix an issue where unenroll would not throw a FirebaseException ([#10572](https://github.com/firebase/flutterfire/issues/10572)). ([8dba33e1](https://github.com/firebase/flutterfire/commit/8dba33e1a95f03d70d527885aa58ce23622e359f)) - - **FEAT**(auth): improve error handling when Email enumeration feature is on ([#10591](https://github.com/firebase/flutterfire/issues/10591)). ([ff083025](https://github.com/firebase/flutterfire/commit/ff083025b724d683cc3a9ed5f4a4987c43663589)) - -## 4.2.10 - - - **FIX**(auth,web): fix currentUser being null when using emulator or named instance ([#10565](https://github.com/firebase/flutterfire/issues/10565)). ([11e8644d](https://github.com/firebase/flutterfire/commit/11e8644df402a5abbb0d0c37714879272dec024c)) - -## 4.2.9 - - - Update a dependency to the latest release. - -## 4.2.8 - - - Update a dependency to the latest release. - -## 4.2.7 - - - Update a dependency to the latest release. - -## 4.2.6 - - - **REFACTOR**: upgrade project to remove warnings from Flutter 3.7 ([#10344](https://github.com/firebase/flutterfire/issues/10344)). ([e0087c84](https://github.com/firebase/flutterfire/commit/e0087c845c7526c11a4241a26d39d4673b0ad29d)) - -## 4.2.5 - - - **FIX**: fix a null pointer exception that could occur when removing an even listener ([#10210](https://github.com/firebase/flutterfire/issues/10210)). ([72d2e973](https://github.com/firebase/flutterfire/commit/72d2e97363d89d716963dd224a2b9578ba446624)) - -## 4.2.4 - - - Update a dependency to the latest release. - -## 4.2.3 - - - Update a dependency to the latest release. - -## 4.2.2 - - - Update a dependency to the latest release. - -## 4.2.1 - - - Update a dependency to the latest release. - -## 4.2.0 - - - **FEAT**: improve error message when user cancels a sign in with a provider ([#10060](https://github.com/firebase/flutterfire/issues/10060)). ([6631da6b](https://github.com/firebase/flutterfire/commit/6631da6b6b165a0c1e3260d744df1d60f3c7abe0)) - -## 4.1.5 - - - **FIX**: Apple Sign In on a secondary app doesnt sign in the correct Firebase Auth instance ([#10018](https://github.com/firebase/flutterfire/issues/10018)). ([f746d5da](https://github.com/firebase/flutterfire/commit/f746d5da0c784e28f08b9fcedfce18933a9e448e)) - -## 4.1.4 - - - **FIX**: tentative fix for null pointer exception in `parseUserInfoList` ([#9960](https://github.com/firebase/flutterfire/issues/9960)). ([dad17407](https://github.com/firebase/flutterfire/commit/dad1740792b893920867528039a9c54398ae7e3e)) - -## 4.1.3 - - - **FIX**: fix reauthenticateWithProvider on iOS with Sign In With Apple that would throw a linked exception ([#9919](https://github.com/firebase/flutterfire/issues/9919)). ([7318a8f3](https://github.com/firebase/flutterfire/commit/7318a8f32de07bd47026d3e07b80b4bab5df1e6a)) - -## 4.1.2 - - - Update a dependency to the latest release. - -## 4.1.1 - - - Update a dependency to the latest release. - -## 4.1.0 - - - **REFACTOR**: add `verify` to `QueryPlatform` and change internal `verifyToken` API to `verify` ([#9711](https://github.com/firebase/flutterfire/issues/9711)). ([c99a842f](https://github.com/firebase/flutterfire/commit/c99a842f3e3f5f10246e73f51530cc58c42b49a3)) - - **FIX**: properly propagate the `FirebaseAuthMultiFactorException` for all reauthenticate and link methods ([#9700](https://github.com/firebase/flutterfire/issues/9700)). ([9ad97c82](https://github.com/firebase/flutterfire/commit/9ad97c82ead0f5c6f1307625374c34e0dcde730b)) - - **FEAT**: expose reauthenticateWithRedirect and reauthenticateWithPopup ([#9696](https://github.com/firebase/flutterfire/issues/9696)). ([2a1f910f](https://github.com/firebase/flutterfire/commit/2a1f910ff6cab21a126c62fd4322a14ec263b629)) - -## 4.0.2 - - - Update a dependency to the latest release. - -## 4.0.1 - -- Update a dependency to the latest release. - -## 4.0.0 - -> Note: This release has breaking changes. - - - **BREAKING** **FEAT**: Firebase iOS SDK version: `10.0.0` ([#9708](https://github.com/firebase/flutterfire/issues/9708)). ([9627c56a](https://github.com/firebase/flutterfire/commit/9627c56a37d657d0250b6f6b87d0fec1c31d4ba3)) - -## 3.11.2 - - - **DOCS**: update `setSettings()` inline documentation ([#9655](https://github.com/firebase/flutterfire/issues/9655)). ([39ca0029](https://github.com/firebase/flutterfire/commit/39ca00299ec5c6e0f2dc9b0b5a8d71b8d59d51d4)) - -## 3.11.1 - - - **FIX**: fix an iOS crash when using Sign In With Apple due to invalid return of nil instead of NSNull ([#9644](https://github.com/firebase/flutterfire/issues/9644)). ([3f76b53f](https://github.com/firebase/flutterfire/commit/3f76b53f375f4398652abfa7c9236571ee0bd87f)) - -## 3.11.0 - - - **FEAT**: add OAuth Access Token support to sign in with providers ([#9593](https://github.com/firebase/flutterfire/issues/9593)). ([cb6661bb](https://github.com/firebase/flutterfire/commit/cb6661bbc701031d6f920ace3a6efc8e8d56aa4c)) - - **FEAT**: add `linkWithRedirect` to the web ([#9580](https://github.com/firebase/flutterfire/issues/9580)). ([d834b90f](https://github.com/firebase/flutterfire/commit/d834b90f29fc1929a195d7d546170e4ea03c6ab1)) - -## 3.10.0 - - - **FIX**: fix path of generated Pigeon files to prevent name collision ([#9569](https://github.com/firebase/flutterfire/issues/9569)). ([71bde27d](https://github.com/firebase/flutterfire/commit/71bde27d4e613096f121abb16d7ea8483c3fbcd8)) - - **FEAT**: add `reauthenticateWithProvider` ([#9570](https://github.com/firebase/flutterfire/issues/9570)). ([dad6b481](https://github.com/firebase/flutterfire/commit/dad6b4813c682e35315dda3965ea8aaf5ba030e8)) - -## 3.9.0 - - - **REFACTOR**: deprecate `signInWithAuthProvider` in favor of `signInWithProvider` ([#9542](https://github.com/firebase/flutterfire/issues/9542)). ([ca340ea1](https://github.com/firebase/flutterfire/commit/ca340ea19c8dbb340f083e48cf1b0de36f7d64c4)) - - **FEAT**: add `linkWithProvider` to support for linking auth providers ([#9535](https://github.com/firebase/flutterfire/issues/9535)). ([1ac14fb1](https://github.com/firebase/flutterfire/commit/1ac14fb147f83cf5c7874004a9dc61838dce8da8)) - -## 3.8.0 - - - **FIX**: remove default scopes on iOS for Sign in With Apple ([#9477](https://github.com/firebase/flutterfire/issues/9477)). ([3fe02b29](https://github.com/firebase/flutterfire/commit/3fe02b2937135ea6d576c7e445da5f4266ff0fdf)) - - **FEAT**: add Twitter login for Android, iOS and Web ([#9421](https://github.com/firebase/flutterfire/issues/9421)). ([0bc6e6d5](https://github.com/firebase/flutterfire/commit/0bc6e6d5333e6be0d5749a083206f3f5bb79a7ba)) - - **FEAT**: add Yahoo as provider for iOS, Android and Web ([#9443](https://github.com/firebase/flutterfire/issues/9443)). ([6c3108a7](https://github.com/firebase/flutterfire/commit/6c3108a767aca3b1a844b2b5da04b2da45bc9fbd)) - - **DOCS**: fix typo "appearance" in `platform_interface_firebase_auth.dart` ([#9472](https://github.com/firebase/flutterfire/issues/9472)). ([323b917b](https://github.com/firebase/flutterfire/commit/323b917b5eecf0e5161a61c66f6cabac5b23e1b8)) - -## 3.7.0 - - - **FEAT**: add Microsoft login for Android, iOS and Web ([#9415](https://github.com/firebase/flutterfire/issues/9415)). ([1610ce8a](https://github.com/firebase/flutterfire/commit/1610ce8ac96d6da202ef014e9a3dfeb4acfacec9)) - - **FEAT**: add Sign in with Apple directly in Firebase Auth for Android, iOS 13+ and Web ([#9408](https://github.com/firebase/flutterfire/issues/9408)). ([da36b986](https://github.com/firebase/flutterfire/commit/da36b9861b7d635382705b4893eed85fd672125c)) - -## 3.6.4 - - - **FIX**: fix an error where MultifactorInfo factorId could be null on iOS ([#9367](https://github.com/firebase/flutterfire/issues/9367)). ([88bded11](https://github.com/firebase/flutterfire/commit/88bded119607473c7546154ac8bdd149a2d3f21f)) - -## 3.6.3 - - - **FIX**: use correct UTC time from server for `currentUser?.metadata.creationTime` & `currentUser?.metadata.lastSignInTime` ([#9248](https://github.com/firebase/flutterfire/issues/9248)). ([a6204128](https://github.com/firebase/flutterfire/commit/a6204128edf1f54ac734385d0ed6214d50cebd1b)) - - **DOCS**: explicit mention that `refreshToken` is empty string on native platforms on the `User`instance ([#9183](https://github.com/firebase/flutterfire/issues/9183)). ([1aa1c163](https://github.com/firebase/flutterfire/commit/1aa1c1638edc632dedf8de0f02127e26b1a86e17)) - -## 3.6.2 - - - **DOCS**: update `getIdTokenResult` inline documentation ([#9150](https://github.com/firebase/flutterfire/issues/9150)). ([519518ce](https://github.com/firebase/flutterfire/commit/519518ce3ed36580e35713e791281b251018201c)) - -## 3.6.1 - - - Update a dependency to the latest release. - -## 3.6.0 - - - **FIX**: pass `Persistence` value to `FirebaseAuth.instanceFor(app: app, persistence: persistence)` for setting persistence on Web platform ([#9138](https://github.com/firebase/flutterfire/issues/9138)). ([ae7ebaf8](https://github.com/firebase/flutterfire/commit/ae7ebaf8e304a2676b2acfa68aadf0538468b4a0)) - - **FIX**: fix crash on Android where detaching from engine was not properly resetting the Pigeon handler ([#9218](https://github.com/firebase/flutterfire/issues/9218)). ([96d35df0](https://github.com/firebase/flutterfire/commit/96d35df09914fbe40515fdcd20b17a802f37270d)) - - **FEAT**: expose the missing MultiFactor classes through the universal package ([#9194](https://github.com/firebase/flutterfire/issues/9194)). ([d8bf8185](https://github.com/firebase/flutterfire/commit/d8bf818528c3705350cdb1b4675d600ba1d29d14)) - -## 3.5.1 - - - Update a dependency to the latest release. - -## 3.5.0 - - - **FEAT**: add all providers available to MFA ([#9159](https://github.com/firebase/flutterfire/issues/9159)). ([5a03a859](https://github.com/firebase/flutterfire/commit/5a03a859385f0b06ad9afe8e8c706c046976b8d8)) - - **FEAT**: add phone MFA ([#9044](https://github.com/firebase/flutterfire/issues/9044)). ([1b85c8b7](https://github.com/firebase/flutterfire/commit/1b85c8b7fbcc3f21767f23981cb35061772d483f)) - -## 3.4.2 - - - Update a dependency to the latest release. - -## 3.4.1 - - - **FIX**: bump `firebase_core_platform_interface` version to fix previous release. ([bea70ea5](https://github.com/firebase/flutterfire/commit/bea70ea5cbbb62cbfd2a7a74ae3a07cb12b3ee5a)) - -## 3.4.0 - - - **FIX**: Web recaptcha hover removed after use. (#8812). ([790e450e](https://github.com/firebase/flutterfire/commit/790e450e8d6acd2fc50e0232c77a152430c7b3ea)) - - **FIX**: java.util.ConcurrentModificationException (#8967). ([dc6c04ae](https://github.com/firebase/flutterfire/commit/dc6c04aeb4fc535a8ccadf9c11fb4d5dc413606d)) - - **FEAT**: update GitHub sign in implementation (#8976). ([ffd3b019](https://github.com/firebase/flutterfire/commit/ffd3b019c3158c66476671d9a9df245035cc2295)) - -## 3.3.20 - - - **REFACTOR**: use `firebase.google.com` link for `homepage` in `pubspec.yaml` (#8729). ([43df32d4](https://github.com/firebase/flutterfire/commit/43df32d457a28523f5956a2252dafd47856ac756)) - - **REFACTOR**: use "firebase" instead of "FirebaseExtended" as organisation in all links for this repository (#8791). ([d90b8357](https://github.com/firebase/flutterfire/commit/d90b8357db01d65e753021358668f0b129713e6b)) - - **FIX**: update firebase_auth example to not be dependent on an emulator (#8601). ([bdc9772e](https://github.com/firebase/flutterfire/commit/bdc9772ec8a3fb6609b66c42166d6d132ddb67d9)) - - **DOCS**: fix two typos. (#8876). ([7390d5c5](https://github.com/firebase/flutterfire/commit/7390d5c51e61aeb4d59c0d74093921fad3f35083)) - - **DOCS**: point to "firebase.google" domain for hyperlinks in the usage section of `README.md` files (#8814). ([78006e0d](https://github.com/firebase/flutterfire/commit/78006e0d5b9dce8038ce3606a43ddcbc8a4a71b9)) - -## 3.3.19 - - - **DOCS**: use camel case style for "FlutterFire" in `README.md` (#8748). ([c6ff0b21](https://github.com/firebase/flutterfire/commit/c6ff0b21352eb0f9a9a576ca7ef737d203292a58)) - -## 3.3.18 - - - Update a dependency to the latest release. - -## 3.3.17 - - - Update a dependency to the latest release. - -## 3.3.16 - - - **REFACTOR**: remove deprecated `Tasks.call()` API from Android. (#8452). ([3e92496b](https://github.com/firebase/flutterfire/commit/3e92496b2783ec149258c22d3167c5388dcb1c40)) - -## 3.3.15 - - - **FIX**: Use iterator instead of enhanced for loop on android. (#8498). ([027c75a6](https://github.com/firebase/flutterfire/commit/027c75a60b39a40e6a3edc12edc51487cc954503)) - -## 3.3.14 - - - Update a dependency to the latest release. - -## 3.3.13 - - - Update a dependency to the latest release. - -## 3.3.12 - - - Update a dependency to the latest release. - -## 3.3.11 - - - **FIX**: Update APN token once auth plugin has been initialized on `iOS`. (#8201). ([ab6239dd](https://github.com/firebase/flutterfire/commit/ab6239ddf5cb14211b76bced04ec52203919a57a)) - -## 3.3.10 - - - **FIX**: return correct error code for linkWithCredential `provider-already-linked` on Android (#8245). ([ae090719](https://github.com/firebase/flutterfire/commit/ae090719ebbb0873cf227f76004feeae9a7d0580)) - - **FIX**: Fixed bug that sets email to `nil` on `iOS` when the `User` has no provider. (#8209). ([fb646438](https://github.com/firebase/flutterfire/commit/fb646438f219b0f0f7c6a8c52e2b9daa4afc833e)) - -## 3.3.9 - - - **FIX**: update all Dart SDK version constraints to Dart >= 2.16.0 (#8184). ([df4a5bab](https://github.com/firebase/flutterfire/commit/df4a5bab3c029399b4f257a5dd658d302efe3908)) - -## 3.3.8 - - - Update a dependency to the latest release. - -## 3.3.7 - - - **DOCS**: Update documentation for `currentUser` property to make expectations clearer. (#7843). ([59bb47c2](https://github.com/firebase/flutterfire/commit/59bb47c2490fbd641a1fcc26f2f888e8f4f02671)) - -## 3.3.6 - - - Update a dependency to the latest release. - -## 3.3.5 - - - **FIX**: bump Android `compileSdkVersion` to 31 (#7726). ([a9562bac](https://github.com/firebase/flutterfire/commit/a9562bac60ba927fb3664a47a7f7eaceb277dca6)) - -## 3.3.4 - - - **REFACTOR**: fix all `unnecessary_import` analyzer issues introduced with Flutter 2.8. ([7f0e82c9](https://github.com/firebase/flutterfire/commit/7f0e82c978a3f5a707dd95c7e9136a3e106ff75e)) - -## 3.3.3 - - - Update a dependency to the latest release. - -## 3.3.2 - - - **DOCS**: Fix typos and remove unused imports (#7504). - -## 3.3.1 - - - Update a dependency to the latest release. - -## 3.3.0 - - - **REFACTOR**: migrate remaining examples & e2e tests to null-safety (#7393). - - **FEAT**: automatically inject Firebase JS SDKs (#7359). - -## 3.2.0 - - - **FEAT**: support initializing default `FirebaseApp` instances from Dart (#6549). - -## 3.1.5 - - - Update a dependency to the latest release. - -## 3.1.4 - - - **REFACTOR**: remove deprecated Flutter Android v1 Embedding usages, including in example app (#7158). - - **STYLE**: macOS & iOS; explicitly include header that defines `TARGET_OS_OSX` (#7116). - -## 3.1.3 - - - **REFACTOR**: migrate example app to null-safety (#7111). - -## 3.1.2 - - - **FIX**: allow setLanguage to accept null (#7050). - - **CHORE**: remove google-signin plugin temporarily to fix CI (#7047). - -## 3.1.1 - - - **FIX**: use Locale.ROOT while processing error code (#6946). - -## 3.1.0 - - - **FEAT**: expose linkWithPopup() & correctly parse credentials in exceptions (#6562). - -## 3.0.2 - - - **STYLE**: enable additional lint rules (#6832). - - **FIX**: precise error message is propagated (#6793). - - **FIX**: Use angle bracket import consistently when importing Firebase.h for iOS (#5891). - - **FIX**: stop idTokenChanges & userChanges firing twice on initial listen (#6560). - -## 3.0.1 - - - **FIX**: reinstate deprecated emulator apis (#6626). - -## 3.0.0 - -> Note: This release has breaking changes. - - - **FEAT**: setSettings now possible for android (#6367). - - **DOCS**: phone provider account linking update (#6465). - - **CHORE**: update v2 embedding support (#6506). - - **CHORE**: verifyPhoneNumber() example (#6476). - - **CHORE**: rm deprecated jcenter repository (#6431). - - **BREAKING** **FEAT**: useEmulator(host, port) API update (#6439). - -## 2.0.0 - -> Note: This release has breaking changes. - - - **FEAT**: setSettings now possible for android (#6367). - - **DOCS**: phone provider account linking update (#6465). - - **CHORE**: verifyPhoneNumber() example (#6476). - - **CHORE**: rm deprecated jcenter repository (#6431). - - **BREAKING** **FEAT**: useAuthEmulator(host, port) API update. - -## 1.4.1 - - - Update a dependency to the latest release. - -## 1.4.0 - - - **FEAT**: add tenantId support (#5736). - -## 1.3.0 - - - **FEAT**: add User.updateDisplayName and User.updatePhotoURL (#6213). - - **DOCS**: Add Flutter Favorite badge (#6190). - -## 1.2.0 - - - **FEAT**: upgrade Firebase JS SDK version to 8.6.1. - - **FIX**: podspec osx version checking script should use a version range instead of a single fixed version. - -## 1.1.4 - - - **FIX**: correctly cleanup Dictionary handlers (#6101). - - **DOCS**: Update the documentation of sendPasswordResetEmail (#6051). - - **CHORE**: publish packages (#6022). - - **CHORE**: publish packages. - -## 1.1.3 - - - **FIX**: Fix firebase_auth not being registered as a plugin (#5987). - - **CI**: refactor to use Firebase Auth emulator (#5939). - -## 1.1.2 - - - **FIX**: fixed an issue where Web could not connect to the Firebase Auth emulator (#5940). - - **FIX**: Import all necessary headers from the header file. (#5890). - - **FIX**: Move communication to EventChannels (#4643). - - **DOCS**: remove implicit-cast in the doc of AuthProviders (#5862). - -## 1.1.1 - - - **FIX**: ensure web is initialized before sending stream events (#5766). - - **DOCS**: Add UserInfoCard widget in auth example SignInPage (#4635). - - **CI**: fix analyzer issues in example. - - **CHORE**: update Web plugins to use Firebase JS SDK version 8.4.1 (#4464). - -## 1.1.0 - - - **FEAT**: PhoneAuthProvider.credential and PhoneAuthProvider.credentialFromToken now return a PhoneAuthCredential (#5675). - - **CHORE**: update drive dependency (#5740). - -## 1.0.3 - - - **DOCS**: userChanges clarification (#5698). - -## 1.0.2 - - - Update a dependency to the latest release. - -## 1.0.1 - - - **DOCS**: note that auth emulator is not supported for web (#5169). - -## 1.0.0 - - - Graduate package to a stable release. See pre-releases prior to this version for changelog entries. - -## 1.0.0-1.0.nullsafety.0 - - - Bump "firebase_auth" to `1.0.0-1.0.nullsafety.0`. - -## 0.21.0-1.1.nullsafety.3 - - - Update a dependency to the latest release. - -## 0.21.0-1.1.nullsafety.2 - - - **TESTS**: update mockito API usage in tests - -## 0.21.0-1.1.nullsafety.1 - - - **REFACTOR**: pubspec & dependency updates (#4932). - -## 0.21.0-1.1.nullsafety.0 - - - **FEAT**: implement support for `useEmulator` (#4263). - -## 0.21.0-1.0.nullsafety.0 - - - **FIX**: bump firebase_core_* package versions to updated NNBD versioning format (#4832). - -## 0.21.0-nullsafety.0 - - - **FEAT**: Migrated to null safety (#4633) - -## 0.20.0+1 - - - **FIX**: package compatibility. - -## 0.20.0 - -> Note: This release has breaking changes. - - - **FIX**: null pointer exception if user metadata null (#4622). - - **FEAT**: add check on podspec to assist upgrading users deployment target. - - **BUILD**: commit Podfiles with 10.12 deployment target. - - **BUILD**: remove default sdk version, version should always come from firebase_core, or be user defined. - - **BUILD**: set macOS deployment target to 10.12 (from 10.11). - - **BREAKING** **BUILD**: set osx min supported platform version to 10.12. - -## 0.19.0+1 - - - Update a dependency to the latest release. - -## 0.19.0 - -> Note: This release has breaking changes. - - - **CHORE**: harmonize dependencies and version handling. - - **BREAKING** **REFACTOR**: remove all currently deprecated APIs. - - **BREAKING** **FEAT**: forward port to firebase-ios-sdk v7.3.0. - - Due to this SDK upgrade, iOS 10 is now the minimum supported version by FlutterFire. Please update your build target version. - -## 0.18.4+1 - - - Update a dependency to the latest release. - -## 0.18.4 - - - **FEAT**: bump android `com.android.tools.build` & `'com.google.gms:google-services` versions (#4269). - - **DOCS**: Fixed two typos in method documentation (#4219). - -## 0.18.3+1 - - - **TEST**: Explicitly opt-out from null safety. - - **FIX**: stop authStateChange firing twice for initial event (#4099). - - **FIX**: updated email link signin to use latest format for ActionCodeSettings (#3425). - - **CHORE**: add missing dependency to example app. - - **CHORE**: bump gradle wrapper to 5.6.4 (#4158). - -## 0.18.3 - - - **FEAT**: migrate firebase interop files to local repository (#3973). - - **FEAT**: bump `compileSdkVersion` to 29 in preparation for upcoming Play Store requirement. - - **FEAT** [WEB] adds support for `EmailAuthProvider.credentialWithLink` - - **FEAT** [WEB] adds support for `FirebaseAuth.setSettings` - - **FEAT** [WEB] adds support for `User.tenantId` - - **FEAT** [WEB] `FirebaseAuthException` now supports `email` & `credential` properties - - **FEAT** [WEB] `ActionCodeInfo` now supports `previousEmail` field - -## 0.18.2 - - - **FEAT**: bump compileSdkVersion to 29 (#3975). - - **FEAT**: update Firebase iOS SDK version to 6.33.0 (from 6.26.0). - -## 0.18.1+2 - - - **FIX**: on iOS use sendEmailVerificationWithActionCodeSettings instead of sendEmailVerificationWithCompletion (#3686). - - **DOCS**: README updates (#3768). - -## 0.18.1+1 - - - **FIX**: Optional params for "signInWithCredential" method are converted to "nil" if "null" for iOS (#3731). - -## 0.18.1 - - - **FIX**: local dependencies in example apps (#3319). - - **FIX**: fix IdTokenResult timestamps (web, ios) (#3357). - - **FIX**: pub.dev score fixes (#3318). - - **FIX**: use unknown APNS token type (#3345). - - **FIX**: update FLTFirebaseAuthPlugin.m (#3360). - - **FIX**: use correct FIRAuth instance on listeners (#3316). - - **FEAT**: add support for linkWithPhoneNumber (#3436). - - **FEAT**: use named arguments for ActionCodeSettings (#3269). - - **FEAT**: implement signInWithPhoneNumber on web (#3205). - - **FEAT**: expose smsCode (android only) (#3308). - - **DOCS**: fixed signOut method documentation (#3342). - -## 0.18.0+1 - -* Fixed an Android issue where certain network related Firebase Auth error codes would come through as `unknown`. [(#3217)](https://github.com/firebase/flutterfire/pull/3217) -* Added missing deprecations: `FirebaseUser` class and `photoUrl` getter. -* Bump `firebase_auth_platform_interface` dependency to fix an assertion issue when creating Google sign-in credentials. -* Bump `firebase_auth_web` dependency to `^0.3.0+1`. - -## 0.18.0 - -Overall, Firebase Auth has been heavily reworked to bring it inline with the federated plugin setup along with adding new features, documentation and many more unit and end-to-end tests. The API has mainly been kept the same, however there are some breaking changes. - -### General - -- **BREAKING**: The `FirebaseUser` class has been renamed to `User`. -- **BREAKING**: The `AuthResult` class has been renamed to `UserCredential`. -- **NEW**: The `ActionCodeSettings` class is now consumable on all supporting methods. - - **NEW**: Added support for the `dynamicLinkDomain` property. -- **NEW**: Added a new `FirebaseAuthException` class (extends `FirebaseException`). - - All errors are now returned as a `FirebaseAuthException`, allowing you to access the code & message associated with the error. - - In addition, it is now possible to access the `email` and `credential` properties on exceptions if they exist. - -### `FirebaseAuth` - -- **BREAKING**: Accessing the current user via `currentUser()` is now synchronous via the `currentUser` getter. -- **BREAKING**: `isSignInWithEmailLink()` is now synchronous. -- **DEPRECATED**: `FirebaseAuth.fromApp()` is now deprecated in favor of `FirebaseAuth.instanceFor()`. -- **DEPRECATED**: `onAuthStateChanged` has been deprecated in favor of `authStateChanges()`. -- **NEW**: Added support for `idTokenChanges()` stream listener. -- **NEW**: Added support for `userChanges()` stream listener. - - The purpose of this API is to allow users to subscribe to all user events without having to manually hydrate app state in cases where a manual reload was required (e.g. `updateProfile()`). -- **NEW**: Added support for `applyActionCode()`. -- **NEW**: Added support for `checkActionCode()`. -- **NEW**: Added support for `verifyPasswordResetCode()`. -- **NEW**: Added support for accessing the current language code via the `languageCode` getter. -- **NEW**: `setLanguageCode()` now supports providing a `null` value. - - On web platforms, if `null` is provided the Firebase projects default language will be set. - - On native platforms, if `null` is provided the device language will be used. -- **NEW**: `verifyPhoneNumber()` exposes a `autoRetrievedSmsCodeForTesting` property. - - This allows developers to test automatic SMS code resolution on Android devices during development. -- **NEW** (iOS): `appVerificationDisabledForTesting` setting can now be set for iOS. - - This allows developers to skip ReCaptcha verification when testing phone authentication. -- **NEW** (iOS): `userAccessGroup` setting can now be set for iOS & MacOS. - - This allows developers to share authentication states across multiple apps or extensions on iOS & MacOS. For more information see the [Firebase iOS SDK documentation](https://firebase.google.com/docs/auth/ios/single-sign-on). - -### `User` - -- **BREAKING**: Removed the `UpdateUserInfo` class when using `updateProfile` in favor of named arguments. -- **NEW**: Added support for `getIdTokenResult()`. -- **NEW**: Added support for `verifyBeforeUpdateEmail()`. -- **FIX**: Fixed several iOS crashes when the Firebase SDK returned `nil` property values. -- **FIX**: Fixed an issue on Web & iOS where a users email address would still show after unlinking the email/password provider. - -### `UserCredential` - -- **NEW**: Added support for accessing the users `AuthCredential` via the `credential` property. - -### `AuthProvider` & `AuthCredential` - -- **DEPRECATED**: All sub-class (e.g. `GoogleAuthProvider`) `getCredential()` methods have been deprecated in favor of `credential()`. - - **DEPRECATED**: `EmailAuthProvider.getCredentialWithLink()` has been deprecated in favor of `EmailAuthProvider.credentialWithLink()`. -- **NEW**: Supporting providers can now assign scope and custom request parameters. - - The scope and parameters will be used on web platforms when triggering a redirect or popup via `signInWithPopup()` or `signInWithRedirect()`. - -## 0.17.0-dev.2 - -* Update plugin and example to use the same core. - -## 0.17.0-dev.1 - -* Depend on `firebase_core` pre-release versions. - -## 0.16.1+2 - -* Update README to make it clear which authentication options are possible. - -## 0.16.1+1 - -* Fix bug #2656 (verifyPhoneNumber always use the default FirebaseApp, not the configured one) - -## 0.16.1 - -* Update lower bound of dart dependency to 2.0.0. - -## 0.16.0 - -* Migrate to Android v2 embedding. - -## 0.15.5+3 - -* Fix for missing UserAgent.h compilation failures. - -## 0.15.5+2 - -* Update the platform interface dependency to 1.1.7 and update tests. - -## 0.15.5+1 - -* Make the pedantic dev_dependency explicit. - -## 0.15.5 - -* Add macOS support - -## 0.15.4+1 - -* Fix fallthrough bug in Android code. - -## 0.15.4 - -* Add support for `confirmPasswordReset` on Android and iOS. - -## 0.15.3+1 - -* Add integration instructions for the `web` platform. - -## 0.15.3 - -* Add support for OAuth Authentication for iOS and Android to solve generic providers authentication. - -## 0.15.2 - -* Add web support by default. -* Require Flutter SDK 1.12.13+hotfix.4 or later. - -## 0.15.1+1 - -* Remove the deprecated `author:` field from pubspec.yaml -* Migrate the plugin to the pubspec platforms manifest. -* Bump the minimum Flutter version to 1.10.0. - -## 0.15.1 - -* Migrate to use `firebase_auth_platform_interface`. - -## 0.15.0+2 - -* Update homepage since this package was moved. - -## 0.15.0+1 - -* Added missing ERROR_WRONG_PASSWORD Exception to the `reauthenticateWithCredential` docs. - -## 0.15.0 - -* Fixed `NoSuchMethodError` in `reauthenticateWithCredential`. -* Fixed `IdTokenResult` analyzer warnings. -* Reduced visibility of `IdTokenResult` constructor. - -## 0.14.0+10 - -* Formatted lists in member documentations for better readability. - -## 0.14.0+9 - -* Fix the behavior of `getIdToken` to use the `refresh` parameter instead of always refreshing. - -## 0.14.0+8 - -* Updated README instructions for contributing for consistency with other Flutterfire plugins. - -## 0.14.0+7 - -* Remove AndroidX warning. - -## 0.14.0+6 - -* Update example app with correct const constructors. - -## 0.14.0+5 - -* On iOS, `fetchSignInMethodsForEmail` now returns an empty list when the email - cannot be found, matching the Android behavior. - -## 0.14.0+4 - -* Fixed "Register a user" example code snippet in README.md. - -## 0.14.0+3 - -* Update documentation to reflect new repository location. -* Update unit tests to call `TestWidgetsFlutterBinding.ensureInitialized`. -* Remove executable bit on LICENSE file. - -## 0.14.0+2 - -* Reduce compiler warnings on iOS port by replacing `int` with `long` backing in returned timestamps. - -## 0.14.0+1 - -* Add dependency on `androidx.annotation:annotation:1.0.0`. - -## 0.14.0 - -* Added new `IdTokenResult` class. -* **Breaking Change**. `getIdToken()` method now returns `IdTokenResult` instead of a token `String`. - Use the `token` property of `IdTokenResult` to retrieve the token `String`. -* Added integration testing for `getIdToken()`. - -## 0.13.1+1 - -* Update authentication example in README. - -## 0.13.1 - -* Fixed a crash on iOS when sign-in fails. -* Additional integration testing. -* Updated documentation for `FirebaseUser.delete()` to include error codes. -* Updated Firebase project to match other Flutterfire apps. - -## 0.13.0 - -* **Breaking change**: Replace `FirebaseUserMetadata.creationTimestamp` and - `FirebaseUserMetadata.lastSignInTimestamp` with `creationTime` and `lastSignInTime`. - Previously on iOS `creationTimestamp` and `lastSignInTimestamp` returned in - seconds and on Android in milliseconds. Now, both platforms provide values as a - `DateTime`. - -## 0.12.0+1 - -* Fixes iOS sign-in exceptions when `additionalUserInfo` is `nil` or has `nil` fields. -* Additional integration testing. - -## 0.12.0 - -* Added new `AuthResult` and `AdditionalUserInfo` classes. -* **Breaking Change**. Sign-in methods now return `AuthResult` instead of `FirebaseUser`. - Retrieve the `FirebaseUser` using the `user` property of `AuthResult`. - -## 0.11.1+12 - -* Update google-services Android gradle plugin to 4.3.0 in documentation and examples. - -## 0.11.1+11 - -* On iOS, `getIdToken()` now uses the `refresh` parameter instead of always using `true`. - -## 0.11.1+10 - -* On Android, `providerData` now includes `UserInfo` for the phone authentication provider. - -## 0.11.1+9 - -* Update README to clarify importance of filling out all fields for OAuth consent screen. - -## 0.11.1+8 - -* Automatically register for iOS notifications, ensuring that phone authentication - will work even if Firebase method swizzling is disabled. - -## 0.11.1+7 - -* Automatically use version from pubspec.yaml when reporting usage to Firebase. - -## 0.11.1+6 - -* Add documentation of support email requirement to README. - -## 0.11.1+5 - -* Fix `updatePhoneNumberCredential` on Android. - -## 0.11.1+4 - -* Fix `updatePhoneNumberCredential` on iOS. - -## 0.11.1+3 - -* Add missing template type parameter to `invokeMethod` calls. -* Bump minimum Flutter version to 1.5.0. -* Replace invokeMethod with invokeMapMethod wherever necessary. -* FirebaseUser private constructor takes `Map` instead of `Map`. - -## 0.11.1+2 - -* Suppress deprecation warning for BinaryMessages. See: https://github.com/flutter/flutter/issues/33446 - -## 0.11.1+1 - -* Updated the error code documentation for `linkWithCredential`. - -## 0.11.1 - -* Support for `updatePhoneNumberCredential`. - -## 0.11.0 - -* **Breaking change**: `linkWithCredential` is now a function of `FirebaseUser`instead of - `FirebaseAuth`. -* Added test for newer `linkWithCredential` function. - -## 0.10.0+1 - -* Increase Firebase/Auth CocoaPod dependency to '~> 6.0'. - -## 0.10.0 - -* Update firebase_dynamic_links dependency. -* Update Android dependencies to latest. - -## 0.9.0 - -* **Breaking change**: `PhoneVerificationCompleted` now provides an `AuthCredential` that can - be used with `signInWithCredential` or `linkWithCredential` instead of signing in automatically. -* **Breaking change**: Remove internal counter `nextHandle` from public API. - -## 0.8.4+5 - -* Increase Firebase/Auth CocoaPod dependency to '~> 5.19'. - -## 0.8.4+4 - -* Update FirebaseAuth CocoaPod dependency to ensure availability of `FIRAuthErrorUserInfoNameKey`. - -## 0.8.4+3 - -* Updated deprecated API usage on iOS to use non-deprecated versions. -* Updated FirebaseAuth CocoaPod dependency to ensure a minimum version of 5.0. - -## 0.8.4+2 - -* Fixes an error in the documentation of createUserWithEmailAndPassword. - -## 0.8.4+1 - -* Adds credential for email authentication with link. - -## 0.8.4 - -* Adds support for email link authentication. - -## 0.8.3 - -* Make providerId 'const String' to use in 'case' statement. - -## 0.8.2+1 - -* Fixed bug where `PhoneCodeAutoRetrievalTimeout` callback was never called. - -## 0.8.2 - -* Fixed `linkWithCredential` on Android. - -## 0.8.1+5 - -* Added a driver test. - -## 0.8.1+4 - -* Update README. -* Update the example app with separate pages for registration and sign-in. - -## 0.8.1+3 - -* Reduce compiler warnings in Android plugin -* Raise errors early when accessing methods that require a Firebase User - -## 0.8.1+2 - -* Log messages about automatic configuration of the default app are now less confusing. - -## 0.8.1+1 - -* Remove categories. - -## 0.8.1 - -* Fixes Firebase auth phone sign-in for Android. - -## 0.8.0+3 - -* Log a more detailed warning at build time about the previous AndroidX - migration. - -## 0.8.0+2 - -* Update Google sign-in example in the README. - -## 0.8.0+1 - -* Update a broken dependency. - -## 0.8.0 - -* **Breaking change**. Migrate from the deprecated original Android Support - Library to AndroidX. This shouldn't result in any functional changes, but it - requires any Android apps using this plugin to [also - migrate](https://developer.android.com/jetpack/androidx/migrate) if they're - using the original support library. - -## 0.7.0 - -* Introduce third-party auth provider classes that generate `AuthCredential`s -* **Breaking Change** Signing in, linking, and reauthenticating now require an `AuthCredential` -* **Breaking Change** Unlinking now uses providerId -* **Breaking Change** Moved reauthentication to FirebaseUser - -## 0.6.7 - -* `FirebaseAuth` and `FirebaseUser` are now fully documented. -* `PlatformExceptions` now report error codes as stated in docs. -* Credentials can now be unlinked from Accounts with new methods on `FirebaseUser`. - -## 0.6.6 - -* Users can now reauthenticate in response to operations that require a recent sign-in. - -## 0.6.5 - -* Fixing async method `verifyPhoneNumber`, that would never return even in a successful call. - -## 0.6.4 - -* Added support for Github signin and linking Github accounts to existing users. - -## 0.6.3 - -* Add multi app support. - -## 0.6.2+1 - -* Bump Android dependencies to latest. - -## 0.6.2 - -* Add access to user metadata. - -## 0.6.1 - -* Adding support for linkWithTwitterCredential in FirebaseAuth. - -## 0.6.0 - -* Added support for `updatePassword` in `FirebaseUser`. -* **Breaking Change** Moved `updateEmail` and `updateProfile` to `FirebaseUser`. - This brings the `firebase_auth` package inline with other implementations and documentation. - -## 0.5.20 - -* Replaced usages of guava's: ImmutableList and ImmutableMap with platform -Collections.unmodifiableList() and Collections.unmodifiableMap(). - -## 0.5.19 - -* Update test package dependency to pick up Dart 2 support. -* Modified dependency on google_sign_in to point to a published - version instead of a relative path. - -## 0.5.18 - -* Adding support for updateEmail in FirebaseAuth. - -## 0.5.17 - -* Adding support for FirebaseUser.delete. - -## 0.5.16 - -* Adding support for setLanguageCode in FirebaseAuth. - -## 0.5.15 - -* Bump Android and Firebase dependency versions. - -## 0.5.14 - -* Fixed handling of auto phone number verification. - -## 0.5.13 - -* Add support for phone number authentication. - -## 0.5.12 - -* Fixed ArrayIndexOutOfBoundsException in handleStopListeningAuthState - -## 0.5.11 - -* Updated Gradle tooling to match Android Studio 3.1.2. - -## 0.5.10 - -* Updated iOS implementation to reflect Firebase API changes. - -## 0.5.9 - -* Added support for signing in with a Twitter account. - -## 0.5.8 - -* Added support to reload firebase user - -## 0.5.7 - -* Added support to sendEmailVerification - -## 0.5.6 - -* Added support for linkWithFacebookCredential - -## 0.5.5 - -* Updated Google Play Services dependencies to version 15.0.0. - -## 0.5.4 - -* Simplified podspec for Cocoapods 1.5.0, avoiding link issues in app archives. - -## 0.5.3 - -* Secure fetchProvidersForEmail (no providers) - -## 0.5.2 - -* Fixed Dart 2 type error in fetchProvidersForEmail. - -## 0.5.1 - -* Added support to fetchProvidersForEmail - -## 0.5.0 - -* **Breaking change**. Set SDK constraints to match the Flutter beta release. - -## 0.4.7 - -* Fixed Dart 2 type errors. - -## 0.4.6 - -* Fixed Dart 2 type errors. - -## 0.4.5 - -* Enabled use in Swift projects. - -## 0.4.4 - -* Added support for sendPasswordResetEmail - -## 0.4.3 - -* Moved to the io.flutter.plugins organization. - -## 0.4.2 - -* Added support for changing user data - -## 0.4.1 - -* Simplified and upgraded Android project template to Android SDK 27. -* Updated package description. - -## 0.4.0 - -* **Breaking change**. Upgraded to Gradle 4.1 and Android Studio Gradle plugin - 3.0.1. Older Flutter projects need to upgrade their Gradle setup as well in - order to use this version of the plugin. Instructions can be found - [here](https://github.com/flutter/flutter/wiki/Updating-Flutter-projects-to-Gradle-4.1-and-Android-Studio-Gradle-plugin-3.0.1). -* Relaxed GMS dependency to [11.4.0,12.0[ - -## 0.3.2 - -* Added FLT prefix to iOS types -* Change GMS dependency to 11.4.+ - -## 0.3.1 - -* Change GMS dependency to 11.+ - -## 0.3.0 - -* **Breaking Change**: Method FirebaseUser getToken was renamed to getIdToken. - -## 0.2.5 - -* Added support for linkWithCredential with Google credential - -## 0.2.4 - -* Added support for `signInWithCustomToken` -* Added `Stream onAuthStateChanged` event to listen when the user change - -## 0.2.3+1 - -* Aligned author name with rest of repo. - -## 0.2.3 - -* Remove dependency on Google/SignIn - -## 0.2.2 - -* Remove dependency on FirebaseUI - -## 0.2.1 - -* Added support for linkWithEmailAndPassword - -## 0.2.0 - -* **Breaking Change**: Method currentUser is async now. - -## 0.1.2 - -* Added support for signInWithFacebook - -## 0.1.1 - -* Updated to Firebase SDK to always use latest patch version for 11.0.x builds - -## 0.1.0 - -* Updated to Firebase SDK Version 11.0.1 -* **Breaking Change**: You need to add a maven section with the "https://maven.google.com" endpoint to the repository section of your `android/build.gradle`. For example: -```gradle -allprojects { - repositories { - jcenter() - maven { // NEW - url "https://maven.google.com" // NEW - } // NEW - } -} -``` - -## 0.0.4 - -* Add method getToken() to FirebaseUser - -## 0.0.3+1 - -* Updated README.md - -## 0.0.3 - -* Added support for createUserWithEmailAndPassword, signInWithEmailAndPassword, and signOut Firebase methods - -## 0.0.2+1 - -* Updated README.md - -## 0.0.2 - -* Bump buildToolsVersion to 25.0.3 - -## 0.0.1 - -* Initial Release diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/LICENSE b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/LICENSE deleted file mode 100644 index 000b4618..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/LICENSE +++ /dev/null @@ -1,27 +0,0 @@ -// Copyright 2017 The Chromium Authors. All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. \ No newline at end of file diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/README.md b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/README.md deleted file mode 100755 index 230c522d..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/README.md +++ /dev/null @@ -1,26 +0,0 @@ -[](https://flutter.dev/docs/development/packages-and-plugins/favorites) - -# Firebase Auth for Flutter -[![pub package](https://img.shields.io/pub/v/firebase_auth.svg)](https://pub.dev/packages/firebase_auth) - -A Flutter plugin to use the [Firebase Authentication API](https://firebase.google.com/products/auth/). - -To learn more about Firebase Auth, please visit the [Firebase website](https://firebase.google.com/products/auth) - -## Getting Started - -To get started with Firebase Auth for Flutter, please [see the documentation](https://firebase.google.com/docs/auth/flutter/start). - -## Usage - -To use this plugin, please visit the [Authentication Usage documentation](https://firebase.google.com/docs/auth/flutter/manage-users) - -## Issues and feedback - -Please file FlutterFire specific issues, bugs, or feature requests in our [issue tracker](https://github.com/firebase/flutterfire/issues/new). - -Plugin issues that are not specific to FlutterFire can be filed in the [Flutter issue tracker](https://github.com/flutter/flutter/issues/new). - -To contribute a change to this plugin, -please review our [contribution guide](https://github.com/firebase/flutterfire/blob/main/CONTRIBUTING.md) -and open a [pull request](https://github.com/firebase/flutterfire/pulls). diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/android/build.gradle b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/android/build.gradle deleted file mode 100755 index 1004a0e7..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/android/build.gradle +++ /dev/null @@ -1,66 +0,0 @@ -group 'io.flutter.plugins.firebase.auth' -version '1.0-SNAPSHOT' - -apply plugin: 'com.android.library' - -buildscript { - repositories { - google() - mavenCentral() - } -} - -allprojects { - repositories { - google() - mavenCentral() - } -} - -def firebaseCoreProject = findProject(':firebase_core') -if (firebaseCoreProject == null) { - throw new GradleException('Could not find the firebase_core FlutterFire plugin, have you added it as a dependency in your pubspec?') -} else if (!firebaseCoreProject.properties['FirebaseSDKVersion']) { - throw new GradleException('A newer version of the firebase_core FlutterFire plugin is required, please update your firebase_core pubspec dependency.') -} - -def getRootProjectExtOrCoreProperty(name, firebaseCoreProject) { - if (!rootProject.ext.has('FlutterFire')) return firebaseCoreProject.properties[name] - if (!rootProject.ext.get('FlutterFire')[name]) return firebaseCoreProject.properties[name] - return rootProject.ext.get('FlutterFire').get(name) -} - -android { - // Conditional for compatibility with AGP <4.2. - if (project.android.hasProperty("namespace")) { - namespace 'io.flutter.plugins.firebase.auth' - } - - compileSdkVersion 34 - - defaultConfig { - minSdkVersion 23 - testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" - } - - compileOptions { - sourceCompatibility JavaVersion.toVersion(17) - targetCompatibility JavaVersion.toVersion(17) - } - - buildFeatures { - buildConfig true - } - - lintOptions { - disable 'InvalidPackage' - } - dependencies { - api firebaseCoreProject - implementation platform("com.google.firebase:firebase-bom:${getRootProjectExtOrCoreProperty("FirebaseSDKVersion", firebaseCoreProject)}") - implementation 'com.google.firebase:firebase-auth' - implementation 'androidx.annotation:annotation:1.7.0' - } -} - -apply from: file("./user-agent.gradle") diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/android/gradle.properties b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/android/gradle.properties deleted file mode 100755 index 8bd86f68..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/android/gradle.properties +++ /dev/null @@ -1 +0,0 @@ -org.gradle.jvmargs=-Xmx1536M diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/android/gradle/wrapper/gradle-wrapper.properties b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/android/gradle/wrapper/gradle-wrapper.properties deleted file mode 100644 index e411586a..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/android/gradle/wrapper/gradle-wrapper.properties +++ /dev/null @@ -1,5 +0,0 @@ -distributionBase=GRADLE_USER_HOME -distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.4-bin.zip -zipStoreBase=GRADLE_USER_HOME -zipStorePath=wrapper/dists diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/android/settings.gradle b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/android/settings.gradle deleted file mode 100755 index ec51773d..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/android/settings.gradle +++ /dev/null @@ -1,8 +0,0 @@ -rootProject.name = 'firebase_auth' - -pluginManagement { - plugins { - id "com.android.application" version "8.3.0" - id "com.android.library" version "8.3.0" - } -} diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/android/src/main/AndroidManifest.xml b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/android/src/main/AndroidManifest.xml deleted file mode 100755 index 087541c2..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/android/src/main/AndroidManifest.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/android/src/main/java/io/flutter/plugins/firebase/auth/AuthStateChannelStreamHandler.java b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/android/src/main/java/io/flutter/plugins/firebase/auth/AuthStateChannelStreamHandler.java deleted file mode 100644 index e4147bee..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/android/src/main/java/io/flutter/plugins/firebase/auth/AuthStateChannelStreamHandler.java +++ /dev/null @@ -1,63 +0,0 @@ -/* - * Copyright 2022, the Chromium project authors. Please see the AUTHORS file - * for details. All rights reserved. Use of this source code is governed by a - * BSD-style license that can be found in the LICENSE file. - */ - -package io.flutter.plugins.firebase.auth; - -import com.google.firebase.auth.FirebaseAuth; -import com.google.firebase.auth.FirebaseAuth.AuthStateListener; -import com.google.firebase.auth.FirebaseUser; -import io.flutter.plugin.common.EventChannel.EventSink; -import io.flutter.plugin.common.EventChannel.StreamHandler; -import java.util.HashMap; -import java.util.Map; -import java.util.concurrent.atomic.AtomicBoolean; - -public class AuthStateChannelStreamHandler implements StreamHandler { - - private final FirebaseAuth firebaseAuth; - private AuthStateListener authStateListener; - - public AuthStateChannelStreamHandler(FirebaseAuth firebaseAuth) { - this.firebaseAuth = firebaseAuth; - } - - @Override - public void onListen(Object arguments, EventSink events) { - Map event = new HashMap<>(); - event.put(Constants.APP_NAME, firebaseAuth.getApp().getName()); - - final AtomicBoolean initialAuthState = new AtomicBoolean(true); - - authStateListener = - auth -> { - if (initialAuthState.get()) { - initialAuthState.set(false); - return; - } - - FirebaseUser user = auth.getCurrentUser(); - - if (user == null) { - event.put(Constants.USER, null); - } else { - event.put( - Constants.USER, PigeonParser.manuallyToList(PigeonParser.parseFirebaseUser(user))); - } - - events.success(event); - }; - - firebaseAuth.addAuthStateListener(authStateListener); - } - - @Override - public void onCancel(Object arguments) { - if (authStateListener != null) { - firebaseAuth.removeAuthStateListener(authStateListener); - authStateListener = null; - } - } -} diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/android/src/main/java/io/flutter/plugins/firebase/auth/Constants.java b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/android/src/main/java/io/flutter/plugins/firebase/auth/Constants.java deleted file mode 100644 index 2dd8df20..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/android/src/main/java/io/flutter/plugins/firebase/auth/Constants.java +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Copyright 2022, the Chromium project authors. Please see the AUTHORS file - * for details. All rights reserved. Use of this source code is governed by a - * BSD-style license that can be found in the LICENSE file. - */ - -package io.flutter.plugins.firebase.auth; - -public class Constants { - - public static final String APP_NAME = "appName"; - - // Providers - public static final String SIGN_IN_METHOD_PASSWORD = "password"; - public static final String SIGN_IN_METHOD_EMAIL_LINK = "emailLink"; - public static final String SIGN_IN_METHOD_FACEBOOK = "facebook.com"; - public static final String SIGN_IN_METHOD_GOOGLE = "google.com"; - public static final String SIGN_IN_METHOD_TWITTER = "twitter.com"; - public static final String SIGN_IN_METHOD_GITHUB = "github.com"; - public static final String SIGN_IN_METHOD_PHONE = "phone"; - public static final String SIGN_IN_METHOD_OAUTH = "oauth"; - public static final String SIGN_IN_METHOD_PLAY_GAMES = "playgames.google.com"; - // User - public static final String USER = "user"; - public static final String EMAIL = "email"; - - public static final String PROVIDER_ID = "providerId"; - public static final String CREDENTIAL = "credential"; - public static final String SECRET = "secret"; - public static final String ID_TOKEN = "idToken"; - public static final String TOKEN = "token"; - public static final String ACCESS_TOKEN = "accessToken"; - public static final String RAW_NONCE = "rawNonce"; - public static final String EMAIL_LINK = "emailLink"; - public static final String VERIFICATION_ID = "verificationId"; - public static final String SMS_CODE = "smsCode"; - public static final String SIGN_IN_METHOD = "signInMethod"; - public static final String FORCE_RESENDING_TOKEN = "forceResendingToken"; - public static final String NAME = "name"; - public static final String SERVER_AUTH_CODE = "serverAuthCode"; - - // MultiFactor - public static final String MULTI_FACTOR_HINTS = "multiFactorHints"; - public static final String MULTI_FACTOR_SESSION_ID = "multiFactorSessionId"; - public static final String MULTI_FACTOR_RESOLVER_ID = "multiFactorResolverId"; -} diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/android/src/main/java/io/flutter/plugins/firebase/auth/FlutterFirebaseAuthPlugin.java b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/android/src/main/java/io/flutter/plugins/firebase/auth/FlutterFirebaseAuthPlugin.java deleted file mode 100755 index a122221c..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/android/src/main/java/io/flutter/plugins/firebase/auth/FlutterFirebaseAuthPlugin.java +++ /dev/null @@ -1,782 +0,0 @@ -// Copyright 2017 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -package io.flutter.plugins.firebase.auth; - -import static io.flutter.plugins.firebase.auth.FlutterFirebaseMultiFactor.multiFactorUserMap; -import static io.flutter.plugins.firebase.core.FlutterFirebasePluginRegistry.registerPlugin; - -import android.app.Activity; -import androidx.annotation.NonNull; -import androidx.annotation.Nullable; -import com.google.android.gms.tasks.Task; -import com.google.android.gms.tasks.TaskCompletionSource; -import com.google.firebase.FirebaseApp; -import com.google.firebase.auth.ActionCodeResult; -import com.google.firebase.auth.AuthCredential; -import com.google.firebase.auth.AuthResult; -import com.google.firebase.auth.FirebaseAuth; -import com.google.firebase.auth.FirebaseUser; -import com.google.firebase.auth.MultiFactor; -import com.google.firebase.auth.MultiFactorInfo; -import com.google.firebase.auth.MultiFactorSession; -import com.google.firebase.auth.OAuthProvider; -import com.google.firebase.auth.PhoneMultiFactorInfo; -import com.google.firebase.auth.SignInMethodQueryResult; -import io.flutter.embedding.engine.plugins.FlutterPlugin; -import io.flutter.embedding.engine.plugins.activity.ActivityAware; -import io.flutter.embedding.engine.plugins.activity.ActivityPluginBinding; -import io.flutter.plugin.common.BinaryMessenger; -import io.flutter.plugin.common.EventChannel; -import io.flutter.plugin.common.EventChannel.StreamHandler; -import io.flutter.plugin.common.MethodChannel; -import io.flutter.plugins.firebase.core.FlutterFirebaseCorePlugin; -import io.flutter.plugins.firebase.core.FlutterFirebasePlugin; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.UUID; - -/** Flutter plugin for Firebase Auth. */ -public class FlutterFirebaseAuthPlugin - implements FlutterFirebasePlugin, - FlutterPlugin, - ActivityAware, - GeneratedAndroidFirebaseAuth.FirebaseAuthHostApi { - - private static final String METHOD_CHANNEL_NAME = "plugins.flutter.io/firebase_auth"; - - // Stores the instances of native AuthCredentials by their hashCode - static final HashMap authCredentials = new HashMap<>(); - - @Nullable private BinaryMessenger messenger; - - private MethodChannel channel; - private Activity activity; - - private final Map streamHandlers = new HashMap<>(); - - private final FlutterFirebaseAuthUser firebaseAuthUser = new FlutterFirebaseAuthUser(); - private final FlutterFirebaseMultiFactor firebaseMultiFactor = new FlutterFirebaseMultiFactor(); - - private final FlutterFirebaseTotpMultiFactor firebaseTotpMultiFactor = - new FlutterFirebaseTotpMultiFactor(); - private final FlutterFirebaseTotpSecret firebaseTotpSecret = new FlutterFirebaseTotpSecret(); - - private void initInstance(BinaryMessenger messenger) { - registerPlugin(METHOD_CHANNEL_NAME, this); - channel = new MethodChannel(messenger, METHOD_CHANNEL_NAME); - GeneratedAndroidFirebaseAuth.FirebaseAuthHostApi.setUp(messenger, this); - GeneratedAndroidFirebaseAuth.FirebaseAuthUserHostApi.setUp(messenger, firebaseAuthUser); - GeneratedAndroidFirebaseAuth.MultiFactorUserHostApi.setUp(messenger, firebaseMultiFactor); - GeneratedAndroidFirebaseAuth.MultiFactoResolverHostApi.setUp(messenger, firebaseMultiFactor); - GeneratedAndroidFirebaseAuth.MultiFactorTotpHostApi.setUp(messenger, firebaseTotpMultiFactor); - GeneratedAndroidFirebaseAuth.MultiFactorTotpSecretHostApi.setUp(messenger, firebaseTotpSecret); - - this.messenger = messenger; - } - - @Override - public void onAttachedToEngine(@NonNull FlutterPluginBinding binding) { - initInstance(binding.getBinaryMessenger()); - } - - @Override - public void onDetachedFromEngine(@NonNull FlutterPluginBinding binding) { - channel.setMethodCallHandler(null); - - assert messenger != null; - GeneratedAndroidFirebaseAuth.FirebaseAuthHostApi.setUp(messenger, null); - GeneratedAndroidFirebaseAuth.FirebaseAuthUserHostApi.setUp(messenger, null); - GeneratedAndroidFirebaseAuth.MultiFactorUserHostApi.setUp(messenger, null); - GeneratedAndroidFirebaseAuth.MultiFactoResolverHostApi.setUp(messenger, null); - GeneratedAndroidFirebaseAuth.MultiFactorTotpHostApi.setUp(messenger, null); - GeneratedAndroidFirebaseAuth.MultiFactorTotpSecretHostApi.setUp(messenger, null); - - channel = null; - messenger = null; - - removeEventListeners(); - } - - @Override - public void onAttachedToActivity(ActivityPluginBinding activityPluginBinding) { - activity = activityPluginBinding.getActivity(); - firebaseAuthUser.setActivity(activity); - } - - @Override - public void onDetachedFromActivityForConfigChanges() { - activity = null; - firebaseAuthUser.setActivity(null); - } - - @Override - public void onReattachedToActivityForConfigChanges(ActivityPluginBinding activityPluginBinding) { - activity = activityPluginBinding.getActivity(); - firebaseAuthUser.setActivity(activity); - } - - @Override - public void onDetachedFromActivity() { - activity = null; - firebaseAuthUser.setActivity(null); - } - - // Only access activity with this method. - @Nullable - private Activity getActivity() { - return activity; - } - - static FirebaseAuth getAuthFromPigeon( - GeneratedAndroidFirebaseAuth.AuthPigeonFirebaseApp pigeonApp) { - FirebaseApp app = FirebaseApp.getInstance(pigeonApp.getAppName()); - FirebaseAuth auth = FirebaseAuth.getInstance(app); - if (pigeonApp.getTenantId() != null) { - auth.setTenantId(pigeonApp.getTenantId()); - } - String customDomain = FlutterFirebaseCorePlugin.customAuthDomain.get(pigeonApp.getAppName()); - if (customDomain != null) { - auth.setCustomAuthDomain(customDomain); - } - - // Auth's `getCustomAuthDomain` supersedes value from `customAuthDomain` map set by - // `initializeApp` - if (pigeonApp.getCustomAuthDomain() != null) { - auth.setCustomAuthDomain(pigeonApp.getCustomAuthDomain()); - } - - return auth; - } - - @Override - public void registerIdTokenListener( - @NonNull GeneratedAndroidFirebaseAuth.AuthPigeonFirebaseApp app, - @NonNull GeneratedAndroidFirebaseAuth.Result result) { - try { - final FirebaseAuth auth = getAuthFromPigeon(app); - final IdTokenChannelStreamHandler handler = new IdTokenChannelStreamHandler(auth); - final String name = METHOD_CHANNEL_NAME + "/id-token/" + auth.getApp().getName(); - final EventChannel channel = new EventChannel(messenger, name); - channel.setStreamHandler(handler); - streamHandlers.put(channel, handler); - result.success(name); - } catch (Exception e) { - result.error(e); - } - } - - @Override - public void registerAuthStateListener( - @NonNull GeneratedAndroidFirebaseAuth.AuthPigeonFirebaseApp app, - @NonNull GeneratedAndroidFirebaseAuth.Result result) { - try { - final FirebaseAuth auth = getAuthFromPigeon(app); - final AuthStateChannelStreamHandler handler = new AuthStateChannelStreamHandler(auth); - final String name = METHOD_CHANNEL_NAME + "/auth-state/" + auth.getApp().getName(); - final EventChannel channel = new EventChannel(messenger, name); - channel.setStreamHandler(handler); - streamHandlers.put(channel, handler); - result.success(name); - } catch (Exception e) { - result.error(e); - } - } - - @Override - public void useEmulator( - @NonNull GeneratedAndroidFirebaseAuth.AuthPigeonFirebaseApp app, - @NonNull String host, - @NonNull Long port, - @NonNull GeneratedAndroidFirebaseAuth.VoidResult result) { - try { - FirebaseAuth firebaseAuth = getAuthFromPigeon(app); - firebaseAuth.useEmulator(host, port.intValue()); - result.success(); - } catch (Exception e) { - result.error(e); - } - } - - @Override - public void applyActionCode( - @NonNull GeneratedAndroidFirebaseAuth.AuthPigeonFirebaseApp app, - @NonNull String code, - @NonNull GeneratedAndroidFirebaseAuth.VoidResult result) { - FirebaseAuth firebaseAuth = getAuthFromPigeon(app); - firebaseAuth - .applyActionCode(code) - .addOnCompleteListener( - task -> { - if (task.isSuccessful()) { - result.success(); - } else { - result.error( - FlutterFirebaseAuthPluginException.parserExceptionToFlutter( - task.getException())); - } - }); - } - - @Override - public void checkActionCode( - @NonNull GeneratedAndroidFirebaseAuth.AuthPigeonFirebaseApp app, - @NonNull String code, - @NonNull - GeneratedAndroidFirebaseAuth.Result - result) { - FirebaseAuth firebaseAuth = getAuthFromPigeon(app); - firebaseAuth - .checkActionCode(code) - .addOnCompleteListener( - task -> { - if (task.isSuccessful()) { - ActionCodeResult actionCodeInfo = task.getResult(); - result.success(PigeonParser.parseActionCodeResult(actionCodeInfo)); - } else { - result.error( - FlutterFirebaseAuthPluginException.parserExceptionToFlutter( - task.getException())); - } - }); - } - - @Override - public void confirmPasswordReset( - @NonNull GeneratedAndroidFirebaseAuth.AuthPigeonFirebaseApp app, - @NonNull String code, - @NonNull String newPassword, - @NonNull GeneratedAndroidFirebaseAuth.VoidResult result) { - FirebaseAuth firebaseAuth = getAuthFromPigeon(app); - - firebaseAuth - .confirmPasswordReset(code, newPassword) - .addOnCompleteListener( - task -> { - if (task.isSuccessful()) { - result.success(); - } else { - result.error( - FlutterFirebaseAuthPluginException.parserExceptionToFlutter( - task.getException())); - } - }); - } - - @Override - public void createUserWithEmailAndPassword( - @NonNull GeneratedAndroidFirebaseAuth.AuthPigeonFirebaseApp app, - @NonNull String email, - @NonNull String password, - @NonNull - GeneratedAndroidFirebaseAuth.Result - result) { - FirebaseAuth firebaseAuth = getAuthFromPigeon(app); - - firebaseAuth - .createUserWithEmailAndPassword(email, password) - .addOnCompleteListener( - task -> { - if (task.isSuccessful()) { - AuthResult authResult = task.getResult(); - result.success(PigeonParser.parseAuthResult(authResult)); - } else { - result.error( - FlutterFirebaseAuthPluginException.parserExceptionToFlutter( - task.getException())); - } - }); - } - - @Override - public void signInAnonymously( - @NonNull GeneratedAndroidFirebaseAuth.AuthPigeonFirebaseApp app, - @NonNull - GeneratedAndroidFirebaseAuth.Result - result) { - FirebaseAuth firebaseAuth = getAuthFromPigeon(app); - firebaseAuth - .signInAnonymously() - .addOnCompleteListener( - task -> { - if (task.isSuccessful()) { - AuthResult authResult = task.getResult(); - result.success(PigeonParser.parseAuthResult(authResult)); - } else { - result.error( - FlutterFirebaseAuthPluginException.parserExceptionToFlutter( - task.getException())); - } - }); - } - - @Override - public void signInWithCredential( - @NonNull GeneratedAndroidFirebaseAuth.AuthPigeonFirebaseApp app, - @NonNull Map input, - @NonNull - GeneratedAndroidFirebaseAuth.Result - result) { - FirebaseAuth firebaseAuth = getAuthFromPigeon(app); - AuthCredential credential = PigeonParser.getCredential(input); - - if (credential == null) { - throw FlutterFirebaseAuthPluginException.invalidCredential(); - } - firebaseAuth - .signInWithCredential(credential) - .addOnCompleteListener( - task -> { - if (task.isSuccessful()) { - AuthResult authResult = task.getResult(); - result.success(PigeonParser.parseAuthResult(authResult)); - } else { - result.error( - FlutterFirebaseAuthPluginException.parserExceptionToFlutter( - task.getException())); - } - }); - } - - @Override - public void signInWithCustomToken( - @NonNull GeneratedAndroidFirebaseAuth.AuthPigeonFirebaseApp app, - @NonNull String token, - @NonNull - GeneratedAndroidFirebaseAuth.Result - result) { - FirebaseAuth firebaseAuth = getAuthFromPigeon(app); - - firebaseAuth - .signInWithCustomToken(token) - .addOnCompleteListener( - task -> { - if (task.isSuccessful()) { - AuthResult authResult = task.getResult(); - result.success(PigeonParser.parseAuthResult(authResult)); - } else { - result.error( - FlutterFirebaseAuthPluginException.parserExceptionToFlutter( - task.getException())); - } - }); - } - - @Override - public void signInWithEmailAndPassword( - @NonNull GeneratedAndroidFirebaseAuth.AuthPigeonFirebaseApp app, - @NonNull String email, - @NonNull String password, - @NonNull - GeneratedAndroidFirebaseAuth.Result - result) { - FirebaseAuth firebaseAuth = getAuthFromPigeon(app); - firebaseAuth - .signInWithEmailAndPassword(email, password) - .addOnCompleteListener( - task -> { - if (task.isSuccessful()) { - result.success(PigeonParser.parseAuthResult(task.getResult())); - } else { - result.error( - FlutterFirebaseAuthPluginException.parserExceptionToFlutter( - task.getException())); - } - }); - } - - @Override - public void signInWithEmailLink( - @NonNull GeneratedAndroidFirebaseAuth.AuthPigeonFirebaseApp app, - @NonNull String email, - @NonNull String emailLink, - @NonNull - GeneratedAndroidFirebaseAuth.Result - result) { - FirebaseAuth firebaseAuth = getAuthFromPigeon(app); - firebaseAuth - .signInWithEmailLink(email, emailLink) - .addOnCompleteListener( - task -> { - if (task.isSuccessful()) { - AuthResult authResult = task.getResult(); - result.success(PigeonParser.parseAuthResult(authResult)); - } else { - result.error( - FlutterFirebaseAuthPluginException.parserExceptionToFlutter( - task.getException())); - } - }); - } - - @Override - public void signInWithProvider( - @NonNull GeneratedAndroidFirebaseAuth.AuthPigeonFirebaseApp app, - @NonNull GeneratedAndroidFirebaseAuth.InternalSignInProvider signInProvider, - @NonNull - GeneratedAndroidFirebaseAuth.Result - result) { - FirebaseAuth firebaseAuth = getAuthFromPigeon(app); - - OAuthProvider.Builder provider = - OAuthProvider.newBuilder(signInProvider.getProviderId(), firebaseAuth); - if (signInProvider.getScopes() != null) { - provider.setScopes(signInProvider.getScopes()); - } - if (signInProvider.getCustomParameters() != null) { - provider.addCustomParameters(signInProvider.getCustomParameters()); - } - - firebaseAuth - .startActivityForSignInWithProvider(getActivity(), provider.build()) - .addOnCompleteListener( - task -> { - if (task.isSuccessful()) { - AuthResult authResult = task.getResult(); - result.success(PigeonParser.parseAuthResult(authResult)); - } else { - result.error( - FlutterFirebaseAuthPluginException.parserExceptionToFlutter( - task.getException())); - } - }); - } - - @Override - public void signOut( - @NonNull GeneratedAndroidFirebaseAuth.AuthPigeonFirebaseApp app, - @NonNull GeneratedAndroidFirebaseAuth.VoidResult result) { - try { - FirebaseAuth firebaseAuth = getAuthFromPigeon(app); - if (firebaseAuth.getCurrentUser() != null) { - final Map appMultiFactorUser = - multiFactorUserMap.get(app.getAppName()); - if (appMultiFactorUser != null) { - appMultiFactorUser.remove(firebaseAuth.getCurrentUser().getUid()); - } - } - firebaseAuth.signOut(); - result.success(); - } catch (Exception e) { - result.error(e); - } - } - - @Override - public void fetchSignInMethodsForEmail( - @NonNull GeneratedAndroidFirebaseAuth.AuthPigeonFirebaseApp app, - @NonNull String email, - @NonNull GeneratedAndroidFirebaseAuth.Result> result) { - FirebaseAuth firebaseAuth = getAuthFromPigeon(app); - - firebaseAuth - .fetchSignInMethodsForEmail(email) - .addOnCompleteListener( - task -> { - if (task.isSuccessful()) { - SignInMethodQueryResult signInMethodQueryResult = task.getResult(); - result.success(signInMethodQueryResult.getSignInMethods()); - } else { - result.error( - FlutterFirebaseAuthPluginException.parserExceptionToFlutter( - task.getException())); - } - }); - } - - @Override - public void sendPasswordResetEmail( - @NonNull GeneratedAndroidFirebaseAuth.AuthPigeonFirebaseApp app, - @NonNull String email, - @Nullable GeneratedAndroidFirebaseAuth.InternalActionCodeSettings actionCodeSettings, - @NonNull GeneratedAndroidFirebaseAuth.VoidResult result) { - FirebaseAuth firebaseAuth = getAuthFromPigeon(app); - - if (actionCodeSettings == null) { - firebaseAuth - .sendPasswordResetEmail(email) - .addOnCompleteListener( - task -> { - if (task.isSuccessful()) { - result.success(); - } else { - result.error( - FlutterFirebaseAuthPluginException.parserExceptionToFlutter( - task.getException())); - } - }); - return; - } - - firebaseAuth - .sendPasswordResetEmail(email, PigeonParser.getActionCodeSettings(actionCodeSettings)) - .addOnCompleteListener( - task -> { - if (task.isSuccessful()) { - result.success(); - } else { - result.error( - FlutterFirebaseAuthPluginException.parserExceptionToFlutter( - task.getException())); - } - }); - } - - @Override - public void sendSignInLinkToEmail( - @NonNull GeneratedAndroidFirebaseAuth.AuthPigeonFirebaseApp app, - @NonNull String email, - @NonNull GeneratedAndroidFirebaseAuth.InternalActionCodeSettings actionCodeSettings, - @NonNull GeneratedAndroidFirebaseAuth.VoidResult result) { - FirebaseAuth firebaseAuth = getAuthFromPigeon(app); - - firebaseAuth - .sendSignInLinkToEmail(email, PigeonParser.getActionCodeSettings(actionCodeSettings)) - .addOnCompleteListener( - task -> { - if (task.isSuccessful()) { - result.success(); - } else { - result.error( - FlutterFirebaseAuthPluginException.parserExceptionToFlutter( - task.getException())); - } - }); - } - - @Override - public void setLanguageCode( - @NonNull GeneratedAndroidFirebaseAuth.AuthPigeonFirebaseApp app, - @Nullable String languageCode, - @NonNull GeneratedAndroidFirebaseAuth.Result result) { - try { - FirebaseAuth firebaseAuth = getAuthFromPigeon(app); - - if (languageCode == null) { - firebaseAuth.useAppLanguage(); - } else { - firebaseAuth.setLanguageCode(languageCode); - } - - result.success(firebaseAuth.getLanguageCode()); - } catch (Exception e) { - result.error(e); - } - } - - @Override - public void setSettings( - @NonNull GeneratedAndroidFirebaseAuth.AuthPigeonFirebaseApp app, - @NonNull GeneratedAndroidFirebaseAuth.InternalFirebaseAuthSettings settings, - @NonNull GeneratedAndroidFirebaseAuth.VoidResult result) { - try { - FirebaseAuth firebaseAuth = getAuthFromPigeon(app); - - firebaseAuth - .getFirebaseAuthSettings() - .setAppVerificationDisabledForTesting(settings.getAppVerificationDisabledForTesting()); - - if (settings.getForceRecaptchaFlow() != null) { - firebaseAuth - .getFirebaseAuthSettings() - .forceRecaptchaFlowForTesting(settings.getForceRecaptchaFlow()); - } - - if (settings.getPhoneNumber() != null && settings.getSmsCode() != null) { - firebaseAuth - .getFirebaseAuthSettings() - .setAutoRetrievedSmsCodeForPhoneNumber( - settings.getPhoneNumber(), settings.getSmsCode()); - } - - result.success(); - } catch (Exception e) { - result.error(e); - } - } - - @Override - public void verifyPasswordResetCode( - @NonNull GeneratedAndroidFirebaseAuth.AuthPigeonFirebaseApp app, - @NonNull String code, - @NonNull GeneratedAndroidFirebaseAuth.Result result) { - FirebaseAuth firebaseAuth = getAuthFromPigeon(app); - - firebaseAuth - .verifyPasswordResetCode(code) - .addOnCompleteListener( - task -> { - if (task.isSuccessful()) { - result.success(task.getResult()); - } else { - result.error( - FlutterFirebaseAuthPluginException.parserExceptionToFlutter( - task.getException())); - } - }); - } - - @Override - public void verifyPhoneNumber( - @NonNull GeneratedAndroidFirebaseAuth.AuthPigeonFirebaseApp app, - @NonNull GeneratedAndroidFirebaseAuth.InternalVerifyPhoneNumberRequest request, - @NonNull GeneratedAndroidFirebaseAuth.Result result) { - try { - String eventChannelName = METHOD_CHANNEL_NAME + "/phone/" + UUID.randomUUID().toString(); - EventChannel channel = new EventChannel(messenger, eventChannelName); - - MultiFactorSession multiFactorSession = null; - - if (request.getMultiFactorSessionId() != null) { - multiFactorSession = - FlutterFirebaseMultiFactor.multiFactorSessionMap.get(request.getMultiFactorSessionId()); - } - - final String multiFactorInfoId = request.getMultiFactorInfoId(); - PhoneMultiFactorInfo multiFactorInfo = null; - - if (multiFactorInfoId != null) { - for (String resolverId : FlutterFirebaseMultiFactor.multiFactorResolverMap.keySet()) { - for (MultiFactorInfo info : - FlutterFirebaseMultiFactor.multiFactorResolverMap.get(resolverId).getHints()) { - if (info.getUid().equals(multiFactorInfoId) && info instanceof PhoneMultiFactorInfo) { - multiFactorInfo = (PhoneMultiFactorInfo) info; - break; - } - } - } - } - - PhoneNumberVerificationStreamHandler handler = - new PhoneNumberVerificationStreamHandler( - getActivity(), - app, - request, - multiFactorSession, - multiFactorInfo, - credential -> { - int hashCode = credential.hashCode(); - authCredentials.put(hashCode, credential); - }); - - channel.setStreamHandler(handler); - streamHandlers.put(channel, handler); - - result.success(eventChannelName); - } catch (Exception e) { - result.error(e); - } - } - - @Override - public void revokeTokenWithAuthorizationCode( - @NonNull GeneratedAndroidFirebaseAuth.AuthPigeonFirebaseApp app, - @NonNull String authorizationCode, - @NonNull GeneratedAndroidFirebaseAuth.VoidResult result) { - // Should never get here as we throw Exception on Dart side. - result.success(); - } - - @Override - public void revokeAccessToken( - @NonNull GeneratedAndroidFirebaseAuth.AuthPigeonFirebaseApp app, - @NonNull String accessToken, - @NonNull GeneratedAndroidFirebaseAuth.VoidResult result) { - FirebaseAuth firebaseAuth = getAuthFromPigeon(app); - - firebaseAuth - .revokeAccessToken(accessToken) - .addOnCompleteListener( - task -> { - if (task.isSuccessful()) { - result.success(); - } else { - result.error( - FlutterFirebaseAuthPluginException.parserExceptionToFlutter( - task.getException())); - } - }); - } - - @Override - public void initializeRecaptchaConfig( - @NonNull GeneratedAndroidFirebaseAuth.AuthPigeonFirebaseApp app, - @NonNull GeneratedAndroidFirebaseAuth.VoidResult result) { - FirebaseAuth firebaseAuth = getAuthFromPigeon(app); - firebaseAuth - .initializeRecaptchaConfig() - .addOnCompleteListener( - task -> { - if (task.isSuccessful()) { - result.success(); - } else { - result.error( - FlutterFirebaseAuthPluginException.parserExceptionToFlutter( - task.getException())); - } - }); - } - - @Override - public Task> getPluginConstantsForFirebaseApp(FirebaseApp firebaseApp) { - TaskCompletionSource> taskCompletionSource = new TaskCompletionSource<>(); - - cachedThreadPool.execute( - () -> { - try { - Map constants = new HashMap<>(); - FirebaseAuth firebaseAuth = FirebaseAuth.getInstance(firebaseApp); - FirebaseUser firebaseUser = firebaseAuth.getCurrentUser(); - String languageCode = firebaseAuth.getLanguageCode(); - - GeneratedAndroidFirebaseAuth.InternalUserDetails user = - firebaseUser == null ? null : PigeonParser.parseFirebaseUser(firebaseUser); - - if (languageCode != null) { - constants.put("APP_LANGUAGE_CODE", languageCode); - } - - if (user != null) { - constants.put("APP_CURRENT_USER", PigeonParser.manuallyToList(user)); - } - - taskCompletionSource.setResult(constants); - } catch (Exception e) { - taskCompletionSource.setException(e); - } - }); - - return taskCompletionSource.getTask(); - } - - @Override - public Task didReinitializeFirebaseCore() { - TaskCompletionSource taskCompletionSource = new TaskCompletionSource<>(); - - cachedThreadPool.execute( - () -> { - try { - removeEventListeners(); - authCredentials.clear(); - taskCompletionSource.setResult(null); - } catch (Exception e) { - taskCompletionSource.setException(e); - } - }); - - return taskCompletionSource.getTask(); - } - - private void removeEventListeners() { - for (EventChannel eventChannel : streamHandlers.keySet()) { - StreamHandler streamHandler = streamHandlers.get(eventChannel); - if (streamHandler != null) { - streamHandler.onCancel(null); - } - eventChannel.setStreamHandler(null); - } - streamHandlers.clear(); - } -} diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/android/src/main/java/io/flutter/plugins/firebase/auth/FlutterFirebaseAuthPluginException.java b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/android/src/main/java/io/flutter/plugins/firebase/auth/FlutterFirebaseAuthPluginException.java deleted file mode 100644 index a42bcb56..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/android/src/main/java/io/flutter/plugins/firebase/auth/FlutterFirebaseAuthPluginException.java +++ /dev/null @@ -1,157 +0,0 @@ -/* - * Copyright 2022, the Chromium project authors. Please see the AUTHORS file - * for details. All rights reserved. Use of this source code is governed by a - * BSD-style license that can be found in the LICENSE file. - */ - -package io.flutter.plugins.firebase.auth; - -import androidx.annotation.Nullable; -import com.google.firebase.FirebaseApiNotAvailableException; -import com.google.firebase.FirebaseNetworkException; -import com.google.firebase.FirebaseTooManyRequestsException; -import com.google.firebase.auth.AuthCredential; -import com.google.firebase.auth.FirebaseAuthException; -import com.google.firebase.auth.FirebaseAuthMultiFactorException; -import com.google.firebase.auth.FirebaseAuthUserCollisionException; -import com.google.firebase.auth.FirebaseAuthWeakPasswordException; -import com.google.firebase.auth.MultiFactorInfo; -import com.google.firebase.auth.MultiFactorResolver; -import com.google.firebase.auth.MultiFactorSession; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.UUID; - -public class FlutterFirebaseAuthPluginException { - - static GeneratedAndroidFirebaseAuth.FlutterError parserExceptionToFlutter( - @Nullable Exception nativeException) { - if (nativeException == null) { - return new GeneratedAndroidFirebaseAuth.FlutterError("UNKNOWN", null, null); - } - String code = "UNKNOWN"; - - String message = nativeException.getMessage(); - Map additionalData = new HashMap<>(); - - if (nativeException instanceof FirebaseAuthMultiFactorException) { - final FirebaseAuthMultiFactorException multiFactorException = - (FirebaseAuthMultiFactorException) nativeException; - Map output = new HashMap<>(); - - MultiFactorResolver multiFactorResolver = multiFactorException.getResolver(); - final List hints = multiFactorResolver.getHints(); - - final MultiFactorSession session = multiFactorResolver.getSession(); - final String sessionId = UUID.randomUUID().toString(); - FlutterFirebaseMultiFactor.multiFactorSessionMap.put(sessionId, session); - - final String resolverId = UUID.randomUUID().toString(); - FlutterFirebaseMultiFactor.multiFactorResolverMap.put(resolverId, multiFactorResolver); - - final List> pigeonHints = PigeonParser.multiFactorInfoToMap(hints); - - output.put( - Constants.APP_NAME, - multiFactorException.getResolver().getFirebaseAuth().getApp().getName()); - - output.put(Constants.MULTI_FACTOR_HINTS, pigeonHints); - - output.put(Constants.MULTI_FACTOR_SESSION_ID, sessionId); - output.put(Constants.MULTI_FACTOR_RESOLVER_ID, resolverId); - - return new GeneratedAndroidFirebaseAuth.FlutterError( - multiFactorException.getErrorCode(), multiFactorException.getLocalizedMessage(), output); - } - - if (nativeException instanceof FirebaseNetworkException - || (nativeException.getCause() != null - && nativeException.getCause() instanceof FirebaseNetworkException)) { - return new GeneratedAndroidFirebaseAuth.FlutterError( - "network-request-failed", - "A network error (such as timeout, interrupted connection or unreachable host) has" - + " occurred.", - null); - } - - if (nativeException instanceof FirebaseApiNotAvailableException - || (nativeException.getCause() != null - && nativeException.getCause() instanceof FirebaseApiNotAvailableException)) { - return new GeneratedAndroidFirebaseAuth.FlutterError( - "api-not-available", "The requested API is not available.", null); - } - - if (nativeException instanceof FirebaseTooManyRequestsException - || (nativeException.getCause() != null - && nativeException.getCause() instanceof FirebaseTooManyRequestsException)) { - return new GeneratedAndroidFirebaseAuth.FlutterError( - "too-many-requests", - "We have blocked all requests from this device due to unusual activity. Try again later.", - null); - } - - // Manual message overrides to match other platforms. - if (nativeException.getMessage() != null - && nativeException - .getMessage() - .startsWith("Cannot create PhoneAuthCredential without either verificationProof")) { - return new GeneratedAndroidFirebaseAuth.FlutterError( - "invalid-verification-code", - "The verification ID used to create the phone auth credential is invalid.", - null); - } - - if (message != null - && message.contains("User has already been linked to the given provider.")) { - return FlutterFirebaseAuthPluginException.alreadyLinkedProvider(); - } - - if (nativeException instanceof FirebaseAuthException) { - code = ((FirebaseAuthException) nativeException).getErrorCode(); - } - - if (nativeException instanceof FirebaseAuthWeakPasswordException) { - message = ((FirebaseAuthWeakPasswordException) nativeException).getReason(); - } - - if (nativeException instanceof FirebaseAuthUserCollisionException) { - String email = ((FirebaseAuthUserCollisionException) nativeException).getEmail(); - - if (email != null) { - additionalData.put("email", email); - } - - AuthCredential authCredential = - ((FirebaseAuthUserCollisionException) nativeException).getUpdatedCredential(); - - if (authCredential != null) { - additionalData.put("authCredential", PigeonParser.parseAuthCredential(authCredential)); - } - } - - return new GeneratedAndroidFirebaseAuth.FlutterError(code, message, additionalData); - } - - static GeneratedAndroidFirebaseAuth.FlutterError noUser() { - return new GeneratedAndroidFirebaseAuth.FlutterError( - "NO_CURRENT_USER", "No user currently signed in.", null); - } - - static GeneratedAndroidFirebaseAuth.FlutterError invalidCredential() { - return new GeneratedAndroidFirebaseAuth.FlutterError( - "INVALID_CREDENTIAL", - "The supplied auth credential is malformed, has expired or is not currently supported.", - null); - } - - static GeneratedAndroidFirebaseAuth.FlutterError noSuchProvider() { - return new GeneratedAndroidFirebaseAuth.FlutterError( - "NO_SUCH_PROVIDER", "User was not linked to an account with the given provider.", null); - } - - static GeneratedAndroidFirebaseAuth.FlutterError alreadyLinkedProvider() { - return new GeneratedAndroidFirebaseAuth.FlutterError( - "PROVIDER_ALREADY_LINKED", "User has already been linked to the given provider.", null); - } -} diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/android/src/main/java/io/flutter/plugins/firebase/auth/FlutterFirebaseAuthRegistrar.java b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/android/src/main/java/io/flutter/plugins/firebase/auth/FlutterFirebaseAuthRegistrar.java deleted file mode 100644 index 1476a9bd..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/android/src/main/java/io/flutter/plugins/firebase/auth/FlutterFirebaseAuthRegistrar.java +++ /dev/null @@ -1,21 +0,0 @@ -// Copyright 2019 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -package io.flutter.plugins.firebase.auth; - -import androidx.annotation.Keep; -import com.google.firebase.components.Component; -import com.google.firebase.components.ComponentRegistrar; -import com.google.firebase.platforminfo.LibraryVersionComponent; -import java.util.Collections; -import java.util.List; - -@Keep -public class FlutterFirebaseAuthRegistrar implements ComponentRegistrar { - @Override - public List> getComponents() { - return Collections.>singletonList( - LibraryVersionComponent.create(BuildConfig.LIBRARY_NAME, BuildConfig.LIBRARY_VERSION)); - } -} diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/android/src/main/java/io/flutter/plugins/firebase/auth/FlutterFirebaseAuthUser.java b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/android/src/main/java/io/flutter/plugins/firebase/auth/FlutterFirebaseAuthUser.java deleted file mode 100644 index 7039a38f..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/android/src/main/java/io/flutter/plugins/firebase/auth/FlutterFirebaseAuthUser.java +++ /dev/null @@ -1,548 +0,0 @@ -/* - * Copyright 2023, the Chromium project authors. Please see the AUTHORS file - * for details. All rights reserved. Use of this source code is governed by a - * BSD-style license that can be found in the LICENSE file. - */ - -package io.flutter.plugins.firebase.auth; - -import static io.flutter.plugins.firebase.core.FlutterFirebasePlugin.cachedThreadPool; - -import android.app.Activity; -import android.net.Uri; -import androidx.annotation.NonNull; -import androidx.annotation.Nullable; -import com.google.android.gms.tasks.Tasks; -import com.google.firebase.FirebaseApp; -import com.google.firebase.auth.AuthCredential; -import com.google.firebase.auth.FirebaseAuth; -import com.google.firebase.auth.FirebaseUser; -import com.google.firebase.auth.GetTokenResult; -import com.google.firebase.auth.OAuthProvider; -import com.google.firebase.auth.PhoneAuthCredential; -import com.google.firebase.auth.UserProfileChangeRequest; -import java.util.Map; - -public class FlutterFirebaseAuthUser - implements GeneratedAndroidFirebaseAuth.FirebaseAuthUserHostApi { - - private Activity activity; - - public void setActivity(Activity activity) { - this.activity = activity; - } - - public static FirebaseUser getCurrentUserFromPigeon( - @NonNull GeneratedAndroidFirebaseAuth.AuthPigeonFirebaseApp pigeonApp) { - FirebaseApp app = FirebaseApp.getInstance(pigeonApp.getAppName()); - FirebaseAuth auth = FirebaseAuth.getInstance(app); - if (pigeonApp.getTenantId() != null) { - auth.setTenantId(pigeonApp.getTenantId()); - } - - return auth.getCurrentUser(); - } - - @Override - public void delete( - @NonNull GeneratedAndroidFirebaseAuth.AuthPigeonFirebaseApp app, - @NonNull GeneratedAndroidFirebaseAuth.VoidResult result) { - FirebaseUser firebaseUser = getCurrentUserFromPigeon(app); - - if (firebaseUser == null) { - result.error(FlutterFirebaseAuthPluginException.noUser()); - return; - } - - firebaseUser - .delete() - .addOnCompleteListener( - task -> { - if (task.isSuccessful()) { - result.success(); - } else { - result.error( - FlutterFirebaseAuthPluginException.parserExceptionToFlutter( - task.getException())); - } - }); - } - - @Override - public void getIdToken( - @NonNull GeneratedAndroidFirebaseAuth.AuthPigeonFirebaseApp app, - @NonNull Boolean forceRefresh, - @NonNull - GeneratedAndroidFirebaseAuth.Result - result) { - cachedThreadPool.execute( - () -> { - FirebaseUser firebaseUser = getCurrentUserFromPigeon(app); - - if (firebaseUser == null) { - result.error(FlutterFirebaseAuthPluginException.noUser()); - return; - } - try { - GetTokenResult response = Tasks.await(firebaseUser.getIdToken(forceRefresh)); - result.success(PigeonParser.parseTokenResult(response)); - } catch (Exception exception) { - result.error(FlutterFirebaseAuthPluginException.parserExceptionToFlutter(exception)); - } - }); - } - - @Override - public void linkWithCredential( - @NonNull GeneratedAndroidFirebaseAuth.AuthPigeonFirebaseApp app, - @NonNull Map input, - @NonNull - GeneratedAndroidFirebaseAuth.Result - result) { - FirebaseUser firebaseUser = getCurrentUserFromPigeon(app); - AuthCredential credential = PigeonParser.getCredential(input); - - if (firebaseUser == null) { - result.error(FlutterFirebaseAuthPluginException.noUser()); - return; - } - - if (credential == null) { - result.error(FlutterFirebaseAuthPluginException.invalidCredential()); - return; - } - - firebaseUser - .linkWithCredential(credential) - .addOnCompleteListener( - task -> { - if (task.isSuccessful()) { - result.success(PigeonParser.parseAuthResult(task.getResult())); - } else { - result.error( - FlutterFirebaseAuthPluginException.parserExceptionToFlutter( - task.getException())); - } - }); - } - - @Override - public void linkWithProvider( - @NonNull GeneratedAndroidFirebaseAuth.AuthPigeonFirebaseApp app, - @NonNull GeneratedAndroidFirebaseAuth.InternalSignInProvider signInProvider, - @NonNull - GeneratedAndroidFirebaseAuth.Result - result) { - FirebaseUser firebaseUser = getCurrentUserFromPigeon(app); - - OAuthProvider.Builder provider = OAuthProvider.newBuilder(signInProvider.getProviderId()); - if (signInProvider.getScopes() != null) { - provider.setScopes(signInProvider.getScopes()); - } - if (signInProvider.getCustomParameters() != null) { - provider.addCustomParameters(signInProvider.getCustomParameters()); - } - - firebaseUser - .startActivityForLinkWithProvider(activity, provider.build()) - .addOnCompleteListener( - task -> { - if (task.isSuccessful()) { - result.success(PigeonParser.parseAuthResult(task.getResult())); - } else { - result.error( - FlutterFirebaseAuthPluginException.parserExceptionToFlutter( - task.getException())); - } - }); - } - - @Override - public void reauthenticateWithCredential( - @NonNull GeneratedAndroidFirebaseAuth.AuthPigeonFirebaseApp app, - @NonNull Map input, - @NonNull - GeneratedAndroidFirebaseAuth.Result - result) { - FirebaseUser firebaseUser = getCurrentUserFromPigeon(app); - AuthCredential credential = PigeonParser.getCredential(input); - - if (firebaseUser == null) { - result.error(FlutterFirebaseAuthPluginException.noUser()); - return; - } - - if (credential == null) { - result.error(FlutterFirebaseAuthPluginException.invalidCredential()); - return; - } - - firebaseUser - .reauthenticateAndRetrieveData(credential) - .addOnCompleteListener( - task -> { - if (task.isSuccessful()) { - result.success(PigeonParser.parseAuthResult(task.getResult())); - } else { - result.error( - FlutterFirebaseAuthPluginException.parserExceptionToFlutter( - task.getException())); - } - }); - } - - @Override - public void reauthenticateWithProvider( - @NonNull GeneratedAndroidFirebaseAuth.AuthPigeonFirebaseApp app, - @NonNull GeneratedAndroidFirebaseAuth.InternalSignInProvider signInProvider, - @NonNull - GeneratedAndroidFirebaseAuth.Result - result) { - FirebaseUser firebaseUser = getCurrentUserFromPigeon(app); - - OAuthProvider.Builder provider = OAuthProvider.newBuilder(signInProvider.getProviderId()); - if (signInProvider.getScopes() != null) { - provider.setScopes(signInProvider.getScopes()); - } - if (signInProvider.getCustomParameters() != null) { - provider.addCustomParameters(signInProvider.getCustomParameters()); - } - - firebaseUser - .startActivityForReauthenticateWithProvider(activity, provider.build()) - .addOnCompleteListener( - task -> { - if (task.isSuccessful()) { - result.success(PigeonParser.parseAuthResult(task.getResult())); - } else { - result.error( - FlutterFirebaseAuthPluginException.parserExceptionToFlutter( - task.getException())); - } - }); - } - - @Override - public void reload( - @NonNull GeneratedAndroidFirebaseAuth.AuthPigeonFirebaseApp app, - @NonNull - GeneratedAndroidFirebaseAuth.Result - result) { - FirebaseUser firebaseUser = getCurrentUserFromPigeon(app); - - if (firebaseUser == null) { - result.error(FlutterFirebaseAuthPluginException.noUser()); - return; - } - - firebaseUser - .reload() - .addOnCompleteListener( - task -> { - if (task.isSuccessful()) { - result.success(PigeonParser.parseFirebaseUser(firebaseUser)); - } else { - result.error( - FlutterFirebaseAuthPluginException.parserExceptionToFlutter( - task.getException())); - } - }); - } - - @Override - public void sendEmailVerification( - @NonNull GeneratedAndroidFirebaseAuth.AuthPigeonFirebaseApp app, - @Nullable GeneratedAndroidFirebaseAuth.InternalActionCodeSettings actionCodeSettings, - @NonNull GeneratedAndroidFirebaseAuth.VoidResult result) { - FirebaseUser firebaseUser = getCurrentUserFromPigeon(app); - - if (firebaseUser == null) { - result.error(FlutterFirebaseAuthPluginException.noUser()); - return; - } - - if (actionCodeSettings == null) { - firebaseUser - .sendEmailVerification() - .addOnCompleteListener( - task -> { - if (task.isSuccessful()) { - result.success(); - } else { - result.error( - FlutterFirebaseAuthPluginException.parserExceptionToFlutter( - task.getException())); - } - }); - return; - } - - firebaseUser - .sendEmailVerification(PigeonParser.getActionCodeSettings(actionCodeSettings)) - .addOnCompleteListener( - task -> { - if (task.isSuccessful()) { - result.success(); - } else { - result.error( - FlutterFirebaseAuthPluginException.parserExceptionToFlutter( - task.getException())); - } - }); - } - - @Override - public void unlink( - @NonNull GeneratedAndroidFirebaseAuth.AuthPigeonFirebaseApp app, - @NonNull String providerId, - @NonNull - GeneratedAndroidFirebaseAuth.Result - result) { - FirebaseUser firebaseUser = getCurrentUserFromPigeon(app); - - if (firebaseUser == null) { - result.error(FlutterFirebaseAuthPluginException.noUser()); - return; - } - - firebaseUser - .unlink(providerId) - .addOnCompleteListener( - task -> { - if (task.isSuccessful()) { - result.success(PigeonParser.parseAuthResult(task.getResult())); - } else { - Exception exception = task.getException(); - if (exception - .getMessage() - .contains("User was not linked to an account with the given provider.")) { - result.error(FlutterFirebaseAuthPluginException.noSuchProvider()); - } else { - result.error( - FlutterFirebaseAuthPluginException.parserExceptionToFlutter(exception)); - } - } - }); - } - - @Override - public void updateEmail( - @NonNull GeneratedAndroidFirebaseAuth.AuthPigeonFirebaseApp app, - @NonNull String newEmail, - @NonNull - GeneratedAndroidFirebaseAuth.Result - result) { - FirebaseUser firebaseUser = getCurrentUserFromPigeon(app); - - if (firebaseUser == null) { - result.error(FlutterFirebaseAuthPluginException.noUser()); - return; - } - - firebaseUser - .updateEmail(newEmail) - .addOnCompleteListener( - task -> { - if (task.isSuccessful()) { - firebaseUser - .reload() - .addOnCompleteListener( - reloadTask -> { - if (reloadTask.isSuccessful()) { - result.success(PigeonParser.parseFirebaseUser(firebaseUser)); - } else { - result.error( - FlutterFirebaseAuthPluginException.parserExceptionToFlutter( - reloadTask.getException())); - } - }); - } else { - result.error( - FlutterFirebaseAuthPluginException.parserExceptionToFlutter( - task.getException())); - } - }); - } - - @Override - public void updatePassword( - @NonNull GeneratedAndroidFirebaseAuth.AuthPigeonFirebaseApp app, - @NonNull String newPassword, - @NonNull - GeneratedAndroidFirebaseAuth.Result - result) { - FirebaseUser firebaseUser = getCurrentUserFromPigeon(app); - - if (firebaseUser == null) { - result.error(FlutterFirebaseAuthPluginException.noUser()); - return; - } - - firebaseUser - .updatePassword(newPassword) - .addOnCompleteListener( - task -> { - if (task.isSuccessful()) { - firebaseUser - .reload() - .addOnCompleteListener( - reloadTask -> { - if (reloadTask.isSuccessful()) { - result.success(PigeonParser.parseFirebaseUser(firebaseUser)); - } else { - result.error( - FlutterFirebaseAuthPluginException.parserExceptionToFlutter( - reloadTask.getException())); - } - }); - } else { - result.error( - FlutterFirebaseAuthPluginException.parserExceptionToFlutter( - task.getException())); - } - }); - } - - @Override - public void updatePhoneNumber( - @NonNull GeneratedAndroidFirebaseAuth.AuthPigeonFirebaseApp app, - @NonNull Map input, - @NonNull - GeneratedAndroidFirebaseAuth.Result - result) { - FirebaseUser firebaseUser = getCurrentUserFromPigeon(app); - - if (firebaseUser == null) { - result.error(FlutterFirebaseAuthPluginException.noUser()); - return; - } - - PhoneAuthCredential phoneAuthCredential = - (PhoneAuthCredential) PigeonParser.getCredential(input); - - if (phoneAuthCredential == null) { - result.error(FlutterFirebaseAuthPluginException.invalidCredential()); - return; - } - - firebaseUser - .updatePhoneNumber(phoneAuthCredential) - .addOnCompleteListener( - task -> { - if (task.isSuccessful()) { - firebaseUser - .reload() - .addOnCompleteListener( - reloadTask -> { - if (reloadTask.isSuccessful()) { - result.success(PigeonParser.parseFirebaseUser(firebaseUser)); - } else { - result.error( - FlutterFirebaseAuthPluginException.parserExceptionToFlutter( - reloadTask.getException())); - } - }); - } else { - result.error( - FlutterFirebaseAuthPluginException.parserExceptionToFlutter( - task.getException())); - } - }); - } - - @Override - public void updateProfile( - @NonNull GeneratedAndroidFirebaseAuth.AuthPigeonFirebaseApp app, - @NonNull GeneratedAndroidFirebaseAuth.InternalUserProfile profile, - @NonNull - GeneratedAndroidFirebaseAuth.Result - result) { - FirebaseUser firebaseUser = getCurrentUserFromPigeon(app); - - if (firebaseUser == null) { - result.error(FlutterFirebaseAuthPluginException.noUser()); - return; - } - - UserProfileChangeRequest.Builder builder = new UserProfileChangeRequest.Builder(); - - if (profile.getDisplayNameChanged()) { - builder.setDisplayName(profile.getDisplayName()); - } - - if (profile.getPhotoUrlChanged()) { - if (profile.getPhotoUrl() != null) { - builder.setPhotoUri(Uri.parse(profile.getPhotoUrl())); - } else { - builder.setPhotoUri(null); - } - } - - firebaseUser - .updateProfile(builder.build()) - .addOnCompleteListener( - task -> { - if (task.isSuccessful()) { - firebaseUser - .reload() - .addOnCompleteListener( - reloadTask -> { - if (reloadTask.isSuccessful()) { - result.success(PigeonParser.parseFirebaseUser(firebaseUser)); - } else { - result.error( - FlutterFirebaseAuthPluginException.parserExceptionToFlutter( - reloadTask.getException())); - } - }); - } else { - result.error( - FlutterFirebaseAuthPluginException.parserExceptionToFlutter( - task.getException())); - } - }); - } - - @Override - public void verifyBeforeUpdateEmail( - @NonNull GeneratedAndroidFirebaseAuth.AuthPigeonFirebaseApp app, - @NonNull String newEmail, - @Nullable GeneratedAndroidFirebaseAuth.InternalActionCodeSettings actionCodeSettings, - @NonNull GeneratedAndroidFirebaseAuth.VoidResult result) { - FirebaseUser firebaseUser = getCurrentUserFromPigeon(app); - - if (firebaseUser == null) { - result.error(FlutterFirebaseAuthPluginException.noUser()); - return; - } - - if (actionCodeSettings == null) { - firebaseUser - .verifyBeforeUpdateEmail(newEmail) - .addOnCompleteListener( - task -> { - if (task.isSuccessful()) { - result.success(); - } else { - result.error( - FlutterFirebaseAuthPluginException.parserExceptionToFlutter( - task.getException())); - } - }); - return; - } - - firebaseUser - .verifyBeforeUpdateEmail(newEmail, PigeonParser.getActionCodeSettings(actionCodeSettings)) - .addOnCompleteListener( - task -> { - if (task.isSuccessful()) { - result.success(); - } else { - result.error( - FlutterFirebaseAuthPluginException.parserExceptionToFlutter( - task.getException())); - } - }); - } -} diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/android/src/main/java/io/flutter/plugins/firebase/auth/FlutterFirebaseMultiFactor.java b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/android/src/main/java/io/flutter/plugins/firebase/auth/FlutterFirebaseMultiFactor.java deleted file mode 100644 index 1ba51914..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/android/src/main/java/io/flutter/plugins/firebase/auth/FlutterFirebaseMultiFactor.java +++ /dev/null @@ -1,252 +0,0 @@ -/* - * Copyright 2023, the Chromium project authors. Please see the AUTHORS file - * for details. All rights reserved. Use of this source code is governed by a - * BSD-style license that can be found in the LICENSE file. - */ - -package io.flutter.plugins.firebase.auth; - -import androidx.annotation.NonNull; -import androidx.annotation.Nullable; -import com.google.firebase.auth.AuthResult; -import com.google.firebase.auth.FirebaseUser; -import com.google.firebase.auth.MultiFactor; -import com.google.firebase.auth.MultiFactorAssertion; -import com.google.firebase.auth.MultiFactorInfo; -import com.google.firebase.auth.MultiFactorResolver; -import com.google.firebase.auth.MultiFactorSession; -import com.google.firebase.auth.PhoneAuthCredential; -import com.google.firebase.auth.PhoneAuthProvider; -import com.google.firebase.auth.PhoneMultiFactorGenerator; -import com.google.firebase.internal.api.FirebaseNoSignedInUserException; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.UUID; - -public class FlutterFirebaseMultiFactor - implements GeneratedAndroidFirebaseAuth.MultiFactorUserHostApi, - GeneratedAndroidFirebaseAuth.MultiFactoResolverHostApi { - - // Map an app id to a map of user id to a MultiFactorUser object. - static final Map> multiFactorUserMap = new HashMap<>(); - - // Map an id to a MultiFactorSession object. - static final Map multiFactorSessionMap = new HashMap<>(); - - // Map an id to a MultiFactorResolver object. - static final Map multiFactorResolverMap = new HashMap<>(); - - static final Map multiFactorAssertionMap = new HashMap<>(); - - MultiFactor getAppMultiFactor(@NonNull GeneratedAndroidFirebaseAuth.AuthPigeonFirebaseApp app) - throws FirebaseNoSignedInUserException { - final FirebaseUser currentUser = FlutterFirebaseAuthUser.getCurrentUserFromPigeon(app); - if (currentUser == null) { - throw new FirebaseNoSignedInUserException("No user is signed in"); - } - if (multiFactorUserMap.get(app.getAppName()) == null) { - multiFactorUserMap.put(app.getAppName(), new HashMap<>()); - } - - final Map appMultiFactorUser = multiFactorUserMap.get(app.getAppName()); - if (appMultiFactorUser.get(currentUser.getUid()) == null) { - appMultiFactorUser.put(currentUser.getUid(), currentUser.getMultiFactor()); - } - - return appMultiFactorUser.get(currentUser.getUid()); - } - - @Override - public void enrollPhone( - @NonNull GeneratedAndroidFirebaseAuth.AuthPigeonFirebaseApp app, - @NonNull GeneratedAndroidFirebaseAuth.InternalPhoneMultiFactorAssertion assertion, - @Nullable String displayName, - @NonNull GeneratedAndroidFirebaseAuth.VoidResult result) { - final MultiFactor multiFactor; - try { - multiFactor = getAppMultiFactor(app); - } catch (FirebaseNoSignedInUserException e) { - result.error(e); - return; - } - - PhoneAuthCredential credential = - PhoneAuthProvider.getCredential( - assertion.getVerificationId(), assertion.getVerificationCode()); - - MultiFactorAssertion multiFactorAssertion = PhoneMultiFactorGenerator.getAssertion(credential); - - multiFactor - .enroll(multiFactorAssertion, displayName) - .addOnCompleteListener( - task -> { - if (task.isSuccessful()) { - result.success(); - } else { - result.error( - FlutterFirebaseAuthPluginException.parserExceptionToFlutter( - task.getException())); - } - }); - } - - @Override - public void enrollTotp( - @NonNull GeneratedAndroidFirebaseAuth.AuthPigeonFirebaseApp app, - @NonNull String assertionId, - @Nullable String displayName, - @NonNull GeneratedAndroidFirebaseAuth.VoidResult result) { - final MultiFactor multiFactor; - try { - multiFactor = getAppMultiFactor(app); - } catch (FirebaseNoSignedInUserException e) { - result.error(e); - return; - } - - final MultiFactorAssertion multiFactorAssertion = multiFactorAssertionMap.get(assertionId); - - assert multiFactorAssertion != null; - multiFactor - .enroll(multiFactorAssertion, displayName) - .addOnCompleteListener( - task -> { - if (task.isSuccessful()) { - result.success(); - } else { - result.error( - FlutterFirebaseAuthPluginException.parserExceptionToFlutter( - task.getException())); - } - }); - } - - @Override - public void getSession( - @NonNull GeneratedAndroidFirebaseAuth.AuthPigeonFirebaseApp app, - @NonNull - GeneratedAndroidFirebaseAuth.Result< - GeneratedAndroidFirebaseAuth.InternalMultiFactorSession> - result) { - final MultiFactor multiFactor; - try { - multiFactor = getAppMultiFactor(app); - } catch (FirebaseNoSignedInUserException e) { - result.error(e); - return; - } - - multiFactor - .getSession() - .addOnCompleteListener( - task -> { - if (task.isSuccessful()) { - final MultiFactorSession sessionResult = task.getResult(); - final String id = UUID.randomUUID().toString(); - multiFactorSessionMap.put(id, sessionResult); - result.success( - new GeneratedAndroidFirebaseAuth.InternalMultiFactorSession.Builder() - .setId(id) - .build()); - } else { - result.error( - FlutterFirebaseAuthPluginException.parserExceptionToFlutter( - task.getException())); - } - }); - } - - @Override - public void unenroll( - @NonNull GeneratedAndroidFirebaseAuth.AuthPigeonFirebaseApp app, - @NonNull String factorUid, - @NonNull GeneratedAndroidFirebaseAuth.VoidResult result) { - final MultiFactor multiFactor; - try { - multiFactor = getAppMultiFactor(app); - } catch (FirebaseNoSignedInUserException e) { - result.error(FlutterFirebaseAuthPluginException.parserExceptionToFlutter(e)); - return; - } - - multiFactor - .unenroll(factorUid) - .addOnCompleteListener( - task -> { - if (task.isSuccessful()) { - result.success(); - } else { - result.error( - FlutterFirebaseAuthPluginException.parserExceptionToFlutter( - task.getException())); - } - }); - } - - @Override - public void getEnrolledFactors( - @NonNull GeneratedAndroidFirebaseAuth.AuthPigeonFirebaseApp app, - @NonNull - GeneratedAndroidFirebaseAuth.Result< - List> - result) { - final MultiFactor multiFactor; - try { - multiFactor = getAppMultiFactor(app); - } catch (FirebaseNoSignedInUserException e) { - result.error(e); - return; - } - - final List factors = multiFactor.getEnrolledFactors(); - - final List resultFactors = - PigeonParser.multiFactorInfoToPigeon(factors); - - result.success(resultFactors); - } - - @Override - public void resolveSignIn( - @NonNull String resolverId, - @Nullable GeneratedAndroidFirebaseAuth.InternalPhoneMultiFactorAssertion assertion, - @Nullable String totpAssertionId, - @NonNull - GeneratedAndroidFirebaseAuth.Result - result) { - final MultiFactorResolver resolver = multiFactorResolverMap.get(resolverId); - - if (resolver == null) { - result.error( - FlutterFirebaseAuthPluginException.parserExceptionToFlutter( - new Exception("Resolver not found"))); - return; - } - - MultiFactorAssertion multiFactorAssertion; - - if (assertion != null) { - PhoneAuthCredential credential = - PhoneAuthProvider.getCredential( - assertion.getVerificationId(), assertion.getVerificationCode()); - multiFactorAssertion = PhoneMultiFactorGenerator.getAssertion(credential); - } else { - multiFactorAssertion = multiFactorAssertionMap.get(totpAssertionId); - } - - resolver - .resolveSignIn(multiFactorAssertion) - .addOnCompleteListener( - task -> { - if (task.isSuccessful()) { - final AuthResult authResult = task.getResult(); - result.success(PigeonParser.parseAuthResult(authResult)); - } else { - result.error( - FlutterFirebaseAuthPluginException.parserExceptionToFlutter( - task.getException())); - } - }); - } -} diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/android/src/main/java/io/flutter/plugins/firebase/auth/FlutterFirebaseTotpMultiFactor.java b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/android/src/main/java/io/flutter/plugins/firebase/auth/FlutterFirebaseTotpMultiFactor.java deleted file mode 100644 index 9761a5df..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/android/src/main/java/io/flutter/plugins/firebase/auth/FlutterFirebaseTotpMultiFactor.java +++ /dev/null @@ -1,82 +0,0 @@ -/* - * Copyright 2023, the Chromium project authors. Please see the AUTHORS file - * for details. All rights reserved. Use of this source code is governed by a - * BSD-style license that can be found in the LICENSE file. - */ - -package io.flutter.plugins.firebase.auth; - -import androidx.annotation.NonNull; -import com.google.firebase.auth.MultiFactorSession; -import com.google.firebase.auth.TotpMultiFactorAssertion; -import com.google.firebase.auth.TotpMultiFactorGenerator; -import com.google.firebase.auth.TotpSecret; -import java.util.HashMap; -import java.util.Map; -import java.util.UUID; - -public class FlutterFirebaseTotpMultiFactor - implements GeneratedAndroidFirebaseAuth.MultiFactorTotpHostApi { - - // Map an app id to a map of user id to a TotpSecret object. - static final Map multiFactorSecret = new HashMap<>(); - - @Override - public void generateSecret( - @NonNull String sessionId, - @NonNull - GeneratedAndroidFirebaseAuth.Result - result) { - MultiFactorSession multiFactorSession = - FlutterFirebaseMultiFactor.multiFactorSessionMap.get(sessionId); - - assert multiFactorSession != null; - TotpMultiFactorGenerator.generateSecret(multiFactorSession) - .addOnCompleteListener( - task -> { - if (task.isSuccessful()) { - TotpSecret secret = task.getResult(); - multiFactorSecret.put(secret.getSharedSecretKey(), secret); - result.success( - new GeneratedAndroidFirebaseAuth.InternalTotpSecret.Builder() - .setCodeIntervalSeconds((long) secret.getCodeIntervalSeconds()) - .setCodeLength((long) secret.getCodeLength()) - .setSecretKey(secret.getSharedSecretKey()) - .setHashingAlgorithm(secret.getHashAlgorithm()) - .setEnrollmentCompletionDeadline(secret.getEnrollmentCompletionDeadline()) - .build()); - } else { - result.error( - FlutterFirebaseAuthPluginException.parserExceptionToFlutter( - task.getException())); - } - }); - } - - @Override - public void getAssertionForEnrollment( - @NonNull String secretKey, - @NonNull String oneTimePassword, - @NonNull GeneratedAndroidFirebaseAuth.Result result) { - final TotpSecret secret = multiFactorSecret.get(secretKey); - - assert secret != null; - TotpMultiFactorAssertion assertion = - TotpMultiFactorGenerator.getAssertionForEnrollment(secret, oneTimePassword); - String assertionId = UUID.randomUUID().toString(); - FlutterFirebaseMultiFactor.multiFactorAssertionMap.put(assertionId, assertion); - result.success(assertionId); - } - - @Override - public void getAssertionForSignIn( - @NonNull String enrollmentId, - @NonNull String oneTimePassword, - @NonNull GeneratedAndroidFirebaseAuth.Result result) { - TotpMultiFactorAssertion assertion = - TotpMultiFactorGenerator.getAssertionForSignIn(enrollmentId, oneTimePassword); - String assertionId = UUID.randomUUID().toString(); - FlutterFirebaseMultiFactor.multiFactorAssertionMap.put(assertionId, assertion); - result.success(assertionId); - } -} diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/android/src/main/java/io/flutter/plugins/firebase/auth/FlutterFirebaseTotpSecret.java b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/android/src/main/java/io/flutter/plugins/firebase/auth/FlutterFirebaseTotpSecret.java deleted file mode 100644 index 5b32f828..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/android/src/main/java/io/flutter/plugins/firebase/auth/FlutterFirebaseTotpSecret.java +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Copyright 2023, the Chromium project authors. Please see the AUTHORS file - * for details. All rights reserved. Use of this source code is governed by a - * BSD-style license that can be found in the LICENSE file. - */ - -package io.flutter.plugins.firebase.auth; - -import androidx.annotation.NonNull; -import androidx.annotation.Nullable; -import com.google.firebase.auth.TotpSecret; - -public class FlutterFirebaseTotpSecret - implements GeneratedAndroidFirebaseAuth.MultiFactorTotpSecretHostApi { - - @Override - public void generateQrCodeUrl( - @NonNull String secretKey, - @Nullable String accountName, - @Nullable String issuer, - @NonNull GeneratedAndroidFirebaseAuth.Result result) { - final TotpSecret secret = FlutterFirebaseTotpMultiFactor.multiFactorSecret.get(secretKey); - - assert secret != null; - if (accountName == null || issuer == null) { - result.success(secret.generateQrCodeUrl()); - return; - } - result.success(secret.generateQrCodeUrl(accountName, issuer)); - } - - @Override - public void openInOtpApp( - @NonNull String secretKey, - @NonNull String qrCodeUrl, - @NonNull GeneratedAndroidFirebaseAuth.VoidResult result) { - final TotpSecret secret = FlutterFirebaseTotpMultiFactor.multiFactorSecret.get(secretKey); - assert secret != null; - secret.openInOtpApp(qrCodeUrl); - result.success(); - } -} diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/android/src/main/java/io/flutter/plugins/firebase/auth/GeneratedAndroidFirebaseAuth.java b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/android/src/main/java/io/flutter/plugins/firebase/auth/GeneratedAndroidFirebaseAuth.java deleted file mode 100644 index 5aaa168b..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/android/src/main/java/io/flutter/plugins/firebase/auth/GeneratedAndroidFirebaseAuth.java +++ /dev/null @@ -1,5308 +0,0 @@ -// Copyright 2023, the Chromium project authors. Please see the AUTHORS file -// for details. All rights reserved. Use of this source code is governed by a -// BSD-style license that can be found in the LICENSE file. -// Autogenerated from Pigeon (v26.3.4), do not edit directly. -// See also: https://pub.dev/packages/pigeon - -package io.flutter.plugins.firebase.auth; - -import static java.lang.annotation.ElementType.METHOD; -import static java.lang.annotation.RetentionPolicy.CLASS; - -import android.util.Log; -import androidx.annotation.NonNull; -import androidx.annotation.Nullable; -import io.flutter.plugin.common.BasicMessageChannel; -import io.flutter.plugin.common.BinaryMessenger; -import io.flutter.plugin.common.MessageCodec; -import io.flutter.plugin.common.StandardMessageCodec; -import java.io.ByteArrayOutputStream; -import java.lang.annotation.Retention; -import java.lang.annotation.Target; -import java.nio.ByteBuffer; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; -import java.util.Map; - -/** Generated class from Pigeon. */ -@SuppressWarnings({"unused", "unchecked", "CodeBlock2Expr", "RedundantSuppression", "serial"}) -public class GeneratedAndroidFirebaseAuth { - static boolean pigeonDoubleEquals(double a, double b) { - // Normalize -0.0 to 0.0 and handle NaN equality. - return (a == 0.0 ? 0.0 : a) == (b == 0.0 ? 0.0 : b) || (Double.isNaN(a) && Double.isNaN(b)); - } - - static boolean pigeonFloatEquals(float a, float b) { - // Normalize -0.0 to 0.0 and handle NaN equality. - return (a == 0.0f ? 0.0f : a) == (b == 0.0f ? 0.0f : b) || (Float.isNaN(a) && Float.isNaN(b)); - } - - static int pigeonDoubleHashCode(double d) { - // Normalize -0.0 to 0.0 and handle NaN to ensure consistent hash codes. - if (d == 0.0) { - d = 0.0; - } - long bits = Double.doubleToLongBits(d); - return (int) (bits ^ (bits >>> 32)); - } - - static int pigeonFloatHashCode(float f) { - // Normalize -0.0 to 0.0 and handle NaN to ensure consistent hash codes. - if (f == 0.0f) { - f = 0.0f; - } - return Float.floatToIntBits(f); - } - - static boolean pigeonDeepEquals(Object a, Object b) { - if (a == b) { - return true; - } - if (a == null || b == null) { - return false; - } - if (a instanceof byte[] && b instanceof byte[]) { - return Arrays.equals((byte[]) a, (byte[]) b); - } - if (a instanceof int[] && b instanceof int[]) { - return Arrays.equals((int[]) a, (int[]) b); - } - if (a instanceof long[] && b instanceof long[]) { - return Arrays.equals((long[]) a, (long[]) b); - } - if (a instanceof double[] && b instanceof double[]) { - double[] da = (double[]) a; - double[] db = (double[]) b; - if (da.length != db.length) { - return false; - } - for (int i = 0; i < da.length; i++) { - if (!pigeonDoubleEquals(da[i], db[i])) { - return false; - } - } - return true; - } - if (a instanceof List && b instanceof List) { - List listA = (List) a; - List listB = (List) b; - if (listA.size() != listB.size()) { - return false; - } - for (int i = 0; i < listA.size(); i++) { - if (!pigeonDeepEquals(listA.get(i), listB.get(i))) { - return false; - } - } - return true; - } - if (a instanceof Map && b instanceof Map) { - Map mapA = (Map) a; - Map mapB = (Map) b; - if (mapA.size() != mapB.size()) { - return false; - } - for (Map.Entry entryA : mapA.entrySet()) { - Object keyA = entryA.getKey(); - Object valueA = entryA.getValue(); - boolean found = false; - for (Map.Entry entryB : mapB.entrySet()) { - Object keyB = entryB.getKey(); - if (pigeonDeepEquals(keyA, keyB)) { - Object valueB = entryB.getValue(); - if (pigeonDeepEquals(valueA, valueB)) { - found = true; - break; - } else { - return false; - } - } - } - if (!found) { - return false; - } - } - return true; - } - if (a instanceof Double && b instanceof Double) { - return pigeonDoubleEquals((double) a, (double) b); - } - if (a instanceof Float && b instanceof Float) { - return pigeonFloatEquals((float) a, (float) b); - } - return a.equals(b); - } - - static int pigeonDeepHashCode(Object value) { - if (value == null) { - return 0; - } - if (value instanceof byte[]) { - return Arrays.hashCode((byte[]) value); - } - if (value instanceof int[]) { - return Arrays.hashCode((int[]) value); - } - if (value instanceof long[]) { - return Arrays.hashCode((long[]) value); - } - if (value instanceof double[]) { - double[] da = (double[]) value; - int result = 1; - for (double d : da) { - result = 31 * result + pigeonDoubleHashCode(d); - } - return result; - } - if (value instanceof List) { - int result = 1; - for (Object item : (List) value) { - result = 31 * result + pigeonDeepHashCode(item); - } - return result; - } - if (value instanceof Map) { - int result = 0; - for (Map.Entry entry : ((Map) value).entrySet()) { - result += - ((pigeonDeepHashCode(entry.getKey()) * 31) ^ pigeonDeepHashCode(entry.getValue())); - } - return result; - } - if (value instanceof Object[]) { - int result = 1; - for (Object item : (Object[]) value) { - result = 31 * result + pigeonDeepHashCode(item); - } - return result; - } - if (value instanceof Double) { - return pigeonDoubleHashCode((double) value); - } - if (value instanceof Float) { - return pigeonFloatHashCode((float) value); - } - return value.hashCode(); - } - - /** Error class for passing custom error details to Flutter via a thrown PlatformException. */ - public static class FlutterError extends RuntimeException { - - /** The error code. */ - public final String code; - - /** The error details. Must be a datatype supported by the api codec. */ - public final Object details; - - public FlutterError(@NonNull String code, @Nullable String message, @Nullable Object details) { - super(message); - this.code = code; - this.details = details; - } - } - - @NonNull - protected static ArrayList wrapError(@NonNull Throwable exception) { - ArrayList errorList = new ArrayList<>(3); - if (exception instanceof FlutterError) { - FlutterError error = (FlutterError) exception; - errorList.add(error.code); - errorList.add(error.getMessage()); - errorList.add(error.details); - } else { - errorList.add(exception.toString()); - errorList.add(exception.getClass().getSimpleName()); - errorList.add( - "Cause: " + exception.getCause() + ", Stacktrace: " + Log.getStackTraceString(exception)); - } - return errorList; - } - - @Target(METHOD) - @Retention(CLASS) - @interface CanIgnoreReturnValue {} - - /** The type of operation that generated the action code from calling [checkActionCode]. */ - public enum ActionCodeInfoOperation { - /** Unknown operation. */ - UNKNOWN(0), - /** Password reset code generated via [sendPasswordResetEmail]. */ - PASSWORD_RESET(1), - /** Email verification code generated via [User.sendEmailVerification]. */ - VERIFY_EMAIL(2), - /** Email change revocation code generated via [User.updateEmail]. */ - RECOVER_EMAIL(3), - /** Email sign in code generated via [sendSignInLinkToEmail]. */ - EMAIL_SIGN_IN(4), - /** Verify and change email code generated via [User.verifyBeforeUpdateEmail]. */ - VERIFY_AND_CHANGE_EMAIL(5), - /** Action code for reverting second factor addition. */ - REVERT_SECOND_FACTOR_ADDITION(6); - - final int index; - - ActionCodeInfoOperation(final int index) { - this.index = index; - } - } - - /** Generated class from Pigeon that represents data sent in messages. */ - public static final class InternalMultiFactorSession { - private @NonNull String id; - - public @NonNull String getId() { - return id; - } - - public void setId(@NonNull String setterArg) { - if (setterArg == null) { - throw new IllegalStateException("Nonnull field \"id\" is null."); - } - this.id = setterArg; - } - - /** Constructor is non-public to enforce null safety; use Builder. */ - InternalMultiFactorSession() {} - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - InternalMultiFactorSession that = (InternalMultiFactorSession) o; - return pigeonDeepEquals(id, that.id); - } - - @Override - public int hashCode() { - Object[] fields = new Object[] {getClass(), id}; - return pigeonDeepHashCode(fields); - } - - public static final class Builder { - - private @Nullable String id; - - @CanIgnoreReturnValue - public @NonNull Builder setId(@NonNull String setterArg) { - this.id = setterArg; - return this; - } - - public @NonNull InternalMultiFactorSession build() { - InternalMultiFactorSession pigeonReturn = new InternalMultiFactorSession(); - pigeonReturn.setId(id); - return pigeonReturn; - } - } - - @NonNull - public ArrayList toList() { - ArrayList toListResult = new ArrayList<>(1); - toListResult.add(id); - return toListResult; - } - - static @NonNull InternalMultiFactorSession fromList(@NonNull ArrayList pigeonVar_list) { - InternalMultiFactorSession pigeonResult = new InternalMultiFactorSession(); - Object id = pigeonVar_list.get(0); - pigeonResult.setId((String) id); - return pigeonResult; - } - } - - /** Generated class from Pigeon that represents data sent in messages. */ - public static final class InternalPhoneMultiFactorAssertion { - private @NonNull String verificationId; - - public @NonNull String getVerificationId() { - return verificationId; - } - - public void setVerificationId(@NonNull String setterArg) { - if (setterArg == null) { - throw new IllegalStateException("Nonnull field \"verificationId\" is null."); - } - this.verificationId = setterArg; - } - - private @NonNull String verificationCode; - - public @NonNull String getVerificationCode() { - return verificationCode; - } - - public void setVerificationCode(@NonNull String setterArg) { - if (setterArg == null) { - throw new IllegalStateException("Nonnull field \"verificationCode\" is null."); - } - this.verificationCode = setterArg; - } - - /** Constructor is non-public to enforce null safety; use Builder. */ - InternalPhoneMultiFactorAssertion() {} - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - InternalPhoneMultiFactorAssertion that = (InternalPhoneMultiFactorAssertion) o; - return pigeonDeepEquals(verificationId, that.verificationId) - && pigeonDeepEquals(verificationCode, that.verificationCode); - } - - @Override - public int hashCode() { - Object[] fields = new Object[] {getClass(), verificationId, verificationCode}; - return pigeonDeepHashCode(fields); - } - - public static final class Builder { - - private @Nullable String verificationId; - - @CanIgnoreReturnValue - public @NonNull Builder setVerificationId(@NonNull String setterArg) { - this.verificationId = setterArg; - return this; - } - - private @Nullable String verificationCode; - - @CanIgnoreReturnValue - public @NonNull Builder setVerificationCode(@NonNull String setterArg) { - this.verificationCode = setterArg; - return this; - } - - public @NonNull InternalPhoneMultiFactorAssertion build() { - InternalPhoneMultiFactorAssertion pigeonReturn = new InternalPhoneMultiFactorAssertion(); - pigeonReturn.setVerificationId(verificationId); - pigeonReturn.setVerificationCode(verificationCode); - return pigeonReturn; - } - } - - @NonNull - public ArrayList toList() { - ArrayList toListResult = new ArrayList<>(2); - toListResult.add(verificationId); - toListResult.add(verificationCode); - return toListResult; - } - - static @NonNull InternalPhoneMultiFactorAssertion fromList( - @NonNull ArrayList pigeonVar_list) { - InternalPhoneMultiFactorAssertion pigeonResult = new InternalPhoneMultiFactorAssertion(); - Object verificationId = pigeonVar_list.get(0); - pigeonResult.setVerificationId((String) verificationId); - Object verificationCode = pigeonVar_list.get(1); - pigeonResult.setVerificationCode((String) verificationCode); - return pigeonResult; - } - } - - /** Generated class from Pigeon that represents data sent in messages. */ - public static final class InternalMultiFactorInfo { - private @Nullable String displayName; - - public @Nullable String getDisplayName() { - return displayName; - } - - public void setDisplayName(@Nullable String setterArg) { - this.displayName = setterArg; - } - - private @NonNull Double enrollmentTimestamp; - - public @NonNull Double getEnrollmentTimestamp() { - return enrollmentTimestamp; - } - - public void setEnrollmentTimestamp(@NonNull Double setterArg) { - if (setterArg == null) { - throw new IllegalStateException("Nonnull field \"enrollmentTimestamp\" is null."); - } - this.enrollmentTimestamp = setterArg; - } - - private @Nullable String factorId; - - public @Nullable String getFactorId() { - return factorId; - } - - public void setFactorId(@Nullable String setterArg) { - this.factorId = setterArg; - } - - private @NonNull String uid; - - public @NonNull String getUid() { - return uid; - } - - public void setUid(@NonNull String setterArg) { - if (setterArg == null) { - throw new IllegalStateException("Nonnull field \"uid\" is null."); - } - this.uid = setterArg; - } - - private @Nullable String phoneNumber; - - public @Nullable String getPhoneNumber() { - return phoneNumber; - } - - public void setPhoneNumber(@Nullable String setterArg) { - this.phoneNumber = setterArg; - } - - /** Constructor is non-public to enforce null safety; use Builder. */ - InternalMultiFactorInfo() {} - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - InternalMultiFactorInfo that = (InternalMultiFactorInfo) o; - return pigeonDeepEquals(displayName, that.displayName) - && pigeonDeepEquals(enrollmentTimestamp, that.enrollmentTimestamp) - && pigeonDeepEquals(factorId, that.factorId) - && pigeonDeepEquals(uid, that.uid) - && pigeonDeepEquals(phoneNumber, that.phoneNumber); - } - - @Override - public int hashCode() { - Object[] fields = - new Object[] {getClass(), displayName, enrollmentTimestamp, factorId, uid, phoneNumber}; - return pigeonDeepHashCode(fields); - } - - public static final class Builder { - - private @Nullable String displayName; - - @CanIgnoreReturnValue - public @NonNull Builder setDisplayName(@Nullable String setterArg) { - this.displayName = setterArg; - return this; - } - - private @Nullable Double enrollmentTimestamp; - - @CanIgnoreReturnValue - public @NonNull Builder setEnrollmentTimestamp(@NonNull Double setterArg) { - this.enrollmentTimestamp = setterArg; - return this; - } - - private @Nullable String factorId; - - @CanIgnoreReturnValue - public @NonNull Builder setFactorId(@Nullable String setterArg) { - this.factorId = setterArg; - return this; - } - - private @Nullable String uid; - - @CanIgnoreReturnValue - public @NonNull Builder setUid(@NonNull String setterArg) { - this.uid = setterArg; - return this; - } - - private @Nullable String phoneNumber; - - @CanIgnoreReturnValue - public @NonNull Builder setPhoneNumber(@Nullable String setterArg) { - this.phoneNumber = setterArg; - return this; - } - - public @NonNull InternalMultiFactorInfo build() { - InternalMultiFactorInfo pigeonReturn = new InternalMultiFactorInfo(); - pigeonReturn.setDisplayName(displayName); - pigeonReturn.setEnrollmentTimestamp(enrollmentTimestamp); - pigeonReturn.setFactorId(factorId); - pigeonReturn.setUid(uid); - pigeonReturn.setPhoneNumber(phoneNumber); - return pigeonReturn; - } - } - - @NonNull - public ArrayList toList() { - ArrayList toListResult = new ArrayList<>(5); - toListResult.add(displayName); - toListResult.add(enrollmentTimestamp); - toListResult.add(factorId); - toListResult.add(uid); - toListResult.add(phoneNumber); - return toListResult; - } - - static @NonNull InternalMultiFactorInfo fromList(@NonNull ArrayList pigeonVar_list) { - InternalMultiFactorInfo pigeonResult = new InternalMultiFactorInfo(); - Object displayName = pigeonVar_list.get(0); - pigeonResult.setDisplayName((String) displayName); - Object enrollmentTimestamp = pigeonVar_list.get(1); - pigeonResult.setEnrollmentTimestamp((Double) enrollmentTimestamp); - Object factorId = pigeonVar_list.get(2); - pigeonResult.setFactorId((String) factorId); - Object uid = pigeonVar_list.get(3); - pigeonResult.setUid((String) uid); - Object phoneNumber = pigeonVar_list.get(4); - pigeonResult.setPhoneNumber((String) phoneNumber); - return pigeonResult; - } - } - - /** Generated class from Pigeon that represents data sent in messages. */ - public static final class AuthPigeonFirebaseApp { - private @NonNull String appName; - - public @NonNull String getAppName() { - return appName; - } - - public void setAppName(@NonNull String setterArg) { - if (setterArg == null) { - throw new IllegalStateException("Nonnull field \"appName\" is null."); - } - this.appName = setterArg; - } - - private @Nullable String tenantId; - - public @Nullable String getTenantId() { - return tenantId; - } - - public void setTenantId(@Nullable String setterArg) { - this.tenantId = setterArg; - } - - private @Nullable String customAuthDomain; - - public @Nullable String getCustomAuthDomain() { - return customAuthDomain; - } - - public void setCustomAuthDomain(@Nullable String setterArg) { - this.customAuthDomain = setterArg; - } - - /** Constructor is non-public to enforce null safety; use Builder. */ - AuthPigeonFirebaseApp() {} - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - AuthPigeonFirebaseApp that = (AuthPigeonFirebaseApp) o; - return pigeonDeepEquals(appName, that.appName) - && pigeonDeepEquals(tenantId, that.tenantId) - && pigeonDeepEquals(customAuthDomain, that.customAuthDomain); - } - - @Override - public int hashCode() { - Object[] fields = new Object[] {getClass(), appName, tenantId, customAuthDomain}; - return pigeonDeepHashCode(fields); - } - - public static final class Builder { - - private @Nullable String appName; - - @CanIgnoreReturnValue - public @NonNull Builder setAppName(@NonNull String setterArg) { - this.appName = setterArg; - return this; - } - - private @Nullable String tenantId; - - @CanIgnoreReturnValue - public @NonNull Builder setTenantId(@Nullable String setterArg) { - this.tenantId = setterArg; - return this; - } - - private @Nullable String customAuthDomain; - - @CanIgnoreReturnValue - public @NonNull Builder setCustomAuthDomain(@Nullable String setterArg) { - this.customAuthDomain = setterArg; - return this; - } - - public @NonNull AuthPigeonFirebaseApp build() { - AuthPigeonFirebaseApp pigeonReturn = new AuthPigeonFirebaseApp(); - pigeonReturn.setAppName(appName); - pigeonReturn.setTenantId(tenantId); - pigeonReturn.setCustomAuthDomain(customAuthDomain); - return pigeonReturn; - } - } - - @NonNull - public ArrayList toList() { - ArrayList toListResult = new ArrayList<>(3); - toListResult.add(appName); - toListResult.add(tenantId); - toListResult.add(customAuthDomain); - return toListResult; - } - - static @NonNull AuthPigeonFirebaseApp fromList(@NonNull ArrayList pigeonVar_list) { - AuthPigeonFirebaseApp pigeonResult = new AuthPigeonFirebaseApp(); - Object appName = pigeonVar_list.get(0); - pigeonResult.setAppName((String) appName); - Object tenantId = pigeonVar_list.get(1); - pigeonResult.setTenantId((String) tenantId); - Object customAuthDomain = pigeonVar_list.get(2); - pigeonResult.setCustomAuthDomain((String) customAuthDomain); - return pigeonResult; - } - } - - /** Generated class from Pigeon that represents data sent in messages. */ - public static final class InternalActionCodeInfoData { - private @Nullable String email; - - public @Nullable String getEmail() { - return email; - } - - public void setEmail(@Nullable String setterArg) { - this.email = setterArg; - } - - private @Nullable String previousEmail; - - public @Nullable String getPreviousEmail() { - return previousEmail; - } - - public void setPreviousEmail(@Nullable String setterArg) { - this.previousEmail = setterArg; - } - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - InternalActionCodeInfoData that = (InternalActionCodeInfoData) o; - return pigeonDeepEquals(email, that.email) - && pigeonDeepEquals(previousEmail, that.previousEmail); - } - - @Override - public int hashCode() { - Object[] fields = new Object[] {getClass(), email, previousEmail}; - return pigeonDeepHashCode(fields); - } - - public static final class Builder { - - private @Nullable String email; - - @CanIgnoreReturnValue - public @NonNull Builder setEmail(@Nullable String setterArg) { - this.email = setterArg; - return this; - } - - private @Nullable String previousEmail; - - @CanIgnoreReturnValue - public @NonNull Builder setPreviousEmail(@Nullable String setterArg) { - this.previousEmail = setterArg; - return this; - } - - public @NonNull InternalActionCodeInfoData build() { - InternalActionCodeInfoData pigeonReturn = new InternalActionCodeInfoData(); - pigeonReturn.setEmail(email); - pigeonReturn.setPreviousEmail(previousEmail); - return pigeonReturn; - } - } - - @NonNull - public ArrayList toList() { - ArrayList toListResult = new ArrayList<>(2); - toListResult.add(email); - toListResult.add(previousEmail); - return toListResult; - } - - static @NonNull InternalActionCodeInfoData fromList(@NonNull ArrayList pigeonVar_list) { - InternalActionCodeInfoData pigeonResult = new InternalActionCodeInfoData(); - Object email = pigeonVar_list.get(0); - pigeonResult.setEmail((String) email); - Object previousEmail = pigeonVar_list.get(1); - pigeonResult.setPreviousEmail((String) previousEmail); - return pigeonResult; - } - } - - /** Generated class from Pigeon that represents data sent in messages. */ - public static final class InternalActionCodeInfo { - private @NonNull ActionCodeInfoOperation operation; - - public @NonNull ActionCodeInfoOperation getOperation() { - return operation; - } - - public void setOperation(@NonNull ActionCodeInfoOperation setterArg) { - if (setterArg == null) { - throw new IllegalStateException("Nonnull field \"operation\" is null."); - } - this.operation = setterArg; - } - - private @NonNull InternalActionCodeInfoData data; - - public @NonNull InternalActionCodeInfoData getData() { - return data; - } - - public void setData(@NonNull InternalActionCodeInfoData setterArg) { - if (setterArg == null) { - throw new IllegalStateException("Nonnull field \"data\" is null."); - } - this.data = setterArg; - } - - /** Constructor is non-public to enforce null safety; use Builder. */ - InternalActionCodeInfo() {} - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - InternalActionCodeInfo that = (InternalActionCodeInfo) o; - return pigeonDeepEquals(operation, that.operation) && pigeonDeepEquals(data, that.data); - } - - @Override - public int hashCode() { - Object[] fields = new Object[] {getClass(), operation, data}; - return pigeonDeepHashCode(fields); - } - - public static final class Builder { - - private @Nullable ActionCodeInfoOperation operation; - - @CanIgnoreReturnValue - public @NonNull Builder setOperation(@NonNull ActionCodeInfoOperation setterArg) { - this.operation = setterArg; - return this; - } - - private @Nullable InternalActionCodeInfoData data; - - @CanIgnoreReturnValue - public @NonNull Builder setData(@NonNull InternalActionCodeInfoData setterArg) { - this.data = setterArg; - return this; - } - - public @NonNull InternalActionCodeInfo build() { - InternalActionCodeInfo pigeonReturn = new InternalActionCodeInfo(); - pigeonReturn.setOperation(operation); - pigeonReturn.setData(data); - return pigeonReturn; - } - } - - @NonNull - public ArrayList toList() { - ArrayList toListResult = new ArrayList<>(2); - toListResult.add(operation); - toListResult.add(data); - return toListResult; - } - - static @NonNull InternalActionCodeInfo fromList(@NonNull ArrayList pigeonVar_list) { - InternalActionCodeInfo pigeonResult = new InternalActionCodeInfo(); - Object operation = pigeonVar_list.get(0); - pigeonResult.setOperation((ActionCodeInfoOperation) operation); - Object data = pigeonVar_list.get(1); - pigeonResult.setData((InternalActionCodeInfoData) data); - return pigeonResult; - } - } - - /** Generated class from Pigeon that represents data sent in messages. */ - public static final class InternalAdditionalUserInfo { - private @NonNull Boolean isNewUser; - - public @NonNull Boolean getIsNewUser() { - return isNewUser; - } - - public void setIsNewUser(@NonNull Boolean setterArg) { - if (setterArg == null) { - throw new IllegalStateException("Nonnull field \"isNewUser\" is null."); - } - this.isNewUser = setterArg; - } - - private @Nullable String providerId; - - public @Nullable String getProviderId() { - return providerId; - } - - public void setProviderId(@Nullable String setterArg) { - this.providerId = setterArg; - } - - private @Nullable String username; - - public @Nullable String getUsername() { - return username; - } - - public void setUsername(@Nullable String setterArg) { - this.username = setterArg; - } - - private @Nullable String authorizationCode; - - public @Nullable String getAuthorizationCode() { - return authorizationCode; - } - - public void setAuthorizationCode(@Nullable String setterArg) { - this.authorizationCode = setterArg; - } - - private @Nullable Map profile; - - public @Nullable Map getProfile() { - return profile; - } - - public void setProfile(@Nullable Map setterArg) { - this.profile = setterArg; - } - - /** Constructor is non-public to enforce null safety; use Builder. */ - InternalAdditionalUserInfo() {} - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - InternalAdditionalUserInfo that = (InternalAdditionalUserInfo) o; - return pigeonDeepEquals(isNewUser, that.isNewUser) - && pigeonDeepEquals(providerId, that.providerId) - && pigeonDeepEquals(username, that.username) - && pigeonDeepEquals(authorizationCode, that.authorizationCode) - && pigeonDeepEquals(profile, that.profile); - } - - @Override - public int hashCode() { - Object[] fields = - new Object[] {getClass(), isNewUser, providerId, username, authorizationCode, profile}; - return pigeonDeepHashCode(fields); - } - - public static final class Builder { - - private @Nullable Boolean isNewUser; - - @CanIgnoreReturnValue - public @NonNull Builder setIsNewUser(@NonNull Boolean setterArg) { - this.isNewUser = setterArg; - return this; - } - - private @Nullable String providerId; - - @CanIgnoreReturnValue - public @NonNull Builder setProviderId(@Nullable String setterArg) { - this.providerId = setterArg; - return this; - } - - private @Nullable String username; - - @CanIgnoreReturnValue - public @NonNull Builder setUsername(@Nullable String setterArg) { - this.username = setterArg; - return this; - } - - private @Nullable String authorizationCode; - - @CanIgnoreReturnValue - public @NonNull Builder setAuthorizationCode(@Nullable String setterArg) { - this.authorizationCode = setterArg; - return this; - } - - private @Nullable Map profile; - - @CanIgnoreReturnValue - public @NonNull Builder setProfile(@Nullable Map setterArg) { - this.profile = setterArg; - return this; - } - - public @NonNull InternalAdditionalUserInfo build() { - InternalAdditionalUserInfo pigeonReturn = new InternalAdditionalUserInfo(); - pigeonReturn.setIsNewUser(isNewUser); - pigeonReturn.setProviderId(providerId); - pigeonReturn.setUsername(username); - pigeonReturn.setAuthorizationCode(authorizationCode); - pigeonReturn.setProfile(profile); - return pigeonReturn; - } - } - - @NonNull - public ArrayList toList() { - ArrayList toListResult = new ArrayList<>(5); - toListResult.add(isNewUser); - toListResult.add(providerId); - toListResult.add(username); - toListResult.add(authorizationCode); - toListResult.add(profile); - return toListResult; - } - - static @NonNull InternalAdditionalUserInfo fromList(@NonNull ArrayList pigeonVar_list) { - InternalAdditionalUserInfo pigeonResult = new InternalAdditionalUserInfo(); - Object isNewUser = pigeonVar_list.get(0); - pigeonResult.setIsNewUser((Boolean) isNewUser); - Object providerId = pigeonVar_list.get(1); - pigeonResult.setProviderId((String) providerId); - Object username = pigeonVar_list.get(2); - pigeonResult.setUsername((String) username); - Object authorizationCode = pigeonVar_list.get(3); - pigeonResult.setAuthorizationCode((String) authorizationCode); - Object profile = pigeonVar_list.get(4); - pigeonResult.setProfile((Map) profile); - return pigeonResult; - } - } - - /** Generated class from Pigeon that represents data sent in messages. */ - public static final class InternalAuthCredential { - private @NonNull String providerId; - - public @NonNull String getProviderId() { - return providerId; - } - - public void setProviderId(@NonNull String setterArg) { - if (setterArg == null) { - throw new IllegalStateException("Nonnull field \"providerId\" is null."); - } - this.providerId = setterArg; - } - - private @NonNull String signInMethod; - - public @NonNull String getSignInMethod() { - return signInMethod; - } - - public void setSignInMethod(@NonNull String setterArg) { - if (setterArg == null) { - throw new IllegalStateException("Nonnull field \"signInMethod\" is null."); - } - this.signInMethod = setterArg; - } - - private @NonNull Long nativeId; - - public @NonNull Long getNativeId() { - return nativeId; - } - - public void setNativeId(@NonNull Long setterArg) { - if (setterArg == null) { - throw new IllegalStateException("Nonnull field \"nativeId\" is null."); - } - this.nativeId = setterArg; - } - - private @Nullable String accessToken; - - public @Nullable String getAccessToken() { - return accessToken; - } - - public void setAccessToken(@Nullable String setterArg) { - this.accessToken = setterArg; - } - - /** Constructor is non-public to enforce null safety; use Builder. */ - InternalAuthCredential() {} - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - InternalAuthCredential that = (InternalAuthCredential) o; - return pigeonDeepEquals(providerId, that.providerId) - && pigeonDeepEquals(signInMethod, that.signInMethod) - && pigeonDeepEquals(nativeId, that.nativeId) - && pigeonDeepEquals(accessToken, that.accessToken); - } - - @Override - public int hashCode() { - Object[] fields = new Object[] {getClass(), providerId, signInMethod, nativeId, accessToken}; - return pigeonDeepHashCode(fields); - } - - public static final class Builder { - - private @Nullable String providerId; - - @CanIgnoreReturnValue - public @NonNull Builder setProviderId(@NonNull String setterArg) { - this.providerId = setterArg; - return this; - } - - private @Nullable String signInMethod; - - @CanIgnoreReturnValue - public @NonNull Builder setSignInMethod(@NonNull String setterArg) { - this.signInMethod = setterArg; - return this; - } - - private @Nullable Long nativeId; - - @CanIgnoreReturnValue - public @NonNull Builder setNativeId(@NonNull Long setterArg) { - this.nativeId = setterArg; - return this; - } - - private @Nullable String accessToken; - - @CanIgnoreReturnValue - public @NonNull Builder setAccessToken(@Nullable String setterArg) { - this.accessToken = setterArg; - return this; - } - - public @NonNull InternalAuthCredential build() { - InternalAuthCredential pigeonReturn = new InternalAuthCredential(); - pigeonReturn.setProviderId(providerId); - pigeonReturn.setSignInMethod(signInMethod); - pigeonReturn.setNativeId(nativeId); - pigeonReturn.setAccessToken(accessToken); - return pigeonReturn; - } - } - - @NonNull - public ArrayList toList() { - ArrayList toListResult = new ArrayList<>(4); - toListResult.add(providerId); - toListResult.add(signInMethod); - toListResult.add(nativeId); - toListResult.add(accessToken); - return toListResult; - } - - static @NonNull InternalAuthCredential fromList(@NonNull ArrayList pigeonVar_list) { - InternalAuthCredential pigeonResult = new InternalAuthCredential(); - Object providerId = pigeonVar_list.get(0); - pigeonResult.setProviderId((String) providerId); - Object signInMethod = pigeonVar_list.get(1); - pigeonResult.setSignInMethod((String) signInMethod); - Object nativeId = pigeonVar_list.get(2); - pigeonResult.setNativeId((Long) nativeId); - Object accessToken = pigeonVar_list.get(3); - pigeonResult.setAccessToken((String) accessToken); - return pigeonResult; - } - } - - /** Generated class from Pigeon that represents data sent in messages. */ - public static final class InternalUserInfo { - private @NonNull String uid; - - public @NonNull String getUid() { - return uid; - } - - public void setUid(@NonNull String setterArg) { - if (setterArg == null) { - throw new IllegalStateException("Nonnull field \"uid\" is null."); - } - this.uid = setterArg; - } - - private @Nullable String email; - - public @Nullable String getEmail() { - return email; - } - - public void setEmail(@Nullable String setterArg) { - this.email = setterArg; - } - - private @Nullable String displayName; - - public @Nullable String getDisplayName() { - return displayName; - } - - public void setDisplayName(@Nullable String setterArg) { - this.displayName = setterArg; - } - - private @Nullable String photoUrl; - - public @Nullable String getPhotoUrl() { - return photoUrl; - } - - public void setPhotoUrl(@Nullable String setterArg) { - this.photoUrl = setterArg; - } - - private @Nullable String phoneNumber; - - public @Nullable String getPhoneNumber() { - return phoneNumber; - } - - public void setPhoneNumber(@Nullable String setterArg) { - this.phoneNumber = setterArg; - } - - private @NonNull Boolean isAnonymous; - - public @NonNull Boolean getIsAnonymous() { - return isAnonymous; - } - - public void setIsAnonymous(@NonNull Boolean setterArg) { - if (setterArg == null) { - throw new IllegalStateException("Nonnull field \"isAnonymous\" is null."); - } - this.isAnonymous = setterArg; - } - - private @NonNull Boolean isEmailVerified; - - public @NonNull Boolean getIsEmailVerified() { - return isEmailVerified; - } - - public void setIsEmailVerified(@NonNull Boolean setterArg) { - if (setterArg == null) { - throw new IllegalStateException("Nonnull field \"isEmailVerified\" is null."); - } - this.isEmailVerified = setterArg; - } - - private @Nullable String providerId; - - public @Nullable String getProviderId() { - return providerId; - } - - public void setProviderId(@Nullable String setterArg) { - this.providerId = setterArg; - } - - private @Nullable String tenantId; - - public @Nullable String getTenantId() { - return tenantId; - } - - public void setTenantId(@Nullable String setterArg) { - this.tenantId = setterArg; - } - - private @Nullable String refreshToken; - - public @Nullable String getRefreshToken() { - return refreshToken; - } - - public void setRefreshToken(@Nullable String setterArg) { - this.refreshToken = setterArg; - } - - private @Nullable Long creationTimestamp; - - public @Nullable Long getCreationTimestamp() { - return creationTimestamp; - } - - public void setCreationTimestamp(@Nullable Long setterArg) { - this.creationTimestamp = setterArg; - } - - private @Nullable Long lastSignInTimestamp; - - public @Nullable Long getLastSignInTimestamp() { - return lastSignInTimestamp; - } - - public void setLastSignInTimestamp(@Nullable Long setterArg) { - this.lastSignInTimestamp = setterArg; - } - - /** Constructor is non-public to enforce null safety; use Builder. */ - InternalUserInfo() {} - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - InternalUserInfo that = (InternalUserInfo) o; - return pigeonDeepEquals(uid, that.uid) - && pigeonDeepEquals(email, that.email) - && pigeonDeepEquals(displayName, that.displayName) - && pigeonDeepEquals(photoUrl, that.photoUrl) - && pigeonDeepEquals(phoneNumber, that.phoneNumber) - && pigeonDeepEquals(isAnonymous, that.isAnonymous) - && pigeonDeepEquals(isEmailVerified, that.isEmailVerified) - && pigeonDeepEquals(providerId, that.providerId) - && pigeonDeepEquals(tenantId, that.tenantId) - && pigeonDeepEquals(refreshToken, that.refreshToken) - && pigeonDeepEquals(creationTimestamp, that.creationTimestamp) - && pigeonDeepEquals(lastSignInTimestamp, that.lastSignInTimestamp); - } - - @Override - public int hashCode() { - Object[] fields = - new Object[] { - getClass(), - uid, - email, - displayName, - photoUrl, - phoneNumber, - isAnonymous, - isEmailVerified, - providerId, - tenantId, - refreshToken, - creationTimestamp, - lastSignInTimestamp - }; - return pigeonDeepHashCode(fields); - } - - public static final class Builder { - - private @Nullable String uid; - - @CanIgnoreReturnValue - public @NonNull Builder setUid(@NonNull String setterArg) { - this.uid = setterArg; - return this; - } - - private @Nullable String email; - - @CanIgnoreReturnValue - public @NonNull Builder setEmail(@Nullable String setterArg) { - this.email = setterArg; - return this; - } - - private @Nullable String displayName; - - @CanIgnoreReturnValue - public @NonNull Builder setDisplayName(@Nullable String setterArg) { - this.displayName = setterArg; - return this; - } - - private @Nullable String photoUrl; - - @CanIgnoreReturnValue - public @NonNull Builder setPhotoUrl(@Nullable String setterArg) { - this.photoUrl = setterArg; - return this; - } - - private @Nullable String phoneNumber; - - @CanIgnoreReturnValue - public @NonNull Builder setPhoneNumber(@Nullable String setterArg) { - this.phoneNumber = setterArg; - return this; - } - - private @Nullable Boolean isAnonymous; - - @CanIgnoreReturnValue - public @NonNull Builder setIsAnonymous(@NonNull Boolean setterArg) { - this.isAnonymous = setterArg; - return this; - } - - private @Nullable Boolean isEmailVerified; - - @CanIgnoreReturnValue - public @NonNull Builder setIsEmailVerified(@NonNull Boolean setterArg) { - this.isEmailVerified = setterArg; - return this; - } - - private @Nullable String providerId; - - @CanIgnoreReturnValue - public @NonNull Builder setProviderId(@Nullable String setterArg) { - this.providerId = setterArg; - return this; - } - - private @Nullable String tenantId; - - @CanIgnoreReturnValue - public @NonNull Builder setTenantId(@Nullable String setterArg) { - this.tenantId = setterArg; - return this; - } - - private @Nullable String refreshToken; - - @CanIgnoreReturnValue - public @NonNull Builder setRefreshToken(@Nullable String setterArg) { - this.refreshToken = setterArg; - return this; - } - - private @Nullable Long creationTimestamp; - - @CanIgnoreReturnValue - public @NonNull Builder setCreationTimestamp(@Nullable Long setterArg) { - this.creationTimestamp = setterArg; - return this; - } - - private @Nullable Long lastSignInTimestamp; - - @CanIgnoreReturnValue - public @NonNull Builder setLastSignInTimestamp(@Nullable Long setterArg) { - this.lastSignInTimestamp = setterArg; - return this; - } - - public @NonNull InternalUserInfo build() { - InternalUserInfo pigeonReturn = new InternalUserInfo(); - pigeonReturn.setUid(uid); - pigeonReturn.setEmail(email); - pigeonReturn.setDisplayName(displayName); - pigeonReturn.setPhotoUrl(photoUrl); - pigeonReturn.setPhoneNumber(phoneNumber); - pigeonReturn.setIsAnonymous(isAnonymous); - pigeonReturn.setIsEmailVerified(isEmailVerified); - pigeonReturn.setProviderId(providerId); - pigeonReturn.setTenantId(tenantId); - pigeonReturn.setRefreshToken(refreshToken); - pigeonReturn.setCreationTimestamp(creationTimestamp); - pigeonReturn.setLastSignInTimestamp(lastSignInTimestamp); - return pigeonReturn; - } - } - - @NonNull - public ArrayList toList() { - ArrayList toListResult = new ArrayList<>(12); - toListResult.add(uid); - toListResult.add(email); - toListResult.add(displayName); - toListResult.add(photoUrl); - toListResult.add(phoneNumber); - toListResult.add(isAnonymous); - toListResult.add(isEmailVerified); - toListResult.add(providerId); - toListResult.add(tenantId); - toListResult.add(refreshToken); - toListResult.add(creationTimestamp); - toListResult.add(lastSignInTimestamp); - return toListResult; - } - - static @NonNull InternalUserInfo fromList(@NonNull ArrayList pigeonVar_list) { - InternalUserInfo pigeonResult = new InternalUserInfo(); - Object uid = pigeonVar_list.get(0); - pigeonResult.setUid((String) uid); - Object email = pigeonVar_list.get(1); - pigeonResult.setEmail((String) email); - Object displayName = pigeonVar_list.get(2); - pigeonResult.setDisplayName((String) displayName); - Object photoUrl = pigeonVar_list.get(3); - pigeonResult.setPhotoUrl((String) photoUrl); - Object phoneNumber = pigeonVar_list.get(4); - pigeonResult.setPhoneNumber((String) phoneNumber); - Object isAnonymous = pigeonVar_list.get(5); - pigeonResult.setIsAnonymous((Boolean) isAnonymous); - Object isEmailVerified = pigeonVar_list.get(6); - pigeonResult.setIsEmailVerified((Boolean) isEmailVerified); - Object providerId = pigeonVar_list.get(7); - pigeonResult.setProviderId((String) providerId); - Object tenantId = pigeonVar_list.get(8); - pigeonResult.setTenantId((String) tenantId); - Object refreshToken = pigeonVar_list.get(9); - pigeonResult.setRefreshToken((String) refreshToken); - Object creationTimestamp = pigeonVar_list.get(10); - pigeonResult.setCreationTimestamp((Long) creationTimestamp); - Object lastSignInTimestamp = pigeonVar_list.get(11); - pigeonResult.setLastSignInTimestamp((Long) lastSignInTimestamp); - return pigeonResult; - } - } - - /** Generated class from Pigeon that represents data sent in messages. */ - public static final class InternalUserDetails { - private @NonNull InternalUserInfo userInfo; - - public @NonNull InternalUserInfo getUserInfo() { - return userInfo; - } - - public void setUserInfo(@NonNull InternalUserInfo setterArg) { - if (setterArg == null) { - throw new IllegalStateException("Nonnull field \"userInfo\" is null."); - } - this.userInfo = setterArg; - } - - private @NonNull List> providerData; - - public @NonNull List> getProviderData() { - return providerData; - } - - public void setProviderData(@NonNull List> setterArg) { - if (setterArg == null) { - throw new IllegalStateException("Nonnull field \"providerData\" is null."); - } - this.providerData = setterArg; - } - - /** Constructor is non-public to enforce null safety; use Builder. */ - InternalUserDetails() {} - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - InternalUserDetails that = (InternalUserDetails) o; - return pigeonDeepEquals(userInfo, that.userInfo) - && pigeonDeepEquals(providerData, that.providerData); - } - - @Override - public int hashCode() { - Object[] fields = new Object[] {getClass(), userInfo, providerData}; - return pigeonDeepHashCode(fields); - } - - public static final class Builder { - - private @Nullable InternalUserInfo userInfo; - - @CanIgnoreReturnValue - public @NonNull Builder setUserInfo(@NonNull InternalUserInfo setterArg) { - this.userInfo = setterArg; - return this; - } - - private @Nullable List> providerData; - - @CanIgnoreReturnValue - public @NonNull Builder setProviderData(@NonNull List> setterArg) { - this.providerData = setterArg; - return this; - } - - public @NonNull InternalUserDetails build() { - InternalUserDetails pigeonReturn = new InternalUserDetails(); - pigeonReturn.setUserInfo(userInfo); - pigeonReturn.setProviderData(providerData); - return pigeonReturn; - } - } - - @NonNull - public ArrayList toList() { - ArrayList toListResult = new ArrayList<>(2); - toListResult.add(userInfo); - toListResult.add(providerData); - return toListResult; - } - - static @NonNull InternalUserDetails fromList(@NonNull ArrayList pigeonVar_list) { - InternalUserDetails pigeonResult = new InternalUserDetails(); - Object userInfo = pigeonVar_list.get(0); - pigeonResult.setUserInfo((InternalUserInfo) userInfo); - Object providerData = pigeonVar_list.get(1); - pigeonResult.setProviderData((List>) providerData); - return pigeonResult; - } - } - - /** Generated class from Pigeon that represents data sent in messages. */ - public static final class InternalUserCredential { - private @Nullable InternalUserDetails user; - - public @Nullable InternalUserDetails getUser() { - return user; - } - - public void setUser(@Nullable InternalUserDetails setterArg) { - this.user = setterArg; - } - - private @Nullable InternalAdditionalUserInfo additionalUserInfo; - - public @Nullable InternalAdditionalUserInfo getAdditionalUserInfo() { - return additionalUserInfo; - } - - public void setAdditionalUserInfo(@Nullable InternalAdditionalUserInfo setterArg) { - this.additionalUserInfo = setterArg; - } - - private @Nullable InternalAuthCredential credential; - - public @Nullable InternalAuthCredential getCredential() { - return credential; - } - - public void setCredential(@Nullable InternalAuthCredential setterArg) { - this.credential = setterArg; - } - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - InternalUserCredential that = (InternalUserCredential) o; - return pigeonDeepEquals(user, that.user) - && pigeonDeepEquals(additionalUserInfo, that.additionalUserInfo) - && pigeonDeepEquals(credential, that.credential); - } - - @Override - public int hashCode() { - Object[] fields = new Object[] {getClass(), user, additionalUserInfo, credential}; - return pigeonDeepHashCode(fields); - } - - public static final class Builder { - - private @Nullable InternalUserDetails user; - - @CanIgnoreReturnValue - public @NonNull Builder setUser(@Nullable InternalUserDetails setterArg) { - this.user = setterArg; - return this; - } - - private @Nullable InternalAdditionalUserInfo additionalUserInfo; - - @CanIgnoreReturnValue - public @NonNull Builder setAdditionalUserInfo( - @Nullable InternalAdditionalUserInfo setterArg) { - this.additionalUserInfo = setterArg; - return this; - } - - private @Nullable InternalAuthCredential credential; - - @CanIgnoreReturnValue - public @NonNull Builder setCredential(@Nullable InternalAuthCredential setterArg) { - this.credential = setterArg; - return this; - } - - public @NonNull InternalUserCredential build() { - InternalUserCredential pigeonReturn = new InternalUserCredential(); - pigeonReturn.setUser(user); - pigeonReturn.setAdditionalUserInfo(additionalUserInfo); - pigeonReturn.setCredential(credential); - return pigeonReturn; - } - } - - @NonNull - public ArrayList toList() { - ArrayList toListResult = new ArrayList<>(3); - toListResult.add(user); - toListResult.add(additionalUserInfo); - toListResult.add(credential); - return toListResult; - } - - static @NonNull InternalUserCredential fromList(@NonNull ArrayList pigeonVar_list) { - InternalUserCredential pigeonResult = new InternalUserCredential(); - Object user = pigeonVar_list.get(0); - pigeonResult.setUser((InternalUserDetails) user); - Object additionalUserInfo = pigeonVar_list.get(1); - pigeonResult.setAdditionalUserInfo((InternalAdditionalUserInfo) additionalUserInfo); - Object credential = pigeonVar_list.get(2); - pigeonResult.setCredential((InternalAuthCredential) credential); - return pigeonResult; - } - } - - /** Generated class from Pigeon that represents data sent in messages. */ - public static final class InternalAuthCredentialInput { - private @NonNull String providerId; - - public @NonNull String getProviderId() { - return providerId; - } - - public void setProviderId(@NonNull String setterArg) { - if (setterArg == null) { - throw new IllegalStateException("Nonnull field \"providerId\" is null."); - } - this.providerId = setterArg; - } - - private @NonNull String signInMethod; - - public @NonNull String getSignInMethod() { - return signInMethod; - } - - public void setSignInMethod(@NonNull String setterArg) { - if (setterArg == null) { - throw new IllegalStateException("Nonnull field \"signInMethod\" is null."); - } - this.signInMethod = setterArg; - } - - private @Nullable String token; - - public @Nullable String getToken() { - return token; - } - - public void setToken(@Nullable String setterArg) { - this.token = setterArg; - } - - private @Nullable String accessToken; - - public @Nullable String getAccessToken() { - return accessToken; - } - - public void setAccessToken(@Nullable String setterArg) { - this.accessToken = setterArg; - } - - /** Constructor is non-public to enforce null safety; use Builder. */ - InternalAuthCredentialInput() {} - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - InternalAuthCredentialInput that = (InternalAuthCredentialInput) o; - return pigeonDeepEquals(providerId, that.providerId) - && pigeonDeepEquals(signInMethod, that.signInMethod) - && pigeonDeepEquals(token, that.token) - && pigeonDeepEquals(accessToken, that.accessToken); - } - - @Override - public int hashCode() { - Object[] fields = new Object[] {getClass(), providerId, signInMethod, token, accessToken}; - return pigeonDeepHashCode(fields); - } - - public static final class Builder { - - private @Nullable String providerId; - - @CanIgnoreReturnValue - public @NonNull Builder setProviderId(@NonNull String setterArg) { - this.providerId = setterArg; - return this; - } - - private @Nullable String signInMethod; - - @CanIgnoreReturnValue - public @NonNull Builder setSignInMethod(@NonNull String setterArg) { - this.signInMethod = setterArg; - return this; - } - - private @Nullable String token; - - @CanIgnoreReturnValue - public @NonNull Builder setToken(@Nullable String setterArg) { - this.token = setterArg; - return this; - } - - private @Nullable String accessToken; - - @CanIgnoreReturnValue - public @NonNull Builder setAccessToken(@Nullable String setterArg) { - this.accessToken = setterArg; - return this; - } - - public @NonNull InternalAuthCredentialInput build() { - InternalAuthCredentialInput pigeonReturn = new InternalAuthCredentialInput(); - pigeonReturn.setProviderId(providerId); - pigeonReturn.setSignInMethod(signInMethod); - pigeonReturn.setToken(token); - pigeonReturn.setAccessToken(accessToken); - return pigeonReturn; - } - } - - @NonNull - public ArrayList toList() { - ArrayList toListResult = new ArrayList<>(4); - toListResult.add(providerId); - toListResult.add(signInMethod); - toListResult.add(token); - toListResult.add(accessToken); - return toListResult; - } - - static @NonNull InternalAuthCredentialInput fromList( - @NonNull ArrayList pigeonVar_list) { - InternalAuthCredentialInput pigeonResult = new InternalAuthCredentialInput(); - Object providerId = pigeonVar_list.get(0); - pigeonResult.setProviderId((String) providerId); - Object signInMethod = pigeonVar_list.get(1); - pigeonResult.setSignInMethod((String) signInMethod); - Object token = pigeonVar_list.get(2); - pigeonResult.setToken((String) token); - Object accessToken = pigeonVar_list.get(3); - pigeonResult.setAccessToken((String) accessToken); - return pigeonResult; - } - } - - /** Generated class from Pigeon that represents data sent in messages. */ - public static final class InternalActionCodeSettings { - private @NonNull String url; - - public @NonNull String getUrl() { - return url; - } - - public void setUrl(@NonNull String setterArg) { - if (setterArg == null) { - throw new IllegalStateException("Nonnull field \"url\" is null."); - } - this.url = setterArg; - } - - private @Nullable String dynamicLinkDomain; - - public @Nullable String getDynamicLinkDomain() { - return dynamicLinkDomain; - } - - public void setDynamicLinkDomain(@Nullable String setterArg) { - this.dynamicLinkDomain = setterArg; - } - - private @NonNull Boolean handleCodeInApp; - - public @NonNull Boolean getHandleCodeInApp() { - return handleCodeInApp; - } - - public void setHandleCodeInApp(@NonNull Boolean setterArg) { - if (setterArg == null) { - throw new IllegalStateException("Nonnull field \"handleCodeInApp\" is null."); - } - this.handleCodeInApp = setterArg; - } - - private @Nullable String iOSBundleId; - - public @Nullable String getIOSBundleId() { - return iOSBundleId; - } - - public void setIOSBundleId(@Nullable String setterArg) { - this.iOSBundleId = setterArg; - } - - private @Nullable String androidPackageName; - - public @Nullable String getAndroidPackageName() { - return androidPackageName; - } - - public void setAndroidPackageName(@Nullable String setterArg) { - this.androidPackageName = setterArg; - } - - private @NonNull Boolean androidInstallApp; - - public @NonNull Boolean getAndroidInstallApp() { - return androidInstallApp; - } - - public void setAndroidInstallApp(@NonNull Boolean setterArg) { - if (setterArg == null) { - throw new IllegalStateException("Nonnull field \"androidInstallApp\" is null."); - } - this.androidInstallApp = setterArg; - } - - private @Nullable String androidMinimumVersion; - - public @Nullable String getAndroidMinimumVersion() { - return androidMinimumVersion; - } - - public void setAndroidMinimumVersion(@Nullable String setterArg) { - this.androidMinimumVersion = setterArg; - } - - private @Nullable String linkDomain; - - public @Nullable String getLinkDomain() { - return linkDomain; - } - - public void setLinkDomain(@Nullable String setterArg) { - this.linkDomain = setterArg; - } - - /** Constructor is non-public to enforce null safety; use Builder. */ - InternalActionCodeSettings() {} - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - InternalActionCodeSettings that = (InternalActionCodeSettings) o; - return pigeonDeepEquals(url, that.url) - && pigeonDeepEquals(dynamicLinkDomain, that.dynamicLinkDomain) - && pigeonDeepEquals(handleCodeInApp, that.handleCodeInApp) - && pigeonDeepEquals(iOSBundleId, that.iOSBundleId) - && pigeonDeepEquals(androidPackageName, that.androidPackageName) - && pigeonDeepEquals(androidInstallApp, that.androidInstallApp) - && pigeonDeepEquals(androidMinimumVersion, that.androidMinimumVersion) - && pigeonDeepEquals(linkDomain, that.linkDomain); - } - - @Override - public int hashCode() { - Object[] fields = - new Object[] { - getClass(), - url, - dynamicLinkDomain, - handleCodeInApp, - iOSBundleId, - androidPackageName, - androidInstallApp, - androidMinimumVersion, - linkDomain - }; - return pigeonDeepHashCode(fields); - } - - public static final class Builder { - - private @Nullable String url; - - @CanIgnoreReturnValue - public @NonNull Builder setUrl(@NonNull String setterArg) { - this.url = setterArg; - return this; - } - - private @Nullable String dynamicLinkDomain; - - @CanIgnoreReturnValue - public @NonNull Builder setDynamicLinkDomain(@Nullable String setterArg) { - this.dynamicLinkDomain = setterArg; - return this; - } - - private @Nullable Boolean handleCodeInApp; - - @CanIgnoreReturnValue - public @NonNull Builder setHandleCodeInApp(@NonNull Boolean setterArg) { - this.handleCodeInApp = setterArg; - return this; - } - - private @Nullable String iOSBundleId; - - @CanIgnoreReturnValue - public @NonNull Builder setIOSBundleId(@Nullable String setterArg) { - this.iOSBundleId = setterArg; - return this; - } - - private @Nullable String androidPackageName; - - @CanIgnoreReturnValue - public @NonNull Builder setAndroidPackageName(@Nullable String setterArg) { - this.androidPackageName = setterArg; - return this; - } - - private @Nullable Boolean androidInstallApp; - - @CanIgnoreReturnValue - public @NonNull Builder setAndroidInstallApp(@NonNull Boolean setterArg) { - this.androidInstallApp = setterArg; - return this; - } - - private @Nullable String androidMinimumVersion; - - @CanIgnoreReturnValue - public @NonNull Builder setAndroidMinimumVersion(@Nullable String setterArg) { - this.androidMinimumVersion = setterArg; - return this; - } - - private @Nullable String linkDomain; - - @CanIgnoreReturnValue - public @NonNull Builder setLinkDomain(@Nullable String setterArg) { - this.linkDomain = setterArg; - return this; - } - - public @NonNull InternalActionCodeSettings build() { - InternalActionCodeSettings pigeonReturn = new InternalActionCodeSettings(); - pigeonReturn.setUrl(url); - pigeonReturn.setDynamicLinkDomain(dynamicLinkDomain); - pigeonReturn.setHandleCodeInApp(handleCodeInApp); - pigeonReturn.setIOSBundleId(iOSBundleId); - pigeonReturn.setAndroidPackageName(androidPackageName); - pigeonReturn.setAndroidInstallApp(androidInstallApp); - pigeonReturn.setAndroidMinimumVersion(androidMinimumVersion); - pigeonReturn.setLinkDomain(linkDomain); - return pigeonReturn; - } - } - - @NonNull - public ArrayList toList() { - ArrayList toListResult = new ArrayList<>(8); - toListResult.add(url); - toListResult.add(dynamicLinkDomain); - toListResult.add(handleCodeInApp); - toListResult.add(iOSBundleId); - toListResult.add(androidPackageName); - toListResult.add(androidInstallApp); - toListResult.add(androidMinimumVersion); - toListResult.add(linkDomain); - return toListResult; - } - - static @NonNull InternalActionCodeSettings fromList(@NonNull ArrayList pigeonVar_list) { - InternalActionCodeSettings pigeonResult = new InternalActionCodeSettings(); - Object url = pigeonVar_list.get(0); - pigeonResult.setUrl((String) url); - Object dynamicLinkDomain = pigeonVar_list.get(1); - pigeonResult.setDynamicLinkDomain((String) dynamicLinkDomain); - Object handleCodeInApp = pigeonVar_list.get(2); - pigeonResult.setHandleCodeInApp((Boolean) handleCodeInApp); - Object iOSBundleId = pigeonVar_list.get(3); - pigeonResult.setIOSBundleId((String) iOSBundleId); - Object androidPackageName = pigeonVar_list.get(4); - pigeonResult.setAndroidPackageName((String) androidPackageName); - Object androidInstallApp = pigeonVar_list.get(5); - pigeonResult.setAndroidInstallApp((Boolean) androidInstallApp); - Object androidMinimumVersion = pigeonVar_list.get(6); - pigeonResult.setAndroidMinimumVersion((String) androidMinimumVersion); - Object linkDomain = pigeonVar_list.get(7); - pigeonResult.setLinkDomain((String) linkDomain); - return pigeonResult; - } - } - - /** Generated class from Pigeon that represents data sent in messages. */ - public static final class InternalFirebaseAuthSettings { - private @NonNull Boolean appVerificationDisabledForTesting; - - public @NonNull Boolean getAppVerificationDisabledForTesting() { - return appVerificationDisabledForTesting; - } - - public void setAppVerificationDisabledForTesting(@NonNull Boolean setterArg) { - if (setterArg == null) { - throw new IllegalStateException( - "Nonnull field \"appVerificationDisabledForTesting\" is null."); - } - this.appVerificationDisabledForTesting = setterArg; - } - - private @Nullable String userAccessGroup; - - public @Nullable String getUserAccessGroup() { - return userAccessGroup; - } - - public void setUserAccessGroup(@Nullable String setterArg) { - this.userAccessGroup = setterArg; - } - - private @Nullable String phoneNumber; - - public @Nullable String getPhoneNumber() { - return phoneNumber; - } - - public void setPhoneNumber(@Nullable String setterArg) { - this.phoneNumber = setterArg; - } - - private @Nullable String smsCode; - - public @Nullable String getSmsCode() { - return smsCode; - } - - public void setSmsCode(@Nullable String setterArg) { - this.smsCode = setterArg; - } - - private @Nullable Boolean forceRecaptchaFlow; - - public @Nullable Boolean getForceRecaptchaFlow() { - return forceRecaptchaFlow; - } - - public void setForceRecaptchaFlow(@Nullable Boolean setterArg) { - this.forceRecaptchaFlow = setterArg; - } - - /** Constructor is non-public to enforce null safety; use Builder. */ - InternalFirebaseAuthSettings() {} - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - InternalFirebaseAuthSettings that = (InternalFirebaseAuthSettings) o; - return pigeonDeepEquals( - appVerificationDisabledForTesting, that.appVerificationDisabledForTesting) - && pigeonDeepEquals(userAccessGroup, that.userAccessGroup) - && pigeonDeepEquals(phoneNumber, that.phoneNumber) - && pigeonDeepEquals(smsCode, that.smsCode) - && pigeonDeepEquals(forceRecaptchaFlow, that.forceRecaptchaFlow); - } - - @Override - public int hashCode() { - Object[] fields = - new Object[] { - getClass(), - appVerificationDisabledForTesting, - userAccessGroup, - phoneNumber, - smsCode, - forceRecaptchaFlow - }; - return pigeonDeepHashCode(fields); - } - - public static final class Builder { - - private @Nullable Boolean appVerificationDisabledForTesting; - - @CanIgnoreReturnValue - public @NonNull Builder setAppVerificationDisabledForTesting(@NonNull Boolean setterArg) { - this.appVerificationDisabledForTesting = setterArg; - return this; - } - - private @Nullable String userAccessGroup; - - @CanIgnoreReturnValue - public @NonNull Builder setUserAccessGroup(@Nullable String setterArg) { - this.userAccessGroup = setterArg; - return this; - } - - private @Nullable String phoneNumber; - - @CanIgnoreReturnValue - public @NonNull Builder setPhoneNumber(@Nullable String setterArg) { - this.phoneNumber = setterArg; - return this; - } - - private @Nullable String smsCode; - - @CanIgnoreReturnValue - public @NonNull Builder setSmsCode(@Nullable String setterArg) { - this.smsCode = setterArg; - return this; - } - - private @Nullable Boolean forceRecaptchaFlow; - - @CanIgnoreReturnValue - public @NonNull Builder setForceRecaptchaFlow(@Nullable Boolean setterArg) { - this.forceRecaptchaFlow = setterArg; - return this; - } - - public @NonNull InternalFirebaseAuthSettings build() { - InternalFirebaseAuthSettings pigeonReturn = new InternalFirebaseAuthSettings(); - pigeonReturn.setAppVerificationDisabledForTesting(appVerificationDisabledForTesting); - pigeonReturn.setUserAccessGroup(userAccessGroup); - pigeonReturn.setPhoneNumber(phoneNumber); - pigeonReturn.setSmsCode(smsCode); - pigeonReturn.setForceRecaptchaFlow(forceRecaptchaFlow); - return pigeonReturn; - } - } - - @NonNull - public ArrayList toList() { - ArrayList toListResult = new ArrayList<>(5); - toListResult.add(appVerificationDisabledForTesting); - toListResult.add(userAccessGroup); - toListResult.add(phoneNumber); - toListResult.add(smsCode); - toListResult.add(forceRecaptchaFlow); - return toListResult; - } - - static @NonNull InternalFirebaseAuthSettings fromList( - @NonNull ArrayList pigeonVar_list) { - InternalFirebaseAuthSettings pigeonResult = new InternalFirebaseAuthSettings(); - Object appVerificationDisabledForTesting = pigeonVar_list.get(0); - pigeonResult.setAppVerificationDisabledForTesting( - (Boolean) appVerificationDisabledForTesting); - Object userAccessGroup = pigeonVar_list.get(1); - pigeonResult.setUserAccessGroup((String) userAccessGroup); - Object phoneNumber = pigeonVar_list.get(2); - pigeonResult.setPhoneNumber((String) phoneNumber); - Object smsCode = pigeonVar_list.get(3); - pigeonResult.setSmsCode((String) smsCode); - Object forceRecaptchaFlow = pigeonVar_list.get(4); - pigeonResult.setForceRecaptchaFlow((Boolean) forceRecaptchaFlow); - return pigeonResult; - } - } - - /** Generated class from Pigeon that represents data sent in messages. */ - public static final class InternalSignInProvider { - private @NonNull String providerId; - - public @NonNull String getProviderId() { - return providerId; - } - - public void setProviderId(@NonNull String setterArg) { - if (setterArg == null) { - throw new IllegalStateException("Nonnull field \"providerId\" is null."); - } - this.providerId = setterArg; - } - - private @Nullable List scopes; - - public @Nullable List getScopes() { - return scopes; - } - - public void setScopes(@Nullable List setterArg) { - this.scopes = setterArg; - } - - private @Nullable Map customParameters; - - public @Nullable Map getCustomParameters() { - return customParameters; - } - - public void setCustomParameters(@Nullable Map setterArg) { - this.customParameters = setterArg; - } - - /** Constructor is non-public to enforce null safety; use Builder. */ - InternalSignInProvider() {} - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - InternalSignInProvider that = (InternalSignInProvider) o; - return pigeonDeepEquals(providerId, that.providerId) - && pigeonDeepEquals(scopes, that.scopes) - && pigeonDeepEquals(customParameters, that.customParameters); - } - - @Override - public int hashCode() { - Object[] fields = new Object[] {getClass(), providerId, scopes, customParameters}; - return pigeonDeepHashCode(fields); - } - - public static final class Builder { - - private @Nullable String providerId; - - @CanIgnoreReturnValue - public @NonNull Builder setProviderId(@NonNull String setterArg) { - this.providerId = setterArg; - return this; - } - - private @Nullable List scopes; - - @CanIgnoreReturnValue - public @NonNull Builder setScopes(@Nullable List setterArg) { - this.scopes = setterArg; - return this; - } - - private @Nullable Map customParameters; - - @CanIgnoreReturnValue - public @NonNull Builder setCustomParameters(@Nullable Map setterArg) { - this.customParameters = setterArg; - return this; - } - - public @NonNull InternalSignInProvider build() { - InternalSignInProvider pigeonReturn = new InternalSignInProvider(); - pigeonReturn.setProviderId(providerId); - pigeonReturn.setScopes(scopes); - pigeonReturn.setCustomParameters(customParameters); - return pigeonReturn; - } - } - - @NonNull - public ArrayList toList() { - ArrayList toListResult = new ArrayList<>(3); - toListResult.add(providerId); - toListResult.add(scopes); - toListResult.add(customParameters); - return toListResult; - } - - static @NonNull InternalSignInProvider fromList(@NonNull ArrayList pigeonVar_list) { - InternalSignInProvider pigeonResult = new InternalSignInProvider(); - Object providerId = pigeonVar_list.get(0); - pigeonResult.setProviderId((String) providerId); - Object scopes = pigeonVar_list.get(1); - pigeonResult.setScopes((List) scopes); - Object customParameters = pigeonVar_list.get(2); - pigeonResult.setCustomParameters((Map) customParameters); - return pigeonResult; - } - } - - /** Generated class from Pigeon that represents data sent in messages. */ - public static final class InternalVerifyPhoneNumberRequest { - private @Nullable String phoneNumber; - - public @Nullable String getPhoneNumber() { - return phoneNumber; - } - - public void setPhoneNumber(@Nullable String setterArg) { - this.phoneNumber = setterArg; - } - - private @NonNull Long timeout; - - public @NonNull Long getTimeout() { - return timeout; - } - - public void setTimeout(@NonNull Long setterArg) { - if (setterArg == null) { - throw new IllegalStateException("Nonnull field \"timeout\" is null."); - } - this.timeout = setterArg; - } - - private @Nullable Long forceResendingToken; - - public @Nullable Long getForceResendingToken() { - return forceResendingToken; - } - - public void setForceResendingToken(@Nullable Long setterArg) { - this.forceResendingToken = setterArg; - } - - private @Nullable String autoRetrievedSmsCodeForTesting; - - public @Nullable String getAutoRetrievedSmsCodeForTesting() { - return autoRetrievedSmsCodeForTesting; - } - - public void setAutoRetrievedSmsCodeForTesting(@Nullable String setterArg) { - this.autoRetrievedSmsCodeForTesting = setterArg; - } - - private @Nullable String multiFactorInfoId; - - public @Nullable String getMultiFactorInfoId() { - return multiFactorInfoId; - } - - public void setMultiFactorInfoId(@Nullable String setterArg) { - this.multiFactorInfoId = setterArg; - } - - private @Nullable String multiFactorSessionId; - - public @Nullable String getMultiFactorSessionId() { - return multiFactorSessionId; - } - - public void setMultiFactorSessionId(@Nullable String setterArg) { - this.multiFactorSessionId = setterArg; - } - - /** Constructor is non-public to enforce null safety; use Builder. */ - InternalVerifyPhoneNumberRequest() {} - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - InternalVerifyPhoneNumberRequest that = (InternalVerifyPhoneNumberRequest) o; - return pigeonDeepEquals(phoneNumber, that.phoneNumber) - && pigeonDeepEquals(timeout, that.timeout) - && pigeonDeepEquals(forceResendingToken, that.forceResendingToken) - && pigeonDeepEquals(autoRetrievedSmsCodeForTesting, that.autoRetrievedSmsCodeForTesting) - && pigeonDeepEquals(multiFactorInfoId, that.multiFactorInfoId) - && pigeonDeepEquals(multiFactorSessionId, that.multiFactorSessionId); - } - - @Override - public int hashCode() { - Object[] fields = - new Object[] { - getClass(), - phoneNumber, - timeout, - forceResendingToken, - autoRetrievedSmsCodeForTesting, - multiFactorInfoId, - multiFactorSessionId - }; - return pigeonDeepHashCode(fields); - } - - public static final class Builder { - - private @Nullable String phoneNumber; - - @CanIgnoreReturnValue - public @NonNull Builder setPhoneNumber(@Nullable String setterArg) { - this.phoneNumber = setterArg; - return this; - } - - private @Nullable Long timeout; - - @CanIgnoreReturnValue - public @NonNull Builder setTimeout(@NonNull Long setterArg) { - this.timeout = setterArg; - return this; - } - - private @Nullable Long forceResendingToken; - - @CanIgnoreReturnValue - public @NonNull Builder setForceResendingToken(@Nullable Long setterArg) { - this.forceResendingToken = setterArg; - return this; - } - - private @Nullable String autoRetrievedSmsCodeForTesting; - - @CanIgnoreReturnValue - public @NonNull Builder setAutoRetrievedSmsCodeForTesting(@Nullable String setterArg) { - this.autoRetrievedSmsCodeForTesting = setterArg; - return this; - } - - private @Nullable String multiFactorInfoId; - - @CanIgnoreReturnValue - public @NonNull Builder setMultiFactorInfoId(@Nullable String setterArg) { - this.multiFactorInfoId = setterArg; - return this; - } - - private @Nullable String multiFactorSessionId; - - @CanIgnoreReturnValue - public @NonNull Builder setMultiFactorSessionId(@Nullable String setterArg) { - this.multiFactorSessionId = setterArg; - return this; - } - - public @NonNull InternalVerifyPhoneNumberRequest build() { - InternalVerifyPhoneNumberRequest pigeonReturn = new InternalVerifyPhoneNumberRequest(); - pigeonReturn.setPhoneNumber(phoneNumber); - pigeonReturn.setTimeout(timeout); - pigeonReturn.setForceResendingToken(forceResendingToken); - pigeonReturn.setAutoRetrievedSmsCodeForTesting(autoRetrievedSmsCodeForTesting); - pigeonReturn.setMultiFactorInfoId(multiFactorInfoId); - pigeonReturn.setMultiFactorSessionId(multiFactorSessionId); - return pigeonReturn; - } - } - - @NonNull - public ArrayList toList() { - ArrayList toListResult = new ArrayList<>(6); - toListResult.add(phoneNumber); - toListResult.add(timeout); - toListResult.add(forceResendingToken); - toListResult.add(autoRetrievedSmsCodeForTesting); - toListResult.add(multiFactorInfoId); - toListResult.add(multiFactorSessionId); - return toListResult; - } - - static @NonNull InternalVerifyPhoneNumberRequest fromList( - @NonNull ArrayList pigeonVar_list) { - InternalVerifyPhoneNumberRequest pigeonResult = new InternalVerifyPhoneNumberRequest(); - Object phoneNumber = pigeonVar_list.get(0); - pigeonResult.setPhoneNumber((String) phoneNumber); - Object timeout = pigeonVar_list.get(1); - pigeonResult.setTimeout((Long) timeout); - Object forceResendingToken = pigeonVar_list.get(2); - pigeonResult.setForceResendingToken((Long) forceResendingToken); - Object autoRetrievedSmsCodeForTesting = pigeonVar_list.get(3); - pigeonResult.setAutoRetrievedSmsCodeForTesting((String) autoRetrievedSmsCodeForTesting); - Object multiFactorInfoId = pigeonVar_list.get(4); - pigeonResult.setMultiFactorInfoId((String) multiFactorInfoId); - Object multiFactorSessionId = pigeonVar_list.get(5); - pigeonResult.setMultiFactorSessionId((String) multiFactorSessionId); - return pigeonResult; - } - } - - /** Generated class from Pigeon that represents data sent in messages. */ - public static final class InternalIdTokenResult { - private @Nullable String token; - - public @Nullable String getToken() { - return token; - } - - public void setToken(@Nullable String setterArg) { - this.token = setterArg; - } - - private @Nullable Long expirationTimestamp; - - public @Nullable Long getExpirationTimestamp() { - return expirationTimestamp; - } - - public void setExpirationTimestamp(@Nullable Long setterArg) { - this.expirationTimestamp = setterArg; - } - - private @Nullable Long authTimestamp; - - public @Nullable Long getAuthTimestamp() { - return authTimestamp; - } - - public void setAuthTimestamp(@Nullable Long setterArg) { - this.authTimestamp = setterArg; - } - - private @Nullable Long issuedAtTimestamp; - - public @Nullable Long getIssuedAtTimestamp() { - return issuedAtTimestamp; - } - - public void setIssuedAtTimestamp(@Nullable Long setterArg) { - this.issuedAtTimestamp = setterArg; - } - - private @Nullable String signInProvider; - - public @Nullable String getSignInProvider() { - return signInProvider; - } - - public void setSignInProvider(@Nullable String setterArg) { - this.signInProvider = setterArg; - } - - private @Nullable Map claims; - - public @Nullable Map getClaims() { - return claims; - } - - public void setClaims(@Nullable Map setterArg) { - this.claims = setterArg; - } - - private @Nullable String signInSecondFactor; - - public @Nullable String getSignInSecondFactor() { - return signInSecondFactor; - } - - public void setSignInSecondFactor(@Nullable String setterArg) { - this.signInSecondFactor = setterArg; - } - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - InternalIdTokenResult that = (InternalIdTokenResult) o; - return pigeonDeepEquals(token, that.token) - && pigeonDeepEquals(expirationTimestamp, that.expirationTimestamp) - && pigeonDeepEquals(authTimestamp, that.authTimestamp) - && pigeonDeepEquals(issuedAtTimestamp, that.issuedAtTimestamp) - && pigeonDeepEquals(signInProvider, that.signInProvider) - && pigeonDeepEquals(claims, that.claims) - && pigeonDeepEquals(signInSecondFactor, that.signInSecondFactor); - } - - @Override - public int hashCode() { - Object[] fields = - new Object[] { - getClass(), - token, - expirationTimestamp, - authTimestamp, - issuedAtTimestamp, - signInProvider, - claims, - signInSecondFactor - }; - return pigeonDeepHashCode(fields); - } - - public static final class Builder { - - private @Nullable String token; - - @CanIgnoreReturnValue - public @NonNull Builder setToken(@Nullable String setterArg) { - this.token = setterArg; - return this; - } - - private @Nullable Long expirationTimestamp; - - @CanIgnoreReturnValue - public @NonNull Builder setExpirationTimestamp(@Nullable Long setterArg) { - this.expirationTimestamp = setterArg; - return this; - } - - private @Nullable Long authTimestamp; - - @CanIgnoreReturnValue - public @NonNull Builder setAuthTimestamp(@Nullable Long setterArg) { - this.authTimestamp = setterArg; - return this; - } - - private @Nullable Long issuedAtTimestamp; - - @CanIgnoreReturnValue - public @NonNull Builder setIssuedAtTimestamp(@Nullable Long setterArg) { - this.issuedAtTimestamp = setterArg; - return this; - } - - private @Nullable String signInProvider; - - @CanIgnoreReturnValue - public @NonNull Builder setSignInProvider(@Nullable String setterArg) { - this.signInProvider = setterArg; - return this; - } - - private @Nullable Map claims; - - @CanIgnoreReturnValue - public @NonNull Builder setClaims(@Nullable Map setterArg) { - this.claims = setterArg; - return this; - } - - private @Nullable String signInSecondFactor; - - @CanIgnoreReturnValue - public @NonNull Builder setSignInSecondFactor(@Nullable String setterArg) { - this.signInSecondFactor = setterArg; - return this; - } - - public @NonNull InternalIdTokenResult build() { - InternalIdTokenResult pigeonReturn = new InternalIdTokenResult(); - pigeonReturn.setToken(token); - pigeonReturn.setExpirationTimestamp(expirationTimestamp); - pigeonReturn.setAuthTimestamp(authTimestamp); - pigeonReturn.setIssuedAtTimestamp(issuedAtTimestamp); - pigeonReturn.setSignInProvider(signInProvider); - pigeonReturn.setClaims(claims); - pigeonReturn.setSignInSecondFactor(signInSecondFactor); - return pigeonReturn; - } - } - - @NonNull - public ArrayList toList() { - ArrayList toListResult = new ArrayList<>(7); - toListResult.add(token); - toListResult.add(expirationTimestamp); - toListResult.add(authTimestamp); - toListResult.add(issuedAtTimestamp); - toListResult.add(signInProvider); - toListResult.add(claims); - toListResult.add(signInSecondFactor); - return toListResult; - } - - static @NonNull InternalIdTokenResult fromList(@NonNull ArrayList pigeonVar_list) { - InternalIdTokenResult pigeonResult = new InternalIdTokenResult(); - Object token = pigeonVar_list.get(0); - pigeonResult.setToken((String) token); - Object expirationTimestamp = pigeonVar_list.get(1); - pigeonResult.setExpirationTimestamp((Long) expirationTimestamp); - Object authTimestamp = pigeonVar_list.get(2); - pigeonResult.setAuthTimestamp((Long) authTimestamp); - Object issuedAtTimestamp = pigeonVar_list.get(3); - pigeonResult.setIssuedAtTimestamp((Long) issuedAtTimestamp); - Object signInProvider = pigeonVar_list.get(4); - pigeonResult.setSignInProvider((String) signInProvider); - Object claims = pigeonVar_list.get(5); - pigeonResult.setClaims((Map) claims); - Object signInSecondFactor = pigeonVar_list.get(6); - pigeonResult.setSignInSecondFactor((String) signInSecondFactor); - return pigeonResult; - } - } - - /** Generated class from Pigeon that represents data sent in messages. */ - public static final class InternalUserProfile { - private @Nullable String displayName; - - public @Nullable String getDisplayName() { - return displayName; - } - - public void setDisplayName(@Nullable String setterArg) { - this.displayName = setterArg; - } - - private @Nullable String photoUrl; - - public @Nullable String getPhotoUrl() { - return photoUrl; - } - - public void setPhotoUrl(@Nullable String setterArg) { - this.photoUrl = setterArg; - } - - private @NonNull Boolean displayNameChanged; - - public @NonNull Boolean getDisplayNameChanged() { - return displayNameChanged; - } - - public void setDisplayNameChanged(@NonNull Boolean setterArg) { - if (setterArg == null) { - throw new IllegalStateException("Nonnull field \"displayNameChanged\" is null."); - } - this.displayNameChanged = setterArg; - } - - private @NonNull Boolean photoUrlChanged; - - public @NonNull Boolean getPhotoUrlChanged() { - return photoUrlChanged; - } - - public void setPhotoUrlChanged(@NonNull Boolean setterArg) { - if (setterArg == null) { - throw new IllegalStateException("Nonnull field \"photoUrlChanged\" is null."); - } - this.photoUrlChanged = setterArg; - } - - /** Constructor is non-public to enforce null safety; use Builder. */ - InternalUserProfile() {} - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - InternalUserProfile that = (InternalUserProfile) o; - return pigeonDeepEquals(displayName, that.displayName) - && pigeonDeepEquals(photoUrl, that.photoUrl) - && pigeonDeepEquals(displayNameChanged, that.displayNameChanged) - && pigeonDeepEquals(photoUrlChanged, that.photoUrlChanged); - } - - @Override - public int hashCode() { - Object[] fields = - new Object[] {getClass(), displayName, photoUrl, displayNameChanged, photoUrlChanged}; - return pigeonDeepHashCode(fields); - } - - public static final class Builder { - - private @Nullable String displayName; - - @CanIgnoreReturnValue - public @NonNull Builder setDisplayName(@Nullable String setterArg) { - this.displayName = setterArg; - return this; - } - - private @Nullable String photoUrl; - - @CanIgnoreReturnValue - public @NonNull Builder setPhotoUrl(@Nullable String setterArg) { - this.photoUrl = setterArg; - return this; - } - - private @Nullable Boolean displayNameChanged; - - @CanIgnoreReturnValue - public @NonNull Builder setDisplayNameChanged(@NonNull Boolean setterArg) { - this.displayNameChanged = setterArg; - return this; - } - - private @Nullable Boolean photoUrlChanged; - - @CanIgnoreReturnValue - public @NonNull Builder setPhotoUrlChanged(@NonNull Boolean setterArg) { - this.photoUrlChanged = setterArg; - return this; - } - - public @NonNull InternalUserProfile build() { - InternalUserProfile pigeonReturn = new InternalUserProfile(); - pigeonReturn.setDisplayName(displayName); - pigeonReturn.setPhotoUrl(photoUrl); - pigeonReturn.setDisplayNameChanged(displayNameChanged); - pigeonReturn.setPhotoUrlChanged(photoUrlChanged); - return pigeonReturn; - } - } - - @NonNull - public ArrayList toList() { - ArrayList toListResult = new ArrayList<>(4); - toListResult.add(displayName); - toListResult.add(photoUrl); - toListResult.add(displayNameChanged); - toListResult.add(photoUrlChanged); - return toListResult; - } - - static @NonNull InternalUserProfile fromList(@NonNull ArrayList pigeonVar_list) { - InternalUserProfile pigeonResult = new InternalUserProfile(); - Object displayName = pigeonVar_list.get(0); - pigeonResult.setDisplayName((String) displayName); - Object photoUrl = pigeonVar_list.get(1); - pigeonResult.setPhotoUrl((String) photoUrl); - Object displayNameChanged = pigeonVar_list.get(2); - pigeonResult.setDisplayNameChanged((Boolean) displayNameChanged); - Object photoUrlChanged = pigeonVar_list.get(3); - pigeonResult.setPhotoUrlChanged((Boolean) photoUrlChanged); - return pigeonResult; - } - } - - /** Generated class from Pigeon that represents data sent in messages. */ - public static final class InternalTotpSecret { - private @Nullable Long codeIntervalSeconds; - - public @Nullable Long getCodeIntervalSeconds() { - return codeIntervalSeconds; - } - - public void setCodeIntervalSeconds(@Nullable Long setterArg) { - this.codeIntervalSeconds = setterArg; - } - - private @Nullable Long codeLength; - - public @Nullable Long getCodeLength() { - return codeLength; - } - - public void setCodeLength(@Nullable Long setterArg) { - this.codeLength = setterArg; - } - - private @Nullable Long enrollmentCompletionDeadline; - - public @Nullable Long getEnrollmentCompletionDeadline() { - return enrollmentCompletionDeadline; - } - - public void setEnrollmentCompletionDeadline(@Nullable Long setterArg) { - this.enrollmentCompletionDeadline = setterArg; - } - - private @Nullable String hashingAlgorithm; - - public @Nullable String getHashingAlgorithm() { - return hashingAlgorithm; - } - - public void setHashingAlgorithm(@Nullable String setterArg) { - this.hashingAlgorithm = setterArg; - } - - private @NonNull String secretKey; - - public @NonNull String getSecretKey() { - return secretKey; - } - - public void setSecretKey(@NonNull String setterArg) { - if (setterArg == null) { - throw new IllegalStateException("Nonnull field \"secretKey\" is null."); - } - this.secretKey = setterArg; - } - - /** Constructor is non-public to enforce null safety; use Builder. */ - InternalTotpSecret() {} - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - InternalTotpSecret that = (InternalTotpSecret) o; - return pigeonDeepEquals(codeIntervalSeconds, that.codeIntervalSeconds) - && pigeonDeepEquals(codeLength, that.codeLength) - && pigeonDeepEquals(enrollmentCompletionDeadline, that.enrollmentCompletionDeadline) - && pigeonDeepEquals(hashingAlgorithm, that.hashingAlgorithm) - && pigeonDeepEquals(secretKey, that.secretKey); - } - - @Override - public int hashCode() { - Object[] fields = - new Object[] { - getClass(), - codeIntervalSeconds, - codeLength, - enrollmentCompletionDeadline, - hashingAlgorithm, - secretKey - }; - return pigeonDeepHashCode(fields); - } - - public static final class Builder { - - private @Nullable Long codeIntervalSeconds; - - @CanIgnoreReturnValue - public @NonNull Builder setCodeIntervalSeconds(@Nullable Long setterArg) { - this.codeIntervalSeconds = setterArg; - return this; - } - - private @Nullable Long codeLength; - - @CanIgnoreReturnValue - public @NonNull Builder setCodeLength(@Nullable Long setterArg) { - this.codeLength = setterArg; - return this; - } - - private @Nullable Long enrollmentCompletionDeadline; - - @CanIgnoreReturnValue - public @NonNull Builder setEnrollmentCompletionDeadline(@Nullable Long setterArg) { - this.enrollmentCompletionDeadline = setterArg; - return this; - } - - private @Nullable String hashingAlgorithm; - - @CanIgnoreReturnValue - public @NonNull Builder setHashingAlgorithm(@Nullable String setterArg) { - this.hashingAlgorithm = setterArg; - return this; - } - - private @Nullable String secretKey; - - @CanIgnoreReturnValue - public @NonNull Builder setSecretKey(@NonNull String setterArg) { - this.secretKey = setterArg; - return this; - } - - public @NonNull InternalTotpSecret build() { - InternalTotpSecret pigeonReturn = new InternalTotpSecret(); - pigeonReturn.setCodeIntervalSeconds(codeIntervalSeconds); - pigeonReturn.setCodeLength(codeLength); - pigeonReturn.setEnrollmentCompletionDeadline(enrollmentCompletionDeadline); - pigeonReturn.setHashingAlgorithm(hashingAlgorithm); - pigeonReturn.setSecretKey(secretKey); - return pigeonReturn; - } - } - - @NonNull - public ArrayList toList() { - ArrayList toListResult = new ArrayList<>(5); - toListResult.add(codeIntervalSeconds); - toListResult.add(codeLength); - toListResult.add(enrollmentCompletionDeadline); - toListResult.add(hashingAlgorithm); - toListResult.add(secretKey); - return toListResult; - } - - static @NonNull InternalTotpSecret fromList(@NonNull ArrayList pigeonVar_list) { - InternalTotpSecret pigeonResult = new InternalTotpSecret(); - Object codeIntervalSeconds = pigeonVar_list.get(0); - pigeonResult.setCodeIntervalSeconds((Long) codeIntervalSeconds); - Object codeLength = pigeonVar_list.get(1); - pigeonResult.setCodeLength((Long) codeLength); - Object enrollmentCompletionDeadline = pigeonVar_list.get(2); - pigeonResult.setEnrollmentCompletionDeadline((Long) enrollmentCompletionDeadline); - Object hashingAlgorithm = pigeonVar_list.get(3); - pigeonResult.setHashingAlgorithm((String) hashingAlgorithm); - Object secretKey = pigeonVar_list.get(4); - pigeonResult.setSecretKey((String) secretKey); - return pigeonResult; - } - } - - private static class PigeonCodec extends StandardMessageCodec { - public static final PigeonCodec INSTANCE = new PigeonCodec(); - - private PigeonCodec() {} - - @Override - protected Object readValueOfType(byte type, @NonNull ByteBuffer buffer) { - switch (type) { - case (byte) 129: - { - Object value = readValue(buffer); - return value == null - ? null - : ActionCodeInfoOperation.values()[((Long) value).intValue()]; - } - case (byte) 130: - return InternalMultiFactorSession.fromList((ArrayList) readValue(buffer)); - case (byte) 131: - return InternalPhoneMultiFactorAssertion.fromList((ArrayList) readValue(buffer)); - case (byte) 132: - return InternalMultiFactorInfo.fromList((ArrayList) readValue(buffer)); - case (byte) 133: - return AuthPigeonFirebaseApp.fromList((ArrayList) readValue(buffer)); - case (byte) 134: - return InternalActionCodeInfoData.fromList((ArrayList) readValue(buffer)); - case (byte) 135: - return InternalActionCodeInfo.fromList((ArrayList) readValue(buffer)); - case (byte) 136: - return InternalAdditionalUserInfo.fromList((ArrayList) readValue(buffer)); - case (byte) 137: - return InternalAuthCredential.fromList((ArrayList) readValue(buffer)); - case (byte) 138: - return InternalUserInfo.fromList((ArrayList) readValue(buffer)); - case (byte) 139: - return InternalUserDetails.fromList((ArrayList) readValue(buffer)); - case (byte) 140: - return InternalUserCredential.fromList((ArrayList) readValue(buffer)); - case (byte) 141: - return InternalAuthCredentialInput.fromList((ArrayList) readValue(buffer)); - case (byte) 142: - return InternalActionCodeSettings.fromList((ArrayList) readValue(buffer)); - case (byte) 143: - return InternalFirebaseAuthSettings.fromList((ArrayList) readValue(buffer)); - case (byte) 144: - return InternalSignInProvider.fromList((ArrayList) readValue(buffer)); - case (byte) 145: - return InternalVerifyPhoneNumberRequest.fromList((ArrayList) readValue(buffer)); - case (byte) 146: - return InternalIdTokenResult.fromList((ArrayList) readValue(buffer)); - case (byte) 147: - return InternalUserProfile.fromList((ArrayList) readValue(buffer)); - case (byte) 148: - return InternalTotpSecret.fromList((ArrayList) readValue(buffer)); - default: - return super.readValueOfType(type, buffer); - } - } - - @Override - protected void writeValue(@NonNull ByteArrayOutputStream stream, Object value) { - if (value instanceof ActionCodeInfoOperation) { - stream.write(129); - writeValue(stream, value == null ? null : ((ActionCodeInfoOperation) value).index); - } else if (value instanceof InternalMultiFactorSession) { - stream.write(130); - writeValue(stream, ((InternalMultiFactorSession) value).toList()); - } else if (value instanceof InternalPhoneMultiFactorAssertion) { - stream.write(131); - writeValue(stream, ((InternalPhoneMultiFactorAssertion) value).toList()); - } else if (value instanceof InternalMultiFactorInfo) { - stream.write(132); - writeValue(stream, ((InternalMultiFactorInfo) value).toList()); - } else if (value instanceof AuthPigeonFirebaseApp) { - stream.write(133); - writeValue(stream, ((AuthPigeonFirebaseApp) value).toList()); - } else if (value instanceof InternalActionCodeInfoData) { - stream.write(134); - writeValue(stream, ((InternalActionCodeInfoData) value).toList()); - } else if (value instanceof InternalActionCodeInfo) { - stream.write(135); - writeValue(stream, ((InternalActionCodeInfo) value).toList()); - } else if (value instanceof InternalAdditionalUserInfo) { - stream.write(136); - writeValue(stream, ((InternalAdditionalUserInfo) value).toList()); - } else if (value instanceof InternalAuthCredential) { - stream.write(137); - writeValue(stream, ((InternalAuthCredential) value).toList()); - } else if (value instanceof InternalUserInfo) { - stream.write(138); - writeValue(stream, ((InternalUserInfo) value).toList()); - } else if (value instanceof InternalUserDetails) { - stream.write(139); - writeValue(stream, ((InternalUserDetails) value).toList()); - } else if (value instanceof InternalUserCredential) { - stream.write(140); - writeValue(stream, ((InternalUserCredential) value).toList()); - } else if (value instanceof InternalAuthCredentialInput) { - stream.write(141); - writeValue(stream, ((InternalAuthCredentialInput) value).toList()); - } else if (value instanceof InternalActionCodeSettings) { - stream.write(142); - writeValue(stream, ((InternalActionCodeSettings) value).toList()); - } else if (value instanceof InternalFirebaseAuthSettings) { - stream.write(143); - writeValue(stream, ((InternalFirebaseAuthSettings) value).toList()); - } else if (value instanceof InternalSignInProvider) { - stream.write(144); - writeValue(stream, ((InternalSignInProvider) value).toList()); - } else if (value instanceof InternalVerifyPhoneNumberRequest) { - stream.write(145); - writeValue(stream, ((InternalVerifyPhoneNumberRequest) value).toList()); - } else if (value instanceof InternalIdTokenResult) { - stream.write(146); - writeValue(stream, ((InternalIdTokenResult) value).toList()); - } else if (value instanceof InternalUserProfile) { - stream.write(147); - writeValue(stream, ((InternalUserProfile) value).toList()); - } else if (value instanceof InternalTotpSecret) { - stream.write(148); - writeValue(stream, ((InternalTotpSecret) value).toList()); - } else { - super.writeValue(stream, value); - } - } - } - - /** Asynchronous error handling return type for non-nullable API method returns. */ - public interface Result { - /** Success case callback method for handling returns. */ - void success(@NonNull T result); - - /** Failure case callback method for handling errors. */ - void error(@NonNull Throwable error); - } - - /** Asynchronous error handling return type for nullable API method returns. */ - public interface NullableResult { - /** Success case callback method for handling returns. */ - void success(@Nullable T result); - - /** Failure case callback method for handling errors. */ - void error(@NonNull Throwable error); - } - - /** Asynchronous error handling return type for void API method returns. */ - public interface VoidResult { - /** Success case callback method for handling returns. */ - void success(); - - /** Failure case callback method for handling errors. */ - void error(@NonNull Throwable error); - } - - /** Generated interface from Pigeon that represents a handler of messages from Flutter. */ - public interface FirebaseAuthHostApi { - - void registerIdTokenListener( - @NonNull AuthPigeonFirebaseApp app, @NonNull Result result); - - void registerAuthStateListener( - @NonNull AuthPigeonFirebaseApp app, @NonNull Result result); - - void useEmulator( - @NonNull AuthPigeonFirebaseApp app, - @NonNull String host, - @NonNull Long port, - @NonNull VoidResult result); - - void applyActionCode( - @NonNull AuthPigeonFirebaseApp app, @NonNull String code, @NonNull VoidResult result); - - void checkActionCode( - @NonNull AuthPigeonFirebaseApp app, - @NonNull String code, - @NonNull Result result); - - void confirmPasswordReset( - @NonNull AuthPigeonFirebaseApp app, - @NonNull String code, - @NonNull String newPassword, - @NonNull VoidResult result); - - void createUserWithEmailAndPassword( - @NonNull AuthPigeonFirebaseApp app, - @NonNull String email, - @NonNull String password, - @NonNull Result result); - - void signInAnonymously( - @NonNull AuthPigeonFirebaseApp app, @NonNull Result result); - - void signInWithCredential( - @NonNull AuthPigeonFirebaseApp app, - @NonNull Map input, - @NonNull Result result); - - void signInWithCustomToken( - @NonNull AuthPigeonFirebaseApp app, - @NonNull String token, - @NonNull Result result); - - void signInWithEmailAndPassword( - @NonNull AuthPigeonFirebaseApp app, - @NonNull String email, - @NonNull String password, - @NonNull Result result); - - void signInWithEmailLink( - @NonNull AuthPigeonFirebaseApp app, - @NonNull String email, - @NonNull String emailLink, - @NonNull Result result); - - void signInWithProvider( - @NonNull AuthPigeonFirebaseApp app, - @NonNull InternalSignInProvider signInProvider, - @NonNull Result result); - - void signOut(@NonNull AuthPigeonFirebaseApp app, @NonNull VoidResult result); - - void fetchSignInMethodsForEmail( - @NonNull AuthPigeonFirebaseApp app, - @NonNull String email, - @NonNull Result> result); - - void sendPasswordResetEmail( - @NonNull AuthPigeonFirebaseApp app, - @NonNull String email, - @Nullable InternalActionCodeSettings actionCodeSettings, - @NonNull VoidResult result); - - void sendSignInLinkToEmail( - @NonNull AuthPigeonFirebaseApp app, - @NonNull String email, - @NonNull InternalActionCodeSettings actionCodeSettings, - @NonNull VoidResult result); - - void setLanguageCode( - @NonNull AuthPigeonFirebaseApp app, - @Nullable String languageCode, - @NonNull Result result); - - void setSettings( - @NonNull AuthPigeonFirebaseApp app, - @NonNull InternalFirebaseAuthSettings settings, - @NonNull VoidResult result); - - void verifyPasswordResetCode( - @NonNull AuthPigeonFirebaseApp app, @NonNull String code, @NonNull Result result); - - void verifyPhoneNumber( - @NonNull AuthPigeonFirebaseApp app, - @NonNull InternalVerifyPhoneNumberRequest request, - @NonNull Result result); - - void revokeTokenWithAuthorizationCode( - @NonNull AuthPigeonFirebaseApp app, - @NonNull String authorizationCode, - @NonNull VoidResult result); - - void revokeAccessToken( - @NonNull AuthPigeonFirebaseApp app, - @NonNull String accessToken, - @NonNull VoidResult result); - - void initializeRecaptchaConfig(@NonNull AuthPigeonFirebaseApp app, @NonNull VoidResult result); - - /** The codec used by FirebaseAuthHostApi. */ - static @NonNull MessageCodec getCodec() { - return PigeonCodec.INSTANCE; - } - - /** - * Sets up an instance of `FirebaseAuthHostApi` to handle messages through the - * `binaryMessenger`. - */ - static void setUp(@NonNull BinaryMessenger binaryMessenger, @Nullable FirebaseAuthHostApi api) { - setUp(binaryMessenger, "", api); - } - - static void setUp( - @NonNull BinaryMessenger binaryMessenger, - @NonNull String messageChannelSuffix, - @Nullable FirebaseAuthHostApi api) { - messageChannelSuffix = messageChannelSuffix.isEmpty() ? "" : "." + messageChannelSuffix; - { - BasicMessageChannel channel = - new BasicMessageChannel<>( - binaryMessenger, - "dev.flutter.pigeon.firebase_auth_platform_interface.FirebaseAuthHostApi.registerIdTokenListener" - + messageChannelSuffix, - getCodec()); - if (api != null) { - channel.setMessageHandler( - (message, reply) -> { - ArrayList wrapped = new ArrayList<>(); - ArrayList args = (ArrayList) message; - AuthPigeonFirebaseApp appArg = (AuthPigeonFirebaseApp) args.get(0); - Result resultCallback = - new Result() { - public void success(String result) { - wrapped.add(0, result); - reply.reply(wrapped); - } - - public void error(Throwable error) { - ArrayList wrappedError = wrapError(error); - reply.reply(wrappedError); - } - }; - - api.registerIdTokenListener(appArg, resultCallback); - }); - } else { - channel.setMessageHandler(null); - } - } - { - BasicMessageChannel channel = - new BasicMessageChannel<>( - binaryMessenger, - "dev.flutter.pigeon.firebase_auth_platform_interface.FirebaseAuthHostApi.registerAuthStateListener" - + messageChannelSuffix, - getCodec()); - if (api != null) { - channel.setMessageHandler( - (message, reply) -> { - ArrayList wrapped = new ArrayList<>(); - ArrayList args = (ArrayList) message; - AuthPigeonFirebaseApp appArg = (AuthPigeonFirebaseApp) args.get(0); - Result resultCallback = - new Result() { - public void success(String result) { - wrapped.add(0, result); - reply.reply(wrapped); - } - - public void error(Throwable error) { - ArrayList wrappedError = wrapError(error); - reply.reply(wrappedError); - } - }; - - api.registerAuthStateListener(appArg, resultCallback); - }); - } else { - channel.setMessageHandler(null); - } - } - { - BasicMessageChannel channel = - new BasicMessageChannel<>( - binaryMessenger, - "dev.flutter.pigeon.firebase_auth_platform_interface.FirebaseAuthHostApi.useEmulator" - + messageChannelSuffix, - getCodec()); - if (api != null) { - channel.setMessageHandler( - (message, reply) -> { - ArrayList wrapped = new ArrayList<>(); - ArrayList args = (ArrayList) message; - AuthPigeonFirebaseApp appArg = (AuthPigeonFirebaseApp) args.get(0); - String hostArg = (String) args.get(1); - Long portArg = (Long) args.get(2); - VoidResult resultCallback = - new VoidResult() { - public void success() { - wrapped.add(0, null); - reply.reply(wrapped); - } - - public void error(Throwable error) { - ArrayList wrappedError = wrapError(error); - reply.reply(wrappedError); - } - }; - - api.useEmulator(appArg, hostArg, portArg, resultCallback); - }); - } else { - channel.setMessageHandler(null); - } - } - { - BasicMessageChannel channel = - new BasicMessageChannel<>( - binaryMessenger, - "dev.flutter.pigeon.firebase_auth_platform_interface.FirebaseAuthHostApi.applyActionCode" - + messageChannelSuffix, - getCodec()); - if (api != null) { - channel.setMessageHandler( - (message, reply) -> { - ArrayList wrapped = new ArrayList<>(); - ArrayList args = (ArrayList) message; - AuthPigeonFirebaseApp appArg = (AuthPigeonFirebaseApp) args.get(0); - String codeArg = (String) args.get(1); - VoidResult resultCallback = - new VoidResult() { - public void success() { - wrapped.add(0, null); - reply.reply(wrapped); - } - - public void error(Throwable error) { - ArrayList wrappedError = wrapError(error); - reply.reply(wrappedError); - } - }; - - api.applyActionCode(appArg, codeArg, resultCallback); - }); - } else { - channel.setMessageHandler(null); - } - } - { - BasicMessageChannel channel = - new BasicMessageChannel<>( - binaryMessenger, - "dev.flutter.pigeon.firebase_auth_platform_interface.FirebaseAuthHostApi.checkActionCode" - + messageChannelSuffix, - getCodec()); - if (api != null) { - channel.setMessageHandler( - (message, reply) -> { - ArrayList wrapped = new ArrayList<>(); - ArrayList args = (ArrayList) message; - AuthPigeonFirebaseApp appArg = (AuthPigeonFirebaseApp) args.get(0); - String codeArg = (String) args.get(1); - Result resultCallback = - new Result() { - public void success(InternalActionCodeInfo result) { - wrapped.add(0, result); - reply.reply(wrapped); - } - - public void error(Throwable error) { - ArrayList wrappedError = wrapError(error); - reply.reply(wrappedError); - } - }; - - api.checkActionCode(appArg, codeArg, resultCallback); - }); - } else { - channel.setMessageHandler(null); - } - } - { - BasicMessageChannel channel = - new BasicMessageChannel<>( - binaryMessenger, - "dev.flutter.pigeon.firebase_auth_platform_interface.FirebaseAuthHostApi.confirmPasswordReset" - + messageChannelSuffix, - getCodec()); - if (api != null) { - channel.setMessageHandler( - (message, reply) -> { - ArrayList wrapped = new ArrayList<>(); - ArrayList args = (ArrayList) message; - AuthPigeonFirebaseApp appArg = (AuthPigeonFirebaseApp) args.get(0); - String codeArg = (String) args.get(1); - String newPasswordArg = (String) args.get(2); - VoidResult resultCallback = - new VoidResult() { - public void success() { - wrapped.add(0, null); - reply.reply(wrapped); - } - - public void error(Throwable error) { - ArrayList wrappedError = wrapError(error); - reply.reply(wrappedError); - } - }; - - api.confirmPasswordReset(appArg, codeArg, newPasswordArg, resultCallback); - }); - } else { - channel.setMessageHandler(null); - } - } - { - BasicMessageChannel channel = - new BasicMessageChannel<>( - binaryMessenger, - "dev.flutter.pigeon.firebase_auth_platform_interface.FirebaseAuthHostApi.createUserWithEmailAndPassword" - + messageChannelSuffix, - getCodec()); - if (api != null) { - channel.setMessageHandler( - (message, reply) -> { - ArrayList wrapped = new ArrayList<>(); - ArrayList args = (ArrayList) message; - AuthPigeonFirebaseApp appArg = (AuthPigeonFirebaseApp) args.get(0); - String emailArg = (String) args.get(1); - String passwordArg = (String) args.get(2); - Result resultCallback = - new Result() { - public void success(InternalUserCredential result) { - wrapped.add(0, result); - reply.reply(wrapped); - } - - public void error(Throwable error) { - ArrayList wrappedError = wrapError(error); - reply.reply(wrappedError); - } - }; - - api.createUserWithEmailAndPassword(appArg, emailArg, passwordArg, resultCallback); - }); - } else { - channel.setMessageHandler(null); - } - } - { - BasicMessageChannel channel = - new BasicMessageChannel<>( - binaryMessenger, - "dev.flutter.pigeon.firebase_auth_platform_interface.FirebaseAuthHostApi.signInAnonymously" - + messageChannelSuffix, - getCodec()); - if (api != null) { - channel.setMessageHandler( - (message, reply) -> { - ArrayList wrapped = new ArrayList<>(); - ArrayList args = (ArrayList) message; - AuthPigeonFirebaseApp appArg = (AuthPigeonFirebaseApp) args.get(0); - Result resultCallback = - new Result() { - public void success(InternalUserCredential result) { - wrapped.add(0, result); - reply.reply(wrapped); - } - - public void error(Throwable error) { - ArrayList wrappedError = wrapError(error); - reply.reply(wrappedError); - } - }; - - api.signInAnonymously(appArg, resultCallback); - }); - } else { - channel.setMessageHandler(null); - } - } - { - BasicMessageChannel channel = - new BasicMessageChannel<>( - binaryMessenger, - "dev.flutter.pigeon.firebase_auth_platform_interface.FirebaseAuthHostApi.signInWithCredential" - + messageChannelSuffix, - getCodec()); - if (api != null) { - channel.setMessageHandler( - (message, reply) -> { - ArrayList wrapped = new ArrayList<>(); - ArrayList args = (ArrayList) message; - AuthPigeonFirebaseApp appArg = (AuthPigeonFirebaseApp) args.get(0); - Map inputArg = (Map) args.get(1); - Result resultCallback = - new Result() { - public void success(InternalUserCredential result) { - wrapped.add(0, result); - reply.reply(wrapped); - } - - public void error(Throwable error) { - ArrayList wrappedError = wrapError(error); - reply.reply(wrappedError); - } - }; - - api.signInWithCredential(appArg, inputArg, resultCallback); - }); - } else { - channel.setMessageHandler(null); - } - } - { - BasicMessageChannel channel = - new BasicMessageChannel<>( - binaryMessenger, - "dev.flutter.pigeon.firebase_auth_platform_interface.FirebaseAuthHostApi.signInWithCustomToken" - + messageChannelSuffix, - getCodec()); - if (api != null) { - channel.setMessageHandler( - (message, reply) -> { - ArrayList wrapped = new ArrayList<>(); - ArrayList args = (ArrayList) message; - AuthPigeonFirebaseApp appArg = (AuthPigeonFirebaseApp) args.get(0); - String tokenArg = (String) args.get(1); - Result resultCallback = - new Result() { - public void success(InternalUserCredential result) { - wrapped.add(0, result); - reply.reply(wrapped); - } - - public void error(Throwable error) { - ArrayList wrappedError = wrapError(error); - reply.reply(wrappedError); - } - }; - - api.signInWithCustomToken(appArg, tokenArg, resultCallback); - }); - } else { - channel.setMessageHandler(null); - } - } - { - BasicMessageChannel channel = - new BasicMessageChannel<>( - binaryMessenger, - "dev.flutter.pigeon.firebase_auth_platform_interface.FirebaseAuthHostApi.signInWithEmailAndPassword" - + messageChannelSuffix, - getCodec()); - if (api != null) { - channel.setMessageHandler( - (message, reply) -> { - ArrayList wrapped = new ArrayList<>(); - ArrayList args = (ArrayList) message; - AuthPigeonFirebaseApp appArg = (AuthPigeonFirebaseApp) args.get(0); - String emailArg = (String) args.get(1); - String passwordArg = (String) args.get(2); - Result resultCallback = - new Result() { - public void success(InternalUserCredential result) { - wrapped.add(0, result); - reply.reply(wrapped); - } - - public void error(Throwable error) { - ArrayList wrappedError = wrapError(error); - reply.reply(wrappedError); - } - }; - - api.signInWithEmailAndPassword(appArg, emailArg, passwordArg, resultCallback); - }); - } else { - channel.setMessageHandler(null); - } - } - { - BasicMessageChannel channel = - new BasicMessageChannel<>( - binaryMessenger, - "dev.flutter.pigeon.firebase_auth_platform_interface.FirebaseAuthHostApi.signInWithEmailLink" - + messageChannelSuffix, - getCodec()); - if (api != null) { - channel.setMessageHandler( - (message, reply) -> { - ArrayList wrapped = new ArrayList<>(); - ArrayList args = (ArrayList) message; - AuthPigeonFirebaseApp appArg = (AuthPigeonFirebaseApp) args.get(0); - String emailArg = (String) args.get(1); - String emailLinkArg = (String) args.get(2); - Result resultCallback = - new Result() { - public void success(InternalUserCredential result) { - wrapped.add(0, result); - reply.reply(wrapped); - } - - public void error(Throwable error) { - ArrayList wrappedError = wrapError(error); - reply.reply(wrappedError); - } - }; - - api.signInWithEmailLink(appArg, emailArg, emailLinkArg, resultCallback); - }); - } else { - channel.setMessageHandler(null); - } - } - { - BasicMessageChannel channel = - new BasicMessageChannel<>( - binaryMessenger, - "dev.flutter.pigeon.firebase_auth_platform_interface.FirebaseAuthHostApi.signInWithProvider" - + messageChannelSuffix, - getCodec()); - if (api != null) { - channel.setMessageHandler( - (message, reply) -> { - ArrayList wrapped = new ArrayList<>(); - ArrayList args = (ArrayList) message; - AuthPigeonFirebaseApp appArg = (AuthPigeonFirebaseApp) args.get(0); - InternalSignInProvider signInProviderArg = (InternalSignInProvider) args.get(1); - Result resultCallback = - new Result() { - public void success(InternalUserCredential result) { - wrapped.add(0, result); - reply.reply(wrapped); - } - - public void error(Throwable error) { - ArrayList wrappedError = wrapError(error); - reply.reply(wrappedError); - } - }; - - api.signInWithProvider(appArg, signInProviderArg, resultCallback); - }); - } else { - channel.setMessageHandler(null); - } - } - { - BasicMessageChannel channel = - new BasicMessageChannel<>( - binaryMessenger, - "dev.flutter.pigeon.firebase_auth_platform_interface.FirebaseAuthHostApi.signOut" - + messageChannelSuffix, - getCodec()); - if (api != null) { - channel.setMessageHandler( - (message, reply) -> { - ArrayList wrapped = new ArrayList<>(); - ArrayList args = (ArrayList) message; - AuthPigeonFirebaseApp appArg = (AuthPigeonFirebaseApp) args.get(0); - VoidResult resultCallback = - new VoidResult() { - public void success() { - wrapped.add(0, null); - reply.reply(wrapped); - } - - public void error(Throwable error) { - ArrayList wrappedError = wrapError(error); - reply.reply(wrappedError); - } - }; - - api.signOut(appArg, resultCallback); - }); - } else { - channel.setMessageHandler(null); - } - } - { - BasicMessageChannel channel = - new BasicMessageChannel<>( - binaryMessenger, - "dev.flutter.pigeon.firebase_auth_platform_interface.FirebaseAuthHostApi.fetchSignInMethodsForEmail" - + messageChannelSuffix, - getCodec()); - if (api != null) { - channel.setMessageHandler( - (message, reply) -> { - ArrayList wrapped = new ArrayList<>(); - ArrayList args = (ArrayList) message; - AuthPigeonFirebaseApp appArg = (AuthPigeonFirebaseApp) args.get(0); - String emailArg = (String) args.get(1); - Result> resultCallback = - new Result>() { - public void success(List result) { - wrapped.add(0, result); - reply.reply(wrapped); - } - - public void error(Throwable error) { - ArrayList wrappedError = wrapError(error); - reply.reply(wrappedError); - } - }; - - api.fetchSignInMethodsForEmail(appArg, emailArg, resultCallback); - }); - } else { - channel.setMessageHandler(null); - } - } - { - BasicMessageChannel channel = - new BasicMessageChannel<>( - binaryMessenger, - "dev.flutter.pigeon.firebase_auth_platform_interface.FirebaseAuthHostApi.sendPasswordResetEmail" - + messageChannelSuffix, - getCodec()); - if (api != null) { - channel.setMessageHandler( - (message, reply) -> { - ArrayList wrapped = new ArrayList<>(); - ArrayList args = (ArrayList) message; - AuthPigeonFirebaseApp appArg = (AuthPigeonFirebaseApp) args.get(0); - String emailArg = (String) args.get(1); - InternalActionCodeSettings actionCodeSettingsArg = - (InternalActionCodeSettings) args.get(2); - VoidResult resultCallback = - new VoidResult() { - public void success() { - wrapped.add(0, null); - reply.reply(wrapped); - } - - public void error(Throwable error) { - ArrayList wrappedError = wrapError(error); - reply.reply(wrappedError); - } - }; - - api.sendPasswordResetEmail(appArg, emailArg, actionCodeSettingsArg, resultCallback); - }); - } else { - channel.setMessageHandler(null); - } - } - { - BasicMessageChannel channel = - new BasicMessageChannel<>( - binaryMessenger, - "dev.flutter.pigeon.firebase_auth_platform_interface.FirebaseAuthHostApi.sendSignInLinkToEmail" - + messageChannelSuffix, - getCodec()); - if (api != null) { - channel.setMessageHandler( - (message, reply) -> { - ArrayList wrapped = new ArrayList<>(); - ArrayList args = (ArrayList) message; - AuthPigeonFirebaseApp appArg = (AuthPigeonFirebaseApp) args.get(0); - String emailArg = (String) args.get(1); - InternalActionCodeSettings actionCodeSettingsArg = - (InternalActionCodeSettings) args.get(2); - VoidResult resultCallback = - new VoidResult() { - public void success() { - wrapped.add(0, null); - reply.reply(wrapped); - } - - public void error(Throwable error) { - ArrayList wrappedError = wrapError(error); - reply.reply(wrappedError); - } - }; - - api.sendSignInLinkToEmail(appArg, emailArg, actionCodeSettingsArg, resultCallback); - }); - } else { - channel.setMessageHandler(null); - } - } - { - BasicMessageChannel channel = - new BasicMessageChannel<>( - binaryMessenger, - "dev.flutter.pigeon.firebase_auth_platform_interface.FirebaseAuthHostApi.setLanguageCode" - + messageChannelSuffix, - getCodec()); - if (api != null) { - channel.setMessageHandler( - (message, reply) -> { - ArrayList wrapped = new ArrayList<>(); - ArrayList args = (ArrayList) message; - AuthPigeonFirebaseApp appArg = (AuthPigeonFirebaseApp) args.get(0); - String languageCodeArg = (String) args.get(1); - Result resultCallback = - new Result() { - public void success(String result) { - wrapped.add(0, result); - reply.reply(wrapped); - } - - public void error(Throwable error) { - ArrayList wrappedError = wrapError(error); - reply.reply(wrappedError); - } - }; - - api.setLanguageCode(appArg, languageCodeArg, resultCallback); - }); - } else { - channel.setMessageHandler(null); - } - } - { - BasicMessageChannel channel = - new BasicMessageChannel<>( - binaryMessenger, - "dev.flutter.pigeon.firebase_auth_platform_interface.FirebaseAuthHostApi.setSettings" - + messageChannelSuffix, - getCodec()); - if (api != null) { - channel.setMessageHandler( - (message, reply) -> { - ArrayList wrapped = new ArrayList<>(); - ArrayList args = (ArrayList) message; - AuthPigeonFirebaseApp appArg = (AuthPigeonFirebaseApp) args.get(0); - InternalFirebaseAuthSettings settingsArg = - (InternalFirebaseAuthSettings) args.get(1); - VoidResult resultCallback = - new VoidResult() { - public void success() { - wrapped.add(0, null); - reply.reply(wrapped); - } - - public void error(Throwable error) { - ArrayList wrappedError = wrapError(error); - reply.reply(wrappedError); - } - }; - - api.setSettings(appArg, settingsArg, resultCallback); - }); - } else { - channel.setMessageHandler(null); - } - } - { - BasicMessageChannel channel = - new BasicMessageChannel<>( - binaryMessenger, - "dev.flutter.pigeon.firebase_auth_platform_interface.FirebaseAuthHostApi.verifyPasswordResetCode" - + messageChannelSuffix, - getCodec()); - if (api != null) { - channel.setMessageHandler( - (message, reply) -> { - ArrayList wrapped = new ArrayList<>(); - ArrayList args = (ArrayList) message; - AuthPigeonFirebaseApp appArg = (AuthPigeonFirebaseApp) args.get(0); - String codeArg = (String) args.get(1); - Result resultCallback = - new Result() { - public void success(String result) { - wrapped.add(0, result); - reply.reply(wrapped); - } - - public void error(Throwable error) { - ArrayList wrappedError = wrapError(error); - reply.reply(wrappedError); - } - }; - - api.verifyPasswordResetCode(appArg, codeArg, resultCallback); - }); - } else { - channel.setMessageHandler(null); - } - } - { - BasicMessageChannel channel = - new BasicMessageChannel<>( - binaryMessenger, - "dev.flutter.pigeon.firebase_auth_platform_interface.FirebaseAuthHostApi.verifyPhoneNumber" - + messageChannelSuffix, - getCodec()); - if (api != null) { - channel.setMessageHandler( - (message, reply) -> { - ArrayList wrapped = new ArrayList<>(); - ArrayList args = (ArrayList) message; - AuthPigeonFirebaseApp appArg = (AuthPigeonFirebaseApp) args.get(0); - InternalVerifyPhoneNumberRequest requestArg = - (InternalVerifyPhoneNumberRequest) args.get(1); - Result resultCallback = - new Result() { - public void success(String result) { - wrapped.add(0, result); - reply.reply(wrapped); - } - - public void error(Throwable error) { - ArrayList wrappedError = wrapError(error); - reply.reply(wrappedError); - } - }; - - api.verifyPhoneNumber(appArg, requestArg, resultCallback); - }); - } else { - channel.setMessageHandler(null); - } - } - { - BasicMessageChannel channel = - new BasicMessageChannel<>( - binaryMessenger, - "dev.flutter.pigeon.firebase_auth_platform_interface.FirebaseAuthHostApi.revokeTokenWithAuthorizationCode" - + messageChannelSuffix, - getCodec()); - if (api != null) { - channel.setMessageHandler( - (message, reply) -> { - ArrayList wrapped = new ArrayList<>(); - ArrayList args = (ArrayList) message; - AuthPigeonFirebaseApp appArg = (AuthPigeonFirebaseApp) args.get(0); - String authorizationCodeArg = (String) args.get(1); - VoidResult resultCallback = - new VoidResult() { - public void success() { - wrapped.add(0, null); - reply.reply(wrapped); - } - - public void error(Throwable error) { - ArrayList wrappedError = wrapError(error); - reply.reply(wrappedError); - } - }; - - api.revokeTokenWithAuthorizationCode(appArg, authorizationCodeArg, resultCallback); - }); - } else { - channel.setMessageHandler(null); - } - } - { - BasicMessageChannel channel = - new BasicMessageChannel<>( - binaryMessenger, - "dev.flutter.pigeon.firebase_auth_platform_interface.FirebaseAuthHostApi.revokeAccessToken" - + messageChannelSuffix, - getCodec()); - if (api != null) { - channel.setMessageHandler( - (message, reply) -> { - ArrayList wrapped = new ArrayList<>(); - ArrayList args = (ArrayList) message; - AuthPigeonFirebaseApp appArg = (AuthPigeonFirebaseApp) args.get(0); - String accessTokenArg = (String) args.get(1); - VoidResult resultCallback = - new VoidResult() { - public void success() { - wrapped.add(0, null); - reply.reply(wrapped); - } - - public void error(Throwable error) { - ArrayList wrappedError = wrapError(error); - reply.reply(wrappedError); - } - }; - - api.revokeAccessToken(appArg, accessTokenArg, resultCallback); - }); - } else { - channel.setMessageHandler(null); - } - } - { - BasicMessageChannel channel = - new BasicMessageChannel<>( - binaryMessenger, - "dev.flutter.pigeon.firebase_auth_platform_interface.FirebaseAuthHostApi.initializeRecaptchaConfig" - + messageChannelSuffix, - getCodec()); - if (api != null) { - channel.setMessageHandler( - (message, reply) -> { - ArrayList wrapped = new ArrayList<>(); - ArrayList args = (ArrayList) message; - AuthPigeonFirebaseApp appArg = (AuthPigeonFirebaseApp) args.get(0); - VoidResult resultCallback = - new VoidResult() { - public void success() { - wrapped.add(0, null); - reply.reply(wrapped); - } - - public void error(Throwable error) { - ArrayList wrappedError = wrapError(error); - reply.reply(wrappedError); - } - }; - - api.initializeRecaptchaConfig(appArg, resultCallback); - }); - } else { - channel.setMessageHandler(null); - } - } - } - } - - /** Generated interface from Pigeon that represents a handler of messages from Flutter. */ - public interface FirebaseAuthUserHostApi { - - void delete(@NonNull AuthPigeonFirebaseApp app, @NonNull VoidResult result); - - void getIdToken( - @NonNull AuthPigeonFirebaseApp app, - @NonNull Boolean forceRefresh, - @NonNull Result result); - - void linkWithCredential( - @NonNull AuthPigeonFirebaseApp app, - @NonNull Map input, - @NonNull Result result); - - void linkWithProvider( - @NonNull AuthPigeonFirebaseApp app, - @NonNull InternalSignInProvider signInProvider, - @NonNull Result result); - - void reauthenticateWithCredential( - @NonNull AuthPigeonFirebaseApp app, - @NonNull Map input, - @NonNull Result result); - - void reauthenticateWithProvider( - @NonNull AuthPigeonFirebaseApp app, - @NonNull InternalSignInProvider signInProvider, - @NonNull Result result); - - void reload(@NonNull AuthPigeonFirebaseApp app, @NonNull Result result); - - void sendEmailVerification( - @NonNull AuthPigeonFirebaseApp app, - @Nullable InternalActionCodeSettings actionCodeSettings, - @NonNull VoidResult result); - - void unlink( - @NonNull AuthPigeonFirebaseApp app, - @NonNull String providerId, - @NonNull Result result); - - void updateEmail( - @NonNull AuthPigeonFirebaseApp app, - @NonNull String newEmail, - @NonNull Result result); - - void updatePassword( - @NonNull AuthPigeonFirebaseApp app, - @NonNull String newPassword, - @NonNull Result result); - - void updatePhoneNumber( - @NonNull AuthPigeonFirebaseApp app, - @NonNull Map input, - @NonNull Result result); - - void updateProfile( - @NonNull AuthPigeonFirebaseApp app, - @NonNull InternalUserProfile profile, - @NonNull Result result); - - void verifyBeforeUpdateEmail( - @NonNull AuthPigeonFirebaseApp app, - @NonNull String newEmail, - @Nullable InternalActionCodeSettings actionCodeSettings, - @NonNull VoidResult result); - - /** The codec used by FirebaseAuthUserHostApi. */ - static @NonNull MessageCodec getCodec() { - return PigeonCodec.INSTANCE; - } - - /** - * Sets up an instance of `FirebaseAuthUserHostApi` to handle messages through the - * `binaryMessenger`. - */ - static void setUp( - @NonNull BinaryMessenger binaryMessenger, @Nullable FirebaseAuthUserHostApi api) { - setUp(binaryMessenger, "", api); - } - - static void setUp( - @NonNull BinaryMessenger binaryMessenger, - @NonNull String messageChannelSuffix, - @Nullable FirebaseAuthUserHostApi api) { - messageChannelSuffix = messageChannelSuffix.isEmpty() ? "" : "." + messageChannelSuffix; - { - BasicMessageChannel channel = - new BasicMessageChannel<>( - binaryMessenger, - "dev.flutter.pigeon.firebase_auth_platform_interface.FirebaseAuthUserHostApi.delete" - + messageChannelSuffix, - getCodec()); - if (api != null) { - channel.setMessageHandler( - (message, reply) -> { - ArrayList wrapped = new ArrayList<>(); - ArrayList args = (ArrayList) message; - AuthPigeonFirebaseApp appArg = (AuthPigeonFirebaseApp) args.get(0); - VoidResult resultCallback = - new VoidResult() { - public void success() { - wrapped.add(0, null); - reply.reply(wrapped); - } - - public void error(Throwable error) { - ArrayList wrappedError = wrapError(error); - reply.reply(wrappedError); - } - }; - - api.delete(appArg, resultCallback); - }); - } else { - channel.setMessageHandler(null); - } - } - { - BasicMessageChannel channel = - new BasicMessageChannel<>( - binaryMessenger, - "dev.flutter.pigeon.firebase_auth_platform_interface.FirebaseAuthUserHostApi.getIdToken" - + messageChannelSuffix, - getCodec()); - if (api != null) { - channel.setMessageHandler( - (message, reply) -> { - ArrayList wrapped = new ArrayList<>(); - ArrayList args = (ArrayList) message; - AuthPigeonFirebaseApp appArg = (AuthPigeonFirebaseApp) args.get(0); - Boolean forceRefreshArg = (Boolean) args.get(1); - Result resultCallback = - new Result() { - public void success(InternalIdTokenResult result) { - wrapped.add(0, result); - reply.reply(wrapped); - } - - public void error(Throwable error) { - ArrayList wrappedError = wrapError(error); - reply.reply(wrappedError); - } - }; - - api.getIdToken(appArg, forceRefreshArg, resultCallback); - }); - } else { - channel.setMessageHandler(null); - } - } - { - BasicMessageChannel channel = - new BasicMessageChannel<>( - binaryMessenger, - "dev.flutter.pigeon.firebase_auth_platform_interface.FirebaseAuthUserHostApi.linkWithCredential" - + messageChannelSuffix, - getCodec()); - if (api != null) { - channel.setMessageHandler( - (message, reply) -> { - ArrayList wrapped = new ArrayList<>(); - ArrayList args = (ArrayList) message; - AuthPigeonFirebaseApp appArg = (AuthPigeonFirebaseApp) args.get(0); - Map inputArg = (Map) args.get(1); - Result resultCallback = - new Result() { - public void success(InternalUserCredential result) { - wrapped.add(0, result); - reply.reply(wrapped); - } - - public void error(Throwable error) { - ArrayList wrappedError = wrapError(error); - reply.reply(wrappedError); - } - }; - - api.linkWithCredential(appArg, inputArg, resultCallback); - }); - } else { - channel.setMessageHandler(null); - } - } - { - BasicMessageChannel channel = - new BasicMessageChannel<>( - binaryMessenger, - "dev.flutter.pigeon.firebase_auth_platform_interface.FirebaseAuthUserHostApi.linkWithProvider" - + messageChannelSuffix, - getCodec()); - if (api != null) { - channel.setMessageHandler( - (message, reply) -> { - ArrayList wrapped = new ArrayList<>(); - ArrayList args = (ArrayList) message; - AuthPigeonFirebaseApp appArg = (AuthPigeonFirebaseApp) args.get(0); - InternalSignInProvider signInProviderArg = (InternalSignInProvider) args.get(1); - Result resultCallback = - new Result() { - public void success(InternalUserCredential result) { - wrapped.add(0, result); - reply.reply(wrapped); - } - - public void error(Throwable error) { - ArrayList wrappedError = wrapError(error); - reply.reply(wrappedError); - } - }; - - api.linkWithProvider(appArg, signInProviderArg, resultCallback); - }); - } else { - channel.setMessageHandler(null); - } - } - { - BasicMessageChannel channel = - new BasicMessageChannel<>( - binaryMessenger, - "dev.flutter.pigeon.firebase_auth_platform_interface.FirebaseAuthUserHostApi.reauthenticateWithCredential" - + messageChannelSuffix, - getCodec()); - if (api != null) { - channel.setMessageHandler( - (message, reply) -> { - ArrayList wrapped = new ArrayList<>(); - ArrayList args = (ArrayList) message; - AuthPigeonFirebaseApp appArg = (AuthPigeonFirebaseApp) args.get(0); - Map inputArg = (Map) args.get(1); - Result resultCallback = - new Result() { - public void success(InternalUserCredential result) { - wrapped.add(0, result); - reply.reply(wrapped); - } - - public void error(Throwable error) { - ArrayList wrappedError = wrapError(error); - reply.reply(wrappedError); - } - }; - - api.reauthenticateWithCredential(appArg, inputArg, resultCallback); - }); - } else { - channel.setMessageHandler(null); - } - } - { - BasicMessageChannel channel = - new BasicMessageChannel<>( - binaryMessenger, - "dev.flutter.pigeon.firebase_auth_platform_interface.FirebaseAuthUserHostApi.reauthenticateWithProvider" - + messageChannelSuffix, - getCodec()); - if (api != null) { - channel.setMessageHandler( - (message, reply) -> { - ArrayList wrapped = new ArrayList<>(); - ArrayList args = (ArrayList) message; - AuthPigeonFirebaseApp appArg = (AuthPigeonFirebaseApp) args.get(0); - InternalSignInProvider signInProviderArg = (InternalSignInProvider) args.get(1); - Result resultCallback = - new Result() { - public void success(InternalUserCredential result) { - wrapped.add(0, result); - reply.reply(wrapped); - } - - public void error(Throwable error) { - ArrayList wrappedError = wrapError(error); - reply.reply(wrappedError); - } - }; - - api.reauthenticateWithProvider(appArg, signInProviderArg, resultCallback); - }); - } else { - channel.setMessageHandler(null); - } - } - { - BasicMessageChannel channel = - new BasicMessageChannel<>( - binaryMessenger, - "dev.flutter.pigeon.firebase_auth_platform_interface.FirebaseAuthUserHostApi.reload" - + messageChannelSuffix, - getCodec()); - if (api != null) { - channel.setMessageHandler( - (message, reply) -> { - ArrayList wrapped = new ArrayList<>(); - ArrayList args = (ArrayList) message; - AuthPigeonFirebaseApp appArg = (AuthPigeonFirebaseApp) args.get(0); - Result resultCallback = - new Result() { - public void success(InternalUserDetails result) { - wrapped.add(0, result); - reply.reply(wrapped); - } - - public void error(Throwable error) { - ArrayList wrappedError = wrapError(error); - reply.reply(wrappedError); - } - }; - - api.reload(appArg, resultCallback); - }); - } else { - channel.setMessageHandler(null); - } - } - { - BasicMessageChannel channel = - new BasicMessageChannel<>( - binaryMessenger, - "dev.flutter.pigeon.firebase_auth_platform_interface.FirebaseAuthUserHostApi.sendEmailVerification" - + messageChannelSuffix, - getCodec()); - if (api != null) { - channel.setMessageHandler( - (message, reply) -> { - ArrayList wrapped = new ArrayList<>(); - ArrayList args = (ArrayList) message; - AuthPigeonFirebaseApp appArg = (AuthPigeonFirebaseApp) args.get(0); - InternalActionCodeSettings actionCodeSettingsArg = - (InternalActionCodeSettings) args.get(1); - VoidResult resultCallback = - new VoidResult() { - public void success() { - wrapped.add(0, null); - reply.reply(wrapped); - } - - public void error(Throwable error) { - ArrayList wrappedError = wrapError(error); - reply.reply(wrappedError); - } - }; - - api.sendEmailVerification(appArg, actionCodeSettingsArg, resultCallback); - }); - } else { - channel.setMessageHandler(null); - } - } - { - BasicMessageChannel channel = - new BasicMessageChannel<>( - binaryMessenger, - "dev.flutter.pigeon.firebase_auth_platform_interface.FirebaseAuthUserHostApi.unlink" - + messageChannelSuffix, - getCodec()); - if (api != null) { - channel.setMessageHandler( - (message, reply) -> { - ArrayList wrapped = new ArrayList<>(); - ArrayList args = (ArrayList) message; - AuthPigeonFirebaseApp appArg = (AuthPigeonFirebaseApp) args.get(0); - String providerIdArg = (String) args.get(1); - Result resultCallback = - new Result() { - public void success(InternalUserCredential result) { - wrapped.add(0, result); - reply.reply(wrapped); - } - - public void error(Throwable error) { - ArrayList wrappedError = wrapError(error); - reply.reply(wrappedError); - } - }; - - api.unlink(appArg, providerIdArg, resultCallback); - }); - } else { - channel.setMessageHandler(null); - } - } - { - BasicMessageChannel channel = - new BasicMessageChannel<>( - binaryMessenger, - "dev.flutter.pigeon.firebase_auth_platform_interface.FirebaseAuthUserHostApi.updateEmail" - + messageChannelSuffix, - getCodec()); - if (api != null) { - channel.setMessageHandler( - (message, reply) -> { - ArrayList wrapped = new ArrayList<>(); - ArrayList args = (ArrayList) message; - AuthPigeonFirebaseApp appArg = (AuthPigeonFirebaseApp) args.get(0); - String newEmailArg = (String) args.get(1); - Result resultCallback = - new Result() { - public void success(InternalUserDetails result) { - wrapped.add(0, result); - reply.reply(wrapped); - } - - public void error(Throwable error) { - ArrayList wrappedError = wrapError(error); - reply.reply(wrappedError); - } - }; - - api.updateEmail(appArg, newEmailArg, resultCallback); - }); - } else { - channel.setMessageHandler(null); - } - } - { - BasicMessageChannel channel = - new BasicMessageChannel<>( - binaryMessenger, - "dev.flutter.pigeon.firebase_auth_platform_interface.FirebaseAuthUserHostApi.updatePassword" - + messageChannelSuffix, - getCodec()); - if (api != null) { - channel.setMessageHandler( - (message, reply) -> { - ArrayList wrapped = new ArrayList<>(); - ArrayList args = (ArrayList) message; - AuthPigeonFirebaseApp appArg = (AuthPigeonFirebaseApp) args.get(0); - String newPasswordArg = (String) args.get(1); - Result resultCallback = - new Result() { - public void success(InternalUserDetails result) { - wrapped.add(0, result); - reply.reply(wrapped); - } - - public void error(Throwable error) { - ArrayList wrappedError = wrapError(error); - reply.reply(wrappedError); - } - }; - - api.updatePassword(appArg, newPasswordArg, resultCallback); - }); - } else { - channel.setMessageHandler(null); - } - } - { - BasicMessageChannel channel = - new BasicMessageChannel<>( - binaryMessenger, - "dev.flutter.pigeon.firebase_auth_platform_interface.FirebaseAuthUserHostApi.updatePhoneNumber" - + messageChannelSuffix, - getCodec()); - if (api != null) { - channel.setMessageHandler( - (message, reply) -> { - ArrayList wrapped = new ArrayList<>(); - ArrayList args = (ArrayList) message; - AuthPigeonFirebaseApp appArg = (AuthPigeonFirebaseApp) args.get(0); - Map inputArg = (Map) args.get(1); - Result resultCallback = - new Result() { - public void success(InternalUserDetails result) { - wrapped.add(0, result); - reply.reply(wrapped); - } - - public void error(Throwable error) { - ArrayList wrappedError = wrapError(error); - reply.reply(wrappedError); - } - }; - - api.updatePhoneNumber(appArg, inputArg, resultCallback); - }); - } else { - channel.setMessageHandler(null); - } - } - { - BasicMessageChannel channel = - new BasicMessageChannel<>( - binaryMessenger, - "dev.flutter.pigeon.firebase_auth_platform_interface.FirebaseAuthUserHostApi.updateProfile" - + messageChannelSuffix, - getCodec()); - if (api != null) { - channel.setMessageHandler( - (message, reply) -> { - ArrayList wrapped = new ArrayList<>(); - ArrayList args = (ArrayList) message; - AuthPigeonFirebaseApp appArg = (AuthPigeonFirebaseApp) args.get(0); - InternalUserProfile profileArg = (InternalUserProfile) args.get(1); - Result resultCallback = - new Result() { - public void success(InternalUserDetails result) { - wrapped.add(0, result); - reply.reply(wrapped); - } - - public void error(Throwable error) { - ArrayList wrappedError = wrapError(error); - reply.reply(wrappedError); - } - }; - - api.updateProfile(appArg, profileArg, resultCallback); - }); - } else { - channel.setMessageHandler(null); - } - } - { - BasicMessageChannel channel = - new BasicMessageChannel<>( - binaryMessenger, - "dev.flutter.pigeon.firebase_auth_platform_interface.FirebaseAuthUserHostApi.verifyBeforeUpdateEmail" - + messageChannelSuffix, - getCodec()); - if (api != null) { - channel.setMessageHandler( - (message, reply) -> { - ArrayList wrapped = new ArrayList<>(); - ArrayList args = (ArrayList) message; - AuthPigeonFirebaseApp appArg = (AuthPigeonFirebaseApp) args.get(0); - String newEmailArg = (String) args.get(1); - InternalActionCodeSettings actionCodeSettingsArg = - (InternalActionCodeSettings) args.get(2); - VoidResult resultCallback = - new VoidResult() { - public void success() { - wrapped.add(0, null); - reply.reply(wrapped); - } - - public void error(Throwable error) { - ArrayList wrappedError = wrapError(error); - reply.reply(wrappedError); - } - }; - - api.verifyBeforeUpdateEmail( - appArg, newEmailArg, actionCodeSettingsArg, resultCallback); - }); - } else { - channel.setMessageHandler(null); - } - } - } - } - - /** Generated interface from Pigeon that represents a handler of messages from Flutter. */ - public interface MultiFactorUserHostApi { - - void enrollPhone( - @NonNull AuthPigeonFirebaseApp app, - @NonNull InternalPhoneMultiFactorAssertion assertion, - @Nullable String displayName, - @NonNull VoidResult result); - - void enrollTotp( - @NonNull AuthPigeonFirebaseApp app, - @NonNull String assertionId, - @Nullable String displayName, - @NonNull VoidResult result); - - void getSession( - @NonNull AuthPigeonFirebaseApp app, @NonNull Result result); - - void unenroll( - @NonNull AuthPigeonFirebaseApp app, @NonNull String factorUid, @NonNull VoidResult result); - - void getEnrolledFactors( - @NonNull AuthPigeonFirebaseApp app, @NonNull Result> result); - - /** The codec used by MultiFactorUserHostApi. */ - static @NonNull MessageCodec getCodec() { - return PigeonCodec.INSTANCE; - } - - /** - * Sets up an instance of `MultiFactorUserHostApi` to handle messages through the - * `binaryMessenger`. - */ - static void setUp( - @NonNull BinaryMessenger binaryMessenger, @Nullable MultiFactorUserHostApi api) { - setUp(binaryMessenger, "", api); - } - - static void setUp( - @NonNull BinaryMessenger binaryMessenger, - @NonNull String messageChannelSuffix, - @Nullable MultiFactorUserHostApi api) { - messageChannelSuffix = messageChannelSuffix.isEmpty() ? "" : "." + messageChannelSuffix; - { - BasicMessageChannel channel = - new BasicMessageChannel<>( - binaryMessenger, - "dev.flutter.pigeon.firebase_auth_platform_interface.MultiFactorUserHostApi.enrollPhone" - + messageChannelSuffix, - getCodec()); - if (api != null) { - channel.setMessageHandler( - (message, reply) -> { - ArrayList wrapped = new ArrayList<>(); - ArrayList args = (ArrayList) message; - AuthPigeonFirebaseApp appArg = (AuthPigeonFirebaseApp) args.get(0); - InternalPhoneMultiFactorAssertion assertionArg = - (InternalPhoneMultiFactorAssertion) args.get(1); - String displayNameArg = (String) args.get(2); - VoidResult resultCallback = - new VoidResult() { - public void success() { - wrapped.add(0, null); - reply.reply(wrapped); - } - - public void error(Throwable error) { - ArrayList wrappedError = wrapError(error); - reply.reply(wrappedError); - } - }; - - api.enrollPhone(appArg, assertionArg, displayNameArg, resultCallback); - }); - } else { - channel.setMessageHandler(null); - } - } - { - BasicMessageChannel channel = - new BasicMessageChannel<>( - binaryMessenger, - "dev.flutter.pigeon.firebase_auth_platform_interface.MultiFactorUserHostApi.enrollTotp" - + messageChannelSuffix, - getCodec()); - if (api != null) { - channel.setMessageHandler( - (message, reply) -> { - ArrayList wrapped = new ArrayList<>(); - ArrayList args = (ArrayList) message; - AuthPigeonFirebaseApp appArg = (AuthPigeonFirebaseApp) args.get(0); - String assertionIdArg = (String) args.get(1); - String displayNameArg = (String) args.get(2); - VoidResult resultCallback = - new VoidResult() { - public void success() { - wrapped.add(0, null); - reply.reply(wrapped); - } - - public void error(Throwable error) { - ArrayList wrappedError = wrapError(error); - reply.reply(wrappedError); - } - }; - - api.enrollTotp(appArg, assertionIdArg, displayNameArg, resultCallback); - }); - } else { - channel.setMessageHandler(null); - } - } - { - BasicMessageChannel channel = - new BasicMessageChannel<>( - binaryMessenger, - "dev.flutter.pigeon.firebase_auth_platform_interface.MultiFactorUserHostApi.getSession" - + messageChannelSuffix, - getCodec()); - if (api != null) { - channel.setMessageHandler( - (message, reply) -> { - ArrayList wrapped = new ArrayList<>(); - ArrayList args = (ArrayList) message; - AuthPigeonFirebaseApp appArg = (AuthPigeonFirebaseApp) args.get(0); - Result resultCallback = - new Result() { - public void success(InternalMultiFactorSession result) { - wrapped.add(0, result); - reply.reply(wrapped); - } - - public void error(Throwable error) { - ArrayList wrappedError = wrapError(error); - reply.reply(wrappedError); - } - }; - - api.getSession(appArg, resultCallback); - }); - } else { - channel.setMessageHandler(null); - } - } - { - BasicMessageChannel channel = - new BasicMessageChannel<>( - binaryMessenger, - "dev.flutter.pigeon.firebase_auth_platform_interface.MultiFactorUserHostApi.unenroll" - + messageChannelSuffix, - getCodec()); - if (api != null) { - channel.setMessageHandler( - (message, reply) -> { - ArrayList wrapped = new ArrayList<>(); - ArrayList args = (ArrayList) message; - AuthPigeonFirebaseApp appArg = (AuthPigeonFirebaseApp) args.get(0); - String factorUidArg = (String) args.get(1); - VoidResult resultCallback = - new VoidResult() { - public void success() { - wrapped.add(0, null); - reply.reply(wrapped); - } - - public void error(Throwable error) { - ArrayList wrappedError = wrapError(error); - reply.reply(wrappedError); - } - }; - - api.unenroll(appArg, factorUidArg, resultCallback); - }); - } else { - channel.setMessageHandler(null); - } - } - { - BasicMessageChannel channel = - new BasicMessageChannel<>( - binaryMessenger, - "dev.flutter.pigeon.firebase_auth_platform_interface.MultiFactorUserHostApi.getEnrolledFactors" - + messageChannelSuffix, - getCodec()); - if (api != null) { - channel.setMessageHandler( - (message, reply) -> { - ArrayList wrapped = new ArrayList<>(); - ArrayList args = (ArrayList) message; - AuthPigeonFirebaseApp appArg = (AuthPigeonFirebaseApp) args.get(0); - Result> resultCallback = - new Result>() { - public void success(List result) { - wrapped.add(0, result); - reply.reply(wrapped); - } - - public void error(Throwable error) { - ArrayList wrappedError = wrapError(error); - reply.reply(wrappedError); - } - }; - - api.getEnrolledFactors(appArg, resultCallback); - }); - } else { - channel.setMessageHandler(null); - } - } - } - } - - /** Generated interface from Pigeon that represents a handler of messages from Flutter. */ - public interface MultiFactoResolverHostApi { - - void resolveSignIn( - @NonNull String resolverId, - @Nullable InternalPhoneMultiFactorAssertion assertion, - @Nullable String totpAssertionId, - @NonNull Result result); - - /** The codec used by MultiFactoResolverHostApi. */ - static @NonNull MessageCodec getCodec() { - return PigeonCodec.INSTANCE; - } - - /** - * Sets up an instance of `MultiFactoResolverHostApi` to handle messages through the - * `binaryMessenger`. - */ - static void setUp( - @NonNull BinaryMessenger binaryMessenger, @Nullable MultiFactoResolverHostApi api) { - setUp(binaryMessenger, "", api); - } - - static void setUp( - @NonNull BinaryMessenger binaryMessenger, - @NonNull String messageChannelSuffix, - @Nullable MultiFactoResolverHostApi api) { - messageChannelSuffix = messageChannelSuffix.isEmpty() ? "" : "." + messageChannelSuffix; - { - BasicMessageChannel channel = - new BasicMessageChannel<>( - binaryMessenger, - "dev.flutter.pigeon.firebase_auth_platform_interface.MultiFactoResolverHostApi.resolveSignIn" - + messageChannelSuffix, - getCodec()); - if (api != null) { - channel.setMessageHandler( - (message, reply) -> { - ArrayList wrapped = new ArrayList<>(); - ArrayList args = (ArrayList) message; - String resolverIdArg = (String) args.get(0); - InternalPhoneMultiFactorAssertion assertionArg = - (InternalPhoneMultiFactorAssertion) args.get(1); - String totpAssertionIdArg = (String) args.get(2); - Result resultCallback = - new Result() { - public void success(InternalUserCredential result) { - wrapped.add(0, result); - reply.reply(wrapped); - } - - public void error(Throwable error) { - ArrayList wrappedError = wrapError(error); - reply.reply(wrappedError); - } - }; - - api.resolveSignIn(resolverIdArg, assertionArg, totpAssertionIdArg, resultCallback); - }); - } else { - channel.setMessageHandler(null); - } - } - } - } - - /** Generated interface from Pigeon that represents a handler of messages from Flutter. */ - public interface MultiFactorTotpHostApi { - - void generateSecret(@NonNull String sessionId, @NonNull Result result); - - void getAssertionForEnrollment( - @NonNull String secretKey, @NonNull String oneTimePassword, @NonNull Result result); - - void getAssertionForSignIn( - @NonNull String enrollmentId, - @NonNull String oneTimePassword, - @NonNull Result result); - - /** The codec used by MultiFactorTotpHostApi. */ - static @NonNull MessageCodec getCodec() { - return PigeonCodec.INSTANCE; - } - - /** - * Sets up an instance of `MultiFactorTotpHostApi` to handle messages through the - * `binaryMessenger`. - */ - static void setUp( - @NonNull BinaryMessenger binaryMessenger, @Nullable MultiFactorTotpHostApi api) { - setUp(binaryMessenger, "", api); - } - - static void setUp( - @NonNull BinaryMessenger binaryMessenger, - @NonNull String messageChannelSuffix, - @Nullable MultiFactorTotpHostApi api) { - messageChannelSuffix = messageChannelSuffix.isEmpty() ? "" : "." + messageChannelSuffix; - { - BasicMessageChannel channel = - new BasicMessageChannel<>( - binaryMessenger, - "dev.flutter.pigeon.firebase_auth_platform_interface.MultiFactorTotpHostApi.generateSecret" - + messageChannelSuffix, - getCodec()); - if (api != null) { - channel.setMessageHandler( - (message, reply) -> { - ArrayList wrapped = new ArrayList<>(); - ArrayList args = (ArrayList) message; - String sessionIdArg = (String) args.get(0); - Result resultCallback = - new Result() { - public void success(InternalTotpSecret result) { - wrapped.add(0, result); - reply.reply(wrapped); - } - - public void error(Throwable error) { - ArrayList wrappedError = wrapError(error); - reply.reply(wrappedError); - } - }; - - api.generateSecret(sessionIdArg, resultCallback); - }); - } else { - channel.setMessageHandler(null); - } - } - { - BasicMessageChannel channel = - new BasicMessageChannel<>( - binaryMessenger, - "dev.flutter.pigeon.firebase_auth_platform_interface.MultiFactorTotpHostApi.getAssertionForEnrollment" - + messageChannelSuffix, - getCodec()); - if (api != null) { - channel.setMessageHandler( - (message, reply) -> { - ArrayList wrapped = new ArrayList<>(); - ArrayList args = (ArrayList) message; - String secretKeyArg = (String) args.get(0); - String oneTimePasswordArg = (String) args.get(1); - Result resultCallback = - new Result() { - public void success(String result) { - wrapped.add(0, result); - reply.reply(wrapped); - } - - public void error(Throwable error) { - ArrayList wrappedError = wrapError(error); - reply.reply(wrappedError); - } - }; - - api.getAssertionForEnrollment(secretKeyArg, oneTimePasswordArg, resultCallback); - }); - } else { - channel.setMessageHandler(null); - } - } - { - BasicMessageChannel channel = - new BasicMessageChannel<>( - binaryMessenger, - "dev.flutter.pigeon.firebase_auth_platform_interface.MultiFactorTotpHostApi.getAssertionForSignIn" - + messageChannelSuffix, - getCodec()); - if (api != null) { - channel.setMessageHandler( - (message, reply) -> { - ArrayList wrapped = new ArrayList<>(); - ArrayList args = (ArrayList) message; - String enrollmentIdArg = (String) args.get(0); - String oneTimePasswordArg = (String) args.get(1); - Result resultCallback = - new Result() { - public void success(String result) { - wrapped.add(0, result); - reply.reply(wrapped); - } - - public void error(Throwable error) { - ArrayList wrappedError = wrapError(error); - reply.reply(wrappedError); - } - }; - - api.getAssertionForSignIn(enrollmentIdArg, oneTimePasswordArg, resultCallback); - }); - } else { - channel.setMessageHandler(null); - } - } - } - } - - /** Generated interface from Pigeon that represents a handler of messages from Flutter. */ - public interface MultiFactorTotpSecretHostApi { - - void generateQrCodeUrl( - @NonNull String secretKey, - @Nullable String accountName, - @Nullable String issuer, - @NonNull Result result); - - void openInOtpApp( - @NonNull String secretKey, @NonNull String qrCodeUrl, @NonNull VoidResult result); - - /** The codec used by MultiFactorTotpSecretHostApi. */ - static @NonNull MessageCodec getCodec() { - return PigeonCodec.INSTANCE; - } - - /** - * Sets up an instance of `MultiFactorTotpSecretHostApi` to handle messages through the - * `binaryMessenger`. - */ - static void setUp( - @NonNull BinaryMessenger binaryMessenger, @Nullable MultiFactorTotpSecretHostApi api) { - setUp(binaryMessenger, "", api); - } - - static void setUp( - @NonNull BinaryMessenger binaryMessenger, - @NonNull String messageChannelSuffix, - @Nullable MultiFactorTotpSecretHostApi api) { - messageChannelSuffix = messageChannelSuffix.isEmpty() ? "" : "." + messageChannelSuffix; - { - BasicMessageChannel channel = - new BasicMessageChannel<>( - binaryMessenger, - "dev.flutter.pigeon.firebase_auth_platform_interface.MultiFactorTotpSecretHostApi.generateQrCodeUrl" - + messageChannelSuffix, - getCodec()); - if (api != null) { - channel.setMessageHandler( - (message, reply) -> { - ArrayList wrapped = new ArrayList<>(); - ArrayList args = (ArrayList) message; - String secretKeyArg = (String) args.get(0); - String accountNameArg = (String) args.get(1); - String issuerArg = (String) args.get(2); - Result resultCallback = - new Result() { - public void success(String result) { - wrapped.add(0, result); - reply.reply(wrapped); - } - - public void error(Throwable error) { - ArrayList wrappedError = wrapError(error); - reply.reply(wrappedError); - } - }; - - api.generateQrCodeUrl(secretKeyArg, accountNameArg, issuerArg, resultCallback); - }); - } else { - channel.setMessageHandler(null); - } - } - { - BasicMessageChannel channel = - new BasicMessageChannel<>( - binaryMessenger, - "dev.flutter.pigeon.firebase_auth_platform_interface.MultiFactorTotpSecretHostApi.openInOtpApp" - + messageChannelSuffix, - getCodec()); - if (api != null) { - channel.setMessageHandler( - (message, reply) -> { - ArrayList wrapped = new ArrayList<>(); - ArrayList args = (ArrayList) message; - String secretKeyArg = (String) args.get(0); - String qrCodeUrlArg = (String) args.get(1); - VoidResult resultCallback = - new VoidResult() { - public void success() { - wrapped.add(0, null); - reply.reply(wrapped); - } - - public void error(Throwable error) { - ArrayList wrappedError = wrapError(error); - reply.reply(wrappedError); - } - }; - - api.openInOtpApp(secretKeyArg, qrCodeUrlArg, resultCallback); - }); - } else { - channel.setMessageHandler(null); - } - } - } - } - - /** - * Only used to generate the object interface that are use outside of the Pigeon interface - * - *

Generated interface from Pigeon that represents a handler of messages from Flutter. - */ - public interface GenerateInterfaces { - - void pigeonInterface(@NonNull InternalMultiFactorInfo info); - - /** The codec used by GenerateInterfaces. */ - static @NonNull MessageCodec getCodec() { - return PigeonCodec.INSTANCE; - } - - /** - * Sets up an instance of `GenerateInterfaces` to handle messages through the `binaryMessenger`. - */ - static void setUp(@NonNull BinaryMessenger binaryMessenger, @Nullable GenerateInterfaces api) { - setUp(binaryMessenger, "", api); - } - - static void setUp( - @NonNull BinaryMessenger binaryMessenger, - @NonNull String messageChannelSuffix, - @Nullable GenerateInterfaces api) { - messageChannelSuffix = messageChannelSuffix.isEmpty() ? "" : "." + messageChannelSuffix; - { - BasicMessageChannel channel = - new BasicMessageChannel<>( - binaryMessenger, - "dev.flutter.pigeon.firebase_auth_platform_interface.GenerateInterfaces.pigeonInterface" - + messageChannelSuffix, - getCodec()); - if (api != null) { - channel.setMessageHandler( - (message, reply) -> { - ArrayList wrapped = new ArrayList<>(); - ArrayList args = (ArrayList) message; - InternalMultiFactorInfo infoArg = (InternalMultiFactorInfo) args.get(0); - try { - api.pigeonInterface(infoArg); - wrapped.add(0, null); - } catch (Throwable exception) { - wrapped = wrapError(exception); - } - reply.reply(wrapped); - }); - } else { - channel.setMessageHandler(null); - } - } - } - } -} diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/android/src/main/java/io/flutter/plugins/firebase/auth/IdTokenChannelStreamHandler.java b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/android/src/main/java/io/flutter/plugins/firebase/auth/IdTokenChannelStreamHandler.java deleted file mode 100644 index ae413a40..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/android/src/main/java/io/flutter/plugins/firebase/auth/IdTokenChannelStreamHandler.java +++ /dev/null @@ -1,63 +0,0 @@ -/* - * Copyright 2022, the Chromium project authors. Please see the AUTHORS file - * for details. All rights reserved. Use of this source code is governed by a - * BSD-style license that can be found in the LICENSE file. - */ - -package io.flutter.plugins.firebase.auth; - -import com.google.firebase.auth.FirebaseAuth; -import com.google.firebase.auth.FirebaseAuth.IdTokenListener; -import com.google.firebase.auth.FirebaseUser; -import io.flutter.plugin.common.EventChannel.EventSink; -import io.flutter.plugin.common.EventChannel.StreamHandler; -import java.util.HashMap; -import java.util.Map; -import java.util.concurrent.atomic.AtomicBoolean; - -public class IdTokenChannelStreamHandler implements StreamHandler { - - private final FirebaseAuth firebaseAuth; - private IdTokenListener idTokenListener; - - public IdTokenChannelStreamHandler(FirebaseAuth firebaseAuth) { - this.firebaseAuth = firebaseAuth; - } - - @Override - public void onListen(Object arguments, EventSink events) { - Map event = new HashMap<>(); - event.put(Constants.APP_NAME, firebaseAuth.getApp().getName()); - - final AtomicBoolean initialAuthState = new AtomicBoolean(true); - - idTokenListener = - auth -> { - if (initialAuthState.get()) { - initialAuthState.set(false); - return; - } - - FirebaseUser user = auth.getCurrentUser(); - - if (user == null) { - event.put(Constants.USER, null); - } else { - event.put( - Constants.USER, PigeonParser.manuallyToList(PigeonParser.parseFirebaseUser(user))); - } - - events.success(event); - }; - - firebaseAuth.addIdTokenListener(idTokenListener); - } - - @Override - public void onCancel(Object arguments) { - if (idTokenListener != null) { - firebaseAuth.removeIdTokenListener(idTokenListener); - idTokenListener = null; - } - } -} diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/android/src/main/java/io/flutter/plugins/firebase/auth/PhoneNumberVerificationStreamHandler.java b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/android/src/main/java/io/flutter/plugins/firebase/auth/PhoneNumberVerificationStreamHandler.java deleted file mode 100644 index a227be99..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/android/src/main/java/io/flutter/plugins/firebase/auth/PhoneNumberVerificationStreamHandler.java +++ /dev/null @@ -1,197 +0,0 @@ -/* - * Copyright 2022, the Chromium project authors. Please see the AUTHORS file - * for details. All rights reserved. Use of this source code is governed by a - * BSD-style license that can be found in the LICENSE file. - */ - -package io.flutter.plugins.firebase.auth; - -import android.app.Activity; -import androidx.annotation.NonNull; -import androidx.annotation.Nullable; -import com.google.firebase.FirebaseException; -import com.google.firebase.auth.FirebaseAuth; -import com.google.firebase.auth.MultiFactorSession; -import com.google.firebase.auth.PhoneAuthCredential; -import com.google.firebase.auth.PhoneAuthOptions; -import com.google.firebase.auth.PhoneAuthProvider; -import com.google.firebase.auth.PhoneAuthProvider.ForceResendingToken; -import com.google.firebase.auth.PhoneMultiFactorInfo; -import io.flutter.plugin.common.EventChannel.EventSink; -import io.flutter.plugin.common.EventChannel.StreamHandler; -import java.util.HashMap; -import java.util.Locale; -import java.util.Map; -import java.util.concurrent.TimeUnit; -import java.util.concurrent.atomic.AtomicReference; - -public class PhoneNumberVerificationStreamHandler implements StreamHandler { - - interface OnCredentialsListener { - void onCredentialsReceived(PhoneAuthCredential credential); - } - - final AtomicReference activityRef = new AtomicReference<>(null); - final FirebaseAuth firebaseAuth; - final String phoneNumber; - final PhoneMultiFactorInfo multiFactorInfo; - final int timeout; - final OnCredentialsListener onCredentialsListener; - - final MultiFactorSession multiFactorSession; - - String autoRetrievedSmsCodeForTesting; - Integer forceResendingToken; - - private static final HashMap forceResendingTokens = new HashMap<>(); - - @Nullable private EventSink eventSink; - - public PhoneNumberVerificationStreamHandler( - Activity activity, - @NonNull GeneratedAndroidFirebaseAuth.AuthPigeonFirebaseApp app, - @NonNull GeneratedAndroidFirebaseAuth.InternalVerifyPhoneNumberRequest request, - @Nullable MultiFactorSession multiFactorSession, - @Nullable PhoneMultiFactorInfo multiFactorInfo, - OnCredentialsListener onCredentialsListener) { - this.activityRef.set(activity); - - this.multiFactorSession = multiFactorSession; - this.multiFactorInfo = multiFactorInfo; - firebaseAuth = FlutterFirebaseAuthPlugin.getAuthFromPigeon(app); - phoneNumber = request.getPhoneNumber(); - timeout = Math.toIntExact(request.getTimeout()); - - if (request.getAutoRetrievedSmsCodeForTesting() != null) { - autoRetrievedSmsCodeForTesting = request.getAutoRetrievedSmsCodeForTesting(); - } - - if (request.getForceResendingToken() != null) { - forceResendingToken = Math.toIntExact(request.getForceResendingToken()); - } - - this.onCredentialsListener = onCredentialsListener; - } - - @Override - public void onListen(Object arguments, EventSink events) { - eventSink = events; - - PhoneAuthProvider.OnVerificationStateChangedCallbacks callbacks = - new PhoneAuthProvider.OnVerificationStateChangedCallbacks() { - @Override - public void onVerificationCompleted(@NonNull PhoneAuthCredential phoneAuthCredential) { - int phoneAuthCredentialHashCode = phoneAuthCredential.hashCode(); - onCredentialsListener.onCredentialsReceived(phoneAuthCredential); - - Map event = new HashMap<>(); - event.put(Constants.TOKEN, phoneAuthCredentialHashCode); - - if (phoneAuthCredential.getSmsCode() != null) { - event.put(Constants.SMS_CODE, phoneAuthCredential.getSmsCode()); - } - - event.put(Constants.NAME, "Auth#phoneVerificationCompleted"); - - if (eventSink != null) { - eventSink.success(event); - } - } - - @Override - public void onVerificationFailed(@NonNull FirebaseException e) { - Map event = new HashMap<>(); - Map error = new HashMap<>(); - GeneratedAndroidFirebaseAuth.FlutterError flutterError = - FlutterFirebaseAuthPluginException.parserExceptionToFlutter(e); - error.put( - "code", - flutterError - .code - .replaceAll("ERROR_", "") - .toLowerCase(Locale.ROOT) - .replaceAll("_", "-")); - error.put("message", flutterError.getMessage()); - error.put("details", flutterError.details); - event.put("error", error); - - event.put(Constants.NAME, "Auth#phoneVerificationFailed"); - - if (eventSink != null) { - eventSink.success(event); - } - } - - @Override - public void onCodeSent( - @NonNull String verificationId, - @NonNull PhoneAuthProvider.ForceResendingToken token) { - int forceResendingTokenHashCode = token.hashCode(); - forceResendingTokens.put(forceResendingTokenHashCode, token); - - Map event = new HashMap<>(); - event.put(Constants.VERIFICATION_ID, verificationId); - event.put(Constants.FORCE_RESENDING_TOKEN, forceResendingTokenHashCode); - - event.put(Constants.NAME, "Auth#phoneCodeSent"); - - if (eventSink != null) { - eventSink.success(event); - } - } - - @Override - public void onCodeAutoRetrievalTimeOut(@NonNull String verificationId) { - Map event = new HashMap<>(); - event.put(Constants.VERIFICATION_ID, verificationId); - - event.put(Constants.NAME, "Auth#phoneCodeAutoRetrievalTimeout"); - - if (eventSink != null) { - eventSink.success(event); - } - } - }; - - // Allows the auto-retrieval flow to be tested. - // See https://firebase.google.com/docs/auth/android/phone-auth#integration-testing - if (autoRetrievedSmsCodeForTesting != null) { - firebaseAuth - .getFirebaseAuthSettings() - .setAutoRetrievedSmsCodeForPhoneNumber(phoneNumber, autoRetrievedSmsCodeForTesting); - } - - PhoneAuthOptions.Builder phoneAuthOptionsBuilder = new PhoneAuthOptions.Builder(firebaseAuth); - phoneAuthOptionsBuilder.setActivity(activityRef.get()); - phoneAuthOptionsBuilder.setCallbacks(callbacks); - - if (phoneNumber != null) { - phoneAuthOptionsBuilder.setPhoneNumber(phoneNumber); - } - if (multiFactorSession != null) { - phoneAuthOptionsBuilder.setMultiFactorSession(multiFactorSession); - } - if (multiFactorInfo != null) { - phoneAuthOptionsBuilder.setMultiFactorHint(multiFactorInfo); - } - phoneAuthOptionsBuilder.setTimeout((long) timeout, TimeUnit.MILLISECONDS); - - if (forceResendingToken != null) { - PhoneAuthProvider.ForceResendingToken forceResendingToken = - forceResendingTokens.get(this.forceResendingToken); - - if (forceResendingToken != null) { - phoneAuthOptionsBuilder.setForceResendingToken(forceResendingToken); - } - } - - PhoneAuthProvider.verifyPhoneNumber(phoneAuthOptionsBuilder.build()); - } - - @Override - public void onCancel(Object arguments) { - eventSink = null; - - activityRef.set(null); - } -} diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/android/src/main/java/io/flutter/plugins/firebase/auth/PigeonParser.java b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/android/src/main/java/io/flutter/plugins/firebase/auth/PigeonParser.java deleted file mode 100644 index 4c9e102a..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/android/src/main/java/io/flutter/plugins/firebase/auth/PigeonParser.java +++ /dev/null @@ -1,382 +0,0 @@ -/* - * Copyright 2023, the Chromium project authors. Please see the AUTHORS file - * for details. All rights reserved. Use of this source code is governed by a - * BSD-style license that can be found in the LICENSE file. - */ - -package io.flutter.plugins.firebase.auth; - -import android.net.Uri; -import androidx.annotation.NonNull; -import com.google.firebase.auth.ActionCodeEmailInfo; -import com.google.firebase.auth.ActionCodeInfo; -import com.google.firebase.auth.ActionCodeResult; -import com.google.firebase.auth.ActionCodeSettings; -import com.google.firebase.auth.AdditionalUserInfo; -import com.google.firebase.auth.AuthCredential; -import com.google.firebase.auth.AuthResult; -import com.google.firebase.auth.EmailAuthProvider; -import com.google.firebase.auth.FacebookAuthProvider; -import com.google.firebase.auth.FirebaseAuthProvider; -import com.google.firebase.auth.FirebaseUser; -import com.google.firebase.auth.FirebaseUserMetadata; -import com.google.firebase.auth.GetTokenResult; -import com.google.firebase.auth.GithubAuthProvider; -import com.google.firebase.auth.GoogleAuthProvider; -import com.google.firebase.auth.MultiFactorInfo; -import com.google.firebase.auth.OAuthCredential; -import com.google.firebase.auth.OAuthProvider; -import com.google.firebase.auth.PhoneAuthProvider; -import com.google.firebase.auth.PhoneMultiFactorInfo; -import com.google.firebase.auth.PlayGamesAuthProvider; -import com.google.firebase.auth.TwitterAuthProvider; -import com.google.firebase.auth.UserInfo; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Objects; - -public class PigeonParser { - static List manuallyToList( - GeneratedAndroidFirebaseAuth.InternalUserDetails pigeonUserDetails) { - List output = new ArrayList<>(); - output.add(pigeonUserDetails.getUserInfo().toList()); - output.add(pigeonUserDetails.getProviderData()); - return output; - } - - static GeneratedAndroidFirebaseAuth.InternalUserCredential parseAuthResult( - @NonNull AuthResult authResult) { - GeneratedAndroidFirebaseAuth.InternalUserCredential.Builder builder = - new GeneratedAndroidFirebaseAuth.InternalUserCredential.Builder(); - - builder.setAdditionalUserInfo(parseAdditionalUserInfo(authResult.getAdditionalUserInfo())); - builder.setCredential(parseAuthCredential(authResult.getCredential())); - builder.setUser(parseFirebaseUser(authResult.getUser())); - - return builder.build(); - } - - private static GeneratedAndroidFirebaseAuth.InternalAdditionalUserInfo parseAdditionalUserInfo( - AdditionalUserInfo additionalUserInfo) { - if (additionalUserInfo == null) { - return null; - } - - GeneratedAndroidFirebaseAuth.InternalAdditionalUserInfo.Builder builder = - new GeneratedAndroidFirebaseAuth.InternalAdditionalUserInfo.Builder(); - - builder.setIsNewUser(additionalUserInfo.isNewUser()); - builder.setProfile(additionalUserInfo.getProfile()); - builder.setProviderId(additionalUserInfo.getProviderId()); - builder.setUsername(additionalUserInfo.getUsername()); - - return builder.build(); - } - - static GeneratedAndroidFirebaseAuth.InternalAuthCredential parseAuthCredential( - AuthCredential authCredential) { - if (authCredential == null) { - return null; - } - - int authCredentialHashCode = authCredential.hashCode(); - FlutterFirebaseAuthPlugin.authCredentials.put(authCredentialHashCode, authCredential); - - GeneratedAndroidFirebaseAuth.InternalAuthCredential.Builder builder = - new GeneratedAndroidFirebaseAuth.InternalAuthCredential.Builder(); - - builder.setProviderId(authCredential.getProvider()); - builder.setSignInMethod(authCredential.getSignInMethod()); - builder.setNativeId((long) authCredentialHashCode); - if (authCredential instanceof OAuthCredential) { - builder.setAccessToken(((OAuthCredential) authCredential).getAccessToken()); - } - - return builder.build(); - } - - static GeneratedAndroidFirebaseAuth.InternalUserDetails parseFirebaseUser( - FirebaseUser firebaseUser) { - if (firebaseUser == null) { - return null; - } - - GeneratedAndroidFirebaseAuth.InternalUserDetails.Builder builder = - new GeneratedAndroidFirebaseAuth.InternalUserDetails.Builder(); - - GeneratedAndroidFirebaseAuth.InternalUserInfo.Builder builderInfo = - new GeneratedAndroidFirebaseAuth.InternalUserInfo.Builder(); - - builderInfo.setDisplayName(firebaseUser.getDisplayName()); - builderInfo.setEmail(firebaseUser.getEmail()); - builderInfo.setIsEmailVerified(firebaseUser.isEmailVerified()); - builderInfo.setIsAnonymous(firebaseUser.isAnonymous()); - - final FirebaseUserMetadata userMetadata = firebaseUser.getMetadata(); - if (userMetadata != null) { - builderInfo.setCreationTimestamp(firebaseUser.getMetadata().getCreationTimestamp()); - builderInfo.setLastSignInTimestamp(firebaseUser.getMetadata().getLastSignInTimestamp()); - } - builderInfo.setPhoneNumber(firebaseUser.getPhoneNumber()); - builderInfo.setPhotoUrl(parsePhotoUrl(firebaseUser.getPhotoUrl())); - builderInfo.setUid(firebaseUser.getUid()); - builderInfo.setTenantId(firebaseUser.getTenantId()); - - builder.setUserInfo(builderInfo.build()); - builder.setProviderData(parseUserInfoList(firebaseUser.getProviderData())); - - return builder.build(); - } - - private static List> parseUserInfoList( - List userInfoList) { - List> output = new ArrayList<>(); - - if (userInfoList == null) { - return null; - } - - for (UserInfo userInfo : new ArrayList(userInfoList)) { - if (userInfo == null) { - continue; - } - if (!FirebaseAuthProvider.PROVIDER_ID.equals(userInfo.getProviderId())) { - output.add(parseUserInfoToMap(userInfo)); - } - } - - return output; - } - - private static Map parseUserInfoToMap(UserInfo userInfo) { - Map output = new HashMap<>(); - output.put("displayName", userInfo.getDisplayName()); - output.put("email", userInfo.getEmail()); - output.put("isEmailVerified", userInfo.isEmailVerified()); - output.put("phoneNumber", userInfo.getPhoneNumber()); - output.put("photoUrl", parsePhotoUrl(userInfo.getPhotoUrl())); - // Can be null on Emulator - output.put("uid", userInfo.getUid() == null ? "" : userInfo.getUid()); - output.put("providerId", userInfo.getProviderId()); - output.put("isAnonymous", false); - return output; - } - - private static String parsePhotoUrl(Uri photoUri) { - if (photoUri == null) { - return null; - } - - String photoUrl = photoUri.toString(); - - // Return null if the URL is an empty string - return "".equals(photoUrl) ? null : photoUrl; - } - - @SuppressWarnings("ConstantConditions") - static AuthCredential getCredential(Map credentialMap) { - // If the credential map contains a token, it means a native one has been stored - if (credentialMap.get(Constants.TOKEN) != null) { - int token = ((Number) credentialMap.get(Constants.TOKEN)).intValue(); - AuthCredential credential = FlutterFirebaseAuthPlugin.authCredentials.get(token); - - if (credential == null) { - throw FlutterFirebaseAuthPluginException.invalidCredential(); - } - - return credential; - } - - String signInMethod = - (String) Objects.requireNonNull(credentialMap.get(Constants.SIGN_IN_METHOD)); - String secret = (String) credentialMap.get(Constants.SECRET); - String idToken = (String) credentialMap.get(Constants.ID_TOKEN); - String accessToken = (String) credentialMap.get(Constants.ACCESS_TOKEN); - String rawNonce = (String) credentialMap.get(Constants.RAW_NONCE); - - switch (signInMethod) { - case Constants.SIGN_IN_METHOD_PASSWORD: - return EmailAuthProvider.getCredential( - (String) Objects.requireNonNull(credentialMap.get(Constants.EMAIL)), - Objects.requireNonNull(secret)); - case Constants.SIGN_IN_METHOD_EMAIL_LINK: - return EmailAuthProvider.getCredentialWithLink( - (String) Objects.requireNonNull(credentialMap.get(Constants.EMAIL)), - (String) Objects.requireNonNull(credentialMap.get(Constants.EMAIL_LINK))); - case Constants.SIGN_IN_METHOD_FACEBOOK: - return FacebookAuthProvider.getCredential(Objects.requireNonNull(accessToken)); - case Constants.SIGN_IN_METHOD_GOOGLE: - return GoogleAuthProvider.getCredential(idToken, accessToken); - case Constants.SIGN_IN_METHOD_TWITTER: - return TwitterAuthProvider.getCredential( - Objects.requireNonNull(accessToken), Objects.requireNonNull(secret)); - case Constants.SIGN_IN_METHOD_GITHUB: - return GithubAuthProvider.getCredential(Objects.requireNonNull(accessToken)); - case Constants.SIGN_IN_METHOD_PHONE: - { - String verificationId = - (String) Objects.requireNonNull(credentialMap.get(Constants.VERIFICATION_ID)); - String smsCode = (String) Objects.requireNonNull(credentialMap.get(Constants.SMS_CODE)); - return PhoneAuthProvider.getCredential(verificationId, smsCode); - } - case Constants.SIGN_IN_METHOD_OAUTH: - { - String providerId = - (String) Objects.requireNonNull(credentialMap.get(Constants.PROVIDER_ID)); - OAuthProvider.CredentialBuilder builder = OAuthProvider.newCredentialBuilder(providerId); - if (accessToken != null) { - builder.setAccessToken(accessToken); - } - if (rawNonce == null) { - builder.setIdToken(Objects.requireNonNull(idToken)); - } else { - builder.setIdTokenWithRawNonce(Objects.requireNonNull(idToken), rawNonce); - } - - return builder.build(); - } - case Constants.SIGN_IN_METHOD_PLAY_GAMES: - { - String serverAuthCode = - (String) Objects.requireNonNull(credentialMap.get(Constants.SERVER_AUTH_CODE)); - return PlayGamesAuthProvider.getCredential(serverAuthCode); - } - default: - return null; - } - } - - static ActionCodeSettings getActionCodeSettings( - @NonNull GeneratedAndroidFirebaseAuth.InternalActionCodeSettings pigeonActionCodeSettings) { - ActionCodeSettings.Builder builder = ActionCodeSettings.newBuilder(); - - builder.setUrl(pigeonActionCodeSettings.getUrl()); - - if (pigeonActionCodeSettings.getDynamicLinkDomain() != null) { - builder.setDynamicLinkDomain(pigeonActionCodeSettings.getDynamicLinkDomain()); - } - - if (pigeonActionCodeSettings.getLinkDomain() != null) { - builder.setLinkDomain(pigeonActionCodeSettings.getLinkDomain()); - } - - builder.setHandleCodeInApp(pigeonActionCodeSettings.getHandleCodeInApp()); - - if (pigeonActionCodeSettings.getAndroidPackageName() != null) { - builder.setAndroidPackageName( - pigeonActionCodeSettings.getAndroidPackageName(), - pigeonActionCodeSettings.getAndroidInstallApp(), - pigeonActionCodeSettings.getAndroidMinimumVersion()); - } - - if (pigeonActionCodeSettings.getIOSBundleId() != null) { - builder.setIOSBundleId(pigeonActionCodeSettings.getIOSBundleId()); - } - - return builder.build(); - } - - static List multiFactorInfoToPigeon( - List hints) { - List pigeonHints = new ArrayList<>(); - for (MultiFactorInfo info : hints) { - if (info instanceof PhoneMultiFactorInfo) { - pigeonHints.add( - new GeneratedAndroidFirebaseAuth.InternalMultiFactorInfo.Builder() - .setPhoneNumber(((PhoneMultiFactorInfo) info).getPhoneNumber()) - .setDisplayName(info.getDisplayName()) - .setEnrollmentTimestamp((double) info.getEnrollmentTimestamp()) - .setUid(info.getUid()) - .setFactorId(info.getFactorId()) - .build()); - - } else { - pigeonHints.add( - new GeneratedAndroidFirebaseAuth.InternalMultiFactorInfo.Builder() - .setDisplayName(info.getDisplayName()) - .setEnrollmentTimestamp((double) info.getEnrollmentTimestamp()) - .setUid(info.getUid()) - .setFactorId(info.getFactorId()) - .build()); - } - } - return pigeonHints; - } - - static List> multiFactorInfoToMap(List hints) { - List> pigeonHints = new ArrayList<>(); - for (GeneratedAndroidFirebaseAuth.InternalMultiFactorInfo info : - multiFactorInfoToPigeon(hints)) { - pigeonHints.add(info.toList()); - } - return pigeonHints; - } - - static GeneratedAndroidFirebaseAuth.InternalActionCodeInfo parseActionCodeResult( - @NonNull ActionCodeResult actionCodeResult) { - GeneratedAndroidFirebaseAuth.InternalActionCodeInfo.Builder builder = - new GeneratedAndroidFirebaseAuth.InternalActionCodeInfo.Builder(); - GeneratedAndroidFirebaseAuth.InternalActionCodeInfoData.Builder builderData = - new GeneratedAndroidFirebaseAuth.InternalActionCodeInfoData.Builder(); - - int operation = actionCodeResult.getOperation(); - - switch (operation) { - case ActionCodeResult.PASSWORD_RESET: - builder.setOperation(GeneratedAndroidFirebaseAuth.ActionCodeInfoOperation.PASSWORD_RESET); - break; - case ActionCodeResult.VERIFY_EMAIL: - builder.setOperation(GeneratedAndroidFirebaseAuth.ActionCodeInfoOperation.VERIFY_EMAIL); - break; - case ActionCodeResult.RECOVER_EMAIL: - builder.setOperation(GeneratedAndroidFirebaseAuth.ActionCodeInfoOperation.RECOVER_EMAIL); - break; - case ActionCodeResult.SIGN_IN_WITH_EMAIL_LINK: - builder.setOperation(GeneratedAndroidFirebaseAuth.ActionCodeInfoOperation.EMAIL_SIGN_IN); - break; - case ActionCodeResult.VERIFY_BEFORE_CHANGE_EMAIL: - builder.setOperation( - GeneratedAndroidFirebaseAuth.ActionCodeInfoOperation.VERIFY_AND_CHANGE_EMAIL); - break; - case ActionCodeResult.REVERT_SECOND_FACTOR_ADDITION: - builder.setOperation( - GeneratedAndroidFirebaseAuth.ActionCodeInfoOperation.REVERT_SECOND_FACTOR_ADDITION); - break; - } - - ActionCodeInfo actionCodeInfo = actionCodeResult.getInfo(); - - if (actionCodeInfo != null && operation == ActionCodeResult.VERIFY_EMAIL - || operation == ActionCodeResult.PASSWORD_RESET) { - builderData.setEmail(actionCodeInfo.getEmail()); - } else if (operation == ActionCodeResult.RECOVER_EMAIL - || operation == ActionCodeResult.VERIFY_BEFORE_CHANGE_EMAIL) { - ActionCodeEmailInfo actionCodeEmailInfo = - (ActionCodeEmailInfo) Objects.requireNonNull(actionCodeInfo); - builderData.setEmail(actionCodeEmailInfo.getEmail()); - builderData.setPreviousEmail(actionCodeEmailInfo.getPreviousEmail()); - } - - builder.setData(builderData.build()); - - return builder.build(); - } - - static GeneratedAndroidFirebaseAuth.InternalIdTokenResult parseTokenResult( - @NonNull GetTokenResult tokenResult) { - final GeneratedAndroidFirebaseAuth.InternalIdTokenResult.Builder builder = - new GeneratedAndroidFirebaseAuth.InternalIdTokenResult.Builder(); - - builder.setToken(tokenResult.getToken()); - builder.setSignInProvider(tokenResult.getSignInProvider()); - builder.setAuthTimestamp(tokenResult.getAuthTimestamp() * 1000); - builder.setExpirationTimestamp(tokenResult.getExpirationTimestamp() * 1000); - builder.setIssuedAtTimestamp(tokenResult.getIssuedAtTimestamp() * 1000); - builder.setClaims(tokenResult.getClaims()); - builder.setSignInSecondFactor(tokenResult.getSignInSecondFactor()); - - return builder.build(); - } -} diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/android/user-agent.gradle b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/android/user-agent.gradle deleted file mode 100644 index 38e5e646..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/android/user-agent.gradle +++ /dev/null @@ -1,22 +0,0 @@ -import java.util.regex.Matcher -import java.util.regex.Pattern - -String libraryVersionName = "UNKNOWN" -String libraryName = "flutter-fire-auth" -File pubspec = new File(project.projectDir.parentFile, 'pubspec.yaml') - -if (pubspec.exists()) { - String yaml = pubspec.text - // Using \s*['|"]?([^\n|'|"]*)['|"]? to extract version number. - Matcher versionMatcher = Pattern.compile("^version:\\s*['|\"]?([^\\n|'|\"]*)['|\"]?\$", Pattern.MULTILINE).matcher(yaml) - if (versionMatcher.find()) libraryVersionName = versionMatcher.group(1).replaceAll("\\+", "-") -} - -android { - defaultConfig { - // BuildConfig.VERSION_NAME - buildConfigField 'String', 'LIBRARY_VERSION', "\"${libraryVersionName}\"" - // BuildConfig.LIBRARY_NAME - buildConfigField 'String', 'LIBRARY_NAME', "\"${libraryName}\"" - } -} diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/README.md b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/README.md deleted file mode 100644 index 8a9c4d3b..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/README.md +++ /dev/null @@ -1,58 +0,0 @@ -# Firebase Auth Example - -[![pub package](https://img.shields.io/pub/v/firebase_auth.svg)](https://pub.dev/packages/firebase_auth) - -Demonstrates how to use the `firebase_auth` plugin and enable multiple auth providers. - -## Phone Auth - -1. Enable phone authentication in the [Firebase console]((https://console.firebase.google.com/u/0/project/_/authentication/providers)). -2. Add test phone number and verification code to the Firebase console. - - For this sample the number `+1 408-555-6969` and verification code `888888` are used. -3. For iOS set the `URL Schemes` to the `REVERSE_CLIENT_ID` from the `GoogleServices-Info.plist` file. -4. Enter the phone number `+1 408-555-6969` and press the `Verify phone number` button. -5. Once the phone number is verified the app displays the test - verification code. -6. Enter the verficication code `888888` and press "Sign in with phone number" -7. Signed in user ID is now displayed in the UI. - -## Google Sign-In - -1. Enable Google authentication in the [Firebase console](https://console.firebase.google.com/u/0/project/_/authentication/providers). -2. For Android, add your app's package name and SHA-1 fingerprint to the [Settings page](https://console.firebase.google.com/project/_/settings/general) of the Firebase console. Refer to [Authenticating Your Client]('https://developers.google.com/android/guides/client-auth') for details on how to get your app's SHA-1 fingerprint. -3. For iOS set the `URL Schemes` to the `REVERSE_CLIENT_ID` from the `GoogleServices-Info.plist` file (same step for `Phone Auth` above). -4. Select `Google` under `Social Authentication` and click the `Sign In With Google` button. -5. Signed in user's details are displayed in the UI. - -### Running on Web - -Make sure you run the example app on port 5000, since `localhost:5000` is -whitelisted for Google authentication. To do so, run: - -``` -flutter run -d web-server --web-port 5000 -``` - -## GitHub Sign-In -To get your `clientId` and `clientSecret`: -1. Visit https://github.com/settings/developers. -2. Create a new OAuth application. -3. Set **Home Page URL** to `https://react-native-firebase-testing.firebaseapp.com`. -4. Set **Authorization callback URL** to `https://react-native-firebase-testing.firebaseapp.com/__/auth/handler`. -5. After you register your app, add the `clientId` and `clientSecret` to the example app config in [`lib/config.dart`](./lib/config.dart). - -## Twitter Sign-In -Twitter sign in requires you to add keys from Twitter Developer API to Firebase Console, which means you cannot use the provided configurations with the example app, instead, **please create a new Firebase project**, then enable Twitter as an Auth provider (*optionally you can enable the rest of providers supported in this example*). - -To get your `apiKey` and `apiSecretKey` for Twitter: -1. Sign up for a developer account on [Twitter Developer](https://developer.twitter.com). -2. Create a new app and copy your keys. -3. From the dashboard, go to your app settings, then go to OAuth settings and turn on OAuth 1.0a, then add 2 callback URLs: - 1. `flutterfireauth://` - 2. `https://react-native-firebase-testing.firebaseapp.com/__/auth/handler` -4. Add your keys to the example app config in [`lib/config.dart`](./lib/config.dart). - -## Getting Started - -For help getting started with Flutter, view the online -[documentation](https://flutter.dev/). diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/analysis_options.yaml b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/analysis_options.yaml deleted file mode 100644 index 201a5ca4..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/analysis_options.yaml +++ /dev/null @@ -1,7 +0,0 @@ -include: ../../../../analysis_options.yaml - -linter: - rules: - avoid_print: false - depend_on_referenced_packages: false - library_private_types_in_public_api: false diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/android/app/build.gradle b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/android/app/build.gradle deleted file mode 100644 index db427be9..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/android/app/build.gradle +++ /dev/null @@ -1,62 +0,0 @@ -plugins { - id "com.android.application" - // START: FlutterFire Configuration - id 'com.google.gms.google-services' - // END: FlutterFire Configuration - id "kotlin-android" - // The Flutter Gradle Plugin must be applied after the Android and Kotlin Gradle plugins. - id "dev.flutter.flutter-gradle-plugin" -} - -def localProperties = new Properties() -def localPropertiesFile = rootProject.file("local.properties") -if (localPropertiesFile.exists()) { - localPropertiesFile.withReader("UTF-8") { reader -> - localProperties.load(reader) - } -} - -def flutterVersionCode = localProperties.getProperty("flutter.versionCode") -if (flutterVersionCode == null) { - flutterVersionCode = "1" -} - -def flutterVersionName = localProperties.getProperty("flutter.versionName") -if (flutterVersionName == null) { - flutterVersionName = "1.0" -} - -android { - namespace = "io.flutter.plugins.firebase.auth.example" - compileSdk = flutter.compileSdkVersion - ndkVersion = flutter.ndkVersion - compileOptions { - sourceCompatibility = JavaVersion.VERSION_17 - targetCompatibility = JavaVersion.VERSION_17 - } - kotlinOptions { - jvmTarget = JavaVersion.VERSION_17 - } - - defaultConfig { - applicationId = "io.flutter.plugins.firebase.auth.example" - // You can update the following values to match your application needs. - // For more information, see: https://docs.flutter.dev/deployment/android#reviewing-the-gradle-build-configuration. - minSdkVersion = flutter.minSdkVersion - targetSdk = flutter.targetSdkVersion - versionCode = flutterVersionCode.toInteger() - versionName = flutterVersionName - } - - buildTypes { - release { - // TODO: Add your own signing config for the release build. - // Signing with the debug keys for now, so `flutter run --release` works. - signingConfig = signingConfigs.debug - } - } -} - -flutter { - source = "../.." -} diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/android/app/google-services.json b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/android/app/google-services.json deleted file mode 100644 index 348716f0..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/android/app/google-services.json +++ /dev/null @@ -1,615 +0,0 @@ -{ - "project_info": { - "project_number": "406099696497", - "firebase_url": "https://flutterfire-e2e-tests-default-rtdb.europe-west1.firebasedatabase.app", - "project_id": "flutterfire-e2e-tests", - "storage_bucket": "flutterfire-e2e-tests.appspot.com" - }, - "client": [ - { - "client_info": { - "mobilesdk_app_id": "1:406099696497:android:d86a91cc7b338b233574d0", - "android_client_info": { - "package_name": "io.flutter.plugins.firebase.analytics.example" - } - }, - "oauth_client": [ - { - "client_id": "406099696497-a12gakvts4epfk5pkio7dphc1anjiggc.apps.googleusercontent.com", - "client_type": 3 - } - ], - "api_key": [ - { - "current_key": "AIzaSyCdRjCVZlhrq72RuEklEyyxYlBRCYhI2Sw" - } - ], - "services": { - "appinvite_service": { - "other_platform_oauth_client": [ - { - "client_id": "406099696497-a12gakvts4epfk5pkio7dphc1anjiggc.apps.googleusercontent.com", - "client_type": 3 - }, - { - "client_id": "406099696497-0mofiof3ofcgmpmirb6q0fllvb372sme.apps.googleusercontent.com", - "client_type": 2, - "ios_info": { - "bundle_id": "io.flutter.plugins.firebase.example" - } - } - ] - } - } - }, - { - "client_info": { - "mobilesdk_app_id": "1:406099696497:android:a241c4b471513a203574d0", - "android_client_info": { - "package_name": "io.flutter.plugins.firebase.appcheck.example" - } - }, - "oauth_client": [ - { - "client_id": "406099696497-7bvmqp0fffe24vm2arng0dtdeh2tvkgl.apps.googleusercontent.com", - "client_type": 1, - "android_info": { - "package_name": "io.flutter.plugins.firebase.appcheck.example", - "certificate_hash": "909ca1482ef022bbae45a2db6b6d05d807a4c4aa" - } - }, - { - "client_id": "406099696497-a12gakvts4epfk5pkio7dphc1anjiggc.apps.googleusercontent.com", - "client_type": 3 - } - ], - "api_key": [ - { - "current_key": "AIzaSyCdRjCVZlhrq72RuEklEyyxYlBRCYhI2Sw" - } - ], - "services": { - "appinvite_service": { - "other_platform_oauth_client": [ - { - "client_id": "406099696497-a12gakvts4epfk5pkio7dphc1anjiggc.apps.googleusercontent.com", - "client_type": 3 - }, - { - "client_id": "406099696497-0mofiof3ofcgmpmirb6q0fllvb372sme.apps.googleusercontent.com", - "client_type": 2, - "ios_info": { - "bundle_id": "io.flutter.plugins.firebase.example" - } - } - ] - } - } - }, - { - "client_info": { - "mobilesdk_app_id": "1:406099696497:android:21d5142deea38dda3574d0", - "android_client_info": { - "package_name": "io.flutter.plugins.firebase.auth.example" - } - }, - "oauth_client": [ - { - "client_id": "406099696497-emmujnd7g2ammh5uu9ni6v04p4ateqac.apps.googleusercontent.com", - "client_type": 1, - "android_info": { - "package_name": "io.flutter.plugins.firebase.auth.example", - "certificate_hash": "5ad0d6d5cbe577ca185b8df246656bebc3957128" - } - }, - { - "client_id": "406099696497-in8bfp0nali85oul1o98huoar6eo1vv1.apps.googleusercontent.com", - "client_type": 1, - "android_info": { - "package_name": "io.flutter.plugins.firebase.auth.example", - "certificate_hash": "909ca1482ef022bbae45a2db6b6d05d807a4c4aa" - } - }, - { - "client_id": "406099696497-a12gakvts4epfk5pkio7dphc1anjiggc.apps.googleusercontent.com", - "client_type": 3 - } - ], - "api_key": [ - { - "current_key": "AIzaSyCdRjCVZlhrq72RuEklEyyxYlBRCYhI2Sw" - } - ], - "services": { - "appinvite_service": { - "other_platform_oauth_client": [ - { - "client_id": "406099696497-a12gakvts4epfk5pkio7dphc1anjiggc.apps.googleusercontent.com", - "client_type": 3 - }, - { - "client_id": "406099696497-0mofiof3ofcgmpmirb6q0fllvb372sme.apps.googleusercontent.com", - "client_type": 2, - "ios_info": { - "bundle_id": "io.flutter.plugins.firebase.example" - } - } - ] - } - } - }, - { - "client_info": { - "mobilesdk_app_id": "1:406099696497:android:3ef965ff044efc0b3574d0", - "android_client_info": { - "package_name": "io.flutter.plugins.firebase.dataconnect.example" - } - }, - "oauth_client": [ - { - "client_id": "406099696497-a12gakvts4epfk5pkio7dphc1anjiggc.apps.googleusercontent.com", - "client_type": 3 - } - ], - "api_key": [ - { - "current_key": "AIzaSyCdRjCVZlhrq72RuEklEyyxYlBRCYhI2Sw" - } - ], - "services": { - "appinvite_service": { - "other_platform_oauth_client": [ - { - "client_id": "406099696497-a12gakvts4epfk5pkio7dphc1anjiggc.apps.googleusercontent.com", - "client_type": 3 - }, - { - "client_id": "406099696497-0mofiof3ofcgmpmirb6q0fllvb372sme.apps.googleusercontent.com", - "client_type": 2, - "ios_info": { - "bundle_id": "io.flutter.plugins.firebase.example" - } - } - ] - } - } - }, - { - "client_info": { - "mobilesdk_app_id": "1:406099696497:android:40da41183cb3d3ff3574d0", - "android_client_info": { - "package_name": "io.flutter.plugins.firebase.dynamiclinksexample" - } - }, - "oauth_client": [ - { - "client_id": "406099696497-a12gakvts4epfk5pkio7dphc1anjiggc.apps.googleusercontent.com", - "client_type": 3 - } - ], - "api_key": [ - { - "current_key": "AIzaSyCdRjCVZlhrq72RuEklEyyxYlBRCYhI2Sw" - } - ], - "services": { - "appinvite_service": { - "other_platform_oauth_client": [ - { - "client_id": "406099696497-a12gakvts4epfk5pkio7dphc1anjiggc.apps.googleusercontent.com", - "client_type": 3 - }, - { - "client_id": "406099696497-0mofiof3ofcgmpmirb6q0fllvb372sme.apps.googleusercontent.com", - "client_type": 2, - "ios_info": { - "bundle_id": "io.flutter.plugins.firebase.example" - } - } - ] - } - } - }, - { - "client_info": { - "mobilesdk_app_id": "1:406099696497:android:175ea7a64b2faf5e3574d0", - "android_client_info": { - "package_name": "io.flutter.plugins.firebase.firestore.example" - } - }, - "oauth_client": [ - { - "client_id": "406099696497-a12gakvts4epfk5pkio7dphc1anjiggc.apps.googleusercontent.com", - "client_type": 3 - } - ], - "api_key": [ - { - "current_key": "AIzaSyCdRjCVZlhrq72RuEklEyyxYlBRCYhI2Sw" - } - ], - "services": { - "appinvite_service": { - "other_platform_oauth_client": [ - { - "client_id": "406099696497-a12gakvts4epfk5pkio7dphc1anjiggc.apps.googleusercontent.com", - "client_type": 3 - }, - { - "client_id": "406099696497-0mofiof3ofcgmpmirb6q0fllvb372sme.apps.googleusercontent.com", - "client_type": 2, - "ios_info": { - "bundle_id": "io.flutter.plugins.firebase.example" - } - } - ] - } - } - }, - { - "client_info": { - "mobilesdk_app_id": "1:406099696497:android:7ca3394493cc601a3574d0", - "android_client_info": { - "package_name": "io.flutter.plugins.firebase.functions.example" - } - }, - "oauth_client": [ - { - "client_id": "406099696497-17qn06u8a0dc717u8ul7s49ampk13lul.apps.googleusercontent.com", - "client_type": 1, - "android_info": { - "package_name": "io.flutter.plugins.firebase.functions.example", - "certificate_hash": "a4256c0612686b336af6d138a5479b7dc1ee1af6" - } - }, - { - "client_id": "406099696497-tvtvuiqogct1gs1s6lh114jeps7hpjm5.apps.googleusercontent.com", - "client_type": 1, - "android_info": { - "package_name": "io.flutter.plugins.firebase.functions.example", - "certificate_hash": "909ca1482ef022bbae45a2db6b6d05d807a4c4aa" - } - }, - { - "client_id": "406099696497-a12gakvts4epfk5pkio7dphc1anjiggc.apps.googleusercontent.com", - "client_type": 3 - } - ], - "api_key": [ - { - "current_key": "AIzaSyCdRjCVZlhrq72RuEklEyyxYlBRCYhI2Sw" - } - ], - "services": { - "appinvite_service": { - "other_platform_oauth_client": [ - { - "client_id": "406099696497-a12gakvts4epfk5pkio7dphc1anjiggc.apps.googleusercontent.com", - "client_type": 3 - }, - { - "client_id": "406099696497-0mofiof3ofcgmpmirb6q0fllvb372sme.apps.googleusercontent.com", - "client_type": 2, - "ios_info": { - "bundle_id": "io.flutter.plugins.firebase.example" - } - } - ] - } - } - }, - { - "client_info": { - "mobilesdk_app_id": "1:406099696497:android:6d1c1fbf4688f39c3574d0", - "android_client_info": { - "package_name": "io.flutter.plugins.firebase.installations.example" - } - }, - "oauth_client": [ - { - "client_id": "406099696497-a12gakvts4epfk5pkio7dphc1anjiggc.apps.googleusercontent.com", - "client_type": 3 - } - ], - "api_key": [ - { - "current_key": "AIzaSyCdRjCVZlhrq72RuEklEyyxYlBRCYhI2Sw" - } - ], - "services": { - "appinvite_service": { - "other_platform_oauth_client": [ - { - "client_id": "406099696497-a12gakvts4epfk5pkio7dphc1anjiggc.apps.googleusercontent.com", - "client_type": 3 - }, - { - "client_id": "406099696497-0mofiof3ofcgmpmirb6q0fllvb372sme.apps.googleusercontent.com", - "client_type": 2, - "ios_info": { - "bundle_id": "io.flutter.plugins.firebase.example" - } - } - ] - } - } - }, - { - "client_info": { - "mobilesdk_app_id": "1:406099696497:android:74ebb073d7727cd43574d0", - "android_client_info": { - "package_name": "io.flutter.plugins.firebase.messaging.example" - } - }, - "oauth_client": [ - { - "client_id": "406099696497-a12gakvts4epfk5pkio7dphc1anjiggc.apps.googleusercontent.com", - "client_type": 3 - } - ], - "api_key": [ - { - "current_key": "AIzaSyCdRjCVZlhrq72RuEklEyyxYlBRCYhI2Sw" - } - ], - "services": { - "appinvite_service": { - "other_platform_oauth_client": [ - { - "client_id": "406099696497-a12gakvts4epfk5pkio7dphc1anjiggc.apps.googleusercontent.com", - "client_type": 3 - }, - { - "client_id": "406099696497-0mofiof3ofcgmpmirb6q0fllvb372sme.apps.googleusercontent.com", - "client_type": 2, - "ios_info": { - "bundle_id": "io.flutter.plugins.firebase.example" - } - } - ] - } - } - }, - { - "client_info": { - "mobilesdk_app_id": "1:406099696497:android:f54b85cfa36a39f73574d0", - "android_client_info": { - "package_name": "io.flutter.plugins.firebase.remoteconfig.example" - } - }, - "oauth_client": [ - { - "client_id": "406099696497-a12gakvts4epfk5pkio7dphc1anjiggc.apps.googleusercontent.com", - "client_type": 3 - } - ], - "api_key": [ - { - "current_key": "AIzaSyCdRjCVZlhrq72RuEklEyyxYlBRCYhI2Sw" - } - ], - "services": { - "appinvite_service": { - "other_platform_oauth_client": [ - { - "client_id": "406099696497-a12gakvts4epfk5pkio7dphc1anjiggc.apps.googleusercontent.com", - "client_type": 3 - }, - { - "client_id": "406099696497-0mofiof3ofcgmpmirb6q0fllvb372sme.apps.googleusercontent.com", - "client_type": 2, - "ios_info": { - "bundle_id": "io.flutter.plugins.firebase.example" - } - } - ] - } - } - }, - { - "client_info": { - "mobilesdk_app_id": "1:406099696497:android:0d4ed619c031c0ac3574d0", - "android_client_info": { - "package_name": "io.flutter.plugins.firebase.tests" - } - }, - "oauth_client": [ - { - "client_id": "406099696497-ib9hj9281l3343cm3nfvvdotaojrthdc.apps.googleusercontent.com", - "client_type": 1, - "android_info": { - "package_name": "io.flutter.plugins.firebase.tests", - "certificate_hash": "5ad0d6d5cbe577ca185b8df246656bebc3957128" - } - }, - { - "client_id": "406099696497-lc54d5l8sp90k39r0bb39ovsgo1s9bek.apps.googleusercontent.com", - "client_type": 1, - "android_info": { - "package_name": "io.flutter.plugins.firebase.tests", - "certificate_hash": "909ca1482ef022bbae45a2db6b6d05d807a4c4aa" - } - }, - { - "client_id": "406099696497-a12gakvts4epfk5pkio7dphc1anjiggc.apps.googleusercontent.com", - "client_type": 3 - } - ], - "api_key": [ - { - "current_key": "AIzaSyCdRjCVZlhrq72RuEklEyyxYlBRCYhI2Sw" - } - ], - "services": { - "appinvite_service": { - "other_platform_oauth_client": [ - { - "client_id": "406099696497-a12gakvts4epfk5pkio7dphc1anjiggc.apps.googleusercontent.com", - "client_type": 3 - }, - { - "client_id": "406099696497-0mofiof3ofcgmpmirb6q0fllvb372sme.apps.googleusercontent.com", - "client_type": 2, - "ios_info": { - "bundle_id": "io.flutter.plugins.firebase.example" - } - } - ] - } - } - }, - { - "client_info": { - "mobilesdk_app_id": "1:406099696497:android:899c6485cfce26c13574d0", - "android_client_info": { - "package_name": "io.flutter.plugins.firebase_ui_example" - } - }, - "oauth_client": [ - { - "client_id": "406099696497-ltgvphphcckosvqhituel5km2k3aecg8.apps.googleusercontent.com", - "client_type": 1, - "android_info": { - "package_name": "io.flutter.plugins.firebase_ui_example", - "certificate_hash": "a4256c0612686b336af6d138a5479b7dc1ee1af6" - } - }, - { - "client_id": "406099696497-a12gakvts4epfk5pkio7dphc1anjiggc.apps.googleusercontent.com", - "client_type": 3 - } - ], - "api_key": [ - { - "current_key": "AIzaSyCdRjCVZlhrq72RuEklEyyxYlBRCYhI2Sw" - } - ], - "services": { - "appinvite_service": { - "other_platform_oauth_client": [ - { - "client_id": "406099696497-a12gakvts4epfk5pkio7dphc1anjiggc.apps.googleusercontent.com", - "client_type": 3 - }, - { - "client_id": "406099696497-0mofiof3ofcgmpmirb6q0fllvb372sme.apps.googleusercontent.com", - "client_type": 2, - "ios_info": { - "bundle_id": "io.flutter.plugins.firebase.example" - } - } - ] - } - } - }, - { - "client_info": { - "mobilesdk_app_id": "1:406099696497:android:bc0b12b0605df8633574d0", - "android_client_info": { - "package_name": "io.flutter.plugins.firebasecoreexample" - } - }, - "oauth_client": [ - { - "client_id": "406099696497-a12gakvts4epfk5pkio7dphc1anjiggc.apps.googleusercontent.com", - "client_type": 3 - } - ], - "api_key": [ - { - "current_key": "AIzaSyCdRjCVZlhrq72RuEklEyyxYlBRCYhI2Sw" - } - ], - "services": { - "appinvite_service": { - "other_platform_oauth_client": [ - { - "client_id": "406099696497-a12gakvts4epfk5pkio7dphc1anjiggc.apps.googleusercontent.com", - "client_type": 3 - }, - { - "client_id": "406099696497-0mofiof3ofcgmpmirb6q0fllvb372sme.apps.googleusercontent.com", - "client_type": 2, - "ios_info": { - "bundle_id": "io.flutter.plugins.firebase.example" - } - } - ] - } - } - }, - { - "client_info": { - "mobilesdk_app_id": "1:406099696497:android:0f3f7bfe78b8b7103574d0", - "android_client_info": { - "package_name": "io.flutter.plugins.firebasecrashlyticsexample" - } - }, - "oauth_client": [ - { - "client_id": "406099696497-a12gakvts4epfk5pkio7dphc1anjiggc.apps.googleusercontent.com", - "client_type": 3 - } - ], - "api_key": [ - { - "current_key": "AIzaSyCdRjCVZlhrq72RuEklEyyxYlBRCYhI2Sw" - } - ], - "services": { - "appinvite_service": { - "other_platform_oauth_client": [ - { - "client_id": "406099696497-a12gakvts4epfk5pkio7dphc1anjiggc.apps.googleusercontent.com", - "client_type": 3 - }, - { - "client_id": "406099696497-0mofiof3ofcgmpmirb6q0fllvb372sme.apps.googleusercontent.com", - "client_type": 2, - "ios_info": { - "bundle_id": "io.flutter.plugins.firebase.example" - } - } - ] - } - } - }, - { - "client_info": { - "mobilesdk_app_id": "1:406099696497:android:2751af6868a69f073574d0", - "android_client_info": { - "package_name": "io.flutter.plugins.firebasestorageexample" - } - }, - "oauth_client": [ - { - "client_id": "406099696497-a12gakvts4epfk5pkio7dphc1anjiggc.apps.googleusercontent.com", - "client_type": 3 - } - ], - "api_key": [ - { - "current_key": "AIzaSyCdRjCVZlhrq72RuEklEyyxYlBRCYhI2Sw" - } - ], - "services": { - "appinvite_service": { - "other_platform_oauth_client": [ - { - "client_id": "406099696497-a12gakvts4epfk5pkio7dphc1anjiggc.apps.googleusercontent.com", - "client_type": 3 - }, - { - "client_id": "406099696497-0mofiof3ofcgmpmirb6q0fllvb372sme.apps.googleusercontent.com", - "client_type": 2, - "ios_info": { - "bundle_id": "io.flutter.plugins.firebase.example" - } - } - ] - } - } - } - ], - "configuration_version": "1" -} \ No newline at end of file diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/android/app/src/debug/AndroidManifest.xml b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/android/app/src/debug/AndroidManifest.xml deleted file mode 100644 index 399f6981..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/android/app/src/debug/AndroidManifest.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/android/app/src/main/AndroidManifest.xml b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/android/app/src/main/AndroidManifest.xml deleted file mode 100644 index 74a78b93..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/android/app/src/main/AndroidManifest.xml +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/android/app/src/main/kotlin/io/flutter/plugins/firebase/auth/example/MainActivity.kt b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/android/app/src/main/kotlin/io/flutter/plugins/firebase/auth/example/MainActivity.kt deleted file mode 100644 index 2b88c507..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/android/app/src/main/kotlin/io/flutter/plugins/firebase/auth/example/MainActivity.kt +++ /dev/null @@ -1,5 +0,0 @@ -package io.flutter.plugins.firebase.auth.example - -import io.flutter.embedding.android.FlutterActivity - -class MainActivity : FlutterActivity() diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/android/app/src/main/res/drawable-v21/launch_background.xml b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/android/app/src/main/res/drawable-v21/launch_background.xml deleted file mode 100644 index f74085f3..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/android/app/src/main/res/drawable-v21/launch_background.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/android/app/src/main/res/drawable/launch_background.xml b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/android/app/src/main/res/drawable/launch_background.xml deleted file mode 100644 index 304732f8..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/android/app/src/main/res/drawable/launch_background.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/android/app/src/main/res/mipmap-hdpi/ic_launcher.png b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/android/app/src/main/res/mipmap-hdpi/ic_launcher.png deleted file mode 100644 index db77bb4b..00000000 Binary files a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/android/app/src/main/res/mipmap-hdpi/ic_launcher.png and /dev/null differ diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/android/app/src/main/res/mipmap-mdpi/ic_launcher.png b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/android/app/src/main/res/mipmap-mdpi/ic_launcher.png deleted file mode 100644 index 17987b79..00000000 Binary files a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/android/app/src/main/res/mipmap-mdpi/ic_launcher.png and /dev/null differ diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png deleted file mode 100644 index 09d43914..00000000 Binary files a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png and /dev/null differ diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png deleted file mode 100644 index d5f1c8d3..00000000 Binary files a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png and /dev/null differ diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png deleted file mode 100644 index 4d6372ee..00000000 Binary files a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png and /dev/null differ diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/android/app/src/main/res/values-night/styles.xml b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/android/app/src/main/res/values-night/styles.xml deleted file mode 100644 index 06952be7..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/android/app/src/main/res/values-night/styles.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/android/app/src/main/res/values/styles.xml b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/android/app/src/main/res/values/styles.xml deleted file mode 100644 index cb1ef880..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/android/app/src/main/res/values/styles.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/android/app/src/profile/AndroidManifest.xml b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/android/app/src/profile/AndroidManifest.xml deleted file mode 100644 index 399f6981..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/android/app/src/profile/AndroidManifest.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/android/build.gradle b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/android/build.gradle deleted file mode 100644 index d2ffbffa..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/android/build.gradle +++ /dev/null @@ -1,18 +0,0 @@ -allprojects { - repositories { - google() - mavenCentral() - } -} - -rootProject.buildDir = "../build" -subprojects { - project.buildDir = "${rootProject.buildDir}/${project.name}" -} -subprojects { - project.evaluationDependsOn(":app") -} - -tasks.register("clean", Delete) { - delete rootProject.buildDir -} diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/android/gradle.properties b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/android/gradle.properties deleted file mode 100644 index 3b5b324f..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/android/gradle.properties +++ /dev/null @@ -1,3 +0,0 @@ -org.gradle.jvmargs=-Xmx4G -XX:+HeapDumpOnOutOfMemoryError -android.useAndroidX=true -android.enableJetifier=true diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/android/gradle/wrapper/gradle-wrapper.properties b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/android/gradle/wrapper/gradle-wrapper.properties deleted file mode 100644 index e411586a..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/android/gradle/wrapper/gradle-wrapper.properties +++ /dev/null @@ -1,5 +0,0 @@ -distributionBase=GRADLE_USER_HOME -distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.4-bin.zip -zipStoreBase=GRADLE_USER_HOME -zipStorePath=wrapper/dists diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/android/settings.gradle b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/android/settings.gradle deleted file mode 100644 index a4d924db..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/android/settings.gradle +++ /dev/null @@ -1,28 +0,0 @@ -pluginManagement { - def flutterSdkPath = { - def properties = new Properties() - file("local.properties").withInputStream { properties.load(it) } - def flutterSdkPath = properties.getProperty("flutter.sdk") - assert flutterSdkPath != null, "flutter.sdk not set in local.properties" - return flutterSdkPath - }() - - includeBuild("$flutterSdkPath/packages/flutter_tools/gradle") - - repositories { - google() - mavenCentral() - gradlePluginPortal() - } -} - -plugins { - id "dev.flutter.flutter-plugin-loader" version "1.0.0" - id "com.android.application" version "8.3.0" apply false - // START: FlutterFire Configuration - id "com.google.gms.google-services" version "4.3.15" apply false - // END: FlutterFire Configuration - id "org.jetbrains.kotlin.android" version "1.9.22" apply false -} - -include ":app" diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/ios/Flutter/AppFrameworkInfo.plist b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/ios/Flutter/AppFrameworkInfo.plist deleted file mode 100644 index b3c50a89..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/ios/Flutter/AppFrameworkInfo.plist +++ /dev/null @@ -1,30 +0,0 @@ - - - - - CFBundleDevelopmentRegion - $(DEVELOPMENT_LANGUAGE) - CFBundleExecutable - App - CFBundleIdentifier - io.flutter.flutter.app - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - App - CFBundlePackageType - FMWK - CFBundleShortVersionString - 1.0 - CFBundleSignature - ???? - CFBundleVersion - 1.0 - UIRequiredDeviceCapabilities - - arm64 - - MinimumOSVersion - 12.0 - - diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/ios/Flutter/Debug.xcconfig b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/ios/Flutter/Debug.xcconfig deleted file mode 100644 index ec97fc6f..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/ios/Flutter/Debug.xcconfig +++ /dev/null @@ -1,2 +0,0 @@ -#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig" -#include "Generated.xcconfig" diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/ios/Flutter/Release.xcconfig b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/ios/Flutter/Release.xcconfig deleted file mode 100644 index 88c29144..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/ios/Flutter/Release.xcconfig +++ /dev/null @@ -1,3 +0,0 @@ -#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig" -#include "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig" -#include "Generated.xcconfig" diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/ios/Podfile b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/ios/Podfile deleted file mode 100644 index 3026bae9..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/ios/Podfile +++ /dev/null @@ -1,48 +0,0 @@ -# Uncomment this line to define a global platform for your project -platform :ios, '15.0' - -# CocoaPods analytics sends network stats synchronously affecting flutter build latency. -ENV['COCOAPODS_DISABLE_STATS'] = 'true' - -project 'Runner', { - 'Debug' => :debug, - 'Profile' => :release, - 'Release' => :release, -} - -def flutter_root - generated_xcode_build_settings_path = File.expand_path(File.join('..', 'Flutter', 'Generated.xcconfig'), __FILE__) - unless File.exist?(generated_xcode_build_settings_path) - raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually, make sure flutter pub get is executed first" - end - - File.foreach(generated_xcode_build_settings_path) do |line| - matches = line.match(/FLUTTER_ROOT\=(.*)/) - return matches[1].strip if matches - end - raise "FLUTTER_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Generated.xcconfig, then run flutter pub get" -end - -require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root) - -flutter_ios_podfile_setup - -target 'Runner' do - use_frameworks! - use_modular_headers! - flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__)) -end - -post_install do |installer| - installer.pods_project.targets.each do |target| - flutter_additional_ios_build_settings(target) - end - - installer.generated_projects.each do |project| - project.targets.each do |target| - target.build_configurations.each do |config| - config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '11.0' - end - end - end -end diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/ios/Runner.xcodeproj/project.pbxproj b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/ios/Runner.xcodeproj/project.pbxproj deleted file mode 100644 index 9da003ec..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/ios/Runner.xcodeproj/project.pbxproj +++ /dev/null @@ -1,700 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 54; - objects = { - -/* Begin PBXBuildFile section */ - 081BFEF7D2871CF6AC71DD05 /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 7B49E087B951778510D20936 /* GoogleService-Info.plist */; }; - 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; }; - 25A01FAE278D905100D1E790 /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 25A01FAD278D905100D1E790 /* GoogleService-Info.plist */; }; - 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; }; - 3DBDE9876E1D48FC8ED096A3 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E010D242A20C21968D02B7C9 /* Pods_Runner.framework */; }; - 78A318202AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage in Frameworks */ = {isa = PBXBuildFile; productRef = 78A3181F2AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage */; }; - 978B8F6F1D3862AE00F588F7 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 7AFFD8EE1D35381100E5BB4D /* AppDelegate.m */; }; - 97C146F31CF9000F007C117D /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 97C146F21CF9000F007C117D /* main.m */; }; - 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; }; - 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; }; - 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; }; -/* End PBXBuildFile section */ - -/* Begin PBXCopyFilesBuildPhase section */ - 9705A1C41CF9048500538489 /* Embed Frameworks */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = ""; - dstSubfolderSpec = 10; - files = ( - ); - name = "Embed Frameworks"; - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXCopyFilesBuildPhase section */ - -/* Begin PBXFileReference section */ - 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = ""; }; - 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = ""; }; - 253804AE278DB662003BA2E2 /* Runner.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = Runner.entitlements; sourceTree = ""; }; - 25A01FAD278D905100D1E790 /* GoogleService-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "GoogleService-Info.plist"; sourceTree = ""; }; - 2FB2202774601424C6393E3D /* 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 = ""; }; - 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; }; - 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; }; - 7AFFD8ED1D35381100E5BB4D /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; }; - 7AFFD8EE1D35381100E5BB4D /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = ""; }; - 7B49E087B951778510D20936 /* GoogleService-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; name = "GoogleService-Info.plist"; path = "Runner/GoogleService-Info.plist"; sourceTree = ""; }; - 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = ""; }; - 9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = ""; }; - 97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; }; - 97C146F21CF9000F007C117D /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; - 97C146FB1CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; - 97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; - 97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; - 97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - E010D242A20C21968D02B7C9 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - ED172FD60C3CC14CD005C328 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; - FD585EE39F3F8D58CFCE5419 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - 97C146EB1CF9000F007C117D /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 78A318202AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage in Frameworks */, - 3DBDE9876E1D48FC8ED096A3 /* Pods_Runner.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 9740EEB11CF90186004384FC /* Flutter */ = { - isa = PBXGroup; - children = ( - 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */, - 9740EEB21CF90195004384FC /* Debug.xcconfig */, - 7AFA3C8E1D35360C0083082E /* Release.xcconfig */, - 9740EEB31CF90195004384FC /* Generated.xcconfig */, - ); - name = Flutter; - sourceTree = ""; - }; - 97C146E51CF9000F007C117D = { - isa = PBXGroup; - children = ( - 9740EEB11CF90186004384FC /* Flutter */, - 97C146F01CF9000F007C117D /* Runner */, - 97C146EF1CF9000F007C117D /* Products */, - 9C7F99B73919EAB4FA657D9E /* Pods */, - 7B49E087B951778510D20936 /* GoogleService-Info.plist */, - DE500BC6E74EB524103D00CE /* Frameworks */, - ); - sourceTree = ""; - }; - 97C146EF1CF9000F007C117D /* Products */ = { - isa = PBXGroup; - children = ( - 97C146EE1CF9000F007C117D /* Runner.app */, - ); - name = Products; - sourceTree = ""; - }; - 97C146F01CF9000F007C117D /* Runner */ = { - isa = PBXGroup; - children = ( - 253804AE278DB662003BA2E2 /* Runner.entitlements */, - 7AFFD8ED1D35381100E5BB4D /* AppDelegate.h */, - 7AFFD8EE1D35381100E5BB4D /* AppDelegate.m */, - 97C146FA1CF9000F007C117D /* Main.storyboard */, - 97C146FD1CF9000F007C117D /* Assets.xcassets */, - 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */, - 25A01FAD278D905100D1E790 /* GoogleService-Info.plist */, - 97C147021CF9000F007C117D /* Info.plist */, - 97C146F11CF9000F007C117D /* Supporting Files */, - 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */, - 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */, - ); - path = Runner; - sourceTree = ""; - }; - 97C146F11CF9000F007C117D /* Supporting Files */ = { - isa = PBXGroup; - children = ( - 97C146F21CF9000F007C117D /* main.m */, - ); - name = "Supporting Files"; - sourceTree = ""; - }; - 9C7F99B73919EAB4FA657D9E /* Pods */ = { - isa = PBXGroup; - children = ( - 2FB2202774601424C6393E3D /* Pods-Runner.debug.xcconfig */, - ED172FD60C3CC14CD005C328 /* Pods-Runner.release.xcconfig */, - FD585EE39F3F8D58CFCE5419 /* Pods-Runner.profile.xcconfig */, - ); - path = Pods; - sourceTree = ""; - }; - DE500BC6E74EB524103D00CE /* Frameworks */ = { - isa = PBXGroup; - children = ( - E010D242A20C21968D02B7C9 /* Pods_Runner.framework */, - ); - name = Frameworks; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXNativeTarget section */ - 97C146ED1CF9000F007C117D /* Runner */ = { - isa = PBXNativeTarget; - buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */; - buildPhases = ( - AC2BD8C60F3AA720CEA78FA3 /* [CP] Check Pods Manifest.lock */, - 9740EEB61CF901F6004384FC /* Run Script */, - 97C146EA1CF9000F007C117D /* Sources */, - 97C146EB1CF9000F007C117D /* Frameworks */, - 97C146EC1CF9000F007C117D /* Resources */, - 9705A1C41CF9048500538489 /* Embed Frameworks */, - 3B06AD1E1E4923F5004D2608 /* Thin Binary */, - 3E42446041C78F434168F902 /* [CP] Embed Pods Frameworks */, - 7A855ADEADAAB6F658B535DB /* [CP] Copy Pods Resources */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = Runner; - packageProductDependencies = ( - 78A3181F2AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage */, - ); - productName = Runner; - productReference = 97C146EE1CF9000F007C117D /* Runner.app */; - productType = "com.apple.product-type.application"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - 97C146E61CF9000F007C117D /* Project object */ = { - isa = PBXProject; - attributes = { - LastUpgradeCheck = 1510; - ORGANIZATIONNAME = "The Chromium Authors"; - TargetAttributes = { - 97C146ED1CF9000F007C117D = { - CreatedOnToolsVersion = 7.3.1; - ProvisioningStyle = Automatic; - }; - }; - }; - buildConfigurationList = 97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */; - compatibilityVersion = "Xcode 3.2"; - developmentRegion = en; - hasScannedForEncodings = 0; - knownRegions = ( - en, - Base, - ); - mainGroup = 97C146E51CF9000F007C117D; - packageReferences = ( - 781AD8BC2B33823900A9FFBB /* XCLocalSwiftPackageReference "Flutter/ephemeral/Packages/FlutterGeneratedPluginSwiftPackage" */, - ); - productRefGroup = 97C146EF1CF9000F007C117D /* Products */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - 97C146ED1CF9000F007C117D /* Runner */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXResourcesBuildPhase section */ - 97C146EC1CF9000F007C117D /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */, - 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */, - 25A01FAE278D905100D1E790 /* GoogleService-Info.plist in Resources */, - 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */, - 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */, - 081BFEF7D2871CF6AC71DD05 /* GoogleService-Info.plist in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXShellScriptBuildPhase section */ - 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { - isa = PBXShellScriptBuildPhase; - alwaysOutOfDate = 1; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}", - ); - name = "Thin Binary"; - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; - }; - 3E42446041C78F434168F902 /* [CP] Embed Pods Frameworks */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh", - "${BUILT_PRODUCTS_DIR}/AppAuth/AppAuth.framework", - "${BUILT_PRODUCTS_DIR}/FirebaseAppCheckInterop/FirebaseAppCheckInterop.framework", - "${BUILT_PRODUCTS_DIR}/FirebaseAuth/FirebaseAuth.framework", - "${BUILT_PRODUCTS_DIR}/FirebaseAuthInterop/FirebaseAuthInterop.framework", - "${BUILT_PRODUCTS_DIR}/FirebaseCore/FirebaseCore.framework", - "${BUILT_PRODUCTS_DIR}/FirebaseCoreExtension/FirebaseCoreExtension.framework", - "${BUILT_PRODUCTS_DIR}/FirebaseCoreInternal/FirebaseCoreInternal.framework", - "${BUILT_PRODUCTS_DIR}/FirebaseInstallations/FirebaseInstallations.framework", - "${BUILT_PRODUCTS_DIR}/FirebaseMessaging/FirebaseMessaging.framework", - "${BUILT_PRODUCTS_DIR}/GTMAppAuth/GTMAppAuth.framework", - "${BUILT_PRODUCTS_DIR}/GTMSessionFetcher/GTMSessionFetcher.framework", - "${BUILT_PRODUCTS_DIR}/GoogleDataTransport/GoogleDataTransport.framework", - "${BUILT_PRODUCTS_DIR}/GoogleSignIn/GoogleSignIn.framework", - "${BUILT_PRODUCTS_DIR}/GoogleUtilities/GoogleUtilities.framework", - "${BUILT_PRODUCTS_DIR}/PromisesObjC/FBLPromises.framework", - "${BUILT_PRODUCTS_DIR}/RecaptchaInterop/RecaptchaInterop.framework", - "${BUILT_PRODUCTS_DIR}/flutter_facebook_auth/flutter_facebook_auth.framework", - "${BUILT_PRODUCTS_DIR}/flutter_secure_storage/flutter_secure_storage.framework", - "${BUILT_PRODUCTS_DIR}/nanopb/nanopb.framework", - "${BUILT_PRODUCTS_DIR}/path_provider_foundation/path_provider_foundation.framework", - "${BUILT_PRODUCTS_DIR}/shared_preferences_foundation/shared_preferences_foundation.framework", - "${BUILT_PRODUCTS_DIR}/url_launcher_ios/url_launcher_ios.framework", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/FBAEMKit/FBAEMKit.framework/FBAEMKit", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/FBSDKCoreKit/FBSDKCoreKit.framework/FBSDKCoreKit", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/FBSDKCoreKit_Basics/FBSDKCoreKit_Basics.framework/FBSDKCoreKit_Basics", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/FBSDKLoginKit/FBSDKLoginKit.framework/FBSDKLoginKit", - ); - name = "[CP] Embed Pods Frameworks"; - outputPaths = ( - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/AppAuth.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FirebaseAppCheckInterop.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FirebaseAuth.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FirebaseAuthInterop.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FirebaseCore.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FirebaseCoreExtension.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FirebaseCoreInternal.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FirebaseInstallations.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FirebaseMessaging.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/GTMAppAuth.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/GTMSessionFetcher.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/GoogleDataTransport.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/GoogleSignIn.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/GoogleUtilities.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FBLPromises.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/RecaptchaInterop.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/flutter_facebook_auth.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/flutter_secure_storage.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/nanopb.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/path_provider_foundation.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/shared_preferences_foundation.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/url_launcher_ios.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FBAEMKit.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FBSDKCoreKit.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FBSDKCoreKit_Basics.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FBSDKLoginKit.framework", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; - showEnvVarsInLog = 0; - }; - 7A855ADEADAAB6F658B535DB /* [CP] Copy Pods Resources */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources.sh", - "${PODS_CONFIGURATION_BUILD_DIR}/firebase_messaging/firebase_messaging_Privacy.bundle", - "${PODS_CONFIGURATION_BUILD_DIR}/google_sign_in_ios/google_sign_in_ios_privacy.bundle", - ); - name = "[CP] Copy Pods Resources"; - outputPaths = ( - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/firebase_messaging_Privacy.bundle", - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/google_sign_in_ios_privacy.bundle", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources.sh\"\n"; - showEnvVarsInLog = 0; - }; - 9740EEB61CF901F6004384FC /* Run Script */ = { - isa = PBXShellScriptBuildPhase; - alwaysOutOfDate = 1; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - name = "Run Script"; - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build"; - }; - AC2BD8C60F3AA720CEA78FA3 /* [CP] Check Pods Manifest.lock */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; - outputFileListPaths = ( - ); - outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; - }; -/* End PBXShellScriptBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - 97C146EA1CF9000F007C117D /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 978B8F6F1D3862AE00F588F7 /* AppDelegate.m in Sources */, - 97C146F31CF9000F007C117D /* main.m in Sources */, - 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin PBXVariantGroup section */ - 97C146FA1CF9000F007C117D /* Main.storyboard */ = { - isa = PBXVariantGroup; - children = ( - 97C146FB1CF9000F007C117D /* Base */, - ); - name = Main.storyboard; - sourceTree = ""; - }; - 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */ = { - isa = PBXVariantGroup; - children = ( - 97C147001CF9000F007C117D /* Base */, - ); - name = LaunchScreen.storyboard; - sourceTree = ""; - }; -/* End PBXVariantGroup section */ - -/* Begin XCBuildConfiguration section */ - 249021D3217E4FDB00AE95B9 /* Profile */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - HEADER_SEARCH_PATHS = "\\\"${PODS_ROOT}/Headers\\\""; - IPHONEOS_DEPLOYMENT_TARGET = 15.0; - MTL_ENABLE_DEBUG_INFO = NO; - SDKROOT = iphoneos; - SUPPORTED_PLATFORMS = iphoneos; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - }; - name = Profile; - }; - 249021D4217E4FDB00AE95B9 /* Profile */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements; - CODE_SIGN_IDENTITY = "Apple Development"; - CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; - DEVELOPMENT_TEAM = YYX2P3XVJ7; - ENABLE_BITCODE = NO; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Flutter", - ); - INFOPLIST_FILE = Runner/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 15.0; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - LIBRARY_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Flutter", - ); - PRODUCT_BUNDLE_IDENTIFIER = io.flutter.plugins.firebase.auth.example; - PRODUCT_NAME = "$(TARGET_NAME)"; - PROVISIONING_PROFILE_SPECIFIER = ""; - VERSIONING_SYSTEM = "apple-generic"; - }; - name = Profile; - }; - 97C147031CF9000F007C117D /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = dwarf; - ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_TESTABILITY = YES; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_DYNAMIC_NO_PIC = NO; - GCC_NO_COMMON_BLOCKS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - HEADER_SEARCH_PATHS = "\\\"${PODS_ROOT}/Headers\\\""; - IPHONEOS_DEPLOYMENT_TARGET = 15.0; - MTL_ENABLE_DEBUG_INFO = YES; - ONLY_ACTIVE_ARCH = YES; - SDKROOT = iphoneos; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Debug; - }; - 97C147041CF9000F007C117D /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - HEADER_SEARCH_PATHS = "\\\"${PODS_ROOT}/Headers\\\""; - IPHONEOS_DEPLOYMENT_TARGET = 15.0; - MTL_ENABLE_DEBUG_INFO = NO; - SDKROOT = iphoneos; - SUPPORTED_PLATFORMS = iphoneos; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; - 97C147061CF9000F007C117D /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements; - CODE_SIGN_IDENTITY = "Apple Development"; - CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; - DEVELOPMENT_TEAM = YYX2P3XVJ7; - ENABLE_BITCODE = NO; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Flutter", - ); - INFOPLIST_FILE = Runner/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 15.0; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - LIBRARY_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Flutter", - ); - PRODUCT_BUNDLE_IDENTIFIER = io.flutter.plugins.firebase.auth.example; - PRODUCT_NAME = "$(TARGET_NAME)"; - PROVISIONING_PROFILE_SPECIFIER = ""; - VERSIONING_SYSTEM = "apple-generic"; - }; - name = Debug; - }; - 97C147071CF9000F007C117D /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements; - CODE_SIGN_IDENTITY = "Apple Development"; - CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; - DEVELOPMENT_TEAM = YYX2P3XVJ7; - ENABLE_BITCODE = NO; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Flutter", - ); - INFOPLIST_FILE = Runner/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 15.0; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - LIBRARY_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Flutter", - ); - PRODUCT_BUNDLE_IDENTIFIER = io.flutter.plugins.firebase.auth.example; - PRODUCT_NAME = "$(TARGET_NAME)"; - PROVISIONING_PROFILE_SPECIFIER = ""; - VERSIONING_SYSTEM = "apple-generic"; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 97C147031CF9000F007C117D /* Debug */, - 97C147041CF9000F007C117D /* Release */, - 249021D3217E4FDB00AE95B9 /* Profile */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 97C147061CF9000F007C117D /* Debug */, - 97C147071CF9000F007C117D /* Release */, - 249021D4217E4FDB00AE95B9 /* Profile */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - -/* Begin XCLocalSwiftPackageReference section */ - 781AD8BC2B33823900A9FFBB /* XCLocalSwiftPackageReference "Flutter/ephemeral/Packages/FlutterGeneratedPluginSwiftPackage" */ = { - isa = XCLocalSwiftPackageReference; - relativePath = Flutter/ephemeral/Packages/FlutterGeneratedPluginSwiftPackage; - }; -/* End XCLocalSwiftPackageReference section */ - -/* Begin XCSwiftPackageProductDependency section */ - 78A3181F2AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage */ = { - isa = XCSwiftPackageProductDependency; - productName = FlutterGeneratedPluginSwiftPackage; - }; -/* End XCSwiftPackageProductDependency section */ - }; - rootObject = 97C146E61CF9000F007C117D /* Project object */; -} diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata deleted file mode 100644 index 919434a6..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata +++ /dev/null @@ -1,7 +0,0 @@ - - - - - diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist deleted file mode 100644 index 18d98100..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +++ /dev/null @@ -1,8 +0,0 @@ - - - - - IDEDidComputeMac32BitWarning - - - diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings deleted file mode 100644 index f9b0d7c5..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings +++ /dev/null @@ -1,8 +0,0 @@ - - - - - PreviewsEnabled - - - diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme deleted file mode 100644 index fc5ae031..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/ios/Runner.xcworkspace/contents.xcworkspacedata b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/ios/Runner.xcworkspace/contents.xcworkspacedata deleted file mode 100644 index 21a3cc14..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/ios/Runner.xcworkspace/contents.xcworkspacedata +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist deleted file mode 100644 index 18d98100..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +++ /dev/null @@ -1,8 +0,0 @@ - - - - - IDEDidComputeMac32BitWarning - - - diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings deleted file mode 100644 index f9b0d7c5..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings +++ /dev/null @@ -1,8 +0,0 @@ - - - - - PreviewsEnabled - - - diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/AppDelegate.h b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/AppDelegate.h deleted file mode 100644 index 36e21bbf..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/AppDelegate.h +++ /dev/null @@ -1,6 +0,0 @@ -#import -#import - -@interface AppDelegate : FlutterAppDelegate - -@end diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/AppDelegate.m b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/AppDelegate.m deleted file mode 100644 index 70e83933..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/AppDelegate.m +++ /dev/null @@ -1,13 +0,0 @@ -#import "AppDelegate.h" -#import "GeneratedPluginRegistrant.h" - -@implementation AppDelegate - -- (BOOL)application:(UIApplication *)application - didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { - [GeneratedPluginRegistrant registerWithRegistry:self]; - // Override point for customization after application launch. - return [super application:application didFinishLaunchingWithOptions:launchOptions]; -} - -@end diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/AppDelegate.swift b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/AppDelegate.swift deleted file mode 100644 index 62666446..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/AppDelegate.swift +++ /dev/null @@ -1,13 +0,0 @@ -import Flutter -import UIKit - -@main -@objc class AppDelegate: FlutterAppDelegate { - override func application( - _ application: UIApplication, - didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? - ) -> Bool { - GeneratedPluginRegistrant.register(with: self) - return super.application(application, didFinishLaunchingWithOptions: launchOptions) - } -} diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json deleted file mode 100644 index d36b1fab..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json +++ /dev/null @@ -1,122 +0,0 @@ -{ - "images" : [ - { - "size" : "20x20", - "idiom" : "iphone", - "filename" : "Icon-App-20x20@2x.png", - "scale" : "2x" - }, - { - "size" : "20x20", - "idiom" : "iphone", - "filename" : "Icon-App-20x20@3x.png", - "scale" : "3x" - }, - { - "size" : "29x29", - "idiom" : "iphone", - "filename" : "Icon-App-29x29@1x.png", - "scale" : "1x" - }, - { - "size" : "29x29", - "idiom" : "iphone", - "filename" : "Icon-App-29x29@2x.png", - "scale" : "2x" - }, - { - "size" : "29x29", - "idiom" : "iphone", - "filename" : "Icon-App-29x29@3x.png", - "scale" : "3x" - }, - { - "size" : "40x40", - "idiom" : "iphone", - "filename" : "Icon-App-40x40@2x.png", - "scale" : "2x" - }, - { - "size" : "40x40", - "idiom" : "iphone", - "filename" : "Icon-App-40x40@3x.png", - "scale" : "3x" - }, - { - "size" : "60x60", - "idiom" : "iphone", - "filename" : "Icon-App-60x60@2x.png", - "scale" : "2x" - }, - { - "size" : "60x60", - "idiom" : "iphone", - "filename" : "Icon-App-60x60@3x.png", - "scale" : "3x" - }, - { - "size" : "20x20", - "idiom" : "ipad", - "filename" : "Icon-App-20x20@1x.png", - "scale" : "1x" - }, - { - "size" : "20x20", - "idiom" : "ipad", - "filename" : "Icon-App-20x20@2x.png", - "scale" : "2x" - }, - { - "size" : "29x29", - "idiom" : "ipad", - "filename" : "Icon-App-29x29@1x.png", - "scale" : "1x" - }, - { - "size" : "29x29", - "idiom" : "ipad", - "filename" : "Icon-App-29x29@2x.png", - "scale" : "2x" - }, - { - "size" : "40x40", - "idiom" : "ipad", - "filename" : "Icon-App-40x40@1x.png", - "scale" : "1x" - }, - { - "size" : "40x40", - "idiom" : "ipad", - "filename" : "Icon-App-40x40@2x.png", - "scale" : "2x" - }, - { - "size" : "76x76", - "idiom" : "ipad", - "filename" : "Icon-App-76x76@1x.png", - "scale" : "1x" - }, - { - "size" : "76x76", - "idiom" : "ipad", - "filename" : "Icon-App-76x76@2x.png", - "scale" : "2x" - }, - { - "size" : "83.5x83.5", - "idiom" : "ipad", - "filename" : "Icon-App-83.5x83.5@2x.png", - "scale" : "2x" - }, - { - "size" : "1024x1024", - "idiom" : "ios-marketing", - "filename" : "Icon-App-1024x1024@1x.png", - "scale" : "1x" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png deleted file mode 100644 index dc9ada47..00000000 Binary files a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png and /dev/null differ diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png deleted file mode 100644 index 28c6bf03..00000000 Binary files a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png and /dev/null differ diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png deleted file mode 100644 index 2ccbfd96..00000000 Binary files a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png and /dev/null differ diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png deleted file mode 100644 index f091b6b0..00000000 Binary files a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png and /dev/null differ diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png deleted file mode 100644 index 4cde1211..00000000 Binary files a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png and /dev/null differ diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png deleted file mode 100644 index d0ef06e7..00000000 Binary files a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png and /dev/null differ diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png deleted file mode 100644 index dcdc2306..00000000 Binary files a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png and /dev/null differ diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png deleted file mode 100644 index 2ccbfd96..00000000 Binary files a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png and /dev/null differ diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png deleted file mode 100644 index c8f9ed8f..00000000 Binary files a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png and /dev/null differ diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png deleted file mode 100644 index a6d6b860..00000000 Binary files a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png and /dev/null differ diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png deleted file mode 100644 index a6d6b860..00000000 Binary files a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png and /dev/null differ diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png deleted file mode 100644 index 75b2d164..00000000 Binary files a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png and /dev/null differ diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png deleted file mode 100644 index c4df70d3..00000000 Binary files a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png and /dev/null differ diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png deleted file mode 100644 index 6a84f41e..00000000 Binary files a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png and /dev/null differ diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png deleted file mode 100644 index d0e1f585..00000000 Binary files a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png and /dev/null differ diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json deleted file mode 100644 index 0bedcf2f..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "images" : [ - { - "idiom" : "universal", - "filename" : "LaunchImage.png", - "scale" : "1x" - }, - { - "idiom" : "universal", - "filename" : "LaunchImage@2x.png", - "scale" : "2x" - }, - { - "idiom" : "universal", - "filename" : "LaunchImage@3x.png", - "scale" : "3x" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png deleted file mode 100644 index 9da19eac..00000000 Binary files a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png and /dev/null differ diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png deleted file mode 100644 index 9da19eac..00000000 Binary files a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png and /dev/null differ diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png deleted file mode 100644 index 9da19eac..00000000 Binary files a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png and /dev/null differ diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md deleted file mode 100644 index 89c2725b..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md +++ /dev/null @@ -1,5 +0,0 @@ -# Launch Screen Assets - -You can customize the launch screen with your own desired assets by replacing the image files in this directory. - -You can also do it by opening your Flutter project's Xcode project with `open ios/Runner.xcworkspace`, selecting `Runner/Assets.xcassets` in the Project Navigator and dropping in the desired images. \ No newline at end of file diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Base.lproj/LaunchScreen.storyboard b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Base.lproj/LaunchScreen.storyboard deleted file mode 100644 index f2e259c7..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Base.lproj/LaunchScreen.storyboard +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Base.lproj/Main.storyboard b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Base.lproj/Main.storyboard deleted file mode 100644 index f3c28516..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Base.lproj/Main.storyboard +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/GoogleService-Info.plist b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/GoogleService-Info.plist deleted file mode 100644 index f325ead9..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/GoogleService-Info.plist +++ /dev/null @@ -1,38 +0,0 @@ - - - - - CLIENT_ID - 406099696497-134k3722m01rtrsklhf3b7k8sqa5r7in.apps.googleusercontent.com - REVERSED_CLIENT_ID - com.googleusercontent.apps.406099696497-134k3722m01rtrsklhf3b7k8sqa5r7in - ANDROID_CLIENT_ID - 406099696497-17qn06u8a0dc717u8ul7s49ampk13lul.apps.googleusercontent.com - API_KEY - AIzaSyDooSUGSf63Ghq02_iIhtnmwMDs4HlWS6c - GCM_SENDER_ID - 406099696497 - PLIST_VERSION - 1 - BUNDLE_ID - io.flutter.plugins.firebase.auth.example - PROJECT_ID - flutterfire-e2e-tests - STORAGE_BUCKET - flutterfire-e2e-tests.appspot.com - IS_ADS_ENABLED - - IS_ANALYTICS_ENABLED - - IS_APPINVITE_ENABLED - - IS_GCM_ENABLED - - IS_SIGNIN_ENABLED - - GOOGLE_APP_ID - 1:406099696497:ios:58cbc26aca8e5cf83574d0 - DATABASE_URL - https://flutterfire-e2e-tests-default-rtdb.europe-west1.firebasedatabase.app - - \ No newline at end of file diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Info.plist b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Info.plist deleted file mode 100644 index e1ffa4fe..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Info.plist +++ /dev/null @@ -1,98 +0,0 @@ - - - - - CADisableMinimumFrameDurationOnPhone - - CFBundleDevelopmentRegion - $(DEVELOPMENT_LANGUAGE) - CFBundleDisplayName - Firebase Auth Example - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - firebase_auth_example - CFBundlePackageType - APPL - CFBundleShortVersionString - $(FLUTTER_BUILD_NAME) - CFBundleSignature - ???? - FacebookAppID - 128693022464535 - - FacebookClientToken - 16dbbdf0cfb309034a6ad98ac2a21688 - CFBundleURLTypes - - - CFBundleTypeRole - Editor - CFBundleURLSchemes - - com.googleusercontent.apps.406099696497-134k3722m01rtrsklhf3b7k8sqa5r7in - fb128693022464535 - - - - CFBundleVersion - $(FLUTTER_BUILD_NUMBER) - LSRequiresIPhoneOS - - NSAppTransportSecurity - - NSAllowsArbitraryLoads - - - UILaunchStoryboardName - LaunchScreen - UIMainStoryboardFile - Main - UIRequiredDeviceCapabilities - - arm64 - - UISupportedInterfaceOrientations - - UIInterfaceOrientationPortrait - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - UISupportedInterfaceOrientations~ipad - - UIInterfaceOrientationPortrait - UIInterfaceOrientationPortraitUpsideDown - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - UIViewControllerBasedStatusBarAppearance - - UIApplicationSupportsIndirectInputEvents - - UIApplicationSceneManifest - - UIApplicationSupportsMultipleScenes - - UISceneConfigurations - - UIWindowSceneSessionRoleApplication - - - UISceneClassName - UIWindowScene - UISceneDelegateClassName - FlutterSceneDelegate - UISceneConfigurationName - flutter - UISceneStoryboardFile - Main - - - - - - diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Runner-Bridging-Header.h b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Runner-Bridging-Header.h deleted file mode 100644 index 308a2a56..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Runner-Bridging-Header.h +++ /dev/null @@ -1 +0,0 @@ -#import "GeneratedPluginRegistrant.h" diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Runner.entitlements b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Runner.entitlements deleted file mode 100644 index 16c5d9e0..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/Runner.entitlements +++ /dev/null @@ -1,14 +0,0 @@ - - - - - aps-environment - development - com.apple.developer.applesignin - - Default - - com.apple.developer.game-center - - - diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/main.m b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/main.m deleted file mode 100644 index dff6597e..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/ios/Runner/main.m +++ /dev/null @@ -1,9 +0,0 @@ -#import -#import -#import "AppDelegate.h" - -int main(int argc, char* argv[]) { - @autoreleasepool { - return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); - } -} diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/ios/firebase_app_id_file.json b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/ios/firebase_app_id_file.json deleted file mode 100644 index eaca8edd..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/ios/firebase_app_id_file.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "file_generated_by": "FlutterFire CLI", - "purpose": "FirebaseAppID & ProjectID for this Firebase app in this directory", - "GOOGLE_APP_ID": "1:406099696497:ios:58cbc26aca8e5cf83574d0", - "FIREBASE_PROJECT_ID": "flutterfire-e2e-tests", - "GCM_SENDER_ID": "406099696497" -} \ No newline at end of file diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/lib/auth.dart b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/lib/auth.dart deleted file mode 100644 index b78c948e..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/lib/auth.dart +++ /dev/null @@ -1,748 +0,0 @@ -// Copyright 2022, the Chromium project authors. Please see the AUTHORS file -// for details. All rights reserved. Use of this source code is governed by a -// BSD-style license that can be found in the LICENSE file. - -import 'dart:io'; - -import 'package:barcode_widget/barcode_widget.dart'; -import 'package:collection/collection.dart'; -import 'package:firebase_auth/firebase_auth.dart'; -import 'package:firebase_auth_example/main.dart'; -import 'package:firebase_messaging/firebase_messaging.dart'; -import 'package:flutter/foundation.dart'; -import 'package:flutter/gestures.dart'; -import 'package:flutter/material.dart'; -import 'package:flutter_facebook_auth/flutter_facebook_auth.dart'; -import 'package:flutter_signin_button/flutter_signin_button.dart'; -import 'package:google_sign_in/google_sign_in.dart'; - -typedef OAuthSignIn = void Function(); - -// If set to true, the app will request notification permissions to use -// silent verification for SMS MFA instead of Recaptcha. -const withSilentVerificationSMSMFA = true; - -/// Helper class to show a snackbar using the passed context. -class ScaffoldSnackbar { - // ignore: public_member_api_docs - ScaffoldSnackbar(this._context); - - /// The scaffold of current context. - factory ScaffoldSnackbar.of(BuildContext context) { - return ScaffoldSnackbar(context); - } - - final BuildContext _context; - - /// Helper method to show a SnackBar. - void show(String message) { - ScaffoldMessenger.of(_context) - ..hideCurrentSnackBar() - ..showSnackBar( - SnackBar( - content: Text(message), - behavior: SnackBarBehavior.floating, - ), - ); - } -} - -/// The mode of the current auth session, either [AuthMode.login] or [AuthMode.register]. -// ignore: public_member_api_docs -enum AuthMode { login, register, phone } - -extension on AuthMode { - String get label => this == AuthMode.login - ? 'Sign in' - : this == AuthMode.phone - ? 'Sign in' - : 'Register'; -} - -/// Entrypoint example for various sign-in flows with Firebase. -class AuthGate extends StatefulWidget { - // ignore: public_member_api_docs - const AuthGate({Key? key}) : super(key: key); - static String? appleAuthorizationCode; - @override - State createState() => _AuthGateState(); -} - -class _AuthGateState extends State { - TextEditingController emailController = TextEditingController(); - TextEditingController passwordController = TextEditingController(); - TextEditingController phoneController = TextEditingController(); - - GlobalKey formKey = GlobalKey(); - String error = ''; - String verificationId = ''; - - AuthMode mode = AuthMode.login; - - bool isLoading = false; - - void setIsLoading() { - setState(() { - isLoading = !isLoading; - }); - } - - late Map authButtons; - - @override - void initState() { - super.initState(); - - if (withSilentVerificationSMSMFA && !kIsWeb) { - FirebaseMessaging messaging = FirebaseMessaging.instance; - messaging.requestPermission(); - } - - if (!kIsWeb && Platform.isMacOS) { - authButtons = { - Buttons.Apple: () => _handleMultiFactorException( - _signInWithApple, - ), - }; - } else { - authButtons = { - Buttons.Apple: () => _handleMultiFactorException( - _signInWithApple, - ), - Buttons.Google: () => _handleMultiFactorException( - _signInWithGoogle, - ), - Buttons.GitHub: () => _handleMultiFactorException( - _signInWithGitHub, - ), - Buttons.Microsoft: () => _handleMultiFactorException( - _signInWithMicrosoft, - ), - Buttons.Twitter: () => _handleMultiFactorException( - _signInWithTwitter, - ), - Buttons.Yahoo: () => _handleMultiFactorException( - _signInWithYahoo, - ), - Buttons.Facebook: () => _handleMultiFactorException( - _signInWithFacebook, - ), - }; - } - } - - @override - Widget build(BuildContext context) { - return GestureDetector( - onTap: FocusScope.of(context).unfocus, - child: Scaffold( - body: Center( - child: SingleChildScrollView( - child: Center( - child: Padding( - padding: const EdgeInsets.symmetric(horizontal: 20), - child: SafeArea( - child: Form( - key: formKey, - autovalidateMode: AutovalidateMode.onUserInteraction, - child: ConstrainedBox( - constraints: const BoxConstraints(maxWidth: 400), - child: Column( - mainAxisAlignment: MainAxisAlignment.center, - children: [ - Visibility( - visible: error.isNotEmpty, - child: MaterialBanner( - backgroundColor: - Theme.of(context).colorScheme.error, - content: SelectableText(error), - actions: [ - TextButton( - onPressed: () { - setState(() { - error = ''; - }); - }, - child: const Text( - 'dismiss', - style: TextStyle(color: Colors.white), - ), - ), - ], - contentTextStyle: - const TextStyle(color: Colors.white), - padding: const EdgeInsets.all(10), - ), - ), - const SizedBox(height: 20), - if (mode != AuthMode.phone) - Column( - children: [ - TextFormField( - controller: emailController, - decoration: const InputDecoration( - hintText: 'Email', - border: OutlineInputBorder(), - ), - keyboardType: TextInputType.emailAddress, - autofillHints: const [AutofillHints.email], - validator: (value) => - value != null && value.isNotEmpty - ? null - : 'Required', - ), - const SizedBox(height: 20), - TextFormField( - controller: passwordController, - obscureText: true, - decoration: const InputDecoration( - hintText: 'Password', - border: OutlineInputBorder(), - ), - validator: (value) => - value != null && value.isNotEmpty - ? null - : 'Required', - ), - ], - ), - if (mode == AuthMode.phone) - TextFormField( - controller: phoneController, - decoration: const InputDecoration( - hintText: '+12345678910', - labelText: 'Phone number', - border: OutlineInputBorder(), - ), - validator: (value) => - value != null && value.isNotEmpty - ? null - : 'Required', - ), - const SizedBox(height: 20), - SizedBox( - width: double.infinity, - height: 50, - child: ElevatedButton( - onPressed: isLoading - ? null - : () => _handleMultiFactorException( - _emailAndPassword, - ), - child: isLoading - ? const CircularProgressIndicator.adaptive() - : Text(mode.label), - ), - ), - TextButton( - onPressed: _resetPassword, - child: const Text('Forgot password?'), - ), - ...authButtons.keys - .map( - (button) => Padding( - padding: - const EdgeInsets.symmetric(vertical: 5), - child: AnimatedSwitcher( - duration: const Duration(milliseconds: 200), - child: isLoading - ? Container( - color: Colors.grey[200], - height: 50, - width: double.infinity, - ) - : SizedBox( - width: double.infinity, - height: 50, - child: SignInButton( - button, - onPressed: authButtons[button], - ), - ), - ), - ), - ) - .toList(), - SizedBox( - width: double.infinity, - height: 50, - child: OutlinedButton( - onPressed: isLoading - ? null - : () { - if (mode != AuthMode.phone) { - setState(() { - mode = AuthMode.phone; - }); - } else { - setState(() { - mode = AuthMode.login; - }); - } - }, - child: isLoading - ? const CircularProgressIndicator.adaptive() - : Text( - mode != AuthMode.phone - ? 'Sign in with Phone Number' - : 'Sign in with Email and Password', - ), - ), - ), - const SizedBox(height: 20), - if (mode != AuthMode.phone) - RichText( - text: TextSpan( - style: Theme.of(context).textTheme.bodyLarge, - children: [ - TextSpan( - text: mode == AuthMode.login - ? "Don't have an account? " - : 'You have an account? ', - ), - TextSpan( - text: mode == AuthMode.login - ? 'Register now' - : 'Click to login', - style: const TextStyle(color: Colors.blue), - recognizer: TapGestureRecognizer() - ..onTap = () { - setState(() { - mode = mode == AuthMode.login - ? AuthMode.register - : AuthMode.login; - }); - }, - ), - ], - ), - ), - const SizedBox(height: 10), - RichText( - text: TextSpan( - style: Theme.of(context).textTheme.bodyLarge, - children: [ - const TextSpan(text: 'Or '), - TextSpan( - text: 'continue as guest', - style: const TextStyle(color: Colors.blue), - recognizer: TapGestureRecognizer() - ..onTap = _anonymousAuth, - ), - ], - ), - ), - ], - ), - ), - ), - ), - ), - ), - ), - ), - ), - ); - } - - Future _resetPassword() async { - String? email; - await showDialog( - context: context, - builder: (context) { - return AlertDialog( - actions: [ - TextButton( - onPressed: () { - Navigator.of(context).pop(); - }, - child: const Text('Send'), - ), - ], - content: Column( - crossAxisAlignment: CrossAxisAlignment.start, - mainAxisSize: MainAxisSize.min, - children: [ - const Text('Enter your email'), - const SizedBox(height: 20), - TextFormField( - onChanged: (value) { - email = value; - }, - ), - ], - ), - ); - }, - ); - - if (email != null) { - try { - await auth.sendPasswordResetEmail(email: email!); - ScaffoldSnackbar.of(context).show('Password reset email is sent'); - } catch (e) { - ScaffoldSnackbar.of(context).show('Error resetting'); - } - } - } - - Future _anonymousAuth() async { - setIsLoading(); - - try { - await auth.signInAnonymously(); - } on FirebaseAuthException catch (e) { - setState(() { - error = '${e.message}'; - }); - } catch (e) { - setState(() { - error = '$e'; - }); - } finally { - setIsLoading(); - } - } - - Future _handleMultiFactorException( - Future Function() authFunction, - ) async { - setIsLoading(); - try { - await authFunction(); - } on FirebaseAuthMultiFactorException catch (e) { - setState(() { - error = '${e.message}'; - }); - final firstTotpHint = e.resolver.hints - .firstWhereOrNull((element) => element is TotpMultiFactorInfo); - if (firstTotpHint != null) { - final code = await getSmsCodeFromUser(context); - final assertion = await TotpMultiFactorGenerator.getAssertionForSignIn( - firstTotpHint.uid, - code!, - ); - await e.resolver.resolveSignIn(assertion); - return; - } - - final firstPhoneHint = e.resolver.hints - .firstWhereOrNull((element) => element is PhoneMultiFactorInfo); - - if (firstPhoneHint is! PhoneMultiFactorInfo) { - return; - } - await auth.verifyPhoneNumber( - multiFactorSession: e.resolver.session, - multiFactorInfo: firstPhoneHint, - verificationCompleted: (_) {}, - verificationFailed: print, - codeSent: (String verificationId, int? resendToken) async { - final smsCode = await getSmsCodeFromUser(context); - - if (smsCode != null) { - // Create a PhoneAuthCredential with the code - final credential = PhoneAuthProvider.credential( - verificationId: verificationId, - smsCode: smsCode, - ); - - try { - await e.resolver.resolveSignIn( - PhoneMultiFactorGenerator.getAssertion( - credential, - ), - ); - } on FirebaseAuthException catch (e) { - print(e.message); - } - } - }, - codeAutoRetrievalTimeout: print, - ); - } on FirebaseAuthException catch (e) { - setState(() { - error = '${e.message}'; - }); - } catch (e) { - setState(() { - error = '$e'; - }); - } - setIsLoading(); - } - - Future _emailAndPassword() async { - if (formKey.currentState?.validate() ?? false) { - if (mode == AuthMode.login) { - await auth.signInWithEmailAndPassword( - email: emailController.text, - password: passwordController.text, - ); - } else if (mode == AuthMode.register) { - await auth.createUserWithEmailAndPassword( - email: emailController.text, - password: passwordController.text, - ); - } else { - await _phoneAuth(); - } - } - } - - Future _phoneAuth() async { - if (mode != AuthMode.phone) { - setState(() { - mode = AuthMode.phone; - }); - } else { - if (kIsWeb) { - final confirmationResult = - await auth.signInWithPhoneNumber(phoneController.text); - final smsCode = await getSmsCodeFromUser(context); - - if (smsCode != null) { - await confirmationResult.confirm(smsCode); - } - } else { - await auth.verifyPhoneNumber( - phoneNumber: phoneController.text, - verificationCompleted: (_) {}, - verificationFailed: (e) { - setState(() { - error = '${e.message}'; - }); - }, - codeSent: (String verificationId, int? resendToken) async { - final smsCode = await getSmsCodeFromUser(context); - - if (smsCode != null) { - // Create a PhoneAuthCredential with the code - final credential = PhoneAuthProvider.credential( - verificationId: verificationId, - smsCode: smsCode, - ); - - try { - // Sign the user in (or link) with the credential - await auth.signInWithCredential(credential); - } on FirebaseAuthException catch (e) { - setState(() { - error = e.message ?? ''; - }); - } - } - }, - codeAutoRetrievalTimeout: (e) { - setState(() { - error = e; - }); - }, - ); - } - } - } - - Future _signInWithGoogle() async { - // Trigger the authentication flow - final googleUser = await GoogleSignIn().signIn(); - - // Obtain the auth details from the request - final googleAuth = await googleUser?.authentication; - - if (googleAuth != null) { - // Create a new credential - final credential = GoogleAuthProvider.credential( - accessToken: googleAuth.accessToken, - idToken: googleAuth.idToken, - ); - - // Once signed in, return the UserCredential - await auth.signInWithCredential(credential); - } - } - - Future _signInWithFacebook() async { - // Trigger the authentication flow - // by default we request the email and the public profile - final LoginResult result = await FacebookAuth.instance.login(); - - if (result.status == LoginStatus.success) { - // Get access token - final AccessToken accessToken = result.accessToken!; - - // Login with token - await auth.signInWithCredential( - FacebookAuthProvider.credential(accessToken.tokenString), - ); - } else { - print('Facebook login did not succeed'); - print(result.status); - print(result.message); - } - } -} - -Future _signInWithTwitter() async { - TwitterAuthProvider twitterProvider = TwitterAuthProvider(); - - if (kIsWeb) { - await auth.signInWithPopup(twitterProvider); - } else { - await auth.signInWithProvider(twitterProvider); - } -} - -Future _signInWithApple() async { - final appleProvider = AppleAuthProvider(); - appleProvider.addScope('email'); - - if (kIsWeb) { - // Once signed in, return the UserCredential - await auth.signInWithPopup(appleProvider); - } else { - final userCred = await auth.signInWithProvider(appleProvider); - AuthGate.appleAuthorizationCode = - userCred.additionalUserInfo?.authorizationCode; - } -} - -Future _signInWithYahoo() async { - final yahooProvider = YahooAuthProvider(); - - if (kIsWeb) { - // Once signed in, return the UserCredential - await auth.signInWithPopup(yahooProvider); - } else { - await auth.signInWithProvider(yahooProvider); - } -} - -Future _signInWithGitHub() async { - final githubProvider = GithubAuthProvider(); - - if (kIsWeb) { - await auth.signInWithPopup(githubProvider); - } else { - await auth.signInWithProvider(githubProvider); - } -} - -Future _signInWithMicrosoft() async { - final microsoftProvider = MicrosoftAuthProvider(); - - if (kIsWeb) { - await auth.signInWithPopup(microsoftProvider); - } else { - await auth.signInWithProvider(microsoftProvider); - } -} - -Future getSmsCodeFromUser(BuildContext context) async { - String? smsCode; - - // Update the UI - wait for the user to enter the SMS code - await showDialog( - context: context, - barrierDismissible: false, - builder: (context) { - return AlertDialog( - title: const Text('SMS code:'), - actions: [ - ElevatedButton( - onPressed: () { - Navigator.of(context).pop(); - }, - child: const Text('Sign in'), - ), - OutlinedButton( - onPressed: () { - smsCode = null; - Navigator.of(context).pop(); - }, - child: const Text('Cancel'), - ), - ], - content: Container( - padding: const EdgeInsets.all(20), - child: TextField( - onChanged: (value) { - smsCode = value; - }, - textAlign: TextAlign.center, - autofocus: true, - ), - ), - ); - }, - ); - - return smsCode; -} - -Future getTotpFromUser( - BuildContext context, - TotpSecret totpSecret, -) async { - String? smsCode; - - final qrCodeUrl = await totpSecret.generateQrCodeUrl( - accountName: FirebaseAuth.instance.currentUser!.email, - issuer: 'Firebase', - ); - - // Update the UI - wait for the user to enter the SMS code - await showDialog( - context: context, - barrierDismissible: false, - builder: (context) { - return AlertDialog( - title: const Text('TOTP code:'), - content: Container( - padding: const EdgeInsets.all(20), - child: Column( - mainAxisSize: MainAxisSize.min, - children: [ - BarcodeWidget( - barcode: Barcode.qrCode(), - data: qrCodeUrl, - width: 150, - height: 150, - ), - TextField( - onChanged: (value) { - smsCode = value; - }, - textAlign: TextAlign.center, - autofocus: true, - ), - ElevatedButton( - onPressed: () { - totpSecret.openInOtpApp(qrCodeUrl); - }, - child: const Text('Open in OTP App'), - ), - ], - ), - ), - actions: [ - ElevatedButton( - onPressed: () { - Navigator.of(context).pop(); - }, - child: const Text('Sign in'), - ), - OutlinedButton( - onPressed: () { - smsCode = null; - Navigator.of(context).pop(); - }, - child: const Text('Cancel'), - ), - ], - ); - }, - ); - - return smsCode; -} diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/lib/firebase_options.dart b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/lib/firebase_options.dart deleted file mode 100644 index ba1a88dc..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/lib/firebase_options.dart +++ /dev/null @@ -1,98 +0,0 @@ -// Copyright 2022, the Chromium project authors. Please see the AUTHORS file -// for details. All rights reserved. Use of this source code is governed by a -// BSD-style license that can be found in the LICENSE file. - -// File generated by FlutterFire CLI. -// ignore_for_file: lines_longer_than_80_chars, avoid_classes_with_only_static_members -import 'package:firebase_core/firebase_core.dart' show FirebaseOptions; -import 'package:flutter/foundation.dart' - show defaultTargetPlatform, kIsWeb, TargetPlatform; - -/// Default [FirebaseOptions] for use with your Firebase apps. -/// -/// Example: -/// ```dart -/// import 'firebase_options.dart'; -/// // ... -/// await Firebase.initializeApp( -/// options: DefaultFirebaseOptions.currentPlatform, -/// ); -/// ``` -class DefaultFirebaseOptions { - static FirebaseOptions get currentPlatform { - if (kIsWeb) { - return web; - } - switch (defaultTargetPlatform) { - case TargetPlatform.android: - return android; - case TargetPlatform.iOS: - return ios; - case TargetPlatform.macOS: - return macos; - case TargetPlatform.windows: - return macos; - case TargetPlatform.linux: - throw UnsupportedError( - 'DefaultFirebaseOptions have not been configured for linux - ' - 'you can reconfigure this by running the FlutterFire CLI again.', - ); - default: - throw UnsupportedError( - 'DefaultFirebaseOptions are not supported for this platform.', - ); - } - } - - static const FirebaseOptions web = FirebaseOptions( - apiKey: 'AIzaSyB7wZb2tO1-Fs6GbDADUSTs2Qs3w08Hovw', - appId: '1:406099696497:web:87e25e51afe982cd3574d0', - messagingSenderId: '406099696497', - projectId: 'flutterfire-e2e-tests', - authDomain: 'flutterfire-e2e-tests.firebaseapp.com', - databaseURL: - 'https://flutterfire-e2e-tests-default-rtdb.europe-west1.firebasedatabase.app', - storageBucket: 'flutterfire-e2e-tests.appspot.com', - measurementId: 'G-JN95N1JV2E', - ); - - static const FirebaseOptions android = FirebaseOptions( - apiKey: 'AIzaSyCdRjCVZlhrq72RuEklEyyxYlBRCYhI2Sw', - appId: '1:406099696497:android:21d5142deea38dda3574d0', - messagingSenderId: '406099696497', - projectId: 'flutterfire-e2e-tests', - databaseURL: - 'https://flutterfire-e2e-tests-default-rtdb.europe-west1.firebasedatabase.app', - storageBucket: 'flutterfire-e2e-tests.appspot.com', - ); - - static const FirebaseOptions ios = FirebaseOptions( - apiKey: 'AIzaSyDooSUGSf63Ghq02_iIhtnmwMDs4HlWS6c', - appId: '1:406099696497:ios:58cbc26aca8e5cf83574d0', - messagingSenderId: '406099696497', - projectId: 'flutterfire-e2e-tests', - databaseURL: - 'https://flutterfire-e2e-tests-default-rtdb.europe-west1.firebasedatabase.app', - storageBucket: 'flutterfire-e2e-tests.appspot.com', - androidClientId: - '406099696497-17qn06u8a0dc717u8ul7s49ampk13lul.apps.googleusercontent.com', - iosClientId: - '406099696497-134k3722m01rtrsklhf3b7k8sqa5r7in.apps.googleusercontent.com', - iosBundleId: 'io.flutter.plugins.firebase.auth.example', - ); - - static const FirebaseOptions macos = FirebaseOptions( - apiKey: 'AIzaSyDooSUGSf63Ghq02_iIhtnmwMDs4HlWS6c', - appId: '1:406099696497:ios:58cbc26aca8e5cf83574d0', - messagingSenderId: '406099696497', - projectId: 'flutterfire-e2e-tests', - databaseURL: - 'https://flutterfire-e2e-tests-default-rtdb.europe-west1.firebasedatabase.app', - storageBucket: 'flutterfire-e2e-tests.appspot.com', - androidClientId: - '406099696497-17qn06u8a0dc717u8ul7s49ampk13lul.apps.googleusercontent.com', - iosClientId: - '406099696497-134k3722m01rtrsklhf3b7k8sqa5r7in.apps.googleusercontent.com', - iosBundleId: 'io.flutter.plugins.firebase.auth.example', - ); -} diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/lib/main.dart b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/lib/main.dart deleted file mode 100755 index 630c282d..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/lib/main.dart +++ /dev/null @@ -1,108 +0,0 @@ -// Copyright 2022, the Chromium project authors. Please see the AUTHORS file -// for details. All rights reserved. Use of this source code is governed by a -// BSD-style license that can be found in the LICENSE file. - -import 'dart:io'; - -import 'package:firebase_auth/firebase_auth.dart'; -import 'package:firebase_core/firebase_core.dart'; -import 'package:flutter/foundation.dart'; -import 'package:flutter/material.dart'; -import 'package:google_sign_in_dartio/google_sign_in_dartio.dart'; - -import 'auth.dart'; -import 'firebase_options.dart'; -import 'profile.dart'; - -/// Requires that a Firebase local emulator is running locally. -/// See https://firebase.google.com/docs/auth/flutter/start#optional_prototype_and_test_with_firebase_local_emulator_suite -bool shouldUseFirebaseEmulator = false; - -late final FirebaseApp app; -late final FirebaseAuth auth; - -// Requires that the Firebase Auth emulator is running locally -// e.g via `melos run firebase:emulator`. -Future main() async { - WidgetsFlutterBinding.ensureInitialized(); - // We're using the manual installation on non-web platforms since Google sign in plugin doesn't yet support Dart initialization. - // See related issue: https://github.com/flutter/flutter/issues/96391 - - // We store the app and auth to make testing with a named instance easier. - app = await Firebase.initializeApp( - options: DefaultFirebaseOptions.currentPlatform, - ); - auth = FirebaseAuth.instanceFor(app: app); - - if (shouldUseFirebaseEmulator) { - await auth.useAuthEmulator('localhost', 9099); - } - - if (!kIsWeb && Platform.isWindows) { - await GoogleSignInDart.register( - clientId: - '406099696497-g5o9l0blii9970bgmfcfv14pioj90djd.apps.googleusercontent.com', - ); - } - - runApp(const AuthExampleApp()); -} - -/// The entry point of the application. -/// -/// Returns a [MaterialApp]. -class AuthExampleApp extends StatelessWidget { - const AuthExampleApp({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return MaterialApp( - title: 'Firebase Example App', - theme: ThemeData(primarySwatch: Colors.amber), - home: Scaffold( - body: LayoutBuilder( - builder: (context, constraints) { - return Row( - children: [ - Visibility( - visible: constraints.maxWidth >= 1200, - child: Expanded( - child: Container( - height: double.infinity, - color: Theme.of(context).colorScheme.primary, - child: Center( - child: Column( - mainAxisAlignment: MainAxisAlignment.center, - children: [ - Text( - 'Firebase Auth Desktop', - style: Theme.of(context).textTheme.headlineMedium, - ), - ], - ), - ), - ), - ), - ), - SizedBox( - width: constraints.maxWidth >= 1200 - ? constraints.maxWidth / 2 - : constraints.maxWidth, - child: StreamBuilder( - stream: auth.authStateChanges(), - builder: (context, snapshot) { - if (snapshot.hasData) { - return const ProfilePage(); - } - return const AuthGate(); - }, - ), - ), - ], - ); - }, - ), - ), - ); - } -} diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/lib/profile.dart b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/lib/profile.dart deleted file mode 100644 index 3ccbf5db..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/lib/profile.dart +++ /dev/null @@ -1,391 +0,0 @@ -// Copyright 2022, the Chromium project authors. Please see the AUTHORS file -// for details. All rights reserved. Use of this source code is governed by a -// BSD-style license that can be found in the LICENSE file. - -import 'dart:developer'; - -import 'package:collection/collection.dart'; -import 'package:firebase_auth/firebase_auth.dart'; -import 'package:firebase_auth_example/main.dart'; -import 'package:flutter/material.dart'; -import 'package:google_sign_in/google_sign_in.dart'; - -import 'auth.dart'; - -/// Displayed as a profile image if the user doesn't have one. -const placeholderImage = - 'https://upload.wikimedia.org/wikipedia/commons/c/cd/Portrait_Placeholder_Square.png'; - -/// Profile page shows after sign in or registration. -class ProfilePage extends StatefulWidget { - // ignore: public_member_api_docs - const ProfilePage({Key? key}) : super(key: key); - - @override - // ignore: library_private_types_in_public_api - _ProfilePageState createState() => _ProfilePageState(); -} - -class _ProfilePageState extends State { - late User user; - late TextEditingController controller; - final phoneController = TextEditingController(); - - String? photoURL; - - bool showSaveButton = false; - bool isLoading = false; - - @override - void initState() { - user = auth.currentUser!; - controller = TextEditingController(text: user.displayName); - - controller.addListener(_onNameChanged); - - auth.userChanges().listen((event) { - if (event != null && mounted) { - setState(() { - user = event; - }); - } - }); - - log(user.toString()); - - super.initState(); - } - - @override - void dispose() { - controller.removeListener(_onNameChanged); - - super.dispose(); - } - - void setIsLoading() { - setState(() { - isLoading = !isLoading; - }); - } - - void _onNameChanged() { - setState(() { - if (controller.text == user.displayName || controller.text.isEmpty) { - showSaveButton = false; - } else { - showSaveButton = true; - } - }); - } - - /// Map User provider data into a list of Provider Ids. - List get userProviders => user.providerData.map((e) => e.providerId).toList(); - - Future updateDisplayName() async { - await user.updateDisplayName(controller.text); - - setState(() { - showSaveButton = false; - }); - - // ignore: use_build_context_synchronously - ScaffoldSnackbar.of(context).show('Name updated'); - } - - @override - Widget build(BuildContext context) { - return GestureDetector( - onTap: FocusScope.of(context).unfocus, - child: Scaffold( - body: Stack( - children: [ - Center( - child: SizedBox( - width: 400, - child: SingleChildScrollView( - child: Column( - mainAxisAlignment: MainAxisAlignment.center, - children: [ - Stack( - children: [ - CircleAvatar( - maxRadius: 60, - backgroundImage: NetworkImage( - user.photoURL ?? placeholderImage, - ), - ), - Positioned.directional( - textDirection: Directionality.of(context), - end: 0, - bottom: 0, - child: Material( - clipBehavior: Clip.antiAlias, - color: Theme.of(context).colorScheme.secondary, - borderRadius: BorderRadius.circular(40), - child: InkWell( - onTap: () async { - final photoURL = await getPhotoURLFromUser(); - - if (photoURL != null) { - await user.updatePhotoURL(photoURL); - } - }, - radius: 50, - child: const SizedBox( - width: 35, - height: 35, - child: Icon(Icons.edit), - ), - ), - ), - ), - ], - ), - const SizedBox(height: 10), - TextField( - textAlign: TextAlign.center, - controller: controller, - decoration: const InputDecoration( - border: InputBorder.none, - floatingLabelBehavior: FloatingLabelBehavior.never, - alignLabelWithHint: true, - label: Center( - child: Text( - 'Click to add a display name', - ), - ), - ), - ), - Text(user.email ?? user.phoneNumber ?? 'User'), - const SizedBox(height: 10), - Row( - mainAxisAlignment: MainAxisAlignment.center, - children: [ - if (userProviders.contains('phone')) - const Icon(Icons.phone), - if (userProviders.contains('password')) - const Icon(Icons.mail), - if (userProviders.contains('google.com')) - SizedBox( - width: 24, - child: Image.network( - 'https://upload.wikimedia.org/wikipedia/commons/0/09/IOS_Google_icon.png', - ), - ), - ], - ), - const SizedBox(height: 20), - TextButton( - onPressed: () { - user.sendEmailVerification(); - }, - child: const Text('Verify Email'), - ), - TextButton( - onPressed: () async { - final a = await user.multiFactor.getEnrolledFactors(); - print(a); - }, - child: const Text('Get enrolled factors'), - ), - TextButton( - onPressed: () async { - if (AuthGate.appleAuthorizationCode != null) { - // The `authorizationCode` is on the user credential. - // e.g. final authorizationCode = userCredential.additionalUserInfo?.authorizationCode; - await FirebaseAuth.instance - .revokeTokenWithAuthorizationCode( - AuthGate.appleAuthorizationCode!, - ); - // You may wish to delete the user at this point - AuthGate.appleAuthorizationCode = null; - } else { - print( - 'Apple `authorizationCode` is null, cannot revoke token.', - ); - } - }, - child: const Text('Revoke Apple auth token'), - ), - TextFormField( - controller: phoneController, - decoration: const InputDecoration( - icon: Icon(Icons.phone), - hintText: '+33612345678', - labelText: 'Phone number', - ), - ), - const SizedBox(height: 20), - TextButton( - onPressed: () async { - final session = await user.multiFactor.getSession(); - await auth.verifyPhoneNumber( - multiFactorSession: session, - phoneNumber: phoneController.text, - verificationCompleted: (_) {}, - verificationFailed: print, - codeSent: ( - String verificationId, - int? resendToken, - ) async { - final smsCode = await getSmsCodeFromUser(context); - - if (smsCode != null) { - // Create a PhoneAuthCredential with the code - final credential = PhoneAuthProvider.credential( - verificationId: verificationId, - smsCode: smsCode, - ); - - try { - await user.multiFactor.enroll( - PhoneMultiFactorGenerator.getAssertion( - credential, - ), - ); - } on FirebaseAuthException catch (e) { - print(e.message); - } - } - }, - codeAutoRetrievalTimeout: print, - ); - }, - child: const Text('Verify Number For MFA'), - ), - TextButton( - onPressed: () async { - final totp = - (await user.multiFactor.getEnrolledFactors()) - .firstWhereOrNull( - (element) => element.factorId == 'totp', - ); - if (totp != null) { - await user.multiFactor.unenroll( - factorUid: - (await user.multiFactor.getEnrolledFactors()) - .firstWhere( - (element) => element.factorId == 'totp', - ) - .uid, - ); - } - final session = await user.multiFactor.getSession(); - final totpSecret = - await TotpMultiFactorGenerator.generateSecret( - session, - ); - print(totpSecret); - final code = - await getTotpFromUser(context, totpSecret); - print('code: $code'); - if (code == null) { - return; - } - await user.multiFactor.enroll( - await TotpMultiFactorGenerator - .getAssertionForEnrollment( - totpSecret, - code, - ), - displayName: 'TOTP', - ); - }, - child: const Text('Enroll TOTP'), - ), - TextButton( - onPressed: () async { - try { - final enrolledFactors = - await user.multiFactor.getEnrolledFactors(); - - await user.multiFactor.unenroll( - factorUid: enrolledFactors.first.uid, - ); - // Show snackbar - ScaffoldSnackbar.of(context).show('MFA unenrolled'); - } catch (e) { - print(e); - } - }, - child: const Text('Unenroll MFA'), - ), - const Divider(), - TextButton( - onPressed: _signOut, - child: const Text('Sign out'), - ), - ], - ), - ), - ), - ), - Positioned.directional( - textDirection: Directionality.of(context), - end: 40, - top: 40, - child: AnimatedSwitcher( - duration: const Duration(milliseconds: 200), - child: !showSaveButton - ? SizedBox(key: UniqueKey()) - : TextButton( - onPressed: isLoading ? null : updateDisplayName, - child: const Text('Save changes'), - ), - ), - ), - ], - ), - ), - ); - } - - Future getPhotoURLFromUser() async { - String? photoURL; - - // Update the UI - wait for the user to enter the SMS code - await showDialog( - context: context, - barrierDismissible: false, - builder: (context) { - return AlertDialog( - title: const Text('New image Url:'), - actions: [ - ElevatedButton( - onPressed: () { - Navigator.of(context).pop(); - }, - child: const Text('Update'), - ), - OutlinedButton( - onPressed: () { - photoURL = null; - Navigator.of(context).pop(); - }, - child: const Text('Cancel'), - ), - ], - content: Container( - padding: const EdgeInsets.all(20), - child: TextField( - onChanged: (value) { - photoURL = value; - }, - textAlign: TextAlign.center, - autofocus: true, - ), - ), - ); - }, - ); - - return photoURL; - } - - /// Example code for sign out. - Future _signOut() async { - await auth.signOut(); - await GoogleSignIn().signOut(); - } -} diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/macos/Flutter/Flutter-Debug.xcconfig b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/macos/Flutter/Flutter-Debug.xcconfig deleted file mode 100644 index 785633d3..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/macos/Flutter/Flutter-Debug.xcconfig +++ /dev/null @@ -1,2 +0,0 @@ -#include "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig" -#include "ephemeral/Flutter-Generated.xcconfig" diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/macos/Flutter/Flutter-Release.xcconfig b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/macos/Flutter/Flutter-Release.xcconfig deleted file mode 100644 index 5fba960c..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/macos/Flutter/Flutter-Release.xcconfig +++ /dev/null @@ -1,2 +0,0 @@ -#include "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig" -#include "ephemeral/Flutter-Generated.xcconfig" diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/macos/Podfile b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/macos/Podfile deleted file mode 100644 index 9ec46f8c..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/macos/Podfile +++ /dev/null @@ -1,40 +0,0 @@ -platform :osx, '10.15' - -# CocoaPods analytics sends network stats synchronously affecting flutter build latency. -ENV['COCOAPODS_DISABLE_STATS'] = 'true' - -project 'Runner', { - 'Debug' => :debug, - 'Profile' => :release, - 'Release' => :release, -} - -def flutter_root - generated_xcode_build_settings_path = File.expand_path(File.join('..', 'Flutter', 'ephemeral', 'Flutter-Generated.xcconfig'), __FILE__) - unless File.exist?(generated_xcode_build_settings_path) - raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually, make sure \"flutter pub get\" is executed first" - end - - File.foreach(generated_xcode_build_settings_path) do |line| - matches = line.match(/FLUTTER_ROOT\=(.*)/) - return matches[1].strip if matches - end - raise "FLUTTER_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Flutter-Generated.xcconfig, then run \"flutter pub get\"" -end - -require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root) - -flutter_macos_podfile_setup - -target 'Runner' do - use_frameworks! - use_modular_headers! - - flutter_install_all_macos_pods File.dirname(File.realpath(__FILE__)) -end - -post_install do |installer| - installer.pods_project.targets.each do |target| - flutter_additional_macos_build_settings(target) - end -end diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/macos/Runner.xcodeproj/project.pbxproj b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/macos/Runner.xcodeproj/project.pbxproj deleted file mode 100644 index 4848b09b..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/macos/Runner.xcodeproj/project.pbxproj +++ /dev/null @@ -1,718 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 54; - objects = { - -/* Begin PBXAggregateTarget section */ - 33CC111A2044C6BA0003C045 /* Flutter Assemble */ = { - isa = PBXAggregateTarget; - buildConfigurationList = 33CC111B2044C6BA0003C045 /* Build configuration list for PBXAggregateTarget "Flutter Assemble" */; - buildPhases = ( - 33CC111E2044C6BF0003C045 /* ShellScript */, - ); - dependencies = ( - ); - name = "Flutter Assemble"; - productName = FLX; - }; -/* End PBXAggregateTarget section */ - -/* Begin PBXBuildFile section */ - 25A01FB0278D938300D1E790 /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 25A01FAF278D938300D1E790 /* GoogleService-Info.plist */; }; - 335BBD1B22A9A15E00E9071D /* GeneratedPluginRegistrant.swift in Sources */ = {isa = PBXBuildFile; fileRef = 335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */; }; - 33CC10F12044A3C60003C045 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC10F02044A3C60003C045 /* AppDelegate.swift */; }; - 33CC10F32044A3C60003C045 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F22044A3C60003C045 /* Assets.xcassets */; }; - 33CC10F62044A3C60003C045 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F42044A3C60003C045 /* MainMenu.xib */; }; - 33CC11132044BFA00003C045 /* MainFlutterWindow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */; }; - 78A318202AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage in Frameworks */ = {isa = PBXBuildFile; productRef = 78A3181F2AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage */; }; - B6036D992F5B77F0D48D7883 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1026236A547BC5196614E954 /* Pods_Runner.framework */; }; - C0151CEAF69E3751D6A8FA78 /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 2F30ED8EF0A1349EA81AEE1A /* GoogleService-Info.plist */; }; -/* End PBXBuildFile section */ - -/* Begin PBXContainerItemProxy section */ - 33CC111F2044C79F0003C045 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 33CC10E52044A3C60003C045 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 33CC111A2044C6BA0003C045; - remoteInfo = FLX; - }; -/* End PBXContainerItemProxy section */ - -/* Begin PBXCopyFilesBuildPhase section */ - 33CC110E2044A8840003C045 /* Bundle Framework */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = ""; - dstSubfolderSpec = 10; - files = ( - ); - name = "Bundle Framework"; - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXCopyFilesBuildPhase section */ - -/* Begin PBXFileReference section */ - 0B4CF9B1CA3F6E07FE2F953C /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; - 1026236A547BC5196614E954 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 1E5E064344044E24673A33BD /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; - 25A01FAF278D938300D1E790 /* GoogleService-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "GoogleService-Info.plist"; sourceTree = ""; }; - 2F30ED8EF0A1349EA81AEE1A /* GoogleService-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; name = "GoogleService-Info.plist"; path = "Runner/GoogleService-Info.plist"; sourceTree = ""; }; - 333000ED22D3DE5D00554162 /* Warnings.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Warnings.xcconfig; sourceTree = ""; }; - 335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GeneratedPluginRegistrant.swift; sourceTree = ""; }; - 33CC10ED2044A3C60003C045 /* example.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = example.app; sourceTree = BUILT_PRODUCTS_DIR; }; - 33CC10F02044A3C60003C045 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; - 33CC10F22044A3C60003C045 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Assets.xcassets; path = Runner/Assets.xcassets; sourceTree = ""; }; - 33CC10F52044A3C60003C045 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/MainMenu.xib; sourceTree = ""; }; - 33CC10F72044A3C60003C045 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = Info.plist; path = Runner/Info.plist; sourceTree = ""; }; - 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MainFlutterWindow.swift; sourceTree = ""; }; - 33CEB47222A05771004F2AC0 /* Flutter-Debug.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Flutter-Debug.xcconfig"; sourceTree = ""; }; - 33CEB47422A05771004F2AC0 /* Flutter-Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Flutter-Release.xcconfig"; sourceTree = ""; }; - 33CEB47722A0578A004F2AC0 /* Flutter-Generated.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = "Flutter-Generated.xcconfig"; path = "ephemeral/Flutter-Generated.xcconfig"; sourceTree = ""; }; - 33E51913231747F40026EE4D /* DebugProfile.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = DebugProfile.entitlements; sourceTree = ""; }; - 33E51914231749380026EE4D /* Release.entitlements */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.entitlements; path = Release.entitlements; sourceTree = ""; }; - 33E5194F232828860026EE4D /* AppInfo.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = AppInfo.xcconfig; sourceTree = ""; }; - 3D7BD4B06D0869EA1407E048 /* 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 = ""; }; - 78E0A7A72DC9AD7400C4905E /* FlutterGeneratedPluginSwiftPackage */ = {isa = PBXFileReference; lastKnownFileType = wrapper; name = FlutterGeneratedPluginSwiftPackage; path = ephemeral/Packages/FlutterGeneratedPluginSwiftPackage; sourceTree = ""; }; - 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Release.xcconfig; sourceTree = ""; }; - 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Debug.xcconfig; sourceTree = ""; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - 33CC10EA2044A3C60003C045 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 78A318202AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage in Frameworks */, - B6036D992F5B77F0D48D7883 /* Pods_Runner.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 286E7513A68DD39907D77423 /* Pods */ = { - isa = PBXGroup; - children = ( - 3D7BD4B06D0869EA1407E048 /* Pods-Runner.debug.xcconfig */, - 1E5E064344044E24673A33BD /* Pods-Runner.release.xcconfig */, - 0B4CF9B1CA3F6E07FE2F953C /* Pods-Runner.profile.xcconfig */, - ); - path = Pods; - sourceTree = ""; - }; - 33BA886A226E78AF003329D5 /* Configs */ = { - isa = PBXGroup; - children = ( - 33E5194F232828860026EE4D /* AppInfo.xcconfig */, - 9740EEB21CF90195004384FC /* Debug.xcconfig */, - 7AFA3C8E1D35360C0083082E /* Release.xcconfig */, - 333000ED22D3DE5D00554162 /* Warnings.xcconfig */, - ); - path = Configs; - sourceTree = ""; - }; - 33CC10E42044A3C60003C045 = { - isa = PBXGroup; - children = ( - 33FAB671232836740065AC1E /* Runner */, - 33CEB47122A05771004F2AC0 /* Flutter */, - 33CC10EE2044A3C60003C045 /* Products */, - D73912EC22F37F3D000D13A0 /* Frameworks */, - 286E7513A68DD39907D77423 /* Pods */, - 2F30ED8EF0A1349EA81AEE1A /* GoogleService-Info.plist */, - ); - sourceTree = ""; - }; - 33CC10EE2044A3C60003C045 /* Products */ = { - isa = PBXGroup; - children = ( - 33CC10ED2044A3C60003C045 /* example.app */, - ); - name = Products; - sourceTree = ""; - }; - 33CC11242044D66E0003C045 /* Resources */ = { - isa = PBXGroup; - children = ( - 33CC10F22044A3C60003C045 /* Assets.xcassets */, - 33CC10F42044A3C60003C045 /* MainMenu.xib */, - 33CC10F72044A3C60003C045 /* Info.plist */, - ); - name = Resources; - path = ..; - sourceTree = ""; - }; - 33CEB47122A05771004F2AC0 /* Flutter */ = { - isa = PBXGroup; - children = ( - 78E0A7A72DC9AD7400C4905E /* FlutterGeneratedPluginSwiftPackage */, - 335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */, - 33CEB47222A05771004F2AC0 /* Flutter-Debug.xcconfig */, - 33CEB47422A05771004F2AC0 /* Flutter-Release.xcconfig */, - 33CEB47722A0578A004F2AC0 /* Flutter-Generated.xcconfig */, - ); - path = Flutter; - sourceTree = ""; - }; - 33FAB671232836740065AC1E /* Runner */ = { - isa = PBXGroup; - children = ( - 25A01FAF278D938300D1E790 /* GoogleService-Info.plist */, - 33CC10F02044A3C60003C045 /* AppDelegate.swift */, - 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */, - 33E51913231747F40026EE4D /* DebugProfile.entitlements */, - 33E51914231749380026EE4D /* Release.entitlements */, - 33CC11242044D66E0003C045 /* Resources */, - 33BA886A226E78AF003329D5 /* Configs */, - ); - path = Runner; - sourceTree = ""; - }; - D73912EC22F37F3D000D13A0 /* Frameworks */ = { - isa = PBXGroup; - children = ( - 1026236A547BC5196614E954 /* Pods_Runner.framework */, - ); - name = Frameworks; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXNativeTarget section */ - 33CC10EC2044A3C60003C045 /* Runner */ = { - isa = PBXNativeTarget; - buildConfigurationList = 33CC10FB2044A3C60003C045 /* Build configuration list for PBXNativeTarget "Runner" */; - buildPhases = ( - 9C4FABD4FD7B8936CFFEAF31 /* [CP] Check Pods Manifest.lock */, - 33CC10E92044A3C60003C045 /* Sources */, - 33CC10EA2044A3C60003C045 /* Frameworks */, - 33CC10EB2044A3C60003C045 /* Resources */, - 33CC110E2044A8840003C045 /* Bundle Framework */, - 3399D490228B24CF009A79C7 /* ShellScript */, - E033F9E34514FF7F419D8FF5 /* [CP] Embed Pods Frameworks */, - 91D69FDB92A2BAB6493D7E50 /* [CP] Copy Pods Resources */, - ); - buildRules = ( - ); - dependencies = ( - 33CC11202044C79F0003C045 /* PBXTargetDependency */, - ); - name = Runner; - packageProductDependencies = ( - 78A3181F2AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage */, - ); - productName = Runner; - productReference = 33CC10ED2044A3C60003C045 /* example.app */; - productType = "com.apple.product-type.application"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - 33CC10E52044A3C60003C045 /* Project object */ = { - isa = PBXProject; - attributes = { - LastSwiftUpdateCheck = 0920; - LastUpgradeCheck = 1510; - ORGANIZATIONNAME = "The Flutter Authors"; - TargetAttributes = { - 33CC10EC2044A3C60003C045 = { - CreatedOnToolsVersion = 9.2; - LastSwiftMigration = 1100; - ProvisioningStyle = Automatic; - SystemCapabilities = { - com.apple.Sandbox = { - enabled = 1; - }; - }; - }; - 33CC111A2044C6BA0003C045 = { - CreatedOnToolsVersion = 9.2; - ProvisioningStyle = Manual; - }; - }; - }; - buildConfigurationList = 33CC10E82044A3C60003C045 /* Build configuration list for PBXProject "Runner" */; - compatibilityVersion = "Xcode 8.0"; - developmentRegion = en; - hasScannedForEncodings = 0; - knownRegions = ( - en, - Base, - ); - mainGroup = 33CC10E42044A3C60003C045; - packageReferences = ( - 781AD8BC2B33823900A9FFBB /* XCLocalSwiftPackageReference "FlutterGeneratedPluginSwiftPackage" */, - ); - productRefGroup = 33CC10EE2044A3C60003C045 /* Products */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - 33CC10EC2044A3C60003C045 /* Runner */, - 33CC111A2044C6BA0003C045 /* Flutter Assemble */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXResourcesBuildPhase section */ - 33CC10EB2044A3C60003C045 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 33CC10F32044A3C60003C045 /* Assets.xcassets in Resources */, - 33CC10F62044A3C60003C045 /* MainMenu.xib in Resources */, - 25A01FB0278D938300D1E790 /* GoogleService-Info.plist in Resources */, - C0151CEAF69E3751D6A8FA78 /* GoogleService-Info.plist in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXShellScriptBuildPhase section */ - 3399D490228B24CF009A79C7 /* ShellScript */ = { - isa = PBXShellScriptBuildPhase; - alwaysOutOfDate = 1; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - ); - inputPaths = ( - ); - outputFileListPaths = ( - ); - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "echo \"$PRODUCT_NAME.app\" > \"$PROJECT_DIR\"/Flutter/ephemeral/.app_filename && \"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh embed\n"; - }; - 33CC111E2044C6BF0003C045 /* ShellScript */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - Flutter/ephemeral/FlutterInputs.xcfilelist, - ); - inputPaths = ( - Flutter/ephemeral/tripwire, - ); - outputFileListPaths = ( - Flutter/ephemeral/FlutterOutputs.xcfilelist, - ); - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh\ntouch Flutter/ephemeral/tripwire\n"; - }; - 91D69FDB92A2BAB6493D7E50 /* [CP] Copy Pods Resources */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources.sh", - "${PODS_CONFIGURATION_BUILD_DIR}/google_sign_in_ios/google_sign_in_ios_privacy.bundle", - ); - name = "[CP] Copy Pods Resources"; - outputPaths = ( - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/google_sign_in_ios_privacy.bundle", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources.sh\"\n"; - showEnvVarsInLog = 0; - }; - 9C4FABD4FD7B8936CFFEAF31 /* [CP] Check Pods Manifest.lock */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; - outputFileListPaths = ( - ); - outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; - }; - E033F9E34514FF7F419D8FF5 /* [CP] Embed Pods Frameworks */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh", - "${BUILT_PRODUCTS_DIR}/AppAuth/AppAuth.framework", - "${BUILT_PRODUCTS_DIR}/GTMAppAuth/GTMAppAuth.framework", - "${BUILT_PRODUCTS_DIR}/GTMSessionFetcher/GTMSessionFetcher.framework", - "${BUILT_PRODUCTS_DIR}/GoogleSignIn/GoogleSignIn.framework", - "${BUILT_PRODUCTS_DIR}/facebook_auth_desktop/facebook_auth_desktop.framework", - "${BUILT_PRODUCTS_DIR}/flutter_secure_storage_macos/flutter_secure_storage_macos.framework", - ); - name = "[CP] Embed Pods Frameworks"; - outputPaths = ( - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/AppAuth.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/GTMAppAuth.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/GTMSessionFetcher.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/GoogleSignIn.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/facebook_auth_desktop.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/flutter_secure_storage_macos.framework", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; - showEnvVarsInLog = 0; - }; -/* End PBXShellScriptBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - 33CC10E92044A3C60003C045 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 33CC11132044BFA00003C045 /* MainFlutterWindow.swift in Sources */, - 33CC10F12044A3C60003C045 /* AppDelegate.swift in Sources */, - 335BBD1B22A9A15E00E9071D /* GeneratedPluginRegistrant.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin PBXTargetDependency section */ - 33CC11202044C79F0003C045 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 33CC111A2044C6BA0003C045 /* Flutter Assemble */; - targetProxy = 33CC111F2044C79F0003C045 /* PBXContainerItemProxy */; - }; -/* End PBXTargetDependency section */ - -/* Begin PBXVariantGroup section */ - 33CC10F42044A3C60003C045 /* MainMenu.xib */ = { - isa = PBXVariantGroup; - children = ( - 33CC10F52044A3C60003C045 /* Base */, - ); - name = MainMenu.xib; - path = Runner; - sourceTree = ""; - }; -/* End PBXVariantGroup section */ - -/* Begin XCBuildConfiguration section */ - 338D0CE9231458BD00FA5F75 /* Profile */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CODE_SIGN_IDENTITY = "-"; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.15; - MTL_ENABLE_DEBUG_INFO = NO; - SDKROOT = macosx; - SWIFT_COMPILATION_MODE = wholemodule; - SWIFT_OPTIMIZATION_LEVEL = "-O"; - }; - name = Profile; - }; - 338D0CEA231458BD00FA5F75 /* Profile */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 33E5194F232828860026EE4D /* AppInfo.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CLANG_ENABLE_MODULES = YES; - CODE_SIGN_ENTITLEMENTS = Runner/DebugProfile.entitlements; - CODE_SIGN_IDENTITY = "Apple Development"; - CODE_SIGN_STYLE = Automatic; - COMBINE_HIDPI_IMAGES = YES; - DEVELOPMENT_TEAM = YYX2P3XVJ7; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Flutter/ephemeral", - ); - INFOPLIST_FILE = Runner/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/../Frameworks", - ); - MACOSX_DEPLOYMENT_TARGET = 10.15; - PRODUCT_BUNDLE_IDENTIFIER = io.flutter.plugins.firebase.auth.example; - PROVISIONING_PROFILE_SPECIFIER = ""; - SWIFT_VERSION = 5.0; - }; - name = Profile; - }; - 338D0CEB231458BD00FA5F75 /* Profile */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_STYLE = Manual; - PRODUCT_NAME = "$(TARGET_NAME)"; - }; - name = Profile; - }; - 33CC10F92044A3C60003C045 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CODE_SIGN_IDENTITY = "-"; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = dwarf; - ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_TESTABILITY = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_DYNAMIC_NO_PIC = NO; - GCC_NO_COMMON_BLOCKS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.15; - MTL_ENABLE_DEBUG_INFO = YES; - ONLY_ACTIVE_ARCH = YES; - SDKROOT = macosx; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - }; - name = Debug; - }; - 33CC10FA2044A3C60003C045 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CODE_SIGN_IDENTITY = "-"; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.15; - MTL_ENABLE_DEBUG_INFO = NO; - SDKROOT = macosx; - SWIFT_COMPILATION_MODE = wholemodule; - SWIFT_OPTIMIZATION_LEVEL = "-O"; - }; - name = Release; - }; - 33CC10FC2044A3C60003C045 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 33E5194F232828860026EE4D /* AppInfo.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CLANG_ENABLE_MODULES = YES; - CODE_SIGN_ENTITLEMENTS = Runner/DebugProfile.entitlements; - CODE_SIGN_IDENTITY = "Apple Development"; - CODE_SIGN_STYLE = Automatic; - COMBINE_HIDPI_IMAGES = YES; - DEVELOPMENT_TEAM = YYX2P3XVJ7; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Flutter/ephemeral", - ); - INFOPLIST_FILE = Runner/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/../Frameworks", - ); - MACOSX_DEPLOYMENT_TARGET = 10.15; - PRODUCT_BUNDLE_IDENTIFIER = io.flutter.plugins.firebase.auth.example; - PROVISIONING_PROFILE_SPECIFIER = ""; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 5.0; - }; - name = Debug; - }; - 33CC10FD2044A3C60003C045 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 33E5194F232828860026EE4D /* AppInfo.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CLANG_ENABLE_MODULES = YES; - CODE_SIGN_ENTITLEMENTS = Runner/Release.entitlements; - CODE_SIGN_IDENTITY = "Apple Development"; - CODE_SIGN_STYLE = Automatic; - COMBINE_HIDPI_IMAGES = YES; - DEVELOPMENT_TEAM = YYX2P3XVJ7; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Flutter/ephemeral", - ); - INFOPLIST_FILE = Runner/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/../Frameworks", - ); - MACOSX_DEPLOYMENT_TARGET = 10.15; - PRODUCT_BUNDLE_IDENTIFIER = io.flutter.plugins.firebase.auth.example; - PROVISIONING_PROFILE_SPECIFIER = ""; - SWIFT_VERSION = 5.0; - }; - name = Release; - }; - 33CC111C2044C6BA0003C045 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_STYLE = Manual; - PRODUCT_NAME = "$(TARGET_NAME)"; - }; - name = Debug; - }; - 33CC111D2044C6BA0003C045 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_STYLE = Automatic; - PRODUCT_NAME = "$(TARGET_NAME)"; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 33CC10E82044A3C60003C045 /* Build configuration list for PBXProject "Runner" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 33CC10F92044A3C60003C045 /* Debug */, - 33CC10FA2044A3C60003C045 /* Release */, - 338D0CE9231458BD00FA5F75 /* Profile */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 33CC10FB2044A3C60003C045 /* Build configuration list for PBXNativeTarget "Runner" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 33CC10FC2044A3C60003C045 /* Debug */, - 33CC10FD2044A3C60003C045 /* Release */, - 338D0CEA231458BD00FA5F75 /* Profile */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 33CC111B2044C6BA0003C045 /* Build configuration list for PBXAggregateTarget "Flutter Assemble" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 33CC111C2044C6BA0003C045 /* Debug */, - 33CC111D2044C6BA0003C045 /* Release */, - 338D0CEB231458BD00FA5F75 /* Profile */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - -/* Begin XCLocalSwiftPackageReference section */ - 781AD8BC2B33823900A9FFBB /* XCLocalSwiftPackageReference "FlutterGeneratedPluginSwiftPackage" */ = { - isa = XCLocalSwiftPackageReference; - relativePath = Flutter/ephemeral/Packages/FlutterGeneratedPluginSwiftPackage; - }; -/* End XCLocalSwiftPackageReference section */ - -/* Begin XCSwiftPackageProductDependency section */ - 78A3181F2AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage */ = { - isa = XCSwiftPackageProductDependency; - productName = FlutterGeneratedPluginSwiftPackage; - }; -/* End XCSwiftPackageProductDependency section */ - }; - rootObject = 33CC10E52044A3C60003C045 /* Project object */; -} diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/macos/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/macos/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata deleted file mode 100644 index 764c74b8..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/macos/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata +++ /dev/null @@ -1,7 +0,0 @@ - - - - - diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist deleted file mode 100644 index 18d98100..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +++ /dev/null @@ -1,8 +0,0 @@ - - - - - IDEDidComputeMac32BitWarning - - - diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme deleted file mode 100644 index 126b4eb8..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ /dev/null @@ -1,120 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/macos/Runner.xcworkspace/contents.xcworkspacedata b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/macos/Runner.xcworkspace/contents.xcworkspacedata deleted file mode 100644 index 21a3cc14..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/macos/Runner.xcworkspace/contents.xcworkspacedata +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist deleted file mode 100644 index 18d98100..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +++ /dev/null @@ -1,8 +0,0 @@ - - - - - IDEDidComputeMac32BitWarning - - - diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/macos/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/macos/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings deleted file mode 100644 index f9b0d7c5..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/macos/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings +++ /dev/null @@ -1,8 +0,0 @@ - - - - - PreviewsEnabled - - - diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/macos/Runner/AppDelegate.swift b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/macos/Runner/AppDelegate.swift deleted file mode 100644 index b3c17614..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/macos/Runner/AppDelegate.swift +++ /dev/null @@ -1,13 +0,0 @@ -import Cocoa -import FlutterMacOS - -@main -class AppDelegate: FlutterAppDelegate { - override func applicationShouldTerminateAfterLastWindowClosed(_ sender: NSApplication) -> Bool { - return true - } - - override func applicationSupportsSecureRestorableState(_ app: NSApplication) -> Bool { - return true - } -} diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json deleted file mode 100644 index a2ec33f1..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "images" : [ - { - "size" : "16x16", - "idiom" : "mac", - "filename" : "app_icon_16.png", - "scale" : "1x" - }, - { - "size" : "16x16", - "idiom" : "mac", - "filename" : "app_icon_32.png", - "scale" : "2x" - }, - { - "size" : "32x32", - "idiom" : "mac", - "filename" : "app_icon_32.png", - "scale" : "1x" - }, - { - "size" : "32x32", - "idiom" : "mac", - "filename" : "app_icon_64.png", - "scale" : "2x" - }, - { - "size" : "128x128", - "idiom" : "mac", - "filename" : "app_icon_128.png", - "scale" : "1x" - }, - { - "size" : "128x128", - "idiom" : "mac", - "filename" : "app_icon_256.png", - "scale" : "2x" - }, - { - "size" : "256x256", - "idiom" : "mac", - "filename" : "app_icon_256.png", - "scale" : "1x" - }, - { - "size" : "256x256", - "idiom" : "mac", - "filename" : "app_icon_512.png", - "scale" : "2x" - }, - { - "size" : "512x512", - "idiom" : "mac", - "filename" : "app_icon_512.png", - "scale" : "1x" - }, - { - "size" : "512x512", - "idiom" : "mac", - "filename" : "app_icon_1024.png", - "scale" : "2x" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png deleted file mode 100644 index 3c4935a7..00000000 Binary files a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png and /dev/null differ diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png deleted file mode 100644 index ed4cc164..00000000 Binary files a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png and /dev/null differ diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png deleted file mode 100644 index 483be613..00000000 Binary files a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png and /dev/null differ diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png deleted file mode 100644 index bcbf36df..00000000 Binary files a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png and /dev/null differ diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png deleted file mode 100644 index 9c0a6528..00000000 Binary files a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png and /dev/null differ diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png deleted file mode 100644 index e71a7261..00000000 Binary files a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png and /dev/null differ diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png deleted file mode 100644 index 8a31fe2d..00000000 Binary files a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png and /dev/null differ diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/macos/Runner/Base.lproj/MainMenu.xib b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/macos/Runner/Base.lproj/MainMenu.xib deleted file mode 100644 index 537341ab..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/macos/Runner/Base.lproj/MainMenu.xib +++ /dev/null @@ -1,339 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/macos/Runner/Configs/AppInfo.xcconfig b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/macos/Runner/Configs/AppInfo.xcconfig deleted file mode 100644 index f653d202..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/macos/Runner/Configs/AppInfo.xcconfig +++ /dev/null @@ -1,14 +0,0 @@ -// Application-level settings for the Runner target. -// -// This may be replaced with something auto-generated from metadata (e.g., pubspec.yaml) in the -// future. If not, the values below would default to using the project name when this becomes a -// 'flutter create' template. - -// The application's name. By default this is also the title of the Flutter window. -PRODUCT_NAME = example - -// The application's bundle identifier -PRODUCT_BUNDLE_IDENTIFIER = io.flutter.plugins.example - -// The copyright displayed in application information -PRODUCT_COPYRIGHT = Copyright © 2020 io.flutter.plugins. All rights reserved. diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/macos/Runner/Configs/Debug.xcconfig b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/macos/Runner/Configs/Debug.xcconfig deleted file mode 100644 index 36b0fd94..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/macos/Runner/Configs/Debug.xcconfig +++ /dev/null @@ -1,2 +0,0 @@ -#include "../../Flutter/Flutter-Debug.xcconfig" -#include "Warnings.xcconfig" diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/macos/Runner/Configs/Release.xcconfig b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/macos/Runner/Configs/Release.xcconfig deleted file mode 100644 index dff4f495..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/macos/Runner/Configs/Release.xcconfig +++ /dev/null @@ -1,2 +0,0 @@ -#include "../../Flutter/Flutter-Release.xcconfig" -#include "Warnings.xcconfig" diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/macos/Runner/Configs/Warnings.xcconfig b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/macos/Runner/Configs/Warnings.xcconfig deleted file mode 100644 index 42bcbf47..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/macos/Runner/Configs/Warnings.xcconfig +++ /dev/null @@ -1,13 +0,0 @@ -WARNING_CFLAGS = -Wall -Wconditional-uninitialized -Wnullable-to-nonnull-conversion -Wmissing-method-return-type -Woverlength-strings -GCC_WARN_UNDECLARED_SELECTOR = YES -CLANG_UNDEFINED_BEHAVIOR_SANITIZER_NULLABILITY = YES -CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE -CLANG_WARN__DUPLICATE_METHOD_MATCH = YES -CLANG_WARN_PRAGMA_PACK = YES -CLANG_WARN_STRICT_PROTOTYPES = YES -CLANG_WARN_COMMA = YES -GCC_WARN_STRICT_SELECTOR_MATCH = YES -CLANG_WARN_OBJC_REPEATED_USE_OF_WEAK = YES -CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES -GCC_WARN_SHADOW = YES -CLANG_WARN_UNREACHABLE_CODE = YES diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/macos/Runner/DebugProfile.entitlements b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/macos/Runner/DebugProfile.entitlements deleted file mode 100644 index c34fc0a4..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/macos/Runner/DebugProfile.entitlements +++ /dev/null @@ -1,18 +0,0 @@ - - - - - com.apple.developer.applesignin - - Default - - com.apple.security.app-sandbox - - com.apple.security.cs.allow-jit - - com.apple.security.network.client - - com.apple.security.network.server - - - diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/macos/Runner/GoogleService-Info.plist b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/macos/Runner/GoogleService-Info.plist deleted file mode 100644 index f325ead9..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/macos/Runner/GoogleService-Info.plist +++ /dev/null @@ -1,38 +0,0 @@ - - - - - CLIENT_ID - 406099696497-134k3722m01rtrsklhf3b7k8sqa5r7in.apps.googleusercontent.com - REVERSED_CLIENT_ID - com.googleusercontent.apps.406099696497-134k3722m01rtrsklhf3b7k8sqa5r7in - ANDROID_CLIENT_ID - 406099696497-17qn06u8a0dc717u8ul7s49ampk13lul.apps.googleusercontent.com - API_KEY - AIzaSyDooSUGSf63Ghq02_iIhtnmwMDs4HlWS6c - GCM_SENDER_ID - 406099696497 - PLIST_VERSION - 1 - BUNDLE_ID - io.flutter.plugins.firebase.auth.example - PROJECT_ID - flutterfire-e2e-tests - STORAGE_BUCKET - flutterfire-e2e-tests.appspot.com - IS_ADS_ENABLED - - IS_ANALYTICS_ENABLED - - IS_APPINVITE_ENABLED - - IS_GCM_ENABLED - - IS_SIGNIN_ENABLED - - GOOGLE_APP_ID - 1:406099696497:ios:58cbc26aca8e5cf83574d0 - DATABASE_URL - https://flutterfire-e2e-tests-default-rtdb.europe-west1.firebasedatabase.app - - \ No newline at end of file diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/macos/Runner/Info.plist b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/macos/Runner/Info.plist deleted file mode 100644 index de633ff2..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/macos/Runner/Info.plist +++ /dev/null @@ -1,48 +0,0 @@ - - - - - CFBundleDevelopmentRegion - $(DEVELOPMENT_LANGUAGE) - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIconFile - - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - APPL - CFBundleShortVersionString - $(FLUTTER_BUILD_NAME) - CFBundleURLTypes - - - CFBundleTypeRole - Editor - CFBundleURLSchemes - - com.googleusercontent.apps.448618578101-ja1be10uicsa2dvss16gh4hkqks0vq61 - - - - CFBundleVersion - $(FLUTTER_BUILD_NUMBER) - LSMinimumSystemVersion - $(MACOSX_DEPLOYMENT_TARGET) - NSAppTransportSecurity - - NSAllowsArbitraryLoads - - - NSHumanReadableCopyright - $(PRODUCT_COPYRIGHT) - NSMainNibFile - MainMenu - NSPrincipalClass - NSApplication - - diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/macos/Runner/MainFlutterWindow.swift b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/macos/Runner/MainFlutterWindow.swift deleted file mode 100644 index 2722837e..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/macos/Runner/MainFlutterWindow.swift +++ /dev/null @@ -1,15 +0,0 @@ -import Cocoa -import FlutterMacOS - -class MainFlutterWindow: NSWindow { - override func awakeFromNib() { - let flutterViewController = FlutterViewController.init() - let windowFrame = self.frame - self.contentViewController = flutterViewController - self.setFrame(windowFrame, display: true) - - RegisterGeneratedPlugins(registry: flutterViewController) - - super.awakeFromNib() - } -} diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/macos/Runner/Release.entitlements b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/macos/Runner/Release.entitlements deleted file mode 100644 index cd2171f4..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/macos/Runner/Release.entitlements +++ /dev/null @@ -1,14 +0,0 @@ - - - - - com.apple.developer.applesignin - - Default - - com.apple.security.app-sandbox - - com.apple.security.network.client - - - diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/macos/firebase_app_id_file.json b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/macos/firebase_app_id_file.json deleted file mode 100644 index eaca8edd..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/macos/firebase_app_id_file.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "file_generated_by": "FlutterFire CLI", - "purpose": "FirebaseAppID & ProjectID for this Firebase app in this directory", - "GOOGLE_APP_ID": "1:406099696497:ios:58cbc26aca8e5cf83574d0", - "FIREBASE_PROJECT_ID": "flutterfire-e2e-tests", - "GCM_SENDER_ID": "406099696497" -} \ No newline at end of file diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/pubspec.yaml b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/pubspec.yaml deleted file mode 100644 index 5068e961..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/pubspec.yaml +++ /dev/null @@ -1,26 +0,0 @@ -name: firebase_auth_example -description: Demonstrates how to use the firebase_auth plugin. -resolution: workspace - -environment: - sdk: '^3.6.0' - flutter: '>=3.27.0' - -dependencies: - barcode_widget: ^2.0.4 - firebase_auth: ^6.5.4 - firebase_core: ^4.11.0 - firebase_messaging: ^16.4.1 - flutter: - sdk: flutter - flutter_facebook_auth: ^7.1.5 - flutter_signin_button: ^2.0.0 - font_awesome_flutter: ^10.8.0 - google_sign_in: ^6.1.0 - google_sign_in_dartio: ^0.3.0 - -dev_dependencies: - http: ^1.0.0 - -flutter: - uses-material-design: true diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/web/favicon.png b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/web/favicon.png deleted file mode 100644 index 8aaa46ac..00000000 Binary files a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/web/favicon.png and /dev/null differ diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/web/icons/Icon-192.png b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/web/icons/Icon-192.png deleted file mode 100644 index b749bfef..00000000 Binary files a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/web/icons/Icon-192.png and /dev/null differ diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/web/icons/Icon-512.png b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/web/icons/Icon-512.png deleted file mode 100644 index 88cfd48d..00000000 Binary files a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/web/icons/Icon-512.png and /dev/null differ diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/web/icons/Icon-maskable-192.png b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/web/icons/Icon-maskable-192.png deleted file mode 100644 index eb9b4d76..00000000 Binary files a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/web/icons/Icon-maskable-192.png and /dev/null differ diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/web/icons/Icon-maskable-512.png b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/web/icons/Icon-maskable-512.png deleted file mode 100644 index d69c5669..00000000 Binary files a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/web/icons/Icon-maskable-512.png and /dev/null differ diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/web/index.html b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/web/index.html deleted file mode 100644 index 0168402a..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/web/index.html +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - - - - - - - - - flutterfire_auth - - - - - - diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/web/manifest.json b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/web/manifest.json deleted file mode 100644 index 88044af3..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/web/manifest.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "name": "flutterfire_auth", - "short_name": "flutterfire_auth", - "start_url": ".", - "display": "standalone", - "background_color": "#0175C2", - "theme_color": "#0175C2", - "description": "A new Flutter project.", - "orientation": "portrait-primary", - "prefer_related_applications": false, - "icons": [ - { - "src": "icons/Icon-192.png", - "sizes": "192x192", - "type": "image/png" - }, - { - "src": "icons/Icon-512.png", - "sizes": "512x512", - "type": "image/png" - }, - { - "src": "icons/Icon-maskable-192.png", - "sizes": "192x192", - "type": "image/png", - "purpose": "maskable" - }, - { - "src": "icons/Icon-maskable-512.png", - "sizes": "512x512", - "type": "image/png", - "purpose": "maskable" - } - ] -} diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/windows/CMakeLists.txt b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/windows/CMakeLists.txt deleted file mode 100644 index 13786727..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/windows/CMakeLists.txt +++ /dev/null @@ -1,102 +0,0 @@ -# Project-level configuration. -cmake_minimum_required(VERSION 3.14) -project(example LANGUAGES CXX) - -# The name of the executable created for the application. Change this to change -# the on-disk name of your application. -set(BINARY_NAME "example") - -# Explicitly opt in to modern CMake behaviors to avoid warnings with recent -# versions of CMake. -cmake_policy(SET CMP0063 NEW) - -# Define build configuration option. -get_property(IS_MULTICONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) -if(IS_MULTICONFIG) - set(CMAKE_CONFIGURATION_TYPES "Debug;Profile;Release" - CACHE STRING "" FORCE) -else() - if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES) - set(CMAKE_BUILD_TYPE "Debug" CACHE - STRING "Flutter build mode" FORCE) - set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS - "Debug" "Profile" "Release") - endif() -endif() -# Define settings for the Profile build mode. -set(CMAKE_EXE_LINKER_FLAGS_PROFILE "${CMAKE_EXE_LINKER_FLAGS_RELEASE}") -set(CMAKE_SHARED_LINKER_FLAGS_PROFILE "${CMAKE_SHARED_LINKER_FLAGS_RELEASE}") -set(CMAKE_C_FLAGS_PROFILE "${CMAKE_C_FLAGS_RELEASE}") -set(CMAKE_CXX_FLAGS_PROFILE "${CMAKE_CXX_FLAGS_RELEASE}") - -# Use Unicode for all projects. -add_definitions(-DUNICODE -D_UNICODE) - -# Compilation settings that should be applied to most targets. -# -# Be cautious about adding new options here, as plugins use this function by -# default. In most cases, you should add new options to specific targets instead -# of modifying this function. -function(APPLY_STANDARD_SETTINGS TARGET) - target_compile_features(${TARGET} PUBLIC cxx_std_17) - target_compile_options(${TARGET} PRIVATE /W4 /WX /wd"4100") - target_compile_options(${TARGET} PRIVATE /EHsc) - target_compile_definitions(${TARGET} PRIVATE "_HAS_EXCEPTIONS=0") - target_compile_definitions(${TARGET} PRIVATE "$<$:_DEBUG>") -endfunction() - -# Flutter library and tool build rules. -set(FLUTTER_MANAGED_DIR "${CMAKE_CURRENT_SOURCE_DIR}/flutter") -add_subdirectory(${FLUTTER_MANAGED_DIR}) - -# Application build; see runner/CMakeLists.txt. -add_subdirectory("runner") - - -# Generated plugin build rules, which manage building the plugins and adding -# them to the application. -include(flutter/generated_plugins.cmake) - - -# === Installation === -# Support files are copied into place next to the executable, so that it can -# run in place. This is done instead of making a separate bundle (as on Linux) -# so that building and running from within Visual Studio will work. -set(BUILD_BUNDLE_DIR "$") -# Make the "install" step default, as it's required to run. -set(CMAKE_VS_INCLUDE_INSTALL_TO_DEFAULT_BUILD 1) -if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT) - set(CMAKE_INSTALL_PREFIX "${BUILD_BUNDLE_DIR}" CACHE PATH "..." FORCE) -endif() - -set(INSTALL_BUNDLE_DATA_DIR "${CMAKE_INSTALL_PREFIX}/data") -set(INSTALL_BUNDLE_LIB_DIR "${CMAKE_INSTALL_PREFIX}") - -install(TARGETS ${BINARY_NAME} RUNTIME DESTINATION "${CMAKE_INSTALL_PREFIX}" - COMPONENT Runtime) - -install(FILES "${FLUTTER_ICU_DATA_FILE}" DESTINATION "${INSTALL_BUNDLE_DATA_DIR}" - COMPONENT Runtime) - -install(FILES "${FLUTTER_LIBRARY}" DESTINATION "${INSTALL_BUNDLE_LIB_DIR}" - COMPONENT Runtime) - -if(PLUGIN_BUNDLED_LIBRARIES) - install(FILES "${PLUGIN_BUNDLED_LIBRARIES}" - DESTINATION "${INSTALL_BUNDLE_LIB_DIR}" - COMPONENT Runtime) -endif() - -# Fully re-copy the assets directory on each build to avoid having stale files -# from a previous install. -set(FLUTTER_ASSET_DIR_NAME "flutter_assets") -install(CODE " - file(REMOVE_RECURSE \"${INSTALL_BUNDLE_DATA_DIR}/${FLUTTER_ASSET_DIR_NAME}\") - " COMPONENT Runtime) -install(DIRECTORY "${PROJECT_BUILD_DIR}/${FLUTTER_ASSET_DIR_NAME}" - DESTINATION "${INSTALL_BUNDLE_DATA_DIR}" COMPONENT Runtime) - -# Install the AOT library on non-Debug builds only. -install(FILES "${AOT_LIBRARY}" DESTINATION "${INSTALL_BUNDLE_DATA_DIR}" - CONFIGURATIONS Profile;Release - COMPONENT Runtime) diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/windows/flutter/CMakeLists.txt b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/windows/flutter/CMakeLists.txt deleted file mode 100644 index 903f4899..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/windows/flutter/CMakeLists.txt +++ /dev/null @@ -1,109 +0,0 @@ -# This file controls Flutter-level build steps. It should not be edited. -cmake_minimum_required(VERSION 3.14) - -set(EPHEMERAL_DIR "${CMAKE_CURRENT_SOURCE_DIR}/ephemeral") - -# Configuration provided via flutter tool. -include(${EPHEMERAL_DIR}/generated_config.cmake) - -# TODO: Move the rest of this into files in ephemeral. See -# https://github.com/flutter/flutter/issues/57146. -set(WRAPPER_ROOT "${EPHEMERAL_DIR}/cpp_client_wrapper") - -# Set fallback configurations for older versions of the flutter tool. -if (NOT DEFINED FLUTTER_TARGET_PLATFORM) - set(FLUTTER_TARGET_PLATFORM "windows-x64") -endif() - -# === Flutter Library === -set(FLUTTER_LIBRARY "${EPHEMERAL_DIR}/flutter_windows.dll") - -# Published to parent scope for install step. -set(FLUTTER_LIBRARY ${FLUTTER_LIBRARY} PARENT_SCOPE) -set(FLUTTER_ICU_DATA_FILE "${EPHEMERAL_DIR}/icudtl.dat" PARENT_SCOPE) -set(PROJECT_BUILD_DIR "${PROJECT_DIR}/build/" PARENT_SCOPE) -set(AOT_LIBRARY "${PROJECT_DIR}/build/windows/app.so" PARENT_SCOPE) - -list(APPEND FLUTTER_LIBRARY_HEADERS - "flutter_export.h" - "flutter_windows.h" - "flutter_messenger.h" - "flutter_plugin_registrar.h" - "flutter_texture_registrar.h" -) -list(TRANSFORM FLUTTER_LIBRARY_HEADERS PREPEND "${EPHEMERAL_DIR}/") -add_library(flutter INTERFACE) -target_include_directories(flutter INTERFACE - "${EPHEMERAL_DIR}" -) -target_link_libraries(flutter INTERFACE "${FLUTTER_LIBRARY}.lib") -add_dependencies(flutter flutter_assemble) - -# === Wrapper === -list(APPEND CPP_WRAPPER_SOURCES_CORE - "core_implementations.cc" - "standard_codec.cc" -) -list(TRANSFORM CPP_WRAPPER_SOURCES_CORE PREPEND "${WRAPPER_ROOT}/") -list(APPEND CPP_WRAPPER_SOURCES_PLUGIN - "plugin_registrar.cc" -) -list(TRANSFORM CPP_WRAPPER_SOURCES_PLUGIN PREPEND "${WRAPPER_ROOT}/") -list(APPEND CPP_WRAPPER_SOURCES_APP - "flutter_engine.cc" - "flutter_view_controller.cc" -) -list(TRANSFORM CPP_WRAPPER_SOURCES_APP PREPEND "${WRAPPER_ROOT}/") - -# Wrapper sources needed for a plugin. -add_library(flutter_wrapper_plugin STATIC - ${CPP_WRAPPER_SOURCES_CORE} - ${CPP_WRAPPER_SOURCES_PLUGIN} -) -apply_standard_settings(flutter_wrapper_plugin) -set_target_properties(flutter_wrapper_plugin PROPERTIES - POSITION_INDEPENDENT_CODE ON) -set_target_properties(flutter_wrapper_plugin PROPERTIES - CXX_VISIBILITY_PRESET hidden) -target_link_libraries(flutter_wrapper_plugin PUBLIC flutter) -target_include_directories(flutter_wrapper_plugin PUBLIC - "${WRAPPER_ROOT}/include" -) -add_dependencies(flutter_wrapper_plugin flutter_assemble) - -# Wrapper sources needed for the runner. -add_library(flutter_wrapper_app STATIC - ${CPP_WRAPPER_SOURCES_CORE} - ${CPP_WRAPPER_SOURCES_APP} -) -apply_standard_settings(flutter_wrapper_app) -target_link_libraries(flutter_wrapper_app PUBLIC flutter) -target_include_directories(flutter_wrapper_app PUBLIC - "${WRAPPER_ROOT}/include" -) -add_dependencies(flutter_wrapper_app flutter_assemble) - -# === Flutter tool backend === -# _phony_ is a non-existent file to force this command to run every time, -# since currently there's no way to get a full input/output list from the -# flutter tool. -set(PHONY_OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/_phony_") -set_source_files_properties("${PHONY_OUTPUT}" PROPERTIES SYMBOLIC TRUE) -add_custom_command( - OUTPUT ${FLUTTER_LIBRARY} ${FLUTTER_LIBRARY_HEADERS} - ${CPP_WRAPPER_SOURCES_CORE} ${CPP_WRAPPER_SOURCES_PLUGIN} - ${CPP_WRAPPER_SOURCES_APP} - ${PHONY_OUTPUT} - COMMAND ${CMAKE_COMMAND} -E env - ${FLUTTER_TOOL_ENVIRONMENT} - "${FLUTTER_ROOT}/packages/flutter_tools/bin/tool_backend.bat" - ${FLUTTER_TARGET_PLATFORM} $ - VERBATIM -) -add_custom_target(flutter_assemble DEPENDS - "${FLUTTER_LIBRARY}" - ${FLUTTER_LIBRARY_HEADERS} - ${CPP_WRAPPER_SOURCES_CORE} - ${CPP_WRAPPER_SOURCES_PLUGIN} - ${CPP_WRAPPER_SOURCES_APP} -) diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/windows/runner/CMakeLists.txt b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/windows/runner/CMakeLists.txt deleted file mode 100644 index 394917c0..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/windows/runner/CMakeLists.txt +++ /dev/null @@ -1,40 +0,0 @@ -cmake_minimum_required(VERSION 3.14) -project(runner LANGUAGES CXX) - -# Define the application target. To change its name, change BINARY_NAME in the -# top-level CMakeLists.txt, not the value here, or `flutter run` will no longer -# work. -# -# Any new source files that you add to the application should be added here. -add_executable(${BINARY_NAME} WIN32 - "flutter_window.cpp" - "main.cpp" - "utils.cpp" - "win32_window.cpp" - "${FLUTTER_MANAGED_DIR}/generated_plugin_registrant.cc" - "Runner.rc" - "runner.exe.manifest" -) - -# Apply the standard set of build settings. This can be removed for applications -# that need different build settings. -apply_standard_settings(${BINARY_NAME}) - -# Add preprocessor definitions for the build version. -target_compile_definitions(${BINARY_NAME} PRIVATE "FLUTTER_VERSION=\"${FLUTTER_VERSION}\"") -target_compile_definitions(${BINARY_NAME} PRIVATE "FLUTTER_VERSION_MAJOR=${FLUTTER_VERSION_MAJOR}") -target_compile_definitions(${BINARY_NAME} PRIVATE "FLUTTER_VERSION_MINOR=${FLUTTER_VERSION_MINOR}") -target_compile_definitions(${BINARY_NAME} PRIVATE "FLUTTER_VERSION_PATCH=${FLUTTER_VERSION_PATCH}") -target_compile_definitions(${BINARY_NAME} PRIVATE "FLUTTER_VERSION_BUILD=${FLUTTER_VERSION_BUILD}") - -# Disable Windows macros that collide with C++ standard library functions. -target_compile_definitions(${BINARY_NAME} PRIVATE "NOMINMAX") - -# Add dependency libraries and include directories. Add any application-specific -# dependencies here. -target_link_libraries(${BINARY_NAME} PRIVATE flutter flutter_wrapper_app) -target_link_libraries(${BINARY_NAME} PRIVATE "dwmapi.lib") -target_include_directories(${BINARY_NAME} PRIVATE "${CMAKE_SOURCE_DIR}") - -# Run the Flutter tool portions of the build. This must not be removed. -add_dependencies(${BINARY_NAME} flutter_assemble) diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/windows/runner/Runner.rc b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/windows/runner/Runner.rc deleted file mode 100644 index 4477b011..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/windows/runner/Runner.rc +++ /dev/null @@ -1,121 +0,0 @@ -// Microsoft Visual C++ generated resource script. -// -#pragma code_page(65001) -#include "resource.h" - -#define APSTUDIO_READONLY_SYMBOLS -///////////////////////////////////////////////////////////////////////////// -// -// Generated from the TEXTINCLUDE 2 resource. -// -#include "winres.h" - -///////////////////////////////////////////////////////////////////////////// -#undef APSTUDIO_READONLY_SYMBOLS - -///////////////////////////////////////////////////////////////////////////// -// English (United States) resources - -#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) -LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US - -#ifdef APSTUDIO_INVOKED -///////////////////////////////////////////////////////////////////////////// -// -// TEXTINCLUDE -// - -1 TEXTINCLUDE -BEGIN - "resource.h\0" -END - -2 TEXTINCLUDE -BEGIN - "#include ""winres.h""\r\n" - "\0" -END - -3 TEXTINCLUDE -BEGIN - "\r\n" - "\0" -END - -#endif // APSTUDIO_INVOKED - - -///////////////////////////////////////////////////////////////////////////// -// -// Icon -// - -// Icon with lowest ID value placed first to ensure application icon -// remains consistent on all systems. -IDI_APP_ICON ICON "resources\\app_icon.ico" - - -///////////////////////////////////////////////////////////////////////////// -// -// Version -// - -#if defined(FLUTTER_VERSION_MAJOR) && defined(FLUTTER_VERSION_MINOR) && defined(FLUTTER_VERSION_PATCH) && defined(FLUTTER_VERSION_BUILD) -#define VERSION_AS_NUMBER FLUTTER_VERSION_MAJOR,FLUTTER_VERSION_MINOR,FLUTTER_VERSION_PATCH,FLUTTER_VERSION_BUILD -#else -#define VERSION_AS_NUMBER 1,0,0,0 -#endif - -#if defined(FLUTTER_VERSION) -#define VERSION_AS_STRING FLUTTER_VERSION -#else -#define VERSION_AS_STRING "1.0.0" -#endif - -VS_VERSION_INFO VERSIONINFO - FILEVERSION VERSION_AS_NUMBER - PRODUCTVERSION VERSION_AS_NUMBER - FILEFLAGSMASK VS_FFI_FILEFLAGSMASK -#ifdef _DEBUG - FILEFLAGS VS_FF_DEBUG -#else - FILEFLAGS 0x0L -#endif - FILEOS VOS__WINDOWS32 - FILETYPE VFT_APP - FILESUBTYPE 0x0L -BEGIN - BLOCK "StringFileInfo" - BEGIN - BLOCK "040904e4" - BEGIN - VALUE "CompanyName", "io.flutter.plugins.firebase.auth" "\0" - VALUE "FileDescription", "example" "\0" - VALUE "FileVersion", VERSION_AS_STRING "\0" - VALUE "InternalName", "example" "\0" - VALUE "LegalCopyright", "Copyright (C) 2023 io.flutter.plugins.firebase.auth. All rights reserved." "\0" - VALUE "OriginalFilename", "example.exe" "\0" - VALUE "ProductName", "example" "\0" - VALUE "ProductVersion", VERSION_AS_STRING "\0" - END - END - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x409, 1252 - END -END - -#endif // English (United States) resources -///////////////////////////////////////////////////////////////////////////// - - - -#ifndef APSTUDIO_INVOKED -///////////////////////////////////////////////////////////////////////////// -// -// Generated from the TEXTINCLUDE 3 resource. -// - - -///////////////////////////////////////////////////////////////////////////// -#endif // not APSTUDIO_INVOKED diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/windows/runner/flutter_window.cpp b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/windows/runner/flutter_window.cpp deleted file mode 100644 index 227a2489..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/windows/runner/flutter_window.cpp +++ /dev/null @@ -1,68 +0,0 @@ -// Copyright 2023, the Chromium project authors. Please see the AUTHORS file -// for details. All rights reserved. Use of this source code is governed by a -// BSD-style license that can be found in the LICENSE file. - -#include "flutter_window.h" - -#include - -#include "flutter/generated_plugin_registrant.h" - -FlutterWindow::FlutterWindow(const flutter::DartProject& project) - : project_(project) {} - -FlutterWindow::~FlutterWindow() {} - -bool FlutterWindow::OnCreate() { - if (!Win32Window::OnCreate()) { - return false; - } - - RECT frame = GetClientArea(); - - // The size here must match the window dimensions to avoid unnecessary surface - // creation / destruction in the startup path. - flutter_controller_ = std::make_unique( - frame.right - frame.left, frame.bottom - frame.top, project_); - // Ensure that basic setup of the controller was successful. - if (!flutter_controller_->engine() || !flutter_controller_->view()) { - return false; - } - RegisterPlugins(flutter_controller_->engine()); - SetChildContent(flutter_controller_->view()->GetNativeWindow()); - - flutter_controller_->engine()->SetNextFrameCallback([&]() { this->Show(); }); - - return true; -} - -void FlutterWindow::OnDestroy() { - if (flutter_controller_) { - flutter_controller_ = nullptr; - } - - Win32Window::OnDestroy(); -} - -LRESULT -FlutterWindow::MessageHandler(HWND hwnd, UINT const message, - WPARAM const wparam, - LPARAM const lparam) noexcept { - // Give Flutter, including plugins, an opportunity to handle window messages. - if (flutter_controller_) { - std::optional result = - flutter_controller_->HandleTopLevelWindowProc(hwnd, message, wparam, - lparam); - if (result) { - return *result; - } - } - - switch (message) { - case WM_FONTCHANGE: - flutter_controller_->engine()->ReloadSystemFonts(); - break; - } - - return Win32Window::MessageHandler(hwnd, message, wparam, lparam); -} diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/windows/runner/flutter_window.h b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/windows/runner/flutter_window.h deleted file mode 100644 index 2b30f421..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/windows/runner/flutter_window.h +++ /dev/null @@ -1,39 +0,0 @@ -/* - * Copyright 2023, the Chromium project authors. Please see the AUTHORS file - * for details. All rights reserved. Use of this source code is governed by a - * BSD-style license that can be found in the LICENSE file. - */ - -#ifndef RUNNER_FLUTTER_WINDOW_H_ -#define RUNNER_FLUTTER_WINDOW_H_ - -#include -#include - -#include - -#include "win32_window.h" - -// A window that does nothing but host a Flutter view. -class FlutterWindow : public Win32Window { - public: - // Creates a new FlutterWindow hosting a Flutter view running |project|. - explicit FlutterWindow(const flutter::DartProject& project); - virtual ~FlutterWindow(); - - protected: - // Win32Window: - bool OnCreate() override; - void OnDestroy() override; - LRESULT MessageHandler(HWND window, UINT const message, WPARAM const wparam, - LPARAM const lparam) noexcept override; - - private: - // The project to run. - flutter::DartProject project_; - - // The Flutter instance hosted by this window. - std::unique_ptr flutter_controller_; -}; - -#endif // RUNNER_FLUTTER_WINDOW_H_ diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/windows/runner/main.cpp b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/windows/runner/main.cpp deleted file mode 100644 index 7a451dd2..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/windows/runner/main.cpp +++ /dev/null @@ -1,46 +0,0 @@ -// Copyright 2023, the Chromium project authors. Please see the AUTHORS file -// for details. All rights reserved. Use of this source code is governed by a -// BSD-style license that can be found in the LICENSE file. - -#include -#include -#include - -#include "flutter_window.h" -#include "utils.h" - -int APIENTRY wWinMain(_In_ HINSTANCE instance, _In_opt_ HINSTANCE prev, - _In_ wchar_t* command_line, _In_ int show_command) { - // Attach to console when present (e.g., 'flutter run') or create a - // new console when running with a debugger. - if (!::AttachConsole(ATTACH_PARENT_PROCESS) && ::IsDebuggerPresent()) { - CreateAndAttachConsole(); - } - - // Initialize COM, so that it is available for use in the library and/or - // plugins. - ::CoInitializeEx(nullptr, COINIT_APARTMENTTHREADED); - - flutter::DartProject project(L"data"); - - std::vector command_line_arguments = GetCommandLineArguments(); - - project.set_dart_entrypoint_arguments(std::move(command_line_arguments)); - - FlutterWindow window(project); - Win32Window::Point origin(10, 10); - Win32Window::Size size(1280, 720); - if (!window.Create(L"example", origin, size)) { - return EXIT_FAILURE; - } - window.SetQuitOnClose(true); - - ::MSG msg; - while (::GetMessage(&msg, nullptr, 0, 0)) { - ::TranslateMessage(&msg); - ::DispatchMessage(&msg); - } - - ::CoUninitialize(); - return EXIT_SUCCESS; -} diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/windows/runner/resource.h b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/windows/runner/resource.h deleted file mode 100644 index 3b8e4da1..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/windows/runner/resource.h +++ /dev/null @@ -1,22 +0,0 @@ -/* - * Copyright 2023, the Chromium project authors. Please see the AUTHORS file - * for details. All rights reserved. Use of this source code is governed by a - * BSD-style license that can be found in the LICENSE file. - */ - -//{{NO_DEPENDENCIES}} -// Microsoft Visual C++ generated include file. -// Used by Runner.rc -// -#define IDI_APP_ICON 101 - -// Next default values for new objects -// -#ifdef APSTUDIO_INVOKED -#ifndef APSTUDIO_READONLY_SYMBOLS -#define _APS_NEXT_RESOURCE_VALUE 102 -#define _APS_NEXT_COMMAND_VALUE 40001 -#define _APS_NEXT_CONTROL_VALUE 1001 -#define _APS_NEXT_SYMED_VALUE 101 -#endif -#endif diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/windows/runner/resources/app_icon.ico b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/windows/runner/resources/app_icon.ico deleted file mode 100644 index c04e20ca..00000000 Binary files a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/windows/runner/resources/app_icon.ico and /dev/null differ diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/windows/runner/runner.exe.manifest b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/windows/runner/runner.exe.manifest deleted file mode 100644 index a42ea768..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/windows/runner/runner.exe.manifest +++ /dev/null @@ -1,20 +0,0 @@ - - - - - PerMonitorV2 - - - - - - - - - - - - - - - diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/windows/runner/utils.cpp b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/windows/runner/utils.cpp deleted file mode 100644 index 9f01ff8b..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/windows/runner/utils.cpp +++ /dev/null @@ -1,69 +0,0 @@ -// Copyright 2023, the Chromium project authors. Please see the AUTHORS file -// for details. All rights reserved. Use of this source code is governed by a -// BSD-style license that can be found in the LICENSE file. - -#include "utils.h" - -#include -#include -#include -#include - -#include - -void CreateAndAttachConsole() { - if (::AllocConsole()) { - FILE* unused; - if (freopen_s(&unused, "CONOUT$", "w", stdout)) { - _dup2(_fileno(stdout), 1); - } - if (freopen_s(&unused, "CONOUT$", "w", stderr)) { - _dup2(_fileno(stdout), 2); - } - std::ios::sync_with_stdio(); - FlutterDesktopResyncOutputStreams(); - } -} - -std::vector GetCommandLineArguments() { - // Convert the UTF-16 command line arguments to UTF-8 for the Engine to use. - int argc; - wchar_t** argv = ::CommandLineToArgvW(::GetCommandLineW(), &argc); - if (argv == nullptr) { - return std::vector(); - } - - std::vector command_line_arguments; - - // Skip the first argument as it's the binary name. - for (int i = 1; i < argc; i++) { - command_line_arguments.push_back(Utf8FromUtf16(argv[i])); - } - - ::LocalFree(argv); - - return command_line_arguments; -} - -std::string Utf8FromUtf16(const wchar_t* utf16_string) { - if (utf16_string == nullptr) { - return std::string(); - } - int target_length = - ::WideCharToMultiByte(CP_UTF8, WC_ERR_INVALID_CHARS, utf16_string, -1, - nullptr, 0, nullptr, nullptr) - - 1; // remove the trailing null character - int input_length = (int)wcslen(utf16_string); - std::string utf8_string; - if (target_length <= 0 || target_length > utf8_string.max_size()) { - return utf8_string; - } - utf8_string.resize(target_length); - int converted_length = ::WideCharToMultiByte( - CP_UTF8, WC_ERR_INVALID_CHARS, utf16_string, input_length, - utf8_string.data(), target_length, nullptr, nullptr); - if (converted_length == 0) { - return std::string(); - } - return utf8_string; -} diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/windows/runner/utils.h b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/windows/runner/utils.h deleted file mode 100644 index 67b5c48b..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/windows/runner/utils.h +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright 2023, the Chromium project authors. Please see the AUTHORS file - * for details. All rights reserved. Use of this source code is governed by a - * BSD-style license that can be found in the LICENSE file. - */ - -#ifndef RUNNER_UTILS_H_ -#define RUNNER_UTILS_H_ - -#include -#include - -// Creates a console for the process, and redirects stdout and stderr to -// it for both the runner and the Flutter library. -void CreateAndAttachConsole(); - -// Takes a null-terminated wchar_t* encoded in UTF-16 and returns a std::string -// encoded in UTF-8. Returns an empty std::string on failure. -std::string Utf8FromUtf16(const wchar_t* utf16_string); - -// Gets the command line arguments passed in as a std::vector, -// encoded in UTF-8. Returns an empty std::vector on failure. -std::vector GetCommandLineArguments(); - -#endif // RUNNER_UTILS_H_ diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/windows/runner/win32_window.cpp b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/windows/runner/win32_window.cpp deleted file mode 100644 index 45d150e7..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/windows/runner/win32_window.cpp +++ /dev/null @@ -1,284 +0,0 @@ -// Copyright 2023, the Chromium project authors. Please see the AUTHORS file -// for details. All rights reserved. Use of this source code is governed by a -// BSD-style license that can be found in the LICENSE file. - -#include "win32_window.h" - -#include -#include - -#include "resource.h" - -namespace { - -/// Window attribute that enables dark mode window decorations. -/// -/// Redefined in case the developer's machine has a Windows SDK older than -/// version 10.0.22000.0. -/// See: -/// https://docs.microsoft.com/windows/win32/api/dwmapi/ne-dwmapi-dwmwindowattribute -#ifndef DWMWA_USE_IMMERSIVE_DARK_MODE -#define DWMWA_USE_IMMERSIVE_DARK_MODE 20 -#endif - -constexpr const wchar_t kWindowClassName[] = L"FLUTTER_RUNNER_WIN32_WINDOW"; - -/// Registry key for app theme preference. -/// -/// A value of 0 indicates apps should use dark mode. A non-zero or missing -/// value indicates apps should use light mode. -constexpr const wchar_t kGetPreferredBrightnessRegKey[] = - L"Software\\Microsoft\\Windows\\CurrentVersion\\Themes\\Personalize"; -constexpr const wchar_t kGetPreferredBrightnessRegValue[] = - L"AppsUseLightTheme"; - -// The number of Win32Window objects that currently exist. -static int g_active_window_count = 0; - -using EnableNonClientDpiScaling = BOOL __stdcall(HWND hwnd); - -// Scale helper to convert logical scaler values to physical using passed in -// scale factor -int Scale(int source, double scale_factor) { - return static_cast(source * scale_factor); -} - -// Dynamically loads the |EnableNonClientDpiScaling| from the User32 module. -// This API is only needed for PerMonitor V1 awareness mode. -void EnableFullDpiSupportIfAvailable(HWND hwnd) { - HMODULE user32_module = LoadLibraryA("User32.dll"); - if (!user32_module) { - return; - } - auto enable_non_client_dpi_scaling = - reinterpret_cast( - GetProcAddress(user32_module, "EnableNonClientDpiScaling")); - if (enable_non_client_dpi_scaling != nullptr) { - enable_non_client_dpi_scaling(hwnd); - } - FreeLibrary(user32_module); -} - -} // namespace - -// Manages the Win32Window's window class registration. -class WindowClassRegistrar { - public: - ~WindowClassRegistrar() = default; - - // Returns the singleton registrar instance. - static WindowClassRegistrar* GetInstance() { - if (!instance_) { - instance_ = new WindowClassRegistrar(); - } - return instance_; - } - - // Returns the name of the window class, registering the class if it hasn't - // previously been registered. - const wchar_t* GetWindowClass(); - - // Unregisters the window class. Should only be called if there are no - // instances of the window. - void UnregisterWindowClass(); - - private: - WindowClassRegistrar() = default; - - static WindowClassRegistrar* instance_; - - bool class_registered_ = false; -}; - -WindowClassRegistrar* WindowClassRegistrar::instance_ = nullptr; - -const wchar_t* WindowClassRegistrar::GetWindowClass() { - if (!class_registered_) { - WNDCLASS window_class{}; - window_class.hCursor = LoadCursor(nullptr, IDC_ARROW); - window_class.lpszClassName = kWindowClassName; - window_class.style = CS_HREDRAW | CS_VREDRAW; - window_class.cbClsExtra = 0; - window_class.cbWndExtra = 0; - window_class.hInstance = GetModuleHandle(nullptr); - window_class.hIcon = - LoadIcon(window_class.hInstance, MAKEINTRESOURCE(IDI_APP_ICON)); - window_class.hbrBackground = 0; - window_class.lpszMenuName = nullptr; - window_class.lpfnWndProc = Win32Window::WndProc; - RegisterClass(&window_class); - class_registered_ = true; - } - return kWindowClassName; -} - -void WindowClassRegistrar::UnregisterWindowClass() { - UnregisterClass(kWindowClassName, nullptr); - class_registered_ = false; -} - -Win32Window::Win32Window() { ++g_active_window_count; } - -Win32Window::~Win32Window() { - --g_active_window_count; - Destroy(); -} - -bool Win32Window::Create(const std::wstring& title, const Point& origin, - const Size& size) { - Destroy(); - - const wchar_t* window_class = - WindowClassRegistrar::GetInstance()->GetWindowClass(); - - const POINT target_point = {static_cast(origin.x), - static_cast(origin.y)}; - HMONITOR monitor = MonitorFromPoint(target_point, MONITOR_DEFAULTTONEAREST); - UINT dpi = FlutterDesktopGetDpiForMonitor(monitor); - double scale_factor = dpi / 96.0; - - HWND window = CreateWindow( - window_class, title.c_str(), WS_OVERLAPPEDWINDOW, - Scale(origin.x, scale_factor), Scale(origin.y, scale_factor), - Scale(size.width, scale_factor), Scale(size.height, scale_factor), - nullptr, nullptr, GetModuleHandle(nullptr), this); - - if (!window) { - return false; - } - - UpdateTheme(window); - - return OnCreate(); -} - -bool Win32Window::Show() { return ShowWindow(window_handle_, SW_SHOWNORMAL); } - -// static -LRESULT CALLBACK Win32Window::WndProc(HWND const window, UINT const message, - WPARAM const wparam, - LPARAM const lparam) noexcept { - if (message == WM_NCCREATE) { - auto window_struct = reinterpret_cast(lparam); - SetWindowLongPtr(window, GWLP_USERDATA, - reinterpret_cast(window_struct->lpCreateParams)); - - auto that = static_cast(window_struct->lpCreateParams); - EnableFullDpiSupportIfAvailable(window); - that->window_handle_ = window; - } else if (Win32Window* that = GetThisFromHandle(window)) { - return that->MessageHandler(window, message, wparam, lparam); - } - - return DefWindowProc(window, message, wparam, lparam); -} - -LRESULT -Win32Window::MessageHandler(HWND hwnd, UINT const message, WPARAM const wparam, - LPARAM const lparam) noexcept { - switch (message) { - case WM_DESTROY: - window_handle_ = nullptr; - Destroy(); - if (quit_on_close_) { - PostQuitMessage(0); - } - return 0; - - case WM_DPICHANGED: { - auto newRectSize = reinterpret_cast(lparam); - LONG newWidth = newRectSize->right - newRectSize->left; - LONG newHeight = newRectSize->bottom - newRectSize->top; - - SetWindowPos(hwnd, nullptr, newRectSize->left, newRectSize->top, newWidth, - newHeight, SWP_NOZORDER | SWP_NOACTIVATE); - - return 0; - } - case WM_SIZE: { - RECT rect = GetClientArea(); - if (child_content_ != nullptr) { - // Size and position the child window. - MoveWindow(child_content_, rect.left, rect.top, rect.right - rect.left, - rect.bottom - rect.top, TRUE); - } - return 0; - } - - case WM_ACTIVATE: - if (child_content_ != nullptr) { - SetFocus(child_content_); - } - return 0; - - case WM_DWMCOLORIZATIONCOLORCHANGED: - UpdateTheme(hwnd); - return 0; - } - - return DefWindowProc(window_handle_, message, wparam, lparam); -} - -void Win32Window::Destroy() { - OnDestroy(); - - if (window_handle_) { - DestroyWindow(window_handle_); - window_handle_ = nullptr; - } - if (g_active_window_count == 0) { - WindowClassRegistrar::GetInstance()->UnregisterWindowClass(); - } -} - -Win32Window* Win32Window::GetThisFromHandle(HWND const window) noexcept { - return reinterpret_cast( - GetWindowLongPtr(window, GWLP_USERDATA)); -} - -void Win32Window::SetChildContent(HWND content) { - child_content_ = content; - SetParent(content, window_handle_); - RECT frame = GetClientArea(); - - MoveWindow(content, frame.left, frame.top, frame.right - frame.left, - frame.bottom - frame.top, true); - - SetFocus(child_content_); -} - -RECT Win32Window::GetClientArea() { - RECT frame; - GetClientRect(window_handle_, &frame); - return frame; -} - -HWND Win32Window::GetHandle() { return window_handle_; } - -void Win32Window::SetQuitOnClose(bool quit_on_close) { - quit_on_close_ = quit_on_close; -} - -bool Win32Window::OnCreate() { - // No-op; provided for subclasses. - return true; -} - -void Win32Window::OnDestroy() { - // No-op; provided for subclasses. -} - -void Win32Window::UpdateTheme(HWND const window) { - DWORD light_mode; - DWORD light_mode_size = sizeof(light_mode); - LSTATUS result = - RegGetValue(HKEY_CURRENT_USER, kGetPreferredBrightnessRegKey, - kGetPreferredBrightnessRegValue, RRF_RT_REG_DWORD, nullptr, - &light_mode, &light_mode_size); - - if (result == ERROR_SUCCESS) { - BOOL enable_dark_mode = light_mode == 0; - DwmSetWindowAttribute(window, DWMWA_USE_IMMERSIVE_DARK_MODE, - &enable_dark_mode, sizeof(enable_dark_mode)); - } -} diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/windows/runner/win32_window.h b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/windows/runner/win32_window.h deleted file mode 100644 index 32aab58c..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/example/windows/runner/win32_window.h +++ /dev/null @@ -1,106 +0,0 @@ -/* - * Copyright 2023, the Chromium project authors. Please see the AUTHORS file - * for details. All rights reserved. Use of this source code is governed by a - * BSD-style license that can be found in the LICENSE file. - */ - -#ifndef RUNNER_WIN32_WINDOW_H_ -#define RUNNER_WIN32_WINDOW_H_ - -#include - -#include -#include -#include - -// A class abstraction for a high DPI-aware Win32 Window. Intended to be -// inherited from by classes that wish to specialize with custom -// rendering and input handling -class Win32Window { - public: - struct Point { - unsigned int x; - unsigned int y; - Point(unsigned int x, unsigned int y) : x(x), y(y) {} - }; - - struct Size { - unsigned int width; - unsigned int height; - Size(unsigned int width, unsigned int height) - : width(width), height(height) {} - }; - - Win32Window(); - virtual ~Win32Window(); - - // Creates a win32 window with |title| that is positioned and sized using - // |origin| and |size|. New windows are created on the default monitor. Window - // sizes are specified to the OS in physical pixels, hence to ensure a - // consistent size this function will scale the inputted width and height as - // as appropriate for the default monitor. The window is invisible until - // |Show| is called. Returns true if the window was created successfully. - bool Create(const std::wstring& title, const Point& origin, const Size& size); - - // Show the current window. Returns true if the window was successfully shown. - bool Show(); - - // Release OS resources associated with window. - void Destroy(); - - // Inserts |content| into the window tree. - void SetChildContent(HWND content); - - // Returns the backing Window handle to enable clients to set icon and other - // window properties. Returns nullptr if the window has been destroyed. - HWND GetHandle(); - - // If true, closing this window will quit the application. - void SetQuitOnClose(bool quit_on_close); - - // Return a RECT representing the bounds of the current client area. - RECT GetClientArea(); - - protected: - // Processes and route salient window messages for mouse handling, - // size change and DPI. Delegates handling of these to member overloads that - // inheriting classes can handle. - virtual LRESULT MessageHandler(HWND window, UINT const message, - WPARAM const wparam, - LPARAM const lparam) noexcept; - - // Called when CreateAndShow is called, allowing subclass window-related - // setup. Subclasses should return false if setup fails. - virtual bool OnCreate(); - - // Called when Destroy is called. - virtual void OnDestroy(); - - private: - friend class WindowClassRegistrar; - - // OS callback called by message pump. Handles the WM_NCCREATE message which - // is passed when the non-client area is being created and enables automatic - // non-client DPI scaling so that the non-client area automatically - // responds to changes in DPI. All other messages are handled by - // MessageHandler. - static LRESULT CALLBACK WndProc(HWND const window, UINT const message, - WPARAM const wparam, - LPARAM const lparam) noexcept; - - // Retrieves a class instance pointer for |window| - static Win32Window* GetThisFromHandle(HWND const window) noexcept; - - // Update the window frame's theme to match the system theme. - static void UpdateTheme(HWND const window); - - bool quit_on_close_ = false; - - // window handle for top level window. - HWND window_handle_ = nullptr; - - // window handle for hosted content. - HWND child_content_ = nullptr; -}; - -#endif // RUNNER_WIN32_WINDOW_H_ diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/ios/firebase_auth.podspec b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/ios/firebase_auth.podspec deleted file mode 100755 index eba26315..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/ios/firebase_auth.podspec +++ /dev/null @@ -1,43 +0,0 @@ -require 'yaml' - -pubspec = YAML.load_file(File.join('..', 'pubspec.yaml')) -library_version = pubspec['version'].gsub('+', '-') - -if defined?($FirebaseSDKVersion) - Pod::UI.puts "#{pubspec['name']}: Using user specified Firebase SDK version '#{$FirebaseSDKVersion}'" - firebase_sdk_version = $FirebaseSDKVersion -else - firebase_core_script = File.join(File.expand_path('..', File.expand_path('..', File.dirname(__FILE__))), 'firebase_core/ios/firebase_sdk_version.rb') - if File.exist?(firebase_core_script) - require firebase_core_script - firebase_sdk_version = firebase_sdk_version! - Pod::UI.puts "#{pubspec['name']}: Using Firebase SDK version '#{firebase_sdk_version}' defined in 'firebase_core'" - end -end - -Pod::Spec.new do |s| - s.name = pubspec['name'] - s.version = library_version - s.summary = pubspec['description'] - s.description = pubspec['description'] - s.homepage = pubspec['homepage'] - s.license = { :file => '../LICENSE' } - s.authors = 'The Chromium Authors' - s.source = { :path => '.' } - - s.source_files = 'firebase_auth/Sources/firebase_auth/**/*.{h,m}' - s.public_header_files = 'firebase_auth/Sources/firebase_auth/include/Public/**/*.h' - s.private_header_files = 'firebase_auth/Sources/firebase_auth/include/Private/**/*.h' - - s.ios.deployment_target = '15.0' - s.dependency 'Flutter' - - s.dependency 'firebase_core' - s.dependency 'Firebase/Auth', firebase_sdk_version - - s.static_framework = true - s.pod_target_xcconfig = { - 'GCC_PREPROCESSOR_DEFINITIONS' => "LIBRARY_VERSION=\\\"#{library_version}\\\" LIBRARY_NAME=\\\"flutter-fire-auth\\\"", - 'DEFINES_MODULE' => 'YES' - } -end diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/ios/firebase_auth/Package.swift b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/ios/firebase_auth/Package.swift deleted file mode 100644 index 9793367d..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/ios/firebase_auth/Package.swift +++ /dev/null @@ -1,43 +0,0 @@ -// swift-tools-version: 5.9 -// The swift-tools-version declares the minimum version of Swift required to build this package. - -// Copyright 2024, the Chromium project authors. Please see the AUTHORS file -// for details. All rights reserved. Use of this source code is governed by a -// BSD-style license that can be found in the LICENSE file. - -import PackageDescription - -let libraryVersion = "6.5.4" -let firebaseSdkVersion: Version = "12.15.0" - -let package = Package( - name: "firebase_auth", - platforms: [ - .iOS("15.0") - ], - products: [ - .library(name: "firebase-auth", targets: ["firebase_auth"]) - ], - dependencies: [ - .package(url: "https://github.com/firebase/firebase-ios-sdk", exact: firebaseSdkVersion), - .package(name: "firebase_core", path: "../firebase_core"), - ], - targets: [ - .target( - name: "firebase_auth", - dependencies: [ - .product(name: "FirebaseAuth", package: "firebase-ios-sdk"), - .product(name: "firebase-core", package: "firebase_core"), - ], - resources: [ - .process("Resources") - ], - cSettings: [ - .headerSearchPath("include/Private"), - .headerSearchPath("include/Public"), - .define("LIBRARY_VERSION", to: "\"\(libraryVersion)\""), - .define("LIBRARY_NAME", to: "\"flutter-fire-auth\""), - ] - ) - ] -) diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/ios/firebase_auth/Sources/firebase_auth/FLTAuthStateChannelStreamHandler.m b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/ios/firebase_auth/Sources/firebase_auth/FLTAuthStateChannelStreamHandler.m deleted file mode 100644 index 5ef9adaf..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/ios/firebase_auth/Sources/firebase_auth/FLTAuthStateChannelStreamHandler.m +++ /dev/null @@ -1,56 +0,0 @@ -// Copyright 2021 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. -@import FirebaseAuth; -#import "include/Private/FLTAuthStateChannelStreamHandler.h" -#import -#import "include/Private/PigeonParser.h" -#import "include/Public/FLTFirebaseAuthPlugin.h" - -@implementation FLTAuthStateChannelStreamHandler { - FIRAuth *_auth; - FIRAuthStateDidChangeListenerHandle _listener; -} - -- (instancetype)initWithAuth:(FIRAuth *)auth { - self = [super init]; - if (self) { - _auth = auth; - } - return self; -} - -- (FlutterError *)onListenWithArguments:(id)arguments eventSink:(FlutterEventSink)events { - bool __block initialAuthState = YES; - - _listener = [_auth addAuthStateDidChangeListener:^(FIRAuth *_Nonnull auth, - FIRUser *_Nullable user) { - if (initialAuthState) { - initialAuthState = NO; - return; - } - - if (user) { - events(@{ - @"user" : [PigeonParser getManualList:[PigeonParser getPigeonDetails:[auth currentUser]]] - }); - } else { - events(@{ - @"user" : [NSNull null], - }); - } - }]; - - return nil; -} - -- (FlutterError *)onCancelWithArguments:(id)arguments { - if (_listener) { - [_auth removeAuthStateDidChangeListener:_listener]; - } - _listener = nil; - - return nil; -} - -@end diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/ios/firebase_auth/Sources/firebase_auth/FLTFirebaseAuthPlugin.m b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/ios/firebase_auth/Sources/firebase_auth/FLTFirebaseAuthPlugin.m deleted file mode 100644 index 606dda68..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/ios/firebase_auth/Sources/firebase_auth/FLTFirebaseAuthPlugin.m +++ /dev/null @@ -1,2376 +0,0 @@ -// Copyright 2020 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -@import FirebaseAuth; -#import -#import -#if __has_include() -#import -#else -#import -#endif - -#import "include/Private/FLTAuthStateChannelStreamHandler.h" -#import "include/Private/FLTIdTokenChannelStreamHandler.h" -#import "include/Private/FLTPhoneNumberVerificationStreamHandler.h" -#import "include/Private/PigeonParser.h" - -#import "include/Public/CustomPigeonHeader.h" -#import "include/Public/FLTFirebaseAuthPlugin.h" -@import CommonCrypto; -#import - -#if __has_include() -#import -#else -#import -#endif - -NSString *const kFLTFirebaseAuthChannelName = @"plugins.flutter.io/firebase_auth"; - -// Argument Keys -NSString *const kAppName = @"appName"; - -// Provider type keys. -NSString *const kSignInMethodPassword = @"password"; -NSString *const kSignInMethodEmailLink = @"emailLink"; -NSString *const kSignInMethodFacebook = @"facebook.com"; -NSString *const kSignInMethodGoogle = @"google.com"; -NSString *const kSignInMethodGameCenter = @"gc.apple.com"; -NSString *const kSignInMethodTwitter = @"twitter.com"; -NSString *const kSignInMethodGithub = @"github.com"; -NSString *const kSignInMethodApple = @"apple.com"; -NSString *const kSignInMethodPhone = @"phone"; -NSString *const kSignInMethodOAuth = @"oauth"; - -// Credential argument keys. -NSString *const kArgumentCredential = @"credential"; -NSString *const kArgumentProviderId = @"providerId"; -NSString *const kArgumentProviderScope = @"scopes"; -NSString *const kArgumentProviderCustomParameters = @"customParameters"; -NSString *const kArgumentSignInMethod = @"signInMethod"; -NSString *const kArgumentSecret = @"secret"; -NSString *const kArgumentIdToken = @"idToken"; -NSString *const kArgumentAccessToken = @"accessToken"; -NSString *const kArgumentRawNonce = @"rawNonce"; -NSString *const kArgumentEmail = @"email"; -NSString *const kArgumentCode = @"code"; -NSString *const kArgumentNewEmail = @"newEmail"; -NSString *const kArgumentEmailLink = kSignInMethodEmailLink; -NSString *const kArgumentToken = @"token"; -NSString *const kArgumentVerificationId = @"verificationId"; -NSString *const kArgumentSmsCode = @"smsCode"; -NSString *const kArgumentActionCodeSettings = @"actionCodeSettings"; -NSString *const kArgumentFamilyName = @"familyName"; -NSString *const kArgumentGivenName = @"givenName"; -NSString *const kArgumentMiddleName = @"middleName"; -NSString *const kArgumentNickname = @"nickname"; -NSString *const kArgumentNamePrefix = @"namePrefix"; -NSString *const kArgumentNameSuffix = @"nameSuffix"; - -// MultiFactor -NSString *const kArgumentMultiFactorHints = @"multiFactorHints"; -NSString *const kArgumentMultiFactorSessionId = @"multiFactorSessionId"; -NSString *const kArgumentMultiFactorResolverId = @"multiFactorResolverId"; -NSString *const kArgumentMultiFactorInfo = @"multiFactorInfo"; - -// Manual error codes & messages. -NSString *const kErrCodeNoCurrentUser = @"no-current-user"; -NSString *const kErrMsgNoCurrentUser = @"No user currently signed in."; -NSString *const kErrCodeInvalidCredential = @"invalid-credential"; -NSString *const kErrMsgInvalidCredential = - @"The supplied auth credential is malformed, has expired or is not " - @"currently supported."; - -// Used for caching credentials between Method Channel method calls. -static NSMutableDictionary *credentialsMap; - -@interface FLTFirebaseAuthPlugin () -@property(nonatomic, retain) NSObject *messenger; -@property(strong, nonatomic) FIROAuthProvider *authProvider; -// Used to keep the user who wants to link with Apple Sign In -@property(strong, nonatomic) FIRUser *linkWithAppleUser; -@property(strong, nonatomic) FIRAuth *signInWithAppleAuth; -@property BOOL isReauthenticatingWithApple; -@property(strong, nonatomic) NSString *currentNonce; -@property(strong, nonatomic) void (^appleCompletion) - (InternalUserCredential *_Nullable, FlutterError *_Nullable); -@property(strong, nonatomic) AuthPigeonFirebaseApp *appleArguments; -/// YES while an `ASAuthorizationController` Sign in with Apple flow is active. -@property(nonatomic, assign) BOOL appleSignInRequestInFlight; - -@end - -@implementation FLTFirebaseAuthPlugin { - // Map an id to a MultiFactorSession object. - NSMutableDictionary *_multiFactorSessionMap; - - // Map an id to a MultiFactorResolver object. - NSMutableDictionary *_multiFactorResolverMap; - - // Map an id to a MultiFactorResolver object. - NSMutableDictionary *_multiFactorAssertionMap; - - // Map an id to a MultiFactorResolver object. - NSMutableDictionary *_multiFactorTotpSecretMap; - - // Emulator host/port per app, used to build REST URLs for workarounds. - NSMutableDictionary *_emulatorConfigs; - - NSObject *_binaryMessenger; - NSMutableDictionary *_eventChannels; - NSMutableDictionary *> *_streamHandlers; - NSData *_apnsToken; -} - -#pragma mark - FlutterPlugin - -- (instancetype)init:(NSObject *)messenger { - self = [super init]; - if (self) { - [[FLTFirebasePluginRegistry sharedInstance] registerFirebasePlugin:self]; - credentialsMap = [NSMutableDictionary dictionary]; - _binaryMessenger = messenger; - _eventChannels = [NSMutableDictionary dictionary]; - _streamHandlers = [NSMutableDictionary dictionary]; - - _multiFactorSessionMap = [NSMutableDictionary dictionary]; - _multiFactorResolverMap = [NSMutableDictionary dictionary]; - _multiFactorAssertionMap = [NSMutableDictionary dictionary]; - _multiFactorTotpSecretMap = [NSMutableDictionary dictionary]; - _emulatorConfigs = [NSMutableDictionary dictionary]; - } - return self; -} - -+ (void)registerWithRegistrar:(NSObject *)registrar { - FlutterMethodChannel *channel = - [FlutterMethodChannel methodChannelWithName:kFLTFirebaseAuthChannelName - binaryMessenger:[registrar messenger]]; - FLTFirebaseAuthPlugin *instance = [[FLTFirebaseAuthPlugin alloc] init:registrar.messenger]; - - [registrar addMethodCallDelegate:instance channel:channel]; - - [registrar publish:instance]; - [registrar addApplicationDelegate:instance]; -#if !TARGET_OS_OSX - if (@available(iOS 13.0, *)) { - if ([registrar respondsToSelector:@selector(addSceneDelegate:)]) { - [registrar performSelector:@selector(addSceneDelegate:) withObject:instance]; - } - } -#endif - SetUpFirebaseAuthHostApi(registrar.messenger, instance); - SetUpFirebaseAuthUserHostApi(registrar.messenger, instance); - SetUpMultiFactorUserHostApi(registrar.messenger, instance); - SetUpMultiFactoResolverHostApi(registrar.messenger, instance); - SetUpMultiFactorTotpHostApi(registrar.messenger, instance); - SetUpMultiFactorTotpSecretHostApi(registrar.messenger, instance); -} - -+ (FlutterError *)convertToFlutterError:(NSError *)error { - NSString *code = @"unknown"; - NSString *message = @"An unknown error has occurred."; - - if (error == nil) { - return [FlutterError errorWithCode:code message:message details:@{}]; - } - - // code - if ([error userInfo][FIRAuthErrorUserInfoNameKey] != nil) { - // See [FIRAuthErrorCodeString] for list of codes. - // Codes are in the format "ERROR_SOME_NAME", converting below to the format - // required in Dart. ERROR_SOME_NAME -> SOME_NAME - NSString *firebaseErrorCode = [error userInfo][FIRAuthErrorUserInfoNameKey]; - code = [firebaseErrorCode stringByReplacingOccurrencesOfString:@"ERROR_" withString:@""]; - // SOME_NAME -> SOME-NAME - code = [code stringByReplacingOccurrencesOfString:@"_" withString:@"-"]; - // SOME-NAME -> some-name - code = [code lowercaseString]; - } - - // message - if ([error userInfo][NSLocalizedDescriptionKey] != nil) { - message = [error userInfo][NSLocalizedDescriptionKey]; - } - - NSMutableDictionary *additionalData = [NSMutableDictionary dictionary]; - // additionalData.email - if ([error userInfo][FIRAuthErrorUserInfoEmailKey] != nil) { - additionalData[kArgumentEmail] = [error userInfo][FIRAuthErrorUserInfoEmailKey]; - } - // We want to store the credential if present for future sign in if the exception contains a - // credential, we pass a token back to Flutter to allow retrieval of the credential. - NSNumber *token = [FLTFirebaseAuthPlugin storeAuthCredentialIfPresent:error]; - - // additionalData.authCredential - if ([error userInfo][FIRAuthErrorUserInfoUpdatedCredentialKey] != nil) { - FIRAuthCredential *authCredential = [error userInfo][FIRAuthErrorUserInfoUpdatedCredentialKey]; - additionalData[@"authCredential"] = [PigeonParser getPigeonAuthCredential:authCredential - token:token]; - } - - // Manual message overrides to ensure messages/codes matches other platforms. - if ([message isEqual:@"The password must be 6 characters long or more."]) { - message = @"Password should be at least 6 characters"; - } - - return [FlutterError errorWithCode:code message:message details:additionalData]; -} - -+ (id)getNSDictionaryFromAuthCredential:(FIRAuthCredential *)authCredential { - if (authCredential == nil) { - return [NSNull null]; - } - - NSString *accessToken = nil; - if ([authCredential isKindOfClass:[FIROAuthCredential class]]) { - if (((FIROAuthCredential *)authCredential).accessToken != nil) { - accessToken = ((FIROAuthCredential *)authCredential).accessToken; - } else if (((FIROAuthCredential *)authCredential).IDToken != nil) { - // For Sign In With Apple, the token is stored in IDToken - accessToken = ((FIROAuthCredential *)authCredential).IDToken; - } - } - - return @{ - kArgumentProviderId : authCredential.provider, - // Note: "signInMethod" does not exist on iOS SDK, so using provider - // instead. - kArgumentSignInMethod : authCredential.provider, - kArgumentToken : @([authCredential hash]), - kArgumentAccessToken : accessToken ?: [NSNull null], - }; -} - -- (void)cleanupWithCompletion:(void (^)(void))completion { - // Cleanup credentials. - [credentialsMap removeAllObjects]; - - for (FlutterEventChannel *channel in self->_eventChannels.allValues) { - [channel setStreamHandler:nil]; - } - [self->_eventChannels removeAllObjects]; - for (NSObject *handler in self->_streamHandlers.allValues) { - [handler onCancelWithArguments:nil]; - } - [self->_streamHandlers removeAllObjects]; - - if (completion != nil) completion(); -} - -- (void)detachFromEngineForRegistrar:(NSObject *)registrar { - [self cleanupWithCompletion:nil]; -} - -#pragma mark - AppDelegate - -#if TARGET_OS_IPHONE -#if !__has_include() -- (BOOL)application:(UIApplication *)application - didReceiveRemoteNotification:(NSDictionary *)notification - fetchCompletionHandler:(void (^)(UIBackgroundFetchResult result))completionHandler { - if ([[FIRAuth auth] canHandleNotification:notification]) { - completionHandler(UIBackgroundFetchResultNoData); - return YES; - } - return NO; -} -#endif - -- (void)application:(UIApplication *)application - didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken { - _apnsToken = deviceToken; -} - -- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary *)options { - return [[FIRAuth auth] canHandleURL:url]; -} - -#pragma mark - SceneDelegate - -- (BOOL)scene:(UIScene *)scene - openURLContexts:(NSSet *)URLContexts API_AVAILABLE(ios(13.0)) { - for (UIOpenURLContext *urlContext in URLContexts) { - if ([[FIRAuth auth] canHandleURL:urlContext.URL]) { - return YES; - } - } - return NO; -} -#endif - -#pragma mark - FLTFirebasePlugin - -- (void)didReinitializeFirebaseCore:(void (^_Nonnull)(void))completion { - [self cleanupWithCompletion:completion]; -} - -- (NSString *_Nonnull)firebaseLibraryName { - return @LIBRARY_NAME; -} - -- (NSString *_Nonnull)firebaseLibraryVersion { - return @LIBRARY_VERSION; -} - -- (NSString *_Nonnull)flutterChannelName { - return kFLTFirebaseAuthChannelName; -} - -- (NSDictionary *_Nonnull)pluginConstantsForFIRApp:(FIRApp *_Nonnull)firebaseApp { - FIRAuth *auth = [FIRAuth authWithApp:firebaseApp]; - return @{ - @"APP_LANGUAGE_CODE" : (id)[auth languageCode] ?: [NSNull null], - @"APP_CURRENT_USER" : [auth currentUser] - ? [PigeonParser getManualList:[PigeonParser getPigeonDetails:[auth currentUser]]] - : [NSNull null], - }; -} - -#pragma mark - Firebase Auth API - -// Adapted from -// https://auth0.com/docs/api-auth/tutorials/nonce#generate-a-cryptographically-random-nonce Used -// for Apple Sign In -- (NSString *)randomNonce:(NSInteger)length { - NSAssert(length > 0, @"Expected nonce to have positive length"); - NSString *characterSet = @"0123456789ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvwxyz-._"; - NSMutableString *result = [NSMutableString string]; - NSInteger remainingLength = length; - - while (remainingLength > 0) { - NSMutableArray *randoms = [NSMutableArray arrayWithCapacity:16]; - for (NSInteger i = 0; i < 16; i++) { - uint8_t random = 0; - int errorCode = SecRandomCopyBytes(kSecRandomDefault, 1, &random); - NSAssert(errorCode == errSecSuccess, @"Unable to generate nonce: OSStatus %i", errorCode); - - [randoms addObject:@(random)]; - } - - for (NSNumber *random in randoms) { - if (remainingLength == 0) { - break; - } - - if (random.unsignedIntValue < characterSet.length) { - unichar character = [characterSet characterAtIndex:random.unsignedIntValue]; - [result appendFormat:@"%C", character]; - remainingLength--; - } - } - } - - return [result copy]; -} - -- (NSString *)stringBySha256HashingString:(NSString *)input { - const char *string = [input UTF8String]; - unsigned char result[CC_SHA256_DIGEST_LENGTH]; - CC_SHA256(string, (CC_LONG)strlen(string), result); - - NSMutableString *hashed = [NSMutableString stringWithCapacity:CC_SHA256_DIGEST_LENGTH * 2]; - for (NSInteger i = 0; i < CC_SHA256_DIGEST_LENGTH; i++) { - [hashed appendFormat:@"%02x", result[i]]; - } - return hashed; -} - -static void handleSignInWithApple(FLTFirebaseAuthPlugin *object, FIRAuthDataResult *authResult, - NSString *authorizationCode, NSError *error) { - void (^completion)(InternalUserCredential *_Nullable, FlutterError *_Nullable) = - object.appleCompletion; - if (completion == nil) { - object.appleSignInRequestInFlight = NO; - return; - } - - if (error != nil) { - if (error.code == FIRAuthErrorCodeSecondFactorRequired) { - object.appleCompletion = nil; - object.appleSignInRequestInFlight = NO; - [object handleMultiFactorError:object.appleArguments completion:completion withError:error]; - } else { - object.appleCompletion = nil; - object.appleSignInRequestInFlight = NO; - completion(nil, [FLTFirebaseAuthPlugin convertToFlutterError:error]); - } - return; - } - object.appleCompletion = nil; - object.appleSignInRequestInFlight = NO; - completion([PigeonParser getPigeonUserCredentialFromAuthResult:authResult - authorizationCode:authorizationCode], - nil); -} - -- (void)authorizationController:(ASAuthorizationController *)controller - didCompleteWithAuthorization:(ASAuthorization *)authorization - API_AVAILABLE(macos(10.15), ios(13.0)) { - if ([authorization.credential isKindOfClass:[ASAuthorizationAppleIDCredential class]]) { - ASAuthorizationAppleIDCredential *appleIDCredential = authorization.credential; - NSString *rawNonce = self.currentNonce; - NSAssert(rawNonce != nil, - @"Invalid state: A login callback was received, but no login request was sent."); - - if (appleIDCredential.identityToken == nil) { - NSLog(@"Unable to fetch identity token."); - void (^completion)(InternalUserCredential *_Nullable, FlutterError *_Nullable) = - self.appleCompletion; - self.appleCompletion = nil; - self.appleSignInRequestInFlight = NO; - if (completion != nil) { - completion(nil, [FlutterError errorWithCode:kErrCodeInvalidCredential - message:kErrMsgInvalidCredential - details:nil]); - } - return; - } - - NSString *idToken = [[NSString alloc] initWithData:appleIDCredential.identityToken - encoding:NSUTF8StringEncoding]; - if (idToken == nil) { - NSLog(@"Unable to serialize id token from data: %@", appleIDCredential.identityToken); - } - - NSString *authorizationCode = nil; - if (appleIDCredential.authorizationCode != nil) { - authorizationCode = [[NSString alloc] initWithData:appleIDCredential.authorizationCode - encoding:NSUTF8StringEncoding]; - } - - FIROAuthCredential *credential = - [FIROAuthProvider appleCredentialWithIDToken:idToken - rawNonce:rawNonce - fullName:appleIDCredential.fullName]; - - if (self.isReauthenticatingWithApple == YES) { - self.isReauthenticatingWithApple = NO; - void (^capturedCompletion)(InternalUserCredential *_Nullable, FlutterError *_Nullable) = - self.appleCompletion; - [[FIRAuth.auth currentUser] - reauthenticateWithCredential:credential - completion:^(FIRAuthDataResult *_Nullable authResult, - NSError *_Nullable error) { - handleSignInWithApple(self, authResult, authorizationCode, error); - }]; - - } else if (self.linkWithAppleUser != nil) { - FIRUser *userToLink = self.linkWithAppleUser; - void (^capturedCompletion)(InternalUserCredential *_Nullable, FlutterError *_Nullable) = - self.appleCompletion; - [userToLink linkWithCredential:credential - completion:^(FIRAuthDataResult *authResult, NSError *error) { - self.linkWithAppleUser = nil; - handleSignInWithApple(self, authResult, authorizationCode, error); - }]; - - } else { - FIRAuth *signInAuth = - self.signInWithAppleAuth != nil ? self.signInWithAppleAuth : FIRAuth.auth; - void (^capturedCompletion)(InternalUserCredential *_Nullable, FlutterError *_Nullable) = - self.appleCompletion; - [signInAuth signInWithCredential:credential - completion:^(FIRAuthDataResult *_Nullable authResult, - NSError *_Nullable error) { - self.signInWithAppleAuth = nil; - handleSignInWithApple(self, authResult, authorizationCode, error); - }]; - } - } else { - void (^completion)(InternalUserCredential *_Nullable, FlutterError *_Nullable) = - self.appleCompletion; - self.appleCompletion = nil; - self.appleSignInRequestInFlight = NO; - if (completion != nil) { - completion(nil, [FlutterError errorWithCode:kErrCodeInvalidCredential - message:kErrMsgInvalidCredential - details:nil]); - } - } -} - -- (void)authorizationController:(ASAuthorizationController *)controller - didCompleteWithError:(NSError *)error API_AVAILABLE(macos(10.15), ios(13.0)) { - void (^completion)(InternalUserCredential *_Nullable, FlutterError *_Nullable) = - self.appleCompletion; - self.appleCompletion = nil; - self.appleSignInRequestInFlight = NO; - - NSLog(@"Sign in with Apple errored: %@", error); - if (completion == nil) { - return; - } - - switch (error.code) { - case ASAuthorizationErrorCanceled: - completion(nil, [FlutterError errorWithCode:@"canceled" - message:@"The user canceled the authorization attempt." - details:nil]); - break; - - case ASAuthorizationErrorInvalidResponse: - completion(nil, [FlutterError - errorWithCode:@"invalid-response" - message:@"The authorization request received an invalid response." - details:nil]); - break; - - case ASAuthorizationErrorNotHandled: - completion(nil, [FlutterError errorWithCode:@"not-handled" - message:@"The authorization request wasn’t handled." - details:nil]); - break; - - case ASAuthorizationErrorFailed: - completion(nil, [FlutterError errorWithCode:@"failed" - message:@"The authorization attempt failed." - details:nil]); - break; - - case ASAuthorizationErrorUnknown: - default: - completion(nil, [FLTFirebaseAuthPlugin convertToFlutterError:error]); - break; - } -} - -- (void)handleInternalError:(nonnull void (^)(InternalUserCredential *_Nullable, - FlutterError *_Nullable))completion - withError:(NSError *)error { - const NSError *underlyingError = error.userInfo[@"NSUnderlyingError"]; - if (underlyingError != nil) { - const NSDictionary *details = - underlyingError.userInfo[@"FIRAuthErrorUserInfoDeserializedResponseKey"]; - completion(nil, [FlutterError errorWithCode:@"internal-error" - message:error.description - details:details]); - return; - } - completion(nil, [FlutterError errorWithCode:@"internal-error" - message:error.description - details:nil]); -} - -- (void)handleMultiFactorError:(AuthPigeonFirebaseApp *)app - completion:(nonnull void (^)(InternalUserCredential *_Nullable, - FlutterError *_Nullable))completion - withError:(NSError *_Nullable)error { - FIRMultiFactorResolver *resolver = - (FIRMultiFactorResolver *)error.userInfo[FIRAuthErrorUserInfoMultiFactorResolverKey]; - - NSArray *hints = resolver.hints; - FIRMultiFactorSession *session = resolver.session; - - NSString *sessionId = [[NSUUID UUID] UUIDString]; - self->_multiFactorSessionMap[sessionId] = session; - - NSString *resolverId = [[NSUUID UUID] UUIDString]; - self->_multiFactorResolverMap[resolverId] = resolver; - - NSMutableArray *pigeonHints = [NSMutableArray array]; - - for (FIRMultiFactorInfo *multiFactorInfo in hints) { - NSString *phoneNumber; - if ([multiFactorInfo class] == [FIRPhoneMultiFactorInfo class]) { - FIRPhoneMultiFactorInfo *phoneFactorInfo = (FIRPhoneMultiFactorInfo *)multiFactorInfo; - phoneNumber = phoneFactorInfo.phoneNumber; - } - - InternalMultiFactorInfo *object = [InternalMultiFactorInfo - makeWithDisplayName:multiFactorInfo.displayName - enrollmentTimestamp:multiFactorInfo.enrollmentDate.timeIntervalSince1970 - factorId:multiFactorInfo.factorID - uid:multiFactorInfo.UID - phoneNumber:phoneNumber]; - - [pigeonHints addObject:object.toList]; - } - - NSDictionary *output = @{ - kAppName : app.appName, - kArgumentMultiFactorHints : pigeonHints, - kArgumentMultiFactorSessionId : sessionId, - kArgumentMultiFactorResolverId : resolverId, - }; - completion(nil, [FlutterError errorWithCode:@"second-factor-required" - message:error.description - details:output]); -} - -static void launchAppleSignInRequest(FLTFirebaseAuthPlugin *object, AuthPigeonFirebaseApp *app, - InternalSignInProvider *signInProvider, - void (^_Nonnull completion)(InternalUserCredential *_Nullable, - FlutterError *_Nullable)) { - if (@available(iOS 13.0, macOS 10.15, *)) { - if (object.appleSignInRequestInFlight) { - completion(nil, - [FlutterError errorWithCode:@"operation-not-allowed" - message:@"A Sign in with Apple request is already in progress." - details:nil]); - return; - } - - NSString *nonce = [object randomNonce:32]; - object.currentNonce = nonce; - object.appleCompletion = completion; - object.appleArguments = app; - object.appleSignInRequestInFlight = YES; - - ASAuthorizationAppleIDProvider *appleIDProvider = [[ASAuthorizationAppleIDProvider alloc] init]; - - ASAuthorizationAppleIDRequest *request = [appleIDProvider createRequest]; - NSMutableArray *requestedScopes = [NSMutableArray arrayWithCapacity:2]; - if ([signInProvider.scopes containsObject:@"name"]) { - [requestedScopes addObject:ASAuthorizationScopeFullName]; - } - if ([signInProvider.scopes containsObject:@"email"]) { - [requestedScopes addObject:ASAuthorizationScopeEmail]; - } - request.requestedScopes = [requestedScopes copy]; - request.nonce = [object stringBySha256HashingString:nonce]; - - ASAuthorizationController *authorizationController = - [[ASAuthorizationController alloc] initWithAuthorizationRequests:@[ request ]]; - authorizationController.delegate = object; - authorizationController.presentationContextProvider = object; - [authorizationController performRequests]; - } else { - NSLog(@"Sign in with Apple was introduced in iOS 13, update your Podfile with platform :ios, " - @"'13.0'"); - } -} - -static void handleAppleAuthResult(FLTFirebaseAuthPlugin *object, AuthPigeonFirebaseApp *app, - FIRAuth *auth, FIRAuthCredential *credentials, NSError *error, - void (^_Nonnull completion)(InternalUserCredential *_Nullable, - FlutterError *_Nullable)) { - if (error) { - if (error.code == FIRAuthErrorCodeSecondFactorRequired) { - [object handleMultiFactorError:app completion:completion withError:error]; - } else { - completion(nil, [FLTFirebaseAuthPlugin convertToFlutterError:error]); - } - return; - } - if (credentials) { - [auth - signInWithCredential:credentials - completion:^(FIRAuthDataResult *authResult, NSError *error) { - if (error != nil) { - NSDictionary *userInfo = [error userInfo]; - NSError *underlyingError = [userInfo objectForKey:NSUnderlyingErrorKey]; - - NSDictionary *firebaseDictionary = - underlyingError.userInfo[@"FIRAuthErrorUserInfoDes" - @"erializedResponseKey"]; - - NSString *errorCode = userInfo[@"FIRAuthErrorUserInfoNameKey"]; - - if (firebaseDictionary == nil && errorCode != nil) { - if ([errorCode isEqual:@"ERROR_ACCOUNT_EXISTS_WITH_DIFFERENT_CREDENTIAL"]) { - completion(nil, [FLTFirebaseAuthPlugin convertToFlutterError:error]); - return; - } - - // Removing since it's not parsed and causing issue when sending back the - // object to Flutter - NSMutableDictionary *mutableUserInfo = [userInfo mutableCopy]; - [mutableUserInfo - removeObjectForKey:@"FIRAuthErrorUserInfoUpdatedCredentialKey"]; - NSError *modifiedError = [NSError errorWithDomain:error.domain - code:error.code - userInfo:mutableUserInfo]; - - completion(nil, - [FlutterError errorWithCode:@"sign-in-failed" - message:userInfo[@"NSLocalizedDescription"] - details:modifiedError.userInfo]); - - } else if (firebaseDictionary != nil && - firebaseDictionary[@"message"] != nil) { - // error from firebase-ios-sdk is - // buried in underlying error. - completion(nil, - [FlutterError errorWithCode:@"sign-in-failed" - message:error.localizedDescription - details:firebaseDictionary[@"message"]]); - } else { - completion(nil, [FlutterError errorWithCode:@"sign-in-failed" - message:error.localizedDescription - details:error.userInfo]); - } - } else { - completion([PigeonParser getPigeonUserCredentialFromAuthResult:authResult - authorizationCode:nil], - nil); - } - }]; - } -} - -#pragma mark - Utilities - -+ (NSNumber *_Nullable)storeAuthCredentialIfPresent:(NSError *)error { - if ([error userInfo][FIRAuthErrorUserInfoUpdatedCredentialKey] != nil) { - FIRAuthCredential *authCredential = [error userInfo][FIRAuthErrorUserInfoUpdatedCredentialKey]; - // We temporarily store the non-serializable credential so the - // Dart API can consume these at a later time. - NSNumber *authCredentialHash = @([authCredential hash]); - credentialsMap[authCredentialHash] = authCredential; - return authCredentialHash; - } - return nil; -} - -- (FIRAuth *_Nullable)getFIRAuthFromAppNameFromPigeon:(AuthPigeonFirebaseApp *)pigeonApp { - FIRApp *app = [FLTFirebasePlugin firebaseAppNamed:pigeonApp.appName]; - FIRAuth *auth = [FIRAuth authWithApp:app]; - - auth.tenantID = pigeonApp.tenantId; - auth.customAuthDomain = [FLTFirebaseCorePlugin getCustomDomain:app.name]; - // Auth's `customAuthDomain` supersedes value from `getCustomDomain` set by `initializeApp` - if (pigeonApp.customAuthDomain != nil) { - auth.customAuthDomain = pigeonApp.customAuthDomain; - } - - return auth; -} - -- (void)getFIRAuthCredentialFromArguments:(NSDictionary *)arguments - app:(AuthPigeonFirebaseApp *)app - completion:(void (^)(FIRAuthCredential *credential, - NSError *error))completion { - // If the credential dictionary contains a token, it means a native one has - // been stored for later usage, so we'll attempt to retrieve it here. - if (arguments[kArgumentToken] != nil && ![arguments[kArgumentToken] isEqual:[NSNull null]]) { - NSNumber *credentialHashCode = arguments[kArgumentToken]; - if (credentialsMap[credentialHashCode] != nil) { - completion(credentialsMap[credentialHashCode], nil); - return; - } - } - - NSString *signInMethod = arguments[kArgumentSignInMethod]; - - if ([signInMethod isEqualToString:kSignInMethodGameCenter]) { - // Game Center Games is different to other providers, it requires below callback to get a - // credential. This is why getFIRAuthCredentialFromArguments now requires a completion() - // callback - [FIRGameCenterAuthProvider - getCredentialWithCompletion:^(FIRAuthCredential *credential, NSError *error) { - if (error) { - completion(nil, error); - } else { - completion(credential, nil); - } - }]; - return; - } - - NSString *secret = arguments[kArgumentSecret] == [NSNull null] ? nil : arguments[kArgumentSecret]; - NSString *idToken = - arguments[kArgumentIdToken] == [NSNull null] ? nil : arguments[kArgumentIdToken]; - NSString *accessToken = - arguments[kArgumentAccessToken] == [NSNull null] ? nil : arguments[kArgumentAccessToken]; - NSString *rawNonce = - arguments[kArgumentRawNonce] == [NSNull null] ? nil : arguments[kArgumentRawNonce]; - - // Password Auth - if ([signInMethod isEqualToString:kSignInMethodPassword]) { - NSString *email = arguments[kArgumentEmail]; - completion([FIREmailAuthProvider credentialWithEmail:email password:secret], nil); - return; - } - - // Email Link Auth - if ([signInMethod isEqualToString:kSignInMethodEmailLink]) { - NSString *email = arguments[kArgumentEmail]; - NSString *emailLink = arguments[kArgumentEmailLink]; - completion([FIREmailAuthProvider credentialWithEmail:email link:emailLink], nil); - return; - } - - // Facebook Auth - if ([signInMethod isEqualToString:kSignInMethodFacebook]) { - completion([FIRFacebookAuthProvider credentialWithAccessToken:accessToken], nil); - return; - } - - // Google Auth - if ([signInMethod isEqualToString:kSignInMethodGoogle]) { - completion([FIRGoogleAuthProvider credentialWithIDToken:idToken accessToken:accessToken], nil); - return; - } - - // Twitter Auth - if ([signInMethod isEqualToString:kSignInMethodTwitter]) { - completion([FIRTwitterAuthProvider credentialWithToken:accessToken secret:secret], nil); - return; - } - - // GitHub Auth - if ([signInMethod isEqualToString:kSignInMethodGithub]) { - completion([FIRGitHubAuthProvider credentialWithToken:accessToken], nil); - return; - } - - // Phone Auth - Only supported on iOS - if ([signInMethod isEqualToString:kSignInMethodPhone]) { -#if TARGET_OS_IPHONE - NSString *verificationId = arguments[kArgumentVerificationId]; - NSString *smsCode = arguments[kArgumentSmsCode]; - completion([[FIRPhoneAuthProvider providerWithAuth:[self getFIRAuthFromAppNameFromPigeon:app]] - credentialWithVerificationID:verificationId - verificationCode:smsCode], - nil); - return; -#else - NSLog(@"The Firebase Phone Authentication provider is not supported on the " - @"MacOS platform."); - completion(nil, nil); - return; -#endif - } - // Apple Auth - if ([signInMethod isEqualToString:kSignInMethodApple]) { - if (idToken && rawNonce) { - // Credential with idToken, rawNonce and fullName - NSPersonNameComponents *fullName = [[NSPersonNameComponents alloc] init]; - fullName.givenName = - arguments[kArgumentGivenName] == [NSNull null] ? nil : arguments[kArgumentGivenName]; - fullName.familyName = - arguments[kArgumentFamilyName] == [NSNull null] ? nil : arguments[kArgumentFamilyName]; - fullName.nickname = - arguments[kArgumentNickname] == [NSNull null] ? nil : arguments[kArgumentNickname]; - fullName.namePrefix = - arguments[kArgumentNamePrefix] == [NSNull null] ? nil : arguments[kArgumentNamePrefix]; - fullName.nameSuffix = - arguments[kArgumentNameSuffix] == [NSNull null] ? nil : arguments[kArgumentNameSuffix]; - fullName.middleName = - arguments[kArgumentMiddleName] == [NSNull null] ? nil : arguments[kArgumentMiddleName]; - - completion([FIROAuthProvider appleCredentialWithIDToken:idToken - rawNonce:rawNonce - fullName:fullName], - nil); - return; - } - } - // OAuth - if ([signInMethod isEqualToString:kSignInMethodOAuth]) { - NSString *providerId = arguments[kArgumentProviderId]; - completion([FIROAuthProvider credentialWithProviderID:providerId - IDToken:idToken - rawNonce:rawNonce - accessToken:accessToken], - nil); - return; - } - - NSLog(@"Support for an auth provider with identifier '%@' is not implemented.", signInMethod); - completion(nil, nil); - return; -} - -- (void)ensureAPNSTokenSetting { -#if !TARGET_OS_OSX - FIRApp *defaultApp = [FIRApp defaultApp]; - if (defaultApp) { - if ([FIRAuth auth].APNSToken == nil && _apnsToken != nil) { - [[FIRAuth auth] setAPNSToken:_apnsToken type:FIRAuthAPNSTokenTypeUnknown]; - _apnsToken = nil; - } - } -#endif -} - -- (FIRMultiFactor *)getAppMultiFactorFromPigeon:(nonnull AuthPigeonFirebaseApp *)app { - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - FIRUser *currentUser = auth.currentUser; - return currentUser.multiFactor; -} - -- (nonnull ASPresentationAnchor)presentationAnchorForAuthorizationController: - (nonnull ASAuthorizationController *)controller API_AVAILABLE(macos(10.15), ios(13.0)) { -#if TARGET_OS_OSX - return [[NSApplication sharedApplication] keyWindow]; -#else - // UIApplication.keyWindow is deprecated in iOS 13+ with UIScene lifecycle. - // Walk the connected scenes to find the foreground active window. - if (@available(iOS 15.0, *)) { - for (UIScene *scene in [UIApplication sharedApplication].connectedScenes) { - if (scene.activationState == UISceneActivationStateForegroundActive && - [scene isKindOfClass:[UIWindowScene class]]) { - UIWindowScene *windowScene = (UIWindowScene *)scene; - if (windowScene.keyWindow) { - return windowScene.keyWindow; - } - } - } - } else if (@available(iOS 13.0, *)) { - for (UIScene *scene in [UIApplication sharedApplication].connectedScenes) { - if (scene.activationState == UISceneActivationStateForegroundActive && - [scene isKindOfClass:[UIWindowScene class]]) { - UIWindowScene *windowScene = (UIWindowScene *)scene; - for (UIWindow *window in windowScene.windows) { - if (window.isKeyWindow) { - return window; - } - } - } - } - } - return [[UIApplication sharedApplication] keyWindow]; -#endif -} - -- (void)enrollPhoneApp:(nonnull AuthPigeonFirebaseApp *)app - assertion:(nonnull InternalPhoneMultiFactorAssertion *)assertion - displayName:(nullable NSString *)displayName - completion:(nonnull void (^)(FlutterError *_Nullable))completion { -#if TARGET_OS_OSX - completion([FlutterError errorWithCode:@"unsupported-platform" - message:@"Phone authentication is not supported on macOS" - details:nil]); -#else - - FIRMultiFactor *multiFactor = [self getAppMultiFactorFromPigeon:app]; - - FIRPhoneAuthCredential *credential = - [[FIRPhoneAuthProvider providerWithAuth:[self getFIRAuthFromAppNameFromPigeon:app]] - credentialWithVerificationID:[assertion verificationId] - verificationCode:[assertion verificationCode]]; - - FIRMultiFactorAssertion *multiFactorAssertion = - [FIRPhoneMultiFactorGenerator assertionWithCredential:credential]; - - [multiFactor enrollWithAssertion:multiFactorAssertion - displayName:displayName - completion:^(NSError *_Nullable error) { - if (error == nil) { - completion(nil); - } else { - completion([FlutterError errorWithCode:@"enroll-failed" - message:error.localizedDescription - details:nil]); - } - }]; -#endif -} - -- (void)getEnrolledFactorsApp:(nonnull AuthPigeonFirebaseApp *)app - completion:(nonnull void (^)(NSArray *_Nullable, - FlutterError *_Nullable))completion { - FIRMultiFactor *multiFactor = [self getAppMultiFactorFromPigeon:app]; - - NSArray *enrolledFactors = [multiFactor enrolledFactors]; - - NSMutableArray *results = [NSMutableArray array]; - - for (FIRMultiFactorInfo *multiFactorInfo in enrolledFactors) { - NSString *phoneNumber; - if ([multiFactorInfo class] == [FIRPhoneMultiFactorInfo class]) { - FIRPhoneMultiFactorInfo *phoneFactorInfo = (FIRPhoneMultiFactorInfo *)multiFactorInfo; - phoneNumber = phoneFactorInfo.phoneNumber; - } - - [results addObject:[InternalMultiFactorInfo - makeWithDisplayName:multiFactorInfo.displayName - enrollmentTimestamp:multiFactorInfo.enrollmentDate.timeIntervalSince1970 - factorId:multiFactorInfo.factorID - uid:multiFactorInfo.UID - phoneNumber:phoneNumber]]; - } - - completion(results, nil); -} - -- (void)getSessionApp:(nonnull AuthPigeonFirebaseApp *)app - completion:(nonnull void (^)(InternalMultiFactorSession *_Nullable, - FlutterError *_Nullable))completion { - FIRMultiFactor *multiFactor = [self getAppMultiFactorFromPigeon:app]; - [multiFactor getSessionWithCompletion:^(FIRMultiFactorSession *_Nullable session, - NSError *_Nullable error) { - NSString *UUID = [[NSUUID UUID] UUIDString]; - self->_multiFactorSessionMap[UUID] = session; - - InternalMultiFactorSession *pigeonSession = [InternalMultiFactorSession makeWithId:UUID]; - completion(pigeonSession, nil); - }]; -} - -- (void)unenrollApp:(nonnull AuthPigeonFirebaseApp *)app - factorUid:(nonnull NSString *)factorUid - completion:(nonnull void (^)(FlutterError *_Nullable))completion { - FIRMultiFactor *multiFactor = [self getAppMultiFactorFromPigeon:app]; - [multiFactor unenrollWithFactorUID:factorUid - completion:^(NSError *_Nullable error) { - if (error == nil) { - completion(nil); - } else { - completion([FlutterError errorWithCode:@"unenroll-failed" - message:error.localizedDescription - details:nil]); - } - }]; -} - -- (void)enrollTotpApp:(nonnull AuthPigeonFirebaseApp *)app - assertionId:(nonnull NSString *)assertionId - displayName:(nullable NSString *)displayName - completion:(nonnull void (^)(FlutterError *_Nullable))completion { - FIRMultiFactor *multiFactor = [self getAppMultiFactorFromPigeon:app]; - - FIRMultiFactorAssertion *assertion = _multiFactorAssertionMap[assertionId]; - - [multiFactor enrollWithAssertion:assertion - displayName:displayName - completion:^(NSError *_Nullable error) { - if (error == nil) { - completion(nil); - } else { - completion([FlutterError errorWithCode:@"enroll-failed" - message:error.localizedDescription - details:nil]); - } - }]; -} - -- (void)resolveSignInResolverId:(nonnull NSString *)resolverId - assertion:(nullable InternalPhoneMultiFactorAssertion *)assertion - totpAssertionId:(nullable NSString *)totpAssertionId - completion:(nonnull void (^)(InternalUserCredential *_Nullable, - FlutterError *_Nullable))completion { - FIRMultiFactorResolver *resolver = _multiFactorResolverMap[resolverId]; - - FIRMultiFactorAssertion *multiFactorAssertion; - - if (assertion != nil) { -#if TARGET_OS_IPHONE - FIRPhoneAuthCredential *credential = - [[FIRPhoneAuthProvider provider] credentialWithVerificationID:[assertion verificationId] - verificationCode:[assertion verificationCode]]; - multiFactorAssertion = [FIRPhoneMultiFactorGenerator assertionWithCredential:credential]; -#endif - } else if (totpAssertionId != nil) { - multiFactorAssertion = _multiFactorAssertionMap[totpAssertionId]; - } else { - completion(nil, - [FlutterError errorWithCode:@"resolve-signin-failed" - message:@"Neither assertion nor totpAssertionId were provided" - details:nil]); - return; - } - - [resolver - resolveSignInWithAssertion:multiFactorAssertion - completion:^(FIRAuthDataResult *_Nullable authResult, - NSError *_Nullable error) { - if (error == nil) { - completion([PigeonParser getPigeonUserCredentialFromAuthResult:authResult - authorizationCode:nil], - nil); - } else { - completion(nil, [FlutterError errorWithCode:@"resolve-signin-failed" - message:error.localizedDescription - details:nil]); - } - }]; -} - -- (void)generateSecretSessionId:(nonnull NSString *)sessionId - completion:(nonnull void (^)(InternalTotpSecret *_Nullable, - FlutterError *_Nullable))completion { - FIRMultiFactorSession *multiFactorSession = _multiFactorSessionMap[sessionId]; - - [FIRTOTPMultiFactorGenerator - generateSecretWithMultiFactorSession:multiFactorSession - completion:^(FIRTOTPSecret *_Nullable secret, - NSError *_Nullable error) { - if (error == nil) { - self->_multiFactorTotpSecretMap[secret.sharedSecretKey] = - secret; - completion([PigeonParser getPigeonTotpSecret:secret], nil); - } else { - completion( - nil, [FlutterError errorWithCode:@"generate-secret-failed" - message:error.localizedDescription - details:nil]); - } - }]; -} - -- (void)getAssertionForEnrollmentSecretKey:(nonnull NSString *)secretKey - oneTimePassword:(nonnull NSString *)oneTimePassword - completion:(nonnull void (^)(NSString *_Nullable, - FlutterError *_Nullable))completion { - FIRTOTPSecret *totpSecret = _multiFactorTotpSecretMap[secretKey]; - - FIRTOTPMultiFactorAssertion *assertion = - [FIRTOTPMultiFactorGenerator assertionForEnrollmentWithSecret:totpSecret - oneTimePassword:oneTimePassword]; - - NSString *UUID = [[NSUUID UUID] UUIDString]; - self->_multiFactorAssertionMap[UUID] = assertion; - completion(UUID, nil); -} - -- (void)getAssertionForSignInEnrollmentId:(nonnull NSString *)enrollmentId - oneTimePassword:(nonnull NSString *)oneTimePassword - completion:(nonnull void (^)(NSString *_Nullable, - FlutterError *_Nullable))completion { - FIRTOTPMultiFactorAssertion *assertion = - [FIRTOTPMultiFactorGenerator assertionForSignInWithEnrollmentID:enrollmentId - oneTimePassword:oneTimePassword]; - NSString *UUID = [[NSUUID UUID] UUIDString]; - self->_multiFactorAssertionMap[UUID] = assertion; - completion(UUID, nil); -} - -- (void)generateQrCodeUrlSecretKey:(nonnull NSString *)secretKey - accountName:(nullable NSString *)accountName - issuer:(nullable NSString *)issuer - completion:(nonnull void (^)(NSString *_Nullable, - FlutterError *_Nullable))completion { - FIRTOTPSecret *totpSecret = _multiFactorTotpSecretMap[secretKey]; - completion([totpSecret generateQRCodeURLWithAccountName:accountName issuer:issuer], nil); -} - -- (void)openInOtpAppSecretKey:(nonnull NSString *)secretKey - qrCodeUrl:(nonnull NSString *)qrCodeUrl - completion:(nonnull void (^)(FlutterError *_Nullable))completion { - FIRTOTPSecret *totpSecret = _multiFactorTotpSecretMap[secretKey]; - [totpSecret openInOTPAppWithQRCodeURL:qrCodeUrl]; - completion(nil); -} - -- (void)applyActionCodeApp:(nonnull AuthPigeonFirebaseApp *)app - code:(nonnull NSString *)code - completion:(nonnull void (^)(FlutterError *_Nullable))completion { - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - [auth applyActionCode:code - completion:^(NSError *_Nullable error) { - if (error != nil) { - completion([FLTFirebaseAuthPlugin convertToFlutterError:error]); - } else { - completion(nil); - } - }]; -} - -- (void)revokeTokenWithAuthorizationCodeApp:(nonnull AuthPigeonFirebaseApp *)app - authorizationCode:(nonnull NSString *)authorizationCode - completion:(nonnull void (^)(FlutterError *_Nullable))completion { - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - [auth revokeTokenWithAuthorizationCode:authorizationCode - completion:^(NSError *_Nullable error) { - if (error != nil) { - completion([FLTFirebaseAuthPlugin convertToFlutterError:error]); - } else { - completion(nil); - } - }]; -} - -- (void)revokeAccessTokenApp:(nonnull AuthPigeonFirebaseApp *)app - accessToken:(nonnull NSString *)accessToken - completion:(nonnull void (^)(FlutterError *_Nullable))completion { - // `revokeAccessToken(_:)` is currently Android-only on the Firebase SDK. - // On Apple platforms use `revokeTokenWithAuthorizationCode:` instead. - completion([FlutterError errorWithCode:@"unsupported-platform-operation" - message:@"revokeAccessToken is not supported on iOS/macOS. " - @"Use revokeTokenWithAuthorizationCode instead." - details:nil]); -} - -- (void)checkActionCodeApp:(nonnull AuthPigeonFirebaseApp *)app - code:(nonnull NSString *)code - completion:(nonnull void (^)(InternalActionCodeInfo *_Nullable, - FlutterError *_Nullable))completion { - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - [auth checkActionCode:code - completion:^(FIRActionCodeInfo *_Nullable info, NSError *_Nullable error) { - if (error != nil) { - completion(nil, [FLTFirebaseAuthPlugin convertToFlutterError:error]); - } else { - InternalActionCodeInfo *result = [self parseActionCode:info]; - if (result.operation == ActionCodeInfoOperationUnknown) { - // Workaround: Firebase iOS SDK >=11.12.0 returns .unknown because - // actionCodeOperation(forRequestType:) only matches camelCase but the - // REST API returns SCREAMING_SNAKE_CASE (e.g. "VERIFY_EMAIL"). - // Re-fetch the raw requestType via REST to resolve the operation. - // See: https://github.com/firebase/flutterfire/issues/17452 - [self resolveActionCodeOperationForApp:app - code:code - fallbackInfo:result - completion:completion]; - } else { - completion(result, nil); - } - } - }]; -} - -- (InternalActionCodeInfo *_Nullable)parseActionCode:(nonnull FIRActionCodeInfo *)info { - InternalActionCodeInfoData *data = [InternalActionCodeInfoData makeWithEmail:info.email - previousEmail:info.previousEmail]; - - ActionCodeInfoOperation operation; - - if (info.operation == FIRActionCodeOperationPasswordReset) { - operation = ActionCodeInfoOperationPasswordReset; - } else if (info.operation == FIRActionCodeOperationVerifyEmail) { - operation = ActionCodeInfoOperationVerifyEmail; - } else if (info.operation == FIRActionCodeOperationRecoverEmail) { - operation = ActionCodeInfoOperationRecoverEmail; - } else if (info.operation == FIRActionCodeOperationEmailLink) { - operation = ActionCodeInfoOperationEmailSignIn; - } else if (info.operation == FIRActionCodeOperationVerifyAndChangeEmail) { - operation = ActionCodeInfoOperationVerifyAndChangeEmail; - } else if (info.operation == FIRActionCodeOperationRevertSecondFactorAddition) { - operation = ActionCodeInfoOperationRevertSecondFactorAddition; - } else { - operation = ActionCodeInfoOperationUnknown; - } - - return [InternalActionCodeInfo makeWithOperation:operation data:data]; -} - -/// Maps a raw requestType string (either camelCase or SCREAMING_SNAKE_CASE) to -/// the corresponding Pigeon enum value. -+ (ActionCodeInfoOperation)operationFromRequestType:(nullable NSString *)requestType { - static NSDictionary *mapping; - static dispatch_once_t onceToken; - dispatch_once(&onceToken, ^{ - mapping = @{ - @"PASSWORD_RESET" : @(ActionCodeInfoOperationPasswordReset), - @"resetPassword" : @(ActionCodeInfoOperationPasswordReset), - @"VERIFY_EMAIL" : @(ActionCodeInfoOperationVerifyEmail), - @"verifyEmail" : @(ActionCodeInfoOperationVerifyEmail), - @"RECOVER_EMAIL" : @(ActionCodeInfoOperationRecoverEmail), - @"recoverEmail" : @(ActionCodeInfoOperationRecoverEmail), - @"EMAIL_SIGNIN" : @(ActionCodeInfoOperationEmailSignIn), - @"signIn" : @(ActionCodeInfoOperationEmailSignIn), - @"VERIFY_AND_CHANGE_EMAIL" : @(ActionCodeInfoOperationVerifyAndChangeEmail), - @"verifyAndChangeEmail" : @(ActionCodeInfoOperationVerifyAndChangeEmail), - @"REVERT_SECOND_FACTOR_ADDITION" : @(ActionCodeInfoOperationRevertSecondFactorAddition), - @"revertSecondFactorAddition" : @(ActionCodeInfoOperationRevertSecondFactorAddition), - }; - }); - - NSNumber *value = mapping[requestType]; - return value ? (ActionCodeInfoOperation)value.integerValue : ActionCodeInfoOperationUnknown; -} - -/// Calls the Identity Toolkit REST API directly to retrieve the raw requestType -/// string, which the iOS SDK fails to parse correctly. Falls back to the original -/// result if the REST call fails for any reason. -- (void)resolveActionCodeOperationForApp:(nonnull AuthPigeonFirebaseApp *)app - code:(nonnull NSString *)code - fallbackInfo:(nonnull InternalActionCodeInfo *)fallbackInfo - completion:(nonnull void (^)(InternalActionCodeInfo *_Nullable, - FlutterError *_Nullable))completion { - FIRApp *firebaseApp = [FLTFirebasePlugin firebaseAppNamed:app.appName]; - NSString *apiKey = firebaseApp.options.APIKey; - - NSString *baseURL; - NSDictionary *emulatorConfig = _emulatorConfigs[app.appName]; - if (emulatorConfig) { - baseURL = [NSString stringWithFormat:@"http://%@:%@/identitytoolkit.googleapis.com", - emulatorConfig[@"host"], emulatorConfig[@"port"]]; - } else { - baseURL = @"https://identitytoolkit.googleapis.com"; - } - - NSString *urlString = - [NSString stringWithFormat:@"%@/v1/accounts:resetPassword?key=%@", baseURL, apiKey]; - NSURL *url = [NSURL URLWithString:urlString]; - - NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url]; - request.HTTPMethod = @"POST"; - [request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"]; - request.HTTPBody = [NSJSONSerialization dataWithJSONObject:@{@"oobCode" : code} - options:0 - error:nil]; - - NSURLSessionDataTask *task = [[NSURLSession sharedSession] - dataTaskWithRequest:request - completionHandler:^(NSData *_Nullable data, NSURLResponse *_Nullable response, - NSError *_Nullable error) { - if (error || !data) { - completion(fallbackInfo, nil); - return; - } - - NSDictionary *json = [NSJSONSerialization JSONObjectWithData:data options:0 error:nil]; - if (!json || json[@"error"]) { - completion(fallbackInfo, nil); - return; - } - - ActionCodeInfoOperation operation = - [FLTFirebaseAuthPlugin operationFromRequestType:json[@"requestType"]]; - - if (operation != ActionCodeInfoOperationUnknown) { - completion([InternalActionCodeInfo makeWithOperation:operation data:fallbackInfo.data], - nil); - } else { - completion(fallbackInfo, nil); - } - }]; - [task resume]; -} - -- (void)confirmPasswordResetApp:(nonnull AuthPigeonFirebaseApp *)app - code:(nonnull NSString *)code - newPassword:(nonnull NSString *)newPassword - completion:(nonnull void (^)(FlutterError *_Nullable))completion { - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - [auth confirmPasswordResetWithCode:code - newPassword:newPassword - completion:^(NSError *_Nullable error) { - if (error != nil) { - completion([FLTFirebaseAuthPlugin convertToFlutterError:error]); - } else { - completion(nil); - } - }]; -} - -- (void)createUserWithEmailAndPasswordApp:(nonnull AuthPigeonFirebaseApp *)app - email:(nonnull NSString *)email - password:(nonnull NSString *)password - completion:(nonnull void (^)(InternalUserCredential *_Nullable, - FlutterError *_Nullable))completion { - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - [auth createUserWithEmail:email - password:password - completion:^(FIRAuthDataResult *_Nullable authResult, NSError *_Nullable error) { - if (error != nil) { - completion(nil, [FLTFirebaseAuthPlugin convertToFlutterError:error]); - } else { - completion([PigeonParser getPigeonUserCredentialFromAuthResult:authResult - authorizationCode:nil], - nil); - } - }]; -} - -- (void)fetchSignInMethodsForEmailApp:(nonnull AuthPigeonFirebaseApp *)app - email:(nonnull NSString *)email - completion:(nonnull void (^)(NSArray *_Nullable, - FlutterError *_Nullable))completion { - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - [auth fetchSignInMethodsForEmail:email - completion:^(NSArray *_Nullable providers, - NSError *_Nullable error) { - if (error != nil) { - completion(nil, [FLTFirebaseAuthPlugin convertToFlutterError:error]); - } else { - if (providers == nil) { - completion(@[], nil); - } else { - completion(providers, nil); - } - } - }]; -} - -- (void)registerAuthStateListenerApp:(nonnull AuthPigeonFirebaseApp *)app - completion:(nonnull void (^)(NSString *_Nullable, - FlutterError *_Nullable))completion { - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - - NSString *name = - [NSString stringWithFormat:@"%@/auth-state/%@", kFLTFirebaseAuthChannelName, auth.app.name]; - FlutterEventChannel *channel = [FlutterEventChannel eventChannelWithName:name - binaryMessenger:_binaryMessenger]; - - FLTAuthStateChannelStreamHandler *handler = - [[FLTAuthStateChannelStreamHandler alloc] initWithAuth:auth]; - [channel setStreamHandler:handler]; - - [_eventChannels setObject:channel forKey:name]; - [_streamHandlers setObject:handler forKey:name]; - - completion(name, nil); -} - -- (void)registerIdTokenListenerApp:(nonnull AuthPigeonFirebaseApp *)app - completion:(nonnull void (^)(NSString *_Nullable, - FlutterError *_Nullable))completion { - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - - NSString *name = - [NSString stringWithFormat:@"%@/id-token/%@", kFLTFirebaseAuthChannelName, auth.app.name]; - - FlutterEventChannel *channel = [FlutterEventChannel eventChannelWithName:name - binaryMessenger:_binaryMessenger]; - - FLTIdTokenChannelStreamHandler *handler = - [[FLTIdTokenChannelStreamHandler alloc] initWithAuth:auth]; - [channel setStreamHandler:handler]; - - [_eventChannels setObject:channel forKey:name]; - [_streamHandlers setObject:handler forKey:name]; - - completion(name, nil); -} - -- (void)sendPasswordResetEmailApp:(nonnull AuthPigeonFirebaseApp *)app - email:(nonnull NSString *)email - actionCodeSettings:(nullable InternalActionCodeSettings *)actionCodeSettings - completion:(nonnull void (^)(FlutterError *_Nullable))completion { - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - if (actionCodeSettings != nil) { - FIRActionCodeSettings *settings = [PigeonParser parseActionCodeSettings:actionCodeSettings]; - [auth sendPasswordResetWithEmail:email - actionCodeSettings:settings - completion:^(NSError *_Nullable error) { - if (error != nil) { - completion([FLTFirebaseAuthPlugin convertToFlutterError:error]); - } else { - completion(nil); - } - }]; - } else { - [auth sendPasswordResetWithEmail:email - completion:^(NSError *_Nullable error) { - if (error != nil) { - completion([FLTFirebaseAuthPlugin convertToFlutterError:error]); - } else { - completion(nil); - } - }]; - } -} - -- (void)sendSignInLinkToEmailApp:(nonnull AuthPigeonFirebaseApp *)app - email:(nonnull NSString *)email - actionCodeSettings:(nonnull InternalActionCodeSettings *)actionCodeSettings - completion:(nonnull void (^)(FlutterError *_Nullable))completion { - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - [auth sendSignInLinkToEmail:email - actionCodeSettings:[PigeonParser parseActionCodeSettings:actionCodeSettings] - completion:^(NSError *_Nullable error) { - if (error != nil) { - if (error.code == FIRAuthErrorCodeInternalError) { - [self - handleInternalError:^(InternalUserCredential *_Nullable creds, - FlutterError *_Nullable internalError) { - completion(internalError); - } - withError:error]; - } else { - completion([FLTFirebaseAuthPlugin convertToFlutterError:error]); - } - } else { - completion(nil); - } - }]; -} - -- (void)setLanguageCodeApp:(nonnull AuthPigeonFirebaseApp *)app - languageCode:(nullable NSString *)languageCode - completion: - (nonnull void (^)(NSString *_Nullable, FlutterError *_Nullable))completion { - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - - if (languageCode != nil && ![languageCode isEqual:[NSNull null]]) { - auth.languageCode = languageCode; - } else { - [auth useAppLanguage]; - } - - completion(auth.languageCode, nil); -} - -- (void)setSettingsApp:(nonnull AuthPigeonFirebaseApp *)app - settings:(nonnull InternalFirebaseAuthSettings *)settings - completion:(nonnull void (^)(FlutterError *_Nullable))completion { - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - - if (settings.userAccessGroup != nil) { - BOOL useUserAccessGroupSuccessful; - NSError *useUserAccessGroupErrorPtr; - useUserAccessGroupSuccessful = [auth useUserAccessGroup:settings.userAccessGroup - error:&useUserAccessGroupErrorPtr]; - if (!useUserAccessGroupSuccessful) { - completion([FLTFirebaseAuthPlugin convertToFlutterError:useUserAccessGroupErrorPtr]); - return; - } - } - -#if TARGET_OS_IPHONE - if (settings.appVerificationDisabledForTesting) { - auth.settings.appVerificationDisabledForTesting = settings.appVerificationDisabledForTesting; - } -#else - NSLog(@"FIRAuthSettings.appVerificationDisabledForTesting is not supported " - @"on MacOS."); -#endif - - completion(nil); -} - -- (void)signInAnonymouslyApp:(nonnull AuthPigeonFirebaseApp *)app - completion:(nonnull void (^)(InternalUserCredential *_Nullable, - FlutterError *_Nullable))completion { - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - [auth signInAnonymouslyWithCompletion:^(FIRAuthDataResult *authResult, NSError *error) { - if (error != nil) { - completion(nil, [FLTFirebaseAuthPlugin convertToFlutterError:error]); - } else { - completion([PigeonParser getPigeonUserCredentialFromAuthResult:authResult - authorizationCode:nil], - nil); - } - }]; -} - -- (void)signInWithCredentialApp:(nonnull AuthPigeonFirebaseApp *)app - input:(nonnull NSDictionary *)input - completion:(nonnull void (^)(InternalUserCredential *_Nullable, - FlutterError *_Nullable))completion { - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - [self - getFIRAuthCredentialFromArguments:input - app:app - completion:^(FIRAuthCredential *credential, NSError *error) { - if (credential == nil) { - completion(nil, - [FlutterError errorWithCode:kErrCodeInvalidCredential - message:kErrMsgInvalidCredential - details:nil]); - return; - } - - if (error) { - completion(nil, - [FLTFirebaseAuthPlugin convertToFlutterError:error]); - } - - [auth - signInWithCredential:credential - completion:^(FIRAuthDataResult *authResult, - NSError *error) { - if (error != nil) { - NSDictionary *userInfo = [error userInfo]; - NSError *underlyingError = - [userInfo objectForKey:NSUnderlyingErrorKey]; - - NSDictionary *firebaseDictionary = - underlyingError - .userInfo[@"FIRAuthErrorUserInfoDeserializ" - @"edResponseKey"]; - - if (firebaseDictionary != nil && - firebaseDictionary[@"message"] != nil) { - // error from firebase-ios-sdk is buried in - // underlying error. - if ([firebaseDictionary[@"code"] - isKindOfClass:[NSNumber class]]) { - [self handleInternalError:completion - withError:error]; - } else { - completion(nil, - [FlutterError - errorWithCode:firebaseDictionary - [@"code"] - message:firebaseDictionary - [@"message"] - details:nil]); - } - } else { - if (error.code == - FIRAuthErrorCodeSecondFactorRequired) { - [self handleMultiFactorError:app - completion:completion - withError:error]; - } else if (error.code == - FIRAuthErrorCodeInternalError) { - [self handleInternalError:completion - withError:error]; - } else { - completion(nil, - [FLTFirebaseAuthPlugin - convertToFlutterError:error]); - } - } - } else { - completion( - [PigeonParser - getPigeonUserCredentialFromAuthResult: - authResult - authorizationCode:nil], - nil); - } - }]; - }]; -} - -- (void)signInWithCustomTokenApp:(nonnull AuthPigeonFirebaseApp *)app - token:(nonnull NSString *)token - completion:(nonnull void (^)(InternalUserCredential *_Nullable, - FlutterError *_Nullable))completion { - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - - [auth signInWithCustomToken:token - completion:^(FIRAuthDataResult *_Nullable authResult, NSError *_Nullable error) { - if (error != nil) { - if (error.code == FIRAuthErrorCodeSecondFactorRequired) { - [self handleMultiFactorError:app completion:completion withError:error]; - } else if (error.code == FIRAuthErrorCodeInternalError) { - [self handleInternalError:completion withError:error]; - } else { - completion(nil, [FLTFirebaseAuthPlugin convertToFlutterError:error]); - } - } else { - completion([PigeonParser getPigeonUserCredentialFromAuthResult:authResult - authorizationCode:nil], - nil); - } - }]; -} - -- (void)signInWithEmailAndPasswordApp:(nonnull AuthPigeonFirebaseApp *)app - email:(nonnull NSString *)email - password:(nonnull NSString *)password - completion:(nonnull void (^)(InternalUserCredential *_Nullable, - FlutterError *_Nullable))completion { - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - [auth signInWithEmail:email - password:password - completion:^(FIRAuthDataResult *_Nullable authResult, NSError *_Nullable error) { - if (error != nil) { - if (error.code == FIRAuthErrorCodeSecondFactorRequired) { - [self handleMultiFactorError:app completion:completion withError:error]; - } else if (error.code == FIRAuthErrorCodeInternalError) { - [self handleInternalError:completion withError:error]; - } else { - completion(nil, [FLTFirebaseAuthPlugin convertToFlutterError:error]); - } - } else { - completion([PigeonParser getPigeonUserCredentialFromAuthResult:authResult - authorizationCode:nil], - nil); - } - }]; -} - -- (void)signInWithEmailLinkApp:(nonnull AuthPigeonFirebaseApp *)app - email:(nonnull NSString *)email - emailLink:(nonnull NSString *)emailLink - completion:(nonnull void (^)(InternalUserCredential *_Nullable, - FlutterError *_Nullable))completion { - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - [auth signInWithEmail:email - link:emailLink - completion:^(FIRAuthDataResult *_Nullable authResult, NSError *_Nullable error) { - if (error != nil) { - if (error.code == FIRAuthErrorCodeSecondFactorRequired) { - [self handleMultiFactorError:app completion:completion withError:error]; - } else if (error.code == FIRAuthErrorCodeInternalError) { - [self handleInternalError:completion withError:error]; - } else { - completion(nil, [FLTFirebaseAuthPlugin convertToFlutterError:error]); - } - } else { - completion([PigeonParser getPigeonUserCredentialFromAuthResult:authResult - authorizationCode:nil], - nil); - } - }]; -} - -- (void)signInWithProviderApp:(nonnull AuthPigeonFirebaseApp *)app - signInProvider:(nonnull InternalSignInProvider *)signInProvider - completion:(nonnull void (^)(InternalUserCredential *_Nullable, - FlutterError *_Nullable))completion { - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - - if ([signInProvider.providerId isEqualToString:kSignInMethodGameCenter]) { - completion( - nil, - [FlutterError - errorWithCode:@"sign-in-failure" - message: - @"Game Center sign-in requires signing in with 'signInWithCredential()' API." - details:@{}]); - return; - } - - if ([signInProvider.providerId isEqualToString:kSignInMethodApple]) { - self.signInWithAppleAuth = auth; - launchAppleSignInRequest(self, app, signInProvider, completion); - return; - } -#if TARGET_OS_OSX - NSLog(@"signInWithProvider is not supported on the " - @"MacOS platform."); - completion(nil, nil); -#else - self.authProvider = [FIROAuthProvider providerWithProviderID:signInProvider.providerId auth:auth]; - NSArray *scopes = signInProvider.scopes; - if (scopes != nil) { - [self.authProvider setScopes:scopes]; - } - NSDictionary *customParameters = signInProvider.customParameters; - if (customParameters != nil) { - [self.authProvider setCustomParameters:customParameters]; - } - - [self.authProvider - getCredentialWithUIDelegate:nil - completion:^(FIRAuthCredential *_Nullable credential, - NSError *_Nullable error) { - handleAppleAuthResult(self, app, auth, credential, error, completion); - }]; -#endif -} - -- (void)signOutApp:(nonnull AuthPigeonFirebaseApp *)app - completion:(nonnull void (^)(FlutterError *_Nullable))completion { - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - - if (auth.currentUser == nil) { - completion(nil); - return; - } - - NSError *signOutErrorPtr; - BOOL signOutSuccessful = [auth signOut:&signOutErrorPtr]; - - if (!signOutSuccessful) { - completion([FLTFirebaseAuthPlugin convertToFlutterError:signOutErrorPtr]); - } else { - completion(nil); - } -} - -- (void)useEmulatorApp:(nonnull AuthPigeonFirebaseApp *)app - host:(nonnull NSString *)host - port:(long)port - completion:(nonnull void (^)(FlutterError *_Nullable))completion { - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - [auth useEmulatorWithHost:host port:port]; - _emulatorConfigs[app.appName] = @{@"host" : host, @"port" : @(port)}; - completion(nil); -} - -- (void)verifyPasswordResetCodeApp:(nonnull AuthPigeonFirebaseApp *)app - code:(nonnull NSString *)code - completion:(nonnull void (^)(NSString *_Nullable, - FlutterError *_Nullable))completion { - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - - [auth verifyPasswordResetCode:code - completion:^(NSString *_Nullable email, NSError *_Nullable error) { - if (error != nil) { - completion(nil, [FLTFirebaseAuthPlugin convertToFlutterError:error]); - } else { - completion(email, nil); - } - }]; -} - -- (void)verifyPhoneNumberApp:(nonnull AuthPigeonFirebaseApp *)app - request:(nonnull InternalVerifyPhoneNumberRequest *)request - completion: - (nonnull void (^)(NSString *_Nullable, FlutterError *_Nullable))completion { -#if TARGET_OS_OSX - NSLog(@"The Firebase Phone Authentication provider is not supported on the " - @"MacOS platform."); - completion(nil, nil); -#else - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - - NSString *name = [NSString - stringWithFormat:@"%@/phone/%@", kFLTFirebaseAuthChannelName, [NSUUID UUID].UUIDString]; - FlutterEventChannel *channel = [FlutterEventChannel eventChannelWithName:name - binaryMessenger:_binaryMessenger]; - - NSString *multiFactorSessionId = request.multiFactorSessionId; - FIRMultiFactorSession *multiFactorSession = nil; - - if (multiFactorSessionId != nil) { - multiFactorSession = _multiFactorSessionMap[multiFactorSessionId]; - } - - NSString *multiFactorInfoId = request.multiFactorInfoId; - - FIRPhoneMultiFactorInfo *multiFactorInfo = nil; - if (multiFactorInfoId != nil) { - for (NSString *resolverId in _multiFactorResolverMap) { - for (FIRMultiFactorInfo *info in _multiFactorResolverMap[resolverId].hints) { - if ([info.UID isEqualToString:multiFactorInfoId] && - [info class] == [FIRPhoneMultiFactorInfo class]) { - multiFactorInfo = (FIRPhoneMultiFactorInfo *)info; - break; - } - } - } - } - -#if TARGET_OS_OSX - FLTPhoneNumberVerificationStreamHandler *handler = - [[FLTPhoneNumberVerificationStreamHandler alloc] initWithAuth:auth]; -#else - FLTPhoneNumberVerificationStreamHandler *handler = - [[FLTPhoneNumberVerificationStreamHandler alloc] initWithAuth:auth - request:request - session:multiFactorSession - factorInfo:multiFactorInfo]; -#endif - - [channel setStreamHandler:handler]; - - [_eventChannels setObject:channel forKey:name]; - [_streamHandlers setObject:handler forKey:name]; - - completion(name, nil); -#endif -} - -- (void)deleteApp:(nonnull AuthPigeonFirebaseApp *)app - completion:(nonnull void (^)(FlutterError *_Nullable))completion { - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - FIRUser *currentUser = auth.currentUser; - if (currentUser == nil) { - completion([FlutterError errorWithCode:kErrCodeNoCurrentUser - message:kErrMsgNoCurrentUser - details:nil]); - return; - } - - [currentUser deleteWithCompletion:^(NSError *_Nullable error) { - if (error != nil) { - completion([FLTFirebaseAuthPlugin convertToFlutterError:error]); - } else { - completion(nil); - } - }]; -} - -- (void)getIdTokenApp:(nonnull AuthPigeonFirebaseApp *)app - forceRefresh:(BOOL)forceRefresh - completion:(nonnull void (^)(InternalIdTokenResult *_Nullable, - FlutterError *_Nullable))completion { - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - FIRUser *currentUser = auth.currentUser; - if (currentUser == nil) { - completion(nil, [FlutterError errorWithCode:kErrCodeNoCurrentUser - message:kErrMsgNoCurrentUser - details:nil]); - return; - } - - [currentUser - getIDTokenResultForcingRefresh:forceRefresh - completion:^(FIRAuthTokenResult *tokenResult, NSError *error) { - if (error != nil) { - completion(nil, [FLTFirebaseAuthPlugin convertToFlutterError:error]); - return; - } - - completion([PigeonParser parseIdTokenResult:tokenResult], nil); - }]; -} - -- (void)linkWithCredentialApp:(nonnull AuthPigeonFirebaseApp *)app - input:(nonnull NSDictionary *)input - completion:(nonnull void (^)(InternalUserCredential *_Nullable, - FlutterError *_Nullable))completion { - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - FIRUser *currentUser = auth.currentUser; - if (currentUser == nil) { - completion(nil, [FlutterError errorWithCode:kErrCodeNoCurrentUser - message:kErrMsgNoCurrentUser - details:nil]); - return; - } - - [self - getFIRAuthCredentialFromArguments:input - app:app - completion:^(FIRAuthCredential *credential, NSError *error) { - if (credential == nil) { - completion(nil, - [FlutterError errorWithCode:kErrCodeInvalidCredential - message:kErrMsgInvalidCredential - details:nil]); - return; - } - - if (error) { - completion(nil, - [FLTFirebaseAuthPlugin convertToFlutterError:error]); - } - - [currentUser - linkWithCredential:credential - completion:^(FIRAuthDataResult *authResult, - NSError *error) { - if (error != nil) { - if (error.code == - FIRAuthErrorCodeSecondFactorRequired) { - [self handleMultiFactorError:app - completion:completion - withError:error]; - } else { - completion(nil, [FLTFirebaseAuthPlugin - convertToFlutterError:error]); - } - } else { - completion( - [PigeonParser - getPigeonUserCredentialFromAuthResult: - authResult - authorizationCode:nil], - nil); - } - }]; - }]; -} - -- (void)linkWithProviderApp:(nonnull AuthPigeonFirebaseApp *)app - signInProvider:(nonnull InternalSignInProvider *)signInProvider - completion:(nonnull void (^)(InternalUserCredential *_Nullable, - FlutterError *_Nullable))completion { - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - FIRUser *currentUser = auth.currentUser; - if ([signInProvider.providerId isEqualToString:kSignInMethodGameCenter]) { - completion( - nil, - [FlutterError - errorWithCode:@"provider-link-failure" - message:@"Game Center provider requires linking with 'linkWithCredential()' API." - details:@{}]); - return; - } - - if (currentUser == nil) { - completion(nil, [FlutterError errorWithCode:kErrCodeNoCurrentUser - message:kErrMsgNoCurrentUser - details:nil]); - return; - } - - if ([signInProvider.providerId isEqualToString:kSignInMethodApple]) { - self.linkWithAppleUser = currentUser; - launchAppleSignInRequest(self, app, signInProvider, completion); - return; - } -#if TARGET_OS_OSX - NSLog(@"linkWithProvider is not supported on the " - @"MacOS platform."); - completion(nil, nil); -#else - self.authProvider = [FIROAuthProvider providerWithProviderID:signInProvider.providerId]; - NSArray *scopes = signInProvider.scopes; - if (scopes != nil) { - [self.authProvider setScopes:scopes]; - } - NSDictionary *customParameters = signInProvider.customParameters; - if (customParameters != nil) { - [self.authProvider setCustomParameters:customParameters]; - } - - [currentUser - linkWithProvider:self.authProvider - UIDelegate:nil - completion:^(FIRAuthDataResult *authResult, NSError *error) { - handleAppleAuthResult(self, app, auth, authResult.credential, error, completion); - }]; -#endif -} - -- (void)reauthenticateWithCredentialApp:(nonnull AuthPigeonFirebaseApp *)app - input:(nonnull NSDictionary *)input - completion:(nonnull void (^)(InternalUserCredential *_Nullable, - FlutterError *_Nullable))completion { - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - FIRUser *currentUser = auth.currentUser; - if (currentUser == nil) { - completion(nil, [FlutterError errorWithCode:kErrCodeNoCurrentUser - message:kErrMsgNoCurrentUser - details:nil]); - return; - } - - [self - getFIRAuthCredentialFromArguments:input - app:app - completion:^(FIRAuthCredential *credential, NSError *error) { - if (credential == nil) { - completion(nil, - [FlutterError errorWithCode:kErrCodeInvalidCredential - message:kErrMsgInvalidCredential - details:nil]); - return; - } - - if (error) { - completion(nil, - [FLTFirebaseAuthPlugin convertToFlutterError:error]); - } - - [currentUser - reauthenticateWithCredential:credential - completion:^(FIRAuthDataResult *authResult, - NSError *error) { - if (error != nil) { - if (error.code == - FIRAuthErrorCodeSecondFactorRequired) { - [self handleMultiFactorError:app - completion:completion - withError:error]; - } else { - completion( - nil, - [FLTFirebaseAuthPlugin - convertToFlutterError:error]); - } - } else { - completion( - [PigeonParser - getPigeonUserCredentialFromAuthResult: - authResult - authorizationCode: - nil], - nil); - } - }]; - }]; -} - -- (void)reauthenticateWithProviderApp:(nonnull AuthPigeonFirebaseApp *)app - signInProvider:(nonnull InternalSignInProvider *)signInProvider - completion:(nonnull void (^)(InternalUserCredential *_Nullable, - FlutterError *_Nullable))completion { - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - FIRUser *currentUser = auth.currentUser; - if (currentUser == nil) { - completion(nil, [FlutterError errorWithCode:kErrCodeNoCurrentUser - message:kErrMsgNoCurrentUser - details:nil]); - return; - } - - if ([signInProvider.providerId isEqualToString:kSignInMethodApple]) { - self.isReauthenticatingWithApple = YES; - launchAppleSignInRequest(self, app, signInProvider, completion); - return; - } -#if TARGET_OS_OSX - NSLog(@"reauthenticateWithProvider is not supported on the " - @"MacOS platform."); - completion(nil, nil); -#else - self.authProvider = [FIROAuthProvider providerWithProviderID:signInProvider.providerId]; - NSArray *scopes = signInProvider.scopes; - if (scopes != nil) { - [self.authProvider setScopes:scopes]; - } - NSDictionary *customParameters = signInProvider.customParameters; - if (customParameters != nil) { - [self.authProvider setCustomParameters:customParameters]; - } - - [currentUser reauthenticateWithProvider:self.authProvider - UIDelegate:nil - completion:^(FIRAuthDataResult *authResult, NSError *error) { - handleAppleAuthResult(self, app, auth, authResult.credential, - error, completion); - }]; -#endif -} - -- (void)reloadApp:(nonnull AuthPigeonFirebaseApp *)app - completion: - (nonnull void (^)(InternalUserDetails *_Nullable, FlutterError *_Nullable))completion { - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - FIRUser *currentUser = auth.currentUser; - if (currentUser == nil) { - completion(nil, [FlutterError errorWithCode:kErrCodeNoCurrentUser - message:kErrMsgNoCurrentUser - details:nil]); - return; - } - - [currentUser reloadWithCompletion:^(NSError *_Nullable error) { - if (error != nil) { - completion(nil, [FLTFirebaseAuthPlugin convertToFlutterError:error]); - } else { - completion([PigeonParser getPigeonDetails:currentUser], nil); - } - }]; -} - -- (void)sendEmailVerificationApp:(nonnull AuthPigeonFirebaseApp *)app - actionCodeSettings:(nullable InternalActionCodeSettings *)actionCodeSettings - completion:(nonnull void (^)(FlutterError *_Nullable))completion { - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - FIRUser *currentUser = auth.currentUser; - if (currentUser == nil) { - completion([FlutterError errorWithCode:kErrCodeNoCurrentUser - message:kErrMsgNoCurrentUser - details:nil]); - return; - } - - [currentUser - sendEmailVerificationWithActionCodeSettings:[PigeonParser - parseActionCodeSettings:actionCodeSettings] - - completion:^(NSError *_Nullable error) { - if (error != nil) { - completion( - [FLTFirebaseAuthPlugin convertToFlutterError:error]); - } else { - completion(nil); - } - }]; -} - -- (void)unlinkApp:(nonnull AuthPigeonFirebaseApp *)app - providerId:(nonnull NSString *)providerId - completion:(nonnull void (^)(InternalUserCredential *_Nullable, - FlutterError *_Nullable))completion { - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - FIRUser *currentUser = auth.currentUser; - if (currentUser == nil) { - completion(nil, [FlutterError errorWithCode:kErrCodeNoCurrentUser - message:kErrMsgNoCurrentUser - details:nil]); - return; - } - - [currentUser unlinkFromProvider:providerId - completion:^(FIRUser *_Nullable user, NSError *_Nullable error) { - if (error != nil) { - completion(nil, [FLTFirebaseAuthPlugin convertToFlutterError:error]); - } else { - completion([PigeonParser getPigeonUserCredentialFromFIRUser:user], nil); - } - }]; -} - -- (void)updateEmailApp:(nonnull AuthPigeonFirebaseApp *)app - newEmail:(nonnull NSString *)newEmail - completion:(nonnull void (^)(InternalUserDetails *_Nullable, - FlutterError *_Nullable))completion { - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - FIRUser *currentUser = auth.currentUser; - if (currentUser == nil) { - completion(nil, [FlutterError errorWithCode:kErrCodeNoCurrentUser - message:kErrMsgNoCurrentUser - details:nil]); - return; - } - - [currentUser updateEmail:newEmail - completion:^(NSError *_Nullable error) { - if (error != nil) { - completion(nil, [FLTFirebaseAuthPlugin convertToFlutterError:error]); - } else { - [currentUser reloadWithCompletion:^(NSError *_Nullable reloadError) { - if (reloadError != nil) { - completion(nil, [FLTFirebaseAuthPlugin convertToFlutterError:reloadError]); - } else { - completion([PigeonParser getPigeonDetails:currentUser], nil); - } - }]; - } - }]; -} - -- (void)updatePasswordApp:(nonnull AuthPigeonFirebaseApp *)app - newPassword:(nonnull NSString *)newPassword - completion:(nonnull void (^)(InternalUserDetails *_Nullable, - FlutterError *_Nullable))completion { - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - FIRUser *currentUser = auth.currentUser; - if (currentUser == nil) { - completion(nil, [FlutterError errorWithCode:kErrCodeNoCurrentUser - message:kErrMsgNoCurrentUser - details:nil]); - return; - } - - [currentUser - updatePassword:newPassword - completion:^(NSError *_Nullable error) { - if (error != nil) { - completion(nil, [FLTFirebaseAuthPlugin convertToFlutterError:error]); - } else { - [currentUser reloadWithCompletion:^(NSError *_Nullable reloadError) { - if (reloadError != nil) { - completion(nil, [FLTFirebaseAuthPlugin convertToFlutterError:reloadError]); - } else { - completion([PigeonParser getPigeonDetails:currentUser], nil); - } - }]; - } - }]; -} - -- (void)updatePhoneNumberApp:(nonnull AuthPigeonFirebaseApp *)app - input:(nonnull NSDictionary *)input - completion:(nonnull void (^)(InternalUserDetails *_Nullable, - FlutterError *_Nullable))completion { -#if TARGET_OS_IPHONE - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - FIRUser *currentUser = auth.currentUser; - if (currentUser == nil) { - completion(nil, [FlutterError errorWithCode:kErrCodeNoCurrentUser - message:kErrMsgNoCurrentUser - details:nil]); - return; - } - - [self - getFIRAuthCredentialFromArguments:input - app:app - completion:^(FIRAuthCredential *credential, NSError *error) { - if (credential == nil) { - completion(nil, - [FlutterError errorWithCode:kErrCodeInvalidCredential - message:kErrMsgInvalidCredential - details:nil]); - return; - } - - if (error) { - completion(nil, - [FLTFirebaseAuthPlugin convertToFlutterError:error]); - } - - [currentUser - updatePhoneNumberCredential:(FIRPhoneAuthCredential *)credential - completion:^(NSError *_Nullable error) { - if (error != nil) { - completion( - nil, [FLTFirebaseAuthPlugin - convertToFlutterError:error]); - } else { - [currentUser - reloadWithCompletion:^( - NSError *_Nullable reloadError) { - if (reloadError != nil) { - completion( - nil, [FLTFirebaseAuthPlugin - convertToFlutterError: - reloadError]); - } else { - completion( - [PigeonParser getPigeonDetails: - currentUser], - nil); - } - }]; - } - }]; - }]; -#else - NSLog(@"Updating a users phone number via Firebase Authentication is only " - @"supported on the iOS " - @"platform."); - completion(nil, nil); -#endif -} - -- (void)updateProfileApp:(nonnull AuthPigeonFirebaseApp *)app - profile:(nonnull InternalUserProfile *)profile - completion:(nonnull void (^)(InternalUserDetails *_Nullable, - FlutterError *_Nullable))completion { - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - FIRUser *currentUser = auth.currentUser; - if (currentUser == nil) { - completion(nil, [FlutterError errorWithCode:kErrCodeNoCurrentUser - message:kErrMsgNoCurrentUser - details:nil]); - return; - } - - FIRUserProfileChangeRequest *changeRequest = [currentUser profileChangeRequest]; - - if (profile.displayNameChanged) { - changeRequest.displayName = profile.displayName; - } - - if (profile.photoUrlChanged) { - if (profile.photoUrl == nil) { - // We apparently cannot set photoURL to nil/NULL to remove it. - // Instead, setting it to empty string appears to work. - // When doing so, Dart will properly receive `null` anyway. - changeRequest.photoURL = [NSURL URLWithString:@""]; - } else { - changeRequest.photoURL = [NSURL URLWithString:profile.photoUrl]; - } - } - - [changeRequest commitChangesWithCompletion:^(NSError *error) { - if (error != nil) { - completion(nil, [FLTFirebaseAuthPlugin convertToFlutterError:error]); - } else { - [currentUser reloadWithCompletion:^(NSError *_Nullable reloadError) { - if (reloadError != nil) { - completion(nil, [FLTFirebaseAuthPlugin convertToFlutterError:reloadError]); - } else { - completion([PigeonParser getPigeonDetails:currentUser], nil); - } - }]; - } - }]; -} - -- (void)verifyBeforeUpdateEmailApp:(nonnull AuthPigeonFirebaseApp *)app - newEmail:(nonnull NSString *)newEmail - actionCodeSettings:(nullable InternalActionCodeSettings *)actionCodeSettings - completion:(nonnull void (^)(FlutterError *_Nullable))completion { - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - FIRUser *currentUser = auth.currentUser; - if (currentUser == nil) { - completion([FlutterError errorWithCode:kErrCodeNoCurrentUser - message:kErrMsgNoCurrentUser - details:nil]); - return; - } - - [currentUser - sendEmailVerificationBeforeUpdatingEmail:newEmail - actionCodeSettings:[PigeonParser - parseActionCodeSettings:actionCodeSettings] - completion:^(NSError *error) { - if (error != nil) { - completion( - [FLTFirebaseAuthPlugin convertToFlutterError:error]); - } else { - completion(nil); - } - }]; -} - -- (void)initializeRecaptchaConfigApp:(AuthPigeonFirebaseApp *)app - completion:(void (^)(FlutterError *_Nullable))completion { -#if TARGET_OS_OSX - NSLog(@"initializeRecaptchaConfigWithCompletion is not supported on the " - @"MacOS platform."); - completion(nil); -#else - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - [auth initializeRecaptchaConfigWithCompletion:^(NSError *_Nullable error) { - if (error != nil) { - completion([FLTFirebaseAuthPlugin convertToFlutterError:error]); - } else { - completion(nil); - } - }]; -#endif -} - -@end diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/ios/firebase_auth/Sources/firebase_auth/FLTIdTokenChannelStreamHandler.m b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/ios/firebase_auth/Sources/firebase_auth/FLTIdTokenChannelStreamHandler.m deleted file mode 100644 index 315bc5ec..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/ios/firebase_auth/Sources/firebase_auth/FLTIdTokenChannelStreamHandler.m +++ /dev/null @@ -1,54 +0,0 @@ -// Copyright 2021 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. -@import FirebaseAuth; -#import "include/Private/FLTIdTokenChannelStreamHandler.h" -#import -#import "include/Private/PigeonParser.h" -#import "include/Public/FLTFirebaseAuthPlugin.h" - -@implementation FLTIdTokenChannelStreamHandler { - FIRAuth *_auth; - FIRIDTokenDidChangeListenerHandle _listener; -} - -- (instancetype)initWithAuth:(FIRAuth *)auth { - self = [super init]; - if (self) { - _auth = auth; - } - return self; -} - -- (FlutterError *)onListenWithArguments:(id)arguments eventSink:(FlutterEventSink)events { - bool __block initialAuthState = YES; - - _listener = [_auth addIDTokenDidChangeListener:^(FIRAuth *_Nonnull auth, - FIRUser *_Nullable user) { - if (initialAuthState) { - initialAuthState = NO; - return; - } - - if (user) { - events(@{ - @"user" : [PigeonParser getManualList:[PigeonParser getPigeonDetails:[auth currentUser]]] - }); - } else { - events(@{@"user" : [NSNull null]}); - } - }]; - - return nil; -} - -- (FlutterError *)onCancelWithArguments:(id)arguments { - if (_listener) { - [_auth removeIDTokenDidChangeListener:_listener]; - } - _listener = nil; - - return nil; -} - -@end diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/ios/firebase_auth/Sources/firebase_auth/FLTPhoneNumberVerificationStreamHandler.m b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/ios/firebase_auth/Sources/firebase_auth/FLTPhoneNumberVerificationStreamHandler.m deleted file mode 100644 index 511d2caa..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/ios/firebase_auth/Sources/firebase_auth/FLTPhoneNumberVerificationStreamHandler.m +++ /dev/null @@ -1,98 +0,0 @@ -// Copyright 2021 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -@import FirebaseAuth; - -#import "include/Private/FLTPhoneNumberVerificationStreamHandler.h" -#import "include/Public/FLTFirebaseAuthPlugin.h" - -@implementation FLTPhoneNumberVerificationStreamHandler { - FIRAuth *_auth; - NSString *_phoneNumber; -#if TARGET_OS_OSX -#else - FIRMultiFactorSession *_session; - FIRPhoneMultiFactorInfo *_factorInfo; -#endif -} - -#if TARGET_OS_OSX -- (instancetype)initWithAuth:(id)auth request:(InternalVerifyPhoneNumberRequest *)request { - self = [super init]; - if (self) { - _auth = auth; - _phoneNumber = request.phoneNumber; - } - return self; -} -#else -- (instancetype)initWithAuth:(id)auth - request:(InternalVerifyPhoneNumberRequest *)request - session:(FIRMultiFactorSession *)session - factorInfo:(FIRPhoneMultiFactorInfo *)factorInfo { - self = [super init]; - if (self) { - _auth = auth; - _phoneNumber = request.phoneNumber; - _session = session; - _factorInfo = factorInfo; - } - return self; -} -#endif - -- (FlutterError *)onListenWithArguments:(id)arguments eventSink:(FlutterEventSink)events { -#if TARGET_OS_IPHONE - id completer = ^(NSString *verificationID, NSError *error) { - if (error != nil) { - FlutterError *errorDetails = [FLTFirebaseAuthPlugin convertToFlutterError:error]; - events(@{ - @"name" : @"Auth#phoneVerificationFailed", - @"error" : @{ - @"code" : errorDetails.code, - @"message" : errorDetails.message, - @"details" : errorDetails.details, - } - }); - } else { - events(@{ - @"name" : @"Auth#phoneCodeSent", - @"verificationId" : verificationID, - }); - } - }; - - // Try catch to capture 'missing URL scheme' error. - @try { - if (_factorInfo != nil) { - [[FIRPhoneAuthProvider providerWithAuth:_auth] - verifyPhoneNumberWithMultiFactorInfo:_factorInfo - UIDelegate:nil - multiFactorSession:_session - completion:completer]; - - } else { - [[FIRPhoneAuthProvider providerWithAuth:_auth] verifyPhoneNumber:_phoneNumber - UIDelegate:nil - multiFactorSession:_session - completion:completer]; - } - } @catch (NSException *exception) { - events(@{ - @"name" : @"Auth#phoneVerificationFailed", - @"error" : @{ - @"message" : exception.reason, - } - }); - } -#endif - - return nil; -} - -- (FlutterError *)onCancelWithArguments:(id)arguments { - return nil; -} - -@end diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/ios/firebase_auth/Sources/firebase_auth/PigeonParser.m b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/ios/firebase_auth/Sources/firebase_auth/PigeonParser.m deleted file mode 100644 index 8d7a7b1c..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/ios/firebase_auth/Sources/firebase_auth/PigeonParser.m +++ /dev/null @@ -1,171 +0,0 @@ -// Copyright 2023, the Chromium project authors. Please see the AUTHORS file -// for details. All rights reserved. Use of this source code is governed by a -// BSD-style license that can be found in the LICENSE file. - -@import FirebaseAuth; - -#import "include/Private/PigeonParser.h" -#import -#import "include/Public/CustomPigeonHeader.h" - -@implementation PigeonParser - -+ (InternalUserCredential *) - getPigeonUserCredentialFromAuthResult:(nonnull FIRAuthDataResult *)authResult - authorizationCode:(nullable NSString *)authorizationCode { - return [InternalUserCredential - makeWithUser:[self getPigeonDetails:authResult.user] - additionalUserInfo:[self getPigeonAdditionalUserInfo:authResult.additionalUserInfo - authorizationCode:authorizationCode] - credential:[self getPigeonAuthCredential:authResult.credential token:nil]]; -} - -+ (InternalUserCredential *)getPigeonUserCredentialFromFIRUser:(nonnull FIRUser *)user { - return [InternalUserCredential makeWithUser:[self getPigeonDetails:user] - additionalUserInfo:nil - credential:nil]; -} - -+ (InternalUserDetails *)getPigeonDetails:(nonnull FIRUser *)user { - return [InternalUserDetails makeWithUserInfo:[self getPigeonUserInfo:user] - providerData:[self getProviderData:user.providerData]]; -} - -+ (InternalUserInfo *)getPigeonUserInfo:(nonnull FIRUser *)user { - NSString *photoUrlString = user.photoURL.absoluteString; - return [InternalUserInfo - makeWithUid:user.uid - email:user.email - displayName:user.displayName - photoUrl:(photoUrlString.length > 0) ? photoUrlString : nil - phoneNumber:user.phoneNumber - isAnonymous:user.isAnonymous - isEmailVerified:user.emailVerified - providerId:user.providerID - tenantId:user.tenantID - refreshToken:user.refreshToken - creationTimestamp:@((long)([user.metadata.creationDate timeIntervalSince1970] * 1000)) - lastSignInTimestamp:@((long)([user.metadata.lastSignInDate timeIntervalSince1970] * 1000))]; -} - -+ (NSArray *> *)getProviderData: - (nonnull NSArray> *)providerData { - NSMutableArray *> *dataArray = - [NSMutableArray arrayWithCapacity:providerData.count]; - - for (id userInfo in providerData) { - NSString *photoUrlStr = userInfo.photoURL.absoluteString; - NSDictionary *dataDict = @{ - @"providerId" : userInfo.providerID, - // Can be null on emulator - @"uid" : userInfo.uid ?: @"", - @"displayName" : userInfo.displayName ?: [NSNull null], - @"email" : userInfo.email ?: [NSNull null], - @"phoneNumber" : userInfo.phoneNumber ?: [NSNull null], - @"photoURL" : photoUrlStr ?: [NSNull null], - // isAnonymous is always false on in a providerData object (the user is not anonymous) - @"isAnonymous" : @NO, - // isEmailVerified is always true on in a providerData object (the email is verified by the - // provider) - @"isEmailVerified" : @YES, - }; - [dataArray addObject:dataDict]; - } - return [dataArray copy]; -} - -+ (InternalAdditionalUserInfo *)getPigeonAdditionalUserInfo: - (nonnull FIRAdditionalUserInfo *)userInfo - authorizationCode:(nullable NSString *)authorizationCode { - return [InternalAdditionalUserInfo makeWithIsNewUser:userInfo.isNewUser - providerId:userInfo.providerID - username:userInfo.username - authorizationCode:authorizationCode - profile:userInfo.profile]; -} - -+ (InternalTotpSecret *)getPigeonTotpSecret:(FIRTOTPSecret *)secret { - return [InternalTotpSecret makeWithCodeIntervalSeconds:nil - codeLength:nil - enrollmentCompletionDeadline:nil - hashingAlgorithm:nil - secretKey:secret.sharedSecretKey]; -} - -+ (InternalAuthCredential *)getPigeonAuthCredential:(FIRAuthCredential *)authCredential - token:(NSNumber *_Nullable)token { - if (authCredential == nil) { - return nil; - } - - NSString *accessToken = nil; - if ([authCredential isKindOfClass:[FIROAuthCredential class]]) { - if (((FIROAuthCredential *)authCredential).accessToken != nil) { - accessToken = ((FIROAuthCredential *)authCredential).accessToken; - } else if (((FIROAuthCredential *)authCredential).IDToken != nil) { - // For Sign In With Apple, the token is stored in IDToken - accessToken = ((FIROAuthCredential *)authCredential).IDToken; - } - } - - NSUInteger nativeId = - token != nil ? [token unsignedLongValue] : (NSUInteger)[authCredential hash]; - - return [InternalAuthCredential makeWithProviderId:authCredential.provider - signInMethod:authCredential.provider - nativeId:nativeId - accessToken:accessToken ?: nil]; -} - -+ (FIRActionCodeSettings *_Nullable)parseActionCodeSettings: - (nullable InternalActionCodeSettings *)settings { - if (settings == nil) { - return nil; - } - - FIRActionCodeSettings *codeSettings = [[FIRActionCodeSettings alloc] init]; - - if (settings.url != nil) { - codeSettings.URL = [NSURL URLWithString:settings.url]; - } - - if (settings.linkDomain != nil) { - codeSettings.linkDomain = settings.linkDomain; - } - - codeSettings.handleCodeInApp = settings.handleCodeInApp; - - if (settings.iOSBundleId != nil) { - codeSettings.iOSBundleID = settings.iOSBundleId; - } - - return codeSettings; -} - -+ (InternalIdTokenResult *)parseIdTokenResult:(FIRAuthTokenResult *)tokenResult { - long expirationTimestamp = (long)[tokenResult.expirationDate timeIntervalSince1970] * 1000; - long authTimestamp = (long)[tokenResult.authDate timeIntervalSince1970] * 1000; - long issuedAtTimestamp = (long)[tokenResult.issuedAtDate timeIntervalSince1970] * 1000; - - return [InternalIdTokenResult makeWithToken:tokenResult.token - expirationTimestamp:@(expirationTimestamp) - authTimestamp:@(authTimestamp) - issuedAtTimestamp:@(issuedAtTimestamp) - signInProvider:tokenResult.signInProvider - claims:tokenResult.claims - signInSecondFactor:tokenResult.signInSecondFactor]; -} - -+ (NSArray *_Nonnull)getManualList:(nonnull InternalUserDetails *)userDetails { - NSMutableArray *output = [NSMutableArray array]; - - id userInfoList = [[userDetails userInfo] toList]; - [output addObject:userInfoList]; - - id providerData = [userDetails providerData]; - [output addObject:providerData]; - - return [output copy]; -} - -@end diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/ios/firebase_auth/Sources/firebase_auth/firebase_auth_messages.g.m b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/ios/firebase_auth/Sources/firebase_auth/firebase_auth_messages.g.m deleted file mode 100644 index 82ae8cfc..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/ios/firebase_auth/Sources/firebase_auth/firebase_auth_messages.g.m +++ /dev/null @@ -1,3005 +0,0 @@ -// Copyright 2023, the Chromium project authors. Please see the AUTHORS file -// for details. All rights reserved. Use of this source code is governed by a -// BSD-style license that can be found in the LICENSE file. -// Autogenerated from Pigeon (v26.3.4), do not edit directly. -// See also: https://pub.dev/packages/pigeon - -#import "include/Public/firebase_auth_messages.g.h" - -#if TARGET_OS_OSX -@import FlutterMacOS; -#else -@import Flutter; -#endif - -static BOOL __attribute__((unused)) FLTPigeonDeepEquals(id _Nullable a, id _Nullable b) { - if (a == b) { - return YES; - } - if (a == nil) { - return b == [NSNull null]; - } - if (b == nil) { - return a == [NSNull null]; - } - if ([a isKindOfClass:[NSNumber class]] && [b isKindOfClass:[NSNumber class]]) { - return - [a isEqual:b] || (isnan([(NSNumber *)a doubleValue]) && isnan([(NSNumber *)b doubleValue])); - } - if ([a isKindOfClass:[NSArray class]] && [b isKindOfClass:[NSArray class]]) { - NSArray *arrayA = (NSArray *)a; - NSArray *arrayB = (NSArray *)b; - if (arrayA.count != arrayB.count) { - return NO; - } - for (NSUInteger i = 0; i < arrayA.count; i++) { - if (!FLTPigeonDeepEquals(arrayA[i], arrayB[i])) { - return NO; - } - } - return YES; - } - if ([a isKindOfClass:[NSDictionary class]] && [b isKindOfClass:[NSDictionary class]]) { - NSDictionary *dictA = (NSDictionary *)a; - NSDictionary *dictB = (NSDictionary *)b; - if (dictA.count != dictB.count) { - return NO; - } - for (id keyA in dictA) { - id valueA = dictA[keyA]; - BOOL found = NO; - for (id keyB in dictB) { - if (FLTPigeonDeepEquals(keyA, keyB)) { - id valueB = dictB[keyB]; - if (FLTPigeonDeepEquals(valueA, valueB)) { - found = YES; - break; - } else { - return NO; - } - } - } - if (!found) { - return NO; - } - } - return YES; - } - return [a isEqual:b]; -} - -static NSUInteger __attribute__((unused)) FLTPigeonDeepHash(id _Nullable value) { - if (value == nil || value == (id)[NSNull null]) { - return 0; - } - if ([value isKindOfClass:[NSNumber class]]) { - NSNumber *n = (NSNumber *)value; - double d = n.doubleValue; - if (isnan(d)) { - // Normalize NaN to a consistent hash. - return (NSUInteger)0x7FF8000000000000; - } - if (d == 0.0) { - // Normalize -0.0 to 0.0 so they have the same hash code. - d = 0.0; - } - return @(d).hash; - } - if ([value isKindOfClass:[NSArray class]]) { - NSUInteger result = 1; - for (id item in (NSArray *)value) { - result = result * 31 + FLTPigeonDeepHash(item); - } - return result; - } - if ([value isKindOfClass:[NSDictionary class]]) { - NSUInteger result = 0; - NSDictionary *dict = (NSDictionary *)value; - for (id key in dict) { - result += ((FLTPigeonDeepHash(key) * 31) ^ FLTPigeonDeepHash(dict[key])); - } - return result; - } - return [value hash]; -} - -static NSArray *wrapResult(id result, FlutterError *error) { - if (error) { - return @[ - error.code ?: [NSNull null], error.message ?: [NSNull null], error.details ?: [NSNull null] - ]; - } - return @[ result ?: [NSNull null] ]; -} - -static id GetNullableObjectAtIndex(NSArray *array, NSInteger key) { - id result = array[key]; - return (result == [NSNull null]) ? nil : result; -} - -/// The type of operation that generated the action code from calling -/// [checkActionCode]. -@implementation ActionCodeInfoOperationBox -- (instancetype)initWithValue:(ActionCodeInfoOperation)value { - self = [super init]; - if (self) { - _value = value; - } - return self; -} -@end - -@interface InternalMultiFactorSession () -+ (InternalMultiFactorSession *)fromList:(NSArray *)list; -+ (nullable InternalMultiFactorSession *)nullableFromList:(NSArray *)list; -- (NSArray *)toList; -@end - -@interface InternalPhoneMultiFactorAssertion () -+ (InternalPhoneMultiFactorAssertion *)fromList:(NSArray *)list; -+ (nullable InternalPhoneMultiFactorAssertion *)nullableFromList:(NSArray *)list; -- (NSArray *)toList; -@end - -@interface InternalMultiFactorInfo () -+ (InternalMultiFactorInfo *)fromList:(NSArray *)list; -+ (nullable InternalMultiFactorInfo *)nullableFromList:(NSArray *)list; -- (NSArray *)toList; -@end - -@interface AuthPigeonFirebaseApp () -+ (AuthPigeonFirebaseApp *)fromList:(NSArray *)list; -+ (nullable AuthPigeonFirebaseApp *)nullableFromList:(NSArray *)list; -- (NSArray *)toList; -@end - -@interface InternalActionCodeInfoData () -+ (InternalActionCodeInfoData *)fromList:(NSArray *)list; -+ (nullable InternalActionCodeInfoData *)nullableFromList:(NSArray *)list; -- (NSArray *)toList; -@end - -@interface InternalActionCodeInfo () -+ (InternalActionCodeInfo *)fromList:(NSArray *)list; -+ (nullable InternalActionCodeInfo *)nullableFromList:(NSArray *)list; -- (NSArray *)toList; -@end - -@interface InternalAdditionalUserInfo () -+ (InternalAdditionalUserInfo *)fromList:(NSArray *)list; -+ (nullable InternalAdditionalUserInfo *)nullableFromList:(NSArray *)list; -- (NSArray *)toList; -@end - -@interface InternalAuthCredential () -+ (InternalAuthCredential *)fromList:(NSArray *)list; -+ (nullable InternalAuthCredential *)nullableFromList:(NSArray *)list; -- (NSArray *)toList; -@end - -@interface InternalUserInfo () -+ (InternalUserInfo *)fromList:(NSArray *)list; -+ (nullable InternalUserInfo *)nullableFromList:(NSArray *)list; -- (NSArray *)toList; -@end - -@interface InternalUserDetails () -+ (InternalUserDetails *)fromList:(NSArray *)list; -+ (nullable InternalUserDetails *)nullableFromList:(NSArray *)list; -- (NSArray *)toList; -@end - -@interface InternalUserCredential () -+ (InternalUserCredential *)fromList:(NSArray *)list; -+ (nullable InternalUserCredential *)nullableFromList:(NSArray *)list; -- (NSArray *)toList; -@end - -@interface InternalAuthCredentialInput () -+ (InternalAuthCredentialInput *)fromList:(NSArray *)list; -+ (nullable InternalAuthCredentialInput *)nullableFromList:(NSArray *)list; -- (NSArray *)toList; -@end - -@interface InternalActionCodeSettings () -+ (InternalActionCodeSettings *)fromList:(NSArray *)list; -+ (nullable InternalActionCodeSettings *)nullableFromList:(NSArray *)list; -- (NSArray *)toList; -@end - -@interface InternalFirebaseAuthSettings () -+ (InternalFirebaseAuthSettings *)fromList:(NSArray *)list; -+ (nullable InternalFirebaseAuthSettings *)nullableFromList:(NSArray *)list; -- (NSArray *)toList; -@end - -@interface InternalSignInProvider () -+ (InternalSignInProvider *)fromList:(NSArray *)list; -+ (nullable InternalSignInProvider *)nullableFromList:(NSArray *)list; -- (NSArray *)toList; -@end - -@interface InternalVerifyPhoneNumberRequest () -+ (InternalVerifyPhoneNumberRequest *)fromList:(NSArray *)list; -+ (nullable InternalVerifyPhoneNumberRequest *)nullableFromList:(NSArray *)list; -- (NSArray *)toList; -@end - -@interface InternalIdTokenResult () -+ (InternalIdTokenResult *)fromList:(NSArray *)list; -+ (nullable InternalIdTokenResult *)nullableFromList:(NSArray *)list; -- (NSArray *)toList; -@end - -@interface InternalUserProfile () -+ (InternalUserProfile *)fromList:(NSArray *)list; -+ (nullable InternalUserProfile *)nullableFromList:(NSArray *)list; -- (NSArray *)toList; -@end - -@interface InternalTotpSecret () -+ (InternalTotpSecret *)fromList:(NSArray *)list; -+ (nullable InternalTotpSecret *)nullableFromList:(NSArray *)list; -- (NSArray *)toList; -@end - -@implementation InternalMultiFactorSession -+ (instancetype)makeWithId:(NSString *)id { - InternalMultiFactorSession *pigeonResult = [[InternalMultiFactorSession alloc] init]; - pigeonResult.id = id; - return pigeonResult; -} -+ (InternalMultiFactorSession *)fromList:(NSArray *)list { - InternalMultiFactorSession *pigeonResult = [[InternalMultiFactorSession alloc] init]; - pigeonResult.id = GetNullableObjectAtIndex(list, 0); - return pigeonResult; -} -+ (nullable InternalMultiFactorSession *)nullableFromList:(NSArray *)list { - return (list) ? [InternalMultiFactorSession fromList:list] : nil; -} -- (NSArray *)toList { - return @[ - self.id ?: [NSNull null], - ]; -} -- (BOOL)isEqual:(id)object { - if (self == object) { - return YES; - } - if (![object isKindOfClass:[self class]]) { - return NO; - } - InternalMultiFactorSession *other = (InternalMultiFactorSession *)object; - return FLTPigeonDeepEquals(self.id, other.id); -} - -- (NSUInteger)hash { - NSUInteger result = [self class].hash; - result = result * 31 + FLTPigeonDeepHash(self.id); - return result; -} -@end - -@implementation InternalPhoneMultiFactorAssertion -+ (instancetype)makeWithVerificationId:(NSString *)verificationId - verificationCode:(NSString *)verificationCode { - InternalPhoneMultiFactorAssertion *pigeonResult = - [[InternalPhoneMultiFactorAssertion alloc] init]; - pigeonResult.verificationId = verificationId; - pigeonResult.verificationCode = verificationCode; - return pigeonResult; -} -+ (InternalPhoneMultiFactorAssertion *)fromList:(NSArray *)list { - InternalPhoneMultiFactorAssertion *pigeonResult = - [[InternalPhoneMultiFactorAssertion alloc] init]; - pigeonResult.verificationId = GetNullableObjectAtIndex(list, 0); - pigeonResult.verificationCode = GetNullableObjectAtIndex(list, 1); - return pigeonResult; -} -+ (nullable InternalPhoneMultiFactorAssertion *)nullableFromList:(NSArray *)list { - return (list) ? [InternalPhoneMultiFactorAssertion fromList:list] : nil; -} -- (NSArray *)toList { - return @[ - self.verificationId ?: [NSNull null], - self.verificationCode ?: [NSNull null], - ]; -} -- (BOOL)isEqual:(id)object { - if (self == object) { - return YES; - } - if (![object isKindOfClass:[self class]]) { - return NO; - } - InternalPhoneMultiFactorAssertion *other = (InternalPhoneMultiFactorAssertion *)object; - return FLTPigeonDeepEquals(self.verificationId, other.verificationId) && - FLTPigeonDeepEquals(self.verificationCode, other.verificationCode); -} - -- (NSUInteger)hash { - NSUInteger result = [self class].hash; - result = result * 31 + FLTPigeonDeepHash(self.verificationId); - result = result * 31 + FLTPigeonDeepHash(self.verificationCode); - return result; -} -@end - -@implementation InternalMultiFactorInfo -+ (instancetype)makeWithDisplayName:(nullable NSString *)displayName - enrollmentTimestamp:(double)enrollmentTimestamp - factorId:(nullable NSString *)factorId - uid:(NSString *)uid - phoneNumber:(nullable NSString *)phoneNumber { - InternalMultiFactorInfo *pigeonResult = [[InternalMultiFactorInfo alloc] init]; - pigeonResult.displayName = displayName; - pigeonResult.enrollmentTimestamp = enrollmentTimestamp; - pigeonResult.factorId = factorId; - pigeonResult.uid = uid; - pigeonResult.phoneNumber = phoneNumber; - return pigeonResult; -} -+ (InternalMultiFactorInfo *)fromList:(NSArray *)list { - InternalMultiFactorInfo *pigeonResult = [[InternalMultiFactorInfo alloc] init]; - pigeonResult.displayName = GetNullableObjectAtIndex(list, 0); - pigeonResult.enrollmentTimestamp = [GetNullableObjectAtIndex(list, 1) doubleValue]; - pigeonResult.factorId = GetNullableObjectAtIndex(list, 2); - pigeonResult.uid = GetNullableObjectAtIndex(list, 3); - pigeonResult.phoneNumber = GetNullableObjectAtIndex(list, 4); - return pigeonResult; -} -+ (nullable InternalMultiFactorInfo *)nullableFromList:(NSArray *)list { - return (list) ? [InternalMultiFactorInfo fromList:list] : nil; -} -- (NSArray *)toList { - return @[ - self.displayName ?: [NSNull null], - @(self.enrollmentTimestamp), - self.factorId ?: [NSNull null], - self.uid ?: [NSNull null], - self.phoneNumber ?: [NSNull null], - ]; -} -- (BOOL)isEqual:(id)object { - if (self == object) { - return YES; - } - if (![object isKindOfClass:[self class]]) { - return NO; - } - InternalMultiFactorInfo *other = (InternalMultiFactorInfo *)object; - return FLTPigeonDeepEquals(self.displayName, other.displayName) && - (self.enrollmentTimestamp == other.enrollmentTimestamp || - (isnan(self.enrollmentTimestamp) && isnan(other.enrollmentTimestamp))) && - FLTPigeonDeepEquals(self.factorId, other.factorId) && - FLTPigeonDeepEquals(self.uid, other.uid) && - FLTPigeonDeepEquals(self.phoneNumber, other.phoneNumber); -} - -- (NSUInteger)hash { - NSUInteger result = [self class].hash; - result = result * 31 + FLTPigeonDeepHash(self.displayName); - result = result * 31 + (isnan(self.enrollmentTimestamp) ? (NSUInteger)0x7FF8000000000000 - : @(self.enrollmentTimestamp).hash); - result = result * 31 + FLTPigeonDeepHash(self.factorId); - result = result * 31 + FLTPigeonDeepHash(self.uid); - result = result * 31 + FLTPigeonDeepHash(self.phoneNumber); - return result; -} -@end - -@implementation AuthPigeonFirebaseApp -+ (instancetype)makeWithAppName:(NSString *)appName - tenantId:(nullable NSString *)tenantId - customAuthDomain:(nullable NSString *)customAuthDomain { - AuthPigeonFirebaseApp *pigeonResult = [[AuthPigeonFirebaseApp alloc] init]; - pigeonResult.appName = appName; - pigeonResult.tenantId = tenantId; - pigeonResult.customAuthDomain = customAuthDomain; - return pigeonResult; -} -+ (AuthPigeonFirebaseApp *)fromList:(NSArray *)list { - AuthPigeonFirebaseApp *pigeonResult = [[AuthPigeonFirebaseApp alloc] init]; - pigeonResult.appName = GetNullableObjectAtIndex(list, 0); - pigeonResult.tenantId = GetNullableObjectAtIndex(list, 1); - pigeonResult.customAuthDomain = GetNullableObjectAtIndex(list, 2); - return pigeonResult; -} -+ (nullable AuthPigeonFirebaseApp *)nullableFromList:(NSArray *)list { - return (list) ? [AuthPigeonFirebaseApp fromList:list] : nil; -} -- (NSArray *)toList { - return @[ - self.appName ?: [NSNull null], - self.tenantId ?: [NSNull null], - self.customAuthDomain ?: [NSNull null], - ]; -} -- (BOOL)isEqual:(id)object { - if (self == object) { - return YES; - } - if (![object isKindOfClass:[self class]]) { - return NO; - } - AuthPigeonFirebaseApp *other = (AuthPigeonFirebaseApp *)object; - return FLTPigeonDeepEquals(self.appName, other.appName) && - FLTPigeonDeepEquals(self.tenantId, other.tenantId) && - FLTPigeonDeepEquals(self.customAuthDomain, other.customAuthDomain); -} - -- (NSUInteger)hash { - NSUInteger result = [self class].hash; - result = result * 31 + FLTPigeonDeepHash(self.appName); - result = result * 31 + FLTPigeonDeepHash(self.tenantId); - result = result * 31 + FLTPigeonDeepHash(self.customAuthDomain); - return result; -} -@end - -@implementation InternalActionCodeInfoData -+ (instancetype)makeWithEmail:(nullable NSString *)email - previousEmail:(nullable NSString *)previousEmail { - InternalActionCodeInfoData *pigeonResult = [[InternalActionCodeInfoData alloc] init]; - pigeonResult.email = email; - pigeonResult.previousEmail = previousEmail; - return pigeonResult; -} -+ (InternalActionCodeInfoData *)fromList:(NSArray *)list { - InternalActionCodeInfoData *pigeonResult = [[InternalActionCodeInfoData alloc] init]; - pigeonResult.email = GetNullableObjectAtIndex(list, 0); - pigeonResult.previousEmail = GetNullableObjectAtIndex(list, 1); - return pigeonResult; -} -+ (nullable InternalActionCodeInfoData *)nullableFromList:(NSArray *)list { - return (list) ? [InternalActionCodeInfoData fromList:list] : nil; -} -- (NSArray *)toList { - return @[ - self.email ?: [NSNull null], - self.previousEmail ?: [NSNull null], - ]; -} -- (BOOL)isEqual:(id)object { - if (self == object) { - return YES; - } - if (![object isKindOfClass:[self class]]) { - return NO; - } - InternalActionCodeInfoData *other = (InternalActionCodeInfoData *)object; - return FLTPigeonDeepEquals(self.email, other.email) && - FLTPigeonDeepEquals(self.previousEmail, other.previousEmail); -} - -- (NSUInteger)hash { - NSUInteger result = [self class].hash; - result = result * 31 + FLTPigeonDeepHash(self.email); - result = result * 31 + FLTPigeonDeepHash(self.previousEmail); - return result; -} -@end - -@implementation InternalActionCodeInfo -+ (instancetype)makeWithOperation:(ActionCodeInfoOperation)operation - data:(InternalActionCodeInfoData *)data { - InternalActionCodeInfo *pigeonResult = [[InternalActionCodeInfo alloc] init]; - pigeonResult.operation = operation; - pigeonResult.data = data; - return pigeonResult; -} -+ (InternalActionCodeInfo *)fromList:(NSArray *)list { - InternalActionCodeInfo *pigeonResult = [[InternalActionCodeInfo alloc] init]; - ActionCodeInfoOperationBox *boxedActionCodeInfoOperation = GetNullableObjectAtIndex(list, 0); - pigeonResult.operation = boxedActionCodeInfoOperation.value; - pigeonResult.data = GetNullableObjectAtIndex(list, 1); - return pigeonResult; -} -+ (nullable InternalActionCodeInfo *)nullableFromList:(NSArray *)list { - return (list) ? [InternalActionCodeInfo fromList:list] : nil; -} -- (NSArray *)toList { - return @[ - [[ActionCodeInfoOperationBox alloc] initWithValue:self.operation], - self.data ?: [NSNull null], - ]; -} -- (BOOL)isEqual:(id)object { - if (self == object) { - return YES; - } - if (![object isKindOfClass:[self class]]) { - return NO; - } - InternalActionCodeInfo *other = (InternalActionCodeInfo *)object; - return self.operation == other.operation && FLTPigeonDeepEquals(self.data, other.data); -} - -- (NSUInteger)hash { - NSUInteger result = [self class].hash; - result = result * 31 + @(self.operation).hash; - result = result * 31 + FLTPigeonDeepHash(self.data); - return result; -} -@end - -@implementation InternalAdditionalUserInfo -+ (instancetype)makeWithIsNewUser:(BOOL)isNewUser - providerId:(nullable NSString *)providerId - username:(nullable NSString *)username - authorizationCode:(nullable NSString *)authorizationCode - profile:(nullable NSDictionary *)profile { - InternalAdditionalUserInfo *pigeonResult = [[InternalAdditionalUserInfo alloc] init]; - pigeonResult.isNewUser = isNewUser; - pigeonResult.providerId = providerId; - pigeonResult.username = username; - pigeonResult.authorizationCode = authorizationCode; - pigeonResult.profile = profile; - return pigeonResult; -} -+ (InternalAdditionalUserInfo *)fromList:(NSArray *)list { - InternalAdditionalUserInfo *pigeonResult = [[InternalAdditionalUserInfo alloc] init]; - pigeonResult.isNewUser = [GetNullableObjectAtIndex(list, 0) boolValue]; - pigeonResult.providerId = GetNullableObjectAtIndex(list, 1); - pigeonResult.username = GetNullableObjectAtIndex(list, 2); - pigeonResult.authorizationCode = GetNullableObjectAtIndex(list, 3); - pigeonResult.profile = GetNullableObjectAtIndex(list, 4); - return pigeonResult; -} -+ (nullable InternalAdditionalUserInfo *)nullableFromList:(NSArray *)list { - return (list) ? [InternalAdditionalUserInfo fromList:list] : nil; -} -- (NSArray *)toList { - return @[ - @(self.isNewUser), - self.providerId ?: [NSNull null], - self.username ?: [NSNull null], - self.authorizationCode ?: [NSNull null], - self.profile ?: [NSNull null], - ]; -} -- (BOOL)isEqual:(id)object { - if (self == object) { - return YES; - } - if (![object isKindOfClass:[self class]]) { - return NO; - } - InternalAdditionalUserInfo *other = (InternalAdditionalUserInfo *)object; - return self.isNewUser == other.isNewUser && - FLTPigeonDeepEquals(self.providerId, other.providerId) && - FLTPigeonDeepEquals(self.username, other.username) && - FLTPigeonDeepEquals(self.authorizationCode, other.authorizationCode) && - FLTPigeonDeepEquals(self.profile, other.profile); -} - -- (NSUInteger)hash { - NSUInteger result = [self class].hash; - result = result * 31 + @(self.isNewUser).hash; - result = result * 31 + FLTPigeonDeepHash(self.providerId); - result = result * 31 + FLTPigeonDeepHash(self.username); - result = result * 31 + FLTPigeonDeepHash(self.authorizationCode); - result = result * 31 + FLTPigeonDeepHash(self.profile); - return result; -} -@end - -@implementation InternalAuthCredential -+ (instancetype)makeWithProviderId:(NSString *)providerId - signInMethod:(NSString *)signInMethod - nativeId:(NSInteger)nativeId - accessToken:(nullable NSString *)accessToken { - InternalAuthCredential *pigeonResult = [[InternalAuthCredential alloc] init]; - pigeonResult.providerId = providerId; - pigeonResult.signInMethod = signInMethod; - pigeonResult.nativeId = nativeId; - pigeonResult.accessToken = accessToken; - return pigeonResult; -} -+ (InternalAuthCredential *)fromList:(NSArray *)list { - InternalAuthCredential *pigeonResult = [[InternalAuthCredential alloc] init]; - pigeonResult.providerId = GetNullableObjectAtIndex(list, 0); - pigeonResult.signInMethod = GetNullableObjectAtIndex(list, 1); - pigeonResult.nativeId = [GetNullableObjectAtIndex(list, 2) integerValue]; - pigeonResult.accessToken = GetNullableObjectAtIndex(list, 3); - return pigeonResult; -} -+ (nullable InternalAuthCredential *)nullableFromList:(NSArray *)list { - return (list) ? [InternalAuthCredential fromList:list] : nil; -} -- (NSArray *)toList { - return @[ - self.providerId ?: [NSNull null], - self.signInMethod ?: [NSNull null], - @(self.nativeId), - self.accessToken ?: [NSNull null], - ]; -} -- (BOOL)isEqual:(id)object { - if (self == object) { - return YES; - } - if (![object isKindOfClass:[self class]]) { - return NO; - } - InternalAuthCredential *other = (InternalAuthCredential *)object; - return FLTPigeonDeepEquals(self.providerId, other.providerId) && - FLTPigeonDeepEquals(self.signInMethod, other.signInMethod) && - self.nativeId == other.nativeId && - FLTPigeonDeepEquals(self.accessToken, other.accessToken); -} - -- (NSUInteger)hash { - NSUInteger result = [self class].hash; - result = result * 31 + FLTPigeonDeepHash(self.providerId); - result = result * 31 + FLTPigeonDeepHash(self.signInMethod); - result = result * 31 + @(self.nativeId).hash; - result = result * 31 + FLTPigeonDeepHash(self.accessToken); - return result; -} -@end - -@implementation InternalUserInfo -+ (instancetype)makeWithUid:(NSString *)uid - email:(nullable NSString *)email - displayName:(nullable NSString *)displayName - photoUrl:(nullable NSString *)photoUrl - phoneNumber:(nullable NSString *)phoneNumber - isAnonymous:(BOOL)isAnonymous - isEmailVerified:(BOOL)isEmailVerified - providerId:(nullable NSString *)providerId - tenantId:(nullable NSString *)tenantId - refreshToken:(nullable NSString *)refreshToken - creationTimestamp:(nullable NSNumber *)creationTimestamp - lastSignInTimestamp:(nullable NSNumber *)lastSignInTimestamp { - InternalUserInfo *pigeonResult = [[InternalUserInfo alloc] init]; - pigeonResult.uid = uid; - pigeonResult.email = email; - pigeonResult.displayName = displayName; - pigeonResult.photoUrl = photoUrl; - pigeonResult.phoneNumber = phoneNumber; - pigeonResult.isAnonymous = isAnonymous; - pigeonResult.isEmailVerified = isEmailVerified; - pigeonResult.providerId = providerId; - pigeonResult.tenantId = tenantId; - pigeonResult.refreshToken = refreshToken; - pigeonResult.creationTimestamp = creationTimestamp; - pigeonResult.lastSignInTimestamp = lastSignInTimestamp; - return pigeonResult; -} -+ (InternalUserInfo *)fromList:(NSArray *)list { - InternalUserInfo *pigeonResult = [[InternalUserInfo alloc] init]; - pigeonResult.uid = GetNullableObjectAtIndex(list, 0); - pigeonResult.email = GetNullableObjectAtIndex(list, 1); - pigeonResult.displayName = GetNullableObjectAtIndex(list, 2); - pigeonResult.photoUrl = GetNullableObjectAtIndex(list, 3); - pigeonResult.phoneNumber = GetNullableObjectAtIndex(list, 4); - pigeonResult.isAnonymous = [GetNullableObjectAtIndex(list, 5) boolValue]; - pigeonResult.isEmailVerified = [GetNullableObjectAtIndex(list, 6) boolValue]; - pigeonResult.providerId = GetNullableObjectAtIndex(list, 7); - pigeonResult.tenantId = GetNullableObjectAtIndex(list, 8); - pigeonResult.refreshToken = GetNullableObjectAtIndex(list, 9); - pigeonResult.creationTimestamp = GetNullableObjectAtIndex(list, 10); - pigeonResult.lastSignInTimestamp = GetNullableObjectAtIndex(list, 11); - return pigeonResult; -} -+ (nullable InternalUserInfo *)nullableFromList:(NSArray *)list { - return (list) ? [InternalUserInfo fromList:list] : nil; -} -- (NSArray *)toList { - return @[ - self.uid ?: [NSNull null], - self.email ?: [NSNull null], - self.displayName ?: [NSNull null], - self.photoUrl ?: [NSNull null], - self.phoneNumber ?: [NSNull null], - @(self.isAnonymous), - @(self.isEmailVerified), - self.providerId ?: [NSNull null], - self.tenantId ?: [NSNull null], - self.refreshToken ?: [NSNull null], - self.creationTimestamp ?: [NSNull null], - self.lastSignInTimestamp ?: [NSNull null], - ]; -} -- (BOOL)isEqual:(id)object { - if (self == object) { - return YES; - } - if (![object isKindOfClass:[self class]]) { - return NO; - } - InternalUserInfo *other = (InternalUserInfo *)object; - return FLTPigeonDeepEquals(self.uid, other.uid) && FLTPigeonDeepEquals(self.email, other.email) && - FLTPigeonDeepEquals(self.displayName, other.displayName) && - FLTPigeonDeepEquals(self.photoUrl, other.photoUrl) && - FLTPigeonDeepEquals(self.phoneNumber, other.phoneNumber) && - self.isAnonymous == other.isAnonymous && self.isEmailVerified == other.isEmailVerified && - FLTPigeonDeepEquals(self.providerId, other.providerId) && - FLTPigeonDeepEquals(self.tenantId, other.tenantId) && - FLTPigeonDeepEquals(self.refreshToken, other.refreshToken) && - FLTPigeonDeepEquals(self.creationTimestamp, other.creationTimestamp) && - FLTPigeonDeepEquals(self.lastSignInTimestamp, other.lastSignInTimestamp); -} - -- (NSUInteger)hash { - NSUInteger result = [self class].hash; - result = result * 31 + FLTPigeonDeepHash(self.uid); - result = result * 31 + FLTPigeonDeepHash(self.email); - result = result * 31 + FLTPigeonDeepHash(self.displayName); - result = result * 31 + FLTPigeonDeepHash(self.photoUrl); - result = result * 31 + FLTPigeonDeepHash(self.phoneNumber); - result = result * 31 + @(self.isAnonymous).hash; - result = result * 31 + @(self.isEmailVerified).hash; - result = result * 31 + FLTPigeonDeepHash(self.providerId); - result = result * 31 + FLTPigeonDeepHash(self.tenantId); - result = result * 31 + FLTPigeonDeepHash(self.refreshToken); - result = result * 31 + FLTPigeonDeepHash(self.creationTimestamp); - result = result * 31 + FLTPigeonDeepHash(self.lastSignInTimestamp); - return result; -} -@end - -@implementation InternalUserDetails -+ (instancetype)makeWithUserInfo:(InternalUserInfo *)userInfo - providerData:(NSArray *> *)providerData { - InternalUserDetails *pigeonResult = [[InternalUserDetails alloc] init]; - pigeonResult.userInfo = userInfo; - pigeonResult.providerData = providerData; - return pigeonResult; -} -+ (InternalUserDetails *)fromList:(NSArray *)list { - InternalUserDetails *pigeonResult = [[InternalUserDetails alloc] init]; - pigeonResult.userInfo = GetNullableObjectAtIndex(list, 0); - pigeonResult.providerData = GetNullableObjectAtIndex(list, 1); - return pigeonResult; -} -+ (nullable InternalUserDetails *)nullableFromList:(NSArray *)list { - return (list) ? [InternalUserDetails fromList:list] : nil; -} -- (NSArray *)toList { - return @[ - self.userInfo ?: [NSNull null], - self.providerData ?: [NSNull null], - ]; -} -- (BOOL)isEqual:(id)object { - if (self == object) { - return YES; - } - if (![object isKindOfClass:[self class]]) { - return NO; - } - InternalUserDetails *other = (InternalUserDetails *)object; - return FLTPigeonDeepEquals(self.userInfo, other.userInfo) && - FLTPigeonDeepEquals(self.providerData, other.providerData); -} - -- (NSUInteger)hash { - NSUInteger result = [self class].hash; - result = result * 31 + FLTPigeonDeepHash(self.userInfo); - result = result * 31 + FLTPigeonDeepHash(self.providerData); - return result; -} -@end - -@implementation InternalUserCredential -+ (instancetype)makeWithUser:(nullable InternalUserDetails *)user - additionalUserInfo:(nullable InternalAdditionalUserInfo *)additionalUserInfo - credential:(nullable InternalAuthCredential *)credential { - InternalUserCredential *pigeonResult = [[InternalUserCredential alloc] init]; - pigeonResult.user = user; - pigeonResult.additionalUserInfo = additionalUserInfo; - pigeonResult.credential = credential; - return pigeonResult; -} -+ (InternalUserCredential *)fromList:(NSArray *)list { - InternalUserCredential *pigeonResult = [[InternalUserCredential alloc] init]; - pigeonResult.user = GetNullableObjectAtIndex(list, 0); - pigeonResult.additionalUserInfo = GetNullableObjectAtIndex(list, 1); - pigeonResult.credential = GetNullableObjectAtIndex(list, 2); - return pigeonResult; -} -+ (nullable InternalUserCredential *)nullableFromList:(NSArray *)list { - return (list) ? [InternalUserCredential fromList:list] : nil; -} -- (NSArray *)toList { - return @[ - self.user ?: [NSNull null], - self.additionalUserInfo ?: [NSNull null], - self.credential ?: [NSNull null], - ]; -} -- (BOOL)isEqual:(id)object { - if (self == object) { - return YES; - } - if (![object isKindOfClass:[self class]]) { - return NO; - } - InternalUserCredential *other = (InternalUserCredential *)object; - return FLTPigeonDeepEquals(self.user, other.user) && - FLTPigeonDeepEquals(self.additionalUserInfo, other.additionalUserInfo) && - FLTPigeonDeepEquals(self.credential, other.credential); -} - -- (NSUInteger)hash { - NSUInteger result = [self class].hash; - result = result * 31 + FLTPigeonDeepHash(self.user); - result = result * 31 + FLTPigeonDeepHash(self.additionalUserInfo); - result = result * 31 + FLTPigeonDeepHash(self.credential); - return result; -} -@end - -@implementation InternalAuthCredentialInput -+ (instancetype)makeWithProviderId:(NSString *)providerId - signInMethod:(NSString *)signInMethod - token:(nullable NSString *)token - accessToken:(nullable NSString *)accessToken { - InternalAuthCredentialInput *pigeonResult = [[InternalAuthCredentialInput alloc] init]; - pigeonResult.providerId = providerId; - pigeonResult.signInMethod = signInMethod; - pigeonResult.token = token; - pigeonResult.accessToken = accessToken; - return pigeonResult; -} -+ (InternalAuthCredentialInput *)fromList:(NSArray *)list { - InternalAuthCredentialInput *pigeonResult = [[InternalAuthCredentialInput alloc] init]; - pigeonResult.providerId = GetNullableObjectAtIndex(list, 0); - pigeonResult.signInMethod = GetNullableObjectAtIndex(list, 1); - pigeonResult.token = GetNullableObjectAtIndex(list, 2); - pigeonResult.accessToken = GetNullableObjectAtIndex(list, 3); - return pigeonResult; -} -+ (nullable InternalAuthCredentialInput *)nullableFromList:(NSArray *)list { - return (list) ? [InternalAuthCredentialInput fromList:list] : nil; -} -- (NSArray *)toList { - return @[ - self.providerId ?: [NSNull null], - self.signInMethod ?: [NSNull null], - self.token ?: [NSNull null], - self.accessToken ?: [NSNull null], - ]; -} -- (BOOL)isEqual:(id)object { - if (self == object) { - return YES; - } - if (![object isKindOfClass:[self class]]) { - return NO; - } - InternalAuthCredentialInput *other = (InternalAuthCredentialInput *)object; - return FLTPigeonDeepEquals(self.providerId, other.providerId) && - FLTPigeonDeepEquals(self.signInMethod, other.signInMethod) && - FLTPigeonDeepEquals(self.token, other.token) && - FLTPigeonDeepEquals(self.accessToken, other.accessToken); -} - -- (NSUInteger)hash { - NSUInteger result = [self class].hash; - result = result * 31 + FLTPigeonDeepHash(self.providerId); - result = result * 31 + FLTPigeonDeepHash(self.signInMethod); - result = result * 31 + FLTPigeonDeepHash(self.token); - result = result * 31 + FLTPigeonDeepHash(self.accessToken); - return result; -} -@end - -@implementation InternalActionCodeSettings -+ (instancetype)makeWithUrl:(NSString *)url - dynamicLinkDomain:(nullable NSString *)dynamicLinkDomain - handleCodeInApp:(BOOL)handleCodeInApp - iOSBundleId:(nullable NSString *)iOSBundleId - androidPackageName:(nullable NSString *)androidPackageName - androidInstallApp:(BOOL)androidInstallApp - androidMinimumVersion:(nullable NSString *)androidMinimumVersion - linkDomain:(nullable NSString *)linkDomain { - InternalActionCodeSettings *pigeonResult = [[InternalActionCodeSettings alloc] init]; - pigeonResult.url = url; - pigeonResult.dynamicLinkDomain = dynamicLinkDomain; - pigeonResult.handleCodeInApp = handleCodeInApp; - pigeonResult.iOSBundleId = iOSBundleId; - pigeonResult.androidPackageName = androidPackageName; - pigeonResult.androidInstallApp = androidInstallApp; - pigeonResult.androidMinimumVersion = androidMinimumVersion; - pigeonResult.linkDomain = linkDomain; - return pigeonResult; -} -+ (InternalActionCodeSettings *)fromList:(NSArray *)list { - InternalActionCodeSettings *pigeonResult = [[InternalActionCodeSettings alloc] init]; - pigeonResult.url = GetNullableObjectAtIndex(list, 0); - pigeonResult.dynamicLinkDomain = GetNullableObjectAtIndex(list, 1); - pigeonResult.handleCodeInApp = [GetNullableObjectAtIndex(list, 2) boolValue]; - pigeonResult.iOSBundleId = GetNullableObjectAtIndex(list, 3); - pigeonResult.androidPackageName = GetNullableObjectAtIndex(list, 4); - pigeonResult.androidInstallApp = [GetNullableObjectAtIndex(list, 5) boolValue]; - pigeonResult.androidMinimumVersion = GetNullableObjectAtIndex(list, 6); - pigeonResult.linkDomain = GetNullableObjectAtIndex(list, 7); - return pigeonResult; -} -+ (nullable InternalActionCodeSettings *)nullableFromList:(NSArray *)list { - return (list) ? [InternalActionCodeSettings fromList:list] : nil; -} -- (NSArray *)toList { - return @[ - self.url ?: [NSNull null], - self.dynamicLinkDomain ?: [NSNull null], - @(self.handleCodeInApp), - self.iOSBundleId ?: [NSNull null], - self.androidPackageName ?: [NSNull null], - @(self.androidInstallApp), - self.androidMinimumVersion ?: [NSNull null], - self.linkDomain ?: [NSNull null], - ]; -} -- (BOOL)isEqual:(id)object { - if (self == object) { - return YES; - } - if (![object isKindOfClass:[self class]]) { - return NO; - } - InternalActionCodeSettings *other = (InternalActionCodeSettings *)object; - return FLTPigeonDeepEquals(self.url, other.url) && - FLTPigeonDeepEquals(self.dynamicLinkDomain, other.dynamicLinkDomain) && - self.handleCodeInApp == other.handleCodeInApp && - FLTPigeonDeepEquals(self.iOSBundleId, other.iOSBundleId) && - FLTPigeonDeepEquals(self.androidPackageName, other.androidPackageName) && - self.androidInstallApp == other.androidInstallApp && - FLTPigeonDeepEquals(self.androidMinimumVersion, other.androidMinimumVersion) && - FLTPigeonDeepEquals(self.linkDomain, other.linkDomain); -} - -- (NSUInteger)hash { - NSUInteger result = [self class].hash; - result = result * 31 + FLTPigeonDeepHash(self.url); - result = result * 31 + FLTPigeonDeepHash(self.dynamicLinkDomain); - result = result * 31 + @(self.handleCodeInApp).hash; - result = result * 31 + FLTPigeonDeepHash(self.iOSBundleId); - result = result * 31 + FLTPigeonDeepHash(self.androidPackageName); - result = result * 31 + @(self.androidInstallApp).hash; - result = result * 31 + FLTPigeonDeepHash(self.androidMinimumVersion); - result = result * 31 + FLTPigeonDeepHash(self.linkDomain); - return result; -} -@end - -@implementation InternalFirebaseAuthSettings -+ (instancetype)makeWithAppVerificationDisabledForTesting:(BOOL)appVerificationDisabledForTesting - userAccessGroup:(nullable NSString *)userAccessGroup - phoneNumber:(nullable NSString *)phoneNumber - smsCode:(nullable NSString *)smsCode - forceRecaptchaFlow:(nullable NSNumber *)forceRecaptchaFlow { - InternalFirebaseAuthSettings *pigeonResult = [[InternalFirebaseAuthSettings alloc] init]; - pigeonResult.appVerificationDisabledForTesting = appVerificationDisabledForTesting; - pigeonResult.userAccessGroup = userAccessGroup; - pigeonResult.phoneNumber = phoneNumber; - pigeonResult.smsCode = smsCode; - pigeonResult.forceRecaptchaFlow = forceRecaptchaFlow; - return pigeonResult; -} -+ (InternalFirebaseAuthSettings *)fromList:(NSArray *)list { - InternalFirebaseAuthSettings *pigeonResult = [[InternalFirebaseAuthSettings alloc] init]; - pigeonResult.appVerificationDisabledForTesting = [GetNullableObjectAtIndex(list, 0) boolValue]; - pigeonResult.userAccessGroup = GetNullableObjectAtIndex(list, 1); - pigeonResult.phoneNumber = GetNullableObjectAtIndex(list, 2); - pigeonResult.smsCode = GetNullableObjectAtIndex(list, 3); - pigeonResult.forceRecaptchaFlow = GetNullableObjectAtIndex(list, 4); - return pigeonResult; -} -+ (nullable InternalFirebaseAuthSettings *)nullableFromList:(NSArray *)list { - return (list) ? [InternalFirebaseAuthSettings fromList:list] : nil; -} -- (NSArray *)toList { - return @[ - @(self.appVerificationDisabledForTesting), - self.userAccessGroup ?: [NSNull null], - self.phoneNumber ?: [NSNull null], - self.smsCode ?: [NSNull null], - self.forceRecaptchaFlow ?: [NSNull null], - ]; -} -- (BOOL)isEqual:(id)object { - if (self == object) { - return YES; - } - if (![object isKindOfClass:[self class]]) { - return NO; - } - InternalFirebaseAuthSettings *other = (InternalFirebaseAuthSettings *)object; - return self.appVerificationDisabledForTesting == other.appVerificationDisabledForTesting && - FLTPigeonDeepEquals(self.userAccessGroup, other.userAccessGroup) && - FLTPigeonDeepEquals(self.phoneNumber, other.phoneNumber) && - FLTPigeonDeepEquals(self.smsCode, other.smsCode) && - FLTPigeonDeepEquals(self.forceRecaptchaFlow, other.forceRecaptchaFlow); -} - -- (NSUInteger)hash { - NSUInteger result = [self class].hash; - result = result * 31 + @(self.appVerificationDisabledForTesting).hash; - result = result * 31 + FLTPigeonDeepHash(self.userAccessGroup); - result = result * 31 + FLTPigeonDeepHash(self.phoneNumber); - result = result * 31 + FLTPigeonDeepHash(self.smsCode); - result = result * 31 + FLTPigeonDeepHash(self.forceRecaptchaFlow); - return result; -} -@end - -@implementation InternalSignInProvider -+ (instancetype)makeWithProviderId:(NSString *)providerId - scopes:(nullable NSArray *)scopes - customParameters: - (nullable NSDictionary *)customParameters { - InternalSignInProvider *pigeonResult = [[InternalSignInProvider alloc] init]; - pigeonResult.providerId = providerId; - pigeonResult.scopes = scopes; - pigeonResult.customParameters = customParameters; - return pigeonResult; -} -+ (InternalSignInProvider *)fromList:(NSArray *)list { - InternalSignInProvider *pigeonResult = [[InternalSignInProvider alloc] init]; - pigeonResult.providerId = GetNullableObjectAtIndex(list, 0); - pigeonResult.scopes = GetNullableObjectAtIndex(list, 1); - pigeonResult.customParameters = GetNullableObjectAtIndex(list, 2); - return pigeonResult; -} -+ (nullable InternalSignInProvider *)nullableFromList:(NSArray *)list { - return (list) ? [InternalSignInProvider fromList:list] : nil; -} -- (NSArray *)toList { - return @[ - self.providerId ?: [NSNull null], - self.scopes ?: [NSNull null], - self.customParameters ?: [NSNull null], - ]; -} -- (BOOL)isEqual:(id)object { - if (self == object) { - return YES; - } - if (![object isKindOfClass:[self class]]) { - return NO; - } - InternalSignInProvider *other = (InternalSignInProvider *)object; - return FLTPigeonDeepEquals(self.providerId, other.providerId) && - FLTPigeonDeepEquals(self.scopes, other.scopes) && - FLTPigeonDeepEquals(self.customParameters, other.customParameters); -} - -- (NSUInteger)hash { - NSUInteger result = [self class].hash; - result = result * 31 + FLTPigeonDeepHash(self.providerId); - result = result * 31 + FLTPigeonDeepHash(self.scopes); - result = result * 31 + FLTPigeonDeepHash(self.customParameters); - return result; -} -@end - -@implementation InternalVerifyPhoneNumberRequest -+ (instancetype)makeWithPhoneNumber:(nullable NSString *)phoneNumber - timeout:(NSInteger)timeout - forceResendingToken:(nullable NSNumber *)forceResendingToken - autoRetrievedSmsCodeForTesting:(nullable NSString *)autoRetrievedSmsCodeForTesting - multiFactorInfoId:(nullable NSString *)multiFactorInfoId - multiFactorSessionId:(nullable NSString *)multiFactorSessionId { - InternalVerifyPhoneNumberRequest *pigeonResult = [[InternalVerifyPhoneNumberRequest alloc] init]; - pigeonResult.phoneNumber = phoneNumber; - pigeonResult.timeout = timeout; - pigeonResult.forceResendingToken = forceResendingToken; - pigeonResult.autoRetrievedSmsCodeForTesting = autoRetrievedSmsCodeForTesting; - pigeonResult.multiFactorInfoId = multiFactorInfoId; - pigeonResult.multiFactorSessionId = multiFactorSessionId; - return pigeonResult; -} -+ (InternalVerifyPhoneNumberRequest *)fromList:(NSArray *)list { - InternalVerifyPhoneNumberRequest *pigeonResult = [[InternalVerifyPhoneNumberRequest alloc] init]; - pigeonResult.phoneNumber = GetNullableObjectAtIndex(list, 0); - pigeonResult.timeout = [GetNullableObjectAtIndex(list, 1) integerValue]; - pigeonResult.forceResendingToken = GetNullableObjectAtIndex(list, 2); - pigeonResult.autoRetrievedSmsCodeForTesting = GetNullableObjectAtIndex(list, 3); - pigeonResult.multiFactorInfoId = GetNullableObjectAtIndex(list, 4); - pigeonResult.multiFactorSessionId = GetNullableObjectAtIndex(list, 5); - return pigeonResult; -} -+ (nullable InternalVerifyPhoneNumberRequest *)nullableFromList:(NSArray *)list { - return (list) ? [InternalVerifyPhoneNumberRequest fromList:list] : nil; -} -- (NSArray *)toList { - return @[ - self.phoneNumber ?: [NSNull null], - @(self.timeout), - self.forceResendingToken ?: [NSNull null], - self.autoRetrievedSmsCodeForTesting ?: [NSNull null], - self.multiFactorInfoId ?: [NSNull null], - self.multiFactorSessionId ?: [NSNull null], - ]; -} -- (BOOL)isEqual:(id)object { - if (self == object) { - return YES; - } - if (![object isKindOfClass:[self class]]) { - return NO; - } - InternalVerifyPhoneNumberRequest *other = (InternalVerifyPhoneNumberRequest *)object; - return FLTPigeonDeepEquals(self.phoneNumber, other.phoneNumber) && - self.timeout == other.timeout && - FLTPigeonDeepEquals(self.forceResendingToken, other.forceResendingToken) && - FLTPigeonDeepEquals(self.autoRetrievedSmsCodeForTesting, - other.autoRetrievedSmsCodeForTesting) && - FLTPigeonDeepEquals(self.multiFactorInfoId, other.multiFactorInfoId) && - FLTPigeonDeepEquals(self.multiFactorSessionId, other.multiFactorSessionId); -} - -- (NSUInteger)hash { - NSUInteger result = [self class].hash; - result = result * 31 + FLTPigeonDeepHash(self.phoneNumber); - result = result * 31 + @(self.timeout).hash; - result = result * 31 + FLTPigeonDeepHash(self.forceResendingToken); - result = result * 31 + FLTPigeonDeepHash(self.autoRetrievedSmsCodeForTesting); - result = result * 31 + FLTPigeonDeepHash(self.multiFactorInfoId); - result = result * 31 + FLTPigeonDeepHash(self.multiFactorSessionId); - return result; -} -@end - -@implementation InternalIdTokenResult -+ (instancetype)makeWithToken:(nullable NSString *)token - expirationTimestamp:(nullable NSNumber *)expirationTimestamp - authTimestamp:(nullable NSNumber *)authTimestamp - issuedAtTimestamp:(nullable NSNumber *)issuedAtTimestamp - signInProvider:(nullable NSString *)signInProvider - claims:(nullable NSDictionary *)claims - signInSecondFactor:(nullable NSString *)signInSecondFactor { - InternalIdTokenResult *pigeonResult = [[InternalIdTokenResult alloc] init]; - pigeonResult.token = token; - pigeonResult.expirationTimestamp = expirationTimestamp; - pigeonResult.authTimestamp = authTimestamp; - pigeonResult.issuedAtTimestamp = issuedAtTimestamp; - pigeonResult.signInProvider = signInProvider; - pigeonResult.claims = claims; - pigeonResult.signInSecondFactor = signInSecondFactor; - return pigeonResult; -} -+ (InternalIdTokenResult *)fromList:(NSArray *)list { - InternalIdTokenResult *pigeonResult = [[InternalIdTokenResult alloc] init]; - pigeonResult.token = GetNullableObjectAtIndex(list, 0); - pigeonResult.expirationTimestamp = GetNullableObjectAtIndex(list, 1); - pigeonResult.authTimestamp = GetNullableObjectAtIndex(list, 2); - pigeonResult.issuedAtTimestamp = GetNullableObjectAtIndex(list, 3); - pigeonResult.signInProvider = GetNullableObjectAtIndex(list, 4); - pigeonResult.claims = GetNullableObjectAtIndex(list, 5); - pigeonResult.signInSecondFactor = GetNullableObjectAtIndex(list, 6); - return pigeonResult; -} -+ (nullable InternalIdTokenResult *)nullableFromList:(NSArray *)list { - return (list) ? [InternalIdTokenResult fromList:list] : nil; -} -- (NSArray *)toList { - return @[ - self.token ?: [NSNull null], - self.expirationTimestamp ?: [NSNull null], - self.authTimestamp ?: [NSNull null], - self.issuedAtTimestamp ?: [NSNull null], - self.signInProvider ?: [NSNull null], - self.claims ?: [NSNull null], - self.signInSecondFactor ?: [NSNull null], - ]; -} -- (BOOL)isEqual:(id)object { - if (self == object) { - return YES; - } - if (![object isKindOfClass:[self class]]) { - return NO; - } - InternalIdTokenResult *other = (InternalIdTokenResult *)object; - return FLTPigeonDeepEquals(self.token, other.token) && - FLTPigeonDeepEquals(self.expirationTimestamp, other.expirationTimestamp) && - FLTPigeonDeepEquals(self.authTimestamp, other.authTimestamp) && - FLTPigeonDeepEquals(self.issuedAtTimestamp, other.issuedAtTimestamp) && - FLTPigeonDeepEquals(self.signInProvider, other.signInProvider) && - FLTPigeonDeepEquals(self.claims, other.claims) && - FLTPigeonDeepEquals(self.signInSecondFactor, other.signInSecondFactor); -} - -- (NSUInteger)hash { - NSUInteger result = [self class].hash; - result = result * 31 + FLTPigeonDeepHash(self.token); - result = result * 31 + FLTPigeonDeepHash(self.expirationTimestamp); - result = result * 31 + FLTPigeonDeepHash(self.authTimestamp); - result = result * 31 + FLTPigeonDeepHash(self.issuedAtTimestamp); - result = result * 31 + FLTPigeonDeepHash(self.signInProvider); - result = result * 31 + FLTPigeonDeepHash(self.claims); - result = result * 31 + FLTPigeonDeepHash(self.signInSecondFactor); - return result; -} -@end - -@implementation InternalUserProfile -+ (instancetype)makeWithDisplayName:(nullable NSString *)displayName - photoUrl:(nullable NSString *)photoUrl - displayNameChanged:(BOOL)displayNameChanged - photoUrlChanged:(BOOL)photoUrlChanged { - InternalUserProfile *pigeonResult = [[InternalUserProfile alloc] init]; - pigeonResult.displayName = displayName; - pigeonResult.photoUrl = photoUrl; - pigeonResult.displayNameChanged = displayNameChanged; - pigeonResult.photoUrlChanged = photoUrlChanged; - return pigeonResult; -} -+ (InternalUserProfile *)fromList:(NSArray *)list { - InternalUserProfile *pigeonResult = [[InternalUserProfile alloc] init]; - pigeonResult.displayName = GetNullableObjectAtIndex(list, 0); - pigeonResult.photoUrl = GetNullableObjectAtIndex(list, 1); - pigeonResult.displayNameChanged = [GetNullableObjectAtIndex(list, 2) boolValue]; - pigeonResult.photoUrlChanged = [GetNullableObjectAtIndex(list, 3) boolValue]; - return pigeonResult; -} -+ (nullable InternalUserProfile *)nullableFromList:(NSArray *)list { - return (list) ? [InternalUserProfile fromList:list] : nil; -} -- (NSArray *)toList { - return @[ - self.displayName ?: [NSNull null], - self.photoUrl ?: [NSNull null], - @(self.displayNameChanged), - @(self.photoUrlChanged), - ]; -} -- (BOOL)isEqual:(id)object { - if (self == object) { - return YES; - } - if (![object isKindOfClass:[self class]]) { - return NO; - } - InternalUserProfile *other = (InternalUserProfile *)object; - return FLTPigeonDeepEquals(self.displayName, other.displayName) && - FLTPigeonDeepEquals(self.photoUrl, other.photoUrl) && - self.displayNameChanged == other.displayNameChanged && - self.photoUrlChanged == other.photoUrlChanged; -} - -- (NSUInteger)hash { - NSUInteger result = [self class].hash; - result = result * 31 + FLTPigeonDeepHash(self.displayName); - result = result * 31 + FLTPigeonDeepHash(self.photoUrl); - result = result * 31 + @(self.displayNameChanged).hash; - result = result * 31 + @(self.photoUrlChanged).hash; - return result; -} -@end - -@implementation InternalTotpSecret -+ (instancetype)makeWithCodeIntervalSeconds:(nullable NSNumber *)codeIntervalSeconds - codeLength:(nullable NSNumber *)codeLength - enrollmentCompletionDeadline:(nullable NSNumber *)enrollmentCompletionDeadline - hashingAlgorithm:(nullable NSString *)hashingAlgorithm - secretKey:(NSString *)secretKey { - InternalTotpSecret *pigeonResult = [[InternalTotpSecret alloc] init]; - pigeonResult.codeIntervalSeconds = codeIntervalSeconds; - pigeonResult.codeLength = codeLength; - pigeonResult.enrollmentCompletionDeadline = enrollmentCompletionDeadline; - pigeonResult.hashingAlgorithm = hashingAlgorithm; - pigeonResult.secretKey = secretKey; - return pigeonResult; -} -+ (InternalTotpSecret *)fromList:(NSArray *)list { - InternalTotpSecret *pigeonResult = [[InternalTotpSecret alloc] init]; - pigeonResult.codeIntervalSeconds = GetNullableObjectAtIndex(list, 0); - pigeonResult.codeLength = GetNullableObjectAtIndex(list, 1); - pigeonResult.enrollmentCompletionDeadline = GetNullableObjectAtIndex(list, 2); - pigeonResult.hashingAlgorithm = GetNullableObjectAtIndex(list, 3); - pigeonResult.secretKey = GetNullableObjectAtIndex(list, 4); - return pigeonResult; -} -+ (nullable InternalTotpSecret *)nullableFromList:(NSArray *)list { - return (list) ? [InternalTotpSecret fromList:list] : nil; -} -- (NSArray *)toList { - return @[ - self.codeIntervalSeconds ?: [NSNull null], - self.codeLength ?: [NSNull null], - self.enrollmentCompletionDeadline ?: [NSNull null], - self.hashingAlgorithm ?: [NSNull null], - self.secretKey ?: [NSNull null], - ]; -} -- (BOOL)isEqual:(id)object { - if (self == object) { - return YES; - } - if (![object isKindOfClass:[self class]]) { - return NO; - } - InternalTotpSecret *other = (InternalTotpSecret *)object; - return FLTPigeonDeepEquals(self.codeIntervalSeconds, other.codeIntervalSeconds) && - FLTPigeonDeepEquals(self.codeLength, other.codeLength) && - FLTPigeonDeepEquals(self.enrollmentCompletionDeadline, - other.enrollmentCompletionDeadline) && - FLTPigeonDeepEquals(self.hashingAlgorithm, other.hashingAlgorithm) && - FLTPigeonDeepEquals(self.secretKey, other.secretKey); -} - -- (NSUInteger)hash { - NSUInteger result = [self class].hash; - result = result * 31 + FLTPigeonDeepHash(self.codeIntervalSeconds); - result = result * 31 + FLTPigeonDeepHash(self.codeLength); - result = result * 31 + FLTPigeonDeepHash(self.enrollmentCompletionDeadline); - result = result * 31 + FLTPigeonDeepHash(self.hashingAlgorithm); - result = result * 31 + FLTPigeonDeepHash(self.secretKey); - return result; -} -@end - -@interface nullFirebaseAuthMessagesPigeonCodecReader : FlutterStandardReader -@end -@implementation nullFirebaseAuthMessagesPigeonCodecReader -- (nullable id)readValueOfType:(UInt8)type { - switch (type) { - case 129: { - NSNumber *enumAsNumber = [self readValue]; - return enumAsNumber == nil - ? nil - : [[ActionCodeInfoOperationBox alloc] initWithValue:[enumAsNumber integerValue]]; - } - case 130: - return [InternalMultiFactorSession fromList:[self readValue]]; - case 131: - return [InternalPhoneMultiFactorAssertion fromList:[self readValue]]; - case 132: - return [InternalMultiFactorInfo fromList:[self readValue]]; - case 133: - return [AuthPigeonFirebaseApp fromList:[self readValue]]; - case 134: - return [InternalActionCodeInfoData fromList:[self readValue]]; - case 135: - return [InternalActionCodeInfo fromList:[self readValue]]; - case 136: - return [InternalAdditionalUserInfo fromList:[self readValue]]; - case 137: - return [InternalAuthCredential fromList:[self readValue]]; - case 138: - return [InternalUserInfo fromList:[self readValue]]; - case 139: - return [InternalUserDetails fromList:[self readValue]]; - case 140: - return [InternalUserCredential fromList:[self readValue]]; - case 141: - return [InternalAuthCredentialInput fromList:[self readValue]]; - case 142: - return [InternalActionCodeSettings fromList:[self readValue]]; - case 143: - return [InternalFirebaseAuthSettings fromList:[self readValue]]; - case 144: - return [InternalSignInProvider fromList:[self readValue]]; - case 145: - return [InternalVerifyPhoneNumberRequest fromList:[self readValue]]; - case 146: - return [InternalIdTokenResult fromList:[self readValue]]; - case 147: - return [InternalUserProfile fromList:[self readValue]]; - case 148: - return [InternalTotpSecret fromList:[self readValue]]; - default: - return [super readValueOfType:type]; - } -} -@end - -@interface nullFirebaseAuthMessagesPigeonCodecWriter : FlutterStandardWriter -@end -@implementation nullFirebaseAuthMessagesPigeonCodecWriter -- (void)writeValue:(id)value { - if ([value isKindOfClass:[ActionCodeInfoOperationBox class]]) { - ActionCodeInfoOperationBox *box = (ActionCodeInfoOperationBox *)value; - [self writeByte:129]; - [self writeValue:(value == nil ? [NSNull null] : [NSNumber numberWithInteger:box.value])]; - } else if ([value isKindOfClass:[InternalMultiFactorSession class]]) { - [self writeByte:130]; - [self writeValue:[value toList]]; - } else if ([value isKindOfClass:[InternalPhoneMultiFactorAssertion class]]) { - [self writeByte:131]; - [self writeValue:[value toList]]; - } else if ([value isKindOfClass:[InternalMultiFactorInfo class]]) { - [self writeByte:132]; - [self writeValue:[value toList]]; - } else if ([value isKindOfClass:[AuthPigeonFirebaseApp class]]) { - [self writeByte:133]; - [self writeValue:[value toList]]; - } else if ([value isKindOfClass:[InternalActionCodeInfoData class]]) { - [self writeByte:134]; - [self writeValue:[value toList]]; - } else if ([value isKindOfClass:[InternalActionCodeInfo class]]) { - [self writeByte:135]; - [self writeValue:[value toList]]; - } else if ([value isKindOfClass:[InternalAdditionalUserInfo class]]) { - [self writeByte:136]; - [self writeValue:[value toList]]; - } else if ([value isKindOfClass:[InternalAuthCredential class]]) { - [self writeByte:137]; - [self writeValue:[value toList]]; - } else if ([value isKindOfClass:[InternalUserInfo class]]) { - [self writeByte:138]; - [self writeValue:[value toList]]; - } else if ([value isKindOfClass:[InternalUserDetails class]]) { - [self writeByte:139]; - [self writeValue:[value toList]]; - } else if ([value isKindOfClass:[InternalUserCredential class]]) { - [self writeByte:140]; - [self writeValue:[value toList]]; - } else if ([value isKindOfClass:[InternalAuthCredentialInput class]]) { - [self writeByte:141]; - [self writeValue:[value toList]]; - } else if ([value isKindOfClass:[InternalActionCodeSettings class]]) { - [self writeByte:142]; - [self writeValue:[value toList]]; - } else if ([value isKindOfClass:[InternalFirebaseAuthSettings class]]) { - [self writeByte:143]; - [self writeValue:[value toList]]; - } else if ([value isKindOfClass:[InternalSignInProvider class]]) { - [self writeByte:144]; - [self writeValue:[value toList]]; - } else if ([value isKindOfClass:[InternalVerifyPhoneNumberRequest class]]) { - [self writeByte:145]; - [self writeValue:[value toList]]; - } else if ([value isKindOfClass:[InternalIdTokenResult class]]) { - [self writeByte:146]; - [self writeValue:[value toList]]; - } else if ([value isKindOfClass:[InternalUserProfile class]]) { - [self writeByte:147]; - [self writeValue:[value toList]]; - } else if ([value isKindOfClass:[InternalTotpSecret class]]) { - [self writeByte:148]; - [self writeValue:[value toList]]; - } else { - [super writeValue:value]; - } -} -@end - -@interface nullFirebaseAuthMessagesPigeonCodecReaderWriter : FlutterStandardReaderWriter -@end -@implementation nullFirebaseAuthMessagesPigeonCodecReaderWriter -- (FlutterStandardWriter *)writerWithData:(NSMutableData *)data { - return [[nullFirebaseAuthMessagesPigeonCodecWriter alloc] initWithData:data]; -} -- (FlutterStandardReader *)readerWithData:(NSData *)data { - return [[nullFirebaseAuthMessagesPigeonCodecReader alloc] initWithData:data]; -} -@end - -NSObject *nullGetFirebaseAuthMessagesCodec(void) { - static FlutterStandardMessageCodec *sSharedObject = nil; - static dispatch_once_t sPred = 0; - dispatch_once(&sPred, ^{ - nullFirebaseAuthMessagesPigeonCodecReaderWriter *readerWriter = - [[nullFirebaseAuthMessagesPigeonCodecReaderWriter alloc] init]; - sSharedObject = [FlutterStandardMessageCodec codecWithReaderWriter:readerWriter]; - }); - return sSharedObject; -} -void SetUpFirebaseAuthHostApi(id binaryMessenger, - NSObject *api) { - SetUpFirebaseAuthHostApiWithSuffix(binaryMessenger, api, @""); -} - -void SetUpFirebaseAuthHostApiWithSuffix(id binaryMessenger, - NSObject *api, - NSString *messageChannelSuffix) { - messageChannelSuffix = messageChannelSuffix.length > 0 - ? [NSString stringWithFormat:@".%@", messageChannelSuffix] - : @""; - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString - stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_interface." - @"FirebaseAuthHostApi.registerIdTokenListener", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert([api respondsToSelector:@selector(registerIdTokenListenerApp:completion:)], - @"FirebaseAuthHostApi api (%@) doesn't respond to " - @"@selector(registerIdTokenListenerApp:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - [api registerIdTokenListenerApp:arg_app - completion:^(NSString *_Nullable output, - FlutterError *_Nullable error) { - callback(wrapResult(output, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString - stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_interface." - @"FirebaseAuthHostApi.registerAuthStateListener", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert([api respondsToSelector:@selector(registerAuthStateListenerApp:completion:)], - @"FirebaseAuthHostApi api (%@) doesn't respond to " - @"@selector(registerAuthStateListenerApp:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - [api registerAuthStateListenerApp:arg_app - completion:^(NSString *_Nullable output, - FlutterError *_Nullable error) { - callback(wrapResult(output, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_" - @"interface.FirebaseAuthHostApi.useEmulator", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert([api respondsToSelector:@selector(useEmulatorApp:host:port:completion:)], - @"FirebaseAuthHostApi api (%@) doesn't respond to " - @"@selector(useEmulatorApp:host:port:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - NSString *arg_host = GetNullableObjectAtIndex(args, 1); - NSInteger arg_port = [GetNullableObjectAtIndex(args, 2) integerValue]; - [api useEmulatorApp:arg_app - host:arg_host - port:arg_port - completion:^(FlutterError *_Nullable error) { - callback(wrapResult(nil, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_" - @"interface.FirebaseAuthHostApi.applyActionCode", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert([api respondsToSelector:@selector(applyActionCodeApp:code:completion:)], - @"FirebaseAuthHostApi api (%@) doesn't respond to " - @"@selector(applyActionCodeApp:code:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - NSString *arg_code = GetNullableObjectAtIndex(args, 1); - [api applyActionCodeApp:arg_app - code:arg_code - completion:^(FlutterError *_Nullable error) { - callback(wrapResult(nil, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_" - @"interface.FirebaseAuthHostApi.checkActionCode", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert([api respondsToSelector:@selector(checkActionCodeApp:code:completion:)], - @"FirebaseAuthHostApi api (%@) doesn't respond to " - @"@selector(checkActionCodeApp:code:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - NSString *arg_code = GetNullableObjectAtIndex(args, 1); - [api checkActionCodeApp:arg_app - code:arg_code - completion:^(InternalActionCodeInfo *_Nullable output, - FlutterError *_Nullable error) { - callback(wrapResult(output, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString - stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_interface." - @"FirebaseAuthHostApi.confirmPasswordReset", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert( - [api respondsToSelector:@selector(confirmPasswordResetApp:code:newPassword:completion:)], - @"FirebaseAuthHostApi api (%@) doesn't respond to " - @"@selector(confirmPasswordResetApp:code:newPassword:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - NSString *arg_code = GetNullableObjectAtIndex(args, 1); - NSString *arg_newPassword = GetNullableObjectAtIndex(args, 2); - [api confirmPasswordResetApp:arg_app - code:arg_code - newPassword:arg_newPassword - completion:^(FlutterError *_Nullable error) { - callback(wrapResult(nil, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString - stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_interface." - @"FirebaseAuthHostApi.createUserWithEmailAndPassword", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert( - [api - respondsToSelector:@selector( - createUserWithEmailAndPasswordApp:email:password:completion:)], - @"FirebaseAuthHostApi api (%@) doesn't respond to " - @"@selector(createUserWithEmailAndPasswordApp:email:password:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - NSString *arg_email = GetNullableObjectAtIndex(args, 1); - NSString *arg_password = GetNullableObjectAtIndex(args, 2); - [api createUserWithEmailAndPasswordApp:arg_app - email:arg_email - password:arg_password - completion:^(InternalUserCredential *_Nullable output, - FlutterError *_Nullable error) { - callback(wrapResult(output, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString - stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_interface." - @"FirebaseAuthHostApi.signInAnonymously", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert([api respondsToSelector:@selector(signInAnonymouslyApp:completion:)], - @"FirebaseAuthHostApi api (%@) doesn't respond to " - @"@selector(signInAnonymouslyApp:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - [api signInAnonymouslyApp:arg_app - completion:^(InternalUserCredential *_Nullable output, - FlutterError *_Nullable error) { - callback(wrapResult(output, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString - stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_interface." - @"FirebaseAuthHostApi.signInWithCredential", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert([api respondsToSelector:@selector(signInWithCredentialApp:input:completion:)], - @"FirebaseAuthHostApi api (%@) doesn't respond to " - @"@selector(signInWithCredentialApp:input:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - NSDictionary *arg_input = GetNullableObjectAtIndex(args, 1); - [api signInWithCredentialApp:arg_app - input:arg_input - completion:^(InternalUserCredential *_Nullable output, - FlutterError *_Nullable error) { - callback(wrapResult(output, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString - stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_interface." - @"FirebaseAuthHostApi.signInWithCustomToken", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert([api respondsToSelector:@selector(signInWithCustomTokenApp:token:completion:)], - @"FirebaseAuthHostApi api (%@) doesn't respond to " - @"@selector(signInWithCustomTokenApp:token:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - NSString *arg_token = GetNullableObjectAtIndex(args, 1); - [api signInWithCustomTokenApp:arg_app - token:arg_token - completion:^(InternalUserCredential *_Nullable output, - FlutterError *_Nullable error) { - callback(wrapResult(output, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString - stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_interface." - @"FirebaseAuthHostApi.signInWithEmailAndPassword", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert( - [api respondsToSelector:@selector( - signInWithEmailAndPasswordApp:email:password:completion:)], - @"FirebaseAuthHostApi api (%@) doesn't respond to " - @"@selector(signInWithEmailAndPasswordApp:email:password:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - NSString *arg_email = GetNullableObjectAtIndex(args, 1); - NSString *arg_password = GetNullableObjectAtIndex(args, 2); - [api signInWithEmailAndPasswordApp:arg_app - email:arg_email - password:arg_password - completion:^(InternalUserCredential *_Nullable output, - FlutterError *_Nullable error) { - callback(wrapResult(output, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString - stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_interface." - @"FirebaseAuthHostApi.signInWithEmailLink", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert( - [api respondsToSelector:@selector(signInWithEmailLinkApp:email:emailLink:completion:)], - @"FirebaseAuthHostApi api (%@) doesn't respond to " - @"@selector(signInWithEmailLinkApp:email:emailLink:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - NSString *arg_email = GetNullableObjectAtIndex(args, 1); - NSString *arg_emailLink = GetNullableObjectAtIndex(args, 2); - [api signInWithEmailLinkApp:arg_app - email:arg_email - emailLink:arg_emailLink - completion:^(InternalUserCredential *_Nullable output, - FlutterError *_Nullable error) { - callback(wrapResult(output, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString - stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_interface." - @"FirebaseAuthHostApi.signInWithProvider", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert( - [api respondsToSelector:@selector(signInWithProviderApp:signInProvider:completion:)], - @"FirebaseAuthHostApi api (%@) doesn't respond to " - @"@selector(signInWithProviderApp:signInProvider:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - InternalSignInProvider *arg_signInProvider = GetNullableObjectAtIndex(args, 1); - [api signInWithProviderApp:arg_app - signInProvider:arg_signInProvider - completion:^(InternalUserCredential *_Nullable output, - FlutterError *_Nullable error) { - callback(wrapResult(output, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_" - @"interface.FirebaseAuthHostApi.signOut", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert( - [api respondsToSelector:@selector(signOutApp:completion:)], - @"FirebaseAuthHostApi api (%@) doesn't respond to @selector(signOutApp:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - [api signOutApp:arg_app - completion:^(FlutterError *_Nullable error) { - callback(wrapResult(nil, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString - stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_interface." - @"FirebaseAuthHostApi.fetchSignInMethodsForEmail", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert([api respondsToSelector:@selector(fetchSignInMethodsForEmailApp:email:completion:)], - @"FirebaseAuthHostApi api (%@) doesn't respond to " - @"@selector(fetchSignInMethodsForEmailApp:email:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - NSString *arg_email = GetNullableObjectAtIndex(args, 1); - [api fetchSignInMethodsForEmailApp:arg_app - email:arg_email - completion:^(NSArray *_Nullable output, - FlutterError *_Nullable error) { - callback(wrapResult(output, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString - stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_interface." - @"FirebaseAuthHostApi.sendPasswordResetEmail", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert([api respondsToSelector: - @selector(sendPasswordResetEmailApp:email:actionCodeSettings:completion:)], - @"FirebaseAuthHostApi api (%@) doesn't respond to " - @"@selector(sendPasswordResetEmailApp:email:actionCodeSettings:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - NSString *arg_email = GetNullableObjectAtIndex(args, 1); - InternalActionCodeSettings *arg_actionCodeSettings = GetNullableObjectAtIndex(args, 2); - [api sendPasswordResetEmailApp:arg_app - email:arg_email - actionCodeSettings:arg_actionCodeSettings - completion:^(FlutterError *_Nullable error) { - callback(wrapResult(nil, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString - stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_interface." - @"FirebaseAuthHostApi.sendSignInLinkToEmail", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert([api respondsToSelector: - @selector(sendSignInLinkToEmailApp:email:actionCodeSettings:completion:)], - @"FirebaseAuthHostApi api (%@) doesn't respond to " - @"@selector(sendSignInLinkToEmailApp:email:actionCodeSettings:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - NSString *arg_email = GetNullableObjectAtIndex(args, 1); - InternalActionCodeSettings *arg_actionCodeSettings = GetNullableObjectAtIndex(args, 2); - [api sendSignInLinkToEmailApp:arg_app - email:arg_email - actionCodeSettings:arg_actionCodeSettings - completion:^(FlutterError *_Nullable error) { - callback(wrapResult(nil, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_" - @"interface.FirebaseAuthHostApi.setLanguageCode", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert([api respondsToSelector:@selector(setLanguageCodeApp:languageCode:completion:)], - @"FirebaseAuthHostApi api (%@) doesn't respond to " - @"@selector(setLanguageCodeApp:languageCode:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - NSString *arg_languageCode = GetNullableObjectAtIndex(args, 1); - [api setLanguageCodeApp:arg_app - languageCode:arg_languageCode - completion:^(NSString *_Nullable output, FlutterError *_Nullable error) { - callback(wrapResult(output, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_" - @"interface.FirebaseAuthHostApi.setSettings", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert([api respondsToSelector:@selector(setSettingsApp:settings:completion:)], - @"FirebaseAuthHostApi api (%@) doesn't respond to " - @"@selector(setSettingsApp:settings:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - InternalFirebaseAuthSettings *arg_settings = GetNullableObjectAtIndex(args, 1); - [api setSettingsApp:arg_app - settings:arg_settings - completion:^(FlutterError *_Nullable error) { - callback(wrapResult(nil, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString - stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_interface." - @"FirebaseAuthHostApi.verifyPasswordResetCode", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert([api respondsToSelector:@selector(verifyPasswordResetCodeApp:code:completion:)], - @"FirebaseAuthHostApi api (%@) doesn't respond to " - @"@selector(verifyPasswordResetCodeApp:code:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - NSString *arg_code = GetNullableObjectAtIndex(args, 1); - [api verifyPasswordResetCodeApp:arg_app - code:arg_code - completion:^(NSString *_Nullable output, - FlutterError *_Nullable error) { - callback(wrapResult(output, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString - stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_interface." - @"FirebaseAuthHostApi.verifyPhoneNumber", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert([api respondsToSelector:@selector(verifyPhoneNumberApp:request:completion:)], - @"FirebaseAuthHostApi api (%@) doesn't respond to " - @"@selector(verifyPhoneNumberApp:request:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - InternalVerifyPhoneNumberRequest *arg_request = GetNullableObjectAtIndex(args, 1); - [api verifyPhoneNumberApp:arg_app - request:arg_request - completion:^(NSString *_Nullable output, FlutterError *_Nullable error) { - callback(wrapResult(output, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName: - [NSString stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_interface." - @"FirebaseAuthHostApi.revokeTokenWithAuthorizationCode", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert([api respondsToSelector:@selector(revokeTokenWithAuthorizationCodeApp: - authorizationCode:completion:)], - @"FirebaseAuthHostApi api (%@) doesn't respond to " - @"@selector(revokeTokenWithAuthorizationCodeApp:authorizationCode:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - NSString *arg_authorizationCode = GetNullableObjectAtIndex(args, 1); - [api revokeTokenWithAuthorizationCodeApp:arg_app - authorizationCode:arg_authorizationCode - completion:^(FlutterError *_Nullable error) { - callback(wrapResult(nil, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString - stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_interface." - @"FirebaseAuthHostApi.revokeAccessToken", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert([api respondsToSelector:@selector(revokeAccessTokenApp:accessToken:completion:)], - @"FirebaseAuthHostApi api (%@) doesn't respond to " - @"@selector(revokeAccessTokenApp:accessToken:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - NSString *arg_accessToken = GetNullableObjectAtIndex(args, 1); - [api revokeAccessTokenApp:arg_app - accessToken:arg_accessToken - completion:^(FlutterError *_Nullable error) { - callback(wrapResult(nil, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString - stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_interface." - @"FirebaseAuthHostApi.initializeRecaptchaConfig", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert([api respondsToSelector:@selector(initializeRecaptchaConfigApp:completion:)], - @"FirebaseAuthHostApi api (%@) doesn't respond to " - @"@selector(initializeRecaptchaConfigApp:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - [api initializeRecaptchaConfigApp:arg_app - completion:^(FlutterError *_Nullable error) { - callback(wrapResult(nil, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } -} -void SetUpFirebaseAuthUserHostApi(id binaryMessenger, - NSObject *api) { - SetUpFirebaseAuthUserHostApiWithSuffix(binaryMessenger, api, @""); -} - -void SetUpFirebaseAuthUserHostApiWithSuffix(id binaryMessenger, - NSObject *api, - NSString *messageChannelSuffix) { - messageChannelSuffix = messageChannelSuffix.length > 0 - ? [NSString stringWithFormat:@".%@", messageChannelSuffix] - : @""; - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_" - @"interface.FirebaseAuthUserHostApi.delete", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert( - [api respondsToSelector:@selector(deleteApp:completion:)], - @"FirebaseAuthUserHostApi api (%@) doesn't respond to @selector(deleteApp:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - [api deleteApp:arg_app - completion:^(FlutterError *_Nullable error) { - callback(wrapResult(nil, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_" - @"interface.FirebaseAuthUserHostApi.getIdToken", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert([api respondsToSelector:@selector(getIdTokenApp:forceRefresh:completion:)], - @"FirebaseAuthUserHostApi api (%@) doesn't respond to " - @"@selector(getIdTokenApp:forceRefresh:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - BOOL arg_forceRefresh = [GetNullableObjectAtIndex(args, 1) boolValue]; - [api getIdTokenApp:arg_app - forceRefresh:arg_forceRefresh - completion:^(InternalIdTokenResult *_Nullable output, - FlutterError *_Nullable error) { - callback(wrapResult(output, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString - stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_interface." - @"FirebaseAuthUserHostApi.linkWithCredential", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert([api respondsToSelector:@selector(linkWithCredentialApp:input:completion:)], - @"FirebaseAuthUserHostApi api (%@) doesn't respond to " - @"@selector(linkWithCredentialApp:input:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - NSDictionary *arg_input = GetNullableObjectAtIndex(args, 1); - [api linkWithCredentialApp:arg_app - input:arg_input - completion:^(InternalUserCredential *_Nullable output, - FlutterError *_Nullable error) { - callback(wrapResult(output, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString - stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_interface." - @"FirebaseAuthUserHostApi.linkWithProvider", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert([api respondsToSelector:@selector(linkWithProviderApp:signInProvider:completion:)], - @"FirebaseAuthUserHostApi api (%@) doesn't respond to " - @"@selector(linkWithProviderApp:signInProvider:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - InternalSignInProvider *arg_signInProvider = GetNullableObjectAtIndex(args, 1); - [api linkWithProviderApp:arg_app - signInProvider:arg_signInProvider - completion:^(InternalUserCredential *_Nullable output, - FlutterError *_Nullable error) { - callback(wrapResult(output, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName: - [NSString stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_interface." - @"FirebaseAuthUserHostApi.reauthenticateWithCredential", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert( - [api respondsToSelector:@selector(reauthenticateWithCredentialApp:input:completion:)], - @"FirebaseAuthUserHostApi api (%@) doesn't respond to " - @"@selector(reauthenticateWithCredentialApp:input:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - NSDictionary *arg_input = GetNullableObjectAtIndex(args, 1); - [api reauthenticateWithCredentialApp:arg_app - input:arg_input - completion:^(InternalUserCredential *_Nullable output, - FlutterError *_Nullable error) { - callback(wrapResult(output, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString - stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_interface." - @"FirebaseAuthUserHostApi.reauthenticateWithProvider", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert( - [api respondsToSelector:@selector( - reauthenticateWithProviderApp:signInProvider:completion:)], - @"FirebaseAuthUserHostApi api (%@) doesn't respond to " - @"@selector(reauthenticateWithProviderApp:signInProvider:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - InternalSignInProvider *arg_signInProvider = GetNullableObjectAtIndex(args, 1); - [api reauthenticateWithProviderApp:arg_app - signInProvider:arg_signInProvider - completion:^(InternalUserCredential *_Nullable output, - FlutterError *_Nullable error) { - callback(wrapResult(output, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_" - @"interface.FirebaseAuthUserHostApi.reload", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert( - [api respondsToSelector:@selector(reloadApp:completion:)], - @"FirebaseAuthUserHostApi api (%@) doesn't respond to @selector(reloadApp:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - [api reloadApp:arg_app - completion:^(InternalUserDetails *_Nullable output, FlutterError *_Nullable error) { - callback(wrapResult(output, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString - stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_interface." - @"FirebaseAuthUserHostApi.sendEmailVerification", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert( - [api respondsToSelector:@selector( - sendEmailVerificationApp:actionCodeSettings:completion:)], - @"FirebaseAuthUserHostApi api (%@) doesn't respond to " - @"@selector(sendEmailVerificationApp:actionCodeSettings:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - InternalActionCodeSettings *arg_actionCodeSettings = GetNullableObjectAtIndex(args, 1); - [api sendEmailVerificationApp:arg_app - actionCodeSettings:arg_actionCodeSettings - completion:^(FlutterError *_Nullable error) { - callback(wrapResult(nil, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_" - @"interface.FirebaseAuthUserHostApi.unlink", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert([api respondsToSelector:@selector(unlinkApp:providerId:completion:)], - @"FirebaseAuthUserHostApi api (%@) doesn't respond to " - @"@selector(unlinkApp:providerId:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - NSString *arg_providerId = GetNullableObjectAtIndex(args, 1); - [api unlinkApp:arg_app - providerId:arg_providerId - completion:^(InternalUserCredential *_Nullable output, FlutterError *_Nullable error) { - callback(wrapResult(output, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_" - @"interface.FirebaseAuthUserHostApi.updateEmail", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert([api respondsToSelector:@selector(updateEmailApp:newEmail:completion:)], - @"FirebaseAuthUserHostApi api (%@) doesn't respond to " - @"@selector(updateEmailApp:newEmail:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - NSString *arg_newEmail = GetNullableObjectAtIndex(args, 1); - [api - updateEmailApp:arg_app - newEmail:arg_newEmail - completion:^(InternalUserDetails *_Nullable output, FlutterError *_Nullable error) { - callback(wrapResult(output, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString - stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_interface." - @"FirebaseAuthUserHostApi.updatePassword", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert([api respondsToSelector:@selector(updatePasswordApp:newPassword:completion:)], - @"FirebaseAuthUserHostApi api (%@) doesn't respond to " - @"@selector(updatePasswordApp:newPassword:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - NSString *arg_newPassword = GetNullableObjectAtIndex(args, 1); - [api updatePasswordApp:arg_app - newPassword:arg_newPassword - completion:^(InternalUserDetails *_Nullable output, - FlutterError *_Nullable error) { - callback(wrapResult(output, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString - stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_interface." - @"FirebaseAuthUserHostApi.updatePhoneNumber", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert([api respondsToSelector:@selector(updatePhoneNumberApp:input:completion:)], - @"FirebaseAuthUserHostApi api (%@) doesn't respond to " - @"@selector(updatePhoneNumberApp:input:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - NSDictionary *arg_input = GetNullableObjectAtIndex(args, 1); - [api updatePhoneNumberApp:arg_app - input:arg_input - completion:^(InternalUserDetails *_Nullable output, - FlutterError *_Nullable error) { - callback(wrapResult(output, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString - stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_interface." - @"FirebaseAuthUserHostApi.updateProfile", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert([api respondsToSelector:@selector(updateProfileApp:profile:completion:)], - @"FirebaseAuthUserHostApi api (%@) doesn't respond to " - @"@selector(updateProfileApp:profile:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - InternalUserProfile *arg_profile = GetNullableObjectAtIndex(args, 1); - [api updateProfileApp:arg_app - profile:arg_profile - completion:^(InternalUserDetails *_Nullable output, - FlutterError *_Nullable error) { - callback(wrapResult(output, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString - stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_interface." - @"FirebaseAuthUserHostApi.verifyBeforeUpdateEmail", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert([api respondsToSelector:@selector(verifyBeforeUpdateEmailApp:newEmail: - actionCodeSettings:completion:)], - @"FirebaseAuthUserHostApi api (%@) doesn't respond to " - @"@selector(verifyBeforeUpdateEmailApp:newEmail:actionCodeSettings:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - NSString *arg_newEmail = GetNullableObjectAtIndex(args, 1); - InternalActionCodeSettings *arg_actionCodeSettings = GetNullableObjectAtIndex(args, 2); - [api verifyBeforeUpdateEmailApp:arg_app - newEmail:arg_newEmail - actionCodeSettings:arg_actionCodeSettings - completion:^(FlutterError *_Nullable error) { - callback(wrapResult(nil, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } -} -void SetUpMultiFactorUserHostApi(id binaryMessenger, - NSObject *api) { - SetUpMultiFactorUserHostApiWithSuffix(binaryMessenger, api, @""); -} - -void SetUpMultiFactorUserHostApiWithSuffix(id binaryMessenger, - NSObject *api, - NSString *messageChannelSuffix) { - messageChannelSuffix = messageChannelSuffix.length > 0 - ? [NSString stringWithFormat:@".%@", messageChannelSuffix] - : @""; - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_" - @"interface.MultiFactorUserHostApi.enrollPhone", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert( - [api respondsToSelector:@selector(enrollPhoneApp:assertion:displayName:completion:)], - @"MultiFactorUserHostApi api (%@) doesn't respond to " - @"@selector(enrollPhoneApp:assertion:displayName:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - InternalPhoneMultiFactorAssertion *arg_assertion = GetNullableObjectAtIndex(args, 1); - NSString *arg_displayName = GetNullableObjectAtIndex(args, 2); - [api enrollPhoneApp:arg_app - assertion:arg_assertion - displayName:arg_displayName - completion:^(FlutterError *_Nullable error) { - callback(wrapResult(nil, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_" - @"interface.MultiFactorUserHostApi.enrollTotp", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert( - [api respondsToSelector:@selector(enrollTotpApp:assertionId:displayName:completion:)], - @"MultiFactorUserHostApi api (%@) doesn't respond to " - @"@selector(enrollTotpApp:assertionId:displayName:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - NSString *arg_assertionId = GetNullableObjectAtIndex(args, 1); - NSString *arg_displayName = GetNullableObjectAtIndex(args, 2); - [api enrollTotpApp:arg_app - assertionId:arg_assertionId - displayName:arg_displayName - completion:^(FlutterError *_Nullable error) { - callback(wrapResult(nil, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_" - @"interface.MultiFactorUserHostApi.getSession", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert([api respondsToSelector:@selector(getSessionApp:completion:)], - @"MultiFactorUserHostApi api (%@) doesn't respond to " - @"@selector(getSessionApp:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - [api getSessionApp:arg_app - completion:^(InternalMultiFactorSession *_Nullable output, - FlutterError *_Nullable error) { - callback(wrapResult(output, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_" - @"interface.MultiFactorUserHostApi.unenroll", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert([api respondsToSelector:@selector(unenrollApp:factorUid:completion:)], - @"MultiFactorUserHostApi api (%@) doesn't respond to " - @"@selector(unenrollApp:factorUid:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - NSString *arg_factorUid = GetNullableObjectAtIndex(args, 1); - [api unenrollApp:arg_app - factorUid:arg_factorUid - completion:^(FlutterError *_Nullable error) { - callback(wrapResult(nil, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString - stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_interface." - @"MultiFactorUserHostApi.getEnrolledFactors", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert([api respondsToSelector:@selector(getEnrolledFactorsApp:completion:)], - @"MultiFactorUserHostApi api (%@) doesn't respond to " - @"@selector(getEnrolledFactorsApp:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - [api getEnrolledFactorsApp:arg_app - completion:^(NSArray *_Nullable output, - FlutterError *_Nullable error) { - callback(wrapResult(output, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } -} -void SetUpMultiFactoResolverHostApi(id binaryMessenger, - NSObject *api) { - SetUpMultiFactoResolverHostApiWithSuffix(binaryMessenger, api, @""); -} - -void SetUpMultiFactoResolverHostApiWithSuffix(id binaryMessenger, - NSObject *api, - NSString *messageChannelSuffix) { - messageChannelSuffix = messageChannelSuffix.length > 0 - ? [NSString stringWithFormat:@".%@", messageChannelSuffix] - : @""; - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString - stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_interface." - @"MultiFactoResolverHostApi.resolveSignIn", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert([api respondsToSelector: - @selector(resolveSignInResolverId:assertion:totpAssertionId:completion:)], - @"MultiFactoResolverHostApi api (%@) doesn't respond to " - @"@selector(resolveSignInResolverId:assertion:totpAssertionId:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - NSString *arg_resolverId = GetNullableObjectAtIndex(args, 0); - InternalPhoneMultiFactorAssertion *arg_assertion = GetNullableObjectAtIndex(args, 1); - NSString *arg_totpAssertionId = GetNullableObjectAtIndex(args, 2); - [api resolveSignInResolverId:arg_resolverId - assertion:arg_assertion - totpAssertionId:arg_totpAssertionId - completion:^(InternalUserCredential *_Nullable output, - FlutterError *_Nullable error) { - callback(wrapResult(output, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } -} -void SetUpMultiFactorTotpHostApi(id binaryMessenger, - NSObject *api) { - SetUpMultiFactorTotpHostApiWithSuffix(binaryMessenger, api, @""); -} - -void SetUpMultiFactorTotpHostApiWithSuffix(id binaryMessenger, - NSObject *api, - NSString *messageChannelSuffix) { - messageChannelSuffix = messageChannelSuffix.length > 0 - ? [NSString stringWithFormat:@".%@", messageChannelSuffix] - : @""; - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString - stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_interface." - @"MultiFactorTotpHostApi.generateSecret", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert([api respondsToSelector:@selector(generateSecretSessionId:completion:)], - @"MultiFactorTotpHostApi api (%@) doesn't respond to " - @"@selector(generateSecretSessionId:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - NSString *arg_sessionId = GetNullableObjectAtIndex(args, 0); - [api generateSecretSessionId:arg_sessionId - completion:^(InternalTotpSecret *_Nullable output, - FlutterError *_Nullable error) { - callback(wrapResult(output, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString - stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_interface." - @"MultiFactorTotpHostApi.getAssertionForEnrollment", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert([api respondsToSelector: - @selector(getAssertionForEnrollmentSecretKey:oneTimePassword:completion:)], - @"MultiFactorTotpHostApi api (%@) doesn't respond to " - @"@selector(getAssertionForEnrollmentSecretKey:oneTimePassword:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - NSString *arg_secretKey = GetNullableObjectAtIndex(args, 0); - NSString *arg_oneTimePassword = GetNullableObjectAtIndex(args, 1); - [api getAssertionForEnrollmentSecretKey:arg_secretKey - oneTimePassword:arg_oneTimePassword - completion:^(NSString *_Nullable output, - FlutterError *_Nullable error) { - callback(wrapResult(output, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString - stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_interface." - @"MultiFactorTotpHostApi.getAssertionForSignIn", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert([api respondsToSelector: - @selector(getAssertionForSignInEnrollmentId:oneTimePassword:completion:)], - @"MultiFactorTotpHostApi api (%@) doesn't respond to " - @"@selector(getAssertionForSignInEnrollmentId:oneTimePassword:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - NSString *arg_enrollmentId = GetNullableObjectAtIndex(args, 0); - NSString *arg_oneTimePassword = GetNullableObjectAtIndex(args, 1); - [api getAssertionForSignInEnrollmentId:arg_enrollmentId - oneTimePassword:arg_oneTimePassword - completion:^(NSString *_Nullable output, - FlutterError *_Nullable error) { - callback(wrapResult(output, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } -} -void SetUpMultiFactorTotpSecretHostApi(id binaryMessenger, - NSObject *api) { - SetUpMultiFactorTotpSecretHostApiWithSuffix(binaryMessenger, api, @""); -} - -void SetUpMultiFactorTotpSecretHostApiWithSuffix(id binaryMessenger, - NSObject *api, - NSString *messageChannelSuffix) { - messageChannelSuffix = messageChannelSuffix.length > 0 - ? [NSString stringWithFormat:@".%@", messageChannelSuffix] - : @""; - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString - stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_interface." - @"MultiFactorTotpSecretHostApi.generateQrCodeUrl", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert( - [api respondsToSelector:@selector( - generateQrCodeUrlSecretKey:accountName:issuer:completion:)], - @"MultiFactorTotpSecretHostApi api (%@) doesn't respond to " - @"@selector(generateQrCodeUrlSecretKey:accountName:issuer:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - NSString *arg_secretKey = GetNullableObjectAtIndex(args, 0); - NSString *arg_accountName = GetNullableObjectAtIndex(args, 1); - NSString *arg_issuer = GetNullableObjectAtIndex(args, 2); - [api generateQrCodeUrlSecretKey:arg_secretKey - accountName:arg_accountName - issuer:arg_issuer - completion:^(NSString *_Nullable output, - FlutterError *_Nullable error) { - callback(wrapResult(output, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString - stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_interface." - @"MultiFactorTotpSecretHostApi.openInOtpApp", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert([api respondsToSelector:@selector(openInOtpAppSecretKey:qrCodeUrl:completion:)], - @"MultiFactorTotpSecretHostApi api (%@) doesn't respond to " - @"@selector(openInOtpAppSecretKey:qrCodeUrl:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - NSString *arg_secretKey = GetNullableObjectAtIndex(args, 0); - NSString *arg_qrCodeUrl = GetNullableObjectAtIndex(args, 1); - [api openInOtpAppSecretKey:arg_secretKey - qrCodeUrl:arg_qrCodeUrl - completion:^(FlutterError *_Nullable error) { - callback(wrapResult(nil, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } -} -void SetUpGenerateInterfaces(id binaryMessenger, - NSObject *api) { - SetUpGenerateInterfacesWithSuffix(binaryMessenger, api, @""); -} - -void SetUpGenerateInterfacesWithSuffix(id binaryMessenger, - NSObject *api, - NSString *messageChannelSuffix) { - messageChannelSuffix = messageChannelSuffix.length > 0 - ? [NSString stringWithFormat:@".%@", messageChannelSuffix] - : @""; - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_" - @"interface.GenerateInterfaces.pigeonInterface", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert( - [api respondsToSelector:@selector(pigeonInterfaceInfo:error:)], - @"GenerateInterfaces api (%@) doesn't respond to @selector(pigeonInterfaceInfo:error:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - InternalMultiFactorInfo *arg_info = GetNullableObjectAtIndex(args, 0); - FlutterError *error; - [api pigeonInterfaceInfo:arg_info error:&error]; - callback(wrapResult(nil, error)); - }]; - } else { - [channel setMessageHandler:nil]; - } - } -} diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/ios/firebase_auth/Sources/firebase_auth/include/Private/FLTAuthStateChannelStreamHandler.h b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/ios/firebase_auth/Sources/firebase_auth/include/Private/FLTAuthStateChannelStreamHandler.h deleted file mode 100644 index 7b7efae7..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/ios/firebase_auth/Sources/firebase_auth/include/Private/FLTAuthStateChannelStreamHandler.h +++ /dev/null @@ -1,26 +0,0 @@ -// Copyright 2021 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#import - -#if TARGET_OS_OSX -#import -#else -#import -#endif - -#import -#import "../Public/CustomPigeonHeader.h" - -@class FIRAuth; - -NS_ASSUME_NONNULL_BEGIN - -@interface FLTAuthStateChannelStreamHandler : NSObject - -- (instancetype)initWithAuth:(FIRAuth *)auth; - -@end - -NS_ASSUME_NONNULL_END diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/ios/firebase_auth/Sources/firebase_auth/include/Private/FLTIdTokenChannelStreamHandler.h b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/ios/firebase_auth/Sources/firebase_auth/include/Private/FLTIdTokenChannelStreamHandler.h deleted file mode 100644 index c1660499..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/ios/firebase_auth/Sources/firebase_auth/include/Private/FLTIdTokenChannelStreamHandler.h +++ /dev/null @@ -1,27 +0,0 @@ -// Copyright 2021 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#import - -#if TARGET_OS_OSX -#import -#else -#import -#endif - -#import "../Public/CustomPigeonHeader.h" - -#import - -@class FIRAuth; - -NS_ASSUME_NONNULL_BEGIN - -@interface FLTIdTokenChannelStreamHandler : NSObject - -- (instancetype)initWithAuth:(FIRAuth *)auth; - -@end - -NS_ASSUME_NONNULL_END diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/ios/firebase_auth/Sources/firebase_auth/include/Private/FLTPhoneNumberVerificationStreamHandler.h b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/ios/firebase_auth/Sources/firebase_auth/include/Private/FLTPhoneNumberVerificationStreamHandler.h deleted file mode 100644 index 53e5f28c..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/ios/firebase_auth/Sources/firebase_auth/include/Private/FLTPhoneNumberVerificationStreamHandler.h +++ /dev/null @@ -1,36 +0,0 @@ -// Copyright 2021 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#import - -#if TARGET_OS_OSX -#import -#else -#import -#endif - -#import "../Public/firebase_auth_messages.g.h" - -#import - -@class FIRAuth; -@class FIRMultiFactorSession; -@class FIRPhoneMultiFactorInfo; - -NS_ASSUME_NONNULL_BEGIN - -@interface FLTPhoneNumberVerificationStreamHandler : NSObject - -#if TARGET_OS_OSX -- (instancetype)initWithAuth:(FIRAuth *)auth arguments:(NSDictionary *)arguments; -#else -- (instancetype)initWithAuth:(FIRAuth *)auth - request:(InternalVerifyPhoneNumberRequest *)request - session:(FIRMultiFactorSession *)session - factorInfo:(FIRPhoneMultiFactorInfo *)factorInfo; -#endif - -@end - -NS_ASSUME_NONNULL_END diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/ios/firebase_auth/Sources/firebase_auth/include/Private/PigeonParser.h b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/ios/firebase_auth/Sources/firebase_auth/include/Private/PigeonParser.h deleted file mode 100644 index b500fd2c..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/ios/firebase_auth/Sources/firebase_auth/include/Private/PigeonParser.h +++ /dev/null @@ -1,33 +0,0 @@ -/* - * Copyright 2023, the Chromium project authors. Please see the AUTHORS file - * for details. All rights reserved. Use of this source code is governed by a - * BSD-style license that can be found in the LICENSE file. - */ - -#import -#import "../Public/firebase_auth_messages.g.h" - -@class FIRAuthDataResult; -@class FIRUser; -@class FIRActionCodeSettings; -@class FIRAuthTokenResult; -@class FIRTOTPSecret; -@class FIRAuthCredential; - -@interface PigeonParser : NSObject - -+ (NSArray *_Nonnull)getManualList:(nonnull InternalUserDetails *)userDetails; -+ (InternalUserCredential *_Nullable) - getPigeonUserCredentialFromAuthResult:(nonnull FIRAuthDataResult *)authResult - authorizationCode:(nullable NSString *)authorizationCode; -+ (InternalUserDetails *_Nullable)getPigeonDetails:(nonnull FIRUser *)user; -+ (InternalUserInfo *_Nullable)getPigeonUserInfo:(nonnull FIRUser *)user; -+ (FIRActionCodeSettings *_Nullable)parseActionCodeSettings: - (nullable InternalActionCodeSettings *)settings; -+ (InternalUserCredential *_Nullable)getPigeonUserCredentialFromFIRUser:(nonnull FIRUser *)user; -+ (InternalIdTokenResult *_Nonnull)parseIdTokenResult:(nonnull FIRAuthTokenResult *)tokenResult; -+ (InternalTotpSecret *_Nonnull)getPigeonTotpSecret:(nonnull FIRTOTPSecret *)secret; -+ (InternalAuthCredential *_Nullable)getPigeonAuthCredential: - (FIRAuthCredential *_Nullable)authCredentialToken - token:(NSNumber *_Nullable)token; -@end diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/ios/firebase_auth/Sources/firebase_auth/include/Public/CustomPigeonHeader.h b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/ios/firebase_auth/Sources/firebase_auth/include/Public/CustomPigeonHeader.h deleted file mode 100644 index d32a6b45..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/ios/firebase_auth/Sources/firebase_auth/include/Public/CustomPigeonHeader.h +++ /dev/null @@ -1,16 +0,0 @@ -// Copyright 2021 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. -#import "firebase_auth_messages.g.h" - -@interface InternalMultiFactorInfo (Map) -- (NSDictionary *)toList; -@end - -@interface InternalUserDetails (Map) -- (NSDictionary *)toList; -@end - -@interface InternalUserInfo (Map) -- (NSDictionary *)toList; -@end diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/ios/firebase_auth/Sources/firebase_auth/include/Public/FLTFirebaseAuthPlugin.h b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/ios/firebase_auth/Sources/firebase_auth/include/Public/FLTFirebaseAuthPlugin.h deleted file mode 100644 index 53e20eca..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/ios/firebase_auth/Sources/firebase_auth/include/Public/FLTFirebaseAuthPlugin.h +++ /dev/null @@ -1,45 +0,0 @@ -// Copyright 2020 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#import - -#if TARGET_OS_OSX -#import -#else -#import -#endif - -#import -#import -#if __has_include() -#import -#else -#import -#endif -#import "firebase_auth_messages.g.h" - -#if !TARGET_OS_OSX -@protocol FlutterSceneLifeCycleDelegate; -#endif - -@interface FLTFirebaseAuthPlugin - : FLTFirebasePlugin ) - , - FlutterSceneLifeCycleDelegate -#endif -#endif - > - -+ (FlutterError *)convertToFlutterError:(NSError *)error; -@end diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/ios/firebase_auth/Sources/firebase_auth/include/Public/firebase_auth_messages.g.h b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/ios/firebase_auth/Sources/firebase_auth/include/Public/firebase_auth_messages.g.h deleted file mode 100644 index f83da7e3..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/ios/firebase_auth/Sources/firebase_auth/include/Public/firebase_auth_messages.g.h +++ /dev/null @@ -1,571 +0,0 @@ -// Copyright 2023, the Chromium project authors. Please see the AUTHORS file -// for details. All rights reserved. Use of this source code is governed by a -// BSD-style license that can be found in the LICENSE file. -// Autogenerated from Pigeon (v26.3.4), do not edit directly. -// See also: https://pub.dev/packages/pigeon - -@import Foundation; - -@protocol FlutterBinaryMessenger; -@protocol FlutterMessageCodec; -@class FlutterError; -@class FlutterStandardTypedData; - -NS_ASSUME_NONNULL_BEGIN - -/// The type of operation that generated the action code from calling -/// [checkActionCode]. -typedef NS_ENUM(NSUInteger, ActionCodeInfoOperation) { - /// Unknown operation. - ActionCodeInfoOperationUnknown = 0, - /// Password reset code generated via [sendPasswordResetEmail]. - ActionCodeInfoOperationPasswordReset = 1, - /// Email verification code generated via [User.sendEmailVerification]. - ActionCodeInfoOperationVerifyEmail = 2, - /// Email change revocation code generated via [User.updateEmail]. - ActionCodeInfoOperationRecoverEmail = 3, - /// Email sign in code generated via [sendSignInLinkToEmail]. - ActionCodeInfoOperationEmailSignIn = 4, - /// Verify and change email code generated via [User.verifyBeforeUpdateEmail]. - ActionCodeInfoOperationVerifyAndChangeEmail = 5, - /// Action code for reverting second factor addition. - ActionCodeInfoOperationRevertSecondFactorAddition = 6, -}; - -/// Wrapper for ActionCodeInfoOperation to allow for nullability. -@interface ActionCodeInfoOperationBox : NSObject -@property(nonatomic, assign) ActionCodeInfoOperation value; -- (instancetype)initWithValue:(ActionCodeInfoOperation)value; -@end - -@class InternalMultiFactorSession; -@class InternalPhoneMultiFactorAssertion; -@class InternalMultiFactorInfo; -@class AuthPigeonFirebaseApp; -@class InternalActionCodeInfoData; -@class InternalActionCodeInfo; -@class InternalAdditionalUserInfo; -@class InternalAuthCredential; -@class InternalUserInfo; -@class InternalUserDetails; -@class InternalUserCredential; -@class InternalAuthCredentialInput; -@class InternalActionCodeSettings; -@class InternalFirebaseAuthSettings; -@class InternalSignInProvider; -@class InternalVerifyPhoneNumberRequest; -@class InternalIdTokenResult; -@class InternalUserProfile; -@class InternalTotpSecret; - -@interface InternalMultiFactorSession : NSObject -/// `init` unavailable to enforce nonnull fields, see the `make` class method. -- (instancetype)init NS_UNAVAILABLE; -+ (instancetype)makeWithId:(NSString *)id; -@property(nonatomic, copy) NSString *id; -@end - -@interface InternalPhoneMultiFactorAssertion : NSObject -/// `init` unavailable to enforce nonnull fields, see the `make` class method. -- (instancetype)init NS_UNAVAILABLE; -+ (instancetype)makeWithVerificationId:(NSString *)verificationId - verificationCode:(NSString *)verificationCode; -@property(nonatomic, copy) NSString *verificationId; -@property(nonatomic, copy) NSString *verificationCode; -@end - -@interface InternalMultiFactorInfo : NSObject -/// `init` unavailable to enforce nonnull fields, see the `make` class method. -- (instancetype)init NS_UNAVAILABLE; -+ (instancetype)makeWithDisplayName:(nullable NSString *)displayName - enrollmentTimestamp:(double)enrollmentTimestamp - factorId:(nullable NSString *)factorId - uid:(NSString *)uid - phoneNumber:(nullable NSString *)phoneNumber; -@property(nonatomic, copy, nullable) NSString *displayName; -@property(nonatomic, assign) double enrollmentTimestamp; -@property(nonatomic, copy, nullable) NSString *factorId; -@property(nonatomic, copy) NSString *uid; -@property(nonatomic, copy, nullable) NSString *phoneNumber; -@end - -@interface AuthPigeonFirebaseApp : NSObject -/// `init` unavailable to enforce nonnull fields, see the `make` class method. -- (instancetype)init NS_UNAVAILABLE; -+ (instancetype)makeWithAppName:(NSString *)appName - tenantId:(nullable NSString *)tenantId - customAuthDomain:(nullable NSString *)customAuthDomain; -@property(nonatomic, copy) NSString *appName; -@property(nonatomic, copy, nullable) NSString *tenantId; -@property(nonatomic, copy, nullable) NSString *customAuthDomain; -@end - -@interface InternalActionCodeInfoData : NSObject -+ (instancetype)makeWithEmail:(nullable NSString *)email - previousEmail:(nullable NSString *)previousEmail; -@property(nonatomic, copy, nullable) NSString *email; -@property(nonatomic, copy, nullable) NSString *previousEmail; -@end - -@interface InternalActionCodeInfo : NSObject -/// `init` unavailable to enforce nonnull fields, see the `make` class method. -- (instancetype)init NS_UNAVAILABLE; -+ (instancetype)makeWithOperation:(ActionCodeInfoOperation)operation - data:(InternalActionCodeInfoData *)data; -@property(nonatomic, assign) ActionCodeInfoOperation operation; -@property(nonatomic, strong) InternalActionCodeInfoData *data; -@end - -@interface InternalAdditionalUserInfo : NSObject -/// `init` unavailable to enforce nonnull fields, see the `make` class method. -- (instancetype)init NS_UNAVAILABLE; -+ (instancetype)makeWithIsNewUser:(BOOL)isNewUser - providerId:(nullable NSString *)providerId - username:(nullable NSString *)username - authorizationCode:(nullable NSString *)authorizationCode - profile:(nullable NSDictionary *)profile; -@property(nonatomic, assign) BOOL isNewUser; -@property(nonatomic, copy, nullable) NSString *providerId; -@property(nonatomic, copy, nullable) NSString *username; -@property(nonatomic, copy, nullable) NSString *authorizationCode; -@property(nonatomic, copy, nullable) NSDictionary *profile; -@end - -@interface InternalAuthCredential : NSObject -/// `init` unavailable to enforce nonnull fields, see the `make` class method. -- (instancetype)init NS_UNAVAILABLE; -+ (instancetype)makeWithProviderId:(NSString *)providerId - signInMethod:(NSString *)signInMethod - nativeId:(NSInteger)nativeId - accessToken:(nullable NSString *)accessToken; -@property(nonatomic, copy) NSString *providerId; -@property(nonatomic, copy) NSString *signInMethod; -@property(nonatomic, assign) NSInteger nativeId; -@property(nonatomic, copy, nullable) NSString *accessToken; -@end - -@interface InternalUserInfo : NSObject -/// `init` unavailable to enforce nonnull fields, see the `make` class method. -- (instancetype)init NS_UNAVAILABLE; -+ (instancetype)makeWithUid:(NSString *)uid - email:(nullable NSString *)email - displayName:(nullable NSString *)displayName - photoUrl:(nullable NSString *)photoUrl - phoneNumber:(nullable NSString *)phoneNumber - isAnonymous:(BOOL)isAnonymous - isEmailVerified:(BOOL)isEmailVerified - providerId:(nullable NSString *)providerId - tenantId:(nullable NSString *)tenantId - refreshToken:(nullable NSString *)refreshToken - creationTimestamp:(nullable NSNumber *)creationTimestamp - lastSignInTimestamp:(nullable NSNumber *)lastSignInTimestamp; -@property(nonatomic, copy) NSString *uid; -@property(nonatomic, copy, nullable) NSString *email; -@property(nonatomic, copy, nullable) NSString *displayName; -@property(nonatomic, copy, nullable) NSString *photoUrl; -@property(nonatomic, copy, nullable) NSString *phoneNumber; -@property(nonatomic, assign) BOOL isAnonymous; -@property(nonatomic, assign) BOOL isEmailVerified; -@property(nonatomic, copy, nullable) NSString *providerId; -@property(nonatomic, copy, nullable) NSString *tenantId; -@property(nonatomic, copy, nullable) NSString *refreshToken; -@property(nonatomic, strong, nullable) NSNumber *creationTimestamp; -@property(nonatomic, strong, nullable) NSNumber *lastSignInTimestamp; -@end - -@interface InternalUserDetails : NSObject -/// `init` unavailable to enforce nonnull fields, see the `make` class method. -- (instancetype)init NS_UNAVAILABLE; -+ (instancetype)makeWithUserInfo:(InternalUserInfo *)userInfo - providerData:(NSArray *> *)providerData; -@property(nonatomic, strong) InternalUserInfo *userInfo; -@property(nonatomic, copy) NSArray *> *providerData; -@end - -@interface InternalUserCredential : NSObject -+ (instancetype)makeWithUser:(nullable InternalUserDetails *)user - additionalUserInfo:(nullable InternalAdditionalUserInfo *)additionalUserInfo - credential:(nullable InternalAuthCredential *)credential; -@property(nonatomic, strong, nullable) InternalUserDetails *user; -@property(nonatomic, strong, nullable) InternalAdditionalUserInfo *additionalUserInfo; -@property(nonatomic, strong, nullable) InternalAuthCredential *credential; -@end - -@interface InternalAuthCredentialInput : NSObject -/// `init` unavailable to enforce nonnull fields, see the `make` class method. -- (instancetype)init NS_UNAVAILABLE; -+ (instancetype)makeWithProviderId:(NSString *)providerId - signInMethod:(NSString *)signInMethod - token:(nullable NSString *)token - accessToken:(nullable NSString *)accessToken; -@property(nonatomic, copy) NSString *providerId; -@property(nonatomic, copy) NSString *signInMethod; -@property(nonatomic, copy, nullable) NSString *token; -@property(nonatomic, copy, nullable) NSString *accessToken; -@end - -@interface InternalActionCodeSettings : NSObject -/// `init` unavailable to enforce nonnull fields, see the `make` class method. -- (instancetype)init NS_UNAVAILABLE; -+ (instancetype)makeWithUrl:(NSString *)url - dynamicLinkDomain:(nullable NSString *)dynamicLinkDomain - handleCodeInApp:(BOOL)handleCodeInApp - iOSBundleId:(nullable NSString *)iOSBundleId - androidPackageName:(nullable NSString *)androidPackageName - androidInstallApp:(BOOL)androidInstallApp - androidMinimumVersion:(nullable NSString *)androidMinimumVersion - linkDomain:(nullable NSString *)linkDomain; -@property(nonatomic, copy) NSString *url; -@property(nonatomic, copy, nullable) NSString *dynamicLinkDomain; -@property(nonatomic, assign) BOOL handleCodeInApp; -@property(nonatomic, copy, nullable) NSString *iOSBundleId; -@property(nonatomic, copy, nullable) NSString *androidPackageName; -@property(nonatomic, assign) BOOL androidInstallApp; -@property(nonatomic, copy, nullable) NSString *androidMinimumVersion; -@property(nonatomic, copy, nullable) NSString *linkDomain; -@end - -@interface InternalFirebaseAuthSettings : NSObject -/// `init` unavailable to enforce nonnull fields, see the `make` class method. -- (instancetype)init NS_UNAVAILABLE; -+ (instancetype)makeWithAppVerificationDisabledForTesting:(BOOL)appVerificationDisabledForTesting - userAccessGroup:(nullable NSString *)userAccessGroup - phoneNumber:(nullable NSString *)phoneNumber - smsCode:(nullable NSString *)smsCode - forceRecaptchaFlow:(nullable NSNumber *)forceRecaptchaFlow; -@property(nonatomic, assign) BOOL appVerificationDisabledForTesting; -@property(nonatomic, copy, nullable) NSString *userAccessGroup; -@property(nonatomic, copy, nullable) NSString *phoneNumber; -@property(nonatomic, copy, nullable) NSString *smsCode; -@property(nonatomic, strong, nullable) NSNumber *forceRecaptchaFlow; -@end - -@interface InternalSignInProvider : NSObject -/// `init` unavailable to enforce nonnull fields, see the `make` class method. -- (instancetype)init NS_UNAVAILABLE; -+ (instancetype)makeWithProviderId:(NSString *)providerId - scopes:(nullable NSArray *)scopes - customParameters: - (nullable NSDictionary *)customParameters; -@property(nonatomic, copy) NSString *providerId; -@property(nonatomic, copy, nullable) NSArray *scopes; -@property(nonatomic, copy, nullable) NSDictionary *customParameters; -@end - -@interface InternalVerifyPhoneNumberRequest : NSObject -/// `init` unavailable to enforce nonnull fields, see the `make` class method. -- (instancetype)init NS_UNAVAILABLE; -+ (instancetype)makeWithPhoneNumber:(nullable NSString *)phoneNumber - timeout:(NSInteger)timeout - forceResendingToken:(nullable NSNumber *)forceResendingToken - autoRetrievedSmsCodeForTesting:(nullable NSString *)autoRetrievedSmsCodeForTesting - multiFactorInfoId:(nullable NSString *)multiFactorInfoId - multiFactorSessionId:(nullable NSString *)multiFactorSessionId; -@property(nonatomic, copy, nullable) NSString *phoneNumber; -@property(nonatomic, assign) NSInteger timeout; -@property(nonatomic, strong, nullable) NSNumber *forceResendingToken; -@property(nonatomic, copy, nullable) NSString *autoRetrievedSmsCodeForTesting; -@property(nonatomic, copy, nullable) NSString *multiFactorInfoId; -@property(nonatomic, copy, nullable) NSString *multiFactorSessionId; -@end - -@interface InternalIdTokenResult : NSObject -+ (instancetype)makeWithToken:(nullable NSString *)token - expirationTimestamp:(nullable NSNumber *)expirationTimestamp - authTimestamp:(nullable NSNumber *)authTimestamp - issuedAtTimestamp:(nullable NSNumber *)issuedAtTimestamp - signInProvider:(nullable NSString *)signInProvider - claims:(nullable NSDictionary *)claims - signInSecondFactor:(nullable NSString *)signInSecondFactor; -@property(nonatomic, copy, nullable) NSString *token; -@property(nonatomic, strong, nullable) NSNumber *expirationTimestamp; -@property(nonatomic, strong, nullable) NSNumber *authTimestamp; -@property(nonatomic, strong, nullable) NSNumber *issuedAtTimestamp; -@property(nonatomic, copy, nullable) NSString *signInProvider; -@property(nonatomic, copy, nullable) NSDictionary *claims; -@property(nonatomic, copy, nullable) NSString *signInSecondFactor; -@end - -@interface InternalUserProfile : NSObject -/// `init` unavailable to enforce nonnull fields, see the `make` class method. -- (instancetype)init NS_UNAVAILABLE; -+ (instancetype)makeWithDisplayName:(nullable NSString *)displayName - photoUrl:(nullable NSString *)photoUrl - displayNameChanged:(BOOL)displayNameChanged - photoUrlChanged:(BOOL)photoUrlChanged; -@property(nonatomic, copy, nullable) NSString *displayName; -@property(nonatomic, copy, nullable) NSString *photoUrl; -@property(nonatomic, assign) BOOL displayNameChanged; -@property(nonatomic, assign) BOOL photoUrlChanged; -@end - -@interface InternalTotpSecret : NSObject -/// `init` unavailable to enforce nonnull fields, see the `make` class method. -- (instancetype)init NS_UNAVAILABLE; -+ (instancetype)makeWithCodeIntervalSeconds:(nullable NSNumber *)codeIntervalSeconds - codeLength:(nullable NSNumber *)codeLength - enrollmentCompletionDeadline:(nullable NSNumber *)enrollmentCompletionDeadline - hashingAlgorithm:(nullable NSString *)hashingAlgorithm - secretKey:(NSString *)secretKey; -@property(nonatomic, strong, nullable) NSNumber *codeIntervalSeconds; -@property(nonatomic, strong, nullable) NSNumber *codeLength; -@property(nonatomic, strong, nullable) NSNumber *enrollmentCompletionDeadline; -@property(nonatomic, copy, nullable) NSString *hashingAlgorithm; -@property(nonatomic, copy) NSString *secretKey; -@end - -/// The codec used by all APIs. -NSObject *nullGetFirebaseAuthMessagesCodec(void); - -@protocol FirebaseAuthHostApi -- (void)registerIdTokenListenerApp:(AuthPigeonFirebaseApp *)app - completion: - (void (^)(NSString *_Nullable, FlutterError *_Nullable))completion; -- (void)registerAuthStateListenerApp:(AuthPigeonFirebaseApp *)app - completion: - (void (^)(NSString *_Nullable, FlutterError *_Nullable))completion; -- (void)useEmulatorApp:(AuthPigeonFirebaseApp *)app - host:(NSString *)host - port:(NSInteger)port - completion:(void (^)(FlutterError *_Nullable))completion; -- (void)applyActionCodeApp:(AuthPigeonFirebaseApp *)app - code:(NSString *)code - completion:(void (^)(FlutterError *_Nullable))completion; -- (void)checkActionCodeApp:(AuthPigeonFirebaseApp *)app - code:(NSString *)code - completion:(void (^)(InternalActionCodeInfo *_Nullable, - FlutterError *_Nullable))completion; -- (void)confirmPasswordResetApp:(AuthPigeonFirebaseApp *)app - code:(NSString *)code - newPassword:(NSString *)newPassword - completion:(void (^)(FlutterError *_Nullable))completion; -- (void)createUserWithEmailAndPasswordApp:(AuthPigeonFirebaseApp *)app - email:(NSString *)email - password:(NSString *)password - completion:(void (^)(InternalUserCredential *_Nullable, - FlutterError *_Nullable))completion; -- (void)signInAnonymouslyApp:(AuthPigeonFirebaseApp *)app - completion:(void (^)(InternalUserCredential *_Nullable, - FlutterError *_Nullable))completion; -- (void)signInWithCredentialApp:(AuthPigeonFirebaseApp *)app - input:(NSDictionary *)input - completion:(void (^)(InternalUserCredential *_Nullable, - FlutterError *_Nullable))completion; -- (void)signInWithCustomTokenApp:(AuthPigeonFirebaseApp *)app - token:(NSString *)token - completion:(void (^)(InternalUserCredential *_Nullable, - FlutterError *_Nullable))completion; -- (void)signInWithEmailAndPasswordApp:(AuthPigeonFirebaseApp *)app - email:(NSString *)email - password:(NSString *)password - completion:(void (^)(InternalUserCredential *_Nullable, - FlutterError *_Nullable))completion; -- (void)signInWithEmailLinkApp:(AuthPigeonFirebaseApp *)app - email:(NSString *)email - emailLink:(NSString *)emailLink - completion:(void (^)(InternalUserCredential *_Nullable, - FlutterError *_Nullable))completion; -- (void)signInWithProviderApp:(AuthPigeonFirebaseApp *)app - signInProvider:(InternalSignInProvider *)signInProvider - completion:(void (^)(InternalUserCredential *_Nullable, - FlutterError *_Nullable))completion; -- (void)signOutApp:(AuthPigeonFirebaseApp *)app - completion:(void (^)(FlutterError *_Nullable))completion; -- (void)fetchSignInMethodsForEmailApp:(AuthPigeonFirebaseApp *)app - email:(NSString *)email - completion:(void (^)(NSArray *_Nullable, - FlutterError *_Nullable))completion; -- (void)sendPasswordResetEmailApp:(AuthPigeonFirebaseApp *)app - email:(NSString *)email - actionCodeSettings:(nullable InternalActionCodeSettings *)actionCodeSettings - completion:(void (^)(FlutterError *_Nullable))completion; -- (void)sendSignInLinkToEmailApp:(AuthPigeonFirebaseApp *)app - email:(NSString *)email - actionCodeSettings:(InternalActionCodeSettings *)actionCodeSettings - completion:(void (^)(FlutterError *_Nullable))completion; -- (void)setLanguageCodeApp:(AuthPigeonFirebaseApp *)app - languageCode:(nullable NSString *)languageCode - completion:(void (^)(NSString *_Nullable, FlutterError *_Nullable))completion; -- (void)setSettingsApp:(AuthPigeonFirebaseApp *)app - settings:(InternalFirebaseAuthSettings *)settings - completion:(void (^)(FlutterError *_Nullable))completion; -- (void)verifyPasswordResetCodeApp:(AuthPigeonFirebaseApp *)app - code:(NSString *)code - completion: - (void (^)(NSString *_Nullable, FlutterError *_Nullable))completion; -- (void)verifyPhoneNumberApp:(AuthPigeonFirebaseApp *)app - request:(InternalVerifyPhoneNumberRequest *)request - completion:(void (^)(NSString *_Nullable, FlutterError *_Nullable))completion; -- (void)revokeTokenWithAuthorizationCodeApp:(AuthPigeonFirebaseApp *)app - authorizationCode:(NSString *)authorizationCode - completion:(void (^)(FlutterError *_Nullable))completion; -- (void)revokeAccessTokenApp:(AuthPigeonFirebaseApp *)app - accessToken:(NSString *)accessToken - completion:(void (^)(FlutterError *_Nullable))completion; -- (void)initializeRecaptchaConfigApp:(AuthPigeonFirebaseApp *)app - completion:(void (^)(FlutterError *_Nullable))completion; -@end - -extern void SetUpFirebaseAuthHostApi(id binaryMessenger, - NSObject *_Nullable api); - -extern void SetUpFirebaseAuthHostApiWithSuffix(id binaryMessenger, - NSObject *_Nullable api, - NSString *messageChannelSuffix); - -@protocol FirebaseAuthUserHostApi -- (void)deleteApp:(AuthPigeonFirebaseApp *)app - completion:(void (^)(FlutterError *_Nullable))completion; -- (void)getIdTokenApp:(AuthPigeonFirebaseApp *)app - forceRefresh:(BOOL)forceRefresh - completion: - (void (^)(InternalIdTokenResult *_Nullable, FlutterError *_Nullable))completion; -- (void)linkWithCredentialApp:(AuthPigeonFirebaseApp *)app - input:(NSDictionary *)input - completion:(void (^)(InternalUserCredential *_Nullable, - FlutterError *_Nullable))completion; -- (void)linkWithProviderApp:(AuthPigeonFirebaseApp *)app - signInProvider:(InternalSignInProvider *)signInProvider - completion:(void (^)(InternalUserCredential *_Nullable, - FlutterError *_Nullable))completion; -- (void)reauthenticateWithCredentialApp:(AuthPigeonFirebaseApp *)app - input:(NSDictionary *)input - completion:(void (^)(InternalUserCredential *_Nullable, - FlutterError *_Nullable))completion; -- (void)reauthenticateWithProviderApp:(AuthPigeonFirebaseApp *)app - signInProvider:(InternalSignInProvider *)signInProvider - completion:(void (^)(InternalUserCredential *_Nullable, - FlutterError *_Nullable))completion; -- (void)reloadApp:(AuthPigeonFirebaseApp *)app - completion:(void (^)(InternalUserDetails *_Nullable, FlutterError *_Nullable))completion; -- (void)sendEmailVerificationApp:(AuthPigeonFirebaseApp *)app - actionCodeSettings:(nullable InternalActionCodeSettings *)actionCodeSettings - completion:(void (^)(FlutterError *_Nullable))completion; -- (void)unlinkApp:(AuthPigeonFirebaseApp *)app - providerId:(NSString *)providerId - completion:(void (^)(InternalUserCredential *_Nullable, FlutterError *_Nullable))completion; -- (void)updateEmailApp:(AuthPigeonFirebaseApp *)app - newEmail:(NSString *)newEmail - completion: - (void (^)(InternalUserDetails *_Nullable, FlutterError *_Nullable))completion; -- (void)updatePasswordApp:(AuthPigeonFirebaseApp *)app - newPassword:(NSString *)newPassword - completion: - (void (^)(InternalUserDetails *_Nullable, FlutterError *_Nullable))completion; -- (void)updatePhoneNumberApp:(AuthPigeonFirebaseApp *)app - input:(NSDictionary *)input - completion: - (void (^)(InternalUserDetails *_Nullable, FlutterError *_Nullable))completion; -- (void)updateProfileApp:(AuthPigeonFirebaseApp *)app - profile:(InternalUserProfile *)profile - completion: - (void (^)(InternalUserDetails *_Nullable, FlutterError *_Nullable))completion; -- (void)verifyBeforeUpdateEmailApp:(AuthPigeonFirebaseApp *)app - newEmail:(NSString *)newEmail - actionCodeSettings:(nullable InternalActionCodeSettings *)actionCodeSettings - completion:(void (^)(FlutterError *_Nullable))completion; -@end - -extern void SetUpFirebaseAuthUserHostApi(id binaryMessenger, - NSObject *_Nullable api); - -extern void SetUpFirebaseAuthUserHostApiWithSuffix(id binaryMessenger, - NSObject *_Nullable api, - NSString *messageChannelSuffix); - -@protocol MultiFactorUserHostApi -- (void)enrollPhoneApp:(AuthPigeonFirebaseApp *)app - assertion:(InternalPhoneMultiFactorAssertion *)assertion - displayName:(nullable NSString *)displayName - completion:(void (^)(FlutterError *_Nullable))completion; -- (void)enrollTotpApp:(AuthPigeonFirebaseApp *)app - assertionId:(NSString *)assertionId - displayName:(nullable NSString *)displayName - completion:(void (^)(FlutterError *_Nullable))completion; -- (void)getSessionApp:(AuthPigeonFirebaseApp *)app - completion: - (void (^)(InternalMultiFactorSession *_Nullable, FlutterError *_Nullable))completion; -- (void)unenrollApp:(AuthPigeonFirebaseApp *)app - factorUid:(NSString *)factorUid - completion:(void (^)(FlutterError *_Nullable))completion; -- (void)getEnrolledFactorsApp:(AuthPigeonFirebaseApp *)app - completion:(void (^)(NSArray *_Nullable, - FlutterError *_Nullable))completion; -@end - -extern void SetUpMultiFactorUserHostApi(id binaryMessenger, - NSObject *_Nullable api); - -extern void SetUpMultiFactorUserHostApiWithSuffix(id binaryMessenger, - NSObject *_Nullable api, - NSString *messageChannelSuffix); - -@protocol MultiFactoResolverHostApi -- (void)resolveSignInResolverId:(NSString *)resolverId - assertion:(nullable InternalPhoneMultiFactorAssertion *)assertion - totpAssertionId:(nullable NSString *)totpAssertionId - completion:(void (^)(InternalUserCredential *_Nullable, - FlutterError *_Nullable))completion; -@end - -extern void SetUpMultiFactoResolverHostApi(id binaryMessenger, - NSObject *_Nullable api); - -extern void SetUpMultiFactoResolverHostApiWithSuffix( - id binaryMessenger, NSObject *_Nullable api, - NSString *messageChannelSuffix); - -@protocol MultiFactorTotpHostApi -- (void)generateSecretSessionId:(NSString *)sessionId - completion:(void (^)(InternalTotpSecret *_Nullable, - FlutterError *_Nullable))completion; -- (void)getAssertionForEnrollmentSecretKey:(NSString *)secretKey - oneTimePassword:(NSString *)oneTimePassword - completion:(void (^)(NSString *_Nullable, - FlutterError *_Nullable))completion; -- (void)getAssertionForSignInEnrollmentId:(NSString *)enrollmentId - oneTimePassword:(NSString *)oneTimePassword - completion:(void (^)(NSString *_Nullable, - FlutterError *_Nullable))completion; -@end - -extern void SetUpMultiFactorTotpHostApi(id binaryMessenger, - NSObject *_Nullable api); - -extern void SetUpMultiFactorTotpHostApiWithSuffix(id binaryMessenger, - NSObject *_Nullable api, - NSString *messageChannelSuffix); - -@protocol MultiFactorTotpSecretHostApi -- (void)generateQrCodeUrlSecretKey:(NSString *)secretKey - accountName:(nullable NSString *)accountName - issuer:(nullable NSString *)issuer - completion: - (void (^)(NSString *_Nullable, FlutterError *_Nullable))completion; -- (void)openInOtpAppSecretKey:(NSString *)secretKey - qrCodeUrl:(NSString *)qrCodeUrl - completion:(void (^)(FlutterError *_Nullable))completion; -@end - -extern void SetUpMultiFactorTotpSecretHostApi( - id binaryMessenger, - NSObject *_Nullable api); - -extern void SetUpMultiFactorTotpSecretHostApiWithSuffix( - id binaryMessenger, - NSObject *_Nullable api, NSString *messageChannelSuffix); - -/// Only used to generate the object interface that are use outside of the Pigeon interface -@protocol GenerateInterfaces -- (void)pigeonInterfaceInfo:(InternalMultiFactorInfo *)info - error:(FlutterError *_Nullable *_Nonnull)error; -@end - -extern void SetUpGenerateInterfaces(id binaryMessenger, - NSObject *_Nullable api); - -extern void SetUpGenerateInterfacesWithSuffix(id binaryMessenger, - NSObject *_Nullable api, - NSString *messageChannelSuffix); - -NS_ASSUME_NONNULL_END diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/lib/firebase_auth.dart b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/lib/firebase_auth.dart deleted file mode 100755 index 61e60561..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/lib/firebase_auth.dart +++ /dev/null @@ -1,72 +0,0 @@ -// Copyright 2019 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -import 'dart:async'; - -import 'package:firebase_auth_platform_interface/firebase_auth_platform_interface.dart'; -import 'package:firebase_core/firebase_core.dart'; -import 'package:firebase_core_platform_interface/firebase_core_platform_interface.dart'; -import 'package:flutter/foundation.dart'; - -export 'package:firebase_auth_platform_interface/firebase_auth_platform_interface.dart' - show - FirebaseAuthException, - MultiFactorInfo, - MultiFactorSession, - PhoneMultiFactorInfo, - TotpMultiFactorInfo, - IdTokenResult, - UserMetadata, - UserInfo, - ActionCodeInfo, - ActionCodeSettings, - AdditionalUserInfo, - ActionCodeInfoOperation, - Persistence, - PhoneVerificationCompleted, - PhoneVerificationFailed, - PhoneCodeSent, - PhoneCodeAutoRetrievalTimeout, - AuthCredential, - AuthProvider, - AppleAuthProvider, - AppleFullPersonName, - AppleAuthCredential, - EmailAuthProvider, - EmailAuthCredential, - FacebookAuthProvider, - FacebookAuthCredential, - GameCenterAuthProvider, - GameCenterAuthCredential, - PlayGamesAuthProvider, - PlayGamesAuthCredential, - GithubAuthProvider, - GithubAuthCredential, - GoogleAuthProvider, - GoogleAuthCredential, - YahooAuthProvider, - YahooAuthCredential, - MicrosoftAuthProvider, - OAuthProvider, - OAuthCredential, - PhoneAuthProvider, - PhoneAuthCredential, - SAMLAuthProvider, - TwitterAuthProvider, - TwitterAuthCredential, - RecaptchaVerifierOnSuccess, - RecaptchaVerifierOnExpired, - RecaptchaVerifierOnError, - RecaptchaVerifierSize, - RecaptchaVerifierTheme, - PasswordValidationStatus; -export 'package:firebase_core_platform_interface/firebase_core_platform_interface.dart' - show FirebaseException; - -part 'src/confirmation_result.dart'; -part 'src/firebase_auth.dart'; -part 'src/multi_factor.dart'; -part 'src/recaptcha_verifier.dart'; -part 'src/user.dart'; -part 'src/user_credential.dart'; diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/lib/src/confirmation_result.dart b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/lib/src/confirmation_result.dart deleted file mode 100644 index c039cd79..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/lib/src/confirmation_result.dart +++ /dev/null @@ -1,36 +0,0 @@ -// ignore_for_file: require_trailing_commas -// Copyright 2020 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -part of '../firebase_auth.dart'; - -/// A result from a phone number sign-in, link, or reauthenticate call. -/// -/// This class is only usable on web based platforms. -class ConfirmationResult { - ConfirmationResultPlatform _delegate; - - final FirebaseAuth _auth; - - ConfirmationResult._(this._auth, this._delegate) { - ConfirmationResultPlatform.verify(_delegate); - } - - /// The phone number authentication operation's verification ID. - /// - /// This can be used along with the verification code to initialize a phone - /// auth credential. - String get verificationId { - return _delegate.verificationId; - } - - /// Finishes a phone number sign-in, link, or reauthentication, given the code - /// that was sent to the user's mobile device. - Future confirm(String verificationCode) async { - return UserCredential._( - _auth, - await _delegate.confirm(verificationCode), - ); - } -} diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/lib/src/firebase_auth.dart b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/lib/src/firebase_auth.dart deleted file mode 100644 index 2f4ebe42..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/lib/src/firebase_auth.dart +++ /dev/null @@ -1,893 +0,0 @@ -// ignore_for_file: require_trailing_commas -// Copyright 2017 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -part of '../firebase_auth.dart'; - -/// The entry point of the Firebase Authentication SDK. -class FirebaseAuth extends FirebasePluginPlatform implements FirebaseService { - // Cached instances of [FirebaseAuth]. - static Map _firebaseAuthInstances = {}; - - // Cached and lazily loaded instance of [FirebaseAuthPlatform] to avoid - // creating a [MethodChannelFirebaseAuth] when not needed or creating an - // instance with the default app before a user specifies an app. - FirebaseAuthPlatform? _delegatePackingProperty; - - /// Returns the underlying delegate implementation. - /// - /// If called and no [_delegatePackingProperty] exists, it will first be - /// created and assigned before returning the delegate. - FirebaseAuthPlatform get _delegate { - _delegatePackingProperty ??= FirebaseAuthPlatform.instanceFor( - app: app, - pluginConstants: pluginConstants, - ); - return _delegatePackingProperty!; - } - - /// The [FirebaseApp] for this current Auth instance. - FirebaseApp app; - - FirebaseAuth._({required this.app}) - : super(app.name, 'plugins.flutter.io/firebase_auth'); - - /// Returns an instance using the default [FirebaseApp]. - static FirebaseAuth get instance { - FirebaseApp defaultAppInstance = Firebase.app(); - - return FirebaseAuth.instanceFor(app: defaultAppInstance); - } - - /// Returns an instance using a specified [FirebaseApp]. - factory FirebaseAuth.instanceFor({ - required FirebaseApp app, - }) { - return _firebaseAuthInstances.putIfAbsent(app.name, () { - final instance = FirebaseAuth._(app: app); - app.registerService( - instance, - dispose: (auth) => auth._dispose(), - ); - return instance; - }); - } - - Future _dispose() async { - _firebaseAuthInstances.remove(app.name); - final delegate = _delegatePackingProperty; - _delegatePackingProperty = null; - await delegate?.dispose(); - } - - /// Returns the current [User] if they are currently signed-in, or `null` if - /// not. - /// - /// This getter only provides a snapshot of user state. Applications that need - /// to react to changes in user state should instead use [authStateChanges], - /// [idTokenChanges] or [userChanges] to subscribe to updates. - User? get currentUser { - if (_delegate.currentUser != null) { - return User._(this, _delegate.currentUser!); - } - - return null; - } - - /// The current Auth instance's language code. - /// - /// See [setLanguageCode] to update the language code. - String? get languageCode { - return _delegate.languageCode; - } - - /// Changes this instance to point to an Auth emulator running locally. - /// - /// Set the [host] of the local emulator, such as "localhost" - /// Set the [port] of the local emulator, such as "9099" (port 9099 is default for auth package) - /// - /// Note: Must be called immediately, prior to accessing auth methods. - /// Do not use with production credentials as emulator traffic is not encrypted. - Future useAuthEmulator(String host, int port, - {bool automaticHostMapping = true}) async { - String mappedHost = automaticHostMapping ? getMappedHost(host) : host; - - await _delegate.useAuthEmulator(mappedHost, port); - } - - /// The current Auth instance's tenant ID. - String? get tenantId { - return _delegate.tenantId; - } - - /// Set the current Auth instance's tenant ID. - /// - /// When you set the tenant ID of an Auth instance, all future sign-in/sign-up - /// operations will pass this tenant ID and sign in or sign up users to the - /// specified tenant project. When set to null, users are signed in to the - /// parent project. By default, this is set to `null`. - set tenantId(String? tenantId) { - _delegate.tenantId = tenantId; - } - - /// The current Auth instance's custom auth domain. - /// The auth domain used to handle redirects from OAuth provides, for example - /// "my-awesome-app.firebaseapp.com". By default, this is set to `null` and - /// default auth domain is used. - /// - /// If not `null`, this value will supersede `authDomain` property set in `initializeApp`. - String? get customAuthDomain { - return _delegate.customAuthDomain; - } - - /// Set the current Auth instance's auth domain for apple and android platforms. - /// The auth domain used to handle redirects from OAuth provides, for example - /// "my-awesome-app.firebaseapp.com". By default, this is set to `null` and - /// default auth domain is used. - /// - /// If not `null`, this value will supersede `authDomain` property set in `initializeApp`. - set customAuthDomain(String? customAuthDomain) { - // Web and windows do not support setting custom auth domains on the auth instance - if (defaultTargetPlatform == TargetPlatform.windows || kIsWeb) { - final message = defaultTargetPlatform == TargetPlatform.windows - ? 'Cannot set custom auth domain on a FirebaseAuth instance for windows platform' - : 'Cannot set custom auth domain on a FirebaseAuth instance. Set the custom auth domain on `FirebaseOptions.authDomain` instance and pass into `Firebase.initializeApp()` instead.'; - throw UnimplementedError( - message, - ); - } - _delegate.customAuthDomain = customAuthDomain; - } - - /// Applies a verification code sent to the user by email or other out-of-band - /// mechanism. - /// - /// A [FirebaseAuthException] maybe thrown with the following error code: - /// - **expired-action-code**: - /// - Thrown if the action code has expired. - /// - **invalid-action-code**: - /// - Thrown if the action code is invalid. This can happen if the code is - /// malformed or has already been used. - /// - **user-disabled**: - /// - Thrown if the user corresponding to the given action code has been - /// disabled. - /// - **user-not-found**: - /// - Thrown if there is no user corresponding to the action code. This may - /// have happened if the user was deleted between when the action code was - /// issued and when this method was called. - Future applyActionCode(String code) async { - await _delegate.applyActionCode(code); - } - - /// Checks a verification code sent to the user by email or other out-of-band - /// mechanism. - /// - /// Returns [ActionCodeInfo] about the code. - /// - /// A [FirebaseAuthException] maybe thrown with the following error code: - /// - **expired-action-code**: - /// - Thrown if the action code has expired. - /// - **invalid-action-code**: - /// - Thrown if the action code is invalid. This can happen if the code is - /// malformed or has already been used. - /// - **user-disabled**: - /// - Thrown if the user corresponding to the given action code has been - /// disabled. - /// - **user-not-found**: - /// - Thrown if there is no user corresponding to the action code. This may - /// have happened if the user was deleted between when the action code was - /// issued and when this method was called. - Future checkActionCode(String code) { - return _delegate.checkActionCode(code); - } - - /// Completes the password reset process, given a confirmation code and new - /// password. - /// - /// A [FirebaseAuthException] maybe thrown with the following error code: - /// - **expired-action-code**: - /// - Thrown if the action code has expired. - /// - **invalid-action-code**: - /// - Thrown if the action code is invalid. This can happen if the code is - /// malformed or has already been used. - /// - **user-disabled**: - /// - Thrown if the user corresponding to the given action code has been - /// disabled. - /// - **user-not-found**: - /// - Thrown if there is no user corresponding to the action code. This may - /// have happened if the user was deleted between when the action code was - /// issued and when this method was called. - /// - **weak-password**: - /// - Thrown if the new password is not strong enough. - Future confirmPasswordReset({ - required String code, - required String newPassword, - }) async { - await _delegate.confirmPasswordReset(code, newPassword); - } - - /// Tries to create a new user account with the given email address and - /// password. - /// - /// A [FirebaseAuthException] maybe thrown with the following error code: - /// - **email-already-in-use**: - /// - Thrown if there already exists an account with the given email address. - /// - **invalid-email**: - /// - Thrown if the email address is not valid. - /// - **operation-not-allowed**: - /// - Thrown if email/password accounts are not enabled. Enable - /// email/password accounts in the Firebase Console, under the Auth tab. - /// - **weak-password**: - /// - Thrown if the password is not strong enough. - /// - **too-many-requests**: - /// - Thrown if the user sent too many requests at the same time, for security - /// the api will not allow too many attempts at the same time, user will have - /// to wait for some time - /// - **user-token-expired**: - /// - Thrown if the user is no longer authenticated since his refresh token - /// has been expired - /// - **network-request-failed**: - /// - Thrown if there was a network request error, for example the user - /// doesn't have internet connection - /// - **operation-not-allowed**: - /// - Thrown if email/password accounts are not enabled. Enable - /// email/password accounts in the Firebase Console, under the Auth tab. - Future createUserWithEmailAndPassword({ - required String email, - required String password, - }) async { - return UserCredential._( - this, - await _delegate.createUserWithEmailAndPassword(email, password), - ); - } - - /// Returns a UserCredential from the redirect-based sign-in flow. - /// - /// If sign-in succeeded, returns the signed in user. If sign-in was - /// unsuccessful, fails with an error. If no redirect operation was called, - /// returns a [UserCredential] with a null User. - /// - /// This method is only support on web platforms. - Future getRedirectResult() async { - return UserCredential._(this, await _delegate.getRedirectResult()); - } - - /// Checks if an incoming link is a sign-in with email link. - bool isSignInWithEmailLink(String emailLink) { - return _delegate.isSignInWithEmailLink(emailLink); - } - - /// Internal helper which pipes internal [Stream] events onto - /// a users own Stream. - Stream _pipeStreamChanges(Stream stream) { - return stream.map((delegateUser) { - if (delegateUser == null) { - return null; - } - - return User._(this, delegateUser); - }).asBroadcastStream(onCancel: (sub) => sub.cancel()); - } - - /// Notifies about changes to the user's sign-in state (such as sign-in or - /// sign-out). - Stream authStateChanges() => - _pipeStreamChanges(_delegate.authStateChanges()); - - /// Notifies about changes to the user's sign-in state (such as sign-in or - /// sign-out) and also token refresh events. - Stream idTokenChanges() => - _pipeStreamChanges(_delegate.idTokenChanges()); - - /// Notifies about changes to any user updates. - /// - /// This is a superset of both [authStateChanges] and [idTokenChanges]. It - /// provides events on all user changes, such as when credentials are linked, - /// unlinked and when updates to the user profile are made. The purpose of - /// this Stream is for listening to realtime updates to the user state - /// (signed-in, signed-out, different user & token refresh) without - /// manually having to call [reload] and then rehydrating changes to your - /// application. - Stream userChanges() => _pipeStreamChanges(_delegate.userChanges()); - - /// Sends a password reset email to the given email address. - /// - /// To complete the password reset, call [confirmPasswordReset] with the code supplied - /// in the email sent to the user, along with the new password specified by the user. - /// - /// If email enumeration protection is enabled for the Firebase project, this - /// method may complete successfully even when the email does not correspond - /// to an existing user. - /// - /// May throw a [FirebaseAuthException] with the following error codes: - /// - /// - **auth/invalid-email**\ - /// Thrown if the email address is not valid. - /// - **auth/missing-android-pkg-name**\ - /// An Android package name must be provided if the Android app is required to be installed. - /// - **auth/missing-continue-uri**\ - /// A continue URL must be provided in the request. - /// - **auth/missing-ios-bundle-id**\ - /// An iOS Bundle ID must be provided if an App Store ID is provided. - /// - **auth/invalid-continue-uri**\ - /// The continue URL provided in the request is invalid. - /// - **auth/unauthorized-continue-uri**\ - /// The domain of the continue URL is not whitelisted. Whitelist the domain in the Firebase console. - /// - **auth/user-not-found**\ - /// Thrown if there is no user corresponding to the email address. Note: This - /// exception is not thrown when email enumeration protection is enabled. - Future sendPasswordResetEmail({ - required String email, - ActionCodeSettings? actionCodeSettings, - }) { - return _delegate.sendPasswordResetEmail(email, actionCodeSettings); - } - - /// Sends a sign in with email link to provided email address. - /// - /// To complete the password reset, call [confirmPasswordReset] with the code - /// supplied in the email sent to the user, along with the new password - /// specified by the user. - /// - /// The [handleCodeInApp] of [actionCodeSettings] must be set to `true` - /// otherwise an [ArgumentError] will be thrown. - /// - /// A [FirebaseAuthException] maybe thrown with the following error code: - /// - **invalid-email**: - /// - Thrown if the email address is not valid. - Future sendSignInLinkToEmail({ - required String email, - required ActionCodeSettings actionCodeSettings, - }) async { - if (actionCodeSettings.handleCodeInApp != true) { - throw ArgumentError( - 'The [handleCodeInApp] value of [ActionCodeSettings] must be `true`.', - ); - } - - await _delegate.sendSignInLinkToEmail(email, actionCodeSettings); - } - - /// When set to null, sets the user-facing language code to be the default app language. - /// - /// The language code will propagate to email action templates (password - /// reset, email verification and email change revocation), SMS templates for - /// phone authentication, reCAPTCHA verifier and OAuth popup/redirect - /// operations provided the specified providers support localization with the - /// language code specified. - Future setLanguageCode(String? languageCode) { - return _delegate.setLanguageCode(languageCode); - } - - /// Updates the current instance with the provided settings. - /// - /// [appVerificationDisabledForTesting] This setting applies to Android, iOS and - /// web platforms. When set to `true`, this property disables app - /// verification for the purpose of testing phone authentication. For this - /// property to take effect, it needs to be set before handling a reCAPTCHA - /// app verifier. When this is disabled, a mock reCAPTCHA is rendered - /// instead. This is useful for manual testing during development or for - /// automated integration tests. - /// - /// In order to use this feature, you will need to - /// [whitelist your phone number](https://firebase.google.com/docs/auth/web/phone-auth?authuser=0#test-with-whitelisted-phone-numbers) - /// via the Firebase Console. - /// - /// The default value is `false` (app verification is enabled). - /// - /// [forceRecaptchaFlow] This setting applies to Android only. When set to 'true', - /// it forces the application verification to use the web reCAPTCHA flow for Phone Authentication. - /// Once this has been called, every call to PhoneAuthProvider#verifyPhoneNumber() will skip the SafetyNet verification flow and use the reCAPTCHA flow instead. - /// Calling this method a second time will overwrite the previously passed parameter. - /// - /// [phoneNumber] & [smsCode] These settings apply to Android only. The phone number and SMS code here must have been configured in the Firebase Console (Authentication > Sign In Method > Phone). - /// Once this has been called, every call to PhoneAuthProvider#verifyPhoneNumber() with the same phone number as the one that is configured here will have onVerificationCompleted() triggered as the callback. - /// Calling this method a second time will overwrite the previously passed parameters. Only one number can be configured at a given time. - /// Calling this method with either parameter set to null removes this functionality until valid parameters are passed. - /// Verifying a phone number other than the one configured here will trigger normal behavior. If the phone number is configured as a test phone number in the console, the regular testing flow occurs. Otherwise, normal phone number verification will take place. - /// When this is set and PhoneAuthProvider#verifyPhoneNumber() is called with a matching phone number, PhoneAuthProvider.OnVerificationStateChangedCallbacks.onCodeAutoRetrievalTimeOut(String) will never be called. - /// - /// [userAccessGroup] This setting only applies to iOS and MacOS platforms. - /// When set, it allows you to share authentication state between - /// applications. Set the property to your team group ID or set to `null` - /// to remove sharing capabilities. - /// - /// Key Sharing capabilities must be enabled for your app via XCode (Project - /// settings > Capabilities). To learn more, visit the - /// [Apple documentation](https://developer.apple.com/documentation/security/keychain_services/keychain_items/sharing_access_to_keychain_items_among_a_collection_of_apps). - Future setSettings({ - bool appVerificationDisabledForTesting = false, - String? userAccessGroup, - String? phoneNumber, - String? smsCode, - bool? forceRecaptchaFlow, - }) { - return _delegate.setSettings( - appVerificationDisabledForTesting: appVerificationDisabledForTesting, - userAccessGroup: userAccessGroup, - phoneNumber: phoneNumber, - smsCode: smsCode, - forceRecaptchaFlow: forceRecaptchaFlow, - ); - } - - /// Changes the current type of persistence on the current Auth instance for - /// the currently saved Auth session and applies this type of persistence for - /// future sign-in requests, including sign-in with redirect requests. - /// - /// This will return a promise that will resolve once the state finishes - /// copying from one type of storage to the other. Calling a sign-in method - /// after changing persistence will wait for that persistence change to - /// complete before applying it on the new Auth state. - /// - /// This makes it easy for a user signing in to specify whether their session - /// should be remembered or not. It also makes it easier to never persist the - /// Auth state for applications that are shared by other users or have - /// sensitive data. - /// - /// This is only supported on web based platforms. - Future setPersistence(Persistence persistence) async { - return _delegate.setPersistence(persistence); - } - - /// Asynchronously creates and becomes an anonymous user. - /// - /// If there is already an anonymous user signed in, that user will be - /// returned instead. If there is any other existing user signed in, that - /// user will be signed out. - /// - /// **Important**: You must enable Anonymous accounts in the Auth section - /// of the Firebase console before being able to use them. - /// - /// A [FirebaseAuthException] maybe thrown with the following error code: - /// - **operation-not-allowed**: - /// - Thrown if anonymous accounts are not enabled. Enable anonymous accounts - /// in the Firebase Console, under the Auth tab. - Future signInAnonymously() async { - return UserCredential._(this, await _delegate.signInAnonymously()); - } - - /// Asynchronously signs in to Firebase with the given 3rd-party credentials - /// (e.g. a Facebook login Access Token, a Google ID Token/Access Token pair, - /// etc.) and returns additional identity provider data. - /// - /// If successful, it also signs the user in into the app and updates - /// any [authStateChanges], [idTokenChanges] or [userChanges] stream - /// listeners. - /// - /// If the user doesn't have an account already, one will be created - /// automatically. - /// - /// **Important**: You must enable the relevant accounts in the Auth section - /// of the Firebase console before being able to use them. - /// - /// A [FirebaseAuthException] maybe thrown with the following error code: - /// - **account-exists-with-different-credential**: - /// - Thrown if there already exists an account with the email address - /// asserted by the credential. - // ignore: deprecated_member_use_from_same_package - /// Resolve this by asking - /// the user to sign in using one of the returned providers. - /// Once the user is signed in, the original credential can be linked to - /// the user with [linkWithCredential]. - /// - **invalid-credential**: - /// - Thrown if the credential is malformed or has expired. - /// - **operation-not-allowed**: - /// - Thrown if the type of account corresponding to the credential is not - /// enabled. Enable the account type in the Firebase Console, under the - /// Auth tab. - /// - **user-disabled**: - /// - Thrown if the user corresponding to the given credential has been - /// disabled. - /// - **user-not-found**: - /// - Thrown if signing in with a credential from [EmailAuthProvider.credential] - /// and there is no user corresponding to the given email. - /// - **wrong-password**: - /// - Thrown if signing in with a credential from [EmailAuthProvider.credential] - /// and the password is invalid for the given email, or if the account - /// corresponding to the email does not have a password set. - /// - **invalid-verification-code**: - /// - Thrown if the credential is a [PhoneAuthProvider.credential] and the - /// verification code of the credential is not valid. - /// - **invalid-verification-id**: - /// - Thrown if the credential is a [PhoneAuthProvider.credential] and the - /// verification ID of the credential is not valid. - Future signInWithCredential(AuthCredential credential) async { - try { - return UserCredential._( - this, - await _delegate.signInWithCredential(credential), - ); - } on FirebaseAuthMultiFactorExceptionPlatform catch (e) { - throw FirebaseAuthMultiFactorException._(this, e); - } catch (e) { - rethrow; - } - } - - /// Tries to sign in a user with a given custom token. - /// - /// Custom tokens are used to integrate Firebase Auth with existing auth - /// systems, and must be generated by the auth backend. - /// - /// If successful, it also signs the user in into the app and updates - /// any [authStateChanges], [idTokenChanges] or [userChanges] stream - /// listeners. - /// - /// If the user identified by the [uid] specified in the token doesn't - /// have an account already, one will be created automatically. - /// - /// Read how to use Custom Token authentication and the cases where it is - /// useful in [the guides](https://firebase.google.com/docs/auth/android/custom-auth). - /// - /// A [FirebaseAuthException] maybe thrown with the following error code: - /// - **custom-token-mismatch**: - /// - Thrown if the custom token is for a different Firebase App. - /// - **invalid-custom-token**: - /// - Thrown if the custom token format is incorrect. - Future signInWithCustomToken(String token) async { - try { - return UserCredential._( - this, await _delegate.signInWithCustomToken(token)); - } on FirebaseAuthMultiFactorExceptionPlatform catch (e) { - throw FirebaseAuthMultiFactorException._(this, e); - } catch (e) { - rethrow; - } - } - - /// Attempts to sign in a user with the given email address and password. - /// - /// If successful, it also signs the user in into the app and updates - /// any [authStateChanges], [idTokenChanges] or [userChanges] stream - /// listeners. - /// - /// **Important**: You must enable Email & Password accounts in the Auth - /// section of the Firebase console before being able to use them. - /// - /// A [FirebaseAuthException] maybe thrown with the following error code: - /// - **invalid-email**: - /// - Thrown if the email address is not valid. - /// - **user-disabled**: - /// - Thrown if the user corresponding to the given email has been disabled. - /// - **user-not-found** _(deprecated)_: - /// - Thrown if there is no user corresponding to the given email. - /// **Note:** This code is no longer returned on projects that have - /// [email enumeration protection](https://cloud.google.com/identity-platform/docs/admin/email-enumeration-protection) - /// enabled (the default for new projects since September 2023). - /// Use **invalid-credential** instead. - /// - **wrong-password** _(deprecated)_: - /// - Thrown if the password is invalid for the given email, or the account - /// corresponding to the email does not have a password set. - /// **Note:** This code is no longer returned on projects that have - /// [email enumeration protection](https://cloud.google.com/identity-platform/docs/admin/email-enumeration-protection) - /// enabled (the default for new projects since September 2023). - /// Use **invalid-credential** instead. - /// - **too-many-requests**: - /// - Thrown if the user sent too many requests at the same time, for security - /// the api will not allow too many attempts at the same time, user will have - /// to wait for some time - /// - **user-token-expired**: - /// - Thrown if the user is no longer authenticated since his refresh token - /// has been expired - /// - **network-request-failed**: - /// - Thrown if there was a network request error, for example the user - /// doesn't have internet connection - /// - **invalid-credential**: - /// - Thrown if the email or password is incorrect. On projects with - /// [email enumeration protection](https://cloud.google.com/identity-platform/docs/admin/email-enumeration-protection) - /// enabled (the default since September 2023), this replaces - /// **user-not-found** and **wrong-password** to prevent revealing - /// whether an account exists. On the Firebase emulator, the code may - /// appear as **INVALID_LOGIN_CREDENTIALS**. - /// - **operation-not-allowed**: - /// - Thrown if email/password accounts are not enabled. Enable - /// email/password accounts in the Firebase Console, under the Auth tab. - Future signInWithEmailAndPassword({ - required String email, - required String password, - }) async { - try { - return UserCredential._( - this, - await _delegate.signInWithEmailAndPassword(email, password), - ); - } on FirebaseAuthMultiFactorExceptionPlatform catch (e) { - throw FirebaseAuthMultiFactorException._(this, e); - } catch (e) { - rethrow; - } - } - - /// Signs in using an email address and email sign-in link. - /// - /// Fails with an error if the email address is invalid or OTP in email link - /// expires. - /// - /// Confirm the link is a sign-in email link before calling this method, - /// using [isSignInWithEmailLink]. - /// - /// A [FirebaseAuthException] maybe thrown with the following error code: - /// - **expired-action-code**: - /// - Thrown if OTP in email link expires. - /// - **invalid-email**: - /// - Thrown if the email address is not valid. - /// - **user-disabled**: - /// - Thrown if the user corresponding to the given email has been disabled. - Future signInWithEmailLink({ - required String email, - required String emailLink, - }) async { - try { - return UserCredential._( - this, - await _delegate.signInWithEmailLink(email, emailLink), - ); - } on FirebaseAuthMultiFactorExceptionPlatform catch (e) { - throw FirebaseAuthMultiFactorException._(this, e); - } catch (e) { - rethrow; - } - } - - /// Signs in with an AuthProvider using native authentication flow. - /// - /// A [FirebaseAuthException] maybe thrown with the following error code: - /// - **user-disabled**: - /// - Thrown if the user corresponding to the given email has been disabled. - Future signInWithProvider( - AuthProvider provider, - ) async { - try { - return UserCredential._( - this, - await _delegate.signInWithProvider(provider), - ); - } on FirebaseAuthMultiFactorExceptionPlatform catch (e) { - throw FirebaseAuthMultiFactorException._(this, e); - } catch (e) { - rethrow; - } - } - - /// Starts a sign-in flow for a phone number. - /// - /// You can optionally provide a [RecaptchaVerifier] instance to control the - /// reCAPTCHA widget appearance and behavior. - /// - /// Once the reCAPTCHA verification has completed, called [ConfirmationResult.confirm] - /// with the users SMS verification code to complete the authentication flow. - /// - /// This method is only available on web based platforms. - Future signInWithPhoneNumber( - String phoneNumber, [ - RecaptchaVerifier? verifier, - ]) async { - assert(phoneNumber.isNotEmpty); - // If we add a recaptcha to the page by creating a new instance, we must - // also clear that instance before proceeding. - bool mustClear = verifier == null; - verifier ??= RecaptchaVerifier(auth: _delegate); - final result = - await _delegate.signInWithPhoneNumber(phoneNumber, verifier.delegate); - if (mustClear) { - verifier.clear(); - } - return ConfirmationResult._(this, result); - } - - /// Authenticates a Firebase client using a popup-based OAuth authentication - /// flow. - /// - /// If succeeds, returns the signed in user along with the provider's - /// credential. - /// - /// This method is only available on web based platforms. - Future signInWithPopup(AuthProvider provider) async { - try { - return UserCredential._(this, await _delegate.signInWithPopup(provider)); - } on FirebaseAuthMultiFactorExceptionPlatform catch (e) { - throw FirebaseAuthMultiFactorException._(this, e); - } catch (e) { - rethrow; - } - } - - /// Authenticates a Firebase client using a full-page redirect flow. - /// - /// To handle the results and errors for this operation, refer to - /// [getRedirectResult]. - Future signInWithRedirect(AuthProvider provider) { - try { - return _delegate.signInWithRedirect(provider); - } on FirebaseAuthMultiFactorExceptionPlatform catch (e) { - throw FirebaseAuthMultiFactorException._(this, e); - } catch (e) { - rethrow; - } - } - - /// Checks a password reset code sent to the user by email or other - /// out-of-band mechanism. - /// - /// Returns the user's email address if valid. - /// - /// A [FirebaseAuthException] maybe thrown with the following error code: - /// - **expired-action-code**: - /// - Thrown if the password reset code has expired. - /// - **invalid-action-code**: - /// - Thrown if the password reset code is invalid. This can happen if the - /// code is malformed or has already been used. - /// - **user-disabled**: - /// - Thrown if the user corresponding to the given email has been disabled. - /// - **user-not-found**: - /// - Thrown if there is no user corresponding to the password reset code. - /// This may have happened if the user was deleted between when the code - /// was issued and when this method was called. - Future verifyPasswordResetCode(String code) { - return _delegate.verifyPasswordResetCode(code); - } - - /// Starts a phone number verification process for the given phone number. - /// - /// This method is used to verify that the user-provided phone number belongs - /// to the user. Firebase sends a code via SMS message to the phone number, - /// where you must then prompt the user to enter the code. The code can be - /// combined with the verification ID to create a [PhoneAuthProvider.credential] - /// which you can then use to sign the user in, or link with their account ( - /// see [signInWithCredential] or [linkWithCredential]). - /// - /// On some Android devices, auto-verification can be handled by the device - /// and a [PhoneAuthCredential] will be automatically provided. - /// - /// No duplicated SMS will be sent out unless a [forceResendingToken] is - /// provided. - /// - /// [phoneNumber] The phone number for the account the user is signing up - /// for or signing into. Make sure to pass in a phone number with country - /// code prefixed with plus sign ('+'). - /// Should be null if it's a multi-factor sign in. - /// - /// [multiFactorInfo] The multi factor info you're using to verify the phone number. - /// Should be set if a [multiFactorSession] is provided. - /// - /// [multiFactorSession] The multi factor session you're using to verify the phone number. - /// Should be set if a [multiFactorInfo] is provided. - /// - /// [timeout] The maximum amount of time you are willing to wait for SMS - /// auto-retrieval to be completed by the library. Maximum allowed value - /// is 2 minutes. - /// - /// [forceResendingToken] The [forceResendingToken] obtained from [codeSent] - /// callback to force re-sending another verification SMS before the - /// auto-retrieval timeout. - /// - /// [verificationCompleted] Triggered when an SMS is auto-retrieved or the - /// phone number has been instantly verified. The callback will receive an - /// [PhoneAuthCredential] that can be passed to [signInWithCredential] or - /// [linkWithCredential]. - /// - /// [verificationFailed] Triggered when an error occurred during phone number - /// verification. A [FirebaseAuthException] is provided when this is - /// triggered. - /// - /// [codeSent] Triggered when an SMS has been sent to the users phone, and - /// will include a [verificationId] and [forceResendingToken]. - /// - /// [codeAutoRetrievalTimeout] Triggered when SMS auto-retrieval times out and - /// provide a [verificationId]. - Future verifyPhoneNumber({ - String? phoneNumber, - PhoneMultiFactorInfo? multiFactorInfo, - required PhoneVerificationCompleted verificationCompleted, - required PhoneVerificationFailed verificationFailed, - required PhoneCodeSent codeSent, - required PhoneCodeAutoRetrievalTimeout codeAutoRetrievalTimeout, - @visibleForTesting String? autoRetrievedSmsCodeForTesting, - Duration timeout = const Duration(seconds: 30), - int? forceResendingToken, - MultiFactorSession? multiFactorSession, - }) { - assert( - phoneNumber != null || multiFactorInfo != null, - 'Either phoneNumber or multiFactorInfo must be provided.', - ); - return _delegate.verifyPhoneNumber( - phoneNumber: phoneNumber, - multiFactorInfo: multiFactorInfo, - timeout: timeout, - forceResendingToken: forceResendingToken, - verificationCompleted: verificationCompleted, - verificationFailed: verificationFailed, - codeSent: codeSent, - codeAutoRetrievalTimeout: codeAutoRetrievalTimeout, - // ignore: invalid_use_of_visible_for_testing_member - autoRetrievedSmsCodeForTesting: autoRetrievedSmsCodeForTesting, - multiFactorSession: multiFactorSession, - ); - } - - /// Apple only. Users signed in with Apple provider can revoke their token using an authorization code. - /// Authorization code can be retrieved on the user credential i.e. userCredential.additionalUserInfo.authorizationCode - Future revokeTokenWithAuthorizationCode(String authorizationCode) { - return _delegate.revokeTokenWithAuthorizationCode(authorizationCode); - } - - /// Android only. Revokes the provided accessToken. Currently supports revoking Apple-issued accessToken only. - Future revokeAccessToken(String accessToken) { - return _delegate.revokeAccessToken(accessToken); - } - - /// Signs out the current user. - /// - /// If successful, it also updates - /// any [authStateChanges], [idTokenChanges] or [userChanges] stream - /// listeners. - Future signOut() async { - await _delegate.signOut(); - } - - /// Initializes the reCAPTCHA Enterprise client proactively to enhance reCAPTCHA signal collection and - /// to complete reCAPTCHA-protected flows in a single attempt. - Future initializeRecaptchaConfig() { - return _delegate.initializeRecaptchaConfig(); - } - - /// Validates a password against the password policy configured for the project or tenant. - /// - /// If no tenant ID is set on the Auth instance, then this method will use the password policy configured for the project. - /// Otherwise, this method will use the policy configured for the tenant. If a password policy has not been configured, - /// then the default policy configured for all projects will be used. - /// - /// If an auth flow fails because a submitted password does not meet the password policy requirements and this method has previously been called, - /// then this method will use the most recent policy available when called again. - /// - /// Returns a map with the following keys: - /// - **status**: A boolean indicating if the password is valid. - /// - **passwordPolicy**: The password policy used to validate the password. - /// - **meetsMinPasswordLength**: A boolean indicating if the password meets the minimum length requirement. - /// - **meetsMaxPasswordLength**: A boolean indicating if the password meets the maximum length requirement. - /// - **meetsLowercaseRequirement**: A boolean indicating if the password meets the lowercase requirement. - /// - **meetsUppercaseRequirement**: A boolean indicating if the password meets the uppercase requirement. - /// - **meetsDigitsRequirement**: A boolean indicating if the password meets the digits requirement. - /// - **meetsSymbolsRequirement**: A boolean indicating if the password meets the symbols requirement. - /// - /// A [FirebaseAuthException] maybe thrown with the following error code: - /// - **invalid-password**: - /// - Thrown if the password is invalid. - /// - **network-request-failed**: - /// - Thrown if there was a network request error, for example the user - /// doesn't have internet connection - /// - **INVALID_LOGIN_CREDENTIALS** or **invalid-credential**: - /// - Thrown if the password is invalid for the given email, or the account - /// corresponding to the email does not have a password set. - /// Depending on if you are using firebase emulator or not the code is - /// different - /// - **operation-not-allowed**: - /// - Thrown if email/password accounts are not enabled. Enable - /// email/password accounts in the Firebase Console, under the Auth tab. - Future validatePassword( - FirebaseAuth auth, - String? password, - ) async { - if (password == null || password.isEmpty) { - throw FirebaseAuthException( - code: 'invalid-password', - message: 'Password cannot be null or empty', - ); - } - PasswordPolicyApi passwordPolicyApi = - PasswordPolicyApi(auth.app.options.apiKey); - PasswordPolicy passwordPolicy = - await passwordPolicyApi.fetchPasswordPolicy(); - PasswordPolicyImpl passwordPolicyImpl = PasswordPolicyImpl(passwordPolicy); - return passwordPolicyImpl.isPasswordValid(password); - } - - @override - String toString() { - return 'FirebaseAuth(app: ${app.name})'; - } -} diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/lib/src/multi_factor.dart b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/lib/src/multi_factor.dart deleted file mode 100644 index 4610e284..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/lib/src/multi_factor.dart +++ /dev/null @@ -1,213 +0,0 @@ -// Copyright 2022, the Chromium project authors. Please see the AUTHORS file -// for details. All rights reserved. Use of this source code is governed by a -// BSD-style license that can be found in the LICENSE file. - -part of '../firebase_auth.dart'; - -/// Defines multi-factor related properties and operations pertaining to a [User]. -/// This class acts as the main entry point for enrolling or un-enrolling -/// second factors for a user, and provides access to their currently enrolled factors. -class MultiFactor { - MultiFactorPlatform _delegate; - - MultiFactor._(this._delegate); - - /// Returns a session identifier for a second factor enrollment operation. - Future getSession() { - return _delegate.getSession(); - } - - /// Enrolls a second factor as identified by the [MultiFactorAssertion] parameter for the current user. - /// - /// [displayName] can be used to provide a display name for the second factor. - Future enroll( - MultiFactorAssertion assertion, { - String? displayName, - }) async { - if (assertion._delegate is TotpMultiFactorGeneratorPlatform) { - assert(displayName != null, 'displayName is mandatory for TOTP'); - } - return _delegate.enroll(assertion._delegate, displayName: displayName); - } - - /// Unenrolls a second factor from this user. - /// - /// [factorUid] is the unique identifier of the second factor to unenroll. - /// [multiFactorInfo] is the [MultiFactorInfo] of the second factor to unenroll. - /// Only one of [factorUid] or [multiFactorInfo] should be provided. - Future unenroll({String? factorUid, MultiFactorInfo? multiFactorInfo}) { - assert( - (factorUid != null && multiFactorInfo == null) || - (factorUid == null && multiFactorInfo != null), - 'Exactly one of `factorUid` or `multiFactorInfo` must be provided', - ); - return _delegate.unenroll( - factorUid: factorUid, - multiFactorInfo: multiFactorInfo, - ); - } - - /// Returns a list of the [MultiFactorInfo] already associated with this user. - Future> getEnrolledFactors() { - return _delegate.getEnrolledFactors(); - } -} - -/// Provider for generating a PhoneMultiFactorAssertion. -class PhoneMultiFactorGenerator { - /// Transforms a PhoneAuthCredential into a [MultiFactorAssertion] - /// which can be used to confirm ownership of a phone second factor. - static MultiFactorAssertion getAssertion( - PhoneAuthCredential credential, - ) { - final assertion = - PhoneMultiFactorGeneratorPlatform.instance.getAssertion(credential); - return MultiFactorAssertion._(assertion); - } -} - -/// Provider for generating a PhoneMultiFactorAssertion. -class TotpMultiFactorGenerator { - /// Transforms a PhoneAuthCredential into a [MultiFactorAssertion] - /// which can be used to confirm ownership of a phone second factor. - static Future generateSecret( - MultiFactorSession session, - ) async { - final secret = - await TotpMultiFactorGeneratorPlatform.instance.generateSecret(session); - return TotpSecret._( - secret.codeIntervalSeconds, - secret.codeLength, - secret.enrollmentCompletionDeadline, - secret.hashingAlgorithm, - secret.secretKey, - secret, - ); - } - - /// Get a [MultiFactorAssertion] - /// which can be used to confirm ownership of a TOTP second factor. - static Future getAssertionForEnrollment( - TotpSecret secret, - String oneTimePassword, - ) async { - final assertion = await TotpMultiFactorGeneratorPlatform.instance - .getAssertionForEnrollment( - secret._instance, - oneTimePassword, - ); - - return MultiFactorAssertion._(assertion); - } - - /// Get a [MultiFactorAssertion] - /// which can be used to confirm ownership of a TOTP second factor. - static Future getAssertionForSignIn( - String enrollmentId, - String oneTimePassword, - ) async { - final assertion = - await TotpMultiFactorGeneratorPlatform.instance.getAssertionForSignIn( - enrollmentId, - oneTimePassword, - ); - - return MultiFactorAssertion._(assertion); - } -} - -class TotpSecret { - final TotpSecretPlatform _instance; - - final int? codeIntervalSeconds; - final int? codeLength; - final DateTime? enrollmentCompletionDeadline; - final String? hashingAlgorithm; - final String secretKey; - - TotpSecret._( - this.codeIntervalSeconds, - this.codeLength, - this.enrollmentCompletionDeadline, - this.hashingAlgorithm, - this.secretKey, - this._instance, - ); - - /// Generate a TOTP secret for the authenticated user. - Future generateQrCodeUrl({ - String? accountName, - String? issuer, - }) { - return _instance.generateQrCodeUrl( - accountName: accountName, - issuer: issuer, - ); - } - - /// Opens the specified QR Code URL in a password manager like iCloud Keychain. - Future openInOtpApp( - String qrCodeUrl, - ) async { - await _instance.openInOtpApp( - qrCodeUrl, - ); - } -} - -/// Represents an assertion that the Firebase Authentication server -/// can use to authenticate a user as part of a multi-factor flow. -class MultiFactorAssertion { - final MultiFactorAssertionPlatform _delegate; - - MultiFactorAssertion._(this._delegate) { - MultiFactorAssertionPlatform.verify(_delegate); - } -} - -/// Utility class that contains methods to resolve second factor -/// requirements on users that have opted into two-factor authentication. -class MultiFactorResolver { - final FirebaseAuth _auth; - final MultiFactorResolverPlatform _delegate; - - MultiFactorResolver._(this._auth, this._delegate) { - MultiFactorResolverPlatform.verify(_delegate); - } - - /// List of [MultiFactorInfo] which represents the available - /// second factors that can be used to complete the sign-in for the current session. - List get hints => _delegate.hints; - - /// A MultiFactorSession, an opaque session identifier for the current sign-in flow. - MultiFactorSession get session => _delegate.session; - - /// Completes sign in with a second factor using an MultiFactorAssertion which - /// confirms that the user has successfully completed the second factor challenge. - Future resolveSignIn( - MultiFactorAssertion assertion, - ) async { - final credential = await _delegate.resolveSignIn(assertion._delegate); - return UserCredential._(_auth, credential); - } -} - -/// MultiFactor exception related to Firebase Authentication. Check the error code -/// and message for more details. -class FirebaseAuthMultiFactorException extends FirebaseAuthException { - final FirebaseAuth _auth; - final FirebaseAuthMultiFactorExceptionPlatform _delegate; - - FirebaseAuthMultiFactorException._(this._auth, this._delegate) - : super( - code: _delegate.code, - message: _delegate.message, - email: _delegate.email, - credential: _delegate.credential, - phoneNumber: _delegate.phoneNumber, - tenantId: _delegate.tenantId, - ); - - MultiFactorResolver get resolver => - MultiFactorResolver._(_auth, _delegate.resolver); -} diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/lib/src/recaptcha_verifier.dart b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/lib/src/recaptcha_verifier.dart deleted file mode 100644 index 8c86d794..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/lib/src/recaptcha_verifier.dart +++ /dev/null @@ -1,100 +0,0 @@ -// ignore_for_file: require_trailing_commas -// Copyright 2020 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -part of '../firebase_auth.dart'; - -/// An [reCAPTCHA](https://www.google.com/recaptcha/?authuser=0)-based -/// application verifier. -class RecaptchaVerifier { - static final RecaptchaVerifierFactoryPlatform _factory = - RecaptchaVerifierFactoryPlatform.instance; - - RecaptchaVerifier._(this._delegate); - - RecaptchaVerifierFactoryPlatform _delegate; - - /// Creates a new [RecaptchaVerifier] instance used to render a reCAPTCHA widget - /// when calling [signInWithPhoneNumber]. - /// - /// It is possible to configure the reCAPTCHA widget with the following arguments, - /// however if no arguments are provided, an "invisible" reCAPTCHA widget with - /// defaults will be created. - /// - /// [container] If a value is provided, the element must exist in the DOM when - /// [render] or [signInWithPhoneNumber] is called. The reCAPTCHA widget will - /// be rendered within the specified DOM element. - /// - /// If no value is provided, an "invisible" reCAPTCHA will be shown when [render] - /// is called. An invisible reCAPTCHA widget is shown a modal on-top of your - /// application. - /// - /// [size] When providing a custom [container], a size (normal or compact) can - /// be provided to change the size of the reCAPTCHA widget. This has no effect - /// when a [container] is not provided. Defaults to [RecaptchaVerifierSize.normal]. - /// - /// [theme] When providing a custom [container], a theme (light or dark) can - /// be provided to change the appearance of the reCAPTCHA widget. This has no - /// effect when a [container] is not provided. Defaults to [RecaptchaVerifierTheme.light]. - /// - /// [onSuccess] An optional callback which is called when the user successfully - /// completes the reCAPTCHA widget. - /// - /// [onError] An optional callback which is called when the reCAPTCHA widget errors - /// (such as a network issue). - /// - /// [onExpired] An optional callback which is called when the reCAPTCHA expires. - factory RecaptchaVerifier({ - required FirebaseAuthPlatform auth, - String? container, - RecaptchaVerifierSize size = RecaptchaVerifierSize.normal, - RecaptchaVerifierTheme theme = RecaptchaVerifierTheme.light, - RecaptchaVerifierOnSuccess? onSuccess, - RecaptchaVerifierOnError? onError, - RecaptchaVerifierOnExpired? onExpired, - }) { - return RecaptchaVerifier._( - _factory.delegateFor( - auth: auth, - container: container, - size: size, - theme: theme, - onSuccess: onSuccess, - onError: onError, - onExpired: onExpired, - ), - ); - } - - /// Returns the underlying factory delegate instance. - @protected - RecaptchaVerifierFactoryPlatform get delegate { - return _delegate; - } - - /// The application verifier type. For a reCAPTCHA verifier, this is - /// 'recaptcha'. - String get type { - return _delegate.type; - } - - /// Clears the reCAPTCHA widget from the page and destroys the current - /// instance. - void clear() { - return _delegate.clear(); - } - - /// Renders the reCAPTCHA widget on the page. - /// - /// Returns a [Future] that resolves with the reCAPTCHA widget ID. - Future render() async { - return _delegate.render(); - } - - /// Waits for the user to solve the reCAPTCHA and resolves with the reCAPTCHA - /// token. - Future verify() async { - return _delegate.verify(); - } -} diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/lib/src/user.dart b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/lib/src/user.dart deleted file mode 100644 index 9b7ccdb7..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/lib/src/user.dart +++ /dev/null @@ -1,685 +0,0 @@ -// ignore_for_file: require_trailing_commas -// Copyright 2020 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -part of '../firebase_auth.dart'; - -/// A user account. -class User { - UserPlatform _delegate; - - final FirebaseAuth _auth; - MultiFactor? _multiFactor; - - User._(this._auth, this._delegate) { - UserPlatform.verify(_delegate); - } - - /// The users display name. - /// - /// Will be `null` if signing in anonymously or via password authentication. - String? get displayName { - return _delegate.displayName; - } - - /// The users email address. - /// - /// Will be `null` if signing in anonymously. - String? get email { - return _delegate.email; - } - - /// Returns whether the users email address has been verified. - /// - /// To send a verification email, see [sendEmailVerification]. - /// - /// Once verified, call [reload] to ensure the latest user information is - /// retrieved from Firebase. - bool get emailVerified { - return _delegate.isEmailVerified; - } - - /// Returns whether the user is a anonymous. - bool get isAnonymous { - return _delegate.isAnonymous; - } - - /// Returns additional metadata about the user, such as their creation time. - UserMetadata get metadata { - return _delegate.metadata; - } - - /// Returns the users phone number. - /// - /// This property will be `null` if the user has not signed in or been has - /// their phone number linked. - String? get phoneNumber { - return _delegate.phoneNumber; - } - - /// Returns a photo URL for the user. - /// - /// This property will be populated if the user has signed in or been linked - /// with a 3rd party OAuth provider (such as Google). - String? get photoURL { - return _delegate.photoURL; - } - - /// Returns a list of user information for each linked provider. - List get providerData { - return _delegate.providerData; - } - - /// Returns a JWT refresh token for the user. - /// - /// This property will be an empty string for native platforms (android, iOS & macOS) as they do not - /// support refresh tokens. - String? get refreshToken { - return _delegate.refreshToken; - } - - /// The current user's tenant ID. - /// - /// This is a read-only property, which indicates the tenant ID used to sign - /// in the current user. This is `null` if the user is signed in from the - /// parent project. - String? get tenantId { - return _delegate.tenantId; - } - - /// The user's unique ID. - String get uid { - return _delegate.uid; - } - - /// Deletes and signs out the user. - /// - /// **Important**: this is a security-sensitive operation that requires the - /// user to have recently signed in. If this requirement isn't met, ask the - /// user to authenticate again and then call [User.reauthenticateWithCredential]. - /// - /// A [FirebaseAuthException] maybe thrown with the following error code: - /// - **requires-recent-login**: - /// - Thrown if the user's last sign-in time does not meet the security - /// threshold. Use [User.reauthenticateWithCredential] to resolve. This - /// does not apply if the user is anonymous. - Future delete() async { - return _delegate.delete(); - } - - /// Returns a JSON Web Token (JWT) used to identify the user to a Firebase - /// service. - /// - /// Returns the current token if it has not expired. Otherwise, this will - /// refresh the token and return a new one. - /// - /// If [forceRefresh] is `true`, the token returned will be refreshed regardless - /// of token expiration. - Future getIdToken([bool forceRefresh = false]) { - return _delegate.getIdToken(forceRefresh); - } - - /// Returns a [IdTokenResult] containing the users JSON Web Token (JWT) and - /// other metadata. - /// - /// Returns the current token if it has not expired. Otherwise, this will - /// refresh the token and return a new one. - /// - /// If [forceRefresh] is `true`, the token returned will be refreshed regardless - /// of token expiration. - Future getIdTokenResult([bool forceRefresh = false]) { - return _delegate.getIdTokenResult(forceRefresh); - } - - /// Links the user account with the given credentials. - /// - /// A [FirebaseAuthException] maybe thrown with the following error code: - /// - **provider-already-linked**: - /// - Thrown if the provider has already been linked to the user. This error - /// is thrown even if this is not the same provider's account that is - /// currently linked to the user. - /// - **invalid-credential**: - /// - Thrown if the provider's credential is not valid. This can happen if it - /// has already expired when calling link, or if it used invalid token(s). - /// See the Firebase documentation for your provider, and make sure you - /// pass in the correct parameters to the credential method. - /// - **credential-already-in-use**: - /// - Thrown if the account corresponding to the credential already exists - /// among your users, or is already linked to a Firebase User. For example, - /// this error could be thrown if you are upgrading an anonymous user to a - /// Google user by linking a Google credential to it and the Google - /// credential used is already associated with an existing Firebase Google - /// user. The fields `email`, `phoneNumber`, and `credential` - /// ([AuthCredential]) may be provided, depending on the type of - /// credential. You can recover from this error by signing in with - /// `credential` directly via [signInWithCredential]. Please note, you will - /// not recover from this error if you're using a [PhoneAuthCredential] to link - /// a provider to an account. Once an attempt to link an account has been made, - /// a new sms code is required to sign in the user. - /// - **email-already-in-use**: - /// - Thrown if the email corresponding to the credential already exists - /// among your users. When thrown while linking a credential to an existing - /// user, an `email` and `credential` ([AuthCredential]) fields are also - /// provided. You have to link the credential to the existing user with - /// that email if you wish to continue signing in with that credential. To - /// do so, sign in to `email` via one of - /// the providers returned and then [User.linkWithCredential] the original - /// credential to that newly signed in user. - /// - **operation-not-allowed**: - /// - Thrown if you have not enabled the provider in the Firebase Console. Go - /// to the Firebase Console for your project, in the Auth section and the - /// Sign in Method tab and configure the provider. - /// - **invalid-email**: - /// - Thrown if the email used in a [EmailAuthProvider.credential] is - /// invalid. - /// - **invalid-email**: - /// - Thrown if the password used in a [EmailAuthProvider.credential] is not - /// correct or when the user associated with the email does not have a - /// password. - /// - **invalid-verification-code**: - /// - Thrown if the credential is a [PhoneAuthProvider.credential] and the - /// verification code of the credential is not valid. - /// - **invalid-verification-id**: - /// - Thrown if the credential is a [PhoneAuthProvider.credential] and the - /// verification ID of the credential is not valid. - Future linkWithCredential(AuthCredential credential) async { - try { - return UserCredential._( - _auth, - await _delegate.linkWithCredential(credential), - ); - } on FirebaseAuthMultiFactorExceptionPlatform catch (e) { - throw FirebaseAuthMultiFactorException._(_auth, e); - } catch (e) { - rethrow; - } - } - - /// Links with an AuthProvider using native authentication flow. - /// On web, you should use [linkWithPopup] or [linkWithRedirect] instead. - /// - /// A [FirebaseAuthException] maybe thrown with the following error code: - /// - **provider-already-linked**: - /// - Thrown if the provider has already been linked to the user. This error - /// is thrown even if this is not the same provider's account that is - /// currently linked to the user. - /// - **invalid-credential**: - /// - Thrown if the provider's credential is not valid. This can happen if it - /// has already expired when calling link, or if it used invalid token(s). - /// See the Firebase documentation for your provider, and make sure you - /// pass in the correct parameters to the credential method. - /// - **credential-already-in-use**: - /// - Thrown if the account corresponding to the credential already exists - /// among your users, or is already linked to a Firebase User. For example, - /// this error could be thrown if you are upgrading an anonymous user to a - /// Google user by linking a Google credential to it and the Google - /// credential used is already associated with an existing Firebase Google - /// user. The fields `email`, `phoneNumber`, and `credential` - /// ([AuthCredential]) may be provided, depending on the type of - /// credential. You can recover from this error by signing in with - /// `credential` directly via [signInWithCredential]. - /// - **email-already-in-use**: - /// - Thrown if the email corresponding to the credential already exists - /// among your users. When thrown while linking a credential to an existing - /// user, an `email` and `credential` ([AuthCredential]) fields are also - /// provided. You have to link the credential to the existing user with - /// that email if you wish to continue signing in with that credential. - /// To do so, sign in to `email` via one - /// of the providers and then [User.linkWithCredential] the - /// original credential to that newly signed in user. - /// - **operation-not-allowed**: - /// - Thrown if you have not enabled the provider in the Firebase Console. Go - /// to the Firebase Console for your project, in the Auth section and the - /// Sign in Method tab and configure the provider. - Future linkWithProvider( - AuthProvider provider, - ) async { - try { - return UserCredential._( - _auth, - await _delegate.linkWithProvider(provider), - ); - } on FirebaseAuthMultiFactorExceptionPlatform catch (e) { - throw FirebaseAuthMultiFactorException._(_auth, e); - } catch (e) { - rethrow; - } - } - - /// Re-authenticates a user using a Provider. - /// - /// Use before operations such as [User.updatePassword] that require tokens - /// from recent sign-in attempts. - /// - /// A [FirebaseAuthException] maybe thrown with the following error code: - /// - **user-mismatch**: - /// - Thrown if the credential given does not correspond to the user. - /// - **user-not-found**: - /// - Thrown if the credential given does not correspond to any existing - /// user. - /// - **invalid-credential**: - /// - Thrown if the provider's credential is not valid. This can happen if it - /// has already expired when calling link, or if it used invalid token(s). - /// See the Firebase documentation for your provider, and make sure you - /// pass in the correct parameters to the credential method. - /// - **invalid-email**: - /// - Thrown if the email used in a [EmailAuthProvider.credential] is - /// invalid. - /// - **wrong-password**: - /// - Thrown if the password used in a [EmailAuthProvider.credential] is not - /// correct or when the user associated with the email does not have a - /// password. - /// - **invalid-verification-code**: - /// - Thrown if the credential is a [PhoneAuthProvider.credential] and the - /// verification code of the credential is not valid. - /// - **invalid-verification-id**: - /// - Thrown if the credential is a [PhoneAuthProvider.credential] and the - /// verification ID of the credential is not valid. - Future reauthenticateWithProvider( - AuthProvider provider, - ) async { - try { - return UserCredential._( - _auth, - await _delegate.reauthenticateWithProvider(provider), - ); - } on FirebaseAuthMultiFactorExceptionPlatform catch (e) { - throw FirebaseAuthMultiFactorException._(_auth, e); - } catch (e) { - rethrow; - } - } - - /// Re-authenticates a user using a popup on Web. - /// - /// Use before operations such as [User.updatePassword] that require tokens - /// from recent sign-in attempts. - /// - /// A [FirebaseAuthException] maybe thrown with the following error code: - /// - **user-mismatch**: - /// - Thrown if the credential given does not correspond to the user. - /// - **user-not-found**: - /// - Thrown if the credential given does not correspond to any existing - /// user. - /// - **invalid-credential**: - /// - Thrown if the provider's credential is not valid. This can happen if it - /// has already expired when calling link, or if it used invalid token(s). - /// See the Firebase documentation for your provider, and make sure you - /// pass in the correct parameters to the credential method. - /// - **invalid-email**: - /// - Thrown if the email used in a [EmailAuthProvider.credential] is - /// invalid. - /// - **wrong-password**: - /// - Thrown if the password used in a [EmailAuthProvider.credential] is not - /// correct or when the user associated with the email does not have a - /// password. - /// - **invalid-verification-code**: - /// - Thrown if the credential is a [PhoneAuthProvider.credential] and the - /// verification code of the credential is not valid. - /// - **invalid-verification-id**: - /// - Thrown if the credential is a [PhoneAuthProvider.credential] and the - /// verification ID of the credential is not valid. - Future reauthenticateWithPopup( - AuthProvider provider, - ) async { - return UserCredential._( - _auth, - await _delegate.reauthenticateWithPopup(provider), - ); - } - - /// Re-authenticates a user using a redirection on Web. - /// - /// Use before operations such as [User.updatePassword] that require tokens - /// from recent sign-in attempts. - /// - /// A [FirebaseAuthException] maybe thrown with the following error code: - /// - **user-mismatch**: - /// - Thrown if the credential given does not correspond to the user. - /// - **user-not-found**: - /// - Thrown if the credential given does not correspond to any existing - /// user. - /// - **invalid-credential**: - /// - Thrown if the provider's credential is not valid. This can happen if it - /// has already expired when calling link, or if it used invalid token(s). - /// See the Firebase documentation for your provider, and make sure you - /// pass in the correct parameters to the credential method. - /// - **invalid-email**: - /// - Thrown if the email used in a [EmailAuthProvider.credential] is - /// invalid. - /// - **wrong-password**: - /// - Thrown if the password used in a [EmailAuthProvider.credential] is not - /// correct or when the user associated with the email does not have a - /// password. - /// - **invalid-verification-code**: - /// - Thrown if the credential is a [PhoneAuthProvider.credential] and the - /// verification code of the credential is not valid. - /// - **invalid-verification-id**: - /// - Thrown if the credential is a [PhoneAuthProvider.credential] and the - /// verification ID of the credential is not valid. - Future reauthenticateWithRedirect( - AuthProvider provider, - ) async { - await _delegate.reauthenticateWithRedirect(provider); - } - - /// Links the user account with the given provider. - /// - /// A [FirebaseAuthException] maybe thrown with the following error code: - /// - **provider-already-linked**: - /// - Thrown if the provider has already been linked to the user. This error - /// is thrown even if this is not the same provider's account that is - /// currently linked to the user. - /// - **invalid-credential**: - /// - Thrown if the provider's credential is not valid. This can happen if it - /// has already expired when calling link, or if it used invalid token(s). - /// See the Firebase documentation for your provider, and make sure you - /// pass in the correct parameters to the credential method. - /// - **credential-already-in-use**: - /// - Thrown if the account corresponding to the credential already exists - /// among your users, or is already linked to a Firebase User. For example, - /// this error could be thrown if you are upgrading an anonymous user to a - /// Google user by linking a Google credential to it and the Google - /// credential used is already associated with an existing Firebase Google - /// user. The fields `email`, `phoneNumber`, and `credential` - /// ([AuthCredential]) may be provided, depending on the type of - /// credential. You can recover from this error by signing in with - /// `credential` directly via [signInWithCredential]. - /// - **email-already-in-use**: - /// - Thrown if the email corresponding to the credential already exists - /// among your users. When thrown while linking a credential to an existing - /// user, an `email` and `credential` ([AuthCredential]) fields are also - /// provided. You have to link the credential to the existing user with - /// that email if you wish to continue signing in with that credential. - /// To do so, sign in to `email` via one - /// of the providers and then [User.linkWithCredential] the - /// original credential to that newly signed in user. - /// - **operation-not-allowed**: - /// - Thrown if you have not enabled the provider in the Firebase Console. Go - /// to the Firebase Console for your project, in the Auth section and the - /// Sign in Method tab and configure the provider. - Future linkWithPopup(AuthProvider provider) async { - try { - return UserCredential._( - _auth, - await _delegate.linkWithPopup(provider), - ); - } on FirebaseAuthMultiFactorExceptionPlatform catch (e) { - throw FirebaseAuthMultiFactorException._(_auth, e); - } catch (e) { - rethrow; - } - } - - /// Links the user account with the given provider. - /// - /// A [FirebaseAuthException] maybe thrown with the following error code: - /// - **provider-already-linked**: - /// - Thrown if the provider has already been linked to the user. This error - /// is thrown even if this is not the same provider's account that is - /// currently linked to the user. - /// - **invalid-credential**: - /// - Thrown if the provider's credential is not valid. This can happen if it - /// has already expired when calling link, or if it used invalid token(s). - /// See the Firebase documentation for your provider, and make sure you - /// pass in the correct parameters to the credential method. - /// - **credential-already-in-use**: - /// - Thrown if the account corresponding to the credential already exists - /// among your users, or is already linked to a Firebase User. For example, - /// this error could be thrown if you are upgrading an anonymous user to a - /// Google user by linking a Google credential to it and the Google - /// credential used is already associated with an existing Firebase Google - /// user. The fields `email`, `phoneNumber`, and `credential` - /// ([AuthCredential]) may be provided, depending on the type of - /// credential. You can recover from this error by signing in with - /// `credential` directly via [signInWithCredential]. - /// - **email-already-in-use**: - /// - Thrown if the email corresponding to the credential already exists - /// among your users. When thrown while linking a credential to an existing - /// user, an `email` and `credential` ([AuthCredential]) fields are also - /// provided. You have to link the credential to the existing user with - /// that email if you wish to continue signing in with that credential. - /// To do so, sign in to `email` via one - /// of the providers and then [User.linkWithCredential] the - /// original credential to that newly signed in user. - /// - **operation-not-allowed**: - /// - Thrown if you have not enabled the provider in the Firebase Console. Go - /// to the Firebase Console for your project, in the Auth section and the - /// Sign in Method tab and configure the provider. - Future linkWithRedirect(AuthProvider provider) async { - try { - await _delegate.linkWithRedirect(provider); - } on FirebaseAuthMultiFactorExceptionPlatform catch (e) { - throw FirebaseAuthMultiFactorException._(_auth, e); - } catch (e) { - rethrow; - } - } - - /// Links the user account with the given phone number. - /// - /// This method is only supported on web platforms. Use [verifyPhoneNumber] and - /// then [linkWithCredential] on these platforms. - /// - /// A [FirebaseAuthException] maybe thrown with the following error code: - /// - **provider-already-linked**: - /// - Thrown if the provider has already been linked to the user. This error - /// is thrown even if this is not the same provider's account that is - /// currently linked to the user. - /// - **captcha-check-failed**: - /// - Thrown if the reCAPTCHA response token was invalid, expired, or if this - /// method was called from a non-whitelisted domain. - /// - **invalid-phone-number**: - /// - Thrown if the phone number has an invalid format. - /// - **quota-exceeded**: - /// - Thrown if the SMS quota for the Firebase project has been exceeded. - /// - **user-disabled**: - /// - Thrown if the user corresponding to the given phone number has been disabled. - /// - **credential-already-in-use**: - /// - Thrown if the account corresponding to the phone number already exists - /// among your users, or is already linked to a Firebase User. - /// - **operation-not-allowed**: - /// - Thrown if you have not enabled the phone authentication provider in the - /// Firebase Console. Go to the Firebase Console for your project, in the Auth - /// section and the Sign in Method tab and configure the provider. - Future linkWithPhoneNumber( - String phoneNumber, [ - RecaptchaVerifier? verifier, - ]) async { - assert(phoneNumber.isNotEmpty); - // If we add a recaptcha to the page by creating a new instance, we must - // also clear that instance before proceeding. - bool mustClear = verifier == null; - verifier ??= RecaptchaVerifier(auth: _delegate.auth); - try { - final result = - await _delegate.linkWithPhoneNumber(phoneNumber, verifier.delegate); - if (mustClear) { - verifier.clear(); - } - return ConfirmationResult._(_auth, result); - } on FirebaseAuthMultiFactorExceptionPlatform catch (e) { - throw FirebaseAuthMultiFactorException._(_auth, e); - } catch (e) { - rethrow; - } - } - - /// Re-authenticates a user using a fresh credential. - /// - /// Use before operations such as [User.updatePassword] that require tokens - /// from recent sign-in attempts. - /// - /// A [FirebaseAuthException] maybe thrown with the following error code: - /// - **user-mismatch**: - /// - Thrown if the credential given does not correspond to the user. - /// - **user-not-found**: - /// - Thrown if the credential given does not correspond to any existing - /// user. - /// - **invalid-credential**: - /// - Thrown if the provider's credential is not valid. This can happen if it - /// has already expired when calling link, or if it used invalid token(s). - /// See the Firebase documentation for your provider, and make sure you - /// pass in the correct parameters to the credential method. - /// - **invalid-email**: - /// - Thrown if the email used in a [EmailAuthProvider.credential] is - /// invalid. - /// - **wrong-password**: - /// - Thrown if the password used in a [EmailAuthProvider.credential] is not - /// correct or when the user associated with the email does not have a - /// password. - /// - **invalid-verification-code**: - /// - Thrown if the credential is a [PhoneAuthProvider.credential] and the - /// verification code of the credential is not valid. - /// - **invalid-verification-id**: - /// - Thrown if the credential is a [PhoneAuthProvider.credential] and the - /// verification ID of the credential is not valid. - Future reauthenticateWithCredential( - AuthCredential credential, - ) async { - try { - return UserCredential._( - _auth, - await _delegate.reauthenticateWithCredential(credential), - ); - } on FirebaseAuthMultiFactorExceptionPlatform catch (e) { - throw FirebaseAuthMultiFactorException._(_auth, e); - } catch (e) { - rethrow; - } - } - - /// Refreshes the current user, if signed in. - Future reload() async { - await _delegate.reload(); - } - - /// Sends a verification email to a user. - /// - /// The verification process is completed by calling [applyActionCode]. - Future sendEmailVerification([ - ActionCodeSettings? actionCodeSettings, - ]) async { - await _delegate.sendEmailVerification(actionCodeSettings); - } - - /// Unlinks a provider from a user account. - /// - /// A [FirebaseAuthException] maybe thrown with the following error code: - /// - **no-such-provider**: - /// - Thrown if the user does not have this provider linked or when the - /// provider ID given does not exist. - Future unlink(String providerId) async { - return User._(_auth, await _delegate.unlink(providerId)); - } - - /// Updates the user's email address. - /// - /// An email will be sent to the original email address (if it was set) that - /// allows to revoke the email address change, in order to protect them from - /// account hijacking. - /// - /// **Important**: this is a security sensitive operation that requires the - /// user to have recently signed in. If this requirement isn't met, ask the - /// user to authenticate again and then call [User.reauthenticateWithCredential]. - /// - - /// Updates the user's password. - /// - /// **Important**: this is a security sensitive operation that requires the - /// user to have recently signed in. If this requirement isn't met, ask the - /// user to authenticate again and then call [User.reauthenticateWithCredential]. - /// - /// A [FirebaseAuthException] maybe thrown with the following error code: - /// - **weak-password**: - /// - Thrown if the password is not strong enough. - /// - **requires-recent-login**: - /// - Thrown if the user's last sign-in time does not meet the security - /// threshold. Use [User.reauthenticateWithCredential] to resolve. This - /// does not apply if the user is anonymous. - Future updatePassword(String newPassword) async { - await _delegate.updatePassword(newPassword); - } - - /// Updates the user's phone number. - /// - /// A credential can be created by verifying a phone number via [verifyPhoneNumber]. - /// - /// A [FirebaseAuthException] maybe thrown with the following error code: - /// - **invalid-verification-code**: - /// - Thrown if the verification code of the credential is not valid. - /// - **invalid-verification-id**: - /// - Thrown if the verification ID of the credential is not valid. - Future updatePhoneNumber(PhoneAuthCredential phoneCredential) async { - await _delegate.updatePhoneNumber(phoneCredential); - } - - /// Update the user name. - Future updateDisplayName(String? displayName) { - return _delegate - .updateProfile({'displayName': displayName}); - } - - /// Update the user's profile picture. - Future updatePhotoURL(String? photoURL) { - return _delegate.updateProfile({'photoURL': photoURL}); - } - - /// Updates a user's profile data. - Future updateProfile({String? displayName, String? photoURL}) { - return _delegate.updateProfile({ - 'displayName': displayName, - 'photoURL': photoURL, - }); - } - - /// Sends a verification email to a new email address. The user's email will - /// be updated to the new one after being verified. - /// - /// If you have a custom email action handler, you can complete the - /// verification process by calling [applyActionCode]. - /// - /// A [FirebaseAuthException] maybe thrown with the following error code: - /// - **missing-android-pkg-name**: - /// - An Android package name must be provided if the Android app is required to be installed. - /// - **missing-continue-uri**: - /// - A continue URL must be provided in the request. - /// - **missing-ios-bundle-id**: - /// - An iOS bundle ID must be provided if an App Store ID is provided. - /// - **invalid-continue-uri**: - /// - The continue URL provided in the request is invalid. - /// - **unauthorized-continue-uri**: - /// - The domain of the continue URL is not whitelisted. Whitelist the domain in the Firebase console. - Future verifyBeforeUpdateEmail( - String newEmail, [ - ActionCodeSettings? actionCodeSettings, - ]) async { - await _delegate.verifyBeforeUpdateEmail(newEmail, actionCodeSettings); - } - - MultiFactor get multiFactor { - if (!kIsWeb && (defaultTargetPlatform == TargetPlatform.windows)) { - throw UnimplementedError( - 'MultiFactor Authentication is only supported on web, Android, iOS and macOS.', - ); - } - return _multiFactor ??= MultiFactor._(_delegate.multiFactor); - } - - @override - String toString() { - return '$User(' - 'displayName: $displayName, ' - 'email: $email, ' - 'isEmailVerified: $emailVerified, ' - 'isAnonymous: $isAnonymous, ' - 'metadata: $metadata, ' - 'phoneNumber: $phoneNumber, ' - 'photoURL: $photoURL, ' - 'providerData, $providerData, ' - 'refreshToken: $refreshToken, ' - 'tenantId: $tenantId, ' - 'uid: $uid)'; - } -} diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/lib/src/user_credential.dart b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/lib/src/user_credential.dart deleted file mode 100644 index 3afbbc7d..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/lib/src/user_credential.dart +++ /dev/null @@ -1,39 +0,0 @@ -// ignore_for_file: require_trailing_commas -// Copyright 2020 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -part of '../firebase_auth.dart'; - -/// A UserCredential is returned from authentication requests such as -/// [createUserWithEmailAndPassword]. -class UserCredential { - UserCredential._(this._auth, this._delegate) { - UserCredentialPlatform.verify(_delegate); - } - - final FirebaseAuth _auth; - final UserCredentialPlatform _delegate; - - /// Returns additional information about the user, such as whether they are a - /// newly created one. - AdditionalUserInfo? get additionalUserInfo => _delegate.additionalUserInfo; - - /// The users [AuthCredential]. - AuthCredential? get credential => _delegate.credential; - - /// Returns a [User] containing additional information and user specific - /// methods. - User? get user { - // TODO(rousselGit): cache the `user` instance or override == so that ".user == .user" - return _delegate.user == null ? null : User._(_auth, _delegate.user!); - } - - @override - String toString() { - return 'UserCredential(' - 'additionalUserInfo: $additionalUserInfo, ' - 'credential: $credential, ' - 'user: $user)'; - } -} diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/macos/firebase_auth.podspec b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/macos/firebase_auth.podspec deleted file mode 100755 index 4e5be544..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/macos/firebase_auth.podspec +++ /dev/null @@ -1,65 +0,0 @@ -require 'yaml' - -pubspec = YAML.load_file(File.join('..', 'pubspec.yaml')) -library_version = pubspec['version'].gsub('+', '-') - -if defined?($FirebaseSDKVersion) - Pod::UI.puts "#{pubspec['name']}: Using user specified Firebase SDK version '#{$FirebaseSDKVersion}'" - firebase_sdk_version = $FirebaseSDKVersion -else - firebase_core_script = File.join(File.expand_path('..', File.expand_path('..', File.dirname(__FILE__))), 'firebase_core/ios/firebase_sdk_version.rb') - if File.exist?(firebase_core_script) - require firebase_core_script - firebase_sdk_version = firebase_sdk_version! - Pod::UI.puts "#{pubspec['name']}: Using Firebase SDK version '#{firebase_sdk_version}' defined in 'firebase_core'" - end -end - -begin - required_macos_version = "10.12" - current_target_definition = Pod::Config.instance.podfile.send(:current_target_definition) - user_osx_target = current_target_definition.to_hash["platform"]["osx"] - if (Gem::Version.new(user_osx_target) < Gem::Version.new(required_macos_version)) - error_message = "The FlutterFire plugin #{pubspec['name']} for macOS requires a macOS deployment target of #{required_macos_version} or later." - Pod::UI.warn error_message, [ - "Update the `platform :osx, '#{user_osx_target}'` line in your macOS/Podfile to version `#{required_macos_version}` and ensure you commit this file.", - "Open your `macos/Runner.xcodeproj` Xcode project and under the 'Runner' target General tab set your Deployment Target to #{required_macos_version} or later." - ] - raise Pod::Informative, error_message - end -rescue Pod::Informative - raise -rescue - # Do nothing for all other errors and let `pod install` deal with any issues. -end - -Pod::Spec.new do |s| - s.name = pubspec['name'] - s.version = library_version - s.summary = pubspec['description'] - s.description = pubspec['description'] - s.homepage = pubspec['homepage'] - s.license = { :file => '../LICENSE' } - s.authors = 'The Chromium Authors' - s.source = { :path => '.' } - - s.source_files = 'firebase_auth/Sources/firebase_auth/**/*.{h,m}' - s.public_header_files = 'firebase_auth/Sources/firebase_auth/include/Public/**/*.h' - s.private_header_files = 'firebase_auth/Sources/firebase_auth/include/Private/**/*.h' - - s.platform = :osx, '10.13' - - # Flutter dependencies - s.dependency 'FlutterMacOS' - - # Firebase dependencies - s.dependency 'firebase_core' - s.dependency 'Firebase/CoreOnly', "~> #{firebase_sdk_version}" - s.dependency 'Firebase/Auth', "~> #{firebase_sdk_version}" - - s.static_framework = true - s.pod_target_xcconfig = { - 'GCC_PREPROCESSOR_DEFINITIONS' => "LIBRARY_VERSION=\\\"#{library_version}\\\" LIBRARY_NAME=\\\"flutter-fire-auth\\\"", - 'DEFINES_MODULE' => 'YES' - } -end diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/macos/firebase_auth/Package.swift b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/macos/firebase_auth/Package.swift deleted file mode 100644 index 7360233f..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/macos/firebase_auth/Package.swift +++ /dev/null @@ -1,43 +0,0 @@ -// swift-tools-version: 5.9 -// The swift-tools-version declares the minimum version of Swift required to build this package. - -// Copyright 2024, the Chromium project authors. Please see the AUTHORS file -// for details. All rights reserved. Use of this source code is governed by a -// BSD-style license that can be found in the LICENSE file. - -import PackageDescription - -let libraryVersion = "6.5.4" -let firebaseSdkVersion: Version = "12.15.0" - -let package = Package( - name: "firebase_auth", - platforms: [ - .macOS("10.15") - ], - products: [ - .library(name: "firebase-auth", targets: ["firebase_auth"]) - ], - dependencies: [ - .package(url: "https://github.com/firebase/firebase-ios-sdk", exact: firebaseSdkVersion), - .package(name: "firebase_core", path: "../firebase_core-4.11.0"), - ], - targets: [ - .target( - name: "firebase_auth", - dependencies: [ - .product(name: "FirebaseAuth", package: "firebase-ios-sdk"), - .product(name: "firebase-core", package: "firebase_core"), - ], - resources: [ - .process("Resources") - ], - cSettings: [ - .headerSearchPath("include/Private"), - .headerSearchPath("include/Public"), - .define("LIBRARY_VERSION", to: "\"\(libraryVersion)\""), - .define("LIBRARY_NAME", to: "\"flutter-fire-auth\""), - ] - ) - ] -) diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/macos/firebase_auth/Sources/firebase_auth/FLTAuthStateChannelStreamHandler.m b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/macos/firebase_auth/Sources/firebase_auth/FLTAuthStateChannelStreamHandler.m deleted file mode 100644 index 5ef9adaf..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/macos/firebase_auth/Sources/firebase_auth/FLTAuthStateChannelStreamHandler.m +++ /dev/null @@ -1,56 +0,0 @@ -// Copyright 2021 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. -@import FirebaseAuth; -#import "include/Private/FLTAuthStateChannelStreamHandler.h" -#import -#import "include/Private/PigeonParser.h" -#import "include/Public/FLTFirebaseAuthPlugin.h" - -@implementation FLTAuthStateChannelStreamHandler { - FIRAuth *_auth; - FIRAuthStateDidChangeListenerHandle _listener; -} - -- (instancetype)initWithAuth:(FIRAuth *)auth { - self = [super init]; - if (self) { - _auth = auth; - } - return self; -} - -- (FlutterError *)onListenWithArguments:(id)arguments eventSink:(FlutterEventSink)events { - bool __block initialAuthState = YES; - - _listener = [_auth addAuthStateDidChangeListener:^(FIRAuth *_Nonnull auth, - FIRUser *_Nullable user) { - if (initialAuthState) { - initialAuthState = NO; - return; - } - - if (user) { - events(@{ - @"user" : [PigeonParser getManualList:[PigeonParser getPigeonDetails:[auth currentUser]]] - }); - } else { - events(@{ - @"user" : [NSNull null], - }); - } - }]; - - return nil; -} - -- (FlutterError *)onCancelWithArguments:(id)arguments { - if (_listener) { - [_auth removeAuthStateDidChangeListener:_listener]; - } - _listener = nil; - - return nil; -} - -@end diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/macos/firebase_auth/Sources/firebase_auth/FLTFirebaseAuthPlugin.m b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/macos/firebase_auth/Sources/firebase_auth/FLTFirebaseAuthPlugin.m deleted file mode 100644 index 606dda68..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/macos/firebase_auth/Sources/firebase_auth/FLTFirebaseAuthPlugin.m +++ /dev/null @@ -1,2376 +0,0 @@ -// Copyright 2020 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -@import FirebaseAuth; -#import -#import -#if __has_include() -#import -#else -#import -#endif - -#import "include/Private/FLTAuthStateChannelStreamHandler.h" -#import "include/Private/FLTIdTokenChannelStreamHandler.h" -#import "include/Private/FLTPhoneNumberVerificationStreamHandler.h" -#import "include/Private/PigeonParser.h" - -#import "include/Public/CustomPigeonHeader.h" -#import "include/Public/FLTFirebaseAuthPlugin.h" -@import CommonCrypto; -#import - -#if __has_include() -#import -#else -#import -#endif - -NSString *const kFLTFirebaseAuthChannelName = @"plugins.flutter.io/firebase_auth"; - -// Argument Keys -NSString *const kAppName = @"appName"; - -// Provider type keys. -NSString *const kSignInMethodPassword = @"password"; -NSString *const kSignInMethodEmailLink = @"emailLink"; -NSString *const kSignInMethodFacebook = @"facebook.com"; -NSString *const kSignInMethodGoogle = @"google.com"; -NSString *const kSignInMethodGameCenter = @"gc.apple.com"; -NSString *const kSignInMethodTwitter = @"twitter.com"; -NSString *const kSignInMethodGithub = @"github.com"; -NSString *const kSignInMethodApple = @"apple.com"; -NSString *const kSignInMethodPhone = @"phone"; -NSString *const kSignInMethodOAuth = @"oauth"; - -// Credential argument keys. -NSString *const kArgumentCredential = @"credential"; -NSString *const kArgumentProviderId = @"providerId"; -NSString *const kArgumentProviderScope = @"scopes"; -NSString *const kArgumentProviderCustomParameters = @"customParameters"; -NSString *const kArgumentSignInMethod = @"signInMethod"; -NSString *const kArgumentSecret = @"secret"; -NSString *const kArgumentIdToken = @"idToken"; -NSString *const kArgumentAccessToken = @"accessToken"; -NSString *const kArgumentRawNonce = @"rawNonce"; -NSString *const kArgumentEmail = @"email"; -NSString *const kArgumentCode = @"code"; -NSString *const kArgumentNewEmail = @"newEmail"; -NSString *const kArgumentEmailLink = kSignInMethodEmailLink; -NSString *const kArgumentToken = @"token"; -NSString *const kArgumentVerificationId = @"verificationId"; -NSString *const kArgumentSmsCode = @"smsCode"; -NSString *const kArgumentActionCodeSettings = @"actionCodeSettings"; -NSString *const kArgumentFamilyName = @"familyName"; -NSString *const kArgumentGivenName = @"givenName"; -NSString *const kArgumentMiddleName = @"middleName"; -NSString *const kArgumentNickname = @"nickname"; -NSString *const kArgumentNamePrefix = @"namePrefix"; -NSString *const kArgumentNameSuffix = @"nameSuffix"; - -// MultiFactor -NSString *const kArgumentMultiFactorHints = @"multiFactorHints"; -NSString *const kArgumentMultiFactorSessionId = @"multiFactorSessionId"; -NSString *const kArgumentMultiFactorResolverId = @"multiFactorResolverId"; -NSString *const kArgumentMultiFactorInfo = @"multiFactorInfo"; - -// Manual error codes & messages. -NSString *const kErrCodeNoCurrentUser = @"no-current-user"; -NSString *const kErrMsgNoCurrentUser = @"No user currently signed in."; -NSString *const kErrCodeInvalidCredential = @"invalid-credential"; -NSString *const kErrMsgInvalidCredential = - @"The supplied auth credential is malformed, has expired or is not " - @"currently supported."; - -// Used for caching credentials between Method Channel method calls. -static NSMutableDictionary *credentialsMap; - -@interface FLTFirebaseAuthPlugin () -@property(nonatomic, retain) NSObject *messenger; -@property(strong, nonatomic) FIROAuthProvider *authProvider; -// Used to keep the user who wants to link with Apple Sign In -@property(strong, nonatomic) FIRUser *linkWithAppleUser; -@property(strong, nonatomic) FIRAuth *signInWithAppleAuth; -@property BOOL isReauthenticatingWithApple; -@property(strong, nonatomic) NSString *currentNonce; -@property(strong, nonatomic) void (^appleCompletion) - (InternalUserCredential *_Nullable, FlutterError *_Nullable); -@property(strong, nonatomic) AuthPigeonFirebaseApp *appleArguments; -/// YES while an `ASAuthorizationController` Sign in with Apple flow is active. -@property(nonatomic, assign) BOOL appleSignInRequestInFlight; - -@end - -@implementation FLTFirebaseAuthPlugin { - // Map an id to a MultiFactorSession object. - NSMutableDictionary *_multiFactorSessionMap; - - // Map an id to a MultiFactorResolver object. - NSMutableDictionary *_multiFactorResolverMap; - - // Map an id to a MultiFactorResolver object. - NSMutableDictionary *_multiFactorAssertionMap; - - // Map an id to a MultiFactorResolver object. - NSMutableDictionary *_multiFactorTotpSecretMap; - - // Emulator host/port per app, used to build REST URLs for workarounds. - NSMutableDictionary *_emulatorConfigs; - - NSObject *_binaryMessenger; - NSMutableDictionary *_eventChannels; - NSMutableDictionary *> *_streamHandlers; - NSData *_apnsToken; -} - -#pragma mark - FlutterPlugin - -- (instancetype)init:(NSObject *)messenger { - self = [super init]; - if (self) { - [[FLTFirebasePluginRegistry sharedInstance] registerFirebasePlugin:self]; - credentialsMap = [NSMutableDictionary dictionary]; - _binaryMessenger = messenger; - _eventChannels = [NSMutableDictionary dictionary]; - _streamHandlers = [NSMutableDictionary dictionary]; - - _multiFactorSessionMap = [NSMutableDictionary dictionary]; - _multiFactorResolverMap = [NSMutableDictionary dictionary]; - _multiFactorAssertionMap = [NSMutableDictionary dictionary]; - _multiFactorTotpSecretMap = [NSMutableDictionary dictionary]; - _emulatorConfigs = [NSMutableDictionary dictionary]; - } - return self; -} - -+ (void)registerWithRegistrar:(NSObject *)registrar { - FlutterMethodChannel *channel = - [FlutterMethodChannel methodChannelWithName:kFLTFirebaseAuthChannelName - binaryMessenger:[registrar messenger]]; - FLTFirebaseAuthPlugin *instance = [[FLTFirebaseAuthPlugin alloc] init:registrar.messenger]; - - [registrar addMethodCallDelegate:instance channel:channel]; - - [registrar publish:instance]; - [registrar addApplicationDelegate:instance]; -#if !TARGET_OS_OSX - if (@available(iOS 13.0, *)) { - if ([registrar respondsToSelector:@selector(addSceneDelegate:)]) { - [registrar performSelector:@selector(addSceneDelegate:) withObject:instance]; - } - } -#endif - SetUpFirebaseAuthHostApi(registrar.messenger, instance); - SetUpFirebaseAuthUserHostApi(registrar.messenger, instance); - SetUpMultiFactorUserHostApi(registrar.messenger, instance); - SetUpMultiFactoResolverHostApi(registrar.messenger, instance); - SetUpMultiFactorTotpHostApi(registrar.messenger, instance); - SetUpMultiFactorTotpSecretHostApi(registrar.messenger, instance); -} - -+ (FlutterError *)convertToFlutterError:(NSError *)error { - NSString *code = @"unknown"; - NSString *message = @"An unknown error has occurred."; - - if (error == nil) { - return [FlutterError errorWithCode:code message:message details:@{}]; - } - - // code - if ([error userInfo][FIRAuthErrorUserInfoNameKey] != nil) { - // See [FIRAuthErrorCodeString] for list of codes. - // Codes are in the format "ERROR_SOME_NAME", converting below to the format - // required in Dart. ERROR_SOME_NAME -> SOME_NAME - NSString *firebaseErrorCode = [error userInfo][FIRAuthErrorUserInfoNameKey]; - code = [firebaseErrorCode stringByReplacingOccurrencesOfString:@"ERROR_" withString:@""]; - // SOME_NAME -> SOME-NAME - code = [code stringByReplacingOccurrencesOfString:@"_" withString:@"-"]; - // SOME-NAME -> some-name - code = [code lowercaseString]; - } - - // message - if ([error userInfo][NSLocalizedDescriptionKey] != nil) { - message = [error userInfo][NSLocalizedDescriptionKey]; - } - - NSMutableDictionary *additionalData = [NSMutableDictionary dictionary]; - // additionalData.email - if ([error userInfo][FIRAuthErrorUserInfoEmailKey] != nil) { - additionalData[kArgumentEmail] = [error userInfo][FIRAuthErrorUserInfoEmailKey]; - } - // We want to store the credential if present for future sign in if the exception contains a - // credential, we pass a token back to Flutter to allow retrieval of the credential. - NSNumber *token = [FLTFirebaseAuthPlugin storeAuthCredentialIfPresent:error]; - - // additionalData.authCredential - if ([error userInfo][FIRAuthErrorUserInfoUpdatedCredentialKey] != nil) { - FIRAuthCredential *authCredential = [error userInfo][FIRAuthErrorUserInfoUpdatedCredentialKey]; - additionalData[@"authCredential"] = [PigeonParser getPigeonAuthCredential:authCredential - token:token]; - } - - // Manual message overrides to ensure messages/codes matches other platforms. - if ([message isEqual:@"The password must be 6 characters long or more."]) { - message = @"Password should be at least 6 characters"; - } - - return [FlutterError errorWithCode:code message:message details:additionalData]; -} - -+ (id)getNSDictionaryFromAuthCredential:(FIRAuthCredential *)authCredential { - if (authCredential == nil) { - return [NSNull null]; - } - - NSString *accessToken = nil; - if ([authCredential isKindOfClass:[FIROAuthCredential class]]) { - if (((FIROAuthCredential *)authCredential).accessToken != nil) { - accessToken = ((FIROAuthCredential *)authCredential).accessToken; - } else if (((FIROAuthCredential *)authCredential).IDToken != nil) { - // For Sign In With Apple, the token is stored in IDToken - accessToken = ((FIROAuthCredential *)authCredential).IDToken; - } - } - - return @{ - kArgumentProviderId : authCredential.provider, - // Note: "signInMethod" does not exist on iOS SDK, so using provider - // instead. - kArgumentSignInMethod : authCredential.provider, - kArgumentToken : @([authCredential hash]), - kArgumentAccessToken : accessToken ?: [NSNull null], - }; -} - -- (void)cleanupWithCompletion:(void (^)(void))completion { - // Cleanup credentials. - [credentialsMap removeAllObjects]; - - for (FlutterEventChannel *channel in self->_eventChannels.allValues) { - [channel setStreamHandler:nil]; - } - [self->_eventChannels removeAllObjects]; - for (NSObject *handler in self->_streamHandlers.allValues) { - [handler onCancelWithArguments:nil]; - } - [self->_streamHandlers removeAllObjects]; - - if (completion != nil) completion(); -} - -- (void)detachFromEngineForRegistrar:(NSObject *)registrar { - [self cleanupWithCompletion:nil]; -} - -#pragma mark - AppDelegate - -#if TARGET_OS_IPHONE -#if !__has_include() -- (BOOL)application:(UIApplication *)application - didReceiveRemoteNotification:(NSDictionary *)notification - fetchCompletionHandler:(void (^)(UIBackgroundFetchResult result))completionHandler { - if ([[FIRAuth auth] canHandleNotification:notification]) { - completionHandler(UIBackgroundFetchResultNoData); - return YES; - } - return NO; -} -#endif - -- (void)application:(UIApplication *)application - didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken { - _apnsToken = deviceToken; -} - -- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary *)options { - return [[FIRAuth auth] canHandleURL:url]; -} - -#pragma mark - SceneDelegate - -- (BOOL)scene:(UIScene *)scene - openURLContexts:(NSSet *)URLContexts API_AVAILABLE(ios(13.0)) { - for (UIOpenURLContext *urlContext in URLContexts) { - if ([[FIRAuth auth] canHandleURL:urlContext.URL]) { - return YES; - } - } - return NO; -} -#endif - -#pragma mark - FLTFirebasePlugin - -- (void)didReinitializeFirebaseCore:(void (^_Nonnull)(void))completion { - [self cleanupWithCompletion:completion]; -} - -- (NSString *_Nonnull)firebaseLibraryName { - return @LIBRARY_NAME; -} - -- (NSString *_Nonnull)firebaseLibraryVersion { - return @LIBRARY_VERSION; -} - -- (NSString *_Nonnull)flutterChannelName { - return kFLTFirebaseAuthChannelName; -} - -- (NSDictionary *_Nonnull)pluginConstantsForFIRApp:(FIRApp *_Nonnull)firebaseApp { - FIRAuth *auth = [FIRAuth authWithApp:firebaseApp]; - return @{ - @"APP_LANGUAGE_CODE" : (id)[auth languageCode] ?: [NSNull null], - @"APP_CURRENT_USER" : [auth currentUser] - ? [PigeonParser getManualList:[PigeonParser getPigeonDetails:[auth currentUser]]] - : [NSNull null], - }; -} - -#pragma mark - Firebase Auth API - -// Adapted from -// https://auth0.com/docs/api-auth/tutorials/nonce#generate-a-cryptographically-random-nonce Used -// for Apple Sign In -- (NSString *)randomNonce:(NSInteger)length { - NSAssert(length > 0, @"Expected nonce to have positive length"); - NSString *characterSet = @"0123456789ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvwxyz-._"; - NSMutableString *result = [NSMutableString string]; - NSInteger remainingLength = length; - - while (remainingLength > 0) { - NSMutableArray *randoms = [NSMutableArray arrayWithCapacity:16]; - for (NSInteger i = 0; i < 16; i++) { - uint8_t random = 0; - int errorCode = SecRandomCopyBytes(kSecRandomDefault, 1, &random); - NSAssert(errorCode == errSecSuccess, @"Unable to generate nonce: OSStatus %i", errorCode); - - [randoms addObject:@(random)]; - } - - for (NSNumber *random in randoms) { - if (remainingLength == 0) { - break; - } - - if (random.unsignedIntValue < characterSet.length) { - unichar character = [characterSet characterAtIndex:random.unsignedIntValue]; - [result appendFormat:@"%C", character]; - remainingLength--; - } - } - } - - return [result copy]; -} - -- (NSString *)stringBySha256HashingString:(NSString *)input { - const char *string = [input UTF8String]; - unsigned char result[CC_SHA256_DIGEST_LENGTH]; - CC_SHA256(string, (CC_LONG)strlen(string), result); - - NSMutableString *hashed = [NSMutableString stringWithCapacity:CC_SHA256_DIGEST_LENGTH * 2]; - for (NSInteger i = 0; i < CC_SHA256_DIGEST_LENGTH; i++) { - [hashed appendFormat:@"%02x", result[i]]; - } - return hashed; -} - -static void handleSignInWithApple(FLTFirebaseAuthPlugin *object, FIRAuthDataResult *authResult, - NSString *authorizationCode, NSError *error) { - void (^completion)(InternalUserCredential *_Nullable, FlutterError *_Nullable) = - object.appleCompletion; - if (completion == nil) { - object.appleSignInRequestInFlight = NO; - return; - } - - if (error != nil) { - if (error.code == FIRAuthErrorCodeSecondFactorRequired) { - object.appleCompletion = nil; - object.appleSignInRequestInFlight = NO; - [object handleMultiFactorError:object.appleArguments completion:completion withError:error]; - } else { - object.appleCompletion = nil; - object.appleSignInRequestInFlight = NO; - completion(nil, [FLTFirebaseAuthPlugin convertToFlutterError:error]); - } - return; - } - object.appleCompletion = nil; - object.appleSignInRequestInFlight = NO; - completion([PigeonParser getPigeonUserCredentialFromAuthResult:authResult - authorizationCode:authorizationCode], - nil); -} - -- (void)authorizationController:(ASAuthorizationController *)controller - didCompleteWithAuthorization:(ASAuthorization *)authorization - API_AVAILABLE(macos(10.15), ios(13.0)) { - if ([authorization.credential isKindOfClass:[ASAuthorizationAppleIDCredential class]]) { - ASAuthorizationAppleIDCredential *appleIDCredential = authorization.credential; - NSString *rawNonce = self.currentNonce; - NSAssert(rawNonce != nil, - @"Invalid state: A login callback was received, but no login request was sent."); - - if (appleIDCredential.identityToken == nil) { - NSLog(@"Unable to fetch identity token."); - void (^completion)(InternalUserCredential *_Nullable, FlutterError *_Nullable) = - self.appleCompletion; - self.appleCompletion = nil; - self.appleSignInRequestInFlight = NO; - if (completion != nil) { - completion(nil, [FlutterError errorWithCode:kErrCodeInvalidCredential - message:kErrMsgInvalidCredential - details:nil]); - } - return; - } - - NSString *idToken = [[NSString alloc] initWithData:appleIDCredential.identityToken - encoding:NSUTF8StringEncoding]; - if (idToken == nil) { - NSLog(@"Unable to serialize id token from data: %@", appleIDCredential.identityToken); - } - - NSString *authorizationCode = nil; - if (appleIDCredential.authorizationCode != nil) { - authorizationCode = [[NSString alloc] initWithData:appleIDCredential.authorizationCode - encoding:NSUTF8StringEncoding]; - } - - FIROAuthCredential *credential = - [FIROAuthProvider appleCredentialWithIDToken:idToken - rawNonce:rawNonce - fullName:appleIDCredential.fullName]; - - if (self.isReauthenticatingWithApple == YES) { - self.isReauthenticatingWithApple = NO; - void (^capturedCompletion)(InternalUserCredential *_Nullable, FlutterError *_Nullable) = - self.appleCompletion; - [[FIRAuth.auth currentUser] - reauthenticateWithCredential:credential - completion:^(FIRAuthDataResult *_Nullable authResult, - NSError *_Nullable error) { - handleSignInWithApple(self, authResult, authorizationCode, error); - }]; - - } else if (self.linkWithAppleUser != nil) { - FIRUser *userToLink = self.linkWithAppleUser; - void (^capturedCompletion)(InternalUserCredential *_Nullable, FlutterError *_Nullable) = - self.appleCompletion; - [userToLink linkWithCredential:credential - completion:^(FIRAuthDataResult *authResult, NSError *error) { - self.linkWithAppleUser = nil; - handleSignInWithApple(self, authResult, authorizationCode, error); - }]; - - } else { - FIRAuth *signInAuth = - self.signInWithAppleAuth != nil ? self.signInWithAppleAuth : FIRAuth.auth; - void (^capturedCompletion)(InternalUserCredential *_Nullable, FlutterError *_Nullable) = - self.appleCompletion; - [signInAuth signInWithCredential:credential - completion:^(FIRAuthDataResult *_Nullable authResult, - NSError *_Nullable error) { - self.signInWithAppleAuth = nil; - handleSignInWithApple(self, authResult, authorizationCode, error); - }]; - } - } else { - void (^completion)(InternalUserCredential *_Nullable, FlutterError *_Nullable) = - self.appleCompletion; - self.appleCompletion = nil; - self.appleSignInRequestInFlight = NO; - if (completion != nil) { - completion(nil, [FlutterError errorWithCode:kErrCodeInvalidCredential - message:kErrMsgInvalidCredential - details:nil]); - } - } -} - -- (void)authorizationController:(ASAuthorizationController *)controller - didCompleteWithError:(NSError *)error API_AVAILABLE(macos(10.15), ios(13.0)) { - void (^completion)(InternalUserCredential *_Nullable, FlutterError *_Nullable) = - self.appleCompletion; - self.appleCompletion = nil; - self.appleSignInRequestInFlight = NO; - - NSLog(@"Sign in with Apple errored: %@", error); - if (completion == nil) { - return; - } - - switch (error.code) { - case ASAuthorizationErrorCanceled: - completion(nil, [FlutterError errorWithCode:@"canceled" - message:@"The user canceled the authorization attempt." - details:nil]); - break; - - case ASAuthorizationErrorInvalidResponse: - completion(nil, [FlutterError - errorWithCode:@"invalid-response" - message:@"The authorization request received an invalid response." - details:nil]); - break; - - case ASAuthorizationErrorNotHandled: - completion(nil, [FlutterError errorWithCode:@"not-handled" - message:@"The authorization request wasn’t handled." - details:nil]); - break; - - case ASAuthorizationErrorFailed: - completion(nil, [FlutterError errorWithCode:@"failed" - message:@"The authorization attempt failed." - details:nil]); - break; - - case ASAuthorizationErrorUnknown: - default: - completion(nil, [FLTFirebaseAuthPlugin convertToFlutterError:error]); - break; - } -} - -- (void)handleInternalError:(nonnull void (^)(InternalUserCredential *_Nullable, - FlutterError *_Nullable))completion - withError:(NSError *)error { - const NSError *underlyingError = error.userInfo[@"NSUnderlyingError"]; - if (underlyingError != nil) { - const NSDictionary *details = - underlyingError.userInfo[@"FIRAuthErrorUserInfoDeserializedResponseKey"]; - completion(nil, [FlutterError errorWithCode:@"internal-error" - message:error.description - details:details]); - return; - } - completion(nil, [FlutterError errorWithCode:@"internal-error" - message:error.description - details:nil]); -} - -- (void)handleMultiFactorError:(AuthPigeonFirebaseApp *)app - completion:(nonnull void (^)(InternalUserCredential *_Nullable, - FlutterError *_Nullable))completion - withError:(NSError *_Nullable)error { - FIRMultiFactorResolver *resolver = - (FIRMultiFactorResolver *)error.userInfo[FIRAuthErrorUserInfoMultiFactorResolverKey]; - - NSArray *hints = resolver.hints; - FIRMultiFactorSession *session = resolver.session; - - NSString *sessionId = [[NSUUID UUID] UUIDString]; - self->_multiFactorSessionMap[sessionId] = session; - - NSString *resolverId = [[NSUUID UUID] UUIDString]; - self->_multiFactorResolverMap[resolverId] = resolver; - - NSMutableArray *pigeonHints = [NSMutableArray array]; - - for (FIRMultiFactorInfo *multiFactorInfo in hints) { - NSString *phoneNumber; - if ([multiFactorInfo class] == [FIRPhoneMultiFactorInfo class]) { - FIRPhoneMultiFactorInfo *phoneFactorInfo = (FIRPhoneMultiFactorInfo *)multiFactorInfo; - phoneNumber = phoneFactorInfo.phoneNumber; - } - - InternalMultiFactorInfo *object = [InternalMultiFactorInfo - makeWithDisplayName:multiFactorInfo.displayName - enrollmentTimestamp:multiFactorInfo.enrollmentDate.timeIntervalSince1970 - factorId:multiFactorInfo.factorID - uid:multiFactorInfo.UID - phoneNumber:phoneNumber]; - - [pigeonHints addObject:object.toList]; - } - - NSDictionary *output = @{ - kAppName : app.appName, - kArgumentMultiFactorHints : pigeonHints, - kArgumentMultiFactorSessionId : sessionId, - kArgumentMultiFactorResolverId : resolverId, - }; - completion(nil, [FlutterError errorWithCode:@"second-factor-required" - message:error.description - details:output]); -} - -static void launchAppleSignInRequest(FLTFirebaseAuthPlugin *object, AuthPigeonFirebaseApp *app, - InternalSignInProvider *signInProvider, - void (^_Nonnull completion)(InternalUserCredential *_Nullable, - FlutterError *_Nullable)) { - if (@available(iOS 13.0, macOS 10.15, *)) { - if (object.appleSignInRequestInFlight) { - completion(nil, - [FlutterError errorWithCode:@"operation-not-allowed" - message:@"A Sign in with Apple request is already in progress." - details:nil]); - return; - } - - NSString *nonce = [object randomNonce:32]; - object.currentNonce = nonce; - object.appleCompletion = completion; - object.appleArguments = app; - object.appleSignInRequestInFlight = YES; - - ASAuthorizationAppleIDProvider *appleIDProvider = [[ASAuthorizationAppleIDProvider alloc] init]; - - ASAuthorizationAppleIDRequest *request = [appleIDProvider createRequest]; - NSMutableArray *requestedScopes = [NSMutableArray arrayWithCapacity:2]; - if ([signInProvider.scopes containsObject:@"name"]) { - [requestedScopes addObject:ASAuthorizationScopeFullName]; - } - if ([signInProvider.scopes containsObject:@"email"]) { - [requestedScopes addObject:ASAuthorizationScopeEmail]; - } - request.requestedScopes = [requestedScopes copy]; - request.nonce = [object stringBySha256HashingString:nonce]; - - ASAuthorizationController *authorizationController = - [[ASAuthorizationController alloc] initWithAuthorizationRequests:@[ request ]]; - authorizationController.delegate = object; - authorizationController.presentationContextProvider = object; - [authorizationController performRequests]; - } else { - NSLog(@"Sign in with Apple was introduced in iOS 13, update your Podfile with platform :ios, " - @"'13.0'"); - } -} - -static void handleAppleAuthResult(FLTFirebaseAuthPlugin *object, AuthPigeonFirebaseApp *app, - FIRAuth *auth, FIRAuthCredential *credentials, NSError *error, - void (^_Nonnull completion)(InternalUserCredential *_Nullable, - FlutterError *_Nullable)) { - if (error) { - if (error.code == FIRAuthErrorCodeSecondFactorRequired) { - [object handleMultiFactorError:app completion:completion withError:error]; - } else { - completion(nil, [FLTFirebaseAuthPlugin convertToFlutterError:error]); - } - return; - } - if (credentials) { - [auth - signInWithCredential:credentials - completion:^(FIRAuthDataResult *authResult, NSError *error) { - if (error != nil) { - NSDictionary *userInfo = [error userInfo]; - NSError *underlyingError = [userInfo objectForKey:NSUnderlyingErrorKey]; - - NSDictionary *firebaseDictionary = - underlyingError.userInfo[@"FIRAuthErrorUserInfoDes" - @"erializedResponseKey"]; - - NSString *errorCode = userInfo[@"FIRAuthErrorUserInfoNameKey"]; - - if (firebaseDictionary == nil && errorCode != nil) { - if ([errorCode isEqual:@"ERROR_ACCOUNT_EXISTS_WITH_DIFFERENT_CREDENTIAL"]) { - completion(nil, [FLTFirebaseAuthPlugin convertToFlutterError:error]); - return; - } - - // Removing since it's not parsed and causing issue when sending back the - // object to Flutter - NSMutableDictionary *mutableUserInfo = [userInfo mutableCopy]; - [mutableUserInfo - removeObjectForKey:@"FIRAuthErrorUserInfoUpdatedCredentialKey"]; - NSError *modifiedError = [NSError errorWithDomain:error.domain - code:error.code - userInfo:mutableUserInfo]; - - completion(nil, - [FlutterError errorWithCode:@"sign-in-failed" - message:userInfo[@"NSLocalizedDescription"] - details:modifiedError.userInfo]); - - } else if (firebaseDictionary != nil && - firebaseDictionary[@"message"] != nil) { - // error from firebase-ios-sdk is - // buried in underlying error. - completion(nil, - [FlutterError errorWithCode:@"sign-in-failed" - message:error.localizedDescription - details:firebaseDictionary[@"message"]]); - } else { - completion(nil, [FlutterError errorWithCode:@"sign-in-failed" - message:error.localizedDescription - details:error.userInfo]); - } - } else { - completion([PigeonParser getPigeonUserCredentialFromAuthResult:authResult - authorizationCode:nil], - nil); - } - }]; - } -} - -#pragma mark - Utilities - -+ (NSNumber *_Nullable)storeAuthCredentialIfPresent:(NSError *)error { - if ([error userInfo][FIRAuthErrorUserInfoUpdatedCredentialKey] != nil) { - FIRAuthCredential *authCredential = [error userInfo][FIRAuthErrorUserInfoUpdatedCredentialKey]; - // We temporarily store the non-serializable credential so the - // Dart API can consume these at a later time. - NSNumber *authCredentialHash = @([authCredential hash]); - credentialsMap[authCredentialHash] = authCredential; - return authCredentialHash; - } - return nil; -} - -- (FIRAuth *_Nullable)getFIRAuthFromAppNameFromPigeon:(AuthPigeonFirebaseApp *)pigeonApp { - FIRApp *app = [FLTFirebasePlugin firebaseAppNamed:pigeonApp.appName]; - FIRAuth *auth = [FIRAuth authWithApp:app]; - - auth.tenantID = pigeonApp.tenantId; - auth.customAuthDomain = [FLTFirebaseCorePlugin getCustomDomain:app.name]; - // Auth's `customAuthDomain` supersedes value from `getCustomDomain` set by `initializeApp` - if (pigeonApp.customAuthDomain != nil) { - auth.customAuthDomain = pigeonApp.customAuthDomain; - } - - return auth; -} - -- (void)getFIRAuthCredentialFromArguments:(NSDictionary *)arguments - app:(AuthPigeonFirebaseApp *)app - completion:(void (^)(FIRAuthCredential *credential, - NSError *error))completion { - // If the credential dictionary contains a token, it means a native one has - // been stored for later usage, so we'll attempt to retrieve it here. - if (arguments[kArgumentToken] != nil && ![arguments[kArgumentToken] isEqual:[NSNull null]]) { - NSNumber *credentialHashCode = arguments[kArgumentToken]; - if (credentialsMap[credentialHashCode] != nil) { - completion(credentialsMap[credentialHashCode], nil); - return; - } - } - - NSString *signInMethod = arguments[kArgumentSignInMethod]; - - if ([signInMethod isEqualToString:kSignInMethodGameCenter]) { - // Game Center Games is different to other providers, it requires below callback to get a - // credential. This is why getFIRAuthCredentialFromArguments now requires a completion() - // callback - [FIRGameCenterAuthProvider - getCredentialWithCompletion:^(FIRAuthCredential *credential, NSError *error) { - if (error) { - completion(nil, error); - } else { - completion(credential, nil); - } - }]; - return; - } - - NSString *secret = arguments[kArgumentSecret] == [NSNull null] ? nil : arguments[kArgumentSecret]; - NSString *idToken = - arguments[kArgumentIdToken] == [NSNull null] ? nil : arguments[kArgumentIdToken]; - NSString *accessToken = - arguments[kArgumentAccessToken] == [NSNull null] ? nil : arguments[kArgumentAccessToken]; - NSString *rawNonce = - arguments[kArgumentRawNonce] == [NSNull null] ? nil : arguments[kArgumentRawNonce]; - - // Password Auth - if ([signInMethod isEqualToString:kSignInMethodPassword]) { - NSString *email = arguments[kArgumentEmail]; - completion([FIREmailAuthProvider credentialWithEmail:email password:secret], nil); - return; - } - - // Email Link Auth - if ([signInMethod isEqualToString:kSignInMethodEmailLink]) { - NSString *email = arguments[kArgumentEmail]; - NSString *emailLink = arguments[kArgumentEmailLink]; - completion([FIREmailAuthProvider credentialWithEmail:email link:emailLink], nil); - return; - } - - // Facebook Auth - if ([signInMethod isEqualToString:kSignInMethodFacebook]) { - completion([FIRFacebookAuthProvider credentialWithAccessToken:accessToken], nil); - return; - } - - // Google Auth - if ([signInMethod isEqualToString:kSignInMethodGoogle]) { - completion([FIRGoogleAuthProvider credentialWithIDToken:idToken accessToken:accessToken], nil); - return; - } - - // Twitter Auth - if ([signInMethod isEqualToString:kSignInMethodTwitter]) { - completion([FIRTwitterAuthProvider credentialWithToken:accessToken secret:secret], nil); - return; - } - - // GitHub Auth - if ([signInMethod isEqualToString:kSignInMethodGithub]) { - completion([FIRGitHubAuthProvider credentialWithToken:accessToken], nil); - return; - } - - // Phone Auth - Only supported on iOS - if ([signInMethod isEqualToString:kSignInMethodPhone]) { -#if TARGET_OS_IPHONE - NSString *verificationId = arguments[kArgumentVerificationId]; - NSString *smsCode = arguments[kArgumentSmsCode]; - completion([[FIRPhoneAuthProvider providerWithAuth:[self getFIRAuthFromAppNameFromPigeon:app]] - credentialWithVerificationID:verificationId - verificationCode:smsCode], - nil); - return; -#else - NSLog(@"The Firebase Phone Authentication provider is not supported on the " - @"MacOS platform."); - completion(nil, nil); - return; -#endif - } - // Apple Auth - if ([signInMethod isEqualToString:kSignInMethodApple]) { - if (idToken && rawNonce) { - // Credential with idToken, rawNonce and fullName - NSPersonNameComponents *fullName = [[NSPersonNameComponents alloc] init]; - fullName.givenName = - arguments[kArgumentGivenName] == [NSNull null] ? nil : arguments[kArgumentGivenName]; - fullName.familyName = - arguments[kArgumentFamilyName] == [NSNull null] ? nil : arguments[kArgumentFamilyName]; - fullName.nickname = - arguments[kArgumentNickname] == [NSNull null] ? nil : arguments[kArgumentNickname]; - fullName.namePrefix = - arguments[kArgumentNamePrefix] == [NSNull null] ? nil : arguments[kArgumentNamePrefix]; - fullName.nameSuffix = - arguments[kArgumentNameSuffix] == [NSNull null] ? nil : arguments[kArgumentNameSuffix]; - fullName.middleName = - arguments[kArgumentMiddleName] == [NSNull null] ? nil : arguments[kArgumentMiddleName]; - - completion([FIROAuthProvider appleCredentialWithIDToken:idToken - rawNonce:rawNonce - fullName:fullName], - nil); - return; - } - } - // OAuth - if ([signInMethod isEqualToString:kSignInMethodOAuth]) { - NSString *providerId = arguments[kArgumentProviderId]; - completion([FIROAuthProvider credentialWithProviderID:providerId - IDToken:idToken - rawNonce:rawNonce - accessToken:accessToken], - nil); - return; - } - - NSLog(@"Support for an auth provider with identifier '%@' is not implemented.", signInMethod); - completion(nil, nil); - return; -} - -- (void)ensureAPNSTokenSetting { -#if !TARGET_OS_OSX - FIRApp *defaultApp = [FIRApp defaultApp]; - if (defaultApp) { - if ([FIRAuth auth].APNSToken == nil && _apnsToken != nil) { - [[FIRAuth auth] setAPNSToken:_apnsToken type:FIRAuthAPNSTokenTypeUnknown]; - _apnsToken = nil; - } - } -#endif -} - -- (FIRMultiFactor *)getAppMultiFactorFromPigeon:(nonnull AuthPigeonFirebaseApp *)app { - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - FIRUser *currentUser = auth.currentUser; - return currentUser.multiFactor; -} - -- (nonnull ASPresentationAnchor)presentationAnchorForAuthorizationController: - (nonnull ASAuthorizationController *)controller API_AVAILABLE(macos(10.15), ios(13.0)) { -#if TARGET_OS_OSX - return [[NSApplication sharedApplication] keyWindow]; -#else - // UIApplication.keyWindow is deprecated in iOS 13+ with UIScene lifecycle. - // Walk the connected scenes to find the foreground active window. - if (@available(iOS 15.0, *)) { - for (UIScene *scene in [UIApplication sharedApplication].connectedScenes) { - if (scene.activationState == UISceneActivationStateForegroundActive && - [scene isKindOfClass:[UIWindowScene class]]) { - UIWindowScene *windowScene = (UIWindowScene *)scene; - if (windowScene.keyWindow) { - return windowScene.keyWindow; - } - } - } - } else if (@available(iOS 13.0, *)) { - for (UIScene *scene in [UIApplication sharedApplication].connectedScenes) { - if (scene.activationState == UISceneActivationStateForegroundActive && - [scene isKindOfClass:[UIWindowScene class]]) { - UIWindowScene *windowScene = (UIWindowScene *)scene; - for (UIWindow *window in windowScene.windows) { - if (window.isKeyWindow) { - return window; - } - } - } - } - } - return [[UIApplication sharedApplication] keyWindow]; -#endif -} - -- (void)enrollPhoneApp:(nonnull AuthPigeonFirebaseApp *)app - assertion:(nonnull InternalPhoneMultiFactorAssertion *)assertion - displayName:(nullable NSString *)displayName - completion:(nonnull void (^)(FlutterError *_Nullable))completion { -#if TARGET_OS_OSX - completion([FlutterError errorWithCode:@"unsupported-platform" - message:@"Phone authentication is not supported on macOS" - details:nil]); -#else - - FIRMultiFactor *multiFactor = [self getAppMultiFactorFromPigeon:app]; - - FIRPhoneAuthCredential *credential = - [[FIRPhoneAuthProvider providerWithAuth:[self getFIRAuthFromAppNameFromPigeon:app]] - credentialWithVerificationID:[assertion verificationId] - verificationCode:[assertion verificationCode]]; - - FIRMultiFactorAssertion *multiFactorAssertion = - [FIRPhoneMultiFactorGenerator assertionWithCredential:credential]; - - [multiFactor enrollWithAssertion:multiFactorAssertion - displayName:displayName - completion:^(NSError *_Nullable error) { - if (error == nil) { - completion(nil); - } else { - completion([FlutterError errorWithCode:@"enroll-failed" - message:error.localizedDescription - details:nil]); - } - }]; -#endif -} - -- (void)getEnrolledFactorsApp:(nonnull AuthPigeonFirebaseApp *)app - completion:(nonnull void (^)(NSArray *_Nullable, - FlutterError *_Nullable))completion { - FIRMultiFactor *multiFactor = [self getAppMultiFactorFromPigeon:app]; - - NSArray *enrolledFactors = [multiFactor enrolledFactors]; - - NSMutableArray *results = [NSMutableArray array]; - - for (FIRMultiFactorInfo *multiFactorInfo in enrolledFactors) { - NSString *phoneNumber; - if ([multiFactorInfo class] == [FIRPhoneMultiFactorInfo class]) { - FIRPhoneMultiFactorInfo *phoneFactorInfo = (FIRPhoneMultiFactorInfo *)multiFactorInfo; - phoneNumber = phoneFactorInfo.phoneNumber; - } - - [results addObject:[InternalMultiFactorInfo - makeWithDisplayName:multiFactorInfo.displayName - enrollmentTimestamp:multiFactorInfo.enrollmentDate.timeIntervalSince1970 - factorId:multiFactorInfo.factorID - uid:multiFactorInfo.UID - phoneNumber:phoneNumber]]; - } - - completion(results, nil); -} - -- (void)getSessionApp:(nonnull AuthPigeonFirebaseApp *)app - completion:(nonnull void (^)(InternalMultiFactorSession *_Nullable, - FlutterError *_Nullable))completion { - FIRMultiFactor *multiFactor = [self getAppMultiFactorFromPigeon:app]; - [multiFactor getSessionWithCompletion:^(FIRMultiFactorSession *_Nullable session, - NSError *_Nullable error) { - NSString *UUID = [[NSUUID UUID] UUIDString]; - self->_multiFactorSessionMap[UUID] = session; - - InternalMultiFactorSession *pigeonSession = [InternalMultiFactorSession makeWithId:UUID]; - completion(pigeonSession, nil); - }]; -} - -- (void)unenrollApp:(nonnull AuthPigeonFirebaseApp *)app - factorUid:(nonnull NSString *)factorUid - completion:(nonnull void (^)(FlutterError *_Nullable))completion { - FIRMultiFactor *multiFactor = [self getAppMultiFactorFromPigeon:app]; - [multiFactor unenrollWithFactorUID:factorUid - completion:^(NSError *_Nullable error) { - if (error == nil) { - completion(nil); - } else { - completion([FlutterError errorWithCode:@"unenroll-failed" - message:error.localizedDescription - details:nil]); - } - }]; -} - -- (void)enrollTotpApp:(nonnull AuthPigeonFirebaseApp *)app - assertionId:(nonnull NSString *)assertionId - displayName:(nullable NSString *)displayName - completion:(nonnull void (^)(FlutterError *_Nullable))completion { - FIRMultiFactor *multiFactor = [self getAppMultiFactorFromPigeon:app]; - - FIRMultiFactorAssertion *assertion = _multiFactorAssertionMap[assertionId]; - - [multiFactor enrollWithAssertion:assertion - displayName:displayName - completion:^(NSError *_Nullable error) { - if (error == nil) { - completion(nil); - } else { - completion([FlutterError errorWithCode:@"enroll-failed" - message:error.localizedDescription - details:nil]); - } - }]; -} - -- (void)resolveSignInResolverId:(nonnull NSString *)resolverId - assertion:(nullable InternalPhoneMultiFactorAssertion *)assertion - totpAssertionId:(nullable NSString *)totpAssertionId - completion:(nonnull void (^)(InternalUserCredential *_Nullable, - FlutterError *_Nullable))completion { - FIRMultiFactorResolver *resolver = _multiFactorResolverMap[resolverId]; - - FIRMultiFactorAssertion *multiFactorAssertion; - - if (assertion != nil) { -#if TARGET_OS_IPHONE - FIRPhoneAuthCredential *credential = - [[FIRPhoneAuthProvider provider] credentialWithVerificationID:[assertion verificationId] - verificationCode:[assertion verificationCode]]; - multiFactorAssertion = [FIRPhoneMultiFactorGenerator assertionWithCredential:credential]; -#endif - } else if (totpAssertionId != nil) { - multiFactorAssertion = _multiFactorAssertionMap[totpAssertionId]; - } else { - completion(nil, - [FlutterError errorWithCode:@"resolve-signin-failed" - message:@"Neither assertion nor totpAssertionId were provided" - details:nil]); - return; - } - - [resolver - resolveSignInWithAssertion:multiFactorAssertion - completion:^(FIRAuthDataResult *_Nullable authResult, - NSError *_Nullable error) { - if (error == nil) { - completion([PigeonParser getPigeonUserCredentialFromAuthResult:authResult - authorizationCode:nil], - nil); - } else { - completion(nil, [FlutterError errorWithCode:@"resolve-signin-failed" - message:error.localizedDescription - details:nil]); - } - }]; -} - -- (void)generateSecretSessionId:(nonnull NSString *)sessionId - completion:(nonnull void (^)(InternalTotpSecret *_Nullable, - FlutterError *_Nullable))completion { - FIRMultiFactorSession *multiFactorSession = _multiFactorSessionMap[sessionId]; - - [FIRTOTPMultiFactorGenerator - generateSecretWithMultiFactorSession:multiFactorSession - completion:^(FIRTOTPSecret *_Nullable secret, - NSError *_Nullable error) { - if (error == nil) { - self->_multiFactorTotpSecretMap[secret.sharedSecretKey] = - secret; - completion([PigeonParser getPigeonTotpSecret:secret], nil); - } else { - completion( - nil, [FlutterError errorWithCode:@"generate-secret-failed" - message:error.localizedDescription - details:nil]); - } - }]; -} - -- (void)getAssertionForEnrollmentSecretKey:(nonnull NSString *)secretKey - oneTimePassword:(nonnull NSString *)oneTimePassword - completion:(nonnull void (^)(NSString *_Nullable, - FlutterError *_Nullable))completion { - FIRTOTPSecret *totpSecret = _multiFactorTotpSecretMap[secretKey]; - - FIRTOTPMultiFactorAssertion *assertion = - [FIRTOTPMultiFactorGenerator assertionForEnrollmentWithSecret:totpSecret - oneTimePassword:oneTimePassword]; - - NSString *UUID = [[NSUUID UUID] UUIDString]; - self->_multiFactorAssertionMap[UUID] = assertion; - completion(UUID, nil); -} - -- (void)getAssertionForSignInEnrollmentId:(nonnull NSString *)enrollmentId - oneTimePassword:(nonnull NSString *)oneTimePassword - completion:(nonnull void (^)(NSString *_Nullable, - FlutterError *_Nullable))completion { - FIRTOTPMultiFactorAssertion *assertion = - [FIRTOTPMultiFactorGenerator assertionForSignInWithEnrollmentID:enrollmentId - oneTimePassword:oneTimePassword]; - NSString *UUID = [[NSUUID UUID] UUIDString]; - self->_multiFactorAssertionMap[UUID] = assertion; - completion(UUID, nil); -} - -- (void)generateQrCodeUrlSecretKey:(nonnull NSString *)secretKey - accountName:(nullable NSString *)accountName - issuer:(nullable NSString *)issuer - completion:(nonnull void (^)(NSString *_Nullable, - FlutterError *_Nullable))completion { - FIRTOTPSecret *totpSecret = _multiFactorTotpSecretMap[secretKey]; - completion([totpSecret generateQRCodeURLWithAccountName:accountName issuer:issuer], nil); -} - -- (void)openInOtpAppSecretKey:(nonnull NSString *)secretKey - qrCodeUrl:(nonnull NSString *)qrCodeUrl - completion:(nonnull void (^)(FlutterError *_Nullable))completion { - FIRTOTPSecret *totpSecret = _multiFactorTotpSecretMap[secretKey]; - [totpSecret openInOTPAppWithQRCodeURL:qrCodeUrl]; - completion(nil); -} - -- (void)applyActionCodeApp:(nonnull AuthPigeonFirebaseApp *)app - code:(nonnull NSString *)code - completion:(nonnull void (^)(FlutterError *_Nullable))completion { - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - [auth applyActionCode:code - completion:^(NSError *_Nullable error) { - if (error != nil) { - completion([FLTFirebaseAuthPlugin convertToFlutterError:error]); - } else { - completion(nil); - } - }]; -} - -- (void)revokeTokenWithAuthorizationCodeApp:(nonnull AuthPigeonFirebaseApp *)app - authorizationCode:(nonnull NSString *)authorizationCode - completion:(nonnull void (^)(FlutterError *_Nullable))completion { - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - [auth revokeTokenWithAuthorizationCode:authorizationCode - completion:^(NSError *_Nullable error) { - if (error != nil) { - completion([FLTFirebaseAuthPlugin convertToFlutterError:error]); - } else { - completion(nil); - } - }]; -} - -- (void)revokeAccessTokenApp:(nonnull AuthPigeonFirebaseApp *)app - accessToken:(nonnull NSString *)accessToken - completion:(nonnull void (^)(FlutterError *_Nullable))completion { - // `revokeAccessToken(_:)` is currently Android-only on the Firebase SDK. - // On Apple platforms use `revokeTokenWithAuthorizationCode:` instead. - completion([FlutterError errorWithCode:@"unsupported-platform-operation" - message:@"revokeAccessToken is not supported on iOS/macOS. " - @"Use revokeTokenWithAuthorizationCode instead." - details:nil]); -} - -- (void)checkActionCodeApp:(nonnull AuthPigeonFirebaseApp *)app - code:(nonnull NSString *)code - completion:(nonnull void (^)(InternalActionCodeInfo *_Nullable, - FlutterError *_Nullable))completion { - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - [auth checkActionCode:code - completion:^(FIRActionCodeInfo *_Nullable info, NSError *_Nullable error) { - if (error != nil) { - completion(nil, [FLTFirebaseAuthPlugin convertToFlutterError:error]); - } else { - InternalActionCodeInfo *result = [self parseActionCode:info]; - if (result.operation == ActionCodeInfoOperationUnknown) { - // Workaround: Firebase iOS SDK >=11.12.0 returns .unknown because - // actionCodeOperation(forRequestType:) only matches camelCase but the - // REST API returns SCREAMING_SNAKE_CASE (e.g. "VERIFY_EMAIL"). - // Re-fetch the raw requestType via REST to resolve the operation. - // See: https://github.com/firebase/flutterfire/issues/17452 - [self resolveActionCodeOperationForApp:app - code:code - fallbackInfo:result - completion:completion]; - } else { - completion(result, nil); - } - } - }]; -} - -- (InternalActionCodeInfo *_Nullable)parseActionCode:(nonnull FIRActionCodeInfo *)info { - InternalActionCodeInfoData *data = [InternalActionCodeInfoData makeWithEmail:info.email - previousEmail:info.previousEmail]; - - ActionCodeInfoOperation operation; - - if (info.operation == FIRActionCodeOperationPasswordReset) { - operation = ActionCodeInfoOperationPasswordReset; - } else if (info.operation == FIRActionCodeOperationVerifyEmail) { - operation = ActionCodeInfoOperationVerifyEmail; - } else if (info.operation == FIRActionCodeOperationRecoverEmail) { - operation = ActionCodeInfoOperationRecoverEmail; - } else if (info.operation == FIRActionCodeOperationEmailLink) { - operation = ActionCodeInfoOperationEmailSignIn; - } else if (info.operation == FIRActionCodeOperationVerifyAndChangeEmail) { - operation = ActionCodeInfoOperationVerifyAndChangeEmail; - } else if (info.operation == FIRActionCodeOperationRevertSecondFactorAddition) { - operation = ActionCodeInfoOperationRevertSecondFactorAddition; - } else { - operation = ActionCodeInfoOperationUnknown; - } - - return [InternalActionCodeInfo makeWithOperation:operation data:data]; -} - -/// Maps a raw requestType string (either camelCase or SCREAMING_SNAKE_CASE) to -/// the corresponding Pigeon enum value. -+ (ActionCodeInfoOperation)operationFromRequestType:(nullable NSString *)requestType { - static NSDictionary *mapping; - static dispatch_once_t onceToken; - dispatch_once(&onceToken, ^{ - mapping = @{ - @"PASSWORD_RESET" : @(ActionCodeInfoOperationPasswordReset), - @"resetPassword" : @(ActionCodeInfoOperationPasswordReset), - @"VERIFY_EMAIL" : @(ActionCodeInfoOperationVerifyEmail), - @"verifyEmail" : @(ActionCodeInfoOperationVerifyEmail), - @"RECOVER_EMAIL" : @(ActionCodeInfoOperationRecoverEmail), - @"recoverEmail" : @(ActionCodeInfoOperationRecoverEmail), - @"EMAIL_SIGNIN" : @(ActionCodeInfoOperationEmailSignIn), - @"signIn" : @(ActionCodeInfoOperationEmailSignIn), - @"VERIFY_AND_CHANGE_EMAIL" : @(ActionCodeInfoOperationVerifyAndChangeEmail), - @"verifyAndChangeEmail" : @(ActionCodeInfoOperationVerifyAndChangeEmail), - @"REVERT_SECOND_FACTOR_ADDITION" : @(ActionCodeInfoOperationRevertSecondFactorAddition), - @"revertSecondFactorAddition" : @(ActionCodeInfoOperationRevertSecondFactorAddition), - }; - }); - - NSNumber *value = mapping[requestType]; - return value ? (ActionCodeInfoOperation)value.integerValue : ActionCodeInfoOperationUnknown; -} - -/// Calls the Identity Toolkit REST API directly to retrieve the raw requestType -/// string, which the iOS SDK fails to parse correctly. Falls back to the original -/// result if the REST call fails for any reason. -- (void)resolveActionCodeOperationForApp:(nonnull AuthPigeonFirebaseApp *)app - code:(nonnull NSString *)code - fallbackInfo:(nonnull InternalActionCodeInfo *)fallbackInfo - completion:(nonnull void (^)(InternalActionCodeInfo *_Nullable, - FlutterError *_Nullable))completion { - FIRApp *firebaseApp = [FLTFirebasePlugin firebaseAppNamed:app.appName]; - NSString *apiKey = firebaseApp.options.APIKey; - - NSString *baseURL; - NSDictionary *emulatorConfig = _emulatorConfigs[app.appName]; - if (emulatorConfig) { - baseURL = [NSString stringWithFormat:@"http://%@:%@/identitytoolkit.googleapis.com", - emulatorConfig[@"host"], emulatorConfig[@"port"]]; - } else { - baseURL = @"https://identitytoolkit.googleapis.com"; - } - - NSString *urlString = - [NSString stringWithFormat:@"%@/v1/accounts:resetPassword?key=%@", baseURL, apiKey]; - NSURL *url = [NSURL URLWithString:urlString]; - - NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url]; - request.HTTPMethod = @"POST"; - [request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"]; - request.HTTPBody = [NSJSONSerialization dataWithJSONObject:@{@"oobCode" : code} - options:0 - error:nil]; - - NSURLSessionDataTask *task = [[NSURLSession sharedSession] - dataTaskWithRequest:request - completionHandler:^(NSData *_Nullable data, NSURLResponse *_Nullable response, - NSError *_Nullable error) { - if (error || !data) { - completion(fallbackInfo, nil); - return; - } - - NSDictionary *json = [NSJSONSerialization JSONObjectWithData:data options:0 error:nil]; - if (!json || json[@"error"]) { - completion(fallbackInfo, nil); - return; - } - - ActionCodeInfoOperation operation = - [FLTFirebaseAuthPlugin operationFromRequestType:json[@"requestType"]]; - - if (operation != ActionCodeInfoOperationUnknown) { - completion([InternalActionCodeInfo makeWithOperation:operation data:fallbackInfo.data], - nil); - } else { - completion(fallbackInfo, nil); - } - }]; - [task resume]; -} - -- (void)confirmPasswordResetApp:(nonnull AuthPigeonFirebaseApp *)app - code:(nonnull NSString *)code - newPassword:(nonnull NSString *)newPassword - completion:(nonnull void (^)(FlutterError *_Nullable))completion { - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - [auth confirmPasswordResetWithCode:code - newPassword:newPassword - completion:^(NSError *_Nullable error) { - if (error != nil) { - completion([FLTFirebaseAuthPlugin convertToFlutterError:error]); - } else { - completion(nil); - } - }]; -} - -- (void)createUserWithEmailAndPasswordApp:(nonnull AuthPigeonFirebaseApp *)app - email:(nonnull NSString *)email - password:(nonnull NSString *)password - completion:(nonnull void (^)(InternalUserCredential *_Nullable, - FlutterError *_Nullable))completion { - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - [auth createUserWithEmail:email - password:password - completion:^(FIRAuthDataResult *_Nullable authResult, NSError *_Nullable error) { - if (error != nil) { - completion(nil, [FLTFirebaseAuthPlugin convertToFlutterError:error]); - } else { - completion([PigeonParser getPigeonUserCredentialFromAuthResult:authResult - authorizationCode:nil], - nil); - } - }]; -} - -- (void)fetchSignInMethodsForEmailApp:(nonnull AuthPigeonFirebaseApp *)app - email:(nonnull NSString *)email - completion:(nonnull void (^)(NSArray *_Nullable, - FlutterError *_Nullable))completion { - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - [auth fetchSignInMethodsForEmail:email - completion:^(NSArray *_Nullable providers, - NSError *_Nullable error) { - if (error != nil) { - completion(nil, [FLTFirebaseAuthPlugin convertToFlutterError:error]); - } else { - if (providers == nil) { - completion(@[], nil); - } else { - completion(providers, nil); - } - } - }]; -} - -- (void)registerAuthStateListenerApp:(nonnull AuthPigeonFirebaseApp *)app - completion:(nonnull void (^)(NSString *_Nullable, - FlutterError *_Nullable))completion { - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - - NSString *name = - [NSString stringWithFormat:@"%@/auth-state/%@", kFLTFirebaseAuthChannelName, auth.app.name]; - FlutterEventChannel *channel = [FlutterEventChannel eventChannelWithName:name - binaryMessenger:_binaryMessenger]; - - FLTAuthStateChannelStreamHandler *handler = - [[FLTAuthStateChannelStreamHandler alloc] initWithAuth:auth]; - [channel setStreamHandler:handler]; - - [_eventChannels setObject:channel forKey:name]; - [_streamHandlers setObject:handler forKey:name]; - - completion(name, nil); -} - -- (void)registerIdTokenListenerApp:(nonnull AuthPigeonFirebaseApp *)app - completion:(nonnull void (^)(NSString *_Nullable, - FlutterError *_Nullable))completion { - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - - NSString *name = - [NSString stringWithFormat:@"%@/id-token/%@", kFLTFirebaseAuthChannelName, auth.app.name]; - - FlutterEventChannel *channel = [FlutterEventChannel eventChannelWithName:name - binaryMessenger:_binaryMessenger]; - - FLTIdTokenChannelStreamHandler *handler = - [[FLTIdTokenChannelStreamHandler alloc] initWithAuth:auth]; - [channel setStreamHandler:handler]; - - [_eventChannels setObject:channel forKey:name]; - [_streamHandlers setObject:handler forKey:name]; - - completion(name, nil); -} - -- (void)sendPasswordResetEmailApp:(nonnull AuthPigeonFirebaseApp *)app - email:(nonnull NSString *)email - actionCodeSettings:(nullable InternalActionCodeSettings *)actionCodeSettings - completion:(nonnull void (^)(FlutterError *_Nullable))completion { - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - if (actionCodeSettings != nil) { - FIRActionCodeSettings *settings = [PigeonParser parseActionCodeSettings:actionCodeSettings]; - [auth sendPasswordResetWithEmail:email - actionCodeSettings:settings - completion:^(NSError *_Nullable error) { - if (error != nil) { - completion([FLTFirebaseAuthPlugin convertToFlutterError:error]); - } else { - completion(nil); - } - }]; - } else { - [auth sendPasswordResetWithEmail:email - completion:^(NSError *_Nullable error) { - if (error != nil) { - completion([FLTFirebaseAuthPlugin convertToFlutterError:error]); - } else { - completion(nil); - } - }]; - } -} - -- (void)sendSignInLinkToEmailApp:(nonnull AuthPigeonFirebaseApp *)app - email:(nonnull NSString *)email - actionCodeSettings:(nonnull InternalActionCodeSettings *)actionCodeSettings - completion:(nonnull void (^)(FlutterError *_Nullable))completion { - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - [auth sendSignInLinkToEmail:email - actionCodeSettings:[PigeonParser parseActionCodeSettings:actionCodeSettings] - completion:^(NSError *_Nullable error) { - if (error != nil) { - if (error.code == FIRAuthErrorCodeInternalError) { - [self - handleInternalError:^(InternalUserCredential *_Nullable creds, - FlutterError *_Nullable internalError) { - completion(internalError); - } - withError:error]; - } else { - completion([FLTFirebaseAuthPlugin convertToFlutterError:error]); - } - } else { - completion(nil); - } - }]; -} - -- (void)setLanguageCodeApp:(nonnull AuthPigeonFirebaseApp *)app - languageCode:(nullable NSString *)languageCode - completion: - (nonnull void (^)(NSString *_Nullable, FlutterError *_Nullable))completion { - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - - if (languageCode != nil && ![languageCode isEqual:[NSNull null]]) { - auth.languageCode = languageCode; - } else { - [auth useAppLanguage]; - } - - completion(auth.languageCode, nil); -} - -- (void)setSettingsApp:(nonnull AuthPigeonFirebaseApp *)app - settings:(nonnull InternalFirebaseAuthSettings *)settings - completion:(nonnull void (^)(FlutterError *_Nullable))completion { - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - - if (settings.userAccessGroup != nil) { - BOOL useUserAccessGroupSuccessful; - NSError *useUserAccessGroupErrorPtr; - useUserAccessGroupSuccessful = [auth useUserAccessGroup:settings.userAccessGroup - error:&useUserAccessGroupErrorPtr]; - if (!useUserAccessGroupSuccessful) { - completion([FLTFirebaseAuthPlugin convertToFlutterError:useUserAccessGroupErrorPtr]); - return; - } - } - -#if TARGET_OS_IPHONE - if (settings.appVerificationDisabledForTesting) { - auth.settings.appVerificationDisabledForTesting = settings.appVerificationDisabledForTesting; - } -#else - NSLog(@"FIRAuthSettings.appVerificationDisabledForTesting is not supported " - @"on MacOS."); -#endif - - completion(nil); -} - -- (void)signInAnonymouslyApp:(nonnull AuthPigeonFirebaseApp *)app - completion:(nonnull void (^)(InternalUserCredential *_Nullable, - FlutterError *_Nullable))completion { - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - [auth signInAnonymouslyWithCompletion:^(FIRAuthDataResult *authResult, NSError *error) { - if (error != nil) { - completion(nil, [FLTFirebaseAuthPlugin convertToFlutterError:error]); - } else { - completion([PigeonParser getPigeonUserCredentialFromAuthResult:authResult - authorizationCode:nil], - nil); - } - }]; -} - -- (void)signInWithCredentialApp:(nonnull AuthPigeonFirebaseApp *)app - input:(nonnull NSDictionary *)input - completion:(nonnull void (^)(InternalUserCredential *_Nullable, - FlutterError *_Nullable))completion { - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - [self - getFIRAuthCredentialFromArguments:input - app:app - completion:^(FIRAuthCredential *credential, NSError *error) { - if (credential == nil) { - completion(nil, - [FlutterError errorWithCode:kErrCodeInvalidCredential - message:kErrMsgInvalidCredential - details:nil]); - return; - } - - if (error) { - completion(nil, - [FLTFirebaseAuthPlugin convertToFlutterError:error]); - } - - [auth - signInWithCredential:credential - completion:^(FIRAuthDataResult *authResult, - NSError *error) { - if (error != nil) { - NSDictionary *userInfo = [error userInfo]; - NSError *underlyingError = - [userInfo objectForKey:NSUnderlyingErrorKey]; - - NSDictionary *firebaseDictionary = - underlyingError - .userInfo[@"FIRAuthErrorUserInfoDeserializ" - @"edResponseKey"]; - - if (firebaseDictionary != nil && - firebaseDictionary[@"message"] != nil) { - // error from firebase-ios-sdk is buried in - // underlying error. - if ([firebaseDictionary[@"code"] - isKindOfClass:[NSNumber class]]) { - [self handleInternalError:completion - withError:error]; - } else { - completion(nil, - [FlutterError - errorWithCode:firebaseDictionary - [@"code"] - message:firebaseDictionary - [@"message"] - details:nil]); - } - } else { - if (error.code == - FIRAuthErrorCodeSecondFactorRequired) { - [self handleMultiFactorError:app - completion:completion - withError:error]; - } else if (error.code == - FIRAuthErrorCodeInternalError) { - [self handleInternalError:completion - withError:error]; - } else { - completion(nil, - [FLTFirebaseAuthPlugin - convertToFlutterError:error]); - } - } - } else { - completion( - [PigeonParser - getPigeonUserCredentialFromAuthResult: - authResult - authorizationCode:nil], - nil); - } - }]; - }]; -} - -- (void)signInWithCustomTokenApp:(nonnull AuthPigeonFirebaseApp *)app - token:(nonnull NSString *)token - completion:(nonnull void (^)(InternalUserCredential *_Nullable, - FlutterError *_Nullable))completion { - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - - [auth signInWithCustomToken:token - completion:^(FIRAuthDataResult *_Nullable authResult, NSError *_Nullable error) { - if (error != nil) { - if (error.code == FIRAuthErrorCodeSecondFactorRequired) { - [self handleMultiFactorError:app completion:completion withError:error]; - } else if (error.code == FIRAuthErrorCodeInternalError) { - [self handleInternalError:completion withError:error]; - } else { - completion(nil, [FLTFirebaseAuthPlugin convertToFlutterError:error]); - } - } else { - completion([PigeonParser getPigeonUserCredentialFromAuthResult:authResult - authorizationCode:nil], - nil); - } - }]; -} - -- (void)signInWithEmailAndPasswordApp:(nonnull AuthPigeonFirebaseApp *)app - email:(nonnull NSString *)email - password:(nonnull NSString *)password - completion:(nonnull void (^)(InternalUserCredential *_Nullable, - FlutterError *_Nullable))completion { - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - [auth signInWithEmail:email - password:password - completion:^(FIRAuthDataResult *_Nullable authResult, NSError *_Nullable error) { - if (error != nil) { - if (error.code == FIRAuthErrorCodeSecondFactorRequired) { - [self handleMultiFactorError:app completion:completion withError:error]; - } else if (error.code == FIRAuthErrorCodeInternalError) { - [self handleInternalError:completion withError:error]; - } else { - completion(nil, [FLTFirebaseAuthPlugin convertToFlutterError:error]); - } - } else { - completion([PigeonParser getPigeonUserCredentialFromAuthResult:authResult - authorizationCode:nil], - nil); - } - }]; -} - -- (void)signInWithEmailLinkApp:(nonnull AuthPigeonFirebaseApp *)app - email:(nonnull NSString *)email - emailLink:(nonnull NSString *)emailLink - completion:(nonnull void (^)(InternalUserCredential *_Nullable, - FlutterError *_Nullable))completion { - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - [auth signInWithEmail:email - link:emailLink - completion:^(FIRAuthDataResult *_Nullable authResult, NSError *_Nullable error) { - if (error != nil) { - if (error.code == FIRAuthErrorCodeSecondFactorRequired) { - [self handleMultiFactorError:app completion:completion withError:error]; - } else if (error.code == FIRAuthErrorCodeInternalError) { - [self handleInternalError:completion withError:error]; - } else { - completion(nil, [FLTFirebaseAuthPlugin convertToFlutterError:error]); - } - } else { - completion([PigeonParser getPigeonUserCredentialFromAuthResult:authResult - authorizationCode:nil], - nil); - } - }]; -} - -- (void)signInWithProviderApp:(nonnull AuthPigeonFirebaseApp *)app - signInProvider:(nonnull InternalSignInProvider *)signInProvider - completion:(nonnull void (^)(InternalUserCredential *_Nullable, - FlutterError *_Nullable))completion { - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - - if ([signInProvider.providerId isEqualToString:kSignInMethodGameCenter]) { - completion( - nil, - [FlutterError - errorWithCode:@"sign-in-failure" - message: - @"Game Center sign-in requires signing in with 'signInWithCredential()' API." - details:@{}]); - return; - } - - if ([signInProvider.providerId isEqualToString:kSignInMethodApple]) { - self.signInWithAppleAuth = auth; - launchAppleSignInRequest(self, app, signInProvider, completion); - return; - } -#if TARGET_OS_OSX - NSLog(@"signInWithProvider is not supported on the " - @"MacOS platform."); - completion(nil, nil); -#else - self.authProvider = [FIROAuthProvider providerWithProviderID:signInProvider.providerId auth:auth]; - NSArray *scopes = signInProvider.scopes; - if (scopes != nil) { - [self.authProvider setScopes:scopes]; - } - NSDictionary *customParameters = signInProvider.customParameters; - if (customParameters != nil) { - [self.authProvider setCustomParameters:customParameters]; - } - - [self.authProvider - getCredentialWithUIDelegate:nil - completion:^(FIRAuthCredential *_Nullable credential, - NSError *_Nullable error) { - handleAppleAuthResult(self, app, auth, credential, error, completion); - }]; -#endif -} - -- (void)signOutApp:(nonnull AuthPigeonFirebaseApp *)app - completion:(nonnull void (^)(FlutterError *_Nullable))completion { - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - - if (auth.currentUser == nil) { - completion(nil); - return; - } - - NSError *signOutErrorPtr; - BOOL signOutSuccessful = [auth signOut:&signOutErrorPtr]; - - if (!signOutSuccessful) { - completion([FLTFirebaseAuthPlugin convertToFlutterError:signOutErrorPtr]); - } else { - completion(nil); - } -} - -- (void)useEmulatorApp:(nonnull AuthPigeonFirebaseApp *)app - host:(nonnull NSString *)host - port:(long)port - completion:(nonnull void (^)(FlutterError *_Nullable))completion { - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - [auth useEmulatorWithHost:host port:port]; - _emulatorConfigs[app.appName] = @{@"host" : host, @"port" : @(port)}; - completion(nil); -} - -- (void)verifyPasswordResetCodeApp:(nonnull AuthPigeonFirebaseApp *)app - code:(nonnull NSString *)code - completion:(nonnull void (^)(NSString *_Nullable, - FlutterError *_Nullable))completion { - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - - [auth verifyPasswordResetCode:code - completion:^(NSString *_Nullable email, NSError *_Nullable error) { - if (error != nil) { - completion(nil, [FLTFirebaseAuthPlugin convertToFlutterError:error]); - } else { - completion(email, nil); - } - }]; -} - -- (void)verifyPhoneNumberApp:(nonnull AuthPigeonFirebaseApp *)app - request:(nonnull InternalVerifyPhoneNumberRequest *)request - completion: - (nonnull void (^)(NSString *_Nullable, FlutterError *_Nullable))completion { -#if TARGET_OS_OSX - NSLog(@"The Firebase Phone Authentication provider is not supported on the " - @"MacOS platform."); - completion(nil, nil); -#else - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - - NSString *name = [NSString - stringWithFormat:@"%@/phone/%@", kFLTFirebaseAuthChannelName, [NSUUID UUID].UUIDString]; - FlutterEventChannel *channel = [FlutterEventChannel eventChannelWithName:name - binaryMessenger:_binaryMessenger]; - - NSString *multiFactorSessionId = request.multiFactorSessionId; - FIRMultiFactorSession *multiFactorSession = nil; - - if (multiFactorSessionId != nil) { - multiFactorSession = _multiFactorSessionMap[multiFactorSessionId]; - } - - NSString *multiFactorInfoId = request.multiFactorInfoId; - - FIRPhoneMultiFactorInfo *multiFactorInfo = nil; - if (multiFactorInfoId != nil) { - for (NSString *resolverId in _multiFactorResolverMap) { - for (FIRMultiFactorInfo *info in _multiFactorResolverMap[resolverId].hints) { - if ([info.UID isEqualToString:multiFactorInfoId] && - [info class] == [FIRPhoneMultiFactorInfo class]) { - multiFactorInfo = (FIRPhoneMultiFactorInfo *)info; - break; - } - } - } - } - -#if TARGET_OS_OSX - FLTPhoneNumberVerificationStreamHandler *handler = - [[FLTPhoneNumberVerificationStreamHandler alloc] initWithAuth:auth]; -#else - FLTPhoneNumberVerificationStreamHandler *handler = - [[FLTPhoneNumberVerificationStreamHandler alloc] initWithAuth:auth - request:request - session:multiFactorSession - factorInfo:multiFactorInfo]; -#endif - - [channel setStreamHandler:handler]; - - [_eventChannels setObject:channel forKey:name]; - [_streamHandlers setObject:handler forKey:name]; - - completion(name, nil); -#endif -} - -- (void)deleteApp:(nonnull AuthPigeonFirebaseApp *)app - completion:(nonnull void (^)(FlutterError *_Nullable))completion { - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - FIRUser *currentUser = auth.currentUser; - if (currentUser == nil) { - completion([FlutterError errorWithCode:kErrCodeNoCurrentUser - message:kErrMsgNoCurrentUser - details:nil]); - return; - } - - [currentUser deleteWithCompletion:^(NSError *_Nullable error) { - if (error != nil) { - completion([FLTFirebaseAuthPlugin convertToFlutterError:error]); - } else { - completion(nil); - } - }]; -} - -- (void)getIdTokenApp:(nonnull AuthPigeonFirebaseApp *)app - forceRefresh:(BOOL)forceRefresh - completion:(nonnull void (^)(InternalIdTokenResult *_Nullable, - FlutterError *_Nullable))completion { - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - FIRUser *currentUser = auth.currentUser; - if (currentUser == nil) { - completion(nil, [FlutterError errorWithCode:kErrCodeNoCurrentUser - message:kErrMsgNoCurrentUser - details:nil]); - return; - } - - [currentUser - getIDTokenResultForcingRefresh:forceRefresh - completion:^(FIRAuthTokenResult *tokenResult, NSError *error) { - if (error != nil) { - completion(nil, [FLTFirebaseAuthPlugin convertToFlutterError:error]); - return; - } - - completion([PigeonParser parseIdTokenResult:tokenResult], nil); - }]; -} - -- (void)linkWithCredentialApp:(nonnull AuthPigeonFirebaseApp *)app - input:(nonnull NSDictionary *)input - completion:(nonnull void (^)(InternalUserCredential *_Nullable, - FlutterError *_Nullable))completion { - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - FIRUser *currentUser = auth.currentUser; - if (currentUser == nil) { - completion(nil, [FlutterError errorWithCode:kErrCodeNoCurrentUser - message:kErrMsgNoCurrentUser - details:nil]); - return; - } - - [self - getFIRAuthCredentialFromArguments:input - app:app - completion:^(FIRAuthCredential *credential, NSError *error) { - if (credential == nil) { - completion(nil, - [FlutterError errorWithCode:kErrCodeInvalidCredential - message:kErrMsgInvalidCredential - details:nil]); - return; - } - - if (error) { - completion(nil, - [FLTFirebaseAuthPlugin convertToFlutterError:error]); - } - - [currentUser - linkWithCredential:credential - completion:^(FIRAuthDataResult *authResult, - NSError *error) { - if (error != nil) { - if (error.code == - FIRAuthErrorCodeSecondFactorRequired) { - [self handleMultiFactorError:app - completion:completion - withError:error]; - } else { - completion(nil, [FLTFirebaseAuthPlugin - convertToFlutterError:error]); - } - } else { - completion( - [PigeonParser - getPigeonUserCredentialFromAuthResult: - authResult - authorizationCode:nil], - nil); - } - }]; - }]; -} - -- (void)linkWithProviderApp:(nonnull AuthPigeonFirebaseApp *)app - signInProvider:(nonnull InternalSignInProvider *)signInProvider - completion:(nonnull void (^)(InternalUserCredential *_Nullable, - FlutterError *_Nullable))completion { - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - FIRUser *currentUser = auth.currentUser; - if ([signInProvider.providerId isEqualToString:kSignInMethodGameCenter]) { - completion( - nil, - [FlutterError - errorWithCode:@"provider-link-failure" - message:@"Game Center provider requires linking with 'linkWithCredential()' API." - details:@{}]); - return; - } - - if (currentUser == nil) { - completion(nil, [FlutterError errorWithCode:kErrCodeNoCurrentUser - message:kErrMsgNoCurrentUser - details:nil]); - return; - } - - if ([signInProvider.providerId isEqualToString:kSignInMethodApple]) { - self.linkWithAppleUser = currentUser; - launchAppleSignInRequest(self, app, signInProvider, completion); - return; - } -#if TARGET_OS_OSX - NSLog(@"linkWithProvider is not supported on the " - @"MacOS platform."); - completion(nil, nil); -#else - self.authProvider = [FIROAuthProvider providerWithProviderID:signInProvider.providerId]; - NSArray *scopes = signInProvider.scopes; - if (scopes != nil) { - [self.authProvider setScopes:scopes]; - } - NSDictionary *customParameters = signInProvider.customParameters; - if (customParameters != nil) { - [self.authProvider setCustomParameters:customParameters]; - } - - [currentUser - linkWithProvider:self.authProvider - UIDelegate:nil - completion:^(FIRAuthDataResult *authResult, NSError *error) { - handleAppleAuthResult(self, app, auth, authResult.credential, error, completion); - }]; -#endif -} - -- (void)reauthenticateWithCredentialApp:(nonnull AuthPigeonFirebaseApp *)app - input:(nonnull NSDictionary *)input - completion:(nonnull void (^)(InternalUserCredential *_Nullable, - FlutterError *_Nullable))completion { - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - FIRUser *currentUser = auth.currentUser; - if (currentUser == nil) { - completion(nil, [FlutterError errorWithCode:kErrCodeNoCurrentUser - message:kErrMsgNoCurrentUser - details:nil]); - return; - } - - [self - getFIRAuthCredentialFromArguments:input - app:app - completion:^(FIRAuthCredential *credential, NSError *error) { - if (credential == nil) { - completion(nil, - [FlutterError errorWithCode:kErrCodeInvalidCredential - message:kErrMsgInvalidCredential - details:nil]); - return; - } - - if (error) { - completion(nil, - [FLTFirebaseAuthPlugin convertToFlutterError:error]); - } - - [currentUser - reauthenticateWithCredential:credential - completion:^(FIRAuthDataResult *authResult, - NSError *error) { - if (error != nil) { - if (error.code == - FIRAuthErrorCodeSecondFactorRequired) { - [self handleMultiFactorError:app - completion:completion - withError:error]; - } else { - completion( - nil, - [FLTFirebaseAuthPlugin - convertToFlutterError:error]); - } - } else { - completion( - [PigeonParser - getPigeonUserCredentialFromAuthResult: - authResult - authorizationCode: - nil], - nil); - } - }]; - }]; -} - -- (void)reauthenticateWithProviderApp:(nonnull AuthPigeonFirebaseApp *)app - signInProvider:(nonnull InternalSignInProvider *)signInProvider - completion:(nonnull void (^)(InternalUserCredential *_Nullable, - FlutterError *_Nullable))completion { - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - FIRUser *currentUser = auth.currentUser; - if (currentUser == nil) { - completion(nil, [FlutterError errorWithCode:kErrCodeNoCurrentUser - message:kErrMsgNoCurrentUser - details:nil]); - return; - } - - if ([signInProvider.providerId isEqualToString:kSignInMethodApple]) { - self.isReauthenticatingWithApple = YES; - launchAppleSignInRequest(self, app, signInProvider, completion); - return; - } -#if TARGET_OS_OSX - NSLog(@"reauthenticateWithProvider is not supported on the " - @"MacOS platform."); - completion(nil, nil); -#else - self.authProvider = [FIROAuthProvider providerWithProviderID:signInProvider.providerId]; - NSArray *scopes = signInProvider.scopes; - if (scopes != nil) { - [self.authProvider setScopes:scopes]; - } - NSDictionary *customParameters = signInProvider.customParameters; - if (customParameters != nil) { - [self.authProvider setCustomParameters:customParameters]; - } - - [currentUser reauthenticateWithProvider:self.authProvider - UIDelegate:nil - completion:^(FIRAuthDataResult *authResult, NSError *error) { - handleAppleAuthResult(self, app, auth, authResult.credential, - error, completion); - }]; -#endif -} - -- (void)reloadApp:(nonnull AuthPigeonFirebaseApp *)app - completion: - (nonnull void (^)(InternalUserDetails *_Nullable, FlutterError *_Nullable))completion { - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - FIRUser *currentUser = auth.currentUser; - if (currentUser == nil) { - completion(nil, [FlutterError errorWithCode:kErrCodeNoCurrentUser - message:kErrMsgNoCurrentUser - details:nil]); - return; - } - - [currentUser reloadWithCompletion:^(NSError *_Nullable error) { - if (error != nil) { - completion(nil, [FLTFirebaseAuthPlugin convertToFlutterError:error]); - } else { - completion([PigeonParser getPigeonDetails:currentUser], nil); - } - }]; -} - -- (void)sendEmailVerificationApp:(nonnull AuthPigeonFirebaseApp *)app - actionCodeSettings:(nullable InternalActionCodeSettings *)actionCodeSettings - completion:(nonnull void (^)(FlutterError *_Nullable))completion { - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - FIRUser *currentUser = auth.currentUser; - if (currentUser == nil) { - completion([FlutterError errorWithCode:kErrCodeNoCurrentUser - message:kErrMsgNoCurrentUser - details:nil]); - return; - } - - [currentUser - sendEmailVerificationWithActionCodeSettings:[PigeonParser - parseActionCodeSettings:actionCodeSettings] - - completion:^(NSError *_Nullable error) { - if (error != nil) { - completion( - [FLTFirebaseAuthPlugin convertToFlutterError:error]); - } else { - completion(nil); - } - }]; -} - -- (void)unlinkApp:(nonnull AuthPigeonFirebaseApp *)app - providerId:(nonnull NSString *)providerId - completion:(nonnull void (^)(InternalUserCredential *_Nullable, - FlutterError *_Nullable))completion { - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - FIRUser *currentUser = auth.currentUser; - if (currentUser == nil) { - completion(nil, [FlutterError errorWithCode:kErrCodeNoCurrentUser - message:kErrMsgNoCurrentUser - details:nil]); - return; - } - - [currentUser unlinkFromProvider:providerId - completion:^(FIRUser *_Nullable user, NSError *_Nullable error) { - if (error != nil) { - completion(nil, [FLTFirebaseAuthPlugin convertToFlutterError:error]); - } else { - completion([PigeonParser getPigeonUserCredentialFromFIRUser:user], nil); - } - }]; -} - -- (void)updateEmailApp:(nonnull AuthPigeonFirebaseApp *)app - newEmail:(nonnull NSString *)newEmail - completion:(nonnull void (^)(InternalUserDetails *_Nullable, - FlutterError *_Nullable))completion { - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - FIRUser *currentUser = auth.currentUser; - if (currentUser == nil) { - completion(nil, [FlutterError errorWithCode:kErrCodeNoCurrentUser - message:kErrMsgNoCurrentUser - details:nil]); - return; - } - - [currentUser updateEmail:newEmail - completion:^(NSError *_Nullable error) { - if (error != nil) { - completion(nil, [FLTFirebaseAuthPlugin convertToFlutterError:error]); - } else { - [currentUser reloadWithCompletion:^(NSError *_Nullable reloadError) { - if (reloadError != nil) { - completion(nil, [FLTFirebaseAuthPlugin convertToFlutterError:reloadError]); - } else { - completion([PigeonParser getPigeonDetails:currentUser], nil); - } - }]; - } - }]; -} - -- (void)updatePasswordApp:(nonnull AuthPigeonFirebaseApp *)app - newPassword:(nonnull NSString *)newPassword - completion:(nonnull void (^)(InternalUserDetails *_Nullable, - FlutterError *_Nullable))completion { - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - FIRUser *currentUser = auth.currentUser; - if (currentUser == nil) { - completion(nil, [FlutterError errorWithCode:kErrCodeNoCurrentUser - message:kErrMsgNoCurrentUser - details:nil]); - return; - } - - [currentUser - updatePassword:newPassword - completion:^(NSError *_Nullable error) { - if (error != nil) { - completion(nil, [FLTFirebaseAuthPlugin convertToFlutterError:error]); - } else { - [currentUser reloadWithCompletion:^(NSError *_Nullable reloadError) { - if (reloadError != nil) { - completion(nil, [FLTFirebaseAuthPlugin convertToFlutterError:reloadError]); - } else { - completion([PigeonParser getPigeonDetails:currentUser], nil); - } - }]; - } - }]; -} - -- (void)updatePhoneNumberApp:(nonnull AuthPigeonFirebaseApp *)app - input:(nonnull NSDictionary *)input - completion:(nonnull void (^)(InternalUserDetails *_Nullable, - FlutterError *_Nullable))completion { -#if TARGET_OS_IPHONE - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - FIRUser *currentUser = auth.currentUser; - if (currentUser == nil) { - completion(nil, [FlutterError errorWithCode:kErrCodeNoCurrentUser - message:kErrMsgNoCurrentUser - details:nil]); - return; - } - - [self - getFIRAuthCredentialFromArguments:input - app:app - completion:^(FIRAuthCredential *credential, NSError *error) { - if (credential == nil) { - completion(nil, - [FlutterError errorWithCode:kErrCodeInvalidCredential - message:kErrMsgInvalidCredential - details:nil]); - return; - } - - if (error) { - completion(nil, - [FLTFirebaseAuthPlugin convertToFlutterError:error]); - } - - [currentUser - updatePhoneNumberCredential:(FIRPhoneAuthCredential *)credential - completion:^(NSError *_Nullable error) { - if (error != nil) { - completion( - nil, [FLTFirebaseAuthPlugin - convertToFlutterError:error]); - } else { - [currentUser - reloadWithCompletion:^( - NSError *_Nullable reloadError) { - if (reloadError != nil) { - completion( - nil, [FLTFirebaseAuthPlugin - convertToFlutterError: - reloadError]); - } else { - completion( - [PigeonParser getPigeonDetails: - currentUser], - nil); - } - }]; - } - }]; - }]; -#else - NSLog(@"Updating a users phone number via Firebase Authentication is only " - @"supported on the iOS " - @"platform."); - completion(nil, nil); -#endif -} - -- (void)updateProfileApp:(nonnull AuthPigeonFirebaseApp *)app - profile:(nonnull InternalUserProfile *)profile - completion:(nonnull void (^)(InternalUserDetails *_Nullable, - FlutterError *_Nullable))completion { - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - FIRUser *currentUser = auth.currentUser; - if (currentUser == nil) { - completion(nil, [FlutterError errorWithCode:kErrCodeNoCurrentUser - message:kErrMsgNoCurrentUser - details:nil]); - return; - } - - FIRUserProfileChangeRequest *changeRequest = [currentUser profileChangeRequest]; - - if (profile.displayNameChanged) { - changeRequest.displayName = profile.displayName; - } - - if (profile.photoUrlChanged) { - if (profile.photoUrl == nil) { - // We apparently cannot set photoURL to nil/NULL to remove it. - // Instead, setting it to empty string appears to work. - // When doing so, Dart will properly receive `null` anyway. - changeRequest.photoURL = [NSURL URLWithString:@""]; - } else { - changeRequest.photoURL = [NSURL URLWithString:profile.photoUrl]; - } - } - - [changeRequest commitChangesWithCompletion:^(NSError *error) { - if (error != nil) { - completion(nil, [FLTFirebaseAuthPlugin convertToFlutterError:error]); - } else { - [currentUser reloadWithCompletion:^(NSError *_Nullable reloadError) { - if (reloadError != nil) { - completion(nil, [FLTFirebaseAuthPlugin convertToFlutterError:reloadError]); - } else { - completion([PigeonParser getPigeonDetails:currentUser], nil); - } - }]; - } - }]; -} - -- (void)verifyBeforeUpdateEmailApp:(nonnull AuthPigeonFirebaseApp *)app - newEmail:(nonnull NSString *)newEmail - actionCodeSettings:(nullable InternalActionCodeSettings *)actionCodeSettings - completion:(nonnull void (^)(FlutterError *_Nullable))completion { - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - FIRUser *currentUser = auth.currentUser; - if (currentUser == nil) { - completion([FlutterError errorWithCode:kErrCodeNoCurrentUser - message:kErrMsgNoCurrentUser - details:nil]); - return; - } - - [currentUser - sendEmailVerificationBeforeUpdatingEmail:newEmail - actionCodeSettings:[PigeonParser - parseActionCodeSettings:actionCodeSettings] - completion:^(NSError *error) { - if (error != nil) { - completion( - [FLTFirebaseAuthPlugin convertToFlutterError:error]); - } else { - completion(nil); - } - }]; -} - -- (void)initializeRecaptchaConfigApp:(AuthPigeonFirebaseApp *)app - completion:(void (^)(FlutterError *_Nullable))completion { -#if TARGET_OS_OSX - NSLog(@"initializeRecaptchaConfigWithCompletion is not supported on the " - @"MacOS platform."); - completion(nil); -#else - FIRAuth *auth = [self getFIRAuthFromAppNameFromPigeon:app]; - [auth initializeRecaptchaConfigWithCompletion:^(NSError *_Nullable error) { - if (error != nil) { - completion([FLTFirebaseAuthPlugin convertToFlutterError:error]); - } else { - completion(nil); - } - }]; -#endif -} - -@end diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/macos/firebase_auth/Sources/firebase_auth/FLTIdTokenChannelStreamHandler.m b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/macos/firebase_auth/Sources/firebase_auth/FLTIdTokenChannelStreamHandler.m deleted file mode 100644 index 315bc5ec..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/macos/firebase_auth/Sources/firebase_auth/FLTIdTokenChannelStreamHandler.m +++ /dev/null @@ -1,54 +0,0 @@ -// Copyright 2021 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. -@import FirebaseAuth; -#import "include/Private/FLTIdTokenChannelStreamHandler.h" -#import -#import "include/Private/PigeonParser.h" -#import "include/Public/FLTFirebaseAuthPlugin.h" - -@implementation FLTIdTokenChannelStreamHandler { - FIRAuth *_auth; - FIRIDTokenDidChangeListenerHandle _listener; -} - -- (instancetype)initWithAuth:(FIRAuth *)auth { - self = [super init]; - if (self) { - _auth = auth; - } - return self; -} - -- (FlutterError *)onListenWithArguments:(id)arguments eventSink:(FlutterEventSink)events { - bool __block initialAuthState = YES; - - _listener = [_auth addIDTokenDidChangeListener:^(FIRAuth *_Nonnull auth, - FIRUser *_Nullable user) { - if (initialAuthState) { - initialAuthState = NO; - return; - } - - if (user) { - events(@{ - @"user" : [PigeonParser getManualList:[PigeonParser getPigeonDetails:[auth currentUser]]] - }); - } else { - events(@{@"user" : [NSNull null]}); - } - }]; - - return nil; -} - -- (FlutterError *)onCancelWithArguments:(id)arguments { - if (_listener) { - [_auth removeIDTokenDidChangeListener:_listener]; - } - _listener = nil; - - return nil; -} - -@end diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/macos/firebase_auth/Sources/firebase_auth/FLTPhoneNumberVerificationStreamHandler.m b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/macos/firebase_auth/Sources/firebase_auth/FLTPhoneNumberVerificationStreamHandler.m deleted file mode 100644 index 511d2caa..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/macos/firebase_auth/Sources/firebase_auth/FLTPhoneNumberVerificationStreamHandler.m +++ /dev/null @@ -1,98 +0,0 @@ -// Copyright 2021 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -@import FirebaseAuth; - -#import "include/Private/FLTPhoneNumberVerificationStreamHandler.h" -#import "include/Public/FLTFirebaseAuthPlugin.h" - -@implementation FLTPhoneNumberVerificationStreamHandler { - FIRAuth *_auth; - NSString *_phoneNumber; -#if TARGET_OS_OSX -#else - FIRMultiFactorSession *_session; - FIRPhoneMultiFactorInfo *_factorInfo; -#endif -} - -#if TARGET_OS_OSX -- (instancetype)initWithAuth:(id)auth request:(InternalVerifyPhoneNumberRequest *)request { - self = [super init]; - if (self) { - _auth = auth; - _phoneNumber = request.phoneNumber; - } - return self; -} -#else -- (instancetype)initWithAuth:(id)auth - request:(InternalVerifyPhoneNumberRequest *)request - session:(FIRMultiFactorSession *)session - factorInfo:(FIRPhoneMultiFactorInfo *)factorInfo { - self = [super init]; - if (self) { - _auth = auth; - _phoneNumber = request.phoneNumber; - _session = session; - _factorInfo = factorInfo; - } - return self; -} -#endif - -- (FlutterError *)onListenWithArguments:(id)arguments eventSink:(FlutterEventSink)events { -#if TARGET_OS_IPHONE - id completer = ^(NSString *verificationID, NSError *error) { - if (error != nil) { - FlutterError *errorDetails = [FLTFirebaseAuthPlugin convertToFlutterError:error]; - events(@{ - @"name" : @"Auth#phoneVerificationFailed", - @"error" : @{ - @"code" : errorDetails.code, - @"message" : errorDetails.message, - @"details" : errorDetails.details, - } - }); - } else { - events(@{ - @"name" : @"Auth#phoneCodeSent", - @"verificationId" : verificationID, - }); - } - }; - - // Try catch to capture 'missing URL scheme' error. - @try { - if (_factorInfo != nil) { - [[FIRPhoneAuthProvider providerWithAuth:_auth] - verifyPhoneNumberWithMultiFactorInfo:_factorInfo - UIDelegate:nil - multiFactorSession:_session - completion:completer]; - - } else { - [[FIRPhoneAuthProvider providerWithAuth:_auth] verifyPhoneNumber:_phoneNumber - UIDelegate:nil - multiFactorSession:_session - completion:completer]; - } - } @catch (NSException *exception) { - events(@{ - @"name" : @"Auth#phoneVerificationFailed", - @"error" : @{ - @"message" : exception.reason, - } - }); - } -#endif - - return nil; -} - -- (FlutterError *)onCancelWithArguments:(id)arguments { - return nil; -} - -@end diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/macos/firebase_auth/Sources/firebase_auth/PigeonParser.m b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/macos/firebase_auth/Sources/firebase_auth/PigeonParser.m deleted file mode 100644 index 8d7a7b1c..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/macos/firebase_auth/Sources/firebase_auth/PigeonParser.m +++ /dev/null @@ -1,171 +0,0 @@ -// Copyright 2023, the Chromium project authors. Please see the AUTHORS file -// for details. All rights reserved. Use of this source code is governed by a -// BSD-style license that can be found in the LICENSE file. - -@import FirebaseAuth; - -#import "include/Private/PigeonParser.h" -#import -#import "include/Public/CustomPigeonHeader.h" - -@implementation PigeonParser - -+ (InternalUserCredential *) - getPigeonUserCredentialFromAuthResult:(nonnull FIRAuthDataResult *)authResult - authorizationCode:(nullable NSString *)authorizationCode { - return [InternalUserCredential - makeWithUser:[self getPigeonDetails:authResult.user] - additionalUserInfo:[self getPigeonAdditionalUserInfo:authResult.additionalUserInfo - authorizationCode:authorizationCode] - credential:[self getPigeonAuthCredential:authResult.credential token:nil]]; -} - -+ (InternalUserCredential *)getPigeonUserCredentialFromFIRUser:(nonnull FIRUser *)user { - return [InternalUserCredential makeWithUser:[self getPigeonDetails:user] - additionalUserInfo:nil - credential:nil]; -} - -+ (InternalUserDetails *)getPigeonDetails:(nonnull FIRUser *)user { - return [InternalUserDetails makeWithUserInfo:[self getPigeonUserInfo:user] - providerData:[self getProviderData:user.providerData]]; -} - -+ (InternalUserInfo *)getPigeonUserInfo:(nonnull FIRUser *)user { - NSString *photoUrlString = user.photoURL.absoluteString; - return [InternalUserInfo - makeWithUid:user.uid - email:user.email - displayName:user.displayName - photoUrl:(photoUrlString.length > 0) ? photoUrlString : nil - phoneNumber:user.phoneNumber - isAnonymous:user.isAnonymous - isEmailVerified:user.emailVerified - providerId:user.providerID - tenantId:user.tenantID - refreshToken:user.refreshToken - creationTimestamp:@((long)([user.metadata.creationDate timeIntervalSince1970] * 1000)) - lastSignInTimestamp:@((long)([user.metadata.lastSignInDate timeIntervalSince1970] * 1000))]; -} - -+ (NSArray *> *)getProviderData: - (nonnull NSArray> *)providerData { - NSMutableArray *> *dataArray = - [NSMutableArray arrayWithCapacity:providerData.count]; - - for (id userInfo in providerData) { - NSString *photoUrlStr = userInfo.photoURL.absoluteString; - NSDictionary *dataDict = @{ - @"providerId" : userInfo.providerID, - // Can be null on emulator - @"uid" : userInfo.uid ?: @"", - @"displayName" : userInfo.displayName ?: [NSNull null], - @"email" : userInfo.email ?: [NSNull null], - @"phoneNumber" : userInfo.phoneNumber ?: [NSNull null], - @"photoURL" : photoUrlStr ?: [NSNull null], - // isAnonymous is always false on in a providerData object (the user is not anonymous) - @"isAnonymous" : @NO, - // isEmailVerified is always true on in a providerData object (the email is verified by the - // provider) - @"isEmailVerified" : @YES, - }; - [dataArray addObject:dataDict]; - } - return [dataArray copy]; -} - -+ (InternalAdditionalUserInfo *)getPigeonAdditionalUserInfo: - (nonnull FIRAdditionalUserInfo *)userInfo - authorizationCode:(nullable NSString *)authorizationCode { - return [InternalAdditionalUserInfo makeWithIsNewUser:userInfo.isNewUser - providerId:userInfo.providerID - username:userInfo.username - authorizationCode:authorizationCode - profile:userInfo.profile]; -} - -+ (InternalTotpSecret *)getPigeonTotpSecret:(FIRTOTPSecret *)secret { - return [InternalTotpSecret makeWithCodeIntervalSeconds:nil - codeLength:nil - enrollmentCompletionDeadline:nil - hashingAlgorithm:nil - secretKey:secret.sharedSecretKey]; -} - -+ (InternalAuthCredential *)getPigeonAuthCredential:(FIRAuthCredential *)authCredential - token:(NSNumber *_Nullable)token { - if (authCredential == nil) { - return nil; - } - - NSString *accessToken = nil; - if ([authCredential isKindOfClass:[FIROAuthCredential class]]) { - if (((FIROAuthCredential *)authCredential).accessToken != nil) { - accessToken = ((FIROAuthCredential *)authCredential).accessToken; - } else if (((FIROAuthCredential *)authCredential).IDToken != nil) { - // For Sign In With Apple, the token is stored in IDToken - accessToken = ((FIROAuthCredential *)authCredential).IDToken; - } - } - - NSUInteger nativeId = - token != nil ? [token unsignedLongValue] : (NSUInteger)[authCredential hash]; - - return [InternalAuthCredential makeWithProviderId:authCredential.provider - signInMethod:authCredential.provider - nativeId:nativeId - accessToken:accessToken ?: nil]; -} - -+ (FIRActionCodeSettings *_Nullable)parseActionCodeSettings: - (nullable InternalActionCodeSettings *)settings { - if (settings == nil) { - return nil; - } - - FIRActionCodeSettings *codeSettings = [[FIRActionCodeSettings alloc] init]; - - if (settings.url != nil) { - codeSettings.URL = [NSURL URLWithString:settings.url]; - } - - if (settings.linkDomain != nil) { - codeSettings.linkDomain = settings.linkDomain; - } - - codeSettings.handleCodeInApp = settings.handleCodeInApp; - - if (settings.iOSBundleId != nil) { - codeSettings.iOSBundleID = settings.iOSBundleId; - } - - return codeSettings; -} - -+ (InternalIdTokenResult *)parseIdTokenResult:(FIRAuthTokenResult *)tokenResult { - long expirationTimestamp = (long)[tokenResult.expirationDate timeIntervalSince1970] * 1000; - long authTimestamp = (long)[tokenResult.authDate timeIntervalSince1970] * 1000; - long issuedAtTimestamp = (long)[tokenResult.issuedAtDate timeIntervalSince1970] * 1000; - - return [InternalIdTokenResult makeWithToken:tokenResult.token - expirationTimestamp:@(expirationTimestamp) - authTimestamp:@(authTimestamp) - issuedAtTimestamp:@(issuedAtTimestamp) - signInProvider:tokenResult.signInProvider - claims:tokenResult.claims - signInSecondFactor:tokenResult.signInSecondFactor]; -} - -+ (NSArray *_Nonnull)getManualList:(nonnull InternalUserDetails *)userDetails { - NSMutableArray *output = [NSMutableArray array]; - - id userInfoList = [[userDetails userInfo] toList]; - [output addObject:userInfoList]; - - id providerData = [userDetails providerData]; - [output addObject:providerData]; - - return [output copy]; -} - -@end diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/macos/firebase_auth/Sources/firebase_auth/firebase_auth_messages.g.m b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/macos/firebase_auth/Sources/firebase_auth/firebase_auth_messages.g.m deleted file mode 100644 index 82ae8cfc..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/macos/firebase_auth/Sources/firebase_auth/firebase_auth_messages.g.m +++ /dev/null @@ -1,3005 +0,0 @@ -// Copyright 2023, the Chromium project authors. Please see the AUTHORS file -// for details. All rights reserved. Use of this source code is governed by a -// BSD-style license that can be found in the LICENSE file. -// Autogenerated from Pigeon (v26.3.4), do not edit directly. -// See also: https://pub.dev/packages/pigeon - -#import "include/Public/firebase_auth_messages.g.h" - -#if TARGET_OS_OSX -@import FlutterMacOS; -#else -@import Flutter; -#endif - -static BOOL __attribute__((unused)) FLTPigeonDeepEquals(id _Nullable a, id _Nullable b) { - if (a == b) { - return YES; - } - if (a == nil) { - return b == [NSNull null]; - } - if (b == nil) { - return a == [NSNull null]; - } - if ([a isKindOfClass:[NSNumber class]] && [b isKindOfClass:[NSNumber class]]) { - return - [a isEqual:b] || (isnan([(NSNumber *)a doubleValue]) && isnan([(NSNumber *)b doubleValue])); - } - if ([a isKindOfClass:[NSArray class]] && [b isKindOfClass:[NSArray class]]) { - NSArray *arrayA = (NSArray *)a; - NSArray *arrayB = (NSArray *)b; - if (arrayA.count != arrayB.count) { - return NO; - } - for (NSUInteger i = 0; i < arrayA.count; i++) { - if (!FLTPigeonDeepEquals(arrayA[i], arrayB[i])) { - return NO; - } - } - return YES; - } - if ([a isKindOfClass:[NSDictionary class]] && [b isKindOfClass:[NSDictionary class]]) { - NSDictionary *dictA = (NSDictionary *)a; - NSDictionary *dictB = (NSDictionary *)b; - if (dictA.count != dictB.count) { - return NO; - } - for (id keyA in dictA) { - id valueA = dictA[keyA]; - BOOL found = NO; - for (id keyB in dictB) { - if (FLTPigeonDeepEquals(keyA, keyB)) { - id valueB = dictB[keyB]; - if (FLTPigeonDeepEquals(valueA, valueB)) { - found = YES; - break; - } else { - return NO; - } - } - } - if (!found) { - return NO; - } - } - return YES; - } - return [a isEqual:b]; -} - -static NSUInteger __attribute__((unused)) FLTPigeonDeepHash(id _Nullable value) { - if (value == nil || value == (id)[NSNull null]) { - return 0; - } - if ([value isKindOfClass:[NSNumber class]]) { - NSNumber *n = (NSNumber *)value; - double d = n.doubleValue; - if (isnan(d)) { - // Normalize NaN to a consistent hash. - return (NSUInteger)0x7FF8000000000000; - } - if (d == 0.0) { - // Normalize -0.0 to 0.0 so they have the same hash code. - d = 0.0; - } - return @(d).hash; - } - if ([value isKindOfClass:[NSArray class]]) { - NSUInteger result = 1; - for (id item in (NSArray *)value) { - result = result * 31 + FLTPigeonDeepHash(item); - } - return result; - } - if ([value isKindOfClass:[NSDictionary class]]) { - NSUInteger result = 0; - NSDictionary *dict = (NSDictionary *)value; - for (id key in dict) { - result += ((FLTPigeonDeepHash(key) * 31) ^ FLTPigeonDeepHash(dict[key])); - } - return result; - } - return [value hash]; -} - -static NSArray *wrapResult(id result, FlutterError *error) { - if (error) { - return @[ - error.code ?: [NSNull null], error.message ?: [NSNull null], error.details ?: [NSNull null] - ]; - } - return @[ result ?: [NSNull null] ]; -} - -static id GetNullableObjectAtIndex(NSArray *array, NSInteger key) { - id result = array[key]; - return (result == [NSNull null]) ? nil : result; -} - -/// The type of operation that generated the action code from calling -/// [checkActionCode]. -@implementation ActionCodeInfoOperationBox -- (instancetype)initWithValue:(ActionCodeInfoOperation)value { - self = [super init]; - if (self) { - _value = value; - } - return self; -} -@end - -@interface InternalMultiFactorSession () -+ (InternalMultiFactorSession *)fromList:(NSArray *)list; -+ (nullable InternalMultiFactorSession *)nullableFromList:(NSArray *)list; -- (NSArray *)toList; -@end - -@interface InternalPhoneMultiFactorAssertion () -+ (InternalPhoneMultiFactorAssertion *)fromList:(NSArray *)list; -+ (nullable InternalPhoneMultiFactorAssertion *)nullableFromList:(NSArray *)list; -- (NSArray *)toList; -@end - -@interface InternalMultiFactorInfo () -+ (InternalMultiFactorInfo *)fromList:(NSArray *)list; -+ (nullable InternalMultiFactorInfo *)nullableFromList:(NSArray *)list; -- (NSArray *)toList; -@end - -@interface AuthPigeonFirebaseApp () -+ (AuthPigeonFirebaseApp *)fromList:(NSArray *)list; -+ (nullable AuthPigeonFirebaseApp *)nullableFromList:(NSArray *)list; -- (NSArray *)toList; -@end - -@interface InternalActionCodeInfoData () -+ (InternalActionCodeInfoData *)fromList:(NSArray *)list; -+ (nullable InternalActionCodeInfoData *)nullableFromList:(NSArray *)list; -- (NSArray *)toList; -@end - -@interface InternalActionCodeInfo () -+ (InternalActionCodeInfo *)fromList:(NSArray *)list; -+ (nullable InternalActionCodeInfo *)nullableFromList:(NSArray *)list; -- (NSArray *)toList; -@end - -@interface InternalAdditionalUserInfo () -+ (InternalAdditionalUserInfo *)fromList:(NSArray *)list; -+ (nullable InternalAdditionalUserInfo *)nullableFromList:(NSArray *)list; -- (NSArray *)toList; -@end - -@interface InternalAuthCredential () -+ (InternalAuthCredential *)fromList:(NSArray *)list; -+ (nullable InternalAuthCredential *)nullableFromList:(NSArray *)list; -- (NSArray *)toList; -@end - -@interface InternalUserInfo () -+ (InternalUserInfo *)fromList:(NSArray *)list; -+ (nullable InternalUserInfo *)nullableFromList:(NSArray *)list; -- (NSArray *)toList; -@end - -@interface InternalUserDetails () -+ (InternalUserDetails *)fromList:(NSArray *)list; -+ (nullable InternalUserDetails *)nullableFromList:(NSArray *)list; -- (NSArray *)toList; -@end - -@interface InternalUserCredential () -+ (InternalUserCredential *)fromList:(NSArray *)list; -+ (nullable InternalUserCredential *)nullableFromList:(NSArray *)list; -- (NSArray *)toList; -@end - -@interface InternalAuthCredentialInput () -+ (InternalAuthCredentialInput *)fromList:(NSArray *)list; -+ (nullable InternalAuthCredentialInput *)nullableFromList:(NSArray *)list; -- (NSArray *)toList; -@end - -@interface InternalActionCodeSettings () -+ (InternalActionCodeSettings *)fromList:(NSArray *)list; -+ (nullable InternalActionCodeSettings *)nullableFromList:(NSArray *)list; -- (NSArray *)toList; -@end - -@interface InternalFirebaseAuthSettings () -+ (InternalFirebaseAuthSettings *)fromList:(NSArray *)list; -+ (nullable InternalFirebaseAuthSettings *)nullableFromList:(NSArray *)list; -- (NSArray *)toList; -@end - -@interface InternalSignInProvider () -+ (InternalSignInProvider *)fromList:(NSArray *)list; -+ (nullable InternalSignInProvider *)nullableFromList:(NSArray *)list; -- (NSArray *)toList; -@end - -@interface InternalVerifyPhoneNumberRequest () -+ (InternalVerifyPhoneNumberRequest *)fromList:(NSArray *)list; -+ (nullable InternalVerifyPhoneNumberRequest *)nullableFromList:(NSArray *)list; -- (NSArray *)toList; -@end - -@interface InternalIdTokenResult () -+ (InternalIdTokenResult *)fromList:(NSArray *)list; -+ (nullable InternalIdTokenResult *)nullableFromList:(NSArray *)list; -- (NSArray *)toList; -@end - -@interface InternalUserProfile () -+ (InternalUserProfile *)fromList:(NSArray *)list; -+ (nullable InternalUserProfile *)nullableFromList:(NSArray *)list; -- (NSArray *)toList; -@end - -@interface InternalTotpSecret () -+ (InternalTotpSecret *)fromList:(NSArray *)list; -+ (nullable InternalTotpSecret *)nullableFromList:(NSArray *)list; -- (NSArray *)toList; -@end - -@implementation InternalMultiFactorSession -+ (instancetype)makeWithId:(NSString *)id { - InternalMultiFactorSession *pigeonResult = [[InternalMultiFactorSession alloc] init]; - pigeonResult.id = id; - return pigeonResult; -} -+ (InternalMultiFactorSession *)fromList:(NSArray *)list { - InternalMultiFactorSession *pigeonResult = [[InternalMultiFactorSession alloc] init]; - pigeonResult.id = GetNullableObjectAtIndex(list, 0); - return pigeonResult; -} -+ (nullable InternalMultiFactorSession *)nullableFromList:(NSArray *)list { - return (list) ? [InternalMultiFactorSession fromList:list] : nil; -} -- (NSArray *)toList { - return @[ - self.id ?: [NSNull null], - ]; -} -- (BOOL)isEqual:(id)object { - if (self == object) { - return YES; - } - if (![object isKindOfClass:[self class]]) { - return NO; - } - InternalMultiFactorSession *other = (InternalMultiFactorSession *)object; - return FLTPigeonDeepEquals(self.id, other.id); -} - -- (NSUInteger)hash { - NSUInteger result = [self class].hash; - result = result * 31 + FLTPigeonDeepHash(self.id); - return result; -} -@end - -@implementation InternalPhoneMultiFactorAssertion -+ (instancetype)makeWithVerificationId:(NSString *)verificationId - verificationCode:(NSString *)verificationCode { - InternalPhoneMultiFactorAssertion *pigeonResult = - [[InternalPhoneMultiFactorAssertion alloc] init]; - pigeonResult.verificationId = verificationId; - pigeonResult.verificationCode = verificationCode; - return pigeonResult; -} -+ (InternalPhoneMultiFactorAssertion *)fromList:(NSArray *)list { - InternalPhoneMultiFactorAssertion *pigeonResult = - [[InternalPhoneMultiFactorAssertion alloc] init]; - pigeonResult.verificationId = GetNullableObjectAtIndex(list, 0); - pigeonResult.verificationCode = GetNullableObjectAtIndex(list, 1); - return pigeonResult; -} -+ (nullable InternalPhoneMultiFactorAssertion *)nullableFromList:(NSArray *)list { - return (list) ? [InternalPhoneMultiFactorAssertion fromList:list] : nil; -} -- (NSArray *)toList { - return @[ - self.verificationId ?: [NSNull null], - self.verificationCode ?: [NSNull null], - ]; -} -- (BOOL)isEqual:(id)object { - if (self == object) { - return YES; - } - if (![object isKindOfClass:[self class]]) { - return NO; - } - InternalPhoneMultiFactorAssertion *other = (InternalPhoneMultiFactorAssertion *)object; - return FLTPigeonDeepEquals(self.verificationId, other.verificationId) && - FLTPigeonDeepEquals(self.verificationCode, other.verificationCode); -} - -- (NSUInteger)hash { - NSUInteger result = [self class].hash; - result = result * 31 + FLTPigeonDeepHash(self.verificationId); - result = result * 31 + FLTPigeonDeepHash(self.verificationCode); - return result; -} -@end - -@implementation InternalMultiFactorInfo -+ (instancetype)makeWithDisplayName:(nullable NSString *)displayName - enrollmentTimestamp:(double)enrollmentTimestamp - factorId:(nullable NSString *)factorId - uid:(NSString *)uid - phoneNumber:(nullable NSString *)phoneNumber { - InternalMultiFactorInfo *pigeonResult = [[InternalMultiFactorInfo alloc] init]; - pigeonResult.displayName = displayName; - pigeonResult.enrollmentTimestamp = enrollmentTimestamp; - pigeonResult.factorId = factorId; - pigeonResult.uid = uid; - pigeonResult.phoneNumber = phoneNumber; - return pigeonResult; -} -+ (InternalMultiFactorInfo *)fromList:(NSArray *)list { - InternalMultiFactorInfo *pigeonResult = [[InternalMultiFactorInfo alloc] init]; - pigeonResult.displayName = GetNullableObjectAtIndex(list, 0); - pigeonResult.enrollmentTimestamp = [GetNullableObjectAtIndex(list, 1) doubleValue]; - pigeonResult.factorId = GetNullableObjectAtIndex(list, 2); - pigeonResult.uid = GetNullableObjectAtIndex(list, 3); - pigeonResult.phoneNumber = GetNullableObjectAtIndex(list, 4); - return pigeonResult; -} -+ (nullable InternalMultiFactorInfo *)nullableFromList:(NSArray *)list { - return (list) ? [InternalMultiFactorInfo fromList:list] : nil; -} -- (NSArray *)toList { - return @[ - self.displayName ?: [NSNull null], - @(self.enrollmentTimestamp), - self.factorId ?: [NSNull null], - self.uid ?: [NSNull null], - self.phoneNumber ?: [NSNull null], - ]; -} -- (BOOL)isEqual:(id)object { - if (self == object) { - return YES; - } - if (![object isKindOfClass:[self class]]) { - return NO; - } - InternalMultiFactorInfo *other = (InternalMultiFactorInfo *)object; - return FLTPigeonDeepEquals(self.displayName, other.displayName) && - (self.enrollmentTimestamp == other.enrollmentTimestamp || - (isnan(self.enrollmentTimestamp) && isnan(other.enrollmentTimestamp))) && - FLTPigeonDeepEquals(self.factorId, other.factorId) && - FLTPigeonDeepEquals(self.uid, other.uid) && - FLTPigeonDeepEquals(self.phoneNumber, other.phoneNumber); -} - -- (NSUInteger)hash { - NSUInteger result = [self class].hash; - result = result * 31 + FLTPigeonDeepHash(self.displayName); - result = result * 31 + (isnan(self.enrollmentTimestamp) ? (NSUInteger)0x7FF8000000000000 - : @(self.enrollmentTimestamp).hash); - result = result * 31 + FLTPigeonDeepHash(self.factorId); - result = result * 31 + FLTPigeonDeepHash(self.uid); - result = result * 31 + FLTPigeonDeepHash(self.phoneNumber); - return result; -} -@end - -@implementation AuthPigeonFirebaseApp -+ (instancetype)makeWithAppName:(NSString *)appName - tenantId:(nullable NSString *)tenantId - customAuthDomain:(nullable NSString *)customAuthDomain { - AuthPigeonFirebaseApp *pigeonResult = [[AuthPigeonFirebaseApp alloc] init]; - pigeonResult.appName = appName; - pigeonResult.tenantId = tenantId; - pigeonResult.customAuthDomain = customAuthDomain; - return pigeonResult; -} -+ (AuthPigeonFirebaseApp *)fromList:(NSArray *)list { - AuthPigeonFirebaseApp *pigeonResult = [[AuthPigeonFirebaseApp alloc] init]; - pigeonResult.appName = GetNullableObjectAtIndex(list, 0); - pigeonResult.tenantId = GetNullableObjectAtIndex(list, 1); - pigeonResult.customAuthDomain = GetNullableObjectAtIndex(list, 2); - return pigeonResult; -} -+ (nullable AuthPigeonFirebaseApp *)nullableFromList:(NSArray *)list { - return (list) ? [AuthPigeonFirebaseApp fromList:list] : nil; -} -- (NSArray *)toList { - return @[ - self.appName ?: [NSNull null], - self.tenantId ?: [NSNull null], - self.customAuthDomain ?: [NSNull null], - ]; -} -- (BOOL)isEqual:(id)object { - if (self == object) { - return YES; - } - if (![object isKindOfClass:[self class]]) { - return NO; - } - AuthPigeonFirebaseApp *other = (AuthPigeonFirebaseApp *)object; - return FLTPigeonDeepEquals(self.appName, other.appName) && - FLTPigeonDeepEquals(self.tenantId, other.tenantId) && - FLTPigeonDeepEquals(self.customAuthDomain, other.customAuthDomain); -} - -- (NSUInteger)hash { - NSUInteger result = [self class].hash; - result = result * 31 + FLTPigeonDeepHash(self.appName); - result = result * 31 + FLTPigeonDeepHash(self.tenantId); - result = result * 31 + FLTPigeonDeepHash(self.customAuthDomain); - return result; -} -@end - -@implementation InternalActionCodeInfoData -+ (instancetype)makeWithEmail:(nullable NSString *)email - previousEmail:(nullable NSString *)previousEmail { - InternalActionCodeInfoData *pigeonResult = [[InternalActionCodeInfoData alloc] init]; - pigeonResult.email = email; - pigeonResult.previousEmail = previousEmail; - return pigeonResult; -} -+ (InternalActionCodeInfoData *)fromList:(NSArray *)list { - InternalActionCodeInfoData *pigeonResult = [[InternalActionCodeInfoData alloc] init]; - pigeonResult.email = GetNullableObjectAtIndex(list, 0); - pigeonResult.previousEmail = GetNullableObjectAtIndex(list, 1); - return pigeonResult; -} -+ (nullable InternalActionCodeInfoData *)nullableFromList:(NSArray *)list { - return (list) ? [InternalActionCodeInfoData fromList:list] : nil; -} -- (NSArray *)toList { - return @[ - self.email ?: [NSNull null], - self.previousEmail ?: [NSNull null], - ]; -} -- (BOOL)isEqual:(id)object { - if (self == object) { - return YES; - } - if (![object isKindOfClass:[self class]]) { - return NO; - } - InternalActionCodeInfoData *other = (InternalActionCodeInfoData *)object; - return FLTPigeonDeepEquals(self.email, other.email) && - FLTPigeonDeepEquals(self.previousEmail, other.previousEmail); -} - -- (NSUInteger)hash { - NSUInteger result = [self class].hash; - result = result * 31 + FLTPigeonDeepHash(self.email); - result = result * 31 + FLTPigeonDeepHash(self.previousEmail); - return result; -} -@end - -@implementation InternalActionCodeInfo -+ (instancetype)makeWithOperation:(ActionCodeInfoOperation)operation - data:(InternalActionCodeInfoData *)data { - InternalActionCodeInfo *pigeonResult = [[InternalActionCodeInfo alloc] init]; - pigeonResult.operation = operation; - pigeonResult.data = data; - return pigeonResult; -} -+ (InternalActionCodeInfo *)fromList:(NSArray *)list { - InternalActionCodeInfo *pigeonResult = [[InternalActionCodeInfo alloc] init]; - ActionCodeInfoOperationBox *boxedActionCodeInfoOperation = GetNullableObjectAtIndex(list, 0); - pigeonResult.operation = boxedActionCodeInfoOperation.value; - pigeonResult.data = GetNullableObjectAtIndex(list, 1); - return pigeonResult; -} -+ (nullable InternalActionCodeInfo *)nullableFromList:(NSArray *)list { - return (list) ? [InternalActionCodeInfo fromList:list] : nil; -} -- (NSArray *)toList { - return @[ - [[ActionCodeInfoOperationBox alloc] initWithValue:self.operation], - self.data ?: [NSNull null], - ]; -} -- (BOOL)isEqual:(id)object { - if (self == object) { - return YES; - } - if (![object isKindOfClass:[self class]]) { - return NO; - } - InternalActionCodeInfo *other = (InternalActionCodeInfo *)object; - return self.operation == other.operation && FLTPigeonDeepEquals(self.data, other.data); -} - -- (NSUInteger)hash { - NSUInteger result = [self class].hash; - result = result * 31 + @(self.operation).hash; - result = result * 31 + FLTPigeonDeepHash(self.data); - return result; -} -@end - -@implementation InternalAdditionalUserInfo -+ (instancetype)makeWithIsNewUser:(BOOL)isNewUser - providerId:(nullable NSString *)providerId - username:(nullable NSString *)username - authorizationCode:(nullable NSString *)authorizationCode - profile:(nullable NSDictionary *)profile { - InternalAdditionalUserInfo *pigeonResult = [[InternalAdditionalUserInfo alloc] init]; - pigeonResult.isNewUser = isNewUser; - pigeonResult.providerId = providerId; - pigeonResult.username = username; - pigeonResult.authorizationCode = authorizationCode; - pigeonResult.profile = profile; - return pigeonResult; -} -+ (InternalAdditionalUserInfo *)fromList:(NSArray *)list { - InternalAdditionalUserInfo *pigeonResult = [[InternalAdditionalUserInfo alloc] init]; - pigeonResult.isNewUser = [GetNullableObjectAtIndex(list, 0) boolValue]; - pigeonResult.providerId = GetNullableObjectAtIndex(list, 1); - pigeonResult.username = GetNullableObjectAtIndex(list, 2); - pigeonResult.authorizationCode = GetNullableObjectAtIndex(list, 3); - pigeonResult.profile = GetNullableObjectAtIndex(list, 4); - return pigeonResult; -} -+ (nullable InternalAdditionalUserInfo *)nullableFromList:(NSArray *)list { - return (list) ? [InternalAdditionalUserInfo fromList:list] : nil; -} -- (NSArray *)toList { - return @[ - @(self.isNewUser), - self.providerId ?: [NSNull null], - self.username ?: [NSNull null], - self.authorizationCode ?: [NSNull null], - self.profile ?: [NSNull null], - ]; -} -- (BOOL)isEqual:(id)object { - if (self == object) { - return YES; - } - if (![object isKindOfClass:[self class]]) { - return NO; - } - InternalAdditionalUserInfo *other = (InternalAdditionalUserInfo *)object; - return self.isNewUser == other.isNewUser && - FLTPigeonDeepEquals(self.providerId, other.providerId) && - FLTPigeonDeepEquals(self.username, other.username) && - FLTPigeonDeepEquals(self.authorizationCode, other.authorizationCode) && - FLTPigeonDeepEquals(self.profile, other.profile); -} - -- (NSUInteger)hash { - NSUInteger result = [self class].hash; - result = result * 31 + @(self.isNewUser).hash; - result = result * 31 + FLTPigeonDeepHash(self.providerId); - result = result * 31 + FLTPigeonDeepHash(self.username); - result = result * 31 + FLTPigeonDeepHash(self.authorizationCode); - result = result * 31 + FLTPigeonDeepHash(self.profile); - return result; -} -@end - -@implementation InternalAuthCredential -+ (instancetype)makeWithProviderId:(NSString *)providerId - signInMethod:(NSString *)signInMethod - nativeId:(NSInteger)nativeId - accessToken:(nullable NSString *)accessToken { - InternalAuthCredential *pigeonResult = [[InternalAuthCredential alloc] init]; - pigeonResult.providerId = providerId; - pigeonResult.signInMethod = signInMethod; - pigeonResult.nativeId = nativeId; - pigeonResult.accessToken = accessToken; - return pigeonResult; -} -+ (InternalAuthCredential *)fromList:(NSArray *)list { - InternalAuthCredential *pigeonResult = [[InternalAuthCredential alloc] init]; - pigeonResult.providerId = GetNullableObjectAtIndex(list, 0); - pigeonResult.signInMethod = GetNullableObjectAtIndex(list, 1); - pigeonResult.nativeId = [GetNullableObjectAtIndex(list, 2) integerValue]; - pigeonResult.accessToken = GetNullableObjectAtIndex(list, 3); - return pigeonResult; -} -+ (nullable InternalAuthCredential *)nullableFromList:(NSArray *)list { - return (list) ? [InternalAuthCredential fromList:list] : nil; -} -- (NSArray *)toList { - return @[ - self.providerId ?: [NSNull null], - self.signInMethod ?: [NSNull null], - @(self.nativeId), - self.accessToken ?: [NSNull null], - ]; -} -- (BOOL)isEqual:(id)object { - if (self == object) { - return YES; - } - if (![object isKindOfClass:[self class]]) { - return NO; - } - InternalAuthCredential *other = (InternalAuthCredential *)object; - return FLTPigeonDeepEquals(self.providerId, other.providerId) && - FLTPigeonDeepEquals(self.signInMethod, other.signInMethod) && - self.nativeId == other.nativeId && - FLTPigeonDeepEquals(self.accessToken, other.accessToken); -} - -- (NSUInteger)hash { - NSUInteger result = [self class].hash; - result = result * 31 + FLTPigeonDeepHash(self.providerId); - result = result * 31 + FLTPigeonDeepHash(self.signInMethod); - result = result * 31 + @(self.nativeId).hash; - result = result * 31 + FLTPigeonDeepHash(self.accessToken); - return result; -} -@end - -@implementation InternalUserInfo -+ (instancetype)makeWithUid:(NSString *)uid - email:(nullable NSString *)email - displayName:(nullable NSString *)displayName - photoUrl:(nullable NSString *)photoUrl - phoneNumber:(nullable NSString *)phoneNumber - isAnonymous:(BOOL)isAnonymous - isEmailVerified:(BOOL)isEmailVerified - providerId:(nullable NSString *)providerId - tenantId:(nullable NSString *)tenantId - refreshToken:(nullable NSString *)refreshToken - creationTimestamp:(nullable NSNumber *)creationTimestamp - lastSignInTimestamp:(nullable NSNumber *)lastSignInTimestamp { - InternalUserInfo *pigeonResult = [[InternalUserInfo alloc] init]; - pigeonResult.uid = uid; - pigeonResult.email = email; - pigeonResult.displayName = displayName; - pigeonResult.photoUrl = photoUrl; - pigeonResult.phoneNumber = phoneNumber; - pigeonResult.isAnonymous = isAnonymous; - pigeonResult.isEmailVerified = isEmailVerified; - pigeonResult.providerId = providerId; - pigeonResult.tenantId = tenantId; - pigeonResult.refreshToken = refreshToken; - pigeonResult.creationTimestamp = creationTimestamp; - pigeonResult.lastSignInTimestamp = lastSignInTimestamp; - return pigeonResult; -} -+ (InternalUserInfo *)fromList:(NSArray *)list { - InternalUserInfo *pigeonResult = [[InternalUserInfo alloc] init]; - pigeonResult.uid = GetNullableObjectAtIndex(list, 0); - pigeonResult.email = GetNullableObjectAtIndex(list, 1); - pigeonResult.displayName = GetNullableObjectAtIndex(list, 2); - pigeonResult.photoUrl = GetNullableObjectAtIndex(list, 3); - pigeonResult.phoneNumber = GetNullableObjectAtIndex(list, 4); - pigeonResult.isAnonymous = [GetNullableObjectAtIndex(list, 5) boolValue]; - pigeonResult.isEmailVerified = [GetNullableObjectAtIndex(list, 6) boolValue]; - pigeonResult.providerId = GetNullableObjectAtIndex(list, 7); - pigeonResult.tenantId = GetNullableObjectAtIndex(list, 8); - pigeonResult.refreshToken = GetNullableObjectAtIndex(list, 9); - pigeonResult.creationTimestamp = GetNullableObjectAtIndex(list, 10); - pigeonResult.lastSignInTimestamp = GetNullableObjectAtIndex(list, 11); - return pigeonResult; -} -+ (nullable InternalUserInfo *)nullableFromList:(NSArray *)list { - return (list) ? [InternalUserInfo fromList:list] : nil; -} -- (NSArray *)toList { - return @[ - self.uid ?: [NSNull null], - self.email ?: [NSNull null], - self.displayName ?: [NSNull null], - self.photoUrl ?: [NSNull null], - self.phoneNumber ?: [NSNull null], - @(self.isAnonymous), - @(self.isEmailVerified), - self.providerId ?: [NSNull null], - self.tenantId ?: [NSNull null], - self.refreshToken ?: [NSNull null], - self.creationTimestamp ?: [NSNull null], - self.lastSignInTimestamp ?: [NSNull null], - ]; -} -- (BOOL)isEqual:(id)object { - if (self == object) { - return YES; - } - if (![object isKindOfClass:[self class]]) { - return NO; - } - InternalUserInfo *other = (InternalUserInfo *)object; - return FLTPigeonDeepEquals(self.uid, other.uid) && FLTPigeonDeepEquals(self.email, other.email) && - FLTPigeonDeepEquals(self.displayName, other.displayName) && - FLTPigeonDeepEquals(self.photoUrl, other.photoUrl) && - FLTPigeonDeepEquals(self.phoneNumber, other.phoneNumber) && - self.isAnonymous == other.isAnonymous && self.isEmailVerified == other.isEmailVerified && - FLTPigeonDeepEquals(self.providerId, other.providerId) && - FLTPigeonDeepEquals(self.tenantId, other.tenantId) && - FLTPigeonDeepEquals(self.refreshToken, other.refreshToken) && - FLTPigeonDeepEquals(self.creationTimestamp, other.creationTimestamp) && - FLTPigeonDeepEquals(self.lastSignInTimestamp, other.lastSignInTimestamp); -} - -- (NSUInteger)hash { - NSUInteger result = [self class].hash; - result = result * 31 + FLTPigeonDeepHash(self.uid); - result = result * 31 + FLTPigeonDeepHash(self.email); - result = result * 31 + FLTPigeonDeepHash(self.displayName); - result = result * 31 + FLTPigeonDeepHash(self.photoUrl); - result = result * 31 + FLTPigeonDeepHash(self.phoneNumber); - result = result * 31 + @(self.isAnonymous).hash; - result = result * 31 + @(self.isEmailVerified).hash; - result = result * 31 + FLTPigeonDeepHash(self.providerId); - result = result * 31 + FLTPigeonDeepHash(self.tenantId); - result = result * 31 + FLTPigeonDeepHash(self.refreshToken); - result = result * 31 + FLTPigeonDeepHash(self.creationTimestamp); - result = result * 31 + FLTPigeonDeepHash(self.lastSignInTimestamp); - return result; -} -@end - -@implementation InternalUserDetails -+ (instancetype)makeWithUserInfo:(InternalUserInfo *)userInfo - providerData:(NSArray *> *)providerData { - InternalUserDetails *pigeonResult = [[InternalUserDetails alloc] init]; - pigeonResult.userInfo = userInfo; - pigeonResult.providerData = providerData; - return pigeonResult; -} -+ (InternalUserDetails *)fromList:(NSArray *)list { - InternalUserDetails *pigeonResult = [[InternalUserDetails alloc] init]; - pigeonResult.userInfo = GetNullableObjectAtIndex(list, 0); - pigeonResult.providerData = GetNullableObjectAtIndex(list, 1); - return pigeonResult; -} -+ (nullable InternalUserDetails *)nullableFromList:(NSArray *)list { - return (list) ? [InternalUserDetails fromList:list] : nil; -} -- (NSArray *)toList { - return @[ - self.userInfo ?: [NSNull null], - self.providerData ?: [NSNull null], - ]; -} -- (BOOL)isEqual:(id)object { - if (self == object) { - return YES; - } - if (![object isKindOfClass:[self class]]) { - return NO; - } - InternalUserDetails *other = (InternalUserDetails *)object; - return FLTPigeonDeepEquals(self.userInfo, other.userInfo) && - FLTPigeonDeepEquals(self.providerData, other.providerData); -} - -- (NSUInteger)hash { - NSUInteger result = [self class].hash; - result = result * 31 + FLTPigeonDeepHash(self.userInfo); - result = result * 31 + FLTPigeonDeepHash(self.providerData); - return result; -} -@end - -@implementation InternalUserCredential -+ (instancetype)makeWithUser:(nullable InternalUserDetails *)user - additionalUserInfo:(nullable InternalAdditionalUserInfo *)additionalUserInfo - credential:(nullable InternalAuthCredential *)credential { - InternalUserCredential *pigeonResult = [[InternalUserCredential alloc] init]; - pigeonResult.user = user; - pigeonResult.additionalUserInfo = additionalUserInfo; - pigeonResult.credential = credential; - return pigeonResult; -} -+ (InternalUserCredential *)fromList:(NSArray *)list { - InternalUserCredential *pigeonResult = [[InternalUserCredential alloc] init]; - pigeonResult.user = GetNullableObjectAtIndex(list, 0); - pigeonResult.additionalUserInfo = GetNullableObjectAtIndex(list, 1); - pigeonResult.credential = GetNullableObjectAtIndex(list, 2); - return pigeonResult; -} -+ (nullable InternalUserCredential *)nullableFromList:(NSArray *)list { - return (list) ? [InternalUserCredential fromList:list] : nil; -} -- (NSArray *)toList { - return @[ - self.user ?: [NSNull null], - self.additionalUserInfo ?: [NSNull null], - self.credential ?: [NSNull null], - ]; -} -- (BOOL)isEqual:(id)object { - if (self == object) { - return YES; - } - if (![object isKindOfClass:[self class]]) { - return NO; - } - InternalUserCredential *other = (InternalUserCredential *)object; - return FLTPigeonDeepEquals(self.user, other.user) && - FLTPigeonDeepEquals(self.additionalUserInfo, other.additionalUserInfo) && - FLTPigeonDeepEquals(self.credential, other.credential); -} - -- (NSUInteger)hash { - NSUInteger result = [self class].hash; - result = result * 31 + FLTPigeonDeepHash(self.user); - result = result * 31 + FLTPigeonDeepHash(self.additionalUserInfo); - result = result * 31 + FLTPigeonDeepHash(self.credential); - return result; -} -@end - -@implementation InternalAuthCredentialInput -+ (instancetype)makeWithProviderId:(NSString *)providerId - signInMethod:(NSString *)signInMethod - token:(nullable NSString *)token - accessToken:(nullable NSString *)accessToken { - InternalAuthCredentialInput *pigeonResult = [[InternalAuthCredentialInput alloc] init]; - pigeonResult.providerId = providerId; - pigeonResult.signInMethod = signInMethod; - pigeonResult.token = token; - pigeonResult.accessToken = accessToken; - return pigeonResult; -} -+ (InternalAuthCredentialInput *)fromList:(NSArray *)list { - InternalAuthCredentialInput *pigeonResult = [[InternalAuthCredentialInput alloc] init]; - pigeonResult.providerId = GetNullableObjectAtIndex(list, 0); - pigeonResult.signInMethod = GetNullableObjectAtIndex(list, 1); - pigeonResult.token = GetNullableObjectAtIndex(list, 2); - pigeonResult.accessToken = GetNullableObjectAtIndex(list, 3); - return pigeonResult; -} -+ (nullable InternalAuthCredentialInput *)nullableFromList:(NSArray *)list { - return (list) ? [InternalAuthCredentialInput fromList:list] : nil; -} -- (NSArray *)toList { - return @[ - self.providerId ?: [NSNull null], - self.signInMethod ?: [NSNull null], - self.token ?: [NSNull null], - self.accessToken ?: [NSNull null], - ]; -} -- (BOOL)isEqual:(id)object { - if (self == object) { - return YES; - } - if (![object isKindOfClass:[self class]]) { - return NO; - } - InternalAuthCredentialInput *other = (InternalAuthCredentialInput *)object; - return FLTPigeonDeepEquals(self.providerId, other.providerId) && - FLTPigeonDeepEquals(self.signInMethod, other.signInMethod) && - FLTPigeonDeepEquals(self.token, other.token) && - FLTPigeonDeepEquals(self.accessToken, other.accessToken); -} - -- (NSUInteger)hash { - NSUInteger result = [self class].hash; - result = result * 31 + FLTPigeonDeepHash(self.providerId); - result = result * 31 + FLTPigeonDeepHash(self.signInMethod); - result = result * 31 + FLTPigeonDeepHash(self.token); - result = result * 31 + FLTPigeonDeepHash(self.accessToken); - return result; -} -@end - -@implementation InternalActionCodeSettings -+ (instancetype)makeWithUrl:(NSString *)url - dynamicLinkDomain:(nullable NSString *)dynamicLinkDomain - handleCodeInApp:(BOOL)handleCodeInApp - iOSBundleId:(nullable NSString *)iOSBundleId - androidPackageName:(nullable NSString *)androidPackageName - androidInstallApp:(BOOL)androidInstallApp - androidMinimumVersion:(nullable NSString *)androidMinimumVersion - linkDomain:(nullable NSString *)linkDomain { - InternalActionCodeSettings *pigeonResult = [[InternalActionCodeSettings alloc] init]; - pigeonResult.url = url; - pigeonResult.dynamicLinkDomain = dynamicLinkDomain; - pigeonResult.handleCodeInApp = handleCodeInApp; - pigeonResult.iOSBundleId = iOSBundleId; - pigeonResult.androidPackageName = androidPackageName; - pigeonResult.androidInstallApp = androidInstallApp; - pigeonResult.androidMinimumVersion = androidMinimumVersion; - pigeonResult.linkDomain = linkDomain; - return pigeonResult; -} -+ (InternalActionCodeSettings *)fromList:(NSArray *)list { - InternalActionCodeSettings *pigeonResult = [[InternalActionCodeSettings alloc] init]; - pigeonResult.url = GetNullableObjectAtIndex(list, 0); - pigeonResult.dynamicLinkDomain = GetNullableObjectAtIndex(list, 1); - pigeonResult.handleCodeInApp = [GetNullableObjectAtIndex(list, 2) boolValue]; - pigeonResult.iOSBundleId = GetNullableObjectAtIndex(list, 3); - pigeonResult.androidPackageName = GetNullableObjectAtIndex(list, 4); - pigeonResult.androidInstallApp = [GetNullableObjectAtIndex(list, 5) boolValue]; - pigeonResult.androidMinimumVersion = GetNullableObjectAtIndex(list, 6); - pigeonResult.linkDomain = GetNullableObjectAtIndex(list, 7); - return pigeonResult; -} -+ (nullable InternalActionCodeSettings *)nullableFromList:(NSArray *)list { - return (list) ? [InternalActionCodeSettings fromList:list] : nil; -} -- (NSArray *)toList { - return @[ - self.url ?: [NSNull null], - self.dynamicLinkDomain ?: [NSNull null], - @(self.handleCodeInApp), - self.iOSBundleId ?: [NSNull null], - self.androidPackageName ?: [NSNull null], - @(self.androidInstallApp), - self.androidMinimumVersion ?: [NSNull null], - self.linkDomain ?: [NSNull null], - ]; -} -- (BOOL)isEqual:(id)object { - if (self == object) { - return YES; - } - if (![object isKindOfClass:[self class]]) { - return NO; - } - InternalActionCodeSettings *other = (InternalActionCodeSettings *)object; - return FLTPigeonDeepEquals(self.url, other.url) && - FLTPigeonDeepEquals(self.dynamicLinkDomain, other.dynamicLinkDomain) && - self.handleCodeInApp == other.handleCodeInApp && - FLTPigeonDeepEquals(self.iOSBundleId, other.iOSBundleId) && - FLTPigeonDeepEquals(self.androidPackageName, other.androidPackageName) && - self.androidInstallApp == other.androidInstallApp && - FLTPigeonDeepEquals(self.androidMinimumVersion, other.androidMinimumVersion) && - FLTPigeonDeepEquals(self.linkDomain, other.linkDomain); -} - -- (NSUInteger)hash { - NSUInteger result = [self class].hash; - result = result * 31 + FLTPigeonDeepHash(self.url); - result = result * 31 + FLTPigeonDeepHash(self.dynamicLinkDomain); - result = result * 31 + @(self.handleCodeInApp).hash; - result = result * 31 + FLTPigeonDeepHash(self.iOSBundleId); - result = result * 31 + FLTPigeonDeepHash(self.androidPackageName); - result = result * 31 + @(self.androidInstallApp).hash; - result = result * 31 + FLTPigeonDeepHash(self.androidMinimumVersion); - result = result * 31 + FLTPigeonDeepHash(self.linkDomain); - return result; -} -@end - -@implementation InternalFirebaseAuthSettings -+ (instancetype)makeWithAppVerificationDisabledForTesting:(BOOL)appVerificationDisabledForTesting - userAccessGroup:(nullable NSString *)userAccessGroup - phoneNumber:(nullable NSString *)phoneNumber - smsCode:(nullable NSString *)smsCode - forceRecaptchaFlow:(nullable NSNumber *)forceRecaptchaFlow { - InternalFirebaseAuthSettings *pigeonResult = [[InternalFirebaseAuthSettings alloc] init]; - pigeonResult.appVerificationDisabledForTesting = appVerificationDisabledForTesting; - pigeonResult.userAccessGroup = userAccessGroup; - pigeonResult.phoneNumber = phoneNumber; - pigeonResult.smsCode = smsCode; - pigeonResult.forceRecaptchaFlow = forceRecaptchaFlow; - return pigeonResult; -} -+ (InternalFirebaseAuthSettings *)fromList:(NSArray *)list { - InternalFirebaseAuthSettings *pigeonResult = [[InternalFirebaseAuthSettings alloc] init]; - pigeonResult.appVerificationDisabledForTesting = [GetNullableObjectAtIndex(list, 0) boolValue]; - pigeonResult.userAccessGroup = GetNullableObjectAtIndex(list, 1); - pigeonResult.phoneNumber = GetNullableObjectAtIndex(list, 2); - pigeonResult.smsCode = GetNullableObjectAtIndex(list, 3); - pigeonResult.forceRecaptchaFlow = GetNullableObjectAtIndex(list, 4); - return pigeonResult; -} -+ (nullable InternalFirebaseAuthSettings *)nullableFromList:(NSArray *)list { - return (list) ? [InternalFirebaseAuthSettings fromList:list] : nil; -} -- (NSArray *)toList { - return @[ - @(self.appVerificationDisabledForTesting), - self.userAccessGroup ?: [NSNull null], - self.phoneNumber ?: [NSNull null], - self.smsCode ?: [NSNull null], - self.forceRecaptchaFlow ?: [NSNull null], - ]; -} -- (BOOL)isEqual:(id)object { - if (self == object) { - return YES; - } - if (![object isKindOfClass:[self class]]) { - return NO; - } - InternalFirebaseAuthSettings *other = (InternalFirebaseAuthSettings *)object; - return self.appVerificationDisabledForTesting == other.appVerificationDisabledForTesting && - FLTPigeonDeepEquals(self.userAccessGroup, other.userAccessGroup) && - FLTPigeonDeepEquals(self.phoneNumber, other.phoneNumber) && - FLTPigeonDeepEquals(self.smsCode, other.smsCode) && - FLTPigeonDeepEquals(self.forceRecaptchaFlow, other.forceRecaptchaFlow); -} - -- (NSUInteger)hash { - NSUInteger result = [self class].hash; - result = result * 31 + @(self.appVerificationDisabledForTesting).hash; - result = result * 31 + FLTPigeonDeepHash(self.userAccessGroup); - result = result * 31 + FLTPigeonDeepHash(self.phoneNumber); - result = result * 31 + FLTPigeonDeepHash(self.smsCode); - result = result * 31 + FLTPigeonDeepHash(self.forceRecaptchaFlow); - return result; -} -@end - -@implementation InternalSignInProvider -+ (instancetype)makeWithProviderId:(NSString *)providerId - scopes:(nullable NSArray *)scopes - customParameters: - (nullable NSDictionary *)customParameters { - InternalSignInProvider *pigeonResult = [[InternalSignInProvider alloc] init]; - pigeonResult.providerId = providerId; - pigeonResult.scopes = scopes; - pigeonResult.customParameters = customParameters; - return pigeonResult; -} -+ (InternalSignInProvider *)fromList:(NSArray *)list { - InternalSignInProvider *pigeonResult = [[InternalSignInProvider alloc] init]; - pigeonResult.providerId = GetNullableObjectAtIndex(list, 0); - pigeonResult.scopes = GetNullableObjectAtIndex(list, 1); - pigeonResult.customParameters = GetNullableObjectAtIndex(list, 2); - return pigeonResult; -} -+ (nullable InternalSignInProvider *)nullableFromList:(NSArray *)list { - return (list) ? [InternalSignInProvider fromList:list] : nil; -} -- (NSArray *)toList { - return @[ - self.providerId ?: [NSNull null], - self.scopes ?: [NSNull null], - self.customParameters ?: [NSNull null], - ]; -} -- (BOOL)isEqual:(id)object { - if (self == object) { - return YES; - } - if (![object isKindOfClass:[self class]]) { - return NO; - } - InternalSignInProvider *other = (InternalSignInProvider *)object; - return FLTPigeonDeepEquals(self.providerId, other.providerId) && - FLTPigeonDeepEquals(self.scopes, other.scopes) && - FLTPigeonDeepEquals(self.customParameters, other.customParameters); -} - -- (NSUInteger)hash { - NSUInteger result = [self class].hash; - result = result * 31 + FLTPigeonDeepHash(self.providerId); - result = result * 31 + FLTPigeonDeepHash(self.scopes); - result = result * 31 + FLTPigeonDeepHash(self.customParameters); - return result; -} -@end - -@implementation InternalVerifyPhoneNumberRequest -+ (instancetype)makeWithPhoneNumber:(nullable NSString *)phoneNumber - timeout:(NSInteger)timeout - forceResendingToken:(nullable NSNumber *)forceResendingToken - autoRetrievedSmsCodeForTesting:(nullable NSString *)autoRetrievedSmsCodeForTesting - multiFactorInfoId:(nullable NSString *)multiFactorInfoId - multiFactorSessionId:(nullable NSString *)multiFactorSessionId { - InternalVerifyPhoneNumberRequest *pigeonResult = [[InternalVerifyPhoneNumberRequest alloc] init]; - pigeonResult.phoneNumber = phoneNumber; - pigeonResult.timeout = timeout; - pigeonResult.forceResendingToken = forceResendingToken; - pigeonResult.autoRetrievedSmsCodeForTesting = autoRetrievedSmsCodeForTesting; - pigeonResult.multiFactorInfoId = multiFactorInfoId; - pigeonResult.multiFactorSessionId = multiFactorSessionId; - return pigeonResult; -} -+ (InternalVerifyPhoneNumberRequest *)fromList:(NSArray *)list { - InternalVerifyPhoneNumberRequest *pigeonResult = [[InternalVerifyPhoneNumberRequest alloc] init]; - pigeonResult.phoneNumber = GetNullableObjectAtIndex(list, 0); - pigeonResult.timeout = [GetNullableObjectAtIndex(list, 1) integerValue]; - pigeonResult.forceResendingToken = GetNullableObjectAtIndex(list, 2); - pigeonResult.autoRetrievedSmsCodeForTesting = GetNullableObjectAtIndex(list, 3); - pigeonResult.multiFactorInfoId = GetNullableObjectAtIndex(list, 4); - pigeonResult.multiFactorSessionId = GetNullableObjectAtIndex(list, 5); - return pigeonResult; -} -+ (nullable InternalVerifyPhoneNumberRequest *)nullableFromList:(NSArray *)list { - return (list) ? [InternalVerifyPhoneNumberRequest fromList:list] : nil; -} -- (NSArray *)toList { - return @[ - self.phoneNumber ?: [NSNull null], - @(self.timeout), - self.forceResendingToken ?: [NSNull null], - self.autoRetrievedSmsCodeForTesting ?: [NSNull null], - self.multiFactorInfoId ?: [NSNull null], - self.multiFactorSessionId ?: [NSNull null], - ]; -} -- (BOOL)isEqual:(id)object { - if (self == object) { - return YES; - } - if (![object isKindOfClass:[self class]]) { - return NO; - } - InternalVerifyPhoneNumberRequest *other = (InternalVerifyPhoneNumberRequest *)object; - return FLTPigeonDeepEquals(self.phoneNumber, other.phoneNumber) && - self.timeout == other.timeout && - FLTPigeonDeepEquals(self.forceResendingToken, other.forceResendingToken) && - FLTPigeonDeepEquals(self.autoRetrievedSmsCodeForTesting, - other.autoRetrievedSmsCodeForTesting) && - FLTPigeonDeepEquals(self.multiFactorInfoId, other.multiFactorInfoId) && - FLTPigeonDeepEquals(self.multiFactorSessionId, other.multiFactorSessionId); -} - -- (NSUInteger)hash { - NSUInteger result = [self class].hash; - result = result * 31 + FLTPigeonDeepHash(self.phoneNumber); - result = result * 31 + @(self.timeout).hash; - result = result * 31 + FLTPigeonDeepHash(self.forceResendingToken); - result = result * 31 + FLTPigeonDeepHash(self.autoRetrievedSmsCodeForTesting); - result = result * 31 + FLTPigeonDeepHash(self.multiFactorInfoId); - result = result * 31 + FLTPigeonDeepHash(self.multiFactorSessionId); - return result; -} -@end - -@implementation InternalIdTokenResult -+ (instancetype)makeWithToken:(nullable NSString *)token - expirationTimestamp:(nullable NSNumber *)expirationTimestamp - authTimestamp:(nullable NSNumber *)authTimestamp - issuedAtTimestamp:(nullable NSNumber *)issuedAtTimestamp - signInProvider:(nullable NSString *)signInProvider - claims:(nullable NSDictionary *)claims - signInSecondFactor:(nullable NSString *)signInSecondFactor { - InternalIdTokenResult *pigeonResult = [[InternalIdTokenResult alloc] init]; - pigeonResult.token = token; - pigeonResult.expirationTimestamp = expirationTimestamp; - pigeonResult.authTimestamp = authTimestamp; - pigeonResult.issuedAtTimestamp = issuedAtTimestamp; - pigeonResult.signInProvider = signInProvider; - pigeonResult.claims = claims; - pigeonResult.signInSecondFactor = signInSecondFactor; - return pigeonResult; -} -+ (InternalIdTokenResult *)fromList:(NSArray *)list { - InternalIdTokenResult *pigeonResult = [[InternalIdTokenResult alloc] init]; - pigeonResult.token = GetNullableObjectAtIndex(list, 0); - pigeonResult.expirationTimestamp = GetNullableObjectAtIndex(list, 1); - pigeonResult.authTimestamp = GetNullableObjectAtIndex(list, 2); - pigeonResult.issuedAtTimestamp = GetNullableObjectAtIndex(list, 3); - pigeonResult.signInProvider = GetNullableObjectAtIndex(list, 4); - pigeonResult.claims = GetNullableObjectAtIndex(list, 5); - pigeonResult.signInSecondFactor = GetNullableObjectAtIndex(list, 6); - return pigeonResult; -} -+ (nullable InternalIdTokenResult *)nullableFromList:(NSArray *)list { - return (list) ? [InternalIdTokenResult fromList:list] : nil; -} -- (NSArray *)toList { - return @[ - self.token ?: [NSNull null], - self.expirationTimestamp ?: [NSNull null], - self.authTimestamp ?: [NSNull null], - self.issuedAtTimestamp ?: [NSNull null], - self.signInProvider ?: [NSNull null], - self.claims ?: [NSNull null], - self.signInSecondFactor ?: [NSNull null], - ]; -} -- (BOOL)isEqual:(id)object { - if (self == object) { - return YES; - } - if (![object isKindOfClass:[self class]]) { - return NO; - } - InternalIdTokenResult *other = (InternalIdTokenResult *)object; - return FLTPigeonDeepEquals(self.token, other.token) && - FLTPigeonDeepEquals(self.expirationTimestamp, other.expirationTimestamp) && - FLTPigeonDeepEquals(self.authTimestamp, other.authTimestamp) && - FLTPigeonDeepEquals(self.issuedAtTimestamp, other.issuedAtTimestamp) && - FLTPigeonDeepEquals(self.signInProvider, other.signInProvider) && - FLTPigeonDeepEquals(self.claims, other.claims) && - FLTPigeonDeepEquals(self.signInSecondFactor, other.signInSecondFactor); -} - -- (NSUInteger)hash { - NSUInteger result = [self class].hash; - result = result * 31 + FLTPigeonDeepHash(self.token); - result = result * 31 + FLTPigeonDeepHash(self.expirationTimestamp); - result = result * 31 + FLTPigeonDeepHash(self.authTimestamp); - result = result * 31 + FLTPigeonDeepHash(self.issuedAtTimestamp); - result = result * 31 + FLTPigeonDeepHash(self.signInProvider); - result = result * 31 + FLTPigeonDeepHash(self.claims); - result = result * 31 + FLTPigeonDeepHash(self.signInSecondFactor); - return result; -} -@end - -@implementation InternalUserProfile -+ (instancetype)makeWithDisplayName:(nullable NSString *)displayName - photoUrl:(nullable NSString *)photoUrl - displayNameChanged:(BOOL)displayNameChanged - photoUrlChanged:(BOOL)photoUrlChanged { - InternalUserProfile *pigeonResult = [[InternalUserProfile alloc] init]; - pigeonResult.displayName = displayName; - pigeonResult.photoUrl = photoUrl; - pigeonResult.displayNameChanged = displayNameChanged; - pigeonResult.photoUrlChanged = photoUrlChanged; - return pigeonResult; -} -+ (InternalUserProfile *)fromList:(NSArray *)list { - InternalUserProfile *pigeonResult = [[InternalUserProfile alloc] init]; - pigeonResult.displayName = GetNullableObjectAtIndex(list, 0); - pigeonResult.photoUrl = GetNullableObjectAtIndex(list, 1); - pigeonResult.displayNameChanged = [GetNullableObjectAtIndex(list, 2) boolValue]; - pigeonResult.photoUrlChanged = [GetNullableObjectAtIndex(list, 3) boolValue]; - return pigeonResult; -} -+ (nullable InternalUserProfile *)nullableFromList:(NSArray *)list { - return (list) ? [InternalUserProfile fromList:list] : nil; -} -- (NSArray *)toList { - return @[ - self.displayName ?: [NSNull null], - self.photoUrl ?: [NSNull null], - @(self.displayNameChanged), - @(self.photoUrlChanged), - ]; -} -- (BOOL)isEqual:(id)object { - if (self == object) { - return YES; - } - if (![object isKindOfClass:[self class]]) { - return NO; - } - InternalUserProfile *other = (InternalUserProfile *)object; - return FLTPigeonDeepEquals(self.displayName, other.displayName) && - FLTPigeonDeepEquals(self.photoUrl, other.photoUrl) && - self.displayNameChanged == other.displayNameChanged && - self.photoUrlChanged == other.photoUrlChanged; -} - -- (NSUInteger)hash { - NSUInteger result = [self class].hash; - result = result * 31 + FLTPigeonDeepHash(self.displayName); - result = result * 31 + FLTPigeonDeepHash(self.photoUrl); - result = result * 31 + @(self.displayNameChanged).hash; - result = result * 31 + @(self.photoUrlChanged).hash; - return result; -} -@end - -@implementation InternalTotpSecret -+ (instancetype)makeWithCodeIntervalSeconds:(nullable NSNumber *)codeIntervalSeconds - codeLength:(nullable NSNumber *)codeLength - enrollmentCompletionDeadline:(nullable NSNumber *)enrollmentCompletionDeadline - hashingAlgorithm:(nullable NSString *)hashingAlgorithm - secretKey:(NSString *)secretKey { - InternalTotpSecret *pigeonResult = [[InternalTotpSecret alloc] init]; - pigeonResult.codeIntervalSeconds = codeIntervalSeconds; - pigeonResult.codeLength = codeLength; - pigeonResult.enrollmentCompletionDeadline = enrollmentCompletionDeadline; - pigeonResult.hashingAlgorithm = hashingAlgorithm; - pigeonResult.secretKey = secretKey; - return pigeonResult; -} -+ (InternalTotpSecret *)fromList:(NSArray *)list { - InternalTotpSecret *pigeonResult = [[InternalTotpSecret alloc] init]; - pigeonResult.codeIntervalSeconds = GetNullableObjectAtIndex(list, 0); - pigeonResult.codeLength = GetNullableObjectAtIndex(list, 1); - pigeonResult.enrollmentCompletionDeadline = GetNullableObjectAtIndex(list, 2); - pigeonResult.hashingAlgorithm = GetNullableObjectAtIndex(list, 3); - pigeonResult.secretKey = GetNullableObjectAtIndex(list, 4); - return pigeonResult; -} -+ (nullable InternalTotpSecret *)nullableFromList:(NSArray *)list { - return (list) ? [InternalTotpSecret fromList:list] : nil; -} -- (NSArray *)toList { - return @[ - self.codeIntervalSeconds ?: [NSNull null], - self.codeLength ?: [NSNull null], - self.enrollmentCompletionDeadline ?: [NSNull null], - self.hashingAlgorithm ?: [NSNull null], - self.secretKey ?: [NSNull null], - ]; -} -- (BOOL)isEqual:(id)object { - if (self == object) { - return YES; - } - if (![object isKindOfClass:[self class]]) { - return NO; - } - InternalTotpSecret *other = (InternalTotpSecret *)object; - return FLTPigeonDeepEquals(self.codeIntervalSeconds, other.codeIntervalSeconds) && - FLTPigeonDeepEquals(self.codeLength, other.codeLength) && - FLTPigeonDeepEquals(self.enrollmentCompletionDeadline, - other.enrollmentCompletionDeadline) && - FLTPigeonDeepEquals(self.hashingAlgorithm, other.hashingAlgorithm) && - FLTPigeonDeepEquals(self.secretKey, other.secretKey); -} - -- (NSUInteger)hash { - NSUInteger result = [self class].hash; - result = result * 31 + FLTPigeonDeepHash(self.codeIntervalSeconds); - result = result * 31 + FLTPigeonDeepHash(self.codeLength); - result = result * 31 + FLTPigeonDeepHash(self.enrollmentCompletionDeadline); - result = result * 31 + FLTPigeonDeepHash(self.hashingAlgorithm); - result = result * 31 + FLTPigeonDeepHash(self.secretKey); - return result; -} -@end - -@interface nullFirebaseAuthMessagesPigeonCodecReader : FlutterStandardReader -@end -@implementation nullFirebaseAuthMessagesPigeonCodecReader -- (nullable id)readValueOfType:(UInt8)type { - switch (type) { - case 129: { - NSNumber *enumAsNumber = [self readValue]; - return enumAsNumber == nil - ? nil - : [[ActionCodeInfoOperationBox alloc] initWithValue:[enumAsNumber integerValue]]; - } - case 130: - return [InternalMultiFactorSession fromList:[self readValue]]; - case 131: - return [InternalPhoneMultiFactorAssertion fromList:[self readValue]]; - case 132: - return [InternalMultiFactorInfo fromList:[self readValue]]; - case 133: - return [AuthPigeonFirebaseApp fromList:[self readValue]]; - case 134: - return [InternalActionCodeInfoData fromList:[self readValue]]; - case 135: - return [InternalActionCodeInfo fromList:[self readValue]]; - case 136: - return [InternalAdditionalUserInfo fromList:[self readValue]]; - case 137: - return [InternalAuthCredential fromList:[self readValue]]; - case 138: - return [InternalUserInfo fromList:[self readValue]]; - case 139: - return [InternalUserDetails fromList:[self readValue]]; - case 140: - return [InternalUserCredential fromList:[self readValue]]; - case 141: - return [InternalAuthCredentialInput fromList:[self readValue]]; - case 142: - return [InternalActionCodeSettings fromList:[self readValue]]; - case 143: - return [InternalFirebaseAuthSettings fromList:[self readValue]]; - case 144: - return [InternalSignInProvider fromList:[self readValue]]; - case 145: - return [InternalVerifyPhoneNumberRequest fromList:[self readValue]]; - case 146: - return [InternalIdTokenResult fromList:[self readValue]]; - case 147: - return [InternalUserProfile fromList:[self readValue]]; - case 148: - return [InternalTotpSecret fromList:[self readValue]]; - default: - return [super readValueOfType:type]; - } -} -@end - -@interface nullFirebaseAuthMessagesPigeonCodecWriter : FlutterStandardWriter -@end -@implementation nullFirebaseAuthMessagesPigeonCodecWriter -- (void)writeValue:(id)value { - if ([value isKindOfClass:[ActionCodeInfoOperationBox class]]) { - ActionCodeInfoOperationBox *box = (ActionCodeInfoOperationBox *)value; - [self writeByte:129]; - [self writeValue:(value == nil ? [NSNull null] : [NSNumber numberWithInteger:box.value])]; - } else if ([value isKindOfClass:[InternalMultiFactorSession class]]) { - [self writeByte:130]; - [self writeValue:[value toList]]; - } else if ([value isKindOfClass:[InternalPhoneMultiFactorAssertion class]]) { - [self writeByte:131]; - [self writeValue:[value toList]]; - } else if ([value isKindOfClass:[InternalMultiFactorInfo class]]) { - [self writeByte:132]; - [self writeValue:[value toList]]; - } else if ([value isKindOfClass:[AuthPigeonFirebaseApp class]]) { - [self writeByte:133]; - [self writeValue:[value toList]]; - } else if ([value isKindOfClass:[InternalActionCodeInfoData class]]) { - [self writeByte:134]; - [self writeValue:[value toList]]; - } else if ([value isKindOfClass:[InternalActionCodeInfo class]]) { - [self writeByte:135]; - [self writeValue:[value toList]]; - } else if ([value isKindOfClass:[InternalAdditionalUserInfo class]]) { - [self writeByte:136]; - [self writeValue:[value toList]]; - } else if ([value isKindOfClass:[InternalAuthCredential class]]) { - [self writeByte:137]; - [self writeValue:[value toList]]; - } else if ([value isKindOfClass:[InternalUserInfo class]]) { - [self writeByte:138]; - [self writeValue:[value toList]]; - } else if ([value isKindOfClass:[InternalUserDetails class]]) { - [self writeByte:139]; - [self writeValue:[value toList]]; - } else if ([value isKindOfClass:[InternalUserCredential class]]) { - [self writeByte:140]; - [self writeValue:[value toList]]; - } else if ([value isKindOfClass:[InternalAuthCredentialInput class]]) { - [self writeByte:141]; - [self writeValue:[value toList]]; - } else if ([value isKindOfClass:[InternalActionCodeSettings class]]) { - [self writeByte:142]; - [self writeValue:[value toList]]; - } else if ([value isKindOfClass:[InternalFirebaseAuthSettings class]]) { - [self writeByte:143]; - [self writeValue:[value toList]]; - } else if ([value isKindOfClass:[InternalSignInProvider class]]) { - [self writeByte:144]; - [self writeValue:[value toList]]; - } else if ([value isKindOfClass:[InternalVerifyPhoneNumberRequest class]]) { - [self writeByte:145]; - [self writeValue:[value toList]]; - } else if ([value isKindOfClass:[InternalIdTokenResult class]]) { - [self writeByte:146]; - [self writeValue:[value toList]]; - } else if ([value isKindOfClass:[InternalUserProfile class]]) { - [self writeByte:147]; - [self writeValue:[value toList]]; - } else if ([value isKindOfClass:[InternalTotpSecret class]]) { - [self writeByte:148]; - [self writeValue:[value toList]]; - } else { - [super writeValue:value]; - } -} -@end - -@interface nullFirebaseAuthMessagesPigeonCodecReaderWriter : FlutterStandardReaderWriter -@end -@implementation nullFirebaseAuthMessagesPigeonCodecReaderWriter -- (FlutterStandardWriter *)writerWithData:(NSMutableData *)data { - return [[nullFirebaseAuthMessagesPigeonCodecWriter alloc] initWithData:data]; -} -- (FlutterStandardReader *)readerWithData:(NSData *)data { - return [[nullFirebaseAuthMessagesPigeonCodecReader alloc] initWithData:data]; -} -@end - -NSObject *nullGetFirebaseAuthMessagesCodec(void) { - static FlutterStandardMessageCodec *sSharedObject = nil; - static dispatch_once_t sPred = 0; - dispatch_once(&sPred, ^{ - nullFirebaseAuthMessagesPigeonCodecReaderWriter *readerWriter = - [[nullFirebaseAuthMessagesPigeonCodecReaderWriter alloc] init]; - sSharedObject = [FlutterStandardMessageCodec codecWithReaderWriter:readerWriter]; - }); - return sSharedObject; -} -void SetUpFirebaseAuthHostApi(id binaryMessenger, - NSObject *api) { - SetUpFirebaseAuthHostApiWithSuffix(binaryMessenger, api, @""); -} - -void SetUpFirebaseAuthHostApiWithSuffix(id binaryMessenger, - NSObject *api, - NSString *messageChannelSuffix) { - messageChannelSuffix = messageChannelSuffix.length > 0 - ? [NSString stringWithFormat:@".%@", messageChannelSuffix] - : @""; - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString - stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_interface." - @"FirebaseAuthHostApi.registerIdTokenListener", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert([api respondsToSelector:@selector(registerIdTokenListenerApp:completion:)], - @"FirebaseAuthHostApi api (%@) doesn't respond to " - @"@selector(registerIdTokenListenerApp:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - [api registerIdTokenListenerApp:arg_app - completion:^(NSString *_Nullable output, - FlutterError *_Nullable error) { - callback(wrapResult(output, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString - stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_interface." - @"FirebaseAuthHostApi.registerAuthStateListener", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert([api respondsToSelector:@selector(registerAuthStateListenerApp:completion:)], - @"FirebaseAuthHostApi api (%@) doesn't respond to " - @"@selector(registerAuthStateListenerApp:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - [api registerAuthStateListenerApp:arg_app - completion:^(NSString *_Nullable output, - FlutterError *_Nullable error) { - callback(wrapResult(output, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_" - @"interface.FirebaseAuthHostApi.useEmulator", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert([api respondsToSelector:@selector(useEmulatorApp:host:port:completion:)], - @"FirebaseAuthHostApi api (%@) doesn't respond to " - @"@selector(useEmulatorApp:host:port:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - NSString *arg_host = GetNullableObjectAtIndex(args, 1); - NSInteger arg_port = [GetNullableObjectAtIndex(args, 2) integerValue]; - [api useEmulatorApp:arg_app - host:arg_host - port:arg_port - completion:^(FlutterError *_Nullable error) { - callback(wrapResult(nil, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_" - @"interface.FirebaseAuthHostApi.applyActionCode", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert([api respondsToSelector:@selector(applyActionCodeApp:code:completion:)], - @"FirebaseAuthHostApi api (%@) doesn't respond to " - @"@selector(applyActionCodeApp:code:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - NSString *arg_code = GetNullableObjectAtIndex(args, 1); - [api applyActionCodeApp:arg_app - code:arg_code - completion:^(FlutterError *_Nullable error) { - callback(wrapResult(nil, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_" - @"interface.FirebaseAuthHostApi.checkActionCode", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert([api respondsToSelector:@selector(checkActionCodeApp:code:completion:)], - @"FirebaseAuthHostApi api (%@) doesn't respond to " - @"@selector(checkActionCodeApp:code:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - NSString *arg_code = GetNullableObjectAtIndex(args, 1); - [api checkActionCodeApp:arg_app - code:arg_code - completion:^(InternalActionCodeInfo *_Nullable output, - FlutterError *_Nullable error) { - callback(wrapResult(output, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString - stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_interface." - @"FirebaseAuthHostApi.confirmPasswordReset", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert( - [api respondsToSelector:@selector(confirmPasswordResetApp:code:newPassword:completion:)], - @"FirebaseAuthHostApi api (%@) doesn't respond to " - @"@selector(confirmPasswordResetApp:code:newPassword:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - NSString *arg_code = GetNullableObjectAtIndex(args, 1); - NSString *arg_newPassword = GetNullableObjectAtIndex(args, 2); - [api confirmPasswordResetApp:arg_app - code:arg_code - newPassword:arg_newPassword - completion:^(FlutterError *_Nullable error) { - callback(wrapResult(nil, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString - stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_interface." - @"FirebaseAuthHostApi.createUserWithEmailAndPassword", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert( - [api - respondsToSelector:@selector( - createUserWithEmailAndPasswordApp:email:password:completion:)], - @"FirebaseAuthHostApi api (%@) doesn't respond to " - @"@selector(createUserWithEmailAndPasswordApp:email:password:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - NSString *arg_email = GetNullableObjectAtIndex(args, 1); - NSString *arg_password = GetNullableObjectAtIndex(args, 2); - [api createUserWithEmailAndPasswordApp:arg_app - email:arg_email - password:arg_password - completion:^(InternalUserCredential *_Nullable output, - FlutterError *_Nullable error) { - callback(wrapResult(output, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString - stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_interface." - @"FirebaseAuthHostApi.signInAnonymously", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert([api respondsToSelector:@selector(signInAnonymouslyApp:completion:)], - @"FirebaseAuthHostApi api (%@) doesn't respond to " - @"@selector(signInAnonymouslyApp:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - [api signInAnonymouslyApp:arg_app - completion:^(InternalUserCredential *_Nullable output, - FlutterError *_Nullable error) { - callback(wrapResult(output, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString - stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_interface." - @"FirebaseAuthHostApi.signInWithCredential", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert([api respondsToSelector:@selector(signInWithCredentialApp:input:completion:)], - @"FirebaseAuthHostApi api (%@) doesn't respond to " - @"@selector(signInWithCredentialApp:input:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - NSDictionary *arg_input = GetNullableObjectAtIndex(args, 1); - [api signInWithCredentialApp:arg_app - input:arg_input - completion:^(InternalUserCredential *_Nullable output, - FlutterError *_Nullable error) { - callback(wrapResult(output, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString - stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_interface." - @"FirebaseAuthHostApi.signInWithCustomToken", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert([api respondsToSelector:@selector(signInWithCustomTokenApp:token:completion:)], - @"FirebaseAuthHostApi api (%@) doesn't respond to " - @"@selector(signInWithCustomTokenApp:token:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - NSString *arg_token = GetNullableObjectAtIndex(args, 1); - [api signInWithCustomTokenApp:arg_app - token:arg_token - completion:^(InternalUserCredential *_Nullable output, - FlutterError *_Nullable error) { - callback(wrapResult(output, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString - stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_interface." - @"FirebaseAuthHostApi.signInWithEmailAndPassword", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert( - [api respondsToSelector:@selector( - signInWithEmailAndPasswordApp:email:password:completion:)], - @"FirebaseAuthHostApi api (%@) doesn't respond to " - @"@selector(signInWithEmailAndPasswordApp:email:password:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - NSString *arg_email = GetNullableObjectAtIndex(args, 1); - NSString *arg_password = GetNullableObjectAtIndex(args, 2); - [api signInWithEmailAndPasswordApp:arg_app - email:arg_email - password:arg_password - completion:^(InternalUserCredential *_Nullable output, - FlutterError *_Nullable error) { - callback(wrapResult(output, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString - stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_interface." - @"FirebaseAuthHostApi.signInWithEmailLink", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert( - [api respondsToSelector:@selector(signInWithEmailLinkApp:email:emailLink:completion:)], - @"FirebaseAuthHostApi api (%@) doesn't respond to " - @"@selector(signInWithEmailLinkApp:email:emailLink:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - NSString *arg_email = GetNullableObjectAtIndex(args, 1); - NSString *arg_emailLink = GetNullableObjectAtIndex(args, 2); - [api signInWithEmailLinkApp:arg_app - email:arg_email - emailLink:arg_emailLink - completion:^(InternalUserCredential *_Nullable output, - FlutterError *_Nullable error) { - callback(wrapResult(output, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString - stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_interface." - @"FirebaseAuthHostApi.signInWithProvider", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert( - [api respondsToSelector:@selector(signInWithProviderApp:signInProvider:completion:)], - @"FirebaseAuthHostApi api (%@) doesn't respond to " - @"@selector(signInWithProviderApp:signInProvider:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - InternalSignInProvider *arg_signInProvider = GetNullableObjectAtIndex(args, 1); - [api signInWithProviderApp:arg_app - signInProvider:arg_signInProvider - completion:^(InternalUserCredential *_Nullable output, - FlutterError *_Nullable error) { - callback(wrapResult(output, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_" - @"interface.FirebaseAuthHostApi.signOut", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert( - [api respondsToSelector:@selector(signOutApp:completion:)], - @"FirebaseAuthHostApi api (%@) doesn't respond to @selector(signOutApp:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - [api signOutApp:arg_app - completion:^(FlutterError *_Nullable error) { - callback(wrapResult(nil, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString - stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_interface." - @"FirebaseAuthHostApi.fetchSignInMethodsForEmail", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert([api respondsToSelector:@selector(fetchSignInMethodsForEmailApp:email:completion:)], - @"FirebaseAuthHostApi api (%@) doesn't respond to " - @"@selector(fetchSignInMethodsForEmailApp:email:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - NSString *arg_email = GetNullableObjectAtIndex(args, 1); - [api fetchSignInMethodsForEmailApp:arg_app - email:arg_email - completion:^(NSArray *_Nullable output, - FlutterError *_Nullable error) { - callback(wrapResult(output, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString - stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_interface." - @"FirebaseAuthHostApi.sendPasswordResetEmail", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert([api respondsToSelector: - @selector(sendPasswordResetEmailApp:email:actionCodeSettings:completion:)], - @"FirebaseAuthHostApi api (%@) doesn't respond to " - @"@selector(sendPasswordResetEmailApp:email:actionCodeSettings:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - NSString *arg_email = GetNullableObjectAtIndex(args, 1); - InternalActionCodeSettings *arg_actionCodeSettings = GetNullableObjectAtIndex(args, 2); - [api sendPasswordResetEmailApp:arg_app - email:arg_email - actionCodeSettings:arg_actionCodeSettings - completion:^(FlutterError *_Nullable error) { - callback(wrapResult(nil, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString - stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_interface." - @"FirebaseAuthHostApi.sendSignInLinkToEmail", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert([api respondsToSelector: - @selector(sendSignInLinkToEmailApp:email:actionCodeSettings:completion:)], - @"FirebaseAuthHostApi api (%@) doesn't respond to " - @"@selector(sendSignInLinkToEmailApp:email:actionCodeSettings:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - NSString *arg_email = GetNullableObjectAtIndex(args, 1); - InternalActionCodeSettings *arg_actionCodeSettings = GetNullableObjectAtIndex(args, 2); - [api sendSignInLinkToEmailApp:arg_app - email:arg_email - actionCodeSettings:arg_actionCodeSettings - completion:^(FlutterError *_Nullable error) { - callback(wrapResult(nil, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_" - @"interface.FirebaseAuthHostApi.setLanguageCode", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert([api respondsToSelector:@selector(setLanguageCodeApp:languageCode:completion:)], - @"FirebaseAuthHostApi api (%@) doesn't respond to " - @"@selector(setLanguageCodeApp:languageCode:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - NSString *arg_languageCode = GetNullableObjectAtIndex(args, 1); - [api setLanguageCodeApp:arg_app - languageCode:arg_languageCode - completion:^(NSString *_Nullable output, FlutterError *_Nullable error) { - callback(wrapResult(output, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_" - @"interface.FirebaseAuthHostApi.setSettings", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert([api respondsToSelector:@selector(setSettingsApp:settings:completion:)], - @"FirebaseAuthHostApi api (%@) doesn't respond to " - @"@selector(setSettingsApp:settings:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - InternalFirebaseAuthSettings *arg_settings = GetNullableObjectAtIndex(args, 1); - [api setSettingsApp:arg_app - settings:arg_settings - completion:^(FlutterError *_Nullable error) { - callback(wrapResult(nil, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString - stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_interface." - @"FirebaseAuthHostApi.verifyPasswordResetCode", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert([api respondsToSelector:@selector(verifyPasswordResetCodeApp:code:completion:)], - @"FirebaseAuthHostApi api (%@) doesn't respond to " - @"@selector(verifyPasswordResetCodeApp:code:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - NSString *arg_code = GetNullableObjectAtIndex(args, 1); - [api verifyPasswordResetCodeApp:arg_app - code:arg_code - completion:^(NSString *_Nullable output, - FlutterError *_Nullable error) { - callback(wrapResult(output, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString - stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_interface." - @"FirebaseAuthHostApi.verifyPhoneNumber", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert([api respondsToSelector:@selector(verifyPhoneNumberApp:request:completion:)], - @"FirebaseAuthHostApi api (%@) doesn't respond to " - @"@selector(verifyPhoneNumberApp:request:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - InternalVerifyPhoneNumberRequest *arg_request = GetNullableObjectAtIndex(args, 1); - [api verifyPhoneNumberApp:arg_app - request:arg_request - completion:^(NSString *_Nullable output, FlutterError *_Nullable error) { - callback(wrapResult(output, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName: - [NSString stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_interface." - @"FirebaseAuthHostApi.revokeTokenWithAuthorizationCode", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert([api respondsToSelector:@selector(revokeTokenWithAuthorizationCodeApp: - authorizationCode:completion:)], - @"FirebaseAuthHostApi api (%@) doesn't respond to " - @"@selector(revokeTokenWithAuthorizationCodeApp:authorizationCode:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - NSString *arg_authorizationCode = GetNullableObjectAtIndex(args, 1); - [api revokeTokenWithAuthorizationCodeApp:arg_app - authorizationCode:arg_authorizationCode - completion:^(FlutterError *_Nullable error) { - callback(wrapResult(nil, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString - stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_interface." - @"FirebaseAuthHostApi.revokeAccessToken", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert([api respondsToSelector:@selector(revokeAccessTokenApp:accessToken:completion:)], - @"FirebaseAuthHostApi api (%@) doesn't respond to " - @"@selector(revokeAccessTokenApp:accessToken:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - NSString *arg_accessToken = GetNullableObjectAtIndex(args, 1); - [api revokeAccessTokenApp:arg_app - accessToken:arg_accessToken - completion:^(FlutterError *_Nullable error) { - callback(wrapResult(nil, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString - stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_interface." - @"FirebaseAuthHostApi.initializeRecaptchaConfig", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert([api respondsToSelector:@selector(initializeRecaptchaConfigApp:completion:)], - @"FirebaseAuthHostApi api (%@) doesn't respond to " - @"@selector(initializeRecaptchaConfigApp:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - [api initializeRecaptchaConfigApp:arg_app - completion:^(FlutterError *_Nullable error) { - callback(wrapResult(nil, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } -} -void SetUpFirebaseAuthUserHostApi(id binaryMessenger, - NSObject *api) { - SetUpFirebaseAuthUserHostApiWithSuffix(binaryMessenger, api, @""); -} - -void SetUpFirebaseAuthUserHostApiWithSuffix(id binaryMessenger, - NSObject *api, - NSString *messageChannelSuffix) { - messageChannelSuffix = messageChannelSuffix.length > 0 - ? [NSString stringWithFormat:@".%@", messageChannelSuffix] - : @""; - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_" - @"interface.FirebaseAuthUserHostApi.delete", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert( - [api respondsToSelector:@selector(deleteApp:completion:)], - @"FirebaseAuthUserHostApi api (%@) doesn't respond to @selector(deleteApp:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - [api deleteApp:arg_app - completion:^(FlutterError *_Nullable error) { - callback(wrapResult(nil, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_" - @"interface.FirebaseAuthUserHostApi.getIdToken", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert([api respondsToSelector:@selector(getIdTokenApp:forceRefresh:completion:)], - @"FirebaseAuthUserHostApi api (%@) doesn't respond to " - @"@selector(getIdTokenApp:forceRefresh:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - BOOL arg_forceRefresh = [GetNullableObjectAtIndex(args, 1) boolValue]; - [api getIdTokenApp:arg_app - forceRefresh:arg_forceRefresh - completion:^(InternalIdTokenResult *_Nullable output, - FlutterError *_Nullable error) { - callback(wrapResult(output, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString - stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_interface." - @"FirebaseAuthUserHostApi.linkWithCredential", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert([api respondsToSelector:@selector(linkWithCredentialApp:input:completion:)], - @"FirebaseAuthUserHostApi api (%@) doesn't respond to " - @"@selector(linkWithCredentialApp:input:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - NSDictionary *arg_input = GetNullableObjectAtIndex(args, 1); - [api linkWithCredentialApp:arg_app - input:arg_input - completion:^(InternalUserCredential *_Nullable output, - FlutterError *_Nullable error) { - callback(wrapResult(output, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString - stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_interface." - @"FirebaseAuthUserHostApi.linkWithProvider", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert([api respondsToSelector:@selector(linkWithProviderApp:signInProvider:completion:)], - @"FirebaseAuthUserHostApi api (%@) doesn't respond to " - @"@selector(linkWithProviderApp:signInProvider:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - InternalSignInProvider *arg_signInProvider = GetNullableObjectAtIndex(args, 1); - [api linkWithProviderApp:arg_app - signInProvider:arg_signInProvider - completion:^(InternalUserCredential *_Nullable output, - FlutterError *_Nullable error) { - callback(wrapResult(output, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName: - [NSString stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_interface." - @"FirebaseAuthUserHostApi.reauthenticateWithCredential", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert( - [api respondsToSelector:@selector(reauthenticateWithCredentialApp:input:completion:)], - @"FirebaseAuthUserHostApi api (%@) doesn't respond to " - @"@selector(reauthenticateWithCredentialApp:input:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - NSDictionary *arg_input = GetNullableObjectAtIndex(args, 1); - [api reauthenticateWithCredentialApp:arg_app - input:arg_input - completion:^(InternalUserCredential *_Nullable output, - FlutterError *_Nullable error) { - callback(wrapResult(output, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString - stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_interface." - @"FirebaseAuthUserHostApi.reauthenticateWithProvider", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert( - [api respondsToSelector:@selector( - reauthenticateWithProviderApp:signInProvider:completion:)], - @"FirebaseAuthUserHostApi api (%@) doesn't respond to " - @"@selector(reauthenticateWithProviderApp:signInProvider:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - InternalSignInProvider *arg_signInProvider = GetNullableObjectAtIndex(args, 1); - [api reauthenticateWithProviderApp:arg_app - signInProvider:arg_signInProvider - completion:^(InternalUserCredential *_Nullable output, - FlutterError *_Nullable error) { - callback(wrapResult(output, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_" - @"interface.FirebaseAuthUserHostApi.reload", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert( - [api respondsToSelector:@selector(reloadApp:completion:)], - @"FirebaseAuthUserHostApi api (%@) doesn't respond to @selector(reloadApp:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - [api reloadApp:arg_app - completion:^(InternalUserDetails *_Nullable output, FlutterError *_Nullable error) { - callback(wrapResult(output, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString - stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_interface." - @"FirebaseAuthUserHostApi.sendEmailVerification", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert( - [api respondsToSelector:@selector( - sendEmailVerificationApp:actionCodeSettings:completion:)], - @"FirebaseAuthUserHostApi api (%@) doesn't respond to " - @"@selector(sendEmailVerificationApp:actionCodeSettings:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - InternalActionCodeSettings *arg_actionCodeSettings = GetNullableObjectAtIndex(args, 1); - [api sendEmailVerificationApp:arg_app - actionCodeSettings:arg_actionCodeSettings - completion:^(FlutterError *_Nullable error) { - callback(wrapResult(nil, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_" - @"interface.FirebaseAuthUserHostApi.unlink", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert([api respondsToSelector:@selector(unlinkApp:providerId:completion:)], - @"FirebaseAuthUserHostApi api (%@) doesn't respond to " - @"@selector(unlinkApp:providerId:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - NSString *arg_providerId = GetNullableObjectAtIndex(args, 1); - [api unlinkApp:arg_app - providerId:arg_providerId - completion:^(InternalUserCredential *_Nullable output, FlutterError *_Nullable error) { - callback(wrapResult(output, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_" - @"interface.FirebaseAuthUserHostApi.updateEmail", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert([api respondsToSelector:@selector(updateEmailApp:newEmail:completion:)], - @"FirebaseAuthUserHostApi api (%@) doesn't respond to " - @"@selector(updateEmailApp:newEmail:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - NSString *arg_newEmail = GetNullableObjectAtIndex(args, 1); - [api - updateEmailApp:arg_app - newEmail:arg_newEmail - completion:^(InternalUserDetails *_Nullable output, FlutterError *_Nullable error) { - callback(wrapResult(output, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString - stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_interface." - @"FirebaseAuthUserHostApi.updatePassword", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert([api respondsToSelector:@selector(updatePasswordApp:newPassword:completion:)], - @"FirebaseAuthUserHostApi api (%@) doesn't respond to " - @"@selector(updatePasswordApp:newPassword:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - NSString *arg_newPassword = GetNullableObjectAtIndex(args, 1); - [api updatePasswordApp:arg_app - newPassword:arg_newPassword - completion:^(InternalUserDetails *_Nullable output, - FlutterError *_Nullable error) { - callback(wrapResult(output, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString - stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_interface." - @"FirebaseAuthUserHostApi.updatePhoneNumber", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert([api respondsToSelector:@selector(updatePhoneNumberApp:input:completion:)], - @"FirebaseAuthUserHostApi api (%@) doesn't respond to " - @"@selector(updatePhoneNumberApp:input:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - NSDictionary *arg_input = GetNullableObjectAtIndex(args, 1); - [api updatePhoneNumberApp:arg_app - input:arg_input - completion:^(InternalUserDetails *_Nullable output, - FlutterError *_Nullable error) { - callback(wrapResult(output, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString - stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_interface." - @"FirebaseAuthUserHostApi.updateProfile", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert([api respondsToSelector:@selector(updateProfileApp:profile:completion:)], - @"FirebaseAuthUserHostApi api (%@) doesn't respond to " - @"@selector(updateProfileApp:profile:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - InternalUserProfile *arg_profile = GetNullableObjectAtIndex(args, 1); - [api updateProfileApp:arg_app - profile:arg_profile - completion:^(InternalUserDetails *_Nullable output, - FlutterError *_Nullable error) { - callback(wrapResult(output, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString - stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_interface." - @"FirebaseAuthUserHostApi.verifyBeforeUpdateEmail", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert([api respondsToSelector:@selector(verifyBeforeUpdateEmailApp:newEmail: - actionCodeSettings:completion:)], - @"FirebaseAuthUserHostApi api (%@) doesn't respond to " - @"@selector(verifyBeforeUpdateEmailApp:newEmail:actionCodeSettings:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - NSString *arg_newEmail = GetNullableObjectAtIndex(args, 1); - InternalActionCodeSettings *arg_actionCodeSettings = GetNullableObjectAtIndex(args, 2); - [api verifyBeforeUpdateEmailApp:arg_app - newEmail:arg_newEmail - actionCodeSettings:arg_actionCodeSettings - completion:^(FlutterError *_Nullable error) { - callback(wrapResult(nil, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } -} -void SetUpMultiFactorUserHostApi(id binaryMessenger, - NSObject *api) { - SetUpMultiFactorUserHostApiWithSuffix(binaryMessenger, api, @""); -} - -void SetUpMultiFactorUserHostApiWithSuffix(id binaryMessenger, - NSObject *api, - NSString *messageChannelSuffix) { - messageChannelSuffix = messageChannelSuffix.length > 0 - ? [NSString stringWithFormat:@".%@", messageChannelSuffix] - : @""; - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_" - @"interface.MultiFactorUserHostApi.enrollPhone", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert( - [api respondsToSelector:@selector(enrollPhoneApp:assertion:displayName:completion:)], - @"MultiFactorUserHostApi api (%@) doesn't respond to " - @"@selector(enrollPhoneApp:assertion:displayName:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - InternalPhoneMultiFactorAssertion *arg_assertion = GetNullableObjectAtIndex(args, 1); - NSString *arg_displayName = GetNullableObjectAtIndex(args, 2); - [api enrollPhoneApp:arg_app - assertion:arg_assertion - displayName:arg_displayName - completion:^(FlutterError *_Nullable error) { - callback(wrapResult(nil, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_" - @"interface.MultiFactorUserHostApi.enrollTotp", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert( - [api respondsToSelector:@selector(enrollTotpApp:assertionId:displayName:completion:)], - @"MultiFactorUserHostApi api (%@) doesn't respond to " - @"@selector(enrollTotpApp:assertionId:displayName:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - NSString *arg_assertionId = GetNullableObjectAtIndex(args, 1); - NSString *arg_displayName = GetNullableObjectAtIndex(args, 2); - [api enrollTotpApp:arg_app - assertionId:arg_assertionId - displayName:arg_displayName - completion:^(FlutterError *_Nullable error) { - callback(wrapResult(nil, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_" - @"interface.MultiFactorUserHostApi.getSession", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert([api respondsToSelector:@selector(getSessionApp:completion:)], - @"MultiFactorUserHostApi api (%@) doesn't respond to " - @"@selector(getSessionApp:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - [api getSessionApp:arg_app - completion:^(InternalMultiFactorSession *_Nullable output, - FlutterError *_Nullable error) { - callback(wrapResult(output, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_" - @"interface.MultiFactorUserHostApi.unenroll", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert([api respondsToSelector:@selector(unenrollApp:factorUid:completion:)], - @"MultiFactorUserHostApi api (%@) doesn't respond to " - @"@selector(unenrollApp:factorUid:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - NSString *arg_factorUid = GetNullableObjectAtIndex(args, 1); - [api unenrollApp:arg_app - factorUid:arg_factorUid - completion:^(FlutterError *_Nullable error) { - callback(wrapResult(nil, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString - stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_interface." - @"MultiFactorUserHostApi.getEnrolledFactors", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert([api respondsToSelector:@selector(getEnrolledFactorsApp:completion:)], - @"MultiFactorUserHostApi api (%@) doesn't respond to " - @"@selector(getEnrolledFactorsApp:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - AuthPigeonFirebaseApp *arg_app = GetNullableObjectAtIndex(args, 0); - [api getEnrolledFactorsApp:arg_app - completion:^(NSArray *_Nullable output, - FlutterError *_Nullable error) { - callback(wrapResult(output, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } -} -void SetUpMultiFactoResolverHostApi(id binaryMessenger, - NSObject *api) { - SetUpMultiFactoResolverHostApiWithSuffix(binaryMessenger, api, @""); -} - -void SetUpMultiFactoResolverHostApiWithSuffix(id binaryMessenger, - NSObject *api, - NSString *messageChannelSuffix) { - messageChannelSuffix = messageChannelSuffix.length > 0 - ? [NSString stringWithFormat:@".%@", messageChannelSuffix] - : @""; - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString - stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_interface." - @"MultiFactoResolverHostApi.resolveSignIn", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert([api respondsToSelector: - @selector(resolveSignInResolverId:assertion:totpAssertionId:completion:)], - @"MultiFactoResolverHostApi api (%@) doesn't respond to " - @"@selector(resolveSignInResolverId:assertion:totpAssertionId:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - NSString *arg_resolverId = GetNullableObjectAtIndex(args, 0); - InternalPhoneMultiFactorAssertion *arg_assertion = GetNullableObjectAtIndex(args, 1); - NSString *arg_totpAssertionId = GetNullableObjectAtIndex(args, 2); - [api resolveSignInResolverId:arg_resolverId - assertion:arg_assertion - totpAssertionId:arg_totpAssertionId - completion:^(InternalUserCredential *_Nullable output, - FlutterError *_Nullable error) { - callback(wrapResult(output, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } -} -void SetUpMultiFactorTotpHostApi(id binaryMessenger, - NSObject *api) { - SetUpMultiFactorTotpHostApiWithSuffix(binaryMessenger, api, @""); -} - -void SetUpMultiFactorTotpHostApiWithSuffix(id binaryMessenger, - NSObject *api, - NSString *messageChannelSuffix) { - messageChannelSuffix = messageChannelSuffix.length > 0 - ? [NSString stringWithFormat:@".%@", messageChannelSuffix] - : @""; - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString - stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_interface." - @"MultiFactorTotpHostApi.generateSecret", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert([api respondsToSelector:@selector(generateSecretSessionId:completion:)], - @"MultiFactorTotpHostApi api (%@) doesn't respond to " - @"@selector(generateSecretSessionId:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - NSString *arg_sessionId = GetNullableObjectAtIndex(args, 0); - [api generateSecretSessionId:arg_sessionId - completion:^(InternalTotpSecret *_Nullable output, - FlutterError *_Nullable error) { - callback(wrapResult(output, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString - stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_interface." - @"MultiFactorTotpHostApi.getAssertionForEnrollment", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert([api respondsToSelector: - @selector(getAssertionForEnrollmentSecretKey:oneTimePassword:completion:)], - @"MultiFactorTotpHostApi api (%@) doesn't respond to " - @"@selector(getAssertionForEnrollmentSecretKey:oneTimePassword:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - NSString *arg_secretKey = GetNullableObjectAtIndex(args, 0); - NSString *arg_oneTimePassword = GetNullableObjectAtIndex(args, 1); - [api getAssertionForEnrollmentSecretKey:arg_secretKey - oneTimePassword:arg_oneTimePassword - completion:^(NSString *_Nullable output, - FlutterError *_Nullable error) { - callback(wrapResult(output, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString - stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_interface." - @"MultiFactorTotpHostApi.getAssertionForSignIn", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert([api respondsToSelector: - @selector(getAssertionForSignInEnrollmentId:oneTimePassword:completion:)], - @"MultiFactorTotpHostApi api (%@) doesn't respond to " - @"@selector(getAssertionForSignInEnrollmentId:oneTimePassword:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - NSString *arg_enrollmentId = GetNullableObjectAtIndex(args, 0); - NSString *arg_oneTimePassword = GetNullableObjectAtIndex(args, 1); - [api getAssertionForSignInEnrollmentId:arg_enrollmentId - oneTimePassword:arg_oneTimePassword - completion:^(NSString *_Nullable output, - FlutterError *_Nullable error) { - callback(wrapResult(output, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } -} -void SetUpMultiFactorTotpSecretHostApi(id binaryMessenger, - NSObject *api) { - SetUpMultiFactorTotpSecretHostApiWithSuffix(binaryMessenger, api, @""); -} - -void SetUpMultiFactorTotpSecretHostApiWithSuffix(id binaryMessenger, - NSObject *api, - NSString *messageChannelSuffix) { - messageChannelSuffix = messageChannelSuffix.length > 0 - ? [NSString stringWithFormat:@".%@", messageChannelSuffix] - : @""; - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString - stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_interface." - @"MultiFactorTotpSecretHostApi.generateQrCodeUrl", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert( - [api respondsToSelector:@selector( - generateQrCodeUrlSecretKey:accountName:issuer:completion:)], - @"MultiFactorTotpSecretHostApi api (%@) doesn't respond to " - @"@selector(generateQrCodeUrlSecretKey:accountName:issuer:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - NSString *arg_secretKey = GetNullableObjectAtIndex(args, 0); - NSString *arg_accountName = GetNullableObjectAtIndex(args, 1); - NSString *arg_issuer = GetNullableObjectAtIndex(args, 2); - [api generateQrCodeUrlSecretKey:arg_secretKey - accountName:arg_accountName - issuer:arg_issuer - completion:^(NSString *_Nullable output, - FlutterError *_Nullable error) { - callback(wrapResult(output, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString - stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_interface." - @"MultiFactorTotpSecretHostApi.openInOtpApp", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert([api respondsToSelector:@selector(openInOtpAppSecretKey:qrCodeUrl:completion:)], - @"MultiFactorTotpSecretHostApi api (%@) doesn't respond to " - @"@selector(openInOtpAppSecretKey:qrCodeUrl:completion:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - NSString *arg_secretKey = GetNullableObjectAtIndex(args, 0); - NSString *arg_qrCodeUrl = GetNullableObjectAtIndex(args, 1); - [api openInOtpAppSecretKey:arg_secretKey - qrCodeUrl:arg_qrCodeUrl - completion:^(FlutterError *_Nullable error) { - callback(wrapResult(nil, error)); - }]; - }]; - } else { - [channel setMessageHandler:nil]; - } - } -} -void SetUpGenerateInterfaces(id binaryMessenger, - NSObject *api) { - SetUpGenerateInterfacesWithSuffix(binaryMessenger, api, @""); -} - -void SetUpGenerateInterfacesWithSuffix(id binaryMessenger, - NSObject *api, - NSString *messageChannelSuffix) { - messageChannelSuffix = messageChannelSuffix.length > 0 - ? [NSString stringWithFormat:@".%@", messageChannelSuffix] - : @""; - { - FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] - initWithName:[NSString stringWithFormat:@"%@%@", - @"dev.flutter.pigeon.firebase_auth_platform_" - @"interface.GenerateInterfaces.pigeonInterface", - messageChannelSuffix] - binaryMessenger:binaryMessenger - codec:nullGetFirebaseAuthMessagesCodec()]; - if (api) { - NSCAssert( - [api respondsToSelector:@selector(pigeonInterfaceInfo:error:)], - @"GenerateInterfaces api (%@) doesn't respond to @selector(pigeonInterfaceInfo:error:)", - api); - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - NSArray *args = message; - InternalMultiFactorInfo *arg_info = GetNullableObjectAtIndex(args, 0); - FlutterError *error; - [api pigeonInterfaceInfo:arg_info error:&error]; - callback(wrapResult(nil, error)); - }]; - } else { - [channel setMessageHandler:nil]; - } - } -} diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/macos/firebase_auth/Sources/firebase_auth/include/Private/FLTAuthStateChannelStreamHandler.h b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/macos/firebase_auth/Sources/firebase_auth/include/Private/FLTAuthStateChannelStreamHandler.h deleted file mode 100644 index 7b7efae7..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/macos/firebase_auth/Sources/firebase_auth/include/Private/FLTAuthStateChannelStreamHandler.h +++ /dev/null @@ -1,26 +0,0 @@ -// Copyright 2021 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#import - -#if TARGET_OS_OSX -#import -#else -#import -#endif - -#import -#import "../Public/CustomPigeonHeader.h" - -@class FIRAuth; - -NS_ASSUME_NONNULL_BEGIN - -@interface FLTAuthStateChannelStreamHandler : NSObject - -- (instancetype)initWithAuth:(FIRAuth *)auth; - -@end - -NS_ASSUME_NONNULL_END diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/macos/firebase_auth/Sources/firebase_auth/include/Private/FLTIdTokenChannelStreamHandler.h b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/macos/firebase_auth/Sources/firebase_auth/include/Private/FLTIdTokenChannelStreamHandler.h deleted file mode 100644 index c1660499..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/macos/firebase_auth/Sources/firebase_auth/include/Private/FLTIdTokenChannelStreamHandler.h +++ /dev/null @@ -1,27 +0,0 @@ -// Copyright 2021 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#import - -#if TARGET_OS_OSX -#import -#else -#import -#endif - -#import "../Public/CustomPigeonHeader.h" - -#import - -@class FIRAuth; - -NS_ASSUME_NONNULL_BEGIN - -@interface FLTIdTokenChannelStreamHandler : NSObject - -- (instancetype)initWithAuth:(FIRAuth *)auth; - -@end - -NS_ASSUME_NONNULL_END diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/macos/firebase_auth/Sources/firebase_auth/include/Private/FLTPhoneNumberVerificationStreamHandler.h b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/macos/firebase_auth/Sources/firebase_auth/include/Private/FLTPhoneNumberVerificationStreamHandler.h deleted file mode 100644 index 53e5f28c..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/macos/firebase_auth/Sources/firebase_auth/include/Private/FLTPhoneNumberVerificationStreamHandler.h +++ /dev/null @@ -1,36 +0,0 @@ -// Copyright 2021 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#import - -#if TARGET_OS_OSX -#import -#else -#import -#endif - -#import "../Public/firebase_auth_messages.g.h" - -#import - -@class FIRAuth; -@class FIRMultiFactorSession; -@class FIRPhoneMultiFactorInfo; - -NS_ASSUME_NONNULL_BEGIN - -@interface FLTPhoneNumberVerificationStreamHandler : NSObject - -#if TARGET_OS_OSX -- (instancetype)initWithAuth:(FIRAuth *)auth arguments:(NSDictionary *)arguments; -#else -- (instancetype)initWithAuth:(FIRAuth *)auth - request:(InternalVerifyPhoneNumberRequest *)request - session:(FIRMultiFactorSession *)session - factorInfo:(FIRPhoneMultiFactorInfo *)factorInfo; -#endif - -@end - -NS_ASSUME_NONNULL_END diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/macos/firebase_auth/Sources/firebase_auth/include/Private/PigeonParser.h b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/macos/firebase_auth/Sources/firebase_auth/include/Private/PigeonParser.h deleted file mode 100644 index b500fd2c..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/macos/firebase_auth/Sources/firebase_auth/include/Private/PigeonParser.h +++ /dev/null @@ -1,33 +0,0 @@ -/* - * Copyright 2023, the Chromium project authors. Please see the AUTHORS file - * for details. All rights reserved. Use of this source code is governed by a - * BSD-style license that can be found in the LICENSE file. - */ - -#import -#import "../Public/firebase_auth_messages.g.h" - -@class FIRAuthDataResult; -@class FIRUser; -@class FIRActionCodeSettings; -@class FIRAuthTokenResult; -@class FIRTOTPSecret; -@class FIRAuthCredential; - -@interface PigeonParser : NSObject - -+ (NSArray *_Nonnull)getManualList:(nonnull InternalUserDetails *)userDetails; -+ (InternalUserCredential *_Nullable) - getPigeonUserCredentialFromAuthResult:(nonnull FIRAuthDataResult *)authResult - authorizationCode:(nullable NSString *)authorizationCode; -+ (InternalUserDetails *_Nullable)getPigeonDetails:(nonnull FIRUser *)user; -+ (InternalUserInfo *_Nullable)getPigeonUserInfo:(nonnull FIRUser *)user; -+ (FIRActionCodeSettings *_Nullable)parseActionCodeSettings: - (nullable InternalActionCodeSettings *)settings; -+ (InternalUserCredential *_Nullable)getPigeonUserCredentialFromFIRUser:(nonnull FIRUser *)user; -+ (InternalIdTokenResult *_Nonnull)parseIdTokenResult:(nonnull FIRAuthTokenResult *)tokenResult; -+ (InternalTotpSecret *_Nonnull)getPigeonTotpSecret:(nonnull FIRTOTPSecret *)secret; -+ (InternalAuthCredential *_Nullable)getPigeonAuthCredential: - (FIRAuthCredential *_Nullable)authCredentialToken - token:(NSNumber *_Nullable)token; -@end diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/macos/firebase_auth/Sources/firebase_auth/include/Public/CustomPigeonHeader.h b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/macos/firebase_auth/Sources/firebase_auth/include/Public/CustomPigeonHeader.h deleted file mode 100644 index d32a6b45..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/macos/firebase_auth/Sources/firebase_auth/include/Public/CustomPigeonHeader.h +++ /dev/null @@ -1,16 +0,0 @@ -// Copyright 2021 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. -#import "firebase_auth_messages.g.h" - -@interface InternalMultiFactorInfo (Map) -- (NSDictionary *)toList; -@end - -@interface InternalUserDetails (Map) -- (NSDictionary *)toList; -@end - -@interface InternalUserInfo (Map) -- (NSDictionary *)toList; -@end diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/macos/firebase_auth/Sources/firebase_auth/include/Public/FLTFirebaseAuthPlugin.h b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/macos/firebase_auth/Sources/firebase_auth/include/Public/FLTFirebaseAuthPlugin.h deleted file mode 100644 index 53e20eca..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/macos/firebase_auth/Sources/firebase_auth/include/Public/FLTFirebaseAuthPlugin.h +++ /dev/null @@ -1,45 +0,0 @@ -// Copyright 2020 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#import - -#if TARGET_OS_OSX -#import -#else -#import -#endif - -#import -#import -#if __has_include() -#import -#else -#import -#endif -#import "firebase_auth_messages.g.h" - -#if !TARGET_OS_OSX -@protocol FlutterSceneLifeCycleDelegate; -#endif - -@interface FLTFirebaseAuthPlugin - : FLTFirebasePlugin ) - , - FlutterSceneLifeCycleDelegate -#endif -#endif - > - -+ (FlutterError *)convertToFlutterError:(NSError *)error; -@end diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/macos/firebase_auth/Sources/firebase_auth/include/Public/firebase_auth_messages.g.h b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/macos/firebase_auth/Sources/firebase_auth/include/Public/firebase_auth_messages.g.h deleted file mode 100644 index f83da7e3..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/macos/firebase_auth/Sources/firebase_auth/include/Public/firebase_auth_messages.g.h +++ /dev/null @@ -1,571 +0,0 @@ -// Copyright 2023, the Chromium project authors. Please see the AUTHORS file -// for details. All rights reserved. Use of this source code is governed by a -// BSD-style license that can be found in the LICENSE file. -// Autogenerated from Pigeon (v26.3.4), do not edit directly. -// See also: https://pub.dev/packages/pigeon - -@import Foundation; - -@protocol FlutterBinaryMessenger; -@protocol FlutterMessageCodec; -@class FlutterError; -@class FlutterStandardTypedData; - -NS_ASSUME_NONNULL_BEGIN - -/// The type of operation that generated the action code from calling -/// [checkActionCode]. -typedef NS_ENUM(NSUInteger, ActionCodeInfoOperation) { - /// Unknown operation. - ActionCodeInfoOperationUnknown = 0, - /// Password reset code generated via [sendPasswordResetEmail]. - ActionCodeInfoOperationPasswordReset = 1, - /// Email verification code generated via [User.sendEmailVerification]. - ActionCodeInfoOperationVerifyEmail = 2, - /// Email change revocation code generated via [User.updateEmail]. - ActionCodeInfoOperationRecoverEmail = 3, - /// Email sign in code generated via [sendSignInLinkToEmail]. - ActionCodeInfoOperationEmailSignIn = 4, - /// Verify and change email code generated via [User.verifyBeforeUpdateEmail]. - ActionCodeInfoOperationVerifyAndChangeEmail = 5, - /// Action code for reverting second factor addition. - ActionCodeInfoOperationRevertSecondFactorAddition = 6, -}; - -/// Wrapper for ActionCodeInfoOperation to allow for nullability. -@interface ActionCodeInfoOperationBox : NSObject -@property(nonatomic, assign) ActionCodeInfoOperation value; -- (instancetype)initWithValue:(ActionCodeInfoOperation)value; -@end - -@class InternalMultiFactorSession; -@class InternalPhoneMultiFactorAssertion; -@class InternalMultiFactorInfo; -@class AuthPigeonFirebaseApp; -@class InternalActionCodeInfoData; -@class InternalActionCodeInfo; -@class InternalAdditionalUserInfo; -@class InternalAuthCredential; -@class InternalUserInfo; -@class InternalUserDetails; -@class InternalUserCredential; -@class InternalAuthCredentialInput; -@class InternalActionCodeSettings; -@class InternalFirebaseAuthSettings; -@class InternalSignInProvider; -@class InternalVerifyPhoneNumberRequest; -@class InternalIdTokenResult; -@class InternalUserProfile; -@class InternalTotpSecret; - -@interface InternalMultiFactorSession : NSObject -/// `init` unavailable to enforce nonnull fields, see the `make` class method. -- (instancetype)init NS_UNAVAILABLE; -+ (instancetype)makeWithId:(NSString *)id; -@property(nonatomic, copy) NSString *id; -@end - -@interface InternalPhoneMultiFactorAssertion : NSObject -/// `init` unavailable to enforce nonnull fields, see the `make` class method. -- (instancetype)init NS_UNAVAILABLE; -+ (instancetype)makeWithVerificationId:(NSString *)verificationId - verificationCode:(NSString *)verificationCode; -@property(nonatomic, copy) NSString *verificationId; -@property(nonatomic, copy) NSString *verificationCode; -@end - -@interface InternalMultiFactorInfo : NSObject -/// `init` unavailable to enforce nonnull fields, see the `make` class method. -- (instancetype)init NS_UNAVAILABLE; -+ (instancetype)makeWithDisplayName:(nullable NSString *)displayName - enrollmentTimestamp:(double)enrollmentTimestamp - factorId:(nullable NSString *)factorId - uid:(NSString *)uid - phoneNumber:(nullable NSString *)phoneNumber; -@property(nonatomic, copy, nullable) NSString *displayName; -@property(nonatomic, assign) double enrollmentTimestamp; -@property(nonatomic, copy, nullable) NSString *factorId; -@property(nonatomic, copy) NSString *uid; -@property(nonatomic, copy, nullable) NSString *phoneNumber; -@end - -@interface AuthPigeonFirebaseApp : NSObject -/// `init` unavailable to enforce nonnull fields, see the `make` class method. -- (instancetype)init NS_UNAVAILABLE; -+ (instancetype)makeWithAppName:(NSString *)appName - tenantId:(nullable NSString *)tenantId - customAuthDomain:(nullable NSString *)customAuthDomain; -@property(nonatomic, copy) NSString *appName; -@property(nonatomic, copy, nullable) NSString *tenantId; -@property(nonatomic, copy, nullable) NSString *customAuthDomain; -@end - -@interface InternalActionCodeInfoData : NSObject -+ (instancetype)makeWithEmail:(nullable NSString *)email - previousEmail:(nullable NSString *)previousEmail; -@property(nonatomic, copy, nullable) NSString *email; -@property(nonatomic, copy, nullable) NSString *previousEmail; -@end - -@interface InternalActionCodeInfo : NSObject -/// `init` unavailable to enforce nonnull fields, see the `make` class method. -- (instancetype)init NS_UNAVAILABLE; -+ (instancetype)makeWithOperation:(ActionCodeInfoOperation)operation - data:(InternalActionCodeInfoData *)data; -@property(nonatomic, assign) ActionCodeInfoOperation operation; -@property(nonatomic, strong) InternalActionCodeInfoData *data; -@end - -@interface InternalAdditionalUserInfo : NSObject -/// `init` unavailable to enforce nonnull fields, see the `make` class method. -- (instancetype)init NS_UNAVAILABLE; -+ (instancetype)makeWithIsNewUser:(BOOL)isNewUser - providerId:(nullable NSString *)providerId - username:(nullable NSString *)username - authorizationCode:(nullable NSString *)authorizationCode - profile:(nullable NSDictionary *)profile; -@property(nonatomic, assign) BOOL isNewUser; -@property(nonatomic, copy, nullable) NSString *providerId; -@property(nonatomic, copy, nullable) NSString *username; -@property(nonatomic, copy, nullable) NSString *authorizationCode; -@property(nonatomic, copy, nullable) NSDictionary *profile; -@end - -@interface InternalAuthCredential : NSObject -/// `init` unavailable to enforce nonnull fields, see the `make` class method. -- (instancetype)init NS_UNAVAILABLE; -+ (instancetype)makeWithProviderId:(NSString *)providerId - signInMethod:(NSString *)signInMethod - nativeId:(NSInteger)nativeId - accessToken:(nullable NSString *)accessToken; -@property(nonatomic, copy) NSString *providerId; -@property(nonatomic, copy) NSString *signInMethod; -@property(nonatomic, assign) NSInteger nativeId; -@property(nonatomic, copy, nullable) NSString *accessToken; -@end - -@interface InternalUserInfo : NSObject -/// `init` unavailable to enforce nonnull fields, see the `make` class method. -- (instancetype)init NS_UNAVAILABLE; -+ (instancetype)makeWithUid:(NSString *)uid - email:(nullable NSString *)email - displayName:(nullable NSString *)displayName - photoUrl:(nullable NSString *)photoUrl - phoneNumber:(nullable NSString *)phoneNumber - isAnonymous:(BOOL)isAnonymous - isEmailVerified:(BOOL)isEmailVerified - providerId:(nullable NSString *)providerId - tenantId:(nullable NSString *)tenantId - refreshToken:(nullable NSString *)refreshToken - creationTimestamp:(nullable NSNumber *)creationTimestamp - lastSignInTimestamp:(nullable NSNumber *)lastSignInTimestamp; -@property(nonatomic, copy) NSString *uid; -@property(nonatomic, copy, nullable) NSString *email; -@property(nonatomic, copy, nullable) NSString *displayName; -@property(nonatomic, copy, nullable) NSString *photoUrl; -@property(nonatomic, copy, nullable) NSString *phoneNumber; -@property(nonatomic, assign) BOOL isAnonymous; -@property(nonatomic, assign) BOOL isEmailVerified; -@property(nonatomic, copy, nullable) NSString *providerId; -@property(nonatomic, copy, nullable) NSString *tenantId; -@property(nonatomic, copy, nullable) NSString *refreshToken; -@property(nonatomic, strong, nullable) NSNumber *creationTimestamp; -@property(nonatomic, strong, nullable) NSNumber *lastSignInTimestamp; -@end - -@interface InternalUserDetails : NSObject -/// `init` unavailable to enforce nonnull fields, see the `make` class method. -- (instancetype)init NS_UNAVAILABLE; -+ (instancetype)makeWithUserInfo:(InternalUserInfo *)userInfo - providerData:(NSArray *> *)providerData; -@property(nonatomic, strong) InternalUserInfo *userInfo; -@property(nonatomic, copy) NSArray *> *providerData; -@end - -@interface InternalUserCredential : NSObject -+ (instancetype)makeWithUser:(nullable InternalUserDetails *)user - additionalUserInfo:(nullable InternalAdditionalUserInfo *)additionalUserInfo - credential:(nullable InternalAuthCredential *)credential; -@property(nonatomic, strong, nullable) InternalUserDetails *user; -@property(nonatomic, strong, nullable) InternalAdditionalUserInfo *additionalUserInfo; -@property(nonatomic, strong, nullable) InternalAuthCredential *credential; -@end - -@interface InternalAuthCredentialInput : NSObject -/// `init` unavailable to enforce nonnull fields, see the `make` class method. -- (instancetype)init NS_UNAVAILABLE; -+ (instancetype)makeWithProviderId:(NSString *)providerId - signInMethod:(NSString *)signInMethod - token:(nullable NSString *)token - accessToken:(nullable NSString *)accessToken; -@property(nonatomic, copy) NSString *providerId; -@property(nonatomic, copy) NSString *signInMethod; -@property(nonatomic, copy, nullable) NSString *token; -@property(nonatomic, copy, nullable) NSString *accessToken; -@end - -@interface InternalActionCodeSettings : NSObject -/// `init` unavailable to enforce nonnull fields, see the `make` class method. -- (instancetype)init NS_UNAVAILABLE; -+ (instancetype)makeWithUrl:(NSString *)url - dynamicLinkDomain:(nullable NSString *)dynamicLinkDomain - handleCodeInApp:(BOOL)handleCodeInApp - iOSBundleId:(nullable NSString *)iOSBundleId - androidPackageName:(nullable NSString *)androidPackageName - androidInstallApp:(BOOL)androidInstallApp - androidMinimumVersion:(nullable NSString *)androidMinimumVersion - linkDomain:(nullable NSString *)linkDomain; -@property(nonatomic, copy) NSString *url; -@property(nonatomic, copy, nullable) NSString *dynamicLinkDomain; -@property(nonatomic, assign) BOOL handleCodeInApp; -@property(nonatomic, copy, nullable) NSString *iOSBundleId; -@property(nonatomic, copy, nullable) NSString *androidPackageName; -@property(nonatomic, assign) BOOL androidInstallApp; -@property(nonatomic, copy, nullable) NSString *androidMinimumVersion; -@property(nonatomic, copy, nullable) NSString *linkDomain; -@end - -@interface InternalFirebaseAuthSettings : NSObject -/// `init` unavailable to enforce nonnull fields, see the `make` class method. -- (instancetype)init NS_UNAVAILABLE; -+ (instancetype)makeWithAppVerificationDisabledForTesting:(BOOL)appVerificationDisabledForTesting - userAccessGroup:(nullable NSString *)userAccessGroup - phoneNumber:(nullable NSString *)phoneNumber - smsCode:(nullable NSString *)smsCode - forceRecaptchaFlow:(nullable NSNumber *)forceRecaptchaFlow; -@property(nonatomic, assign) BOOL appVerificationDisabledForTesting; -@property(nonatomic, copy, nullable) NSString *userAccessGroup; -@property(nonatomic, copy, nullable) NSString *phoneNumber; -@property(nonatomic, copy, nullable) NSString *smsCode; -@property(nonatomic, strong, nullable) NSNumber *forceRecaptchaFlow; -@end - -@interface InternalSignInProvider : NSObject -/// `init` unavailable to enforce nonnull fields, see the `make` class method. -- (instancetype)init NS_UNAVAILABLE; -+ (instancetype)makeWithProviderId:(NSString *)providerId - scopes:(nullable NSArray *)scopes - customParameters: - (nullable NSDictionary *)customParameters; -@property(nonatomic, copy) NSString *providerId; -@property(nonatomic, copy, nullable) NSArray *scopes; -@property(nonatomic, copy, nullable) NSDictionary *customParameters; -@end - -@interface InternalVerifyPhoneNumberRequest : NSObject -/// `init` unavailable to enforce nonnull fields, see the `make` class method. -- (instancetype)init NS_UNAVAILABLE; -+ (instancetype)makeWithPhoneNumber:(nullable NSString *)phoneNumber - timeout:(NSInteger)timeout - forceResendingToken:(nullable NSNumber *)forceResendingToken - autoRetrievedSmsCodeForTesting:(nullable NSString *)autoRetrievedSmsCodeForTesting - multiFactorInfoId:(nullable NSString *)multiFactorInfoId - multiFactorSessionId:(nullable NSString *)multiFactorSessionId; -@property(nonatomic, copy, nullable) NSString *phoneNumber; -@property(nonatomic, assign) NSInteger timeout; -@property(nonatomic, strong, nullable) NSNumber *forceResendingToken; -@property(nonatomic, copy, nullable) NSString *autoRetrievedSmsCodeForTesting; -@property(nonatomic, copy, nullable) NSString *multiFactorInfoId; -@property(nonatomic, copy, nullable) NSString *multiFactorSessionId; -@end - -@interface InternalIdTokenResult : NSObject -+ (instancetype)makeWithToken:(nullable NSString *)token - expirationTimestamp:(nullable NSNumber *)expirationTimestamp - authTimestamp:(nullable NSNumber *)authTimestamp - issuedAtTimestamp:(nullable NSNumber *)issuedAtTimestamp - signInProvider:(nullable NSString *)signInProvider - claims:(nullable NSDictionary *)claims - signInSecondFactor:(nullable NSString *)signInSecondFactor; -@property(nonatomic, copy, nullable) NSString *token; -@property(nonatomic, strong, nullable) NSNumber *expirationTimestamp; -@property(nonatomic, strong, nullable) NSNumber *authTimestamp; -@property(nonatomic, strong, nullable) NSNumber *issuedAtTimestamp; -@property(nonatomic, copy, nullable) NSString *signInProvider; -@property(nonatomic, copy, nullable) NSDictionary *claims; -@property(nonatomic, copy, nullable) NSString *signInSecondFactor; -@end - -@interface InternalUserProfile : NSObject -/// `init` unavailable to enforce nonnull fields, see the `make` class method. -- (instancetype)init NS_UNAVAILABLE; -+ (instancetype)makeWithDisplayName:(nullable NSString *)displayName - photoUrl:(nullable NSString *)photoUrl - displayNameChanged:(BOOL)displayNameChanged - photoUrlChanged:(BOOL)photoUrlChanged; -@property(nonatomic, copy, nullable) NSString *displayName; -@property(nonatomic, copy, nullable) NSString *photoUrl; -@property(nonatomic, assign) BOOL displayNameChanged; -@property(nonatomic, assign) BOOL photoUrlChanged; -@end - -@interface InternalTotpSecret : NSObject -/// `init` unavailable to enforce nonnull fields, see the `make` class method. -- (instancetype)init NS_UNAVAILABLE; -+ (instancetype)makeWithCodeIntervalSeconds:(nullable NSNumber *)codeIntervalSeconds - codeLength:(nullable NSNumber *)codeLength - enrollmentCompletionDeadline:(nullable NSNumber *)enrollmentCompletionDeadline - hashingAlgorithm:(nullable NSString *)hashingAlgorithm - secretKey:(NSString *)secretKey; -@property(nonatomic, strong, nullable) NSNumber *codeIntervalSeconds; -@property(nonatomic, strong, nullable) NSNumber *codeLength; -@property(nonatomic, strong, nullable) NSNumber *enrollmentCompletionDeadline; -@property(nonatomic, copy, nullable) NSString *hashingAlgorithm; -@property(nonatomic, copy) NSString *secretKey; -@end - -/// The codec used by all APIs. -NSObject *nullGetFirebaseAuthMessagesCodec(void); - -@protocol FirebaseAuthHostApi -- (void)registerIdTokenListenerApp:(AuthPigeonFirebaseApp *)app - completion: - (void (^)(NSString *_Nullable, FlutterError *_Nullable))completion; -- (void)registerAuthStateListenerApp:(AuthPigeonFirebaseApp *)app - completion: - (void (^)(NSString *_Nullable, FlutterError *_Nullable))completion; -- (void)useEmulatorApp:(AuthPigeonFirebaseApp *)app - host:(NSString *)host - port:(NSInteger)port - completion:(void (^)(FlutterError *_Nullable))completion; -- (void)applyActionCodeApp:(AuthPigeonFirebaseApp *)app - code:(NSString *)code - completion:(void (^)(FlutterError *_Nullable))completion; -- (void)checkActionCodeApp:(AuthPigeonFirebaseApp *)app - code:(NSString *)code - completion:(void (^)(InternalActionCodeInfo *_Nullable, - FlutterError *_Nullable))completion; -- (void)confirmPasswordResetApp:(AuthPigeonFirebaseApp *)app - code:(NSString *)code - newPassword:(NSString *)newPassword - completion:(void (^)(FlutterError *_Nullable))completion; -- (void)createUserWithEmailAndPasswordApp:(AuthPigeonFirebaseApp *)app - email:(NSString *)email - password:(NSString *)password - completion:(void (^)(InternalUserCredential *_Nullable, - FlutterError *_Nullable))completion; -- (void)signInAnonymouslyApp:(AuthPigeonFirebaseApp *)app - completion:(void (^)(InternalUserCredential *_Nullable, - FlutterError *_Nullable))completion; -- (void)signInWithCredentialApp:(AuthPigeonFirebaseApp *)app - input:(NSDictionary *)input - completion:(void (^)(InternalUserCredential *_Nullable, - FlutterError *_Nullable))completion; -- (void)signInWithCustomTokenApp:(AuthPigeonFirebaseApp *)app - token:(NSString *)token - completion:(void (^)(InternalUserCredential *_Nullable, - FlutterError *_Nullable))completion; -- (void)signInWithEmailAndPasswordApp:(AuthPigeonFirebaseApp *)app - email:(NSString *)email - password:(NSString *)password - completion:(void (^)(InternalUserCredential *_Nullable, - FlutterError *_Nullable))completion; -- (void)signInWithEmailLinkApp:(AuthPigeonFirebaseApp *)app - email:(NSString *)email - emailLink:(NSString *)emailLink - completion:(void (^)(InternalUserCredential *_Nullable, - FlutterError *_Nullable))completion; -- (void)signInWithProviderApp:(AuthPigeonFirebaseApp *)app - signInProvider:(InternalSignInProvider *)signInProvider - completion:(void (^)(InternalUserCredential *_Nullable, - FlutterError *_Nullable))completion; -- (void)signOutApp:(AuthPigeonFirebaseApp *)app - completion:(void (^)(FlutterError *_Nullable))completion; -- (void)fetchSignInMethodsForEmailApp:(AuthPigeonFirebaseApp *)app - email:(NSString *)email - completion:(void (^)(NSArray *_Nullable, - FlutterError *_Nullable))completion; -- (void)sendPasswordResetEmailApp:(AuthPigeonFirebaseApp *)app - email:(NSString *)email - actionCodeSettings:(nullable InternalActionCodeSettings *)actionCodeSettings - completion:(void (^)(FlutterError *_Nullable))completion; -- (void)sendSignInLinkToEmailApp:(AuthPigeonFirebaseApp *)app - email:(NSString *)email - actionCodeSettings:(InternalActionCodeSettings *)actionCodeSettings - completion:(void (^)(FlutterError *_Nullable))completion; -- (void)setLanguageCodeApp:(AuthPigeonFirebaseApp *)app - languageCode:(nullable NSString *)languageCode - completion:(void (^)(NSString *_Nullable, FlutterError *_Nullable))completion; -- (void)setSettingsApp:(AuthPigeonFirebaseApp *)app - settings:(InternalFirebaseAuthSettings *)settings - completion:(void (^)(FlutterError *_Nullable))completion; -- (void)verifyPasswordResetCodeApp:(AuthPigeonFirebaseApp *)app - code:(NSString *)code - completion: - (void (^)(NSString *_Nullable, FlutterError *_Nullable))completion; -- (void)verifyPhoneNumberApp:(AuthPigeonFirebaseApp *)app - request:(InternalVerifyPhoneNumberRequest *)request - completion:(void (^)(NSString *_Nullable, FlutterError *_Nullable))completion; -- (void)revokeTokenWithAuthorizationCodeApp:(AuthPigeonFirebaseApp *)app - authorizationCode:(NSString *)authorizationCode - completion:(void (^)(FlutterError *_Nullable))completion; -- (void)revokeAccessTokenApp:(AuthPigeonFirebaseApp *)app - accessToken:(NSString *)accessToken - completion:(void (^)(FlutterError *_Nullable))completion; -- (void)initializeRecaptchaConfigApp:(AuthPigeonFirebaseApp *)app - completion:(void (^)(FlutterError *_Nullable))completion; -@end - -extern void SetUpFirebaseAuthHostApi(id binaryMessenger, - NSObject *_Nullable api); - -extern void SetUpFirebaseAuthHostApiWithSuffix(id binaryMessenger, - NSObject *_Nullable api, - NSString *messageChannelSuffix); - -@protocol FirebaseAuthUserHostApi -- (void)deleteApp:(AuthPigeonFirebaseApp *)app - completion:(void (^)(FlutterError *_Nullable))completion; -- (void)getIdTokenApp:(AuthPigeonFirebaseApp *)app - forceRefresh:(BOOL)forceRefresh - completion: - (void (^)(InternalIdTokenResult *_Nullable, FlutterError *_Nullable))completion; -- (void)linkWithCredentialApp:(AuthPigeonFirebaseApp *)app - input:(NSDictionary *)input - completion:(void (^)(InternalUserCredential *_Nullable, - FlutterError *_Nullable))completion; -- (void)linkWithProviderApp:(AuthPigeonFirebaseApp *)app - signInProvider:(InternalSignInProvider *)signInProvider - completion:(void (^)(InternalUserCredential *_Nullable, - FlutterError *_Nullable))completion; -- (void)reauthenticateWithCredentialApp:(AuthPigeonFirebaseApp *)app - input:(NSDictionary *)input - completion:(void (^)(InternalUserCredential *_Nullable, - FlutterError *_Nullable))completion; -- (void)reauthenticateWithProviderApp:(AuthPigeonFirebaseApp *)app - signInProvider:(InternalSignInProvider *)signInProvider - completion:(void (^)(InternalUserCredential *_Nullable, - FlutterError *_Nullable))completion; -- (void)reloadApp:(AuthPigeonFirebaseApp *)app - completion:(void (^)(InternalUserDetails *_Nullable, FlutterError *_Nullable))completion; -- (void)sendEmailVerificationApp:(AuthPigeonFirebaseApp *)app - actionCodeSettings:(nullable InternalActionCodeSettings *)actionCodeSettings - completion:(void (^)(FlutterError *_Nullable))completion; -- (void)unlinkApp:(AuthPigeonFirebaseApp *)app - providerId:(NSString *)providerId - completion:(void (^)(InternalUserCredential *_Nullable, FlutterError *_Nullable))completion; -- (void)updateEmailApp:(AuthPigeonFirebaseApp *)app - newEmail:(NSString *)newEmail - completion: - (void (^)(InternalUserDetails *_Nullable, FlutterError *_Nullable))completion; -- (void)updatePasswordApp:(AuthPigeonFirebaseApp *)app - newPassword:(NSString *)newPassword - completion: - (void (^)(InternalUserDetails *_Nullable, FlutterError *_Nullable))completion; -- (void)updatePhoneNumberApp:(AuthPigeonFirebaseApp *)app - input:(NSDictionary *)input - completion: - (void (^)(InternalUserDetails *_Nullable, FlutterError *_Nullable))completion; -- (void)updateProfileApp:(AuthPigeonFirebaseApp *)app - profile:(InternalUserProfile *)profile - completion: - (void (^)(InternalUserDetails *_Nullable, FlutterError *_Nullable))completion; -- (void)verifyBeforeUpdateEmailApp:(AuthPigeonFirebaseApp *)app - newEmail:(NSString *)newEmail - actionCodeSettings:(nullable InternalActionCodeSettings *)actionCodeSettings - completion:(void (^)(FlutterError *_Nullable))completion; -@end - -extern void SetUpFirebaseAuthUserHostApi(id binaryMessenger, - NSObject *_Nullable api); - -extern void SetUpFirebaseAuthUserHostApiWithSuffix(id binaryMessenger, - NSObject *_Nullable api, - NSString *messageChannelSuffix); - -@protocol MultiFactorUserHostApi -- (void)enrollPhoneApp:(AuthPigeonFirebaseApp *)app - assertion:(InternalPhoneMultiFactorAssertion *)assertion - displayName:(nullable NSString *)displayName - completion:(void (^)(FlutterError *_Nullable))completion; -- (void)enrollTotpApp:(AuthPigeonFirebaseApp *)app - assertionId:(NSString *)assertionId - displayName:(nullable NSString *)displayName - completion:(void (^)(FlutterError *_Nullable))completion; -- (void)getSessionApp:(AuthPigeonFirebaseApp *)app - completion: - (void (^)(InternalMultiFactorSession *_Nullable, FlutterError *_Nullable))completion; -- (void)unenrollApp:(AuthPigeonFirebaseApp *)app - factorUid:(NSString *)factorUid - completion:(void (^)(FlutterError *_Nullable))completion; -- (void)getEnrolledFactorsApp:(AuthPigeonFirebaseApp *)app - completion:(void (^)(NSArray *_Nullable, - FlutterError *_Nullable))completion; -@end - -extern void SetUpMultiFactorUserHostApi(id binaryMessenger, - NSObject *_Nullable api); - -extern void SetUpMultiFactorUserHostApiWithSuffix(id binaryMessenger, - NSObject *_Nullable api, - NSString *messageChannelSuffix); - -@protocol MultiFactoResolverHostApi -- (void)resolveSignInResolverId:(NSString *)resolverId - assertion:(nullable InternalPhoneMultiFactorAssertion *)assertion - totpAssertionId:(nullable NSString *)totpAssertionId - completion:(void (^)(InternalUserCredential *_Nullable, - FlutterError *_Nullable))completion; -@end - -extern void SetUpMultiFactoResolverHostApi(id binaryMessenger, - NSObject *_Nullable api); - -extern void SetUpMultiFactoResolverHostApiWithSuffix( - id binaryMessenger, NSObject *_Nullable api, - NSString *messageChannelSuffix); - -@protocol MultiFactorTotpHostApi -- (void)generateSecretSessionId:(NSString *)sessionId - completion:(void (^)(InternalTotpSecret *_Nullable, - FlutterError *_Nullable))completion; -- (void)getAssertionForEnrollmentSecretKey:(NSString *)secretKey - oneTimePassword:(NSString *)oneTimePassword - completion:(void (^)(NSString *_Nullable, - FlutterError *_Nullable))completion; -- (void)getAssertionForSignInEnrollmentId:(NSString *)enrollmentId - oneTimePassword:(NSString *)oneTimePassword - completion:(void (^)(NSString *_Nullable, - FlutterError *_Nullable))completion; -@end - -extern void SetUpMultiFactorTotpHostApi(id binaryMessenger, - NSObject *_Nullable api); - -extern void SetUpMultiFactorTotpHostApiWithSuffix(id binaryMessenger, - NSObject *_Nullable api, - NSString *messageChannelSuffix); - -@protocol MultiFactorTotpSecretHostApi -- (void)generateQrCodeUrlSecretKey:(NSString *)secretKey - accountName:(nullable NSString *)accountName - issuer:(nullable NSString *)issuer - completion: - (void (^)(NSString *_Nullable, FlutterError *_Nullable))completion; -- (void)openInOtpAppSecretKey:(NSString *)secretKey - qrCodeUrl:(NSString *)qrCodeUrl - completion:(void (^)(FlutterError *_Nullable))completion; -@end - -extern void SetUpMultiFactorTotpSecretHostApi( - id binaryMessenger, - NSObject *_Nullable api); - -extern void SetUpMultiFactorTotpSecretHostApiWithSuffix( - id binaryMessenger, - NSObject *_Nullable api, NSString *messageChannelSuffix); - -/// Only used to generate the object interface that are use outside of the Pigeon interface -@protocol GenerateInterfaces -- (void)pigeonInterfaceInfo:(InternalMultiFactorInfo *)info - error:(FlutterError *_Nullable *_Nonnull)error; -@end - -extern void SetUpGenerateInterfaces(id binaryMessenger, - NSObject *_Nullable api); - -extern void SetUpGenerateInterfacesWithSuffix(id binaryMessenger, - NSObject *_Nullable api, - NSString *messageChannelSuffix); - -NS_ASSUME_NONNULL_END diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/pubspec.yaml b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/pubspec.yaml deleted file mode 100755 index ed5194bd..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/pubspec.yaml +++ /dev/null @@ -1,52 +0,0 @@ -name: firebase_auth -description: Flutter plugin for Firebase Auth, enabling - authentication using passwords, phone numbers and identity providers - like Google, Facebook and Twitter. -homepage: https://firebase.google.com/docs/auth -repository: https://github.com/firebase/flutterfire/tree/main/packages/firebase_auth/firebase_auth -version: 6.5.4 -resolution: workspace -topics: - - firebase - - authentication - - identity - - sign-in - - sign-up - -false_secrets: - - example/** - -environment: - sdk: '^3.6.0' - flutter: '>=3.16.0' - -dependencies: - firebase_auth_platform_interface: ^9.0.3 - firebase_auth_web: ^6.2.3 - firebase_core: ^4.11.0 - firebase_core_platform_interface: ^7.1.0 - flutter: - sdk: flutter - meta: ^1.8.0 -dev_dependencies: - async: ^2.5.0 - flutter_test: - sdk: flutter - mockito: ^5.0.0 - plugin_platform_interface: ^2.1.3 - -flutter: - plugin: - platforms: - android: - package: io.flutter.plugins.firebase.auth - pluginClass: FlutterFirebaseAuthPlugin - ios: - pluginClass: FLTFirebaseAuthPlugin - macos: - pluginClass: FLTFirebaseAuthPlugin - web: - default_package: firebase_auth_web - windows: - pluginClass: FirebaseAuthPluginCApi - diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/test/firebase_auth_test.dart b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/test/firebase_auth_test.dart deleted file mode 100644 index 5e570b0b..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/test/firebase_auth_test.dart +++ /dev/null @@ -1,1382 +0,0 @@ -// ignore_for_file: require_trailing_commas -// Copyright 2020, the Chromium project authors. Please see the AUTHORS file -// for details. All rights reserved. Use of this source code is governed by a -// BSD-style license that can be found in the LICENSE file. - -import 'dart:async'; - -import 'package:async/async.dart'; -import 'package:firebase_auth/firebase_auth.dart'; -import 'package:firebase_auth_platform_interface/firebase_auth_platform_interface.dart'; -import 'package:firebase_auth_platform_interface/src/method_channel/method_channel_firebase_auth.dart'; -import 'package:firebase_core/firebase_core.dart'; -import 'package:flutter/foundation.dart'; -import 'package:flutter_test/flutter_test.dart'; -import 'package:mockito/mockito.dart'; -import 'package:plugin_platform_interface/plugin_platform_interface.dart'; - -import './mock.dart'; - -void main() { - setupFirebaseAuthMocks(); - - late FirebaseAuth auth; - - const String kMockActionCode = '12345'; - const String kMockEmail = 'test@example.com'; - const String kMockPassword = 'passw0rd'; - const String kMockIdToken = '12345'; - const String kMockRawNonce = 'abcde12345'; - const String kMockAccessToken = '67890'; - const String kMockGithubToken = 'github'; - const String kMockCustomToken = '12345'; - const String kMockPhoneNumber = '5555555555'; - const String kMockVerificationId = '12345'; - const String kMockSmsCode = '123456'; - const String kMockLanguage = 'en'; - const String kMockOobCode = 'oobcode'; - const String kMockAuthToken = '12460'; - const String kMockURL = 'http://www.example.com'; - const String kMockHost = 'www.example.com'; - const String kMockValidPassword = - 'Password123!'; // For password policy impl testing - const String kMockInvalidPassword = 'Pa1!'; - const String kMockInvalidPassword2 = 'password123!'; - const String kMockInvalidPassword3 = 'PASSWORD123!'; - const String kMockInvalidPassword4 = 'password!'; - const String kMockInvalidPassword5 = 'Password123'; - const Map kMockPasswordPolicy = { - 'customStrengthOptions': { - 'minPasswordLength': 6, - 'maxPasswordLength': 12, - 'containsLowercaseCharacter': true, - 'containsUppercaseCharacter': true, - 'containsNumericCharacter': true, - 'containsNonAlphanumericCharacter': true, - }, - 'allowedNonAlphanumericCharacters': ['!'], - 'schemaVersion': 1, - 'enforcement': 'OFF', - }; - final PasswordPolicy kMockPasswordPolicyObject = - PasswordPolicy(kMockPasswordPolicy); - const int kMockPort = 31337; - - final TestAuthProvider testAuthProvider = TestAuthProvider(); - final int kMockCreationTimestamp = - DateTime.now().subtract(const Duration(days: 2)).millisecondsSinceEpoch; - final int kMockLastSignInTimestamp = - DateTime.now().subtract(const Duration(days: 1)).millisecondsSinceEpoch; - - final kMockUser = InternalUserDetails( - userInfo: InternalUserInfo( - uid: '12345', - displayName: 'displayName', - creationTimestamp: kMockCreationTimestamp, - lastSignInTimestamp: kMockLastSignInTimestamp, - isAnonymous: true, - isEmailVerified: false, - ), - providerData: [ - { - 'providerId': 'firebase', - 'uid': '12345', - 'displayName': 'Flutter Test User', - 'photoUrl': 'http://www.example.com/', - 'email': 'test@example.com', - } - ], - ); - - late MockUserPlatform mockUserPlatform; - late MockUserCredentialPlatform mockUserCredPlatform; - late MockConfirmationResultPlatform mockConfirmationResultPlatform; - late MockRecaptchaVerifier mockVerifier; - late AdditionalUserInfo mockAdditionalUserInfo; - late EmailAuthCredential mockCredential; - - MockFirebaseAuth mockAuthPlatform = MockFirebaseAuth(); - - group('$FirebaseAuth', () { - InternalUserDetails user; - // used to generate a unique application name for each test - var testCount = 0; - - setUp(() async { - FirebaseAuthPlatform.instance = mockAuthPlatform = MockFirebaseAuth(); - - // Each test uses a unique FirebaseApp instance to avoid sharing state - final app = await Firebase.initializeApp( - name: '$testCount', - options: const FirebaseOptions( - apiKey: '', - appId: '', - messagingSenderId: '', - projectId: '', - ), - ); - - auth = FirebaseAuth.instanceFor(app: app); - user = kMockUser; - - mockUserPlatform = MockUserPlatform( - mockAuthPlatform, TestMultiFactorPlatform(mockAuthPlatform), user); - mockConfirmationResultPlatform = MockConfirmationResultPlatform(); - mockAdditionalUserInfo = AdditionalUserInfo( - isNewUser: false, - username: 'flutterUser', - providerId: 'testProvider', - profile: {'foo': 'bar'}, - ); - mockCredential = EmailAuthProvider.credential( - email: 'test', - password: 'test', - ) as EmailAuthCredential; - mockUserCredPlatform = MockUserCredentialPlatform( - FirebaseAuthPlatform.instance, - mockAdditionalUserInfo, - mockCredential, - mockUserPlatform, - ); - mockVerifier = MockRecaptchaVerifier(); - - when(mockAuthPlatform.signInAnonymously()) - .thenAnswer((_) async => mockUserCredPlatform); - - when(mockAuthPlatform.signInWithCredential(any)).thenAnswer( - (_) => Future.value(mockUserCredPlatform)); - - when(mockAuthPlatform.currentUser).thenReturn(mockUserPlatform); - - when(mockAuthPlatform.instanceFor( - app: anyNamed('app'), - pluginConstants: anyNamed('pluginConstants'), - )).thenAnswer((_) => mockUserPlatform); - - when(mockAuthPlatform.delegateFor( - app: anyNamed('app'), - )).thenAnswer((_) => mockAuthPlatform); - - when(mockAuthPlatform.setInitialValues( - currentUser: anyNamed('currentUser'), - languageCode: anyNamed('languageCode'), - )).thenAnswer((_) => mockAuthPlatform); - - when(mockAuthPlatform.createUserWithEmailAndPassword(any, any)) - .thenAnswer((_) async => mockUserCredPlatform); - - when(mockAuthPlatform.getRedirectResult()) - .thenAnswer((_) async => mockUserCredPlatform); - - when(mockAuthPlatform.signInWithCustomToken(any)) - .thenAnswer((_) async => mockUserCredPlatform); - - when(mockAuthPlatform.signInWithEmailAndPassword(any, any)) - .thenAnswer((_) async => mockUserCredPlatform); - - when(mockAuthPlatform.signInWithEmailLink(any, any)) - .thenAnswer((_) async => mockUserCredPlatform); - - when(mockAuthPlatform.signInWithPhoneNumber(any, any)) - .thenAnswer((_) async => mockConfirmationResultPlatform); - - when(mockVerifier.delegate).thenReturn(mockVerifier.mockDelegate); - - when(mockAuthPlatform.signInWithPopup(any)) - .thenAnswer((_) async => mockUserCredPlatform); - - when(mockAuthPlatform.signInWithRedirect(any)) - .thenAnswer((_) async => mockUserCredPlatform); - - when(mockAuthPlatform.authStateChanges()).thenAnswer((_) => - Stream.fromIterable([mockUserPlatform])); - - when(mockAuthPlatform.idTokenChanges()).thenAnswer((_) => - Stream.fromIterable([mockUserPlatform])); - - when(mockAuthPlatform.userChanges()).thenAnswer((_) => - Stream.fromIterable([mockUserPlatform])); - - TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger - .setMockMethodCallHandler(MethodChannelFirebaseAuth.channel, - (call) async { - return {'user': user}; - }); - }); - - // incremented after tests completed, in case a test may want to use this - // value for an assertion (toString) - tearDown(() => testCount++); - - setUp(() async { - user = kMockUser; - await auth.signInAnonymously(); - }); - - group('emulator', () { - test('useAuthEmulator() should call delegate method', () async { - // Necessary as we otherwise get a "null is not a Future" error - when(mockAuthPlatform.useAuthEmulator(kMockHost, kMockPort)) - .thenAnswer((i) async {}); - await auth.useAuthEmulator(kMockHost, kMockPort); - verify(mockAuthPlatform.useAuthEmulator(kMockHost, kMockPort)); - }); - }); - - group('currentUser', () { - test('get currentUser', () { - User? user = auth.currentUser; - verify(mockAuthPlatform.currentUser); - expect(user, isA()); - }); - }); - - test('creates a fresh instance after app delete and reinitialize', - () async { - final appName = 'delete-reinit-$testCount'; - const options = FirebaseOptions( - apiKey: 'apiKey', - appId: 'appId', - messagingSenderId: 'messagingSenderId', - projectId: 'projectId', - ); - final app = await Firebase.initializeApp( - name: appName, - options: options, - ); - final auth1 = FirebaseAuth.instanceFor(app: app); - - expect(app.getService(), same(auth1)); - - await app.delete(); - - final app2 = await Firebase.initializeApp( - name: appName, - options: options, - ); - addTearDown(app2.delete); - - final auth2 = FirebaseAuth.instanceFor(app: app2); - - expect(auth2, isNot(same(auth1))); - expect(auth2.app, app2); - expect(app2.getService(), same(auth2)); - }); - - group('tenantId', () { - test('set tenantId should call delegate method', () async { - // Each test uses a unique FirebaseApp instance to avoid sharing state - final app = await Firebase.initializeApp( - name: 'tenantIdTest', - options: const FirebaseOptions( - apiKey: 'apiKey', - appId: 'appId', - messagingSenderId: 'messagingSenderId', - projectId: 'projectId')); - - FirebaseAuthPlatform.instance = - FakeFirebaseAuthPlatform(tenantId: 'foo'); - auth = FirebaseAuth.instanceFor(app: app); - - expect(auth.tenantId, 'foo'); - - auth.tenantId = 'bar'; - - expect(auth.tenantId, 'bar'); - expect(FirebaseAuthPlatform.instance.tenantId, 'bar'); - }); - }); - - group('customAuthDomain', () { - test('set customAuthDomain should call delegate method', () async { - // Each test uses a unique FirebaseApp instance to avoid sharing state - final app = await Firebase.initializeApp( - name: 'customAuthDomainTest', - options: const FirebaseOptions( - apiKey: 'apiKey', - appId: 'appId', - messagingSenderId: 'messagingSenderId', - projectId: 'projectId')); - - FirebaseAuthPlatform.instance = - FakeFirebaseAuthPlatform(customAuthDomain: 'foo'); - auth = FirebaseAuth.instanceFor(app: app); - - expect(auth.customAuthDomain, 'foo'); - if (defaultTargetPlatform == TargetPlatform.windows || kIsWeb) { - try { - auth.customAuthDomain = 'bar'; - } on UnimplementedError catch (e) { - expect(e.message, contains('Cannot set auth domain')); - } - } else { - auth.customAuthDomain = 'bar'; - - expect(auth.customAuthDomain, 'bar'); - expect(FirebaseAuthPlatform.instance.customAuthDomain, 'bar'); - } - }); - }); - - group('languageCode', () { - test('.languageCode should call delegate method', () { - auth.languageCode; - verify(mockAuthPlatform.languageCode); - }); - - test('setLanguageCode() should call delegate method', () async { - // Necessary as we otherwise get a "null is not a Future" error - when(mockAuthPlatform.setLanguageCode(any)).thenAnswer((i) async {}); - - await auth.setLanguageCode(kMockLanguage); - verify(mockAuthPlatform.setLanguageCode(kMockLanguage)); - }); - }); - - group('checkActionCode()', () { - test('should call delegate method', () async { - // Necessary as we otherwise get a "null is not a Future" error - when(mockAuthPlatform.checkActionCode(any)).thenAnswer( - (i) async => ActionCodeInfo( - data: ActionCodeInfoData(email: null, previousEmail: null), - operation: ActionCodeInfoOperation.unknown, - ), - ); - - await auth.checkActionCode(kMockActionCode); - verify(mockAuthPlatform.checkActionCode(kMockActionCode)); - }); - }); - - group('confirmPasswordReset()', () { - test('should call delegate method', () async { - // Necessary as we otherwise get a "null is not a Future" error - when(mockAuthPlatform.confirmPasswordReset(any, any)) - .thenAnswer((i) async {}); - - await auth.confirmPasswordReset( - code: kMockActionCode, - newPassword: kMockPassword, - ); - verify(mockAuthPlatform.confirmPasswordReset( - kMockActionCode, kMockPassword)); - }); - }); - - group('createUserWithEmailAndPassword()', () { - test('should call delegate method', () async { - // Necessary as we otherwise get a "null is not a Future" error - when(mockAuthPlatform.createUserWithEmailAndPassword(any, any)) - .thenAnswer((i) async => EmptyUserCredentialPlatform()); - - await auth.createUserWithEmailAndPassword( - email: kMockEmail, - password: kMockPassword, - ); - - verify(mockAuthPlatform.createUserWithEmailAndPassword( - kMockEmail, - kMockPassword, - )); - }); - }); - - group('getRedirectResult()', () { - test('should call delegate method', () async { - // Necessary as we otherwise get a "null is not a Future" error - when(mockAuthPlatform.getRedirectResult()) - .thenAnswer((i) async => EmptyUserCredentialPlatform()); - - await auth.getRedirectResult(); - verify(mockAuthPlatform.getRedirectResult()); - }); - }); - - group('isSignInWithEmailLink()', () { - test('should call delegate method', () async { - // Necessary as we otherwise get a "null is not a Future" error - when(mockAuthPlatform.isSignInWithEmailLink(any)) - .thenAnswer((i) => false); - - auth.isSignInWithEmailLink(kMockURL); - verify(mockAuthPlatform.isSignInWithEmailLink(kMockURL)); - }); - }); - - group('authStateChanges()', () { - test('should stream changes', () async { - final StreamQueue changes = - StreamQueue(auth.authStateChanges()); - expect(await changes.next, isA()); - }); - }); - - group('idTokenChanges()', () { - test('should stream changes', () async { - final StreamQueue changes = - StreamQueue(auth.idTokenChanges()); - expect(await changes.next, isA()); - }); - }); - - group('userChanges()', () { - test('should stream changes', () async { - final StreamQueue changes = - StreamQueue(auth.userChanges()); - expect(await changes.next, isA()); - }); - }); - - group('sendPasswordResetEmail()', () { - test('should call delegate method', () async { - // Necessary as we otherwise get a "null is not a Future" error - when(mockAuthPlatform.sendPasswordResetEmail(any)) - .thenAnswer((i) async {}); - - await auth.sendPasswordResetEmail(email: kMockEmail); - verify(mockAuthPlatform.sendPasswordResetEmail(kMockEmail)); - }); - }); - - group('sendPasswordResetEmail()', () { - test('should call delegate method', () async { - // Necessary as we otherwise get a "null is not a Future" error - when(mockAuthPlatform.sendPasswordResetEmail(any)) - .thenAnswer((i) async {}); - - await auth.sendPasswordResetEmail(email: kMockEmail); - verify(mockAuthPlatform.sendPasswordResetEmail(kMockEmail)); - }); - }); - - group('sendSignInLinkToEmail()', () { - test('should throw if actionCodeSettings.handleCodeInApp is not true', - () async { - // Necessary as we otherwise get a "null is not a Future" error - when(mockAuthPlatform.sendSignInLinkToEmail(any, any)) - .thenAnswer((i) async {}); - - final ActionCodeSettings kMockActionCodeSettingsNull = - ActionCodeSettings(url: kMockURL); - final ActionCodeSettings kMockActionCodeSettingsFalse = - ActionCodeSettings(url: kMockURL); - - // when handleCodeInApp is null - expect( - () => auth.sendSignInLinkToEmail( - email: kMockEmail, - actionCodeSettings: kMockActionCodeSettingsNull), - throwsArgumentError, - ); - // when handleCodeInApp is false - expect( - () => auth.sendSignInLinkToEmail( - email: kMockEmail, - actionCodeSettings: kMockActionCodeSettingsFalse), - throwsArgumentError, - ); - }); - - test('should call delegate method', () async { - // Necessary as we otherwise get a "null is not a Future" error - when(mockAuthPlatform.sendSignInLinkToEmail(any, any)) - .thenAnswer((i) async {}); - - final ActionCodeSettings kMockActionCodeSettingsValid = - ActionCodeSettings(url: kMockURL, handleCodeInApp: true); - - await auth.sendSignInLinkToEmail( - email: kMockEmail, - actionCodeSettings: kMockActionCodeSettingsValid, - ); - - verify(mockAuthPlatform.sendSignInLinkToEmail( - kMockEmail, - kMockActionCodeSettingsValid, - )); - }); - }); - - group('setSettings()', () { - test('should call delegate method', () async { - // Necessary as we otherwise get a "null is not a Future" error - when(mockAuthPlatform.setSettings( - appVerificationDisabledForTesting: any, - phoneNumber: any, - smsCode: any, - forceRecaptchaFlow: any, - userAccessGroup: any, - )).thenAnswer((i) async {}); - - String phoneNumber = '123456'; - String smsCode = '1234'; - bool forceRecaptchaFlow = true; - bool appVerificationDisabledForTesting = true; - String userAccessGroup = 'group-id'; - - await auth.setSettings( - appVerificationDisabledForTesting: appVerificationDisabledForTesting, - phoneNumber: phoneNumber, - smsCode: smsCode, - forceRecaptchaFlow: forceRecaptchaFlow, - userAccessGroup: userAccessGroup, - ); - - verify( - mockAuthPlatform.setSettings( - appVerificationDisabledForTesting: - appVerificationDisabledForTesting, - phoneNumber: phoneNumber, - smsCode: smsCode, - forceRecaptchaFlow: forceRecaptchaFlow, - userAccessGroup: userAccessGroup, - ), - ); - }); - }); - - group('setPersistence()', () { - test('should call delegate method', () async { - // Necessary as we otherwise get a "null is not a Future" error - when(mockAuthPlatform.setPersistence(any)).thenAnswer((i) async {}); - - await auth.setPersistence(Persistence.LOCAL); - verify(mockAuthPlatform.setPersistence(Persistence.LOCAL)); - }); - }); - - group('signInAnonymously()', () { - test('should call delegate method', () async { - // Necessary as we otherwise get a "null is not a Future" error - when(mockAuthPlatform.signInAnonymously()) - .thenAnswer((i) async => EmptyUserCredentialPlatform()); - - await auth.signInAnonymously(); - verify(mockAuthPlatform.signInAnonymously()); - }); - }); - - group('signInWithCredential()', () { - test('GithubAuthProvider signInWithCredential', () async { - final AuthCredential credential = - GithubAuthProvider.credential(kMockGithubToken); - await auth.signInWithCredential(credential); - final captured = - verify(mockAuthPlatform.signInWithCredential(captureAny)) - .captured - .single; - expect(captured, isA()); - expect(captured.providerId, equals('github.com')); - expect(captured.accessToken, equals(kMockGithubToken)); - }); - - test('EmailAuthProvider (withLink) signInWithCredential', () async { - final AuthCredential credential = EmailAuthProvider.credentialWithLink( - email: 'test@example.com', - emailLink: '', - ); - await auth.signInWithCredential(credential); - final EmailAuthCredential captured = - verify(mockAuthPlatform.signInWithCredential(captureAny)) - .captured - .single; - expect(captured.providerId, equals('password')); - expect(captured.email, equals('test@example.com')); - expect(captured.emailLink, - equals('')); - }); - - test('TwitterAuthProvider signInWithCredential', () async { - final AuthCredential credential = TwitterAuthProvider.credential( - accessToken: kMockIdToken, - secret: kMockAccessToken, - ); - await auth.signInWithCredential(credential); - final captured = - verify(mockAuthPlatform.signInWithCredential(captureAny)) - .captured - .single; - expect(captured, isA()); - expect(captured.providerId, equals('twitter.com')); - expect(captured.accessToken, equals(kMockIdToken)); - expect(captured.secret, equals(kMockAccessToken)); - }); - - test('GoogleAuthProvider signInWithCredential', () async { - final credential = GoogleAuthProvider.credential( - idToken: kMockIdToken, - accessToken: kMockAccessToken, - ); - await auth.signInWithCredential(credential); - final captured = - verify(mockAuthPlatform.signInWithCredential(captureAny)) - .captured - .single; - expect(captured, isA()); - expect(captured.providerId, equals('google.com')); - expect(captured.idToken, equals(kMockIdToken)); - expect(captured.accessToken, equals(kMockAccessToken)); - }); - - test('OAuthProvider signInWithCredential for Apple', () async { - OAuthProvider oAuthProvider = OAuthProvider('apple.com'); - final AuthCredential credential = oAuthProvider.credential( - idToken: kMockIdToken, - accessToken: kMockAccessToken, - ); - await auth.signInWithCredential(credential); - final captured = - verify(mockAuthPlatform.signInWithCredential(captureAny)) - .captured - .single; - expect(captured.providerId, equals('apple.com')); - expect(captured.idToken, equals(kMockIdToken)); - expect(captured.accessToken, equals(kMockAccessToken)); - expect(captured.rawNonce, equals(null)); - }); - - test('OAuthProvider signInWithCredential for Apple with rawNonce', - () async { - OAuthProvider oAuthProvider = OAuthProvider('apple.com'); - final AuthCredential credential = oAuthProvider.credential( - idToken: kMockIdToken, - rawNonce: kMockRawNonce, - accessToken: kMockAccessToken, - ); - await auth.signInWithCredential(credential); - final captured = - verify(mockAuthPlatform.signInWithCredential(captureAny)) - .captured - .single; - expect(captured.providerId, equals('apple.com')); - expect(captured.idToken, equals(kMockIdToken)); - expect(captured.rawNonce, equals(kMockRawNonce)); - expect(captured.accessToken, equals(kMockAccessToken)); - }); - - test( - 'OAuthProvider signInWithCredential for Apple with rawNonce (empty accessToken)', - () async { - OAuthProvider oAuthProvider = OAuthProvider('apple.com'); - final AuthCredential credential = oAuthProvider.credential( - idToken: kMockIdToken, - rawNonce: kMockRawNonce, - ); - await auth.signInWithCredential(credential); - final captured = - verify(mockAuthPlatform.signInWithCredential(captureAny)) - .captured - .single; - expect(captured.providerId, equals('apple.com')); - expect(captured.idToken, equals(kMockIdToken)); - expect(captured.rawNonce, equals(kMockRawNonce)); - expect(captured.accessToken, equals(null)); - }); - - test('PhoneAuthProvider signInWithCredential', () async { - final PhoneAuthCredential credential = PhoneAuthProvider.credential( - verificationId: kMockVerificationId, - smsCode: kMockSmsCode, - ); - await auth.signInWithCredential(credential); - final PhoneAuthCredential captured = - verify(mockAuthPlatform.signInWithCredential(captureAny)) - .captured - .single; - expect(captured.providerId, equals('phone')); - expect(captured.verificationId, equals(kMockVerificationId)); - expect(captured.smsCode, equals(kMockSmsCode)); - }); - - test('FacebookAuthProvider signInWithCredential', () async { - final AuthCredential credential = - FacebookAuthProvider.credential(kMockAccessToken); - await auth.signInWithCredential(credential); - final captured = - verify(mockAuthPlatform.signInWithCredential(captureAny)) - .captured - .single; - expect(captured, isA()); - expect(captured.providerId, equals('facebook.com')); - expect(captured.accessToken, equals(kMockAccessToken)); - }); - }); - - group('signInWithCustomToken()', () { - test('should call delegate method', () async { - await auth.signInWithCustomToken(kMockCustomToken); - verify(mockAuthPlatform.signInWithCustomToken(kMockCustomToken)); - }); - }); - - group('signInWithEmailAndPassword()', () { - test('should call delegate method', () async { - await auth.signInWithEmailAndPassword( - email: kMockEmail, password: kMockPassword); - verify(mockAuthPlatform.signInWithEmailAndPassword( - kMockEmail, kMockPassword)); - }); - }); - - group('signInWithEmailLink()', () { - test('should call delegate method', () async { - await auth.signInWithEmailLink(email: kMockEmail, emailLink: kMockURL); - verify(mockAuthPlatform.signInWithEmailLink(kMockEmail, kMockURL)); - }); - }); - - group('signInWithPhoneNumber()', () { - test('should call delegate method', () async { - await auth.signInWithPhoneNumber(kMockPhoneNumber, mockVerifier); - verify(mockAuthPlatform.signInWithPhoneNumber(kMockPhoneNumber, any)); - }); - }); - - group('signInWithPopup()', () { - test('should call delegate method', () async { - await auth.signInWithPopup(testAuthProvider); - verify(mockAuthPlatform.signInWithPopup(testAuthProvider)); - }); - }); - - group('signInWithRedirect()', () { - test('should call delegate method', () async { - await auth.signInWithRedirect(testAuthProvider); - verify(mockAuthPlatform.signInWithRedirect(testAuthProvider)); - }); - }); - - group('signOut()', () { - test('should call delegate method', () async { - // Necessary as we otherwise get a "null is not a Future" error - when(mockAuthPlatform.signOut()).thenAnswer((i) async {}); - - await auth.signOut(); - verify(mockAuthPlatform.signOut()); - }); - }); - - group('verifyPasswordResetCode()', () { - test('should call delegate method', () async { - // Necessary as we otherwise get a "null is not a Future" error - when(mockAuthPlatform.verifyPasswordResetCode(any)) - .thenAnswer((i) async => ''); - - await auth.verifyPasswordResetCode(kMockOobCode); - verify(mockAuthPlatform.verifyPasswordResetCode(kMockOobCode)); - }); - }); - - group('verifyPhoneNumber()', () { - test('should call delegate method', () async { - // Necessary as we otherwise get a "null is not a Future" error - when(mockAuthPlatform.verifyPhoneNumber( - autoRetrievedSmsCodeForTesting: - anyNamed('autoRetrievedSmsCodeForTesting'), - codeAutoRetrievalTimeout: anyNamed('codeAutoRetrievalTimeout'), - codeSent: anyNamed('codeSent'), - forceResendingToken: anyNamed('forceResendingToken'), - phoneNumber: anyNamed('phoneNumber'), - timeout: anyNamed('timeout'), - verificationCompleted: anyNamed('verificationCompleted'), - verificationFailed: anyNamed('verificationFailed'), - )).thenAnswer((i) async {}); - - final PhoneVerificationCompleted verificationCompleted = - (PhoneAuthCredential phoneAuthCredential) {}; - final PhoneVerificationFailed verificationFailed = - (FirebaseAuthException authException) {}; - final PhoneCodeSent codeSent = - (String verificationId, [int? forceResendingToken]) async {}; - final PhoneCodeAutoRetrievalTimeout autoRetrievalTimeout = - (String verificationId) {}; - - await auth.verifyPhoneNumber( - phoneNumber: kMockPhoneNumber, - verificationCompleted: verificationCompleted, - verificationFailed: verificationFailed, - codeSent: codeSent, - codeAutoRetrievalTimeout: autoRetrievalTimeout, - ); - - verify( - mockAuthPlatform.verifyPhoneNumber( - phoneNumber: kMockPhoneNumber, - verificationCompleted: verificationCompleted, - verificationFailed: verificationFailed, - codeSent: codeSent, - codeAutoRetrievalTimeout: autoRetrievalTimeout, - ), - ); - }); - }); - - group('revokeAccessToken()', () { - test('should call delegate method', () async { - // Necessary as we otherwise get a "null is not a Future" error - when(mockAuthPlatform.revokeAccessToken(kMockAuthToken)) - .thenAnswer((i) async {}); - - await auth.revokeAccessToken(kMockAuthToken); - verify(mockAuthPlatform.revokeAccessToken(kMockAuthToken)); - }); - }); - - group('passwordPolicy', () { - test('passwordPolicy should be initialized with correct parameters', - () async { - PasswordPolicyImpl passwordPolicy = - PasswordPolicyImpl(kMockPasswordPolicyObject); - expect(passwordPolicy.policy, equals(kMockPasswordPolicyObject)); - }); - - PasswordPolicyImpl passwordPolicy = - PasswordPolicyImpl(kMockPasswordPolicyObject); - - test('should return true for valid password', () async { - final PasswordValidationStatus status = - passwordPolicy.isPasswordValid(kMockValidPassword); - expect(status.isValid, isTrue); - }); - - test('should return false for invalid password that is too short', - () async { - final PasswordValidationStatus status = - passwordPolicy.isPasswordValid(kMockInvalidPassword); - expect(status.isValid, isFalse); - }); - - test( - 'should return false for invalid password with no capital characters', - () async { - final PasswordValidationStatus status = - passwordPolicy.isPasswordValid(kMockInvalidPassword2); - expect(status.isValid, isFalse); - }); - - test( - 'should return false for invalid password with no lowercase characters', - () async { - final PasswordValidationStatus status = - passwordPolicy.isPasswordValid(kMockInvalidPassword3); - expect(status.isValid, isFalse); - }); - - test('should return false for invalid password with no numbers', - () async { - final PasswordValidationStatus status = - passwordPolicy.isPasswordValid(kMockInvalidPassword4); - expect(status.isValid, isFalse); - }); - - test('should return false for invalid password with no symbols', - () async { - final PasswordValidationStatus status = - passwordPolicy.isPasswordValid(kMockInvalidPassword5); - expect(status.isValid, isFalse); - }); - }); - - test('toString()', () async { - expect( - auth.toString(), - equals('FirebaseAuth(app: $testCount)'), - ); - }); - }); -} - -class MockFirebaseAuth extends Mock - with MockPlatformInterfaceMixin - implements TestFirebaseAuthPlatform { - @override - Stream userChanges() { - return super.noSuchMethod( - Invocation.method(#userChanges, []), - returnValue: const Stream.empty(), - returnValueForMissingStub: const Stream.empty(), - ); - } - - @override - Stream idTokenChanges() { - return super.noSuchMethod( - Invocation.method(#idTokenChanges, []), - returnValue: const Stream.empty(), - returnValueForMissingStub: const Stream.empty(), - ); - } - - @override - Stream authStateChanges() { - return super.noSuchMethod( - Invocation.method(#authStateChanges, []), - returnValue: const Stream.empty(), - returnValueForMissingStub: const Stream.empty(), - ); - } - - @override - FirebaseAuthPlatform delegateFor( - {FirebaseApp? app, Persistence? persistence}) { - return super.noSuchMethod( - Invocation.method(#delegateFor, [], {#app: app}), - returnValue: TestFirebaseAuthPlatform(), - returnValueForMissingStub: TestFirebaseAuthPlatform(), - ); - } - - @override - Future createUserWithEmailAndPassword( - String? email, - String? password, - ) { - return super.noSuchMethod( - Invocation.method(#createUserWithEmailAndPassword, [email, password]), - returnValue: neverEndingFuture(), - returnValueForMissingStub: neverEndingFuture(), - ); - } - - @override - Future signInWithPhoneNumber( - String? phoneNumber, - RecaptchaVerifierFactoryPlatform? applicationVerifier, - ) { - return super.noSuchMethod( - Invocation.method( - #signInWithPhoneNumber, - [phoneNumber, applicationVerifier], - ), - returnValue: neverEndingFuture(), - returnValueForMissingStub: - neverEndingFuture(), - ); - } - - @override - Future signInWithCredential( - AuthCredential? credential, - ) { - return super.noSuchMethod( - Invocation.method(#signInWithCredential, [credential]), - returnValue: neverEndingFuture(), - returnValueForMissingStub: neverEndingFuture(), - ); - } - - @override - Future signInWithCustomToken(String? token) { - return super.noSuchMethod( - Invocation.method(#signInWithCustomToken, [token]), - returnValue: neverEndingFuture(), - returnValueForMissingStub: neverEndingFuture(), - ); - } - - @override - Future signInWithEmailAndPassword( - String? email, - String? password, - ) { - return super.noSuchMethod( - Invocation.method(#signInWithEmailAndPassword, [email, password]), - returnValue: neverEndingFuture(), - returnValueForMissingStub: neverEndingFuture(), - ); - } - - @override - Future signInWithPopup(AuthProvider? provider) { - return super.noSuchMethod( - Invocation.method(#signInWithPopup, [provider]), - returnValue: neverEndingFuture(), - returnValueForMissingStub: neverEndingFuture(), - ); - } - - @override - Future signInWithEmailLink( - String? email, - String? emailLink, - ) { - return super.noSuchMethod( - Invocation.method(#signInWithEmailLink, [email, emailLink]), - returnValue: neverEndingFuture(), - returnValueForMissingStub: neverEndingFuture(), - ); - } - - @override - Future signInWithRedirect(AuthProvider? provider) { - return super.noSuchMethod( - Invocation.method(#signInWithRedirect, [provider]), - returnValue: neverEndingFuture(), - returnValueForMissingStub: neverEndingFuture(), - ); - } - - @override - Future signInAnonymously() { - return super.noSuchMethod( - Invocation.method(#signInAnonymously, []), - returnValue: neverEndingFuture(), - returnValueForMissingStub: neverEndingFuture(), - ); - } - - @override - FirebaseAuthPlatform setInitialValues({ - InternalUserDetails? currentUser, - String? languageCode, - }) { - return super.noSuchMethod( - Invocation.method(#signInAnonymously, [], { - #currentUser: currentUser, - #languageCode: languageCode, - }), - returnValue: TestFirebaseAuthPlatform(), - returnValueForMissingStub: TestFirebaseAuthPlatform(), - ); - } - - @override - Future getRedirectResult() { - return super.noSuchMethod( - Invocation.method(#getRedirectResult, []), - returnValue: neverEndingFuture(), - returnValueForMissingStub: neverEndingFuture(), - ); - } - - @override - Future setLanguageCode(String? languageCode) { - return super.noSuchMethod( - Invocation.method(#setLanguageCode, [languageCode]), - returnValue: neverEndingFuture(), - returnValueForMissingStub: neverEndingFuture(), - ); - } - - @override - Future useAuthEmulator(String host, int port) { - return super.noSuchMethod( - Invocation.method(#useEmulator, [host, port]), - returnValue: neverEndingFuture(), - returnValueForMissingStub: neverEndingFuture(), - ); - } - - @override - Future checkActionCode(String? code) { - return super.noSuchMethod( - Invocation.method(#checkActionCode, [code]), - returnValue: neverEndingFuture(), - returnValueForMissingStub: neverEndingFuture(), - ); - } - - @override - Future confirmPasswordReset(String? code, String? newPassword) { - return super.noSuchMethod( - Invocation.method(#confirmPasswordReset, [code, newPassword]), - returnValue: neverEndingFuture(), - returnValueForMissingStub: neverEndingFuture(), - ); - } - - @override - bool isSignInWithEmailLink(String? emailLink) { - return super.noSuchMethod( - Invocation.method(#isSignInWithEmailLink, [emailLink]), - returnValue: false, - returnValueForMissingStub: false, - ); - } - - @override - Future sendPasswordResetEmail( - String? email, [ - ActionCodeSettings? actionCodeSettings, - ]) { - return super.noSuchMethod( - Invocation.method(#sendPasswordResetEmail, [email, actionCodeSettings]), - returnValue: neverEndingFuture(), - returnValueForMissingStub: neverEndingFuture(), - ); - } - - @override - Future sendSignInLinkToEmail( - String? email, - ActionCodeSettings? actionCodeSettings, - ) { - return super.noSuchMethod( - Invocation.method(#sendSignInLinkToEmail, [email, actionCodeSettings]), - returnValue: neverEndingFuture(), - returnValueForMissingStub: neverEndingFuture(), - ); - } - - @override - Future setSettings({ - bool? appVerificationDisabledForTesting, - String? userAccessGroup, - String? phoneNumber, - String? smsCode, - bool? forceRecaptchaFlow, - }) { - return super.noSuchMethod( - Invocation.method(#setSettings, [ - appVerificationDisabledForTesting, - userAccessGroup, - phoneNumber, - smsCode, - forceRecaptchaFlow, - ]), - returnValue: neverEndingFuture(), - returnValueForMissingStub: neverEndingFuture(), - ); - } - - @override - Future setPersistence(Persistence? persistence) { - return super.noSuchMethod( - Invocation.method(#setPersistence, [persistence]), - returnValue: neverEndingFuture(), - returnValueForMissingStub: neverEndingFuture(), - ); - } - - @override - Future signOut() { - return super.noSuchMethod( - Invocation.method(#signOut, [signOut]), - returnValue: neverEndingFuture(), - returnValueForMissingStub: neverEndingFuture(), - ); - } - - @override - Future verifyPasswordResetCode(String? code) { - return super.noSuchMethod( - Invocation.method(#verifyPasswordResetCode, [code]), - returnValue: neverEndingFuture(), - returnValueForMissingStub: neverEndingFuture(), - ); - } - - @override - Future verifyPhoneNumber({ - String? phoneNumber, - PhoneMultiFactorInfo? multiFactorInfo, - MultiFactorSession? multiFactorSession, - Object? verificationCompleted, - Object? verificationFailed, - Object? codeSent, - Object? codeAutoRetrievalTimeout, - Duration? timeout = const Duration(seconds: 30), - int? forceResendingToken, - String? autoRetrievedSmsCodeForTesting, - }) { - return super.noSuchMethod( - Invocation.method(#verifyPhoneNumber, [], { - #phoneNumber: phoneNumber, - #verificationCompleted: verificationCompleted, - #verificationFailed: verificationFailed, - #codeSent: codeSent, - #codeAutoRetrievalTimeout: codeAutoRetrievalTimeout, - #timeout: timeout, - #forceResendingToken: forceResendingToken, - #autoRetrievedSmsCodeForTesting: autoRetrievedSmsCodeForTesting, - }), - returnValue: neverEndingFuture(), - returnValueForMissingStub: neverEndingFuture(), - ); - } - - @override - Future revokeAccessToken(String accessToken) { - return super.noSuchMethod( - Invocation.method(#revokeAccessToken, [accessToken]), - returnValue: neverEndingFuture(), - returnValueForMissingStub: neverEndingFuture(), - ); - } -} - -class FakeFirebaseAuthPlatform extends Fake - with MockPlatformInterfaceMixin - implements FirebaseAuthPlatform { - FakeFirebaseAuthPlatform({this.tenantId, this.customAuthDomain}); - - @override - String? tenantId; - - @override - String? customAuthDomain; - - @override - FirebaseAuthPlatform delegateFor( - {required FirebaseApp app, Persistence? persistence}) { - return this; - } - - @override - FirebaseAuthPlatform setInitialValues({ - InternalUserDetails? currentUser, - String? languageCode, - }) { - return this; - } -} - -class MockUserPlatform extends Mock - with MockPlatformInterfaceMixin - implements TestUserPlatform { - MockUserPlatform(FirebaseAuthPlatform auth, MultiFactorPlatform multiFactor, - InternalUserDetails _user) { - TestUserPlatform(auth, multiFactor, _user); - } -} - -class MockUserCredentialPlatform extends Mock - with MockPlatformInterfaceMixin - implements TestUserCredentialPlatform { - MockUserCredentialPlatform( - FirebaseAuthPlatform auth, - AdditionalUserInfo additionalUserInfo, - AuthCredential credential, - UserPlatform userPlatform, - ) { - TestUserCredentialPlatform( - auth, - additionalUserInfo, - credential, - userPlatform, - ); - } -} - -class MockConfirmationResultPlatform extends Mock - with MockPlatformInterfaceMixin - implements TestConfirmationResultPlatform { - MockConfirmationResultPlatform() { - TestConfirmationResultPlatform(); - } -} - -class TestConfirmationResultPlatform extends ConfirmationResultPlatform { - TestConfirmationResultPlatform() : super('TEST'); -} - -class TestFirebaseAuthPlatform extends FirebaseAuthPlatform { - TestFirebaseAuthPlatform() : super(); - - void instanceFor({ - FirebaseApp? app, - Map? pluginConstants, - }) {} - - @override - FirebaseAuthPlatform delegateFor( - {FirebaseApp? app, Persistence? persistence}) { - return this; - } - - @override - FirebaseAuthPlatform setInitialValues({ - InternalUserDetails? currentUser, - String? languageCode, - }) { - return this; - } -} - -class MockRecaptchaVerifier extends Mock - with MockPlatformInterfaceMixin - implements TestRecaptchaVerifier { - MockRecaptchaVerifier() { - TestRecaptchaVerifier(); - } - - RecaptchaVerifierFactoryPlatform get mockDelegate { - return MockRecaptchaVerifierFactoryPlatform(); - } - - @override - RecaptchaVerifierFactoryPlatform get delegate { - return super.noSuchMethod( - Invocation.getter(#delegate), - returnValue: MockRecaptchaVerifierFactoryPlatform(), - returnValueForMissingStub: MockRecaptchaVerifierFactoryPlatform(), - ); - } -} - -class MockRecaptchaVerifierFactoryPlatform extends Mock - with MockPlatformInterfaceMixin - implements TestRecaptchaVerifierFactoryPlatform { - MockRecaptchaVerifierFactoryPlatform() { - TestRecaptchaVerifierFactoryPlatform(); - } -} - -class TestRecaptchaVerifier implements RecaptchaVerifier { - TestRecaptchaVerifier() : super(); - - @override - void clear() {} - - @override - RecaptchaVerifierFactoryPlatform get delegate => - TestRecaptchaVerifierFactoryPlatform(); - - @override - Future render() { - throw UnimplementedError(); - } - - @override - String get type => throw UnimplementedError(); - - @override - Future verify() { - throw UnimplementedError(); - } -} - -class TestRecaptchaVerifierFactoryPlatform - extends RecaptchaVerifierFactoryPlatform {} - -class TestAuthProvider extends AuthProvider { - TestAuthProvider() : super('TEST'); -} - -class TestUserPlatform extends UserPlatform { - TestUserPlatform(FirebaseAuthPlatform auth, MultiFactorPlatform multiFactor, - InternalUserDetails data) - : super(auth, multiFactor, data); -} - -class TestMultiFactorPlatform extends MultiFactorPlatform { - TestMultiFactorPlatform(FirebaseAuthPlatform auth) : super(auth); -} - -class TestUserCredentialPlatform extends UserCredentialPlatform { - TestUserCredentialPlatform( - FirebaseAuthPlatform auth, - AdditionalUserInfo additionalUserInfo, - AuthCredential credential, - UserPlatform userPlatform, - ) : super( - auth: auth, - additionalUserInfo: additionalUserInfo, - credential: credential, - user: userPlatform, - ); -} - -class EmptyUserCredentialPlatform extends UserCredentialPlatform { - EmptyUserCredentialPlatform() : super(auth: FirebaseAuthPlatform.instance); -} diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/test/mock.dart b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/test/mock.dart deleted file mode 100644 index 6dc416fb..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/test/mock.dart +++ /dev/null @@ -1,40 +0,0 @@ -// Copyright 2020 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -import 'package:firebase_core_platform_interface/test.dart'; -import 'package:flutter/services.dart'; -import 'package:flutter_test/flutter_test.dart'; - -typedef Callback = void Function(MethodCall call); - -void setupFirebaseAuthMocks([Callback? customHandlers]) { - TestWidgetsFlutterBinding.ensureInitialized(); - - setupFirebaseCoreMocks(); - TestFirebaseAppHostApi.setUp(MockFirebaseAppHostApi()); -} - -Future neverEndingFuture() async { - // ignore: literal_only_boolean_expressions - while (true) { - await Future.delayed(const Duration(minutes: 5)); - } -} - -class MockFirebaseAppHostApi implements TestFirebaseAppHostApi { - @override - Future delete(String appName) async {} - - @override - Future setAutomaticDataCollectionEnabled( - String appName, - bool enabled, - ) async {} - - @override - Future setAutomaticResourceManagementEnabled( - String appName, - bool enabled, - ) async {} -} diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/test/user_test.dart b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/test/user_test.dart deleted file mode 100644 index 967be866..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/test/user_test.dart +++ /dev/null @@ -1,571 +0,0 @@ -// ignore_for_file: require_trailing_commas -// Copyright 2020, the Chromium project authors. Please see the AUTHORS file -// for details. All rights reserved. Use of this source code is governed by a -// BSD-style license that can be found in the LICENSE file. - -import 'package:firebase_auth/firebase_auth.dart'; -import 'package:firebase_auth_platform_interface/firebase_auth_platform_interface.dart'; -import 'package:firebase_auth_platform_interface/src/method_channel/method_channel_firebase_auth.dart'; -import 'package:firebase_core/firebase_core.dart'; -import 'package:flutter_test/flutter_test.dart'; -import 'package:mockito/mockito.dart'; -// import 'package:mockito/annotations.dart'; -import 'package:plugin_platform_interface/plugin_platform_interface.dart'; - -// import './user_test.mocks.dart'; -import './mock.dart'; -import 'firebase_auth_test.dart'; - -Map kMockUser1 = { - 'isAnonymous': true, - 'emailVerified': false, - 'displayName': 'displayName', -}; - -// @GenerateMocks([], customMocks: [ -// MockSpec(as: #MockFirebaseAuthPlatform), -// MockSpec(as: #MockUserPlatform), -// ]) -void main() { - setupFirebaseAuthMocks(); - - late FirebaseAuth auth; - - final kMockIdTokenResult = InternalIdTokenResult( - token: '12345', - expirationTimestamp: 123456, - authTimestamp: 1234567, - issuedAtTimestamp: 12345678, - signInProvider: 'password', - claims: { - 'claim1': 'value1', - }, - ); - - final int kMockCreationTimestamp = - DateTime.now().subtract(const Duration(days: 2)).millisecondsSinceEpoch; - final int kMockLastSignInTimestamp = - DateTime.now().subtract(const Duration(days: 1)).millisecondsSinceEpoch; - - final kMockUser = InternalUserDetails( - userInfo: InternalUserInfo( - uid: '12345', - displayName: 'displayName', - creationTimestamp: kMockCreationTimestamp, - lastSignInTimestamp: kMockLastSignInTimestamp, - isAnonymous: true, - isEmailVerified: false, - ), - providerData: [ - { - 'providerId': 'firebase', - 'uid': '12345', - 'displayName': 'Flutter Test User', - 'photoUrl': null, - 'email': 'test@example.com', - 'isAnonymous': true, - 'isEmailVerified': false, - } - ], - ); - late MockUserPlatform mockUserPlatform; - late MockUserCredentialPlatform mockUserCredPlatform; - - AdditionalUserInfo mockAdditionalInfo = AdditionalUserInfo( - isNewUser: false, - username: 'flutterUser', - providerId: 'testProvider', - profile: {'foo': 'bar'}, - ); - - EmailAuthCredential mockCredential = - EmailAuthProvider.credential(email: 'test', password: 'test') - as EmailAuthCredential; - - var mockAuthPlatform = MockFirebaseAuth(); - - group('$User', () { - late InternalUserDetails user; - - // used to generate a unique application name for each test - var testCount = 0; - - setUp(() async { - FirebaseAuthPlatform.instance = mockAuthPlatform = MockFirebaseAuth(); - - // Each test uses a unique FirebaseApp instance to avoid sharing state - final app = await Firebase.initializeApp( - name: '$testCount', - options: const FirebaseOptions( - apiKey: '', - appId: '', - messagingSenderId: '', - projectId: '', - ), - ); - - auth = FirebaseAuth.instanceFor(app: app); - - user = kMockUser; - - mockUserPlatform = MockUserPlatform(mockAuthPlatform, user); - - mockUserCredPlatform = MockUserCredentialPlatform( - FirebaseAuthPlatform.instance, - mockAdditionalInfo, - mockCredential, - mockUserPlatform, - ); - - when(mockAuthPlatform.signInAnonymously()).thenAnswer( - (_) => Future.value(mockUserCredPlatform)); - - when(mockAuthPlatform.currentUser).thenReturn(mockUserPlatform); - - when(mockAuthPlatform.delegateFor( - app: anyNamed('app'), - )).thenAnswer((_) => mockAuthPlatform); - - when(mockAuthPlatform.setInitialValues( - currentUser: anyNamed('currentUser'), - languageCode: anyNamed('languageCode'), - )).thenAnswer((_) => mockAuthPlatform); - - TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger - .setMockMethodCallHandler(MethodChannelFirebaseAuth.channel, - (call) async { - switch (call.method) { - default: - return {'user': user}; - } - }); - }); - - tearDown(() => testCount++); - - setUp(() async { - user = kMockUser; - await auth.signInAnonymously(); - }); - - test('delete()', () async { - // Necessary as we otherwise get a "null is not a Future" error - when(mockUserPlatform.delete()).thenAnswer((i) async {}); - - await auth.currentUser!.delete(); - - verify(mockUserPlatform.delete()); - }); - - test('getIdToken()', () async { - // Necessary as we otherwise get a "null is not a Future" error - when(mockUserPlatform.getIdToken(any)).thenAnswer((_) async => 'token'); - - final token = await auth.currentUser!.getIdToken(true); - - verify(mockUserPlatform.getIdToken(true)); - expect(token, isA()); - }); - - test('getIdTokenResult()', () async { - when(mockUserPlatform.getIdTokenResult(any)) - .thenAnswer((_) async => IdTokenResult(kMockIdTokenResult)); - - final idTokenResult = await auth.currentUser!.getIdTokenResult(true); - - verify(mockUserPlatform.getIdTokenResult(true)); - expect(idTokenResult, isA()); - }); - - group('linkWithCredential()', () { - setUp(() { - when(mockUserPlatform.linkWithCredential(any)) - .thenAnswer((_) async => mockUserCredPlatform); - }); - - test('should call linkWithCredential()', () async { - String newEmail = 'new@email.com'; - EmailAuthCredential credential = - EmailAuthProvider.credential(email: newEmail, password: 'test') - as EmailAuthCredential; - - await auth.currentUser!.linkWithCredential(credential); - - verify(mockUserPlatform.linkWithCredential(credential)); - }); - }); - - group('reauthenticateWithCredential()', () { - setUp(() { - when(mockUserPlatform.reauthenticateWithCredential(any)) - .thenAnswer((_) => Future.value(mockUserCredPlatform)); - }); - test('should call reauthenticateWithCredential()', () async { - String newEmail = 'new@email.com'; - EmailAuthCredential credential = - EmailAuthProvider.credential(email: newEmail, password: 'test') - as EmailAuthCredential; - - await auth.currentUser!.reauthenticateWithCredential(credential); - - verify(mockUserPlatform.reauthenticateWithCredential(credential)); - }); - }); - - test('reload()', () async { - // Necessary as we otherwise get a "null is not a Future" error - when(mockUserPlatform.reload()).thenAnswer((i) async {}); - - await auth.currentUser!.reload(); - - verify(mockUserPlatform.reload()); - }); - - test('sendEmailVerification()', () async { - // Necessary as we otherwise get a "null is not a Future" error - when(mockUserPlatform.sendEmailVerification(any)) - .thenAnswer((i) async {}); - - final ActionCodeSettings actionCodeSettings = - ActionCodeSettings(url: 'test'); - - await auth.currentUser!.sendEmailVerification(actionCodeSettings); - - verify(mockUserPlatform.sendEmailVerification(actionCodeSettings)); - }); - - group('unlink()', () { - setUp(() { - when(mockUserPlatform.unlink(any)) - .thenAnswer((_) => Future.value(mockUserPlatform)); - }); - test('should call unlink()', () async { - const String providerId = 'providerId'; - - await auth.currentUser!.unlink(providerId); - - verify(mockUserPlatform.unlink(providerId)); - }); - }); - - group('updatePassword()', () { - test('should call updatePassword()', () async { - // Necessary as we otherwise get a "null is not a Future" error - when(mockUserPlatform.updatePassword(any)).thenAnswer((i) async {}); - - const String newPassword = 'newPassword'; - - await auth.currentUser!.updatePassword(newPassword); - - verify(mockUserPlatform.updatePassword(newPassword)); - }); - }); - group('updatePhoneNumber()', () { - test('should call updatePhoneNumber()', () async { - // Necessary as we otherwise get a "null is not a Future" error - when(mockUserPlatform.updatePhoneNumber(any)).thenAnswer((i) async {}); - - PhoneAuthCredential phoneAuthCredential = PhoneAuthProvider.credential( - verificationId: 'test', - smsCode: 'test', - ); - - await auth.currentUser!.updatePhoneNumber(phoneAuthCredential); - - verify(mockUserPlatform.updatePhoneNumber(phoneAuthCredential)); - }); - }); - - test('updateProfile()', () async { - // Necessary as we otherwise get a "null is not a Future" error - when(mockUserPlatform.updateProfile(any)).thenAnswer((i) async {}); - - const String displayName = 'updatedName'; - const String photoURL = 'testUrl'; - Map data = { - 'displayName': displayName, - 'photoURL': photoURL - }; - - await auth.currentUser! - // ignore: deprecated_member_use_from_same_package - .updateProfile(displayName: displayName, photoURL: photoURL); - - verify(mockUserPlatform.updateProfile(data)); - }); - - group('verifyBeforeUpdateEmail()', () { - test('should call verifyBeforeUpdateEmail()', () async { - // Necessary as we otherwise get a "null is not a Future" error - when(mockUserPlatform.verifyBeforeUpdateEmail(any, any)) - .thenAnswer((i) async {}); - - const newEmail = 'new@email.com'; - ActionCodeSettings actionCodeSettings = ActionCodeSettings(url: 'test'); - - await auth.currentUser! - .verifyBeforeUpdateEmail(newEmail, actionCodeSettings); - - verify(mockUserPlatform.verifyBeforeUpdateEmail( - newEmail, actionCodeSettings)); - }); - }); - - test('toString()', () async { - when(mockAuthPlatform.currentUser).thenReturn(TestUserPlatform( - mockAuthPlatform, TestMultiFactorPlatform(mockAuthPlatform), user)); - - const userInfo = 'UserInfo(' - 'displayName: Flutter Test User, ' - 'email: test@example.com, ' - 'phoneNumber: null, ' - 'photoURL: null, ' - 'providerId: firebase, ' - 'uid: 12345)'; - - final userMetadata = 'UserMetadata(' - 'creationTime: ${DateTime.fromMillisecondsSinceEpoch(kMockCreationTimestamp, isUtc: true)}, ' - 'lastSignInTime: ${DateTime.fromMillisecondsSinceEpoch(kMockLastSignInTimestamp, isUtc: true)})'; - - expect( - auth.currentUser.toString(), - 'User(' - 'displayName: displayName, ' - 'email: null, ' - 'isEmailVerified: false, ' - 'isAnonymous: true, ' - 'metadata: $userMetadata, ' - 'phoneNumber: null, ' - 'photoURL: null, ' - 'providerData, ' - '[$userInfo], ' - 'refreshToken: null, ' - 'tenantId: null, ' - 'uid: 12345)', - ); - }); - }); -} - -class MockFirebaseAuthPlatformBase = TestFirebaseAuthPlatform - with MockPlatformInterfaceMixin; - -class MockUserPlatformBase = TestUserPlatform with MockPlatformInterfaceMixin; - -class MockFirebaseAuth extends Mock - with MockPlatformInterfaceMixin - implements TestFirebaseAuthPlatform { - @override - Future signInAnonymously() { - return super.noSuchMethod( - Invocation.method(#signInAnonymously, const []), - returnValue: neverEndingFuture(), - returnValueForMissingStub: neverEndingFuture(), - ); - } - - @override - FirebaseAuthPlatform delegateFor( - {FirebaseApp? app, Persistence? persistence}) { - return super.noSuchMethod( - Invocation.method(#delegateFor, const [], {#app: app}), - returnValue: TestFirebaseAuthPlatform(), - returnValueForMissingStub: TestFirebaseAuthPlatform(), - ); - } - - @override - FirebaseAuthPlatform setInitialValues({ - InternalUserDetails? currentUser, - String? languageCode, - }) { - return super.noSuchMethod( - Invocation.method(#setInitialValues, const [], { - #currentUser: currentUser, - #languageCode: languageCode, - }), - returnValue: TestFirebaseAuthPlatform(), - returnValueForMissingStub: TestFirebaseAuthPlatform(), - ); - } -} - -class MockUserPlatform extends Mock - with MockPlatformInterfaceMixin - implements TestUserPlatform { - MockUserPlatform(FirebaseAuthPlatform auth, InternalUserDetails _user) { - TestUserPlatform(auth, TestMultiFactorPlatform(auth), _user); - } - - @override - Future delete() { - return super.noSuchMethod( - Invocation.method(#delete, []), - returnValue: neverEndingFuture(), - returnValueForMissingStub: neverEndingFuture(), - ); - } - - @override - Future reload() { - return super.noSuchMethod( - Invocation.method(#reload, []), - returnValue: neverEndingFuture(), - returnValueForMissingStub: neverEndingFuture(), - ); - } - - @override - Future getIdToken(bool? forceRefresh) { - return super.noSuchMethod( - Invocation.method(#getIdToken, [forceRefresh]), - returnValue: neverEndingFuture(), - returnValueForMissingStub: neverEndingFuture(), - ); - } - - @override - Future unlink(String? providerId) { - return super.noSuchMethod( - Invocation.method(#unlink, [providerId]), - returnValue: neverEndingFuture(), - returnValueForMissingStub: neverEndingFuture(), - ); - } - - @override - Future getIdTokenResult(bool? forceRefresh) { - return super.noSuchMethod( - Invocation.method(#getIdTokenResult, [forceRefresh]), - returnValue: neverEndingFuture(), - returnValueForMissingStub: neverEndingFuture(), - ); - } - - @override - Future reauthenticateWithCredential( - AuthCredential? credential, - ) { - return super.noSuchMethod( - Invocation.method(#reauthenticateWithCredential, [credential]), - returnValue: neverEndingFuture(), - returnValueForMissingStub: neverEndingFuture(), - ); - } - - @override - Future linkWithCredential( - AuthCredential? credential, - ) { - return super.noSuchMethod( - Invocation.method(#linkWithCredential, [credential]), - returnValue: neverEndingFuture(), - returnValueForMissingStub: neverEndingFuture(), - ); - } - - @override - Future sendEmailVerification(ActionCodeSettings? actionCodeSettings) { - return super.noSuchMethod( - Invocation.method(#sendEmailVerification, [actionCodeSettings]), - returnValue: neverEndingFuture(), - returnValueForMissingStub: neverEndingFuture(), - ); - } - - @override - Future updatePassword(String? newPassword) { - return super.noSuchMethod( - Invocation.method(#updatePassword, [newPassword]), - returnValue: neverEndingFuture(), - returnValueForMissingStub: neverEndingFuture(), - ); - } - - @override - Future updatePhoneNumber(PhoneAuthCredential? phoneCredential) { - return super.noSuchMethod( - Invocation.method(#updatePhoneNumber, [phoneCredential]), - returnValue: neverEndingFuture(), - returnValueForMissingStub: neverEndingFuture(), - ); - } - - @override - Future updateProfile(Map? profile) { - return super.noSuchMethod( - Invocation.method(#updateProfile, [profile]), - returnValue: neverEndingFuture(), - returnValueForMissingStub: neverEndingFuture(), - ); - } - - @override - Future verifyBeforeUpdateEmail( - String? newEmail, [ - ActionCodeSettings? actionCodeSettings, - ]) { - return super.noSuchMethod( - Invocation.method(#verifyBeforeUpdateEmail, [ - newEmail, - actionCodeSettings, - ]), - returnValue: neverEndingFuture(), - returnValueForMissingStub: neverEndingFuture(), - ); - } -} - -class MockUserCredentialPlatform extends Mock - with MockPlatformInterfaceMixin - implements TestUserCredentialPlatform { - MockUserCredentialPlatform( - FirebaseAuthPlatform auth, - AdditionalUserInfo additionalUserInfo, - AuthCredential credential, - UserPlatform userPlatform, - ) { - TestUserCredentialPlatform( - auth, - additionalUserInfo, - credential, - userPlatform, - ); - } -} - -class TestFirebaseAuthPlatform extends FirebaseAuthPlatform { - TestFirebaseAuthPlatform() : super(); - - @override - FirebaseAuthPlatform delegateFor( - {FirebaseApp? app, Persistence? persistence}) => - this; - - @override - FirebaseAuthPlatform setInitialValues({ - InternalUserDetails? currentUser, - String? languageCode, - }) { - return this; - } -} - -class TestUserPlatform extends UserPlatform { - TestUserPlatform(FirebaseAuthPlatform auth, MultiFactorPlatform multiFactor, - InternalUserDetails data) - : super(auth, multiFactor, data); -} - -class TestUserCredentialPlatform extends UserCredentialPlatform { - TestUserCredentialPlatform( - FirebaseAuthPlatform auth, - AdditionalUserInfo additionalUserInfo, - AuthCredential credential, - UserPlatform userPlatform, - ) : super( - auth: auth, - additionalUserInfo: additionalUserInfo, - credential: credential, - user: userPlatform); -} diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/windows/CMakeLists.txt b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/windows/CMakeLists.txt deleted file mode 100644 index 74c8f9ab..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/windows/CMakeLists.txt +++ /dev/null @@ -1,123 +0,0 @@ -# The Flutter tooling requires that developers have a version of Visual Studio -# installed that includes CMake 3.14 or later. You should not increase this -# version, as doing so will cause the plugin to fail to compile for some -# customers of the plugin. -cmake_minimum_required(VERSION 3.14) - -# Project-level configuration. -set(PROJECT_NAME "firebase_auth") -project(${PROJECT_NAME} LANGUAGES CXX) - -# This value is used when generating builds using this plugin, so it must -# not be changed -set(PLUGIN_NAME "firebase_auth_plugin") - -# Any new source files that you add to the plugin should be added here. -list(APPEND PLUGIN_SOURCES - "firebase_auth_plugin.cpp" - "firebase_auth_plugin.h" - "messages.g.cpp" - "messages.g.h" -) - -# Read version from pubspec.yaml -file(STRINGS "../pubspec.yaml" pubspec_content) -foreach(line ${pubspec_content}) - string(FIND ${line} "version: " has_version) - - if("${has_version}" STREQUAL "0") - string(FIND ${line} ": " version_start_pos) - math(EXPR version_start_pos "${version_start_pos} + 2") - string(LENGTH ${line} version_end_pos) - math(EXPR len "${version_end_pos} - ${version_start_pos}") - string(SUBSTRING ${line} ${version_start_pos} ${len} PLUGIN_VERSION) - break() - endif() -endforeach(line) - -configure_file(plugin_version.h.in ${CMAKE_BINARY_DIR}/generated/firebase_auth/plugin_version.h) -include_directories(${CMAKE_BINARY_DIR}/generated/) - -# Define the plugin library target. Its name must not be changed (see comment -# on PLUGIN_NAME above). -add_library(${PLUGIN_NAME} STATIC - "include/firebase_auth/firebase_auth_plugin_c_api.h" - "firebase_auth_plugin_c_api.cpp" - ${PLUGIN_SOURCES} - ${CMAKE_BINARY_DIR}/generated/firebase_auth/plugin_version.h -) - -# Apply a standard set of build settings that are configured in the -# application-level CMakeLists.txt. This can be removed for plugins that want -# full control over build settings. -apply_standard_settings(${PLUGIN_NAME}) - -# Symbols are hidden by default to reduce the chance of accidental conflicts -# between plugins. This should not be removed; any symbols that should be -# exported should be explicitly exported with the FLUTTER_PLUGIN_EXPORT macro. -set_target_properties(${PLUGIN_NAME} PROPERTIES - CXX_VISIBILITY_PRESET hidden) -target_compile_definitions(${PLUGIN_NAME} PUBLIC FLUTTER_PLUGIN_IMPL) -# Enable firebase-cpp-sdk's platform logging api. -target_compile_definitions(${PLUGIN_NAME} PRIVATE -DINTERNAL_EXPERIMENTAL=1) - -# Source include directories and library dependencies. Add any plugin-specific -# dependencies here. -set(MSVC_RUNTIME_MODE MD) -set(firebase_libs firebase_core_plugin firebase_auth) -target_link_libraries(${PLUGIN_NAME} PRIVATE "${firebase_libs}") - -target_include_directories(${PLUGIN_NAME} INTERFACE - "${CMAKE_CURRENT_SOURCE_DIR}/include") -target_link_libraries(${PLUGIN_NAME} PUBLIC flutter flutter_wrapper_plugin) - -# List of absolute paths to libraries that should be bundled with the plugin. -# This list could contain prebuilt libraries, or libraries created by an -# external build triggered from this build file. -set(firebase_auth_bundled_libraries - "" - PARENT_SCOPE -) - -# === Tests === -# These unit tests can be run from a terminal after building the example, or -# from Visual Studio after opening the generated solution file. - -# Only enable test builds when building the example (which sets this variable) -# so that plugin clients aren't building the tests. -if (${include_${PROJECT_NAME}_tests}) -set(TEST_RUNNER "${PROJECT_NAME}_test") -enable_testing() - -# Add the Google Test dependency. -include(FetchContent) -FetchContent_Declare( - googletest - URL https://github.com/google/googletest/archive/release-1.11.0.zip -) -# Prevent overriding the parent project's compiler/linker settings -set(gtest_force_shared_crt ON CACHE BOOL "" FORCE) -# Disable install commands for gtest so it doesn't end up in the bundle. -set(INSTALL_GTEST OFF CACHE BOOL "Disable installation of googletest" FORCE) -FetchContent_MakeAvailable(googletest) - -# The plugin's C API is not very useful for unit testing, so build the sources -# directly into the test binary rather than using the DLL. -add_executable(${TEST_RUNNER} - test/firebase_auth_plugin_test.cpp - ${PLUGIN_SOURCES} -) -apply_standard_settings(${TEST_RUNNER}) -target_include_directories(${TEST_RUNNER} PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}") -target_link_libraries(${TEST_RUNNER} PRIVATE flutter_wrapper_plugin) -target_link_libraries(${TEST_RUNNER} PRIVATE gtest_main gmock) -# flutter_wrapper_plugin has link dependencies on the Flutter DLL. -add_custom_command(TARGET ${TEST_RUNNER} POST_BUILD - COMMAND ${CMAKE_COMMAND} -E copy_if_different - "${FLUTTER_LIBRARY}" $ -) - -# Enable automatic test discovery. -include(GoogleTest) -gtest_discover_tests(${TEST_RUNNER}) -endif() diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/windows/firebase_auth_plugin.cpp b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/windows/firebase_auth_plugin.cpp deleted file mode 100644 index a931dac2..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/windows/firebase_auth_plugin.cpp +++ /dev/null @@ -1,1341 +0,0 @@ -// Copyright 2023, the Chromium project authors. Please see the AUTHORS file -// for details. All rights reserved. Use of this source code is governed by a -// BSD-style license that can be found in the LICENSE file. - -#include "firebase_auth_plugin.h" - -// This must be included before many other Windows headers. -#include - -#include -#include - -#include "firebase/app.h" -#include "firebase/auth.h" -#include "firebase/future.h" -#include "firebase/log.h" -#include "firebase/util.h" -#include "firebase/variant.h" -#include "firebase_auth/plugin_version.h" -#include "firebase_core/firebase_core_plugin_c_api.h" -#include "messages.g.h" - -// For getPlatformVersion; remove unless needed for your plugin implementation. -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -using ::firebase::App; -using ::firebase::auth::Auth; - -namespace firebase_auth_windows { - -static std::string kLibraryName = "flutter-fire-auth"; -flutter::BinaryMessenger* FirebaseAuthPlugin::binaryMessenger = nullptr; - -// static -void FirebaseAuthPlugin::RegisterWithRegistrar( - flutter::PluginRegistrarWindows* registrar) { - auto plugin = std::make_unique(); - - FirebaseAuthHostApi::SetUp(registrar->messenger(), plugin.get()); - FirebaseAuthUserHostApi::SetUp(registrar->messenger(), plugin.get()); - - RegisterFlutterFirebasePlugin("plugins.flutter.io/firebase_auth", - plugin.get()); - - registrar->AddPlugin(std::move(plugin)); - - binaryMessenger = registrar->messenger(); - - // Register for platform logging - App::RegisterLibrary(kLibraryName.c_str(), getPluginVersion().c_str(), - nullptr); -} - -FirebaseAuthPlugin::FirebaseAuthPlugin() { - firebase::SetLogLevel(firebase::kLogLevelVerbose); -} - -FirebaseAuthPlugin::~FirebaseAuthPlugin() = default; - -Auth* GetAuthFromPigeon(const AuthPigeonFirebaseApp& pigeonApp) { - App* app = App::GetInstance(pigeonApp.app_name().c_str()); - - Auth* auth = Auth::GetAuth(app); - - return auth; -} - -InternalUserCredential ParseAuthResult( - const firebase::auth::AuthResult* authResult) { - InternalUserCredential result = InternalUserCredential(); - result.set_user(FirebaseAuthPlugin::ParseUserDetails(authResult->user)); - result.set_additional_user_info(FirebaseAuthPlugin::ParseAdditionalUserInfo( - authResult->additional_user_info)); - return result; -} - -using flutter::EncodableMap; -using flutter::EncodableValue; - -flutter::EncodableMap -firebase_auth_windows::FirebaseAuthPlugin::ConvertToEncodableMap( - const std::map& originalMap) { - EncodableMap convertedMap; - for (const auto& kv : originalMap) { - EncodableValue key = ConvertToEncodableValue( - kv.first); // convert std::string to EncodableValue - EncodableValue value = ConvertToEncodableValue( - kv.second); // convert FieldValue to EncodableValue - convertedMap[key] = value; // insert into the new map - } - return convertedMap; -} - -flutter::EncodableValue -firebase_auth_windows::FirebaseAuthPlugin::ConvertToEncodableValue( - const firebase::Variant& variant) { - switch (variant.type()) { - case firebase::Variant::kTypeNull: - return EncodableValue(); - case firebase::Variant::kTypeInt64: - return EncodableValue(variant.int64_value()); - case firebase::Variant::kTypeDouble: - return EncodableValue(variant.double_value()); - case firebase::Variant::kTypeBool: - return EncodableValue(variant.bool_value()); - case firebase::Variant::kTypeStaticString: - return EncodableValue(variant.string_value()); - case firebase::Variant::kTypeMutableString: - return EncodableValue(variant.mutable_string()); - case firebase::Variant::kTypeMap: - return FirebaseAuthPlugin::ConvertToEncodableMap(variant.map()); - case firebase::Variant::kTypeStaticBlob: - return EncodableValue(flutter::CustomEncodableValue(variant.blob_data())); - case firebase::Variant::kTypeMutableBlob: - return EncodableValue( - flutter::CustomEncodableValue(variant.mutable_blob_data())); - default: - return EncodableValue(); - } -} - -InternalAdditionalUserInfo FirebaseAuthPlugin::ParseAdditionalUserInfo( - const firebase::auth::AdditionalUserInfo additionalUserInfo) { - // Cannot know if the user is new or not with current API - InternalAdditionalUserInfo result = InternalAdditionalUserInfo(false); - result.set_profile(ConvertToEncodableMap(additionalUserInfo.profile)); - result.set_provider_id(additionalUserInfo.provider_id); - result.set_username(additionalUserInfo.user_name); - return result; -} - -InternalUserDetails FirebaseAuthPlugin::ParseUserDetails( - const firebase::auth::User user) { - InternalUserDetails result = - InternalUserDetails(FirebaseAuthPlugin::ParseUserInfo(&user), - FirebaseAuthPlugin::ParseProviderData(&user)); - - return result; -} - -InternalUserInfo FirebaseAuthPlugin::ParseUserInfo( - const firebase::auth::User* user) { - InternalUserInfo result = InternalUserInfo(user->uid(), user->is_anonymous(), - user->is_email_verified()); - result.set_display_name(user->display_name()); - result.set_email(user->email()); - result.set_phone_number(user->phone_number()); - result.set_photo_url(user->photo_url()); - result.set_provider_id(user->provider_id()); - result.set_uid(user->uid()); - result.set_creation_timestamp(user->metadata().creation_timestamp); - result.set_last_sign_in_timestamp(user->metadata().last_sign_in_timestamp); - - return result; -} - -flutter::EncodableList FirebaseAuthPlugin::ParseProviderData( - const firebase::auth::User* user) { - flutter::EncodableList output; - - for (firebase::auth::UserInfoInterface userInfo : user->provider_data()) { - output.push_back(FirebaseAuthPlugin::ParseUserInfoToMap(&userInfo)); - } - - return flutter::EncodableList(output); -} - -flutter::EncodableValue FirebaseAuthPlugin::ParseUserInfoToMap( - firebase::auth::UserInfoInterface* userInfo) { - return flutter::EncodableValue(flutter::EncodableMap{ - {flutter::EncodableValue("displayName"), - flutter::EncodableValue(userInfo->display_name())}, - {flutter::EncodableValue("email"), - flutter::EncodableValue(userInfo->email())}, - {flutter::EncodableValue("isEmailVerified"), - flutter::EncodableValue(true)}, - {flutter::EncodableValue("phoneNumber"), - flutter::EncodableValue(userInfo->phone_number())}, - {flutter::EncodableValue("photoUrl"), - flutter::EncodableValue(userInfo->photo_url())}, - {flutter::EncodableValue("uid"), - flutter::EncodableValue(userInfo->uid().empty() ? std::string("") - : userInfo->uid())}, - {flutter::EncodableValue("providerId"), - flutter::EncodableValue(userInfo->provider_id())}, - {flutter::EncodableValue("isAnonymous"), - flutter::EncodableValue(false)}}); -} - -std::string FirebaseAuthPlugin::GetAuthErrorCode(AuthError authError) { - switch (authError) { - case firebase::auth::kAuthErrorInvalidCustomToken: - return "invalid-custom-token"; - case firebase::auth::kAuthErrorCustomTokenMismatch: - return "custom-token-mismatch"; - case firebase::auth::kAuthErrorInvalidEmail: - return "invalid-email"; - case firebase::auth::kAuthErrorInvalidCredential: - return "invalid-credential"; - case firebase::auth::kAuthErrorUserDisabled: - return "user-disabled"; - case firebase::auth::kAuthErrorEmailAlreadyInUse: - return "email-already-in-use"; - case firebase::auth::kAuthErrorWrongPassword: - return "wrong-password"; - case firebase::auth::kAuthErrorTooManyRequests: - return "too-many-requests"; - case firebase::auth::kAuthErrorAccountExistsWithDifferentCredentials: - return "account-exists-with-different-credentials"; - case firebase::auth::kAuthErrorRequiresRecentLogin: - return "requires-recent-login"; - case firebase::auth::kAuthErrorProviderAlreadyLinked: - return "provider-already-linked"; - case firebase::auth::kAuthErrorNoSuchProvider: - return "no-such-provider"; - case firebase::auth::kAuthErrorInvalidUserToken: - return "invalid-user-token"; - case firebase::auth::kAuthErrorUserTokenExpired: - return "user-token-expired"; - case firebase::auth::kAuthErrorUserNotFound: - return "user-not-found"; - case firebase::auth::kAuthErrorInvalidApiKey: - return "invalid-api-key"; - case firebase::auth::kAuthErrorCredentialAlreadyInUse: - return "credential-already-in-use"; - case firebase::auth::kAuthErrorOperationNotAllowed: - return "operation-not-allowed"; - case firebase::auth::kAuthErrorWeakPassword: - return "weak-password"; - case firebase::auth::kAuthErrorAppNotAuthorized: - return "app-not-authorized"; - case firebase::auth::kAuthErrorExpiredActionCode: - return "expired-action-code"; - case firebase::auth::kAuthErrorInvalidActionCode: - return "invalid-action-code"; - case firebase::auth::kAuthErrorInvalidMessagePayload: - return "invalid-message-payload"; - case firebase::auth::kAuthErrorInvalidSender: - return "invalid-sender"; - case firebase::auth::kAuthErrorInvalidRecipientEmail: - return "invalid-recipient-email"; - case firebase::auth::kAuthErrorUnauthorizedDomain: - return "unauthorized-domain"; - case firebase::auth::kAuthErrorInvalidContinueUri: - return "invalid-continue-uri"; - case firebase::auth::kAuthErrorMissingContinueUri: - return "missing-continue-uri"; - case firebase::auth::kAuthErrorMissingEmail: - return "missing-email"; - case firebase::auth::kAuthErrorMissingPhoneNumber: - return "missing-phone-number"; - case firebase::auth::kAuthErrorInvalidPhoneNumber: - return "invalid-phone-number"; - case firebase::auth::kAuthErrorMissingVerificationCode: - return "missing-verification-code"; - case firebase::auth::kAuthErrorInvalidVerificationCode: - return "invalid-verification-code"; - case firebase::auth::kAuthErrorMissingVerificationId: - return "missing-verification-id"; - case firebase::auth::kAuthErrorInvalidVerificationId: - return "invalid-verification-id"; - case firebase::auth::kAuthErrorSessionExpired: - return "session-expired"; - case firebase::auth::kAuthErrorQuotaExceeded: - return "quota-exceeded"; - case firebase::auth::kAuthErrorMissingAppCredential: - return "missing-app-credential"; - case firebase::auth::kAuthErrorInvalidAppCredential: - return "invalid-app-credential"; - case firebase::auth::kAuthErrorMissingClientIdentifier: - return "missing-client-identifier"; - case firebase::auth::kAuthErrorTenantIdMismatch: - return "tenant-id-mismatch"; - case firebase::auth::kAuthErrorUnsupportedTenantOperation: - return "unsupported-tenant-operation"; - case firebase::auth::kAuthErrorUserMismatch: - return "user-mismatch"; - case firebase::auth::kAuthErrorNetworkRequestFailed: - return "network-request-failed"; - case firebase::auth::kAuthErrorNoSignedInUser: - return "no-signed-in-user"; - case firebase::auth::kAuthErrorCancelled: - return "cancelled"; - - default: - return "unknown-error"; - } -} - -FlutterError FirebaseAuthPlugin::ParseError( - const firebase::FutureBase& completed_future) { - const AuthError errorCode = - static_cast(completed_future.error()); - - return FlutterError(FirebaseAuthPlugin::GetAuthErrorCode(errorCode), - completed_future.error_message()); -} - -std::string const kFLTFirebaseAuthChannelName = "firebase_auth_plugin"; - -class FlutterIdTokenListener : public firebase::auth::IdTokenListener { - public: - void SetEventSink( - std::unique_ptr> event_sink) { - event_sink_ = std::move(event_sink); - } - - void OnIdTokenChanged(Auth* auth) override { - // Generate your ID Token - firebase::auth::User user = auth->current_user(); - InternalUserDetails userDetails = - FirebaseAuthPlugin::ParseUserDetails(user); - - using flutter::EncodableList; - using flutter::EncodableMap; - using flutter::EncodableValue; - - if (event_sink_) { - if (user.is_valid()) { - EncodableList userDetailsList = EncodableList(); - userDetailsList.push_back(userDetails.user_info().ToEncodableList()); - userDetailsList.push_back(userDetails.provider_data()); - event_sink_->Success(EncodableValue( - EncodableMap{{EncodableValue("user"), userDetailsList}})); - } else { - event_sink_->Success(EncodableValue(EncodableMap{ - {EncodableValue("user"), EncodableValue(std::monostate{})}})); - } - } - } - - private: - std::unique_ptr> event_sink_; -}; - -class IdTokenStreamHandler - : public flutter::StreamHandler { - public: - IdTokenStreamHandler(Auth* auth) { - listener_ = nullptr; - auth_ = auth; - } - - std::unique_ptr> - OnListenInternal( - const flutter::EncodableValue* arguments, - std::unique_ptr>&& events) - override { - listener_ = new FlutterIdTokenListener(); - listener_->SetEventSink(std::move(events)); - auth_->AddIdTokenListener(listener_); - return nullptr; - } - - std::unique_ptr> - OnCancelInternal(const flutter::EncodableValue* arguments) override { - auth_->RemoveIdTokenListener(listener_); - listener_->SetEventSink(nullptr); - listener_ = nullptr; - return nullptr; - } - - private: - FlutterIdTokenListener* listener_; - firebase::auth::Auth* auth_; -}; - -void FirebaseAuthPlugin::RegisterIdTokenListener( - const AuthPigeonFirebaseApp& app, - std::function reply)> result) { - firebase::auth::Auth* firebaseAuth = GetAuthFromPigeon(app); - - std::string name = - kFLTFirebaseAuthChannelName + "/id-token/" + app.app_name(); - - auto id_token_handler = std::make_unique(firebaseAuth); - - flutter::EventChannel channel( - binaryMessenger, name, &flutter::StandardMethodCodec::GetInstance()); - - channel.SetStreamHandler(std::move(id_token_handler)); - - result(ErrorOr(std::string(name))); -} - -class FlutterAuthStateListener : public firebase::auth::AuthStateListener { - public: - void SetEventSink( - std::unique_ptr> event_sink) { - event_sink_ = std::move(event_sink); - } - - void OnAuthStateChanged(Auth* auth) override { - // Generate your ID Token - firebase::auth::User user = auth->current_user(); - InternalUserDetails userDetails = - FirebaseAuthPlugin::ParseUserDetails(user); - - using flutter::EncodableList; - using flutter::EncodableMap; - using flutter::EncodableValue; - - if (event_sink_) { - if (user.is_valid()) { - EncodableList userDetailsList = EncodableList(); - userDetailsList.push_back(userDetails.user_info().ToEncodableList()); - userDetailsList.push_back(userDetails.provider_data()); - - event_sink_->Success(EncodableValue( - EncodableMap{{EncodableValue("user"), userDetailsList}})); - } else { - event_sink_->Success(EncodableValue(EncodableMap{ - {EncodableValue("user"), EncodableValue(std::monostate{})}})); - } - } - } - - private: - std::unique_ptr> event_sink_; -}; - -class AuthStateStreamHandler - : public flutter::StreamHandler { - public: - AuthStateStreamHandler(Auth* auth) { - listener_ = nullptr; - auth_ = auth; - } - - std::unique_ptr> - OnListenInternal( - const flutter::EncodableValue* arguments, - std::unique_ptr>&& events) - override { - listener_ = new FlutterAuthStateListener(); - listener_->SetEventSink(std::move(events)); - - auth_->AddAuthStateListener(listener_); - - return nullptr; - } - - std::unique_ptr> - OnCancelInternal(const flutter::EncodableValue* arguments) override { - auth_->RemoveAuthStateListener(listener_); - - listener_->SetEventSink(nullptr); - listener_ = nullptr; - return nullptr; - } - - private: - FlutterAuthStateListener* listener_; - firebase::auth::Auth* auth_; -}; - -void FirebaseAuthPlugin::RegisterAuthStateListener( - const AuthPigeonFirebaseApp& app, - std::function reply)> result) { - firebase::auth::Auth* firebaseAuth = GetAuthFromPigeon(app); - - std::string name = - kFLTFirebaseAuthChannelName + "/auth-state/" + app.app_name(); - - auto auth_state_handler = - std::make_unique(firebaseAuth); - - flutter::EventChannel channel( - binaryMessenger, name, &flutter::StandardMethodCodec::GetInstance()); - - channel.SetStreamHandler(std::move(auth_state_handler)); - - result(ErrorOr(std::string(name))); -} - -void FirebaseAuthPlugin::UseEmulator( - const AuthPigeonFirebaseApp& app, const std::string& host, int64_t port, - std::function reply)> result) { - firebase::auth::Auth* firebaseAuth = GetAuthFromPigeon(app); - firebaseAuth->UseEmulator(host, static_cast(port)); - result(std::nullopt); -} - -void FirebaseAuthPlugin::ApplyActionCode( - const AuthPigeonFirebaseApp& app, const std::string& code, - std::function reply)> result) { - result(FlutterError("unimplemented", - "ApplyActionCode is not available on this platform yet.", - nullptr)); -} - -void FirebaseAuthPlugin::CheckActionCode( - const AuthPigeonFirebaseApp& app, const std::string& code, - std::function reply)> result) { - result(FlutterError("unimplemented", - "CheckActionCode is not available on this platform yet.", - nullptr)); -} - -void FirebaseAuthPlugin::ConfirmPasswordReset( - const AuthPigeonFirebaseApp& app, const std::string& code, - const std::string& new_password, - std::function reply)> result) { - result(FlutterError( - "unimplemented", - "ConfirmPasswordReset is not available on this platform yet.", nullptr)); -} - -void FirebaseAuthPlugin::CreateUserWithEmailAndPassword( - const AuthPigeonFirebaseApp& app, const std::string& email, - const std::string& password, - std::function reply)> result) { - firebase::auth::Auth* firebaseAuth = GetAuthFromPigeon(app); - - firebase::Future createUserFuture = - firebaseAuth->CreateUserWithEmailAndPassword(email.c_str(), - password.c_str()); - - createUserFuture.OnCompletion( - [result](const firebase::Future& - completed_future) { - // We are probably in a different thread right now. - if (completed_future.error() == 0) { - InternalUserCredential credential = - ParseAuthResult(completed_future.result()); - result(credential); - } else { - result(FirebaseAuthPlugin::ParseError(completed_future)); - } - }); -} - -void FirebaseAuthPlugin::SignInAnonymously( - const AuthPigeonFirebaseApp& app, - std::function reply)> result) { - firebase::auth::Auth* firebaseAuth = GetAuthFromPigeon(app); - - firebase::Future signInFuture = - firebaseAuth->SignInAnonymously(); - - signInFuture.OnCompletion( - [result](const firebase::Future& - completed_future) { - // We are probably in a different thread right now. - if (completed_future.error() == 0) { - InternalUserCredential credential = - ParseAuthResult(completed_future.result()); - result(credential); - } else { - result(FirebaseAuthPlugin::ParseError(completed_future)); - } - }); -} - -// Provider type keys. -std::string const kSignInMethodPassword = "password"; -std::string const kSignInMethodEmailLink = "emailLink"; -std::string const kSignInMethodFacebook = "facebook.com"; -std::string const kSignInMethodGoogle = "google.com"; -std::string const kSignInMethodTwitter = "twitter.com"; -std::string const kSignInMethodGithub = "github.com"; -std::string const kSignInMethodApple = "apple.com"; -std::string const kSignInMethodPhone = "phone"; -std::string const kSignInMethodOAuth = "oauth"; - -// Credential argument keys. -std::string const kArgumentCredential = "credential"; -std::string const kArgumentProviderId = "providerId"; -std::string const kArgumentProviderScope = "scopes"; -std::string const kArgumentProviderCustomParameters = "customParameters"; -std::string const kArgumentSignInMethod = "signInMethod"; -std::string const kArgumentSecret = "secret"; -std::string const kArgumentIdToken = "idToken"; -std::string const kArgumentAccessToken = "accessToken"; -std::string const kArgumentRawNonce = "rawNonce"; -std::string const kArgumentEmail = "email"; -std::string const kArgumentCode = "code"; -std::string const kArgumentNewEmail = "newEmail"; -std::string const kArgumentEmailLink = kSignInMethodEmailLink; -std::string const kArgumentToken = "token"; -std::string const kArgumentVerificationId = "verificationId"; -std::string const kArgumentSmsCode = "smsCode"; -std::string const kArgumentActionCodeSettings = "actionCodeSettings"; - -// Emulating NSDictionary -typedef std::unordered_map Dictionary; - -firebase::auth::Credential getCredentialFromArguments( - flutter::EncodableMap arguments, const AuthPigeonFirebaseApp& app) { - std::string signInMethod = - std::get(arguments[kArgumentSignInMethod]); - - // Password Auth - if (signInMethod == kSignInMethodPassword) { - std::string email = std::get(arguments[kArgumentEmail]); - std::string secret = std::get(arguments[kArgumentSecret]); - return firebase::auth::EmailAuthProvider::GetCredential(email.c_str(), - secret.c_str()); - } - - // Email Link Auth - if (signInMethod == kSignInMethodEmailLink) { - // Firebase C++ SDK doesn't have email link authentication as of my - // knowledge cutoff in September 2021 - std::cout << "Email link authentication is not supported in Firebase C++ " - "SDK as of September 2021.\n"; - return firebase::auth::Credential(); - } - - // Lambda function to extract an optional string from the arguments map. This - // allows us to pass nullptr if no value exists - auto getStringOpt = - [&](const std::string& key) -> std::optional { - auto it = arguments.find(key); - if (it != arguments.end() && - std::holds_alternative(it->second)) { - return std::get(it->second); - } - return std::nullopt; - }; - - std::optional idToken = getStringOpt(kArgumentIdToken); - std::optional accessToken = getStringOpt(kArgumentAccessToken); - - // Facebook Auth - if (signInMethod == kSignInMethodFacebook) { - return firebase::auth::FacebookAuthProvider::GetCredential( - accessToken.value().c_str()); - } - - // Google Auth - if (signInMethod == kSignInMethodGoogle) { - // Both accessToken and idToken arguments can be null. You can use one or - // the other - return firebase::auth::GoogleAuthProvider::GetCredential( - idToken ? idToken.value().c_str() : nullptr, - accessToken ? accessToken.value().c_str() : nullptr); - } - - // Twitter Auth - if (signInMethod == kSignInMethodTwitter) { - std::string secret = std::get(arguments[kArgumentSecret]); - return firebase::auth::TwitterAuthProvider::GetCredential( - idToken.value().c_str(), secret.c_str()); - } - - // GitHub Auth - if (signInMethod == kSignInMethodGithub) { - return firebase::auth::GitHubAuthProvider::GetCredential( - accessToken.value().c_str()); - } - - // OAuth - if (signInMethod == kSignInMethodOAuth) { - std::string providerId = - std::get(arguments[kArgumentProviderId]); - std::optional rawNonce = getStringOpt(kArgumentRawNonce); - // If rawNonce provided use corresponding credential builder - // e.g. AppleID auth through the webView - if (rawNonce) { - return firebase::auth::OAuthProvider::GetCredential( - providerId.c_str(), idToken.value().c_str(), rawNonce.value().c_str(), - accessToken ? accessToken.value().c_str() : nullptr); - } else { - return firebase::auth::OAuthProvider::GetCredential( - providerId.c_str(), idToken.value().c_str(), - accessToken.value().c_str()); - } - } - - // If no known auth method matched - printf( - "Support for an auth provider with identifier '%s' is not implemented.\n", - signInMethod.c_str()); - return firebase::auth::Credential(); -} - -void FirebaseAuthPlugin::SignInWithCredential( - const AuthPigeonFirebaseApp& app, const flutter::EncodableMap& input, - std::function reply)> result) { - firebase::auth::Auth* firebaseAuth = GetAuthFromPigeon(app); - - firebase::Future signInFuture = - firebaseAuth->SignInWithCredential( - getCredentialFromArguments(input, app)); - - signInFuture.OnCompletion( - [result](const firebase::Future& completed_future) { - if (completed_future.error() == 0) { - // TODO: not the right return type from C++ SDK - InternalUserInfo credential = - ParseUserInfo(completed_future.result()); - InternalUserCredential userCredential = InternalUserCredential(); - InternalUserDetails user = - InternalUserDetails(credential, flutter::EncodableList()); - userCredential.set_user(user); - result(userCredential); - } else { - result(FirebaseAuthPlugin::ParseError(completed_future)); - } - }); -} - -void FirebaseAuthPlugin::SignInWithCustomToken( - const AuthPigeonFirebaseApp& app, const std::string& token, - std::function reply)> result) { - firebase::auth::Auth* firebaseAuth = GetAuthFromPigeon(app); - - firebase::Future signInFuture = - firebaseAuth->SignInWithCustomToken(token.c_str()); - - signInFuture.OnCompletion( - [result](const firebase::Future& - completed_future) { - // We are probably in a different thread right now. - if (completed_future.error() == 0) { - InternalUserCredential credential = - ParseAuthResult(completed_future.result()); - result(credential); - } else { - result(FirebaseAuthPlugin::ParseError(completed_future)); - } - }); -} - -void FirebaseAuthPlugin::SignInWithEmailAndPassword( - const AuthPigeonFirebaseApp& app, const std::string& email, - const std::string& password, - std::function reply)> result) { - firebase::auth::Auth* firebaseAuth = GetAuthFromPigeon(app); - - firebase::Future signInFuture = - firebaseAuth->SignInWithEmailAndPassword(email.c_str(), password.c_str()); - - signInFuture.OnCompletion( - [result](const firebase::Future& - completed_future) { - // We are probably in a different thread right now. - if (completed_future.error() == 0) { - InternalUserCredential credential = - ParseAuthResult(completed_future.result()); - result(credential); - } else { - result(FirebaseAuthPlugin::ParseError(completed_future)); - } - }); -} - -void FirebaseAuthPlugin::SignInWithEmailLink( - const AuthPigeonFirebaseApp& app, const std::string& email, - const std::string& email_link, - std::function reply)> result) { - result(FlutterError( - "unimplemented", - "SignInWithEmailLink is not available on this platform yet.", nullptr)); -} - -std::vector TransformEncodableList( - const flutter::EncodableList& encodable_list) { - std::vector transformed_list; - - for (const auto& value : encodable_list) { - if (std::holds_alternative(value)) { - transformed_list.push_back(std::get(value)); - } - } - - return transformed_list; -} - -std::map TransformEncodableMap( - const flutter::EncodableMap& encodable_map) { - std::map transformed_map; - - for (const auto& pair : encodable_map) { - if (std::holds_alternative(pair.first) && - std::holds_alternative(pair.second)) { - transformed_map[std::get(pair.first)] = - std::get(pair.second); - } - } - - return transformed_map; -} - -firebase::auth::FederatedOAuthProvider getProviderFromArguments( - const InternalSignInProvider& sign_in_provider) { - firebase::auth::FederatedOAuthProviderData federatedOAuthProviderData = - firebase::auth::FederatedOAuthProviderData( - sign_in_provider.provider_id().c_str(), - TransformEncodableList(*sign_in_provider.scopes()), - TransformEncodableMap(*sign_in_provider.custom_parameters())); - firebase::auth::FederatedOAuthProvider federatedAuthProvider = - firebase::auth::FederatedOAuthProvider(federatedOAuthProviderData); - - return federatedAuthProvider; -} - -void FirebaseAuthPlugin::SignInWithProvider( - const AuthPigeonFirebaseApp& app, - const InternalSignInProvider& sign_in_provider, - std::function reply)> result) { - firebase::auth::Auth* firebaseAuth = GetAuthFromPigeon(app); - - firebase::Future signInFuture = - firebaseAuth->SignInWithProvider( - &getProviderFromArguments(sign_in_provider)); - - signInFuture.OnCompletion( - [result](const firebase::Future& - completed_future) { - // We are probably in a different thread right now. - if (completed_future.error() == 0) { - InternalUserCredential credential = - ParseAuthResult(completed_future.result()); - result(credential); - } else { - result(FirebaseAuthPlugin::ParseError(completed_future)); - } - }); -} - -void FirebaseAuthPlugin::SignOut( - const AuthPigeonFirebaseApp& app, - std::function reply)> result) { - firebase::auth::Auth* firebaseAuth = GetAuthFromPigeon(app); - - firebaseAuth->SignOut(); - - result(std::nullopt); -} - -flutter::EncodableList TransformStringList( - const std::vector& string_list) { - flutter::EncodableList encodable_list; - - for (const auto& value : string_list) { - encodable_list.push_back(value); - } - - return encodable_list; -} - -void FirebaseAuthPlugin::FetchSignInMethodsForEmail( - const AuthPigeonFirebaseApp& app, const std::string& email, - std::function reply)> result) { - firebase::auth::Auth* firebaseAuth = GetAuthFromPigeon(app); - - firebase::Future signInFuture = - firebaseAuth->FetchProvidersForEmail(email.c_str()); - - signInFuture.OnCompletion( - [result]( - const firebase::Future& - completed_future) { - // We are probably in a different thread right now. - if (completed_future.error() == 0) { - result(TransformStringList(completed_future.result()->providers)); - } else { - result(FirebaseAuthPlugin::ParseError(completed_future)); - } - }); -} - -void FirebaseAuthPlugin::SendPasswordResetEmail( - const AuthPigeonFirebaseApp& app, const std::string& email, - const InternalActionCodeSettings* action_code_settings, - std::function reply)> result) { - firebase::auth::Auth* firebaseAuth = GetAuthFromPigeon(app); - - firebase::Future signInFuture = - firebaseAuth->SendPasswordResetEmail(email.c_str()); - - signInFuture.OnCompletion( - [result](const firebase::Future& completed_future) { - // We are probably in a different thread right now. - if (completed_future.error() == 0) { - result(std::nullopt); - } else { - result(FirebaseAuthPlugin::ParseError(completed_future)); - } - }); -} - -void FirebaseAuthPlugin::SendSignInLinkToEmail( - const AuthPigeonFirebaseApp& app, const std::string& email, - const InternalActionCodeSettings& action_code_settings, - std::function reply)> result) { - result(FlutterError( - "unimplemented", - "SendSignInLinkToEmail is not available on this platform yet.", nullptr)); -} - -void FirebaseAuthPlugin::SetLanguageCode( - const AuthPigeonFirebaseApp& app, const std::string* language_code, - std::function reply)> result) { - firebase::auth::Auth* firebaseAuth = GetAuthFromPigeon(app); - - if (language_code == nullptr) { - firebaseAuth->UseAppLanguage(); - result(firebaseAuth->language_code()); - return; - } - - firebaseAuth->set_language_code(language_code->c_str()); - - result(*language_code); -} - -void FirebaseAuthPlugin::SetSettings( - const AuthPigeonFirebaseApp& app, - const InternalFirebaseAuthSettings& settings, - std::function reply)> result) { - result(FlutterError("unimplemented", - "SetSettings is not available on this platform yet.", - nullptr)); -} - -void FirebaseAuthPlugin::VerifyPasswordResetCode( - const AuthPigeonFirebaseApp& app, const std::string& code, - std::function reply)> result) { - result(FlutterError( - "unimplemented", - "VerifyPasswordResetCode is not available on this platform yet.", - nullptr)); -} - -void FirebaseAuthPlugin::VerifyPhoneNumber( - const AuthPigeonFirebaseApp& app, - const InternalVerifyPhoneNumberRequest& request, - std::function reply)> result) { - result(FlutterError( - "unimplemented", - "VerifyPhoneNumber is not available on this platform yet.", nullptr)); -} - -void FirebaseAuthPlugin::Delete( - const AuthPigeonFirebaseApp& app, - std::function reply)> result) { - firebase::auth::Auth* firebaseAuth = GetAuthFromPigeon(app); - firebase::auth::User user = firebaseAuth->current_user(); - - firebase::Future future = user.Delete(); - - future.OnCompletion([result](const firebase::Future& completed_future) { - // We are probably in a different thread right now. - if (completed_future.error() == 0) { - result(std::nullopt); - } else { - result(FirebaseAuthPlugin::ParseError(completed_future)); - } - }); -} - -void FirebaseAuthPlugin::GetIdToken( - const AuthPigeonFirebaseApp& app, bool force_refresh, - std::function reply)> result) { - firebase::auth::Auth* firebaseAuth = GetAuthFromPigeon(app); - firebase::auth::User user = firebaseAuth->current_user(); - - firebase::Future future = user.GetToken(force_refresh); - - future.OnCompletion( - [result](const firebase::Future& completed_future) { - // We are probably in a different thread right now. - if (completed_future.error() == 0) { - InternalIdTokenResult token_result; - std::string_view sv(*completed_future.result()); - token_result.set_token(sv); - result(token_result); - } else { - result(FirebaseAuthPlugin::ParseError(completed_future)); - } - }); -} - -void FirebaseAuthPlugin::LinkWithCredential( - const AuthPigeonFirebaseApp& app, const flutter::EncodableMap& input, - std::function reply)> result) { - firebase::auth::Auth* firebaseAuth = GetAuthFromPigeon(app); - firebase::auth::User user = firebaseAuth->current_user(); - - firebase::Future future = - user.LinkWithCredential(getCredentialFromArguments(input, app)); - - future.OnCompletion( - [result](const firebase::Future& - completed_future) { - // We are probably in a different thread right now. - if (completed_future.error() == 0) { - InternalUserCredential credential = - ParseAuthResult(completed_future.result()); - result(credential); - } else { - result(FirebaseAuthPlugin::ParseError(completed_future)); - } - }); -} - -void FirebaseAuthPlugin::LinkWithProvider( - const AuthPigeonFirebaseApp& app, - const InternalSignInProvider& sign_in_provider, - std::function reply)> result) { - firebase::auth::Auth* firebaseAuth = GetAuthFromPigeon(app); - firebase::auth::User user = firebaseAuth->current_user(); - - firebase::Future future = - user.LinkWithProvider(&getProviderFromArguments(sign_in_provider)); - - future.OnCompletion( - [result](const firebase::Future& - completed_future) { - // We are probably in a different thread right now. - if (completed_future.error() == 0) { - InternalUserCredential credential = - ParseAuthResult(completed_future.result()); - result(credential); - } else { - result(FirebaseAuthPlugin::ParseError(completed_future)); - } - }); -} - -void FirebaseAuthPlugin::ReauthenticateWithCredential( - const AuthPigeonFirebaseApp& app, const flutter::EncodableMap& input, - std::function reply)> result) { - firebase::auth::Auth* firebaseAuth = GetAuthFromPigeon(app); - firebase::auth::User user = firebaseAuth->current_user(); - - firebase::Future future = - user.Reauthenticate(getCredentialFromArguments(input, app)); - - future.OnCompletion([result](const firebase::Future& completed_future) { - // We are probably in a different thread right now. - if (completed_future.error() == 0) { - // TODO: wrong return type - } else { - result(FirebaseAuthPlugin::ParseError(completed_future)); - } - }); -} - -void FirebaseAuthPlugin::ReauthenticateWithProvider( - const AuthPigeonFirebaseApp& app, - const InternalSignInProvider& sign_in_provider, - std::function reply)> result) { - firebase::auth::Auth* firebaseAuth = GetAuthFromPigeon(app); - firebase::auth::User user = firebaseAuth->current_user(); - - firebase::Future future = - user.ReauthenticateWithProvider( - &getProviderFromArguments(sign_in_provider)); - - future.OnCompletion( - [result](const firebase::Future& - completed_future) { - // We are probably in a different thread right now. - if (completed_future.error() == 0) { - InternalUserCredential credential = - ParseAuthResult(completed_future.result()); - result(credential); - } else { - result(FirebaseAuthPlugin::ParseError(completed_future)); - } - }); -} - -void FirebaseAuthPlugin::Reload( - const AuthPigeonFirebaseApp& app, - std::function reply)> result) { - firebase::auth::Auth* firebaseAuth = GetAuthFromPigeon(app); - firebase::auth::User user = firebaseAuth->current_user(); - - firebase::Future future = user.Reload(); - - future.OnCompletion([result, firebaseAuth]( - const firebase::Future& completed_future) { - // We are probably in a different thread right now. - if (completed_future.error() == 0) { - InternalUserDetails user = ParseUserDetails(firebaseAuth->current_user()); - result(user); - } else { - result(FirebaseAuthPlugin::ParseError(completed_future)); - } - }); -} - -void FirebaseAuthPlugin::SendEmailVerification( - const AuthPigeonFirebaseApp& app, - const InternalActionCodeSettings* action_code_settings, - std::function reply)> result) { - firebase::auth::Auth* firebaseAuth = GetAuthFromPigeon(app); - firebase::auth::User user = firebaseAuth->current_user(); - - firebase::Future future = user.SendEmailVerification(); - - future.OnCompletion([result](const firebase::Future& completed_future) { - // We are probably in a different thread right now. - if (completed_future.error() == 0) { - result(std::nullopt); - } else { - result(FirebaseAuthPlugin::ParseError(completed_future)); - } - }); -} - -void FirebaseAuthPlugin::Unlink( - const AuthPigeonFirebaseApp& app, const std::string& provider_id, - std::function reply)> result) { - firebase::auth::Auth* firebaseAuth = GetAuthFromPigeon(app); - firebase::auth::User user = firebaseAuth->current_user(); - - firebase::Future future = - user.Unlink(provider_id.c_str()); - - future.OnCompletion( - [result](const firebase::Future& - completed_future) { - // We are probably in a different thread right now. - if (completed_future.error() == 0) { - InternalUserCredential credential = - ParseAuthResult(completed_future.result()); - result(credential); - } else { - result(FirebaseAuthPlugin::ParseError(completed_future)); - } - }); -} - -void FirebaseAuthPlugin::UpdateEmail( - const AuthPigeonFirebaseApp& app, const std::string& new_email, - std::function reply)> result) { - firebase::auth::Auth* firebaseAuth = GetAuthFromPigeon(app); - firebase::auth::User user = firebaseAuth->current_user(); - - firebase::Future future = - user.SendEmailVerificationBeforeUpdatingEmail(new_email.c_str()); - - future.OnCompletion([result, firebaseAuth]( - const firebase::Future& completed_future) { - // We are probably in a different thread right now. - if (completed_future.error() == 0) { - InternalUserDetails user = ParseUserDetails(firebaseAuth->current_user()); - result(user); - } else { - result(FirebaseAuthPlugin::ParseError(completed_future)); - } - }); -} - -void FirebaseAuthPlugin::UpdatePassword( - const AuthPigeonFirebaseApp& app, const std::string& new_password, - std::function reply)> result) { - firebase::auth::Auth* firebaseAuth = GetAuthFromPigeon(app); - firebase::auth::User user = firebaseAuth->current_user(); - - firebase::Future future = user.UpdatePassword(new_password.c_str()); - - future.OnCompletion([result, firebaseAuth]( - const firebase::Future& completed_future) { - // We are probably in a different thread right now. - if (completed_future.error() == 0) { - InternalUserDetails user = ParseUserDetails(firebaseAuth->current_user()); - result(user); - } else { - result(FirebaseAuthPlugin::ParseError(completed_future)); - } - }); -} - -firebase::auth::PhoneAuthCredential getPhoneCredentialFromArguments( - flutter::EncodableMap arguments, const AuthPigeonFirebaseApp& app) { - std::string signInMethod = - std::get(arguments[kArgumentSignInMethod]); - - if (signInMethod == kSignInMethodPhone) { - std::string verificationId = - std::get(arguments[kArgumentVerificationId]); - std::string smsCode = std::get(arguments[kArgumentSmsCode]); - - // TODO: we cannot construct a PhoneAuthCredential from the verificationId - return firebase::auth::PhoneAuthCredential::PhoneAuthCredential(); - } - // If no known auth method matched - printf( - "Support for an auth provider with identifier '%s' is not " - "implemented.\n", - signInMethod.c_str()); - throw; -} - -void FirebaseAuthPlugin::UpdatePhoneNumber( - const AuthPigeonFirebaseApp& app, const flutter::EncodableMap& input, - std::function reply)> result) { - firebase::auth::Auth* firebaseAuth = GetAuthFromPigeon(app); - firebase::auth::User user = firebaseAuth->current_user(); - - firebase::Future future = - user.UpdatePhoneNumberCredential( - getPhoneCredentialFromArguments(input, app)); - - future.OnCompletion( - [result](const firebase::Future& completed_future) { - // We are probably in a different thread right now. - if (completed_future.error() == 0) { - InternalUserDetails user = - ParseUserDetails(*completed_future.result()); - result(user); - } else { - result(FirebaseAuthPlugin::ParseError(completed_future)); - } - }); -} - -void FirebaseAuthPlugin::UpdateProfile( - const AuthPigeonFirebaseApp& app, const InternalUserProfile& profile, - std::function reply)> result) { - firebase::auth::Auth* firebaseAuth = GetAuthFromPigeon(app); - firebase::auth::User user = firebaseAuth->current_user(); - - firebase::auth::User::UserProfile userProfile; - - if (profile.display_name_changed()) { - userProfile.display_name = profile.display_name()->c_str(); - } - if (profile.photo_url_changed()) { - userProfile.photo_url = profile.photo_url()->c_str(); - } - - firebase::Future future = user.UpdateUserProfile(userProfile); - - future.OnCompletion([result, firebaseAuth]( - const firebase::Future& completed_future) { - // We are probably in a different thread right now. - if (completed_future.error() == 0) { - InternalUserDetails user = ParseUserDetails(firebaseAuth->current_user()); - result(user); - } else { - result(FirebaseAuthPlugin::ParseError(completed_future)); - } - }); -} - -void FirebaseAuthPlugin::VerifyBeforeUpdateEmail( - const AuthPigeonFirebaseApp& app, const std::string& new_email, - const InternalActionCodeSettings* action_code_settings, - std::function reply)> result) { - firebase::auth::Auth* firebaseAuth = GetAuthFromPigeon(app); - firebase::auth::User user = firebaseAuth->current_user(); - - if (action_code_settings != nullptr) { - printf( - "Firebase C++ SDK does not support using `ActionCodeSettings` for " - "`verifyBeforeUpdateEmail()` API currently"); - } - - firebase::Future future = - user.SendEmailVerificationBeforeUpdatingEmail(new_email.c_str()); - - future.OnCompletion( - [result, firebaseAuth](const firebase::Future& completed_future) { - if (completed_future.error() == 0) { - result(std::nullopt); - } else { - result(FirebaseAuthPlugin::ParseError(completed_future)); - } - }); -} - -void FirebaseAuthPlugin::RevokeTokenWithAuthorizationCode( - const AuthPigeonFirebaseApp& app, const std::string& authorization_code, - std::function reply)> result) { - result(FlutterError( - "unimplemented", - "RevokeTokenWithAuthorizationCode is not available on this platform yet.", - nullptr)); -} - -void FirebaseAuthPlugin::RevokeAccessToken( - const AuthPigeonFirebaseApp& app, const std::string& access_token, - std::function reply)> result) { - result(FlutterError("unimplemented", - "RevokeAccessToken is not available on this platform.", - nullptr)); -} - -void FirebaseAuthPlugin::InitializeRecaptchaConfig( - const AuthPigeonFirebaseApp& app, - std::function reply)> result) { - result(FlutterError( - "unimplemented", - "InitializeRecaptchaConfig is not available on this platform yet.", - nullptr)); -} - -flutter::EncodableMap FirebaseAuthPlugin::GetPluginConstantsForFirebaseApp( - const firebase::App& app) { - flutter::EncodableMap constants; - - Auth* auth = Auth::GetAuth(const_cast(&app)); - firebase::auth::User user = auth->current_user(); - - if (user.is_valid()) { - InternalUserDetails userDetails = ParseUserDetails(user); - flutter::EncodableList userDetailsList; - userDetailsList.push_back( - flutter::EncodableValue(userDetails.user_info().ToEncodableList())); - userDetailsList.push_back( - flutter::EncodableValue(userDetails.provider_data())); - constants[flutter::EncodableValue("APP_CURRENT_USER")] = - flutter::EncodableValue(userDetailsList); - } - - std::string lang = auth->language_code(); - if (!lang.empty()) { - constants[flutter::EncodableValue("APP_LANGUAGE_CODE")] = - flutter::EncodableValue(lang); - } - - return constants; -} - -void FirebaseAuthPlugin::DidReinitializeFirebaseCore() { - // No-op for now. Could be used to reset cached auth instances. -} - -} // namespace firebase_auth_windows diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/windows/firebase_auth_plugin.h b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/windows/firebase_auth_plugin.h deleted file mode 100644 index 575e201f..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/windows/firebase_auth_plugin.h +++ /dev/null @@ -1,218 +0,0 @@ -/* - * Copyright 2023, the Chromium project authors. Please see the AUTHORS file - * for details. All rights reserved. Use of this source code is governed by a - * BSD-style license that can be found in the LICENSE file. - */ - -#ifndef FLUTTER_PLUGIN_FIREBASE_AUTH_PLUGIN_H_ -#define FLUTTER_PLUGIN_FIREBASE_AUTH_PLUGIN_H_ - -#include -#include - -#include - -#include "firebase/app.h" -#include "firebase/auth.h" -#include "firebase/auth/types.h" -#include "firebase/future.h" -#include "firebase_core/flutter_firebase_plugin.h" -#include "messages.g.h" - -using firebase::auth::AuthError; - -namespace firebase_auth_windows { - -class FirebaseAuthPlugin : public flutter::Plugin, - public FirebaseAuthHostApi, - public FirebaseAuthUserHostApi, - public FlutterFirebasePlugin { - public: - static void RegisterWithRegistrar(flutter::PluginRegistrarWindows* registrar); - - FirebaseAuthPlugin(); - - virtual ~FirebaseAuthPlugin(); - - // Disallow copy and assign. - FirebaseAuthPlugin(const FirebaseAuthPlugin&) = delete; - FirebaseAuthPlugin& operator=(const FirebaseAuthPlugin&) = delete; - - // Parser functions - static std::string GetAuthErrorCode(AuthError authError); - static FlutterError ParseError(const firebase::FutureBase& future); - - static InternalUserDetails ParseUserDetails(const firebase::auth::User user); - static InternalAdditionalUserInfo ParseAdditionalUserInfo( - const firebase::auth::AdditionalUserInfo user); - static flutter::EncodableMap ConvertToEncodableMap( - const std::map& originalMap); - static flutter::EncodableValue ConvertToEncodableValue( - const firebase::Variant& variant); - static InternalUserInfo ParseUserInfo(const firebase::auth::User* user); - static flutter::EncodableList ParseProviderData( - const firebase::auth::User* user); - static flutter::EncodableValue ParseUserInfoToMap( - firebase::auth::UserInfoInterface* userInfo); - - // FirebaseAuthHostApi methods. - virtual void RegisterIdTokenListener( - const AuthPigeonFirebaseApp& app, - std::function reply)> result) override; - virtual void RegisterAuthStateListener( - const AuthPigeonFirebaseApp& app, - std::function reply)> result) override; - virtual void UseEmulator( - const AuthPigeonFirebaseApp& app, const std::string& host, int64_t port, - std::function reply)> result) override; - virtual void ApplyActionCode( - const AuthPigeonFirebaseApp& app, const std::string& code, - std::function reply)> result) override; - virtual void CheckActionCode( - const AuthPigeonFirebaseApp& app, const std::string& code, - std::function reply)> result) - override; - virtual void ConfirmPasswordReset( - const AuthPigeonFirebaseApp& app, const std::string& code, - const std::string& new_password, - std::function reply)> result) override; - virtual void CreateUserWithEmailAndPassword( - const AuthPigeonFirebaseApp& app, const std::string& email, - const std::string& password, - std::function reply)> result) - override; - virtual void SignInAnonymously( - const AuthPigeonFirebaseApp& app, - std::function reply)> result) - override; - virtual void SignInWithCredential( - const AuthPigeonFirebaseApp& app, const flutter::EncodableMap& input, - std::function reply)> result) - override; - virtual void SignInWithCustomToken( - const AuthPigeonFirebaseApp& app, const std::string& token, - std::function reply)> result) - override; - virtual void SignInWithEmailAndPassword( - const AuthPigeonFirebaseApp& app, const std::string& email, - const std::string& password, - std::function reply)> result) - override; - virtual void SignInWithEmailLink( - const AuthPigeonFirebaseApp& app, const std::string& email, - const std::string& email_link, - std::function reply)> result) - override; - virtual void SignInWithProvider( - const AuthPigeonFirebaseApp& app, - const InternalSignInProvider& sign_in_provider, - std::function reply)> result) - override; - virtual void SignOut( - const AuthPigeonFirebaseApp& app, - std::function reply)> result) override; - virtual void FetchSignInMethodsForEmail( - const AuthPigeonFirebaseApp& app, const std::string& email, - std::function reply)> result) - override; - virtual void SendPasswordResetEmail( - const AuthPigeonFirebaseApp& app, const std::string& email, - const InternalActionCodeSettings* action_code_settings, - std::function reply)> result) override; - virtual void SendSignInLinkToEmail( - const AuthPigeonFirebaseApp& app, const std::string& email, - const InternalActionCodeSettings& action_code_settings, - std::function reply)> result) override; - virtual void SetLanguageCode( - const AuthPigeonFirebaseApp& app, const std::string* language_code, - std::function reply)> result) override; - virtual void SetSettings( - const AuthPigeonFirebaseApp& app, - const InternalFirebaseAuthSettings& settings, - std::function reply)> result) override; - virtual void VerifyPasswordResetCode( - const AuthPigeonFirebaseApp& app, const std::string& code, - std::function reply)> result) override; - virtual void VerifyPhoneNumber( - const AuthPigeonFirebaseApp& app, - const InternalVerifyPhoneNumberRequest& request, - std::function reply)> result) override; - - // FirebaseAuthUserHostApi methods. - virtual void Delete( - const AuthPigeonFirebaseApp& app, - std::function reply)> result) override; - virtual void GetIdToken( - const AuthPigeonFirebaseApp& app, bool force_refresh, - std::function reply)> result) - override; - virtual void LinkWithCredential( - const AuthPigeonFirebaseApp& app, const flutter::EncodableMap& input, - std::function reply)> result) - override; - virtual void LinkWithProvider( - const AuthPigeonFirebaseApp& app, - const InternalSignInProvider& sign_in_provider, - std::function reply)> result) - override; - virtual void ReauthenticateWithCredential( - const AuthPigeonFirebaseApp& app, const flutter::EncodableMap& input, - std::function reply)> result) - override; - virtual void ReauthenticateWithProvider( - const AuthPigeonFirebaseApp& app, - const InternalSignInProvider& sign_in_provider, - std::function reply)> result) - override; - virtual void Reload( - const AuthPigeonFirebaseApp& app, - std::function reply)> result) override; - virtual void SendEmailVerification( - const AuthPigeonFirebaseApp& app, - const InternalActionCodeSettings* action_code_settings, - std::function reply)> result) override; - virtual void Unlink(const AuthPigeonFirebaseApp& app, - const std::string& provider_id, - std::function reply)> - result) override; - virtual void UpdateEmail( - const AuthPigeonFirebaseApp& app, const std::string& new_email, - std::function reply)> result) override; - virtual void UpdatePassword( - const AuthPigeonFirebaseApp& app, const std::string& new_password, - std::function reply)> result) override; - virtual void UpdatePhoneNumber( - const AuthPigeonFirebaseApp& app, const flutter::EncodableMap& input, - std::function reply)> result) override; - virtual void UpdateProfile( - const AuthPigeonFirebaseApp& app, const InternalUserProfile& profile, - std::function reply)> result) override; - virtual void VerifyBeforeUpdateEmail( - const AuthPigeonFirebaseApp& app, const std::string& new_email, - const InternalActionCodeSettings* action_code_settings, - std::function reply)> result) override; - - virtual void RevokeTokenWithAuthorizationCode( - const AuthPigeonFirebaseApp& app, const std::string& authorization_code, - std::function reply)> result) override; - - virtual void RevokeAccessToken( - const AuthPigeonFirebaseApp& app, const std::string& access_token, - std::function reply)> result) override; - - virtual void InitializeRecaptchaConfig( - const AuthPigeonFirebaseApp& app, - std::function reply)> result) override; - - // FlutterFirebasePlugin methods. - flutter::EncodableMap GetPluginConstantsForFirebaseApp( - const firebase::App& app) override; - void DidReinitializeFirebaseCore() override; - - private: - static flutter::BinaryMessenger* binaryMessenger; -}; - -} // namespace firebase_auth_windows - -#endif // FLUTTER_PLUGIN_FIREBASE_AUTH_PLUGIN_H_ diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/windows/firebase_auth_plugin_c_api.cpp b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/windows/firebase_auth_plugin_c_api.cpp deleted file mode 100644 index 03d93038..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/windows/firebase_auth_plugin_c_api.cpp +++ /dev/null @@ -1,16 +0,0 @@ -// Copyright 2023, the Chromium project authors. Please see the AUTHORS file -// for details. All rights reserved. Use of this source code is governed by a -// BSD-style license that can be found in the LICENSE file. - -#include "include/firebase_auth/firebase_auth_plugin_c_api.h" - -#include - -#include "firebase_auth_plugin.h" - -void FirebaseAuthPluginCApiRegisterWithRegistrar( - FlutterDesktopPluginRegistrarRef registrar) { - firebase_auth_windows::FirebaseAuthPlugin::RegisterWithRegistrar( - flutter::PluginRegistrarManager::GetInstance() - ->GetRegistrar(registrar)); -} diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/windows/include/firebase_auth/firebase_auth_plugin_c_api.h b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/windows/include/firebase_auth/firebase_auth_plugin_c_api.h deleted file mode 100644 index 1c73a633..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/windows/include/firebase_auth/firebase_auth_plugin_c_api.h +++ /dev/null @@ -1,29 +0,0 @@ -/* - * Copyright 2023, the Chromium project authors. Please see the AUTHORS file - * for details. All rights reserved. Use of this source code is governed by a - * BSD-style license that can be found in the LICENSE file. - */ - -#ifndef FLUTTER_PLUGIN_FIREBASE_AUTH_PLUGIN_C_API_H_ -#define FLUTTER_PLUGIN_FIREBASE_AUTH_PLUGIN_C_API_H_ - -#include - -#ifdef FLUTTER_PLUGIN_IMPL -#define FLUTTER_PLUGIN_EXPORT __declspec(dllexport) -#else -#define FLUTTER_PLUGIN_EXPORT __declspec(dllimport) -#endif - -#if defined(__cplusplus) -extern "C" { -#endif - -FLUTTER_PLUGIN_EXPORT void FirebaseAuthPluginCApiRegisterWithRegistrar( - FlutterDesktopPluginRegistrarRef registrar); - -#if defined(__cplusplus) -} // extern "C" -#endif - -#endif // FLUTTER_PLUGIN_FIREBASE_AUTH_PLUGIN_C_API_H_ diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/windows/messages.g.cpp b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/windows/messages.g.cpp deleted file mode 100644 index ea2200e6..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/windows/messages.g.cpp +++ /dev/null @@ -1,5562 +0,0 @@ -// Copyright 2023, the Chromium project authors. Please see the AUTHORS file -// for details. All rights reserved. Use of this source code is governed by a -// BSD-style license that can be found in the LICENSE file. -// Autogenerated from Pigeon (v26.3.4), do not edit directly. -// See also: https://pub.dev/packages/pigeon - -#undef _HAS_EXCEPTIONS - -#include "messages.g.h" - -#include -#include -#include -#include - -#include -#include -#include -#include -#include - -namespace firebase_auth_windows { -using ::flutter::BasicMessageChannel; -using ::flutter::CustomEncodableValue; -using ::flutter::EncodableList; -using ::flutter::EncodableMap; -using ::flutter::EncodableValue; - -FlutterError CreateConnectionError(const std::string channel_name) { - return FlutterError( - "channel-error", - "Unable to establish connection on channel: '" + channel_name + "'.", - EncodableValue("")); -} - -namespace { -template -bool PigeonInternalDeepEquals(const T& a, const T& b); - -bool PigeonInternalDeepEquals(const double& a, const double& b); - -template -bool PigeonInternalDeepEquals(const std::vector& a, const std::vector& b); - -template -bool PigeonInternalDeepEquals(const std::map& a, const std::map& b); - -template -bool PigeonInternalDeepEquals(const std::optional& a, - const std::optional& b); - -template -bool PigeonInternalDeepEquals(const std::unique_ptr& a, - const std::unique_ptr& b); - -bool PigeonInternalDeepEquals(const ::flutter::EncodableValue& a, - const ::flutter::EncodableValue& b); - -template -bool PigeonInternalDeepEquals(const T& a, const T& b) { - return a == b; -} - -template -bool PigeonInternalDeepEquals(const std::vector& a, - const std::vector& b) { - if (a.size() != b.size()) { - return false; - } - for (size_t i = 0; i < a.size(); ++i) { - if (!PigeonInternalDeepEquals(a[i], b[i])) { - return false; - } - } - return true; -} - -template -bool PigeonInternalDeepEquals(const std::map& a, - const std::map& b) { - if (a.size() != b.size()) { - return false; - } - for (const auto& kv : a) { - bool found = false; - for (const auto& b_kv : b) { - if (PigeonInternalDeepEquals(kv.first, b_kv.first)) { - if (PigeonInternalDeepEquals(kv.second, b_kv.second)) { - found = true; - break; - } else { - return false; - } - } - } - if (!found) { - return false; - } - } - return true; -} - -bool PigeonInternalDeepEquals(const double& a, const double& b) { - // Normalize -0.0 to 0.0 and handle NaN equality. - return (a == b) || (std::isnan(a) && std::isnan(b)); -} - -template -bool PigeonInternalDeepEquals(const std::optional& a, - const std::optional& b) { - if (!a && !b) { - return true; - } - if (!a || !b) { - return false; - } - return PigeonInternalDeepEquals(*a, *b); -} - -template -bool PigeonInternalDeepEquals(const std::unique_ptr& a, - const std::unique_ptr& b) { - if (a.get() == b.get()) { - return true; - } - if (!a || !b) { - return false; - } - return PigeonInternalDeepEquals(*a, *b); -} - -bool PigeonInternalDeepEquals(const ::flutter::EncodableValue& a, - const ::flutter::EncodableValue& b) { - if (a.index() != b.index()) { - return false; - } - if (const double* da = std::get_if(&a)) { - return PigeonInternalDeepEquals(*da, std::get(b)); - } else if (const ::flutter::EncodableList* la = - std::get_if<::flutter::EncodableList>(&a)) { - return PigeonInternalDeepEquals(*la, std::get<::flutter::EncodableList>(b)); - } else if (const ::flutter::EncodableMap* ma = - std::get_if<::flutter::EncodableMap>(&a)) { - return PigeonInternalDeepEquals(*ma, std::get<::flutter::EncodableMap>(b)); - } - return a == b; -} - -template -size_t PigeonInternalDeepHash(const T& v); - -size_t PigeonInternalDeepHash(const double& v); - -template -size_t PigeonInternalDeepHash(const std::vector& v); - -template -size_t PigeonInternalDeepHash(const std::map& v); - -template -size_t PigeonInternalDeepHash(const std::optional& v); - -template -size_t PigeonInternalDeepHash(const std::unique_ptr& v); - -size_t PigeonInternalDeepHash(const ::flutter::EncodableValue& v); - -template -size_t PigeonInternalDeepHash(const T& v) { - return std::hash()(v); -} - -template -size_t PigeonInternalDeepHash(const std::vector& v) { - size_t result = 1; - for (const auto& item : v) { - result = result * 31 + PigeonInternalDeepHash(item); - } - return result; -} - -template -size_t PigeonInternalDeepHash(const std::map& v) { - size_t result = 0; - for (const auto& kv : v) { - result += ((PigeonInternalDeepHash(kv.first) * 31) ^ - PigeonInternalDeepHash(kv.second)); - } - return result; -} - -size_t PigeonInternalDeepHash(const double& v) { - if (std::isnan(v)) { - // Normalize NaN to a consistent hash. - return std::hash()(std::numeric_limits::quiet_NaN()); - } - if (v == 0.0) { - // Normalize -0.0 to 0.0 so they have the same hash code. - return std::hash()(0.0); - } - return std::hash()(v); -} - -template -size_t PigeonInternalDeepHash(const std::optional& v) { - return v ? PigeonInternalDeepHash(*v) : 0; -} - -template -size_t PigeonInternalDeepHash(const std::unique_ptr& v) { - return v ? PigeonInternalDeepHash(*v) : 0; -} - -size_t PigeonInternalDeepHash(const ::flutter::EncodableValue& v) { - size_t result = v.index(); - if (const double* dv = std::get_if(&v)) { - result = result * 31 + PigeonInternalDeepHash(*dv); - } else if (const ::flutter::EncodableList* lv = - std::get_if<::flutter::EncodableList>(&v)) { - result = result * 31 + PigeonInternalDeepHash(*lv); - } else if (const ::flutter::EncodableMap* mv = - std::get_if<::flutter::EncodableMap>(&v)) { - result = result * 31 + PigeonInternalDeepHash(*mv); - } else { - std::visit( - [&result](const auto& val) { - using T = std::decay_t; - if constexpr (!std::is_same_v && - !std::is_same_v && - !std::is_same_v && - !std::is_same_v && - !std::is_same_v) { - result = result * 31 + PigeonInternalDeepHash(val); - } - }, - v); - } - return result; -} - -} // namespace -// InternalMultiFactorSession - -InternalMultiFactorSession::InternalMultiFactorSession(const std::string& id) - : id_(id) {} - -const std::string& InternalMultiFactorSession::id() const { return id_; } - -void InternalMultiFactorSession::set_id(std::string_view value_arg) { - id_ = value_arg; -} - -EncodableList InternalMultiFactorSession::ToEncodableList() const { - EncodableList list; - list.reserve(1); - list.push_back(EncodableValue(id_)); - return list; -} - -InternalMultiFactorSession InternalMultiFactorSession::FromEncodableList( - const EncodableList& list) { - InternalMultiFactorSession decoded(std::get(list[0])); - return decoded; -} - -bool InternalMultiFactorSession::operator==( - const InternalMultiFactorSession& other) const { - return PigeonInternalDeepEquals(id_, other.id_); -} - -bool InternalMultiFactorSession::operator!=( - const InternalMultiFactorSession& other) const { - return !(*this == other); -} - -size_t InternalMultiFactorSession::Hash() const { - size_t result = 1; - result = result * 31 + PigeonInternalDeepHash(id_); - return result; -} - -size_t PigeonInternalDeepHash(const InternalMultiFactorSession& v) { - return v.Hash(); -} - -// InternalPhoneMultiFactorAssertion - -InternalPhoneMultiFactorAssertion::InternalPhoneMultiFactorAssertion( - const std::string& verification_id, const std::string& verification_code) - : verification_id_(verification_id), - verification_code_(verification_code) {} - -const std::string& InternalPhoneMultiFactorAssertion::verification_id() const { - return verification_id_; -} - -void InternalPhoneMultiFactorAssertion::set_verification_id( - std::string_view value_arg) { - verification_id_ = value_arg; -} - -const std::string& InternalPhoneMultiFactorAssertion::verification_code() - const { - return verification_code_; -} - -void InternalPhoneMultiFactorAssertion::set_verification_code( - std::string_view value_arg) { - verification_code_ = value_arg; -} - -EncodableList InternalPhoneMultiFactorAssertion::ToEncodableList() const { - EncodableList list; - list.reserve(2); - list.push_back(EncodableValue(verification_id_)); - list.push_back(EncodableValue(verification_code_)); - return list; -} - -InternalPhoneMultiFactorAssertion -InternalPhoneMultiFactorAssertion::FromEncodableList( - const EncodableList& list) { - InternalPhoneMultiFactorAssertion decoded(std::get(list[0]), - std::get(list[1])); - return decoded; -} - -bool InternalPhoneMultiFactorAssertion::operator==( - const InternalPhoneMultiFactorAssertion& other) const { - return PigeonInternalDeepEquals(verification_id_, other.verification_id_) && - PigeonInternalDeepEquals(verification_code_, other.verification_code_); -} - -bool InternalPhoneMultiFactorAssertion::operator!=( - const InternalPhoneMultiFactorAssertion& other) const { - return !(*this == other); -} - -size_t InternalPhoneMultiFactorAssertion::Hash() const { - size_t result = 1; - result = result * 31 + PigeonInternalDeepHash(verification_id_); - result = result * 31 + PigeonInternalDeepHash(verification_code_); - return result; -} - -size_t PigeonInternalDeepHash(const InternalPhoneMultiFactorAssertion& v) { - return v.Hash(); -} - -// InternalMultiFactorInfo - -InternalMultiFactorInfo::InternalMultiFactorInfo(double enrollment_timestamp, - const std::string& uid) - : enrollment_timestamp_(enrollment_timestamp), uid_(uid) {} - -InternalMultiFactorInfo::InternalMultiFactorInfo( - const std::string* display_name, double enrollment_timestamp, - const std::string* factor_id, const std::string& uid, - const std::string* phone_number) - : display_name_(display_name ? std::optional(*display_name) - : std::nullopt), - enrollment_timestamp_(enrollment_timestamp), - factor_id_(factor_id ? std::optional(*factor_id) - : std::nullopt), - uid_(uid), - phone_number_(phone_number ? std::optional(*phone_number) - : std::nullopt) {} - -const std::string* InternalMultiFactorInfo::display_name() const { - return display_name_ ? &(*display_name_) : nullptr; -} - -void InternalMultiFactorInfo::set_display_name( - const std::string_view* value_arg) { - display_name_ = - value_arg ? std::optional(*value_arg) : std::nullopt; -} - -void InternalMultiFactorInfo::set_display_name(std::string_view value_arg) { - display_name_ = value_arg; -} - -double InternalMultiFactorInfo::enrollment_timestamp() const { - return enrollment_timestamp_; -} - -void InternalMultiFactorInfo::set_enrollment_timestamp(double value_arg) { - enrollment_timestamp_ = value_arg; -} - -const std::string* InternalMultiFactorInfo::factor_id() const { - return factor_id_ ? &(*factor_id_) : nullptr; -} - -void InternalMultiFactorInfo::set_factor_id(const std::string_view* value_arg) { - factor_id_ = - value_arg ? std::optional(*value_arg) : std::nullopt; -} - -void InternalMultiFactorInfo::set_factor_id(std::string_view value_arg) { - factor_id_ = value_arg; -} - -const std::string& InternalMultiFactorInfo::uid() const { return uid_; } - -void InternalMultiFactorInfo::set_uid(std::string_view value_arg) { - uid_ = value_arg; -} - -const std::string* InternalMultiFactorInfo::phone_number() const { - return phone_number_ ? &(*phone_number_) : nullptr; -} - -void InternalMultiFactorInfo::set_phone_number( - const std::string_view* value_arg) { - phone_number_ = - value_arg ? std::optional(*value_arg) : std::nullopt; -} - -void InternalMultiFactorInfo::set_phone_number(std::string_view value_arg) { - phone_number_ = value_arg; -} - -EncodableList InternalMultiFactorInfo::ToEncodableList() const { - EncodableList list; - list.reserve(5); - list.push_back(display_name_ ? EncodableValue(*display_name_) - : EncodableValue()); - list.push_back(EncodableValue(enrollment_timestamp_)); - list.push_back(factor_id_ ? EncodableValue(*factor_id_) : EncodableValue()); - list.push_back(EncodableValue(uid_)); - list.push_back(phone_number_ ? EncodableValue(*phone_number_) - : EncodableValue()); - return list; -} - -InternalMultiFactorInfo InternalMultiFactorInfo::FromEncodableList( - const EncodableList& list) { - InternalMultiFactorInfo decoded(std::get(list[1]), - std::get(list[3])); - auto& encodable_display_name = list[0]; - if (!encodable_display_name.IsNull()) { - decoded.set_display_name(std::get(encodable_display_name)); - } - auto& encodable_factor_id = list[2]; - if (!encodable_factor_id.IsNull()) { - decoded.set_factor_id(std::get(encodable_factor_id)); - } - auto& encodable_phone_number = list[4]; - if (!encodable_phone_number.IsNull()) { - decoded.set_phone_number(std::get(encodable_phone_number)); - } - return decoded; -} - -bool InternalMultiFactorInfo::operator==( - const InternalMultiFactorInfo& other) const { - return PigeonInternalDeepEquals(display_name_, other.display_name_) && - PigeonInternalDeepEquals(enrollment_timestamp_, - other.enrollment_timestamp_) && - PigeonInternalDeepEquals(factor_id_, other.factor_id_) && - PigeonInternalDeepEquals(uid_, other.uid_) && - PigeonInternalDeepEquals(phone_number_, other.phone_number_); -} - -bool InternalMultiFactorInfo::operator!=( - const InternalMultiFactorInfo& other) const { - return !(*this == other); -} - -size_t InternalMultiFactorInfo::Hash() const { - size_t result = 1; - result = result * 31 + PigeonInternalDeepHash(display_name_); - result = result * 31 + PigeonInternalDeepHash(enrollment_timestamp_); - result = result * 31 + PigeonInternalDeepHash(factor_id_); - result = result * 31 + PigeonInternalDeepHash(uid_); - result = result * 31 + PigeonInternalDeepHash(phone_number_); - return result; -} - -size_t PigeonInternalDeepHash(const InternalMultiFactorInfo& v) { - return v.Hash(); -} - -// AuthPigeonFirebaseApp - -AuthPigeonFirebaseApp::AuthPigeonFirebaseApp(const std::string& app_name) - : app_name_(app_name) {} - -AuthPigeonFirebaseApp::AuthPigeonFirebaseApp( - const std::string& app_name, const std::string* tenant_id, - const std::string* custom_auth_domain) - : app_name_(app_name), - tenant_id_(tenant_id ? std::optional(*tenant_id) - : std::nullopt), - custom_auth_domain_(custom_auth_domain - ? std::optional(*custom_auth_domain) - : std::nullopt) {} - -const std::string& AuthPigeonFirebaseApp::app_name() const { return app_name_; } - -void AuthPigeonFirebaseApp::set_app_name(std::string_view value_arg) { - app_name_ = value_arg; -} - -const std::string* AuthPigeonFirebaseApp::tenant_id() const { - return tenant_id_ ? &(*tenant_id_) : nullptr; -} - -void AuthPigeonFirebaseApp::set_tenant_id(const std::string_view* value_arg) { - tenant_id_ = - value_arg ? std::optional(*value_arg) : std::nullopt; -} - -void AuthPigeonFirebaseApp::set_tenant_id(std::string_view value_arg) { - tenant_id_ = value_arg; -} - -const std::string* AuthPigeonFirebaseApp::custom_auth_domain() const { - return custom_auth_domain_ ? &(*custom_auth_domain_) : nullptr; -} - -void AuthPigeonFirebaseApp::set_custom_auth_domain( - const std::string_view* value_arg) { - custom_auth_domain_ = - value_arg ? std::optional(*value_arg) : std::nullopt; -} - -void AuthPigeonFirebaseApp::set_custom_auth_domain(std::string_view value_arg) { - custom_auth_domain_ = value_arg; -} - -EncodableList AuthPigeonFirebaseApp::ToEncodableList() const { - EncodableList list; - list.reserve(3); - list.push_back(EncodableValue(app_name_)); - list.push_back(tenant_id_ ? EncodableValue(*tenant_id_) : EncodableValue()); - list.push_back(custom_auth_domain_ ? EncodableValue(*custom_auth_domain_) - : EncodableValue()); - return list; -} - -AuthPigeonFirebaseApp AuthPigeonFirebaseApp::FromEncodableList( - const EncodableList& list) { - AuthPigeonFirebaseApp decoded(std::get(list[0])); - auto& encodable_tenant_id = list[1]; - if (!encodable_tenant_id.IsNull()) { - decoded.set_tenant_id(std::get(encodable_tenant_id)); - } - auto& encodable_custom_auth_domain = list[2]; - if (!encodable_custom_auth_domain.IsNull()) { - decoded.set_custom_auth_domain( - std::get(encodable_custom_auth_domain)); - } - return decoded; -} - -bool AuthPigeonFirebaseApp::operator==( - const AuthPigeonFirebaseApp& other) const { - return PigeonInternalDeepEquals(app_name_, other.app_name_) && - PigeonInternalDeepEquals(tenant_id_, other.tenant_id_) && - PigeonInternalDeepEquals(custom_auth_domain_, - other.custom_auth_domain_); -} - -bool AuthPigeonFirebaseApp::operator!=( - const AuthPigeonFirebaseApp& other) const { - return !(*this == other); -} - -size_t AuthPigeonFirebaseApp::Hash() const { - size_t result = 1; - result = result * 31 + PigeonInternalDeepHash(app_name_); - result = result * 31 + PigeonInternalDeepHash(tenant_id_); - result = result * 31 + PigeonInternalDeepHash(custom_auth_domain_); - return result; -} - -size_t PigeonInternalDeepHash(const AuthPigeonFirebaseApp& v) { - return v.Hash(); -} - -// InternalActionCodeInfoData - -InternalActionCodeInfoData::InternalActionCodeInfoData() {} - -InternalActionCodeInfoData::InternalActionCodeInfoData( - const std::string* email, const std::string* previous_email) - : email_(email ? std::optional(*email) : std::nullopt), - previous_email_(previous_email - ? std::optional(*previous_email) - : std::nullopt) {} - -const std::string* InternalActionCodeInfoData::email() const { - return email_ ? &(*email_) : nullptr; -} - -void InternalActionCodeInfoData::set_email(const std::string_view* value_arg) { - email_ = value_arg ? std::optional(*value_arg) : std::nullopt; -} - -void InternalActionCodeInfoData::set_email(std::string_view value_arg) { - email_ = value_arg; -} - -const std::string* InternalActionCodeInfoData::previous_email() const { - return previous_email_ ? &(*previous_email_) : nullptr; -} - -void InternalActionCodeInfoData::set_previous_email( - const std::string_view* value_arg) { - previous_email_ = - value_arg ? std::optional(*value_arg) : std::nullopt; -} - -void InternalActionCodeInfoData::set_previous_email( - std::string_view value_arg) { - previous_email_ = value_arg; -} - -EncodableList InternalActionCodeInfoData::ToEncodableList() const { - EncodableList list; - list.reserve(2); - list.push_back(email_ ? EncodableValue(*email_) : EncodableValue()); - list.push_back(previous_email_ ? EncodableValue(*previous_email_) - : EncodableValue()); - return list; -} - -InternalActionCodeInfoData InternalActionCodeInfoData::FromEncodableList( - const EncodableList& list) { - InternalActionCodeInfoData decoded; - auto& encodable_email = list[0]; - if (!encodable_email.IsNull()) { - decoded.set_email(std::get(encodable_email)); - } - auto& encodable_previous_email = list[1]; - if (!encodable_previous_email.IsNull()) { - decoded.set_previous_email(std::get(encodable_previous_email)); - } - return decoded; -} - -bool InternalActionCodeInfoData::operator==( - const InternalActionCodeInfoData& other) const { - return PigeonInternalDeepEquals(email_, other.email_) && - PigeonInternalDeepEquals(previous_email_, other.previous_email_); -} - -bool InternalActionCodeInfoData::operator!=( - const InternalActionCodeInfoData& other) const { - return !(*this == other); -} - -size_t InternalActionCodeInfoData::Hash() const { - size_t result = 1; - result = result * 31 + PigeonInternalDeepHash(email_); - result = result * 31 + PigeonInternalDeepHash(previous_email_); - return result; -} - -size_t PigeonInternalDeepHash(const InternalActionCodeInfoData& v) { - return v.Hash(); -} - -// InternalActionCodeInfo - -InternalActionCodeInfo::InternalActionCodeInfo( - const ActionCodeInfoOperation& operation, - const InternalActionCodeInfoData& data) - : operation_(operation), - data_(std::make_unique(data)) {} - -InternalActionCodeInfo::InternalActionCodeInfo( - const InternalActionCodeInfo& other) - : operation_(other.operation_), - data_(std::make_unique(*other.data_)) {} - -InternalActionCodeInfo& InternalActionCodeInfo::operator=( - const InternalActionCodeInfo& other) { - operation_ = other.operation_; - data_ = std::make_unique(*other.data_); - return *this; -} - -const ActionCodeInfoOperation& InternalActionCodeInfo::operation() const { - return operation_; -} - -void InternalActionCodeInfo::set_operation( - const ActionCodeInfoOperation& value_arg) { - operation_ = value_arg; -} - -const InternalActionCodeInfoData& InternalActionCodeInfo::data() const { - return *data_; -} - -void InternalActionCodeInfo::set_data( - const InternalActionCodeInfoData& value_arg) { - data_ = std::make_unique(value_arg); -} - -EncodableList InternalActionCodeInfo::ToEncodableList() const { - EncodableList list; - list.reserve(2); - list.push_back(CustomEncodableValue(operation_)); - list.push_back(CustomEncodableValue(*data_)); - return list; -} - -InternalActionCodeInfo InternalActionCodeInfo::FromEncodableList( - const EncodableList& list) { - InternalActionCodeInfo decoded( - std::any_cast( - std::get(list[0])), - std::any_cast( - std::get(list[1]))); - return decoded; -} - -bool InternalActionCodeInfo::operator==( - const InternalActionCodeInfo& other) const { - return PigeonInternalDeepEquals(operation_, other.operation_) && - PigeonInternalDeepEquals(data_, other.data_); -} - -bool InternalActionCodeInfo::operator!=( - const InternalActionCodeInfo& other) const { - return !(*this == other); -} - -size_t InternalActionCodeInfo::Hash() const { - size_t result = 1; - result = result * 31 + PigeonInternalDeepHash(operation_); - result = result * 31 + PigeonInternalDeepHash(data_); - return result; -} - -size_t PigeonInternalDeepHash(const InternalActionCodeInfo& v) { - return v.Hash(); -} - -// InternalAdditionalUserInfo - -InternalAdditionalUserInfo::InternalAdditionalUserInfo(bool is_new_user) - : is_new_user_(is_new_user) {} - -InternalAdditionalUserInfo::InternalAdditionalUserInfo( - bool is_new_user, const std::string* provider_id, - const std::string* username, const std::string* authorization_code, - const EncodableMap* profile) - : is_new_user_(is_new_user), - provider_id_(provider_id ? std::optional(*provider_id) - : std::nullopt), - username_(username ? std::optional(*username) - : std::nullopt), - authorization_code_(authorization_code - ? std::optional(*authorization_code) - : std::nullopt), - profile_(profile ? std::optional(*profile) : std::nullopt) { -} - -bool InternalAdditionalUserInfo::is_new_user() const { return is_new_user_; } - -void InternalAdditionalUserInfo::set_is_new_user(bool value_arg) { - is_new_user_ = value_arg; -} - -const std::string* InternalAdditionalUserInfo::provider_id() const { - return provider_id_ ? &(*provider_id_) : nullptr; -} - -void InternalAdditionalUserInfo::set_provider_id( - const std::string_view* value_arg) { - provider_id_ = - value_arg ? std::optional(*value_arg) : std::nullopt; -} - -void InternalAdditionalUserInfo::set_provider_id(std::string_view value_arg) { - provider_id_ = value_arg; -} - -const std::string* InternalAdditionalUserInfo::username() const { - return username_ ? &(*username_) : nullptr; -} - -void InternalAdditionalUserInfo::set_username( - const std::string_view* value_arg) { - username_ = value_arg ? std::optional(*value_arg) : std::nullopt; -} - -void InternalAdditionalUserInfo::set_username(std::string_view value_arg) { - username_ = value_arg; -} - -const std::string* InternalAdditionalUserInfo::authorization_code() const { - return authorization_code_ ? &(*authorization_code_) : nullptr; -} - -void InternalAdditionalUserInfo::set_authorization_code( - const std::string_view* value_arg) { - authorization_code_ = - value_arg ? std::optional(*value_arg) : std::nullopt; -} - -void InternalAdditionalUserInfo::set_authorization_code( - std::string_view value_arg) { - authorization_code_ = value_arg; -} - -const EncodableMap* InternalAdditionalUserInfo::profile() const { - return profile_ ? &(*profile_) : nullptr; -} - -void InternalAdditionalUserInfo::set_profile(const EncodableMap* value_arg) { - profile_ = value_arg ? std::optional(*value_arg) : std::nullopt; -} - -void InternalAdditionalUserInfo::set_profile(const EncodableMap& value_arg) { - profile_ = value_arg; -} - -EncodableList InternalAdditionalUserInfo::ToEncodableList() const { - EncodableList list; - list.reserve(5); - list.push_back(EncodableValue(is_new_user_)); - list.push_back(provider_id_ ? EncodableValue(*provider_id_) - : EncodableValue()); - list.push_back(username_ ? EncodableValue(*username_) : EncodableValue()); - list.push_back(authorization_code_ ? EncodableValue(*authorization_code_) - : EncodableValue()); - list.push_back(profile_ ? EncodableValue(*profile_) : EncodableValue()); - return list; -} - -InternalAdditionalUserInfo InternalAdditionalUserInfo::FromEncodableList( - const EncodableList& list) { - InternalAdditionalUserInfo decoded(std::get(list[0])); - auto& encodable_provider_id = list[1]; - if (!encodable_provider_id.IsNull()) { - decoded.set_provider_id(std::get(encodable_provider_id)); - } - auto& encodable_username = list[2]; - if (!encodable_username.IsNull()) { - decoded.set_username(std::get(encodable_username)); - } - auto& encodable_authorization_code = list[3]; - if (!encodable_authorization_code.IsNull()) { - decoded.set_authorization_code( - std::get(encodable_authorization_code)); - } - auto& encodable_profile = list[4]; - if (!encodable_profile.IsNull()) { - decoded.set_profile(std::get(encodable_profile)); - } - return decoded; -} - -bool InternalAdditionalUserInfo::operator==( - const InternalAdditionalUserInfo& other) const { - return PigeonInternalDeepEquals(is_new_user_, other.is_new_user_) && - PigeonInternalDeepEquals(provider_id_, other.provider_id_) && - PigeonInternalDeepEquals(username_, other.username_) && - PigeonInternalDeepEquals(authorization_code_, - other.authorization_code_) && - PigeonInternalDeepEquals(profile_, other.profile_); -} - -bool InternalAdditionalUserInfo::operator!=( - const InternalAdditionalUserInfo& other) const { - return !(*this == other); -} - -size_t InternalAdditionalUserInfo::Hash() const { - size_t result = 1; - result = result * 31 + PigeonInternalDeepHash(is_new_user_); - result = result * 31 + PigeonInternalDeepHash(provider_id_); - result = result * 31 + PigeonInternalDeepHash(username_); - result = result * 31 + PigeonInternalDeepHash(authorization_code_); - result = result * 31 + PigeonInternalDeepHash(profile_); - return result; -} - -size_t PigeonInternalDeepHash(const InternalAdditionalUserInfo& v) { - return v.Hash(); -} - -// InternalAuthCredential - -InternalAuthCredential::InternalAuthCredential( - const std::string& provider_id, const std::string& sign_in_method, - int64_t native_id) - : provider_id_(provider_id), - sign_in_method_(sign_in_method), - native_id_(native_id) {} - -InternalAuthCredential::InternalAuthCredential( - const std::string& provider_id, const std::string& sign_in_method, - int64_t native_id, const std::string* access_token) - : provider_id_(provider_id), - sign_in_method_(sign_in_method), - native_id_(native_id), - access_token_(access_token ? std::optional(*access_token) - : std::nullopt) {} - -const std::string& InternalAuthCredential::provider_id() const { - return provider_id_; -} - -void InternalAuthCredential::set_provider_id(std::string_view value_arg) { - provider_id_ = value_arg; -} - -const std::string& InternalAuthCredential::sign_in_method() const { - return sign_in_method_; -} - -void InternalAuthCredential::set_sign_in_method(std::string_view value_arg) { - sign_in_method_ = value_arg; -} - -int64_t InternalAuthCredential::native_id() const { return native_id_; } - -void InternalAuthCredential::set_native_id(int64_t value_arg) { - native_id_ = value_arg; -} - -const std::string* InternalAuthCredential::access_token() const { - return access_token_ ? &(*access_token_) : nullptr; -} - -void InternalAuthCredential::set_access_token( - const std::string_view* value_arg) { - access_token_ = - value_arg ? std::optional(*value_arg) : std::nullopt; -} - -void InternalAuthCredential::set_access_token(std::string_view value_arg) { - access_token_ = value_arg; -} - -EncodableList InternalAuthCredential::ToEncodableList() const { - EncodableList list; - list.reserve(4); - list.push_back(EncodableValue(provider_id_)); - list.push_back(EncodableValue(sign_in_method_)); - list.push_back(EncodableValue(native_id_)); - list.push_back(access_token_ ? EncodableValue(*access_token_) - : EncodableValue()); - return list; -} - -InternalAuthCredential InternalAuthCredential::FromEncodableList( - const EncodableList& list) { - InternalAuthCredential decoded(std::get(list[0]), - std::get(list[1]), - std::get(list[2])); - auto& encodable_access_token = list[3]; - if (!encodable_access_token.IsNull()) { - decoded.set_access_token(std::get(encodable_access_token)); - } - return decoded; -} - -bool InternalAuthCredential::operator==( - const InternalAuthCredential& other) const { - return PigeonInternalDeepEquals(provider_id_, other.provider_id_) && - PigeonInternalDeepEquals(sign_in_method_, other.sign_in_method_) && - PigeonInternalDeepEquals(native_id_, other.native_id_) && - PigeonInternalDeepEquals(access_token_, other.access_token_); -} - -bool InternalAuthCredential::operator!=( - const InternalAuthCredential& other) const { - return !(*this == other); -} - -size_t InternalAuthCredential::Hash() const { - size_t result = 1; - result = result * 31 + PigeonInternalDeepHash(provider_id_); - result = result * 31 + PigeonInternalDeepHash(sign_in_method_); - result = result * 31 + PigeonInternalDeepHash(native_id_); - result = result * 31 + PigeonInternalDeepHash(access_token_); - return result; -} - -size_t PigeonInternalDeepHash(const InternalAuthCredential& v) { - return v.Hash(); -} - -// InternalUserInfo - -InternalUserInfo::InternalUserInfo(const std::string& uid, bool is_anonymous, - bool is_email_verified) - : uid_(uid), - is_anonymous_(is_anonymous), - is_email_verified_(is_email_verified) {} - -InternalUserInfo::InternalUserInfo( - const std::string& uid, const std::string* email, - const std::string* display_name, const std::string* photo_url, - const std::string* phone_number, bool is_anonymous, bool is_email_verified, - const std::string* provider_id, const std::string* tenant_id, - const std::string* refresh_token, const int64_t* creation_timestamp, - const int64_t* last_sign_in_timestamp) - : uid_(uid), - email_(email ? std::optional(*email) : std::nullopt), - display_name_(display_name ? std::optional(*display_name) - : std::nullopt), - photo_url_(photo_url ? std::optional(*photo_url) - : std::nullopt), - phone_number_(phone_number ? std::optional(*phone_number) - : std::nullopt), - is_anonymous_(is_anonymous), - is_email_verified_(is_email_verified), - provider_id_(provider_id ? std::optional(*provider_id) - : std::nullopt), - tenant_id_(tenant_id ? std::optional(*tenant_id) - : std::nullopt), - refresh_token_(refresh_token ? std::optional(*refresh_token) - : std::nullopt), - creation_timestamp_(creation_timestamp - ? std::optional(*creation_timestamp) - : std::nullopt), - last_sign_in_timestamp_( - last_sign_in_timestamp - ? std::optional(*last_sign_in_timestamp) - : std::nullopt) {} - -const std::string& InternalUserInfo::uid() const { return uid_; } - -void InternalUserInfo::set_uid(std::string_view value_arg) { uid_ = value_arg; } - -const std::string* InternalUserInfo::email() const { - return email_ ? &(*email_) : nullptr; -} - -void InternalUserInfo::set_email(const std::string_view* value_arg) { - email_ = value_arg ? std::optional(*value_arg) : std::nullopt; -} - -void InternalUserInfo::set_email(std::string_view value_arg) { - email_ = value_arg; -} - -const std::string* InternalUserInfo::display_name() const { - return display_name_ ? &(*display_name_) : nullptr; -} - -void InternalUserInfo::set_display_name(const std::string_view* value_arg) { - display_name_ = - value_arg ? std::optional(*value_arg) : std::nullopt; -} - -void InternalUserInfo::set_display_name(std::string_view value_arg) { - display_name_ = value_arg; -} - -const std::string* InternalUserInfo::photo_url() const { - return photo_url_ ? &(*photo_url_) : nullptr; -} - -void InternalUserInfo::set_photo_url(const std::string_view* value_arg) { - photo_url_ = - value_arg ? std::optional(*value_arg) : std::nullopt; -} - -void InternalUserInfo::set_photo_url(std::string_view value_arg) { - photo_url_ = value_arg; -} - -const std::string* InternalUserInfo::phone_number() const { - return phone_number_ ? &(*phone_number_) : nullptr; -} - -void InternalUserInfo::set_phone_number(const std::string_view* value_arg) { - phone_number_ = - value_arg ? std::optional(*value_arg) : std::nullopt; -} - -void InternalUserInfo::set_phone_number(std::string_view value_arg) { - phone_number_ = value_arg; -} - -bool InternalUserInfo::is_anonymous() const { return is_anonymous_; } - -void InternalUserInfo::set_is_anonymous(bool value_arg) { - is_anonymous_ = value_arg; -} - -bool InternalUserInfo::is_email_verified() const { return is_email_verified_; } - -void InternalUserInfo::set_is_email_verified(bool value_arg) { - is_email_verified_ = value_arg; -} - -const std::string* InternalUserInfo::provider_id() const { - return provider_id_ ? &(*provider_id_) : nullptr; -} - -void InternalUserInfo::set_provider_id(const std::string_view* value_arg) { - provider_id_ = - value_arg ? std::optional(*value_arg) : std::nullopt; -} - -void InternalUserInfo::set_provider_id(std::string_view value_arg) { - provider_id_ = value_arg; -} - -const std::string* InternalUserInfo::tenant_id() const { - return tenant_id_ ? &(*tenant_id_) : nullptr; -} - -void InternalUserInfo::set_tenant_id(const std::string_view* value_arg) { - tenant_id_ = - value_arg ? std::optional(*value_arg) : std::nullopt; -} - -void InternalUserInfo::set_tenant_id(std::string_view value_arg) { - tenant_id_ = value_arg; -} - -const std::string* InternalUserInfo::refresh_token() const { - return refresh_token_ ? &(*refresh_token_) : nullptr; -} - -void InternalUserInfo::set_refresh_token(const std::string_view* value_arg) { - refresh_token_ = - value_arg ? std::optional(*value_arg) : std::nullopt; -} - -void InternalUserInfo::set_refresh_token(std::string_view value_arg) { - refresh_token_ = value_arg; -} - -const int64_t* InternalUserInfo::creation_timestamp() const { - return creation_timestamp_ ? &(*creation_timestamp_) : nullptr; -} - -void InternalUserInfo::set_creation_timestamp(const int64_t* value_arg) { - creation_timestamp_ = - value_arg ? std::optional(*value_arg) : std::nullopt; -} - -void InternalUserInfo::set_creation_timestamp(int64_t value_arg) { - creation_timestamp_ = value_arg; -} - -const int64_t* InternalUserInfo::last_sign_in_timestamp() const { - return last_sign_in_timestamp_ ? &(*last_sign_in_timestamp_) : nullptr; -} - -void InternalUserInfo::set_last_sign_in_timestamp(const int64_t* value_arg) { - last_sign_in_timestamp_ = - value_arg ? std::optional(*value_arg) : std::nullopt; -} - -void InternalUserInfo::set_last_sign_in_timestamp(int64_t value_arg) { - last_sign_in_timestamp_ = value_arg; -} - -EncodableList InternalUserInfo::ToEncodableList() const { - EncodableList list; - list.reserve(12); - list.push_back(EncodableValue(uid_)); - list.push_back(email_ ? EncodableValue(*email_) : EncodableValue()); - list.push_back(display_name_ ? EncodableValue(*display_name_) - : EncodableValue()); - list.push_back(photo_url_ ? EncodableValue(*photo_url_) : EncodableValue()); - list.push_back(phone_number_ ? EncodableValue(*phone_number_) - : EncodableValue()); - list.push_back(EncodableValue(is_anonymous_)); - list.push_back(EncodableValue(is_email_verified_)); - list.push_back(provider_id_ ? EncodableValue(*provider_id_) - : EncodableValue()); - list.push_back(tenant_id_ ? EncodableValue(*tenant_id_) : EncodableValue()); - list.push_back(refresh_token_ ? EncodableValue(*refresh_token_) - : EncodableValue()); - list.push_back(creation_timestamp_ ? EncodableValue(*creation_timestamp_) - : EncodableValue()); - list.push_back(last_sign_in_timestamp_ - ? EncodableValue(*last_sign_in_timestamp_) - : EncodableValue()); - return list; -} - -InternalUserInfo InternalUserInfo::FromEncodableList( - const EncodableList& list) { - InternalUserInfo decoded(std::get(list[0]), - std::get(list[5]), std::get(list[6])); - auto& encodable_email = list[1]; - if (!encodable_email.IsNull()) { - decoded.set_email(std::get(encodable_email)); - } - auto& encodable_display_name = list[2]; - if (!encodable_display_name.IsNull()) { - decoded.set_display_name(std::get(encodable_display_name)); - } - auto& encodable_photo_url = list[3]; - if (!encodable_photo_url.IsNull()) { - decoded.set_photo_url(std::get(encodable_photo_url)); - } - auto& encodable_phone_number = list[4]; - if (!encodable_phone_number.IsNull()) { - decoded.set_phone_number(std::get(encodable_phone_number)); - } - auto& encodable_provider_id = list[7]; - if (!encodable_provider_id.IsNull()) { - decoded.set_provider_id(std::get(encodable_provider_id)); - } - auto& encodable_tenant_id = list[8]; - if (!encodable_tenant_id.IsNull()) { - decoded.set_tenant_id(std::get(encodable_tenant_id)); - } - auto& encodable_refresh_token = list[9]; - if (!encodable_refresh_token.IsNull()) { - decoded.set_refresh_token(std::get(encodable_refresh_token)); - } - auto& encodable_creation_timestamp = list[10]; - if (!encodable_creation_timestamp.IsNull()) { - decoded.set_creation_timestamp( - std::get(encodable_creation_timestamp)); - } - auto& encodable_last_sign_in_timestamp = list[11]; - if (!encodable_last_sign_in_timestamp.IsNull()) { - decoded.set_last_sign_in_timestamp( - std::get(encodable_last_sign_in_timestamp)); - } - return decoded; -} - -bool InternalUserInfo::operator==(const InternalUserInfo& other) const { - return PigeonInternalDeepEquals(uid_, other.uid_) && - PigeonInternalDeepEquals(email_, other.email_) && - PigeonInternalDeepEquals(display_name_, other.display_name_) && - PigeonInternalDeepEquals(photo_url_, other.photo_url_) && - PigeonInternalDeepEquals(phone_number_, other.phone_number_) && - PigeonInternalDeepEquals(is_anonymous_, other.is_anonymous_) && - PigeonInternalDeepEquals(is_email_verified_, - other.is_email_verified_) && - PigeonInternalDeepEquals(provider_id_, other.provider_id_) && - PigeonInternalDeepEquals(tenant_id_, other.tenant_id_) && - PigeonInternalDeepEquals(refresh_token_, other.refresh_token_) && - PigeonInternalDeepEquals(creation_timestamp_, - other.creation_timestamp_) && - PigeonInternalDeepEquals(last_sign_in_timestamp_, - other.last_sign_in_timestamp_); -} - -bool InternalUserInfo::operator!=(const InternalUserInfo& other) const { - return !(*this == other); -} - -size_t InternalUserInfo::Hash() const { - size_t result = 1; - result = result * 31 + PigeonInternalDeepHash(uid_); - result = result * 31 + PigeonInternalDeepHash(email_); - result = result * 31 + PigeonInternalDeepHash(display_name_); - result = result * 31 + PigeonInternalDeepHash(photo_url_); - result = result * 31 + PigeonInternalDeepHash(phone_number_); - result = result * 31 + PigeonInternalDeepHash(is_anonymous_); - result = result * 31 + PigeonInternalDeepHash(is_email_verified_); - result = result * 31 + PigeonInternalDeepHash(provider_id_); - result = result * 31 + PigeonInternalDeepHash(tenant_id_); - result = result * 31 + PigeonInternalDeepHash(refresh_token_); - result = result * 31 + PigeonInternalDeepHash(creation_timestamp_); - result = result * 31 + PigeonInternalDeepHash(last_sign_in_timestamp_); - return result; -} - -size_t PigeonInternalDeepHash(const InternalUserInfo& v) { return v.Hash(); } - -// InternalUserDetails - -InternalUserDetails::InternalUserDetails(const InternalUserInfo& user_info, - const EncodableList& provider_data) - : user_info_(std::make_unique(user_info)), - provider_data_(provider_data) {} - -InternalUserDetails::InternalUserDetails(const InternalUserDetails& other) - : user_info_(std::make_unique(*other.user_info_)), - provider_data_(other.provider_data_) {} - -InternalUserDetails& InternalUserDetails::operator=( - const InternalUserDetails& other) { - user_info_ = std::make_unique(*other.user_info_); - provider_data_ = other.provider_data_; - return *this; -} - -const InternalUserInfo& InternalUserDetails::user_info() const { - return *user_info_; -} - -void InternalUserDetails::set_user_info(const InternalUserInfo& value_arg) { - user_info_ = std::make_unique(value_arg); -} - -const EncodableList& InternalUserDetails::provider_data() const { - return provider_data_; -} - -void InternalUserDetails::set_provider_data(const EncodableList& value_arg) { - provider_data_ = value_arg; -} - -EncodableList InternalUserDetails::ToEncodableList() const { - EncodableList list; - list.reserve(2); - list.push_back(CustomEncodableValue(*user_info_)); - list.push_back(EncodableValue(provider_data_)); - return list; -} - -InternalUserDetails InternalUserDetails::FromEncodableList( - const EncodableList& list) { - InternalUserDetails decoded(std::any_cast( - std::get(list[0])), - std::get(list[1])); - return decoded; -} - -bool InternalUserDetails::operator==(const InternalUserDetails& other) const { - return PigeonInternalDeepEquals(user_info_, other.user_info_) && - PigeonInternalDeepEquals(provider_data_, other.provider_data_); -} - -bool InternalUserDetails::operator!=(const InternalUserDetails& other) const { - return !(*this == other); -} - -size_t InternalUserDetails::Hash() const { - size_t result = 1; - result = result * 31 + PigeonInternalDeepHash(user_info_); - result = result * 31 + PigeonInternalDeepHash(provider_data_); - return result; -} - -size_t PigeonInternalDeepHash(const InternalUserDetails& v) { return v.Hash(); } - -// InternalUserCredential - -InternalUserCredential::InternalUserCredential() {} - -InternalUserCredential::InternalUserCredential( - const InternalUserDetails* user, - const InternalAdditionalUserInfo* additional_user_info, - const InternalAuthCredential* credential) - : user_(user ? std::make_unique(*user) : nullptr), - additional_user_info_(additional_user_info - ? std::make_unique( - *additional_user_info) - : nullptr), - credential_(credential - ? std::make_unique(*credential) - : nullptr) {} - -InternalUserCredential::InternalUserCredential( - const InternalUserCredential& other) - : user_(other.user_ ? std::make_unique(*other.user_) - : nullptr), - additional_user_info_(other.additional_user_info_ - ? std::make_unique( - *other.additional_user_info_) - : nullptr), - credential_(other.credential_ ? std::make_unique( - *other.credential_) - : nullptr) {} - -InternalUserCredential& InternalUserCredential::operator=( - const InternalUserCredential& other) { - user_ = other.user_ ? std::make_unique(*other.user_) - : nullptr; - additional_user_info_ = other.additional_user_info_ - ? std::make_unique( - *other.additional_user_info_) - : nullptr; - credential_ = - other.credential_ - ? std::make_unique(*other.credential_) - : nullptr; - return *this; -} - -const InternalUserDetails* InternalUserCredential::user() const { - return user_.get(); -} - -void InternalUserCredential::set_user(const InternalUserDetails* value_arg) { - user_ = - value_arg ? std::make_unique(*value_arg) : nullptr; -} - -void InternalUserCredential::set_user(const InternalUserDetails& value_arg) { - user_ = std::make_unique(value_arg); -} - -const InternalAdditionalUserInfo* InternalUserCredential::additional_user_info() - const { - return additional_user_info_.get(); -} - -void InternalUserCredential::set_additional_user_info( - const InternalAdditionalUserInfo* value_arg) { - additional_user_info_ = - value_arg ? std::make_unique(*value_arg) - : nullptr; -} - -void InternalUserCredential::set_additional_user_info( - const InternalAdditionalUserInfo& value_arg) { - additional_user_info_ = - std::make_unique(value_arg); -} - -const InternalAuthCredential* InternalUserCredential::credential() const { - return credential_.get(); -} - -void InternalUserCredential::set_credential( - const InternalAuthCredential* value_arg) { - credential_ = value_arg ? std::make_unique(*value_arg) - : nullptr; -} - -void InternalUserCredential::set_credential( - const InternalAuthCredential& value_arg) { - credential_ = std::make_unique(value_arg); -} - -EncodableList InternalUserCredential::ToEncodableList() const { - EncodableList list; - list.reserve(3); - list.push_back(user_ ? CustomEncodableValue(*user_) : EncodableValue()); - list.push_back(additional_user_info_ - ? CustomEncodableValue(*additional_user_info_) - : EncodableValue()); - list.push_back(credential_ ? CustomEncodableValue(*credential_) - : EncodableValue()); - return list; -} - -InternalUserCredential InternalUserCredential::FromEncodableList( - const EncodableList& list) { - InternalUserCredential decoded; - auto& encodable_user = list[0]; - if (!encodable_user.IsNull()) { - decoded.set_user(std::any_cast( - std::get(encodable_user))); - } - auto& encodable_additional_user_info = list[1]; - if (!encodable_additional_user_info.IsNull()) { - decoded.set_additional_user_info( - std::any_cast( - std::get(encodable_additional_user_info))); - } - auto& encodable_credential = list[2]; - if (!encodable_credential.IsNull()) { - decoded.set_credential(std::any_cast( - std::get(encodable_credential))); - } - return decoded; -} - -bool InternalUserCredential::operator==( - const InternalUserCredential& other) const { - return PigeonInternalDeepEquals(user_, other.user_) && - PigeonInternalDeepEquals(additional_user_info_, - other.additional_user_info_) && - PigeonInternalDeepEquals(credential_, other.credential_); -} - -bool InternalUserCredential::operator!=( - const InternalUserCredential& other) const { - return !(*this == other); -} - -size_t InternalUserCredential::Hash() const { - size_t result = 1; - result = result * 31 + PigeonInternalDeepHash(user_); - result = result * 31 + PigeonInternalDeepHash(additional_user_info_); - result = result * 31 + PigeonInternalDeepHash(credential_); - return result; -} - -size_t PigeonInternalDeepHash(const InternalUserCredential& v) { - return v.Hash(); -} - -// InternalAuthCredentialInput - -InternalAuthCredentialInput::InternalAuthCredentialInput( - const std::string& provider_id, const std::string& sign_in_method) - : provider_id_(provider_id), sign_in_method_(sign_in_method) {} - -InternalAuthCredentialInput::InternalAuthCredentialInput( - const std::string& provider_id, const std::string& sign_in_method, - const std::string* token, const std::string* access_token) - : provider_id_(provider_id), - sign_in_method_(sign_in_method), - token_(token ? std::optional(*token) : std::nullopt), - access_token_(access_token ? std::optional(*access_token) - : std::nullopt) {} - -const std::string& InternalAuthCredentialInput::provider_id() const { - return provider_id_; -} - -void InternalAuthCredentialInput::set_provider_id(std::string_view value_arg) { - provider_id_ = value_arg; -} - -const std::string& InternalAuthCredentialInput::sign_in_method() const { - return sign_in_method_; -} - -void InternalAuthCredentialInput::set_sign_in_method( - std::string_view value_arg) { - sign_in_method_ = value_arg; -} - -const std::string* InternalAuthCredentialInput::token() const { - return token_ ? &(*token_) : nullptr; -} - -void InternalAuthCredentialInput::set_token(const std::string_view* value_arg) { - token_ = value_arg ? std::optional(*value_arg) : std::nullopt; -} - -void InternalAuthCredentialInput::set_token(std::string_view value_arg) { - token_ = value_arg; -} - -const std::string* InternalAuthCredentialInput::access_token() const { - return access_token_ ? &(*access_token_) : nullptr; -} - -void InternalAuthCredentialInput::set_access_token( - const std::string_view* value_arg) { - access_token_ = - value_arg ? std::optional(*value_arg) : std::nullopt; -} - -void InternalAuthCredentialInput::set_access_token(std::string_view value_arg) { - access_token_ = value_arg; -} - -EncodableList InternalAuthCredentialInput::ToEncodableList() const { - EncodableList list; - list.reserve(4); - list.push_back(EncodableValue(provider_id_)); - list.push_back(EncodableValue(sign_in_method_)); - list.push_back(token_ ? EncodableValue(*token_) : EncodableValue()); - list.push_back(access_token_ ? EncodableValue(*access_token_) - : EncodableValue()); - return list; -} - -InternalAuthCredentialInput InternalAuthCredentialInput::FromEncodableList( - const EncodableList& list) { - InternalAuthCredentialInput decoded(std::get(list[0]), - std::get(list[1])); - auto& encodable_token = list[2]; - if (!encodable_token.IsNull()) { - decoded.set_token(std::get(encodable_token)); - } - auto& encodable_access_token = list[3]; - if (!encodable_access_token.IsNull()) { - decoded.set_access_token(std::get(encodable_access_token)); - } - return decoded; -} - -bool InternalAuthCredentialInput::operator==( - const InternalAuthCredentialInput& other) const { - return PigeonInternalDeepEquals(provider_id_, other.provider_id_) && - PigeonInternalDeepEquals(sign_in_method_, other.sign_in_method_) && - PigeonInternalDeepEquals(token_, other.token_) && - PigeonInternalDeepEquals(access_token_, other.access_token_); -} - -bool InternalAuthCredentialInput::operator!=( - const InternalAuthCredentialInput& other) const { - return !(*this == other); -} - -size_t InternalAuthCredentialInput::Hash() const { - size_t result = 1; - result = result * 31 + PigeonInternalDeepHash(provider_id_); - result = result * 31 + PigeonInternalDeepHash(sign_in_method_); - result = result * 31 + PigeonInternalDeepHash(token_); - result = result * 31 + PigeonInternalDeepHash(access_token_); - return result; -} - -size_t PigeonInternalDeepHash(const InternalAuthCredentialInput& v) { - return v.Hash(); -} - -// InternalActionCodeSettings - -InternalActionCodeSettings::InternalActionCodeSettings(const std::string& url, - bool handle_code_in_app, - bool android_install_app) - : url_(url), - handle_code_in_app_(handle_code_in_app), - android_install_app_(android_install_app) {} - -InternalActionCodeSettings::InternalActionCodeSettings( - const std::string& url, const std::string* dynamic_link_domain, - bool handle_code_in_app, const std::string* i_o_s_bundle_id, - const std::string* android_package_name, bool android_install_app, - const std::string* android_minimum_version, const std::string* link_domain) - : url_(url), - dynamic_link_domain_( - dynamic_link_domain ? std::optional(*dynamic_link_domain) - : std::nullopt), - handle_code_in_app_(handle_code_in_app), - i_o_s_bundle_id_(i_o_s_bundle_id - ? std::optional(*i_o_s_bundle_id) - : std::nullopt), - android_package_name_(android_package_name ? std::optional( - *android_package_name) - : std::nullopt), - android_install_app_(android_install_app), - android_minimum_version_( - android_minimum_version - ? std::optional(*android_minimum_version) - : std::nullopt), - link_domain_(link_domain ? std::optional(*link_domain) - : std::nullopt) {} - -const std::string& InternalActionCodeSettings::url() const { return url_; } - -void InternalActionCodeSettings::set_url(std::string_view value_arg) { - url_ = value_arg; -} - -const std::string* InternalActionCodeSettings::dynamic_link_domain() const { - return dynamic_link_domain_ ? &(*dynamic_link_domain_) : nullptr; -} - -void InternalActionCodeSettings::set_dynamic_link_domain( - const std::string_view* value_arg) { - dynamic_link_domain_ = - value_arg ? std::optional(*value_arg) : std::nullopt; -} - -void InternalActionCodeSettings::set_dynamic_link_domain( - std::string_view value_arg) { - dynamic_link_domain_ = value_arg; -} - -bool InternalActionCodeSettings::handle_code_in_app() const { - return handle_code_in_app_; -} - -void InternalActionCodeSettings::set_handle_code_in_app(bool value_arg) { - handle_code_in_app_ = value_arg; -} - -const std::string* InternalActionCodeSettings::i_o_s_bundle_id() const { - return i_o_s_bundle_id_ ? &(*i_o_s_bundle_id_) : nullptr; -} - -void InternalActionCodeSettings::set_i_o_s_bundle_id( - const std::string_view* value_arg) { - i_o_s_bundle_id_ = - value_arg ? std::optional(*value_arg) : std::nullopt; -} - -void InternalActionCodeSettings::set_i_o_s_bundle_id( - std::string_view value_arg) { - i_o_s_bundle_id_ = value_arg; -} - -const std::string* InternalActionCodeSettings::android_package_name() const { - return android_package_name_ ? &(*android_package_name_) : nullptr; -} - -void InternalActionCodeSettings::set_android_package_name( - const std::string_view* value_arg) { - android_package_name_ = - value_arg ? std::optional(*value_arg) : std::nullopt; -} - -void InternalActionCodeSettings::set_android_package_name( - std::string_view value_arg) { - android_package_name_ = value_arg; -} - -bool InternalActionCodeSettings::android_install_app() const { - return android_install_app_; -} - -void InternalActionCodeSettings::set_android_install_app(bool value_arg) { - android_install_app_ = value_arg; -} - -const std::string* InternalActionCodeSettings::android_minimum_version() const { - return android_minimum_version_ ? &(*android_minimum_version_) : nullptr; -} - -void InternalActionCodeSettings::set_android_minimum_version( - const std::string_view* value_arg) { - android_minimum_version_ = - value_arg ? std::optional(*value_arg) : std::nullopt; -} - -void InternalActionCodeSettings::set_android_minimum_version( - std::string_view value_arg) { - android_minimum_version_ = value_arg; -} - -const std::string* InternalActionCodeSettings::link_domain() const { - return link_domain_ ? &(*link_domain_) : nullptr; -} - -void InternalActionCodeSettings::set_link_domain( - const std::string_view* value_arg) { - link_domain_ = - value_arg ? std::optional(*value_arg) : std::nullopt; -} - -void InternalActionCodeSettings::set_link_domain(std::string_view value_arg) { - link_domain_ = value_arg; -} - -EncodableList InternalActionCodeSettings::ToEncodableList() const { - EncodableList list; - list.reserve(8); - list.push_back(EncodableValue(url_)); - list.push_back(dynamic_link_domain_ ? EncodableValue(*dynamic_link_domain_) - : EncodableValue()); - list.push_back(EncodableValue(handle_code_in_app_)); - list.push_back(i_o_s_bundle_id_ ? EncodableValue(*i_o_s_bundle_id_) - : EncodableValue()); - list.push_back(android_package_name_ ? EncodableValue(*android_package_name_) - : EncodableValue()); - list.push_back(EncodableValue(android_install_app_)); - list.push_back(android_minimum_version_ - ? EncodableValue(*android_minimum_version_) - : EncodableValue()); - list.push_back(link_domain_ ? EncodableValue(*link_domain_) - : EncodableValue()); - return list; -} - -InternalActionCodeSettings InternalActionCodeSettings::FromEncodableList( - const EncodableList& list) { - InternalActionCodeSettings decoded(std::get(list[0]), - std::get(list[2]), - std::get(list[5])); - auto& encodable_dynamic_link_domain = list[1]; - if (!encodable_dynamic_link_domain.IsNull()) { - decoded.set_dynamic_link_domain( - std::get(encodable_dynamic_link_domain)); - } - auto& encodable_i_o_s_bundle_id = list[3]; - if (!encodable_i_o_s_bundle_id.IsNull()) { - decoded.set_i_o_s_bundle_id( - std::get(encodable_i_o_s_bundle_id)); - } - auto& encodable_android_package_name = list[4]; - if (!encodable_android_package_name.IsNull()) { - decoded.set_android_package_name( - std::get(encodable_android_package_name)); - } - auto& encodable_android_minimum_version = list[6]; - if (!encodable_android_minimum_version.IsNull()) { - decoded.set_android_minimum_version( - std::get(encodable_android_minimum_version)); - } - auto& encodable_link_domain = list[7]; - if (!encodable_link_domain.IsNull()) { - decoded.set_link_domain(std::get(encodable_link_domain)); - } - return decoded; -} - -bool InternalActionCodeSettings::operator==( - const InternalActionCodeSettings& other) const { - return PigeonInternalDeepEquals(url_, other.url_) && - PigeonInternalDeepEquals(dynamic_link_domain_, - other.dynamic_link_domain_) && - PigeonInternalDeepEquals(handle_code_in_app_, - other.handle_code_in_app_) && - PigeonInternalDeepEquals(i_o_s_bundle_id_, other.i_o_s_bundle_id_) && - PigeonInternalDeepEquals(android_package_name_, - other.android_package_name_) && - PigeonInternalDeepEquals(android_install_app_, - other.android_install_app_) && - PigeonInternalDeepEquals(android_minimum_version_, - other.android_minimum_version_) && - PigeonInternalDeepEquals(link_domain_, other.link_domain_); -} - -bool InternalActionCodeSettings::operator!=( - const InternalActionCodeSettings& other) const { - return !(*this == other); -} - -size_t InternalActionCodeSettings::Hash() const { - size_t result = 1; - result = result * 31 + PigeonInternalDeepHash(url_); - result = result * 31 + PigeonInternalDeepHash(dynamic_link_domain_); - result = result * 31 + PigeonInternalDeepHash(handle_code_in_app_); - result = result * 31 + PigeonInternalDeepHash(i_o_s_bundle_id_); - result = result * 31 + PigeonInternalDeepHash(android_package_name_); - result = result * 31 + PigeonInternalDeepHash(android_install_app_); - result = result * 31 + PigeonInternalDeepHash(android_minimum_version_); - result = result * 31 + PigeonInternalDeepHash(link_domain_); - return result; -} - -size_t PigeonInternalDeepHash(const InternalActionCodeSettings& v) { - return v.Hash(); -} - -// InternalFirebaseAuthSettings - -InternalFirebaseAuthSettings::InternalFirebaseAuthSettings( - bool app_verification_disabled_for_testing) - : app_verification_disabled_for_testing_( - app_verification_disabled_for_testing) {} - -InternalFirebaseAuthSettings::InternalFirebaseAuthSettings( - bool app_verification_disabled_for_testing, - const std::string* user_access_group, const std::string* phone_number, - const std::string* sms_code, const bool* force_recaptcha_flow) - : app_verification_disabled_for_testing_( - app_verification_disabled_for_testing), - user_access_group_(user_access_group - ? std::optional(*user_access_group) - : std::nullopt), - phone_number_(phone_number ? std::optional(*phone_number) - : std::nullopt), - sms_code_(sms_code ? std::optional(*sms_code) - : std::nullopt), - force_recaptcha_flow_(force_recaptcha_flow - ? std::optional(*force_recaptcha_flow) - : std::nullopt) {} - -bool InternalFirebaseAuthSettings::app_verification_disabled_for_testing() - const { - return app_verification_disabled_for_testing_; -} - -void InternalFirebaseAuthSettings::set_app_verification_disabled_for_testing( - bool value_arg) { - app_verification_disabled_for_testing_ = value_arg; -} - -const std::string* InternalFirebaseAuthSettings::user_access_group() const { - return user_access_group_ ? &(*user_access_group_) : nullptr; -} - -void InternalFirebaseAuthSettings::set_user_access_group( - const std::string_view* value_arg) { - user_access_group_ = - value_arg ? std::optional(*value_arg) : std::nullopt; -} - -void InternalFirebaseAuthSettings::set_user_access_group( - std::string_view value_arg) { - user_access_group_ = value_arg; -} - -const std::string* InternalFirebaseAuthSettings::phone_number() const { - return phone_number_ ? &(*phone_number_) : nullptr; -} - -void InternalFirebaseAuthSettings::set_phone_number( - const std::string_view* value_arg) { - phone_number_ = - value_arg ? std::optional(*value_arg) : std::nullopt; -} - -void InternalFirebaseAuthSettings::set_phone_number( - std::string_view value_arg) { - phone_number_ = value_arg; -} - -const std::string* InternalFirebaseAuthSettings::sms_code() const { - return sms_code_ ? &(*sms_code_) : nullptr; -} - -void InternalFirebaseAuthSettings::set_sms_code( - const std::string_view* value_arg) { - sms_code_ = value_arg ? std::optional(*value_arg) : std::nullopt; -} - -void InternalFirebaseAuthSettings::set_sms_code(std::string_view value_arg) { - sms_code_ = value_arg; -} - -const bool* InternalFirebaseAuthSettings::force_recaptcha_flow() const { - return force_recaptcha_flow_ ? &(*force_recaptcha_flow_) : nullptr; -} - -void InternalFirebaseAuthSettings::set_force_recaptcha_flow( - const bool* value_arg) { - force_recaptcha_flow_ = - value_arg ? std::optional(*value_arg) : std::nullopt; -} - -void InternalFirebaseAuthSettings::set_force_recaptcha_flow(bool value_arg) { - force_recaptcha_flow_ = value_arg; -} - -EncodableList InternalFirebaseAuthSettings::ToEncodableList() const { - EncodableList list; - list.reserve(5); - list.push_back(EncodableValue(app_verification_disabled_for_testing_)); - list.push_back(user_access_group_ ? EncodableValue(*user_access_group_) - : EncodableValue()); - list.push_back(phone_number_ ? EncodableValue(*phone_number_) - : EncodableValue()); - list.push_back(sms_code_ ? EncodableValue(*sms_code_) : EncodableValue()); - list.push_back(force_recaptcha_flow_ ? EncodableValue(*force_recaptcha_flow_) - : EncodableValue()); - return list; -} - -InternalFirebaseAuthSettings InternalFirebaseAuthSettings::FromEncodableList( - const EncodableList& list) { - InternalFirebaseAuthSettings decoded(std::get(list[0])); - auto& encodable_user_access_group = list[1]; - if (!encodable_user_access_group.IsNull()) { - decoded.set_user_access_group( - std::get(encodable_user_access_group)); - } - auto& encodable_phone_number = list[2]; - if (!encodable_phone_number.IsNull()) { - decoded.set_phone_number(std::get(encodable_phone_number)); - } - auto& encodable_sms_code = list[3]; - if (!encodable_sms_code.IsNull()) { - decoded.set_sms_code(std::get(encodable_sms_code)); - } - auto& encodable_force_recaptcha_flow = list[4]; - if (!encodable_force_recaptcha_flow.IsNull()) { - decoded.set_force_recaptcha_flow( - std::get(encodable_force_recaptcha_flow)); - } - return decoded; -} - -bool InternalFirebaseAuthSettings::operator==( - const InternalFirebaseAuthSettings& other) const { - return PigeonInternalDeepEquals( - app_verification_disabled_for_testing_, - other.app_verification_disabled_for_testing_) && - PigeonInternalDeepEquals(user_access_group_, - other.user_access_group_) && - PigeonInternalDeepEquals(phone_number_, other.phone_number_) && - PigeonInternalDeepEquals(sms_code_, other.sms_code_) && - PigeonInternalDeepEquals(force_recaptcha_flow_, - other.force_recaptcha_flow_); -} - -bool InternalFirebaseAuthSettings::operator!=( - const InternalFirebaseAuthSettings& other) const { - return !(*this == other); -} - -size_t InternalFirebaseAuthSettings::Hash() const { - size_t result = 1; - result = result * 31 + - PigeonInternalDeepHash(app_verification_disabled_for_testing_); - result = result * 31 + PigeonInternalDeepHash(user_access_group_); - result = result * 31 + PigeonInternalDeepHash(phone_number_); - result = result * 31 + PigeonInternalDeepHash(sms_code_); - result = result * 31 + PigeonInternalDeepHash(force_recaptcha_flow_); - return result; -} - -size_t PigeonInternalDeepHash(const InternalFirebaseAuthSettings& v) { - return v.Hash(); -} - -// InternalSignInProvider - -InternalSignInProvider::InternalSignInProvider(const std::string& provider_id) - : provider_id_(provider_id) {} - -InternalSignInProvider::InternalSignInProvider( - const std::string& provider_id, const EncodableList* scopes, - const EncodableMap* custom_parameters) - : provider_id_(provider_id), - scopes_(scopes ? std::optional(*scopes) : std::nullopt), - custom_parameters_(custom_parameters - ? std::optional(*custom_parameters) - : std::nullopt) {} - -const std::string& InternalSignInProvider::provider_id() const { - return provider_id_; -} - -void InternalSignInProvider::set_provider_id(std::string_view value_arg) { - provider_id_ = value_arg; -} - -const EncodableList* InternalSignInProvider::scopes() const { - return scopes_ ? &(*scopes_) : nullptr; -} - -void InternalSignInProvider::set_scopes(const EncodableList* value_arg) { - scopes_ = value_arg ? std::optional(*value_arg) : std::nullopt; -} - -void InternalSignInProvider::set_scopes(const EncodableList& value_arg) { - scopes_ = value_arg; -} - -const EncodableMap* InternalSignInProvider::custom_parameters() const { - return custom_parameters_ ? &(*custom_parameters_) : nullptr; -} - -void InternalSignInProvider::set_custom_parameters( - const EncodableMap* value_arg) { - custom_parameters_ = - value_arg ? std::optional(*value_arg) : std::nullopt; -} - -void InternalSignInProvider::set_custom_parameters( - const EncodableMap& value_arg) { - custom_parameters_ = value_arg; -} - -EncodableList InternalSignInProvider::ToEncodableList() const { - EncodableList list; - list.reserve(3); - list.push_back(EncodableValue(provider_id_)); - list.push_back(scopes_ ? EncodableValue(*scopes_) : EncodableValue()); - list.push_back(custom_parameters_ ? EncodableValue(*custom_parameters_) - : EncodableValue()); - return list; -} - -InternalSignInProvider InternalSignInProvider::FromEncodableList( - const EncodableList& list) { - InternalSignInProvider decoded(std::get(list[0])); - auto& encodable_scopes = list[1]; - if (!encodable_scopes.IsNull()) { - decoded.set_scopes(std::get(encodable_scopes)); - } - auto& encodable_custom_parameters = list[2]; - if (!encodable_custom_parameters.IsNull()) { - decoded.set_custom_parameters( - std::get(encodable_custom_parameters)); - } - return decoded; -} - -bool InternalSignInProvider::operator==( - const InternalSignInProvider& other) const { - return PigeonInternalDeepEquals(provider_id_, other.provider_id_) && - PigeonInternalDeepEquals(scopes_, other.scopes_) && - PigeonInternalDeepEquals(custom_parameters_, other.custom_parameters_); -} - -bool InternalSignInProvider::operator!=( - const InternalSignInProvider& other) const { - return !(*this == other); -} - -size_t InternalSignInProvider::Hash() const { - size_t result = 1; - result = result * 31 + PigeonInternalDeepHash(provider_id_); - result = result * 31 + PigeonInternalDeepHash(scopes_); - result = result * 31 + PigeonInternalDeepHash(custom_parameters_); - return result; -} - -size_t PigeonInternalDeepHash(const InternalSignInProvider& v) { - return v.Hash(); -} - -// InternalVerifyPhoneNumberRequest - -InternalVerifyPhoneNumberRequest::InternalVerifyPhoneNumberRequest( - int64_t timeout) - : timeout_(timeout) {} - -InternalVerifyPhoneNumberRequest::InternalVerifyPhoneNumberRequest( - const std::string* phone_number, int64_t timeout, - const int64_t* force_resending_token, - const std::string* auto_retrieved_sms_code_for_testing, - const std::string* multi_factor_info_id, - const std::string* multi_factor_session_id) - : phone_number_(phone_number ? std::optional(*phone_number) - : std::nullopt), - timeout_(timeout), - force_resending_token_( - force_resending_token ? std::optional(*force_resending_token) - : std::nullopt), - auto_retrieved_sms_code_for_testing_( - auto_retrieved_sms_code_for_testing - ? std::optional(*auto_retrieved_sms_code_for_testing) - : std::nullopt), - multi_factor_info_id_(multi_factor_info_id ? std::optional( - *multi_factor_info_id) - : std::nullopt), - multi_factor_session_id_( - multi_factor_session_id - ? std::optional(*multi_factor_session_id) - : std::nullopt) {} - -const std::string* InternalVerifyPhoneNumberRequest::phone_number() const { - return phone_number_ ? &(*phone_number_) : nullptr; -} - -void InternalVerifyPhoneNumberRequest::set_phone_number( - const std::string_view* value_arg) { - phone_number_ = - value_arg ? std::optional(*value_arg) : std::nullopt; -} - -void InternalVerifyPhoneNumberRequest::set_phone_number( - std::string_view value_arg) { - phone_number_ = value_arg; -} - -int64_t InternalVerifyPhoneNumberRequest::timeout() const { return timeout_; } - -void InternalVerifyPhoneNumberRequest::set_timeout(int64_t value_arg) { - timeout_ = value_arg; -} - -const int64_t* InternalVerifyPhoneNumberRequest::force_resending_token() const { - return force_resending_token_ ? &(*force_resending_token_) : nullptr; -} - -void InternalVerifyPhoneNumberRequest::set_force_resending_token( - const int64_t* value_arg) { - force_resending_token_ = - value_arg ? std::optional(*value_arg) : std::nullopt; -} - -void InternalVerifyPhoneNumberRequest::set_force_resending_token( - int64_t value_arg) { - force_resending_token_ = value_arg; -} - -const std::string* -InternalVerifyPhoneNumberRequest::auto_retrieved_sms_code_for_testing() const { - return auto_retrieved_sms_code_for_testing_ - ? &(*auto_retrieved_sms_code_for_testing_) - : nullptr; -} - -void InternalVerifyPhoneNumberRequest::set_auto_retrieved_sms_code_for_testing( - const std::string_view* value_arg) { - auto_retrieved_sms_code_for_testing_ = - value_arg ? std::optional(*value_arg) : std::nullopt; -} - -void InternalVerifyPhoneNumberRequest::set_auto_retrieved_sms_code_for_testing( - std::string_view value_arg) { - auto_retrieved_sms_code_for_testing_ = value_arg; -} - -const std::string* InternalVerifyPhoneNumberRequest::multi_factor_info_id() - const { - return multi_factor_info_id_ ? &(*multi_factor_info_id_) : nullptr; -} - -void InternalVerifyPhoneNumberRequest::set_multi_factor_info_id( - const std::string_view* value_arg) { - multi_factor_info_id_ = - value_arg ? std::optional(*value_arg) : std::nullopt; -} - -void InternalVerifyPhoneNumberRequest::set_multi_factor_info_id( - std::string_view value_arg) { - multi_factor_info_id_ = value_arg; -} - -const std::string* InternalVerifyPhoneNumberRequest::multi_factor_session_id() - const { - return multi_factor_session_id_ ? &(*multi_factor_session_id_) : nullptr; -} - -void InternalVerifyPhoneNumberRequest::set_multi_factor_session_id( - const std::string_view* value_arg) { - multi_factor_session_id_ = - value_arg ? std::optional(*value_arg) : std::nullopt; -} - -void InternalVerifyPhoneNumberRequest::set_multi_factor_session_id( - std::string_view value_arg) { - multi_factor_session_id_ = value_arg; -} - -EncodableList InternalVerifyPhoneNumberRequest::ToEncodableList() const { - EncodableList list; - list.reserve(6); - list.push_back(phone_number_ ? EncodableValue(*phone_number_) - : EncodableValue()); - list.push_back(EncodableValue(timeout_)); - list.push_back(force_resending_token_ - ? EncodableValue(*force_resending_token_) - : EncodableValue()); - list.push_back(auto_retrieved_sms_code_for_testing_ - ? EncodableValue(*auto_retrieved_sms_code_for_testing_) - : EncodableValue()); - list.push_back(multi_factor_info_id_ ? EncodableValue(*multi_factor_info_id_) - : EncodableValue()); - list.push_back(multi_factor_session_id_ - ? EncodableValue(*multi_factor_session_id_) - : EncodableValue()); - return list; -} - -InternalVerifyPhoneNumberRequest -InternalVerifyPhoneNumberRequest::FromEncodableList(const EncodableList& list) { - InternalVerifyPhoneNumberRequest decoded(std::get(list[1])); - auto& encodable_phone_number = list[0]; - if (!encodable_phone_number.IsNull()) { - decoded.set_phone_number(std::get(encodable_phone_number)); - } - auto& encodable_force_resending_token = list[2]; - if (!encodable_force_resending_token.IsNull()) { - decoded.set_force_resending_token( - std::get(encodable_force_resending_token)); - } - auto& encodable_auto_retrieved_sms_code_for_testing = list[3]; - if (!encodable_auto_retrieved_sms_code_for_testing.IsNull()) { - decoded.set_auto_retrieved_sms_code_for_testing( - std::get(encodable_auto_retrieved_sms_code_for_testing)); - } - auto& encodable_multi_factor_info_id = list[4]; - if (!encodable_multi_factor_info_id.IsNull()) { - decoded.set_multi_factor_info_id( - std::get(encodable_multi_factor_info_id)); - } - auto& encodable_multi_factor_session_id = list[5]; - if (!encodable_multi_factor_session_id.IsNull()) { - decoded.set_multi_factor_session_id( - std::get(encodable_multi_factor_session_id)); - } - return decoded; -} - -bool InternalVerifyPhoneNumberRequest::operator==( - const InternalVerifyPhoneNumberRequest& other) const { - return PigeonInternalDeepEquals(phone_number_, other.phone_number_) && - PigeonInternalDeepEquals(timeout_, other.timeout_) && - PigeonInternalDeepEquals(force_resending_token_, - other.force_resending_token_) && - PigeonInternalDeepEquals(auto_retrieved_sms_code_for_testing_, - other.auto_retrieved_sms_code_for_testing_) && - PigeonInternalDeepEquals(multi_factor_info_id_, - other.multi_factor_info_id_) && - PigeonInternalDeepEquals(multi_factor_session_id_, - other.multi_factor_session_id_); -} - -bool InternalVerifyPhoneNumberRequest::operator!=( - const InternalVerifyPhoneNumberRequest& other) const { - return !(*this == other); -} - -size_t InternalVerifyPhoneNumberRequest::Hash() const { - size_t result = 1; - result = result * 31 + PigeonInternalDeepHash(phone_number_); - result = result * 31 + PigeonInternalDeepHash(timeout_); - result = result * 31 + PigeonInternalDeepHash(force_resending_token_); - result = result * 31 + - PigeonInternalDeepHash(auto_retrieved_sms_code_for_testing_); - result = result * 31 + PigeonInternalDeepHash(multi_factor_info_id_); - result = result * 31 + PigeonInternalDeepHash(multi_factor_session_id_); - return result; -} - -size_t PigeonInternalDeepHash(const InternalVerifyPhoneNumberRequest& v) { - return v.Hash(); -} - -// InternalIdTokenResult - -InternalIdTokenResult::InternalIdTokenResult() {} - -InternalIdTokenResult::InternalIdTokenResult( - const std::string* token, const int64_t* expiration_timestamp, - const int64_t* auth_timestamp, const int64_t* issued_at_timestamp, - const std::string* sign_in_provider, const EncodableMap* claims, - const std::string* sign_in_second_factor) - : token_(token ? std::optional(*token) : std::nullopt), - expiration_timestamp_(expiration_timestamp - ? std::optional(*expiration_timestamp) - : std::nullopt), - auth_timestamp_(auth_timestamp ? std::optional(*auth_timestamp) - : std::nullopt), - issued_at_timestamp_(issued_at_timestamp - ? std::optional(*issued_at_timestamp) - : std::nullopt), - sign_in_provider_(sign_in_provider - ? std::optional(*sign_in_provider) - : std::nullopt), - claims_(claims ? std::optional(*claims) : std::nullopt), - sign_in_second_factor_(sign_in_second_factor ? std::optional( - *sign_in_second_factor) - : std::nullopt) {} - -const std::string* InternalIdTokenResult::token() const { - return token_ ? &(*token_) : nullptr; -} - -void InternalIdTokenResult::set_token(const std::string_view* value_arg) { - token_ = value_arg ? std::optional(*value_arg) : std::nullopt; -} - -void InternalIdTokenResult::set_token(std::string_view value_arg) { - token_ = value_arg; -} - -const int64_t* InternalIdTokenResult::expiration_timestamp() const { - return expiration_timestamp_ ? &(*expiration_timestamp_) : nullptr; -} - -void InternalIdTokenResult::set_expiration_timestamp(const int64_t* value_arg) { - expiration_timestamp_ = - value_arg ? std::optional(*value_arg) : std::nullopt; -} - -void InternalIdTokenResult::set_expiration_timestamp(int64_t value_arg) { - expiration_timestamp_ = value_arg; -} - -const int64_t* InternalIdTokenResult::auth_timestamp() const { - return auth_timestamp_ ? &(*auth_timestamp_) : nullptr; -} - -void InternalIdTokenResult::set_auth_timestamp(const int64_t* value_arg) { - auth_timestamp_ = - value_arg ? std::optional(*value_arg) : std::nullopt; -} - -void InternalIdTokenResult::set_auth_timestamp(int64_t value_arg) { - auth_timestamp_ = value_arg; -} - -const int64_t* InternalIdTokenResult::issued_at_timestamp() const { - return issued_at_timestamp_ ? &(*issued_at_timestamp_) : nullptr; -} - -void InternalIdTokenResult::set_issued_at_timestamp(const int64_t* value_arg) { - issued_at_timestamp_ = - value_arg ? std::optional(*value_arg) : std::nullopt; -} - -void InternalIdTokenResult::set_issued_at_timestamp(int64_t value_arg) { - issued_at_timestamp_ = value_arg; -} - -const std::string* InternalIdTokenResult::sign_in_provider() const { - return sign_in_provider_ ? &(*sign_in_provider_) : nullptr; -} - -void InternalIdTokenResult::set_sign_in_provider( - const std::string_view* value_arg) { - sign_in_provider_ = - value_arg ? std::optional(*value_arg) : std::nullopt; -} - -void InternalIdTokenResult::set_sign_in_provider(std::string_view value_arg) { - sign_in_provider_ = value_arg; -} - -const EncodableMap* InternalIdTokenResult::claims() const { - return claims_ ? &(*claims_) : nullptr; -} - -void InternalIdTokenResult::set_claims(const EncodableMap* value_arg) { - claims_ = value_arg ? std::optional(*value_arg) : std::nullopt; -} - -void InternalIdTokenResult::set_claims(const EncodableMap& value_arg) { - claims_ = value_arg; -} - -const std::string* InternalIdTokenResult::sign_in_second_factor() const { - return sign_in_second_factor_ ? &(*sign_in_second_factor_) : nullptr; -} - -void InternalIdTokenResult::set_sign_in_second_factor( - const std::string_view* value_arg) { - sign_in_second_factor_ = - value_arg ? std::optional(*value_arg) : std::nullopt; -} - -void InternalIdTokenResult::set_sign_in_second_factor( - std::string_view value_arg) { - sign_in_second_factor_ = value_arg; -} - -EncodableList InternalIdTokenResult::ToEncodableList() const { - EncodableList list; - list.reserve(7); - list.push_back(token_ ? EncodableValue(*token_) : EncodableValue()); - list.push_back(expiration_timestamp_ ? EncodableValue(*expiration_timestamp_) - : EncodableValue()); - list.push_back(auth_timestamp_ ? EncodableValue(*auth_timestamp_) - : EncodableValue()); - list.push_back(issued_at_timestamp_ ? EncodableValue(*issued_at_timestamp_) - : EncodableValue()); - list.push_back(sign_in_provider_ ? EncodableValue(*sign_in_provider_) - : EncodableValue()); - list.push_back(claims_ ? EncodableValue(*claims_) : EncodableValue()); - list.push_back(sign_in_second_factor_ - ? EncodableValue(*sign_in_second_factor_) - : EncodableValue()); - return list; -} - -InternalIdTokenResult InternalIdTokenResult::FromEncodableList( - const EncodableList& list) { - InternalIdTokenResult decoded; - auto& encodable_token = list[0]; - if (!encodable_token.IsNull()) { - decoded.set_token(std::get(encodable_token)); - } - auto& encodable_expiration_timestamp = list[1]; - if (!encodable_expiration_timestamp.IsNull()) { - decoded.set_expiration_timestamp( - std::get(encodable_expiration_timestamp)); - } - auto& encodable_auth_timestamp = list[2]; - if (!encodable_auth_timestamp.IsNull()) { - decoded.set_auth_timestamp(std::get(encodable_auth_timestamp)); - } - auto& encodable_issued_at_timestamp = list[3]; - if (!encodable_issued_at_timestamp.IsNull()) { - decoded.set_issued_at_timestamp( - std::get(encodable_issued_at_timestamp)); - } - auto& encodable_sign_in_provider = list[4]; - if (!encodable_sign_in_provider.IsNull()) { - decoded.set_sign_in_provider( - std::get(encodable_sign_in_provider)); - } - auto& encodable_claims = list[5]; - if (!encodable_claims.IsNull()) { - decoded.set_claims(std::get(encodable_claims)); - } - auto& encodable_sign_in_second_factor = list[6]; - if (!encodable_sign_in_second_factor.IsNull()) { - decoded.set_sign_in_second_factor( - std::get(encodable_sign_in_second_factor)); - } - return decoded; -} - -bool InternalIdTokenResult::operator==( - const InternalIdTokenResult& other) const { - return PigeonInternalDeepEquals(token_, other.token_) && - PigeonInternalDeepEquals(expiration_timestamp_, - other.expiration_timestamp_) && - PigeonInternalDeepEquals(auth_timestamp_, other.auth_timestamp_) && - PigeonInternalDeepEquals(issued_at_timestamp_, - other.issued_at_timestamp_) && - PigeonInternalDeepEquals(sign_in_provider_, other.sign_in_provider_) && - PigeonInternalDeepEquals(claims_, other.claims_) && - PigeonInternalDeepEquals(sign_in_second_factor_, - other.sign_in_second_factor_); -} - -bool InternalIdTokenResult::operator!=( - const InternalIdTokenResult& other) const { - return !(*this == other); -} - -size_t InternalIdTokenResult::Hash() const { - size_t result = 1; - result = result * 31 + PigeonInternalDeepHash(token_); - result = result * 31 + PigeonInternalDeepHash(expiration_timestamp_); - result = result * 31 + PigeonInternalDeepHash(auth_timestamp_); - result = result * 31 + PigeonInternalDeepHash(issued_at_timestamp_); - result = result * 31 + PigeonInternalDeepHash(sign_in_provider_); - result = result * 31 + PigeonInternalDeepHash(claims_); - result = result * 31 + PigeonInternalDeepHash(sign_in_second_factor_); - return result; -} - -size_t PigeonInternalDeepHash(const InternalIdTokenResult& v) { - return v.Hash(); -} - -// InternalUserProfile - -InternalUserProfile::InternalUserProfile(bool display_name_changed, - bool photo_url_changed) - : display_name_changed_(display_name_changed), - photo_url_changed_(photo_url_changed) {} - -InternalUserProfile::InternalUserProfile(const std::string* display_name, - const std::string* photo_url, - bool display_name_changed, - bool photo_url_changed) - : display_name_(display_name ? std::optional(*display_name) - : std::nullopt), - photo_url_(photo_url ? std::optional(*photo_url) - : std::nullopt), - display_name_changed_(display_name_changed), - photo_url_changed_(photo_url_changed) {} - -const std::string* InternalUserProfile::display_name() const { - return display_name_ ? &(*display_name_) : nullptr; -} - -void InternalUserProfile::set_display_name(const std::string_view* value_arg) { - display_name_ = - value_arg ? std::optional(*value_arg) : std::nullopt; -} - -void InternalUserProfile::set_display_name(std::string_view value_arg) { - display_name_ = value_arg; -} - -const std::string* InternalUserProfile::photo_url() const { - return photo_url_ ? &(*photo_url_) : nullptr; -} - -void InternalUserProfile::set_photo_url(const std::string_view* value_arg) { - photo_url_ = - value_arg ? std::optional(*value_arg) : std::nullopt; -} - -void InternalUserProfile::set_photo_url(std::string_view value_arg) { - photo_url_ = value_arg; -} - -bool InternalUserProfile::display_name_changed() const { - return display_name_changed_; -} - -void InternalUserProfile::set_display_name_changed(bool value_arg) { - display_name_changed_ = value_arg; -} - -bool InternalUserProfile::photo_url_changed() const { - return photo_url_changed_; -} - -void InternalUserProfile::set_photo_url_changed(bool value_arg) { - photo_url_changed_ = value_arg; -} - -EncodableList InternalUserProfile::ToEncodableList() const { - EncodableList list; - list.reserve(4); - list.push_back(display_name_ ? EncodableValue(*display_name_) - : EncodableValue()); - list.push_back(photo_url_ ? EncodableValue(*photo_url_) : EncodableValue()); - list.push_back(EncodableValue(display_name_changed_)); - list.push_back(EncodableValue(photo_url_changed_)); - return list; -} - -InternalUserProfile InternalUserProfile::FromEncodableList( - const EncodableList& list) { - InternalUserProfile decoded(std::get(list[2]), std::get(list[3])); - auto& encodable_display_name = list[0]; - if (!encodable_display_name.IsNull()) { - decoded.set_display_name(std::get(encodable_display_name)); - } - auto& encodable_photo_url = list[1]; - if (!encodable_photo_url.IsNull()) { - decoded.set_photo_url(std::get(encodable_photo_url)); - } - return decoded; -} - -bool InternalUserProfile::operator==(const InternalUserProfile& other) const { - return PigeonInternalDeepEquals(display_name_, other.display_name_) && - PigeonInternalDeepEquals(photo_url_, other.photo_url_) && - PigeonInternalDeepEquals(display_name_changed_, - other.display_name_changed_) && - PigeonInternalDeepEquals(photo_url_changed_, other.photo_url_changed_); -} - -bool InternalUserProfile::operator!=(const InternalUserProfile& other) const { - return !(*this == other); -} - -size_t InternalUserProfile::Hash() const { - size_t result = 1; - result = result * 31 + PigeonInternalDeepHash(display_name_); - result = result * 31 + PigeonInternalDeepHash(photo_url_); - result = result * 31 + PigeonInternalDeepHash(display_name_changed_); - result = result * 31 + PigeonInternalDeepHash(photo_url_changed_); - return result; -} - -size_t PigeonInternalDeepHash(const InternalUserProfile& v) { return v.Hash(); } - -// InternalTotpSecret - -InternalTotpSecret::InternalTotpSecret(const std::string& secret_key) - : secret_key_(secret_key) {} - -InternalTotpSecret::InternalTotpSecret( - const int64_t* code_interval_seconds, const int64_t* code_length, - const int64_t* enrollment_completion_deadline, - const std::string* hashing_algorithm, const std::string& secret_key) - : code_interval_seconds_( - code_interval_seconds ? std::optional(*code_interval_seconds) - : std::nullopt), - code_length_(code_length ? std::optional(*code_length) - : std::nullopt), - enrollment_completion_deadline_( - enrollment_completion_deadline - ? std::optional(*enrollment_completion_deadline) - : std::nullopt), - hashing_algorithm_(hashing_algorithm - ? std::optional(*hashing_algorithm) - : std::nullopt), - secret_key_(secret_key) {} - -const int64_t* InternalTotpSecret::code_interval_seconds() const { - return code_interval_seconds_ ? &(*code_interval_seconds_) : nullptr; -} - -void InternalTotpSecret::set_code_interval_seconds(const int64_t* value_arg) { - code_interval_seconds_ = - value_arg ? std::optional(*value_arg) : std::nullopt; -} - -void InternalTotpSecret::set_code_interval_seconds(int64_t value_arg) { - code_interval_seconds_ = value_arg; -} - -const int64_t* InternalTotpSecret::code_length() const { - return code_length_ ? &(*code_length_) : nullptr; -} - -void InternalTotpSecret::set_code_length(const int64_t* value_arg) { - code_length_ = value_arg ? std::optional(*value_arg) : std::nullopt; -} - -void InternalTotpSecret::set_code_length(int64_t value_arg) { - code_length_ = value_arg; -} - -const int64_t* InternalTotpSecret::enrollment_completion_deadline() const { - return enrollment_completion_deadline_ ? &(*enrollment_completion_deadline_) - : nullptr; -} - -void InternalTotpSecret::set_enrollment_completion_deadline( - const int64_t* value_arg) { - enrollment_completion_deadline_ = - value_arg ? std::optional(*value_arg) : std::nullopt; -} - -void InternalTotpSecret::set_enrollment_completion_deadline(int64_t value_arg) { - enrollment_completion_deadline_ = value_arg; -} - -const std::string* InternalTotpSecret::hashing_algorithm() const { - return hashing_algorithm_ ? &(*hashing_algorithm_) : nullptr; -} - -void InternalTotpSecret::set_hashing_algorithm( - const std::string_view* value_arg) { - hashing_algorithm_ = - value_arg ? std::optional(*value_arg) : std::nullopt; -} - -void InternalTotpSecret::set_hashing_algorithm(std::string_view value_arg) { - hashing_algorithm_ = value_arg; -} - -const std::string& InternalTotpSecret::secret_key() const { - return secret_key_; -} - -void InternalTotpSecret::set_secret_key(std::string_view value_arg) { - secret_key_ = value_arg; -} - -EncodableList InternalTotpSecret::ToEncodableList() const { - EncodableList list; - list.reserve(5); - list.push_back(code_interval_seconds_ - ? EncodableValue(*code_interval_seconds_) - : EncodableValue()); - list.push_back(code_length_ ? EncodableValue(*code_length_) - : EncodableValue()); - list.push_back(enrollment_completion_deadline_ - ? EncodableValue(*enrollment_completion_deadline_) - : EncodableValue()); - list.push_back(hashing_algorithm_ ? EncodableValue(*hashing_algorithm_) - : EncodableValue()); - list.push_back(EncodableValue(secret_key_)); - return list; -} - -InternalTotpSecret InternalTotpSecret::FromEncodableList( - const EncodableList& list) { - InternalTotpSecret decoded(std::get(list[4])); - auto& encodable_code_interval_seconds = list[0]; - if (!encodable_code_interval_seconds.IsNull()) { - decoded.set_code_interval_seconds( - std::get(encodable_code_interval_seconds)); - } - auto& encodable_code_length = list[1]; - if (!encodable_code_length.IsNull()) { - decoded.set_code_length(std::get(encodable_code_length)); - } - auto& encodable_enrollment_completion_deadline = list[2]; - if (!encodable_enrollment_completion_deadline.IsNull()) { - decoded.set_enrollment_completion_deadline( - std::get(encodable_enrollment_completion_deadline)); - } - auto& encodable_hashing_algorithm = list[3]; - if (!encodable_hashing_algorithm.IsNull()) { - decoded.set_hashing_algorithm( - std::get(encodable_hashing_algorithm)); - } - return decoded; -} - -bool InternalTotpSecret::operator==(const InternalTotpSecret& other) const { - return PigeonInternalDeepEquals(code_interval_seconds_, - other.code_interval_seconds_) && - PigeonInternalDeepEquals(code_length_, other.code_length_) && - PigeonInternalDeepEquals(enrollment_completion_deadline_, - other.enrollment_completion_deadline_) && - PigeonInternalDeepEquals(hashing_algorithm_, - other.hashing_algorithm_) && - PigeonInternalDeepEquals(secret_key_, other.secret_key_); -} - -bool InternalTotpSecret::operator!=(const InternalTotpSecret& other) const { - return !(*this == other); -} - -size_t InternalTotpSecret::Hash() const { - size_t result = 1; - result = result * 31 + PigeonInternalDeepHash(code_interval_seconds_); - result = result * 31 + PigeonInternalDeepHash(code_length_); - result = - result * 31 + PigeonInternalDeepHash(enrollment_completion_deadline_); - result = result * 31 + PigeonInternalDeepHash(hashing_algorithm_); - result = result * 31 + PigeonInternalDeepHash(secret_key_); - return result; -} - -size_t PigeonInternalDeepHash(const InternalTotpSecret& v) { return v.Hash(); } - -PigeonInternalCodecSerializer::PigeonInternalCodecSerializer() {} - -EncodableValue PigeonInternalCodecSerializer::ReadValueOfType( - uint8_t type, ::flutter::ByteStreamReader* stream) const { - switch (type) { - case 129: { - const auto& encodable_enum_arg = ReadValue(stream); - const int64_t enum_arg_value = - encodable_enum_arg.IsNull() ? 0 : encodable_enum_arg.LongValue(); - return encodable_enum_arg.IsNull() - ? EncodableValue() - : CustomEncodableValue( - static_cast(enum_arg_value)); - } - case 130: { - return CustomEncodableValue(InternalMultiFactorSession::FromEncodableList( - std::get(ReadValue(stream)))); - } - case 131: { - return CustomEncodableValue( - InternalPhoneMultiFactorAssertion::FromEncodableList( - std::get(ReadValue(stream)))); - } - case 132: { - return CustomEncodableValue(InternalMultiFactorInfo::FromEncodableList( - std::get(ReadValue(stream)))); - } - case 133: { - return CustomEncodableValue(AuthPigeonFirebaseApp::FromEncodableList( - std::get(ReadValue(stream)))); - } - case 134: { - return CustomEncodableValue(InternalActionCodeInfoData::FromEncodableList( - std::get(ReadValue(stream)))); - } - case 135: { - return CustomEncodableValue(InternalActionCodeInfo::FromEncodableList( - std::get(ReadValue(stream)))); - } - case 136: { - return CustomEncodableValue(InternalAdditionalUserInfo::FromEncodableList( - std::get(ReadValue(stream)))); - } - case 137: { - return CustomEncodableValue(InternalAuthCredential::FromEncodableList( - std::get(ReadValue(stream)))); - } - case 138: { - return CustomEncodableValue(InternalUserInfo::FromEncodableList( - std::get(ReadValue(stream)))); - } - case 139: { - return CustomEncodableValue(InternalUserDetails::FromEncodableList( - std::get(ReadValue(stream)))); - } - case 140: { - return CustomEncodableValue(InternalUserCredential::FromEncodableList( - std::get(ReadValue(stream)))); - } - case 141: { - return CustomEncodableValue( - InternalAuthCredentialInput::FromEncodableList( - std::get(ReadValue(stream)))); - } - case 142: { - return CustomEncodableValue(InternalActionCodeSettings::FromEncodableList( - std::get(ReadValue(stream)))); - } - case 143: { - return CustomEncodableValue( - InternalFirebaseAuthSettings::FromEncodableList( - std::get(ReadValue(stream)))); - } - case 144: { - return CustomEncodableValue(InternalSignInProvider::FromEncodableList( - std::get(ReadValue(stream)))); - } - case 145: { - return CustomEncodableValue( - InternalVerifyPhoneNumberRequest::FromEncodableList( - std::get(ReadValue(stream)))); - } - case 146: { - return CustomEncodableValue(InternalIdTokenResult::FromEncodableList( - std::get(ReadValue(stream)))); - } - case 147: { - return CustomEncodableValue(InternalUserProfile::FromEncodableList( - std::get(ReadValue(stream)))); - } - case 148: { - return CustomEncodableValue(InternalTotpSecret::FromEncodableList( - std::get(ReadValue(stream)))); - } - default: - return ::flutter::StandardCodecSerializer::ReadValueOfType(type, stream); - } -} - -void PigeonInternalCodecSerializer::WriteValue( - const EncodableValue& value, ::flutter::ByteStreamWriter* stream) const { - if (const CustomEncodableValue* custom_value = - std::get_if(&value)) { - if (custom_value->type() == typeid(ActionCodeInfoOperation)) { - stream->WriteByte(129); - WriteValue(EncodableValue(static_cast( - std::any_cast(*custom_value))), - stream); - return; - } - if (custom_value->type() == typeid(InternalMultiFactorSession)) { - stream->WriteByte(130); - WriteValue(EncodableValue( - std::any_cast(*custom_value) - .ToEncodableList()), - stream); - return; - } - if (custom_value->type() == typeid(InternalPhoneMultiFactorAssertion)) { - stream->WriteByte(131); - WriteValue( - EncodableValue( - std::any_cast(*custom_value) - .ToEncodableList()), - stream); - return; - } - if (custom_value->type() == typeid(InternalMultiFactorInfo)) { - stream->WriteByte(132); - WriteValue( - EncodableValue(std::any_cast(*custom_value) - .ToEncodableList()), - stream); - return; - } - if (custom_value->type() == typeid(AuthPigeonFirebaseApp)) { - stream->WriteByte(133); - WriteValue( - EncodableValue(std::any_cast(*custom_value) - .ToEncodableList()), - stream); - return; - } - if (custom_value->type() == typeid(InternalActionCodeInfoData)) { - stream->WriteByte(134); - WriteValue(EncodableValue( - std::any_cast(*custom_value) - .ToEncodableList()), - stream); - return; - } - if (custom_value->type() == typeid(InternalActionCodeInfo)) { - stream->WriteByte(135); - WriteValue( - EncodableValue(std::any_cast(*custom_value) - .ToEncodableList()), - stream); - return; - } - if (custom_value->type() == typeid(InternalAdditionalUserInfo)) { - stream->WriteByte(136); - WriteValue(EncodableValue( - std::any_cast(*custom_value) - .ToEncodableList()), - stream); - return; - } - if (custom_value->type() == typeid(InternalAuthCredential)) { - stream->WriteByte(137); - WriteValue( - EncodableValue(std::any_cast(*custom_value) - .ToEncodableList()), - stream); - return; - } - if (custom_value->type() == typeid(InternalUserInfo)) { - stream->WriteByte(138); - WriteValue( - EncodableValue( - std::any_cast(*custom_value).ToEncodableList()), - stream); - return; - } - if (custom_value->type() == typeid(InternalUserDetails)) { - stream->WriteByte(139); - WriteValue( - EncodableValue(std::any_cast(*custom_value) - .ToEncodableList()), - stream); - return; - } - if (custom_value->type() == typeid(InternalUserCredential)) { - stream->WriteByte(140); - WriteValue( - EncodableValue(std::any_cast(*custom_value) - .ToEncodableList()), - stream); - return; - } - if (custom_value->type() == typeid(InternalAuthCredentialInput)) { - stream->WriteByte(141); - WriteValue(EncodableValue( - std::any_cast(*custom_value) - .ToEncodableList()), - stream); - return; - } - if (custom_value->type() == typeid(InternalActionCodeSettings)) { - stream->WriteByte(142); - WriteValue(EncodableValue( - std::any_cast(*custom_value) - .ToEncodableList()), - stream); - return; - } - if (custom_value->type() == typeid(InternalFirebaseAuthSettings)) { - stream->WriteByte(143); - WriteValue(EncodableValue( - std::any_cast(*custom_value) - .ToEncodableList()), - stream); - return; - } - if (custom_value->type() == typeid(InternalSignInProvider)) { - stream->WriteByte(144); - WriteValue( - EncodableValue(std::any_cast(*custom_value) - .ToEncodableList()), - stream); - return; - } - if (custom_value->type() == typeid(InternalVerifyPhoneNumberRequest)) { - stream->WriteByte(145); - WriteValue(EncodableValue(std::any_cast( - *custom_value) - .ToEncodableList()), - stream); - return; - } - if (custom_value->type() == typeid(InternalIdTokenResult)) { - stream->WriteByte(146); - WriteValue( - EncodableValue(std::any_cast(*custom_value) - .ToEncodableList()), - stream); - return; - } - if (custom_value->type() == typeid(InternalUserProfile)) { - stream->WriteByte(147); - WriteValue( - EncodableValue(std::any_cast(*custom_value) - .ToEncodableList()), - stream); - return; - } - if (custom_value->type() == typeid(InternalTotpSecret)) { - stream->WriteByte(148); - WriteValue(EncodableValue(std::any_cast(*custom_value) - .ToEncodableList()), - stream); - return; - } - } - ::flutter::StandardCodecSerializer::WriteValue(value, stream); -} - -/// The codec used by FirebaseAuthHostApi. -const ::flutter::StandardMessageCodec& FirebaseAuthHostApi::GetCodec() { - return ::flutter::StandardMessageCodec::GetInstance( - &PigeonInternalCodecSerializer::GetInstance()); -} - -// Sets up an instance of `FirebaseAuthHostApi` to handle messages through the -// `binary_messenger`. -void FirebaseAuthHostApi::SetUp(::flutter::BinaryMessenger* binary_messenger, - FirebaseAuthHostApi* api) { - FirebaseAuthHostApi::SetUp(binary_messenger, api, ""); -} - -void FirebaseAuthHostApi::SetUp(::flutter::BinaryMessenger* binary_messenger, - FirebaseAuthHostApi* api, - const std::string& message_channel_suffix) { - const std::string prepended_suffix = - message_channel_suffix.length() > 0 - ? std::string(".") + message_channel_suffix - : ""; - { - BasicMessageChannel<> channel( - binary_messenger, - "dev.flutter.pigeon.firebase_auth_platform_interface." - "FirebaseAuthHostApi.registerIdTokenListener" + - prepended_suffix, - &GetCodec()); - if (api != nullptr) { - channel.SetMessageHandler( - [api](const EncodableValue& message, - const ::flutter::MessageReply& reply) { - try { - const auto& args = std::get(message); - const auto& encodable_app_arg = args.at(0); - if (encodable_app_arg.IsNull()) { - reply(WrapError("app_arg unexpectedly null.")); - return; - } - const auto& app_arg = std::any_cast( - std::get(encodable_app_arg)); - api->RegisterIdTokenListener( - app_arg, [reply](ErrorOr&& output) { - if (output.has_error()) { - reply(WrapError(output.error())); - return; - } - EncodableList wrapped; - wrapped.push_back( - EncodableValue(std::move(output).TakeValue())); - reply(EncodableValue(std::move(wrapped))); - }); - } catch (const std::exception& exception) { - reply(WrapError(exception.what())); - } - }); - } else { - channel.SetMessageHandler(nullptr); - } - } - { - BasicMessageChannel<> channel( - binary_messenger, - "dev.flutter.pigeon.firebase_auth_platform_interface." - "FirebaseAuthHostApi.registerAuthStateListener" + - prepended_suffix, - &GetCodec()); - if (api != nullptr) { - channel.SetMessageHandler( - [api](const EncodableValue& message, - const ::flutter::MessageReply& reply) { - try { - const auto& args = std::get(message); - const auto& encodable_app_arg = args.at(0); - if (encodable_app_arg.IsNull()) { - reply(WrapError("app_arg unexpectedly null.")); - return; - } - const auto& app_arg = std::any_cast( - std::get(encodable_app_arg)); - api->RegisterAuthStateListener( - app_arg, [reply](ErrorOr&& output) { - if (output.has_error()) { - reply(WrapError(output.error())); - return; - } - EncodableList wrapped; - wrapped.push_back( - EncodableValue(std::move(output).TakeValue())); - reply(EncodableValue(std::move(wrapped))); - }); - } catch (const std::exception& exception) { - reply(WrapError(exception.what())); - } - }); - } else { - channel.SetMessageHandler(nullptr); - } - } - { - BasicMessageChannel<> channel(binary_messenger, - "dev.flutter.pigeon.firebase_auth_platform_" - "interface.FirebaseAuthHostApi.useEmulator" + - prepended_suffix, - &GetCodec()); - if (api != nullptr) { - channel.SetMessageHandler( - [api](const EncodableValue& message, - const ::flutter::MessageReply& reply) { - try { - const auto& args = std::get(message); - const auto& encodable_app_arg = args.at(0); - if (encodable_app_arg.IsNull()) { - reply(WrapError("app_arg unexpectedly null.")); - return; - } - const auto& app_arg = std::any_cast( - std::get(encodable_app_arg)); - const auto& encodable_host_arg = args.at(1); - if (encodable_host_arg.IsNull()) { - reply(WrapError("host_arg unexpectedly null.")); - return; - } - const auto& host_arg = std::get(encodable_host_arg); - const auto& encodable_port_arg = args.at(2); - if (encodable_port_arg.IsNull()) { - reply(WrapError("port_arg unexpectedly null.")); - return; - } - const int64_t port_arg = encodable_port_arg.LongValue(); - api->UseEmulator(app_arg, host_arg, port_arg, - [reply](std::optional&& output) { - if (output.has_value()) { - reply(WrapError(output.value())); - return; - } - EncodableList wrapped; - wrapped.push_back(EncodableValue()); - reply(EncodableValue(std::move(wrapped))); - }); - } catch (const std::exception& exception) { - reply(WrapError(exception.what())); - } - }); - } else { - channel.SetMessageHandler(nullptr); - } - } - { - BasicMessageChannel<> channel( - binary_messenger, - "dev.flutter.pigeon.firebase_auth_platform_interface." - "FirebaseAuthHostApi.applyActionCode" + - prepended_suffix, - &GetCodec()); - if (api != nullptr) { - channel.SetMessageHandler( - [api](const EncodableValue& message, - const ::flutter::MessageReply& reply) { - try { - const auto& args = std::get(message); - const auto& encodable_app_arg = args.at(0); - if (encodable_app_arg.IsNull()) { - reply(WrapError("app_arg unexpectedly null.")); - return; - } - const auto& app_arg = std::any_cast( - std::get(encodable_app_arg)); - const auto& encodable_code_arg = args.at(1); - if (encodable_code_arg.IsNull()) { - reply(WrapError("code_arg unexpectedly null.")); - return; - } - const auto& code_arg = std::get(encodable_code_arg); - api->ApplyActionCode( - app_arg, code_arg, - [reply](std::optional&& output) { - if (output.has_value()) { - reply(WrapError(output.value())); - return; - } - EncodableList wrapped; - wrapped.push_back(EncodableValue()); - reply(EncodableValue(std::move(wrapped))); - }); - } catch (const std::exception& exception) { - reply(WrapError(exception.what())); - } - }); - } else { - channel.SetMessageHandler(nullptr); - } - } - { - BasicMessageChannel<> channel( - binary_messenger, - "dev.flutter.pigeon.firebase_auth_platform_interface." - "FirebaseAuthHostApi.checkActionCode" + - prepended_suffix, - &GetCodec()); - if (api != nullptr) { - channel.SetMessageHandler( - [api](const EncodableValue& message, - const ::flutter::MessageReply& reply) { - try { - const auto& args = std::get(message); - const auto& encodable_app_arg = args.at(0); - if (encodable_app_arg.IsNull()) { - reply(WrapError("app_arg unexpectedly null.")); - return; - } - const auto& app_arg = std::any_cast( - std::get(encodable_app_arg)); - const auto& encodable_code_arg = args.at(1); - if (encodable_code_arg.IsNull()) { - reply(WrapError("code_arg unexpectedly null.")); - return; - } - const auto& code_arg = std::get(encodable_code_arg); - api->CheckActionCode( - app_arg, code_arg, - [reply](ErrorOr&& output) { - if (output.has_error()) { - reply(WrapError(output.error())); - return; - } - EncodableList wrapped; - wrapped.push_back( - CustomEncodableValue(std::move(output).TakeValue())); - reply(EncodableValue(std::move(wrapped))); - }); - } catch (const std::exception& exception) { - reply(WrapError(exception.what())); - } - }); - } else { - channel.SetMessageHandler(nullptr); - } - } - { - BasicMessageChannel<> channel( - binary_messenger, - "dev.flutter.pigeon.firebase_auth_platform_interface." - "FirebaseAuthHostApi.confirmPasswordReset" + - prepended_suffix, - &GetCodec()); - if (api != nullptr) { - channel.SetMessageHandler( - [api](const EncodableValue& message, - const ::flutter::MessageReply& reply) { - try { - const auto& args = std::get(message); - const auto& encodable_app_arg = args.at(0); - if (encodable_app_arg.IsNull()) { - reply(WrapError("app_arg unexpectedly null.")); - return; - } - const auto& app_arg = std::any_cast( - std::get(encodable_app_arg)); - const auto& encodable_code_arg = args.at(1); - if (encodable_code_arg.IsNull()) { - reply(WrapError("code_arg unexpectedly null.")); - return; - } - const auto& code_arg = std::get(encodable_code_arg); - const auto& encodable_new_password_arg = args.at(2); - if (encodable_new_password_arg.IsNull()) { - reply(WrapError("new_password_arg unexpectedly null.")); - return; - } - const auto& new_password_arg = - std::get(encodable_new_password_arg); - api->ConfirmPasswordReset( - app_arg, code_arg, new_password_arg, - [reply](std::optional&& output) { - if (output.has_value()) { - reply(WrapError(output.value())); - return; - } - EncodableList wrapped; - wrapped.push_back(EncodableValue()); - reply(EncodableValue(std::move(wrapped))); - }); - } catch (const std::exception& exception) { - reply(WrapError(exception.what())); - } - }); - } else { - channel.SetMessageHandler(nullptr); - } - } - { - BasicMessageChannel<> channel( - binary_messenger, - "dev.flutter.pigeon.firebase_auth_platform_interface." - "FirebaseAuthHostApi.createUserWithEmailAndPassword" + - prepended_suffix, - &GetCodec()); - if (api != nullptr) { - channel.SetMessageHandler( - [api](const EncodableValue& message, - const ::flutter::MessageReply& reply) { - try { - const auto& args = std::get(message); - const auto& encodable_app_arg = args.at(0); - if (encodable_app_arg.IsNull()) { - reply(WrapError("app_arg unexpectedly null.")); - return; - } - const auto& app_arg = std::any_cast( - std::get(encodable_app_arg)); - const auto& encodable_email_arg = args.at(1); - if (encodable_email_arg.IsNull()) { - reply(WrapError("email_arg unexpectedly null.")); - return; - } - const auto& email_arg = - std::get(encodable_email_arg); - const auto& encodable_password_arg = args.at(2); - if (encodable_password_arg.IsNull()) { - reply(WrapError("password_arg unexpectedly null.")); - return; - } - const auto& password_arg = - std::get(encodable_password_arg); - api->CreateUserWithEmailAndPassword( - app_arg, email_arg, password_arg, - [reply](ErrorOr&& output) { - if (output.has_error()) { - reply(WrapError(output.error())); - return; - } - EncodableList wrapped; - wrapped.push_back( - CustomEncodableValue(std::move(output).TakeValue())); - reply(EncodableValue(std::move(wrapped))); - }); - } catch (const std::exception& exception) { - reply(WrapError(exception.what())); - } - }); - } else { - channel.SetMessageHandler(nullptr); - } - } - { - BasicMessageChannel<> channel( - binary_messenger, - "dev.flutter.pigeon.firebase_auth_platform_interface." - "FirebaseAuthHostApi.signInAnonymously" + - prepended_suffix, - &GetCodec()); - if (api != nullptr) { - channel.SetMessageHandler( - [api](const EncodableValue& message, - const ::flutter::MessageReply& reply) { - try { - const auto& args = std::get(message); - const auto& encodable_app_arg = args.at(0); - if (encodable_app_arg.IsNull()) { - reply(WrapError("app_arg unexpectedly null.")); - return; - } - const auto& app_arg = std::any_cast( - std::get(encodable_app_arg)); - api->SignInAnonymously( - app_arg, [reply](ErrorOr&& output) { - if (output.has_error()) { - reply(WrapError(output.error())); - return; - } - EncodableList wrapped; - wrapped.push_back( - CustomEncodableValue(std::move(output).TakeValue())); - reply(EncodableValue(std::move(wrapped))); - }); - } catch (const std::exception& exception) { - reply(WrapError(exception.what())); - } - }); - } else { - channel.SetMessageHandler(nullptr); - } - } - { - BasicMessageChannel<> channel( - binary_messenger, - "dev.flutter.pigeon.firebase_auth_platform_interface." - "FirebaseAuthHostApi.signInWithCredential" + - prepended_suffix, - &GetCodec()); - if (api != nullptr) { - channel.SetMessageHandler( - [api](const EncodableValue& message, - const ::flutter::MessageReply& reply) { - try { - const auto& args = std::get(message); - const auto& encodable_app_arg = args.at(0); - if (encodable_app_arg.IsNull()) { - reply(WrapError("app_arg unexpectedly null.")); - return; - } - const auto& app_arg = std::any_cast( - std::get(encodable_app_arg)); - const auto& encodable_input_arg = args.at(1); - if (encodable_input_arg.IsNull()) { - reply(WrapError("input_arg unexpectedly null.")); - return; - } - const auto& input_arg = - std::get(encodable_input_arg); - api->SignInWithCredential( - app_arg, input_arg, - [reply](ErrorOr&& output) { - if (output.has_error()) { - reply(WrapError(output.error())); - return; - } - EncodableList wrapped; - wrapped.push_back( - CustomEncodableValue(std::move(output).TakeValue())); - reply(EncodableValue(std::move(wrapped))); - }); - } catch (const std::exception& exception) { - reply(WrapError(exception.what())); - } - }); - } else { - channel.SetMessageHandler(nullptr); - } - } - { - BasicMessageChannel<> channel( - binary_messenger, - "dev.flutter.pigeon.firebase_auth_platform_interface." - "FirebaseAuthHostApi.signInWithCustomToken" + - prepended_suffix, - &GetCodec()); - if (api != nullptr) { - channel.SetMessageHandler( - [api](const EncodableValue& message, - const ::flutter::MessageReply& reply) { - try { - const auto& args = std::get(message); - const auto& encodable_app_arg = args.at(0); - if (encodable_app_arg.IsNull()) { - reply(WrapError("app_arg unexpectedly null.")); - return; - } - const auto& app_arg = std::any_cast( - std::get(encodable_app_arg)); - const auto& encodable_token_arg = args.at(1); - if (encodable_token_arg.IsNull()) { - reply(WrapError("token_arg unexpectedly null.")); - return; - } - const auto& token_arg = - std::get(encodable_token_arg); - api->SignInWithCustomToken( - app_arg, token_arg, - [reply](ErrorOr&& output) { - if (output.has_error()) { - reply(WrapError(output.error())); - return; - } - EncodableList wrapped; - wrapped.push_back( - CustomEncodableValue(std::move(output).TakeValue())); - reply(EncodableValue(std::move(wrapped))); - }); - } catch (const std::exception& exception) { - reply(WrapError(exception.what())); - } - }); - } else { - channel.SetMessageHandler(nullptr); - } - } - { - BasicMessageChannel<> channel( - binary_messenger, - "dev.flutter.pigeon.firebase_auth_platform_interface." - "FirebaseAuthHostApi.signInWithEmailAndPassword" + - prepended_suffix, - &GetCodec()); - if (api != nullptr) { - channel.SetMessageHandler( - [api](const EncodableValue& message, - const ::flutter::MessageReply& reply) { - try { - const auto& args = std::get(message); - const auto& encodable_app_arg = args.at(0); - if (encodable_app_arg.IsNull()) { - reply(WrapError("app_arg unexpectedly null.")); - return; - } - const auto& app_arg = std::any_cast( - std::get(encodable_app_arg)); - const auto& encodable_email_arg = args.at(1); - if (encodable_email_arg.IsNull()) { - reply(WrapError("email_arg unexpectedly null.")); - return; - } - const auto& email_arg = - std::get(encodable_email_arg); - const auto& encodable_password_arg = args.at(2); - if (encodable_password_arg.IsNull()) { - reply(WrapError("password_arg unexpectedly null.")); - return; - } - const auto& password_arg = - std::get(encodable_password_arg); - api->SignInWithEmailAndPassword( - app_arg, email_arg, password_arg, - [reply](ErrorOr&& output) { - if (output.has_error()) { - reply(WrapError(output.error())); - return; - } - EncodableList wrapped; - wrapped.push_back( - CustomEncodableValue(std::move(output).TakeValue())); - reply(EncodableValue(std::move(wrapped))); - }); - } catch (const std::exception& exception) { - reply(WrapError(exception.what())); - } - }); - } else { - channel.SetMessageHandler(nullptr); - } - } - { - BasicMessageChannel<> channel( - binary_messenger, - "dev.flutter.pigeon.firebase_auth_platform_interface." - "FirebaseAuthHostApi.signInWithEmailLink" + - prepended_suffix, - &GetCodec()); - if (api != nullptr) { - channel.SetMessageHandler( - [api](const EncodableValue& message, - const ::flutter::MessageReply& reply) { - try { - const auto& args = std::get(message); - const auto& encodable_app_arg = args.at(0); - if (encodable_app_arg.IsNull()) { - reply(WrapError("app_arg unexpectedly null.")); - return; - } - const auto& app_arg = std::any_cast( - std::get(encodable_app_arg)); - const auto& encodable_email_arg = args.at(1); - if (encodable_email_arg.IsNull()) { - reply(WrapError("email_arg unexpectedly null.")); - return; - } - const auto& email_arg = - std::get(encodable_email_arg); - const auto& encodable_email_link_arg = args.at(2); - if (encodable_email_link_arg.IsNull()) { - reply(WrapError("email_link_arg unexpectedly null.")); - return; - } - const auto& email_link_arg = - std::get(encodable_email_link_arg); - api->SignInWithEmailLink( - app_arg, email_arg, email_link_arg, - [reply](ErrorOr&& output) { - if (output.has_error()) { - reply(WrapError(output.error())); - return; - } - EncodableList wrapped; - wrapped.push_back( - CustomEncodableValue(std::move(output).TakeValue())); - reply(EncodableValue(std::move(wrapped))); - }); - } catch (const std::exception& exception) { - reply(WrapError(exception.what())); - } - }); - } else { - channel.SetMessageHandler(nullptr); - } - } - { - BasicMessageChannel<> channel( - binary_messenger, - "dev.flutter.pigeon.firebase_auth_platform_interface." - "FirebaseAuthHostApi.signInWithProvider" + - prepended_suffix, - &GetCodec()); - if (api != nullptr) { - channel.SetMessageHandler( - [api](const EncodableValue& message, - const ::flutter::MessageReply& reply) { - try { - const auto& args = std::get(message); - const auto& encodable_app_arg = args.at(0); - if (encodable_app_arg.IsNull()) { - reply(WrapError("app_arg unexpectedly null.")); - return; - } - const auto& app_arg = std::any_cast( - std::get(encodable_app_arg)); - const auto& encodable_sign_in_provider_arg = args.at(1); - if (encodable_sign_in_provider_arg.IsNull()) { - reply(WrapError("sign_in_provider_arg unexpectedly null.")); - return; - } - const auto& sign_in_provider_arg = - std::any_cast( - std::get( - encodable_sign_in_provider_arg)); - api->SignInWithProvider( - app_arg, sign_in_provider_arg, - [reply](ErrorOr&& output) { - if (output.has_error()) { - reply(WrapError(output.error())); - return; - } - EncodableList wrapped; - wrapped.push_back( - CustomEncodableValue(std::move(output).TakeValue())); - reply(EncodableValue(std::move(wrapped))); - }); - } catch (const std::exception& exception) { - reply(WrapError(exception.what())); - } - }); - } else { - channel.SetMessageHandler(nullptr); - } - } - { - BasicMessageChannel<> channel(binary_messenger, - "dev.flutter.pigeon.firebase_auth_platform_" - "interface.FirebaseAuthHostApi.signOut" + - prepended_suffix, - &GetCodec()); - if (api != nullptr) { - channel.SetMessageHandler( - [api](const EncodableValue& message, - const ::flutter::MessageReply& reply) { - try { - const auto& args = std::get(message); - const auto& encodable_app_arg = args.at(0); - if (encodable_app_arg.IsNull()) { - reply(WrapError("app_arg unexpectedly null.")); - return; - } - const auto& app_arg = std::any_cast( - std::get(encodable_app_arg)); - api->SignOut(app_arg, - [reply](std::optional&& output) { - if (output.has_value()) { - reply(WrapError(output.value())); - return; - } - EncodableList wrapped; - wrapped.push_back(EncodableValue()); - reply(EncodableValue(std::move(wrapped))); - }); - } catch (const std::exception& exception) { - reply(WrapError(exception.what())); - } - }); - } else { - channel.SetMessageHandler(nullptr); - } - } - { - BasicMessageChannel<> channel( - binary_messenger, - "dev.flutter.pigeon.firebase_auth_platform_interface." - "FirebaseAuthHostApi.fetchSignInMethodsForEmail" + - prepended_suffix, - &GetCodec()); - if (api != nullptr) { - channel.SetMessageHandler( - [api](const EncodableValue& message, - const ::flutter::MessageReply& reply) { - try { - const auto& args = std::get(message); - const auto& encodable_app_arg = args.at(0); - if (encodable_app_arg.IsNull()) { - reply(WrapError("app_arg unexpectedly null.")); - return; - } - const auto& app_arg = std::any_cast( - std::get(encodable_app_arg)); - const auto& encodable_email_arg = args.at(1); - if (encodable_email_arg.IsNull()) { - reply(WrapError("email_arg unexpectedly null.")); - return; - } - const auto& email_arg = - std::get(encodable_email_arg); - api->FetchSignInMethodsForEmail( - app_arg, email_arg, [reply](ErrorOr&& output) { - if (output.has_error()) { - reply(WrapError(output.error())); - return; - } - EncodableList wrapped; - wrapped.push_back( - EncodableValue(std::move(output).TakeValue())); - reply(EncodableValue(std::move(wrapped))); - }); - } catch (const std::exception& exception) { - reply(WrapError(exception.what())); - } - }); - } else { - channel.SetMessageHandler(nullptr); - } - } - { - BasicMessageChannel<> channel( - binary_messenger, - "dev.flutter.pigeon.firebase_auth_platform_interface." - "FirebaseAuthHostApi.sendPasswordResetEmail" + - prepended_suffix, - &GetCodec()); - if (api != nullptr) { - channel.SetMessageHandler( - [api](const EncodableValue& message, - const ::flutter::MessageReply& reply) { - try { - const auto& args = std::get(message); - const auto& encodable_app_arg = args.at(0); - if (encodable_app_arg.IsNull()) { - reply(WrapError("app_arg unexpectedly null.")); - return; - } - const auto& app_arg = std::any_cast( - std::get(encodable_app_arg)); - const auto& encodable_email_arg = args.at(1); - if (encodable_email_arg.IsNull()) { - reply(WrapError("email_arg unexpectedly null.")); - return; - } - const auto& email_arg = - std::get(encodable_email_arg); - const auto& encodable_action_code_settings_arg = args.at(2); - const auto* action_code_settings_arg = - encodable_action_code_settings_arg.IsNull() - ? nullptr - : &(std::any_cast( - std::get( - encodable_action_code_settings_arg))); - api->SendPasswordResetEmail( - app_arg, email_arg, action_code_settings_arg, - [reply](std::optional&& output) { - if (output.has_value()) { - reply(WrapError(output.value())); - return; - } - EncodableList wrapped; - wrapped.push_back(EncodableValue()); - reply(EncodableValue(std::move(wrapped))); - }); - } catch (const std::exception& exception) { - reply(WrapError(exception.what())); - } - }); - } else { - channel.SetMessageHandler(nullptr); - } - } - { - BasicMessageChannel<> channel( - binary_messenger, - "dev.flutter.pigeon.firebase_auth_platform_interface." - "FirebaseAuthHostApi.sendSignInLinkToEmail" + - prepended_suffix, - &GetCodec()); - if (api != nullptr) { - channel.SetMessageHandler( - [api](const EncodableValue& message, - const ::flutter::MessageReply& reply) { - try { - const auto& args = std::get(message); - const auto& encodable_app_arg = args.at(0); - if (encodable_app_arg.IsNull()) { - reply(WrapError("app_arg unexpectedly null.")); - return; - } - const auto& app_arg = std::any_cast( - std::get(encodable_app_arg)); - const auto& encodable_email_arg = args.at(1); - if (encodable_email_arg.IsNull()) { - reply(WrapError("email_arg unexpectedly null.")); - return; - } - const auto& email_arg = - std::get(encodable_email_arg); - const auto& encodable_action_code_settings_arg = args.at(2); - if (encodable_action_code_settings_arg.IsNull()) { - reply(WrapError("action_code_settings_arg unexpectedly null.")); - return; - } - const auto& action_code_settings_arg = - std::any_cast( - std::get( - encodable_action_code_settings_arg)); - api->SendSignInLinkToEmail( - app_arg, email_arg, action_code_settings_arg, - [reply](std::optional&& output) { - if (output.has_value()) { - reply(WrapError(output.value())); - return; - } - EncodableList wrapped; - wrapped.push_back(EncodableValue()); - reply(EncodableValue(std::move(wrapped))); - }); - } catch (const std::exception& exception) { - reply(WrapError(exception.what())); - } - }); - } else { - channel.SetMessageHandler(nullptr); - } - } - { - BasicMessageChannel<> channel( - binary_messenger, - "dev.flutter.pigeon.firebase_auth_platform_interface." - "FirebaseAuthHostApi.setLanguageCode" + - prepended_suffix, - &GetCodec()); - if (api != nullptr) { - channel.SetMessageHandler( - [api](const EncodableValue& message, - const ::flutter::MessageReply& reply) { - try { - const auto& args = std::get(message); - const auto& encodable_app_arg = args.at(0); - if (encodable_app_arg.IsNull()) { - reply(WrapError("app_arg unexpectedly null.")); - return; - } - const auto& app_arg = std::any_cast( - std::get(encodable_app_arg)); - const auto& encodable_language_code_arg = args.at(1); - const auto* language_code_arg = - std::get_if(&encodable_language_code_arg); - api->SetLanguageCode(app_arg, language_code_arg, - [reply](ErrorOr&& output) { - if (output.has_error()) { - reply(WrapError(output.error())); - return; - } - EncodableList wrapped; - wrapped.push_back(EncodableValue( - std::move(output).TakeValue())); - reply(EncodableValue(std::move(wrapped))); - }); - } catch (const std::exception& exception) { - reply(WrapError(exception.what())); - } - }); - } else { - channel.SetMessageHandler(nullptr); - } - } - { - BasicMessageChannel<> channel(binary_messenger, - "dev.flutter.pigeon.firebase_auth_platform_" - "interface.FirebaseAuthHostApi.setSettings" + - prepended_suffix, - &GetCodec()); - if (api != nullptr) { - channel.SetMessageHandler( - [api](const EncodableValue& message, - const ::flutter::MessageReply& reply) { - try { - const auto& args = std::get(message); - const auto& encodable_app_arg = args.at(0); - if (encodable_app_arg.IsNull()) { - reply(WrapError("app_arg unexpectedly null.")); - return; - } - const auto& app_arg = std::any_cast( - std::get(encodable_app_arg)); - const auto& encodable_settings_arg = args.at(1); - if (encodable_settings_arg.IsNull()) { - reply(WrapError("settings_arg unexpectedly null.")); - return; - } - const auto& settings_arg = - std::any_cast( - std::get(encodable_settings_arg)); - api->SetSettings(app_arg, settings_arg, - [reply](std::optional&& output) { - if (output.has_value()) { - reply(WrapError(output.value())); - return; - } - EncodableList wrapped; - wrapped.push_back(EncodableValue()); - reply(EncodableValue(std::move(wrapped))); - }); - } catch (const std::exception& exception) { - reply(WrapError(exception.what())); - } - }); - } else { - channel.SetMessageHandler(nullptr); - } - } - { - BasicMessageChannel<> channel( - binary_messenger, - "dev.flutter.pigeon.firebase_auth_platform_interface." - "FirebaseAuthHostApi.verifyPasswordResetCode" + - prepended_suffix, - &GetCodec()); - if (api != nullptr) { - channel.SetMessageHandler( - [api](const EncodableValue& message, - const ::flutter::MessageReply& reply) { - try { - const auto& args = std::get(message); - const auto& encodable_app_arg = args.at(0); - if (encodable_app_arg.IsNull()) { - reply(WrapError("app_arg unexpectedly null.")); - return; - } - const auto& app_arg = std::any_cast( - std::get(encodable_app_arg)); - const auto& encodable_code_arg = args.at(1); - if (encodable_code_arg.IsNull()) { - reply(WrapError("code_arg unexpectedly null.")); - return; - } - const auto& code_arg = std::get(encodable_code_arg); - api->VerifyPasswordResetCode( - app_arg, code_arg, [reply](ErrorOr&& output) { - if (output.has_error()) { - reply(WrapError(output.error())); - return; - } - EncodableList wrapped; - wrapped.push_back( - EncodableValue(std::move(output).TakeValue())); - reply(EncodableValue(std::move(wrapped))); - }); - } catch (const std::exception& exception) { - reply(WrapError(exception.what())); - } - }); - } else { - channel.SetMessageHandler(nullptr); - } - } - { - BasicMessageChannel<> channel( - binary_messenger, - "dev.flutter.pigeon.firebase_auth_platform_interface." - "FirebaseAuthHostApi.verifyPhoneNumber" + - prepended_suffix, - &GetCodec()); - if (api != nullptr) { - channel.SetMessageHandler( - [api](const EncodableValue& message, - const ::flutter::MessageReply& reply) { - try { - const auto& args = std::get(message); - const auto& encodable_app_arg = args.at(0); - if (encodable_app_arg.IsNull()) { - reply(WrapError("app_arg unexpectedly null.")); - return; - } - const auto& app_arg = std::any_cast( - std::get(encodable_app_arg)); - const auto& encodable_request_arg = args.at(1); - if (encodable_request_arg.IsNull()) { - reply(WrapError("request_arg unexpectedly null.")); - return; - } - const auto& request_arg = - std::any_cast( - std::get(encodable_request_arg)); - api->VerifyPhoneNumber( - app_arg, request_arg, [reply](ErrorOr&& output) { - if (output.has_error()) { - reply(WrapError(output.error())); - return; - } - EncodableList wrapped; - wrapped.push_back( - EncodableValue(std::move(output).TakeValue())); - reply(EncodableValue(std::move(wrapped))); - }); - } catch (const std::exception& exception) { - reply(WrapError(exception.what())); - } - }); - } else { - channel.SetMessageHandler(nullptr); - } - } - { - BasicMessageChannel<> channel( - binary_messenger, - "dev.flutter.pigeon.firebase_auth_platform_interface." - "FirebaseAuthHostApi.revokeTokenWithAuthorizationCode" + - prepended_suffix, - &GetCodec()); - if (api != nullptr) { - channel.SetMessageHandler( - [api](const EncodableValue& message, - const ::flutter::MessageReply& reply) { - try { - const auto& args = std::get(message); - const auto& encodable_app_arg = args.at(0); - if (encodable_app_arg.IsNull()) { - reply(WrapError("app_arg unexpectedly null.")); - return; - } - const auto& app_arg = std::any_cast( - std::get(encodable_app_arg)); - const auto& encodable_authorization_code_arg = args.at(1); - if (encodable_authorization_code_arg.IsNull()) { - reply(WrapError("authorization_code_arg unexpectedly null.")); - return; - } - const auto& authorization_code_arg = - std::get(encodable_authorization_code_arg); - api->RevokeTokenWithAuthorizationCode( - app_arg, authorization_code_arg, - [reply](std::optional&& output) { - if (output.has_value()) { - reply(WrapError(output.value())); - return; - } - EncodableList wrapped; - wrapped.push_back(EncodableValue()); - reply(EncodableValue(std::move(wrapped))); - }); - } catch (const std::exception& exception) { - reply(WrapError(exception.what())); - } - }); - } else { - channel.SetMessageHandler(nullptr); - } - } - { - BasicMessageChannel<> channel( - binary_messenger, - "dev.flutter.pigeon.firebase_auth_platform_interface." - "FirebaseAuthHostApi.revokeAccessToken" + - prepended_suffix, - &GetCodec()); - if (api != nullptr) { - channel.SetMessageHandler( - [api](const EncodableValue& message, - const ::flutter::MessageReply& reply) { - try { - const auto& args = std::get(message); - const auto& encodable_app_arg = args.at(0); - if (encodable_app_arg.IsNull()) { - reply(WrapError("app_arg unexpectedly null.")); - return; - } - const auto& app_arg = std::any_cast( - std::get(encodable_app_arg)); - const auto& encodable_access_token_arg = args.at(1); - if (encodable_access_token_arg.IsNull()) { - reply(WrapError("access_token_arg unexpectedly null.")); - return; - } - const auto& access_token_arg = - std::get(encodable_access_token_arg); - api->RevokeAccessToken( - app_arg, access_token_arg, - [reply](std::optional&& output) { - if (output.has_value()) { - reply(WrapError(output.value())); - return; - } - EncodableList wrapped; - wrapped.push_back(EncodableValue()); - reply(EncodableValue(std::move(wrapped))); - }); - } catch (const std::exception& exception) { - reply(WrapError(exception.what())); - } - }); - } else { - channel.SetMessageHandler(nullptr); - } - } - { - BasicMessageChannel<> channel( - binary_messenger, - "dev.flutter.pigeon.firebase_auth_platform_interface." - "FirebaseAuthHostApi.initializeRecaptchaConfig" + - prepended_suffix, - &GetCodec()); - if (api != nullptr) { - channel.SetMessageHandler( - [api](const EncodableValue& message, - const ::flutter::MessageReply& reply) { - try { - const auto& args = std::get(message); - const auto& encodable_app_arg = args.at(0); - if (encodable_app_arg.IsNull()) { - reply(WrapError("app_arg unexpectedly null.")); - return; - } - const auto& app_arg = std::any_cast( - std::get(encodable_app_arg)); - api->InitializeRecaptchaConfig( - app_arg, [reply](std::optional&& output) { - if (output.has_value()) { - reply(WrapError(output.value())); - return; - } - EncodableList wrapped; - wrapped.push_back(EncodableValue()); - reply(EncodableValue(std::move(wrapped))); - }); - } catch (const std::exception& exception) { - reply(WrapError(exception.what())); - } - }); - } else { - channel.SetMessageHandler(nullptr); - } - } -} - -EncodableValue FirebaseAuthHostApi::WrapError(std::string_view error_message) { - return EncodableValue( - EncodableList{EncodableValue(std::string(error_message)), - EncodableValue("Error"), EncodableValue()}); -} - -EncodableValue FirebaseAuthHostApi::WrapError(const FlutterError& error) { - return EncodableValue(EncodableList{EncodableValue(error.code()), - EncodableValue(error.message()), - error.details()}); -} - -/// The codec used by FirebaseAuthUserHostApi. -const ::flutter::StandardMessageCodec& FirebaseAuthUserHostApi::GetCodec() { - return ::flutter::StandardMessageCodec::GetInstance( - &PigeonInternalCodecSerializer::GetInstance()); -} - -// Sets up an instance of `FirebaseAuthUserHostApi` to handle messages through -// the `binary_messenger`. -void FirebaseAuthUserHostApi::SetUp( - ::flutter::BinaryMessenger* binary_messenger, - FirebaseAuthUserHostApi* api) { - FirebaseAuthUserHostApi::SetUp(binary_messenger, api, ""); -} - -void FirebaseAuthUserHostApi::SetUp( - ::flutter::BinaryMessenger* binary_messenger, FirebaseAuthUserHostApi* api, - const std::string& message_channel_suffix) { - const std::string prepended_suffix = - message_channel_suffix.length() > 0 - ? std::string(".") + message_channel_suffix - : ""; - { - BasicMessageChannel<> channel(binary_messenger, - "dev.flutter.pigeon.firebase_auth_platform_" - "interface.FirebaseAuthUserHostApi.delete" + - prepended_suffix, - &GetCodec()); - if (api != nullptr) { - channel.SetMessageHandler( - [api](const EncodableValue& message, - const ::flutter::MessageReply& reply) { - try { - const auto& args = std::get(message); - const auto& encodable_app_arg = args.at(0); - if (encodable_app_arg.IsNull()) { - reply(WrapError("app_arg unexpectedly null.")); - return; - } - const auto& app_arg = std::any_cast( - std::get(encodable_app_arg)); - api->Delete(app_arg, - [reply](std::optional&& output) { - if (output.has_value()) { - reply(WrapError(output.value())); - return; - } - EncodableList wrapped; - wrapped.push_back(EncodableValue()); - reply(EncodableValue(std::move(wrapped))); - }); - } catch (const std::exception& exception) { - reply(WrapError(exception.what())); - } - }); - } else { - channel.SetMessageHandler(nullptr); - } - } - { - BasicMessageChannel<> channel( - binary_messenger, - "dev.flutter.pigeon.firebase_auth_platform_interface." - "FirebaseAuthUserHostApi.getIdToken" + - prepended_suffix, - &GetCodec()); - if (api != nullptr) { - channel.SetMessageHandler( - [api](const EncodableValue& message, - const ::flutter::MessageReply& reply) { - try { - const auto& args = std::get(message); - const auto& encodable_app_arg = args.at(0); - if (encodable_app_arg.IsNull()) { - reply(WrapError("app_arg unexpectedly null.")); - return; - } - const auto& app_arg = std::any_cast( - std::get(encodable_app_arg)); - const auto& encodable_force_refresh_arg = args.at(1); - if (encodable_force_refresh_arg.IsNull()) { - reply(WrapError("force_refresh_arg unexpectedly null.")); - return; - } - const auto& force_refresh_arg = - std::get(encodable_force_refresh_arg); - api->GetIdToken(app_arg, force_refresh_arg, - [reply](ErrorOr&& output) { - if (output.has_error()) { - reply(WrapError(output.error())); - return; - } - EncodableList wrapped; - wrapped.push_back(CustomEncodableValue( - std::move(output).TakeValue())); - reply(EncodableValue(std::move(wrapped))); - }); - } catch (const std::exception& exception) { - reply(WrapError(exception.what())); - } - }); - } else { - channel.SetMessageHandler(nullptr); - } - } - { - BasicMessageChannel<> channel( - binary_messenger, - "dev.flutter.pigeon.firebase_auth_platform_interface." - "FirebaseAuthUserHostApi.linkWithCredential" + - prepended_suffix, - &GetCodec()); - if (api != nullptr) { - channel.SetMessageHandler( - [api](const EncodableValue& message, - const ::flutter::MessageReply& reply) { - try { - const auto& args = std::get(message); - const auto& encodable_app_arg = args.at(0); - if (encodable_app_arg.IsNull()) { - reply(WrapError("app_arg unexpectedly null.")); - return; - } - const auto& app_arg = std::any_cast( - std::get(encodable_app_arg)); - const auto& encodable_input_arg = args.at(1); - if (encodable_input_arg.IsNull()) { - reply(WrapError("input_arg unexpectedly null.")); - return; - } - const auto& input_arg = - std::get(encodable_input_arg); - api->LinkWithCredential( - app_arg, input_arg, - [reply](ErrorOr&& output) { - if (output.has_error()) { - reply(WrapError(output.error())); - return; - } - EncodableList wrapped; - wrapped.push_back( - CustomEncodableValue(std::move(output).TakeValue())); - reply(EncodableValue(std::move(wrapped))); - }); - } catch (const std::exception& exception) { - reply(WrapError(exception.what())); - } - }); - } else { - channel.SetMessageHandler(nullptr); - } - } - { - BasicMessageChannel<> channel( - binary_messenger, - "dev.flutter.pigeon.firebase_auth_platform_interface." - "FirebaseAuthUserHostApi.linkWithProvider" + - prepended_suffix, - &GetCodec()); - if (api != nullptr) { - channel.SetMessageHandler( - [api](const EncodableValue& message, - const ::flutter::MessageReply& reply) { - try { - const auto& args = std::get(message); - const auto& encodable_app_arg = args.at(0); - if (encodable_app_arg.IsNull()) { - reply(WrapError("app_arg unexpectedly null.")); - return; - } - const auto& app_arg = std::any_cast( - std::get(encodable_app_arg)); - const auto& encodable_sign_in_provider_arg = args.at(1); - if (encodable_sign_in_provider_arg.IsNull()) { - reply(WrapError("sign_in_provider_arg unexpectedly null.")); - return; - } - const auto& sign_in_provider_arg = - std::any_cast( - std::get( - encodable_sign_in_provider_arg)); - api->LinkWithProvider( - app_arg, sign_in_provider_arg, - [reply](ErrorOr&& output) { - if (output.has_error()) { - reply(WrapError(output.error())); - return; - } - EncodableList wrapped; - wrapped.push_back( - CustomEncodableValue(std::move(output).TakeValue())); - reply(EncodableValue(std::move(wrapped))); - }); - } catch (const std::exception& exception) { - reply(WrapError(exception.what())); - } - }); - } else { - channel.SetMessageHandler(nullptr); - } - } - { - BasicMessageChannel<> channel( - binary_messenger, - "dev.flutter.pigeon.firebase_auth_platform_interface." - "FirebaseAuthUserHostApi.reauthenticateWithCredential" + - prepended_suffix, - &GetCodec()); - if (api != nullptr) { - channel.SetMessageHandler( - [api](const EncodableValue& message, - const ::flutter::MessageReply& reply) { - try { - const auto& args = std::get(message); - const auto& encodable_app_arg = args.at(0); - if (encodable_app_arg.IsNull()) { - reply(WrapError("app_arg unexpectedly null.")); - return; - } - const auto& app_arg = std::any_cast( - std::get(encodable_app_arg)); - const auto& encodable_input_arg = args.at(1); - if (encodable_input_arg.IsNull()) { - reply(WrapError("input_arg unexpectedly null.")); - return; - } - const auto& input_arg = - std::get(encodable_input_arg); - api->ReauthenticateWithCredential( - app_arg, input_arg, - [reply](ErrorOr&& output) { - if (output.has_error()) { - reply(WrapError(output.error())); - return; - } - EncodableList wrapped; - wrapped.push_back( - CustomEncodableValue(std::move(output).TakeValue())); - reply(EncodableValue(std::move(wrapped))); - }); - } catch (const std::exception& exception) { - reply(WrapError(exception.what())); - } - }); - } else { - channel.SetMessageHandler(nullptr); - } - } - { - BasicMessageChannel<> channel( - binary_messenger, - "dev.flutter.pigeon.firebase_auth_platform_interface." - "FirebaseAuthUserHostApi.reauthenticateWithProvider" + - prepended_suffix, - &GetCodec()); - if (api != nullptr) { - channel.SetMessageHandler( - [api](const EncodableValue& message, - const ::flutter::MessageReply& reply) { - try { - const auto& args = std::get(message); - const auto& encodable_app_arg = args.at(0); - if (encodable_app_arg.IsNull()) { - reply(WrapError("app_arg unexpectedly null.")); - return; - } - const auto& app_arg = std::any_cast( - std::get(encodable_app_arg)); - const auto& encodable_sign_in_provider_arg = args.at(1); - if (encodable_sign_in_provider_arg.IsNull()) { - reply(WrapError("sign_in_provider_arg unexpectedly null.")); - return; - } - const auto& sign_in_provider_arg = - std::any_cast( - std::get( - encodable_sign_in_provider_arg)); - api->ReauthenticateWithProvider( - app_arg, sign_in_provider_arg, - [reply](ErrorOr&& output) { - if (output.has_error()) { - reply(WrapError(output.error())); - return; - } - EncodableList wrapped; - wrapped.push_back( - CustomEncodableValue(std::move(output).TakeValue())); - reply(EncodableValue(std::move(wrapped))); - }); - } catch (const std::exception& exception) { - reply(WrapError(exception.what())); - } - }); - } else { - channel.SetMessageHandler(nullptr); - } - } - { - BasicMessageChannel<> channel(binary_messenger, - "dev.flutter.pigeon.firebase_auth_platform_" - "interface.FirebaseAuthUserHostApi.reload" + - prepended_suffix, - &GetCodec()); - if (api != nullptr) { - channel.SetMessageHandler( - [api](const EncodableValue& message, - const ::flutter::MessageReply& reply) { - try { - const auto& args = std::get(message); - const auto& encodable_app_arg = args.at(0); - if (encodable_app_arg.IsNull()) { - reply(WrapError("app_arg unexpectedly null.")); - return; - } - const auto& app_arg = std::any_cast( - std::get(encodable_app_arg)); - api->Reload( - app_arg, [reply](ErrorOr&& output) { - if (output.has_error()) { - reply(WrapError(output.error())); - return; - } - EncodableList wrapped; - wrapped.push_back( - CustomEncodableValue(std::move(output).TakeValue())); - reply(EncodableValue(std::move(wrapped))); - }); - } catch (const std::exception& exception) { - reply(WrapError(exception.what())); - } - }); - } else { - channel.SetMessageHandler(nullptr); - } - } - { - BasicMessageChannel<> channel( - binary_messenger, - "dev.flutter.pigeon.firebase_auth_platform_interface." - "FirebaseAuthUserHostApi.sendEmailVerification" + - prepended_suffix, - &GetCodec()); - if (api != nullptr) { - channel.SetMessageHandler( - [api](const EncodableValue& message, - const ::flutter::MessageReply& reply) { - try { - const auto& args = std::get(message); - const auto& encodable_app_arg = args.at(0); - if (encodable_app_arg.IsNull()) { - reply(WrapError("app_arg unexpectedly null.")); - return; - } - const auto& app_arg = std::any_cast( - std::get(encodable_app_arg)); - const auto& encodable_action_code_settings_arg = args.at(1); - const auto* action_code_settings_arg = - encodable_action_code_settings_arg.IsNull() - ? nullptr - : &(std::any_cast( - std::get( - encodable_action_code_settings_arg))); - api->SendEmailVerification( - app_arg, action_code_settings_arg, - [reply](std::optional&& output) { - if (output.has_value()) { - reply(WrapError(output.value())); - return; - } - EncodableList wrapped; - wrapped.push_back(EncodableValue()); - reply(EncodableValue(std::move(wrapped))); - }); - } catch (const std::exception& exception) { - reply(WrapError(exception.what())); - } - }); - } else { - channel.SetMessageHandler(nullptr); - } - } - { - BasicMessageChannel<> channel(binary_messenger, - "dev.flutter.pigeon.firebase_auth_platform_" - "interface.FirebaseAuthUserHostApi.unlink" + - prepended_suffix, - &GetCodec()); - if (api != nullptr) { - channel.SetMessageHandler( - [api](const EncodableValue& message, - const ::flutter::MessageReply& reply) { - try { - const auto& args = std::get(message); - const auto& encodable_app_arg = args.at(0); - if (encodable_app_arg.IsNull()) { - reply(WrapError("app_arg unexpectedly null.")); - return; - } - const auto& app_arg = std::any_cast( - std::get(encodable_app_arg)); - const auto& encodable_provider_id_arg = args.at(1); - if (encodable_provider_id_arg.IsNull()) { - reply(WrapError("provider_id_arg unexpectedly null.")); - return; - } - const auto& provider_id_arg = - std::get(encodable_provider_id_arg); - api->Unlink(app_arg, provider_id_arg, - [reply](ErrorOr&& output) { - if (output.has_error()) { - reply(WrapError(output.error())); - return; - } - EncodableList wrapped; - wrapped.push_back(CustomEncodableValue( - std::move(output).TakeValue())); - reply(EncodableValue(std::move(wrapped))); - }); - } catch (const std::exception& exception) { - reply(WrapError(exception.what())); - } - }); - } else { - channel.SetMessageHandler(nullptr); - } - } - { - BasicMessageChannel<> channel( - binary_messenger, - "dev.flutter.pigeon.firebase_auth_platform_interface." - "FirebaseAuthUserHostApi.updateEmail" + - prepended_suffix, - &GetCodec()); - if (api != nullptr) { - channel.SetMessageHandler( - [api](const EncodableValue& message, - const ::flutter::MessageReply& reply) { - try { - const auto& args = std::get(message); - const auto& encodable_app_arg = args.at(0); - if (encodable_app_arg.IsNull()) { - reply(WrapError("app_arg unexpectedly null.")); - return; - } - const auto& app_arg = std::any_cast( - std::get(encodable_app_arg)); - const auto& encodable_new_email_arg = args.at(1); - if (encodable_new_email_arg.IsNull()) { - reply(WrapError("new_email_arg unexpectedly null.")); - return; - } - const auto& new_email_arg = - std::get(encodable_new_email_arg); - api->UpdateEmail(app_arg, new_email_arg, - [reply](ErrorOr&& output) { - if (output.has_error()) { - reply(WrapError(output.error())); - return; - } - EncodableList wrapped; - wrapped.push_back(CustomEncodableValue( - std::move(output).TakeValue())); - reply(EncodableValue(std::move(wrapped))); - }); - } catch (const std::exception& exception) { - reply(WrapError(exception.what())); - } - }); - } else { - channel.SetMessageHandler(nullptr); - } - } - { - BasicMessageChannel<> channel( - binary_messenger, - "dev.flutter.pigeon.firebase_auth_platform_interface." - "FirebaseAuthUserHostApi.updatePassword" + - prepended_suffix, - &GetCodec()); - if (api != nullptr) { - channel.SetMessageHandler( - [api](const EncodableValue& message, - const ::flutter::MessageReply& reply) { - try { - const auto& args = std::get(message); - const auto& encodable_app_arg = args.at(0); - if (encodable_app_arg.IsNull()) { - reply(WrapError("app_arg unexpectedly null.")); - return; - } - const auto& app_arg = std::any_cast( - std::get(encodable_app_arg)); - const auto& encodable_new_password_arg = args.at(1); - if (encodable_new_password_arg.IsNull()) { - reply(WrapError("new_password_arg unexpectedly null.")); - return; - } - const auto& new_password_arg = - std::get(encodable_new_password_arg); - api->UpdatePassword( - app_arg, new_password_arg, - [reply](ErrorOr&& output) { - if (output.has_error()) { - reply(WrapError(output.error())); - return; - } - EncodableList wrapped; - wrapped.push_back( - CustomEncodableValue(std::move(output).TakeValue())); - reply(EncodableValue(std::move(wrapped))); - }); - } catch (const std::exception& exception) { - reply(WrapError(exception.what())); - } - }); - } else { - channel.SetMessageHandler(nullptr); - } - } - { - BasicMessageChannel<> channel( - binary_messenger, - "dev.flutter.pigeon.firebase_auth_platform_interface." - "FirebaseAuthUserHostApi.updatePhoneNumber" + - prepended_suffix, - &GetCodec()); - if (api != nullptr) { - channel.SetMessageHandler( - [api](const EncodableValue& message, - const ::flutter::MessageReply& reply) { - try { - const auto& args = std::get(message); - const auto& encodable_app_arg = args.at(0); - if (encodable_app_arg.IsNull()) { - reply(WrapError("app_arg unexpectedly null.")); - return; - } - const auto& app_arg = std::any_cast( - std::get(encodable_app_arg)); - const auto& encodable_input_arg = args.at(1); - if (encodable_input_arg.IsNull()) { - reply(WrapError("input_arg unexpectedly null.")); - return; - } - const auto& input_arg = - std::get(encodable_input_arg); - api->UpdatePhoneNumber( - app_arg, input_arg, - [reply](ErrorOr&& output) { - if (output.has_error()) { - reply(WrapError(output.error())); - return; - } - EncodableList wrapped; - wrapped.push_back( - CustomEncodableValue(std::move(output).TakeValue())); - reply(EncodableValue(std::move(wrapped))); - }); - } catch (const std::exception& exception) { - reply(WrapError(exception.what())); - } - }); - } else { - channel.SetMessageHandler(nullptr); - } - } - { - BasicMessageChannel<> channel( - binary_messenger, - "dev.flutter.pigeon.firebase_auth_platform_interface." - "FirebaseAuthUserHostApi.updateProfile" + - prepended_suffix, - &GetCodec()); - if (api != nullptr) { - channel.SetMessageHandler( - [api](const EncodableValue& message, - const ::flutter::MessageReply& reply) { - try { - const auto& args = std::get(message); - const auto& encodable_app_arg = args.at(0); - if (encodable_app_arg.IsNull()) { - reply(WrapError("app_arg unexpectedly null.")); - return; - } - const auto& app_arg = std::any_cast( - std::get(encodable_app_arg)); - const auto& encodable_profile_arg = args.at(1); - if (encodable_profile_arg.IsNull()) { - reply(WrapError("profile_arg unexpectedly null.")); - return; - } - const auto& profile_arg = - std::any_cast( - std::get(encodable_profile_arg)); - api->UpdateProfile( - app_arg, profile_arg, - [reply](ErrorOr&& output) { - if (output.has_error()) { - reply(WrapError(output.error())); - return; - } - EncodableList wrapped; - wrapped.push_back( - CustomEncodableValue(std::move(output).TakeValue())); - reply(EncodableValue(std::move(wrapped))); - }); - } catch (const std::exception& exception) { - reply(WrapError(exception.what())); - } - }); - } else { - channel.SetMessageHandler(nullptr); - } - } - { - BasicMessageChannel<> channel( - binary_messenger, - "dev.flutter.pigeon.firebase_auth_platform_interface." - "FirebaseAuthUserHostApi.verifyBeforeUpdateEmail" + - prepended_suffix, - &GetCodec()); - if (api != nullptr) { - channel.SetMessageHandler( - [api](const EncodableValue& message, - const ::flutter::MessageReply& reply) { - try { - const auto& args = std::get(message); - const auto& encodable_app_arg = args.at(0); - if (encodable_app_arg.IsNull()) { - reply(WrapError("app_arg unexpectedly null.")); - return; - } - const auto& app_arg = std::any_cast( - std::get(encodable_app_arg)); - const auto& encodable_new_email_arg = args.at(1); - if (encodable_new_email_arg.IsNull()) { - reply(WrapError("new_email_arg unexpectedly null.")); - return; - } - const auto& new_email_arg = - std::get(encodable_new_email_arg); - const auto& encodable_action_code_settings_arg = args.at(2); - const auto* action_code_settings_arg = - encodable_action_code_settings_arg.IsNull() - ? nullptr - : &(std::any_cast( - std::get( - encodable_action_code_settings_arg))); - api->VerifyBeforeUpdateEmail( - app_arg, new_email_arg, action_code_settings_arg, - [reply](std::optional&& output) { - if (output.has_value()) { - reply(WrapError(output.value())); - return; - } - EncodableList wrapped; - wrapped.push_back(EncodableValue()); - reply(EncodableValue(std::move(wrapped))); - }); - } catch (const std::exception& exception) { - reply(WrapError(exception.what())); - } - }); - } else { - channel.SetMessageHandler(nullptr); - } - } -} - -EncodableValue FirebaseAuthUserHostApi::WrapError( - std::string_view error_message) { - return EncodableValue( - EncodableList{EncodableValue(std::string(error_message)), - EncodableValue("Error"), EncodableValue()}); -} - -EncodableValue FirebaseAuthUserHostApi::WrapError(const FlutterError& error) { - return EncodableValue(EncodableList{EncodableValue(error.code()), - EncodableValue(error.message()), - error.details()}); -} - -/// The codec used by MultiFactorUserHostApi. -const ::flutter::StandardMessageCodec& MultiFactorUserHostApi::GetCodec() { - return ::flutter::StandardMessageCodec::GetInstance( - &PigeonInternalCodecSerializer::GetInstance()); -} - -// Sets up an instance of `MultiFactorUserHostApi` to handle messages through -// the `binary_messenger`. -void MultiFactorUserHostApi::SetUp(::flutter::BinaryMessenger* binary_messenger, - MultiFactorUserHostApi* api) { - MultiFactorUserHostApi::SetUp(binary_messenger, api, ""); -} - -void MultiFactorUserHostApi::SetUp(::flutter::BinaryMessenger* binary_messenger, - MultiFactorUserHostApi* api, - const std::string& message_channel_suffix) { - const std::string prepended_suffix = - message_channel_suffix.length() > 0 - ? std::string(".") + message_channel_suffix - : ""; - { - BasicMessageChannel<> channel( - binary_messenger, - "dev.flutter.pigeon.firebase_auth_platform_interface." - "MultiFactorUserHostApi.enrollPhone" + - prepended_suffix, - &GetCodec()); - if (api != nullptr) { - channel.SetMessageHandler( - [api](const EncodableValue& message, - const ::flutter::MessageReply& reply) { - try { - const auto& args = std::get(message); - const auto& encodable_app_arg = args.at(0); - if (encodable_app_arg.IsNull()) { - reply(WrapError("app_arg unexpectedly null.")); - return; - } - const auto& app_arg = std::any_cast( - std::get(encodable_app_arg)); - const auto& encodable_assertion_arg = args.at(1); - if (encodable_assertion_arg.IsNull()) { - reply(WrapError("assertion_arg unexpectedly null.")); - return; - } - const auto& assertion_arg = - std::any_cast( - std::get(encodable_assertion_arg)); - const auto& encodable_display_name_arg = args.at(2); - const auto* display_name_arg = - std::get_if(&encodable_display_name_arg); - api->EnrollPhone(app_arg, assertion_arg, display_name_arg, - [reply](std::optional&& output) { - if (output.has_value()) { - reply(WrapError(output.value())); - return; - } - EncodableList wrapped; - wrapped.push_back(EncodableValue()); - reply(EncodableValue(std::move(wrapped))); - }); - } catch (const std::exception& exception) { - reply(WrapError(exception.what())); - } - }); - } else { - channel.SetMessageHandler(nullptr); - } - } - { - BasicMessageChannel<> channel( - binary_messenger, - "dev.flutter.pigeon.firebase_auth_platform_interface." - "MultiFactorUserHostApi.enrollTotp" + - prepended_suffix, - &GetCodec()); - if (api != nullptr) { - channel.SetMessageHandler( - [api](const EncodableValue& message, - const ::flutter::MessageReply& reply) { - try { - const auto& args = std::get(message); - const auto& encodable_app_arg = args.at(0); - if (encodable_app_arg.IsNull()) { - reply(WrapError("app_arg unexpectedly null.")); - return; - } - const auto& app_arg = std::any_cast( - std::get(encodable_app_arg)); - const auto& encodable_assertion_id_arg = args.at(1); - if (encodable_assertion_id_arg.IsNull()) { - reply(WrapError("assertion_id_arg unexpectedly null.")); - return; - } - const auto& assertion_id_arg = - std::get(encodable_assertion_id_arg); - const auto& encodable_display_name_arg = args.at(2); - const auto* display_name_arg = - std::get_if(&encodable_display_name_arg); - api->EnrollTotp(app_arg, assertion_id_arg, display_name_arg, - [reply](std::optional&& output) { - if (output.has_value()) { - reply(WrapError(output.value())); - return; - } - EncodableList wrapped; - wrapped.push_back(EncodableValue()); - reply(EncodableValue(std::move(wrapped))); - }); - } catch (const std::exception& exception) { - reply(WrapError(exception.what())); - } - }); - } else { - channel.SetMessageHandler(nullptr); - } - } - { - BasicMessageChannel<> channel( - binary_messenger, - "dev.flutter.pigeon.firebase_auth_platform_interface." - "MultiFactorUserHostApi.getSession" + - prepended_suffix, - &GetCodec()); - if (api != nullptr) { - channel.SetMessageHandler( - [api](const EncodableValue& message, - const ::flutter::MessageReply& reply) { - try { - const auto& args = std::get(message); - const auto& encodable_app_arg = args.at(0); - if (encodable_app_arg.IsNull()) { - reply(WrapError("app_arg unexpectedly null.")); - return; - } - const auto& app_arg = std::any_cast( - std::get(encodable_app_arg)); - api->GetSession( - app_arg, - [reply](ErrorOr&& output) { - if (output.has_error()) { - reply(WrapError(output.error())); - return; - } - EncodableList wrapped; - wrapped.push_back( - CustomEncodableValue(std::move(output).TakeValue())); - reply(EncodableValue(std::move(wrapped))); - }); - } catch (const std::exception& exception) { - reply(WrapError(exception.what())); - } - }); - } else { - channel.SetMessageHandler(nullptr); - } - } - { - BasicMessageChannel<> channel(binary_messenger, - "dev.flutter.pigeon.firebase_auth_platform_" - "interface.MultiFactorUserHostApi.unenroll" + - prepended_suffix, - &GetCodec()); - if (api != nullptr) { - channel.SetMessageHandler( - [api](const EncodableValue& message, - const ::flutter::MessageReply& reply) { - try { - const auto& args = std::get(message); - const auto& encodable_app_arg = args.at(0); - if (encodable_app_arg.IsNull()) { - reply(WrapError("app_arg unexpectedly null.")); - return; - } - const auto& app_arg = std::any_cast( - std::get(encodable_app_arg)); - const auto& encodable_factor_uid_arg = args.at(1); - if (encodable_factor_uid_arg.IsNull()) { - reply(WrapError("factor_uid_arg unexpectedly null.")); - return; - } - const auto& factor_uid_arg = - std::get(encodable_factor_uid_arg); - api->Unenroll(app_arg, factor_uid_arg, - [reply](std::optional&& output) { - if (output.has_value()) { - reply(WrapError(output.value())); - return; - } - EncodableList wrapped; - wrapped.push_back(EncodableValue()); - reply(EncodableValue(std::move(wrapped))); - }); - } catch (const std::exception& exception) { - reply(WrapError(exception.what())); - } - }); - } else { - channel.SetMessageHandler(nullptr); - } - } - { - BasicMessageChannel<> channel( - binary_messenger, - "dev.flutter.pigeon.firebase_auth_platform_interface." - "MultiFactorUserHostApi.getEnrolledFactors" + - prepended_suffix, - &GetCodec()); - if (api != nullptr) { - channel.SetMessageHandler( - [api](const EncodableValue& message, - const ::flutter::MessageReply& reply) { - try { - const auto& args = std::get(message); - const auto& encodable_app_arg = args.at(0); - if (encodable_app_arg.IsNull()) { - reply(WrapError("app_arg unexpectedly null.")); - return; - } - const auto& app_arg = std::any_cast( - std::get(encodable_app_arg)); - api->GetEnrolledFactors( - app_arg, [reply](ErrorOr&& output) { - if (output.has_error()) { - reply(WrapError(output.error())); - return; - } - EncodableList wrapped; - wrapped.push_back( - EncodableValue(std::move(output).TakeValue())); - reply(EncodableValue(std::move(wrapped))); - }); - } catch (const std::exception& exception) { - reply(WrapError(exception.what())); - } - }); - } else { - channel.SetMessageHandler(nullptr); - } - } -} - -EncodableValue MultiFactorUserHostApi::WrapError( - std::string_view error_message) { - return EncodableValue( - EncodableList{EncodableValue(std::string(error_message)), - EncodableValue("Error"), EncodableValue()}); -} - -EncodableValue MultiFactorUserHostApi::WrapError(const FlutterError& error) { - return EncodableValue(EncodableList{EncodableValue(error.code()), - EncodableValue(error.message()), - error.details()}); -} - -/// The codec used by MultiFactoResolverHostApi. -const ::flutter::StandardMessageCodec& MultiFactoResolverHostApi::GetCodec() { - return ::flutter::StandardMessageCodec::GetInstance( - &PigeonInternalCodecSerializer::GetInstance()); -} - -// Sets up an instance of `MultiFactoResolverHostApi` to handle messages through -// the `binary_messenger`. -void MultiFactoResolverHostApi::SetUp( - ::flutter::BinaryMessenger* binary_messenger, - MultiFactoResolverHostApi* api) { - MultiFactoResolverHostApi::SetUp(binary_messenger, api, ""); -} - -void MultiFactoResolverHostApi::SetUp( - ::flutter::BinaryMessenger* binary_messenger, - MultiFactoResolverHostApi* api, const std::string& message_channel_suffix) { - const std::string prepended_suffix = - message_channel_suffix.length() > 0 - ? std::string(".") + message_channel_suffix - : ""; - { - BasicMessageChannel<> channel( - binary_messenger, - "dev.flutter.pigeon.firebase_auth_platform_interface." - "MultiFactoResolverHostApi.resolveSignIn" + - prepended_suffix, - &GetCodec()); - if (api != nullptr) { - channel.SetMessageHandler([api](const EncodableValue& message, - const ::flutter::MessageReply< - EncodableValue>& reply) { - try { - const auto& args = std::get(message); - const auto& encodable_resolver_id_arg = args.at(0); - if (encodable_resolver_id_arg.IsNull()) { - reply(WrapError("resolver_id_arg unexpectedly null.")); - return; - } - const auto& resolver_id_arg = - std::get(encodable_resolver_id_arg); - const auto& encodable_assertion_arg = args.at(1); - const auto* assertion_arg = - encodable_assertion_arg.IsNull() - ? nullptr - : &(std::any_cast( - std::get( - encodable_assertion_arg))); - const auto& encodable_totp_assertion_id_arg = args.at(2); - const auto* totp_assertion_id_arg = - std::get_if(&encodable_totp_assertion_id_arg); - api->ResolveSignIn( - resolver_id_arg, assertion_arg, totp_assertion_id_arg, - [reply](ErrorOr&& output) { - if (output.has_error()) { - reply(WrapError(output.error())); - return; - } - EncodableList wrapped; - wrapped.push_back( - CustomEncodableValue(std::move(output).TakeValue())); - reply(EncodableValue(std::move(wrapped))); - }); - } catch (const std::exception& exception) { - reply(WrapError(exception.what())); - } - }); - } else { - channel.SetMessageHandler(nullptr); - } - } -} - -EncodableValue MultiFactoResolverHostApi::WrapError( - std::string_view error_message) { - return EncodableValue( - EncodableList{EncodableValue(std::string(error_message)), - EncodableValue("Error"), EncodableValue()}); -} - -EncodableValue MultiFactoResolverHostApi::WrapError(const FlutterError& error) { - return EncodableValue(EncodableList{EncodableValue(error.code()), - EncodableValue(error.message()), - error.details()}); -} - -/// The codec used by MultiFactorTotpHostApi. -const ::flutter::StandardMessageCodec& MultiFactorTotpHostApi::GetCodec() { - return ::flutter::StandardMessageCodec::GetInstance( - &PigeonInternalCodecSerializer::GetInstance()); -} - -// Sets up an instance of `MultiFactorTotpHostApi` to handle messages through -// the `binary_messenger`. -void MultiFactorTotpHostApi::SetUp(::flutter::BinaryMessenger* binary_messenger, - MultiFactorTotpHostApi* api) { - MultiFactorTotpHostApi::SetUp(binary_messenger, api, ""); -} - -void MultiFactorTotpHostApi::SetUp(::flutter::BinaryMessenger* binary_messenger, - MultiFactorTotpHostApi* api, - const std::string& message_channel_suffix) { - const std::string prepended_suffix = - message_channel_suffix.length() > 0 - ? std::string(".") + message_channel_suffix - : ""; - { - BasicMessageChannel<> channel( - binary_messenger, - "dev.flutter.pigeon.firebase_auth_platform_interface." - "MultiFactorTotpHostApi.generateSecret" + - prepended_suffix, - &GetCodec()); - if (api != nullptr) { - channel.SetMessageHandler( - [api](const EncodableValue& message, - const ::flutter::MessageReply& reply) { - try { - const auto& args = std::get(message); - const auto& encodable_session_id_arg = args.at(0); - if (encodable_session_id_arg.IsNull()) { - reply(WrapError("session_id_arg unexpectedly null.")); - return; - } - const auto& session_id_arg = - std::get(encodable_session_id_arg); - api->GenerateSecret( - session_id_arg, - [reply](ErrorOr&& output) { - if (output.has_error()) { - reply(WrapError(output.error())); - return; - } - EncodableList wrapped; - wrapped.push_back( - CustomEncodableValue(std::move(output).TakeValue())); - reply(EncodableValue(std::move(wrapped))); - }); - } catch (const std::exception& exception) { - reply(WrapError(exception.what())); - } - }); - } else { - channel.SetMessageHandler(nullptr); - } - } - { - BasicMessageChannel<> channel( - binary_messenger, - "dev.flutter.pigeon.firebase_auth_platform_interface." - "MultiFactorTotpHostApi.getAssertionForEnrollment" + - prepended_suffix, - &GetCodec()); - if (api != nullptr) { - channel.SetMessageHandler( - [api](const EncodableValue& message, - const ::flutter::MessageReply& reply) { - try { - const auto& args = std::get(message); - const auto& encodable_secret_key_arg = args.at(0); - if (encodable_secret_key_arg.IsNull()) { - reply(WrapError("secret_key_arg unexpectedly null.")); - return; - } - const auto& secret_key_arg = - std::get(encodable_secret_key_arg); - const auto& encodable_one_time_password_arg = args.at(1); - if (encodable_one_time_password_arg.IsNull()) { - reply(WrapError("one_time_password_arg unexpectedly null.")); - return; - } - const auto& one_time_password_arg = - std::get(encodable_one_time_password_arg); - api->GetAssertionForEnrollment( - secret_key_arg, one_time_password_arg, - [reply](ErrorOr&& output) { - if (output.has_error()) { - reply(WrapError(output.error())); - return; - } - EncodableList wrapped; - wrapped.push_back( - EncodableValue(std::move(output).TakeValue())); - reply(EncodableValue(std::move(wrapped))); - }); - } catch (const std::exception& exception) { - reply(WrapError(exception.what())); - } - }); - } else { - channel.SetMessageHandler(nullptr); - } - } - { - BasicMessageChannel<> channel( - binary_messenger, - "dev.flutter.pigeon.firebase_auth_platform_interface." - "MultiFactorTotpHostApi.getAssertionForSignIn" + - prepended_suffix, - &GetCodec()); - if (api != nullptr) { - channel.SetMessageHandler( - [api](const EncodableValue& message, - const ::flutter::MessageReply& reply) { - try { - const auto& args = std::get(message); - const auto& encodable_enrollment_id_arg = args.at(0); - if (encodable_enrollment_id_arg.IsNull()) { - reply(WrapError("enrollment_id_arg unexpectedly null.")); - return; - } - const auto& enrollment_id_arg = - std::get(encodable_enrollment_id_arg); - const auto& encodable_one_time_password_arg = args.at(1); - if (encodable_one_time_password_arg.IsNull()) { - reply(WrapError("one_time_password_arg unexpectedly null.")); - return; - } - const auto& one_time_password_arg = - std::get(encodable_one_time_password_arg); - api->GetAssertionForSignIn( - enrollment_id_arg, one_time_password_arg, - [reply](ErrorOr&& output) { - if (output.has_error()) { - reply(WrapError(output.error())); - return; - } - EncodableList wrapped; - wrapped.push_back( - EncodableValue(std::move(output).TakeValue())); - reply(EncodableValue(std::move(wrapped))); - }); - } catch (const std::exception& exception) { - reply(WrapError(exception.what())); - } - }); - } else { - channel.SetMessageHandler(nullptr); - } - } -} - -EncodableValue MultiFactorTotpHostApi::WrapError( - std::string_view error_message) { - return EncodableValue( - EncodableList{EncodableValue(std::string(error_message)), - EncodableValue("Error"), EncodableValue()}); -} - -EncodableValue MultiFactorTotpHostApi::WrapError(const FlutterError& error) { - return EncodableValue(EncodableList{EncodableValue(error.code()), - EncodableValue(error.message()), - error.details()}); -} - -/// The codec used by MultiFactorTotpSecretHostApi. -const ::flutter::StandardMessageCodec& -MultiFactorTotpSecretHostApi::GetCodec() { - return ::flutter::StandardMessageCodec::GetInstance( - &PigeonInternalCodecSerializer::GetInstance()); -} - -// Sets up an instance of `MultiFactorTotpSecretHostApi` to handle messages -// through the `binary_messenger`. -void MultiFactorTotpSecretHostApi::SetUp( - ::flutter::BinaryMessenger* binary_messenger, - MultiFactorTotpSecretHostApi* api) { - MultiFactorTotpSecretHostApi::SetUp(binary_messenger, api, ""); -} - -void MultiFactorTotpSecretHostApi::SetUp( - ::flutter::BinaryMessenger* binary_messenger, - MultiFactorTotpSecretHostApi* api, - const std::string& message_channel_suffix) { - const std::string prepended_suffix = - message_channel_suffix.length() > 0 - ? std::string(".") + message_channel_suffix - : ""; - { - BasicMessageChannel<> channel( - binary_messenger, - "dev.flutter.pigeon.firebase_auth_platform_interface." - "MultiFactorTotpSecretHostApi.generateQrCodeUrl" + - prepended_suffix, - &GetCodec()); - if (api != nullptr) { - channel.SetMessageHandler( - [api](const EncodableValue& message, - const ::flutter::MessageReply& reply) { - try { - const auto& args = std::get(message); - const auto& encodable_secret_key_arg = args.at(0); - if (encodable_secret_key_arg.IsNull()) { - reply(WrapError("secret_key_arg unexpectedly null.")); - return; - } - const auto& secret_key_arg = - std::get(encodable_secret_key_arg); - const auto& encodable_account_name_arg = args.at(1); - const auto* account_name_arg = - std::get_if(&encodable_account_name_arg); - const auto& encodable_issuer_arg = args.at(2); - const auto* issuer_arg = - std::get_if(&encodable_issuer_arg); - api->GenerateQrCodeUrl( - secret_key_arg, account_name_arg, issuer_arg, - [reply](ErrorOr&& output) { - if (output.has_error()) { - reply(WrapError(output.error())); - return; - } - EncodableList wrapped; - wrapped.push_back( - EncodableValue(std::move(output).TakeValue())); - reply(EncodableValue(std::move(wrapped))); - }); - } catch (const std::exception& exception) { - reply(WrapError(exception.what())); - } - }); - } else { - channel.SetMessageHandler(nullptr); - } - } - { - BasicMessageChannel<> channel( - binary_messenger, - "dev.flutter.pigeon.firebase_auth_platform_interface." - "MultiFactorTotpSecretHostApi.openInOtpApp" + - prepended_suffix, - &GetCodec()); - if (api != nullptr) { - channel.SetMessageHandler( - [api](const EncodableValue& message, - const ::flutter::MessageReply& reply) { - try { - const auto& args = std::get(message); - const auto& encodable_secret_key_arg = args.at(0); - if (encodable_secret_key_arg.IsNull()) { - reply(WrapError("secret_key_arg unexpectedly null.")); - return; - } - const auto& secret_key_arg = - std::get(encodable_secret_key_arg); - const auto& encodable_qr_code_url_arg = args.at(1); - if (encodable_qr_code_url_arg.IsNull()) { - reply(WrapError("qr_code_url_arg unexpectedly null.")); - return; - } - const auto& qr_code_url_arg = - std::get(encodable_qr_code_url_arg); - api->OpenInOtpApp(secret_key_arg, qr_code_url_arg, - [reply](std::optional&& output) { - if (output.has_value()) { - reply(WrapError(output.value())); - return; - } - EncodableList wrapped; - wrapped.push_back(EncodableValue()); - reply(EncodableValue(std::move(wrapped))); - }); - } catch (const std::exception& exception) { - reply(WrapError(exception.what())); - } - }); - } else { - channel.SetMessageHandler(nullptr); - } - } -} - -EncodableValue MultiFactorTotpSecretHostApi::WrapError( - std::string_view error_message) { - return EncodableValue( - EncodableList{EncodableValue(std::string(error_message)), - EncodableValue("Error"), EncodableValue()}); -} - -EncodableValue MultiFactorTotpSecretHostApi::WrapError( - const FlutterError& error) { - return EncodableValue(EncodableList{EncodableValue(error.code()), - EncodableValue(error.message()), - error.details()}); -} - -/// The codec used by GenerateInterfaces. -const ::flutter::StandardMessageCodec& GenerateInterfaces::GetCodec() { - return ::flutter::StandardMessageCodec::GetInstance( - &PigeonInternalCodecSerializer::GetInstance()); -} - -// Sets up an instance of `GenerateInterfaces` to handle messages through the -// `binary_messenger`. -void GenerateInterfaces::SetUp(::flutter::BinaryMessenger* binary_messenger, - GenerateInterfaces* api) { - GenerateInterfaces::SetUp(binary_messenger, api, ""); -} - -void GenerateInterfaces::SetUp(::flutter::BinaryMessenger* binary_messenger, - GenerateInterfaces* api, - const std::string& message_channel_suffix) { - const std::string prepended_suffix = - message_channel_suffix.length() > 0 - ? std::string(".") + message_channel_suffix - : ""; - { - BasicMessageChannel<> channel( - binary_messenger, - "dev.flutter.pigeon.firebase_auth_platform_interface." - "GenerateInterfaces.pigeonInterface" + - prepended_suffix, - &GetCodec()); - if (api != nullptr) { - channel.SetMessageHandler( - [api](const EncodableValue& message, - const ::flutter::MessageReply& reply) { - try { - const auto& args = std::get(message); - const auto& encodable_info_arg = args.at(0); - if (encodable_info_arg.IsNull()) { - reply(WrapError("info_arg unexpectedly null.")); - return; - } - const auto& info_arg = - std::any_cast( - std::get(encodable_info_arg)); - std::optional output = - api->PigeonInterface(info_arg); - if (output.has_value()) { - reply(WrapError(output.value())); - return; - } - EncodableList wrapped; - wrapped.push_back(EncodableValue()); - reply(EncodableValue(std::move(wrapped))); - } catch (const std::exception& exception) { - reply(WrapError(exception.what())); - } - }); - } else { - channel.SetMessageHandler(nullptr); - } - } -} - -EncodableValue GenerateInterfaces::WrapError(std::string_view error_message) { - return EncodableValue( - EncodableList{EncodableValue(std::string(error_message)), - EncodableValue("Error"), EncodableValue()}); -} - -EncodableValue GenerateInterfaces::WrapError(const FlutterError& error) { - return EncodableValue(EncodableList{EncodableValue(error.code()), - EncodableValue(error.message()), - error.details()}); -} - -} // namespace firebase_auth_windows diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/windows/messages.g.h b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/windows/messages.g.h deleted file mode 100644 index e1e1af02..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/windows/messages.g.h +++ /dev/null @@ -1,1531 +0,0 @@ -// Copyright 2023, the Chromium project authors. Please see the AUTHORS file -// for details. All rights reserved. Use of this source code is governed by a -// BSD-style license that can be found in the LICENSE file. -// Autogenerated from Pigeon (v26.3.4), do not edit directly. -// See also: https://pub.dev/packages/pigeon - -#ifndef PIGEON_MESSAGES_G_H_ -#define PIGEON_MESSAGES_G_H_ -#include -#include -#include -#include - -#include -#include -#include - -namespace firebase_auth_windows { - -// Generated class from Pigeon. - -class FlutterError { - public: - explicit FlutterError(const std::string& code) : code_(code) {} - explicit FlutterError(const std::string& code, const std::string& message) - : code_(code), message_(message) {} - explicit FlutterError(const std::string& code, const std::string& message, - const ::flutter::EncodableValue& details) - : code_(code), message_(message), details_(details) {} - - const std::string& code() const { return code_; } - const std::string& message() const { return message_; } - const ::flutter::EncodableValue& details() const { return details_; } - - private: - std::string code_; - std::string message_; - ::flutter::EncodableValue details_; -}; - -template -class ErrorOr { - public: - ErrorOr(const T& rhs) : v_(rhs) {} - ErrorOr(const T&& rhs) : v_(std::move(rhs)) {} - ErrorOr(const FlutterError& rhs) : v_(rhs) {} - ErrorOr(const FlutterError&& rhs) : v_(std::move(rhs)) {} - - bool has_error() const { return std::holds_alternative(v_); } - const T& value() const { return std::get(v_); }; - const FlutterError& error() const { return std::get(v_); }; - - private: - friend class FirebaseAuthHostApi; - friend class FirebaseAuthUserHostApi; - friend class MultiFactorUserHostApi; - friend class MultiFactoResolverHostApi; - friend class MultiFactorTotpHostApi; - friend class MultiFactorTotpSecretHostApi; - friend class GenerateInterfaces; - ErrorOr() = default; - T TakeValue() && { return std::get(std::move(v_)); } - - std::variant v_; -}; - -// The type of operation that generated the action code from calling -// [checkActionCode]. -enum class ActionCodeInfoOperation { - // Unknown operation. - kUnknown = 0, - // Password reset code generated via [sendPasswordResetEmail]. - kPasswordReset = 1, - // Email verification code generated via [User.sendEmailVerification]. - kVerifyEmail = 2, - // Email change revocation code generated via [User.updateEmail]. - kRecoverEmail = 3, - // Email sign in code generated via [sendSignInLinkToEmail]. - kEmailSignIn = 4, - // Verify and change email code generated via [User.verifyBeforeUpdateEmail]. - kVerifyAndChangeEmail = 5, - // Action code for reverting second factor addition. - kRevertSecondFactorAddition = 6 -}; - -// Generated class from Pigeon that represents data sent in messages. -class InternalMultiFactorSession { - public: - // Constructs an object setting all fields. - explicit InternalMultiFactorSession(const std::string& id); - - const std::string& id() const; - void set_id(std::string_view value_arg); - - bool operator==(const InternalMultiFactorSession& other) const; - bool operator!=(const InternalMultiFactorSession& other) const; - /// Returns a hash code value for the object. This method is supported for the - /// benefit of hash tables. - size_t Hash() const; - - private: - static InternalMultiFactorSession FromEncodableList( - const ::flutter::EncodableList& list); - - public: - ::flutter::EncodableList ToEncodableList() const; - - private: - friend class FirebaseAuthHostApi; - friend class FirebaseAuthUserHostApi; - friend class MultiFactorUserHostApi; - friend class MultiFactoResolverHostApi; - friend class MultiFactorTotpHostApi; - friend class MultiFactorTotpSecretHostApi; - friend class GenerateInterfaces; - friend class PigeonInternalCodecSerializer; - std::string id_; -}; - -// Generated class from Pigeon that represents data sent in messages. -class InternalPhoneMultiFactorAssertion { - public: - // Constructs an object setting all fields. - explicit InternalPhoneMultiFactorAssertion( - const std::string& verification_id, const std::string& verification_code); - - const std::string& verification_id() const; - void set_verification_id(std::string_view value_arg); - - const std::string& verification_code() const; - void set_verification_code(std::string_view value_arg); - - bool operator==(const InternalPhoneMultiFactorAssertion& other) const; - bool operator!=(const InternalPhoneMultiFactorAssertion& other) const; - /// Returns a hash code value for the object. This method is supported for the - /// benefit of hash tables. - size_t Hash() const; - - private: - static InternalPhoneMultiFactorAssertion FromEncodableList( - const ::flutter::EncodableList& list); - - public: - ::flutter::EncodableList ToEncodableList() const; - - private: - friend class FirebaseAuthHostApi; - friend class FirebaseAuthUserHostApi; - friend class MultiFactorUserHostApi; - friend class MultiFactoResolverHostApi; - friend class MultiFactorTotpHostApi; - friend class MultiFactorTotpSecretHostApi; - friend class GenerateInterfaces; - friend class PigeonInternalCodecSerializer; - std::string verification_id_; - std::string verification_code_; -}; - -// Generated class from Pigeon that represents data sent in messages. -class InternalMultiFactorInfo { - public: - // Constructs an object setting all non-nullable fields. - explicit InternalMultiFactorInfo(double enrollment_timestamp, - const std::string& uid); - - // Constructs an object setting all fields. - explicit InternalMultiFactorInfo(const std::string* display_name, - double enrollment_timestamp, - const std::string* factor_id, - const std::string& uid, - const std::string* phone_number); - - const std::string* display_name() const; - void set_display_name(const std::string_view* value_arg); - void set_display_name(std::string_view value_arg); - - double enrollment_timestamp() const; - void set_enrollment_timestamp(double value_arg); - - const std::string* factor_id() const; - void set_factor_id(const std::string_view* value_arg); - void set_factor_id(std::string_view value_arg); - - const std::string& uid() const; - void set_uid(std::string_view value_arg); - - const std::string* phone_number() const; - void set_phone_number(const std::string_view* value_arg); - void set_phone_number(std::string_view value_arg); - - bool operator==(const InternalMultiFactorInfo& other) const; - bool operator!=(const InternalMultiFactorInfo& other) const; - /// Returns a hash code value for the object. This method is supported for the - /// benefit of hash tables. - size_t Hash() const; - - private: - static InternalMultiFactorInfo FromEncodableList( - const ::flutter::EncodableList& list); - - public: - ::flutter::EncodableList ToEncodableList() const; - - private: - friend class FirebaseAuthHostApi; - friend class FirebaseAuthUserHostApi; - friend class MultiFactorUserHostApi; - friend class MultiFactoResolverHostApi; - friend class MultiFactorTotpHostApi; - friend class MultiFactorTotpSecretHostApi; - friend class GenerateInterfaces; - friend class PigeonInternalCodecSerializer; - std::optional display_name_; - double enrollment_timestamp_; - std::optional factor_id_; - std::string uid_; - std::optional phone_number_; -}; - -// Generated class from Pigeon that represents data sent in messages. -class AuthPigeonFirebaseApp { - public: - // Constructs an object setting all non-nullable fields. - explicit AuthPigeonFirebaseApp(const std::string& app_name); - - // Constructs an object setting all fields. - explicit AuthPigeonFirebaseApp(const std::string& app_name, - const std::string* tenant_id, - const std::string* custom_auth_domain); - - const std::string& app_name() const; - void set_app_name(std::string_view value_arg); - - const std::string* tenant_id() const; - void set_tenant_id(const std::string_view* value_arg); - void set_tenant_id(std::string_view value_arg); - - const std::string* custom_auth_domain() const; - void set_custom_auth_domain(const std::string_view* value_arg); - void set_custom_auth_domain(std::string_view value_arg); - - bool operator==(const AuthPigeonFirebaseApp& other) const; - bool operator!=(const AuthPigeonFirebaseApp& other) const; - /// Returns a hash code value for the object. This method is supported for the - /// benefit of hash tables. - size_t Hash() const; - - private: - static AuthPigeonFirebaseApp FromEncodableList( - const ::flutter::EncodableList& list); - - public: - ::flutter::EncodableList ToEncodableList() const; - - private: - friend class FirebaseAuthHostApi; - friend class FirebaseAuthUserHostApi; - friend class MultiFactorUserHostApi; - friend class MultiFactoResolverHostApi; - friend class MultiFactorTotpHostApi; - friend class MultiFactorTotpSecretHostApi; - friend class GenerateInterfaces; - friend class PigeonInternalCodecSerializer; - std::string app_name_; - std::optional tenant_id_; - std::optional custom_auth_domain_; -}; - -// Generated class from Pigeon that represents data sent in messages. -class InternalActionCodeInfoData { - public: - // Constructs an object setting all non-nullable fields. - InternalActionCodeInfoData(); - - // Constructs an object setting all fields. - explicit InternalActionCodeInfoData(const std::string* email, - const std::string* previous_email); - - const std::string* email() const; - void set_email(const std::string_view* value_arg); - void set_email(std::string_view value_arg); - - const std::string* previous_email() const; - void set_previous_email(const std::string_view* value_arg); - void set_previous_email(std::string_view value_arg); - - bool operator==(const InternalActionCodeInfoData& other) const; - bool operator!=(const InternalActionCodeInfoData& other) const; - /// Returns a hash code value for the object. This method is supported for the - /// benefit of hash tables. - size_t Hash() const; - - private: - static InternalActionCodeInfoData FromEncodableList( - const ::flutter::EncodableList& list); - - public: - ::flutter::EncodableList ToEncodableList() const; - - private: - friend class InternalActionCodeInfo; - friend class FirebaseAuthHostApi; - friend class FirebaseAuthUserHostApi; - friend class MultiFactorUserHostApi; - friend class MultiFactoResolverHostApi; - friend class MultiFactorTotpHostApi; - friend class MultiFactorTotpSecretHostApi; - friend class GenerateInterfaces; - friend class PigeonInternalCodecSerializer; - std::optional email_; - std::optional previous_email_; -}; - -// Generated class from Pigeon that represents data sent in messages. -class InternalActionCodeInfo { - public: - // Constructs an object setting all fields. - explicit InternalActionCodeInfo(const ActionCodeInfoOperation& operation, - const InternalActionCodeInfoData& data); - - ~InternalActionCodeInfo() = default; - InternalActionCodeInfo(const InternalActionCodeInfo& other); - InternalActionCodeInfo& operator=(const InternalActionCodeInfo& other); - InternalActionCodeInfo(InternalActionCodeInfo&& other) = default; - InternalActionCodeInfo& operator=(InternalActionCodeInfo&& other) noexcept = - default; - const ActionCodeInfoOperation& operation() const; - void set_operation(const ActionCodeInfoOperation& value_arg); - - const InternalActionCodeInfoData& data() const; - void set_data(const InternalActionCodeInfoData& value_arg); - - bool operator==(const InternalActionCodeInfo& other) const; - bool operator!=(const InternalActionCodeInfo& other) const; - /// Returns a hash code value for the object. This method is supported for the - /// benefit of hash tables. - size_t Hash() const; - - private: - static InternalActionCodeInfo FromEncodableList( - const ::flutter::EncodableList& list); - - public: - ::flutter::EncodableList ToEncodableList() const; - - private: - friend class FirebaseAuthHostApi; - friend class FirebaseAuthUserHostApi; - friend class MultiFactorUserHostApi; - friend class MultiFactoResolverHostApi; - friend class MultiFactorTotpHostApi; - friend class MultiFactorTotpSecretHostApi; - friend class GenerateInterfaces; - friend class PigeonInternalCodecSerializer; - ActionCodeInfoOperation operation_; - std::unique_ptr data_; -}; - -// Generated class from Pigeon that represents data sent in messages. -class InternalAdditionalUserInfo { - public: - // Constructs an object setting all non-nullable fields. - explicit InternalAdditionalUserInfo(bool is_new_user); - - // Constructs an object setting all fields. - explicit InternalAdditionalUserInfo(bool is_new_user, - const std::string* provider_id, - const std::string* username, - const std::string* authorization_code, - const ::flutter::EncodableMap* profile); - - bool is_new_user() const; - void set_is_new_user(bool value_arg); - - const std::string* provider_id() const; - void set_provider_id(const std::string_view* value_arg); - void set_provider_id(std::string_view value_arg); - - const std::string* username() const; - void set_username(const std::string_view* value_arg); - void set_username(std::string_view value_arg); - - const std::string* authorization_code() const; - void set_authorization_code(const std::string_view* value_arg); - void set_authorization_code(std::string_view value_arg); - - const ::flutter::EncodableMap* profile() const; - void set_profile(const ::flutter::EncodableMap* value_arg); - void set_profile(const ::flutter::EncodableMap& value_arg); - - bool operator==(const InternalAdditionalUserInfo& other) const; - bool operator!=(const InternalAdditionalUserInfo& other) const; - /// Returns a hash code value for the object. This method is supported for the - /// benefit of hash tables. - size_t Hash() const; - - private: - static InternalAdditionalUserInfo FromEncodableList( - const ::flutter::EncodableList& list); - - public: - ::flutter::EncodableList ToEncodableList() const; - - private: - friend class InternalUserCredential; - friend class FirebaseAuthHostApi; - friend class FirebaseAuthUserHostApi; - friend class MultiFactorUserHostApi; - friend class MultiFactoResolverHostApi; - friend class MultiFactorTotpHostApi; - friend class MultiFactorTotpSecretHostApi; - friend class GenerateInterfaces; - friend class PigeonInternalCodecSerializer; - bool is_new_user_; - std::optional provider_id_; - std::optional username_; - std::optional authorization_code_; - std::optional<::flutter::EncodableMap> profile_; -}; - -// Generated class from Pigeon that represents data sent in messages. -class InternalAuthCredential { - public: - // Constructs an object setting all non-nullable fields. - explicit InternalAuthCredential(const std::string& provider_id, - const std::string& sign_in_method, - int64_t native_id); - - // Constructs an object setting all fields. - explicit InternalAuthCredential(const std::string& provider_id, - const std::string& sign_in_method, - int64_t native_id, - const std::string* access_token); - - const std::string& provider_id() const; - void set_provider_id(std::string_view value_arg); - - const std::string& sign_in_method() const; - void set_sign_in_method(std::string_view value_arg); - - int64_t native_id() const; - void set_native_id(int64_t value_arg); - - const std::string* access_token() const; - void set_access_token(const std::string_view* value_arg); - void set_access_token(std::string_view value_arg); - - bool operator==(const InternalAuthCredential& other) const; - bool operator!=(const InternalAuthCredential& other) const; - /// Returns a hash code value for the object. This method is supported for the - /// benefit of hash tables. - size_t Hash() const; - - private: - static InternalAuthCredential FromEncodableList( - const ::flutter::EncodableList& list); - - public: - ::flutter::EncodableList ToEncodableList() const; - - private: - friend class InternalUserCredential; - friend class FirebaseAuthHostApi; - friend class FirebaseAuthUserHostApi; - friend class MultiFactorUserHostApi; - friend class MultiFactoResolverHostApi; - friend class MultiFactorTotpHostApi; - friend class MultiFactorTotpSecretHostApi; - friend class GenerateInterfaces; - friend class PigeonInternalCodecSerializer; - std::string provider_id_; - std::string sign_in_method_; - int64_t native_id_; - std::optional access_token_; -}; - -// Generated class from Pigeon that represents data sent in messages. -class InternalUserInfo { - public: - // Constructs an object setting all non-nullable fields. - explicit InternalUserInfo(const std::string& uid, bool is_anonymous, - bool is_email_verified); - - // Constructs an object setting all fields. - explicit InternalUserInfo( - const std::string& uid, const std::string* email, - const std::string* display_name, const std::string* photo_url, - const std::string* phone_number, bool is_anonymous, - bool is_email_verified, const std::string* provider_id, - const std::string* tenant_id, const std::string* refresh_token, - const int64_t* creation_timestamp, const int64_t* last_sign_in_timestamp); - - const std::string& uid() const; - void set_uid(std::string_view value_arg); - - const std::string* email() const; - void set_email(const std::string_view* value_arg); - void set_email(std::string_view value_arg); - - const std::string* display_name() const; - void set_display_name(const std::string_view* value_arg); - void set_display_name(std::string_view value_arg); - - const std::string* photo_url() const; - void set_photo_url(const std::string_view* value_arg); - void set_photo_url(std::string_view value_arg); - - const std::string* phone_number() const; - void set_phone_number(const std::string_view* value_arg); - void set_phone_number(std::string_view value_arg); - - bool is_anonymous() const; - void set_is_anonymous(bool value_arg); - - bool is_email_verified() const; - void set_is_email_verified(bool value_arg); - - const std::string* provider_id() const; - void set_provider_id(const std::string_view* value_arg); - void set_provider_id(std::string_view value_arg); - - const std::string* tenant_id() const; - void set_tenant_id(const std::string_view* value_arg); - void set_tenant_id(std::string_view value_arg); - - const std::string* refresh_token() const; - void set_refresh_token(const std::string_view* value_arg); - void set_refresh_token(std::string_view value_arg); - - const int64_t* creation_timestamp() const; - void set_creation_timestamp(const int64_t* value_arg); - void set_creation_timestamp(int64_t value_arg); - - const int64_t* last_sign_in_timestamp() const; - void set_last_sign_in_timestamp(const int64_t* value_arg); - void set_last_sign_in_timestamp(int64_t value_arg); - - bool operator==(const InternalUserInfo& other) const; - bool operator!=(const InternalUserInfo& other) const; - /// Returns a hash code value for the object. This method is supported for the - /// benefit of hash tables. - size_t Hash() const; - - private: - static InternalUserInfo FromEncodableList( - const ::flutter::EncodableList& list); - - public: - ::flutter::EncodableList ToEncodableList() const; - - private: - friend class InternalUserDetails; - friend class FirebaseAuthHostApi; - friend class FirebaseAuthUserHostApi; - friend class MultiFactorUserHostApi; - friend class MultiFactoResolverHostApi; - friend class MultiFactorTotpHostApi; - friend class MultiFactorTotpSecretHostApi; - friend class GenerateInterfaces; - friend class PigeonInternalCodecSerializer; - std::string uid_; - std::optional email_; - std::optional display_name_; - std::optional photo_url_; - std::optional phone_number_; - bool is_anonymous_; - bool is_email_verified_; - std::optional provider_id_; - std::optional tenant_id_; - std::optional refresh_token_; - std::optional creation_timestamp_; - std::optional last_sign_in_timestamp_; -}; - -// Generated class from Pigeon that represents data sent in messages. -class InternalUserDetails { - public: - // Constructs an object setting all fields. - explicit InternalUserDetails(const InternalUserInfo& user_info, - const ::flutter::EncodableList& provider_data); - - ~InternalUserDetails() = default; - InternalUserDetails(const InternalUserDetails& other); - InternalUserDetails& operator=(const InternalUserDetails& other); - InternalUserDetails(InternalUserDetails&& other) = default; - InternalUserDetails& operator=(InternalUserDetails&& other) noexcept = - default; - const InternalUserInfo& user_info() const; - void set_user_info(const InternalUserInfo& value_arg); - - const ::flutter::EncodableList& provider_data() const; - void set_provider_data(const ::flutter::EncodableList& value_arg); - - bool operator==(const InternalUserDetails& other) const; - bool operator!=(const InternalUserDetails& other) const; - /// Returns a hash code value for the object. This method is supported for the - /// benefit of hash tables. - size_t Hash() const; - - private: - static InternalUserDetails FromEncodableList( - const ::flutter::EncodableList& list); - - public: - ::flutter::EncodableList ToEncodableList() const; - - private: - friend class InternalUserCredential; - friend class FirebaseAuthHostApi; - friend class FirebaseAuthUserHostApi; - friend class MultiFactorUserHostApi; - friend class MultiFactoResolverHostApi; - friend class MultiFactorTotpHostApi; - friend class MultiFactorTotpSecretHostApi; - friend class GenerateInterfaces; - friend class PigeonInternalCodecSerializer; - std::unique_ptr user_info_; - ::flutter::EncodableList provider_data_; -}; - -// Generated class from Pigeon that represents data sent in messages. -class InternalUserCredential { - public: - // Constructs an object setting all non-nullable fields. - InternalUserCredential(); - - // Constructs an object setting all fields. - explicit InternalUserCredential( - const InternalUserDetails* user, - const InternalAdditionalUserInfo* additional_user_info, - const InternalAuthCredential* credential); - - ~InternalUserCredential() = default; - InternalUserCredential(const InternalUserCredential& other); - InternalUserCredential& operator=(const InternalUserCredential& other); - InternalUserCredential(InternalUserCredential&& other) = default; - InternalUserCredential& operator=(InternalUserCredential&& other) noexcept = - default; - const InternalUserDetails* user() const; - void set_user(const InternalUserDetails* value_arg); - void set_user(const InternalUserDetails& value_arg); - - const InternalAdditionalUserInfo* additional_user_info() const; - void set_additional_user_info(const InternalAdditionalUserInfo* value_arg); - void set_additional_user_info(const InternalAdditionalUserInfo& value_arg); - - const InternalAuthCredential* credential() const; - void set_credential(const InternalAuthCredential* value_arg); - void set_credential(const InternalAuthCredential& value_arg); - - bool operator==(const InternalUserCredential& other) const; - bool operator!=(const InternalUserCredential& other) const; - /// Returns a hash code value for the object. This method is supported for the - /// benefit of hash tables. - size_t Hash() const; - - private: - static InternalUserCredential FromEncodableList( - const ::flutter::EncodableList& list); - - public: - ::flutter::EncodableList ToEncodableList() const; - - private: - friend class FirebaseAuthHostApi; - friend class FirebaseAuthUserHostApi; - friend class MultiFactorUserHostApi; - friend class MultiFactoResolverHostApi; - friend class MultiFactorTotpHostApi; - friend class MultiFactorTotpSecretHostApi; - friend class GenerateInterfaces; - friend class PigeonInternalCodecSerializer; - std::unique_ptr user_; - std::unique_ptr additional_user_info_; - std::unique_ptr credential_; -}; - -// Generated class from Pigeon that represents data sent in messages. -class InternalAuthCredentialInput { - public: - // Constructs an object setting all non-nullable fields. - explicit InternalAuthCredentialInput(const std::string& provider_id, - const std::string& sign_in_method); - - // Constructs an object setting all fields. - explicit InternalAuthCredentialInput(const std::string& provider_id, - const std::string& sign_in_method, - const std::string* token, - const std::string* access_token); - - const std::string& provider_id() const; - void set_provider_id(std::string_view value_arg); - - const std::string& sign_in_method() const; - void set_sign_in_method(std::string_view value_arg); - - const std::string* token() const; - void set_token(const std::string_view* value_arg); - void set_token(std::string_view value_arg); - - const std::string* access_token() const; - void set_access_token(const std::string_view* value_arg); - void set_access_token(std::string_view value_arg); - - bool operator==(const InternalAuthCredentialInput& other) const; - bool operator!=(const InternalAuthCredentialInput& other) const; - /// Returns a hash code value for the object. This method is supported for the - /// benefit of hash tables. - size_t Hash() const; - - private: - static InternalAuthCredentialInput FromEncodableList( - const ::flutter::EncodableList& list); - - public: - ::flutter::EncodableList ToEncodableList() const; - - private: - friend class FirebaseAuthHostApi; - friend class FirebaseAuthUserHostApi; - friend class MultiFactorUserHostApi; - friend class MultiFactoResolverHostApi; - friend class MultiFactorTotpHostApi; - friend class MultiFactorTotpSecretHostApi; - friend class GenerateInterfaces; - friend class PigeonInternalCodecSerializer; - std::string provider_id_; - std::string sign_in_method_; - std::optional token_; - std::optional access_token_; -}; - -// Generated class from Pigeon that represents data sent in messages. -class InternalActionCodeSettings { - public: - // Constructs an object setting all non-nullable fields. - explicit InternalActionCodeSettings(const std::string& url, - bool handle_code_in_app, - bool android_install_app); - - // Constructs an object setting all fields. - explicit InternalActionCodeSettings( - const std::string& url, const std::string* dynamic_link_domain, - bool handle_code_in_app, const std::string* i_o_s_bundle_id, - const std::string* android_package_name, bool android_install_app, - const std::string* android_minimum_version, - const std::string* link_domain); - - const std::string& url() const; - void set_url(std::string_view value_arg); - - const std::string* dynamic_link_domain() const; - void set_dynamic_link_domain(const std::string_view* value_arg); - void set_dynamic_link_domain(std::string_view value_arg); - - bool handle_code_in_app() const; - void set_handle_code_in_app(bool value_arg); - - const std::string* i_o_s_bundle_id() const; - void set_i_o_s_bundle_id(const std::string_view* value_arg); - void set_i_o_s_bundle_id(std::string_view value_arg); - - const std::string* android_package_name() const; - void set_android_package_name(const std::string_view* value_arg); - void set_android_package_name(std::string_view value_arg); - - bool android_install_app() const; - void set_android_install_app(bool value_arg); - - const std::string* android_minimum_version() const; - void set_android_minimum_version(const std::string_view* value_arg); - void set_android_minimum_version(std::string_view value_arg); - - const std::string* link_domain() const; - void set_link_domain(const std::string_view* value_arg); - void set_link_domain(std::string_view value_arg); - - bool operator==(const InternalActionCodeSettings& other) const; - bool operator!=(const InternalActionCodeSettings& other) const; - /// Returns a hash code value for the object. This method is supported for the - /// benefit of hash tables. - size_t Hash() const; - - private: - static InternalActionCodeSettings FromEncodableList( - const ::flutter::EncodableList& list); - - public: - ::flutter::EncodableList ToEncodableList() const; - - private: - friend class FirebaseAuthHostApi; - friend class FirebaseAuthUserHostApi; - friend class MultiFactorUserHostApi; - friend class MultiFactoResolverHostApi; - friend class MultiFactorTotpHostApi; - friend class MultiFactorTotpSecretHostApi; - friend class GenerateInterfaces; - friend class PigeonInternalCodecSerializer; - std::string url_; - std::optional dynamic_link_domain_; - bool handle_code_in_app_; - std::optional i_o_s_bundle_id_; - std::optional android_package_name_; - bool android_install_app_; - std::optional android_minimum_version_; - std::optional link_domain_; -}; - -// Generated class from Pigeon that represents data sent in messages. -class InternalFirebaseAuthSettings { - public: - // Constructs an object setting all non-nullable fields. - explicit InternalFirebaseAuthSettings( - bool app_verification_disabled_for_testing); - - // Constructs an object setting all fields. - explicit InternalFirebaseAuthSettings( - bool app_verification_disabled_for_testing, - const std::string* user_access_group, const std::string* phone_number, - const std::string* sms_code, const bool* force_recaptcha_flow); - - bool app_verification_disabled_for_testing() const; - void set_app_verification_disabled_for_testing(bool value_arg); - - const std::string* user_access_group() const; - void set_user_access_group(const std::string_view* value_arg); - void set_user_access_group(std::string_view value_arg); - - const std::string* phone_number() const; - void set_phone_number(const std::string_view* value_arg); - void set_phone_number(std::string_view value_arg); - - const std::string* sms_code() const; - void set_sms_code(const std::string_view* value_arg); - void set_sms_code(std::string_view value_arg); - - const bool* force_recaptcha_flow() const; - void set_force_recaptcha_flow(const bool* value_arg); - void set_force_recaptcha_flow(bool value_arg); - - bool operator==(const InternalFirebaseAuthSettings& other) const; - bool operator!=(const InternalFirebaseAuthSettings& other) const; - /// Returns a hash code value for the object. This method is supported for the - /// benefit of hash tables. - size_t Hash() const; - - private: - static InternalFirebaseAuthSettings FromEncodableList( - const ::flutter::EncodableList& list); - - public: - ::flutter::EncodableList ToEncodableList() const; - - private: - friend class FirebaseAuthHostApi; - friend class FirebaseAuthUserHostApi; - friend class MultiFactorUserHostApi; - friend class MultiFactoResolverHostApi; - friend class MultiFactorTotpHostApi; - friend class MultiFactorTotpSecretHostApi; - friend class GenerateInterfaces; - friend class PigeonInternalCodecSerializer; - bool app_verification_disabled_for_testing_; - std::optional user_access_group_; - std::optional phone_number_; - std::optional sms_code_; - std::optional force_recaptcha_flow_; -}; - -// Generated class from Pigeon that represents data sent in messages. -class InternalSignInProvider { - public: - // Constructs an object setting all non-nullable fields. - explicit InternalSignInProvider(const std::string& provider_id); - - // Constructs an object setting all fields. - explicit InternalSignInProvider( - const std::string& provider_id, const ::flutter::EncodableList* scopes, - const ::flutter::EncodableMap* custom_parameters); - - const std::string& provider_id() const; - void set_provider_id(std::string_view value_arg); - - const ::flutter::EncodableList* scopes() const; - void set_scopes(const ::flutter::EncodableList* value_arg); - void set_scopes(const ::flutter::EncodableList& value_arg); - - const ::flutter::EncodableMap* custom_parameters() const; - void set_custom_parameters(const ::flutter::EncodableMap* value_arg); - void set_custom_parameters(const ::flutter::EncodableMap& value_arg); - - bool operator==(const InternalSignInProvider& other) const; - bool operator!=(const InternalSignInProvider& other) const; - /// Returns a hash code value for the object. This method is supported for the - /// benefit of hash tables. - size_t Hash() const; - - private: - static InternalSignInProvider FromEncodableList( - const ::flutter::EncodableList& list); - - public: - ::flutter::EncodableList ToEncodableList() const; - - private: - friend class FirebaseAuthHostApi; - friend class FirebaseAuthUserHostApi; - friend class MultiFactorUserHostApi; - friend class MultiFactoResolverHostApi; - friend class MultiFactorTotpHostApi; - friend class MultiFactorTotpSecretHostApi; - friend class GenerateInterfaces; - friend class PigeonInternalCodecSerializer; - std::string provider_id_; - std::optional<::flutter::EncodableList> scopes_; - std::optional<::flutter::EncodableMap> custom_parameters_; -}; - -// Generated class from Pigeon that represents data sent in messages. -class InternalVerifyPhoneNumberRequest { - public: - // Constructs an object setting all non-nullable fields. - explicit InternalVerifyPhoneNumberRequest(int64_t timeout); - - // Constructs an object setting all fields. - explicit InternalVerifyPhoneNumberRequest( - const std::string* phone_number, int64_t timeout, - const int64_t* force_resending_token, - const std::string* auto_retrieved_sms_code_for_testing, - const std::string* multi_factor_info_id, - const std::string* multi_factor_session_id); - - const std::string* phone_number() const; - void set_phone_number(const std::string_view* value_arg); - void set_phone_number(std::string_view value_arg); - - int64_t timeout() const; - void set_timeout(int64_t value_arg); - - const int64_t* force_resending_token() const; - void set_force_resending_token(const int64_t* value_arg); - void set_force_resending_token(int64_t value_arg); - - const std::string* auto_retrieved_sms_code_for_testing() const; - void set_auto_retrieved_sms_code_for_testing( - const std::string_view* value_arg); - void set_auto_retrieved_sms_code_for_testing(std::string_view value_arg); - - const std::string* multi_factor_info_id() const; - void set_multi_factor_info_id(const std::string_view* value_arg); - void set_multi_factor_info_id(std::string_view value_arg); - - const std::string* multi_factor_session_id() const; - void set_multi_factor_session_id(const std::string_view* value_arg); - void set_multi_factor_session_id(std::string_view value_arg); - - bool operator==(const InternalVerifyPhoneNumberRequest& other) const; - bool operator!=(const InternalVerifyPhoneNumberRequest& other) const; - /// Returns a hash code value for the object. This method is supported for the - /// benefit of hash tables. - size_t Hash() const; - - private: - static InternalVerifyPhoneNumberRequest FromEncodableList( - const ::flutter::EncodableList& list); - - public: - ::flutter::EncodableList ToEncodableList() const; - - private: - friend class FirebaseAuthHostApi; - friend class FirebaseAuthUserHostApi; - friend class MultiFactorUserHostApi; - friend class MultiFactoResolverHostApi; - friend class MultiFactorTotpHostApi; - friend class MultiFactorTotpSecretHostApi; - friend class GenerateInterfaces; - friend class PigeonInternalCodecSerializer; - std::optional phone_number_; - int64_t timeout_; - std::optional force_resending_token_; - std::optional auto_retrieved_sms_code_for_testing_; - std::optional multi_factor_info_id_; - std::optional multi_factor_session_id_; -}; - -// Generated class from Pigeon that represents data sent in messages. -class InternalIdTokenResult { - public: - // Constructs an object setting all non-nullable fields. - InternalIdTokenResult(); - - // Constructs an object setting all fields. - explicit InternalIdTokenResult(const std::string* token, - const int64_t* expiration_timestamp, - const int64_t* auth_timestamp, - const int64_t* issued_at_timestamp, - const std::string* sign_in_provider, - const ::flutter::EncodableMap* claims, - const std::string* sign_in_second_factor); - - const std::string* token() const; - void set_token(const std::string_view* value_arg); - void set_token(std::string_view value_arg); - - const int64_t* expiration_timestamp() const; - void set_expiration_timestamp(const int64_t* value_arg); - void set_expiration_timestamp(int64_t value_arg); - - const int64_t* auth_timestamp() const; - void set_auth_timestamp(const int64_t* value_arg); - void set_auth_timestamp(int64_t value_arg); - - const int64_t* issued_at_timestamp() const; - void set_issued_at_timestamp(const int64_t* value_arg); - void set_issued_at_timestamp(int64_t value_arg); - - const std::string* sign_in_provider() const; - void set_sign_in_provider(const std::string_view* value_arg); - void set_sign_in_provider(std::string_view value_arg); - - const ::flutter::EncodableMap* claims() const; - void set_claims(const ::flutter::EncodableMap* value_arg); - void set_claims(const ::flutter::EncodableMap& value_arg); - - const std::string* sign_in_second_factor() const; - void set_sign_in_second_factor(const std::string_view* value_arg); - void set_sign_in_second_factor(std::string_view value_arg); - - bool operator==(const InternalIdTokenResult& other) const; - bool operator!=(const InternalIdTokenResult& other) const; - /// Returns a hash code value for the object. This method is supported for the - /// benefit of hash tables. - size_t Hash() const; - - private: - static InternalIdTokenResult FromEncodableList( - const ::flutter::EncodableList& list); - - public: - ::flutter::EncodableList ToEncodableList() const; - - private: - friend class FirebaseAuthHostApi; - friend class FirebaseAuthUserHostApi; - friend class MultiFactorUserHostApi; - friend class MultiFactoResolverHostApi; - friend class MultiFactorTotpHostApi; - friend class MultiFactorTotpSecretHostApi; - friend class GenerateInterfaces; - friend class PigeonInternalCodecSerializer; - std::optional token_; - std::optional expiration_timestamp_; - std::optional auth_timestamp_; - std::optional issued_at_timestamp_; - std::optional sign_in_provider_; - std::optional<::flutter::EncodableMap> claims_; - std::optional sign_in_second_factor_; -}; - -// Generated class from Pigeon that represents data sent in messages. -class InternalUserProfile { - public: - // Constructs an object setting all non-nullable fields. - explicit InternalUserProfile(bool display_name_changed, - bool photo_url_changed); - - // Constructs an object setting all fields. - explicit InternalUserProfile(const std::string* display_name, - const std::string* photo_url, - bool display_name_changed, - bool photo_url_changed); - - const std::string* display_name() const; - void set_display_name(const std::string_view* value_arg); - void set_display_name(std::string_view value_arg); - - const std::string* photo_url() const; - void set_photo_url(const std::string_view* value_arg); - void set_photo_url(std::string_view value_arg); - - bool display_name_changed() const; - void set_display_name_changed(bool value_arg); - - bool photo_url_changed() const; - void set_photo_url_changed(bool value_arg); - - bool operator==(const InternalUserProfile& other) const; - bool operator!=(const InternalUserProfile& other) const; - /// Returns a hash code value for the object. This method is supported for the - /// benefit of hash tables. - size_t Hash() const; - - private: - static InternalUserProfile FromEncodableList( - const ::flutter::EncodableList& list); - - public: - ::flutter::EncodableList ToEncodableList() const; - - private: - friend class FirebaseAuthHostApi; - friend class FirebaseAuthUserHostApi; - friend class MultiFactorUserHostApi; - friend class MultiFactoResolverHostApi; - friend class MultiFactorTotpHostApi; - friend class MultiFactorTotpSecretHostApi; - friend class GenerateInterfaces; - friend class PigeonInternalCodecSerializer; - std::optional display_name_; - std::optional photo_url_; - bool display_name_changed_; - bool photo_url_changed_; -}; - -// Generated class from Pigeon that represents data sent in messages. -class InternalTotpSecret { - public: - // Constructs an object setting all non-nullable fields. - explicit InternalTotpSecret(const std::string& secret_key); - - // Constructs an object setting all fields. - explicit InternalTotpSecret(const int64_t* code_interval_seconds, - const int64_t* code_length, - const int64_t* enrollment_completion_deadline, - const std::string* hashing_algorithm, - const std::string& secret_key); - - const int64_t* code_interval_seconds() const; - void set_code_interval_seconds(const int64_t* value_arg); - void set_code_interval_seconds(int64_t value_arg); - - const int64_t* code_length() const; - void set_code_length(const int64_t* value_arg); - void set_code_length(int64_t value_arg); - - const int64_t* enrollment_completion_deadline() const; - void set_enrollment_completion_deadline(const int64_t* value_arg); - void set_enrollment_completion_deadline(int64_t value_arg); - - const std::string* hashing_algorithm() const; - void set_hashing_algorithm(const std::string_view* value_arg); - void set_hashing_algorithm(std::string_view value_arg); - - const std::string& secret_key() const; - void set_secret_key(std::string_view value_arg); - - bool operator==(const InternalTotpSecret& other) const; - bool operator!=(const InternalTotpSecret& other) const; - /// Returns a hash code value for the object. This method is supported for the - /// benefit of hash tables. - size_t Hash() const; - - private: - static InternalTotpSecret FromEncodableList( - const ::flutter::EncodableList& list); - - public: - ::flutter::EncodableList ToEncodableList() const; - - private: - friend class FirebaseAuthHostApi; - friend class FirebaseAuthUserHostApi; - friend class MultiFactorUserHostApi; - friend class MultiFactoResolverHostApi; - friend class MultiFactorTotpHostApi; - friend class MultiFactorTotpSecretHostApi; - friend class GenerateInterfaces; - friend class PigeonInternalCodecSerializer; - std::optional code_interval_seconds_; - std::optional code_length_; - std::optional enrollment_completion_deadline_; - std::optional hashing_algorithm_; - std::string secret_key_; -}; - -class PigeonInternalCodecSerializer - : public ::flutter::StandardCodecSerializer { - public: - PigeonInternalCodecSerializer(); - inline static PigeonInternalCodecSerializer& GetInstance() { - static PigeonInternalCodecSerializer sInstance; - return sInstance; - } - - void WriteValue(const ::flutter::EncodableValue& value, - ::flutter::ByteStreamWriter* stream) const override; - - protected: - ::flutter::EncodableValue ReadValueOfType( - uint8_t type, ::flutter::ByteStreamReader* stream) const override; -}; - -// Generated interface from Pigeon that represents a handler of messages from -// Flutter. -class FirebaseAuthHostApi { - public: - FirebaseAuthHostApi(const FirebaseAuthHostApi&) = delete; - FirebaseAuthHostApi& operator=(const FirebaseAuthHostApi&) = delete; - virtual ~FirebaseAuthHostApi() {} - virtual void RegisterIdTokenListener( - const AuthPigeonFirebaseApp& app, - std::function reply)> result) = 0; - virtual void RegisterAuthStateListener( - const AuthPigeonFirebaseApp& app, - std::function reply)> result) = 0; - virtual void UseEmulator( - const AuthPigeonFirebaseApp& app, const std::string& host, int64_t port, - std::function reply)> result) = 0; - virtual void ApplyActionCode( - const AuthPigeonFirebaseApp& app, const std::string& code, - std::function reply)> result) = 0; - virtual void CheckActionCode( - const AuthPigeonFirebaseApp& app, const std::string& code, - std::function reply)> result) = 0; - virtual void ConfirmPasswordReset( - const AuthPigeonFirebaseApp& app, const std::string& code, - const std::string& new_password, - std::function reply)> result) = 0; - virtual void CreateUserWithEmailAndPassword( - const AuthPigeonFirebaseApp& app, const std::string& email, - const std::string& password, - std::function reply)> result) = 0; - virtual void SignInAnonymously( - const AuthPigeonFirebaseApp& app, - std::function reply)> result) = 0; - virtual void SignInWithCredential( - const AuthPigeonFirebaseApp& app, const ::flutter::EncodableMap& input, - std::function reply)> result) = 0; - virtual void SignInWithCustomToken( - const AuthPigeonFirebaseApp& app, const std::string& token, - std::function reply)> result) = 0; - virtual void SignInWithEmailAndPassword( - const AuthPigeonFirebaseApp& app, const std::string& email, - const std::string& password, - std::function reply)> result) = 0; - virtual void SignInWithEmailLink( - const AuthPigeonFirebaseApp& app, const std::string& email, - const std::string& email_link, - std::function reply)> result) = 0; - virtual void SignInWithProvider( - const AuthPigeonFirebaseApp& app, - const InternalSignInProvider& sign_in_provider, - std::function reply)> result) = 0; - virtual void SignOut( - const AuthPigeonFirebaseApp& app, - std::function reply)> result) = 0; - virtual void FetchSignInMethodsForEmail( - const AuthPigeonFirebaseApp& app, const std::string& email, - std::function reply)> result) = 0; - virtual void SendPasswordResetEmail( - const AuthPigeonFirebaseApp& app, const std::string& email, - const InternalActionCodeSettings* action_code_settings, - std::function reply)> result) = 0; - virtual void SendSignInLinkToEmail( - const AuthPigeonFirebaseApp& app, const std::string& email, - const InternalActionCodeSettings& action_code_settings, - std::function reply)> result) = 0; - virtual void SetLanguageCode( - const AuthPigeonFirebaseApp& app, const std::string* language_code, - std::function reply)> result) = 0; - virtual void SetSettings( - const AuthPigeonFirebaseApp& app, - const InternalFirebaseAuthSettings& settings, - std::function reply)> result) = 0; - virtual void VerifyPasswordResetCode( - const AuthPigeonFirebaseApp& app, const std::string& code, - std::function reply)> result) = 0; - virtual void VerifyPhoneNumber( - const AuthPigeonFirebaseApp& app, - const InternalVerifyPhoneNumberRequest& request, - std::function reply)> result) = 0; - virtual void RevokeTokenWithAuthorizationCode( - const AuthPigeonFirebaseApp& app, const std::string& authorization_code, - std::function reply)> result) = 0; - virtual void RevokeAccessToken( - const AuthPigeonFirebaseApp& app, const std::string& access_token, - std::function reply)> result) = 0; - virtual void InitializeRecaptchaConfig( - const AuthPigeonFirebaseApp& app, - std::function reply)> result) = 0; - - // The codec used by FirebaseAuthHostApi. - static const ::flutter::StandardMessageCodec& GetCodec(); - // Sets up an instance of `FirebaseAuthHostApi` to handle messages through the - // `binary_messenger`. - static void SetUp(::flutter::BinaryMessenger* binary_messenger, - FirebaseAuthHostApi* api); - static void SetUp(::flutter::BinaryMessenger* binary_messenger, - FirebaseAuthHostApi* api, - const std::string& message_channel_suffix); - static ::flutter::EncodableValue WrapError(std::string_view error_message); - static ::flutter::EncodableValue WrapError(const FlutterError& error); - - protected: - FirebaseAuthHostApi() = default; -}; -// Generated interface from Pigeon that represents a handler of messages from -// Flutter. -class FirebaseAuthUserHostApi { - public: - FirebaseAuthUserHostApi(const FirebaseAuthUserHostApi&) = delete; - FirebaseAuthUserHostApi& operator=(const FirebaseAuthUserHostApi&) = delete; - virtual ~FirebaseAuthUserHostApi() {} - virtual void Delete( - const AuthPigeonFirebaseApp& app, - std::function reply)> result) = 0; - virtual void GetIdToken( - const AuthPigeonFirebaseApp& app, bool force_refresh, - std::function reply)> result) = 0; - virtual void LinkWithCredential( - const AuthPigeonFirebaseApp& app, const ::flutter::EncodableMap& input, - std::function reply)> result) = 0; - virtual void LinkWithProvider( - const AuthPigeonFirebaseApp& app, - const InternalSignInProvider& sign_in_provider, - std::function reply)> result) = 0; - virtual void ReauthenticateWithCredential( - const AuthPigeonFirebaseApp& app, const ::flutter::EncodableMap& input, - std::function reply)> result) = 0; - virtual void ReauthenticateWithProvider( - const AuthPigeonFirebaseApp& app, - const InternalSignInProvider& sign_in_provider, - std::function reply)> result) = 0; - virtual void Reload( - const AuthPigeonFirebaseApp& app, - std::function reply)> result) = 0; - virtual void SendEmailVerification( - const AuthPigeonFirebaseApp& app, - const InternalActionCodeSettings* action_code_settings, - std::function reply)> result) = 0; - virtual void Unlink( - const AuthPigeonFirebaseApp& app, const std::string& provider_id, - std::function reply)> result) = 0; - virtual void UpdateEmail( - const AuthPigeonFirebaseApp& app, const std::string& new_email, - std::function reply)> result) = 0; - virtual void UpdatePassword( - const AuthPigeonFirebaseApp& app, const std::string& new_password, - std::function reply)> result) = 0; - virtual void UpdatePhoneNumber( - const AuthPigeonFirebaseApp& app, const ::flutter::EncodableMap& input, - std::function reply)> result) = 0; - virtual void UpdateProfile( - const AuthPigeonFirebaseApp& app, const InternalUserProfile& profile, - std::function reply)> result) = 0; - virtual void VerifyBeforeUpdateEmail( - const AuthPigeonFirebaseApp& app, const std::string& new_email, - const InternalActionCodeSettings* action_code_settings, - std::function reply)> result) = 0; - - // The codec used by FirebaseAuthUserHostApi. - static const ::flutter::StandardMessageCodec& GetCodec(); - // Sets up an instance of `FirebaseAuthUserHostApi` to handle messages through - // the `binary_messenger`. - static void SetUp(::flutter::BinaryMessenger* binary_messenger, - FirebaseAuthUserHostApi* api); - static void SetUp(::flutter::BinaryMessenger* binary_messenger, - FirebaseAuthUserHostApi* api, - const std::string& message_channel_suffix); - static ::flutter::EncodableValue WrapError(std::string_view error_message); - static ::flutter::EncodableValue WrapError(const FlutterError& error); - - protected: - FirebaseAuthUserHostApi() = default; -}; -// Generated interface from Pigeon that represents a handler of messages from -// Flutter. -class MultiFactorUserHostApi { - public: - MultiFactorUserHostApi(const MultiFactorUserHostApi&) = delete; - MultiFactorUserHostApi& operator=(const MultiFactorUserHostApi&) = delete; - virtual ~MultiFactorUserHostApi() {} - virtual void EnrollPhone( - const AuthPigeonFirebaseApp& app, - const InternalPhoneMultiFactorAssertion& assertion, - const std::string* display_name, - std::function reply)> result) = 0; - virtual void EnrollTotp( - const AuthPigeonFirebaseApp& app, const std::string& assertion_id, - const std::string* display_name, - std::function reply)> result) = 0; - virtual void GetSession( - const AuthPigeonFirebaseApp& app, - std::function reply)> - result) = 0; - virtual void Unenroll( - const AuthPigeonFirebaseApp& app, const std::string& factor_uid, - std::function reply)> result) = 0; - virtual void GetEnrolledFactors( - const AuthPigeonFirebaseApp& app, - std::function reply)> result) = 0; - - // The codec used by MultiFactorUserHostApi. - static const ::flutter::StandardMessageCodec& GetCodec(); - // Sets up an instance of `MultiFactorUserHostApi` to handle messages through - // the `binary_messenger`. - static void SetUp(::flutter::BinaryMessenger* binary_messenger, - MultiFactorUserHostApi* api); - static void SetUp(::flutter::BinaryMessenger* binary_messenger, - MultiFactorUserHostApi* api, - const std::string& message_channel_suffix); - static ::flutter::EncodableValue WrapError(std::string_view error_message); - static ::flutter::EncodableValue WrapError(const FlutterError& error); - - protected: - MultiFactorUserHostApi() = default; -}; -// Generated interface from Pigeon that represents a handler of messages from -// Flutter. -class MultiFactoResolverHostApi { - public: - MultiFactoResolverHostApi(const MultiFactoResolverHostApi&) = delete; - MultiFactoResolverHostApi& operator=(const MultiFactoResolverHostApi&) = - delete; - virtual ~MultiFactoResolverHostApi() {} - virtual void ResolveSignIn( - const std::string& resolver_id, - const InternalPhoneMultiFactorAssertion* assertion, - const std::string* totp_assertion_id, - std::function reply)> result) = 0; - - // The codec used by MultiFactoResolverHostApi. - static const ::flutter::StandardMessageCodec& GetCodec(); - // Sets up an instance of `MultiFactoResolverHostApi` to handle messages - // through the `binary_messenger`. - static void SetUp(::flutter::BinaryMessenger* binary_messenger, - MultiFactoResolverHostApi* api); - static void SetUp(::flutter::BinaryMessenger* binary_messenger, - MultiFactoResolverHostApi* api, - const std::string& message_channel_suffix); - static ::flutter::EncodableValue WrapError(std::string_view error_message); - static ::flutter::EncodableValue WrapError(const FlutterError& error); - - protected: - MultiFactoResolverHostApi() = default; -}; -// Generated interface from Pigeon that represents a handler of messages from -// Flutter. -class MultiFactorTotpHostApi { - public: - MultiFactorTotpHostApi(const MultiFactorTotpHostApi&) = delete; - MultiFactorTotpHostApi& operator=(const MultiFactorTotpHostApi&) = delete; - virtual ~MultiFactorTotpHostApi() {} - virtual void GenerateSecret( - const std::string& session_id, - std::function reply)> result) = 0; - virtual void GetAssertionForEnrollment( - const std::string& secret_key, const std::string& one_time_password, - std::function reply)> result) = 0; - virtual void GetAssertionForSignIn( - const std::string& enrollment_id, const std::string& one_time_password, - std::function reply)> result) = 0; - - // The codec used by MultiFactorTotpHostApi. - static const ::flutter::StandardMessageCodec& GetCodec(); - // Sets up an instance of `MultiFactorTotpHostApi` to handle messages through - // the `binary_messenger`. - static void SetUp(::flutter::BinaryMessenger* binary_messenger, - MultiFactorTotpHostApi* api); - static void SetUp(::flutter::BinaryMessenger* binary_messenger, - MultiFactorTotpHostApi* api, - const std::string& message_channel_suffix); - static ::flutter::EncodableValue WrapError(std::string_view error_message); - static ::flutter::EncodableValue WrapError(const FlutterError& error); - - protected: - MultiFactorTotpHostApi() = default; -}; -// Generated interface from Pigeon that represents a handler of messages from -// Flutter. -class MultiFactorTotpSecretHostApi { - public: - MultiFactorTotpSecretHostApi(const MultiFactorTotpSecretHostApi&) = delete; - MultiFactorTotpSecretHostApi& operator=(const MultiFactorTotpSecretHostApi&) = - delete; - virtual ~MultiFactorTotpSecretHostApi() {} - virtual void GenerateQrCodeUrl( - const std::string& secret_key, const std::string* account_name, - const std::string* issuer, - std::function reply)> result) = 0; - virtual void OpenInOtpApp( - const std::string& secret_key, const std::string& qr_code_url, - std::function reply)> result) = 0; - - // The codec used by MultiFactorTotpSecretHostApi. - static const ::flutter::StandardMessageCodec& GetCodec(); - // Sets up an instance of `MultiFactorTotpSecretHostApi` to handle messages - // through the `binary_messenger`. - static void SetUp(::flutter::BinaryMessenger* binary_messenger, - MultiFactorTotpSecretHostApi* api); - static void SetUp(::flutter::BinaryMessenger* binary_messenger, - MultiFactorTotpSecretHostApi* api, - const std::string& message_channel_suffix); - static ::flutter::EncodableValue WrapError(std::string_view error_message); - static ::flutter::EncodableValue WrapError(const FlutterError& error); - - protected: - MultiFactorTotpSecretHostApi() = default; -}; -// Only used to generate the object interface that are use outside of the Pigeon -// interface -// -// Generated interface from Pigeon that represents a handler of messages from -// Flutter. -class GenerateInterfaces { - public: - GenerateInterfaces(const GenerateInterfaces&) = delete; - GenerateInterfaces& operator=(const GenerateInterfaces&) = delete; - virtual ~GenerateInterfaces() {} - virtual std::optional PigeonInterface( - const InternalMultiFactorInfo& info) = 0; - - // The codec used by GenerateInterfaces. - static const ::flutter::StandardMessageCodec& GetCodec(); - // Sets up an instance of `GenerateInterfaces` to handle messages through the - // `binary_messenger`. - static void SetUp(::flutter::BinaryMessenger* binary_messenger, - GenerateInterfaces* api); - static void SetUp(::flutter::BinaryMessenger* binary_messenger, - GenerateInterfaces* api, - const std::string& message_channel_suffix); - static ::flutter::EncodableValue WrapError(std::string_view error_message); - static ::flutter::EncodableValue WrapError(const FlutterError& error); - - protected: - GenerateInterfaces() = default; -}; -} // namespace firebase_auth_windows -#endif // PIGEON_MESSAGES_G_H_ diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/windows/plugin_version.h.in b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/windows/plugin_version.h.in deleted file mode 100644 index 3a8915c4..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/windows/plugin_version.h.in +++ /dev/null @@ -1,13 +0,0 @@ -// Copyright 2023, the Chromium project authors. Please see the AUTHORS file -// for details. All rights reserved. Use of this source code is governed by a -// BSD-style license that can be found in the LICENSE file. - -#ifndef PLUGIN_VERSION_CONFIG_H -#define PLUGIN_VERSION_CONFIG_H - -namespace firebase_auth_windows { - -std::string getPluginVersion() { return "@PLUGIN_VERSION@"; } -} // namespace firebase_auth_windows - -#endif // PLUGIN_VERSION_CONFIG_H diff --git a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/windows/test/firebase_auth_plugin_test.cpp b/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/windows/test/firebase_auth_plugin_test.cpp deleted file mode 100644 index 7c8110cf..00000000 --- a/mih_ui/android/build/macos/SourcePackages/firebase_auth-6.5.4/windows/test/firebase_auth_plugin_test.cpp +++ /dev/null @@ -1,47 +0,0 @@ -// Copyright 2023, the Chromium project authors. Please see the AUTHORS file -// for details. All rights reserved. Use of this source code is governed by a -// BSD-style license that can be found in the LICENSE file. - -#include "firebase_auth_plugin.h" - -#include -#include -#include -#include -#include - -#include -#include -#include - -namespace firebase_auth { -namespace test { - -namespace { - -using flutter::EncodableMap; -using flutter::EncodableValue; -using flutter::MethodCall; -using flutter::MethodResultFunctions; - -} // namespace - -TEST(FirebaseAuthPlugin, GetPlatformVersion) { - FirebaseAuthPlugin plugin; - // Save the reply value from the success callback. - std::string result_string; - plugin.HandleMethodCall( - MethodCall("getPlatformVersion", std::make_unique()), - std::make_unique>( - [&result_string](const EncodableValue* result) { - result_string = std::get(*result); - }, - nullptr, nullptr)); - - // Since the exact string varies by host, just ensure that it's a string - // with the expected format. - EXPECT_TRUE(result_string.rfind("Windows ", 0) == 0); -} - -} // namespace test -} // namespace firebase_auth diff --git a/mih_ui/android/build/reports/problems/problems-report.html b/mih_ui/android/build/reports/problems/problems-report.html index d88b7854..0784829f 100644 --- a/mih_ui/android/build/reports/problems/problems-report.html +++ b/mih_ui/android/build/reports/problems/problems-report.html @@ -650,12 +650,12 @@ code + .copy-button { diff --git a/mih_ui/android/gradle/wrapper/gradle-wrapper.properties b/mih_ui/android/gradle/wrapper/gradle-wrapper.properties index e4ef43fb..ac3b4792 100644 --- a/mih_ui/android/gradle/wrapper/gradle-wrapper.properties +++ b/mih_ui/android/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.14-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.12-all.zip diff --git a/mih_ui/android/settings.gradle.kts b/mih_ui/android/settings.gradle.kts index 4960023a..bd7522f7 100644 --- a/mih_ui/android/settings.gradle.kts +++ b/mih_ui/android/settings.gradle.kts @@ -18,11 +18,11 @@ pluginManagement { plugins { id("dev.flutter.flutter-plugin-loader") version "1.0.0" - id("com.android.application") version "8.11.1" apply false + id("com.android.application") version "8.7.3" apply false // START: FlutterFire Configuration - id("com.google.gms.google-services") version("4.4.2") apply false + id("com.google.gms.google-services") version("4.3.15") apply false // END: FlutterFire Configuration - id("org.jetbrains.kotlin.android") version "2.2.20" apply false + id("org.jetbrains.kotlin.android") version "2.1.0" apply false } include(":app") diff --git a/mih_ui/android_build_logs.txt b/mih_ui/android_build_logs.txt deleted file mode 100644 index 8fe410f7..00000000 --- a/mih_ui/android_build_logs.txt +++ /dev/null @@ -1,399 +0,0 @@ - -Launching lib/main_dev.dart on sdk gphone64 arm64 in debug mode... -Running Gradle task 'assembleDebug'... -Checking the license for package NDK (Side by side) 28.2.13676358 in /Users/yaso_meth/Library/Android/sdk/licenses -License for package NDK (Side by side) 28.2.13676358 accepted. -Preparing "Install NDK (Side by side) 28.2.13676358 v.28.2.13676358". -Warning: An error occurred while preparing SDK package NDK (Side by side) 28.2.13676358: No space left on device.: -java.io.IOException: No space left on device - at java.base/sun.nio.ch.UnixFileDispatcherImpl.write0(Native Method) - at java.base/sun.nio.ch.UnixFileDispatcherImpl.write(Unknown Source) - at java.base/sun.nio.ch.IOUtil.writeFromNativeBuffer(Unknown Source) - at java.base/sun.nio.ch.IOUtil.write(Unknown Source) - at java.base/sun.nio.ch.IOUtil.write(Unknown Source) - at java.base/sun.nio.ch.FileChannelImpl.write(Unknown Source) - at java.base/sun.nio.ch.ChannelOutputStream.writeFully(Unknown Source) - at java.base/sun.nio.ch.ChannelOutputStream.write(Unknown Source) - at java.base/java.io.BufferedOutputStream.implWrite(Unknown Source) - at java.base/java.io.BufferedOutputStream.write(Unknown Source) - at com.android.repository.util.InstallerUtil.readZipEntry(InstallerUtil.java:192) - at com.android.repository.util.InstallerUtil.unzip(InstallerUtil.java:148) - at com.android.repository.impl.installer.BasicInstaller.doPrepare(BasicInstaller.java:91) - at com.android.repository.impl.installer.AbstractPackageOperation.prepare(AbstractPackageOperation.java:340) - at com.android.builder.sdk.DefaultSdkLoader.installRemotePackages(DefaultSdkLoader.java:365) - at com.android.builder.sdk.DefaultSdkLoader.installSdkTool(DefaultSdkLoader.java:454) - at com.android.build.gradle.internal.SdkHandler.installNdk(SdkHandler.java:329) - at com.android.build.gradle.internal.cxx.configure.NdkLocatorKt.findNdkPathImpl(NdkLocator.kt:242) - at com.android.build.gradle.internal.cxx.configure.NdkLocator.findNdkPath(NdkLocator.kt:425) - at com.android.build.gradle.internal.ndk.NdkHandler.getNdkStatus(NdkHandler.kt:83) - at com.android.build.gradle.internal.ndk.NdkHandler.getNdkPlatform(NdkHandler.kt:96) - at com.android.build.gradle.internal.cxx.gradle.generator.CxxConfigurationModelKt.tryCreateConfigurationParameters(CxxConfigurationModel.kt:213) - at com.android.build.gradle.internal.cxx.configure.CxxCreateGradleTasksKt.createCxxTasks(CxxCreateGradleTasks.kt:89) - at com.android.build.gradle.internal.VariantTaskManager.createTopLevelTasks(VariantTaskManager.kt:217) - at com.android.build.gradle.internal.VariantTaskManager.createTasks(VariantTaskManager.kt:141) - at com.android.build.gradle.internal.plugins.BasePlugin.createAndroidTasks(BasePlugin.kt:770) - at com.android.build.gradle.internal.plugins.BasePlugin$createTasks$2$1.call(BasePlugin.kt:612) - at com.android.builder.profile.ThreadRecorder.record(ThreadRecorder.java:69) - at com.android.builder.profile.ThreadRecorder.record(ThreadRecorder.java:54) - at com.android.build.gradle.internal.profile.AnalyticsResourceManager.recordBlockAtConfiguration(AnalyticsResourceManager.kt:222) - at com.android.build.gradle.internal.profile.AnalyticsConfiguratorService.recordBlock(AnalyticsConfiguratorService.kt:111) - at com.android.build.gradle.internal.plugins.BasePlugin$createTasks$2.accept(BasePlugin.kt:607) - at com.android.build.gradle.internal.plugins.BasePlugin$createTasks$2.accept(BasePlugin.kt:604) - at com.android.build.gradle.internal.crash.CrashReporting$afterEvaluate$1.execute(crash_reporting.kt:37) - at com.android.build.gradle.internal.crash.CrashReporting$afterEvaluate$1.execute(crash_reporting.kt:35) - at org.gradle.internal.code.DefaultUserCodeApplicationContext$CurrentApplication$1.execute(DefaultUserCodeApplicationContext.java:124) - at org.gradle.configuration.internal.DefaultListenerBuildOperationDecorator$BuildOperationEmittingAction$1.run(DefaultListenerBuildOperationDecorator.java:173) - at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:30) - at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:27) - at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:67) - at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:60) - at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:167) - at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:60) - at org.gradle.internal.operations.DefaultBuildOperationRunner.run(DefaultBuildOperationRunner.java:48) - at org.gradle.configuration.internal.DefaultListenerBuildOperationDecorator$BuildOperationEmittingAction.execute(DefaultListenerBuildOperationDecorator.java:170) - at org.gradle.internal.event.BroadcastDispatch$ActionInvocationHandler.dispatch(BroadcastDispatch.java:99) - at org.gradle.internal.event.BroadcastDispatch$ActionInvocationHandler.dispatch(BroadcastDispatch.java:87) - at org.gradle.internal.event.AbstractBroadcastDispatch.dispatch(AbstractBroadcastDispatch.java:44) - at org.gradle.internal.event.BroadcastDispatch$SingletonDispatch.dispatch(BroadcastDispatch.java:268) - at org.gradle.internal.event.BroadcastDispatch$SingletonDispatch.dispatch(BroadcastDispatch.java:170) - at org.gradle.internal.event.AbstractBroadcastDispatch.dispatch(AbstractBroadcastDispatch.java:84) - at org.gradle.internal.event.AbstractBroadcastDispatch.dispatch(AbstractBroadcastDispatch.java:70) - at org.gradle.internal.event.BroadcastDispatch$CompositeDispatch.dispatch(BroadcastDispatch.java:380) - at org.gradle.internal.event.BroadcastDispatch$CompositeDispatch.dispatch(BroadcastDispatch.java:272) - at org.gradle.internal.event.ListenerBroadcast.dispatch(ListenerBroadcast.java:160) - at org.gradle.internal.event.ListenerBroadcast.dispatch(ListenerBroadcast.java:37) - at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:92) - at jdk.proxy1/jdk.proxy1.$Proxy78.afterEvaluate(Unknown Source) - at org.gradle.configuration.project.LifecycleProjectEvaluator$NotifyAfterEvaluate$1.execute(LifecycleProjectEvaluator.java:247) - at org.gradle.configuration.project.LifecycleProjectEvaluator$NotifyAfterEvaluate$1.execute(LifecycleProjectEvaluator.java:244) - at org.gradle.api.internal.project.DefaultProject.stepEvaluationListener(DefaultProject.java:1603) - at org.gradle.configuration.project.LifecycleProjectEvaluator$NotifyAfterEvaluate.run(LifecycleProjectEvaluator.java:253) - at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:30) - at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:27) - at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:67) - at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:60) - at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:167) - at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:60) - at org.gradle.internal.operations.DefaultBuildOperationRunner.run(DefaultBuildOperationRunner.java:48) - at org.gradle.configuration.project.LifecycleProjectEvaluator$EvaluateProject.lambda$run$0(LifecycleProjectEvaluator.java:114) - at org.gradle.api.internal.project.DefaultProjectStateRegistry$ProjectStateImpl.lambda$applyToMutableState$1(DefaultProjectStateRegistry.java:435) - at org.gradle.api.internal.project.DefaultProjectStateRegistry$ProjectStateImpl.lambda$fromMutableState$2(DefaultProjectStateRegistry.java:458) - at org.gradle.internal.work.DefaultWorkerLeaseService.withReplacedLocks(DefaultWorkerLeaseService.java:359) - at org.gradle.api.internal.project.DefaultProjectStateRegistry$ProjectStateImpl.fromMutableState(DefaultProjectStateRegistry.java:458) - at org.gradle.api.internal.project.DefaultProjectStateRegistry$ProjectStateImpl.applyToMutableState(DefaultProjectStateRegistry.java:434) - at org.gradle.configuration.project.LifecycleProjectEvaluator$EvaluateProject.run(LifecycleProjectEvaluator.java:100) - at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:30) - at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:27) - at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:67) - at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:60) - at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:167) - at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:60) - at org.gradle.internal.operations.DefaultBuildOperationRunner.run(DefaultBuildOperationRunner.java:48) - at org.gradle.configuration.project.LifecycleProjectEvaluator.evaluate(LifecycleProjectEvaluator.java:72) - at org.gradle.api.internal.project.DefaultProject.evaluateUnchecked(DefaultProject.java:827) - at org.gradle.api.internal.project.ProjectLifecycleController.lambda$ensureSelfConfigured$2(ProjectLifecycleController.java:88) - at org.gradle.internal.model.StateTransitionController.lambda$doTransition$14(StateTransitionController.java:255) - at org.gradle.internal.model.StateTransitionController.doTransition(StateTransitionController.java:266) - at org.gradle.internal.model.StateTransitionController.doTransition(StateTransitionController.java:254) - at org.gradle.internal.model.StateTransitionController.lambda$maybeTransitionIfNotCurrentlyTransitioning$10(StateTransitionController.java:199) - at org.gradle.internal.work.DefaultSynchronizer.withLock(DefaultSynchronizer.java:36) - at org.gradle.internal.model.StateTransitionController.maybeTransitionIfNotCurrentlyTransitioning(StateTransitionController.java:195) - at org.gradle.api.internal.project.ProjectLifecycleController.ensureSelfConfigured(ProjectLifecycleController.java:88) - at org.gradle.api.internal.project.DefaultProjectStateRegistry$ProjectStateImpl.ensureConfigured(DefaultProjectStateRegistry.java:400) - at org.gradle.execution.TaskPathProjectEvaluator.configure(TaskPathProjectEvaluator.java:70) - at org.gradle.execution.TaskPathProjectEvaluator.configureHierarchy(TaskPathProjectEvaluator.java:86) - at org.gradle.configuration.DefaultProjectsPreparer.prepareProjects(DefaultProjectsPreparer.java:50) - at org.gradle.configuration.BuildTreePreparingProjectsPreparer.prepareProjects(BuildTreePreparingProjectsPreparer.java:65) - at org.gradle.configuration.BuildOperationFiringProjectsPreparer$ConfigureBuild.run(BuildOperationFiringProjectsPreparer.java:52) - at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:30) - at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:27) - at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:67) - at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:60) - at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:167) - at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:60) - at org.gradle.internal.operations.DefaultBuildOperationRunner.run(DefaultBuildOperationRunner.java:48) - at org.gradle.configuration.BuildOperationFiringProjectsPreparer.prepareProjects(BuildOperationFiringProjectsPreparer.java:40) - at org.gradle.initialization.VintageBuildModelController.lambda$prepareProjects$2(VintageBuildModelController.java:84) - at org.gradle.internal.model.StateTransitionController.lambda$doTransition$14(StateTransitionController.java:255) - at org.gradle.internal.model.StateTransitionController.doTransition(StateTransitionController.java:266) - at org.gradle.internal.model.StateTransitionController.doTransition(StateTransitionController.java:254) - at org.gradle.internal.model.StateTransitionController.lambda$transitionIfNotPreviously$11(StateTransitionController.java:213) - at org.gradle.internal.work.DefaultSynchronizer.withLock(DefaultSynchronizer.java:36) - at org.gradle.internal.model.StateTransitionController.transitionIfNotPreviously(StateTransitionController.java:209) - at org.gradle.initialization.VintageBuildModelController.prepareProjects(VintageBuildModelController.java:84) - at org.gradle.initialization.VintageBuildModelController.prepareToScheduleTasks(VintageBuildModelController.java:71) - at org.gradle.internal.build.DefaultBuildLifecycleController.lambda$prepareToScheduleTasks$6(DefaultBuildLifecycleController.java:175) - at org.gradle.internal.model.StateTransitionController.lambda$doTransition$14(StateTransitionController.java:255) - at org.gradle.internal.model.StateTransitionController.doTransition(StateTransitionController.java:266) - at org.gradle.internal.model.StateTransitionController.doTransition(StateTransitionController.java:254) - at org.gradle.internal.model.StateTransitionController.lambda$maybeTransition$9(StateTransitionController.java:190) - at org.gradle.internal.work.DefaultSynchronizer.withLock(DefaultSynchronizer.java:36) - at org.gradle.internal.model.StateTransitionController.maybeTransition(StateTransitionController.java:186) - at org.gradle.internal.build.DefaultBuildLifecycleController.prepareToScheduleTasks(DefaultBuildLifecycleController.java:173) - at org.gradle.internal.buildtree.DefaultBuildTreeWorkPreparer.scheduleRequestedTasks(DefaultBuildTreeWorkPreparer.java:36) - at org.gradle.internal.cc.impl.VintageBuildTreeWorkController$scheduleAndRunRequestedTasks$1.apply(VintageBuildTreeWorkController.kt:36) - at org.gradle.internal.cc.impl.VintageBuildTreeWorkController$scheduleAndRunRequestedTasks$1.apply(VintageBuildTreeWorkController.kt:35) - at org.gradle.composite.internal.DefaultIncludedBuildTaskGraph.withNewWorkGraph(DefaultIncludedBuildTaskGraph.java:112) - at org.gradle.internal.cc.impl.VintageBuildTreeWorkController.scheduleAndRunRequestedTasks(VintageBuildTreeWorkController.kt:35) - at org.gradle.internal.buildtree.DefaultBuildTreeLifecycleController.lambda$scheduleAndRunTasks$1(DefaultBuildTreeLifecycleController.java:77) - at org.gradle.internal.buildtree.DefaultBuildTreeLifecycleController.lambda$runBuild$4(DefaultBuildTreeLifecycleController.java:120) - at org.gradle.internal.model.StateTransitionController.lambda$transition$6(StateTransitionController.java:169) - at org.gradle.internal.model.StateTransitionController.doTransition(StateTransitionController.java:266) - at org.gradle.internal.model.StateTransitionController.lambda$transition$7(StateTransitionController.java:169) - at org.gradle.internal.work.DefaultSynchronizer.withLock(DefaultSynchronizer.java:46) - at org.gradle.internal.model.StateTransitionController.transition(StateTransitionController.java:169) - at org.gradle.internal.buildtree.DefaultBuildTreeLifecycleController.runBuild(DefaultBuildTreeLifecycleController.java:117) - at org.gradle.internal.buildtree.DefaultBuildTreeLifecycleController.scheduleAndRunTasks(DefaultBuildTreeLifecycleController.java:77) - at org.gradle.internal.buildtree.DefaultBuildTreeLifecycleController.scheduleAndRunTasks(DefaultBuildTreeLifecycleController.java:72) - at org.gradle.tooling.internal.provider.ExecuteBuildActionRunner.run(ExecuteBuildActionRunner.java:31) - at org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35) - at org.gradle.internal.buildtree.ProblemReportingBuildActionRunner.run(ProblemReportingBuildActionRunner.java:49) - at org.gradle.launcher.exec.BuildOutcomeReportingBuildActionRunner.run(BuildOutcomeReportingBuildActionRunner.java:71) - at org.gradle.tooling.internal.provider.FileSystemWatchingBuildActionRunner.run(FileSystemWatchingBuildActionRunner.java:135) - at org.gradle.launcher.exec.BuildCompletionNotifyingBuildActionRunner.run(BuildCompletionNotifyingBuildActionRunner.java:41) - at org.gradle.launcher.exec.RootBuildLifecycleBuildActionExecutor.lambda$execute$0(RootBuildLifecycleBuildActionExecutor.java:54) - at org.gradle.composite.internal.DefaultRootBuildState.run(DefaultRootBuildState.java:130) - at org.gradle.launcher.exec.RootBuildLifecycleBuildActionExecutor.execute(RootBuildLifecycleBuildActionExecutor.java:54) - at org.gradle.internal.buildtree.InitDeprecationLoggingActionExecutor.execute(InitDeprecationLoggingActionExecutor.java:62) - at org.gradle.internal.buildtree.InitProblems.execute(InitProblems.java:36) - at org.gradle.internal.buildtree.DefaultBuildTreeContext.execute(DefaultBuildTreeContext.java:40) - at org.gradle.launcher.exec.BuildTreeLifecycleBuildActionExecutor.lambda$execute$0(BuildTreeLifecycleBuildActionExecutor.java:71) - at org.gradle.internal.buildtree.BuildTreeState.run(BuildTreeState.java:60) - at org.gradle.launcher.exec.BuildTreeLifecycleBuildActionExecutor.execute(BuildTreeLifecycleBuildActionExecutor.java:71) - at org.gradle.launcher.exec.RunAsBuildOperationBuildActionExecutor$2.call(RunAsBuildOperationBuildActionExecutor.java:67) - at org.gradle.launcher.exec.RunAsBuildOperationBuildActionExecutor$2.call(RunAsBuildOperationBuildActionExecutor.java:63) - at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:210) - at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:205) - at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:67) - at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:60) - at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:167) - at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:60) - at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:54) - at org.gradle.launcher.exec.RunAsBuildOperationBuildActionExecutor.execute(RunAsBuildOperationBuildActionExecutor.java:63) - at org.gradle.launcher.exec.RunAsWorkerThreadBuildActionExecutor.lambda$execute$0(RunAsWorkerThreadBuildActionExecutor.java:36) - at org.gradle.internal.work.DefaultWorkerLeaseService.withLocks(DefaultWorkerLeaseService.java:263) - at org.gradle.internal.work.DefaultWorkerLeaseService.runAsWorkerThread(DefaultWorkerLeaseService.java:127) - at org.gradle.launcher.exec.RunAsWorkerThreadBuildActionExecutor.execute(RunAsWorkerThreadBuildActionExecutor.java:36) - at org.gradle.tooling.internal.provider.continuous.ContinuousBuildActionExecutor.execute(ContinuousBuildActionExecutor.java:110) - at org.gradle.tooling.internal.provider.SubscribableBuildActionExecutor.execute(SubscribableBuildActionExecutor.java:64) - at org.gradle.internal.session.DefaultBuildSessionContext.execute(DefaultBuildSessionContext.java:46) - at org.gradle.internal.buildprocess.execution.BuildSessionLifecycleBuildActionExecutor$ActionImpl.apply(BuildSessionLifecycleBuildActionExecutor.java:92) - at org.gradle.internal.buildprocess.execution.BuildSessionLifecycleBuildActionExecutor$ActionImpl.apply(BuildSessionLifecycleBuildActionExecutor.java:80) - at org.gradle.internal.session.BuildSessionState.run(BuildSessionState.java:73) - at org.gradle.internal.buildprocess.execution.BuildSessionLifecycleBuildActionExecutor.execute(BuildSessionLifecycleBuildActionExecutor.java:62) - at org.gradle.internal.buildprocess.execution.BuildSessionLifecycleBuildActionExecutor.execute(BuildSessionLifecycleBuildActionExecutor.java:41) - at org.gradle.internal.buildprocess.execution.StartParamsValidatingActionExecutor.execute(StartParamsValidatingActionExecutor.java:64) - at org.gradle.internal.buildprocess.execution.StartParamsValidatingActionExecutor.execute(StartParamsValidatingActionExecutor.java:32) - at org.gradle.internal.buildprocess.execution.SessionFailureReportingActionExecutor.execute(SessionFailureReportingActionExecutor.java:51) - at org.gradle.internal.buildprocess.execution.SessionFailureReportingActionExecutor.execute(SessionFailureReportingActionExecutor.java:39) - at org.gradle.internal.buildprocess.execution.SetupLoggingActionExecutor.execute(SetupLoggingActionExecutor.java:47) - at org.gradle.internal.buildprocess.execution.SetupLoggingActionExecutor.execute(SetupLoggingActionExecutor.java:31) - at org.gradle.launcher.daemon.server.exec.ExecuteBuild.doBuild(ExecuteBuild.java:70) - at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:37) - at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104) - at org.gradle.launcher.daemon.server.exec.WatchForDisconnection.execute(WatchForDisconnection.java:39) - at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104) - at org.gradle.launcher.daemon.server.exec.ResetDeprecationLogger.execute(ResetDeprecationLogger.java:29) - at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104) - at org.gradle.launcher.daemon.server.exec.RequestStopIfSingleUsedDaemon.execute(RequestStopIfSingleUsedDaemon.java:35) - at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104) - at org.gradle.launcher.daemon.server.exec.ForwardClientInput.lambda$execute$0(ForwardClientInput.java:40) - at org.gradle.internal.daemon.clientinput.ClientInputForwarder.forwardInput(ClientInputForwarder.java:80) - at org.gradle.launcher.daemon.server.exec.ForwardClientInput.execute(ForwardClientInput.java:37) - at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104) - at org.gradle.launcher.daemon.server.exec.LogAndCheckHealth.execute(LogAndCheckHealth.java:64) - at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104) - at org.gradle.launcher.daemon.server.exec.LogToClient.doBuild(LogToClient.java:63) - at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:37) - at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104) - at org.gradle.launcher.daemon.server.exec.EstablishBuildEnvironment.doBuild(EstablishBuildEnvironment.java:84) - at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:37) - at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104) - at org.gradle.launcher.daemon.server.exec.StartBuildOrRespondWithBusy$1.run(StartBuildOrRespondWithBusy.java:52) - at org.gradle.launcher.daemon.server.DaemonStateCoordinator.lambda$runCommand$0(DaemonStateCoordinator.java:321) - at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64) - at org.gradle.internal.concurrent.AbstractManagedExecutor$1.run(AbstractManagedExecutor.java:48) - at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) - at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) - at java.base/java.lang.Thread.run(Unknown Source) -"Install NDK (Side by side) 28.2.13676358 v.28.2.13676358" failed. - -FAILURE: Build completed with 4 failures. - -1: Task failed with an exception. ------------ -* What went wrong: -A problem occurred configuring project ':jni'. -> java.lang.RuntimeException: com.android.builder.sdk.InstallFailedException: Failed to install the following SDK components: - ndk;28.2.13676358 NDK (Side by side) 28.2.13676358 - Install the missing components using the SDK manager in Android Studio. - - -* Try: -> Run with --stacktrace option to get the stack trace. -> Run with --info or --debug option to get more log output. -> Run with --scan to get full insights. -> Get more help at https://help.gradle.org. -============================================================================== - -2: Task failed with an exception. ------------ -* What went wrong: -java.io.FileNotFoundException: /Users/yaso_meth/Git/flutter/packages/flutter_tools/gradle/.kotlin/errors/errors-cfe3ff1f-8e73-4358-83a4-d984868e3a0f-1782895248380.log (No such file or directory) -> /Users/yaso_meth/Git/flutter/packages/flutter_tools/gradle/.kotlin/errors/errors-cfe3ff1f-8e73-4358-83a4-d984868e3a0f-1782895248380.log (No such file or directory) - -* Try: -> Run with --stacktrace option to get the stack trace. -> Run with --info or --debug option to get more log output. -> Run with --scan to get full insights. -> Get more help at https://help.gradle.org. -============================================================================== - -3: Task failed with an exception. ------------ -* What went wrong: -java.io.FileNotFoundException: /Users/yaso_meth/Git/mih_main/mih-project/mih_ui/android/.kotlin/errors/errors-8942e788-d3b6-4d60-a7ca-9e186e964ac2-1782895248413.log (No such file or directory) -> /Users/yaso_meth/Git/mih_main/mih-project/mih_ui/android/.kotlin/errors/errors-8942e788-d3b6-4d60-a7ca-9e186e964ac2-1782895248413.log (No such file or directory) - -* Try: -> Run with --stacktrace option to get the stack trace. -> Run with --info or --debug option to get more log output. -> Run with --scan to get full insights. -> Get more help at https://help.gradle.org. -============================================================================== - -4: Task failed with an exception. ------------ -* What went wrong: -java.io.IOException: No space left on device - -* Try: -> Run with --stacktrace option to get the stack trace. -> Run with --info or --debug option to get more log output. -> Run with --scan to get full insights. -> Get more help at https://help.gradle.org. -============================================================================== - -BUILD FAILED in 3m 38s - -FAILURE: Build failed with an exception. - -* What went wrong: -Could not stop all services. -> Failed to release lock on Build Output Cleanup Cache (/Users/yaso_meth/Git/mih_main/mih-project/mih_ui/android/.gradle/buildOutputCleanup) -> Could not stop all services. - > Failed to release lock on cache directory md-supplier (/Users/yaso_meth/.gradle/caches/8.14/md-supplier) - > Could not stop all services. - > Failed to release lock on Build Output Cleanup Cache (/Users/yaso_meth/Git/flutter/packages/flutter_tools/gradle/.gradle/buildOutputCleanup) - > Failed to release lock on execution history cache (/Users/yaso_meth/Git/flutter/packages/flutter_tools/gradle/.gradle/8.14/executionHistory) - > Failed to release lock on cache directory md-rule (/Users/yaso_meth/.gradle/caches/8.14/md-rule) - -* Try: -> Run with --stacktrace option to get the stack trace. -> Run with --info or --debug option to get more log output. -> Run with --scan to get full insights. -> Get more help at https://help.gradle.org. - -BUILD FAILED in 3m 38s -Running Gradle task 'assembleDebug'... 218,7s -[!] Gradle threw an error while downloading artifacts from the network. -Retrying Gradle Build: #1, wait time: 100ms -Running Gradle task 'assembleDebug'... -OpenJDK 64-Bit Server VM warning: Insufficient space for shared memory file: - 6368 -Try using the -Djava.io.tmpdir= option to select an alternate temp location. - - -FAILURE: Build completed with 4 failures. - -1: Task failed with an exception. ------------ -* What went wrong: -A problem occurred configuring project ':file_saver'. -> Could not resolve all dependencies for configuration 'classpath'. - > Problems writing to Binary store in /Users/yaso_meth/.gradle/.tmp/gradle14945273148192102443.bin (exist: true) -> Failed to notify project evaluation listener. - > java.lang.NullPointerException (no error message) - > java.lang.NullPointerException (no error message) - -* Try: -> Run with --stacktrace option to get the stack trace. -> Run with --info or --debug option to get more log output. -> Run with --scan to get full insights. -> Get more help at https://help.gradle.org. -============================================================================== - -2: Task failed with an exception. ------------ -* What went wrong: -java.io.FileNotFoundException: /Users/yaso_meth/Git/flutter/packages/flutter_tools/gradle/.kotlin/errors/errors-b524f85e-ee83-40c2-b330-d89a3d4ac323-1782895250713.log (No such file or directory) -> /Users/yaso_meth/Git/flutter/packages/flutter_tools/gradle/.kotlin/errors/errors-b524f85e-ee83-40c2-b330-d89a3d4ac323-1782895250713.log (No such file or directory) - -* Try: -> Run with --stacktrace option to get the stack trace. -> Run with --info or --debug option to get more log output. -> Run with --scan to get full insights. -> Get more help at https://help.gradle.org. -============================================================================== - -3: Task failed with an exception. ------------ -* What went wrong: -java.io.FileNotFoundException: /Users/yaso_meth/Git/mih_main/mih-project/mih_ui/android/.kotlin/errors/errors-96cad8c6-4794-43ef-b397-a9bd8ca89b67-1782895250715.log (No such file or directory) -> /Users/yaso_meth/Git/mih_main/mih-project/mih_ui/android/.kotlin/errors/errors-96cad8c6-4794-43ef-b397-a9bd8ca89b67-1782895250715.log (No such file or directory) - -* Try: -> Run with --stacktrace option to get the stack trace. -> Run with --info or --debug option to get more log output. -> Run with --scan to get full insights. -> Get more help at https://help.gradle.org. -============================================================================== - -4: Task failed with an exception. ------------ -* What went wrong: -java.io.IOException: No space left on device - -* Try: -> Run with --stacktrace option to get the stack trace. -> Run with --info or --debug option to get more log output. -> Run with --scan to get full insights. -> Get more help at https://help.gradle.org. -============================================================================== - -BUILD FAILED in 1s - -FAILURE: Build failed with an exception. - -* What went wrong: -Could not stop all services. -> Failed to release lock on Build Output Cleanup Cache (/Users/yaso_meth/Git/mih_main/mih-project/mih_ui/android/.gradle/buildOutputCleanup) -> Could not stop all services. - > Failed to release lock on cache directory md-supplier (/Users/yaso_meth/.gradle/caches/8.14/md-supplier) - > Could not stop all services. - > Failed to release lock on Build Output Cleanup Cache (/Users/yaso_meth/Git/flutter/packages/flutter_tools/gradle/.gradle/buildOutputCleanup) - > Failed to release lock on execution history cache (/Users/yaso_meth/Git/flutter/packages/flutter_tools/gradle/.gradle/8.14/executionHistory) - > Failed to release lock on cache directory md-rule (/Users/yaso_meth/.gradle/caches/8.14/md-rule) - -* Try: -> Run with --stacktrace option to get the stack trace. -> Run with --info or --debug option to get more log output. -> Run with --scan to get full insights. -> Get more help at https://help.gradle.org. - -BUILD FAILED in 1s -Running Gradle task 'assembleDebug'... 1 649ms - -┌─ Flutter Fix ────────────────────────────────────────────────────────────────────────┐ -│ [!] Starting AGP 9+, only the new DSL interface will be read. │ -│ This results in a build failure when applying the Flutter Gradle plugin at │ -│ /Users/yaso_meth/Git/mih_main/mih-project/mih_ui/android/app/build.gradle.kts. │ -│ │ -│ To resolve this update flutter or opt out of `android.newDsl`. │ -│ For instructions on how to opt out, see: │ -│ https://developer.android.com/build/releases/agp-9-0-0-release-notes │ -│ │ -│ If you are not upgrading to AGP 9+, run `flutter analyze --suggestions` to check for │ -│ incompatible dependencies. │ -└──────────────────────────────────────────────────────────────────────────────────────┘ -Error: Gradle task assembleDebug failed with exit code 1 diff --git a/mih_ui/ios/Podfile.lock b/mih_ui/ios/Podfile.lock index c32a40ff..3d76d0db 100644 --- a/mih_ui/ios/Podfile.lock +++ b/mih_ui/ios/Podfile.lock @@ -1,52 +1,360 @@ PODS: - - FBAudienceNetwork (6.21.1) + - app_settings (6.1.2): + - Flutter + - AppCheckCore (11.2.0): + - GoogleUtilities/Environment (~> 8.0) + - GoogleUtilities/UserDefaults (~> 8.0) + - PromisesObjC (~> 2.4) + - camera_avfoundation (0.0.1): + - Flutter + - device_info_plus (0.0.1): + - Flutter + - DKImagePickerController/Core (4.3.9): + - DKImagePickerController/ImageDataManager + - DKImagePickerController/Resource + - DKImagePickerController/ImageDataManager (4.3.9) + - DKImagePickerController/PhotoGallery (4.3.9): + - DKImagePickerController/Core + - DKPhotoGallery + - DKImagePickerController/Resource (4.3.9) + - DKPhotoGallery (0.0.19): + - DKPhotoGallery/Core (= 0.0.19) + - DKPhotoGallery/Model (= 0.0.19) + - DKPhotoGallery/Preview (= 0.0.19) + - DKPhotoGallery/Resource (= 0.0.19) + - SDWebImage + - SwiftyGif + - DKPhotoGallery/Core (0.0.19): + - DKPhotoGallery/Model + - DKPhotoGallery/Preview + - SDWebImage + - SwiftyGif + - DKPhotoGallery/Model (0.0.19): + - SDWebImage + - SwiftyGif + - DKPhotoGallery/Preview (0.0.19): + - DKPhotoGallery/Model + - DKPhotoGallery/Resource + - SDWebImage + - SwiftyGif + - DKPhotoGallery/Resource (0.0.19): + - SDWebImage + - SwiftyGif + - FBAudienceNetwork (6.20.1) + - file_picker (0.0.1): + - DKImagePickerController/PhotoGallery + - Flutter + - file_saver (0.0.1): + - Flutter + - file_selector_ios (0.0.1): + - Flutter + - Firebase/Auth (12.8.0): + - Firebase/CoreOnly + - FirebaseAuth (~> 12.8.0) + - Firebase/CoreOnly (12.8.0): + - FirebaseCore (~> 12.8.0) + - firebase_app_check (0.4.1-2): + - Firebase/CoreOnly (~> 12.8.0) + - firebase_core + - FirebaseAppCheck (~> 12.8.0) + - Flutter + - firebase_auth (6.1.2): + - Firebase/Auth (= 12.8.0) + - firebase_core + - Flutter + - firebase_core (4.4.0): + - Firebase/CoreOnly (= 12.8.0) + - Flutter + - FirebaseAppCheck (12.8.0): + - AppCheckCore (~> 11.0) + - FirebaseAppCheckInterop (~> 12.8.0) + - FirebaseCore (~> 12.8.0) + - GoogleUtilities/Environment (~> 8.1) + - GoogleUtilities/UserDefaults (~> 8.1) + - FirebaseAppCheckInterop (12.8.0) + - FirebaseAuth (12.8.0): + - FirebaseAppCheckInterop (~> 12.8.0) + - FirebaseAuthInterop (~> 12.8.0) + - FirebaseCore (~> 12.8.0) + - FirebaseCoreExtension (~> 12.8.0) + - GoogleUtilities/AppDelegateSwizzler (~> 8.1) + - GoogleUtilities/Environment (~> 8.1) + - GTMSessionFetcher/Core (< 6.0, >= 3.4) + - RecaptchaInterop (~> 101.0) + - FirebaseAuthInterop (12.8.0) + - FirebaseCore (12.8.0): + - FirebaseCoreInternal (~> 12.8.0) + - GoogleUtilities/Environment (~> 8.1) + - GoogleUtilities/Logger (~> 8.1) + - FirebaseCoreExtension (12.8.0): + - FirebaseCore (~> 12.8.0) + - FirebaseCoreInternal (12.8.0): + - "GoogleUtilities/NSData+zlib (~> 8.1)" - fl_downloader (0.0.1): - Flutter - Flutter (1.0.0) + - flutter_native_splash (2.4.3): + - Flutter - flutter_tts (0.0.1): - Flutter - - gma_mediation_meta (1.5.2): + - geolocator_apple (1.2.0): - Flutter - - GoogleMobileAdsMediationFacebook (~> 6.21.1.0) - - Google-Mobile-Ads-SDK (13.6.0): + - FlutterMacOS + - gma_mediation_meta (1.4.1): + - Flutter + - GoogleMobileAdsMediationFacebook (~> 6.20.1.0) + - Google-Mobile-Ads-SDK (12.2.0): - GoogleUserMessagingPlatform (>= 1.1) - - GoogleMobileAdsMediationFacebook (6.21.1.1.1): - - FBAudienceNetwork (= 6.21.1) - - Google-Mobile-Ads-SDK (~> 13.4) + - google_mobile_ads (6.0.0): + - Flutter + - Google-Mobile-Ads-SDK (~> 12.2.0) + - webview_flutter_wkwebview + - GoogleMobileAdsMediationFacebook (6.20.1.0): + - FBAudienceNetwork (= 6.20.1) + - Google-Mobile-Ads-SDK (~> 12.0) - GoogleUserMessagingPlatform (3.1.0) + - GoogleUtilities/AppDelegateSwizzler (8.1.0): + - GoogleUtilities/Environment + - GoogleUtilities/Logger + - GoogleUtilities/Network + - GoogleUtilities/Privacy + - GoogleUtilities/Environment (8.1.0): + - GoogleUtilities/Privacy + - GoogleUtilities/Logger (8.1.0): + - GoogleUtilities/Environment + - GoogleUtilities/Privacy + - GoogleUtilities/Network (8.1.0): + - GoogleUtilities/Logger + - "GoogleUtilities/NSData+zlib" + - GoogleUtilities/Privacy + - GoogleUtilities/Reachability + - "GoogleUtilities/NSData+zlib (8.1.0)": + - GoogleUtilities/Privacy + - GoogleUtilities/Privacy (8.1.0) + - GoogleUtilities/Reachability (8.1.0): + - GoogleUtilities/Logger + - GoogleUtilities/Privacy + - GoogleUtilities/UserDefaults (8.1.0): + - GoogleUtilities/Logger + - GoogleUtilities/Privacy + - GTMSessionFetcher/Core (5.0.0) + - image_picker_ios (0.0.1): + - Flutter + - local_auth_darwin (0.0.1): + - Flutter + - FlutterMacOS + - mobile_scanner (7.0.0): + - Flutter + - FlutterMacOS + - package_info_plus (0.4.5): + - Flutter + - path_provider_foundation (0.0.1): + - Flutter + - FlutterMacOS + - printing (1.0.0): + - Flutter + - PromisesObjC (2.4.0) + - quick_actions_ios (0.0.1): + - Flutter + - RecaptchaInterop (101.0.0) + - record_ios (1.1.0): + - Flutter + - screen_brightness_ios (0.1.0): + - Flutter + - SDWebImage (5.21.5): + - SDWebImage/Core (= 5.21.5) + - SDWebImage/Core (5.21.5) + - share_plus (0.0.1): + - Flutter + - shared_preferences_foundation (0.0.1): + - Flutter + - FlutterMacOS + - sqflite_darwin (0.0.4): + - Flutter + - FlutterMacOS + - SwiftyGif (5.4.5) + - syncfusion_flutter_pdfviewer (0.0.1): + - Flutter + - url_launcher_ios (0.0.1): + - Flutter + - webview_flutter_wkwebview (0.0.1): + - Flutter + - FlutterMacOS DEPENDENCIES: + - app_settings (from `.symlinks/plugins/app_settings/ios`) + - camera_avfoundation (from `.symlinks/plugins/camera_avfoundation/ios`) + - device_info_plus (from `.symlinks/plugins/device_info_plus/ios`) + - file_picker (from `.symlinks/plugins/file_picker/ios`) + - file_saver (from `.symlinks/plugins/file_saver/ios`) + - file_selector_ios (from `.symlinks/plugins/file_selector_ios/ios`) + - firebase_app_check (from `.symlinks/plugins/firebase_app_check/ios`) + - firebase_auth (from `.symlinks/plugins/firebase_auth/ios`) + - firebase_core (from `.symlinks/plugins/firebase_core/ios`) - fl_downloader (from `.symlinks/plugins/fl_downloader/ios`) - Flutter (from `Flutter`) + - flutter_native_splash (from `.symlinks/plugins/flutter_native_splash/ios`) - flutter_tts (from `.symlinks/plugins/flutter_tts/ios`) + - geolocator_apple (from `.symlinks/plugins/geolocator_apple/darwin`) - gma_mediation_meta (from `.symlinks/plugins/gma_mediation_meta/ios`) + - google_mobile_ads (from `.symlinks/plugins/google_mobile_ads/ios`) + - image_picker_ios (from `.symlinks/plugins/image_picker_ios/ios`) + - local_auth_darwin (from `.symlinks/plugins/local_auth_darwin/darwin`) + - mobile_scanner (from `.symlinks/plugins/mobile_scanner/darwin`) + - package_info_plus (from `.symlinks/plugins/package_info_plus/ios`) + - path_provider_foundation (from `.symlinks/plugins/path_provider_foundation/darwin`) + - printing (from `.symlinks/plugins/printing/ios`) + - quick_actions_ios (from `.symlinks/plugins/quick_actions_ios/ios`) + - record_ios (from `.symlinks/plugins/record_ios/ios`) + - screen_brightness_ios (from `.symlinks/plugins/screen_brightness_ios/ios`) + - share_plus (from `.symlinks/plugins/share_plus/ios`) + - shared_preferences_foundation (from `.symlinks/plugins/shared_preferences_foundation/darwin`) + - sqflite_darwin (from `.symlinks/plugins/sqflite_darwin/darwin`) + - syncfusion_flutter_pdfviewer (from `.symlinks/plugins/syncfusion_flutter_pdfviewer/ios`) + - url_launcher_ios (from `.symlinks/plugins/url_launcher_ios/ios`) + - webview_flutter_wkwebview (from `.symlinks/plugins/webview_flutter_wkwebview/darwin`) SPEC REPOS: trunk: + - AppCheckCore + - DKImagePickerController + - DKPhotoGallery - FBAudienceNetwork + - Firebase + - FirebaseAppCheck + - FirebaseAppCheckInterop + - FirebaseAuth + - FirebaseAuthInterop + - FirebaseCore + - FirebaseCoreExtension + - FirebaseCoreInternal - Google-Mobile-Ads-SDK - GoogleMobileAdsMediationFacebook - GoogleUserMessagingPlatform + - GoogleUtilities + - GTMSessionFetcher + - PromisesObjC + - RecaptchaInterop + - SDWebImage + - SwiftyGif EXTERNAL SOURCES: + app_settings: + :path: ".symlinks/plugins/app_settings/ios" + camera_avfoundation: + :path: ".symlinks/plugins/camera_avfoundation/ios" + device_info_plus: + :path: ".symlinks/plugins/device_info_plus/ios" + file_picker: + :path: ".symlinks/plugins/file_picker/ios" + file_saver: + :path: ".symlinks/plugins/file_saver/ios" + file_selector_ios: + :path: ".symlinks/plugins/file_selector_ios/ios" + firebase_app_check: + :path: ".symlinks/plugins/firebase_app_check/ios" + firebase_auth: + :path: ".symlinks/plugins/firebase_auth/ios" + firebase_core: + :path: ".symlinks/plugins/firebase_core/ios" fl_downloader: :path: ".symlinks/plugins/fl_downloader/ios" Flutter: :path: Flutter + flutter_native_splash: + :path: ".symlinks/plugins/flutter_native_splash/ios" flutter_tts: :path: ".symlinks/plugins/flutter_tts/ios" + geolocator_apple: + :path: ".symlinks/plugins/geolocator_apple/darwin" gma_mediation_meta: :path: ".symlinks/plugins/gma_mediation_meta/ios" + google_mobile_ads: + :path: ".symlinks/plugins/google_mobile_ads/ios" + image_picker_ios: + :path: ".symlinks/plugins/image_picker_ios/ios" + local_auth_darwin: + :path: ".symlinks/plugins/local_auth_darwin/darwin" + mobile_scanner: + :path: ".symlinks/plugins/mobile_scanner/darwin" + package_info_plus: + :path: ".symlinks/plugins/package_info_plus/ios" + path_provider_foundation: + :path: ".symlinks/plugins/path_provider_foundation/darwin" + printing: + :path: ".symlinks/plugins/printing/ios" + quick_actions_ios: + :path: ".symlinks/plugins/quick_actions_ios/ios" + record_ios: + :path: ".symlinks/plugins/record_ios/ios" + screen_brightness_ios: + :path: ".symlinks/plugins/screen_brightness_ios/ios" + share_plus: + :path: ".symlinks/plugins/share_plus/ios" + shared_preferences_foundation: + :path: ".symlinks/plugins/shared_preferences_foundation/darwin" + sqflite_darwin: + :path: ".symlinks/plugins/sqflite_darwin/darwin" + syncfusion_flutter_pdfviewer: + :path: ".symlinks/plugins/syncfusion_flutter_pdfviewer/ios" + url_launcher_ios: + :path: ".symlinks/plugins/url_launcher_ios/ios" + webview_flutter_wkwebview: + :path: ".symlinks/plugins/webview_flutter_wkwebview/darwin" SPEC CHECKSUMS: - FBAudienceNetwork: 85d18a65c9e35bc426bd4664cf3ae2a1172d7b60 - fl_downloader: e9913c2722a6819ac7f5c08de5e7b59ada200ca9 + app_settings: 0341ec6daa4f0c50f5a421bf0ad7c36084db6e90 + AppCheckCore: cc8fd0a3a230ddd401f326489c99990b013f0c4f + camera_avfoundation: be3be85408cd4126f250386828e9b1dfa40ab436 + device_info_plus: 21fcca2080fbcd348be798aa36c3e5ed849eefbe + DKImagePickerController: 946cec48c7873164274ecc4624d19e3da4c1ef3c + DKPhotoGallery: b3834fecb755ee09a593d7c9e389d8b5d6deed60 + FBAudienceNetwork: 08e86d63a05b3a5a59414af12e4af8d756943c80 + file_picker: a0560bc09d61de87f12d246fc47d2119e6ef37be + file_saver: 6cdbcddd690cb02b0c1a0c225b37cd805c2bf8b6 + file_selector_ios: f92e583d43608aebc2e4a18daac30b8902845502 + Firebase: 9a58fdbc9d8655ed7b79a19cf9690bb007d3d46d + firebase_app_check: 9756167f67afd4844027314bea522e42599631b5 + firebase_auth: 2ebdb4dbe0da3a75585694dcba711f7a8a926601 + firebase_core: ee30637e6744af8e0c12a6a1e8a9718506ec2398 + FirebaseAppCheck: 11da425929a45c677d537adfff3520ccd57c1690 + FirebaseAppCheckInterop: ba3dc604a89815379e61ec2365101608d365cf7d + FirebaseAuth: 4c289b1a43f5955283244a55cf6bd616de344be5 + FirebaseAuthInterop: 95363fe96493cb4f106656666a0768b420cba090 + FirebaseCore: 0dbad74bda10b8fb9ca34ad8f375fb9dd3ebef7c + FirebaseCoreExtension: 6605938d51f765d8b18bfcafd2085276a252bee2 + FirebaseCoreInternal: fe5fa466aeb314787093a7dce9f0beeaad5a2a21 + fl_downloader: dc99aa8dd303f862cccb830087f37acc9b0156ee Flutter: cabc95a1d2626b1b06e7179b784ebcf0c0cde467 - flutter_tts: 35ac3c7d42412733e795ea96ad2d7e05d0a75113 - gma_mediation_meta: cfa5493a4d585032e7789848190d320090c71709 - Google-Mobile-Ads-SDK: 6e501ace4af8d63e967bd45497c8b2b05821163d - GoogleMobileAdsMediationFacebook: 4420c648e278f6821001048d1f152dd74245f759 + flutter_native_splash: c32d145d68aeda5502d5f543ee38c192065986cf + flutter_tts: b88dbc8655d3dc961bc4a796e4e16a4cc1795833 + geolocator_apple: ab36aa0e8b7d7a2d7639b3b4e48308394e8cef5e + gma_mediation_meta: 44defcf3b61414cdca65c0f897360e31b9332a09 + Google-Mobile-Ads-SDK: 1dfb0c3cb46c7e2b00b0f4de74a1e06d9ea25d67 + google_mobile_ads: 535223588a6791b7a3cc3513a1bc7b89d12f3e62 + GoogleMobileAdsMediationFacebook: b11a92ae3bfdae19853b882252b7e62791c18162 GoogleUserMessagingPlatform: befe603da6501006420c206222acd449bba45a9c + GoogleUtilities: 00c88b9a86066ef77f0da2fab05f65d7768ed8e1 + GTMSessionFetcher: 02d6e866e90bc236f48a703a041dfe43e6221a29 + image_picker_ios: 7fe1ff8e34c1790d6fff70a32484959f563a928a + local_auth_darwin: 553ce4f9b16d3fdfeafce9cf042e7c9f77c1c391 + mobile_scanner: 9157936403f5a0644ca3779a38ff8404c5434a93 + package_info_plus: af8e2ca6888548050f16fa2f1938db7b5a5df499 + path_provider_foundation: 080d55be775b7414fd5a5ef3ac137b97b097e564 + printing: 54ff03f28fe9ba3aa93358afb80a8595a071dd07 + PromisesObjC: f5707f49cb48b9636751c5b2e7d227e43fba9f47 + quick_actions_ios: 4b07fb49d8d8f3518d7565fbb7a91014067a7d82 + RecaptchaInterop: 11e0b637842dfb48308d242afc3f448062325aba + record_ios: f75fa1d57f840012775c0e93a38a7f3ceea1a374 + screen_brightness_ios: 9953fd7da5bd480f1a93990daeec2eb42d4f3b52 + SDWebImage: e9c98383c7572d713c1a0d7dd2783b10599b9838 + share_plus: 50da8cb520a8f0f65671c6c6a99b3617ed10a58a + shared_preferences_foundation: 9e1978ff2562383bd5676f64ec4e9aa8fa06a6f7 + sqflite_darwin: 20b2a3a3b70e43edae938624ce550a3cbf66a3d0 + SwiftyGif: 706c60cf65fa2bc5ee0313beece843c8eb8194d4 + syncfusion_flutter_pdfviewer: 90dc48305d2e33d4aa20681d1e98ddeda891bc14 + url_launcher_ios: 694010445543906933d732453a59da0a173ae33d + webview_flutter_wkwebview: 1821ceac936eba6f7984d89a9f3bcb4dea99ebb2 PODFILE CHECKSUM: 1057d7c44bf0ab9d1ed8a78d57b4ebda5272e992 diff --git a/mih_ui/ios/Runner.xcodeproj/project.pbxproj b/mih_ui/ios/Runner.xcodeproj/project.pbxproj index de4811ed..107db2fa 100644 --- a/mih_ui/ios/Runner.xcodeproj/project.pbxproj +++ b/mih_ui/ios/Runner.xcodeproj/project.pbxproj @@ -13,7 +13,6 @@ 71E3C54FEF20104FD7A5C7E5 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 277EDD110F2042FAAC4E5333 /* Pods_Runner.framework */; }; 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; }; 75DB4569FB42001E83B22FC4 /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 486D5A0EDC898EC440394271 /* GoogleService-Info.plist */; }; - 78A318202AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage in Frameworks */ = {isa = PBXBuildFile; productRef = 78A3181F2AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage */; }; 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; }; 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; }; 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; }; @@ -59,7 +58,6 @@ 52DEBFF4174C303DD5BF01CA /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = ""; }; 74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; - 78E0A7A72DC9AD7400C4905E /* FlutterGeneratedPluginSwiftPackage */ = {isa = PBXFileReference; lastKnownFileType = wrapper; name = FlutterGeneratedPluginSwiftPackage; path = Flutter/ephemeral/Packages/FlutterGeneratedPluginSwiftPackage; sourceTree = ""; }; 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; }; 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = ""; }; 9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = ""; }; @@ -77,7 +75,6 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 78A318202AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage in Frameworks */, 71E3C54FEF20104FD7A5C7E5 /* Pods_Runner.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; @@ -126,7 +123,6 @@ 9740EEB11CF90186004384FC /* Flutter */ = { isa = PBXGroup; children = ( - 78E0A7A72DC9AD7400C4905E /* FlutterGeneratedPluginSwiftPackage */, 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */, 9740EEB21CF90195004384FC /* Debug.xcconfig */, 7AFA3C8E1D35360C0083082E /* Release.xcconfig */, @@ -214,9 +210,6 @@ dependencies = ( ); name = Runner; - packageProductDependencies = ( - 78A3181F2AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage */, - ); productName = Runner; productReference = 97C146EE1CF9000F007C117D /* Runner.app */; productType = "com.apple.product-type.application"; @@ -250,9 +243,6 @@ Base, ); mainGroup = 97C146E51CF9000F007C117D; - packageReferences = ( - 781AD8BC2B33823900A9FFBB /* XCLocalSwiftPackageReference "FlutterGeneratedPluginSwiftPackage" */, - ); productRefGroup = 97C146EF1CF9000F007C117D /* Products */; projectDirPath = ""; projectRoot = ""; @@ -488,7 +478,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 15.6; + IPHONEOS_DEPLOYMENT_TARGET = 13.0; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; STRING_CATALOG_GENERATE_SYMBOLS = YES; @@ -515,7 +505,6 @@ INFOPLIST_FILE = Runner/Info.plist; INFOPLIST_KEY_CFBundleDisplayName = MIH; INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.utilities"; - IPHONEOS_DEPLOYMENT_TARGET = 15.6; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", @@ -627,7 +616,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 15.6; + IPHONEOS_DEPLOYMENT_TARGET = 13.0; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; SDKROOT = iphoneos; @@ -679,7 +668,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 15.6; + IPHONEOS_DEPLOYMENT_TARGET = 13.0; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; STRING_CATALOG_GENERATE_SYMBOLS = YES; @@ -708,7 +697,6 @@ INFOPLIST_FILE = Runner/Info.plist; INFOPLIST_KEY_CFBundleDisplayName = MIH; INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.utilities"; - IPHONEOS_DEPLOYMENT_TARGET = 15.6; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", @@ -739,7 +727,6 @@ INFOPLIST_FILE = Runner/Info.plist; INFOPLIST_KEY_CFBundleDisplayName = MIH; INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.utilities"; - IPHONEOS_DEPLOYMENT_TARGET = 15.6; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", @@ -786,20 +773,6 @@ defaultConfigurationName = Release; }; /* End XCConfigurationList section */ - -/* Begin XCLocalSwiftPackageReference section */ - 781AD8BC2B33823900A9FFBB /* XCLocalSwiftPackageReference "FlutterGeneratedPluginSwiftPackage" */ = { - isa = XCLocalSwiftPackageReference; - relativePath = Flutter/ephemeral/Packages/FlutterGeneratedPluginSwiftPackage; - }; -/* End XCLocalSwiftPackageReference section */ - -/* Begin XCSwiftPackageProductDependency section */ - 78A3181F2AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage */ = { - isa = XCSwiftPackageProductDependency; - productName = FlutterGeneratedPluginSwiftPackage; - }; -/* End XCSwiftPackageProductDependency section */ }; rootObject = 97C146E61CF9000F007C117D /* Project object */; } diff --git a/mih_ui/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved b/mih_ui/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved deleted file mode 100644 index e2607570..00000000 --- a/mih_ui/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved +++ /dev/null @@ -1,149 +0,0 @@ -{ - "pins" : [ - { - "identity" : "abseil-cpp-binary", - "kind" : "remoteSourceControl", - "location" : "https://github.com/google/abseil-cpp-binary.git", - "state" : { - "revision" : "bbe8b69694d7873315fd3a4ad41efe043e1c07c5", - "version" : "1.2024072200.0" - } - }, - { - "identity" : "app-check", - "kind" : "remoteSourceControl", - "location" : "https://github.com/google/app-check.git", - "state" : { - "revision" : "bb4002485ff867768dec13bf904a2ddb050bd1b1", - "version" : "11.3.0" - } - }, - { - "identity" : "firebase-ios-sdk", - "kind" : "remoteSourceControl", - "location" : "https://github.com/firebase/firebase-ios-sdk", - "state" : { - "revision" : "42e81d245e30e49ea6a5830cf2842d44a1591270", - "version" : "12.15.0" - } - }, - { - "identity" : "google-ads-on-device-conversion-ios-sdk", - "kind" : "remoteSourceControl", - "location" : "https://github.com/googleads/google-ads-on-device-conversion-ios-sdk", - "state" : { - "revision" : "dc39082d8881109d35b94b1c122164c0e8d08a55", - "version" : "3.6.1" - } - }, - { - "identity" : "googleappmeasurement", - "kind" : "remoteSourceControl", - "location" : "https://github.com/google/GoogleAppMeasurement.git", - "state" : { - "revision" : "144855f40d8668927f256a3045f7fdc4c3f4338b", - "version" : "12.15.0" - } - }, - { - "identity" : "googledatatransport", - "kind" : "remoteSourceControl", - "location" : "https://github.com/google/GoogleDataTransport.git", - "state" : { - "revision" : "617af071af9aa1d6a091d59a202910ac482128f9", - "version" : "10.1.0" - } - }, - { - "identity" : "googleutilities", - "kind" : "remoteSourceControl", - "location" : "https://github.com/google/GoogleUtilities.git", - "state" : { - "revision" : "9f183ae842be978784f2963a343682e0c46d8fb3", - "version" : "8.1.2" - } - }, - { - "identity" : "grpc-binary", - "kind" : "remoteSourceControl", - "location" : "https://github.com/google/grpc-binary.git", - "state" : { - "revision" : "75b31c842f664a0f46a2e590a570e370249fd8f6", - "version" : "1.69.1" - } - }, - { - "identity" : "gtm-session-fetcher", - "kind" : "remoteSourceControl", - "location" : "https://github.com/google/gtm-session-fetcher.git", - "state" : { - "revision" : "c0ac7575d70050c2973ba2318bd5af47f8e8153a", - "version" : "5.3.0" - } - }, - { - "identity" : "interop-ios-for-google-sdks", - "kind" : "remoteSourceControl", - "location" : "https://github.com/google/interop-ios-for-google-sdks.git", - "state" : { - "revision" : "040d087ac2267d2ddd4cca36c757d1c6a05fdbfe", - "version" : "101.0.0" - } - }, - { - "identity" : "leveldb", - "kind" : "remoteSourceControl", - "location" : "https://github.com/firebase/leveldb.git", - "state" : { - "revision" : "a0bc79961d7be727d258d33d5a6b2f1023270ba1", - "version" : "1.22.5" - } - }, - { - "identity" : "nanopb", - "kind" : "remoteSourceControl", - "location" : "https://github.com/firebase/nanopb.git", - "state" : { - "revision" : "3851d94a41890dea16dc3db34caf60e585cb4163", - "version" : "2.30910.1" - } - }, - { - "identity" : "promises", - "kind" : "remoteSourceControl", - "location" : "https://github.com/google/promises.git", - "state" : { - "revision" : "f4a19a3c313dc2616c70bb49d29a799fb16be837", - "version" : "2.4.1" - } - }, - { - "identity" : "recaptcha-enterprise-mobile-sdk", - "kind" : "remoteSourceControl", - "location" : "https://github.com/GoogleCloudPlatform/recaptcha-enterprise-mobile-sdk.git", - "state" : { - "revision" : "85588690041e63784be7bcb4b631c32565127ba2", - "version" : "18.9.1" - } - }, - { - "identity" : "swift-package-manager-google-mobile-ads", - "kind" : "remoteSourceControl", - "location" : "https://github.com/googleads/swift-package-manager-google-mobile-ads", - "state" : { - "revision" : "7651abff585dc8dacd1744222d5f03bdd2a8532a", - "version" : "13.6.0" - } - }, - { - "identity" : "swift-package-manager-google-user-messaging-platform", - "kind" : "remoteSourceControl", - "location" : "https://github.com/googleads/swift-package-manager-google-user-messaging-platform.git", - "state" : { - "revision" : "13b248eaa73b7826f0efb1bcf455e251d65ecb1b", - "version" : "3.1.0" - } - } - ], - "version" : 2 -} diff --git a/mih_ui/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/mih_ui/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index c3fedb29..e3773d42 100644 --- a/mih_ui/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/mih_ui/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -5,24 +5,6 @@ - - - - - - - - - - ('user_box'); - await Hive.openBox('business_box'); - await Hive.openBox('business_user_box'); - await Hive.openBox('user_consent_box'); - await Hive.openBox('image_urls_box'); - await Hive.openBox('personal_profile_links_box'); - await Hive.openBox('business_profile_links_box'); - await Hive.openBox('business_employees_box'); - // Mzansi Wallet Data - await Hive.openBox('loyalty_card_box'); - await Hive.openBox('fav_loyalty_card_box'); - await Hive.openBox('wallet_modifications_queue'); - // About MIH Data - await Hive.openBox('about_mih_box'); - // Mih Calendar Data - await Hive.openBox('personal_calendar_box'); - await Hive.openBox('business_calendar_box'); - // await Firebase.initializeApp( - // // options: DefaultFirebaseOptions.currentPlatform, - // options: (Platform.isLinux) - // ? DefaultFirebaseOptions.web // Forces Linux to use the Web config - // : DefaultFirebaseOptions.currentPlatform, + // options: DefaultFirebaseOptions.currentPlatform, // ); if (!kIsWeb && (Platform.isAndroid || Platform.isIOS)) { - const List testDeviceIds = ['733d4c68-9b54-453a-9622-2df407310f40']; - MobileAds.instance.updateRequestConfiguration( - RequestConfiguration( - testDeviceIds: testDeviceIds, - ), - ); MobileAds.instance.initialize(); } else { usePathUrlStrategy(); @@ -74,7 +33,7 @@ void main() async { debugPrint('APP INSTALLED!'); }); final GoRouter appRouter = MihGoRouter().mihRouter; - runApp(MzansiInnovationHub( + (MzansiInnovationHub( router: appRouter, )); } diff --git a/mih_ui/lib/mih_package_components/mih_circle_avatar.dart b/mih_ui/lib/mih_package_components/mih_circle_avatar.dart index 51b41329..e00a2493 100644 --- a/mih_ui/lib/mih_package_components/mih_circle_avatar.dart +++ b/mih_ui/lib/mih_package_components/mih_circle_avatar.dart @@ -129,7 +129,8 @@ class _MihCircleAvatarState extends State { ), onPressed: () async { try { - FilePickerResult? result = await FilePicker.pickFiles( + FilePickerResult? result = + await FilePicker.platform.pickFiles( type: FileType.image, ); // print("Here 1"); diff --git a/mih_ui/lib/mih_package_components/mih_image_display.dart b/mih_ui/lib/mih_package_components/mih_image_display.dart index aafbfd58..f8ad1f09 100644 --- a/mih_ui/lib/mih_package_components/mih_image_display.dart +++ b/mih_ui/lib/mih_package_components/mih_image_display.dart @@ -98,7 +98,8 @@ class _MihImageDisplayState extends State { color: MihColors.primary(), onPressed: () async { try { - FilePickerResult? result = await FilePicker.pickFiles( + FilePickerResult? result = + await FilePicker.platform.pickFiles( type: FileType.image, ); // print("Here 1"); diff --git a/mih_ui/lib/mih_packages/about_mih/package_tools/mih_info.dart b/mih_ui/lib/mih_packages/about_mih/package_tools/mih_info.dart index 9ef71ae5..9f24529b 100644 --- a/mih_ui/lib/mih_packages/about_mih/package_tools/mih_info.dart +++ b/mih_ui/lib/mih_packages/about_mih/package_tools/mih_info.dart @@ -67,7 +67,7 @@ class _MihInfoState extends State { children: [ SizedBox( child: Text( - "${aboutProvider.userCount}", + "${aboutProvider.businessCount}", style: TextStyle( fontWeight: FontWeight.bold, fontSize: 23, diff --git a/mih_ui/lib/mih_packages/mzansi_profile/business_profile/package_tools/mih_business_qr_code.dart b/mih_ui/lib/mih_packages/mzansi_profile/business_profile/package_tools/mih_business_qr_code.dart index 97057c06..f2939170 100644 --- a/mih_ui/lib/mih_packages/mzansi_profile/business_profile/package_tools/mih_business_qr_code.dart +++ b/mih_ui/lib/mih_packages/mzansi_profile/business_profile/package_tools/mih_business_qr_code.dart @@ -75,13 +75,14 @@ class _MihBusinessQrCodeState extends State { } else if (defaultTargetPlatform == TargetPlatform.linux || defaultTargetPlatform == TargetPlatform.windows) { // Use File Picker to get a save path on Desktop - String? outputFile = await FilePicker.saveFile( + String? outputFile = await FilePicker.platform.saveFile( dialogTitle: 'Please select where to save your QR Code:', fileName: filename, - bytes: imageBytes, ); if (outputFile != null) { + final file = File(outputFile); + await file.writeAsBytes(imageBytes); KenLogger.success("Saved to $outputFile"); } } else { diff --git a/mih_ui/lib/mih_packages/mzansi_profile/personal_profile/package_tools/mih_personal_qr_code.dart b/mih_ui/lib/mih_packages/mzansi_profile/personal_profile/package_tools/mih_personal_qr_code.dart index 55814fec..c01110ef 100644 --- a/mih_ui/lib/mih_packages/mzansi_profile/personal_profile/package_tools/mih_personal_qr_code.dart +++ b/mih_ui/lib/mih_packages/mzansi_profile/personal_profile/package_tools/mih_personal_qr_code.dart @@ -1,3 +1,4 @@ +import 'dart:io'; import 'package:cached_network_image/cached_network_image.dart'; import 'package:file_picker/file_picker.dart'; import 'package:file_saver/file_saver.dart'; @@ -74,14 +75,13 @@ class _MihPersonalQrCodeState extends State { } else if (defaultTargetPlatform == TargetPlatform.linux || defaultTargetPlatform == TargetPlatform.windows) { // Use File Picker to get a save path on Desktop - String? outputFile = await FilePicker.saveFile( + String? outputFile = await FilePicker.platform.saveFile( dialogTitle: 'Please select where to save your QR Code:', fileName: filename, - bytes: imageBytes, ); if (outputFile != null) { - // final file = File(outputFile); - // await file.writeAsBytes(imageBytes); + final file = File(outputFile); + await file.writeAsBytes(imageBytes); KenLogger.success("Saved to $outputFile"); } } else { diff --git a/mih_ui/lib/mih_packages/patient_manager/pat_profile/package_tools/patient_documents.dart b/mih_ui/lib/mih_packages/patient_manager/pat_profile/package_tools/patient_documents.dart index 603b7ba0..c8b83d01 100644 --- a/mih_ui/lib/mih_packages/patient_manager/pat_profile/package_tools/patient_documents.dart +++ b/mih_ui/lib/mih_packages/patient_manager/pat_profile/package_tools/patient_documents.dart @@ -164,9 +164,11 @@ class _PatientDocumentsState extends State { const SizedBox(width: 10), MihButton( onPressed: () async { - FilePickerResult? result = await FilePicker.pickFiles( + FilePickerResult? result = + await FilePicker.platform.pickFiles( type: FileType.custom, allowedExtensions: ['jpg', 'png', 'pdf'], + withData: true, ); if (result == null) return; final selectedFile = result.files.first; diff --git a/mih_ui/lib/mih_providers/ollama_provider.dart b/mih_ui/lib/mih_providers/ollama_provider.dart index 5b9bdf9b..31e7dc78 100644 --- a/mih_ui/lib/mih_providers/ollama_provider.dart +++ b/mih_ui/lib/mih_providers/ollama_provider.dart @@ -1,43 +1,41 @@ import 'dart:convert'; import 'package:flutter/foundation.dart'; -import 'package:flutter_ai_toolkit/flutter_ai_toolkit.dart' as ai_toolkit; +import 'package:flutter_ai_toolkit/flutter_ai_toolkit.dart'; import 'package:ken_logger/ken_logger.dart'; -import 'package:ollama_dart/ollama_dart.dart' as ollama; +import 'package:ollama_dart/ollama_dart.dart'; import 'package:cross_file/cross_file.dart'; -class OllamaProvider extends ai_toolkit.LlmProvider with ChangeNotifier { +class OllamaProvider extends LlmProvider with ChangeNotifier { OllamaProvider({ - required String baseUrl, - // required Map headers, - // required Map queryParams, + String? baseUrl, + Map? headers, + Map? queryParams, required String model, String? systemPrompt, bool? think, - }) : _client = ollama.OllamaClient( - config: ollama.OllamaConfig( - baseUrl: baseUrl, - // defaultHeaders: headers, - // defaultQueryParams: queryParams, - ), + }) : _client = OllamaClient( + baseUrl: baseUrl, + headers: headers, + queryParams: queryParams, ), _model = model, _systemPrompt = systemPrompt, _think = think, _history = []; - final ollama.OllamaClient _client; + final OllamaClient _client; final String _model; - final List _history; + final List _history; final String? _systemPrompt; final bool? _think; @override Stream generateStream( String prompt, { - Iterable attachments = const [], + Iterable attachments = const [], }) async* { final messages = _mapToOllamaMessages([ - ai_toolkit.ChatMessage.user(prompt, attachments), + ChatMessage.user(prompt, attachments), ]); yield* _generateStream(messages); } @@ -45,7 +43,7 @@ class OllamaProvider extends ai_toolkit.LlmProvider with ChangeNotifier { Stream speechToText(XFile audioFile) async* { KenLogger.success("Inside Custom speechToText funtion"); // 1. Convert the XFile to the attachment format needed for the LLM. - final attachments = [await ai_toolkit.FileAttachment.fromFile(audioFile)]; + final attachments = [await FileAttachment.fromFile(audioFile)]; KenLogger.success("added attachment for audio file"); // 2. Define the transcription prompt, mirroring the logic from LlmChatView. @@ -68,11 +66,11 @@ class OllamaProvider extends ai_toolkit.LlmProvider with ChangeNotifier { @override Stream sendMessageStream( String prompt, { - Iterable attachments = const [], + Iterable attachments = const [], }) async* { KenLogger.success("sendMessageStream called with: $prompt"); - final userMessage = ai_toolkit.ChatMessage.user(prompt, attachments); - final llmMessage = ai_toolkit.ChatMessage.llm(); + final userMessage = ChatMessage.user(prompt, attachments); + final llmMessage = ChatMessage.llm(); _history.addAll([userMessage, llmMessage]); notifyListeners(); KenLogger.success("History after adding messages: ${_history.length}"); @@ -88,7 +86,7 @@ class OllamaProvider extends ai_toolkit.LlmProvider with ChangeNotifier { } @override - Iterable get history => _history; + Iterable get history => _history; void resetChat() { _history.clear(); @@ -96,41 +94,48 @@ class OllamaProvider extends ai_toolkit.LlmProvider with ChangeNotifier { } @override - set history(Iterable history) { + set history(Iterable history) { _history.clear(); _history.addAll(history); notifyListeners(); } - Stream _generateStream(List messages) async* { - final allMessages = []; + Stream _generateStream(List messages) async* { + final allMessages = []; if (_systemPrompt != null && _systemPrompt.isNotEmpty) { KenLogger.success("Adding system prompt to the conversation"); - allMessages.add(ollama.ChatMessage.system( - _systemPrompt, + allMessages.add(Message( + role: MessageRole.system, + content: _systemPrompt, )); } allMessages.addAll(messages); - final stream = _client.chat.createStream( - request: ollama.ChatRequest( + final stream = _client.generateChatCompletionStream( + request: GenerateChatCompletionRequest( model: _model, messages: allMessages, - think: ollama.ThinkValue.enabled(_think ?? false), + think: _think ?? false, ), ); + // final stream = _client.generateChatCompletionStream( + // request: GenerateChatCompletionRequest( + // model: _model, + // messages: messages, + // ), + // ); - yield* stream.map((res) => res.message?.content ?? ''); + yield* stream.map((res) => res.message.content); } - List _mapToOllamaMessages( - List messages) { + List _mapToOllamaMessages(List messages) { return messages.map((message) { switch (message.origin) { - case ai_toolkit.MessageOrigin.user: + case MessageOrigin.user: if (message.attachments.isEmpty) { - return ollama.ChatMessage.user( - message.text ?? '', + return Message( + role: MessageRole.user, + content: message.text ?? '', ); } final imageAttachments = []; @@ -139,30 +144,32 @@ class OllamaProvider extends ai_toolkit.LlmProvider with ChangeNotifier { docAttachments.add(message.text!); } for (final attachment in message.attachments) { - if (attachment is ai_toolkit.FileAttachment) { + if (attachment is FileAttachment) { final mimeType = attachment.mimeType.toLowerCase(); if (mimeType.startsWith('image/')) { imageAttachments.add(base64Encode(attachment.bytes)); } else if (mimeType == 'application/pdf' || mimeType.startsWith('text/')) { - throw ai_toolkit.LlmFailureException( + throw LlmFailureException( "\n\nAww, that file is a little too advanced for us right now ($mimeType)! We're still learning, but we'll get there! Please try sending us a different file type.\n\nHint: We can handle images quite well!", ); } } else { - throw ai_toolkit.LlmFailureException( + throw LlmFailureException( 'Unsupported attachment type: $attachment', ); } } - return ollama.ChatMessage.user( - docAttachments.join(' '), + return Message( + role: MessageRole.user, + content: docAttachments.join(' '), images: imageAttachments, ); - case ai_toolkit.MessageOrigin.llm: - return ollama.ChatMessage.assistant( - message.text ?? '', + case MessageOrigin.llm: + return Message( + role: MessageRole.assistant, + content: message.text ?? '', ); } }).toList(growable: false); @@ -170,7 +177,7 @@ class OllamaProvider extends ai_toolkit.LlmProvider with ChangeNotifier { @override void dispose() { - _client.close(); + _client.endSession(); super.dispose(); } } diff --git a/mih_ui/lib/mih_services/mih_file_services.dart b/mih_ui/lib/mih_services/mih_file_services.dart index 7b7138a1..ac9f11c1 100644 --- a/mih_ui/lib/mih_services/mih_file_services.dart +++ b/mih_ui/lib/mih_services/mih_file_services.dart @@ -17,32 +17,23 @@ class MihFileApi { static Future getMinioFileUrl( String filePath, ) async { + // loadingPopUp(context); + // print("here"); + // var url = + // "${AppEnviroment.baseApiUrl}/minio/pull/file/${AppEnviroment.getEnv()}/$filePath"; + // var response = await http.get(Uri.parse(url)); String fileUrl = ""; - try { - var url = - "${AppEnviroment.baseApiUrl}/minio/pull/file/${AppEnviroment.getEnv()}/$filePath"; - var response = await http.get(Uri.parse(url)); - if (response.statusCode == 200) { - var decodedData = jsonDecode(response.body); - fileUrl = decodedData['minioURL']; - } else {} - } catch (e) { - KenLogger.error("Error getting url"); - } finally {} - if (AppEnviroment.getEnv() == "Dev" && kIsWeb) { - fileUrl = fileUrl.replaceAll("10.0.2.2", "127.0.0.1"); - } else if (AppEnviroment.getEnv() == "Dev" && Platform.isIOS) { - fileUrl = fileUrl.replaceAll("10.0.2.2", "127.0.0.1"); - } else if (AppEnviroment.getEnv() == "Dev" && Platform.isLinux) { - fileUrl = fileUrl.replaceAll("10.0.2.2", "127.0.0.1"); - } - return fileUrl; - } + // print(response.statusCode); + // if (response.statusCode == 200) { + // String body = response.body; + // var decodedData = jsonDecode(body); - static Future getMinioFileUrlV2( - String filePath, - ) async { - String fileUrl = ""; + // fileUrl = decodedData['minioURL']; + // } else { + // fileUrl = ""; + // } + // Navigator.of(context).pop(); // Pop loading dialog + // return fileUrl; try { var url = "${AppEnviroment.baseApiUrl}/minio/pull/file/${AppEnviroment.getEnv()}/$filePath"; @@ -50,10 +41,19 @@ class MihFileApi { if (response.statusCode == 200) { var decodedData = jsonDecode(response.body); fileUrl = decodedData['minioURL']; - } else {} + } else { + // internetConnectionPopUp(context); + // KenLogger.error("Get File Error: $url"); + // KenLogger.error("Get File Error: ${response.statusCode}"); + // KenLogger.error("Get File Error: ${response.body}"); + } } catch (e) { + // internetConnectionPopUp(context); KenLogger.error("Error getting url"); - } finally {} + } finally { + // Navigator.of(context).pop(); // Always pop loading dialog + } + // KenLogger.success("File URL: $fileUrl"); if (AppEnviroment.getEnv() == "Dev" && kIsWeb) { fileUrl = fileUrl.replaceAll("10.0.2.2", "127.0.0.1"); } else if (AppEnviroment.getEnv() == "Dev" && Platform.isIOS) { @@ -61,6 +61,7 @@ class MihFileApi { } else if (AppEnviroment.getEnv() == "Dev" && Platform.isLinux) { fileUrl = fileUrl.replaceAll("10.0.2.2", "127.0.0.1"); } + // KenLogger.success("File URL: $fileUrl"); return fileUrl; } diff --git a/mih_ui/linux/flutter/generated_plugin_registrant.cc b/mih_ui/linux/flutter/generated_plugin_registrant.cc index 6c9fa3d1..4f4c5872 100644 --- a/mih_ui/linux/flutter/generated_plugin_registrant.cc +++ b/mih_ui/linux/flutter/generated_plugin_registrant.cc @@ -10,7 +10,6 @@ #include #include #include -#include #include void fl_register_plugins(FlPluginRegistry* registry) { @@ -26,9 +25,6 @@ void fl_register_plugins(FlPluginRegistry* registry) { g_autoptr(FlPluginRegistrar) record_linux_registrar = fl_plugin_registry_get_registrar_for_plugin(registry, "RecordLinuxPlugin"); record_linux_plugin_register_with_registrar(record_linux_registrar); - g_autoptr(FlPluginRegistrar) syncfusion_pdfviewer_linux_registrar = - fl_plugin_registry_get_registrar_for_plugin(registry, "SyncfusionPdfviewerLinuxPlugin"); - syncfusion_pdfviewer_linux_plugin_register_with_registrar(syncfusion_pdfviewer_linux_registrar); g_autoptr(FlPluginRegistrar) url_launcher_linux_registrar = fl_plugin_registry_get_registrar_for_plugin(registry, "UrlLauncherPlugin"); url_launcher_plugin_register_with_registrar(url_launcher_linux_registrar); diff --git a/mih_ui/linux/flutter/generated_plugins.cmake b/mih_ui/linux/flutter/generated_plugins.cmake index 18ac4ce6..1061886b 100644 --- a/mih_ui/linux/flutter/generated_plugins.cmake +++ b/mih_ui/linux/flutter/generated_plugins.cmake @@ -7,7 +7,6 @@ list(APPEND FLUTTER_PLUGIN_LIST file_selector_linux printing record_linux - syncfusion_pdfviewer_linux url_launcher_linux ) diff --git a/mih_ui/pubspec.lock b/mih_ui/pubspec.lock index 9f3c1832..a180a0cf 100644 --- a/mih_ui/pubspec.lock +++ b/mih_ui/pubspec.lock @@ -297,22 +297,14 @@ packages: url: "https://pub.dev" source: hosted version: "3.4.1" - cross_cache: - dependency: transitive - description: - name: cross_cache - sha256: "4983a16603cc99b0a14de6a772fa8ee4533411f46f3c423f1386fea7566049c5" - url: "https://pub.dev" - source: hosted - version: "1.1.0" cross_file: dependency: "direct main" description: name: cross_file - sha256: d687bec93342bf6a764a116d15c8694ebeff10e633dc28a39dd3144f7195024e + sha256: "28bb3ae56f117b5aec029d702a90f57d285cd975c3c5c281eaca38dbc47c5937" url: "https://pub.dev" source: hosted - version: "0.3.5+3" + version: "0.3.5+2" crypto: dependency: transitive description: @@ -357,26 +349,26 @@ packages: dependency: transitive description: name: dbus - sha256: "792974a4007974fbc5c1b5433eb2330a9db3e368c3f906253af4c007d0f49a91" + sha256: "0ce9b0a839e6dee59a37a623d2fc26a35bbbe6404213e419b0d6411023d62645" url: "https://pub.dev" source: hosted - version: "0.7.13" + version: "0.7.14" device_info_plus: dependency: transitive description: name: device_info_plus - sha256: "0891702f96b2e465fe567b7ec448380e6b1c14f60af552a8536d9f583b6b8442" + sha256: "98f28b42168cc509abc92f88518882fd58061ea372d7999aecc424345c7bff6a" url: "https://pub.dev" source: hosted - version: "13.2.0" + version: "11.5.0" device_info_plus_platform_interface: dependency: transitive description: name: device_info_plus_platform_interface - sha256: "04b173a92e2d9161dfead145667037c8d834db725ce2e7b942bfe18fd2f45a46" + sha256: e1ea89119e34903dca74b883d0dd78eb762814f97fb6c76f35e9ff74d261a18f url: "https://pub.dev" source: hosted - version: "8.1.0" + version: "7.0.3" diacritic: dependency: transitive description: @@ -397,18 +389,18 @@ packages: dependency: transitive description: name: dio - sha256: ea2bad3c89a27635ce2d85cce4d6b199da49a5a48ec77b03e45b65a3b90922b0 + sha256: aff32c08f92787a557dd5c0145ac91536481831a01b4648136373cddb0e64f8c url: "https://pub.dev" source: hosted - version: "5.10.0" + version: "5.9.2" dio_web_adapter: dependency: transitive description: name: dio_web_adapter - sha256: dd58dc3861eb36edb13b217efc006a1c21e5bbc341de8c229b85634fa5e362e4 + sha256: "2f9e64323a7c3c7ef69567d5c800424a11f8337b8b228bad02524c9fb3c1f340" url: "https://pub.dev" source: hosted - version: "2.2.0" + version: "2.1.2" equatable: dependency: transitive description: @@ -433,14 +425,6 @@ packages: url: "https://pub.dev" source: hosted version: "2.2.0" - ffi_leak_tracker: - dependency: transitive - description: - name: ffi_leak_tracker - sha256: "4093d4ef9ca06ffe2786e73bfb25e22aa92112b9bb4ec941f11e3e6b61489a97" - url: "https://pub.dev" - source: hosted - version: "0.1.2" file: dependency: transitive description: @@ -453,18 +437,18 @@ packages: dependency: "direct main" description: name: file_picker - sha256: fdc6a37f715d19f35b131decf1ce39242eeed5ddae18c0818c3eccb731ab76be + sha256: "57d9a1dd5063f85fa3107fb42d1faffda52fdc948cefd5fe5ea85267a5fc7343" url: "https://pub.dev" source: hosted - version: "12.0.0-beta.7" + version: "10.3.10" file_saver: dependency: "direct main" description: name: file_saver - sha256: "68c9a085d9bb4546e0a31d1e583a48d7c17a6987d538788ea064f0043b1fc02d" + sha256: "9d93db09bd4da9e43238f9dd485360fc51a5c138eea5ef5f407ec56e58079ac0" url: "https://pub.dev" source: hosted - version: "0.4.0" + version: "0.3.1" file_selector: dependency: transitive description: @@ -634,10 +618,10 @@ packages: dependency: "direct main" description: name: flutter_ai_toolkit - sha256: "070a27e5ceb7154d15dffd165b3f7d60ec12d0a78b4d7a4063466c5657e13843" + sha256: b653814f9aac05d84f15db0daf1bf90e9bd9177abeba378c6f1d4a75bb2099a5 url: "https://pub.dev" source: hosted - version: "1.0.0" + version: "0.10.0" flutter_cache_manager: dependency: transitive description: @@ -646,14 +630,6 @@ packages: url: "https://pub.dev" source: hosted version: "3.4.1" - flutter_chat_core: - dependency: transitive - description: - name: flutter_chat_core - sha256: "8c46790f64f106bf6e610e2a7324b3844320e9e295867c06d45d9deb134d848d" - url: "https://pub.dev" - source: hosted - version: "2.9.0" flutter_chat_types: dependency: "direct main" description: @@ -666,18 +642,18 @@ packages: dependency: "direct main" description: name: flutter_chat_ui - sha256: cfbaac38f429beb33d9cc1ca920ae7ccbadbed282c99335d590d61306d3a3d0f + sha256: "168a4231464ad00a17ea5f0813f1b58393bdd4035683ea4dc37bbe26be62891e" url: "https://pub.dev" source: hosted - version: "2.11.1" + version: "1.6.15" flutter_context_menu: dependency: transitive description: name: flutter_context_menu - sha256: "7040c03fb9cb2a113282d836edadf32b6cdff67cccdf3d158e7411ecc15d7712" + sha256: "79fe00cd7e3ac3840a552cb3e653d8eb61d827b6c04c559e219973a1dc769165" url: "https://pub.dev" source: hosted - version: "0.4.2" + version: "0.3.0" flutter_launcher_icons: dependency: "direct main" description: @@ -686,6 +662,22 @@ packages: url: "https://pub.dev" source: hosted version: "0.14.4" + flutter_link_previewer: + dependency: transitive + description: + name: flutter_link_previewer + sha256: "007069e60f42419fb59872beb7a3cc3ea21e9f1bdff5d40239f376fa62ca9f20" + url: "https://pub.dev" + source: hosted + version: "3.2.2" + flutter_linkify: + dependency: transitive + description: + name: flutter_linkify + sha256: "74669e06a8f358fee4512b4320c0b80e51cffc496607931de68d28f099254073" + url: "https://pub.dev" + source: hosted + version: "6.0.0" flutter_lints: dependency: "direct dev" description: @@ -710,6 +702,14 @@ packages: url: "https://pub.dev" source: hosted version: "2.4.8" + flutter_parsed_text: + dependency: transitive + description: + name: flutter_parsed_text + sha256: "529cf5793b7acdf16ee0f97b158d0d4ba0bf06e7121ef180abe1a5b59e32c1e2" + url: "https://pub.dev" + source: hosted + version: "2.2.1" flutter_picture_taker: dependency: transitive description: @@ -788,10 +788,10 @@ packages: dependency: "direct main" description: name: geolocator - sha256: e146a6d63776582651e97a79cbe459f8e1211b100101fadcd84db83361fa599f + sha256: "79939537046c9025be47ec645f35c8090ecadb6fe98eba146a0d25e8c1357516" url: "https://pub.dev" source: hosted - version: "14.0.3" + version: "14.0.2" geolocator_android: dependency: transitive description: @@ -812,10 +812,10 @@ packages: dependency: "direct main" description: name: geolocator_linux - sha256: "3da7420f11c3496511a5bd3c18fd67b88e5659f12e46b7ce00a788f6996e850a" + sha256: d64112a205931926f4363bb6bd48f14cb38e7326833041d170615586cd143797 url: "https://pub.dev" source: hosted - version: "0.2.6" + version: "0.2.4" geolocator_platform_interface: dependency: transitive description: @@ -852,18 +852,18 @@ packages: dependency: "direct main" description: name: gma_mediation_meta - sha256: d65dd79c51f6161aaac8c9b07f9a921f73a560d275a15106f440be2016c766bc + sha256: "765367719c81043ee9cde12c854fae9c8de00c619bb0811fd8ce63541d962710" url: "https://pub.dev" source: hosted - version: "1.5.2" + version: "1.5.0" go_router: dependency: "direct main" description: name: go_router - sha256: "5922b2861e2235a3504896f0d6fa07d84141b480cf52eecd2f42cd25585a9e8a" + sha256: d8f590a69729f719177ea68eb1e598295e8dbc41bbc247fed78b2c8a25660d7c url: "https://pub.dev" source: hosted - version: "17.3.0" + version: "16.3.0" google_fonts: dependency: transitive description: @@ -876,10 +876,10 @@ packages: dependency: "direct main" description: name: google_mobile_ads - sha256: "50549f6c945d7a445d53c04f34d025b1a1723fbd02719de9e67de432e2597f40" + sha256: a4f59019f2c32769fb6c60ed8aa321e9c21a36297e2c4f23452b3e779a3e7a26 url: "https://pub.dev" source: hosted - version: "8.0.0" + version: "6.0.0" graphs: dependency: transitive description: @@ -960,30 +960,22 @@ packages: url: "https://pub.dev" source: hosted version: "4.1.2" - idb_shim: - dependency: transitive - description: - name: idb_shim - sha256: a3b70c0c49c90dfbb3ffcaf6a1e376a83d542dc59124e6f29b1e84487c481c30 - url: "https://pub.dev" - source: hosted - version: "2.9.6" image: dependency: transitive description: name: image - sha256: "6300175e00616bbc832e2fc91bfa4d776af5402c81c7151bee6905bb08473c52" + sha256: f9881ff4998044947ec38d098bc7c8316ae1186fa786eddffdb867b9bc94dfce url: "https://pub.dev" source: hosted - version: "4.9.1" + version: "4.8.0" image_picker: dependency: transitive description: name: image_picker - sha256: d8402284df184bc05f4a2210c6c23983b0720f4cd87cbd05c5390a78af602667 + sha256: "91c025426c2881c551100bce834e201c835a170151545f58d17da5180ca7d9ac" url: "https://pub.dev" source: hosted - version: "1.2.3" + version: "1.2.2" image_picker_android: dependency: transitive description: @@ -1128,6 +1120,14 @@ packages: url: "https://pub.dev" source: hosted version: "3.0.2" + linkify: + dependency: transitive + description: + name: linkify + sha256: "4139ea77f4651ab9c315b577da2dd108d9aa0bd84b5d03d33323f1970c645832" + url: "https://pub.dev" + source: hosted + version: "5.0.0" lints: dependency: transitive description: @@ -1212,10 +1212,10 @@ packages: dependency: "direct main" description: name: math_expressions - sha256: "2e1ceb974c2b1893c809a68c7005f1b63f7324db0add800a0e792b1ac8ff9f03" + sha256: e32d803d758ace61cc6c4bdfed1226ff60a6a23646b35685670d28b5616139f8 url: "https://pub.dev" source: hosted - version: "3.1.0" + version: "2.6.0" measure_size: dependency: transitive description: @@ -1292,10 +1292,10 @@ packages: dependency: "direct main" description: name: ollama_dart - sha256: ec1ed4d10ca53ca5014b50db2c189fe88634e3ba4203b328cb436562f884fe17 + sha256: "55a45e381f3cf24791df510e287f353e776d376f556d34ba49b09bc918eee319" url: "https://pub.dev" source: hosted - version: "2.3.0" + version: "0.2.5" os_detect: dependency: transitive description: @@ -1316,18 +1316,18 @@ packages: dependency: transitive description: name: package_info_plus - sha256: f5c435dc0e0d461e5b32471a870f769b6a1cc46930637efe24fbc535314e78ad + sha256: "468c26b4254ab01979fa5e4a98cb343ea3631b9acee6f21028997419a80e1a20" url: "https://pub.dev" source: hosted - version: "10.2.0" + version: "9.0.1" package_info_plus_platform_interface: dependency: transitive description: name: package_info_plus_platform_interface - sha256: db762cb2f4f25ee60fb6359773861b0f199e00b90d237bd85a76a1e806b46ef4 + sha256: "202a487f08836a592a6bd4f901ac69b3a8f146af552bbd14407b6b41e1c3f086" url: "https://pub.dev" source: hosted - version: "4.1.0" + version: "3.2.1" path: dependency: transitive description: @@ -1396,10 +1396,10 @@ packages: dependency: transitive description: name: pdf - sha256: "517df47af468734a23c8b513c0c6a8a62357403ab1b8ab7fad1606576a9dbdd0" + sha256: e47a275b267873d5944ad5f5ff0dcc7ac2e36c02b3046a0ffac9b72fd362c44b url: "https://pub.dev" source: hosted - version: "3.13.0" + version: "3.12.0" pdf_widget_wrapper: dependency: transitive description: @@ -1416,6 +1416,14 @@ packages: url: "https://pub.dev" source: hosted version: "7.0.2" + photo_view: + dependency: transitive + description: + name: photo_view + sha256: "1fc3d970a91295fbd1364296575f854c9863f225505c28c46e0a03e48960c75e" + url: "https://pub.dev" + source: hosted + version: "0.15.0" platform: dependency: transitive description: @@ -1452,10 +1460,10 @@ packages: dependency: "direct main" description: name: printing - sha256: f6cd14c768c1352dd37a958a3ee351aa9ce305b398218d3acd86389d5f7ecad1 + sha256: "689170c9ddb1bda85826466ba80378aa8993486d3c959a71cd7d2d80cb606692" url: "https://pub.dev" source: hosted - version: "5.15.0" + version: "5.14.3" protobuf: dependency: transitive description: @@ -1696,38 +1704,30 @@ packages: url: "https://pub.dev" source: hosted version: "3.0.0" - scrollview_observer: + scroll_to_index: dependency: transitive description: - name: scrollview_observer - sha256: "5ce907c5757d0805de974de8b17c0185f982dfe805dde22a0acb016b39182ece" + name: scroll_to_index + sha256: b707546e7500d9f070d63e5acf74fd437ec7eeeb68d3412ef7b0afada0b4f176 url: "https://pub.dev" source: hosted - version: "1.27.0" - sembast: - dependency: transitive - description: - name: sembast - sha256: a58b26925e23071cf0f4754d8449aabe829e9a9930a872fb18e6ae4c2c88e025 - url: "https://pub.dev" - source: hosted - version: "3.8.9+1" + version: "3.0.1" share_plus: dependency: "direct main" description: name: share_plus - sha256: "9eee8283462d91a7a1c8bdb67d08874abd75a2f8fae3bc0ca033035e375fb3d8" + sha256: d7dc0630a923883c6328ca31b89aa682bacbf2f8304162d29f7c6aaff03a27a1 url: "https://pub.dev" source: hosted - version: "13.2.0" + version: "11.1.0" share_plus_platform_interface: dependency: transitive description: name: share_plus_platform_interface - sha256: "7f7ae28cf400d13f811e297ff37742dba83b79e0a6f5dce14eec0248274e6ce9" + sha256: "88023e53a13429bd65d8e85e11a9b484f49d4c190abbd96c7932b74d6927cc9a" url: "https://pub.dev" source: hosted - version: "7.1.0" + version: "6.1.0" shared_preferences: dependency: transitive description: @@ -1929,74 +1929,66 @@ packages: dependency: "direct main" description: name: syncfusion_flutter_core - sha256: f054f5636c618dbf1a155409d0b5f3e70f8e9beb7ac7a8fdc870653968875e7d + sha256: bee87cdfe527b31705190162e3bd27bf468d591ae7c68182244bdfd94e21f737 url: "https://pub.dev" source: hosted - version: "33.2.15" + version: "29.2.11" syncfusion_flutter_pdf: dependency: transitive description: name: syncfusion_flutter_pdf - sha256: "63ebe5bb3261e83c586a9105c12ae55d8b70863c7f7bb867048f081b9bf46d6e" + sha256: "08fc998934dab953e980ab3b98482e994beda2e736b88c9fec99cdcf04036509" url: "https://pub.dev" source: hosted - version: "33.2.15" + version: "29.2.11" syncfusion_flutter_pdfviewer: dependency: "direct main" description: name: syncfusion_flutter_pdfviewer - sha256: ac0c2bfe233ab1253746de72a46d32c69b1f13267e245989e13dc55970fbb50a + sha256: "240c3c50e5a9a0ed2ca9d0449414f83ddcb09dafc798362bf8d8db11dabffdfe" url: "https://pub.dev" source: hosted - version: "33.2.15" + version: "29.2.11" syncfusion_flutter_signaturepad: dependency: transitive description: name: syncfusion_flutter_signaturepad - sha256: f127af6fcb7de2dae74a0856f005747d27869fb176c8b92346136fe2254d73dc + sha256: "903dcd8a6afcd94488be296f9e45c28e2ea6634849eccb70066e310db4198edc" url: "https://pub.dev" source: hosted - version: "33.2.15" - syncfusion_pdfviewer_linux: - dependency: transitive - description: - name: syncfusion_pdfviewer_linux - sha256: "8f24e911178b126f9ed65158880ebb1478519e351f45b2a6da87ea1d4e66c8b8" - url: "https://pub.dev" - source: hosted - version: "33.2.15" + version: "29.2.11" syncfusion_pdfviewer_macos: dependency: transitive description: name: syncfusion_pdfviewer_macos - sha256: ca72847813956eb01a0f580827fdb7784eeff1bbbb2565d4253bf32325c911da + sha256: "529befb03610bc5f647ddba84150355bea18a25f5ce8329f3065971a498b89d1" url: "https://pub.dev" source: hosted - version: "33.2.15" + version: "29.2.11" syncfusion_pdfviewer_platform_interface: dependency: transitive description: name: syncfusion_pdfviewer_platform_interface - sha256: f4dc6151e9f5a8ca1a385773ada3f23e1a5f96ece867045620f7e7600653717b + sha256: e27a16b987b7b0d241a153ac96119c2bf753075cae93301e0143ebf7c139503b url: "https://pub.dev" source: hosted - version: "33.2.15" + version: "29.2.11" syncfusion_pdfviewer_web: dependency: transitive description: name: syncfusion_pdfviewer_web - sha256: b3a455f0806bee6de2d0d6a13b12bb2d3fa598111b36927a5c8dcbb2a6f316ef + sha256: "1cf1d8f8871fd421e454e7e38f1044b6b170bb0201a5bee8634210d27aa79e2e" url: "https://pub.dev" source: hosted - version: "33.2.15" + version: "29.2.11" syncfusion_pdfviewer_windows: dependency: transitive description: name: syncfusion_pdfviewer_windows - sha256: "983ae0f6b3a0682692a4050f82a52fb61187454cdd3322e67494db16731bc74d" + sha256: cc6826cdae73657d010bd4480b5c6f06a78589e86185eeec9f6ec931c4c4276a url: "https://pub.dev" source: hosted - version: "33.2.15" + version: "29.2.11" synchronized: dependency: transitive description: @@ -2065,10 +2057,10 @@ packages: dependency: "direct main" description: name: upgrader - sha256: "6282524d4b664e48e24736ce343eedd115dcc1ce79198fc0bd46f14692e1f05e" + sha256: "3fae4eb861c7e8567f91412d9ca4a287e024e58d6f79f98da79e3f6d78da74ba" url: "https://pub.dev" source: hosted - version: "13.5.0" + version: "12.5.0" url_launcher: dependency: "direct main" description: @@ -2181,6 +2173,14 @@ packages: url: "https://pub.dev" source: hosted version: "3.0.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: @@ -2273,18 +2273,18 @@ packages: dependency: transitive description: name: win32 - sha256: ba6f4bba816c8d7e3c1580e170f3786d216951cc6b94babc3b814c08d2cb2738 + sha256: d7cb55e04cd34096cd3a79b3330245f54cb96a370a1c27adb3c84b917de8b08e url: "https://pub.dev" source: hosted - version: "6.3.0" + version: "5.15.0" win32_registry: dependency: transitive description: name: win32_registry - sha256: "73b1d78920a9d6e03f8b4e43e612b87bf3152a0e5c5e5150267762b7c4116904" + sha256: "6f1b564492d0147b330dd794fee8f512cec4977957f310f9951b5f9d83618dae" url: "https://pub.dev" source: hosted - version: "3.0.3" + version: "2.1.0" xdg_directories: dependency: transitive description: @@ -2297,10 +2297,10 @@ packages: dependency: transitive description: name: xml - sha256: "67f0aff7be013d107995e9b75bf4e7f2c3ef2dfdb2c8e68024bba0a7fd5756a4" + sha256: "971043b3a0d3da28727e40ed3e0b5d18b742fa5a68665cca88e74b7876d5e025" url: "https://pub.dev" source: hosted - version: "7.0.1" + version: "6.6.1" yaml: dependency: transitive description: diff --git a/mih_ui/pubspec.yaml b/mih_ui/pubspec.yaml index 505f1e82..b90b2080 100644 --- a/mih_ui/pubspec.yaml +++ b/mih_ui/pubspec.yaml @@ -1,7 +1,7 @@ name: mzansi_innovation_hub description: "" publish_to: "none" # Remove this line if you wish to publish to pub.dev -version: 1.4.0+135 +version: 1.4.0+134 environment: sdk: ">=3.5.3 <4.0.0" @@ -16,10 +16,10 @@ dependencies: font_awesome_flutter: ^11.0.0 # firebase_core: ^4.4.0 # firebase_core_desktop: ^1.0.2 - syncfusion_flutter_core: ^33.2.15 - syncfusion_flutter_pdfviewer: ^33.2.15 + syncfusion_flutter_core: ^29.2.10 + syncfusion_flutter_pdfviewer: ^29.2.10 universal_html: ^2.2.4 - file_picker: ^12.0.0-beta.7 + file_picker: ^10.1.9 supertokens_flutter: ^0.6.3 http: ^1.2.1 # args: ^2.7.0 @@ -35,30 +35,30 @@ dependencies: url_launcher: ^6.3.1 fl_downloader: ^2.0.2 local_auth: ^2.3.0 - math_expressions: ^3.1.0 - ollama_dart: ^2.3.0 - flutter_chat_ui: ^2.11.1 + math_expressions: ^2.6.0 + ollama_dart: ^0.2.2+1 + flutter_chat_ui: ^1.6.15 flutter_chat_types: ^3.6.2 uuid: ^4.5.1 flutter_tts: ^4.2.3 flutter_speed_dial: ^7.0.0 - share_plus: ^13.2.0 + share_plus: ^11.0.0 #app_settings: ^6.1.1 pwa_install: ^0.0.6 - google_mobile_ads: ^8.0.0 - gma_mediation_meta: ^1.5.2 + google_mobile_ads: ^6.0.0 + gma_mediation_meta: ^1.4.1 redacted: ^1.0.13 custom_rating_bar: ^3.0.0 country_code_picker: ^3.3.0 ken_logger: ^0.0.3 - go_router: ^17.3.0 + go_router: ^16.1.0 screen_brightness: ^2.1.6 cached_network_image: ^3.4.1 - upgrader: ^13.5.0 + upgrader: ^12.0.0 screenshot: ^3.0.0 - file_saver: ^0.4.0 + file_saver: ^0.3.1 provider: ^6.1.5+1 - flutter_ai_toolkit: ^1.0.0 + flutter_ai_toolkit: ^0.10.0 flutter_markdown_plus: ^1.0.5 cross_file: ^0.3.5+1 quick_actions: ^1.1.0