package Ġcom . s usion . rabbit Ċ Ċ import Ġandroid . app . Activity Ċ import Ġandroid . app . Application Ċ import Ġandroid . content . Context Ċ import Ġandroid . view . View Ċ import Ġcom . s usion . rabbit . base . Rabbit Protocol Ċ import Ġcom . s usion . rabbit . base . Rabbit Settings Ċ import Ġcom . s usion . rabbit . base . common . Rabbit Utils Ċ import Ġcom . s usion . rabbit . base . config . Rabbit Config Ċ import Ġcom . s usion . rabbit . base . ui . Rabbit Ui K ern al Ċ import Ġcom . s usion . rabbit . base . ui . page . Rabbit Entry Page Ċ import Ġcom . s usion . rabbit . base . ui . utils . Floating View Permission Helper Ċ import Ġcom . s usion . rabbit . storage . Rabbit Storage Ċ import Ġokhttp 3 . Interceptor Ċ Ċ /** Ċ Ġ* Ġs usion wang Ġat Ġ 2 0 1 9 - 0 9 - 2 3 Ċ Ġ* Ġdependencies Ġin Ġrelease Ċ Ġ* Ġ Ġ çĽ´æİ¥ ä½¿çĶ¨ è¿Ļä¸ª ç±» ä¸ŃçļĦ API æĿ¥ æĵ į æİ§ ĠRabbit Ċ Ġ*/ Ċ object ĠRabbit Ġ: ĠRabbit Protocol Ġ{ ĊĊĠĠĠ Ġlateinit Ġvar Ġapplication : ĠApplication ĊĊĠĠĠ Ġoverride Ġfun Ġinit ( app : ĠApplication , Ġconfig : ĠRabbit Config ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġapplication Ġ= Ġapp ĊĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! Rabbit Utils . is Main Process ( application )) Ġreturn ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠThrowable ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// base Ġui Ġinit ĊĠĠĠĠĠĠĠ ĠRabbit Ui K ern al . init ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġapplication , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRabbit Entry Page ( application , Ġconfig . ui Config . entry Features ) ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġ// åŃĺåĤ¨ éħįç½® ĊĠĠĠĠĠĠĠ ĠRabbit Storage . init ( application , Ġconfig . storage Config ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġre Config ( config : ĠRabbit Config ) Ġ{ ĊĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġoverride Ġfun Ġopen ( request Permission : ĠBoolean , Ġactivity : ĠActivity ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġoverlay Permission Is Open Ġ= ĠFloating View Permission Helper . check Permission ( activity ) ĊĊĠĠĠĠĠĠĠ Ġif Ġ(! request Permission Ġ&& Ġ! overlay Permission Is Open ) Ġreturn ĊĊĠĠĠĠĠĠĠ Ġif Ġ( overlay Permission Is Open ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRabbit Ui K ern al . show Floating View () ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠFloating View Permission Helper . show Confirm Dialog ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġactivity , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġobject Ġ: ĠFloating View Permission Helper . On Confirm Result Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġconfirm Result ( confirm : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( confirm ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFloating View Permission Helper . try Start Floating Window Permission ( activity ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġopen Page ( page Class : ĠClass < out ĠView > ?, Ġparams : ĠAny ?) Ġ{ ĊĠĠĠĠĠĠĠ ĠRabbit Ui K ern al . open Page ( page Class , Ġparams ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġchange Auto Open Status ( context : ĠContext , Ġauto Open : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ ĠRabbit Settings . auto Open Rabbit ( context , Ġauto Open ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġis Auto Open ( context : ĠContext ) Ġ= ĠRabbit Settings . auto Open Rabbit ( context ) ĊĊĠĠĠ Ġoverride Ġfun Ġget Net Interceptor (): ĠInter ceptor Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠInter ceptor Ġ{ Ġchain Ġ-> Ġchain . proceed ( chain . request ()) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġsave Crash Log ( it : ĠThrowable ) Ġ{ ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetCurrent Activity () Ġ= ĠRabbit Ui K ern al . app Current Activity ?. get () Ċ Ċ }