package Ġcom . extensions . app čĊč Ċ import Ġandroid . os . Build č Ċ import Ġandroid . support . annotation . Id Res č Ċ import Ġandroid . support . annotation . Requires Api č Ċ import Ġandroid . support . annotation . String Res č Ċ import Ġandroid . support . v 4 . app . Dialog Fragment č Ċ import Ġandroid . support . v 4 . app . Fragment č Ċ import Ġandroid . support . v 4 . app . FragmentManager č Ċ import Ġandroid . support . v 7 . app . AppCompatActivity č Ċ import Ġcom . extensions . addTo Back Str ack č Ċ import Ġcom . extensions . content . Permission č Ċ import Ġcom . extensions . content . is Permissions Granted č Ċ import Ġcom . extensions . Transaction Type čĊč Ċ fun ĠAppCompatActivity . show Toolbar () Ġ{ čĊĠĠĠ Ġsupport ActionBar ?. show () č Ċ } čĊč Ċ fun ĠAppCompatActivity . hide Toolbar () Ġ{ čĊĠĠĠ Ġsupport ActionBar ?. hide () č Ċ } čĊč Ċ fun ĠAppCompatActivity . add Fragment (@ Id Res Ġframe Id Ġ: ĠInt , Ġfragment : ĠFragment ) Ġ{ čĊĠĠĠ Ġadd Fragment ( frame Id , Ġfragment , Ġnull , Ġ 0 ) č Ċ } čĊč Ċ fun ĠAppCompatActivity . add Fragment (@ Id Res Ġframe Id Ġ: ĠInt , Ġfragment : ĠFragment , ĠaddTo Back Stack : ĠBoolean ) Ġ{ čĊĠĠĠ Ġadd Fragment ( frame Id , Ġfragment , Ġnull , ĠaddTo Back Stack , Ġ 0 ) č Ċ } čĊč Ċ fun ĠAppCompatActivity . add Fragment (@ Id Res Ġframe Id Ġ: ĠInt , Ġfragment : ĠFragment , Ġfragment To Target : ĠFragment ?, Ġrequest code : ĠInt ) Ġ{ čĊĠĠĠ Ġadd Fragment ( frame Id , Ġfragment , Ġfragment To Target , ĠaddTo Back Str ack , Ġrequest code ) č Ċ } čĊč Ċ fun ĠAppCompatActivity . add Fragment (@ Id Res Ġframe Id Ġ: ĠInt , Ġfragment : ĠFragment , Ġfragment To Target : ĠFragment ?, ĠaddTo Back Stack : ĠBoolean , Ġrequest code : ĠInt ) Ġ{ čĊĠĠĠ Ġload Fragment ( frame Id , Ġfragment , Ġfragment To Target , ĠTransaction Type . ADD , ĠaddTo Back Stack , Ġrequest code ) č Ċ } čĊč Ċ fun ĠAppCompatActivity . replace Fragment (@ Id Res Ġframe Id Ġ: ĠInt , Ġfragment : ĠFragment ) Ġ{ čĊĠĠĠ Ġreplace Fragment ( frame Id , Ġfragment , Ġnull , Ġ 0 ) č Ċ } čĊč Ċ fun ĠAppCompatActivity . replace Fragment (@ Id Res Ġframe Id Ġ: ĠInt , Ġfragment : ĠFragment , ĠaddTo Back Stack : ĠBoolean ) Ġ{ čĊĠĠĠ Ġreplace Fragment ( frame Id , Ġfragment , Ġnull , ĠaddTo Back Stack , Ġ 0 ) č Ċ } čĊč Ċ fun ĠAppCompatActivity . replace Fragment (@ Id Res Ġframe Id Ġ: ĠInt , Ġfragment : ĠFragment , Ġfragment To Target : ĠFragment ?, Ġrequest code : ĠInt ) Ġ{ čĊĠĠĠ Ġreplace Fragment ( frame Id , Ġfragment , Ġfragment To Target , ĠaddTo Back Str ack , Ġrequest code ) č Ċ } čĊč Ċ fun ĠAppCompatActivity . replace Fragment (@ Id Res Ġframe Id Ġ: ĠInt , Ġfragment : ĠFragment , Ġfragment To Target : ĠFragment ?, ĠaddTo Back Stack : ĠBoolean , Ġrequest code : ĠInt ) Ġ{ čĊĠĠĠ Ġload Fragment ( frame Id , Ġfragment , Ġfragment To Target , ĠTransaction Type . REPLACE , ĠaddTo Back Stack , Ġrequest code ) č Ċ } čĊč Ċ fun ĠAppCompatActivity . replace Child Fragment (@ Id Res Ġframe Id Ġ: ĠInt , Ġcurrent Fragment : ĠFragment , Ġfragment : ĠFragment , Ġis AddTo Back Stack : ĠBoolean ) Ġ{ čĊĠĠĠ Ġval Ġfragment Transaction Ġ= Ġcurrent Fragment . child FragmentManager . beginTransaction () čĊĠĠĠ Ġfragment Transaction . replace ( frame Id , Ġfragment ) čĊčĊĠĠĠ Ġif Ġ( is AddTo Back Stack ) čĊĠĠĠĠĠĠĠ Ġfragment Transaction . addTo Back Stack ( null ) čĊĠĠĠ Ġfragment Transaction . commit () č Ċ } čĊč Ċ fun ĠAppCompatActivity . load Fragment (@ Id Res Ġframe Id Ġ: ĠInt , Ġfragment : ĠFragment , Ġfragment To Target : ĠFragment ?, Ġtransaction Type : Transaction Type , ĠaddTo Back Stack : ĠBoolean , Ġrequest code : ĠInt ) Ġ{ čĊĠĠĠ Ġval Ġfragment Manager Ġ= Ġsupport FragmentManager čĊčĊĠĠĠ Ġval Ġfragment Transaction Ġ= Ġfragment Manager . beginTransaction () čĊĠĠĠ Ġif Ġ( addTo Back Stack ) čĊĠĠĠĠĠĠĠ Ġfragment Transaction . addTo Back Stack ( null ) čĊĠĠĠ Ġif Ġ( fragment To Target Ġ!= Ġnull ) čĊĠĠĠĠĠĠĠ Ġfragment . setTarget Fragment ( fragment To Target , Ġrequest code ) čĊčĊĠĠĠ Ġif Ġ( transaction Type Ġ== ĠTransaction Type . ADD ) čĊĠĠĠĠĠĠĠ Ġfragment Transaction . add ( frame Id , Ġfragment ) čĊĠĠĠ Ġelse čĊĠĠĠĠĠĠĠ Ġfragment Transaction . replace ( frame Id , Ġfragment ) čĊĠĠĠ Ġfragment Transaction . commit () č Ċ } čĊč Ċ fun ĠAppCompatActivity . show Dialog Fragment ( dialog Fragment : ĠDialog Fragment ) Ġ{ čĊĠĠĠ Ġval Ġfragment Transaction Ġ= Ġsupport FragmentManager . beginTransaction () čĊĠĠĠ Ġfragment Transaction . add ( dialog Fragment , Ġnull ) čĊĠĠĠ Ġfragment Transaction . commit () č Ċ } čĊč Ċ fun ĠAppCompatActivity . show Dialog Fragment ( dialog Fragment : ĠDialog Fragment , Ġtarget Fragment : ĠFragment , Ġrequest Code : ĠInt ) Ġ{ čĊĠĠĠ Ġval Ġfragment Transaction Ġ= Ġsupport FragmentManager . beginTransaction () čĊĠĠĠ Ġdialog Fragment . setTarget Fragment ( target Fragment , Ġrequest Code ) čĊĠĠĠ Ġfragment Transaction . add ( dialog Fragment , Ġnull ) čĊĠĠĠ Ġfragment Transaction . commit () č Ċ } čĊč Ċ fun ĠAppCompatActivity . show Dialog Fragment ( dialog Fragment : ĠDialog Fragment , Ġtarget Fragment : ĠDialog Fragment , Ġrequest Code : ĠInt ) Ġ{ čĊĠĠĠ Ġval Ġfragment Transaction Ġ= Ġsupport FragmentManager . beginTransaction () čĊĠĠĠ Ġdialog Fragment . setTarget Fragment ( target Fragment , Ġrequest Code ) čĊĠĠĠ Ġfragment Transaction . add ( dialog Fragment , Ġnull ) čĊĠĠĠ Ġfragment Transaction . commit () č Ċ } čĊč Ċ fun ĠAppCompatActivity . getCurrent FragmentManager (): ĠFragment Manager ? Ġ{ čĊĠĠĠ Ġreturn Ġsupport FragmentManager č Ċ } čĊč Ċ fun ĠAppCompatActivity . getCurrent Active Fragment (@ Id Res Ġframe Id Ġ: ĠInt ): ĠFragment Ġ{ čĊĠĠĠ Ġreturn Ġsupport FragmentManager . find Fragment ById ( frame Id ) č Ċ } čĊč Ċ fun ĠAppCompatActivity . clear All Fragment () Ġ{ čĊĠĠĠ Ġsupport FragmentManager . pop Back Stack ( null , ĠFragment Manager . POP _ BACK _ STACK _ INCL USIVE ) č Ċ } čĊč Ċ fun ĠAppCompatActivity . on Back Track Fragment (): ĠBoolean Ġ{ čĊĠĠĠ Ġval Ġfragment Manager Ġ= Ġsupport FragmentManager čĊĠĠĠ Ġreturn Ġif Ġ( fragment Manager . back Stack Entry Count Ġ!= Ġ 0 ) Ġ{ čĊĠĠĠĠĠĠĠ Ġfragment Manager . pop Back Stack () čĊĠĠĠĠĠĠĠ Ġtrue čĊĠĠĠ Ġ} Ġelse čĊĠĠĠĠĠĠĠ Ġfalse č Ċ } čĊč Ċ /** čĊ Ġ* ĠPermissions čĊ Ġ*/ č Ċ fun ĠAppCompatActivity . is Permissions Granted ( var arg Ġpermissions : Permission ): ĠBoolean Ġ= čĊĠĠĠ Ġis Permissions Granted (* permissions ) čĊč Ċ fun ĠAppCompatActivity . is Permissions Granted ( var arg Ġpermissions : ĠString ): ĠBoolean Ġ= čĊĠĠĠ Ġis Permissions Granted (* permissions ) čĊč Ċ @ Requires Api ( Build . VERSION _ CODES . M ) č Ċ fun ĠAppCompatActivity . request Permissions ( request Code : ĠInt , Ġvar arg Ġpermissions : Permission ) Ġ{ čĊĠĠĠ Ġrequest Permissions ( permissions . map ( Permission :: value ). to Typed Array (), Ġrequest Code ) č Ċ }