/* Ċ Ġ* ĠCopyright ĠÂ© Ġ 2 0 2 1 ĠSh ah ri ar ĠN as im ĠN af i . ĠAll Ġrights Ġreserved . Ċ Ġ*/ Ċ Ċ package Ġs nn af i . mol ar . mass . calculator . adapter Ċ Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġs nn af i . mol ar . mass . calculator . R Ċ import Ġs nn af i . mol ar . mass . calculator . databinding . Element Info View Binding Ċ import Ġs nn af i . mol ar . mass . calculator . model . Element Info Kotlin Ċ Ċ class ĠElement Info Adapter ( val Ġelement Infos : ĠArrayList < Element Info Kotlin >, Ġvar Ġtotal Mass : ĠDouble ) Ġ: ĊĠĠĠ ĠRecyclerView . Adapter < Element Info Adapter . Element Info Holder >() Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠElement Info Holder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġelement Info Kotlin Ġ= Ġelement Infos [ position ] ĊĠĠĠĠĠĠĠ Ġholder . binding . name . text Ġ= Ġelement Info Kotlin . symbol ĊĠĠĠĠĠĠĠ Ġholder . binding . total . text Ġ= Ġelement Info Kotlin . number . toString () ĊĊĠĠĠĠĠĠĠ Ġval Ġmol ar Mass Ġ= Ġget Element M olar Mass By Symbol ( element Info Kotlin . symbol ) ĊĠĠĠĠĠĠĠ Ġholder . binding . mol ar Mass . text Ġ= ĠString . format ("% . 4 f Ġg / mol ", Ġmol ar Mass ) ĊĊĠĠĠĠĠĠĠ Ġval Ġtotal Element Mass Ġ= Ġmol ar Mass Ġ* Ġelement Info Kotlin . number ĊĠĠĠĠĠĠĠ Ġholder . binding . subtotal Mass . text Ġ= ĠString . format ("% . 2 f Ġg / mol ", Ġtotal Element Mass ) ĊĠĠĠĠĠĠĠ Ġholder . binding . percentage . text Ġ= ĠString . format ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"% . 2 f ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtotal Element Mass Ġ/ Ġtotal Mass Ġ* Ġ 1 0 0 ĊĠĠĠĠĠĠĠ Ġ) Ġ+ Ġholder . item View . context . resources . getString ( R . string . percentage ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠElement Info Holder Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠElement Info Holder ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLayoutInflater . from ( parent . context ). inflate ( R . layout . element _ info _ view , Ġparent , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġelement Infos . size ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġclass ĠElement Info Holder ( element View : ĠView ) Ġ: ĠRecyclerView . ViewHolder ( element View ) Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġbinding : ĠElement Info View Binding Ġ= ĠElement Info View Binding . bind ( item View ); ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠNative Ġmethod ( s ) Ġthat Ġis Ġimplemented Ġby Ġthe Ġ' mol ar _ mass _ calculator ' Ġnative Ġlibrary , ĊĠĠĠĠ Ġ* Ġwhich Ġis Ġpackaged Ġwith Ġthis Ġapplication . ĊĠĠĠĠ Ġ*/ ĊĊĠĠĠ Ġexternal Ġfun Ġget Element M olar Mass By Symbol ( symbol : ĠString ): ĠDouble ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠUsed Ġto Ġload Ġthe Ġ' mol ar _ mass _ calculator ' Ġlibrary Ġon Ġapplication Ġstartup . ĊĠĠĠĠĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSystem . load Library (" mol ar _ mass _ calculator ") ĊĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }