package Ġcom . google . android . material . bottom sheet Ċ Ċ import Ġandroid . animation . Value Animator Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . res . Color State List Ċ import Ġandroid . content . res . Typed Array Ċ import Ġandroid . os . Parcel Ċ import Ġandroid . os . Parcelable Ċ import Ġandroid . util . Attribute Set Ċ import Ġandroid . util . Typed Value Ċ import Ġandroid . view . Motion Event Ċ import Ġandroid . view . View Ċ import Ġandroid . view . animation . Accel erate Interpolator Ċ import Ġandroidx . annotation . Float Range Ċ import Ġandroidx . annotation . Int Def Ċ import Ġandroidx . annotation . Style able Res Ċ import Ġandroidx . appcompat . content . res . AppCompat Resources Ċ import Ġandroidx . coordinator layout . widget . Coordinator Layout Ċ import Ġandroidx . core . view . View Compat Ċ import Ġcom . github . hey alex . corners heet . R Ċ import Ġcom . github . hey alex . corners heet . behavior . Corner Sheet Behavior Ċ import Ġcom . github . hey alex . corners heet . interpolate Ċ import Ġcom . google . android . material . shape . Material Shape Drawable Ċ import Ġcom . google . android . material . shape . Shape Appearance Model Ċ Ċ /** Ċ Ġ* ĠAn Ġin her itor Ġof ĠBottom Sheet Behavior Ċ Ġ* Ċ Ġ* ĠChanging Ġtranslation ĠX Ġdepends Ġon Ġslide Ġoffset Ġof ĠBottom Sheet Behavior Ċ Ġ* Ċ Ġ* ĠThis Ġclass Ġis Ġin Ġcom . google . android . material . bottom sheet Ġpackage , Ċ Ġ* Ġsince Ġwe Ġneed Ġaccess Ġto Ġinternal Ġfield Ġlike Ġ" view Ref " Ċ Ġ* Ġand Ġfetching Ġstyle Ġattr Ġlike Ġ" background Tint " Ċ Ġ*/ Ċ open Ġclass ĠCor ner Material Sheet Behavior < V Ġ: ĠView > Ġ: ĠBottom Sheet Behavior < V > Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġfull View Width : ĠInt Ġ= Ġ 0 ĊĠĠĠ Ġprivate Ġvar Ġcurrent Width : ĠInt Ġ= Ġ 0 ĊĠĠĠ Ġprivate Ġvar Ġhorizontal Peek Width : ĠInt Ġ= Ġ 0 ĊĊĠĠĠ Ġvar Ġhorizontal State : ĠInt Ġ= ĠCor ner Sheet Behavior . STATE _ COLL AP SED ĊĠĠĠĠĠĠĠ Ġset ( value ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( field Ġ== Ġvalue ) Ġreturn ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġfield Ġ= Ġvalue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( state Ġ!= ĠSTATE _ EXP AN DED ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget View Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstart Animation ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Float Range ( from Ġ= Ġ 0 . 0 , Ġto Ġ= Ġ 1 . 0 ) ĊĠĠĠ Ġvar Ġexpand ing Ratio : ĠFloat Ġ= Ġ 0 f ĊĊĠĠĠ Ġvar Ġexpanded Width : ĠInt Ġ= Ġ 0 ĊĊĠĠĠ Ġprivate Ġvar Ġis View Ref Initialized : ĠBoolean Ġ= Ġfalse ĊĠĠĠ Ġprotected Ġvar Ġsheet Background : ĠMaterial Shape Drawable ? Ġ= Ġnull ĊĊĠĠĠ Ġconstructor () Ġ: Ġsuper () ĊĠĠĠ Ġconstructor ( context : ĠContext , Ġattrs : ĠAttributeSet ) Ġ: Ġsuper ( context , Ġattrs ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtyped Array Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontext . obtain Styled Attributes ( attrs , ĠR . style able . Corner Sheet Behavior _ Layout ) ĊĠĠĠĠĠĠĠ Ġhorizontal Peek Width Ġ= Ġtyped Array . get Dimension Pixel Size ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . style able . Corner Sheet Behavior _ Layout _ behavior _ horizontal _ peek Height , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ- 1 ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġexpand ing Ratio Ġ= Ġtyped Array . get Float ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . style able . Corner Sheet Behavior _ Layout _ behavior _ horizontal Expand ing Ratio , ĊĠĠĠĠĠĠĠĠĠĠĠĠ 0 . 2 f ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġexpanded Width Ġ= Ġtyped Array . get Dimension Pixel Size ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . style able . Corner Sheet Behavior _ Layout _ behavior _ expanded _ width , ĊĠĠĠĠĠĠĠĠĠĠĠĠ 0 ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġsheet Background Ġ= ĠMaterial Shape Drawable ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠShape Appearance Model . builder ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontext , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġattrs , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . attr . bottom Sheet Style , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ). build () ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġtyped Array Bottom Sheet Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontext . obtain Styled Attributes ( attrs , ĠR . style able . Bottom Sheet Behavior _ Layout ) ĊĊĠĠĠĠĠĠĠ Ġval Ġbottom Sheet Color Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget Color State List ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontext , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtyped Array Bottom Sheet , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . style able . Bottom Sheet Behavior _ Layout _ background Tint ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġtyped Array Bottom Sheet . recycle () ĊĠĠĠĠĠĠĠ Ġif Ġ( bottom Sheet Color Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsheet Background ?. fill Color Ġ= Ġbottom Sheet Color ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdefault Color Ġ= ĠTyped Value () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontext . theme . resolve Attribute ( android . R . attr . color Background , Ġdefault Color , Ġtrue ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsheet Background ?. set Tint ( default Color . data ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġtyped Array . recycle () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset Horizontal Peek Height ( width : ĠInt , Ġanimate : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġhorizontal Peek Width Ġ= Ġwidth ĊĠĠĠĠĠĠĠ Ġget View Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( state Ġ== ĠSTATE _ COLL AP SED Ġ&& Ġhorizontal State Ġ== ĠCor ner Sheet Behavior . STATE _ COLL AP SED ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( animate ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstart Animation ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . translation X Ġ= Ġhorizontal Peek Width . toFloat () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġget View ( unit : Ġ(( V ) Ġ-> ĠUnit )) Ġ{ ĊĠĠĠĠĠĠĠ Ġview Ref ?. get ()?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġunit . invoke ( it ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Layout Child ( parent : ĠCoord inator Layout , Ġchild : ĠV , Ġlayout Direction : ĠInt ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġon Layout Child Result Ġ= Ġsuper . on Layout Child ( parent , Ġchild , Ġlayout Direction ) ĊĠĠĠĠĠĠĠ Ġif Ġ(! is View Ref Initialized ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠView Compat . setBackground ( child , Ġsheet Background ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfull View Width Ġ= Ġchild . width ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcurrent Width Ġ= ĠgetMax Width () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( state Ġ== ĠSTATE _ EXP AN DED Ġ|| Ġstate Ġ== ĠSTATE _ HALF _ EXP AN DED ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġchild . translation X Ġ= Ġ 0 f ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsheet Background ?. interpolation Ġ= Ġ 0 f ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġchild . translation X Ġ= Ġcurrent Width . toFloat () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsheet Background ?. interpolation Ġ= Ġ 1 f ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinit Layout Child ( child ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd Bottom Sheet Callback ( object Ġ: ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠBottom Sheet Callback () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Slide ( bottom Sheet : ĠView , Ġslide Offset : ĠFloat ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtranslation Value Ġ= ĠgetMax Width () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġchild . translation X Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinterpolate ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtranslation Value . toFloat (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 0 f , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 0 f , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpand ing Ratio , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġslide Offset ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsheet Background ?. interpolation Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinterpolate ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 f , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 0 f , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 0 f , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpand ing Ratio , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġslide Offset ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinternal On Slide ( slide Offset ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon StateChanged ( bottom Sheet : ĠView , ĠnewState : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġis View Ref Initialized Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġon Layout Child Result ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĠCallback Ġfor Ġlisten Ġslide Offset Ġinternally Ġ**/ ĊĠĠĠ Ġopen Ġfun Ġinternal On Slide ( slide Offset : ĠFloat ) Ġ{} ĊĊĠĠĠ Ġ/** ĠCallback Ġfor Ġlisten Ġfor Ġfirst Ġlayout Ġchild Ġ**/ ĊĠĠĠ Ġopen Ġfun Ġinit Layout Child ( view : ĠV ) Ġ{} ĊĊĠĠĠ Ġoverride Ġfun Ġon Touch Event ( parent : ĠCoord inator Layout , Ġchild : ĠV , Ġevent : ĠMotion Event ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( state Ġ!= ĠSTATE _ EXP AN DED Ġ&& Ġevent . x Ġ< Ġchild . translation X Ġ&& Ġstate Ġ!= ĠSTATE _ DR AG GING ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfalse ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsuper . on Touch Event ( parent , Ġchild , Ġevent ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġstart Animation ( view : ĠV ) Ġ{ ĊĠĠĠĠĠĠĠ ĠValue Animator . of Float ( 0 f , Ġ 1 f ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinterpol ator Ġ= ĠAccel erate Interpolator () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġduration Ġ= Ġ 1 5 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġstart Ġ= Ġcurrent Width ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġend Ġ= ĠgetMax Width () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd Update Listener Ġ{ Ġanimation Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġvalue Ġ= Ġanimation . animated Value Ġas ĠFloat ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġl erp Ġ= Ġinterpolate ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstart . toFloat (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġend . toFloat (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 0 f , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 f , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvalue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview . translation X Ġ= Ġl erp ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġcurrent Width Ġ= Ġend ĊĠĠĠĠĠĠĠ Ġ}. start () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Save InstanceState ( parent : ĠCoord inator Layout , Ġchild : ĠV ): ĠParcel able Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠCor ner Saved State ( super . on Save InstanceState ( parent , Ġchild ), Ġthis ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Restore InstanceState ( ĊĠĠĠĠĠĠĠ Ġparent : ĠCoord inator Layout , Ġchild : ĠV , Ġstate : ĠParcel able ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġss Ġ= Ġstate Ġas ĠCor ner Saved State ĊĠĠĠĠĠĠĠ Ġsuper . on Restore InstanceState ( parent , Ġchild , Ġss . super State !! ) ĊĠĠĠĠĠĠĠ Ġthis . horizontal State Ġ= Ġss . horizontal State ĊĠĠĠĠĠĠĠ Ġthis . horizontal Peek Width Ġ= Ġss . horizontal Peek Height ĊĠĠĠĠĠĠĠ Ġthis . expanded Width Ġ= Ġss . expanded Width ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprotected Ġclass ĠCor ner Saved State Ġ: ĠSaved State Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ@ Horizontal State ĊĠĠĠĠĠĠĠ Ġinternal Ġval Ġhorizontal State : ĠInt ĊĠĠĠĠĠĠĠ Ġinternal Ġvar Ġhorizontal Peek Height : ĠInt Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġinternal Ġvar Ġexpanded Width : ĠInt Ġ= Ġ 0 ĊĊĠĠĠĠĠĠĠ Ġconstructor ( source : ĠParcel , Ġhorizontal State : ĠInt ) Ġ: Ġsuper ( source , Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . horizontal State Ġ= Ġhorizontal State ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġconstructor ( source : ĠParcel , Ġloader : ĠClassLoader ?) Ġ: Ġsuper ( source , Ġloader ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhorizontal State Ġ= Ġsource . readInt () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhorizontal Peek Height Ġ= Ġsource . readInt () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġexpanded Width Ġ= Ġsource . readInt () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġconstructor ( super State : ĠParcel able , Ġbehavior : ĠCor ner Material Sheet Behavior <* >) Ġ: Ġsuper ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsuper State , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbehavior ĊĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . horizontal State Ġ= Ġbehavior . horizontal State ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . horizontal Peek Height Ġ= Ġbehavior . horizontal Peek Width ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . expanded Width Ġ= Ġbehavior . expanded Width ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Deprecated (" Use Ġ{@ link ĠSaved State ( Parcelable , ĠCor ner Material Sheet Behavior )} Ġinstead .") ĊĠĠĠĠĠĠĠ Ġconstructor ( super state : ĠParcel able , Ġstate : ĠInt ) Ġ: Ġsuper ( super state , Ġstate ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . horizontal State Ġ= Ġstate ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun ĠwriteTo Parcel ( out : ĠParcel , Ġflags : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsuper . writeTo Parcel ( out , Ġflags ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġout . writeInt ( horizontal State ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġout . writeInt ( horizontal Peek Height ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġout . writeInt ( expanded Width ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġdescribe Contents (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġ 0 ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġcompanion Ġobject ĠCRE ATOR Ġ: ĠParcel able . ClassLoader Creator < Corner Saved State > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġcreate From Parcel (` in `: ĠParcel , Ġloader : ĠClassLoader ): ĠCor ner Saved State Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠCor ner Saved State (` in `, Ġloader ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġcreate From Parcel (` in `: ĠParcel ): ĠCor ner Saved State ? Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠCor ner Saved State (` in `, Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġnew Array ( size : ĠInt ): ĠArray < Corner Saved State ?> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠarrayOf Null s ( size ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Attached To LayoutParams ( layout Params : ĠCoord inator Layout . LayoutParams ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Attached To LayoutParams ( layout Params ) ĊĠĠĠĠĠĠĠ Ġis View Ref Initialized Ġ= Ġfalse ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Detached From LayoutParams () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Detached From LayoutParams () ĊĠĠĠĠĠĠĠ Ġis View Ref Initialized Ġ= Ġfalse ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun ĠgetMax Width (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġwidth Ġ= Ġwhen Ġ( horizontal State ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠCor ner Sheet Behavior . STATE _ EXP AN DED Ġ-> Ġexpanded Width ĊĠĠĠĠĠĠĠĠĠĠĠ ĠCor ner Sheet Behavior . STATE _ COLL AP SED Ġ-> Ġhorizontal Peek Width ĊĠĠĠĠĠĠĠĠĠĠĠ ĠCor ner Sheet Behavior . STATE _ HIDDEN Ġ-> Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġreturn Ġ 0 ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġfull View Width Ġ- Ġwidth ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Int Def ( ĊĠĠĠĠĠĠĠ ĠCor ner Sheet Behavior . STATE _ EXP AN DED , ĊĠĠĠĠĠĠĠ ĠCor ner Sheet Behavior . STATE _ COLL AP SED , ĊĠĠĠĠĠĠĠ ĠCor ner Sheet Behavior . STATE _ HIDDEN ĊĠĠĠ Ġ) ĊĠĠĠ Ġ@ Retention ( Annotation Retention . SOURCE ) ĊĠĠĠ Ġannotation Ġclass ĠHorizontal State ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĊĠĠĠĠĠĠĠ Ġfun Ġget Color State List ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontext : ĠContext , Ġattributes : ĠTyped Array , Ġ@ Style able Res Ġindex : ĠInt ĊĠĠĠĠĠĠĠ Ġ): ĠColor State List ? Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( attributes . hasValue ( index )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġresource Id Ġ= Ġattributes . getResource Id ( index , Ġ 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( resourceId Ġ!= Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġvalue Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAppCompat Resources . getColor State List ( context , Ġresource Id ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( value Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġvalue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġattributes . getColor State List ( index ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ