If what we want is to set the `mAbovePaint ` alpha value in relationship with the current `mFstHalfPaint ` and `mScndHalfPaint ` we could go for a percentage calculation:

mAbovePaintAlpha = ALPHA_OPAQUE - ((<percentage we want>*100)/ALPHA_OPAQUE)

I also think that we should separate this mAbovePaint.setAlpha to another function and call it from both places :

@Override public void setAlpha
@Override protected boolean onLevelChange

Otherwise as it was explained, call setAlpha after call setColor is redundant.