/** Ċ Ġ* ĠDesign ed Ġand Ġdeveloped Ġby ĠA id an ĠFol le st ad Ġ(@ af ol le st ad ) Ċ Ġ* Ċ Ġ* Ġ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 . Ċ Ġ*/ Ċ @ file : Suppress (" NOTH ING _ TO _ INLINE ") Ċ Ċ package Ġcom . af ol le st ad . ass ent . internal Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroidx . fragment . app . Fragment Ċ import Ġandroidx . fragment . app . Fragment Activity Ċ import Ġandroidx . fragment . app . Fragment Transaction Ċ import Ġcom . af ol le st ad . ass ent . Ass ent Result Ċ import Ġcom . af ol le st ad . ass ent . Callback Ċ import Ġcom . af ol le st ad . ass ent . Permission Ċ Ċ internal Ġinline Ġfun ĠList < Permission >. contains Permission ( ĊĠ Ġpermission : ĠPermission Ċ ) Ġ= Ġthis . indexOf First Ġ{ Ġit . value Ġ== Ġpermission . value Ġ} Ġ> Ġ- 1 Ċ Ċ internal Ġfun ĠList < Permission >. equals Strings ( strings : ĠArray < out ĠString >): ĠBoolean Ġ{ ĊĠ Ġif Ġ( this . size Ġ!= Ġstrings . size ) Ġ{ ĊĠĠĠ Ġreturn Ġfalse ĊĠ Ġ} ĊĠ Ġfor Ġ(( i , Ġperm ) Ġin Ġthis . with Index ()) Ġ{ ĊĠĠĠ Ġif Ġ( perm . value Ġ!= Ġstrings [ i ]) Ġ{ ĊĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĠ Ġreturn Ġtrue Ċ } Ċ Ċ internal Ġinline Ġfun ĠList < Permission >. equals Permissions ( var arg Ġpermissions : ĠPermission ) Ġ= ĊĠ Ġthis . equals Permissions ( permissions . toList ()) Ċ Ċ internal Ġfun ĠList < Permission >. equals Permissions ( permissions : ĠList < Permission >): ĠBoolean Ġ{ ĊĠ Ġif Ġ( this . size Ġ!= Ġpermissions . size ) Ġ{ ĊĠĠĠ Ġreturn Ġfalse ĊĠ Ġ} ĊĠ Ġfor Ġ(( i , Ġperm ) Ġin Ġthis . with Index ()) Ġ{ ĊĠĠĠ Ġif Ġ( perm . value Ġ!= Ġpermissions [ i ]. value ) Ġ{ ĊĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĠ Ġreturn Ġtrue Ċ } Ċ Ċ internal Ġinline Ġfun ĠList < Permission >. all Values (): ĠArray < out ĠString > Ġ= ĊĠ Ġthis . map Ġ{ Ġit . value Ġ}. to Typed Array () Ċ Ċ internal Ġinline Ġfun ĠArray < out ĠString >. to Permissions () Ġ= ĊĠ Ġthis . map Ġ{ ĠPermission . parse ( it ) Ġ} Ċ Ċ internal Ġinline Ġfun ĠList < Callback >. invoke All ( result : ĠAss ent Result ) Ġ{ ĊĠ Ġfor Ġ( callback Ġin Ġthis ) Ġ{ ĊĠĠĠ Ġcallback . invoke ( result ) ĊĠ Ġ} Ċ } Ċ Ċ internal Ġfun ĠFragment Activity . transact ( action : ĠFragment Transaction .( Context ) Ġ-> ĠUnit ) Ġ= ĊĠ Ġsupport FragmentManager . let Ġ{ ĊĠĠĠ Ġit . beginTransaction () ĊĠĠĠĠĠĠĠ Ġ. apply Ġ{ ĊĠĠĠĠĠĠĠĠĠ Ġaction ( this @ transact ) ĊĠĠĠĠĠĠĠĠĠ Ġcommit () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġit . execute Pending Transactions () ĊĠ Ġ} Ċ Ċ internal Ġfun ĠFragment . transact ( action : ĠFragment Transaction .( Context ) Ġ-> ĠUnit ) Ġ{ ĊĠ Ġchild FragmentManager . beginTransaction () ĊĠĠĠĠĠ Ġ. apply Ġ{ ĊĠĠĠĠĠĠĠ Ġaction ( activity Ġ?: Ġthrow ĠIllegalStateException (" Fragment 's Ġactivity Ġis Ġnull .")) ĊĠĠĠĠĠĠĠ Ġcommit () ĊĠĠĠĠĠ Ġ} ĊĠ Ġchild FragmentManager . execute Pending Transactions () Ċ } Ċ