package Ġcom . github . are k ole k . phone Ċ Ċ import Ġandroid . app . role . Role Manager Ċ import Ġandroid . content . Intent Ċ import Ġandroid . net . Uri Ċ import Ġandroid . os . Build Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . os . Strict Mode Ċ import Ġandroid . provider . Settings Ċ import Ġandroid . util . Log Ċ import Ġandroid . view . Menu Ċ import Ġandroid . view . MenuItem Ċ import Ġandroid . view . View Ċ import Ġandroid . widget . Adapter View Ċ import Ġandroid . widget . Array Adapter Ċ import Ġandroid . widget . ListView Ċ import Ġandroidx . appcompat . app . AlertDialog Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġjava . sql . Connection Ċ import Ġjava . sql . Driver Manager Ċ import Ġjava . sql . SQLException Ċ import Ġjava . sql . Statement ĊĊ Ċ class ĠMainActivity Ġ: ĠAppCompatActivity () Ġ Ġ{ ĊĠĠĠ Ġprivate Ġval Ġip Ġ= Ġ" 1 9 2 . 1 6 8 . 1 . 2 0 6 " ĊĠĠĠ Ġprivate Ġval Ġport Ġ= Ġ" 1 4 3 3 " ĊĠĠĠ Ġprivate Ġval ĠClasses Ġ= Ġ" net . sourceforge . j td s . jdbc . Driver " ĊĠĠĠ Ġprivate Ġval Ġdatabase Ġ= Ġ" smart _ DB " ĊĠĠĠ Ġprivate Ġval Ġusername Ġ= Ġ" smart _ TM " ĊĠĠĠ Ġprivate Ġval Ġpassword Ġ= Ġ". Digital " ĊĠĠĠ Ġprivate Ġval Ġurl Ġ= Ġ" jdbc : j td s : sql server :// $ ip :$ port /$ database " ĊĠĠĠ Ġprivate Ġvar Ġconnection : ĠConnection ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġdata Ġ= ĠArrayList < String >() ĊĠĠĠ Ġ// Ġì» ¤ ìĬ¤ íħ Ģ Ġë¦¬ ìĬ¤íĬ¸ ë · ° ë¥¼ ĠìĤ¬ìļ© íķĺê¸° ĠìľĦ íķĺìĹ¬ Ġì¶Ķê°Ģ ĊĠĠĠ Ġprivate Ġvar ĠCode Item Ġ= ĠArrayList < String >() ĊĠĠĠ Ġprivate Ġvar ĠCode Name Ġ= ĠArrayList < String >() ĊĠĠĠ Ġprivate Ġvar Ġnum Ġ= Ġ"" ĊĠĠĠ Ġprivate Ġvar Ġgo ge ak Ġ= Ġ"" ĊĠĠĠ Ġprivate Ġvar Ġcount Ġ= Ġ"" ĊĠĠĠ Ġprivate Ġvar Ġdb Ġ= Ġ"" ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ main ) ĊĠĠĠĠĠĠĠ Ġcheck Default Dial er () ĊĊĠĠĠĠĠĠĠ Ġif Ġ( ĊĠĠĠĠĠĠĠ Ġ// ĠìĹ ĳ íĭ° ë¹Ħ íĭ° Ġìĭ¤íĸī ìĹĲ ë§Į ĠìĤ¬ìļ©íķł ĠìĺĪ ìłķ ìĿ´ ëĿ¼ ìĦľ ĠìĿ´ ìĬ Ī ê°Ģ ĠìŀĪëĬĶ Ġ 1 0 Ġë²Ħ ìłĦ ìĿ¸ ì§Ģ ĠíĻķìĿ¸ íķĺê¸° ĠìľĦ íķ¨ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠBuild . VERSION . SDK _ INT Ġ>= ĠBuild . VERSION _ CODES . Q ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ&& ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġëĭ¤ë¥¸ ĠíĻ Ķ ë©´ ĠìľĦ ìĹĲ Ġê·¸ ë¦¬ ê¸° Ġê ¶ Į íķľ ìĿ´ Ġìŀ ĩ ëĬĶ ì§Ģ ĠíĻķìĿ¸ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ! Settings . can Draw Overlay s ( this ) ĊĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠìĤ¬ìļ©ìŀĲ ìĹĲ ê²Į ĠìĿ´ Ġê ¶ Į íķľ ìĿ´ ĠìĻ ľ ĠíķĦìļĶ íķľ ì§Ģ ìĹĲ ĠëĮĢ íķ´ ĠìĦ¤ ëªħ íķĺê¸° ĠìľĦ íķľ Ġëĭ¤ ìĿ´ ìĸ ¼ ë¡ľ ê·¸ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbuilder Ġ= ĠAlertDialog . Builder ( this ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Message (" ëĭ¤ ë¥¸ ĠíĻ Ķ ë©´ ĠìľĦ ìĹĲ Ġíĳľ ìĭľ íķĺëĬĶ Ġê ¶ Į íķľ ìĿ´ ĠíķĦìļĶ íķ©ëĭĪëĭ¤ .\ n ìĪĺ ë Ŀ ½ Ġíķĺ ìĭľ ê²ł ìĬµ ëĭĪ ê¹Į ?") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Cancel able ( false ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Negative Button (" ì · ¨ ìĨĮ ") Ġ{ Ġdialog , Ġ_ Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġì · ¨ ìĨĮ Ġë²Ħ íĬ ¼ Ġí Ħ ° ì¹ĺ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdialog . dismiss (); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Positive Button (" ìĪĺ ë Ŀ ½ ") Ġ{ Ġdialog , Ġ_ Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSettings . ACTION _ MANAGE _ OVER LAY _ PERMISSION , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠUri . parse (" package :$ packageName ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity For Result ( intent , ĠWH _ Dial er Activity . result Code ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdialog . dismiss (); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . show (); ĊĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġê¸°ëĬ¥ Ġìĭ¤íĸī íķĺê¸° ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġpolicy Ġ= ĠStrict Mode . Thread Policy . Builder (). permit All (). build () ĊĠĠĠĠĠĠĠ ĠStrict Mode . set Thread Policy ( policy ) ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠClass . forName ( Classes ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġconnection Ġ= ĠDriver Manager . getConnection ( url , Ġusername , Ġpassword ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLog . d (" sql DB ", Ġ" SU CCC ESS ") ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠClass NotFoundException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġe . printStackTrace () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLog . d (" sql DB ", Ġ" ERROR ") ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠSQLException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġe . printStackTrace () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLog . d (" sql DB ", Ġ" ERROR ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġsql DB () ĊĠĠĠĠĠĠĠ Ġvar Ġlist Ġ= ĠfindViewById < ListView >( R . id . list view ) ĊĊĠĠĠĠĠĠĠ Ġ// Ġë¦¬ ìĬ¤íĬ¸ ë · ° Ġí Ĺ ¤ ëįĶ Ġì¶Ķê°Ģ ĊĠĠĠĠĠĠĠ Ġvar Ġheader : ĠView Ġ= Ġlayout Inflater . inflate ( R . layout . list view _ header , Ġnull , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġlist . add Header View ( header , null , false ) ĊĊĠĠĠĠĠĠĠ Ġvar Ġadapter Ġ= ĠViewer () ĊĊĠĠĠĠĠĠĠ Ġvar Ġdatal en Ġ= Ġdata ĊĠĠĠĠĠĠĠ ĠLog . d (" DATA ", Ġ" DATA : Ġ" Ġ+ Ġdatal en ) ĊĊĠĠĠĠĠĠĠ Ġfor ( i Ġin Ġdatal en . indices ){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġdata 1 Ġ= Ġdatal en . get ( i ). split (",") ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLog . d (" data 1 "," DATA 1 :" Ġ+ Ġdata 1 Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor ( j Ġin Ġdata 1 . indices ){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnum Ġ= Ġdata 1 . get ( 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgo ge ak Ġ= Ġdata 1 . get ( 2 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcount Ġ= Ġdata 1 . get ( 3 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdb Ġ= Ġdata 1 . get ( 4 ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . d (" data 1 "," num :" Ġ+ Ġnum +", Ġgo ge ak :"+ go ge ak +", Ġcount :"+ count +", Ġdb :"+ db ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadapter . addItem ( num , go ge ak , count , db ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġlist . setAdapter ( adapter ) ĊĊĠĠĠĠĠĠĠ ĠLog . d (" sql Call ", Ġ" ìłģ ìŀ¬ ìĦ± ê³µ ") ĊĊĠĠĠĠĠĠĠ Ġlist . on ItemClickListener Ġ= ĠAdapter View . On ItemClickListener Ġ{ Ġparent , Ġview , Ġposition , Ġid Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġintent Ġ= ĠIntent ( this , ĠWH _ Dial er Activity :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġintent . putExtra (" DB ", Ġdata [ position - 1 ]) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity ( intent ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġstep (){ ĊĠĠĠĠĠĠĠ Ġ// Ġcode _ manager Ġíħ ĮìĿ´ ë¸Ķ Ġê°Ģ ìł¸ ìĺ¤ ê¸° ĠìľĦ íķľ Ġíķ¨ìĪĺ ĊĠĠĠĠĠĠĠ Ġif ( connection Ġ!= Ġnull ){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġstatement : ĠStatement ? ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtry { ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstatement Ġ= Ġconnection !!. createStatement () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsql Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" select Ġcode Item , code Name Ġfrom Ġcode _ manager " ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval ĠresultSet Ġ= Ġstatement . executeQuery ( sql ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . d (" Spinner ", Ġ" Spinner ") ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhile ( resultSet . next ()){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġcode Item Ġ= ĠresultSet . getString ( 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġcode Name Ġ= ĠresultSet . getString ( 2 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠCode Name . add ( code Name ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠCode Item . add ( code Item ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : SQLException ){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġe . printStackTrace () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġelse { ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLog . d (" sql DB ", Ġ" Connection Ġis Ġnull ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġfun Ġsql DB (){ ĊĠĠĠĠĠĠĠ Ġstep () ĊĠĠĠĠĠĠĠ Ġif Ġ( connection Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġstatement : ĠStatement ? Ġ= Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstatement Ġ= Ġconnection !!. createStatement () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsql Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" select Ġdb . cust Num , db . co un Step , db . al oc date , info . cust Name Ġfrom Ġcustomer _ db Ġas Ġdb Ġ Ġleft Ġouter Ġjoin Ġcustomer _ info Ġas Ġinfo Ġ\ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" on Ġdb . cust num Ġ= Ġinfo . cust num \ n Ġwhere Ġagent Num Ġ= Ġ' 1 '" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval ĠresultSet Ġ= Ġstatement . executeQuery ( sql ) Ġ// ĠDB ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . d (" list ", Ġ" list : Ġ" Ġ+ Ġsql ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġìķ ŀ ìĹĲ Ġì¹ ´ ìļ´ íĦ° Ġì¶Ķê°Ģ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġcount Ġ= Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhile Ġ( resultSet . next ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġíķĺ ëĵľ ì ½Ķ ëĶ © Ġë³Ģê²½ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġco un Step : String ? Ġ= ĠresultSet . getString ( 2 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġstep Ġ= Ġ"" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġcode item Ġ= ĠCode Item ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġcod ename Ġ= ĠCode Name ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor ( i Ġin Ġcode item . indices ){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġcd Ġ= Ġcode item . get ( i ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġcd 2 Ġ= Ġcod ename . get ( i ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif ( cd Ġ== Ġco un Step ){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstep Ġ= Ġcd 2 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġdate Ġ= ĠresultSet . getString ( 3 )?. split (" Ġ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcount Ġ= Ġ( count + 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġstr Ġ= Ġcount . toString ()+ "," + ĠresultSet . getString ( 1 )+ "," Ġ+ ĠresultSet . getString ( 4 )+ "," Ġ+ Ġstep + "," Ġ+ Ġ Ġdate ?. get ( 0 ). toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . d (" str ", Ġ" STR : Ġ" Ġ+ Ġstr ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdata . add ( str ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠSQLException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġe . printStackTrace () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLog . d (" sql DB ", Ġ" Connection Ġis Ġnull ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// ìķ ¡ ìħĺ ë°Ķ ĊĠĠĠ Ġoverride Ġfun ĠonCreate Options Menu ( menu : ĠMenu ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġmenu Inflater . inflate ( R . menu . menu , Ġmenu ) ĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// ìķ ¡ ìħĺ ë°Ķ Ġíģ ´ ë¦ Ń ìĭľ ĠëıĻ ìŀĳ ĊĠĠĠ Ġoverride Ġfun Ġon Options ItemSelected ( item : ĠMenuItem ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġid : ĠInt Ġ= Ġitem . getItem Id () ĊĠĠĠĠĠĠĠ Ġ// Ġìĥģ ëĭ ´ ĊĠĠĠĠĠĠĠ Ġ// ìĿ´ ëł¥ ĊĠĠĠĠĠĠĠ Ġif Ġ( id Ġ== ĠR . id . action _ btn 2 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent ( application Context , ĠMainActivity _ list :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity ( intent ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfinish () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġsuper . on Options ItemSelected ( item ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġcheck Default Dial er () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġm Role Manager Ġ= Ġget System Service ( Role Manager :: class . java ) ĊĠĠĠĠĠĠĠ Ġval Ġm Role Intent Ġ= Ġm Role Manager . create Request Role Intent ( Role Manager . ROLE _ DI AL ER ) ĊĠĠĠĠĠĠĠ ĠstartActivity For Result ( m Role Intent , ĠWH _ Dial er Activity . ROLE _ REQUEST _ CODE ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Activity Result ( request Code : ĠInt , ĠresultCode : ĠInt , Ġdata : ĠIntent ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Activity Result ( request Code , ĠresultCode , Ġdata ) ĊĠĠĠĠĠĠĠ Ġif Ġ( request Code Ġ== ĠWH _ Dial er Activity . ROLE _ REQUEST _ CODE ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( result Code Ġ== ĠRESULT _ OK ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ }