package Ġbr . com . live o . mvp . base Ċ Ċ import Ġandroid . animation . Animator Ċ import Ġandroid . animation . Object Animator Ċ import Ġandroid . animation . Property Values Holder Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . support . v 7 . app . AppCompat Dialog Fragment Ċ import Ġandroid . view . View Ċ Ċ /** Ċ Ġ* ĠCreated Ġby Ġr udson li ma Ġon Ġ 8 / 2 9 / 1 7 . Ċ Ġ*/ Ċ open Ġclass ĠBase Dialog Ġ: ĠAppCompat Dialog Fragment () Ġ{ ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : Ġandroid . os . Bundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ Ġset Style ( android . support . v 4 . app . Dialog Fragment . STYLE _ NO _ TITLE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbr . com . live o . mvp . R . style . My Theme _ Floating Dialog ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon View Created ( view : ĠView , ĠsavedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on View Created ( view , ĠsavedInstanceState ) ĊĊĠĠĠĠĠĠĠ Ġval Ġdialog Ġ= Ġdialog ĊĠĠĠĠĠĠĠ Ġif Ġ( dialog Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdialog . request Window Feature ( android . view . Window . FEATURE _ NO _ TITLE ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġwindow Ġ= Ġdialog . window ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( window Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwindow . set Soft Input Mode ( android . view . WindowManager . LayoutParams . SOFT _ INPUT _ STATE _ HIDDEN ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwindow . setBackground Drawable ( android . graphics . drawable . Color Drawable ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġandroid . graphics . Color . TRANSP ARENT )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonStart () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onStart () ĊĠĠĠĠĠĠĠ Ġshow Animation () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġshow Animation () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( dialog Ġ!= Ġnull Ġ&& Ġdialog . window Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdecor View Ġ= Ġdialog . window !!. decor View ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġscale Down Ġ= ĠObject Animator . of Property Values Holder ( decor View , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠProperty Values Holder . of Float (" scale X ", Ġ 0 . 0 f , Ġ 1 . 0 f ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠProperty Values Holder . of Float (" scale Y ", Ġ 0 . 0 f , Ġ 1 . 0 f ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠProperty Values Holder . of Float (" alpha ", Ġ 0 . 0 f , Ġ 1 . 0 f )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġscale Down . duration Ġ= Ġ 3 0 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġscale Down . start () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Destroy () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Destroy () ĊĠĠĠĠĠĠĠ Ġhide Animation () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprotected Ġfun Ġhide Animation () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( activity Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġif Ġ( dialog Ġ!= Ġnull Ġ&& Ġdialog . window Ġ!= Ġnull ) Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdecor View Ġ= Ġdialog ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. window !! ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. decor View ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġscale Down Ġ= ĠObject Animator . of Property Values Holder ( decor View , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠProperty Values Holder . of Float (" scale X ", Ġ 1 . 0 f , Ġ 0 . 0 f ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠProperty Values Holder . of Float (" scale Y ", Ġ 1 . 0 f , Ġ 0 . 0 f ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠProperty Values Holder . of Float (" alpha ", Ġ 1 . 0 f , Ġ 0 . 0 f )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġscale Down . addListener ( object Ġ: ĠAn imator . Animator Listener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Animation End ( animation : ĠAn imator ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( activity Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdismiss () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Animation Start ( animation : ĠAn imator ) Ġ{} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Animation Cancel ( animation : ĠAn imator ) Ġ{} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Animation Repeat ( animation : ĠAn imator ) Ġ{} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġscale Down . duration Ġ= Ġ 3 0 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġscale Down . start () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ