package Ġio . github . x it 0 c . mapbox plugin offline . model Ċ Ċ import Ġandroid . app . Notification Ċ import Ġandroid . app . Pending Intent Ċ import Ġandroid . content . Context Ċ import Ġandroidx . core . app . Notification Compat Ċ import Ġcom . mapbox . mapbox sdk . maps . Style Ċ import Ġcom . mapbox . mapbox sdk . offline . Offline Region Ċ import Ġcom . mapbox . mapbox sdk . snapshot ter . Map Snapshot ter Ċ import Ġio . github . x it 0 c . mapbox plugin offline . Offline Service Ċ import Ġio . github . x it 0 c . mapbox plugin offline . utils . Notification Utils Ċ Ċ /** Ċ Ġ* ĠThis Ġmodel Ġis Ġfor Ġinternal Ġusage Ġonly Ġand Ġrepresents Ġa Ġdownload Ġ" job " Ġmanaged Ġby Ġthe Ġ[ Offline Service ]. Ċ Ġ* Ċ Ġ* ĠIt Ġholds Ġall Ġthe Ġobjects Ġrelated Ġto Ġa Ġsingle Ġdownload : Ġthe Ġ` region ` Ġto Ġdownload , Ġthe Ġnotification Ġbuild ers Ċ Ġ* Ġ(` notification Download ` Ġand Ġ` notification Cancel `) Ġfor Ġdownload Ġand Ġcancel Ġoperations Ġand Ġthe Ġ` snapshot ter ` Ċ Ġ* Ġ( if Ġrequested ) Ġthat Ġgenerates Ġthe Ġbit maps Ġused Ġas Ġnotifications ' Ġlarge Ġicons . Ċ Ġ* Ċ Ġ* Ġ@ param Ġcontext ĠContext Ġused Ġfor Ġnotifications Ġand Ġsnapshot ter . Ċ Ġ* Ġ@ param Ġoptions ĠOptions Ġused Ġto Ġstart Ġthe Ġdownload . Ċ Ġ* Ġ@ property Ġregion ĠThe Ġ` Offline Region ` Ġto Ġdownload . Ċ Ġ* Ġ@ constructor ĠCreates Ġa Ġ` Offline Download Job ` Ġwith Ġthe Ġgiven Ġvalues . Ċ Ġ*/ Ċ internal Ġclass ĠOff line Download Job ( ĊĠĠĠ Ġcontext : ĠContext , ĊĠĠĠ Ġoptions : ĠOff line Download Options , ĊĠĠĠ Ġval Ġregion : ĠOff line Region Ċ ) Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġnotification Cancel : ĠNotification Compat . Builder Ġ= ĊĠĠĠĠĠĠĠ ĠNotification Utils . base Notification Builder ( context , Ġoptions . notification Options , Ġregion . id ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. setContent Text ( options . notification Options . cancel Content Text ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Progress ( 1 0 0 , Ġ 0 , Ġtrue ) ĊĊĠĠĠ Ġprivate Ġval Ġnotification Download : ĠNotification Compat . Builder Ġ= ĊĠĠĠĠĠĠĠ ĠNotification Utils . base Notification Builder ( context , Ġoptions . notification Options , Ġregion . id ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. setContent Text ( options . notification Options . download Content Text ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. addAction ( 0 , Ġoptions . notification Options . cancel Action Text , ĠPending Intent . getService ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontext , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġregion . id . toInt (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠOff line Service . create Intent ( context , ĠOff line Service . ACTION _ CANCEL , Ġregion . id ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠNotification Utils . with Flag Immutable ( Pending Intent . FLAG _ CANCEL _ CURRENT ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ)) ĊĊĠĠĠ Ġprivate Ġval Ġsnapshot ter : ĠMap Snapshot ter ? Ġ= Ġif Ġ(! options . notification Options . request Map Snapshot ) Ġnull Ġelse ĊĠĠĠĠĠĠĠ ĠMap Snapshot ter ( context , ĠMap Snapshot ter . Options ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontext . resources . get Dimension ( android . R . dim en . notification _ large _ icon _ width ). toInt (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontext . resources . get Dimension ( android . R . dim en . notification _ large _ icon _ height ). toInt () ĊĠĠĠĠĠĠĠ Ġ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwith Style Builder ( Style . Builder (). from Uri ( options . definition . style URL )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwith Region ( options . definition . bounds ) ĊĠĠĠĠĠĠĠ Ġ}). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstart Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnotification Cancel . set Large Icon ( it . bitmap ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnotification Download . set Large Icon ( it . bitmap ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠThe Ġ` Offline Download ` Ġinstance . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġval Ġdownload Ġ= ĠOff line Download ( region . id , Ġoptions ) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠCalls Ġ` Map Snapshot ter . cancel ()` Ġmethod Ġof Ġthe Ġsnapshot ter Ġinstance . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġcancel Snapshot ter () Ġ= Ġsnapshot ter ?. cancel () ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReturns Ġthe Ġ` Notification ` Ġto Ġshow Ġduring Ġcancellation . ĊĠĠĠĠ Ġ* Ġ@ return Ġthe Ġ` Notification ` Ġto Ġshow Ġduring Ġcancellation . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġget Notification Cancel (): ĠNotification Ġ= ĊĠĠĠĠĠĠĠ Ġnotification Cancel . build () ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReturns Ġthe Ġ` Notification ` Ġto Ġshow Ġduring Ġdownload . ĊĠĠĠĠ Ġ* Ġ@ return Ġthe Ġ` Notification ` Ġto Ġshow Ġduring Ġdownload . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġget Notification Download (): ĠNotification Ġ= ĊĠĠĠĠĠĠĠ Ġnotification Download . set Progress ( 1 0 0 , Ġdownload . get Percentage (), Ġfalse ). build () Ċ }