@Override public void onClick(View v) { switch (v.getId()) { case R.id.btnEditAthlete: showEditAthleteDialog(); break; case R.id.btnStart: // truncate time to tenths of seconds mStartTime = (System.currentTimeMillis() / 100) * 100; mIsClockRunning = true; new buttonVibration().execute(); EventBus.getDefault().post(new MyEvents.startClock(mStartTime)); EventBus.getDefault().post(new MyEvents.startRace(mAthleteNumber)); startRace(); break; case R.id.btnSplit: if (mIsClockRunning) { MyLog.i("RaceTimerFragment", "btnSplitClick Athlete" + mAthleteNumber); // truncate time to tenths of seconds long currentTime = (System.currentTimeMillis() / 100) * 100; new buttonVibration().execute(); long mCumulativeTime = currentTime - mStartTime; long splitTime = mCumulativeTime - mPreviousCummulativeTime; mLapNumber++; int mCummulativeDistance = mLapNumber * mLapDistance; createSplit( mSelectedAthlete, mSelectedSwimEvent, mLapNumber, mCummulativeDistance, splitTime, mCumulativeTime); temporarilyDisableSplitButton(); } break; case R.id.btnEmail: CommonMethods.sendRaceSummaryEmail(getActivity(), mSwimEventSummary); break; } }