Tap the same coordinate multiple times

I’m trying to tap the same screen coordinate N times, however only the first tap is successful. All other taps don’t seem to register correctly. This is to change the values on a ‘scroll wheel’ one-by-one without swiping:

Meter

Here’s some example code of what I’m currently trying. I’ve tried many more things, but all have the same result.

private void tapTouchWheelDown(AppiumDriver driver, org.openqa.selenium.Rectangle dimensions, int numberOfTaps) {
    int xCoordinate = dimensions.x + (int)(dimensions.width * 0.5);
    int yCoordinate = dimensions.y + (int)(dimensions.height * 0.8);
    PointOption pointOption = new PointOption().withCoordinates(xCoordinate,  yCoordinate);
    WaitOptions waitOptions = new WaitOptions().withDuration(Duration.ofMillis(1000));

    for (int i = 0; i < numberOfTaps; i++) {
        new TouchAction(driver)
                .tap(pointOption)
                .waitAction(waitOptions)
                .perform();
        System.out.println(i);
    }
}

I’ve tried using Thread.sleeps for varying amounts of time (250ms through 5000ms).

I’ve tried press() and release() instead of tap().

I’ve tried creating the complete TouchAction object before the loop, then just running perform() in the loop.

I’ve tried creating the PointOption and WaitOptions in the TouchAction sequence each time in the loop, in case there is some funny business going on with when those objects are accessed multiple times.

Anyone know how to do this? Is there a bug that’s preventing this?

Thanks.

you can try to write code:
TouchAction touchAction=new TouchAction(driver)
for (int i = 0; i < numberOfTaps; i++) {
touchAction.tap(pointOption).perform();
Thread.sleeps(2000);
System.out.println(i);
}