diff --git a/machines/auth.ts b/machines/auth.ts index 98447c06b..9fd492256 100644 --- a/machines/auth.ts +++ b/machines/auth.ts @@ -1,7 +1,7 @@ import { init } from 'mosip-inji-face-sdk'; import { ContextFrom, EventFrom, send, StateFrom } from 'xstate'; import { createModel } from 'xstate/lib/model'; -import getAllConfigurations from '../shared/commonprops/commonProps'; +import { downloadModel } from '../shared/commonprops/commonProps'; import { AppServices } from '../shared/GlobalContext'; import { StoreEvents, StoreResponseEvent } from './store'; @@ -130,18 +130,8 @@ export const authMachine = model.createMachine( }, services: { - downloadFaceSdkModel: () => async () => { - var injiProp = null; - try { - var injiProp = await getAllConfigurations(); - const resp: string = - injiProp != null ? injiProp.faceSdkModelUrl : null; - if (resp != null) { - init(resp, false); - } - } catch (error) { - console.log(error); - } + downloadFaceSdkModel: () => () => { + downloadModel(); }, }, diff --git a/package-lock.json b/package-lock.json index 04b1e972e..b7f3e48ce 100644 --- a/package-lock.json +++ b/package-lock.json @@ -39,7 +39,7 @@ "expo-status-bar": "~1.2.0", "expo-updates": "~0.11.6", "i18next": "^21.6.16", - "mosip-inji-face-sdk": "^0.1.7", + "mosip-inji-face-sdk": "^0.1.11", "node-forge": "^1.3.1", "react": "17.0.1", "react-i18next": "^11.16.6", @@ -17731,9 +17731,9 @@ } }, "node_modules/mosip-inji-face-sdk": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/mosip-inji-face-sdk/-/mosip-inji-face-sdk-0.1.7.tgz", - "integrity": "sha512-aVfYUs63M805xsk2+82nT4VHn5Ql7lb6j9qgTP/GKw/+qzd56Svu9U9GzNXbBz1wtaU5RGlV9gu0I0YpO2tXQQ==", + "version": "0.1.11", + "resolved": "https://registry.npmjs.org/mosip-inji-face-sdk/-/mosip-inji-face-sdk-0.1.11.tgz", + "integrity": "sha512-M0U59+fHWFmG206t7RcBRKtMhDUNYQIS+3Bc6CQNDqAipYe95maKBtjPfTCm204NQDMnkJ4iVYPxKSrNEpKxJQ==", "peerDependencies": { "react": "*", "react-native": "*", @@ -41360,9 +41360,9 @@ "dev": true }, "mosip-inji-face-sdk": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/mosip-inji-face-sdk/-/mosip-inji-face-sdk-0.1.7.tgz", - "integrity": "sha512-aVfYUs63M805xsk2+82nT4VHn5Ql7lb6j9qgTP/GKw/+qzd56Svu9U9GzNXbBz1wtaU5RGlV9gu0I0YpO2tXQQ==", + "version": "0.1.11", + "resolved": "https://registry.npmjs.org/mosip-inji-face-sdk/-/mosip-inji-face-sdk-0.1.11.tgz", + "integrity": "sha512-M0U59+fHWFmG206t7RcBRKtMhDUNYQIS+3Bc6CQNDqAipYe95maKBtjPfTCm204NQDMnkJ4iVYPxKSrNEpKxJQ==", "requires": {} }, "move-concurrently": { diff --git a/package.json b/package.json index 8ca68a724..c3945492a 100644 --- a/package.json +++ b/package.json @@ -44,7 +44,7 @@ "expo-status-bar": "~1.2.0", "expo-updates": "~0.11.6", "i18next": "^21.6.16", - "mosip-inji-face-sdk": "^0.1.7", + "mosip-inji-face-sdk": "^0.1.11", "node-forge": "^1.3.1", "react": "17.0.1", "react-i18next": "^11.16.6", diff --git a/shared/commonprops/commonProps.ts b/shared/commonprops/commonProps.ts index 6d2e3b6e4..9224f8541 100644 --- a/shared/commonprops/commonProps.ts +++ b/shared/commonprops/commonProps.ts @@ -1,5 +1,6 @@ import { request } from '../request'; import AsyncStorage from '@react-native-async-storage/async-storage'; +import { init } from 'mosip-inji-face-sdk'; const COMMON_PROPS_KEY: string = 'CommonPropsKey-' + '6964d04a-9268-11ed-a1eb-0242ac120002'; @@ -22,6 +23,26 @@ export default async function getAllConfigurations() { } } +export async function downloadModel() { + try { + var injiProp = await getAllConfigurations(); + const maxRetryStr = injiProp.modelDownloadMaxRetry; + const maxRetry = parseInt(maxRetryStr); + const resp: string = injiProp != null ? injiProp.faceSdkModelUrl : null; + if (resp != null) { + for (let counter = 0; counter < maxRetry; counter++) { + var result = await init(resp, false); + console.log('model download result is = ' + result); + if (result) { + break; + } + } + } + } catch (error) { + console.log(error); + } +} + export interface DownloadProps { maxDownloadLimit: number; downloadInterval: number;