package Ġcom . open md m . client . setup . domain Ċ Ċ import Ġandroid . annotation . Suppress Lint Ċ import Ġandroid . app . admin . Device Policy Manager Ċ import Ġandroid . content . Component Name Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . Intent Ċ import Ġandroid . net . Uri Ċ import Ġandroid . provider . Settings Ċ import Ġandroid . view . View Ċ import Ġandroidx . activity . result . Activity Result Launcher Ċ import Ġandroidx . activity . result . contract . Activity Result Contracts . Request Multiple Permissions Ċ import Ġandroidx . activity . result . contract . Activity Result Contracts . Start Activity For Result Ċ import Ġandroidx . annotation . String Res Ċ import Ġandroidx . fragment . app . Fragment Ċ import Ġcom . google . android . material . dialog . Material AlertDialog Builder Ċ import Ġcom . open md m . client . core . Admin Receiver Ċ import Ġcom . open md m . client . core . ui . set Simple Positive Button Ċ import Ġcom . open md m . client . setup . R Ċ import Ġcom . open md m . client . setup . data . repo . Other Permissions Repository Ċ import Ġcom . open md m . client . setup . data . repo . Storage Permission Repository Ċ Ċ @ kotlin . Suppress (" UN CHECK ED _ CAST ") Ċ internal Ġenum Ġclass ĠStep Type ( ĊĠĠĠ Ġ@ String Res Ġval Ġtitle Res : ĠInt , ĊĠĠĠ Ġval Ġbuild Launcher : Ġ( Fragment . () Ġ-> ĠActivity Result Launcher <* >) ?, ĊĠĠĠ Ġval Ġon Launch : Ġ( Context , ĠActivity Result Launcher < *> ?) Ġ-> ĠUnit , Ċ ) Ġ{ ĊĠĠĠ ĠDevice Owner ( ĊĠĠĠĠĠĠĠ Ġtitle Res Ġ= ĠR . string . setup _ owner , ĊĠĠĠĠĠĠĠ Ġbuild Launcher Ġ= Ġnull , ĊĠĠĠĠĠĠĠ Ġon Launch Ġ= Ġ{ Ġctx , Ġ_ Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġview Ġ= ĠView . inflate ( ctx , ĠR . layout . fragment _ setup _ owner _ dialog , Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMaterial AlertDialog Builder ( ctx ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setTitle ( R . string . setup _ owner ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setView ( view ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Simple Positive Button () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. show () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ), ĊĊĠĠĠ ĠDevice Admin ( ĊĠĠĠĠĠĠĠ Ġtitle Res Ġ= ĠR . string . setup _ admin , ĊĠĠĠĠĠĠĠ Ġbuild Launcher Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġregister For Activity Result ( Start Activity For Result ()) Ġ{ Ġ/* ĠNo - op Ġ*/ Ġ} ĊĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠ Ġon Launch Ġ= Ġ{ Ġctx , Ġlauncher Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcomponent Ġ= ĠComponent Name ( ctx , ĠAdmin Receiver :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtext Ġ= Ġctx . getString ( R . string . setup _ requires _ device _ admin ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcast ed Ġ= Ġlauncher Ġas ĠActivity Launcher ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcast ed . launch ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIntent ( Device Policy Manager . ACTION _ ADD _ DEVICE _ ADMIN ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput Extra ( Device Policy Manager . EXTRA _ DEVICE _ ADMIN , Ġcomponent ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput Extra ( Device Policy Manager . EXTRA _ ADD _ EX PLAN ATION , Ġtext ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ), ĊĊĠĠĠ Ġ@ Suppress Lint (" Battery Life ") ĊĠĠĠ ĠB attery Whitelist ( ĊĠĠĠĠĠĠĠ Ġtitle Res Ġ= ĠR . string . setup _ battery , ĊĠĠĠĠĠĠĠ Ġbuild Launcher Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġregister For Activity Result ( Start Activity For Result ()) Ġ{ Ġ/* ĠNo - op Ġ*/ Ġ} ĊĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠ Ġon Launch Ġ= Ġ{ Ġctx , Ġlauncher Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent ( Settings . ACTION _ REQUEST _ IGNORE _ B ATTER Y _ OPTIMI Z ATIONS ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġintent . data Ġ= ĠUri . parse (" package :${ ctx . packageName }") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcast ed Ġ= Ġlauncher Ġas ĠActivity Launcher ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcast ed . launch ( intent ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ), ĊĊĠĠĠ Ġ@ Suppress Lint (" In lined Api ") ĊĠĠĠ ĠManage Storage ( ĊĠĠĠĠĠĠĠ Ġtitle Res Ġ= ĠR . string . setup _ manage _ storage , ĊĠĠĠĠĠĠĠ Ġbuild Launcher Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġregister For Activity Result ( Start Activity For Result ()) Ġ{ Ġ/* ĠNo - op Ġ*/ Ġ} ĊĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠ Ġon Launch Ġ= Ġ{ Ġ_, Ġlauncher Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcast ed Ġ= Ġlauncher Ġas ĠActivity Launcher ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcast ed . launch ( Intent ( Settings . ACTION _ MANAGE _ ALL _ FILES _ ACCESS _ PERMISSION )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ), ĊĊĠĠĠ ĠStorage Permission ( ĊĠĠĠĠĠĠĠ Ġtitle Res Ġ= ĠR . string . setup _ storage _ permission , ĊĠĠĠĠĠĠĠ Ġbuild Launcher Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġregister For Activity Result ( Request Multiple Permissions ()) Ġ{ Ġ/* ĠNo - op Ġ*/ Ġ} ĊĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠ Ġon Launch Ġ= Ġ{ Ġ_, Ġlauncher Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcast ed Ġ= Ġlauncher Ġas ĠPermissions Launcher ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcast ed . launch ( Storage Permission Repository . PERMISSION S ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ), ĊĊĠĠĠ ĠOther Permissions ( ĊĠĠĠĠĠĠĠ Ġtitle Res Ġ= ĠR . string . setup _ permissions , ĊĠĠĠĠĠĠĠ Ġbuild Launcher Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġregister For Activity Result ( Request Multiple Permissions ()) Ġ{ Ġ/* ĠNo - op Ġ*/ Ġ} ĊĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠ Ġon Launch Ġ= Ġ{ Ġ_, Ġlauncher Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcast ed Ġ= Ġlauncher Ġas ĠPermissions Launcher ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcast ed . launch ( Other Permissions Repository . PERMISSION S ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ), Ċ } Ċ