/* Ċ Ġ* ĠCopyright Ġ( c ) Ġ 2 0 1 5 - 2 0 1 9 ĠU li ĠB ub en he imer Ċ Ġ* Ċ Ġ* Ġ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 Ġorg . b ub en he imer . android . preference Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . util . Attribute Set Ċ import Ġandroid . widget . Toast Ċ import Ġandroidx . preference . List Preference Ċ import Ġorg . b ub en he imer . android . log . Log . e Ċ Ċ @ Suppress (" unused ") Ċ public Ġclass ĠNumber List Preference Ġ: ĠList Preference Ġ{ ĊĠĠĠ Ġprivate Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠTAG Ġ= ĠNumber List Preference :: class . java . simple Name ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Suppress (" unused ") ĊĠĠĠ Ġpublic Ġconstructor ( ĊĠĠĠĠĠĠĠ Ġcontext : ĠContext ?, ĊĠĠĠĠĠĠĠ Ġattrs : ĠAttributeSet ?, ĊĠĠĠĠĠĠĠ Ġdef Style Attr : ĠInt , ĊĠĠĠĠĠĠĠ Ġdef Style Res : ĠInt ĊĠĠĠ Ġ) Ġ: ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsuper ( context , Ġattrs , Ġdef Style Attr , Ġdef Style Res ) ĊĊĠĠĠ Ġ@ Suppress (" unused ") ĊĠĠĠ Ġpublic Ġconstructor ( context : ĠContext ?, Ġattrs : ĠAttributeSet ?, Ġdef Style Attr : ĠInt ) Ġ: ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsuper ( context , Ġattrs , Ġdef Style Attr ) ĊĊĠĠĠ Ġ@ Suppress (" unused ") ĊĠĠĠ Ġpublic Ġconstructor ( context : ĠContext ?, Ġattrs : ĠAttributeSet ?) Ġ: Ġsuper ( context , Ġattrs ) ĊĊĠĠĠ Ġ@ Suppress (" unused ") ĊĠĠĠ Ġpublic Ġconstructor ( context : ĠContext ?) Ġ: Ġsuper ( context ) ĊĊĠĠĠ Ġpublic Ġoverride Ġfun Ġpersist String ( value : ĠString ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( value Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġnumber Ġ= Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvalue . toInt () ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠNumber FormatException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġe ( TAG , Ġ" Invalid Ġnumber : Ġ$ value ") ĊĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( context , Ġ" Invalid Ġnumber : Ġ$ value ", ĠToast . LENGTH _ LONG ). show () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġpersist Int ( number ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġpublic Ġoverride Ġfun Ġget Pers isted String ( default ReturnValue : ĠString ?): ĠString ? Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ(! should Persist ()) Ġreturn Ġdefault ReturnValue ĊĊĠĠĠĠĠĠĠ Ġ// ĠOnly Ġworks Ġwith Ġa ĠPreference DataStore ; Ġand Ġit Ġmust Ġcontain Ġthe Ġvalue ĊĠĠĠĠĠĠĠ Ġreturn Ġpreference DataStore !!. getInt ( key , Ġ 1 2 3 4 5 6 7 8 9 0 ). toString () ĊĠĠĠ Ġ} Ċ } Ċ