package Ġcom . j um box . tek ate k is il ang čĊč Ċ import Ġandroid . graphics . Type face č Ċ import Ġandroid . os . Bundle č Ċ import Ġandroid . os . Count Down Timer č Ċ import Ġandroid . support . v 4 . app . Fragment č Ċ import Ġandroid . support . v 7 . widget . Grid LayoutManager č Ċ import Ġandroid . support . v 7 . widget . RecyclerView č Ċ import Ġandroid . text . Html č Ċ import Ġandroid . view . LayoutInflater č Ċ import Ġandroid . view . View č Ċ import Ġandroid . view . ViewGroup č Ċ import Ġandroid . widget . Button č Ċ import Ġandroid . widget . Relative Layout č Ċ import Ġandroid . widget . TextView č Ċ import Ġcom . j um box . tts . dialogs . Dialog Listener č Ċ import Ġkotlinx . android . synt hetic . main . layout _ key pad . view .* č Ċ import Ġjava . util .* čĊč Ċ /** čĊ Ġ* Created Ġby ĠJ um adi ĠJan j aya čĊ Ġ* 1 3 , ĠDecember , Ġ 2 0 1 8 čĊ Ġ* J um box ĠSt ud ios , čĊ Ġ* B eng k ulu , ĠInd onesia . čĊ Ġ*/ č Ċ class ĠMain Game Frag met Ġ: ĠFragment (), ĠT ts Adapter . T ts Listener , ĠA ds Game Listener , ĠDialog Listener Ġ{ čĊĠĠĠ Ġoverride Ġfun Ġon Inter stitial Show () Ġ{ čĊĠĠĠĠĠĠĠ Ġadapter . b ant uan ( true ) čĊĠĠĠĠĠĠĠ ĠData Game . get (). set B ant uan ( true ) čĊĠĠĠĠĠĠĠ Ġadapter . update All Data T ts () čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġoverride Ġfun Ġdi Click ( id : ĠInt ) Ġ{ čĊĠĠĠĠĠĠĠ Ġwhen ( id ) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ ĠJ Dialog . DIALOG _ T ONT ON Ġ-> Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( Build Config . is Ads Ad mob Ġ&& ĠA ds Game . ads Game !!. is Video Reward Load ()) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠA ds Game . ads Game !!. show Video Reward () čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġif (! Build Config . is Ads Ad mob Ġ&& ĠAd Game . ad Game !!. is Video Reward Load ()) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAd Game . ad Game !!. show Video Reward () čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdialog G agal Load Ġ= Ġ ĠJ Dialog () čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbundle Ġ= ĠBundle () čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbundle . put Int ( J Dialog . DIALOG , ĠJ Dialog . DIALOG _ G AG AL _ LOAD ) čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdialog G agal Load . arguments Ġ= Ġbundle čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdialog G agal Load . set Listener ( this ) čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtransaction Ġ= Ġactivity !!. support FragmentManager . beginTransaction () čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtransaction . add ( dialog G agal Load , Ġnull ). show ( dialog G agal Load ). commit () čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdialog G agal Load . is Cancel able Ġ= Ġfalse čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} čĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} čĊĠĠĠĠĠĠĠĠĠĠĠ ĠJ Dialog . DIALOG _ G AG AL _ LOAD Ġ-> Ġ{} čĊčĊĠĠĠĠĠĠĠĠĠĠĠ ĠJ Dialog . DIALOG _ G UNA _ B ANT U AN Ġ-> Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdialog T ont on Ġ= Ġ ĠJ Dialog () čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbundle Ġ= ĠBundle () čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbundle . put Int ( J Dialog . DIALOG , ĠJ Dialog . DIALOG _ T ONT ON ) čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdialog T ont on . arguments Ġ= Ġbundle čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdialog T ont on . set Listener ( this ) čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtransaction Ġ= Ġactivity !!. support FragmentManager . beginTransaction () čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtransaction . add ( dialog T ont on , Ġnull ). show ( dialog T ont on ). commit () čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdialog T ont on . is Cancel able Ġ= Ġfalse čĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} čĊĠĠĠĠĠĠĠĠĠĠĠ ĠJ Dialog . DIALOG _ G UNA _ INTER STIT IAL Ġ-> Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif ( Build Config . is Ads Ad mob ) ĠA ds Game . ads Game !!. show Inter stitial ( 1 ) čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse ĠAd Game . ad Game !!. show Inter stitial ( 1 ) čĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} čĊĠĠĠĠĠĠĠ Ġ} čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġoverride Ġfun Ġclick ( pos isi : ĠInt , Ġtx tp K ode : ĠString , Ġno Ub ah : ĠBoolean ) Ġ{ čĊĠĠĠĠĠĠĠ Ġval Ġt ts Ġ= Ġadapter . get ( pos isi ) čĊĠĠĠĠĠĠĠ Ġthis . txt J aw aban Ġ= Ġtx tp K ode čĊčĊĠĠĠĠĠĠĠ Ġvar Ġtx tk ode Ġ= Ġ"" čĊĠĠĠĠĠĠĠ Ġvar Ġpet unj uk Ġ= Ġ"" čĊĠĠĠĠĠĠĠ Ġif Ġ( tts . kode . contains (" :" )) Ġ{ čĊčĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġko Ġ= Ġt ts . kode . split (": ") čĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpt Ġ= Ġt ts . cl ue . split ("; ") čĊčĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( tx tp K ode Ġ== Ġko [ 0 ]) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtx tk ode Ġ= Ġko [ 0 ] čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpet unj uk Ġ= Ġpt [ 0 ] čĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( tx tp K ode Ġ== Ġko [ 1 ]) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtx tk ode Ġ= Ġko [ 1 ] čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpet unj uk Ġ= Ġpt [ 1 ] čĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} čĊčĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġtx tk ode Ġ= Ġt ts . kode čĊĠĠĠĠĠĠĠĠĠĠĠ Ġpet unj uk Ġ= Ġt ts . cl ue čĊĠĠĠĠĠĠĠ Ġ} čĊčĊĠĠĠĠĠĠĠ Ġset Text Btn ( txt kode , Ġt ts . id , Ġno Ub ah ) čĊčĊĠĠĠĠĠĠĠ Ġif Ġ( pet unj uk Ġ!= Ġ"") Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġu Ġ= Ġpet unj uk [ 0 ]. toString () čĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbal Ġ= Ġu . toUpperCase () čĊĠĠĠĠĠĠĠĠĠĠĠ Ġtv Pet unj uk . text Ġ= Ġpet unj uk . replace First ( u , Ġbal ) čĊĠĠĠĠĠĠĠ Ġ} čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġoverride Ġfun Ġon Rew arded Video Completed () Ġ{ čĊĠĠĠĠĠĠĠ Ġadapter . b ant uan ( true ) čĊĠĠĠĠĠĠĠ ĠData Game . get (). set B ant uan ( true ) čĊĠĠĠĠĠĠĠ Ġadapter . update All Data T ts () čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġcompanion Ġobject Ġ{ čĊĠĠĠĠĠĠĠ Ġvar ĠTAG Ġ= Ġ" Main Game Fragment " čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġprivate Ġval Ġbtn Key pad : ĠArrayList < Button > Ġ= ĠArrayList () čĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġbtn H ap us : ĠButton čĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġbtn C ek : ĠButton čĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġbtn B ant uan : ĠButton čĊčĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġtv Point : ĠTextView čĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġtv Level : ĠTextView čĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġtv Score : ĠTextView čĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġtv Pet unj uk : ĠTextView čĊčĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġbar : ĠRelative Layout čĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġkey pad : ĠRelative Layout čĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġrel Pet unj uk : ĠRelative Layout čĊčĊĠĠĠ Ġprivate Ġval Ġadapter : ĠT ts Adapter Ġ= ĠT ts Adapter () čĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġre cyclerView : ĠRecyclerView čĊčĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġmanager : Manager Level čĊčĊĠĠĠ Ġprivate Ġvar Ġtxt J aw aban : ĠString Ġ= Ġ"" čĊĠĠĠ Ġprivate Ġvar Ġj um K ot ak T ts : ĠInt Ġ= Ġ 0 čĊĠĠĠ Ġprivate Ġvar Ġj um K ot ak Ben ar T ts Ġ= Ġ 0 čĊĠĠĠ Ġvar Ġtxt Pet unj uk Old : ĠString Ġ= Ġ"" čĊĠĠĠ Ġvar Ġj um C ek : ĠInt Ġ= Ġ 1 5 čĊĠĠĠ Ġvar Ġpoint : ĠInt Ġ= Ġ 1 0 0 čĊčĊĠĠĠ Ġ@ Suppress (" DE PREC ATION ") čĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( in flater : ĠLayoutInflater , Ġcontainer : ĠViewGroup ?, ĠsavedInstanceState : ĠBundle ?): ĠView ? Ġ{ čĊĠĠĠĠĠĠĠ Ġval Ġv Ġ= Ġinflater . inflate ( R . layout . fragment _ main _ game , Ġcontainer , Ġfalse ) čĊĠĠĠĠĠĠĠ Ġ( activity Ġas ĠMainActivity ). cek Fragment Tag ( true ) čĊčĊĠĠĠĠĠĠĠ Ġbtn Key pad . add ( v . btn _ 1 ) čĊĠĠĠĠĠĠĠ Ġbtn Key pad . add ( v . btn _ 2 ) čĊĠĠĠĠĠĠĠ Ġbtn Key pad . add ( v . btn _ 3 ) čĊĠĠĠĠĠĠĠ Ġbtn Key pad . add ( v . btn _ 4 ) čĊĠĠĠĠĠĠĠ Ġbtn Key pad . add ( v . btn _ 5 ) čĊĠĠĠĠĠĠĠ Ġbtn Key pad . add ( v . btn _ 6 ) čĊĠĠĠĠĠĠĠ Ġbtn Key pad . add ( v . btn _ 7 ) čĊĠĠĠĠĠĠĠ Ġbtn Key pad . add ( v . btn _ 8 ) čĊĠĠĠĠĠĠĠ Ġbtn Key pad . add ( v . btn _ 9 ) čĊĠĠĠĠĠĠĠ Ġbtn Key pad . add ( v . btn _ 1 0 ) čĊčĊĠĠĠĠĠĠĠ Ġbtn H ap us Ġ= Ġv . findViewById ( R . id . btn _ hapus ) čĊĠĠĠĠĠĠĠ Ġbtn C ek Ġ= Ġv . findViewById ( R . id . btn _ cek ) čĊĠĠĠĠĠĠĠ Ġbtn B ant uan Ġ= Ġv . findViewById ( R . id . btn _ b ant uan ) čĊčĊĠĠĠĠĠĠĠ Ġtv Point Ġ= Ġv . findViewById ( R . id . tv _ point ) čĊĠĠĠĠĠĠĠ Ġtv Level Ġ= Ġv . findViewById ( R . id . tv _ level ) čĊĠĠĠĠĠĠĠ Ġtv Score Ġ= Ġv . findViewById ( R . id . tv _ jumlah _ point ) čĊĠĠĠĠĠĠĠ Ġtv Pet unj uk Ġ= Ġv . findViewById ( R . id . tv _ pet unj uk ) čĊčĊĠĠĠĠĠĠĠ Ġre cyclerView Ġ= Ġv . findViewById ( R . id . recyclerview ) čĊčĊĠĠĠĠĠĠĠ Ġbar Ġ= Ġv . findViewById ( R . id . tool _ bar ) čĊĠĠĠĠĠĠĠ Ġkey pad Ġ= Ġv . findViewById ( R . id . lin _ key pad ) čĊĠĠĠĠĠĠĠ Ġrel Pet unj uk Ġ= Ġv . findViewById ( R . id . rel _ pet unj uk ) čĊčĊĠĠĠĠĠĠĠ Ġtv Point . type face Ġ= ĠUtils . utils . font ( Utils . DIM BO ) čĊĠĠĠĠĠĠĠ Ġtv Level . type face Ġ= ĠUtils . utils . font ( Utils . DIM BO ) čĊĠĠĠĠĠĠĠ Ġtv Score . type face Ġ= ĠUtils . utils . font ( Utils . DIM BO ) čĊĠĠĠĠĠĠĠ Ġtv Pet unj uk . type face Ġ= ĠUtils . utils . font ( Utils . COM IC _ NE UE _ BOLD ) čĊĠĠĠĠĠĠĠ Ġbtn C ek . type face Ġ= ĠUtils . utils . font ( Utils . DIM BO ) čĊĠĠĠĠĠĠĠ Ġbtn H ap us . type face Ġ= ĠUtils . utils . font ( Utils . DIM BO ) čĊĠĠĠĠĠĠĠ Ġbtn B ant uan . type face Ġ= ĠUtils . utils . font ( Utils . DIM BO ) čĊčĊĠĠĠĠĠĠĠ Ġmanager Ġ= ĠManager Level . manager Level čĊĠĠĠĠĠĠĠ Ġadapter . set Listener ( this ) čĊčĊĠĠĠĠĠĠĠ Ġif Ġ( Build Config . is Ads Ad mob ) ĠA ds Game . ads Game !!. set Listener ( this ) čĊĠĠĠĠĠĠĠ Ġelse ĠAd Game . ad Game !!. set Listener ( this ) čĊčĊĠĠĠĠĠĠĠ Ġre cyclerView . adapter Ġ= Ġadapter čĊĠĠĠĠĠĠĠ Ġcreate T ts () čĊčĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 0 Ġuntil Ġbtn Key pad . size ) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbtn Ġ= Ġbtn Key pad [ i ] čĊĠĠĠĠĠĠĠĠĠĠĠ Ġbtn . text Ġ= ĠgetText ( R . string . te kan )[ i ]. toString () čĊĠĠĠĠĠĠĠĠĠĠĠ Ġbtn . setType face ( Utils . utils . font ( Utils . DIM BO ), ĠType face . BOLD ) čĊĠĠĠĠĠĠĠĠĠĠĠ Ġbtn . setOnClickListener Ġ{ Ġview Ġ-> čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMedia Manager . sound !!. play Click () čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġid Ġ= Ġ- 1 čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif ( view . tag Ġ!= Ġnull ) Ġid Ġ= Ġview . tag Ġas ĠInt čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġupdate K ot ak ( id , Ġbtn . text Ġas ĠString ) čĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} čĊĠĠĠĠĠĠĠ Ġ} čĊčĊĠĠĠĠĠĠĠ Ġbtn H ap us . setOnClickListener Ġ{ Ġview Ġ-> čĊĠĠĠĠĠĠĠĠĠĠĠ ĠMedia Manager . sound !!. play Click () čĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġid Ġ= Ġ- 1 čĊĠĠĠĠĠĠĠĠĠĠĠ Ġif ( view . tag Ġ!= Ġnull ) Ġid Ġ= Ġview . tag Ġas ĠInt čĊĠĠĠĠĠĠĠĠĠĠĠ Ġupdate K ot ak ( id , Ġ"") čĊĠĠĠĠĠĠĠ Ġ} čĊčĊĠĠĠĠĠĠĠ Ġbtn B ant uan . setOnClickListener Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ ĠMedia Manager . sound !!. play Click () čĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdialog B ant uan Ġ= Ġ ĠJ Dialog () čĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbundle Ġ= ĠBundle () čĊĠĠĠĠĠĠĠĠĠĠĠ Ġbundle . put Int ( J Dialog . DIALOG , ĠJ Dialog . DIALOG _ G UNA _ B ANT U AN ) čĊĠĠĠĠĠĠĠĠĠĠĠ Ġdialog B ant uan . arguments Ġ= Ġbundle čĊĠĠĠĠĠĠĠĠĠĠĠ Ġdialog B ant uan . set Listener ( this ) čĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtransaction Ġ= Ġactivity !!. support FragmentManager . beginTransaction () čĊĠĠĠĠĠĠĠĠĠĠĠ Ġtransaction . add ( dialog B ant uan , Ġnull ). show ( dialog B ant uan ). commit () čĊĠĠĠĠĠĠĠĠĠĠĠ Ġdialog B ant uan . is Cancel able Ġ= Ġfalse čĊĠĠĠĠĠĠĠ Ġ} čĊčĊĠĠĠĠĠĠĠ Ġbtn C ek . setOnClickListener Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ ĠMedia Manager . sound !!. play Click () čĊĠĠĠĠĠĠĠĠĠĠĠ Ġif ( j um C ek Ġ> Ġ 0 Ġ&& Ġ!( Data Game . get (). data . b ant uan !! )) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtimer Down . start () čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadapter . b ant uan ( true ) čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadapter . update All Data T ts () čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġj um C ek Ġ-= Ġ 1 čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpoint Ġ-= 2 čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtv Point . text Ġ= ĠgetString ( R . string . point , Ġpoint . toString ()) čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠData Game . get (). set J um C ek ( j um C ek ) čĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} else Ġif ( Data Game . get (). data . b ant uan !! ) Ġ Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtxt Ġ= Ġ"< font Ġcolor =' red '>< b >${ getString ( R . string . b ant uan _ s udah _ dig un akan )}</ b ></ font >" čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtxt Pet unj uk Old Ġ= Ġtv Pet unj uk . text . toString () čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtv Pet unj uk . setText ( Html . from Html ( txt ), ĠTextView . Buffer Type . SPAN N ABLE ) čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtimer Down . start () čĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( j um C ek Ġ== Ġ 0 ){ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdialog C ek H ab is Ġ= Ġ ĠJ Dialog () čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbundle Ġ= ĠBundle () čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbundle . put Int ( J Dialog . DIALOG , ĠJ Dialog . DIALOG _ CE K _ HAB IS ) čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdialog C ek H ab is . arguments Ġ= Ġbundle čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtransaction Ġ= Ġactivity !!. support FragmentManager . beginTransaction () čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtransaction . add ( dialog C ek H ab is , Ġnull ). show ( dialog C ek H ab is ). commit () čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdialog C ek H ab is . is Cancel able Ġ= Ġfalse čĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} čĊĠĠĠĠĠĠĠ Ġ} čĊčĊĠĠĠĠĠĠĠ Ġreturn Ġ Ġv čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġprivate Ġfun Ġcreate T ts () Ġ{ čĊĠĠĠĠĠĠĠ Ġval Ġlevel : ĠInt Ġ= Ġif Ġ( Build Config . DEBUG ) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġarguments !!. getInt (" level ") čĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ ĠData Game . get (). data . level !! čĊĠĠĠĠĠĠĠ Ġ} čĊčĊĠĠĠĠĠĠĠ Ġif Ġ( level Ġ> Ġmanager . level Count ()) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdialog Game Over Ġ= Ġ ĠJ Dialog () čĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbundle Ġ= ĠBundle () čĊĠĠĠĠĠĠĠĠĠĠĠ Ġbundle . put Int ( J Dialog . DIALOG , ĠJ Dialog . DIALOG _ GAME _ OVER ) čĊĠĠĠĠĠĠĠĠĠĠĠ Ġdialog Game Over . arguments Ġ= Ġbundle čĊĠĠĠĠĠĠĠĠĠĠĠ Ġdialog Game Over . set Listener ( this ) čĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtransaction Ġ= Ġactivity !!. support FragmentManager . beginTransaction () čĊĠĠĠĠĠĠĠĠĠĠĠ Ġtransaction . add ( dialog Game Over , Ġnull ). show ( dialog Game Over ). commit () čĊĠĠĠĠĠĠĠĠĠĠĠ Ġdialog Game Over . is Cancel able Ġ= Ġfalse čĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn čĊĠĠĠĠĠĠĠ Ġ} čĊčĊĠĠĠĠĠĠĠ Ġmanager . setLevel ( level ) čĊčĊĠĠĠĠĠĠĠ Ġval Ġs Level Ġ=( manager . level ()+ 1 ). toString () čĊĠĠĠĠĠĠĠ Ġpoint Ġ= ĠData Game . get (). get Point () čĊĠĠĠĠĠĠĠ Ġtv Level . text Ġ= ĠgetString ( R . string . level , Ġs Level ) čĊĠĠĠĠĠĠĠ Ġtv Point . text Ġ= ĠgetString ( R . string . point , Ġ"$ point Ġ") čĊĠĠĠĠĠĠĠ Ġtv Score . text Ġ= ĠgetString ( R . string . score , ĠData Game . get (). data . jumlah Point . toString ()) čĊčĊĠĠĠĠĠĠĠ Ġval Ġt ts Ġ= Ġmanager . T ts () čĊĠĠĠĠĠĠĠ Ġval Ġgrid LayoutManager Ġ= ĠGrid LayoutManager ( context , Ġmanager . kot ak ()) čĊĠĠĠĠĠĠĠ Ġre cyclerView . layout Manager Ġ= Ġgrid LayoutManager čĊĠĠĠĠĠĠĠ Ġre cyclerView . is Vertical ScrollBar Enabled Ġ= Ġfalse čĊčĊĠĠĠĠĠĠĠ Ġadapter . set K ( manager . kot ak ()) čĊĠĠĠĠĠĠĠ ĠData Game . get (). load Data Level ( manager . level ()) čĊčĊĠĠĠĠĠĠĠ Ġif Ġ( Data Game . get (). data . height Re cy Ġ== Ġnull ) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġgrid Params Ġ= Ġre cyclerView . layout Params čĊĠĠĠĠĠĠĠĠĠĠĠ Ġgrid Params . height Ġ= Ġ(( Data Game . get (). data . screen Height !! Ġ- Ġbar . layout Params . height ) Ġ- Ġrel Pet unj uk . layout Params . height ) Ġ- Ġkey pad . layout Params . height čĊĠĠĠĠĠĠĠĠĠĠĠ Ġre cyclerView . layout Params Ġ= Ġgrid Params čĊĠĠĠĠĠĠĠĠĠĠĠ ĠData Game . get (). set Height Re cy ( grid Params . height ). save () čĊĠĠĠĠĠĠĠ Ġ} čĊčĊĠĠĠĠĠĠĠ Ġval Ġhe ig Re cy Ġ= Ġ( Data Game . get (). data . height Re cy !! Ġ- Ġ( re cyclerView . padding Top Ġ+ Ġre cyclerView . padding Bottom )) čĊĠĠĠĠĠĠĠ Ġval Ġheight Ġ= Ġhe ig Re cy Ġ/ Ġmanager . kot ak (). toFloat () čĊĠĠĠĠĠĠĠ Ġval Ġs isa Ġ= Ġhe ig Re cy Ġ- Ġ( Math . round ( height ) Ġ* Ġmanager . kot ak ()) čĊčĊĠĠĠĠĠĠĠ Ġval Ġcl ue Params Ġ= Ġrel Pet unj uk . layout Params čĊĠĠĠĠĠĠĠ Ġcl ue Params . height Ġ= Ġcl ue Params . height Ġ+ Ġs isa čĊĠĠĠĠĠĠĠ Ġrel Pet unj uk . layout Params Ġ= Ġcl ue Params čĊčĊĠĠĠĠĠĠĠ Ġvar Ġcount Ġ= Ġ 0 čĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 0 Ġuntil Ġmanager . kot ak ()) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( j Ġin Ġ 0 Ġuntil Ġmanager . kot ak ()) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġm T ts Ġ= ĠT TS () čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm T ts . id Ġ= Ġcount čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm T ts . tts Ġ= Ġt ts . h T ts ( i , Ġj ) čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm T ts . kode Ġ= Ġt ts . h K ode ( i , Ġj ) čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm T ts . cl ue Ġ= Ġt ts . h Cl ue ( i , Ġj ) čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm T ts . or ie Ġ= Ġt ts . h O rie ( i , Ġj ) čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm T ts . update Ġ= ĠData Game . get (). load K ot ak ( count ) čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcount ++ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadapter . add ( m T ts ) čĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} čĊĠĠĠĠĠĠĠ Ġ} čĊčĊĠĠĠĠĠĠĠ Ġadapter . b ant uan Ġ= ĠData Game . get (). data . b ant uan !! čĊĠĠĠĠĠĠĠ Ġadapter . notify DataSet Changed () čĊčĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġprivate Ġval Ġtimer Down Ġ= Ġobject Ġ: ĠCount Down Timer ( 1 0 0 0 , Ġ 1 0 0 ) Ġ{ čĊčĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Tick ( millis Until Finished : ĠLong ) Ġ{ čĊĠĠĠĠĠĠĠ Ġ} čĊčĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Finish () Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( j um C ek Ġ> Ġ- 1 Ġ&& Ġ! Data Game . get (). data . b ant uan !! ) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadapter . b ant uan ( false ) čĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtv Pet unj uk . text Ġ= Ġtxt Pet unj uk Old čĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} čĊĠĠĠĠĠĠĠĠĠĠĠ Ġadapter . update All Data T ts () čĊĠĠĠĠĠĠĠ Ġ} čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġprivate Ġfun Ġupdate K ot ak ( id : ĠInt , Ġtxt : ĠString ) Ġ{ čĊĠĠĠĠĠĠĠ Ġvar Ġnext Pos Ġ= Ġ 0 čĊĠĠĠĠĠĠĠ Ġvar Ġpos isi Ġ= Ġ 0 čĊĠĠĠĠĠĠĠ Ġif Ġ( id Ġ< Ġ 0 ) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn čĊĠĠĠĠĠĠĠ Ġ} čĊčĊĠĠĠĠĠĠĠ Ġfor Ġ( cr Ġin Ġadapter . tts List ) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( cr . id Ġ== Ġid ) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġindex Ġ= Ġadapter . tts List . indexOf ( cr ) čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpos isi Ġ= Ġindex čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( txt Ġ!= Ġ"") Ġ{ čĊčĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( cr . kode . contains (" :" )) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġko Ġ= Ġcr . kode . split (": ") čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( txt J aw aban Ġ== Ġko [ 0 ]) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnext Pos Ġ= Ġindex Ġ+ Ġ 1 čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( txt J aw aban Ġ== Ġko [ 1 ]) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnext Pos Ġ= Ġindex Ġ+ Ġmanager . kot ak () čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnext Pos Ġ= Ġif Ġ( cr . or ie ) Ġindex Ġ+ Ġ 1 Ġelse Ġindex Ġ+ Ġmanager . kot ak () čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ čĊčĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( cr . kode . contains (" :" )) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġko Ġ= Ġcr . kode . split (": ") čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( txt J aw aban Ġ== Ġko [ 0 ]) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnext Pos Ġ= Ġindex Ġ- Ġ 1 čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( txt J aw aban Ġ== Ġko [ 1 ]) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnext Pos Ġ= Ġindex Ġ- Ġmanager . kot ak () čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnext Pos Ġ= Ġif Ġ( cr . or ie ) Ġindex Ġ- Ġ 1 Ġelse Ġindex Ġ- Ġmanager . kot ak () čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} čĊčĊč ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( next Pos Ġ> Ġadapter . item Count Ġ- Ġ 1 Ġ|| Ġnext Pos Ġ< Ġ 0 ) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnext Pos Ġ= Ġpos isi čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( next Pos Ġ< Ġadapter . item Count Ġ- Ġ 1 Ġ|| Ġnext Pos Ġ> Ġ 0 ) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtc Ġ= Ġadapter . get ( next Pos ) čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( tc . kode Ġ== Ġnull Ġ|| Ġadapter . block ( pos isi , Ġnext Pos )) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnext Pos Ġ= Ġpos isi čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcr . tts Ġ= Ġcr . tts čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcr . id Ġ= Ġcr . id čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcr . cl ue Ġ= Ġcr . cl ue čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcr . kode Ġ= Ġcr . kode čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcr . update Ġ= Ġtxt čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadapter . remove ( index ) čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadapter . add ( index , Ġcr ) čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠData Game . get (). save K ot ak ( index , Ġtxt ) čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbreak čĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} čĊĠĠĠĠĠĠĠ Ġ} čĊĠĠĠĠĠĠĠ Ġadapter . next Pos ( pos isi , Ġnext Pos ) čĊčĊĠĠĠĠĠĠĠ Ġif Ġ( cek Game ()) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdialog Winner Ġ= Ġ ĠDialog Winner () čĊĠĠĠĠĠĠĠĠĠĠĠ Ġdialog Winner . set Listener ( this ) čĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbundle Ġ= ĠBundle () čĊĠĠĠĠĠĠĠĠĠĠĠ Ġbundle . putString ( Dialog Winner . POINT , Ġpoint . toString ()) čĊĠĠĠĠĠĠĠĠĠĠĠ Ġdialog Winner . arguments Ġ= Ġbundle čĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtransaction Ġ= Ġactivity !!. support FragmentManager . beginTransaction () čĊĠĠĠĠĠĠĠĠĠĠĠ Ġtransaction . add ( dialog Winner , Ġnull ). show ( dialog Winner ). commit () čĊĠĠĠĠĠĠĠĠĠĠĠ Ġdialog Winner . is Cancel able Ġ= Ġfalse čĊĠĠĠĠĠĠĠ Ġ} čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġprivate Ġfun Ġc ek Game (): ĠBoolean Ġ{ čĊĠĠĠĠĠĠĠ Ġj umlah Ben ar () čĊĠĠĠĠĠĠĠ Ġvar Ġm C ek Ġ= Ġfalse čĊĠĠĠĠĠĠĠ Ġval Ġj Point Ġ= Data Game . get (). data . jumlah Point !!. plus ( point ) čĊĠĠĠĠĠĠĠ Ġif Ġ( j um K ot ak Ben ar T ts Ġ== Ġj um K ot ak T ts ) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ ĠData Game . get (). setLevel ( manager . level ()+ 1 ) čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. addData K ot ak () čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. clear K ot ak () čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Point ( point ) čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set J um C ek ( 1 5 ) čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set J um Points ( j Point ) čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set B ant uan ( false ) čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. save () čĊĠĠĠĠĠĠĠĠĠĠĠ Ġm C ek Ġ= Ġtrue čĊčĊĠĠĠĠĠĠĠ Ġ} čĊĠĠĠĠĠĠĠ Ġreturn Ġm C ek čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġprivate Ġfun Ġj umlah Ben ar () Ġ{ čĊĠĠĠĠĠĠĠ Ġvar Ġj umlah Ben ar Ġ= Ġ 0 čĊĠĠĠĠĠĠĠ Ġvar Ġj umlah T ts Ġ= Ġ 0 čĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 0 Ġuntil Ġadapter . tts List . size ) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtc Ġ= Ġadapter . get ( i ) čĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( tc . tts . toString (). toUpperCase () Ġ== ĠData Game . get (). load K ot ak ( i ). toUpperCase ()) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( Data Game . get (). load K ot ak ( i ) Ġ!= Ġ"") Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġj umlah Ben ar ++ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} čĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} čĊčĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( tc . tts Ġ!= Ġ" Ġ") Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġj umlah T ts ++ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} čĊĠĠĠĠĠĠĠ Ġ} čĊĠĠĠĠĠĠĠ Ġthis . j um K ot ak T ts Ġ= Ġj umlah T ts čĊĠĠĠĠĠĠĠ Ġthis . j um K ot ak Ben ar T ts Ġ= Ġj umlah Ben ar čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġprivate Ġfun Ġset Text Btn ( str : ĠString , Ġid : ĠInt , Ġno Ub ah : ĠBoolean ) Ġ{ čĊĠĠĠĠĠĠĠ Ġval Ġrandom Ġ= ĠRandom () čĊĠĠĠĠĠĠĠ Ġval Ġhur uf Ġ= Ġ" abcdefgh ijkl mnopqrst uvw xyz " čĊĠĠĠĠĠĠĠ Ġval Ġb Ġ= Ġ 1 0 čĊĠĠĠĠĠĠĠ Ġval Ġarr Ġ= ĠarrayOf Null s < String >( b ) čĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 0 Ġuntil Ġstr . length ) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġarr [ i ] Ġ= Ġstr . substring ( i , Ġi Ġ+ Ġ 1 ) čĊĠĠĠĠĠĠĠ Ġ} čĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġstr . length Ġuntil Ġb ) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġarr [ i ] Ġ= Ġ"" Ġ+ Ġhur uf [ random . nextInt ( hur uf . length )] čĊĠĠĠĠĠĠĠ Ġ} čĊčĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 0 Ġuntil Ġb ) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġstr 2 Ġ= Ġarr [ i ] čĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġnext Int Ġ= Ġrandom . nextInt ( b ) čĊĠĠĠĠĠĠĠĠĠĠĠ Ġarr [ i ] Ġ= Ġarr [ nextInt ] čĊĠĠĠĠĠĠĠĠĠĠĠ Ġarr [ nextInt ] Ġ= Ġstr 2 čĊĠĠĠĠĠĠĠ Ġ} čĊčĊĠĠĠĠĠĠĠ Ġbtn H ap us . tag Ġ= Ġid čĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 0 Ġuntil Ġbtn Key pad . size ) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbtn Ġ= Ġbtn Key pad [ i ] čĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! no Ub ah ) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbtn . text Ġ= Ġarr [ i ] čĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} čĊĠĠĠĠĠĠĠĠĠĠĠ Ġbtn . tag Ġ= Ġid čĊĠĠĠĠĠĠĠ Ġ} čĊčĊĠĠĠ Ġ} č Ċ }