/* Ċ Ġ* ĠUnless Ġexplicitly Ġstated Ġotherwise Ġall Ġfiles Ġin Ġthis Ġrepository Ġare Ġlicensed Ġunder Ġthe ĠApache ĠLicense ĠVersion Ġ 2 . 0 . Ċ Ġ* ĠThis Ġproduct Ġincludes Ġsoftware Ġdeveloped Ġat ĠDat adog Ġ( https :// www . datadog hq . com /). Ċ Ġ* ĠCopyright Ġ 2 0 1 6 - Present ĠDat adog , ĠInc . Ċ Ġ*/ Ċ Ċ package Ġcom . datadog . android . core . internal . domain . batch ing . migr ators Ċ Ċ import Ġcom . datadog . android . core . internal . data . file . File Handler Ċ import Ġcom . datadog . android . core . internal . utils . retry With Delay Ċ import Ġjava . io . File Ċ import Ġjava . util . concurrent . ExecutorService Ċ import Ġjava . util . concurrent . TimeUnit Ċ Ċ internal Ġclass ĠMove Data Migr ator ( ĊĠĠĠ Ġinternal Ġval Ġpending FolderPath : ĠString , ĊĠĠĠ Ġinternal Ġval Ġapproved FolderPath : ĠString , ĊĠĠĠ Ġprivate Ġval ĠexecutorService : ĠExecutor Service , ĊĠĠĠ Ġprivate Ġval Ġfile Handler : ĠFile Handler Ġ= ĠFile Handler () Ċ ) Ġ: ĠB atched Data Migr ator Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġmigrate Data () Ġ{ ĊĠĠĠĠĠĠĠ ĠexecutorService . submit Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġretry With Delay ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfile Handler . move Files ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFile ( pending FolderPath ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFile ( approved FolderPath ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMAX _ RE TR IES , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠRET RY _ DELAY _ IN _ NAN OS ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠMAX _ RE TR IES Ġ= Ġ 3 ĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠRET RY _ DELAY _ IN _ NAN OS Ġ= ĠTimeUnit . SECONDS . to Nan os ( 1 ) ĊĠĠĠ Ġ} Ċ } Ċ