package Ġui . lines čĊč Ċ import Ġandroid . content . Context č Ċ import Ġandroid . graphics . Point č Ċ import Ġcom . y aya . map . R č Ċ import Ġsupport . Locale Controller č Ċ import Ġui . cells . s ata ion Cells . Station Cell č Ċ import Ġsupport . component . Android Utilities č Ċ import Ġsupport . Theme č Ċ import Ġutils . Metro Util čĊč Ċ /** č Ċ * ĠCreated Ġby Ġy aya - mh Ġon Ġ 0 7 / 0 8 / 2 0 1 8 Ġ 0 9 : 0 7 ĠAM Ġ 0 9 : 4 2 ĠAM . č Ċ */ č Ċ class ĠT aj r ish Sub Line ( context : ĠContext ) Ġ: Metro Line ( context ) Ġ{ čĊčĊĠĠĠ Ġinit Ġ{ čĊĠĠĠĠĠĠĠ Ġstart Station Ġ= Ġ ĠLocale Controller . getString (" sha hed ", ĠR . string . sha hed ) čĊĠĠĠĠĠĠĠ Ġend Station Ġ= Ġ ĠLocale Controller . getString (" em am _ k home ini _ airport ", ĠR . string . em am _ k home ini _ airport ) čĊĠĠĠĠĠĠĠ Ġline Name Ġ= ĠLocale Controller . getString (" ta jr ish _ sub ", ĠR . string . ta jr ish _ sub ) čĊĠĠĠĠĠĠĠ Ġfirst Station Ġ= Ġtrue čĊĠĠĠĠĠĠĠ Ġstation Color Ġ= ĠTheme . getColor ( Theme . key _ T aj r ish _ line ) čĊĠĠĠĠĠĠĠ ĠlineNumber Ġ= Ġ 8 čĊčĊĠĠĠĠĠĠĠ Ġcross Ro ads Name Ġ= Ġmap Of ( ĠLocale Controller . getString (" sha hed ", ĠR . string . sha hed ) Ġto ĠLocale Controller . getString (" ta jr ish ", ĠR . string . ta jr ish )) čĊĠĠĠĠĠĠĠ Ġstations Names Ġ= ĠlistOf ( čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLocale Controller . getString (" sha hed ", ĠR . string . sha hed ), čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLocale Controller . getString (" share _ aft ab ", ĠR . string . share _ aft ab ), čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLocale Controller . getString (" v avan ", ĠR . string . v avan ), čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLocale Controller . getString (" em am _ k home ini _ airport ", ĠR . string . em am _ k home ini _ airport )) čĊĠĠĠĠĠĠĠ Ġstation Distance Point Ġ= ĠPoint ( 0 , 0 ) čĊĠĠĠĠĠĠĠ Ġadd St ations () čĊĠĠĠĠĠĠĠ Ġset Will Not Draw ( false ) čĊĠĠĠ Ġ} čĊĠĠĠ Ġoverride Ġfun Ġadd St ations (){ čĊĠĠĠĠĠĠĠ Ġsuper . add St ations () čĊĠĠĠĠĠĠĠ Ġstations List . forEach Ġ{ Ġstation -> čĊĠĠĠĠĠĠĠĠĠĠĠ Ġstation . station Name Position Ġ= ĠStation Cell . Name Position . Left čĊĠĠĠĠĠĠĠ Ġ} čĊĠĠĠ Ġ} čĊĠĠĠ Ġoverride Ġfun Ġchange Direction ( station Name : ĠString ) Ġ{ čĊĠĠĠĠĠĠĠ Ġwhen ( station Name ){ čĊĠĠĠĠĠĠĠĠĠĠĠ ĠLocale Controller . getString (" v avan ", ĠR . string . v avan ) Ġ-> Ġstation Distance Point . y Ġ+= ĠAndroid Utilities . dp ( 1 0 F ) č Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġ" Sha hed " Ġ-> Ġstation Distance Point . x Ġ+= Ġsupport . component . Android Utilities . dp (- 1 0 f ) čĊĠĠĠĠĠĠĠ Ġ} čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġoverride Ġfun Ġset Start EndPoint () Ġ{ čĊĠĠĠĠĠĠĠ Ġval Ġcross Cell Ġ= Ġ ĠMet ro Util . getCell ( Locale Controller . getString (" sha hed ", ĠR . string . sha hed ), ĠLocale Controller . getString (" ta jr ish ", ĠR . string . ta jr ish )) !! čĊĠĠĠĠĠĠĠ Ġstart Point Ġ= ĠPoint ( cross Cell . left Ġ+ Ġ(( cross Cell . right Ġ- Ġcross Cell . left ) Ġ/ Ġ 2 ), cross Cell . top Ġ+ Ġ(( cross Cell . bottom Ġ- Ġcross Cell . top ) Ġ/ Ġ 2 )) čĊčĊĠĠĠĠĠĠĠ Ġval Ġcell Ġ= ĠMet ro Util . getCell ( Locale Controller . getString (" hass an _ ab ad ", ĠR . string . hass an _ ab ad ), ĠLocale Controller . getString (" far hang s ara ", ĠR . string . far hang s ara )) !! čĊĠĠĠĠĠĠĠ Ġend Point Ġ= ĠPoint ( cell . left Ġ+ Ġ(( cell . right Ġ- Ġcell . left ) Ġ/ Ġ 2 ) Ġ+ ĠAndroid Utilities . dp ( 2 f ), Ġ 0 ) čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġoverride Ġfun Ġset Station Distance Point ( sub List : ĠList < String >) Ġ{ čĊĠĠĠĠĠĠĠ Ġstation Distance Point . x Ġ= Ġ-( start Point . x Ġ- Ġend Point . x ) čĊĠĠĠĠĠĠĠ Ġstation Distance Point . y Ġ= Ġ 0 čĊĠĠĠ Ġ} čĊč Ċ }