package Ġcom . k ier on qu inn . app . dar q . ui . screens . bottom sheets . backup restore . backup Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . View Ċ import Ġandroid . widget . Toast Ċ import Ġandroidx . core . view . View Compat Ċ import Ġandroidx . core . view . Window Insets Compat Ċ import Ġandroidx . core . view . update Padding Ċ import Ġandroidx . lifecycle . lifecycle Scope Ċ import Ġandroidx . navigation . fragment . nav Args Ċ import Ġcom . k ier on qu inn . app . dar q . R Ċ import Ġcom . k ier on qu inn . app . dar q . databinding . Fragment Bottom Sheet Backup Binding Ċ import Ġcom . k ier on qu inn . app . dar q . ui . base . Base Bottom Sheet Fragment Ċ import Ġcom . k ier on qu inn . mon et compat . extensions . views . apply Mon et Ċ import Ġkotlinx . coroutines . flow . collect Ċ import Ġkotlinx . coroutines . launch Ċ import Ġorg . k oin . android x . view model . ext . android . viewModel Ċ Ċ class ĠBackup Restore Backup Bottom Sheet Fragment : ĠBase Bottom Sheet Fragment < Fragment Bottom Sheet Backup Binding >( Fragment Bottom Sheet Backup Binding :: inflate ) Ġ{ ĊĊĠĠĠ Ġprivate Ġval ĠviewModel Ġby ĠviewModel < Backup Restore Backup Bottom Sheet ViewModel >() ĊĠĠĠ Ġprivate Ġval Ġarguments Ġby Ġnav Args < Backup Restore Backup Bottom Sheet Fragment Args >() ĊĊĠĠĠ Ġoverride Ġval Ġcancel able Ġ= Ġfalse ĊĊĠĠĠ Ġoverride Ġfun Ġon View Created ( view : ĠView , ĠsavedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on View Created ( view , ĠsavedInstanceState ) ĊĠĠĠĠĠĠĠ Ġwith ( binding ){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfragment Backup Progress . apply Mon et () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠView Compat . setOn Apply Window Insets Listener ( root ){ Ġview , Ġin sets Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbottom Inset Ġ= Ġin sets . get Insets ( Window Insets Compat . Type . navigation Bars ()). bottom ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġextra Padding Ġ= Ġresources . get Dimension ( R . dim en . padding _ 8 ). toInt () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview . update Padding ( bottom Ġ= Ġbottom Inset Ġ+ Ġextra Padding ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġin sets ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġlifecycle Scope . launch When Res umed Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlaunch Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠviewModel . state . collect Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( it Ġis ĠBackup Restore Backup Bottom Sheet ViewModel . State . Complete ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhandle Complete ( it . result ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlaunch Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠviewModel . setOutput Uri ( arguments . uri ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġhandle Complete ( result : ĠBackup Restore Backup Bottom Sheet ViewModel . Result ){ ĊĠĠĠĠĠĠĠ Ġwhen ( result ){ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠBackup Restore Backup Bottom Sheet ViewModel . Result . SUCCESS Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( require Context (), ĠR . string . item _ backup _ restore _ backup _ success , ĠToast . LENGTH _ LONG ). show () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠBackup Restore Backup Bottom Sheet ViewModel . Result . FAILED Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( require Context (), ĠR . string . item _ backup _ restore _ backup _ failed , ĠToast . LENGTH _ LONG ). show () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ }