/* Ċ Ġ* ĠCopyright Ġ 2 0 1 9 ĠNew ĠVector ĠLtd Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ package Ġim . vector . app . features . reactions Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . lifecycle . lifecycle Scope Ċ import Ġim . vector . app . core . extensions . cleanup Ċ import Ġim . vector . app . core . platform . Vector Base Fragment Ċ import Ġim . vector . app . databinding . Emoji Chooser Fragment Binding Ċ Ċ import Ġjavax . inject . Inject Ċ Ċ class ĠEmoji Chooser Fragment Ġ@ Inject Ġconstructor ( ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġemoji Recycler Adapter : ĠEmoji Recycler Adapter Ċ ) Ġ: ĠVector Base Fragment < Emoji Chooser Fragment Binding >(), ĊĠĠĠĠĠĠĠ ĠEmoji Recycler Adapter . Interaction Listener , ĊĠĠĠĠĠĠĠ ĠRe action ClickListener Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġget Binding ( in flater : ĠLayoutInflater , Ġcontainer : ĠViewGroup ?): ĠEmoji Chooser Fragment Binding Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠEmoji Chooser Fragment Binding . inflate ( in flater , Ġcontainer , Ġfalse ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar ĠviewModel : ĠEmoji Chooser ViewModel ĊĊĠĠĠ Ġoverride Ġfun Ġon View Created ( view : ĠView , ĠsavedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on View Created ( view , ĠsavedInstanceState ) ĊĠĠĠĠĠĠĠ ĠviewModel Ġ= Ġactivity ViewModel Provider . get ( Emoji Chooser ViewModel :: class . java ) ĊĊĠĠĠĠĠĠĠ Ġemoji Recycler Adapter . reaction ClickListener Ġ= Ġthis ĊĠĠĠĠĠĠĠ Ġemoji Recycler Adapter . interaction Listener Ġ= Ġthis ĊĊĠĠĠĠĠĠĠ Ġviews . emoji RecyclerView . adapter Ġ= Ġemoji Recycler Adapter ĊĊĠĠĠĠĠĠĠ ĠviewModel . moveTo Section . observe ( view Lifecycle Owner ) Ġ{ Ġsection Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġemoji Recycler Adapter . scrollTo Section ( section ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Coroutine Scope () Ġ= Ġlifecycle Scope ĊĊĠĠĠ Ġoverride Ġfun Ġfirst Visible Section Change ( section : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ ĠviewModel . setCurrent Section ( section ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Reaction Selected ( reaction : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ ĠviewModel . on Reaction Selected ( reaction ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Destroy View () Ġ{ ĊĠĠĠĠĠĠĠ Ġviews . emoji RecyclerView . cleanup () ĊĠĠĠĠĠĠĠ Ġemoji Recycler Adapter . reaction ClickListener Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġemoji Recycler Adapter . interaction Listener Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġsuper . on Destroy View () ĊĠĠĠ Ġ} Ċ } Ċ