package Ġcom . jm ora es . component izations ample . basic . components Ċ Ċ import Ġandroid . annotation . Suppress Lint Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . annotation . Visible ForTesting Ċ import Ġcom . jm ora es . component izations ample . basic . components . ui Views . Loading View Ċ import Ġcom . jm ora es . component izations ample . basic . event Types . Screen State Event Ċ import Ġcom . netflix . component ization V 1 . EventBus Factory Ċ import Ġcom . netflix . component ization V 1 . UI Component Ċ import Ġio . reactivex . Observable Ċ Ċ @ Suppress Lint (" Check Result ") Ċ open Ġclass ĠLoading Component ( container : ĠViewGroup , Ġbus : ĠEvent Bus Factory ) Ġ: ĠUI Component < Unit > Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġget Container Id (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġui View . container Id ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetUser Interaction Events (): ĠObservable < Unit > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠObservable . empty () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Visible ForTesting ( otherwise Ġ= ĠVis ible ForTesting . PRIVATE ) ĊĠĠĠ Ġval Ġui View Ġ= Ġinit View ( container ) ĊĊĠĠĠ Ġopen Ġfun Ġinit View ( container : ĠViewGroup ): ĠLoading View Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠLoading View ( container ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġbus . get Safe Managed Observable ( Screen State Event :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( it ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠScreen State Event . Loading Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġui View . show () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠScreen State Event . Loaded Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġui View . hide () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠScreen State Event . Error Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġui View . hide () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ