package Ġcom . github . yk rank . android tools . widget . net Ċ Ċ import Ġandroid . app . Activity Ċ import Ġandroid . app . Application Ċ import Ġandroid . content . Context Ċ import Ġandroid . os . Bundle Ċ import Ġandroidx . annotation . Call Super ĊĊ Ċ open Ġabstract Ġclass ĠW ifi Activity Lifecycle Callbacks () Ġ: ĠApplication . Activity Lifecycle Callbacks Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġm Wifi Broadcast Receiver : ĠW ifi Broadcast Receiver ? Ġ= Ġnull ĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠFork ed Ġfrom Ġhttp :// stackoverflow . com / a / 1 3 8 0 9 9 9 1 ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġvar Ġm Visible Count : ĠInt Ġ= Ġ 0 ĊĠĠĠ Ġprivate Ġvar Ġm Need Monitor Wifi Activity Count : ĠInt Ġ= Ġ 0 ĊĠĠĠ Ġprivate Ġvar Ġm Exist Count : ĠInt Ġ= Ġ 0 ĊĊĠĠĠ Ġval Ġis App Visible : ĠBoolean ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġm Visible Count Ġ> Ġ 0 ĊĊĠĠĠ Ġopen Ġval Ġwifi StateChanged Callback : Ġ(( Boolean ) Ġ-> ĠUnit )? ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġnull ĊĊĠĠĠ Ġ@ Call Super ĊĠĠĠ Ġoverride Ġfun Ġon Activity Created ( activity : ĠActivity , ĠsavedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġm Exist Count ++ ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Call Super ĊĠĠĠ Ġoverride Ġfun Ġon Activity Started ( activity : ĠActivity ) Ġ{ ĊĠĠĠĠĠĠĠ Ġm Visible Count ++ ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Call Super ĊĠĠĠ Ġoverride Ġfun Ġon Activity Res umed ( activity : ĠActivity ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( activity Ġis ĠW ifi Broadcast Receiver . Need Monitor Wifi ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( m Need Monitor Wifi Activity Count Ġ== Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcheck ( activity ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Wifi Broadcast Receiver ?. register IfNeeded () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Need Monitor Wifi Activity Count ++ ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Call Super ĊĠĠĠ Ġoverride Ġfun Ġon Activity Paused ( activity : ĠActivity ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( activity Ġis ĠW ifi Broadcast Receiver . Need Monitor Wifi ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Need Monitor Wifi Activity Count -- ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( m Need Monitor Wifi Activity Count Ġ== Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcheck ( activity ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Wifi Broadcast Receiver ?. unregister IfNeeded () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Call Super ĊĠĠĠ Ġoverride Ġfun Ġon Activity Stopped ( activity : ĠActivity ) Ġ{ ĊĠĠĠĠĠĠĠ Ġm Visible Count -- ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Activity Save InstanceState ( activity : ĠActivity , Ġout State : ĠBundle ) Ġ{} ĊĊĠĠĠ Ġ@ Call Super ĊĠĠĠ Ġoverride Ġfun Ġon Activity Destroyed ( activity : ĠActivity ) Ġ{ ĊĠĠĠĠĠĠĠ Ġm Exist Count -- ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġcheck ( activity : ĠActivity ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( m Wifi Broadcast Receiver Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Wifi Broadcast Receiver Ġ= ĠW ifi Broadcast Receiver ( activity . application Context , Ġwifi StateChanged Callback ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ