package Ġcom . dian ping . shield . node . cell node Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . view . View Ċ import Ġcom . dian ping . shield . node . Position Type Ċ import Ġcom . dian ping . shield . node . adapter . Display Node Container Ċ import Ġcom . dian ping . shield . node . adapter . hot zone . Hot Zone Ċ import Ġcom . dian ping . shield . node . item callbacks . View Click Callback WithData Ċ import Ġcom . dian ping . shield . node . item callbacks . View Long Click Callback WithData Ċ import Ġcom . dian ping . shield . node . item callbacks . View Paint ing Callback Ċ import Ġcom . dian ping . shield . node . processor . Node Creator Ċ import Ġcom . dian ping . shield . node . processor . Processor Holder Ċ import Ġcom . dian ping . shield . utils . Shield Objects Utils Ċ import Ġjava . util .* Ċ import Ġkotlin . properties . Deleg ates Ċ Ċ /** Ċ Ġ* ĠCreated Ġby Ġz hi . he Ġon Ġ 2 0 1 8 / 7 / 1 8 . Ċ Ġ*/ Ċ class ĠSh ield Display Node Ġ{ ĊĠĠĠ Ġ@ Jvm Field ĊĠĠĠ Ġvar Ġrow Parent : ĠSh ield Row ? Ġ= Ġnull ĊĊĠĠĠ Ġ// String Ġview Type ĊĠĠĠ Ġ@ Jvm Field ĊĠĠĠ Ġvar Ġview Type : ĠString ? Ġ= Ġnull ĊĊĠĠĠ Ġ@ Jvm Field ĊĠĠĠ Ġ// String Ġstable id ĊĠĠĠ Ġvar Ġstable id : ĠString ? Ġ= Ġnull ĊĊĠĠĠ Ġ@ Jvm Field ĊĠĠĠ Ġ// æ¨¡åĿĹ æķ°æį® ĊĠĠĠ Ġvar Ġdata : ĠAny ? Ġ= Ġnull ĊĊĠĠĠ Ġ@ Jvm Field ĊĠĠĠ Ġvar Ġst agger ed Grid X Gap : ĠInt ? Ġ= Ġnull ĊĊĠĠĠ Ġ@ Jvm Field ĊĠĠĠ Ġvar Ġst agger ed Grid YG ap : ĠInt ? Ġ= Ġnull ĊĊĠĠĠ Ġ@ Jvm Field ĊĠĠĠ Ġvar Ġst agger ed Grid Left Margin : ĠInt ? Ġ= Ġnull ĊĊĠĠĠ Ġ@ Jvm Field ĊĠĠĠ Ġvar Ġst agger ed Grid Right Margin : ĠInt ? Ġ= Ġnull ĊĊĠĠĠ Ġ@ Jvm Field ĊĠĠĠ Ġ// Context ĊĠĠĠ Ġvar Ġcontext : ĠContext ? Ġ= Ġnull ĊĊĠĠĠ Ġ@ Jvm Field ĊĠĠĠ Ġvar Ġview Paint ing Callback : ĠView Paint ing Callback ? Ġ= Ġnull ĊĊĠĠĠ Ġ@ Jvm Field ĊĠĠĠ Ġvar Ġclick Callback : ĠView Click Callback WithData ? Ġ= Ġnull ĊĊĠĠĠ Ġ@ Jvm Field ĊĠĠĠ Ġvar Ġlong Click Callback : ĠView Long Click Callback WithData ? Ġ= Ġnull ĊĊĠĠĠ Ġ@ Jvm Field ĊĠĠĠ Ġvar Ġdivider Info : ĠDiv ider Config Info ? Ġ= Ġnull ĊĊĠĠĠ Ġ@ Jvm Field ĊĠĠĠ Ġvar Ġinner Top Info : ĠInner Top Info ? Ġ= Ġnull ĊĊĠĠĠ Ġ@ Jvm Field ĊĠĠĠ Ġvar Ġinner Bottom Info : ĠInner Bottom Info ? Ġ= Ġnull ĊĊĠĠĠ Ġ@ Jvm Field ĊĠĠĠ Ġvar Ġhot Zone List : ĠArrayList < Hot Zone >? Ġ= Ġnull ĊĊĠĠĠ Ġ@ Jvm Field ĊĠĠĠ Ġvar Ġattach Detach Interface ArrayList : ĠArrayList < View Attach Detach Interface >? Ġ= Ġnull ĊĊĠĠĠ Ġ@ Jvm Field ĊĠĠĠ Ġvar Ġattach Status ChangeListener List : ĠArrayList < Attach Status ChangeListener < Shield Display Node >> ? Ġ= Ġnull ĊĊĠĠĠ Ġ@ Jvm Field ĊĠĠĠ Ġvar Ġmove Status EventListener List : ĠArrayList < Move Status EventListener < Shield Display Node >> ? Ġ= Ġnull Ċ Ċ // ĠĠĠ Ġ@ Jvm Field ĊĠĠĠ Ġ// Cell Type Ċ // ĠĠĠ Ġvar Ġcell Type : ĠCell Type ? Ġ= Ġnull ĊĊĠĠĠ Ġ// ĠĠĠ Ġ@ Jvm Field ĊĠĠĠ Ġ@ Jvm Field ĊĠĠĠ Ġvar Ġis Update : ĠBoolean Ġ= Ġfalse ĊĊĠĠĠ Ġfun ĠcurrentNode Index (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġrow Parent ?. shield Display Nodes ?. indexOf ( this ) Ġ?: Ġ- 1 ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġvar Ġposition Type : ĠPosition Type Ġby ĠDeleg ates . observable ( Position Type . UNKNOWN ) Ġ{ Ġproperty , ĠoldValue , ĠnewValue Ġ-> ĊĠĠĠĠĠĠĠ Ġif Ġ( newValue Ġ!= ĠoldValue ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġp Holder ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠNode Creator . re pack Display Node With Position Type ( this , Ġit ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis Update Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// ĠĠĠ Ġ@ Jvm Field ĊĠĠĠ Ġvar Ġpath : ĠNode Path ? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġget () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfield Ġ?: Ġlet Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfield Ġ= ĠNode Path (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgroup Ġ= Ġit . row Parent ?. section Parent ?. cell Parent ?. group Parent ?. group Index Ġ?: Ġ- 1 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcell Ġ= Ġit . row Parent ?. section Parent ?. cell Parent ?. view Cell Index Ġ?: Ġ- 1 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsection Ġ= Ġit . row Parent ?. section Parent ?. current Section Index () Ġ?: Ġ- 1 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrow Ġ= Ġit . row Parent ?. current RowIndex () Ġ?: Ġ- 1 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnode Ġ= ĠcurrentNode Index () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcell Type Ġ= Ġit . row Parent ?. cell Type ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfield ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Jvm Field ĊĠĠĠ Ġvar Ġcontainer View : ĠDisplay Node Container ? Ġ= Ġnull ĊĊĠĠĠ Ġ@ Jvm Field ĊĠĠĠ Ġvar Ġview : ĠView ? Ġ= Ġnull ĊĊĠĠĠ Ġ@ Jvm Field ĊĠĠĠ Ġvar Ġp Holder : ĠProcessor Holder ? Ġ= Ġnull ĊĊĠĠĠ Ġfun Ġis Unique () Ġ: ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġ( inner Top Info Ġ!= Ġnull Ġ|| Ġinner Bottom Info Ġ!= Ġnull ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget ViewType With Top Info (): ĠString ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( is Unique ()) Ġnull Ġelse Ġview Type ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġequals ( o 1 : ĠSh ield Display Node ?, Ġo 2 : ĠSh ield Display Node ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġo 1 Ġ=== Ġo 2 Ġ|| Ġo 1 Ġ!= Ġnull Ġ&& Ġo 2 Ġ!= Ġnull Ġ&& Ġo 1 Ġ== Ġo 2 ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġsame ( o : ĠAny ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( this Ġ=== Ġo ) Ġreturn Ġtrue ĊĠĠĠĠĠĠĠ Ġif Ġ( o Ġ== Ġnull Ġ|| Ġjava Class Ġ!= Ġo . java Class ) Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġval Ġthat Ġ= Ġo Ġas ĠSh ield Display Node ? ĊĠĠĠĠĠĠĠ Ġreturn ĠSh ield Objects Utils . equals ( stable id , Ġthat !!. stable id ) Ġ|| Ġ( view Type Ġ!= Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ&& ĠSh ield Objects Utils . equals ( view Type , Ġthat . view Type ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ&& ĠSh ield Objects Utils . equals ( view Paint ing Callback , Ġthat . view Paint ing Callback )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġcontents Equals ( o : ĠAny ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( this Ġ=== Ġo ) Ġreturn Ġtrue ĊĠĠĠĠĠĠĠ Ġif Ġ( o Ġ== Ġnull Ġ|| Ġjava Class Ġ!= Ġo . java Class ) Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġval Ġnode Ġ= Ġo Ġas ĠSh ield Display Node ? ĊĠĠĠĠĠĠĠ Ġreturn Ġ(( view Type Ġ!= Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ&& ĠSh ield Objects Utils . equals ( view Type , Ġnode !!. view Type ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ&& ĠSh ield Objects Utils . equals ( view Paint ing Callback , Ġnode . view Paint ing Callback )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ&& ĠSh ield Objects Utils . equals ( stable id , Ġnode . stable id ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ&& Ġ( data Ġ!= Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ&& ĠSh ield Objects Utils . equals ( data , Ġnode . data )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ&& ĠSh ield Objects Utils . equals ( divider Info , Ġnode . divider Info ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ&& ĠSh ield Objects Utils . equals ( inner Top Info , Ġnode . inner Top Info ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ&& Ġpath Ġ== Ġnode . path ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠhashCode (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġresult Ġ= Ġview Type ?. hashCode () Ġ?: Ġ 0 ĊĠĠĠĠĠĠĠ Ġresult Ġ= Ġ 3 1 Ġ* Ġresult Ġ+ Ġ( stable id ?. hashCode () Ġ?: Ġ 0 ) ĊĠĠĠĠĠĠĠ Ġresult Ġ= Ġ 3 1 Ġ* Ġresult Ġ+ Ġ( data ?. hashCode () Ġ?: Ġ 0 ) ĊĠĠĠĠĠĠĠ Ġresult Ġ= Ġ 3 1 Ġ* Ġresult Ġ+ Ġ( view Paint ing Callback ?. hashCode () Ġ?: Ġ 0 ) ĊĠĠĠĠĠĠĠ Ġresult Ġ= Ġ 3 1 Ġ* Ġresult Ġ+ Ġ( inner Top Info ?. hashCode () Ġ?: Ġ 0 ) ĊĠĠĠĠĠĠĠ Ġresult Ġ= Ġ 3 1 Ġ* Ġresult Ġ+ Ġ( path ?. hashCode () Ġ?: Ġ 0 ) ĊĠĠĠĠĠĠĠ Ġreturn Ġresult ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġequals ( other : ĠAny ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( this Ġ=== Ġother ) Ġreturn Ġtrue ĊĠĠĠĠĠĠĠ Ġif Ġ( java Class Ġ!= Ġother ?. java Class ) Ġreturn Ġfalse ĊĊĠĠĠĠĠĠĠ Ġother Ġas ĠSh ield Display Node ĊĊĠĠĠĠĠĠĠ Ġif Ġ(! Shield Objects Utils . equals ( view Type , Ġother . view Type )) Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġif Ġ(! Shield Objects Utils . equals ( stable id , Ġother . stable id )) Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġif Ġ(! Shield Objects Utils . equals ( data , Ġother . data )) Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġif Ġ(! Shield Objects Utils . equals ( view Paint ing Callback , Ġother . view Paint ing Callback )) Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġif Ġ(! Shield Objects Utils . equals ( inner Top Info , Ġother . inner Top Info )) Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġif Ġ(! Shield Objects Utils . equals ( path , Ġother . path )) Ġreturn Ġfalse ĊĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġ@ Jvm Static ĊĠĠĠĠĠĠĠ Ġfun Ġsame ( o 1 : ĠSh ield Display Node ?, Ġo 2 : ĠSh ield Display Node ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġo 1 Ġ=== Ġo 2 Ġ|| Ġo 1 Ġ!= Ġnull Ġ&& Ġo 2 Ġ!= Ġnull Ġ&& Ġo 1 . same ( o 2 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Jvm Static ĊĠĠĠĠĠĠĠ Ġfun Ġcontents Equals ( o 1 : ĠSh ield Display Node ?, Ġo 2 : ĠSh ield Display Node ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġo 1 Ġ=== Ġo 2 Ġ|| Ġo 1 Ġ!= Ġnull Ġ&& Ġo 2 Ġ!= Ġnull Ġ&& Ġo 1 . contents Equals ( o 2 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }