private void setDotRevealFraction(int dot, float fraction) {
    dotRevealFractions[dot] = fraction;
    postInvalidateOnAnimation();
  }
Unselected dots can be in 6 states:

#1 At rest
#2 Joining neighbour, still separate
#3 Joining neighbour, combined curved
#4 Joining neighbour, combined straight
#5 Join retreating
#6 Dot re-showing / revealing

It can also be in a combination of these states e.g. joining one neighbour while
retreating from another.  We therefore create a Path so that we can examine each
dot pair separately and later take the union for these cases.

This function returns a path for the given dot **and any action to it's right** e.g. joining
or retreating from it's neighbour

@param page
java/com/google/android/apps/authenticator/howitworks/PagingIndicator.java