/* Ċ Ġ* ĠCopyright Ġ( C ) Ġ 2 0 2 1 . ĠM ak sym ĠO li iny k . Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ Ċ package Ġio . github . x lo pec . tea . time . travel . plugin . feature . info Ċ Ċ import Ġandroidx . compose . foundation . layout . Arrange ment Ċ import Ġandroidx . compose . foundation . layout . Column Ċ import Ġandroidx . compose . foundation . layout . fill MaxSize Ċ import Ġandroidx . compose . runtime . Composable Ċ import Ġandroidx . compose . ui . Alignment Ċ import Ġandroidx . compose . ui . Modifier Ċ import Ġandroidx . compose . ui . text . style . Text Align . Companion . Just ify Ċ import Ġio . github . x lo pec . tea . time . travel . plugin . feature . component . ui . MessageHandler Ċ import Ġio . github . x lo pec . tea . time . travel . plugin . feature . server . Start Server Ċ import Ġio . github . x lo pec . tea . time . travel . plugin . model . Invalid Ċ import Ġio . github . x lo pec . tea . time . travel . plugin . model . Started Ċ import Ġio . github . x lo pec . tea . time . travel . plugin . model . Starting Ċ import Ġio . github . x lo pec . tea . time . travel . plugin . model . State Ċ import Ġio . github . x lo pec . tea . time . travel . plugin . model . Stopped Ċ import Ġio . github . x lo pec . tea . time . travel . plugin . model . Stopping Ċ import Ġio . github . x lo pec . tea . time . travel . plugin . ui . no Indication Clickable Ċ import Ġio . kan ro . compose . jetbrains . Local Typography Ċ import Ġio . kan ro . compose . jetbrains . control . Text Ċ import Ġjava . util . Locale Ċ Ċ @ Composable Ċ fun ĠInfo View ( ĊĠĠĠ Ġstate : ĠState , ĊĠĠĠ Ġui Events : ĠMessage Handler , Ċ ) Ġ{ ĊĠĠĠ ĠColumn ( ĊĠĠĠĠĠĠĠ Ġmodifier Ġ= ĠModifier . fill MaxSize (), ĊĠĠĠĠĠĠĠ Ġvertical Arrange ment Ġ= ĠArrange ment . Center , ĊĠĠĠĠĠĠĠ Ġhorizontal Alignment Ġ= ĠAlignment . Center H orizontally ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen Ġ( state ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠSto pped Ġ-> ĠInfo View Message ( state . to Description (), Ġui Events . take If Ġ{ Ġstate . can Start Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠStarted Ġ-> ĠInfo View Message ( state . to Description ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠStarting Ġ-> ĠInfo View Message ( state . to Description ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠSto pping Ġ-> ĠInfo View Message ( state . to Description ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ @ Composable Ċ private Ġfun ĠInfo View Message ( ĊĠĠĠ Ġdescription : ĠString , ĊĠĠĠ Ġmessages : Ġ( MessageHandler )? Ġ= Ġnull , Ċ ) Ġ{ ĊĠĠĠ ĠText ( ĊĠĠĠĠĠĠĠ Ġstyle Ġ= ĠLocal Typography . current . h 3 , ĊĠĠĠĠĠĠĠ Ġtext Ġ= Ġdescription , ĊĠĠĠĠĠĠĠ ĠtextAlign Ġ= ĠJust ify , ĊĠĠĠĠĠĠĠ Ġmodifier Ġ= Ġif Ġ( messages Ġ== Ġnull ) ĠModifier Ġelse ĠModifier . no Indication Clickable Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmessages ( Start Server ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ) Ċ } Ċ Ċ private Ġfun ĠStarted . to Description (): ĠString Ġ{ ĊĠĠĠ Ġrequire ( debug State . components . isEmpty ()) Ġ{ Ġ" Non Ġempty Ġdebug Ġstate , Ġcomponent =${ debug State . components }" Ġ} ĊĠĠĠ Ġreturn Ġ" There Ġare Ġno Ġattached Ġcomponents Ġyet " Ċ } Ċ Ċ private Ġfun ĠStarting . to Description () Ġ= Ġ" Debug Ġserver Ġis Ġstarting Ġon Ġ" Ġ+ ĊĠĠĠĠĠĠĠ Ġ"${ settings . host . input }:${ settings . port . input }" Ċ Ċ private Ġfun ĠSto pped . to Description () Ġ= ĊĠĠĠ Ġif Ġ( can Start ) Ġ" Debug Ġserver Ġisn 't Ġrunning . ĠPress Ġto Ġstart " ĊĠĠĠ Ġelse Ġ" Can 't Ġstart Ġdebug Ġserver : Ġ${ ĊĠĠĠĠĠĠĠ ĠlistOf ( settings . port , Ġsettings . host ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. filter Is Instance < Invalid >() ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. join ToString ( postfix Ġ= Ġ"\ n ") Ġ{ Ġv Ġ-> Ġv . message . replace First Char Ġ{ Ġit . lowercase ( Locale . getDefault ()) Ġ} Ġ} ĊĠĠĠ Ġ}" Ċ Ċ private Ġfun ĠSto pping . to Description () Ġ= Ġ" Debug Ġserver Ġis Ġstopping Ġon Ġ" Ġ+ ĊĠĠĠĠĠĠĠ Ġ"${ settings . host . input }:${ settings . port . input }" Ċ