/* Ċ Ġ* ĠCopyright ĠÂ© Ġ 2 0 1 7 - 2 0 1 9 ĠWire Guard ĠLLC . Ċ Ġ* ĠCopyright ĠÂ© Ġ 2 0 1 8 - 2 0 1 9 ĠHar sh ĠSh and ily a Ġ< ms f jar vis @ gmail . com >. ĠAll ĠRights ĠReserved . Ċ Ġ* ĠSPDX - License - Identifier : ĠApache - 2 . 0 Ċ Ġ*/ Ċ package Ġcom . wire guard . android . widget . fab Ċ Ċ import Ġandroid . animation . Object Animator Ċ import Ġandroid . content . Context Ċ import Ġandroid . util . Attribute Set Ċ import Ġandroid . view . View Ċ import Ġandroidx . coordinator layout . widget . Coordinator Layout Ċ import Ġcom . google . android . material . floating action button . Extended Floating ActionButton Ċ import Ġcom . google . android . material . sn ackbar . Snackbar Ċ import Ġkotlin . math . min Ċ Ċ class ĠFloating ActionButton Behavior ( ĊĠĠĠ Ġcontext : ĠContext , ĊĠĠĠ Ġattrs : ĠAttributeSet Ċ ) Ġ: ĠCoord inator Layout . Behavior < Extended Floating ActionButton >( context , Ġattrs ) Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġlayout Dep ends On ( ĊĠĠĠĠĠĠĠ Ġparent : ĠCoord inator Layout , ĊĠĠĠĠĠĠĠ Ġchild : ĠExtended Floating ActionButton , ĊĠĠĠĠĠĠĠ Ġdependency : ĠView ĊĠĠĠ Ġ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġdependency Ġis ĠSn ackbar . Snackbar Layout ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Dependent View Changed ( ĊĠĠĠĠĠĠĠ Ġparent : ĠCoord inator Layout , ĊĠĠĠĠĠĠĠ Ġchild : ĠExtended Floating ActionButton , ĊĠĠĠĠĠĠĠ Ġdependency : ĠView ĊĠĠĠ Ġ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ ĠObject Animator . of Float ( child , Ġ" translation Y ", Ġmin ( 0 f , Ġdependency . translation Y Ġ- Ġdependency . meas ured Height Ġ- Ġ 1 2 f )). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġduration Ġ= Ġ 1 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstart () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Dependent View Removed ( ĊĠĠĠĠĠĠĠ Ġparent : ĠCoord inator Layout , ĊĠĠĠĠĠĠĠ Ġchild : ĠExtended Floating ActionButton , ĊĠĠĠĠĠĠĠ Ġdependency : ĠView ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ ĠObject Animator . of Float ( child , Ġ" translation Y ", Ġ 0 f ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġduration Ġ= Ġ 1 0 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstart () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ