/* Ċ Ġ* ĠCopyright Ġ 2 0 2 0 Ġ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 . settings . devices Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . os . Parcelable Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . core . view . isVisible Ċ import Ġcom . air bnb . mv rx . M aver icks Ċ import Ġcom . air bnb . mv rx . fragment ViewModel Ċ import Ġcom . air bnb . mv rx . parent Fragment ViewModel Ċ import Ġcom . air bnb . mv rx . with State Ċ import Ġdagger . h ilt . android . Android EntryPoint Ċ import Ġim . vector . app . core . extensions . cleanup Ċ import Ġim . vector . app . core . extensions . configure With Ċ import Ġim . vector . app . core . platform . Vector Base Bottom Sheet Dialog Fragment Ċ import Ġim . vector . app . databinding . Bottom Sheet Generic List With Title Binding Ċ import Ġkotlinx . parcel ize . Parcel ize Ċ import Ġjavax . inject . Inject Ċ Ċ @ Parcel ize Ċ data Ġclass ĠDevice Verification Info Args ( ĊĠĠĠĠĠĠĠ Ġval ĠuserId : ĠString , ĊĠĠĠĠĠĠĠ Ġval ĠdeviceId : ĠString Ċ ) Ġ: ĠParcel able Ċ Ċ @ Android EntryPoint Ċ class ĠDevice Verification Info Bottom Sheet Ġ: ĊĠĠĠĠĠĠĠ ĠVector Base Bottom Sheet Dialog Fragment < Bottom Sheet Generic List With Title Binding >(), ĊĠĠĠĠĠĠĠ ĠDevice Verification Info Bottom Sheet Controller . Callback Ġ{ ĊĊĠĠĠ Ġprivate Ġval ĠviewModel : ĠDevice Verification Info Bottom Sheet ViewModel Ġby Ġfragment ViewModel ( Device Verification Info Bottom Sheet ViewModel :: class ) ĊĊĠĠĠ Ġprivate Ġval Ġshared ViewModel : ĠDevices ViewModel Ġby Ġparent Fragment ViewModel ( Devices ViewModel :: class ) ĊĊĠĠĠ Ġ@ Inject Ġlateinit Ġvar Ġcontroller : ĠDevice Verification Info Bottom Sheet Controller ĊĊĠĠĠ Ġoverride Ġfun Ġget Binding ( in flater : ĠLayoutInflater , Ġcontainer : ĠViewGroup ?): ĠBottom Sheet Generic List With Title Binding Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠBottom Sheet Generic List With Title Binding . inflate ( in flater , Ġcontainer , Ġfalse ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon View Created ( view : ĠView , ĠsavedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on View Created ( view , ĠsavedInstanceState ) ĊĠĠĠĠĠĠĠ Ġviews . bottom Sheet RecyclerView . configure With ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontroller , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhas Fixed Size Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġcontroller . callback Ġ= Ġthis ĊĠĠĠĠĠĠĠ Ġviews . bottom Sheet Title . isVisible Ġ= Ġfalse ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Destroy View () Ġ{ ĊĠĠĠĠĠĠĠ Ġviews . bottom Sheet RecyclerView . cleanup () ĊĠĠĠĠĠĠĠ Ġsuper . on Destroy View () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġinvalidate () Ġ= Ġwith State ( viewModel ) Ġ{ ĊĠĠĠĠĠĠĠ Ġcontroller . setData ( it ) ĊĠĠĠĠĠĠĠ Ġsuper . invalidate () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġnew Instance ( userId : ĠString , ĠdeviceId : ĠString ): ĠDevice Verification Info Bottom Sheet Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġargs Ġ= ĠBundle () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġparcel able Args Ġ= ĠDevice Verification Info Args ( userId , ĠdeviceId ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġargs . put Parcelable ( M aver icks . KEY _ ARG , Ġparcel able Args ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠDevice Verification Info Bottom Sheet (). apply Ġ{ Ġarguments Ġ= Ġargs Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Action ( action : ĠDevices Action ) Ġ{ ĊĠĠĠĠĠĠĠ Ġdismiss () ĊĠĠĠĠĠĠĠ Ġshared ViewModel . handle ( action ) ĊĠĠĠ Ġ} Ċ } Ċ