package Ġcom . anc ient . ess entials . view . view model Ċ Ċ import Ġandroid . app . Application Ċ import Ġandroidx . fragment . app . Fragment Ċ import Ġandroidx . lifecycle . Android ViewModel Ċ import Ġandroidx . lifecycle . Mutable LiveData Ċ import Ġcom . anc ient . ess entials . extent ions . Event Ċ import Ġcom . anc ient . ess entials . view . adapter . Base Fragment Pager Adapter Ċ Ċ /** Ċ Ġ* ĠCreated Ġby Ġanc ient inc Ġon Ġ 2 0 2 0 - 0 4 - 2 2 . Ċ Ġ**/ Ċ class ĠTabs ViewModel ( a Application : ĠApplication ) Ġ: ĠAndroid ViewModel ( a Application ) Ġ{ ĊĊĠĠĠ Ġval ĠisLoading Ġ= ĠMutable LiveData < Boolean >() ĊĊĠĠĠ Ġval Ġtabs Adapter Ġ= ĠMutable LiveData < ĠEvent < Base Fragment Pager Adapter ? >>() ĊĊĠĠĠ Ġvar Ġselected Tab Position : ĠInt Ġ= Ġ 0 ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ ĠisLoading . value Ġ= Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset Adapter ( adapter : ĠBase Fragment Pager Adapter ?) Ġ{ ĊĠĠĠĠĠĠĠ ĠisLoading . value Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġtabs Adapter . value Ġ= ĠEvent ( adapter ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġupdate Adapter ( a Fragments : ĠMutable List < Fragment >, Ġa Fragments Title : ĠMutable List < String >) Ġ{ ĊĠĠĠĠĠĠĠ ĠisLoading . value Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġtabs Adapter . value ?. peek Content ()?. setAdapter Value ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġa Fragments Ġ= Ġa Fragments , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġa Fragments Title Ġ= Ġa Fragments Title ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ } Ċ