/* Ċ Ġ* ĠĠ ĠCopyright Ġ 2 0 2 0 - 2 0 2 1 ĠLe on ĠL ats ch Ċ Ġ* Ċ Ġ* ĠĠ ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* ĠĠ Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠĠ ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠĠĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠĠ ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* ĠĠ Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠĠ ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠĠ ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* ĠĠ Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ Ċ package Ġdev . leon l ats ch . phot ok . other Ċ Ċ import Ġandroid . content . Content Resolver Ċ import Ġandroid . net . Uri Ċ import Ġandroid . os . Handler Ċ import Ġandroid . os . Looper Ċ import Ġandroid . provider . Media Store Ċ import Ġandroidx . appcompat . app . AppCompat Delegate Ċ Ċ /** Ċ Ġ* ĠGet Ġa Ġfile 's Ġname . Ċ Ġ* Ċ Ġ* Ġ@ param Ġcontent Resolver Ġused Ġto Ġget Ġthe Ġfile Ġname . Ċ Ġ* Ġ@ param Ġuri Ġthe Ġuri Ġto Ġfile Ġfile . Ċ Ġ* Ċ Ġ* Ġ@ since Ġ 1 . 0 . 0 Ċ Ġ* Ġ@ author ĠLe on ĠL ats ch Ċ Ġ*/ Ċ fun Ġget FileName ( content Resolver : ĠContent Resolver , Ġuri : ĠUri ): ĠString ? Ġ{ ĊĠĠĠ Ġval Ġprojection Ġ= ĠarrayOf ( Media Store . Media Columns . DISPLAY _ NAME ) ĊĠĠĠ Ġcontent Resolver . query ( uri , Ġprojection , Ġnull , Ġnull , Ġnull )?. use Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( it . moveTo First ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġit . getString ( 0 ) ĊĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġreturn Ġnull Ċ } Ċ Ċ /** Ċ Ġ* ĠPost Ġa Ġ[ operation ] Ġto Ġthe Ġmain Ġlo oper . Ċ Ġ*/ Ċ fun Ġrun On Main ( operation : Ġ() Ġ-> ĠUnit ) Ġ= ĠHandler ( Looper . get Main Looper ()). post ( operation ) Ċ Ċ /** Ċ Ġ* ĠUpdate Ġthe Ġapp Ġdesign . Ċ Ġ*/ Ċ fun Ġset App Design ( design : ĠString ?) Ġ{ ĊĠĠĠ Ġdesign Ġ?: Ġreturn ĊĊĠĠĠ Ġval Ġnight Mode Ġ= Ġwhen Ġ( design ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ" system " Ġ-> ĠAppCompat Delegate . MODE _ N IGHT _ FOLLOW _ SYSTEM ĊĠĠĠĠĠĠĠ Ġ" light " Ġ-> ĠAppCompat Delegate . MODE _ N IGHT _ NO ĊĠĠĠĠĠĠĠ Ġ" dark " Ġ-> ĠAppCompat Delegate . MODE _ N IGHT _ YES ĊĠĠĠĠĠĠĠ Ġelse Ġ-> Ġnull ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġnight Mode Ġ?: Ġreturn ĊĠĠĠ ĠAppCompat Delegate . setDefault Night Mode ( night Mode ) Ċ } Ċ