TP-67537 | Data sync time interval to be fetched from remote config

This commit is contained in:
yashmantri
2024-05-21 16:34:48 +05:30
parent 34870b4c7e
commit 18492eceac
5 changed files with 77 additions and 10 deletions

View File

@@ -134,8 +134,8 @@ def reactNativeArchitectures() {
return value ? value.split(",") : ["armeabi-v7a", "x86", "x86_64", "arm64-v8a"]
}
def VERSION_CODE = 157
def VERSION_NAME = "2.10.3"
def VERSION_CODE = 158
def VERSION_NAME = "2.10.4"
android {
ndkVersion rootProject.ext.ndkVersion

View File

@@ -1,7 +1,7 @@
{
"name": "AV_APP",
"version": "2.10.3",
"buildNumber": "157",
"version": "2.10.4",
"buildNumber": "158",
"private": true,
"scripts": {
"android:dev": "yarn move:dev && react-native run-android",

View File

@@ -3,6 +3,11 @@ let ACTIVITY_TIME_WINDOW_HIGH: number = 10; //10 minutes
let ACTIVITY_TIME_WINDOW_MEDIUM: number = 30; //30 minutes
let ENABLE_FIRESTORE_RESYNC = false;
let FIRESTORE_RESYNC_INTERVAL_IN_MINUTES = 15;
let DATA_SYNC_JOB_INTERVAL_IN_MINUTES = 10; // 10 minutes
let IMAGE_UPLOAD_JOB_INTERVAL_IN_MINUTES = 10; // 10 minutes
let VIDEO_UPLOAD_JOB_INTERVAL_IN_MINUTES = 10; // 10 minutes
let AUDIO_UPLOAD_JOB_INTERVAL_IN_MINUTES = 10; // 10 minutes
let CALENDAR_AND_ACCOUNTS_UPLOAD_JOB_INTERVAL_IN_MINUTES = 720; // 12 hours
export const getActivityTimeOnApp = () => ACTIVITY_TIME_ON_APP;
export const getActivityTimeWindowHigh = () => ACTIVITY_TIME_WINDOW_HIGH;
@@ -10,6 +15,12 @@ export const getActivityTimeWindowMedium = () => ACTIVITY_TIME_WINDOW_MEDIUM;
export const getEnableFirestoreResync = () => ENABLE_FIRESTORE_RESYNC;
export const getFirestoreResyncIntervalInMinutes = () => FIRESTORE_RESYNC_INTERVAL_IN_MINUTES;
export const getDataSyncJobIntervalInMinutes = () => DATA_SYNC_JOB_INTERVAL_IN_MINUTES;
export const getImageUploadJobIntervalInMinutes = () => IMAGE_UPLOAD_JOB_INTERVAL_IN_MINUTES;
export const getVideoUploadJobIntervalInMinutes = () => VIDEO_UPLOAD_JOB_INTERVAL_IN_MINUTES;
export const getAudioUploadJobIntervalInMinutes = () => AUDIO_UPLOAD_JOB_INTERVAL_IN_MINUTES;
export const getCalendarAndAccountsUploadJobIntervalInMinutes = () =>
CALENDAR_AND_ACCOUNTS_UPLOAD_JOB_INTERVAL_IN_MINUTES;
export const setActivityTimeOnApp = (activityTimeOnApp: number) => {
ACTIVITY_TIME_ON_APP = activityTimeOnApp;
@@ -29,4 +40,27 @@ export const setEnableFirestoreResync = (enableFirestoreResync: boolean) => {
export const setFirestoreResyncIntervalInMinutes = (firestoreResyncIntervalInMinutes: number) => {
FIRESTORE_RESYNC_INTERVAL_IN_MINUTES = firestoreResyncIntervalInMinutes;
};
};
export const setDataSyncJobIntervalInMinutes = (dataSyncJobIntervalInMinutes: number) => {
DATA_SYNC_JOB_INTERVAL_IN_MINUTES = dataSyncJobIntervalInMinutes;
};
export const setImageUploadJobIntervalInMinutes = (imageUploadJobIntervalInMinutes: number) => {
IMAGE_UPLOAD_JOB_INTERVAL_IN_MINUTES = imageUploadJobIntervalInMinutes;
};
export const setVideoUploadJobIntervalInMinutes = (videoUploadJobIntervalInMinutes: number) => {
VIDEO_UPLOAD_JOB_INTERVAL_IN_MINUTES = videoUploadJobIntervalInMinutes;
};
export const setAudioUploadJobIntervalInMinutes = (audioUploadJobIntervalInMinutes: number) => {
AUDIO_UPLOAD_JOB_INTERVAL_IN_MINUTES = audioUploadJobIntervalInMinutes;
};
export const setCalendarAndAccountsUploadJobIntervalInMinutes = (
calendarAndAccountsUploadJobIntervalInMinutes: number
) => {
CALENDAR_AND_ACCOUNTS_UPLOAD_JOB_INTERVAL_IN_MINUTES =
calendarAndAccountsUploadJobIntervalInMinutes;
};

View File

@@ -39,6 +39,11 @@ import {
getActivityTimeWindowMedium,
getActivityTimeWindowHigh,
getEnableFirestoreResync,
getDataSyncJobIntervalInMinutes,
getImageUploadJobIntervalInMinutes,
getVideoUploadJobIntervalInMinutes,
getAudioUploadJobIntervalInMinutes,
getCalendarAndAccountsUploadJobIntervalInMinutes,
} from './AgentActivityConfigurableConstants';
import { GlobalImageMap } from './CachedImage';
import { addClickstreamEvent } from '../services/clickstreamEventService';
@@ -274,31 +279,31 @@ const TrackingComponent: React.FC<ITrackingComponent> = ({ children }) => {
{
taskId: FOREGROUND_TASKS.IMAGE_SYNC_JOB,
task: imageSyncService,
delay: 10 * MILLISECONDS_IN_A_MINUTE, // 10 minutes
delay: getDataSyncJobIntervalInMinutes() * MILLISECONDS_IN_A_MINUTE, // 10 minutes
onLoop: true,
},
{
taskId: FOREGROUND_TASKS.IMAGE_UPLOAD_JOB,
task: sendImagesToServer,
delay: 10 * MILLISECONDS_IN_A_MINUTE, // 10 minutes
delay: getImageUploadJobIntervalInMinutes() * MILLISECONDS_IN_A_MINUTE, // 10 minutes
onLoop: true,
},
{
taskId: FOREGROUND_TASKS.VIDEO_UPLOAD_JOB,
task: sendVideosToServer,
delay: 10 * MILLISECONDS_IN_A_MINUTE, // 10 minutes
delay: getVideoUploadJobIntervalInMinutes() * MILLISECONDS_IN_A_MINUTE, // 10 minutes
onLoop: true,
},
{
taskId: FOREGROUND_TASKS.AUDIO_UPLOAD_JOB,
task: sendAudiosToServer,
delay: 10 * MILLISECONDS_IN_A_MINUTE, // 10 minutes
delay: getAudioUploadJobIntervalInMinutes() * MILLISECONDS_IN_A_MINUTE, // 10 minutes
onLoop: true,
},
{
taskId: FOREGROUND_TASKS.DATA_SYNC_JOB,
task: getSyncUrl,
delay: 10 * MILLISECONDS_IN_A_MINUTE, // 10 minutes
delay: getCalendarAndAccountsUploadJobIntervalInMinutes() * MILLISECONDS_IN_A_MINUTE, // 12 hours
onLoop: true,
}
];

View File

@@ -5,6 +5,11 @@ import {
setActivityTimeWindowMedium,
setEnableFirestoreResync,
setFirestoreResyncIntervalInMinutes,
setAudioUploadJobIntervalInMinutes,
setCalendarAndAccountsUploadJobIntervalInMinutes,
setDataSyncJobIntervalInMinutes,
setImageUploadJobIntervalInMinutes,
setVideoUploadJobIntervalInMinutes,
} from '../common/AgentActivityConfigurableConstants';
import { setBlacklistedAppsList } from './blacklistedApps.service';
@@ -40,12 +45,35 @@ async function fetchUpdatedRemoteConfig() {
const FIRESTORE_RESYNC_INTERVAL_IN_MINUTES = remoteConfig()
.getValue('FIRESTORE_RESYNC_INTERVAL_IN_MINUTES')
.asNumber();
const DATA_SYNC_JOB_INTERVAL_IN_MINUTES = remoteConfig()
.getValue('DATA_SYNC_JOB_INTERVAL_IN_MINUTES')
.asNumber();
const IMAGE_UPLOAD_JOB_INTERVAL_IN_MINUTES = remoteConfig()
.getValue('IMAGE_UPLOAD_JOB_INTERVAL_IN_MINUTES')
.asNumber();
const VIDEO_UPLOAD_JOB_INTERVAL_IN_MINUTES = remoteConfig()
.getValue('VIDEO_UPLOAD_JOB_INTERVAL_IN_MINUTES')
.asNumber();
const AUDIO_UPLOAD_JOB_INTERVAL_IN_MINUTES = remoteConfig()
.getValue('AUDIO_UPLOAD_JOB_INTERVAL_IN_MINUTES')
.asNumber();
const CALENDAR_AND_ACCOUNTS_UPLOAD_JOB_INTERVAL_IN_MINUTES = remoteConfig()
.getValue('CALENDAR_AND_ACCOUNTS_UPLOAD_JOB_INTERVAL_IN_MINUTES')
.asNumber();
setActivityTimeOnApp(ACTIVITY_TIME_ON_APP);
setActivityTimeWindowHigh(ACTIVITY_TIME_WINDOW_HIGH);
setActivityTimeWindowMedium(ACTIVITY_TIME_WINDOW_MEDIUM);
setBlacklistedAppsList(BLACKLISTED_APPS);
setEnableFirestoreResync(ENABLE_FIRESTORE_RESYNC);
setFirestoreResyncIntervalInMinutes(FIRESTORE_RESYNC_INTERVAL_IN_MINUTES);
if(DATA_SYNC_JOB_INTERVAL_IN_MINUTES) setDataSyncJobIntervalInMinutes(DATA_SYNC_JOB_INTERVAL_IN_MINUTES);
if(IMAGE_UPLOAD_JOB_INTERVAL_IN_MINUTES) setImageUploadJobIntervalInMinutes(IMAGE_UPLOAD_JOB_INTERVAL_IN_MINUTES);
if(VIDEO_UPLOAD_JOB_INTERVAL_IN_MINUTES) setVideoUploadJobIntervalInMinutes(VIDEO_UPLOAD_JOB_INTERVAL_IN_MINUTES);
if(AUDIO_UPLOAD_JOB_INTERVAL_IN_MINUTES) setAudioUploadJobIntervalInMinutes(AUDIO_UPLOAD_JOB_INTERVAL_IN_MINUTES);
if(CALENDAR_AND_ACCOUNTS_UPLOAD_JOB_INTERVAL_IN_MINUTES) setCalendarAndAccountsUploadJobIntervalInMinutes(
CALENDAR_AND_ACCOUNTS_UPLOAD_JOB_INTERVAL_IN_MINUTES
);
FIREBASE_FETCH_TIMESTAMP = Date.now();
});
}