package Ġde . st ef an med ack . cc ct v . util Ċ Ċ import Ġandroid . os . Build Ċ import Ġandroid . text . Html Ċ import Ġde . st ef an med ack . cc ct v . Build Config . DEBUG Ċ import Ġde . st ef an med ack . cc ct v . model . Conference Group Ċ import Ġde . st ef an med ack . cc ct v . persistence . entities . Conference Ċ import Ġde . st ef an med ack . cc ct v . persistence . entities . Event Ċ import Ġinfo . met ad ude . kotlin . library . c 3 media . models . Language Ċ import Ġinfo . met ad ude . kotlin . library . c 3 media . models . Recording Ċ import Ġtim ber . log . Tim ber Ċ import Ġjava . util .* Ċ import Ġde . st ef an med ack . cc ct v . persistence . entities . Conference Ġas ĠConference Entity Ċ import Ġinfo . met ad ude . kotlin . library . c 3 media . models . Conference Ġas ĠConference Remote Ċ import Ġinfo . met ad ude . kotlin . library . c 3 media . models . Event Ġas ĠEvent Remote Ċ Ċ fun ĠList < Conference >. group Con fer ences (): ĠMap < Conference Group , ĠList < Conference Entity >> Ġ= Ġgroup By Ġ{ Ġit . group Ġ} ĊĠĠĠĠĠĠĠ Ġ. to Sorted Map () Ċ Ċ fun ĠEvent Remote . best Recording ( favorite Language : ĠLanguage , Ġis Favorite Quality High : ĠBoolean Ġ= Ġtrue ): ĠRecord ing ? Ġ{ ĊĠĠĠ Ġval Ġsorted Record ings Ġ= Ġthis . record ings ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ? . filter Ġ{ Ġit . mime Type Ġin ĠSUPPORT ED _ VIDEO _ MIME _ TYPE _ SORT ING Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ? . sorted With ( Comparator Ġ{ Ġlhs , Ġrhs Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlhs . high Quality Ġ!= Ġrhs . high Quality Ġ-> Ġwhen Ġ( is Favorite Quality High ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtrue Ġ-> Ġif Ġ( lhs . high Quality ) Ġ- 1 Ġelse Ġ 1 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfalse Ġ-> Ġif Ġ( lhs . high Quality ) Ġ 1 Ġelse Ġ- 1 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlhs . language Ġ!= Ġrhs . language Ġ-> Ġlhs . language Sorting Index ( favorite Language ) Ġ- Ġrhs . language Sorting Index ( favorite Language ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlhs . video Sorting Index () Ġ!= Ġrhs . video Sorting Index () Ġ-> Ġlhs . video Sorting Index () Ġ- Ġrhs . video Sorting Index () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġif Ġ( DEBUG ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsorted Record ings ?. forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTim ber . d (" EventId :${ this . guid }: mime =${ it . mime Type }; Ġh q =${ it . high Quality }; Ġres =${ it . height }/${ it . width }; lang =${ it . language }") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġreturn Ġsorted Record ings ?. first OrNull () Ċ } Ċ Ċ fun ĠEvent . get Related Event Guid s Weighted (): ĠList < String > Ġ= Ġrelated ĊĠĠĠĠĠĠĠ Ġ. as Sequence () ĊĠĠĠĠĠĠĠ Ġ. sorted By Descending Ġ{ Ġit . weight Ġ} ĊĠĠĠĠĠĠĠ Ġ. map NotNull Ġ{ Ġit . event Guid Ġ} ĊĠĠĠĠĠĠĠ Ġ. toList () Ċ Ċ fun ĠRecord ing . video Sorting Index (): ĠInt Ġ= ĊĠĠĠĠĠĠĠ Ġif Ġ( SUPPORTED _ VIDEO _ MIME _ TYPE _ SORT ING . contains ( this . mime Type )) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSUPPORT ED _ VIDEO _ MIME _ TYPE _ SORT ING . indexOf ( this . mime Type ) ĊĠĠĠĠĠĠĠ Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSUPPORT ED _ VIDEO _ MIME _ TYPE _ SORT ING . size Ċ Ċ fun ĠRecord ing . language Sorting Index ( favorite Language : ĠLanguage ): ĠInt Ġ{ ĊĠĠĠ Ġif Ġ( this . language ?. contains ( favorite Language ) Ġ== Ġtrue ) Ġreturn Ġthis . language ?. size Ġ?: Ġ 1 ĊĠĠĠ Ġreturn Ġ 4 2 Ċ } Ċ Ċ fun ĠString . strip Html (): ĠString Ġ= ĊĠĠĠĠĠĠĠ Ġif Ġ( Build . VERSION . SDK _ INT Ġ>= ĠBuild . VERSION _ CODES . N ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠHtml . from Html ( this , ĠHtml . FROM _ HTML _ MODE _ COMP ACT ). toString () ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Suppress (" DE PREC ATION ") ĊĠĠĠĠĠĠĠĠĠĠĠ ĠHtml . from Html ( this ). toString () ĊĠĠĠĠĠĠĠ Ġ} Ċ