package Ġcom . fun ny w olf . h ollow kit . scenes Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . util . Log Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . CheckBox Ċ import Ġandroidx . fragment . app . Fragment Activity Ċ import Ġcom . by ted ance . scene . Scene Ċ import Ġcom . fun ny w olf . h ollow kit . R Ċ import Ġcom . fun ny w olf . h ollow kit . permission . request Permissions Ċ import Ġcom . fun ny w olf . h ollow kit . permission . request Permissions In Settings Ċ Ċ /** Ċ Ġ* Ġ@ author Ġhttps :// github . com / fun ny w ol fd ad ada Ċ Ġ* Ġ@ since Ġ 2 0 2 1 / 2 / 2 5 Ċ Ġ*/ Ċ class ĠPermission Request Scene : ĠScene () Ġ{ ĊĊĠĠĠ Ġprivate Ġval ĠTAG Ġ= Ġ" Permission " ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( in flater : ĠLayoutInflater , Ġcontainer : ĠViewGroup , ĠsavedInstanceState : ĠBundle ?): ĠView Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġinflater . inflate ( R . layout . scene _ permission _ request , Ġcontainer , Ġfalse ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon View Created ( view : ĠView , ĠsavedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on View Created ( view , ĠsavedInstanceState ) ĊĠĠĠĠĠĠĠ Ġval Ġcheck Boxes Ġ= Ġview . findViewById < ViewGroup >( R . id . layout ). let Ġ{ Ġv g Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArrayList < CheckBox >(). also Ġ{ Ġcs Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 0 Ġuntil Ġv g . child Count ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ( vg . getChild At ( i ) Ġas ? ĠCheckBox )?. also Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcs . add ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġview . findViewById < View >( R . id . request ). setOnClickListener Ġ{ Ġv Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġps Ġ= Ġcheck Boxes . filter Ġ{ Ġit . isChecked Ġ}. map Ġ{ Ġit . text . toString () Ġ}. to Typed Array () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġstart Ġ= ĠSystem . currentTimeMillis () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġps . forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġv . context . check Self Permission ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLog . d ( TAG , Ġ" check Ġ${ ps . size } Ġcost Ġ${ System . currentTimeMillis () Ġ- Ġstart } ms ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ( activity Ġas ĠFragment Activity ). request Permissions ( ps ) Ġ Ġ{ Ġg , Ġd Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . d ( TAG , Ġ" gr anted : Ġ$ g , Ġdenied : Ġ$ d ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġv . post Delayed ({ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ( activity Ġas ĠFragment Activity ). request Permissions ( ps ) Ġ Ġ{ Ġg , Ġd Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . d ( TAG , Ġ" gr anted : Ġ$ g , Ġdenied : Ġ$ d ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}, Ġ 2 0 0 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ }