code: private int[] getEnteredTime(Boolean[] enteredZeros) {
          int amOrPm = -1;
          int startIndex = 1;
          if (!mIs24HourMode && isTypedTimeFullyLegal()) {
              int keyCode = mTypedTimes.get(mTypedTimes.size() - 1);
              if (keyCode == getAmOrPmKeyCode(AM)) {
                  amOrPm = AM;
              } else if (keyCode == getAmOrPmKeyCode(PM)) {
                  amOrPm = PM;
              }
              startIndex = 2;
          }
          int minute = -1;
          int hour = -1;
          for (int i = startIndex; i <= mTypedTimes.size(); i++) {
              int val = getValFromKeyCode(mTypedTimes.get(mTypedTimes.size() - i));
              if (i == startIndex) {
                  minute = val;
              } else if (i == startIndex + 1) {
                  minute += 10 * val;
                  if (enteredZeros != null && val == 0) {
                      enteredZeros[1] = true;
                  }
              } else if (i == startIndex + 2) {
                  hour = val;
              } else if (i == startIndex + 3) {
                  hour += 10 * val;
                  if (enteredZeros != null && val == 0) {
                      enteredZeros[0] = true;
                  }
              }
          }
  
          int[] ret = {hour, minute, amOrPm};
          return ret;
      }
docs: Get the currently-entered time, as integer values of the hours and minutes typed.
  
  @param enteredZeros A size-2 boolean array, which the caller should initialize, and which
  may then be used for the caller to know whether zeros had been explicitly entered as either
  hours of minutes. This is helpful for deciding whether to show the dashes, or actual 0's.
  @return A size-3 int array. The first value will be the hours, the second value will be the
  minutes, and the third will be either TimePickerDialog.AM or TimePickerDialog.PM.