package Ġorg . cloud . sonic . android . plugin . activity Plugin Ċ Ċ import Ġandroid . annotation . Suppress Lint Ċ import Ġandroid . app . Activity Ċ import Ġandroid . app . Key guard Manager Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . Intent Ċ import Ġandroid . graphics . Color Ċ import Ġandroid . os . Build Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . tele phony . Tele phony Manager Ċ import Ġandroid . util . Log Ċ import Ġandroid . view . Gravity Ċ import Ġandroid . view . View Ċ import Ġandroid . view . Window Ċ import Ġandroid . view . WindowManager Ċ import Ġandroid . widget . LinearLayout Ċ import Ġandroid . widget . TextView Ċ import Ġandroidx . annotation . NonNull Ċ import Ġandroidx . annotation . Nullable Ċ import Ġcom . blank j . util code . util . Log Utils Ċ import Ġjava . lang . reflect . Invocation TargetException Ċ Ċ class ĠSearch Activity Ġ: ĠActivity () Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject { ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠEX TRA _ SERIAL Ġ= Ġ" serial " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġinterface ĠSec ured Getter < T > Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġget (): ĠT ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġget Sec ured Id ( supplier : ĠSec ured Getter < String >): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsupplier . get () ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠSecurity Exception ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" sec ured " ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Suppress Lint (" Missing Permission ") ĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĊĠĠĠĠĠĠĠ Ġval Ġintent Ġ= Ġintent ĊĊĠĠĠĠĠĠĠ Ġval Ġlayout Ġ= ĠLinearLayout ( this ) ĊĠĠĠĠĠĠĠ Ġlayout . keep Screen On Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġlayout . orientation Ġ= ĠLinearLayout . VERTICAL ĊĠĠĠĠĠĠĠ Ġlayout . layout Params Ġ= ĠLinearLayout . LayoutParams ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLinearLayout . LayoutParams . MATCH _ PARENT , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLinearLayout . LayoutParams . MATCH _ PARENT ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġlayout . set BackgroundColor ( Color . parse Color ("# 4 0 9 EFF ")) ĊĠĠĠĠĠĠĠ Ġlayout . set Padding ( 1 6 , Ġ 1 6 , Ġ 1 6 , Ġ 1 6 ) ĊĠĠĠĠĠĠĠ Ġlayout . gravity Ġ= ĠGr avity . CENTER ĊĊĠĠĠĠĠĠĠ Ġval Ġtm Ġ= Ġget System Service ( TELE PHONY _ SERVICE ) Ġas ĠTele phony Manager ĊĊĠĠĠĠĠĠĠ Ġvar Ġserial Ġ= Ġintent . getString Extra ( Search Activity . EXTRA _ SERIAL ) ĊĊĠĠĠĠĠĠĠ Ġif Ġ( serial Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġserial Ġ= ĠgetProperty (" ro . serial no ", Ġ" unknown ") ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġlayout . addView ( create Title Label ()) ĊĠĠĠĠĠĠĠ Ġlayout . addView ( create Label (" SERIAL ")) ĊĠĠĠĠĠĠĠ Ġlayout . addView ( create Data ( serial !! )) ĊĠĠĠĠĠĠĠ Ġlayout . addView ( create Label (" MODEL ")) ĊĠĠĠĠĠĠĠ Ġlayout . addView ( create Data ( getProperty (" ro . product . model ", Ġ" unknown "))) ĊĠĠĠĠĠĠĠ Ġlayout . addView ( create Label (" VERSION ")) ĊĠĠĠĠĠĠĠ Ġlayout . addView ( create Data ( Build . VERSION . RELEASE Ġ+ Ġ" Ġ( SDK Ġ" Ġ+ ĠBuild . VERSION . SDK _ INT Ġ+ Ġ") ")) ĊĠĠĠĠĠĠĠ Ġlayout . addView ( create Label (" OPERATOR ")) ĊĠĠĠĠĠĠĠ Ġlayout . addView ( create Data ( tm . sim Operator Name )) ĊĠĠĠĠĠĠĠ Ġlayout . addView ( create Label (" PHONE ")) ĊĠĠĠĠĠĠĠ Ġlayout . addView ( create Data ( get Sec ured Id ( object Ġ: ĠSec ured Getter < String > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġget (): ĠString Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtm . line 1 Number ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ))) ĊĠĠĠĠĠĠĠ Ġif Ġ( Build . VERSION . SDK _ INT Ġ>= ĠBuild . VERSION _ CODES . O ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlayout . addView ( create Label (" IME I ")) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlayout . addView ( create Data ( get Sec ured Id ( object Ġ: ĠSec ured Getter < String > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġget (): ĠString Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtm . ime i ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ))) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġrequest Window Feature ( Window . FEATURE _ NO _ TITLE ) ĊĠĠĠĠĠĠĠ Ġensure Visibility () ĊĠĠĠĠĠĠĠ ĠsetContentView ( layout ) ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġprivate Ġfun Ġcreate Label ( text : ĠString ): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtitle View Ġ= ĠTextView ( this ) ĊĠĠĠĠĠĠĠ Ġtitle View . gravity Ġ= ĠGr avity . CENTER ĊĠĠĠĠĠĠĠ Ġtitle View . setTextColor ( Color . parse Color ("# 0 0 0 0 0 0 ")) ĊĠĠĠĠĠĠĠ Ġtitle View . text Size Ġ= Ġ 1 6 f ĊĠĠĠĠĠĠĠ Ġtitle View . text Ġ= Ġtext ĊĠĠĠĠĠĠĠ Ġreturn Ġtitle View ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġcreate Title Label (): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtitle View Ġ= ĠTextView ( this ) ĊĠĠĠĠĠĠĠ Ġtitle View . gravity Ġ= ĠGr avity . CENTER ĊĠĠĠĠĠĠĠ Ġtitle View . set Padding ( 1 6 , Ġ 1 6 , Ġ 1 6 , Ġ 4 0 ) ĊĠĠĠĠĠĠĠ Ġtitle View . setTextColor ( Color . WHITE ) ĊĠĠĠĠĠĠĠ Ġtitle View . text Size Ġ= Ġ 3 5 f ĊĠĠĠĠĠĠĠ Ġtitle View . text Ġ= Ġ" æĪĳ åľ¨ è¿ĻéĩĮ \ n I Ġam Ġhere " ĊĠĠĠĠĠĠĠ Ġreturn Ġtitle View ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġcreate Data ( text : ĠString ): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġdata View Ġ= ĠTextView ( this ) ĊĠĠĠĠĠĠĠ Ġdata View . gravity Ġ= ĠGr avity . CENTER ĊĠĠĠĠĠĠĠ Ġdata View . setTextColor ( Color . WHITE ) ĊĠĠĠĠĠĠĠ Ġdata View . text Size Ġ= Ġ 2 4 f ĊĠĠĠĠĠĠĠ Ġdata View . text Ġ= Ġtext ĊĠĠĠĠĠĠĠ Ġreturn Ġdata View ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġensure Visibility () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġwindow Ġ= Ġwindow ĊĠĠĠĠĠĠĠ Ġwindow . add Flags ( WindowManager . LayoutParams . FLAG _ T URN _ SCREEN _ ON ) ĊĠĠĠĠĠĠĠ Ġwindow . add Flags ( WindowManager . LayoutParams . FLAG _ DIS MIS S _ KEY GU ARD ) ĊĠĠĠĠĠĠĠ Ġwindow . add Flags ( WindowManager . LayoutParams . FLAG _ SHOW _ WHEN _ LOCK ED ) ĊĠĠĠĠĠĠĠ Ġunlock () ĊĠĠĠĠĠĠĠ Ġval Ġparams Ġ= Ġwindow . attributes ĊĠĠĠĠĠĠĠ Ġparams . screen Brightness Ġ= Ġ 1 . 0 f ĊĠĠĠĠĠĠĠ Ġwindow . attributes Ġ= Ġparams ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun ĠgetProperty ( name : ĠString , ĠdefaultValue : ĠString ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval ĠSystem Properties Ġ= ĠClass . forName (" android . os . System Properties ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġget Ġ= ĠSystem Properties . getMethod ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" get ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠString :: class . java , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠString :: class . java ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget . invoke ( System Properties , Ġname , ĠdefaultValue ) Ġas ĠString ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠClass NotFoundException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLog Utils . e (" Class . forName () Ġfailed ", Ġe ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠdefaultValue ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠNoSuch Method Exception ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLog Utils . e (" getMethod () Ġfailed ", Ġe ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠdefaultValue ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠInvocation TargetException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLog Utils . e (" invoke () Ġfailed ", Ġe ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠdefaultValue ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠIllegal AccessException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLog Utils . e (" invoke () Ġfailed ", Ġe ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠdefaultValue ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġunlock () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġkey guard Manager Ġ= Ġget System Service ( KEY GU ARD _ SERVICE ) Ġas ĠKey guard Manager ĊĠĠĠĠĠĠĠ Ġkey guard Manager . new Key guard Lock (" Input Service / Unlock "). disable Key guard () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġclass ĠIntent Builder Ġ{ ĊĠĠĠĠĠĠĠ Ġ@ Nullable ĊĠĠĠĠĠĠĠ Ġprivate Ġvar Ġserial : ĠString ? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġfun Ġserial (@ NonNull Ġserial : ĠString ?): ĠIntent Builder Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . serial Ġ= Ġserial ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġbuild ( context : ĠContext ): ĠIntent Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent ( context . application Context , ĠSearch Activity :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġintent . add Flags ( Intent . FLAG _ ACTIVITY _ NEW _ TASK ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( serial Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġintent . putExtra ( Search Activity . EXTRA _ SERIAL , Ġserial ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġintent ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }