/* Ċ Ġ* ĠCopyright Ġ 2 0 2 0 ĠD re amp l ug ĠTechnologies ĠPrivate ĠLimited Ċ Ġ* Ġ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 Ġclub . cred . syn th . views Ċ Ċ import Ġandroid . annotation . Suppress Lint Ċ import Ġandroid . content . Context Ċ import Ġandroid . graphics . Rect Ċ import Ġandroid . graphics . drawable . Drawable Ċ import Ġandroid . util . Attribute Set Ċ import Ġandroid . util . Log Ċ import Ġandroid . view . Motion Event Ċ import Ġandroidx . appcompat . widget . AppCompat Button Ċ import Ġclub . cred . syn th . appear ances . Ne u Button Icon Appearance Ċ import Ġclub . cred . syn th . appear ances . Ne u Flat Button Appearance Ċ import Ġclub . cred . syn th . appear ances . Ne u Platform Appearance Ċ import Ġclub . cred . syn th . draw ables . Button Icon Container Drawable Ċ import Ġclub . cred . syn th . internals . Syn th Button Delegate Ċ Ċ open Ġclass ĠSyn th Button Ġ@ Jvm Over loads Ġconstructor ( ĊĠĠĠ Ġcontext : ĠContext , ĊĠĠĠ Ġattrs : ĠAttributeSet ? Ġ= Ġnull , ĊĠĠĠ Ġdef Style Attr : ĠInt Ġ= Ġ 0 Ċ ) Ġ: ĠAppCompat Button ( context , Ġattrs , Ġdef Style Attr ) Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġdelegate Ġ= ĠSyn th Button Delegate ( this ) ĊĊĠĠĠ Ġ// ĠCommon ĠProperties ĊĠĠĠ Ġvar Ġplatform Color : ĠInt Ġby Ġdelegate :: platform Color ĊĠĠĠ Ġvar Ġflat Button Color : ĠInt Ġby Ġdelegate :: flat Button Color ĊĠĠĠ Ġvar Ġcompat Color : ĠInt Ġby Ġdelegate :: compat Color ĊĠĠĠ Ġvar Ġcorner Radius : ĠFloat Ġby Ġdelegate :: corner Radius ĊĠĠĠ Ġvar Ġne u Platform Appearance : ĠNe u Platform Appearance Ġby Ġdelegate :: ne u Platform Appearance ĊĊĠĠĠ Ġ// ĠOnly Ġfor ĠTYPE _ E LE V ATED _ FLAT ĊĠĠĠ Ġvar Ġne u Flat Button Appearance : ĠNe u Flat Button Appearance ? Ġby Ġdelegate :: ne u Flat Button Appearance ĊĊĠĠĠ Ġ// ĠProperties Ġspecific Ġto ĠNe u Button ĊĠĠĠ Ġvar Ġicon P it Radius : ĠFloat Ġby Ġdelegate :: icon P it Radius ĊĠĠĠ Ġvar Ġbutton Icon Drawable : ĠDrawable ? Ġby Ġdelegate :: button Icon Drawable ĊĠĠĠ Ġvar Ġne u Button Icon Appearance : ĠNe u Button Icon Appearance ? Ġby Ġdelegate :: ne u Button Icon Appearance ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġdelegate . handle Attrs ( attrs ) ĊĊĠĠĠĠĠĠĠ Ġdelegate . button Icon Drawable ?. let Ġ{ Ġset Button Drawable ( it ) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Suppress Lint (" Click ableView Accessibility ") ĊĠĠĠ Ġoverride Ġfun Ġon Touch Event ( event : ĠMotion Event ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġdelegate . on Touch Event ( event ) ĊĠĠĠĠĠĠĠ ĠLog . d (" ss ", Ġ": a ") ĊĠĠĠĠĠĠĠ Ġreturn Ġsuper . on Touch Event ( event ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset Button Drawable ( drawable : ĠDrawable ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġbutton Icon Container Drawable Ġ= ĠButton Icon Container Drawable ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġappearance Ġ= Ġdelegate . ne u Button Icon Appearance !! , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġicon P it Radius Ġ= Ġdelegate . icon P it Radius , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtype Ġ= Ġdelegate . button Type , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdrawable Ġ= Ġdrawable ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġval Ġpit Radius Ġ= Ġdelegate . icon P it Radius . toInt () Ġ* Ġ 2 ĊĊĠĠĠĠĠĠĠ Ġbutton Icon Container Drawable . bounds Ġ= ĠRect ( 0 , Ġ 0 , Ġpit Radius , Ġpit Radius ) ĊĠĠĠĠĠĠĠ Ġset Compound Draw ables ( button Icon Container Drawable , Ġnull , Ġnull , Ġnull ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġremove Button Icon () Ġ{ ĊĠĠĠĠĠĠĠ Ġset Compound Draw ables ( null , Ġnull , Ġnull , Ġnull ) ĊĠĠĠ Ġ} Ċ } Ċ