package Ġcom . gw . mv vm . wan . core . base Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroidx . databinding . ViewData Binding Ċ import Ġcom . gw . mv vm . framework . base . activity . Base ViewModel Data Binding Activity Ċ import Ġcom . gw . mv vm . framework . base . view model . Base ViewModel Ċ import Ġcom . gw . mv vm . framework . ext . view model . getApp ViewModel Ċ import Ġcom . gw . mv vm . wan . ext . hide Loading Dialog Ċ import Ġcom . gw . mv vm . wan . ext . show Loading Dialog Ċ import Ġcom . gw . mv vm . wan . network . Network Manager Ċ import Ġcom . gw . mv vm . wan . network . Network State Ċ import Ġcom . gw . mv vm . wan . viewModel . app . App ViewModel Ċ Ċ /** Ċ Ġ* ĠActivity åŁº ç±» Ċ Ġ* Ġ@ author Ġplay 0 4 5 1 Ċ Ġ*/ Ċ abstract Ġclass ĠBase Activity < VM Ġ: ĠBase ViewModel , ĠDB Ġ: ĠView Data Binding > Ġ: ĊĠĠĠ ĠBase ViewModel Data Binding Activity < VM , ĠDB >() Ġ{ ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠApp çº§åĪ« çļĦ ViewModel , åŃĺ æĶ¾ ä¸ĢäºĽ åħ¨å±Ģ ä¿¡æģ¯ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġval Ġapp ViewModel : ĠApp ViewModel Ġby Ġlazy Ġ{ Ġget App ViewModel < App ViewModel >() Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġinner Init ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . inner Init ( savedInstanceState ) ĊĠĠĠĠĠĠĠ Ġobserver Network () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġæĺ¯åĲ¦ çĽĳåĲ¬ ç½ĳç»ľ çĬ¶æĢģ äºĭä»¶ ĊĠĠĠĠ Ġ* Ġ@ return ĠBoolean ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġopen Ġfun Ġis Observer Network State Event (): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ çĽĳåĲ¬ ç½ĳç»ľ çĬ¶æĢģ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġfun Ġobserver Network () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ(! is Observer Network State Event ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠNetwork Manager . instance . network State Event . observe In Activity ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis ĊĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( it Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( it ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠNetwork State . Lost Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġon Network Available ( false ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠNetwork State . Available Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġon Network Available ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġå½ĵ ç½ĳç»ľ åı¯çĶ¨ çĬ¶æĢģ åıĺåĮĸ ĊĠĠĠĠ Ġ* Ġ@ param Ġboolean ĠBoolean ĠĠ Ġæĺ¯åĲ¦ åı¯çĶ¨ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprotected Ġopen Ġfun Ġon Network Available ( boolean : ĠBoolean Ġ= Ġtrue ) Ġ{} ĊĊĠĠĠ Ġoverride Ġfun Ġshow Loading ( msg : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġshow Loading Dialog ( msg ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġhide Loading () Ġ{ ĊĠĠĠĠĠĠĠ Ġhide Loading Dialog () ĊĠĠĠ Ġ} Ċ }