package Ġcom . cloudinary . android . uploader . request Ċ Ċ data Ġclass ĠAsync Upload Config ( ĊĠĠĠ Ġval Ġrequired Network Type : ĠNetwork Type , ĊĠĠĠ Ġval Ġrequires Ch arging : ĠBoolean , ĊĠĠĠ Ġval Ġrequires Idle : ĠBoolean , ĊĠĠĠ Ġval Ġrequires Battery Not Low : ĠBoolean , ĊĠĠĠ Ġval Ġmax Error Retries : ĠInt , ĊĠĠĠ Ġval Ġbackoff Millis : ĠLong , ĊĠĠĠ Ġval Ġbackoff Policy : ĠBack off Policy , ĊĠĠĠ Ġval Ġinitial Delay : ĠLong Ċ ) Ġ{ ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġdefault () Ġ= ĠBuilder (). build () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġclass ĠBuilder Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġvar Ġrequired Network Type : ĠNetwork Type Ġ= ĠNetwork Type . CONNECTED ĊĠĠĠĠĠĠĠ Ġprivate Ġvar Ġrequires Ch arging : ĠBoolean Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġprivate Ġvar Ġrequires Idle : ĠBoolean Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġprivate Ġvar Ġrequires Battery Not Low : ĠBoolean Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġprivate Ġvar Ġmax Error Retries : ĠInt Ġ= Ġ 5 ĊĠĠĠĠĠĠĠ Ġprivate Ġvar Ġbackoff Millis : ĠLong Ġ= Ġ 1 2 0 0 0 0 ĊĠĠĠĠĠĠĠ Ġprivate Ġvar Ġbackoff Policy : ĠBack off Policy Ġ= ĠBack off Policy . EXP ON ENTIAL ĊĠĠĠĠĠĠĠ Ġprivate Ġvar Ġinitial Delay : ĠLong Ġ= Ġ 0 ĊĊĠĠĠĠĠĠĠ Ġfun Ġnetwork Type ( required Network Type : ĠNetwork Type ) Ġ= Ġapply Ġ{ Ġthis . required Network Type Ġ= Ġrequired Network Type Ġ} ĊĠĠĠĠĠĠĠ Ġfun Ġrequires Ch arging ( requires Ch arging : ĠBoolean ) Ġ= Ġapply Ġ{ Ġthis . requires Ch arging Ġ= Ġrequires Ch arging Ġ} ĊĠĠĠĠĠĠĠ Ġfun Ġrequires Battery Not Low ( requires Battery Not Low : ĠBoolean ) Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġapply Ġ{ Ġthis . requires Battery Not Low Ġ= Ġrequires Battery Not Low Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġrequires Idle ( requires Idle : ĠBoolean ) Ġ= Ġapply Ġ{ Ġthis . requires Idle Ġ= Ġrequires Idle Ġ} ĊĠĠĠĠĠĠĠ Ġfun Ġmax Error Retries ( max Error Retries : ĠInt ) Ġ= Ġapply Ġ{ Ġthis . max Error Retries Ġ= Ġmax Error Retries Ġ} ĊĠĠĠĠĠĠĠ Ġfun Ġbackoff Millis ( backoff Millis : ĠLong ) Ġ= Ġapply Ġ{ Ġthis . backoff Millis Ġ= Ġbackoff Millis Ġ} ĊĠĠĠĠĠĠĠ Ġfun Ġbackoff Policy ( backoff Policy : ĠBack off Policy ) Ġ= Ġapply Ġ{ Ġthis . backoff Policy Ġ= Ġbackoff Policy Ġ} ĊĠĠĠĠĠĠĠ Ġfun Ġinitial Delay ( initial Delay : ĠLong ) Ġ= Ġapply Ġ{ Ġthis . initial Delay Ġ= Ġinitial Delay Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġbuild () Ġ= ĠAsync Upload Config ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrequired Network Type , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrequires Ch arging , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrequires Idle , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrequires Battery Not Low , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmax Error Retries , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbackoff Millis , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbackoff Policy , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinitial Delay ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ } ĊĊ Ċ /** Ċ Ġ* ĠEnum Ġto Ġdefine Ġrequirements Ġfor Ġnetwork . Ċ Ġ*/ Ċ enum Ġclass ĠNetwork Type Ġ{ ĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠAny Ġworking Ġnetwork Ġconnection Ġis Ġrequired Ġfor Ġthis Ġwork . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ ĠCONNECT ED , ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠAn Ġun meter ed Ġnetwork Ġconnection Ġis Ġrequired Ġfor Ġthis Ġwork . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ ĠUN METER ED , ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠA Ġnon - ro aming Ġnetwork Ġconnection Ġis Ġrequired Ġfor Ġthis Ġwork . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ ĠNOT _ RO AM ING , ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠA Ġmeter ed Ġnetwork Ġconnection Ġis Ġrequired Ġfor Ġthis Ġwork . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ ĠMET ER ED Ċ } Ċ Ċ /** Ċ Ġ* ĠEnum Ġto Ġdefine Ġthe Ġbackoff Ġpolicy Ġfor Ġrequest Ġre scheduling . Ċ Ġ*/ Ċ enum Ġclass ĠBack off Policy Ġ{ ĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġbackoff Ġ= Ġnum Failures Ġ* Ġinitial _ backoff . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ ĠLINE AR , ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġbackoff Ġ= Ġinitial _ backoff Ġ* Ġ 2 Ġ^ Ġ( num Failures Ġ- Ġ 1 ). ĊĠĠĠĠ Ġ*/ ĊĠĠĠ ĠEXP ON ENTIAL Ċ }