package Ġcom . simple mobile tools . gallery . extensions Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . Intent Ċ import Ġandroid . content . res . Configuration Ċ import Ġandroid . database . Cursor Ċ import Ġandroid . graphics . Point Ċ import Ġandroid . media . Audio Manager Ċ import Ġandroid . net . Uri Ċ import Ġandroid . os . Build Ċ import Ġandroid . provider . Media Store Ċ import Ġandroid . view . WindowManager Ċ import Ġcom . simple mobile tools . commons . extensions . human ize Path Ċ import Ġcom . simple mobile tools . gallery . activities . Settings Activity Ċ import Ġcom . simple mobile tools . gallery . helpers . Config Ċ import Ġcom . simple mobile tools . gallery . models . Directory Ċ Ċ val ĠContext . portrait Ġget () Ġ= Ġresources . configuration . orientation Ġ== ĠConfiguration . OR IENTATION _ POR TRA IT Ċ val ĠContext . audio Manager Ġget () Ġ= Ġget System Service ( Context . AUDIO _ SERVICE ) Ġas ĠAudio Manager Ċ val ĠContext . window Manager : ĠWindow Manager Ġget () Ġ= Ġget System Service ( Context . WINDOW _ SERVICE ) Ġas ĠWindow Manager Ċ val ĠContext . navigation Bar Right : ĠBoolean Ġget () Ġ= Ġusable Screen Size . x Ġ< Ġreal Screen Size . x Ċ val ĠContext . navigation Bar Bottom : ĠBoolean Ġget () Ġ= Ġusable Screen Size . y Ġ< Ġreal Screen Size . y Ċ val ĠContext . navigation Bar Height : ĠInt Ġget () Ġ= Ġif Ġ( navigation Bar Bottom ) Ġnavigation Bar Size . y Ġelse Ġ 0 Ċ Ċ internal Ġval ĠContext . navigation Bar Size : ĠPoint ĊĠĠĠ Ġget () Ġ= Ġwhen Ġ{ ĊĠĠĠĠĠĠĠ Ġnavigation Bar Right Ġ-> ĠPoint ( real Screen Size . x Ġ- Ġusable Screen Size . x , Ġusable Screen Size . y ) ĊĠĠĠĠĠĠĠ Ġnavigation Bar Bottom Ġ-> ĠPoint ( usable Screen Size . x , Ġreal Screen Size . y Ġ- Ġusable Screen Size . y ) ĊĠĠĠĠĠĠĠ Ġelse Ġ-> ĠPoint () ĊĠĠĠ Ġ} Ċ Ċ val ĠContext . usable Screen Size : ĠPoint ĊĠĠĠ Ġget () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsize Ġ= ĠPoint () ĊĠĠĠĠĠĠĠ Ġwindow Manager . default Display . getSize ( size ) ĊĠĠĠĠĠĠĠ Ġreturn Ġsize ĊĠĠĠ Ġ} Ċ Ċ val ĠContext . real Screen Size : ĠPoint ĊĠĠĠ Ġget () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsize Ġ= ĠPoint () ĊĠĠĠĠĠĠĠ Ġif Ġ( Build . VERSION . SDK _ INT Ġ>= ĠBuild . VERSION _ CODES . J EL LY _ BE AN _ MR 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwindow Manager . default Display . get Real Size ( size ) ĊĠĠĠĠĠĠĠ Ġreturn Ġsize ĊĠĠĠ Ġ} Ċ Ċ fun ĠContext . get Real Path From URI ( uri : ĠUri ): ĠString ? Ġ{ ĊĠĠĠ Ġvar Ġcursor : ĠCursor ? Ġ= Ġnull ĊĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġprojection Ġ= ĠarrayOf ( Media Store . Images . Media . DATA ) ĊĠĠĠĠĠĠĠ Ġcursor Ġ= Ġcontent Resolver . query ( uri , Ġprojection , Ġnull , Ġnull , Ġnull ) ĊĠĠĠĠĠĠĠ Ġif Ġ( cursor ?. moveTo First () Ġ== Ġtrue ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġindex Ġ= Ġcursor . getColumnIndex OrThrow ( Media Store . Images . Media . DATA ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġcursor . getString ( index ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠ Ġ} Ġfinally Ġ{ ĊĠĠĠĠĠĠĠ Ġcursor ?. close () ĊĠĠĠ Ġ} ĊĠĠĠ Ġreturn Ġnull Ċ } Ċ Ċ fun ĠContext . get Human ized Filename ( path : ĠString ): ĠString Ġ{ ĊĠĠĠ Ġval Ġhuman ized Ġ= Ġhuman ize Path ( path ) ĊĠĠĠ Ġreturn Ġhuman ized . substring ( human ized . lastIndexOf ("/") Ġ+ Ġ 1 ) Ċ } Ċ Ċ fun ĠContext . launch Settings () Ġ{ ĊĠĠĠ ĠstartActivity ( Intent ( this , ĠSettings Activity :: class . java )) Ċ } Ċ Ċ val ĠContext . config : ĠConfig Ġget () Ġ= ĠConfig . newInstance ( this ) Ċ Ċ fun ĠContext . move Pin ned Directories To Front ( dirs : ĠArrayList < Directory >): ĠArrayList < Directory > Ġ{ ĊĠĠĠ Ġval Ġfound Folders Ġ= ĠArrayList < Directory >() ĊĠĠĠ Ġval Ġpinned Folders Ġ= Ġconfig . pinned Folders ĊĊĠĠĠ Ġdirs . forEach Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( pinned Folders . contains ( it . path )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfound Folders . add ( it ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġdirs . removeAll ( found Folders ) ĊĠĠĠ Ġdirs . addAll ( 0 , Ġfound Folders ) ĊĠĠĠ Ġreturn Ġdirs Ċ } Ċ Ċ @ Suppress (" UN CHECK ED _ CAST ") Ċ fun ĠContext . get Sorted Directories ( source : ĠArrayList < Directory >): ĠArrayList < Directory > Ġ{ ĊĠĠĠ ĠDirectory . sorting Ġ= Ġconfig . directory Sorting ĊĠĠĠ Ġval Ġdirs Ġ= Ġsource . clone () Ġas ĠArrayList < Directory > ĊĠĠĠ Ġdirs . sort () ĊĠĠĠ Ġreturn Ġmove Pin ned Directories To Front ( dirs ) Ċ } Ċ