package Ġcom . example . vin h tr u ong . kt l th dt . details Ċ Ċ import Ġcom . example . vin h tr u ong . kt l th dt . model . Tax i Ċ Ċ class ĠPres enter Details Ġ: ĠIP res enter Details { ĊĊĠĠĠ Ġprivate Ġvar Ġm View Details : ĠView Details ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġm Model Details : ĠModel Details ? Ġ= Ġnull ĊĊĠĠĠ Ġconstructor ( view Details : ĠView Details ){ ĊĠĠĠĠĠĠĠ Ġthis . m View Details Ġ= Ġview Details ĊĠĠĠĠĠĠĠ Ġm Model Details Ġ= ĠModel Details () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Tax i Details ( tax i Type : ĠInt , Ġtax i Id : ĠInt , Ġdistance : ĠDouble ) Ġ{ ĊĠĠĠĠĠĠĠ Ġm Model Details ?. get Tax i Details ( tax i Type , tax i Id ) ĊĊĠĠĠĠĠĠĠ Ġm Model Details ?. set Callback ( object Ġ: ĠModel Details . Model Details Callback { ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Get Tax i Details Success ( tax i : ĠT axi ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfirst 4 km Ġ= Ġtax i . first 4 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġafter 4 km Ġ= Ġtax i . after 4 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcost Ġ= Ġc ac u cl ate Money ( first 4 km !! , Ġafter 4 km !! , Ġdistance ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm View Details ?. on Fetch Tax i Details Success ( tax i , Ġcost ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĠĠĠ Ġprivate Ġfun Ġc ac u cl ate Money ( first 4 : ĠDouble , Ġafter 4 : ĠDouble , Ġdistance : ĠDouble ): ĠDouble Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdistance Ġ<= Ġ 1 Ġ-> Ġfirst 4 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdistance Ġ<= Ġ 4 Ġ-> Ġdistance Ġ* Ġfirst 4 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ 4 Ġ* Ġfirst 4 Ġ+ Ġ( distance Ġ- Ġ 4 ) Ġ* Ġafter 4 ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }