package Ġcom . google . fonts . col rv 1 Ċ Ċ import Ġandroid . graphics . Type face Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . util . Log Ċ import Ġandroid . util . Typed Value . COMPLEX _ UNIT _ PX Ċ import Ġandroid . widget . LinearLayout Ċ import Ġandroid . widget . TextView Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġcom . google . fonts . col rv 1 . databinding . Activity Main Binding Ċ import Ġcom . google . gson . Gson Ċ import Ġjava . io . InputStream Reader Ċ import Ġjava . lang . StringBuilder Ċ import Ġjava . nio . charset . StandardCharsets . UTF _ 8 ĊĊ Ċ class ĠMainActivity Ġ: ĠAppCompatActivity () Ġ{ ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġbinding : ĠActivity Main Binding ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĊĠĠĠĠĠĠĠ Ġbinding Ġ= ĠActivity Main Binding . inflate ( layout Inflater ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( binding . root ) ĊĊĠĠĠĠĠĠĠ Ġval Ġb unge esp ice Ġ= ĠType face . createFrom Asset ( assets , Ġ" B ungee Sp ice . ttf ") ĊĊĠĠĠĠĠĠĠ Ġval Ġordering Ġ= ĠGson (). fromJson ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠInputStreamReader ( resources . open Raw Resource ( R . raw . emoji _ 1 4 _ 0 _ ordering ), ĠUTF _ 8 ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArray < Emoji Group >:: class . java ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġlayout Ġ= ĠfindViewById < LinearLayout >( R . id . emoji _ list ) ĊĠĠĠĠĠĠĠ Ġordering . forEach Ġ{ Ġgroup Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġheading Ġ= ĠtextView ( R . dim en . heading _ size , Ġgroup . group ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġheading . type face Ġ= Ġb unge esp ice ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlayout . addView ( heading ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsb Ġ= ĠStringBuilder () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgroup . emoji . forEach Ġ{ Ġemoji Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġemoji . base . forEach ( sb :: append Code Point ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLog . i (" Emoji Sequence ", Ġsb . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlayout . addView ( textView ( R . dim en . emoji _ size , Ġsb . toString ())) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun ĠtextView ( size : ĠInt , Ġtext : ĠString ): ĠTextView Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtv Ġ= ĠTextView ( application Context ) ĊĠĠĠĠĠĠĠ Ġtv . setText Size ( COMPLEX _ UNIT _ PX , Ġresources . get Dimension ( size )) ĊĠĠĠĠĠĠĠ Ġtv . setText ( text ) ĊĠĠĠĠĠĠĠ Ġreturn Ġtv ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġclass ĠEmoji Group Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġgroup : ĠString Ġ= Ġ""; ĊĠĠĠĠĠĠĠ Ġval Ġemoji : ĠArray < Emoji > Ġ= Ġempty Array (); ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġclass ĠEmoji Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġbase : ĠArray < Int > Ġ= Ġempty Array (); ĊĠĠĠ Ġ} Ċ }