package Ġio . connect . wifi . sdk . connect . delegate Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . net .* Ċ import Ġandroid . net . wifi . Wifi Manager Ċ import Ġandroid . net . wifi . Wifi Network Specifier Ċ import Ġandroid . os . Build Ċ import Ġandroidx . annotation . Requires Api Ċ import Ġio . connect . wifi . sdk . Connect Status Ċ import Ġio . connect . wifi . sdk . config . Wifi Config Ċ Ċ /** Ċ Ġ* Ġ@ suppress ĠInternal Ġapi Ċ Ġ* Ċ Ġ* ĠDelegate Ġimplementation Ġfor ĠW ifi Config . W pa 2 Pass phrase Suggestion Ċ Ġ* Ċ Ġ* Ġ@ see Ġio . connect . wifi . sdk . config . Wifi Config . W pa 2 Pass phrase Suggestion Ċ Ġ* Ċ Ġ* Ġ@ since Ġ 1 . 0 . 1 Ċ Ġ*/ Ċ @ Requires Api ( Build . VERSION _ CODES . Q ) Ċ internal Ġclass ĠW pa 2 Api 2 9 Delegate ( ĊĠĠĠ Ġprivate Ġval Ġconnectivity Manager : ĠConnect ivity Manager , ĊĠĠĠ Ġprivate Ġval Ġrule : ĠW ifi Config . W pa 2 Pass phrase Suggestion , ĊĠĠĠ Ġprivate Ġval Ġstatus : Ġ( Connect Status ) Ġ-> ĠUnit Ċ ) Ġ: ĠConnection Delegate Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġis Register Ġ= Ġfalse ĊĊĠĠĠ Ġval Ġnetwork Callback : ĠConnect ivity Manager . Network Callback Ġ= ĊĠĠĠĠĠĠĠ Ġobject Ġ: ĠConnect ivity Manager . Network Callback () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Available ( network : ĠNetwork ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsuper . on Available ( network ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// phone Ġis Ġconnected Ġto Ġwifi Ġnetwork ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠTo Ġmake Ġsure Ġthat Ġrequests Ġdon 't Ġgo Ġover Ġmobile Ġdata ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġconnectivity Manager . bind Process To Network ( network ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstatus . invoke ( Connect Status . Success ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon L osing ( network : ĠNetwork , Ġmax Ms To Live : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsuper . on L osing ( network , Ġmax Ms To Live ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// phone Ġis Ġabout Ġto Ġlose Ġconnection Ġto Ġnetwork ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstatus . invoke ( Connect Status . Error ( Exception (" phone Ġis Ġabout Ġto Ġlose Ġconnection Ġto Ġnetwork "))) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Lost ( network : ĠNetwork ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsuper . on Lost ( network ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// phone Ġlost Ġconnection Ġto Ġnetwork ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġconnectivity Manager . bind Process To Network ( null ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// connectivity Manager . unregister Network Callback ( network Callback ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstatus . invoke ( Connect Status . Error ( Exception (" phone Ġlost Ġconnection Ġto Ġnetwork "))) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Unavailable () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsuper . on Unavailable () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// user Ġcancelled Ġwifi Ġconnection ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstatus . invoke ( Connect Status . Error ( Exception (" user Ġcancelled Ġwifi Ġconnection "))) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠMake Ġdelegate Ġimplementation Ġavailable Ġfor Ġconnection ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġfun Ġprepare Delegate () Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Unregister ing Ġnetwork Ġcallback Ġinstance Ġsupplied Ġto Ġrequest Network Ġcall Ġdisconnect s Ġphone Ġfrom Ġthe Ġconnected Ġnetwork ĊĠĠĠĠĠĠĠ Ġif Ġ( is Register ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġconnectivity Manager . unregister Network Callback ( network Callback ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠConnect Ġto Ġwifi ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġfun Ġconnect () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġnetwork Specifier : ĠNetwork Specifier Ġ= ĠW ifi Network Specifier . Builder () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. set S sid ( rule . ssid ) Ġ// for Ġtest Ġ" Android Wifi " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. set W pa 2 Pass phrase ( rule . password ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// . setIs Hidden S sid ( true ) Ġ// specify Ġif Ġthe Ġnetwork Ġdoes Ġnot Ġbroadcast Ġitself Ġand ĠOS Ġmust Ġperform Ġa Ġforced Ġscan Ġin Ġorder Ġto Ġconnect ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠ Ġval Ġnetwork Request Ġ= ĠNetwork Request . Builder () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Transport Type ( Network Capabilities . TRANSPORT _ WIFI ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Network Specifier ( network Specifier ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĊĠĠĠĠĠĠĠ Ġconnectivity Manager . request Network ( network Request , Ġnetwork Callback ) ĊĠĠĠĠĠĠĠ Ġis Register Ġ= Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠtoString (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġ" W pa 2 Api 2 9 Delegate ( rule =$ rule )" ĊĠĠĠ Ġ} ĊĊ Ċ }