This construct if ((curMillis - prevMillis) == 1000) is risky. Much safer isif ((curMillis - prevMillis) >= 1000)
if ((curMillis - prevMillis) == 1000)
if ((curMillis - prevMillis) >= 1000)