diff --git a/.env b/.env index 3c462bb674..53b0fc4158 100644 --- a/.env +++ b/.env @@ -2,9 +2,9 @@ # eg . npm build android:newlogic --reset-cache #MIMOTO_HOST=http://mock.mimoto.newlogic.dev -MIMOTO_HOST=https://api.qa-inji.mosip.net +MIMOTO_HOST=https://api.qa-inji1.mosip.net -ESIGNET_HOST=https://api.qa-inji.mosip.net +ESIGNET_HOST=https://api.qa-inji1.mosip.net OBSRV_HOST = https://dataset-api.obsrv.mosip.net @@ -13,6 +13,8 @@ APPLICATION_THEME=orange #environment can be changed if it is toggled CREDENTIAL_REGISTRY_EDIT=true +#DataBackup can enable if it is toggled +BACKUP_AND_RESTORE=false DEBUG_MODE=false #supported languages( en, fil, ar, hi, kn, ta) diff --git a/.github/workflows/clear_artifacts.yml b/.github/workflows/clear_artifacts.yml index 8329cdd3e2..b428abe2b6 100644 --- a/.github/workflows/clear_artifacts.yml +++ b/.github/workflows/clear_artifacts.yml @@ -7,4 +7,4 @@ jobs: uses: mosip/kattu/.github/workflows/clear-artifacts.yml@master secrets: ACCESS_TOKEN: ${{ secrets.ACTION_PAT }} - SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK }} \ No newline at end of file + SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_INJI_TEAM }} \ No newline at end of file diff --git a/.github/workflows/internal-build.yml b/.github/workflows/internal-build.yml index ae38aa380b..a43fa4be39 100644 --- a/.github/workflows/internal-build.yml +++ b/.github/workflows/internal-build.yml @@ -104,7 +104,7 @@ jobs: ANDROID_KEYSTORE_FILE: ${{ secrets.INJI_ANDROID_RELEASE_KEYSTORE }} RELEASE_KEYSTORE_PASSWORD: '${{ secrets.INJI_ANDROID_RELEASE_STOREPASS }}' INJI_ANDROID_PLAY_STORE_CONFIG_JSON: ${{ secrets.INJI_ANDROID_PLAY_STORE_CONFIG_JSON }} - SLACK_WEBHOOK_URL: '${{ secrets.SLACK_WEBHOOK }}' + SLACK_WEBHOOK_URL: '${{ secrets.SLACK_WEBHOOK_INJI_TEAM }}' build-android-beta: if: ${{ inputs.release == 'beta' && (inputs.buildFor == 'Both[Android and IOS]' || inputs.buildFor == 'Android') }} @@ -129,7 +129,7 @@ jobs: ANDROID_KEYSTORE_FILE: ${{ secrets.INJI_ANDROID_RELEASE_KEYSTORE }} RELEASE_KEYSTORE_PASSWORD: '${{ secrets.INJI_ANDROID_RELEASE_STOREPASS }}' INJI_ANDROID_PLAY_STORE_CONFIG_JSON: ${{ secrets.INJI_ANDROID_PLAY_STORE_CONFIG_JSON }} - SLACK_WEBHOOK_URL: '${{ secrets.SLACK_WEBHOOK }}' + SLACK_WEBHOOK_URL: '${{ secrets.SLACK_WEBHOOK_INJI_TEAM }}' build-ios: if: ${{ inputs.buildFor == 'Both[Android and IOS]' || inputs.buildFor == 'IOS'}} @@ -146,8 +146,8 @@ jobs: SERVICE_LOCATION: '.' IOS_SERVICE_LOCATION: 'ios' SCRIPT_NAME: "fastlane beta" - IOS_ARTIFACT_NAME: "Inji" - IOS_ARTIFACT_PATH: "ios/fastlane/Inji_app_file/Products/Applications/" + IOS_ARTIFACT_NAME: "ios-artifacts" + IOS_ARTIFACT_PATH: "ios/fastlane/Inji_artifacts/" secrets: APP_STORE_CONNECT_TEAM_ID: '${{ secrets.APP_STORE_CONNECT_TEAM_ID }}' DEVELOPER_APP_ID: '${{ secrets.IOS_INJI_DEVELOPER_APP_ID }}' @@ -163,4 +163,15 @@ jobs: APPLE_ISSUER_ID: '${{ secrets.APPLE_ISSUER_ID }}' APPLE_KEY_CONTENT: '${{ secrets.APPLE_KEY_CONTENT }}' MATCH_PASSWORD: '${{ secrets.INJI_IOS_MATCH_PASSWORD }}' - SLACK_WEBHOOK_URL: '${{ secrets.SLACK_WEBHOOK }}' \ No newline at end of file + SLACK_WEBHOOK_URL: '${{ secrets.SLACK_WEBHOOK_INJI_TEAM }}' + + # sonar-check: + # uses: mosip/kattu/.github/workflows/gradlew-sonar-analysis.yml@master + # with: + # SERVICE_LOCATION: '.' + # ANDROID_LOCATION: 'android' + # SONAR_ARGS: -Dsonarqube + # secrets: + # SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} + # SONAR_ORGANIZATION: ${{ secrets.ORG_KEY }} + # SLACK_WEBHOOK_URL: '${{ secrets.SLACK_WEBHOOK_INJI_TEAM }}' \ No newline at end of file diff --git a/.github/workflows/push-triggers.yml b/.github/workflows/push-triggers.yml index d1a8fe46f4..aacf2be0a4 100644 --- a/.github/workflows/push-triggers.yml +++ b/.github/workflows/push-triggers.yml @@ -36,4 +36,15 @@ jobs: NODE_VERSION: "18.x" SERVICE_LOCATION: '.' IOS_SERVICE_LOCATION: 'ios' - SCRIPT_NAME: "fastlane ios_app_build" \ No newline at end of file + SCRIPT_NAME: "fastlane ios_app_build" + + # sonar-check: + # if: ${{ github.event_name != 'pull_request' }} + # uses: mosip/kattu/.github/workflows/gradlew-sonar-analysis.yml@master + # with: + # SERVICE_LOCATION: '.' + # ANDROID_LOCATION: 'android' + # secrets: + # SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} + # SONAR_ORGANIZATION: ${{ secrets.ORG_KEY }} + # SLACK_WEBHOOK_URL: '${{ secrets.SLACK_WEBHOOK_INJI_TEAM }}' \ No newline at end of file diff --git a/.github/workflows/tag.yml b/.github/workflows/tag.yml index 41cc2a13a6..fc455a886e 100644 --- a/.github/workflows/tag.yml +++ b/.github/workflows/tag.yml @@ -32,4 +32,4 @@ jobs: PRE_RELEASE: ${{ inputs.PRE_RELEASE }} DRAFT: ${{ inputs.DRAFT }} secrets: - SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK }} \ No newline at end of file + SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_INJI_TEAM }} \ No newline at end of file diff --git a/.github/workflows/ui-automation.yml b/.github/workflows/ui-automation.yml index c3cd2b9154..cd09a09969 100644 --- a/.github/workflows/ui-automation.yml +++ b/.github/workflows/ui-automation.yml @@ -5,12 +5,12 @@ on: workflow_dispatch: inputs: runName: - description: 'Run name' + description: 'Name the run for Actions & DeviceFarm' required: true - default: 'Device-pool/Test-name/Env' + default: 'Ex: Sanity/Regression[ENV]' type: string buildFor: - description: 'Build' + description: 'Trigger test case run for' required: true default: 'Both[Android and IOS]' type: choice @@ -19,7 +19,7 @@ on: - Android - IOS testType: - description: 'Sanity/Regression' + description: 'Test type Sanity/Regression' required: true default: 'sanity' type: choice @@ -51,7 +51,7 @@ jobs: key: ${{ runner.os }}-npm-${{ hashFiles('**/package-lock.json') }} restore-keys: | ${{ runner.os }}-npm- - + - name: Install npm dependencies run: | npm ci @@ -66,8 +66,8 @@ jobs: - name: Create Android Build run: | npx jetify - cd android - ./gradlew :app:assembleResidentappRelease + cd android/scripts + ./android-build.sh env: MIMOTO_HOST: ${{ github.event.inputs.backendServiceUrl }} ESIGNET_HOST: ${{ github.event.inputs.backendServiceUrl }} @@ -76,35 +76,33 @@ jobs: RELEASE_KEYSTORE_ALIAS: 'androidreleasekey' RELEASE_KEYSTORE_PASSWORD: "${{ secrets.INJI_ANDROID_RELEASE_STOREPASS }}" - - name: Configure AWS CLI + - name: Configure AWS CLI run: | aws configure set aws_access_key_id ${{ secrets.AWS_DEVICE_FARM_ACCESS_KEY }} aws configure set aws_secret_access_key ${{ secrets.AWS_DEVICE_FARM_SECRET_KEY }} aws configure set region us-west-2 - + - name: Android - Automation id: android-run run: | cd injitest/scripts/ui_automation - RUN_ARN=$(./automation_trigger.sh "Android" "$RUN_NAME" "$TEST_TYPE") - echo "The Run ARN is $RUN_ARN" + ./automation_trigger.sh "Android" "$RUN_NAME-Android" "$TEST_TYPE" env: RUN_NAME: ${{ github.event.inputs.runName }} TEST_TYPE: ${{ github.event.inputs.testType }} - # - name: Artifacts download - # id: artifact-download - # run: | - # cd injitest/scripts/ui_automation - # ./download_artifacts.sh "${{ steps.android-run.outputs.run_arn }}" "Android" + - name: Download Android Artifacts + run: | + cd injitest/scripts/ui_automation + ./download_artifacts.sh "$RUN_ARN" "Android" + + - name: Upload Artifact to Actions + uses: actions/upload-artifact@v3.1.1 + with: + name: Android-Artifacts + path: injitest/scripts/ui_automation/artifacts/android_artifacts/ + retention-days: 10 - # - name: Upload Artifact to Actions - # uses: actions/upload-artifact@v3.1.1 - # with: - # name: Automation Artifacts - # path: injitest/scripts/ui_automation/artifacts/ - # retention-days: 5 - # - name: Update slack channel # if: always() # uses: 8398a7/action-slack@v3 @@ -132,7 +130,7 @@ jobs: key: ${{ runner.os }}-npm-${{ hashFiles('**/package-lock.json') }} restore-keys: | ${{ runner.os }}-npm- - + - name: Install npm dependencies run: | npm ci @@ -141,7 +139,7 @@ jobs: run: | cd ios pod install && pod install - fastlane ios_ui_automation_build + fastlane ios_ui_automation_build env: MIMOTO_HOST: ${{ github.event.inputs.backendServiceUrl }} ESIGNET_HOST: ${{ github.event.inputs.backendServiceUrl }} @@ -151,8 +149,12 @@ jobs: INJI_IOS_TEMP_KEYCHAIN_PASSWORD: '${{ secrets.INJI_IOS_TEMP_KEYCHAIN_PASSWORD }}' INJI_IOS_TEMP_KEYCHAIN_USER: '${{ secrets.INJI_IOS_TEMP_KEYCHAIN_USER }}' GIT_AUTHORIZATION: '${{ secrets.GIT_AUTHORIZATION }}' + APPLE_KEY_ID: '${{ secrets.APPLE_KEY_ID }}' + APPLE_ISSUER_ID: '${{ secrets.APPLE_ISSUER_ID }}' + APPLE_KEY_CONTENT: '${{ secrets.APPLE_KEY_CONTENT }}' + MATCH_PASSWORD: '${{ secrets.INJI_IOS_MATCH_PASSWORD }}' - - name: Configure AWS CLI + - name: Configure AWS CLI run: | aws configure set aws_access_key_id ${{ secrets.AWS_DEVICE_FARM_ACCESS_KEY }} aws configure set aws_secret_access_key ${{ secrets.AWS_DEVICE_FARM_SECRET_KEY }} @@ -161,25 +163,23 @@ jobs: - name: IOS - Automation run: | cd injitest/scripts/ui_automation - RUN_ARN=$(./automation_trigger.sh "IOS" "$RUN_NAME" "$TEST_TYPE") - echo "The Run ARN is $RUN_ARN" + ./automation_trigger.sh "IOS" "$RUN_NAME-IOS" "$TEST_TYPE" env: RUN_NAME: ${{ github.event.inputs.runName }} TEST_TYPE: ${{ github.event.inputs.testType }} - - # - name: Artifacts download - # id: artifact-download - # run: | - # cd injitest/scripts/ui_automation - # ./download_artifacts.sh "${{ steps.android-run.outputs.run_arn }}" "Android" - - # - name: Upload Artifact to Actions - # uses: actions/upload-artifact@v3.1.1 - # with: - # name: Automation Artifacts - # path: injitest/scripts/ui_automation/artifacts/ - # retention-days: 5 - + + - name: Download IOS Artifacts + run: | + cd injitest/scripts/ui_automation + ./download_artifacts.sh "$RUN_ARN" "IOS" + + - name: Upload Artifact to Actions + uses: actions/upload-artifact@v3.1.1 + with: + name: IOS-Artifacts + path: injitest/scripts/ui_automation/artifacts/ios_artifacts/ + retention-days: 10 + # - name: Update slack channel # if: always() # uses: 8398a7/action-slack@v3 @@ -187,4 +187,4 @@ jobs: # status: ${{ job.status }} # fields: repo,message,author,commit,workflow,job # env: - # SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_INJI_TEAM }} + # SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_INJI_TEAM }} \ No newline at end of file diff --git a/.gitignore b/.gitignore index 8daf666cf4..310ccdba79 100644 --- a/.gitignore +++ b/.gitignore @@ -13,7 +13,6 @@ web-build/ # The following patterns were generated by expo-cli # Built application files -*.apk *.aab android/app/debug/output-metadata.json android/app/release/output-metadata.json @@ -121,4 +120,13 @@ android/app/debug.keystore # Expo .expo dist/ -web-build/ \ No newline at end of file +web-build/ + +# automation test results +# test reports generated after running test +injitest/report/ +injitest/testng-report/ +# logs from tests ran +injitest/src/logs/ +# test case class files +injitest/target/ \ No newline at end of file diff --git a/.svgrrc b/.svgrrc new file mode 100644 index 0000000000..9067879f07 --- /dev/null +++ b/.svgrrc @@ -0,0 +1,7 @@ +{ + "replaceAttrValues": { + "@fill": "{props.color1}", + "@fill2": "{props.color2}", + "@stroke": "{props.color3}" + } +} diff --git a/.talismanrc b/.talismanrc index a773bf479f..32427d7f62 100644 --- a/.talismanrc +++ b/.talismanrc @@ -1,61 +1,188 @@ fileignoreconfig: -- filename: ios/fastlane/Fastfile - checksum: 10e70e4121e610c54871efa3820c409a4b7cc41bc89a0b5f6f0a9334c1fffddd -- filename: package.json - checksum: e0b34f1a1efbdf07b40a3e9e9ecd8884dd7d6835f45c57850e30988d2c6371a2 -- filename: package-lock.json - checksum: 85f8d3a110f0a713e1b213c850ff1ceb071a36ad57050bf5a18918cf8814123c -- filename: components/PasscodeVerify.tsx - checksum: 14654c0f038979fcd0d260170a45894a072f81e0767ca9a0e66935d33b5cc703 -- filename: i18n.ts - checksum: 75dd5536038ba198aa7b12eb6d2c2e7042c9ce292e5a0d5c90883ae5b2312b1e -- filename: screens/BiometricScreenController.ts - checksum: b3d0184fb894f4a9ffa1a4d277d2975495dbc47771593895bf1999deabafeb94 -- filename: screens/Home/MyVcs/IdInputModal.tsx - checksum: ec48ebeaf46b8fbc756f19ef8ffe8901ce0528aef164f3c7ffdeec36fb53ffc6 -- filename: components/Passcode.tsx - checksum: db4a18001be8c63bf7ffb389359861401fa1d22261b10ad729a76fd431c019a7 -- filename: screens/PasscodeScreen.tsx - checksum: 0cc5b91350e491a058ee8a1878a496c16b65f14969e989bdb1c354f6e9b8c03c -- filename: locales/spa.json - checksum: 981103ff872d6f54610468c7ead65873d9294a11092649b105c552f770f0214b -- filename: screens/AuthScreen.tsx - checksum: 2c1183b2ad8ec27adf8f389a2511805493f229fdda674064e2579d2032119d1c -- filename: screens/BiometricScreen.tsx - checksum: 7a730731aaa7540eec9d05d73de277a665dc06425666280842e0f9ba6e5b8514 -- filename: screens/AuthScreenController.ts - checksum: 18af825821bc95e1056050623b804a5a8e7435b9e3383916a5d63024eeba9553 -- filename: screens/WelcomeScreenController.ts - checksum: 71917c8c543a4a5b7ab61df259b785d233a80718123b0c8edf6ec81e1b3a81e0 -- filename: shared/telemetry/TelemetryUtils.js - checksum: 9a61cd59a3718adf1f14faf3024fec66a3295ef373878a878a28e5cb1287afaa -- filename: ios/Podfile.lock - checksum: cc123c3e1f04d41b394ceb16843b15c08bac3ba619ae853ff322717739761a85 -- filename: ios/Podfile.lock - checksum: cc123c3e1f04d41b394ceb16843b15c08bac3ba619ae853ff322717739761a85 -- filename: screens/Home/IntroSlidersScreen.tsx - checksum: 72ef913857448ef05763e52e32356faa2d1f3de8130a1c638d1897f44823031f -- filename: shared/commonUtil.ts - checksum: b9ff87d627c74ba1cf2f1d0bfab6c11192573c45a4c581c3beadb3c612bfe1ab -- filename: screens/Home/MyVcs/GetIdInputModal.tsx - checksum: 5c736ed79a372d0ffa7c02eb33d0dc06edbbb08d120978ff287f5f06cd6c7746 -- filename: shared/openId4VCI/Utils.ts - checksum: 2bd39d84099d700e5bddeebe87dfb3b0e3075edc0a4d06ce48b428b0a85e238f -- filename: machines/issuersMachine.ts - checksum: b925df13236145867fc7a1a2a703faca854e8c937dac9451008399e3937592fb -- filename: machines/issuersMachine.typegen.ts - checksum: f5e2c89f9029b1e590173e37b2cf6586d5229ecb7d4dfd4c5f050f9416d3c1cd -- filename: machines/VCItemMachine/EsignetMosipVCItem/EsignetMosipVCItemMachine.ts - checksum: eec77ca61540327ff7cab3489ebdfd47aa373fd20b3ff87a6c322cd48d35fe8f -- filename: machines/VCItemMachine/EsignetMosipVCItem/EsignetMosipVCItemMachine.typegen.ts - checksum: f1f504bd8c14496ee71f8eb7f40d54411cc05be03347d644dcc2cca187a20678 -- filename: machines/VCItemMachine/ExistingMosipVCItem/ExistingMosipVCItemMachine.ts - checksum: 237a2640b7db70770d65da67c79f2929581e32f1162517e50b8d37e409f3387d -- filename: shared/cryptoutil/cryptoUtil.ts - checksum: b785ff3f01ab9530119072c4d38195048bfeee6155c54ea7dd031559acb722f3 -- filename: package.json - checksum: 1a9d02d94424c1266503d58038cae2318ab71261ab50cf930c5f98e07c0f3ccd -- filename: machines/store.typegen.ts - checksum: 6d22bc5c77398316b943c512c208ce0846a9fff674c1ccac79e07f21962acd5f -- filename: machines/VCItemMachine/ExistingMosipVCItem/ExistingMosipVCItemMachine.typegen.ts - checksum: 10889302ca05646a283386be1bbe7a5fb510c02bb62a308ee45f3c2a872ae64e + - filename: package.json + checksum: 4770aabfda162fbc0b9a8c53d7dee483ce29b82c6cd3e17e81e3e628d93dbadc + - filename: package-lock.json + checksum: e4569b3ec846749ae56bd9ad907c6cd05c27ab111475ceb501e667ec38367609 + - filename: lib/jsonld-signatures/suites/ed255192018/ed25519.ts + checksum: 493b6e31144116cb612c24d98b97d8adcad5609c0a52c865a6847ced0a0ddc3a + - filename: components/PasscodeVerify.tsx + checksum: 14654c0f038979fcd0d260170a45894a072f81e0767ca9a0e66935d33b5cc703 + - filename: i18n.ts + checksum: 75dd5536038ba198aa7b12eb6d2c2e7042c9ce292e5a0d5c90883ae5b2312b1e + - filename: components/Passcode.tsx + checksum: db4a18001be8c63bf7ffb389359861401fa1d22261b10ad729a76fd431c019a7 + - filename: components/PasscodeVerify.tsx + checksum: 14654c0f038979fcd0d260170a45894a072f81e0767ca9a0e66935d33b5cc703 + - filename: screens/Home/MyVcs/GetIdInputModal.tsx + checksum: 5c736ed79a372d0ffa7c02eb33d0dc06edbbb08d120978ff287f5f06cd6c7746 + - filename: screens/AuthScreen.tsx + checksum: 4a096c467bb9b3fa476c220993ef0a58d72a758c40cf741dc2e4ec4db0c692e8 + - filename: screens/BiometricScreen.tsx + checksum: 7a730731aaa7540eec9d05d73de277a665dc06425666280842e0f9ba6e5b8514 + - filename: screens/AuthScreenController.ts + checksum: 18af825821bc95e1056050623b804a5a8e7435b9e3383916a5d63024eeba9553 + - filename: screens/BiometricScreenController.ts + checksum: 4a424adbd2d2404c9d968c54607885af643a07e09acc4a2d37c6e7a7952c4945 + - filename: screens/Home/IntroSlidersScreen.tsx + checksum: 9ff212530850e9f921f91d406c01f67ea5dd2a44e9cdb5e63d977749c7a7c5bd + - filename: machines/issuersMachine.ts + checksum: 742b8ff561dca61be08ab0b9aef3997ad5d043df298a84c17349dc0206ddcee6 + - filename: machines/issuersMachine.typegen.ts + checksum: b17d8cc03347af59098fa4fc439d40cc436998b0d148a2ac922acc2e0288e09c + - filename: screens/Home/MyVcs/IdInputModal.tsx + checksum: 6f21b2caf20ee1821b69e178a69e755e0b1094275e4a9f9cb4ae5ab515ce5d23 + - filename: screens/WelcomeScreenController.ts + checksum: 71917c8c543a4a5b7ab61df259b785d233a80718123b0c8edf6ec81e1b3a81e0 + - filename: shared/telemetry/TelemetryUtils.js + checksum: ffe9aac2dcc590b98b0d588885c088eff189504ade653a77f74b67312bfd27ad + - filename: shared/fileStorage.ts + checksum: 5c4c9bc78446e6b25bf6e6ac276918757d6275a27ba93d253338ca629ebc0240 + - filename: shared/storage.ts + checksum: 9f5e83b5356fce8f72929b35eb17f2ad2156524c374e77fdb72e08125813f483 + - filename: screens/Issuers/IssuersScreen.tsx + checksum: 9c53e3770dbefe26e0de67ee4b7d5cc9c52d9823cbb136a1a5104dcb0a101071 + - filename: ios/Podfile.lock + checksum: 1da328d6edcd284799be962d59281b120a5bb2a6873ca6a01da321857e59a7d3 + - filename: screens/Home/IntroSlidersScreen.tsx + checksum: 72ef913857448ef05763e52e32356faa2d1f3de8130a1c638d1897f44823031f + - filename: shared/commonUtil.ts + checksum: 4a53bb615f2ea0fbf687bd7027c4c246e819dd88bc273941ed611e763d9d2356 + - filename: screens/Home/MyVcs/GetIdInputModal.tsx + checksum: 5c736ed79a372d0ffa7c02eb33d0dc06edbbb08d120978ff287f5f06cd6c7746 + - filename: shared/openId4VCI/Utils.ts + checksum: ba3041b2ce380f44f6f52dc2c3df337d857df4494bd3c8727df9bf6fb5734750 + - filename: shared/cryptoutil/cryptoUtil.ts + checksum: adbc2ff6df1df412e891c988c9ba03fc82f66c2f6c64339f87d513fc835d14cc + - filename: machines/store.typegen.ts + checksum: 6d22bc5c77398316b943c512c208ce0846a9fff674c1ccac79e07f21962acd5f + - filename: shared/telemetry/TelemetryConstants.js + checksum: df7619021aa023fa62ade9efb60a80fc9c6901da8c52f563014d3f51497c190c + - filename: machines/VCItemMachine/EsignetMosipVCItem/EsignetMosipVCItemMachine.ts + checksum: cca7657da3a1a91b63e0a10605545d1e0d3d152b083a55f9dbb9eed893646e4b + - filename: machines/VCItemMachine/ExistingMosipVCItem/ExistingMosipVCItemMachine.ts + checksum: 8bc83e91cd46caedfd99bf5e7c5f729f455da5556dc551e820dc4615ebb6eb76 + - filename: machines/VCItemMachine/EsignetMosipVCItem/EsignetMosipVCItemMachine.typegen.ts + checksum: 0de47337ba60b29c8e4d4231439c77028197d3d8d3139eb367c471138c40f93d + - filename: machines/VCItemMachine/ExistingMosipVCItem/ExistingMosipVCItemMachine.typegen.ts + checksum: 86ecb95b58456d42676247eb768a7fba980a3c0ef83d515f8b9ce0c44d8c6906 + - filename: shared/telemetry/TelemetryUtils.js + checksum: a0686e9a5c006176fd720b84bc36ca947db1422caf65c90cd0c2d1102a9e96df + - filename: ios/fastlane/Fastfile + checksum: 78edb7772ca7bf64fc0c603cb82771c793e03afff37ccbbfd1b9f578ec0e5369 + - filename: machines/bleShare/scan/scanMachine.ts + checksum: a514c958ca3da3c5b22a1a95ad680af8f05fb22638fab79b3842aa8fcc1b4a17 + - filename: locales/spa.json + checksum: eac9685c6b205ece5759e414669d27ad7ce383453d7b5e7d9f5ce75d290cc860 + - filename: screens/PasscodeScreen.tsx + checksum: 5d3003027b245234f8c00bfc98836f1fb90a5d9525ffacf61c53f3d50954aa6a + - filename: screens/PasscodeScreen.tsx + checksum: 3330b9db9cfce407782e82b4fe3c0b60a9ecb0f9327af2b69971e254f9e52921 + - filename: screens/Home/MyVcs/OtpVerificationModal.tsx + checksum: a99fe136d9d1348c541d413324d266e179ecad6a1fe6b6bd1e0b2856a5a6d6b5 + - filename: screens/QrLogin/QrConsent.tsx + checksum: 8563a194a4d38814eff670f0652d1a7af77134cafb350462174b4f147dbd890d + - filename: assets/fingerprint_icon.svg + checksum: b2d3a50ca1336f60123d96a8cc8ea663c3316ed2d8c31833bce7e393ca51695b + - filename: machines/store.ts + checksum: 9970da0ea685018a90f7306fb88945d135dd019439099dd56b6109d915a8a24f + - filename: assets/Flip_Camera_Icon.svg + checksum: 736b5a7ddb86bd4376229ce198dbf8a663e7ac89fc3311bd4f19afd4a2b36ffd + - filename: ios/fastlane/Fastfile + checksum: 086080bc7a04accf5094c457b5acf84d9fec5d7dfa72eaaaf02e433ecf4f996b + - filename: assets/Finger_Print_Icon.svg + checksum: 776d4fe4fc4b54d185ccf97daf0511b9fe2c0e0f7c1a809047020e5e8a100db6 + - filename: android/app/build.gradle + checksum: d5409b8eda2e1bf5b2552a909595a9e0aea4fd4e7572cf1746c99eee1583b83a + - filename: .github/workflows/push-triggers.yml + checksum: abc19ea38c8d7b79f15695d015709cc88a34a995181aaf12bc8344f940f3cbc4 + - filename: ios/fastlane/Fastfile + checksum: 086080bc7a04accf5094c457b5acf84d9fec5d7dfa72eaaaf02e433ecf4f996b + - filename: android/fastlane/Fastfile + checksum: a25f155bcbbae7ab09563637c23771f7349738f12a6ddc8ae71c29c61ed535af + - filename: .github/workflows/internal-build.yml + checksum: e9b85cf0405d777faee9345269f6f9eb861ed205728dca63cf27a5db79c876a7 + - filename: assets/Issuer_search_clearing_button.svg + checksum: f4e8a054fc4168e08bc9e9fe3e644cebabacdfc31ef0cbe36dd281766f47df5e + - filename: screens/Home/MyVcs/IdInputModal.tsx + checksum: 7ee46d8ef4761c0e9b59f3e602e6e30be5f47221817c819e91ab10ca2203089f + - filename: .env + checksum: aac8a35413cd999696e7728fe9d6a9f76123be44498cdcad3431c314c91409c4 + - filename: machines/backup.ts + checksum: d4b95b075ce39ed80b119014188f8903dbb46d46dd19a3757eea2ae8a06ba7ad + - filename: machines/backup.typegen.ts + checksum: 4ae5dbf36353cb7568a278628256e68caded071f1e91d6e1b25ac9aefb1f81cf + - filename: screens/Settings/BackupController.tsx + checksum: 054665c377b4a8e246ae1bfb419ab86d0cb1c120ae92cdc27ceed9cf1f39679b + - filename: screens/Settings/BackupViaPassword.tsx + checksum: 5fb2f98fb8a4efeb6b691b8a29e62eba64a99e9b2129bc0af1d11bc56bdfb374 + - filename: screens/Settings/DataBackup.tsx + checksum: 6f3eaf26a58712b3ddd36dfa49d0d608eb873455ca91374545148c23e36fd43b + - filename: shared/constants.ts + checksum: 062fb9bc4ba7dc7c91558caee5a4fd41ba748b0dcd108c62b50a2fdd06eaa289 + - filename: shared/commonUtil.ts + checksum: 4f353f525ce0d2c9c7caf734aa9ce4a7a5ce8d526528a491974052256b8cbe76 + - filename: screens/Settings/BackupController.tsx + checksum: d2a355356bcaf8f7ef3b53ba93710cec15fefd0fdf31efd779eebd2bfab61c19 + - filename: shared/constants.ts + checksum: 3961940d2df158b6c287cb689b8841d278eae273a4e5553ae2ae612340f8b8c8 + - filename: shared/api.ts + checksum: 96a87e2128c30d16526cb1cb91b7da58f266d8c32d830adff11ca4d04e8c459f + - filename: machines/backupWithEncryption.ts + checksum: 038c12d30b2312fcbd9230a1c6ddb494d2e561fe0d09741335fa80ab67e2c550 + - filename: machines/backupWithEncryption.typegen.ts + checksum: f5f9a71082e3f30f89e98a7913535327b31b942709ee8b5efb40e18c73ddee2a + - filename: screens/Home/MyVcs/OtpVerificationModal.tsx + checksum: 1db1f39701019383e1e40e6ed5278177e6c9bb3d28def0935cf6d4bd9e41e63a + - filename: screens/Home/MyVcs/GetIdInputModal.tsx + checksum: e85d18cd3349e0127f1cc7173fcdfd31824e609508512a613997a73756cd4dec + - filename: .github/workflows/android-custom-build.yml + checksum: 4d155c6e5468effb0b82e62f6878f2bd7ff7e7c9540e16bdd28cb81b80672ac3 + - filename: .github/workflows/push-triggers.yml + checksum: 4a031b46646aa982c8f40e4c7fe0bd3e05a76a6af1ff1c2de7350ba6ebf9a839 + - filename: .env + checksum: 4259c7c600ef49bfca798a7807a03afe9fefb1a04efd3adf224397c18117a8c1 + - filename: ios/Podfile.lock + checksum: f32d1580e34e354c0eb27d53d2d1c2b766b0902fc6366c407d84c24d6d8d38e3 + - filename: package-lock.json + checksum: 2fb6ce0541ab33a7a981213911d7af60cf4c8144bf0d1587522ce22a48b104d6 + - filename: components/VC/Views/VCCardViewContent.tsx + checksum: 02655ff3d7f8a8ea4f3664485f98c961802c598242ec44408594a2ddb721fa5e + - filename: screens/Home/IntroSlidersScreen.tsx + checksum: 99aad6f5e474f4d5dfa563245d7b627f5fed28a1a4fe8879cc8b8cc538a66f4e + - filename: shared/storage.ts + checksum: fa967759d765432926475a5534c26adfa61727c8e3334c795d7ee1e5b2dd0e1f + - filename: shared/constants.ts + checksum: ae922a7acafab9c42746bd54e194c44532af81122837594c397713cef6922ca0 + - filename: shared/fileStorage.ts + checksum: 451e8873a635d955fe426d9a5fcf191f2d4fd74984a1a4518760e2d10e9e1817 + - filename: screens/Settings/BackupController.tsx + checksum: 4a031b46646aa982c8f40e4c7fe0bd3e05a76a6af1ff1c2de7350ba6ebf9a839 + - filename: machines/backupRestore.ts + checksum: d71d89a1faac64ebadaba48786de42cd9a7a7d5765238415defe822c162ab0b2 + - filename: machines/backupRestore.typegen.ts + checksum: acc8934db32c3398082b1f89d9908765d3deb4dd49eaf5f68496a89fbd02b7a8 + - filename: machines/settings.typegen.ts + checksum: e4ae05822f1b1c23f3f70d03dd46fd8f29ba6b52d40f2f24c121f536fbb5f2c4 + - filename: .env + checksum: f26489ce4ac607884437ad06c3117cc34d6cbcbcd3dd5719790fbe01a0853ee5 + - filename: machines/backup.ts + checksum: df40cc92db9e459ab19d8382713afb24ae89c88a944623bbc21a7e6b9bc327a3 + - filename: locales/en.json + checksum: e87723f4bb733fa3d95cc0d4f3831ecaa8310975c177af4f4c73c35b69fa025e + - filename: locales/fil.json + checksum: 9b3aa32c09ab18c29bfd5fdbe822e1bda511627a887f8f232c52959d2170c3d3 + - filename: locales/hin.json + checksum: a5f388edb087d12a9395643ba2fbafc93dfde3a3347c3dc17e89d252045660b7 + - filename: locales/kan.json + checksum: c0cc2ca567eaa8a5abaa4c9a361b9b612436d10b50d60ef239fcff633eeeff57 + - filename: locales/ara.json + checksum: 104f58031271f6ba6115de6e7cb5ba7a586ab6e648314c8940b035f60cab692f + - filename: locales/tam.json + checksum: a257d03d7d011602c50160d044926e7ee8a29e8f8afb3c355c05fd8aa7473534 + - filename: locales/en.json + checksum: b4d07aca4534fb9fd2bb62b146bb41e588e4bc5cad6afc9531f97043ed08dbba + - filename: locales/spa.json + checksum: 06fca76095c99f313714e2d7b732e2bebb96f18be762e778ee7e3481a5a4e9ef + - filename: locales/fil.json + checksum: e9eaeb9204e4a6659e0f2a432e57e62cfb8f02b0a2f8d5a6ac81c4cdf4fa4786 + version: "" diff --git a/App.tsx b/App.tsx index d4aeaba87b..804647ac60 100644 --- a/App.tsx +++ b/App.tsx @@ -1,5 +1,4 @@ import React, {useContext, useEffect} from 'react'; -import AppLoading from 'expo-app-loading'; import {AppLayout} from './screens/AppLayout'; import {useFont} from './shared/hooks/useFont'; import {GlobalContextProvider} from './components/GlobalContextProvider'; @@ -15,15 +14,23 @@ import { import {DualMessageOverlay} from './components/DualMessageOverlay'; import {useApp} from './screens/AppController'; import {Alert} from 'react-native'; -import {configureTelemetry} from './shared/telemetry/TelemetryUtils'; +import { + configureTelemetry, + getErrorEventData, + sendErrorEvent, +} from './shared/telemetry/TelemetryUtils'; +import {TelemetryConstants} from './shared/telemetry/TelemetryConstants'; import {MessageOverlay} from './components/MessageOverlay'; -import SecureKeystore from 'react-native-secure-keystore'; +import SecureKeystore from '@mosip/secure-keystore'; import {isHardwareKeystoreExists} from './shared/cryptoutil/cryptoUtil'; import i18n from './i18n'; import './shared/flipperConfig'; +import * as SplashScreen from 'expo-splash-screen'; + +SplashScreen.preventAutoHideAsync(); // kludge: this is a bad practice but has been done temporarily to surface -// an occurance of a bug with minimal residual code changes, this should +// an occurrence of a bug with minimal residual code changes, this should // be removed once the bug cause is determined & fixed, ref: INJI-222 const DecryptErrorAlert = (controller, t) => { const heading = t('errors.decryptionFailed'); @@ -43,6 +50,14 @@ const AppLayoutWrapper: React.FC = () => { const isDecryptError = useSelector(appService, selectIsDecryptError); const controller = useApp(); const {t} = useTranslation('WelcomeScreen'); + + useEffect(() => { + async function hideAppLoading() { + await SplashScreen.hideAsync(); + } + hideAppLoading(); + }, []); + if (isDecryptError) { DecryptErrorAlert(controller, t); } @@ -59,16 +74,27 @@ const AppLoadingWrapper: React.FC = () => { ); const controller = useApp(); const {t} = useTranslation('WelcomeScreen'); + useEffect(() => { + if (isKeyInvalidateError) { + configureTelemetry(); + sendErrorEvent( + getErrorEventData( + TelemetryConstants.FlowType.appLogin, + TelemetryConstants.ErrorId.appWasReset, + TelemetryConstants.ErrorMessage.appWasReset, + ), + ); + } + }, [isKeyInvalidateError]); return ( <> - {isReadError ? ( diff --git a/android/app/build.gradle b/android/app/build.gradle index 1cfe9006b3..8f14f7f589 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -1,11 +1,10 @@ -plugins { +plugins { id 'com.gladed.androidgitversion' version '0.4.14' } apply plugin: "com.android.application" apply plugin: "com.facebook.react" - -import com.android.build.OutputFile +apply plugin: "org.sonarqube" react { /* Folders */ @@ -37,6 +36,7 @@ react { // // The entry file for bundle generation. Default is 'index.android.js' or 'index.js' // entryFile = file("../js/MyApplication.android.js") + entryFile = file("../../index.js") // // A list of extra flags to pass to the 'bundle' commands. // See https://github.com/react-native-community/cli/blob/main/docs/commands.md#bundle @@ -113,6 +113,7 @@ android { appAuthRedirectScheme: 'io.mosip.residentapp.inji' ] } + splits { abi { reset() @@ -121,29 +122,56 @@ android { include "armeabi-v7a", "x86", "arm64-v8a", "x86_64" } } - + signingConfigs { release { - def keystore = file('release.keystore') - def keystoreAlias = System.getenv("RELEASE_KEYSTORE_ALIAS") - def keystorePass = System.getenv("RELEASE_KEYSTORE_PASSWORD") + // for sonarqube job we will generate dummy release keystore to sign the app as we are not doing it in workflow + def hasSonarqube = System.properties.containsKey("sonarqube") + def keystore = file('release.keystore').exists() ? file('release.keystore') : file('dummyrelease.keystore') storeFile file("$keystore") - storePassword "$keystorePass" - keyAlias "$keystoreAlias" - keyPassword "$keystorePass" + if (hasSonarqube && !keystore.exists() ) { + exec { + commandLine 'keytool', + '-genkey', + '-v', + '-storetype', 'PKCS12', + '-keyalg', 'RSA', + '-keysize', '2048', + '-validity', '10000', + '-storepass', 'password', + '-keypass', 'password', + '-alias', 'androidreleasekey', + '-keystore', 'dummyrelease.keystore', + '-dname', 'CN=,OU=,O=,L=,S=,C=US' + } + storePassword "password" + keyAlias "androidreleasekey" + keyPassword "password" + } + else{ + def keystoreAlias = System.getenv("RELEASE_KEYSTORE_ALIAS") + def keystorePass = System.getenv("RELEASE_KEYSTORE_PASSWORD") + storePassword "$keystorePass" + keyAlias "$keystoreAlias" + keyPassword "$keystorePass" + } v2SigningEnabled true v1SigningEnabled false } debug { def keystore = file('debug.keystore') - def keystoreAlias = System.getenv("DEBUG_KEYSTORE_ALIAS") - def keystorePass = System.getenv("DEBUG_KEYSTORE_PASSWORD") - storeFile file("$keystore") - storePassword "$keystorePass" - keyAlias "$keystoreAlias" - keyPassword "$keystorePass" - v2SigningEnabled true - v1SigningEnabled false + if (keystore.exists()) { + def keystoreAlias = System.getenv("DEBUG_KEYSTORE_ALIAS") + def keystorePass = System.getenv("DEBUG_KEYSTORE_PASSWORD") + storeFile file("$keystore") + storePassword "$keystorePass" + keyAlias "$keystoreAlias" + keyPassword "$keystorePass" + v2SigningEnabled true + v1SigningEnabled false + }else { + android.buildTypes.debug.signingConfig = null + } } } buildTypes { @@ -204,6 +232,16 @@ android { outputFileName = "Inji_${architecture}.apk" } } + + android.applicationVariants.all { variant -> + variant.outputs.all { output -> + if (variant.flavorName == "collab") { + sonarqube { + androidVariant variant.name + } + } + } + } } dependencies { @@ -238,7 +276,7 @@ dependencies { implementation 'com.facebook.fresco:animated-webp:2.0.0' } } - + compileOnly project(':react-native-android-location-services-dialog-box') implementation "androidx.swiperefreshlayout:swiperefreshlayout:1.0.0" debugImplementation("com.facebook.flipper:flipper:${FLIPPER_VERSION}") debugImplementation("com.facebook.flipper:flipper-network-plugin:${FLIPPER_VERSION}") { diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml index 96d05e2add..7259a2490b 100644 --- a/android/app/src/main/AndroidManifest.xml +++ b/android/app/src/main/AndroidManifest.xml @@ -12,11 +12,10 @@ + - - diff --git a/android/app/src/main/java/io/mosip/residentapp/MainActivity.java b/android/app/src/main/java/io/mosip/residentapp/MainActivity.java index 35b6474a2a..edd4eb8ab0 100644 --- a/android/app/src/main/java/io/mosip/residentapp/MainActivity.java +++ b/android/app/src/main/java/io/mosip/residentapp/MainActivity.java @@ -89,28 +89,6 @@ private static boolean hasPermissions(Context context, String... permissions) { return true; } - /** - * Handles user acceptance (or denial) of our permission request. - */ - @CallSuper - @Override - public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) { - super.onRequestPermissionsResult(requestCode, permissions, grantResults); - - if (requestCode != REQUEST_CODE_REQUIRED_PERMISSIONS) { - return; - } - - for (int grantResult : grantResults) { - if (grantResult == PackageManager.PERMISSION_DENIED) { - // Toast.makeText(this, R.string.error_missing_permissions, Toast.LENGTH_LONG).show(); - // connectButton.setEnabled(false); - Log.d("Main", "Denied"); - return; - } - } - recreate(); - } /** * Returns the instance of the {@link ReactActivityDelegate}. Here we use a util class {@link diff --git a/android/build.gradle b/android/build.gradle index 0824a6e5f8..e83f7b1759 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -18,6 +18,7 @@ buildscript { dependencies { classpath("com.android.tools.build:gradle:7.3.1") classpath("com.facebook.react:react-native-gradle-plugin") + classpath("org.sonarsource.scanner.gradle:sonarqube-gradle-plugin:3.3") } } diff --git a/android/gradle.properties b/android/gradle.properties index 20e36a325b..a8b05e6476 100644 --- a/android/gradle.properties +++ b/android/gradle.properties @@ -10,7 +10,7 @@ # Specifies the JVM arguments used for the daemon process. # The setting is particularly useful for tweaking memory settings. # Default value: -Xmx512m -XX:MaxMetaspaceSize=256m -org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 +org.gradle.jvmargs=-Xmx4096m -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 @@ -57,4 +57,5 @@ newArchEnabled=false # If set to false, you will be using JSC instead. hermesEnabled=true -expo.jsEngine=hermes \ No newline at end of file +expo.jsEngine=hermes +org.gradle.jvmargs=-Xmx4096m \ No newline at end of file diff --git a/android/settings.gradle b/android/settings.gradle index cf75b94c96..38e206ee8b 100644 --- a/android/settings.gradle +++ b/android/settings.gradle @@ -3,6 +3,7 @@ rootProject.name = 'Inji' apply from: file("../node_modules/@react-native-community/cli-platform-android/native_modules.gradle"); applyNativeModulesSettingsGradle(settings) include ':app' includeBuild('../node_modules/react-native-gradle-plugin') - +include ':react-native-android-location-services-dialog-box' +project(':react-native-android-location-services-dialog-box').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-android-location-services-dialog-box/android') apply from: new File(["node", "--print", "require.resolve('expo/package.json')"].execute(null, rootDir).text.trim(), "../scripts/autolinking.gradle") -useExpoModules() \ No newline at end of file +useExpoModules() diff --git a/app.config.ts b/app.config.ts index bef412f038..6b90963c56 100644 --- a/app.config.ts +++ b/app.config.ts @@ -22,7 +22,7 @@ export default { package: 'io.mosip.residentapp', versionCode: 1, adaptiveIcon: { - foregroundImage: './assets/adaptive-icon.png', + foregroundImage: './assets/Adaptive_Icon.png', backgroundColor: '#FFFFFF', }, }, diff --git a/assets/adaptive-icon.png b/assets/Adaptive_Icon.png similarity index 100% rename from assets/adaptive-icon.png rename to assets/Adaptive_Icon.png diff --git a/assets/Camera_Capture_Icon.svg b/assets/Camera_Capture_Icon.svg new file mode 100644 index 0000000000..4b70717e97 --- /dev/null +++ b/assets/Camera_Capture_Icon.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/assets/card_bg.png b/assets/Card_Bg1.png similarity index 100% rename from assets/card_bg.png rename to assets/Card_Bg1.png diff --git a/assets/Digital_Identity_Icon1.svg b/assets/Digital_Identity_Icon1.svg new file mode 100644 index 0000000000..62d763c7c1 --- /dev/null +++ b/assets/Digital_Identity_Icon1.svg @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/assets/Finger_Print_Icon.svg b/assets/Finger_Print_Icon.svg new file mode 100644 index 0000000000..fdbc99da32 --- /dev/null +++ b/assets/Finger_Print_Icon.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/assets/Flip_Camera_Icon.svg b/assets/Flip_Camera_Icon.svg new file mode 100644 index 0000000000..4fd76dbe4d --- /dev/null +++ b/assets/Flip_Camera_Icon.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/assets/History_tab_icon.svg b/assets/History_tab_icon.svg new file mode 100644 index 0000000000..cac4200d82 --- /dev/null +++ b/assets/History_tab_icon.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/assets/Home_tab_icon.svg b/assets/Home_tab_icon.svg new file mode 100644 index 0000000000..6ed14a1b63 --- /dev/null +++ b/assets/Home_tab_icon.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/assets/ID-closed.png b/assets/ID-closed.png deleted file mode 100644 index d45360f27e..0000000000 Binary files a/assets/ID-closed.png and /dev/null differ diff --git a/assets/ID-open.png b/assets/ID-open.png deleted file mode 100644 index 0c2df733b0..0000000000 Binary files a/assets/ID-open.png and /dev/null differ diff --git a/assets/Inji_Home_Logo1.svg b/assets/Inji_Home_Logo1.svg new file mode 100644 index 0000000000..3bcf3ac77b --- /dev/null +++ b/assets/Inji_Home_Logo1.svg @@ -0,0 +1,14 @@ + + + + + + + + + diff --git a/assets/Inji_Logo.svg b/assets/Inji_Logo.svg new file mode 100644 index 0000000000..5bd1e1018b --- /dev/null +++ b/assets/Inji_Logo.svg @@ -0,0 +1,16 @@ + + + + + + + + + + + + diff --git a/assets/intro-scanner.png b/assets/Intro_Scanner.png similarity index 100% rename from assets/intro-scanner.png rename to assets/Intro_Scanner.png diff --git a/assets/intro-secure-sharing.png b/assets/Intro_Secure_Sharing.png similarity index 100% rename from assets/intro-secure-sharing.png rename to assets/Intro_Secure_Sharing.png diff --git a/assets/intro-unlock-method.png b/assets/Intro_Unlock_Method.png similarity index 100% rename from assets/intro-unlock-method.png rename to assets/Intro_Unlock_Method.png diff --git a/assets/intro-wallet-binding.png b/assets/Intro_Wallet_Binding.png similarity index 100% rename from assets/intro-wallet-binding.png rename to assets/Intro_Wallet_Binding.png diff --git a/assets/Lock_Icon1.svg b/assets/Lock_Icon1.svg new file mode 100644 index 0000000000..8ada483bb6 --- /dev/null +++ b/assets/Lock_Icon1.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/assets/Magnifier_Zoom.svg b/assets/Magnifier_Zoom.svg new file mode 100644 index 0000000000..5688f2738b --- /dev/null +++ b/assets/Magnifier_Zoom.svg @@ -0,0 +1,3 @@ + + + diff --git a/assets/Mosip_Logo1.svg b/assets/Mosip_Logo1.svg new file mode 100644 index 0000000000..a87e015c57 --- /dev/null +++ b/assets/Mosip_Logo1.svg @@ -0,0 +1,98 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/No_Internet_Connection.svg b/assets/No_Internet_Connection.svg new file mode 100644 index 0000000000..3ea3cc1d87 --- /dev/null +++ b/assets/No_Internet_Connection.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/assets/Otp_Verification_Icon.svg b/assets/Otp_Verification_Icon.svg new file mode 100644 index 0000000000..35db1b8d48 --- /dev/null +++ b/assets/Otp_Verification_Icon.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/assets/Pin_Icon.svg b/assets/Pin_Icon.svg new file mode 100644 index 0000000000..49ef65d216 --- /dev/null +++ b/assets/Pin_Icon.svg @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/Progress_Icon1.svg b/assets/Progress_Icon1.svg new file mode 100644 index 0000000000..9bb303747f --- /dev/null +++ b/assets/Progress_Icon1.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/assets/Receive_Card.svg b/assets/Receive_Card.svg new file mode 100644 index 0000000000..bf323ecd34 --- /dev/null +++ b/assets/Receive_Card.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/assets/Received_Cards.svg b/assets/Received_Cards.svg new file mode 100644 index 0000000000..8b0db97fa3 --- /dev/null +++ b/assets/Received_Cards.svg @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/assets/Scan_tab_icon.svg b/assets/Scan_tab_icon.svg new file mode 100644 index 0000000000..dcf275ad90 --- /dev/null +++ b/assets/Scan_tab_icon.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/assets/Something_Went_Wrong.svg b/assets/Something_Went_Wrong.svg new file mode 100644 index 0000000000..36fc23f0e6 --- /dev/null +++ b/assets/Something_Went_Wrong.svg @@ -0,0 +1,62 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/Success_Message_Icon1.svg b/assets/Success_Message_Icon1.svg new file mode 100644 index 0000000000..3e818a7064 --- /dev/null +++ b/assets/Success_Message_Icon1.svg @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/Warning_Icon.svg b/assets/Warning_Icon.svg new file mode 100644 index 0000000000..76deaee7bf --- /dev/null +++ b/assets/Warning_Icon.svg @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/biometric-unlock-icon.png b/assets/biometric-unlock-icon.png deleted file mode 100644 index 1a6f10771d..0000000000 Binary files a/assets/biometric-unlock-icon.png and /dev/null differ diff --git a/assets/camera-flip-icon.png b/assets/camera-flip-icon.png deleted file mode 100644 index 5203a4f539..0000000000 Binary files a/assets/camera-flip-icon.png and /dev/null differ diff --git a/assets/capture-button.png b/assets/capture-button.png deleted file mode 100644 index 823b47e1da..0000000000 Binary files a/assets/capture-button.png and /dev/null differ diff --git a/assets/digital-identity-icon.png b/assets/digital-identity-icon.png deleted file mode 100644 index 5a678a4dff..0000000000 Binary files a/assets/digital-identity-icon.png and /dev/null differ diff --git a/assets/domain-warning.png b/assets/domain-warning.png deleted file mode 100644 index da13301fbb..0000000000 Binary files a/assets/domain-warning.png and /dev/null differ diff --git a/assets/features-walkaround-icon.png b/assets/features-walkaround-icon.png deleted file mode 100644 index b6a3631020..0000000000 Binary files a/assets/features-walkaround-icon.png and /dev/null differ diff --git a/assets/help-icon.png b/assets/help-icon.png deleted file mode 100644 index 3346d8fcc6..0000000000 Binary files a/assets/help-icon.png and /dev/null differ diff --git a/assets/icon.png b/assets/icon.png deleted file mode 100644 index ce339f7dab..0000000000 Binary files a/assets/icon.png and /dev/null differ diff --git a/assets/idpass-logo.png b/assets/idpass-logo.png deleted file mode 100644 index ba55dbad7a..0000000000 Binary files a/assets/idpass-logo.png and /dev/null differ diff --git a/assets/inji-home-logo.png b/assets/inji-home-logo.png deleted file mode 100644 index f8c5959586..0000000000 Binary files a/assets/inji-home-logo.png and /dev/null differ diff --git a/assets/inji-logo-white.png b/assets/inji-logo-white.png deleted file mode 100644 index 85505a13e2..0000000000 Binary files a/assets/inji-logo-white.png and /dev/null differ diff --git a/assets/inji_small_logo.png b/assets/inji_small_logo.png deleted file mode 100644 index f70091869a..0000000000 Binary files a/assets/inji_small_logo.png and /dev/null differ diff --git a/assets/legal-notices-icon.png b/assets/legal-notices-icon.png deleted file mode 100644 index 69884e7c48..0000000000 Binary files a/assets/legal-notices-icon.png and /dev/null differ diff --git a/assets/lock-icon.png b/assets/lock-icon.png deleted file mode 100644 index 147780f874..0000000000 Binary files a/assets/lock-icon.png and /dev/null differ diff --git a/assets/magnifier-zoom.png b/assets/magnifier-zoom.png deleted file mode 100644 index cbbc2153b9..0000000000 Binary files a/assets/magnifier-zoom.png and /dev/null differ diff --git a/assets/mosip-logo.png b/assets/mosip-logo.png deleted file mode 100644 index e065ff5cd6..0000000000 Binary files a/assets/mosip-logo.png and /dev/null differ diff --git a/assets/no-internet-connection.png b/assets/no-internet-connection.png deleted file mode 100644 index b6fe52e687..0000000000 Binary files a/assets/no-internet-connection.png and /dev/null differ diff --git a/assets/otp-mobile-logo.png b/assets/otp-mobile-logo.png deleted file mode 100644 index 8a8a4a5210..0000000000 Binary files a/assets/otp-mobile-logo.png and /dev/null differ diff --git a/assets/pending_activation.png b/assets/pending_activation.png deleted file mode 100644 index b094a451da..0000000000 Binary files a/assets/pending_activation.png and /dev/null differ diff --git a/assets/pin_icon.png b/assets/pin_icon.png deleted file mode 100644 index 03249fef65..0000000000 Binary files a/assets/pin_icon.png and /dev/null differ diff --git a/assets/placeholder-photo.png b/assets/placeholder-photo.png deleted file mode 100644 index ef3fcaa57f..0000000000 Binary files a/assets/placeholder-photo.png and /dev/null differ diff --git a/assets/progressing-logo.png b/assets/progressing-logo.png deleted file mode 100644 index dc8d0b74c6..0000000000 Binary files a/assets/progressing-logo.png and /dev/null differ diff --git a/assets/receive-card-icon.png b/assets/receive-card-icon.png deleted file mode 100644 index b0db01a00e..0000000000 Binary files a/assets/receive-card-icon.png and /dev/null differ diff --git a/assets/received-cards-icon.png b/assets/received-cards-icon.png deleted file mode 100644 index 52afc034ca..0000000000 Binary files a/assets/received-cards-icon.png and /dev/null differ diff --git a/assets/something-went-wrong.png b/assets/something-went-wrong.png deleted file mode 100644 index 52d8c34644..0000000000 Binary files a/assets/something-went-wrong.png and /dev/null differ diff --git a/assets/splash.png b/assets/splash.png index 11c2705725..48c75eb725 100644 Binary files a/assets/splash.png and b/assets/splash.png differ diff --git a/assets/success-logo.png b/assets/success-logo.png deleted file mode 100644 index 77ca2d7ba9..0000000000 Binary files a/assets/success-logo.png and /dev/null differ diff --git a/assets/warningLogo.png b/assets/warningLogo.png deleted file mode 100644 index b530db5440..0000000000 Binary files a/assets/warningLogo.png and /dev/null differ diff --git a/components/CloudSignOn.tsx b/components/CloudSignOn.tsx new file mode 100644 index 0000000000..98e45fb793 --- /dev/null +++ b/components/CloudSignOn.tsx @@ -0,0 +1,46 @@ +import React, {useEffect} from 'react'; +import {Button, Platform, Pressable} from 'react-native'; +import {CloudStorage} from 'react-native-cloud-storage'; +import * as WebBrowser from 'expo-web-browser'; +import * as Google from 'expo-auth-session/providers/google'; +import {GOOGLE_ANDROID_CLIENT_ID} from 'react-native-dotenv'; + +WebBrowser.maybeCompleteAuthSession(); + +// This component needs to be modified as the token is received and may need to move these logic to backup screen +export const CloudSignOn: React.FC = props => { + const [request, response, promptAsync] = Google.useAuthRequest({ + androidClientId: GOOGLE_ANDROID_CLIENT_ID, + scopes: ['https://www.googleapis.com/auth/drive.appdata'], + }); + + useEffect(() => { + if (response.type == 'success') { + CloudStorage.setGoogleDriveAccessToken( + response.authentication.accessToken, + ); + } + }); + return ( +