package Ġcom . github . lam ba 9 2 . firebase multi platform . storage Ċ Ċ import Ġcom . github . lam ba 9 2 . firebase multi platform . core . resume Ċ import Ġcom . google . android . gms . tasks . On Canceled Listener Ċ import Ġcom . google . android . gms . tasks . On Complete Listener Ċ import Ġcom . google . android . gms . tasks . On Failure Listener Ċ import Ġcom . google . android . gms . tasks . On Success Listener Ċ import Ġcom . google . firebase . storage . On Paused Listener Ċ import Ġcom . google . firebase . storage . On Progress Listener Ċ import Ġkotlinx . coroutines . Experimental Cor outines Api Ċ import Ġkotlinx . coroutines . channels . await Close Ċ import Ġkotlinx . coroutines . flow . Flow Ċ import Ġkotlinx . coroutines . flow . callback Flow Ċ import Ġkotlinx . coroutines . suspend C ancellable Coroutine Ċ Ċ actual Ġclass ĠUpload Task ( val Ġdelegate : ĠPlatform Specific Upload Task ) Ġ: ĠStorage Task < Upload Task . Snapshot > Ġ{ ĊĊĠĠĠ Ġoverride Ġval Ġis Canceled : ĠBoolean ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġdelegate . is Canceled ĊĠĠĠ Ġoverride Ġval Ġis Complete : ĠBoolean ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġdelegate . is Complete ĊĠĠĠ Ġoverride Ġval Ġis InProgress : ĠBoolean ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġdelegate . is InProgress ĊĠĠĠ Ġoverride Ġval Ġis Paused : ĠBoolean ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġdelegate . is Paused ĊĠĠĠ Ġoverride Ġval Ġis Successful : ĠBoolean ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġdelegate . is Successful ĊĊĠĠĠ Ġ@ Experimental Cor outines Api ĊĠĠĠ Ġoverride Ġval Ġprogress Flow : ĠFlow < Snapshot > ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġcallback Flow Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġprogress Callback Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠOn Progress Listener < com . google . firebase . storage . Upload Task . Task Snapshot > Ġ{ Ġoffer ( it . to M pp ()) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdelegate . add On Progress Listener ( progress Callback ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġawait Close Ġ{ Ġdelegate . remove On Progress Listener ( progress Callback ) Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Experimental Cor outines Api ĊĠĠĠ Ġoverride Ġval Ġstate Changes Flow ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġcallback Flow Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpause Callback Ġ= ĠOn Paused Listener < Platform Specific Upload Task Snapshot > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoffer ( Storage Task . Snapshot . State . PA USED ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcancel Callback Ġ= ĠOn Canceled Listener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoffer ( Storage Task . Snapshot . State . C ANCE LED ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsuccess Callback Ġ= ĠOn Success Listener < Platform Specific Upload Task Snapshot > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoffer ( Storage Task . Snapshot . State . FINISHED _ SUCCESS FULL Y ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġprogress Callback Ġ= ĠOn Progress Listener < Platform Specific Upload Task Snapshot > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoffer ( Storage Task . Snapshot . State . RUNNING ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġerror Callback Ġ= ĠOn Failure Listener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoffer ( Storage Task . Snapshot . State . ER RO RED ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwith ( delegate ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd On Paused Listener ( pause Callback ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd On Canceled Listener ( cancel Callback ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd On Success Listener ( success Callback ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd On Progress Listener ( progress Callback ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd On Failure Listener ( error Callback ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġawait Close Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwith ( delegate ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġremove On Paused Listener ( pause Callback ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġremove On Canceled Listener ( cancel Callback ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġremove On Success Listener ( success Callback ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġremove On Progress Listener ( progress Callback ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġval Ġsnapshot : ĠSnapshot ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġdelegate . snapshot . to M pp () ĊĊĠĠĠ Ġoverride Ġfun Ġcancel () Ġ{ ĊĠĠĠĠĠĠĠ Ġdelegate . cancel () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġpause () Ġ{ ĊĠĠĠĠĠĠĠ Ġdelegate . pause () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġresume () Ġ{ ĊĠĠĠĠĠĠĠ Ġdelegate . resume () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġawait () Ġ= Ġsuspend C ancellable Coroutine < Unit > Ġ{ Ġcont Ġ-> ĊĠĠĠĠĠĠĠ Ġval Ġl Ġ= ĠOn Complete Listener < com . google . firebase . storage . Upload Task . Task Snapshot > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcont . resume () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġdelegate . add On Complete Listener ( l ) ĊĠĠĠĠĠĠĠ Ġcont . invoke On Cancellation Ġ{ Ġdelegate . remove On Complete Listener ( l ) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġactual Ġclass ĠSnapshot ( ĊĠĠĠĠĠĠĠ Ġval Ġdelegate : ĠPlatform Specific Upload Task Snapshot ĊĠĠĠ Ġ) Ġ: ĠStorage Task . Snapshot Ġ{ ĊĊĠĠĠĠĠĠĠ Ġoverride Ġval Ġstorage : ĠStorage Reference ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget () Ġ= Ġdelegate . storage . to M pp () ĊĊĠĠĠĠĠĠĠ Ġoverride Ġval Ġbytes Transfer red : ĠLong ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget () Ġ= Ġdelegate . bytes Transfer red ĊĊĠĠĠĠĠĠĠ Ġoverride Ġval Ġtotal Byte Count : ĠLong ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget () Ġ= Ġdelegate . total Byte Count ĊĊĠĠĠĠĠĠĠ Ġactual Ġval Ġmetadata : ĠStorage Metadata ? ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget () Ġ= Ġdelegate . metadata ?. to M pp () ĊĊĠĠĠĠĠĠĠ Ġval Ġupload Session Uri : ĠString ? ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget () Ġ= Ġdelegate . upload Session Uri ?. toString () ĊĊĠĠĠ Ġ} Ċ Ċ }