package Ġle od en ault . sync ed . startup Ċ Ċ import Ġandroidx . compose . runtime . Mutable State Ċ import Ġdagger . Re usable Ċ import Ġle od en ault . sync ed . desktop audio . Audio Directory File Ċ import Ġle od en ault . sync ed . desktop audio . Desktop Audio List Loader Ċ import Ġle od en ault . sync ed . discord . Disconnected Client Ċ import Ġle od en ault . sync ed . discord navigation . Discord Navigator Ċ import Ġle od en ault . sync ed . player navigation . Player Navigator Ċ import Ġle od en ault . sync ed . settings . Settings Manager Ċ import Ġle od en ault . sync ed . util . Mutable Data Ċ import Ġjava . io . File Ċ import Ġjavax . inject . Inject Ċ Ċ @ Re usable Ċ class ĠStartup Ġ@ Inject Ġconstructor ( ĊĠ Ġprivate Ġval Ġdiscord Navigator : ĠDiscord Navigator , ĊĠ Ġprivate Ġval Ġplayer Navigator : ĠPlayer Navigator , ĊĠ Ġprivate Ġval Ġmutable Audio Files : ĠMutable State < List < File >>, ĊĠ Ġprivate Ġval Ġdesktop Audio List Loader : ĠDesktop Audio List Loader , ĊĠ Ġprivate Ġval Ġmutable Audio Directory : ĠMutable Data < File >, ĊĠ Ġprivate Ġval Ġaudio Directory File : ĠAudio Directory File , ĊĠ Ġprivate Ġval Ġsettings Manager : ĠSettings Manager , ĊĠ Ġprivate Ġval Ġdisconnected Client Factory : ĠDis connected Client . Factory Ċ ) Ġ{ ĊĠ Ġfun Ġstartup () Ġ{ ĊĠĠĠ Ġplayer Navigator . navigate To Player () ĊĊĠĠĠ Ġval Ġsettings Ġ= Ġsettings Manager . fetch () ĊĠĠĠ Ġval Ġdisconnected Client Ġ= Ġdisconnected Client Factory . create () ĊĠĠĠ Ġdiscord Navigator . navigate To Loading Page Ġ{ ĊĠĠĠĠĠ Ġmutable Audio Directory . value Ġ= Ġaudio Directory File . load () ĊĠĠĠĠĠ Ġmutable Audio Files . value Ġ= Ġdesktop Audio List Loader . load Audio () ĊĠĠĠĠĠ Ġif Ġ( settings . has Bot Token ()) Ġ{ ĊĠĠĠĠĠĠĠ Ġdisconnected Client . connect ( settings . bot Token ). fold ( ĊĠĠĠĠĠĠĠĠĠ ĠonSuccess Ġ= Ġ{ Ġnavigate ToServer Selector ( it ) Ġ}, ĊĠĠĠĠĠĠĠĠĠ Ġon Failure Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnavigate To Bot Access ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdisconnected Client , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Could Ġnot Ġautomatically Ġconnect Ġto ĠDiscord . ĠPlease Ġre - enter Ġbot Ġtoken ." ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠ Ġnavigate To Bot Access ( disconnected Client ) ĊĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠ Ġ} Ċ } Ċ