call super.onDraw
call `postInvalidate()' instead of `invalidate()' since not on UI thread
update the color in MainActivity instead of in HorizontalBarView
prevent the screen from going to sleep
cleanup