package Ġxyz . apr ild own . ult im ater ing tone picker Ċ Ċ import Ġandroid . content . Activity NotFoundException Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . Intent Ċ import Ġandroid . graphics . drawable . Anim atable Ċ import Ġandroid . net . Uri Ċ import Ġandroid . os . Build Ċ import Ġandroid . view . View Ċ import Ġandroid . widget . ImageView Ċ import Ġandroid . widget . Toast Ċ import Ġandroidx . core . content . Context Compat Ċ import Ġandroidx . fragment . app . Fragment Ċ import Ġandroidx . navigation . Nav Options Ċ import Ġandroidx . navigation . nav Options Ċ Ċ internal Ġval ĠR ING T ONE _ URI _ SIL ENT : ĠUri Ġ= ĠUri . EMPTY Ċ internal Ġval ĠR ING T ONE _ URI _ NULL : ĠUri Ġ= ĠUri . EMPTY Ċ Ċ internal Ġconst Ġval ĠTAG _ RING T ONE _ P ICK ER Ġ= Ġ" ring tone _ picker " Ċ internal Ġconst Ġval ĠEX TRA _ SETTINGS Ġ= Ġ" settings " Ċ Ċ internal Ġconst Ġval ĠAS SET _ URI _ PREFIX Ġ= Ġ" file :/// android _ asset /" Ċ Ċ internal Ġconst Ġval ĠEX TRA _ CATEGORY _ TYPE Ġ= Ġ" category _ type " Ċ internal Ġconst Ġval ĠEX TRA _ CATEGORY _ ID Ġ= Ġ" category _ id " Ċ Ċ internal Ġfun ĠContext . safe Context (): ĠContext Ġ= ĊĠĠĠ Ġtake If Ġ{ ĠBuild . VERSION . SDK _ INT Ġ>= ĠBuild . VERSION _ CODES . N Ġ&& Ġ! is Device Protected Storage Ġ} ?. let Ġ{ ĊĠĠĠĠĠĠĠ ĠContext Compat . create Device Protected Storage Context ( it ) Ġ?: Ġit ĊĠĠĠ Ġ} Ġ?: Ġthis Ċ Ċ internal Ġfun Ġis LO r Later (): ĠBoolean Ġ= ĠBuild . VERSION . SDK _ INT Ġ>= ĠBuild . VERSION _ CODES . LO L LI POP Ċ Ċ internal Ġfun Ġis O Or Later (): ĠBoolean Ġ= ĠBuild . VERSION . SDK _ INT Ġ>= ĠBuild . VERSION _ CODES . O Ċ Ċ internal Ġfun Ġis Q Or Later (): ĠBoolean Ġ= ĠBuild . VERSION . SDK _ INT Ġ>= ĠBuild . VERSION _ CODES . Q Ċ Ċ internal Ġfun ĠImageView . start Drawable Animation () Ġ{ ĊĠĠĠ Ġ( drawable Ġas ? ĠAnim atable )?. start () Ċ } Ċ Ċ internal Ġfun ĠView . g one () Ġ{ ĊĠĠĠ Ġvisibility Ġ= ĠView . GONE Ċ } Ċ Ċ internal Ġfun ĠFragment . require Ring tone Picker Listener (): ĠU lt imate Ring tone Picker . Ring tone Picker Listener Ġ= ĊĠĠĠ Ġwhen Ġ{ ĊĠĠĠĠĠĠĠ Ġparent Fragment Ġis ĠU lt imate Ring tone Picker . Ring tone Picker Listener Ġ-> Ġparent Fragment Ġas ĠU lt imate Ring tone Picker . Ring tone Picker Listener ĊĠĠĠĠĠĠĠ Ġcontext Ġis ĠU lt imate Ring tone Picker . Ring tone Picker Listener Ġ-> Ġcontext Ġas ĠU lt imate Ring tone Picker . Ring tone Picker Listener ĊĠĠĠĠĠĠĠ Ġactivity Ġis ĠU lt imate Ring tone Picker . Ring tone Picker Listener Ġ-> Ġactivity Ġas ĠU lt imate Ring tone Picker . Ring tone Picker Listener ĊĠĠĠĠĠĠĠ Ġelse Ġ-> Ġthrow ĠIllegalStateException (" Cannot Ġfind ĠRing tone Picker Listener ") ĊĠĠĠ Ġ} Ċ Ċ internal Ġfun ĠFragment . launch S af () Ġ{ ĊĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠ ĠstartActivity For Result ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠIntent ( Intent . ACTION _ OPEN _ DOCUMENT ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Category ( Intent . CATEGORY _ OP ENABLE ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setType (" audio /* ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Flags ( Intent . FLAG _ GRANT _ PER SIST ABLE _ URI _ PERMISSION ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ* ĠThe Ġdocs Ġfor ĠS AF Ġis Ġquite Ġv ague . ĠI Ġadd Ġ[ Intent . FLAG _ GRANT _ READ _ URI _ PERMISSION ] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ* Ġflag Ġfollowing Ġ[ Intent . FLAG _ GRANT _ PER SIST ABLE _ URI _ PERMISSION ]' s Ġdoc . ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Flags ( Intent . FLAG _ GRANT _ READ _ URI _ PERMISSION ), ĊĠĠĠĠĠĠĠĠĠĠĠĠ 0 ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ġcatch Ġ( e : ĠActivity NotFoundException ) Ġ{ ĊĠĠĠĠĠĠĠ Ġe . printStackTrace () ĊĠĠĠĠĠĠĠ ĠToast . makeText ( require Context (), Ġe . message . toString (), ĠToast . LENGTH _ LONG ). show () ĊĠĠĠ Ġ} Ċ } Ċ Ċ internal Ġfun Ġcreate Default Nav Options (): ĠNav Options Ġ{ ĊĠĠĠ Ġreturn Ġnav Options Ġ{ ĊĠĠĠĠĠĠĠ Ġanim Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġenter Ġ= ĠR . anim ator . nav _ default _ enter _ anim ĊĠĠĠĠĠĠĠĠĠĠĠ Ġexit Ġ= ĠR . anim ator . nav _ default _ exit _ anim ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpop Enter Ġ= ĠR . anim ator . nav _ default _ pop _ enter _ anim ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpop Exit Ġ= ĠR . anim ator . nav _ default _ pop _ exit _ anim ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ