package Ġorg . m transit . android . ui . type . poi Ċ Ċ import Ġandroidx . core . content . edit Ċ import Ġandroidx . lifecycle . LiveData Ċ import Ġandroidx . lifecycle . Saved State Handle Ċ import Ġandroidx . lifecycle . ViewModel Ċ import Ġandroidx . lifecycle . distinct Until Changed Ċ import Ġandroidx . lifecycle . live Data Ċ import Ġandroidx . lifecycle . switch Map Ċ import Ġandroidx . lifecycle . viewModel Scope Ċ import Ġdagger . h ilt . android . lifecycle . H ilt ViewModel Ċ import Ġkotlinx . coroutines . Dispatch ers Ċ import Ġorg . m transit . android . common . repository . Default Preference Repository Ċ import Ġorg . m transit . android . commons . MT Log Ċ import Ġorg . m transit . android . commons . pref . live Data Ċ import Ġorg . m transit . android . commons . provider . PO I Provider Contract Ċ import Ġorg . m transit . android . data . Ag ency Base Properties Ċ import Ġorg . m transit . android . data . PO I Manager Ċ import Ġorg . m transit . android . datasource . Data Sources Repository Ċ import Ġorg . m transit . android . datasource . PO I Repository Ċ import Ġorg . m transit . android . dev . Demo Mode Manager Ċ import Ġorg . m transit . android . ui . view . common . get LiveData Distinct Ċ import Ġjavax . inject . Inject Ċ Ċ @ H ilt ViewModel Ċ class ĠAg ency PO Is ViewModel Ġ@ Inject Ġconstructor ( ĊĠĠĠ Ġsaved State Handle : ĠSaved State Handle , ĊĠĠĠ Ġprivate Ġval Ġdata Sources Repository : ĠData Sources Repository , ĊĠĠĠ Ġprivate Ġval Ġpo i Repository : ĠPO I Repository , ĊĠĠĠ Ġprivate Ġval Ġdefault Pref Repository : ĠDefault Preference Repository , ĊĠĠĠ Ġprivate Ġval Ġdemo Mode Manager : ĠDemo Mode Manager , Ċ ) Ġ: ĠViewModel (), ĠMT Log . Log gable Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠLOG _ TAG Ġ= ĠAg ency PO Is ViewModel :: class . java . simple Name ĊĊĠĠĠĠĠĠĠ Ġinternal Ġconst Ġval ĠEX TRA _ AG ENCY _ AUTH ORITY Ġ= Ġ" extra _ agency _ authority " ĊĠĠĠĠĠĠĠ Ġinternal Ġconst Ġval ĠEX TRA _ COLOR _ INT Ġ= Ġ" extra _ color _ int " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Log Tag (): ĠString Ġ= Ġagency . value ?. short Name ?. let Ġ{ Ġ"${ LOG _ TAG }- $ it " Ġ} Ġ?: ĠLOG _ TAG ĊĊĠĠĠ Ġprivate Ġval Ġ_ authority Ġ= Ġsaved State Handle . get LiveData Distinct < String ? >( EXTRA _ AG ENCY _ AUTH ORITY ) ĊĊĠĠĠ Ġval Ġcolor Int Ġ= Ġsaved State Handle . get LiveData Distinct < Int ? >( EXTRA _ COLOR _ INT ) ĊĊĠĠĠ Ġval Ġagency : ĠLive Data < Ag ency Base Properties ?> Ġ= Ġthis ._ authority . switch Map Ġ{ Ġauthority Ġ-> ĊĠĠĠĠĠĠĠ Ġthis . data Sources Repository . reading Ag ency Base ( authority ) Ġ// Ġ# on Modules Updated ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġval Ġpo i List : ĠLive Data < List < PO I Manager > ?> Ġ= Ġ_ authority . switch Map Ġ{ Ġauthority Ġ-> ĊĠĠĠĠĠĠĠ Ġlive Data ( context Ġ= ĠviewModel Scope . coroutine Context Ġ+ ĠDispatch ers . IO ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġemit ( get PO IList ( authority )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġget PO IList ( authority : ĠString ?): ĠList < PO I Manager >? Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( authority . isNull OrEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġnull ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġpo i Repository . find PO IM s ( authority , ĠPO I Provider Contract . Filter . getNew Empty Filter ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġval Ġshowing List Instead Of Map : ĠLive Data < Boolean > Ġ= Ġ_ authority . switch Map Ġ{ Ġauthority Ġ-> ĊĠĠĠĠĠĠĠ Ġlive Data Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġauthority ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( demo Mode Manager . enabled ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġemit ( false ) Ġ// Ġshow Ġmap Ġ( demo Ġmode ĠON ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn @ live Data ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġemit Source ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdefault Pref Repository . pref . live Data ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDefault Preference Repository . get PRE FS _ AG ENCY _ PO IS _ SHOW ING _ LIST _ INST E AD _ OF _ MAP ( it ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdefault Pref Repository . getValue ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDefault Preference Repository . PRE FS _ AG ENCY _ PO IS _ SHOW ING _ LIST _ INST E AD _ OF _ MAP _ LAST _ SET , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDefault Preference Repository . PRE FS _ AG ENCY _ PO IS _ SHOW ING _ LIST _ INST E AD _ OF _ MAP _ DEFAULT ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ}. distinct Until Changed () ĊĊĠĠĠ Ġfun Ġsave Showing List Instead Of Map ( show ing List Instead Of Map : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( demo Mode Manager . enabled ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġ// ĠSKIP Ġ( demo Ġmode ĠON ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġdefault Pref Repository . pref . edit Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput Boolean ( Default Preference Repository . PRE FS _ AG ENCY _ PO IS _ SHOW ING _ LIST _ INST E AD _ OF _ MAP _ LAST _ SET , Ġshowing List Instead Of Map ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ_ authority . value ?. let Ġ{ Ġauthority Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput Boolean ( Default Preference Repository . get PRE FS _ AG ENCY _ PO IS _ SHOW ING _ LIST _ INST E AD _ OF _ MAP ( authority ), Ġshowing List Instead Of Map ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }