/* Ċ Ġ* ĠCopyright Ġ( c ) Ġ 2 0 1 7 ĠThe Ġsky ĠAuthors . Ċ Ġ* Ċ Ġ* Ġ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 Ġcom . sky . lock screen Ċ Ċ import Ġandroid . app . Activity Ċ import Ġandroid . app . admin . Device Policy Manager Ċ import Ġandroid . content . Component Name Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . Intent Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . widget . Toast Ċ Ċ /** Ċ Ġ* ĠCreated Ġby Ġsky Ġon Ġ 1 7 - 8 - 2 9 . Ċ Ġ*/ Ċ class ĠMainActivity Ġ: ĠActivity () Ġ{ ĊĊĠĠĠ Ġvar Ġm Device Policy Manager : ĠDevice Policy Manager ? Ġ= Ġnull ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĊĠĠĠĠĠĠĠ Ġ// Ġèİ·åıĸ æľįåĬ¡ ĊĠĠĠĠĠĠĠ Ġm Device Policy Manager Ġ= Ġget System Service ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠContext . DEVICE _ POLICY _ SERVICE ) Ġas ĠDevice Policy Manager ĊĊĠĠĠĠĠĠĠ Ġif Ġ(! lock Screen ()) Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent ( Device Policy Manager . ACTION _ ADD _ DEVICE _ ADMIN ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput Extra ( Device Policy Manager . EXTRA _ DEVICE _ ADMIN , Ġget Lock Component Name ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput Extra ( Device Policy Manager . EXTRA _ ADD _ EX PLAN ATION , ĠgetString ( R . string . app _ name )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġ è·³è½¬ åĪ° æ¿Ģ æ´» çķĮéĿ¢ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity For Result ( intent , Ġ 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfinish () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ éĶģ å±ı ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġlock Screen (): ĠBoolean Ġ{ ĊĊĠĠĠĠĠĠĠ Ġif Ġ( isAdmin Active ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġ éĶģ å±ı ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Device Policy Manager !!. lock Now () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġis Admin Active (): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġm Device Policy Manager !!. isAdmin Active ( get Lock Component Name ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Lock Component Name (): ĠComponent Name Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠComponent Name ( this , ĠLock Receiver :: class . java ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Activity Result ( request Code : ĠInt , ĠresultCode : ĠInt , Ġdata : ĠIntent ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Activity Result ( request Code , ĠresultCode , Ġdata ) ĊĊĠĠĠĠĠĠĠ Ġif Ġ( RESULT _ OK Ġ== ĠresultCode ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġ è¿Ľè¡Į éĶģ å±ı å¤ĦçĲĨ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlock Screen () ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( this , Ġ" ä¸į æ¿Ģ æ´» æĹłæ³ķ è¿Ľè¡Į éĶģ å±ı ", ĠToast . LENGTH _ SHORT ). show () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġfinish () ĊĠĠĠ Ġ} Ċ }