package Ġcore čĊč Ċ import Ġandroidx . compose . runtime . Mutable State č Ċ import Ġandroidx . compose . runtime . State č Ċ import Ġandroidx . compose . runtime . mutable State Of č Ċ import Ġdata . Count Frame čĊč Ċ class ĠN abe atu Counter Ġ: ĠCounter Ġ{ čĊĠĠĠ Ġprivate Ġval Ġ_ count Frame : ĠMutable State < Count Frame > Ġby Ġlazy Ġ{ čĊĠĠĠĠĠĠĠ Ġmutable State Of ( čĊĠĠĠĠĠĠĠĠĠĠĠ ĠCount Frame ( čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcount Ġ= Ġ 0 , čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis A ho Ġ= Ġfalse , čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis Start Ġ= Ġfalse , čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinterval ID Ġ= Ġ 0 čĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) čĊĠĠĠĠĠĠĠ Ġ) čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġoverride Ġval Ġcount Frame : ĠState < Count Frame > Ġ= Ġ_ count Frame čĊčĊĠĠĠ Ġoverride Ġfun Ġincrement () Ġ{ čĊĠĠĠĠĠĠĠ Ġval Ġvalue Ġ= Ġ_ count Frame . value . count čĊĠĠĠĠĠĠĠ Ġ_ count Frame . value Ġ= Ġcount Frame . value . copy ( count Ġ= Ġvalue Ġ+ Ġ 1 , Ġis A ho Ġ= Ġcheck A ho ( value )) čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġoverride Ġfun Ġreset Count (): ĠInt Ġ{ čĊĠĠĠĠĠĠĠ Ġval Ġinterval Id Ġ= ĠclearInterval () čĊĠĠĠĠĠĠĠ Ġ_ count Frame . value Ġ= Ġcount Frame . value . copy ( count Ġ= Ġ 0 , Ġis A ho Ġ= Ġfalse ) čĊĠĠĠĠĠĠĠ Ġreturn Ġinterval Id čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġoverride Ġfun Ġcheck A ho ( num : ĠInt ): ĠBoolean Ġ{ čĊĠĠĠĠĠĠĠ Ġval Ġtmp Ġ= Ġnum Ġ+ Ġ 1 čĊĠĠĠĠĠĠĠ Ġval Ġregex Ġ= ĠRegex (" 3 ") čĊĠĠĠĠĠĠĠ Ġwhen Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġtmp Ġ% Ġ 3 Ġ== Ġ 0 Ġ-> Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtrue čĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} čĊĠĠĠĠĠĠĠĠĠĠĠ Ġregex . contains Match In ( tmp . toString ()) Ġ-> Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtrue čĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} čĊĠĠĠĠĠĠĠ Ġ} čĊĠĠĠĠĠĠĠ Ġreturn Ġfalse čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġoverride Ġfun ĠsetInterval ( interval ID : ĠInt ) Ġ{ čĊĠĠĠĠĠĠĠ Ġ_ count Frame . value Ġ= Ġcount Frame . value . copy ( is Start Ġ= Ġtrue , Ġinterval ID Ġ= Ġinterval ID ) čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġoverride Ġfun ĠclearInterval (): ĠInt Ġ{ čĊĠĠĠĠĠĠĠ Ġval Ġtmp Ġ= Ġcount Frame . value . interval ID čĊĠĠĠĠĠĠĠ Ġ_ count Frame . value Ġ= Ġcount Frame . value . copy ( is Start Ġ= Ġfalse , Ġinterval ID Ġ= Ġ 0 ) čĊĠĠĠĠĠĠĠ Ġreturn Ġtmp čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġoverride Ġfun Ġset Count ( count : ĠInt ){ čĊĠĠĠĠĠĠĠ Ġ_ count Frame . value Ġ= Ġcount Frame . value . copy ( count Ġ= Ġcount ) čĊĠĠĠ Ġ} č Ċ } čĊ