package Ġcom . gu ox ia ox ing . phoenix . picker . util Ċ Ċ import Ġandroid . animation . Animator Ċ import Ġandroid . animation . Animator Listener Adapter Ċ import Ġandroid . animation . Animator Set Ċ import Ġandroid . animation . Object Animator Ċ import Ġandroid . app . Activity Ċ import Ġandroid . content . Context Ċ import Ġandroid . os . Handler Ċ import Ġandroid . os . Looper Ċ import Ġandroid . view . View Ċ import Ġcom . gu ox ia ox ing . phoenix . picker . widget . editor . hierarchy . Action Frame Layout Ċ import Ġjava . util .* Ċ Ċ class ĠAction Bar Anim Utils ( layer Action View : ĠAction Frame Layout , Ġval Ġeditor Bar : ĠView , Ġval Ġfunc View : ĠView , Ġval Ġactivity Context : ĠContext ) ĊĠĠĠ Ġ: ĠAction Frame Layout . ActionListener Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġm Dirty Anim ating Ġ= Ġfalse ĊĠĠĠ Ġprivate Ġvar Ġm Dirty Screen Ġ= Ġtrue ĊĠĠĠ Ġprivate Ġvar Ġm Move Action Handled Ġ= Ġfalse ĊĠĠĠ Ġprivate Ġval Ġhide Runnable Ġ= ĠHide Or Show Runnable ( false ) ĊĠĠĠ Ġprivate Ġval Ġshow Runnable Ġ= ĠHide Or Show Runnable ( true ) ĊĠĠĠ Ġvar Ġintercept Dirty Animation Ġ= Ġfalse ĊĠĠĠ Ġprivate Ġval Ġm Handler Ġ= ĠHandler ( Looper . get Main Looper ()) ĊĠĠĠ Ġprivate Ġval Ġm Fun Bar Animate Listeners Ġ= ĠArrayList < On Fun Bar Animation Listener >() ĊĊĠĠĠ Ġinner Ġclass ĠHide Or Show Runnable ( val Ġshow : ĠBoolean ) Ġ: ĠRunnable Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġrun () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġshow Or Hide Func And Bar View ( show ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinit Ġ{ ĊĊĠĠĠĠĠĠĠ Ġlayer Action View . action Listener Ġ= Ġthis ĊĊĠĠĠĠĠĠĠ Ġ// è§£åĨ³ è¿Ľåħ¥ ç¼ĸè¾ĳ çķĮéĿ¢ , å±ı å¹ķ éĹ ª åĬ¨ éĹ®é¢ĺ ĊĠĠĠĠĠĠĠ Ġshow Or Hide Func And Bar View ( false ) ĊĠĠĠĠĠĠĠ Ġ// è§£åĨ³ å±ı å¹ķ éĹ ª åĬ¨ éĹ®é¢ĺ ĊĠĠĠĠĠĠĠ Ġm Dirty Screen Ġ= Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġshow Or Hide Func And Bar View ( show : ĠBoolean , Ġlistener : ĠAn imator Listener Adapter ? Ġ= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( m Dirty Screen Ġ== Ġshow ) Ġreturn ĊĠĠĠĠĠĠĠ Ġm Dirty Screen Ġ= Ġshow ĊĠĠĠĠĠĠĠ Ġif Ġ( m Dirty Screen ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Handler . remove Callbacks ( hide Runnable ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Handler . remove Callbacks ( show Runnable ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġm Dirty Anim ating Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġinvoke Animate Listener ( show ) ĊĠĠĠĠĠĠĠ Ġval Ġbar Height Ġ= Ġeditor Bar . height . toFloat () ĊĠĠĠĠĠĠĠ Ġval Ġbar Animator Ġ= ĠObject Animator . of Float ( editor Bar , Ġ" translation Y ", Ġif Ġ(! show ) Ġ 0 f Ġelse Ġ- bar Height , Ġif Ġ(! show ) Ġ- bar Height Ġelse Ġ 0 f ) ĊĠĠĠĠĠĠĠ Ġval Ġfunc Height Ġ= Ġfunc View . height . toFloat () ĊĠĠĠĠĠĠĠ Ġval Ġfunc Animator Ġ= ĠObject Animator . of Float ( func View , Ġ" translation Y ", Ġif Ġ(! show ) Ġ 0 f Ġelse Ġfunc Height , Ġif Ġ(! show ) Ġfunc Height Ġelse Ġ 0 f ) ĊĠĠĠĠĠĠĠ Ġval Ġset Ġ= ĠAn imator Set () ĊĠĠĠĠĠĠĠ Ġset . play To gether ( bar Animator , Ġfunc Animator ) ĊĠĠĠĠĠĠĠ Ġset . addListener ( object Ġ: ĠAn imator Listener Adapter () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Animation End ( animation : ĠAn imator ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Dirty Anim ating Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlistener ?. on Animation End ( animation ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġset . duration Ġ= Ġ 3 0 0 ĊĠĠĠĠĠĠĠ Ġset . start () ĊĠĠĠĠĠĠĠ Ġif Ġ( show ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMatrix Utils . show StatusBar ( activity Context Ġas ĠActivity ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMatrix Utils . hide StatusBar ( activity Context Ġas ĠActivity ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġaction Move () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( intercept Dirty Animation ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( m Dirty Screen Ġ&& Ġ! m Move Action Handled ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! m Dirty Anim ating ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Move Action Handled Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Handler . post Delayed ( hide Runnable , Ġ 3 0 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġaction Up () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( intercept Dirty Animation ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġm Move Action Handled Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġif Ġ( m Dirty Screen ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Handler . remove Callbacks ( hide Runnable ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! m Dirty Anim ating ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Handler . post Delayed ( hide Runnable , Ġ 3 0 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Handler . remove Callbacks ( show Runnable ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! m Dirty Anim ating ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Handler . post Delayed ( show Runnable , Ġ 3 0 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinvoke Animate Listener ( show : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġfor Ġ( listener Ġin Ġm Fun Bar Animate Listeners ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlistener . on Fun Bar Animate ( show ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġadd Fun Bar Animate Listener ( listener : ĠOn Fun Bar Animation Listener ) Ġ{ ĊĠĠĠĠĠĠĠ Ġm Fun Bar Animate Listeners . add ( listener ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġremove Fun Bar Animate Listener ( listener : ĠOn Fun Bar Animation Listener ) Ġ{ ĊĠĠĠĠĠĠĠ Ġm Fun Bar Animate Listeners . remove ( listener ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinterface ĠOn Fun Bar Animation Listener Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġon Fun Bar Animate ( show : ĠBoolean ) ĊĠĠĠ Ġ} Ċ Ċ }