/* Ċ Ġ* ĠCopyright Ġ 2 0 1 8 , ĠThe ĠAndroid ĠOpen ĠSource ĠProject Ċ Ġ* Ċ Ġ* Ġ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 Ġcom . example . android . track mys leep quality . sleep tracker Ċ Ċ import Ġandroid . graphics . Color Ċ import Ġandroid . text . Layout Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . ImageView Ċ import Ġandroid . widget . TextView Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . example . android . track mys leep quality . R Ċ import Ġcom . example . android . track mys leep quality . Text Item ViewHolder Ċ import Ġcom . example . android . track mys leep quality . convert Duration To Formatted Ċ import Ġcom . example . android . track mys leep quality . convert Numeric Quality ToString Ċ import Ġcom . example . android . track mys leep quality . database . Sleep Night Ċ Ċ class ĠSleep Night Adapter Ġ: ĠRecyclerView . Adapter < Sleep Night Adapter . ViewHolder >() Ġ{ ĊĠĠĠ Ġ// Ġlist Ġof Ġsleep Ġnight Ġentities ĊĠĠĠ Ġvar Ġdata Ġ= ĠlistOf < Sleep Night >() ĊĊĠĠĠ Ġ// Ġcustom Ġsetter ĊĠĠĠ Ġ// Ġwill Ġuse Ġthe Ġadapt or Ġto Ġbind Ġitems Ġthat Ġshould Ġbe Ġon Ġthe Ġscreen . ĊĠĠĠ Ġ// Ġit Ġwill Ġthe Ġthe Ġre cycler Ġview Ġthat Ġdata Ġhas Ġchanged ĊĠĠĠ Ġset ( value ) Ġ{ ĊĠĠĠĠĠĠĠ Ġfield Ġ= Ġvalue ĊĠĠĠĠĠĠĠ Ġnotify DataSet Changed () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// ĠSo Ġthe Ġre cycler Ġview Ġhow Ġmany Ġitems Ġwe Ġwant Ġto Ġdisplay ĊĠĠĠ Ġoverride Ġfun ĠgetItem Count () Ġ= Ġdata . size ĊĊĠĠĠ Ġ// ĠRetrieves Ġitem Ġfrom Ġthe Ġdata Ġlist ĊĠĠĠ Ġ// ĠSet Ġup Ġso Ġthe Ġre cycler Ġview Ġcan Ġrender Ġthe Ġdata ĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġitem Ġ= Ġdata [ position ] ĊĠĠĠĠĠĠĠ Ġval Ġres Ġ= Ġholder . item View . context . resources ĊĠĠĠĠĠĠĠ Ġholder . sleep Length . text Ġ= Ġconvert Duration To Formatted ( item . startTime Milli , Ġitem . endTime Milli , Ġres ) ĊĠĠĠĠĠĠĠ Ġholder . quality . text Ġ= Ġconvert Numeric Quality ToString ( item . sleep Quality , Ġres ) ĊĠĠĠĠĠĠĠ Ġholder . quality Image . setImage Resource ( when Ġ( item . sleep Quality ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠ 0 Ġ-> ĠR . drawable . ic _ sleep _ 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 Ġ-> ĠR . drawable . ic _ sleep _ 1 ĊĠĠĠĠĠĠĠĠĠĠĠĠ 2 Ġ-> ĠR . drawable . ic _ sleep _ 2 ĊĠĠĠĠĠĠĠĠĠĠĠĠ 3 Ġ-> ĠR . drawable . ic _ sleep _ 3 ĊĠĠĠĠĠĠĠĠĠĠĠĠ 4 Ġ-> ĠR . drawable . ic _ sleep _ 4 ĊĠĠĠĠĠĠĠĠĠĠĠĠ 5 Ġ-> ĠR . drawable . ic _ sleep _ 5 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> ĠR . drawable . ic _ sleep _ active ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// Ġinfl ates Ġthe ĠText Item Ġview Ġand Ġreturn Ġthe ĠViewHolder ĊĠĠĠ Ġ// Ġprovide Ġthe Ġview Ġholder Ġwhen Ġrequested ĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠViewHolder Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġlayout Inflater Ġ= ĠLayoutInflater . from ( parent . context ) ĊĠĠĠĠĠĠĠ Ġval Ġview Ġ= Ġlayout Inflater . inflate ( R . layout . list _ item _ sleep _ night , Ġparent , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġreturn ĠViewHolder ( view ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// ĠLet Ġthe Ġre cycle Ġview Ġnode Ġwhen Ġthe Ġdata Ġchanges ĊĊĠĠĠ Ġ// Ġinternal Ġview Ġholder Ġfor Ġdisplay ĊĠĠĠ Ġclass ĠViewHolder ( item View Ġ: ĠView ) Ġ: ĠRecyclerView . ViewHolder ( item View ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsleep Length Ġ: ĠTextView Ġ= ĠitemView . findViewById ( R . id . id _ sleep _ length ) ĊĠĠĠĠĠĠĠ Ġval Ġquality Ġ: ĠTextView Ġ= ĠitemView . findViewById ( R . id . id _ quality _ string ) ĊĠĠĠĠĠĠĠ Ġval Ġquality Image Ġ: ĠImageView Ġ= ĠitemView . findViewById ( R . id . id _ quality _ image ) ĊĠĠĠ Ġ} Ċ } Ċ