Esempio n. 1
0
  /**
   * Switch occupied swip process record.
   *
   * @param processRecord process record
   * @param featureType feature type
   * @return result
   */
  public int switchSwipOccupiedProcessLocked(ProcessRecord processRecord, int featureType) {

    int result = VoiceCommonState.SUCCESS;

    ListenerRecord listenerRecord =
        processRecord == null ? null : processRecord.getListenerRecord(getFeatureName(featureType));

    if (processRecord == null || listenerRecord == null) {
      result = VoiceCommonState.PROCESS_ILLEGAL;
    } else {
      if (mSwipOccupiedProcess != null && processRecord != mSwipOccupiedProcess) {
        result = VoiceCommonState.MIC_OCCUPIED;
      } else {
        // (1)Switch process record
        mSwipOccupiedProcess = processRecord;
        // Means switch success , current mSwipOccupiedProcess can
        // access swip
        // (2)Switch listener record
        result = processRecord.switchSwipListenerRecord(listenerRecord);
      }
    }
    return result;
  }