package Ġcom . github . z capt . view . drawable čĊč Ċ import Ġandroid . annotation . Suppress Lint č Ċ import Ġandroid . graphics . Canvas č Ċ import Ġandroid . graphics . Color Filter č Ċ import Ġandroid . graphics . PixelFormat č Ċ import Ġandroid . graphics . Rect č Ċ import Ġandroid . graphics . drawable . Anim atable č Ċ import Ġandroid . graphics . drawable . Drawable čĊč Ċ class ĠMulti Circle Drawable Ġ: ĠDrawable (), ĠAnim atable , ĠDrawable . Callback Ġ{ čĊčĊč Ċ // ĠĠĠ Ġprivate Ġvar Ġm Circle Draw ables : ĠArray < Point Drawable > Ġ= ĠarrayOf ( č Ċ // ĠĠĠĠĠĠĠĠĠĠĠ ĠPoint Drawable (), č Ċ // ĠĠĠĠĠĠĠĠĠĠĠ ĠPoint Drawable (), č Ċ // ĠĠĠĠĠĠĠĠĠĠĠ ĠPoint Drawable (), č Ċ // ĠĠĠĠĠĠĠĠĠĠĠ ĠPoint Drawable (), č Ċ // ĠĠĠĠĠĠĠĠĠĠĠ ĠPoint Drawable (), č Ċ // ĠĠĠĠĠĠĠĠĠĠĠ ĠPoint Drawable () č Ċ // č Ċ // č Ċ // ĠĠĠ Ġ) čĊčĊĠĠĠ Ġprivate Ġvar Ġm Circle Draw ables : ĠArray < Circle Drawable > Ġ= ĠarrayOf ( čĊĠĠĠĠĠĠĠĠĠĠĠ ĠCircle Drawable (), čĊĠĠĠĠĠĠĠĠĠĠĠ ĠCircle Drawable (), čĊĠĠĠĠĠĠĠĠĠĠĠ ĠCircle Drawable (), čĊĠĠĠĠĠĠĠĠĠĠĠ ĠCircle Drawable () čĊĠĠĠ Ġ) čĊčĊĠĠĠ Ġcompanion Ġobject Ġ{ čĊĠĠĠĠĠĠĠ Ġconst Ġval ĠSPACE _ TIME Ġ= Ġ 2 0 0 L čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġinit Ġ{ čĊĠĠĠĠĠĠĠ Ġm Circle Draw ables . forEach Indexed Ġ{ Ġindex , Ġit Ġ-> čĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . m Delay Ġ= ĠSPACE _ TIME Ġ* Ġindex čĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . callback Ġ= Ġthis čĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . alpha Ġ= Ġ 2 5 5 Ġ* Ġ 0 . 5 . toInt () čĊĠĠĠĠĠĠĠ Ġ} čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġoverride Ġfun Ġdraw ( canvas : ĠCanvas ) Ġ{ čĊĠĠĠĠĠĠĠ Ġm Circle Draw ables . forEach Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcount Ġ= Ġcanvas . save () čĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . draw ( canvas ) čĊĠĠĠĠĠĠĠĠĠĠĠ Ġcanvas . restore To Count ( count ) čĊĠĠĠĠĠĠĠ Ġ} čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġoverride Ġfun Ġset Alpha ( alpha : ĠInt ) Ġ{ čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġ@ Suppress Lint (" Wrong Constant ") čĊĠĠĠ Ġoverride Ġfun Ġget Opacity (): ĠInt Ġ{ čĊĠĠĠĠĠĠĠ Ġreturn ĠPixel Format . RGBA _ 8 8 8 8 čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġoverride Ġfun Ġset Color Filter ( color Filter : ĠColor Filter ?) Ġ{ čĊĠĠĠ Ġ} čĊčĊčĊĠĠĠ Ġoverride Ġfun Ġon Bounds Change ( bounds : ĠRect ?) Ġ{ čĊĠĠĠĠĠĠĠ Ġsuper . on Bounds Change ( bounds ) čĊĠĠĠĠĠĠĠ Ġm Circle Draw ables . forEach Ġ{ Ġit . on Bounds Change ( bounds ) Ġ} čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġoverride Ġfun Ġis Running (): ĠBoolean Ġ{ čĊĠĠĠĠĠĠĠ Ġm Circle Draw ables . forEach Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( it . isRunning ) Ġreturn Ġtrue čĊĠĠĠĠĠĠĠ Ġ} čĊĠĠĠĠĠĠĠ Ġreturn Ġfalse čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġoverride Ġfun Ġstart () Ġ{ čĊĠĠĠĠĠĠĠ Ġm Circle Draw ables . forEach Ġ{ Ġit . start () Ġ} čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġoverride Ġfun Ġstop () Ġ{ čĊĠĠĠĠĠĠĠ Ġm Circle Draw ables . forEach Ġ{ Ġit . stop () Ġ} čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġoverride Ġfun Ġun schedule Drawable ( who : ĠDrawable , Ġwhat : ĠRunnable ) Ġ{ čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġoverride Ġfun Ġinvalidate Drawable ( who : ĠDrawable ) Ġ{ čĊĠĠĠĠĠĠĠ Ġinvalidate Self () čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġoverride Ġfun Ġschedule Drawable ( who : ĠDrawable , Ġwhat : ĠRunnable , Ġ` when `: ĠLong ) Ġ{ čĊĠĠĠ Ġ} č Ċ }