package Ġfragment Ċ Ċ import Ġandroid . content . Intent Ċ import Ġandroid . net . Uri Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . fragment . app . Fragment Ċ import Ġandroidx . lifecycle . Observer Ċ import Ġandroidx . navigation . fragment . find Nav Controller Ċ import Ġcom . sap . cloud . android . odata . od at aser vice . Order Ċ import Ġcom . sap . cloud . android . odata . od at aser vice . Task Ċ import Ġcom . sap . mobile . ma hl werk . R Ċ import Ġcom . sap . mobile . ma hl werk . extension . job Status Ċ import Ġcom . sap . mobile . ma hl werk . model . JobStatus Ċ import Ġcom . sap . mobile . ma hl werk . screen . Task Screen Ċ import Ġkotlinx . android . synt hetic . main . fragment _ task _ information .* Ċ import Ġkotlinx . android . synt hetic . main . item _ header . view .* Ċ import Ġkotlinx . android . synt hetic . main . item _ task _ information . view .* Ċ Ċ /** Ċ Ġ* ĠThis Ġfragment Ġdisplays Ġthe Ġinformation Ġof Ġa Ġtask Ġin Ġthe ĠTask Detail Fragment Ċ Ġ*/ Ċ class ĠTask Information Fragment Ġ: ĠFragment (), ĠTask Screen Ġ{ ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( ĊĠĠĠĠĠĠĠ Ġinflater : ĠLayoutInflater , ĊĠĠĠĠĠĠĠ Ġcontainer : ĠViewGroup ?, ĊĠĠĠĠĠĠĠ ĠsavedInstanceState : ĠBundle ? ĊĠĠĠ Ġ): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġinflater . inflate ( R . layout . fragment _ task _ information , Ġcontainer , Ġfalse ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon View Created ( view : ĠView , ĠsavedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on View Created ( view , ĠsavedInstanceState ) ĊĊĠĠĠĠĠĠĠ Ġview _ task Information _ customer . textView _ item Task Information . text Ġ= ĠgetString ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . string . customer ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĊĠĠĠĠĠĠĠ Ġview _ task Information _ customer . imageView _ item Task Information . setImage Resource ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . drawable . ic _ business _ black _ 2 4 dp ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġobserve Task () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠOb serves Ġthe Ġselected Ġtask Ġand Ġbind s Ġits Ġinformation Ġto Ġthe Ġview ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġfun Ġobserve Task () Ġ{ ĊĠĠĠĠĠĠĠ ĠviewModel . selected Task . observe ( this , ĠObserver < Task > Ġ{ Ġtask Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ ĠviewModel . load Properties ( task , ĠTask . address ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġview _ task Information _ location . textView _ item Header . text Ġ= ĠgetString ( R . string . location ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠtextView _ task Information _ street . text Ġ= ĠgetString ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . string . street House Number ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ). format ( task . address . street , Ġtask . address . house Number ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠtextView _ task Information _ town . text Ġ= ĠgetString ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . string . postal Code Town ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ). format ( task . address . postal Code , Ġtask . address . town ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĊĠĠĠĠĠĠĠĠĠĠĠ ĠtextView _ task Information _ country . text Ġ= Ġtask . address . country ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnote Form Cell _ task Information _ notes . value Ġ= Ġtask . notes ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġvisibility Ġ= Ġif Ġ( task . job . size Ġ> Ġ 0 Ġ&& Ġtask . job . all Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . job Status Ġ== ĠJob Status . Done ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġview _ task Information _ customer . setOnClickListener Ġ{ Ġnavigate To Customer ( task ) Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġaddress Ġ= Ġtask . address . street Ġ+ Ġ" +" Ġ+ Ġtask . address . house Number Ġ+ Ġ", +" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtask . address . postal Code Ġ+ Ġ" +" Ġ+ Ġtask . address . town Ġ+ Ġ", +" Ġ+ Ġtask . address . country ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġbutton _ task Information _ show . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmain ViewModel . navigate ToMap And Select Task ( task ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġbutton _ task Information _ route . setOnClickListener Ġ{ Ġopen In Maps ( address ) Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠNavig ates Ġto Ġthe ĠCustomer Fragment Ġshowing Ġthe Ġcustomer Ġassociated Ġwith Ġthe Ġtask ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġtask Ġthe Ġdisplayed Ġtask ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġfun Ġnavigate To Customer ( task : ĠTask ) Ġ{ ĊĠĠĠĠĠĠĠ ĠviewModel . load Properties ( task , ĠTask . order ) ĊĠĠĠĠĠĠĠ ĠviewModel . load Properties ( task . order , ĠOrder . customer ) ĊĠĠĠĠĠĠĠ Ġmain ViewModel . selected Customer . value Ġ= Ġtask . order . customer ĊĠĠĠĠĠĠĠ Ġfind Nav Controller (). navigate ( R . id . action _ task Detail Fragment _ to _ customer Fragment ) ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠOpen s Ġa Ġnavigation Ġto Ġthe Ġprovided Ġaddress Ġin ĠGoogle ĠMaps ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġaddress Ġthe Ġaddress Ġto Ġshow ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġfun Ġopen In Maps ( address : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠIntent . ACTION _ VIEW , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠUri . parse (" google . navigation : q =${ address }") ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ ĠstartActivity ( intent ) ĊĠĠĠ Ġ} Ċ } Ċ