/* Ċ Ġ* ĠCopyright Ġ 2 0 2 0 ĠO sc ar ĠDavid ĠG all on ĠRos ero Ċ Ġ* Ċ Ġ* ĠPermission Ġis Ġhereby Ġgranted , Ġfree Ġof Ġcharge , Ġto Ġany Ġperson Ġobtaining Ġa Ġcopy Ġof Ġthis Ġsoftware Ġand Ġassociated Ġdocumentation Ġfiles Ġ( the Ġ" Software "), Ġto Ġdeal Ġin Ġthe ĠSoftware Ġwithout Ġrestriction , Ġincluding Ġwithout Ġlimitation Ġthe Ġrights Ġto Ġuse , Ġcopy , Ġmodify , Ġmerge , Ġpublish , Ġdistribute , Ġsublicense , Ġand / or Ġsell Ġcopies Ġof Ġthe ĠSoftware , Ġand Ġto Ġpermit Ġpersons Ġto Ġwhom Ġthe ĠSoftware Ġis Ġfurnished Ġto Ġdo Ġso , Ġsubject Ġto Ġthe Ġfollowing Ġconditions : Ċ Ġ* Ċ Ġ* ĠThe Ġabove Ġcopyright Ġnotice Ġand Ġthis Ġpermission Ġnotice Ġshall Ġbe Ġincluded Ġin Ġall Ġcopies Ġor Ġsubstantial Ġportions Ġof Ġthe ĠSoftware . Ċ Ġ* Ċ Ġ* ĠTHE ĠSOFTWARE ĠIS ĠPROVIDED Ġ" AS ĠIS ", ĠWITHOUT ĠWARRANTY ĠOF ĠANY ĠKIND , ĠEXPRESS ĠOR ĠIMPLIED , ĠINCLUDING ĠBUT ĠNOT ĠLIMITED ĠTO ĠTHE ĠWARRANTIES ĠOF ĠMERCHANTABILITY , ĠFITNESS ĠFOR ĠA ĠPARTICULAR ĠPURPOSE ĠAND ĠNONINFRINGEMENT . ĠIN ĠNO ĠEVENT ĠSHALL ĠTHE ĠAUTHORS ĠOR ĠCOPYRIGHT ĠHOLDERS ĠBE ĠLIABLE ĠFOR ĠANY ĠCLAIM , ĠDAMAGES ĠOR ĠOTHER ĠLIABILITY , ĠWHETHER ĠIN ĠAN ĠACTION ĠOF ĠCONTRACT , ĠTORT ĠOR ĠOTHERWISE , ĠARISING ĠFROM , ĠOUT ĠOF ĠOR ĠIN ĠCONNECTION ĠWITH ĠTHE ĠSOFTWARE ĠOR ĠTHE ĠUSE ĠOR ĠOTHER ĠDEALINGS ĠIN ĠTHE ĠSOFTWARE . Ċ Ġ* Ċ Ġ* Ċ Ġ*/ Ċ Ċ package Ġcom . osc arg 7 9 8 . ami ib ow iki . logger . events Ċ Ċ sealed Ġclass ĠWidget Type ( val Ġname : ĠString ) Ġ: ĠCharSequence Ġ{ ĊĊĠĠĠ Ġobject ĠButton Ġ: ĠWidget Type ( BUTTON _ TYPE _ NAME ) ĊĠĠĠ Ġobject ĠImageView Ġ: ĠWidget Type ( IMAGE _ VIEW _ TYPE _ NAME ) ĊĠĠĠ Ġobject ĠRecyclerView Item Ġ: ĠWidget Type ( REC Y CL ER _ VIEW _ ITEM _ TYPE _ NAME ) ĊĠĠĠ Ġobject ĠMenuItem Ġ: ĠWidget Type ( MENU _ ITEM _ TYPE _ NAME ) ĊĊĠĠĠ Ġoverride Ġfun Ġget ( index : ĠInt ): ĠChar Ġ= Ġname [ index ] ĊĠĠĠ Ġoverride Ġval Ġlength : ĠInt Ġ= Ġname . length ĊĠĠĠ Ġoverride Ġfun ĠtoString (): ĠString Ġ= Ġname ĊĠĠĠ Ġoverride Ġfun Ġsub Sequence ( startIndex : ĠInt , Ġend Index : ĠInt ): ĠCharSequence Ġ= ĊĠĠĠĠĠĠĠ Ġname . sub Sequence ( startIndex , Ġend Index ) ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġcreate FromString ( type : ĠString ) Ġ= Ġwhen Ġ( type ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠBUTTON _ TYPE _ NAME Ġ-> ĠButton ĊĠĠĠĠĠĠĠĠĠĠĠ ĠIMAGE _ VIEW _ TYPE _ NAME Ġ-> ĠImageView ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRE CY CL ER _ VIEW _ ITEM _ TYPE _ NAME Ġ-> ĠRecyclerView Item ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMENU _ ITEM _ TYPE _ NAME Ġ-> ĠMenuItem ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġthrow ĠIllegalArgumentException ("$ type Ġdoes Ġnot Ġexist ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ const Ġval ĠMENU _ ITEM _ TYPE _ NAME Ġ= Ġ" MENU _ ITEM " Ċ const Ġval ĠRE CY CL ER _ VIEW _ ITEM _ TYPE _ NAME Ġ= Ġ" REC Y CL ER _ VIEW _ ITEM " Ċ const Ġval ĠBUTTON _ TYPE _ NAME Ġ= Ġ" BUTTON " Ċ const Ġval ĠIMAGE _ VIEW _ TYPE _ NAME Ġ= Ġ" IMAGE _ VIEW " Ċ