private void tick(){
  if (startedIndexTimeStamp == 0) {
    startedIndexTimeStamp=System.currentTimeMillis();
  }
  long timeElapsedSinceIndexStartMilliseconds=System.currentTimeMillis() - startedIndexTimeStamp;
  int maximumIndex=divisorList.length - 1;
  int currentDivisor=divisorList[currentIndex];
  if (ticksSinceIndexChange % currentDivisor == 0) {
    timePicker.zInternalTryChangeTimeByIncrement(changeAmountMinutes);
    if ((currentIndex < maximumIndex) && (timeElapsedSinceIndexStartMilliseconds > millisForDivisorList[currentIndex])) {
      ticksSinceIndexChange=0;
      ++currentIndex;
      startedIndexTimeStamp=System.currentTimeMillis();
    }
  }
  ++ticksSinceIndexChange;
}

private void tick ( ) { if ( startedIndexTimeStamp == 0 ) { startedIndexTimeStamp = System . currentTimeMillis ( ) ; } long timeElapsedSinceIndexStartMilliseconds = System . currentTimeMillis ( ) - startedIndexTimeStamp ; int maximumIndex = divisorList . length - 1 ; int currentDivisor = divisorList [ currentIndex ] ; if ( ticksSinceIndexChange % currentDivisor == 0 ) { timePicker . zInternalTryChangeTimeByIncrement ( changeAmountMinutes ) ; if ( ( currentIndex < maximumIndex ) && ( timeElapsedSinceIndexStartMilliseconds > millisForDivisorList [ currentIndex ] ) ) { ticksSinceIndexChange = 0 ; ++ currentIndex ; startedIndexTimeStamp = System . currentTimeMillis ( ) ; } } ++ ticksSinceIndexChange ; }
tick , this is called once each time that the timer fires . ( every 20 milliseconds ) . however , the value in the time picker will only be changed once for every certain number of calls to the tick ( ) function . the number of calls which is required is controlled by the " divisorlist " array values . the amount of time that is spent using each divisorlist array value is controlled by the " millisforindexlist " .
