summaryrefslogtreecommitdiff
path: root/InCallUI/src/com/android/incallui/AudioModeProvider.java
AgeCommit message (Collapse)Author
2016-02-22Remove CallAudioStateCompatSailesh Nepal
Now that we're no longer backwards compatible with Lollipop we don't need CallAudioStateCompat. See ag/870962 for more info. Bug: 26676586 Change-Id: I7c754d89a6c9e13bf5a004b7c5b15b88b9aff9ad
2015-12-07Updating InCallUI to use CallAudioStateCompatBrandon Maxwell
Bug: 25776171 Change-Id: I94b42eb188e457a5470e33642cab2517949a8153
2015-05-13Rename AudioState to CallAudioStateYorke Lee
Deprecate AudioState class and make methods @SystemApi where necessary to minimize impact to SystemApi Replace usages of AudioState inside Telecom sub-systems Fire both onCallAudioStateChanged and onAudioStateChanged callbacks for backward compatibility Support both setAudioState and setCallAudioState for all classes Bug: 21040387 Bug: 21088300 Change-Id: I3ec7b3afdaa344c6d639d1c421f1842d67f7d0f7
2015-04-16Remove usage of Phone.java in InCallService APIs.Santos Cordon
Start using the direct methods of InCallService instead of using the Phone object. InCallService methods represent the public API which is what In-Call needs to compile against. Bug: 20160495 Change-Id: I223347e239e5d5954b6118c7ba5befdaea2932a0
2015-04-11Don't use AudioState.ROUTE_ALLJay Shrauner
For supported audio methods, explicitly construct a combination of known supported routes. Bug: Change-Id: Iee67a08370c8dc584106493bc751c9ac8e341198
2015-03-05Add tests for InCallPresenterYorke Lee
Add a bunch of end-to-end tests for InCallPresenter Refactor InCallPresenter to be more dependency injection friendly. Add some test-only methods to make testing easier Change-Id: I86b6eeff91d35bc3b5cb3de9262d8850673919b7
2014-11-28Telecom API updates (3/6)Ihab Awad
Bug: 18292176 Change-Id: I5bcb1838a8423f15ebdf87c945ca91da460506f4
2014-09-12Renaming Telecomm to Telecom.Tyler Gunn
- Changing package from android.telecomm to android.telecom - Changing package from com.android.telecomm to com.android.server.telecomm. - Renaming TelecommManager to TelecomManager. Bug: 17364651 Change-Id: Ie5ae18f51baa5da2eb9793785ad0c9d83b6343d1
2014-08-13Final structural tweaks to Telecomm API (3/8)Ihab Awad
Bug: 16416927 Bug: 16494880 Change-Id: If756941a5bdd25ff8ac633a56fe90c894d4a46a4
2014-08-05Remove hardcoded audio route in video provider.Santos Cordon
The video provider always calls exitVideo() and as a result always sets the audio mode to EARPIECE when any call starts, negating any automatic setting done by telecomm (like bluetooth). This change has three items: 1. Only set the audio mode if we are exiting a previously entered video call. 2. When setting audio on exit, set it to the mode that was previously saved when the video call was entered. 3. Convert usages of the private AudioMode to the public CallStateAudio. Change-Id: I484ea8fadc9b7cf43692b517c97f906918fc49f8
2014-07-14Implement new In-Call Service interfaceIhab Awad
Change-Id: Ic1eb6fc98e7f030885596c9c40f0ed4f0e34e28b (cherry picked from commit c90543e6ef64b16b4c1bb240494152bc513f1e36)
2013-10-25Removing private dependencies in InCallUiChristine Chen
- This CL addresses most of the private API calls in InCallUi. - This CL removed Android.mk as we are not building InCallUi.apk separately anymore. Changes to make an unbundled app will go into Dialer, GoogleDialer, and Contacts apps' makefiles. - Separated CLs will add libphonenumber, libgeocoding, and util classes for TelephonyManager and PhoneNumberUtils. - The only thing left for InCallUi is to unbundle ProximitySensor. Currently PowerManager's functions to deal with the proximity sensor are all private. It will take a rather substaintial amount of work to implement the proximity sensor functions ourselves (read proximity sensor event values, ask the screen to turn on, etc.). So we should rather push to get those functions into the public API. Change-Id: I18b3c52adb41c6131c1eb3c07ce32ebd56d0cc59
2013-09-09Improve lifecycle ordering for InCallUISantos Cordon
This CL rearranges startup and teardown of InCallUI to reduce the number of race conditions resulting in runtime exceptions and app crashes. At a high level this CL fixes the following: - TeleService should be able to unbind and rebind at any time without causing problems in the UI. (Fixes to InCallPresenter) - On weird occasions we were seeing secondary UIs pop up if we rebound while the older UI was still up and one of the UIs would be orphaned on the foreground. - call notifications can be sent during (1) activity startup, (2) activity lifetime, (3) activity destruction, (4) no activity...and nothing should crash. - Lots of crashes when notifications came during destruction and startup. (Fixed setup in InCallActivity + presenters, and startup/teardown ordering in InCallPresenter) Details: (1) InCallPresenter handed out instances of member classes to the UI classes, but upon unbinding and rebinding, the classes were recreated. This meant that the activity which was potentially still up had stale versions of AudioModeProvider and ProximitySensor. - Classes created/used by CallHandlerService are now singletons so that they do not change from one bind to the other. If the service tries to initialize InCallPresenter while the activity is still up (and so we haven't yet torn down) we reuse the reuse the previous initialization since there is no need to recreate them, and classes in the Activity dont ever become stale. (2) We were recreating new copies of InCallActivity on updates that occur while tearing down the previous activity. This caused weird errors where second emptier activities were up after all calls ended. - Solution to this was to ignore all updates while we are finishing the activity. When the activity is finally finished, we check if we should bring up a new activity in case some update came while we were finishing. (3) We set listeners on presenters from a parent class that wasn't aware of UI transitions. - All Presenters are not responsible for setting and unsetting their listeners. This allows them to unset them before their UI goes away. + renamed HIDDEN to NO_CALLS as hidden was confusing to developers which associated the term with foreground/backgroundness of the app. + Improved some logging bug:10573125 Change-Id: I2d1af6a6e972b3b3bd93af839054e879f0b74b4f
2013-09-03Automatically unmute call if user decides not to add callYorke Lee
Bug: 10446594 Change-Id: If48fbbebc89b5b48641af3093a0f6547bddcaeea
2013-08-29Support visual indication of mute from headsetSantos Cordon
This change uses new binder api changes to bring down mute status from TeleService. mute state routed through AudioModeProvider. bug:10395427 Change-Id: Ie15efcc780e99072363188de2a954a1888eec9dd
2013-08-09Singletons are hard, lets go chopping...them out of the code.Santos Cordon
After this change, there remains only one singleton (InCallPresenter). The whole system needs to be reworked in a better manner in terms of build up and tear down. Change-Id: I393ec648526bc28a3ae709004aed6d4627670549
2013-08-07Audio Routing support in UISantos Cordon
Changes: - AudioModeProvider - receives audio mode changes from CallHandlerService - CallButtonPresenter listens to AudioModeProvider so that it can use those changes in the UI. - CallButtonFragment uses the audio mode from Presenter() to display: - The correct layers for the supported modes - The popup menu when bluetooth is enabled Change-Id: I8ec4024f7bbb5e3b1cfdaae20a4dd2f85ae802cf