summaryrefslogtreecommitdiffstats
path: root/src/com
Commit message (Collapse)AuthorAgeFilesLines
* Keep main activity when recording is cancelledKhalid Zubair2016-06-281-1/+12
| | | | | | | | | | | | | | | | | | | | When a recording (running in background) is stopped and the user returns to the FM app, the recording activity is seen with a 'Save Recording?' popup. After responding keep/discard the app exits itself instead of returning to the main activity. This happens because the service calls exitFm() and activity finish() when the service receives the musicservice 'pause' command (e.g. when the camera starts). Instead of a complete shutdown, stop recording and pause (powerDown) the FM playback. This leaves the service in a funtional state and the recording activity can save/discard the recording and return to the main screen. FEIJ-1373 Change-Id: Ia3209b32cea193e76fb7b0b26b1ba05b88bd9d2c
* Handle recording without using MediaRecorderKhalid Zubair2016-06-283-75/+413
| | | | | | | | | | | | | | | | | | | | | MediaRecorder creates a new AudioRecord for the tuner internally and causes two audio input devices to be in-use during recording. Replace MediaRecorder with a custom recorder that gets fed by the same AudioRecord instance used for playback when SW rendering is in affect. This change helps workaround some bugs in the Audio HAL during fm recording (two tuner input devices) and concurrent mic recording. Force SW rendering when recording starts so that the recorder works and attempt to start the audio patch when recording ends. In onAudioPatchListUpdate there is no need to call initAudioRecordSink() before calling startRender() because startRender() will call initAudioRecordSink(). CYNGNOS-2819, KIPPER-687, FEIJ-1372 Change-Id: Iddd9f325892ca4482c3977dcadc627352e6f5bb2
* Fix stuck recording ui when recording is abortedKhalid Zubair2016-06-282-34/+66
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When the recording activity is paused and recording is canceled (e.g. loss of audio focus), the recording UI appears frozen when the activity resumes. This happens due to two issues: 1. When the activity is paused it ignores the cancellation MSG_FM_EXIT event. 2. When the activity is destroyed, it does not check the current state of the Recorder when it resumes. In both these cases, the activity assumes that the recording is still ongoing but the stop button fails silently when there is no recording to stop. Fix these issues by querying the recording status when the activity resumes and show the save dialog if the recording was stopped. oResume() and onServiceConnected() have been consolidated in to onResumeWithService() and handles checking the status of the service, starting recording and revisiting the activity. In FmService, the recording state returns 'INVALID' before the first recording starts because the recorder has not yet been created. Querying the recording state before starting the 2nd recording returns 'IDLE'. Treat the 1st and 2nd cases the same and return 'IDLE'. FEIJ-1373 Change-Id: I8a6f85f067a4c5737c5e00e6c035ba743c373e8f
* Remove false log warningsKhalid Zubair2016-06-251-1/+0
| | | | | | | The log should not be a warning as it occurs often during normal operation, Change-Id: I7e8fc3b8499dfa48988c8949d9527c905f44cbe3
* Fix exponential content observer registrationKhalid Zubair2016-06-241-4/+14
| | | | | | | | | | | | | | | On each call to ContentObserver.onChange(), updateUi() re-registers a ContentObserver. On the first onChange, a second observer is registered and for the next change, both observers call updateUi() registering two more, and so on. After n onChanges there are 2^n observers. Remove the duplicate registrations and register a ContentObserver only if the station changes. FEIJ-1373 Change-Id: I07d0bd968165dfda5601f72fd20641bb9d62a5f1
* FmService: Fix crash when plug-in/out headsetKeith Mok2016-06-161-1/+9
| | | | | | | | | | | | There is race condition between the RenderThread and main thread using the object mAudioTrack and mAudioRecord. Stop and re-create the RenderThread when we need to create new instance of mAudioTrack and mAudioRecord to avoid the race condition. CYNGNOS-2775 FEIJ-1227 Change-Id: I919010fdcc8aad76f1fc5debe6729b4d2a6954dc
* Revert "tracks: Check track states before transitioning states"Keith Mok2016-06-161-7/+4
| | | | | | | | | | This does not fix the race condition problem CYNGNOS-2775 FEIJ-1227 This reverts commit 0445f98ed0ba3c3fe682eb617660ae5d385a0216. Change-Id: I8c4f5fb7f064286b6895e084ec726bcbfcce0484
* tracks: Check track states before transitioning statesDiogo Ferreira2016-05-101-4/+7
| | | | | | | | | | Prevents sporadic crashes when the user plugs/unplugs the headset rapidly. These were caused by performing track operations such as start, stop and record before checking whether the tracks had been stopped before. Change-Id: I54b5ba102ffbed4c453ee5f15533467e5f4771fd Ticket: CYNGNOS-2775
* improve audio startup performaceAndré Rivotti Casimiro2016-05-091-1/+3
| | | | | | | Create the needed audio patches as soon as possible, executing the visual transition only after they are created. Change-Id: Ic4ac4bb146836cb17ff144652b8f2d0f8dd612a9
* fmradio: Add an optional static library targetDiogo Ferreira2016-05-031-1/+1
| | | | | | | | | | FMRadio is not exposed as a framework functionality and this makes it harder to expose it to some use cases such as testing. This patch turns the non-ui components of the app into a static library that can be linked by other apps. Change-Id: Ifafd105461303cbaea5f1e788e1c0af95ad894c9
* FmService: Make usage of audiopatch a build-time optionRicardo Cerqueira2016-05-021-21/+23
| | | | | | | | | Change Ib732c8e8328035d2b3e60b7823446d1d75b3c107 assumes all devices have issues with direct volume configuration and require audiopatching to be disabled in favor of soft rendering. Don't do that, make it configurable. Change-Id: Ia334052043a292d37b44e727769232e55a673d35
* Fix incomplete app terminationRicardo Cerqueira2016-04-051-0/+1
| | | | | | | | | | | | | When dismissing the task from the recents list, the app would go away but the service would stay up. Relaunching the app would then complete the termination and result in a second shutdown. Stop the service on task removal to avoid the weird double-start artifact. Ref CRACKLING-1025 Change-Id: I3bc3be75501294da4a526f0634149449f645edc2
* Fix force close when Google Play Music is not installedGabriele M2016-03-301-2/+2
| | | | | | | setClassName() throws IllegalArgumentException if com.google.android.music is not found. Change-Id: Ied2d2fade6aeaa7550503bb360477feb66be00cc
* FMRadio: Immediately mute AudioTrack once stopRender is calledEthan Chen2016-03-241-0/+3
| | | | | | | | | | | | * This is kind of a hack, to squelch any possible output from when stopRender is called to when AudioTrack.stop is called. This is because the render thread may be playing audio and not respond immediately to a stopRender call, resulting in garbage being written to the output once the FM input is shut down. (such as in the case of the headphone/antenna being removed). REF: KIPPER-560 Change-Id: Id9dab17ca95a41e5a98c16fc8bc58d9e414e4efc
* FMRadio: Pause and stop AudioTrack before stoppingEthan Chen2016-03-241-0/+2
| | | | | | | | | * According to documentation, stop will continue to play the last buffer, while pause immediately halts playback. * Pause to reduce latency to stop, then flush the AudioTrack buffer before actually stopping in the render thread. Change-Id: I0b497cd6b95b0921f63796746c7279a4f931dbd3
* FMRadio: Run render thread at THREAD_PRIORITY_AUDIOEthan Chen2016-03-241-0/+2
| | | | Change-Id: Ia7c558bb02b424e96e0af4d01684b7e51fd85bd4
* FMRadio: Fix station switch from list for certain localescretin452016-03-181-12/+15
| | | | | | Issue-id: CYNGNOS-2234 Change-Id: Ic96e770da17753cd72544312a2397507b6279927
* [FM] Temporary: use software rendering for FM-to-earphone playbackMatt Wagantall2015-11-231-0/+4
| | | | | | | | | | | | | | | | The Qualcomm audio HAL does not yet support volume control when direct FM-to-sink patches are created. Force use of software rendering (reading from AudioRecord and writing to AudioTrack) for now, as this has working software volume control. This change is obviously bad for power, as it requires SW involvement in the audio path. The change should be reverted when source HW volume control is available with audio patches. Playback through speaker, BT, and other sinks already go use software rendering and should be unaffected by this change. Change-Id: Ib732c8e8328035d2b3e60b7823446d1d75b3c107
* DO NOT MERGE - Fix build by updating access to display refresh rate.P.Y. Laligand2015-05-111-1/+1
| | | | | Change-Id: Ie0f49226586c9cdecd9fdcf660d60685d48c8c13 (cherry picked from commit 14518fe8324965a73cf9e22ef494fce0915f276b)
* [FM] Fallback if createAudioPatch failsDhananjay Kumar2015-04-071-5/+21
| | | | | | | | | CreatePatch returns error if a port is connected to an output device on a hal version less than 3.0. Hence on error fallback same path for HEADSET/Headphone as is implemented for speaker. Change-Id: I7f165849038cb867ce6799777e92052ced147ef4
* am 06ba26e7: am 3e855750: am 4f33aa31: [FM] Earphone mode incoming call ↵Benson Huang2015-03-252-0/+42
|\ | | | | | | | | | | | | ringtone issue in loudspeaker * commit '06ba26e7da989bfab8e49fe7fae03efd563472ae': [FM] Earphone mode incoming call ringtone issue in loudspeaker
| * [FM] Earphone mode incoming call ringtone issue in loudspeakerBenson Huang2015-03-192-0/+42
| | | | | | | | | | | | | | | | | | | | | | | | Listen to FM -> switch to loudspeaker mode -> now go to music player to listen to music with earphone connected, Music switches to loudspeaker mode automatically even when the earphones are connected. Bug 19729515 from: https://partner-android-review.googlesource.com/#/c/209191/ Change-Id: I17f84a6ceb63783ca7627eab2b8dd6bf59fe151b Signed-off-by: Benson Huang <benson.huang@mediatek.com>
* | renaming of MediaRecorder.AudioSource.FM_TUNEREric Laurent2015-03-092-2/+2
|/ | | | | | | Update after renaming of MediaRecorder.AudioSource.FM_TUNER to MediaRecorder.AudioSource.RADIO_TUNER. Change-Id: I350404e502796bb68533ae26d729dbe8f522319b
* Radio and Dual SIM - RU - Decimal comma requiredTony Kuo2015-02-101-3/+3
| | | | | | | | | | | [Modify] Use a decimal comma (,) instead of a decimal period(.) when showing frequency throughout the application. from: https://partner-android-review.googlesource.com/#/c/201685/ Bug:19206785 Change-Id: Ib98725442186dad65b0acd93ec61798024b8413a Signed-off-by: Tony Kuo <tony.kuo@mediatek.com>
* [FM] Saved recording option is disabled when FM radio is pausedBenson Huang2015-02-041-5/+4
| | | | | | | | | | | | Launch FM radio app with headset connected -> Play any channel -> Tap on pause button -> Observe saved recordings option in options menu, saved recording option is disabled. Bug 19203981 from: https://partner-android-review.googlesource.com/#/c/200585/ Change-Id: Ia0ce4fe0efbdf3e4d64ffb6b573d27f068c8d260 Signed-off-by: Benson Huang <benson.huang@mediatek.com>
* Merge "[FM] There is no sound output after resuming playing when FM is over ↵Nicholas Sauer2015-01-291-13/+10
|\ | | | | | | BT" into lmp-mr1-dev
| * [FM] There is no sound output after resuming playing when FM is over BTBenson Huang2015-01-281-13/+10
| | | | | | | | | | | | | | | | | | | | | | | | Launch FM radio and play -> Stop FM -> Turn on BT and connect with BT earphone with A2DP -> Open FM and resume playing, there is no sound output after step 4. Bug 19171819 from: https://partner-android-review.googlesource.com/#/c/199683/ Change-Id: I01d3975387840d9356c6f80d1f411eeb8526f930 Signed-off-by: Benson Huang <benson.huang@mediatek.com>
* | [FM] Only space character should not be allowed while renaming a FM channel ↵Benson Huang2015-01-281-8/+63
|/ | | | | | | | | | | | | | | | | | | | or a recorded audio file Launch FM app and plug in a wired headset -> Star mark a channel to add it favorite -> Go to favorite, tap on the menu (3 dots) and tap on rename to rename the channel -> Enter only spaces and save the channel -> Record an audio and on the dialogue, rename it with only spaces and tap on save, the channel names and audio files are saved without any error message. While playing this channel, FM notification shows no name because of the spaces The fix is to add some condition check for showing/hiding save button. Bug 19087268 from: https://partner-android-review.googlesource.com/#/c/198815/ Change-Id: I2ac0b81d2311eace3d5e28baca31d59d3095c8d1 Signed-off-by: Benson Huang <benson.huang@mediatek.com>
* [FM] Recording name is saved abnormally after discarding it in FMBenson Huang2015-01-212-5/+15
| | | | | | | | | | | | | | | Launch FM and play a channel without a name -> Start recording -> Stop recording and discard it -> Reboot the device -> Check the recording name in Play Music, FM recording named as "MMddyyyy_hhmmss" displays in Play Music. The fix is to delete FM recording file when discarding. Bug 19059404 from: https://partner-android-review.googlesource.com/#/c/193717/ Change-Id: I37fa949c108af175131fd08d0bbac66ef1cf4daf Signed-off-by: Benson Huang <benson.huang@mediatek.com>
* Merge "[FM] "Can't play the track you requested" pops up after tapping ↵Nicholas Sauer2015-01-161-18/+25
|\ | | | | | | "LISTEN"" into lmp-mr1-dev
| * [FM] "Can't play the track you requested" pops up after tapping "LISTEN"Benson Huang2015-01-161-18/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Select "Start Recording" in options menu -> Wait for SD storage to be nearly fully occupied -> "Insufficient storage" toast message displays and "Save recording" dialog pops up ->Tap "Save" to save the recording -> Tap "LISTEN" to playback the recording, "Can't play the track you requested" pops up. The fix is to also check storage free space when handling message MSG_UPDATE_NOTIFICATION. bug: 19007352 from: https://partner-android-review.googlesource.com/#/c/193407/ Change-Id: I63d7e22e699cb3ddb90e32a785d5c264258b6a06 Signed-off-by: Benson Huang <benson.huang@mediatek.com>
* | Merge " [FM] Fix 18847131 There is no sound output from BT earphone while ↵Leo Wang2015-01-151-12/+45
|\ \ | | | | | | | | | BT earphone is connected" into lmp-mr1-dev
| * | [FM] Fix 18847131 There is no sound output from BT earphone while BT ↵Hochi Huang2015-01-131-12/+45
| |/ | | | | | | | | | | | | | | | | | | earphone is connected Review: https://partner-android-review.git.corp.google.com/#/c/192445 Signed-off-by: Hochi Huang <hochi.huang@mediatek.com> Change-Id: Ic762271f980b61503ae4e1b32118bf34ad40577f
* | Merge " [FM] FM icon does not display in the notification bar when FM is ↵Leo Wang2015-01-151-0/+5
|\ \ | | | | | | | | | playing" into lmp-mr1-dev
| * | [FM] FM icon does not display in the notification bar when FM is playingBenson Huang2015-01-141-0/+5
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | FM powered up -> Select "Start Recording" in options menu -> Tap "STOP RECORDING" and "save recording" dialog pops up -> Tap Home key and check FM icon in the status bar, FM icon will not display in the status bar. The fix is to update playing notification when the saving dialog is shown. Bug 19001738 Review: https://partner-android-review.git.corp.google.com/#/c/193404 Signed-off-by: Benson Huang <benson.huang@mediatek.com> Change-Id: I2edd7c548c736cf58b1e8ae13da3c0b4f62ea031
* / [FM] "Getting stations" does not show when launching FM for the first timeBenson Huang2015-01-141-0/+1
|/ | | | | | | | | | | | | | | | Launch FM and play a channel for the first time -> Tap Star icon to add the channel to Favorites and then tap Star icon to remove it -> Go to Radio Stations and check the view, "Getting stations" does not show, white view displays and then search channel successfully. Bug 19000983 Review: https://partner-android-review.git.corp.google.com/#/c/193405 Signed-off-by: Benson Huang <benson.huang@mediatek.com> Change-Id: I7b347a3430d3813f98241f370d32a56095d24d2b
* Merge "[FM] There is no sound in speaker while playing FM in speaker mode" ↵Nicholas Sauer2015-01-061-1/+21
|\ | | | | | | into lmp-mr1-dev
| * [FM] There is no sound in speaker while playing FM in speaker modeBenson Huang2015-01-061-1/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | Launch FM and play a station -> Plug out headphones -> Plug in headphones -> Switch to speaker mode, There is no sound via speaker. The fix is to let FM sound output via speaker. from: https://partner-android-review.googlesource.com/#/c/192523/3 Bug 18795162 Change-Id: I16fce6914ea0b3d463c1205708d11265925097e4 Signed-off-by: Benson Huang <benson.huang@mediatek.com>
* | [FM] The channel name will not disappear on the main screen after ↵Benson Huang2015-01-051-0/+1
|/ | | | | | | | | | | | | | | | | | | deleting a channel from the Favorites Enter FM radio -> Tap star icon to add the channel in the Favorites -> Rename the channel -> Tap star icon to delete a channel from the Favorites -> Check the name on the main screen, the channel name will not disappear. The CL is to fix the issue that gjalan reproduced. Bug 18847141 Review: https://partner-android-review.git.corp.google.com/#/c/192521 Signed-off-by: Benson Huang <benson.huang@mediatek.com> Change-Id: Ib5339c1e956981bdbcff74767b5c422d2e4fcf8b
* Merge "[FM] FM recording time will display incorrectly when recording time ↵Nicholas Sauer2015-01-011-5/+14
|\ | | | | | | is beyond 60 minutes" into lmp-mr1-dev
| * [FM] FM recording time will display incorrectly when recording time is ↵Benson Huang2014-12-311-5/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | beyond 60 minutes Launch FM from Launcher and power up FM -> Select "Start Recording" in options menu, check the Recording Timer Text ("00m00s" is OK) -> Wait for FM recording more than 60 minutes (e.g. 61 minutes 20 seconds), click power key to unlock screen and check the recording timer text in FM record, the recording timer text will be "00m20s". The fix is to follow SoundRecorder's way to show recording timer. from: https://partner-android-review.googlesource.com/#/c/192375/1 Bug 18842895 Change-Id: Iefb385ab855e2e940d23632502c35bc3e27ad8a5 Signed-off-by: Benson Huang <benson.huang@mediatek.com>
* | Merge "[FM] If recording to fill up SD card, "insufficient storage" warning ↵Nicholas Sauer2015-01-011-0/+3
|\ \ | | | | | | | | | will not show up on the save recording dialog" into lmp-mr1-dev
| * | [FM] If recording to fill up SD card, "insufficient storage" warning will ↵Benson Huang2014-12-311-0/+3
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | not show up on the save recording dialog Select "Start Recording" in options menu -> Wait for SD storage to be nearly fully occupied, The save recording dialog will show up, but without "insufficient storage" warning on dialog UI. The fix is to show "insufficient storage" toast in this situation. Bug 18832487 from: https://partner-android-review.googlesource.com/#/c/192347/ Change-Id: I117c61d503349745d65fb5595c935c90c0b29e31 Signed-off-by: Benson Huang <benson.huang@mediatek.com>
* / [FM] FM will not change to FM main view after re-plugging in the earphoneBenson Huang2014-12-311-5/+27
|/ | | | | | | | | | | | | | | Launch FM and play -> Plug out headphone quickly -> Plug in headphone quickly -> Repeat step 2~3 several times -> Check the FM screen, FM will not change to FM main view after re-plugging in the earphone. The fix is to let FM change to main activity after re-plugging in the earphone. Bug 18836352 from: https://partner-android-review.googlesource.com/#/c/192346/ Change-Id: Ib924356e83f794560b91e47b5b35f2087eb876d7 Signed-off-by: Benson Huang <benson.huang@mediatek.com>
* Merge "[FM] "Speaker on/headset" should not be available while BT earphone ↵Nicholas Sauer2014-12-312-1/+15
|\ | | | | | | is connected" into lmp-mr1-dev
| * [FM] "Speaker on/headset" should not be available while BT earphone is connectedBenson Huang2014-12-312-1/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Launch FM Radio and play -> Turn on BT and connect with BT earphone -> Enter FM again and check "Speaker on/headset" , "Speaker on/headset" will be available. The fix is to also check BT headset is connected or not when enabling menu item. Bug 18795153 from: https://partner-android-review.googlesource.com/#/c/192377/2 Change-Id: Ia6d78b85563389f193860820447273a27e76d050 Signed-off-by: Benson Huang <benson.huang@mediatek.com>
* | Merge "[FM] PS will disappear after refreshing stations if the station is ↵Nicholas Sauer2014-12-311-2/+1
|\ \ | | | | | | | | | not added to Favorites" into lmp-mr1-dev
| * | [FM] PS will disappear after refreshing stations if the station is not added ↵Benson Huang2014-12-311-2/+1
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | to Favorites Launch FM and play a station with PS(the station is not added to Favorites) -> Refresh channels -> After searching out the channels and tap Back key -> Check the PS information, PS information will disappear. The fix is to set correct station name. from: https://partner-android-review.googlesource.com/#/c/192378/ Bug 18842996 Change-Id: Ib691d3d1472fe032f528987173d3b186ee17bf06 Signed-off-by: Benson Huang <benson.huang@mediatek.com>
* | Merge "[FM] The channel name will not disappear on the main screen after ↵Nicholas Sauer2014-12-312-0/+4
|\ \ | | | | | | | | | deleting a channel from the Favorites" into lmp-mr1-dev
| * | [FM] The channel name will not disappear on the main screen after deleting a ↵Benson Huang2014-12-312-0/+4
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | channel from the Favorites Enter FM radio -> Tap star icon to add the channel in the Favorites -> Rename the channel -> Tap star icon to delete a channel from the Favorites -> Check the name on the main screen, the channel name will not disappear. The CL is to fix this issue. Bug 18847141 from: https://partner-android-review.googlesource.com/#/c/192388/1 Change-Id: Ia8331caa460f3bf0036c3470705e37d8aaf14e5a Signed-off-by: Benson Huang <benson.huang@mediatek.com>