package Ġcom . ye ch ao a . wan android _ jet pack . base Ċ Ċ import Ġandroid . content . Intent Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroidx . lifecycle . ViewModel Provider Ċ import Ġandroidx . view binding . View Binding Ċ import Ġcom . ye ch ao a . wan android _ jet pack . common . My Config Ċ import Ġcom . ye ch ao a . wan android _ jet pack . ui . login . Login Activity Ċ import Ġcom . ye ch ao a . y util sk t . Sp Util Ċ Ċ abstract Ġclass ĠBase Vm Fragment < VB Ġ: ĠView Binding , ĠVM Ġ: ĠBase ViewModel >( inflate : Ġ( LayoutInflater ) Ġ-> ĠVB ) Ġ: ĠBase Fragment < VB >( inflate ) Ġ{ ĊĊĠĠĠ Ġprotected Ġlateinit Ġvar Ġm ViewModel : ĠVM ĊĠĠĠ Ġprivate Ġvar Ġlazy Loaded Ġ= Ġfalse ĊĊĠĠĠ Ġ// åĪĨé¡µ åıĤæķ° ĊĠĠĠ Ġprotected Ġopen Ġval Ġm Total Count Ġ= Ġ 2 0 // æ¯ıæ¬¡ åĬłè½½ æķ°éĩı ĊĠĠĠ Ġprotected Ġopen Ġvar ĠmCurrent Size Ġ= Ġ 0 // å½ĵåīį åĬłè½½ æķ°éĩı ĊĠĠĠ Ġprotected Ġopen Ġvar ĠmCurrent Page Ġ= Ġ 0 // å½ĵåīį åĬłè½½ é¡µ æķ° ĊĊĠĠĠ Ġoverride Ġfun Ġon View Created ( view : ĠView , ĠsavedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on View Created ( view , ĠsavedInstanceState ) ĊĠĠĠĠĠĠĠ Ġinit ViewModel () ĊĠĠĠĠĠĠĠ Ġobserve () ĊĠĠĠĠĠĠĠ Ġinit View () ĊĠĠĠĠĠĠĠ Ġinit Data () ĊĠĠĠĠĠĠĠ Ġset Listener () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Resume () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Resume () ĊĠĠĠĠĠĠĠ Ġ// Ġ å®ŀçİ° æ ĩĴ åĬłè½½ ĊĠĠĠĠĠĠĠ Ġif Ġ(! lazy Loaded ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlazy Load Data () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlazy Loaded Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠåĪĿå§ĭåĮĸ ViewModel ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġfun Ġinit ViewModel () Ġ{ ĊĠĠĠĠĠĠĠ Ġm ViewModel Ġ= ĠViewModel Provider ( this ). get ( viewModel Class ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġèİ·åıĸ ViewModel çļĦ class ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġabstract Ġfun ĠviewModel Class (): ĠClass < VM > ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ è®¢ éĺħ ï¼Į æľī éĢ»è¾ĳ çļĦè¯Ŀ ï¼Į å¤į åĨĻ çļĦæĹ¶åĢĻ super ä¸įè¦ģ åİ» æİī ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġopen Ġfun Ġobserve () Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠéľĢè¦ģ çĻ»å½ķ ï¼Į è·³è½¬ çĻ»å½ķ é¡µ ĊĠĠĠĠĠĠĠ Ġm ViewModel . need Login . observe ( view Lifecycle Owner , Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( it ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSp Util . set Boolean ( My Config . IS _ LOGIN , Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity ( Intent ( require Activity (), ĠLogin Activity :: class . java )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠåĪĿå§ĭåĮĸ view çĽ¸åħ³ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġabstract Ġfun Ġinit View () ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠåĪĿå§ĭåĮĸ data çĽ¸åħ³ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġopen Ġfun Ġinit Data () Ġ{} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġæ ĩĴ åĬłè½½ æķ°æį® ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġopen Ġfun Ġlazy Load Data () Ġ{} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġè®¾ç½® çĽĳåĲ¬ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġopen Ġfun Ġset Listener () Ġ{} ĊĊĠĠĠ Ġoverride Ġfun Ġon Destroy View () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Destroy View () ĊĠĠĠĠĠĠĠ Ġ// éĩį ç½® ĊĠĠĠĠĠĠĠ ĠmCurrent Size Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ ĠmCurrent Page Ġ= Ġ 0 ĊĠĠĠ Ġ} Ċ Ċ } Ċ