audio/msm7x30: port forwarding HTC code from gb

Change-Id: I89f0ad806a77c1368e10495287f6693ecb9282ba
audio/msm7x30: perform null checks when calling libhtc_acoustic functions

Fixes null pointer dereference when msm72xx_set_audpre_params and
msm72xx_enable_audpre are called from libhtc_acoustic.so that does
not have those functions (such as those for msm8x60 platform).

Change-Id: Ifa4357835e938b374e09908c34c14c8c5c52ce10
audio/msm7x30: device enum debug

Change-Id: I3490e21b4177b9e30e6dea548728679001247fce
audio/msm7x30: set mRecordState in AudioInputStreamMSM72xx::set

This fixes audio input/recording, including voice dialer and
voice search.

Change-Id: Ica042715ffc7ee664507951f6f7591b23532c34c
audio/msm7x30: fix voice volume on first call

- Store float voice volume got from audioflinger even if
  msm_set_voice_rx_vol return an error and re-use it on next call.
- Remove redundant volume set.

Change-Id: I1653152d81add785f8a7eee148bf849fecacc841
audio/msm7x30: Change fallback route to speaker

* Add explict case for HANDSET, and use SPEAKER as fallback

Change-Id: Ie6dd33f9acb7fd8e5536220e8230822b534798da
audio/msm7x30: fix a crash on audio initialize

Fixes crash on mediaserver if the device_count got from
audioalsa library is greater than DEVICE_COUNT in HAL

Change-Id: Ic5a29ddbee4f7b79ec944e6b48ef8272177659e6
Revert "audio/8655: Enabling LPA playback by adding AudioSessionOutLPA class"

This hasn't worked on 7x30 since ICS, and it also requires ION which
most 7x30 devices can not use.

This reverts commit b982f5a7b665873688c6710d53b4f3902a4c2876.

Change-Id: If1f4ba6fbca611baca220e417a4ef5abd8c1c216
audio/msm7x30: #ifdef teh things

    BOARD_HAVE_QCOM_FM
    BOARD_USES_QCOM_AUDIO_LPA
    BOARD_USES_QCOM_AUDIO_SPEECH
    BOARD_USES_QCOM_AUDIO_VOIPMUTE
    BOARD_USES_QCOM_AUDIO_RESETALL
    WITH_QCOM_VOIP_OVER_MVS

Change-Id: Ia3965096d36768468808b8e3f2ff34318e6aec89