summaryrefslogtreecommitdiff
path: root/InCallUI/src/com/android/incallui/InCallActivity.java
AgeCommit message (Collapse)Author
2014-06-25Fix NPE when referencing child fragmentsYorke Lee
Child fragments are now added to the parent fragment's fragment manager due to a change in framework behavior (ag/489316). As a result we now need to use the child fragment manager to obtain references to child fragments. Bug: 15872707 Change-Id: I351cfbee780129448c1a748716a3c4895fca67e7
2014-06-20Update Emergency Dialer to match Dialer (4/7).Sai Cheemalapati
Emergency dialer style updated to match style in Dialer and InCallUI. Moved all dialpad resources to PhoneCommon. Change-Id: I14a56573d8b3e69b2a4fe3675540e58bf4418df0
2014-06-20Revert "Update Emergency Dialer to match Dialer (4/5)."Yorke Lee
This reverts commit 68600983bd397729ded98d701c080d617f39813d. Change-Id: I2143fa849b02644624d09e75aafae7346ec20f36
2014-06-19Update Emergency Dialer to match Dialer (4/5).Sai Cheemalapati
Emergency dialer style updated to match style in Dialer and InCallUI. Moved all dialpad resources to PhoneCommon. Change-Id: I2034949eeacd56c01b7babf921fb980a52fe9e93
2014-06-11Fix key slide up animation on rotation in InCallUI.Sai Cheemalapati
Slide up animation no longer occurs after rotation when dialpad is already revealed. Change-Id: I5e75bae5df291dcd15ad2c3e346157f03a404e11
2014-06-10Dialpad save on orientation change in InCallUI.Sai Cheemalapati
Dialpad now saves and restores entered text after an orientation change. Change-Id: I2616a9eeb60823a247fb3ded09f658bf3559b0df
2014-06-09Updating Dialpad animation in InCallUI.Sai Cheemalapati
Dialpad now saves orientation state. Animation now matches duration and direction in Dialtacts. Bug: 15386162 Change-Id: I6b8f23147c9be956d16c758a6a51a9fa3bb47ec6
2014-06-06Moving FAB logic to ContactsCommon.Sai Cheemalapati
Moved FAB to ContactsCommon. Cleaned up FAB Controller. Replaced implementation of FAB in InCallUI with controller. Prevented animations from happening again in InCallUI on orientaton change. FAB also repositions correctly on orientation change in InCallUI. Bug: 15386162 Change-Id: I8ea4ef8acb49a83dabe5c18223ce5bac28260824
2014-06-05DO NOT MERGE. Implement connection error dialogs (4/4)Ihab Awad
Implement reporting of connection errors from ConnectionServices through Telecomm to the InCallUI. Bug: 15195720 Bug: 15117141 Change-Id: Ie466efb8badaab6785fb474c1c3d843a3234757a (cherry picked from commit 8656969cd1a34c01a5f2a2d254f124a63df362df)
2014-05-15First pass at Dialer to InCall transitionYorke Lee
* Modify InCallActivity to perform an animation only on a new outgoing call * Add an animated scrim to call_card.xml that serves as the backdrop of the full screen animated reveal * Add resize animation * Add circular reveal animation Bug: 14820894 Change-Id: Iaa7e87e8a96dcd269e444a40eadac9d912625c01
2014-04-01InCallUI - Use String IDsSailesh Nepal
Change-Id: Ibacb79658c146466d4f23bfcf7af0ebfb6e84dd0
2014-04-01InCallUI - Use custom object to track CallsSailesh Nepal
This is the first step in completely moving away from Telephony. This CL creates a custom Call object. Currently this is just a copy of the telephony Call object. I'll update various fields in individual CLs. This CL also deletes the old Telephony services. Bug: 13643568 Change-Id: Id1860a5df9706f2a7fddd40e70f0d693af7b04bd
2014-03-31am e1c9e81c: Merge "Don\'t show wait dialog if the activity is paused."Andrew Lee
* commit 'e1c9e81cd5d481161944122a4f9b9be486656464': Don't show wait dialog if the activity is paused.
2014-03-31Merge "Don't show wait dialog if the activity is paused."Andrew Lee
2014-03-28Don't show wait dialog if the activity is paused.Andrew Lee
Instead, save parameters for the call to show the PostCharDialogFragment to member variables if InCallUI is not the foreground activity. When the activity is resumed, show the PostCharDialogFragment with these saved parameters. Bug: 13177104 Change-Id: I95629bfdece2f6f9efed2aa06d01b53791ff756d
2014-03-28resolved conflicts for merge of 063fa2d9 to master-novaColin Cross
Change-Id: Iaa921a78fb59185404d24b6a4245ae2cb691ea5f
2014-03-28manually merge 9b4962cb into masterColin Cross
2014-03-28resolved conflicts for merge of 5feee861 to klp-modular-dev-plus-aospAnders Kristensen
Change-Id: I5e8217fbe5336ebfa91eddf11e7f46465be8f751
2014-03-28Remove duplicate call disconnect codes.Anders Kristensen
The Android code base defines call disconnect codes in three places: - android.telephony.DisconnectCause - android.internal.telephony.Connection.DisconnectCause - com.android.services.telephony.common.Call.DisconnectCause This CL consolidates the code to use the integer codes from android.telephony.DisconnectCause everywhere. Change-Id: I84a3fd5182a51d07fc7d81076e4b2c15ff26c61c
2014-03-25DO NOT MERGE. One-time patch change to resolve differences whererepo sync
klp-modular-dev became out of sync with klp-dev due to failures of automatic merges. We decided it is far better to submit this to fix the build rather than spending a bunch of time doing forensics on the history of automated merges into klp-modular-dev. Change-Id: I66ff89237b3308a919f711bc10425a7b9688c24b
2014-03-25Merge "Hookup audio mode to InCallUI" into master-novaSailesh Nepal
2014-03-24Fix for in-call dialpad not sliding full length of screenYorke Lee
Bug: 13189041 Change-Id: I5b5ceda11d1d5b89141255f867deb8688c95f5d4
2014-03-22Hookup audio mode to InCallUISailesh Nepal
Change-Id: I0f79cf4dede272811ef88540a3acdb0a6f332948
2014-03-10Fix IllegalStateException in InCallUIYorke Lee
InCallActivity.displayDialpad can possibly be called after onSaveInstanceState, so we need to use commitAllowingStateLoss instead of commit. Bug: 13396054 Change-Id: If2f61b16d97db159bebb5ddb5d1feecb87765386
2014-03-07Update dialpad to new look and feel.Ihab Awad
http://b/13189041 Change-Id: I26b306300e11fd6830d40b51a705c472c89925f4
2013-11-14am cd29be4c: am fa7dd751: am 59517317: Merge "Add logic to dynamic dismiss ↵Chiao Cheng
keyguard." into klp-dev * commit 'cd29be4cd60d6818b58a5927d452aaf52da43f6b': Add logic to dynamic dismiss keyguard.
2013-11-14Add logic to dynamic dismiss keyguard.Chiao Cheng
If the user rejects or misses call, keyguard should not be dismissed. Check for active or outgoing call. Bug: 11580109 Change-Id: I1d83041d38ae60dd835bb967ae307791b605cf21
2013-11-06am 84fa4c5b: am 4fa3514d: am 42d55df9: Disable HW BACK key at the ↵Sam Lin
incoming-call screen * commit '84fa4c5b56882e21f89feb71cd6d2ae0ae6682ad': Disable HW BACK key at the incoming-call screen
2013-11-07Disable HW BACK key at the incoming-call screenSam Lin
For devices with HW BACK key, it should be disabled at the incoming- call screen. Therefore, a user will not leave the screen by mistake. Bug: 11548503 Change-Id: I2f4f875c23687afe52a5f816550b9383b9a852c8
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-10-08update dialpad state more often.Santos Cordon
Noticed while testing proximity sensor that we do not update the dialpad state sufficiently. We have increased the amount of places in the code where the dialpad comes up since we first introduced the proximity code and the callbacks wheren't updated. This manifested in situations where the proximity sensor was off at time when it should have been on. Repro: be in a call, answer a second call (call waiting), bring up dialpad, hangup second call. The dialpad would go away but the prox sensor still thought it was up. This change moves the callback to proximity sensor to the exact place where dialpad is shown/hidden in order to catch all instances. bug:11006867 Change-Id: I7651b4769d035b9bc68d226da3ffb3aea8986e58
2013-10-07Adds support for texting after phone disconnects.Christine Chen
Bug: 11111553 Change-Id: I8abcae4439e7b9697d7b4a4335e093d7ad13a1b3
2013-09-26Show call ended if call disconnects while dialpad is showingYorke Lee
Bug: 10899209 Change-Id: Iefdef1890f8968fda57eb5f3286b97228906b596
2013-09-24Merge "Add generic error code dialogs for failed calls." into klp-devSantos Cordon
2013-09-24Merge "Adds hardware keyboard support for DTMF" into klp-devChristine Chen
2013-09-23Add generic error code dialogs for failed calls.Santos Cordon
This change listens for disconnected calls and if the disconnection cause matches a set of predefined causes, we show a dialog to the user. New dialog messages: - You can\'t make outgoing calls while call barring is on. - All calls are restricted by access control. - Emergency calls are restricted by access control. - Normal calls are restricted by access control. - Outgoing calls are restricted by FDN. Several changes were necessary to support this: 1) Dialog code (InCallActivity.java) 2) Notifications for a new disconnect (CallList.java) - previously we sent a large update for ondisconnect, now we just send the notice for that particular call. InCallPresenter was written so that the same thing that used to happen still happens. 3) Check if we need to show a disconnect dialog when the UI comes up. - I found that FDN disconnection happens so quickly that the disconnect came before the UI was up, so this was necessary. (InCallPresenter.setActivity()) 4) CallCard should be initialized with disconnecting/disconnecting calls. - Call Card presenter intializes itself when it starts up using live calls, but as with the FDN case above, a disconnected call should be used if no live calls exist. (CallList.getFirstCall()) 5) If a dialog is up while an incoming call comes up, dismiss it automatically so that users can see incoming UI. - (InCallPresenter.startOrFinishUi()) 6) Keep the UI up as long as there is a dialog for the incoming call. - Previously, UI would come down once all calls were shut down but in the case of present dialogs, we want it to stay up. (InCallActivity.finish()) - When the dialog is dismissed, check if we want to tear down UI. (InCallActivity.onDialogDismissed()) 7) Only tear down UI once we are in the NO_CALL state. - We used to tear down when the activity was null (closed) and the service was disconnected. This is problematic because a call that immediately disconnects (like FDN errors) would shut down the service before the UI had a chance to come up. We added a check to the conditional for the state NO_CALL before shutting down. (InCallPresenter.attemptCleanup()). bug: 10680210 Change-Id: I1fd33dd53dc0eec5a02b7a940cfd018cec3d20c0
2013-09-23Adds hardware keyboard support for DTMFChristine Chen
Bug: 10808399 Change-Id: Id12acee7baf11335916a38c50a266f83f578e0bd
2013-09-20Read back contact information in in-call screenYorke Lee
This changes talkback behavior so that it behaves the same way as in 4.3, other than reading the unnecessary description of the contact's photo Bug: 10844641 Change-Id: I2a2829d1a9650bf18d3b1d98d6ddc860fe9f8d27
2013-09-19Addressing finished and postponed TODO(klp)Christine Chen
Bug: 10605909 Change-Id: Id7594b306d23d4bd5d7a6983f2dbe524591a0d69
2013-09-19Merge "Add support for hardware CALL button." into klp-devSantos Cordon
2013-09-19Add support for hardware CALL button.Santos Cordon
bug:10809304 Change-Id: I8b6c5e27a37624f38df965e2ad001703cf558708
2013-09-19Merge "Make back button exit ConferenceManagerFragment" into klp-devYorke Lee
2013-09-18Make back button exit ConferenceManagerFragmentYorke Lee
Bug: 10808785 Change-Id: I8acf38bfa06bb58a778c45b107ff49eead37f25b
2013-09-17Removing finished TODO(klp)Christine Chen
Bug: 10605909 Change-Id: Ia4bfcc385d4bf36cbc3b401521714958fd829c7e
2013-09-16b/10699042 show dialpad when connects to voice mail.Makoto Onuki
Also now "Use touch tone keypad" in the dialer works, and it automatically un-holds if there's only once call and it's on hold. (which was a regression too.) Change-Id: Id8eeb2737ffa2223acfbf9a8a30d957599c9db36
2013-09-10Removes call buttons when there is no active call.Christine Chen
Bug: 10678069 Change-Id: Ic9356dff4a1f00fb1aea01f3bd553e2e8844ed83
2013-09-09Merge "Improve lifecycle ordering for InCallUI" into klp-devSantos Cordon
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-06Port dtmf post dial wait feature.Chiao Cheng
Bug: 10459289 Change-Id: Iee799bd72aac9bb86e2f414e68f2643d8ba1c563
2013-09-06Adds manage conference call UIChristine Chen
Bug: 10334739 Change-Id: I46a52ec967a1c496dd4b797f2064d9099670711f
2013-08-29Move initializeInCall to onStart().Santos Cordon
UI for presenters are not ready until after onViewCreated(). However, initializeInCall gets calls before that as as part of the activity's onCreate. Move this initialization to onStart so that the initialize process happens only after all the UI is ready. bug: 10544690 Change-Id: I6f0db720ff8a5436f560850af7fb1c1fd7795ae5
2013-08-28Major fixes for in call to work with reverse number lookup.Chiao Cheng
- Separated caller info data into CallIdentification and switch callbacks to use it where call state is un-necessary. - Changed mCallList.update() method to be onIncoming(). - Catch all exceptions from service methods so errors do not vanish. - Fixed bind failure cases which led to DeadObjectException. - Changed local contact lookup to only occur for incoming calls. - Fixed CallCardPresenter to start contact search upon isntantiation instead of waiting for next call update. - Convert ContactInfoCache to singleton to avoid race condition where it's not initialized. - Handle cases where primary call may be null when we find a contact. - Fixed race conditions in CallButtonPresenter where audio mode is being set before ui is ready. - Fixed race condition in AnswerPresenter where state change was being called before ui is ready. - Changes to CallCardPresenter to support lookup for conference calls. Bug: 10413515 Bug: 10390984 Change-Id: I9fc4f2f35e8f5aad33c301b3c5c93132634cb63c
2013-08-21Protect all logging statements.Chiao Cheng
- Rename global logger so it can be a drop in replacement for framework log class. - Remove imports of android.util.Log Bug: 10411948 Change-Id: I377625263b16c4f9408c79d5c533a1810fa6cde7
2013-08-21Adding proximity sensor code to in-call UI.Santos Cordon
Many of these changes are verbatim code copies from what used to exist in services/Telephony. The rest of them are straight logic copies that should do the exact same things. New class ProximitySensor manages the proximity behavior. It receives device state from InCallPresenter, AudioModeProvider, CallButtonPresenter, and AcceleromterListener, the last of which is a transplanted class from services/Telephony. ProximitySensor listens for the following events: 1. Change in the call state 2. Change in the audio mode 3. Change in the device orientation (from AccelerometerListener) 4. Change in the dialpad visibility 5. Change in hard keyboard open/close events. 6. Change in foreground position of InCall UI app. It uses these to figure out when to enable/disable proximity sensor. CL that removes code from TeleService: I77e0d15ad1a8f5a090c1368db98edaa246dbcd72 bug: 10366512 Change-Id: I5c2ea6daa9443e7ad77c67f272bc0bafdb060e5e
2013-08-19Support connecting and disconnecting from Phone app.Santos Cordon
Phone app now connects/disconnects from the UI when there are no active calls but UI did not previously support being disconnected. This change adds the following functionality to support dis/reconnection: - CallCommandClient now supports setting new ICallCommandService instances. - CallCommandClient now checks if mCommandService is null before executing a method. - CallHandlerService performs more careful ordered cleanup with destroyed including removing pending messages and clearing any existing calls from the call list. - InCallActivity now performs tearDown of the presenters with onDestroy instead of finish() to reduce NPE instances. - InCallActivity not notifies InCallPresenter when is finishes, and not just when it starts. - InCallPresenter tears itself down after two things happen: the UI is destroyed and the service is disconnected. - InCallPresenter now issues a full-screen restart of the UI if the UI was previously hidden (except for new outgoing calls). This allows the UI to come back to the foreground if it was in the foreground when the app went down. The above changes also now protect against the phone app crashing or the incall UI crashing. bug: 10363682 Change-Id: I9b785f906f29015827e8e53e64cd5f5c72cd7981
2013-08-13Use shared contact info cache to get data for the notification.Santos Cordon
Move around where ContactInfoCache is created so that StatusBarNotifier and CallCardPresenter will use the same shared instance. Change-Id: I6e0a7c48aa7a35a0f1a52b399eb127d69f41a879
2013-08-09Adding suppression behavior for in-call notification.Santos Cordon
This suppresses the notificaiton if the call isn't active of outgoing. We also suppress the notification if the user is currently in the in-call screen. ...except during incoming (ringing) calls...we always show it for ringing calls. Change-Id: Ib75545339376c62c975c390298ef9567d733b8e3
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-08Improve outgoing call sequenceSantos Cordon
Changes: - When we get a new outgoing call, fire up the UI (without the notification) by sending it an ACTION_MAIN intent. - Fix up the InCallState-setting code in InCallPresenter to be a little cleaner and accomodate new OUTGOING code. - Add missing call to set HOLD Ui button - Fix an occassional NullPointerException in CallCardPresenter.java Change-Id: I557a777287d9ab25ef1447be63b5da080f1b2532 (cherry picked from commit 4d5c29af103c13e78568dc772d26eb56a3e6d3e1)
2013-08-06Dialpad Ui elements for InCallUiChristine Chen
Change-Id: I7b230cc46993493459923c436a643910026cf6a6
2013-08-05Notifications in Phone (part 1)Santos Cordon
- Added StatusBarNotification class to handle notifications - StatusBarNotification has tons of copied comments from NotificationMgr.java. Also has minimal code to make the notification pop up (without call-specific data). - Moved the UI start-up code from InCallPresenter to StatusBarNotification. Incoming phone calls need to display an alert above immersive (fullscreen) foreground activities and the way to do that is through notifications. The old phone app did the same thing...finally bringing over that functionality. Change-Id: I3324503e0d7bb1de00d8e7fab72d4b40519491dd
2013-08-05Adding a central logging class.Santos Cordon
Change-Id: I24f68d5ebcfed2740f9645736c35edf17efb4769
2013-08-05Improve InCall State managementSantos Cordon
CL Contains the following changes: - InCallPresenter now manages an overall in-call state - Other presenters now listen to in-call state changes instead of getting updates from CallList directly. - Changes AnswerPresenter to a static fragment instead of dynamically loading it. It makes code easier and more aligned with other fragments used in the class. - Presenters now save the appropriate call and use callId() for commands sent to the telephony layer. - Extra logging in CallList - cleaned up the startup sequence in InCallActivity and moved everything to onCreate instead of onCreate & onResume Change-Id: I4ce4182eefcc134bfa16c33be8fe4aefc041f563
2013-08-03Fixing incoming call sequence, adding InCallPresenterSantos Cordon
Moved handling of AnswerWidget from AnswerPresenter and into the new InCallPresenter class. InCallPresenter now also manages a high-level in-call UI state to be expanded in subsequent CLs. Change-Id: Ia4fee84db68f7eaedea307b25329dadb8cf754e5
2013-08-01Adding multi-call support.Santos Cordon
Before this change, the UI came up when we were notified that a new call came in, but we did not actually look at the call state, etc. This seemingly worked while we only supported single calls but did not scale. This change does two main things: a) Plugs in CallList into the presenters so that they can perform their logic based on the actual state of the calls (necessary for multi-call support) b) Adds Secondary CallInfo UI to the Call Card so that we can display information foreground and background calls. As a result of (a) from above, a lot of changes you see will be to Presenters, which now take their cues from CallList and update their Ui's accordingly. A problem with this approach is that the presenters (callcard/buttons/answer-widget) perform their changes independently. A subsequent change will consolidate interactions with CallList to a Presenter-Manager class and away from the presenters. Change-Id: I89d1926fa1eef6f10d897d2ce360f666c8f341f8
2013-07-31Adding simple number data to callcardSantos Cordon
This CL allows the number to be displayed in the CallCard. Previous interaction: CallHandlerService->CallList CallCardFragment (isolated, no data) New interaction: CallHandlerService->MainHandler->CallList->CallCardPresenter->CallCardFragment 1) CallHandlerService.MainHandler: executes remote method calls on the main thread. 2) CallList: Added support for listeners. 3) CallCardPresenter: Presenter layer for fragment. Listens to CallList 4) CallCardFragment: Gets real data from presenter, displays phone #. Change-Id: I6de3a9da15b69d44826c3226701eed6a1b86239c
2013-07-24Finishing in call screen when call ends.Chiao Cheng
Change-Id: I80220deb47ec17fbfb017795f916ba0822ea41da
2013-07-24Integrating mute and speaker buttons.Chiao Cheng
* Adding base classes for presenter, ui and fragments. * Moved common presenter integration logic into base fragment. * Adding presenter to handle button logic. * Integrated disconnect and text from glowpad to presenter. * Changed in-call buttons to be invisible so they do not show under transparent glowpad. Change-Id: I446db149769b5cf1abce960ecede01effeabfe1e
2013-07-22Adding call card and buttons to UI.Chiao Cheng
- Created a fragment for call card and a fragment for UI. - Adding corresponding button images. Change-Id: I5facacd3a4346ab9d9ec2a67a2742dc27dbf5583
2013-07-19Connecting answer call action in UI to service.Chiao Cheng
Also starting pinging animation for glow pad. Change-Id: Ifac94582b8448c288a07577db02633bf9452ee56
2013-07-17Adding in call screen template.Chiao Cheng
Along with glow pad for incoming call interaction.. Change-Id: I8d518b5247bee4a10c8fd06763a7e3fe6cff5652