docs: private void calculateGridSizes(float numbersRadius, float xCenter, float yCenter,
              float textSize, float[] textGridHeights, float[] textGridWidths) {
          /*
           * The numbers need to be drawn in a 7x7 grid, representing the points on the Unit Circle.
           */
          float offset1 = numbersRadius;
          // cos(30) = a / r => r * cos(30) = a => r * √3/2 = a
          float offset2 = numbersRadius * ((float) Math.sqrt(3)) / 2f;
          // sin(30) = o / r => r * sin(30) = o => r / 2 = a
          float offset3 = numbersRadius / 2f;
          mPaint.setTextSize(textSize);
          mSelectedPaint.setTextSize(textSize);
          mInactivePaint.setTextSize(textSize);
          // We'll need yTextBase to be slightly lower to account for the text's baseline.
          yCenter -= (mPaint.descent() + mPaint.ascent()) / 2;
  
          textGridHeights[0] = yCenter - offset1;
          textGridWidths[0] = xCenter - offset1;
          textGridHeights[1] = yCenter - offset2;
          textGridWidths[1] = xCenter - offset2;
          textGridHeights[2] = yCenter - offset3;
          textGridWidths[2] = xCenter - offset3;
          textGridHeights[3] = yCenter;
          textGridWidths[3] = xCenter;
          textGridHeights[4] = yCenter + offset3;
          textGridWidths[4] = xCenter + offset3;
          textGridHeights[5] = yCenter + offset2;
          textGridWidths[5] = xCenter + offset2;
          textGridHeights[6] = yCenter + offset1;
          textGridWidths[6] = xCenter + offset1;
      }