package Ġcom . speech ly . client test Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . Motion Event Ċ import Ġandroid . view . View Ċ import Ġandroid . widget . TextView Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġandroidx . recyclerview . widget . Linear LayoutManager Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . speech ly . client . sl u .* Ċ import Ġcom . speech ly . client . speech . Client Ċ import Ġcom . speech ly . ui . Speech ly Button Ċ import Ġkotlinx . coroutines . Dispatch ers Ċ import Ġkotlinx . coroutines . Global Scope Ċ import Ġkotlinx . coroutines . delay Ċ import Ġkotlinx . coroutines . launch Ċ import Ġjava . util .* Ċ Ċ val Ġrepo List Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠ ĠRepo ( 1 , Ġ" TYPES CRIPT ", ĠR . drawable . logo _ typescript , Ġ" typescript ", Ġ" microsoft ", Ġ 2 2 0 0 , Ġ 6 8 5 0 0 , Ġ 9 1 0 0 ), ĊĠĠĠĠĠĠĠ ĠRepo ( 2 , Ġ" TYPES CRIPT ", ĠR . drawable . logo _ typescript , Ġ" nest ", Ġ" nestjs ", Ġ 6 6 9 , Ġ 3 4 5 0 0 , Ġ 3 2 0 0 ), ĊĠĠĠĠĠĠĠ ĠRepo ( 3 , Ġ" TYPES CRIPT ", ĠR . drawable . logo _ typescript , Ġ" vscode ", Ġ" microsoft ", Ġ 3 1 0 0 , Ġ 1 1 1 0 0 0 , Ġ 1 8 0 0 0 ), ĊĠĠĠĠĠĠĠ ĠRepo ( 4 , Ġ" TYPES CRIPT ", ĠR . drawable . logo _ typescript , Ġ" deno ", Ġ" den ol and ", Ġ 1 7 0 0 , Ġ 7 2 4 0 0 , Ġ 3 8 0 0 ), ĊĠĠĠĠĠĠĠ ĠRepo ( 5 , Ġ" GO ", ĠR . drawable . logo _ go , Ġ" kubernetes ", Ġ" kubernetes ", Ġ 3 3 0 0 , Ġ 7 4 3 0 0 , Ġ 2 6 9 0 0 ), ĊĠĠĠĠĠĠĠ ĠRepo ( 6 , Ġ" GO ", ĠR . drawable . logo _ go , Ġ" mo by ", Ġ" mo by ", Ġ 3 2 0 0 , Ġ 5 8 6 0 0 , Ġ 1 6 9 0 0 ), ĊĠĠĠĠĠĠĠ ĠRepo ( 7 , Ġ" GO ", ĠR . drawable . logo _ go , Ġ" hugo ", Ġ" go hugo io ", Ġ 1 0 0 0 , Ġ 4 7 2 0 0 , Ġ 5 4 0 0 ), ĊĠĠĠĠĠĠĠ ĠRepo ( 8 , Ġ" GO ", ĠR . drawable . logo _ go , Ġ" grafana ", Ġ" grafana ", Ġ 1 2 0 0 , Ġ 3 9 8 0 0 , Ġ 8 1 0 0 ), ĊĠĠĠĠĠĠĠ ĠRepo ( 9 , Ġ" PYTHON ", ĠR . drawable . logo _ python , Ġ" pytorch ", Ġ" pytorch ", Ġ 1 6 0 0 , Ġ 4 6 1 0 0 , Ġ 1 2 3 0 0 ), ĊĠĠĠĠĠĠĠ ĠRepo ( 1 0 , Ġ" PYTHON ", ĠR . drawable . logo _ python , Ġ" tensorflow ", Ġ" tensorflow ", Ġ 8 2 0 0 , Ġ 1 5 3 0 0 0 , Ġ 8 4 0 0 0 ), ĊĠĠĠĠĠĠĠ ĠRepo ( 1 1 , Ġ" PYTHON ", ĠR . drawable . logo _ python , Ġ" django ", Ġ" django ", Ġ 2 3 0 0 , Ġ 5 5 5 0 0 , Ġ 2 3 8 0 0 ), ĊĠĠĠĠĠĠĠ ĠRepo ( 1 2 , Ġ" PYTHON ", ĠR . drawable . logo _ python , Ġ" airflow ", Ġ" apache ", Ġ 7 3 4 , Ġ 2 0 4 0 0 , Ġ 8 0 0 0 ) Ċ ) Ċ Ċ class ĠMainActivity Ġ: ĠAppCompatActivity () Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġspeech ly Client : ĠClient Ġ= ĠClient . from Activity ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġactivity Ġ= Ġthis , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠappId Ġ= ĠUUID . fromString (" 3 1 2 1 3 7 a 2 - 1 c 8 b - 4 7 f 8 - a 5 5 3 - b 8 8 b 1 a 8 8 4 e 0 8 ") ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġprivate Ġvar Ġbutton : ĠSpeech ly Button ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar ĠtextView : ĠTextView ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġre cyclerView : ĠRecyclerView ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġrepo Adapter : ĠRepo Recycler Adapter ĊĠĠĠ Ġprivate Ġvar Ġlanguage Filter : ĠString ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġsort Field : ĠString ? Ġ= Ġnull ĊĊĠĠĠ Ġprivate Ġvar Ġbutton Touch Listener Ġ= Ġobject Ġ: ĠView . On Touch Listener Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Touch ( v : ĠView ?, Ġevent : ĠMotion Event ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( event ?. action ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMotion Event . ACTION _ DOWN Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠtextView ?. visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠtextView ?. text Ġ= Ġ"" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġspeech ly Client ?. start Context () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMotion Event . ACTION _ UP Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġspeech ly Client !!. stop Context () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠGlobal Scope . launch ( Dispatch ers . Default ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdelay ( 5 0 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠtextView ?. visibility Ġ= ĠView . IN VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ main ) ĊĠĠĠĠĠĠĠ Ġthis . button Ġ= ĠfindViewById ( R . id . speech ly ) ĊĠĠĠĠĠĠĠ Ġthis . re cyclerView Ġ= ĠfindViewById ( R . id . recycler _ view ) ĊĠĠĠĠĠĠĠ Ġthis . textView Ġ= ĠfindViewById ( R . id . textView ) ĊĠĠĠĠĠĠĠ ĠtextView ?. visibility Ġ= ĠView . IN VISIBLE ĊĊĊĠĠĠĠĠĠĠ ĠGlobal Scope . launch ( Dispatch ers . Default ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġspeech ly Client ?. on Segment Change Ġ{ Ġsegment : ĠSegment Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtranscript : ĠString Ġ= Ġsegment . words . values . map { it . value }. join ToString (" Ġ") ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠGlobal Scope . launch ( Dispatch ers . Main ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠtextView ?. setText ("${ transcript }") ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( segment . intent Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhen ( segment . intent ?. intent ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" filter " Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlanguage Filter Ġ= Ġsegment . getEntity ByType (" language ") ?. value ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġupdate List () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" sort " Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsort Field Ġ= Ġsegment . getEntity ByType (" sort _ field ") ?. value ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġupdate List () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" reset " Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlanguage Filter Ġ= Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġupdate List () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġbutton ?. setOn Touch Listener ( button Touch Listener ) ĊĊĠĠĠĠĠĠĠ Ġre cyclerView ?. apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlayout Manager Ġ= ĠLinearLayoutManager ( this @ MainActivity ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrepo Adapter Ġ= ĠRepo Recycler Adapter () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadapter Ġ= Ġrepo Adapter ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġupdate List () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġupdate List () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġlist Ġ= Ġrepo List . filter Ġ{ Ġrepo : ĠRepo Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlanguage Filter Ġ== Ġnull Ġ|| Ġrepo . language Ġ== Ġlanguage Filter ĊĠĠĠĠĠĠĠ Ġ}. sorted With ( Comparator Ġ{ Ġr 1 : ĠRepo , Ġr 2 : ĠRepo Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( sort Field ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" NAME " Ġ-> Ġif Ġ( r 1 . name Ġ> Ġr 2 . name ) Ġ 1 Ġelse Ġ- 1 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" LANGUAGE " Ġ-> Ġif Ġ( r 1 . language Ġ> Ġr 2 . language ) Ġ 1 Ġelse Ġ- 1 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" FOLLOW ERS " Ġ-> Ġr 2 . followers Ġ- Ġr 1 . followers ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" STAR S " Ġ-> Ġr 2 . stars Ġ- Ġr 1 . stars ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" F ORK S " Ġ-> Ġr 2 . fork s Ġ- Ġr 1 . fork s ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ( r 1 . id Ġ- Ġr 2 . id ). toInt () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġrepo Adapter . submit List ( list ) ĊĠĠĠĠĠĠĠ Ġrepo Adapter . notify DataSet Changed () ĊĠĠĠ Ġ} Ċ } Ċ