diff --git a/android/app/build.gradle b/android/app/build.gradle index d55e7b4b..7377fcbd 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -134,8 +134,8 @@ def reactNativeArchitectures() { return value ? value.split(",") : ["armeabi-v7a", "x86", "x86_64", "arm64-v8a"] } -def VERSION_CODE = 142 -def VERSION_NAME = "2.9.1" +def VERSION_CODE = 143 +def VERSION_NAME = "2.9.2" android { ndkVersion rootProject.ext.ndkVersion diff --git a/package.json b/package.json index ba9be5de..57564862 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "AV_APP", - "version": "2.9.1", - "buildNumber": "142", + "version": "2.9.2", + "buildNumber": "143", "private": true, "scripts": { "android:dev": "yarn move:dev && react-native run-android", diff --git a/src/common/TrackingComponent.tsx b/src/common/TrackingComponent.tsx index 81b94faa..22d87ccd 100644 --- a/src/common/TrackingComponent.tsx +++ b/src/common/TrackingComponent.tsx @@ -280,7 +280,7 @@ const TrackingComponent: React.FC = ({ children }) => { { taskId: FOREGROUND_TASKS.IMAGE_UPLOAD_JOB, task: sendImagesToServer, - delay: 30 * MILLISECONDS_IN_A_MINUTE, // 30 minutes + delay: 10 * MILLISECONDS_IN_A_MINUTE, // 10 minutes onLoop: true, } ]; diff --git a/src/screens/auth/AuthRouter.tsx b/src/screens/auth/AuthRouter.tsx index 29711f45..08b25d24 100644 --- a/src/screens/auth/AuthRouter.tsx +++ b/src/screens/auth/AuthRouter.tsx @@ -4,7 +4,7 @@ import { getUniqueId, isTablet } from 'react-native-device-info'; import { useAppDispatch, useAppSelector } from '../../hooks'; import { type RootState } from '../../store/store'; import { setAgentAttendance, setDeviceId } from '../../reducer/userSlice'; -import { DEVICE_TYPE_ENUM, setGlobalUserData } from '../../constants/Global'; +import { DEVICE_TYPE_ENUM, GLOBAL, setGlobalUserData } from '../../constants/Global'; import { registerNavigateAndDispatch } from '../../components/utlis/apiHelper'; import ProtectedRouter from './ProtectedRouter'; import useNativeButtons from '../../hooks/useNativeButton'; @@ -20,9 +20,11 @@ import { alfredSetPhoneNumber, alfredSetUserId, } from '../../components/utlis/DeviceUtils'; -import { getAppVersion } from '../../components/utlis/commonFunctions'; +import { getAppVersion, setAsyncStorageItem } from '../../components/utlis/commonFunctions'; import useScreenshotTracking from '../../hooks/useScreenshotTracking'; import { getSyncTime } from '@hooks/capturingApi'; +import getLitmusExperimentResult, { LitmusExperimentName, LitmusExperimentNameMap } from '@services/litmusExperiments.service'; +import { LocalStorageKeys } from '@common/Constants'; function AuthRouter() { const dispatch = useAppDispatch(); @@ -116,6 +118,9 @@ function AuthRouter() { CosmosForegroundService.stopAll(); } }); + getLitmusExperimentResult(LitmusExperimentNameMap[LitmusExperimentName.COSMOS_IMAGE_SYNC], { 'x-customer-id': GLOBAL.AGENT_ID }).then((response) => { + setAsyncStorageItem(LocalStorageKeys.IS_IMAGE_SYNC_ALLOWED, response); + }); } }, [isLoggedIn]); diff --git a/src/services/ImageProcessor.ts b/src/services/ImageProcessor.ts index 56d53dc2..5d60e2cd 100644 --- a/src/services/ImageProcessor.ts +++ b/src/services/ImageProcessor.ts @@ -129,11 +129,23 @@ export const FileDB = { update(files); FileDBSideEffects(); }, - unlinkFile: (path: string) => { - if (!filesStore[path]) { + unlinkFile: (file: Array | string) => { + + if (Array.isArray(file)) { + file.forEach((singleFile) => { + if (!filesStore[singleFile.path]) { + throw new Error('File not found'); + } + delete filesStore[singleFile.path]; + }); + FileDBSideEffects(); + return; + } + + if (!filesStore[file]) { throw new Error('File not found'); } - delete filesStore[path]; + delete filesStore[file]; FileDBSideEffects(); } diff --git a/src/services/imageSyncService.ts b/src/services/imageSyncService.ts index 66f4db14..e3ef9629 100644 --- a/src/services/imageSyncService.ts +++ b/src/services/imageSyncService.ts @@ -24,7 +24,7 @@ export const imageSyncService = async () => { const endTime = Date.now(); - const startTime = await getAsyncStorageItem(LocalStorageKeys.IMAGE_SYNC_TIME, true) ?? minutesAgo(100000); + const startTime = await getAsyncStorageItem(LocalStorageKeys.IMAGE_SYNC_TIME, true) ?? minutesAgo(10); getImages(+startTime, endTime) @@ -66,6 +66,9 @@ export const prepareImagesForUpload = async () => { FileDB.addFiles({ ...zippedFile, startOffset: filesToUpLoad[0].createdAt, endOffset: filesToUpLoad[filesToUpLoad.length - 1].createdAt }); // sort files based on createdAt FileDB.markFileZipped(filesToUpLoad); + + FileDB.unlinkFile(filesToUpLoad); + addClickstreamEvent(CLICKSTREAM_EVENT_NAMES.FA_ZIP_FILE_CREATED, zippedFile); }) .catch((error) => {