package Ġd roid ninja . file picker . fragments Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . os . Bundle Ċ import Ġcom . google . android . material . tabs . Tab Layout Ċ import Ġandroidx . view pager . widget . ViewPager Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġcom . example . flutter plugin wang fe i . R Ċ import Ġd roid ninja . file picker . File Picker Const Ċ import Ġd roid ninja . file picker . Picker Manager Ċ import Ġd roid ninja . file picker . adapters . Sections Pager Adapter ĊĊ Ċ class ĠMedia Picker Fragment Ġ: ĠBase Fragment () Ġ{ ĊĊĠĠĠ Ġlateinit Ġvar Ġtab Layout : ĠTab Layout ĊĊĠĠĠ Ġlateinit Ġvar Ġview Pager : ĠView Pager ĊĊĠĠĠ Ġprivate Ġvar Ġm Listener : ĠMedia Picker Fragment Listener ? Ġ= Ġnull ĊĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( in flater : ĠLayoutInflater , Ġcontainer : ĠViewGroup ?, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠsavedInstanceState : ĠBundle ?): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠInf late Ġthe Ġlayout Ġfor Ġthis Ġfragment ĊĠĠĠĠĠĠĠ Ġreturn Ġinflater . inflate ( R . layout . fragment _ media _ picker , Ġcontainer , Ġfalse ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Attach ( context : ĠContext ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Attach ( context ) ĊĠĠĠĠĠĠĠ Ġif Ġ( context Ġis ĠMedia Picker Fragment Listener ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Listener Ġ= Ġcontext ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠRuntimeException ( context ?. toString () Ġ+ Ġ" Ġmust Ġimplement ĠMedia Picker Fragment ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Detach () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Detach () ĊĠĠĠĠĠĠĠ Ġm Listener Ġ= Ġnull ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinterface ĠMedia Picker Fragment Listener ĊĊĠĠĠ Ġoverride Ġfun Ġon View Created ( view : ĠView , ĠsavedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on View Created ( view , ĠsavedInstanceState ) ĊĠĠĠĠĠĠĠ Ġinit View ( view ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinit View ( view : ĠView ) Ġ{ ĊĠĠĠĠĠĠĠ Ġtab Layout Ġ= Ġview . findViewById ( R . id . tabs ) ĊĠĠĠĠĠĠĠ Ġview Pager Ġ= Ġview . findViewById ( R . id . view Pager ) ĊĠĠĠĠĠĠĠ Ġtab Layout . tab Gravity Ġ= ĠTab Layout . GR AV ITY _ FILL ĊĠĠĠĠĠĠĠ Ġtab Layout . tab Mode Ġ= ĠTab Layout . MODE _ FIXED ĊĊĠĠĠĠĠĠĠ Ġval Ġadapter Ġ= ĠSe ctions Pager Adapter ( child FragmentManager ) ĊĊĠĠĠĠĠĠĠ Ġif Ġ( Picker Manager . show Images ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( Picker Manager . is Show Folder View ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadapter . add Fragment ( Media Folder Picker Fragment . newInstance ( File Picker Const . MEDIA _ TYPE _ IMAGE ), ĠgetString ( R . string . images )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadapter . add Fragment ( Media Detail Picker Fragment . newInstance ( File Picker Const . MEDIA _ TYPE _ IMAGE ), ĠgetString ( R . string . images )) ĊĠĠĠĠĠĠĠ Ġ} Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtab Layout . visibility Ġ= ĠView . GONE ĊĊĠĠĠĠĠĠĠ Ġif Ġ( Picker Manager . show Video ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( Picker Manager . is Show Folder View ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadapter . add Fragment ( Media Folder Picker Fragment . newInstance ( File Picker Const . MEDIA _ TYPE _ VIDEO ), ĠgetString ( R . string . videos )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadapter . add Fragment ( Media Detail Picker Fragment . newInstance ( File Picker Const . MEDIA _ TYPE _ VIDEO ), ĠgetString ( R . string . videos )) ĊĠĠĠĠĠĠĠ Ġ} Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtab Layout . visibility Ġ= ĠView . GONE ĊĊĠĠĠĠĠĠĠ Ġview Pager . adapter Ġ= Ġadapter ĊĠĠĠĠĠĠĠ Ġtab Layout . setup With ViewPager ( view Pager ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĊĠĠĠĠĠĠĠ Ġfun Ġnew Instance (): ĠMedia Picker Fragment Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠMedia Picker Fragment () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }// ĠRequired Ġempty Ġpublic Ġconstructor Ċ