package Ġcom . jet game . s bs . ui Ċ Ċ import Ġandroid . annotation . Suppress Lint Ċ import Ġandroidx . compose . animation . core . Linear E asing Ċ import Ġandroidx . compose . animation . core . Repeat Mode Ċ import Ġandroidx . compose . animation . core . animate Float Ċ import Ġandroidx . compose . animation . core . infinite Repeat able Ċ import Ġandroidx . compose . animation . core . remember Infinite Transition Ċ import Ġandroidx . compose . animation . core . t ween Ċ import Ġandroidx . compose . foundation . layout . Box Ċ import Ġandroidx . compose . foundation . layout . Row Ċ import Ġandroidx . compose . foundation . layout . fill Max Width Ċ import Ġandroidx . compose . foundation . layout . padding Ċ import Ġandroidx . compose . foundation . layout . width Ċ import Ġandroidx . compose . material . Text Ċ import Ġandroidx . compose . runtime . Composable Ċ import Ġandroidx . compose . runtime . Disposable Effect Ċ import Ġandroidx . compose . runtime . getValue Ċ import Ġandroidx . compose . runtime . mutable State Of Ċ import Ġandroidx . compose . runtime . remember Ċ import Ġandroidx . compose . runtime . setValue Ċ import Ġandroidx . compose . ui . Alignment Ċ import Ġandroidx . compose . ui . Modifier Ċ import Ġandroidx . compose . ui . graphics . Color Ċ import Ġandroidx . compose . ui . text . style . Text Align Ċ import Ġandroidx . compose . ui . unit . dp Ċ import Ġandroidx . compose . ui . unit . sp Ċ import Ġcom . jet game . s bs . logic . Led Font Family Ċ import Ġcom . jet game . s bs . ui . theme . Brick Matrix Ċ import Ġcom . jet game . s bs . ui . theme . Brick Sp irit Ċ import Ġjava . text . DateFormat Ċ import Ġjava . text . SimpleDateFormat Ċ import Ġjava . util .* Ċ import Ġkotlin . math . round ToInt ĊĊ Ċ @ Composable Ċ fun ĠLed Clock ( modifier : ĠModifier Ġ= ĠModifier ) Ġ{ ĊĊĠĠĠ Ġval Ġanimate Value Ġby Ġremember Infinite Transition (). animate Float ( ĊĠĠĠĠĠĠĠ Ġinitial Value Ġ= Ġ 0 f , Ġtarget Value Ġ= Ġ 1 f , ĊĠĠĠĠĠĠĠ Ġanimation Spec Ġ= Ġinfinite Repeat able ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġanimation Ġ= Ġt ween ( duration Millis Ġ= Ġ 1 0 0 0 , Ġeasing Ġ= ĠLinear E asing ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrepeat Mode Ġ= ĠRepeat Mode . Restart , ĊĠĠĠĠĠĠĠ Ġ), ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġvar Ġclock Ġby Ġremember Ġ{ Ġmutable State Of ( 0 Ġto Ġ 0 ) Ġ} ĊĊĠĠĠ ĠDis posable Effect ( key 1 Ġ= Ġanimate Value . round ToInt ()) Ġ{ ĊĠĠĠĠĠĠĠ Ġ@ Suppress Lint (" SimpleDateFormat ") ĊĠĠĠĠĠĠĠ Ġval ĠdateFormat : ĠDate Format Ġ= ĠSimpleDateFormat (" H , m ") ĊĠĠĠĠĠĠĠ Ġval Ġ( cur H ou , Ġcur Min ) Ġ= ĠdateFormat . format ( Date ()). split (",") ĊĠĠĠĠĠĠĠ Ġclock Ġ= Ġcur H ou . toInt () Ġto Ġcur Min . toInt () ĊĠĠĠĠĠĠĠ Ġon Dispose Ġ{ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ ĠRow ( modifier ) Ġ{ ĊĠĠĠĠĠĠĠ ĠLed Number ( num Ġ= Ġclock . first , Ġdigits Ġ= Ġ 2 , Ġfill Zero Ġ= Ġtrue ) ĊĊĠĠĠĠĠĠĠ Ġval ĠLed Comma : Ġ@ Composable Ġ( color : ĠColor ) Ġ-> ĠUnit Ġ= Ġremember Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠText ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" :", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠfontFamily Ġ= ĠLed Font Family , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠtextAlign Ġ= ĠText Align . End , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcolor Ġ= Ġit , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠfontSize Ġ= Ġ 1 6 . sp , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmodifier Ġ= ĠModifier . fill Max Width () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠBox ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmodifier Ġ= ĠModifier ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. width ( 6 . dp ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. padding ( end Ġ= Ġ 1 . dp ), ĊĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠLed Comma ( Brick Matrix ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( animate Value . round ToInt () Ġ== Ġ 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLed Comma ( Brick Sp irit ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠLed Number ( num Ġ= Ġclock . second , Ġdigits Ġ= Ġ 2 , Ġfill Zero Ġ= Ġtrue ) ĊĠĠĠ Ġ} Ċ Ċ } Ċ Ċ @ Composable Ċ fun ĠLed Number ( ĊĠĠĠ Ġmodifier : ĠModifier Ġ= ĠModifier , ĊĠĠĠ Ġnum : ĠInt , ĊĠĠĠ Ġdigits : ĠInt , ĊĠĠĠ Ġfill Zero : ĠBoolean Ġ= Ġfalse Ċ ) Ġ{ ĊĠĠĠ Ġval Ġtext Size Ġ= Ġ 1 6 . sp ĊĠĠĠ Ġval Ġtext Width Ġ= Ġ 8 . dp ĊĠĠĠ ĠBox ( modifier ) Ġ{ ĊĠĠĠĠĠĠĠ ĠRow ( modifier Ġ= ĠModifier . align ( Alignment . Center End )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrepeat ( digits ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠText ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" 8 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠfontSize Ġ= Ġtext Size , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcolor Ġ= ĠBr ick Matrix , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠfontFamily Ġ= ĠLed Font Family , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmodifier Ġ= ĠModifier . width ( text Width ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠtextAlign Ġ= ĠText Align . End ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠRow ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmodifier Ġ= ĠModifier . align ( Alignment . Center End ), ĊĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġstr Ġ= Ġif Ġ( fill Zero ) ĠString . format ("% 0 ${ digits } d ", Ġnum ) Ġelse Ġnum . toString () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstr . iterator (). forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠText ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . toString (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠfontSize Ġ= Ġtext Size , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcolor Ġ= ĠBr ick Sp irit , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠfontFamily Ġ= ĠLed Font Family , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmodifier Ġ= ĠModifier . width ( text Width ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠtextAlign Ġ= ĠText Align . End ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} Ċ }