// ĠCopyright Ġ 2 0 2 1 ĠVMware , ĠInc . Ċ // ĠSPDX - License - Identifier : ĠBSD - 2 - Clause Ċ Ċ package Ġcom . example . integration guide Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . View Ċ import Ġandroid . widget . TextView Ċ import Ġandroid . widget . Toast Ċ import Ġcom . air watch . sdk . SDK Manager Ċ import Ġorg . json . JSONObject Ċ import Ġkotlin . concurrent . thread Ċ Ċ class ĠMainActivity Ġ: ĠBase Activity () Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġsdk Manager : ĠSDK Manager ? Ġ= Ġnull ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ main ) ĊĠĠĠĠĠĠĠ Ġconfigure TextView () ĊĠĠĠĠĠĠĠ Ġconfigure Status () ĊĊĠĠĠĠĠĠĠ Ġstart SDK () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġconfigure Status () Ġ{ ĊĠĠĠĠĠĠĠ ĠfindViewById < TextView >( R . id . textView Configuration ). let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . text Ġ= ĠgetString ( R . string . status _ placeholder ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . setOnClickListener Ġ{ Ġstatus Toggle () Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġstatus Toggle () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġvisible Ġ= ĠfindViewById < View >( R . id . scroll View ). let Ġ{ Ġscroll View Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ!( scroll View . visibility Ġ== ĠView . VISIBLE ). also Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġscroll View . visibility Ġ= Ġif Ġ( it ) ĠView . GONE Ġelse ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠfindViewById < View >( R . id . toggle View ). visibility Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( visible ) ĠView . VISIBLE Ġelse ĠView . GONE ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġstart SDK () Ġ{ Ġthread Ġ{ ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġinit SDK Manager Ġ= ĠSDK Manager . init ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsdk Manager Ġ= Ġinit SDK Manager ĊĠĠĠĠĠĠĠĠĠĠĠ ĠgetString ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . string . status _ ok , Ġinit SDK Manager . console Version . toString () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ). let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtoast Here ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshow Status ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit , ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" device Uid : Ġ", Ġinit SDK Manager . device Uid , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"\ n device Serial Id : Ġ", Ġinit SDK Manager . device Serial Id , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"\ n \ n custom Settings : Ġ", Ġinit SDK Manager . custom Settings , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"\ n \ n ", Ġinit SDK Manager . sdk Profile JSON String ?. run Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠJSONObject ( this ). toString ( 4 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġ?: ĠgetString ( R . string . null _ sdk _ profile _ json ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ). map Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit ?. run Ġ{ Ġif Ġ( it . isEmpty ()) Ġ" empty " Ġelse Ġit Ġ} Ġ?: Ġ" null " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}. join ToString ( separator Ġ= Ġ"") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġcatch Ġ( exception : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsdk Manager Ġ= Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ ĠgetString ( R . string . status _ ng ). let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtoast Here ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshow Status ( it , Ġexception . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ}} ĊĊĠĠĠ Ġprivate Ġfun Ġshow Status ( short Message : ĠString , Ġlong Message : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġrun On Ui Thread Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠfindViewById < TextView >( R . id . textView Configuration ). text Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshort Message ĊĠĠĠĠĠĠĠĠĠĠĠ ĠfindViewById < TextView >( R . id . textView Scrolling ). text Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlong Message ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġtoast Here ( message : ĠString ) Ġ{ Ġrun On Ui Thread Ġ{ ĊĠĠĠĠĠĠĠ ĠToast . makeText ( this , Ġmessage , ĠToast . LENGTH _ LONG ). show () Ġ}} Ċ } Ċ