@ColorInt
  public int strokeColorFor(int elementIndex) {
    final float fractionShift = elementIndex * mTrailFraction;
    final int r = shiftColor(Color.red(mTrailStartColor), Color.red(mTrailEndColor), fractionShift);
    final int g =
        shiftColor(Color.green(mTrailStartColor), Color.green(mTrailEndColor), fractionShift);
    final int b =
        shiftColor(Color.blue(mTrailStartColor), Color.blue(mTrailEndColor), fractionShift);
    final int a =
        shiftColor(Color.alpha(mTrailStartColor), Color.alpha(mTrailEndColor), fractionShift);
    return Color.argb(a, r, g, b);
  }
@Test
  public void testStrokeColorFor() {
    GestureTrailTheme underTest =
        new GestureTrailTheme(
            Color.argb(200, 60, 120, 240), Color.argb(100, 30, 240, 200), 100f, 20f, 20);

    Assert.assertEquals(Color.argb(200, 60, 120, 240), underTest.strokeColorFor(0));
    Assert.assertEquals(Color.argb(100, 30, 240, 200), underTest.strokeColorFor(20));
    Assert.assertEquals(Color.argb(150, 45, 180, 220), underTest.strokeColorFor(10));
  }