package Ġio . in ch time . refresh kit . indicators Ċ Ċ import Ġandroid . animation . Value Animator Ċ import Ġandroid . graphics . Canvas Ċ import Ġandroid . graphics . Paint Ċ import Ġandroid . graphics . Rect F Ċ Ċ class ĠBall Clip Rotate Multiple Indicator : ĠIndicator () Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġscale Ġ= Ġ 1 f ĊĠĠĠ Ġprivate Ġvar Ġdegrees Ġ= Ġ 0 f ĊĊĠĠĠ Ġoverride Ġfun Ġdraw ( canvas : ĠCanvas , Ġpaint : ĠPaint ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġpaint . stroke Width Ġ= Ġ 3 f ĊĠĠĠĠĠĠĠ Ġpaint . style Ġ= ĠPaint . Style . ST RO KE ĊĊĠĠĠĠĠĠĠ Ġval Ġcircle Spacing Ġ= Ġ 8 f ĊĠĠĠĠĠĠĠ Ġval Ġx Ġ= Ġwidth Ġ/ Ġ 2 f ĊĠĠĠĠĠĠĠ Ġval Ġy Ġ= Ġheight Ġ/ Ġ 2 f ĊĊĠĠĠĠĠĠĠ Ġcanvas . save () ĊĊĠĠĠĠĠĠĠ Ġcanvas . translate ( x , Ġy ) ĊĠĠĠĠĠĠĠ Ġcanvas . scale ( scale , Ġscale ) ĊĠĠĠĠĠĠĠ Ġcanvas . rotate ( degrees ) ĊĊĠĠĠĠĠĠĠ Ġ// draw Ġtwo Ġbig Ġarc ĊĠĠĠĠĠĠĠ Ġval Ġb Start Angles Ġ= Ġfloat ArrayOf ( 1 3 5 f , Ġ- 4 5 f ) ĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 0 .. 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġrect F Ġ= ĠRect F (- x Ġ+ Ġcircle Spacing , Ġ- y Ġ+ Ġcircle Spacing , Ġx Ġ- Ġcircle Spacing , Ġy Ġ- Ġcircle Spacing ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcanvas . draw Arc ( rect F , Ġb Start Angles [ i ], Ġ 9 0 f , Ġfalse , Ġpaint ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġcanvas . restore () ĊĠĠĠĠĠĠĠ Ġcanvas . translate ( x , Ġy ) ĊĠĠĠĠĠĠĠ Ġcanvas . scale ( scale , Ġscale ) ĊĠĠĠĠĠĠĠ Ġcanvas . rotate (- degrees ) ĊĠĠĠĠĠĠĠ Ġ// draw Ġtwo Ġsmall Ġarc ĊĠĠĠĠĠĠĠ Ġval Ġs Start Angles Ġ= Ġfloat ArrayOf ( 2 2 5 f , Ġ 4 5 f ) ĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 0 .. 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġrect F Ġ= ĠRect F ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ- x Ġ/ Ġ 1 . 8 f Ġ+ Ġcircle Spacing , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ- y Ġ/ Ġ 1 . 8 f Ġ+ Ġcircle Spacing , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġx Ġ/ Ġ 1 . 8 f Ġ- Ġcircle Spacing , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġy Ġ/ Ġ 1 . 8 f Ġ- Ġcircle Spacing ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcanvas . draw Arc ( rect F , Ġs Start Angles [ i ], Ġ 9 0 f , Ġfalse , Ġpaint ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate Anim ators (): ĠArrayList < Value Animator > Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġanim ators Ġ= ĠArrayList < Value Animator >() ĊĠĠĠĠĠĠĠ Ġval Ġscale Anim Ġ= ĠValue Animator . of Float ( 1 f , Ġ 0 . 6 f , Ġ 1 f ) ĊĠĠĠĠĠĠĠ Ġscale Anim . duration Ġ= Ġ 1 0 0 0 ĊĠĠĠĠĠĠĠ Ġscale Anim . repeat Count Ġ= Ġ- 1 ĊĠĠĠĠĠĠĠ Ġadd Update Listener ( scale Anim , ĠValue Animator . Animator Update Listener Ġ{ Ġanimation Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġscale Ġ= Ġanimation . animated Value Ġas ĠFloat ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinvalidate Self () ĊĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠ Ġval Ġrotate Anim Ġ= ĠValue Animator . of Float ( 0 f , Ġ 1 8 0 f , Ġ 3 6 0 f ) ĊĠĠĠĠĠĠĠ Ġrotate Anim . duration Ġ= Ġ 1 0 0 0 ĊĠĠĠĠĠĠĠ Ġrotate Anim . repeat Count Ġ= Ġ- 1 ĊĠĠĠĠĠĠĠ Ġadd Update Listener ( rotate Anim , ĠValue Animator . Animator Update Listener Ġ{ Ġanimation Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdegrees Ġ= Ġanimation . animated Value Ġas ĠFloat ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinvalidate Self () ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġanim ators . add ( scale Anim ) ĊĠĠĠĠĠĠĠ Ġanim ators . add ( rotate Anim ) ĊĠĠĠĠĠĠĠ Ġreturn Ġanim ators ĊĊĠĠĠ Ġ} Ċ Ċ }