History log of /packages/apps/InCallUI/src/com/android/incallui/CallButtonFragment.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
0206f6201db40deaa9af1057179aaec85c809dce 14-May-2015 Yorke Lee <yorkelee@google.com> Rename AudioState to CallAudioState

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
/packages/apps/InCallUI/src/com/android/incallui/CallButtonFragment.java
1a723f1586c812510bd0791a4ef8420d36f83cf9 05-May-2015 Tyler Gunn <tgunn@google.com> DO NOT MERGE Video call upgrade/dowgrade request changes.

- fixed potential NPE in VideoCallFragment when setting preview size.
- moved photo load into the postExecute for the async task -- it is
already threaded and I was seeing intermittent concurrency issues.

- Changed CallButtonFragment to retrieve max # of buttons from config.xml.
- Added override for wider screens (e.g. N6 and wider) to show an extra
button.
- Reorganized call buttons so that the "Camera on/off" button is adjacent
to the flip camera button.
- Changed answer Glowpad to pass correct video state so that accepting a
video request uses the correct state (important for accepting requests to
turn camera back on).
- added new Session modification state REQUEST_REJECTED for when the remote
user explicitly declines the request. This is used to trigger a
"video request rejected" message when the remote party rejects the
request.

Bug: 20257400
Change-Id: Ibe25eb045ee868748f91bf411f285629d36ebcd2
/packages/apps/InCallUI/src/com/android/incallui/CallButtonFragment.java
4f3f583ae924009d1065fac628f0d29fcf1e7f97 04-May-2015 Prerepa Viswanadham <dham@google.com> Merge commit '5e2731c' into merge_try2

Change-Id: I880eb25812adaeb9355cc9c1dcf46afa0da5f333
44d96c276009952b67b43ed54d27d920f8dc2b4d 25-Apr-2015 Tyler Gunn <tgunn@google.com> Upgrade / downgrade requests

- Remove unnecessary "change to voice" button.
- Remove "modify call option" dialog that showed up in the past when
pressing the "upgrade to video button".
- Cleaned up some unnecessary Toasts for call session events, data
usage, and video quality
- Implemented the camera on/off functionality.
- Change preview to show the user's profile photo when their camera is
turned off, as well as a "camera off" icon.

Bug: 20257400
Change-Id: I6b7bb3d2394467f1345a798557130b2a674337c4
/packages/apps/InCallUI/src/com/android/incallui/CallButtonFragment.java
22a890995838e05579019490bb40b63f807fc8fb 20-Apr-2015 Yorke Lee <yorkelee@google.com> DO NOT MERGE Remove code disabling VT calls when TTY mode is on

To be moved into Telephony instead

Bug: 20090652
Change-Id: I58aeb382d7e213b4eeae997d1f4bac3e25d34e67
/packages/apps/InCallUI/src/com/android/incallui/CallButtonFragment.java
b3ddf9ab082d08faeb4648dc43cc8a76d17fd21b 20-Apr-2015 Yorke Lee <yorkelee@google.com> Remove code disabling VT calls when TTY mode is on

To be moved into Telephony instead

Bug: 20090652
Change-Id: I58aeb382d7e213b4eeae997d1f4bac3e25d34e67
/packages/apps/InCallUI/src/com/android/incallui/CallButtonFragment.java
45f2a7014de8102479a50886300fecbd704779a4 17-Apr-2015 Andrew Lee <anwlee@google.com> Make createPresenter() and getUi() public.

... and update the visibility of their overriden instances.

This allows us to create fragments with the BaseFragment/Presenter
fragment which do not live in the incallui root directory.

Bug: 20300758
Change-Id: I7f9b1c630538a04ca773ba155e5fb8efd6cf6af7
/packages/apps/InCallUI/src/com/android/incallui/CallButtonFragment.java
a3f7b82b805296703d4ea6254f4b6b84f8566aa0 15-Apr-2015 Vinit Deshpande <vinitd@google.com> am b04d61a..697f674 from mirror-m-wireless-internal-release

697f674 Fix orientation of preview surface when device rotated.
17de502 Merge "Always allow landscape mode if video call is the primary call" into m-wireless-dev
3692e77 Always allow landscape mode if video call is the primary call
a77ad8d Video calling landscape changes to match specs
cb74fc0 Merge "Simplify and rewire in-call buttons" into m-wireless-dev
ed0775d Simplify and rewire in-call buttons
80a1aad Hide incoming video until call is connected.
4f2a70b Merge "Cleanup AnswerFragment glowpad UI" into m-wireless-dev
6591f05 Merge "Initial refactoring for call buttons" into m-wireless-dev
c70a63c Initial refactoring for call buttons
4a63afd Hide end call button when video upgrade glowpad is showing
7ba13e9 Cleanup AnswerFragment glowpad UI
6b2b8df Show progress spinner when upgrading to video
c02794b Merge "Cleanup of Video Call pause functionality." into m-wireless-dev
bec5807 Standardize fragment layout names
bc65cbc Adding video call icon in secondary call info.
ed0775d4fcb79868b5e86456bc757ca5f0158d91 11-Apr-2015 Yorke Lee <yorkelee@google.com> Simplify and rewire in-call buttons

* Fix bug where the switch camera option was never shown
* Fix bug where dialpad button was shown for video calls

* Move management of call button's actual visiblity into the
CallCardFragment. The CallCardPresenter is in charge of deciding
what functionality is available, but the CallCardFragment manages
the actual UI that is displayed.

* Simplify code that collapses call button functionality into
the overflow button. Any buttons that would cause the total number
of buttons to exceed the given threshold will be collapsed into
an overflow menu.

* Dynamically toggle the contentDescription of the hold button. This
is used for both accessibility as well as generating the menu option
if the button is collapsed into the overflow menu

* Removed some now unused strings and code.

Bug: 20127747
Bug: 20127925
Bug: 20090502

Change-Id: I33fda7ad74af926d8c3a507bff8f3c69c19ea57e
/packages/apps/InCallUI/src/com/android/incallui/CallButtonFragment.java
c70a63cff0d305a9b20c37098b54f7a4cc845522 10-Apr-2015 Yorke Lee <yorkelee@google.com> Initial refactoring for call buttons

Create common functions to show/enable call buttons

Bug: 20127747
Change-Id: I22d45597a73a75954448cb3bd5b906af06d7d690
/packages/apps/InCallUI/src/com/android/incallui/CallButtonFragment.java
5468d9beac7c4e9efe3dfe25a74c87ff94a0f9ef 10-Apr-2015 Prerepa Viswanadham <dham@google.com> Merge commit '8bef461' into merge_work

Change-Id: I4cfea114e24c0b0671e99118316ad839dafbe400
8bef461247ec597f4fbbc604ee6e37fbdbc27d1e 18-Mar-2015 Rekha Kumar <rekhak@codeaurora.org> IMS-VT: Add support for video calls

IMS-VT: Upgrade downgrade and hold resume video calls
-Add support for upgrade downgrade video calls.
-Add support for hold resume and call waiting

IMS-VT: Fixed surface caching.
Fixed surface caching.

IMS-VT: Fixes InCallUI/Dialer crash when there is a VT call.
-Fixes InCallUI/Dialer crash when UE is rotated.
-Fixes InCallUI/Dialer crash when UE VoLTE call
is upgraded to VT.

Don't default to speaker phone for VT when speaker is disabled
- The adb property persist.radio.ims.audio.output indicates
whether speaker is disabled explicitly or not.
- If the above property is set to 1, don't enable speaker
phone by default in VT call.

IMS-VT: Fix CVO, surface and resource related issues.
- Send initial orientation to VT Service.
- Detect if Activity is being destroyed due to
confugration changes.
- Close the camera when InCallUI is pushed to background.
- Fix surface and VT service related issues when Fragment
and Presenter gets destroyed.

IMS-VT: Peer Resolution Feature Implementation
Change display video size based on peer resolution values
received from far end.

IMS-VT: Answering calls and upgrade requests as VT_TX and VT_RX
-Support for showing one way options for incoming upgrade request
-Fix issue where incoming video popup stays on screen even after
rejecting the request.
-Fix issue where incoming video popup stays on even after it has
been timed out by lower layers.
- Answer with different calltypes support.

Notify listeners of video quality changed event and display message on UI
- Add methods to notify listeners of type VideoEventListener
when video quality changes.
- Display a notification on the UI when video quality changes.

IMS-VT: Enable SIP based video multitasking.
Enable SIP based video multitasking.

IMS-VT: Call data usage feature
- Add support for call data usage callback
- Request for call data usage stats
- Log call data usage stats when IMS layers send update

Change-Id: I3f0dde0d82698085fa5d3f110720f10326eca768

IMS-VT: When TTY is ON, do not allow upgrade to VT call
When TTY mode is ON, the user SHOULD NOT be allowed to upgrade
a call from VOLTE to VT/VT-TX/VT-RX and an UI alert message will
be displayed explaining upgrade to VT call cannot be initiated.

IMS-VT: Add null check in call upgrade fail scenario
Crash is observed if call is ended in the interval wherein
handler is started to change state from REQUEST_FAILED to NO_REQUEST
after an interval. Added null check to change state only when call
exists

Propagate call substate message and display a notification on the UI

Ims: Reject upgrade request
1. If there is waiting call that is pending user action and
2. Before offering a waiting call

IMS-VT: Provide Player State indication to user.
Change to display "player started/stopped" toast message
whenever video starts/stops flowing

IMS-VT: Cleanup video views when not required
- Hide video views when not required.

Set display size as per current TextureView size
- Using TextureView height and width to calculate the display size.
- When ever there is change in display make sure that center the display.

IMS-VT: Exit VT call full screen mode.

If the call is no longer a VT call, then exit full screen mode

Change-Id: Ibc4ad8f9a4c38e467820028cdc2c7e68d65fd93c
CRs-Fixed: 760925

IMS-VT: Upgrade button fix
-Show upgrade/downgrade button only when call is in ACTIVE or
ONHOLD state

IMS-VT: Show correct call types during video pause
-In paused state, upgrade downgrade button does not list the
calltypes dropdown box
-Remove the paused bit to calculate call type during video paused
state.

IMS-VT: Move strings for video quality changed indication to resource files

IMS-VT: Clean up the showCallSubstateChanged API
- Make the code more readable.

IMS-VT: Set audio route to Speaker if current route is not bluetooth or headset
- We always set the audio route to speaker when we enter video mode.
- That is not correct. We should check if headset or bluetooth is
connected before defaulting to speaker.

IMS-VT: Turn speaker on/off for video calls based on call state changes
- Turn speaker on only when video call is active or dialing
- Switch back to the previous audio mode when there are no
more calls
- Make the previous audio mode static so that information
persists when the class is recreated (e.g. when UE is
rotated or multitasking happens)

IMS-VT: Use back camera instead of front camera for VT-TX
Set back camera for below cases
1) VOLTE to VT-TX
2) VT to VT-TX
3) Waiting call over Vt-TX call.

IMS-VT: Fix upgrade in call waiting scenarios
-When one VoLTE call is active and another VoLTE call is on hold
and upgrade button is hit, call ends. Fix this upgrade issue.

IMS-VT: Enter video mode when the primary video call changes
- We only enter video mode when we have any video state changes
- Enter video mode should also be called when the video call
changes. e.g. When we have a second call with the same video
state, we don't enter video mode which is incorrect. This
change fixes the issue

Add null check for InCallActivity in setInCallAllowsOrientationChange
- In some cases, this API is called when InCallActivity is null.
This causes a null pointer exception. Fix is to add a null check.

IMS-VT: Fix check for VOLTE call (AND to OR) when turning speaker on

IMS-VT: Check if call is video before enabling speaker in updateAudioMode
- Moved the video call check to the correct block where we
are enabling speaker

IMS-VT: Get call substate values correctly from the bit mask
- We were getting the call substate incorrectly as an int.
- Fixed that by getting it from the bit mask and using the
possible multiple values to display the call substate message.

IMS-VT: Keep the screen on during video calls.
UI screens times out after some time. During
video calls the screen must be kept on.

Change-Id: Icaa8662210b2dd323b29f4a472869a9ed1e01d00

IMS-VT: Open front facing camera for VT calls.
Open front facing camera for VT calls.

IMS-VT: Show manage conference button for Video Call
- We show the manage conference in a separate section for
VOLTE Calls.
- In the case of Video Call, the entire screen is occupied
by the far end video. So we display manage conference in
the overflow section of the call button fragment.

IMS-VT: Fix camera preview freeze for CONF video calls.
Fix camera preview freeze for CONF video calls.

IMS-VT: Move persist.radio.ims.audio.output to frameworks
Move persist.radio.ims.audio.output and related constants to
TelephonyProperties and PhoneConstants so that these can be accessed
from multiple git projects instead of redefining.

IMS-VT: Multiple video call fixes/optimizations.
-Current implementation clears primary call cache upon exiting
video mode. This will remove video call provider interface as
well, which will prevent further communication with the backend.
Don't clear primary call cache upon exiting video mode.
-Unregister call details listener when UI transitions into
unready state
-Send surface of incoming video to video call provider before
opening camera.

IMS: Cleanup all listener objects
Clean all stale listener objects to avoid the memory leak.

IMS: Fix speaker icon display issue in Call UI.
In few devices, InCall UI can show upto five buttons
in a row. Modify code to display at most five buttons
in a row. Show overflow menu if number of buttons is
more than five.

IMS-VT: Show glowpad view with accept/reject for most video upgrade cases
- Show the glowpad view with all options only when upgrading
from Volte to VT
- For all other cases, show the glowpad with accept/reject only

Change-Id: I41ecbda40db7c3c69428fc4272f8bfbd258e2980
/packages/apps/InCallUI/src/com/android/incallui/CallButtonFragment.java
3b0ab5241128ffc5488110a139e75b73a6a643d5 20-Mar-2015 Yorke Lee <yorkelee@google.com> Dynamically add/remove CallCardFragment

Only show the CallCardFragment when it is needed:

1) Incoming calls
2) After completion of circular reveal

Also make Calls class public so that it can be mocked with
Mockito

Change-Id: Ife7ed38bde25daf5a9fd0329ade5e794fa1bff65
/packages/apps/InCallUI/src/com/android/incallui/CallButtonFragment.java
d56fe0889e08343662f31fed332a8de72326140a 09-Mar-2015 Yorke Lee <yorkelee@google.com> Standardize naming of methods and fix a typo

Change-Id: I9b294ab9f483bb5e7af149ff6054cd8cd667adca
/packages/apps/InCallUI/src/com/android/incallui/CallButtonFragment.java
f06f97fa1c13576ce2b42f8f0e9ad088f2991607 13-Jan-2015 Andrew Lee <anwlee@google.com> Improve call button accessibility.

+ Convert Audio Button into a ToggleButton, and update its content
description depending on whether its acting as a toggle for
speakerphone, or if it's acting as a menu button to select from
more than two audio output modes.
+ Set custom style on ToggleButtons with null background, to override
the default ToggleButton styling which was causing shadows.
- Delete CallToggleButton, which did some hacky things with the
content description and accessibility.
- Delete helper method which abused TYPE_ANNOUNCEMENTS. Rely on
default TalkBack behavior for ToggleButtons to read on click.
- Delete unused accessibility strings. The states these were formerly
read out for will now be handled by a combination of button labels
and default TalkBack behavior.

The UI (without TalkBack) behaves the same after these changes.

The behavior with TalkBack after these changes is that the audio
(when toggling for speakerphone), mute, and hold buttons will
generally read "speaker/mute/hold button (not) checked" when
explored by touch depending on their state. They will read
"speaker/mute/hold" when clicked.

If more than two audio modes are supported, the audio button will
read "<mode> button checked", where <mode> can be speaker, bluetooth,
handset, or earpiece. When clicked, it will open the audio pop up
menu and read that there are # options displayed on the screen. This
is combines the ToggleButton and PopupMenu Talkback behavior, since
this is a custom widget.

Bug: 18783204
Change-Id: I27363c697bb018b5f87ad2e27678f8db6d93b2e7
/packages/apps/InCallUI/src/com/android/incallui/CallButtonFragment.java
2759ccbab2a37043123171425e211372ec452465 06-Jan-2015 Andrew Lee <anwlee@google.com> Read enabled/disabled state for InCall buttons.

+ Add CallToggleButton which ignores the content description so that
we can substitue our own strings to be read by Talkback when the user
clicks on buttons.
+ Convert ImageButtons with two states into ToggleButtons, so that
when focused Talkback automatically reads out their states. For
example, now it will read "Mute switch is (not) checked". This
required updating some casts and references in the fragment.
+ Set baselineAligned property for call buttons to false. Because
ToggleButtons could have text, it was attempting to align by text
baselines which messed with the layout.
- Remove a compound button listener which is not used.

Bug: 18783204
Change-Id: I0b23f5f63a2bf7c34a34077a75a23ea92dc45bbc
/packages/apps/InCallUI/src/com/android/incallui/CallButtonFragment.java
4b04dbea40df272740acc61dcf2aa34f443f2299 18-Dec-2014 Santos Cordon <santoscordon@google.com> Add haptic vibration feedback on in-call buttons.

For buttons which appear an first-class actions in the in-call screen,
add haptic feedback. This feedback ignores the system settings, meaning
that it vibrates when buttons are touched regardless of the system
settings for vibrating on keypress.

Bug: 18388068
Change-Id: Ifadc973af9bcdfdfdc9d51b1c927b08d93714a58
/packages/apps/InCallUI/src/com/android/incallui/CallButtonFragment.java
3fd4122391fa413fc5cef13f13bafb0cdfba80b0 11-Nov-2014 Nancy Chen <nancychen@google.com> Bring ripples back to InCallUI.

With the color-change for MSIM, the ripples disappeared from the
InCallUI buttons. This change adds them back.

Bug: 18332863
Change-Id: Ic6125df06d0d2f3f2323fc2c422ccf075ff2df84
/packages/apps/InCallUI/src/com/android/incallui/CallButtonFragment.java
96a5e2bf8a78e3a55532cbd2941e6be9998883ed 07-Nov-2014 Andrew Lee <anwlee@google.com> Grey out merge button after it is clicked.

Bug: 18230928
Change-Id: I5be1ab8cb759aa7afe1e937f7b3223ed3d6dcac2
/packages/apps/InCallUI/src/com/android/incallui/CallButtonFragment.java
6c1e0d8809bc084bd081a23b48d09e095a615348 25-Oct-2014 Nancy Chen <nancychen@google.com> In Multi-SIM cases use the color of the SIM icon for InCallUI.

Set the color of the InCallUI to be the color of the SIM icon. In the
single SIM case, the background should be the default background.
* Added id to all call button backgrounds for color change
* Initialize color onResume for InCallActivity
* CallCardFragment/CallButtonFragment/DialpadFragment update their colors
* Added InCallUIMaterialColorMapUtils to extract color

Bug: 17971273
Change-Id: Ia247b153b57ffc8a5277d521c433ab0be6696cf6
/packages/apps/InCallUI/src/com/android/incallui/CallButtonFragment.java
e1d1225e90cb9f7f62c837baa1b2aa17f5fab119 18-Oct-2014 Andrew Lee <anwlee@google.com> Disable video upgrade if call is on hold.

Bug: 16681502
Change-Id: Icce3f50d1204fd7466e3853dba7d05acef0135ec
/packages/apps/InCallUI/src/com/android/incallui/CallButtonFragment.java
6cddf46812634fadc194830774110780f14e9462 13-Sep-2014 Tyler Gunn <tgunn@google.com> Renaming Telecomm to Telecom.

- 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
/packages/apps/InCallUI/src/com/android/incallui/CallButtonFragment.java
52c30ebe11e132c5b00a15aabdf4a411355bf0f4 05-Sep-2014 Santos Cordon <santoscordon@google.com> Support CDMA conference calling.

Bug:17316859
Change from using GENERIC_CONFERENCE to a better MANAGE_CONFERENCE.

Change-Id: I0306aaa5cf4d35bf095d85db63b3d08395394645
/packages/apps/InCallUI/src/com/android/incallui/CallButtonFragment.java
b07ea6f65496c02b693bcc71524decc2011807d2 03-Sep-2014 Andrew Lee <anwlee@google.com> Show swap button if there is active and background call.

Bug: 17316508
Change-Id: I47766556d083fdfc8961664af2523e61783ed46e
/packages/apps/InCallUI/src/com/android/incallui/CallButtonFragment.java
cb6f599ecb7c30e00ed8b07c5c10505322aae89c 23-Aug-2014 Andrew Lee <anwlee@google.com> Move "manage conference calls" button above photo.

- Remove it from the CallButtonFragment. This meant that related
logic was removed from CallButtonFragment/Presenter, and similar
logic was added to the CallCardFragment/Presenter.
- Delete old groups icons. (new ones added in ContactsCommon)
- Delete the extra_button_row logic.
+ Replace extra_button_row with a dedicated "manage conference
calls" button, and added to call card content layouts.
+ Style the new button to be similar to the secondary call info.

Bug: 15862303
Change-Id: I2b4e1a3a30422c7d5e9c01479f13291a785d85f3
/packages/apps/InCallUI/src/com/android/incallui/CallButtonFragment.java
a8b5c8f943c55619141cca0f82968ae575df5992 23-Aug-2014 Andrew Lee <anwlee@google.com> Merge "Remove generic call merge button." into lmp-dev
16e71a4f2c283f94ca54c070dcc284f8f43e6eb4 22-Aug-2014 Andrew Lee <anwlee@google.com> Remove generic call merge button.

We now use the same button component for merge. Formerly, it seems
that it was included in the "extra button row" to accomodate the
add and merge options both showing at the same time. Now, we handle
this as an additional scenario for the overflow menu button.

This is prework in order to be able to delete the extra button row,
and add a different "row" for the conferece call manager.

Bug: 15862303
Change-Id: I278ea17291d8daf3c5201116a10e3641b5deb4e1
/packages/apps/InCallUI/src/com/android/incallui/CallButtonFragment.java
35224e8ff0e3707b92626767f048f1bf83352a2d 22-Aug-2014 Tyler Gunn <tgunn@google.com> Ensuring Video APIs are only called when video is available.

Bug: 17179079
Change-Id: I3b327250c181f821ec37d574ae804f8003d04603
/packages/apps/InCallUI/src/com/android/incallui/CallButtonFragment.java
f157d18f9aff826160f5d502a2695f22c722b776 20-Aug-2014 Yorke Lee <yorkelee@google.com> Add accessibility announcements for call state changes

* Add new accessibility-related strings
* Create and send accessibility events as necessary when a button's
state changes

Bug: 17147682
Bug: 17144849
Bug: 17161247
Change-Id: Ib1637993c644c4f159e850bdb9d54e0f00d3a68e
/packages/apps/InCallUI/src/com/android/incallui/CallButtonFragment.java
43f3e6e0760ea774e479935733d8a30b724457cd 08-Aug-2014 Ihab Awad <ihab@google.com> Final structural tweaks to Telecomm API (3/8)

Bug: 16416927
Bug: 16494880
Change-Id: If756941a5bdd25ff8ac633a56fe90c894d4a46a4
/packages/apps/InCallUI/src/com/android/incallui/CallButtonFragment.java
bc7a0e30d614091dc4da3a12794759cf34975f56 06-Aug-2014 Santos Cordon <santoscordon@google.com> Merge "Remove hardcoded audio route in video provider." into lmp-dev
4ed8d8d7d2c6766e3712a407551f79322e544aa8 06-Aug-2014 Santos Cordon <santoscordon@google.com> Remove hardcoded audio route in video provider.

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
/packages/apps/InCallUI/src/com/android/incallui/CallButtonFragment.java
c79d745deeda2cdd2b17122602a32812132885aa 30-Jul-2014 Santos Cordon <santoscordon@google.com> Add setConferenceable() API from ConnectionService to incall. (3/4)

Change-Id: I64fdca08d35f893d755e3b154543a261b1418343
/packages/apps/InCallUI/src/com/android/incallui/CallButtonFragment.java
15a8e3cb2c01b59b5328a74e6c46144843103205 29-Jul-2014 Tyler Gunn <tgunn@google.com> Various changes.

1. Add InCallCameraManager to track active camera and manage camera
capabilities.
2. Use new camera manager in CallButtonPresenter instead of directly
accessing camera.
3. Implemented new camera setup flow between incall and telephony.
4. Landscape video call support (actively rotating while video is running
crashes InCall at the moment, but you can start it in portrait or
landscape fine). Includes ensuring layout works properly with RTL
locales.
5. Added progress spinner to CallCardFragment, useful to show when an
upgrade to video is pending.

Bug: 16012946
Change-Id: Iff33422eec3a92d8cbeb217f5be2f1c9c5f3e98d
/packages/apps/InCallUI/src/com/android/incallui/CallButtonFragment.java
ddb824ecb3f052551b3ea97d5f5cb3037ec4c683 21-Jul-2014 Andrew Lee <anwlee@google.com> Implement InCall overflow button.

- If there are more than 5 items (for a specifically identified case)
collapse extra menu items into an overflow menu.
- Construct/update menu, with appropriate click/dismiss listeners.
This will happen every time something with the call buttons is
updated, but I thought it was better to continue to track state in
the presenter, rather than the fragment.
- Add strings for associated menu items.

Change-Id: Iaa036de3ed1c9abf16605181590d7241896c941d
/packages/apps/InCallUI/src/com/android/incallui/CallButtonFragment.java
746ee736f255772f7da308765fab22ba7512a10e 19-Jul-2014 Andrew Lee <anwlee@google.com> Implement new video-call-related buttons.

- Implemented downgrade/upgrade, switch camera, pause camear.
- Implemented code to find front/back-facing cameraIds.
- Also, cleaned up listener logic in CallButtonFragment to be
more consistent.

Bug: 16014280
Change-Id: I267a73943dc768900b663bb4db6ec52f4a35cac5
/packages/apps/InCallUI/src/com/android/incallui/CallButtonFragment.java
2a7a271aa04dd6871e705570c9b6b8f3be6892a0 21-Jul-2014 Yorke Lee <yorkelee@google.com> Fix white text in audio mode popup (1/2)

Bug: 15643498
Change-Id: I3d9205eb99b42b95e6a05d07039995277f8e29c6
/packages/apps/InCallUI/src/com/android/incallui/CallButtonFragment.java
2b138f87f439c7fbc45e8e9e760af187e22725bc 18-Jul-2014 Andrew Lee <anwlee@google.com> Show correct call buttons depending on voice/video call.

Behaviors to be implemented in separate changelist.

Renamed some of the methods to reference buttons, and rearranged the
order in which buttons are listed and dealt with to be more
consistent with the order in the layout.

Bug: 16014280
Change-Id: I40a9137d222daf6959a869c11e6ac763baa61788
/packages/apps/InCallUI/src/com/android/incallui/CallButtonFragment.java
7debd4141ad074559c570e5d6737c0712fccae5f 17-Jul-2014 Andrew Lee <anwlee@google.com> Delete auxiliary action button in call button fragment.

Bug:16014280
Change-Id: I28546c95fda0174a4e50a2efd321982d00c4e86f
/packages/apps/InCallUI/src/com/android/incallui/CallButtonFragment.java
81bcf2a2e1c197655cf4a3aaf7d9af8088cf102e 07-Jun-2014 Sai Cheemalapati <saicheems@google.com> Updating Dialpad animation in InCallUI.

Dialpad now saves orientation state.
Animation now matches duration and direction in Dialtacts.

Bug: 15386162

Change-Id: I6b8f23147c9be956d16c758a6a51a9fa3bb47ec6
/packages/apps/InCallUI/src/com/android/incallui/CallButtonFragment.java
4dc773bed678f681239477a5e71d5dad13f2714f 22-May-2014 Andrew Lee <anwlee@google.com> Remove dual-state icons for call buttons.

Per discussion with design, it'll be simpler to just have one icon
which does not toggle/change on state (besides color accent).

Bug: 15165717
Change-Id: I2856c403b549e734e8f6c55b5be65f9a337730d6
/packages/apps/InCallUI/src/com/android/incallui/CallButtonFragment.java
7833bceed03e9c04bb57551ba79fedbff126e1ee 14-May-2014 Evan Charlton <evanc@google.com> resolved conflicts for merge of 500e399c to master

Change-Id: I7cc16e713bb142450c7689942097110bde404b54
9ce18a5806129e8dfe7eb29ae65f0790f25a0b12 14-May-2014 Evan Charlton <evanc@google.com> resolved conflicts for merge of 36b5e5f9 to master

Change-Id: I66befab929f19a53e3466f55f78c99f9afda047e
b5c7a67a9bb2552dce2d078e65f7401f109a0a21 10-May-2014 Andrew Lee <anwlee@google.com> Change tints, backgrounds on incoming call icons.

- Also tweaked icon tints for the InCall buttons, to make them less
prominent in the disabled state.
- Strengthened the logic around setting the audio button's enabled
state in the call button fragment. Before, updateAudioButtons() was
setting the audio button to be enabled after setEnabled(false) was
called on the fragment, causing it to be set to disabled notably
later than the other buttons.

Bug: 14658215
Change-Id: I68145fcc7420713e492e96b6c6a636fad9047ed1
/packages/apps/InCallUI/src/com/android/incallui/CallButtonFragment.java
7154c3df1cd121a61b8fdd51f6e936be735c4e2b 09-May-2014 Andrew Lee <anwlee@google.com> Change toolbar icons in the InCallUI.

Also, some slight fixes on the "add call" button so that it's ripple
is properly constrained to the circle, and so that the mute button
is not toggled when mute has automatically been invoked.

Bug: 14108639
Change-Id: I1a23111a212a1f7f86ffde734b195f0bd9350741
/packages/apps/InCallUI/src/com/android/incallui/CallButtonFragment.java
db4b9f0cb824e6bb95e5cf0b70075a0ea84d1d43 07-May-2014 Andrew Lee <anwlee@google.com> Change selected/unselected states of buttons.

- Add touch feedback (w00t).
- Adjust button heights/positions to spec.
- Add drawables for the different button states (no longer tabs).
- Remove vertical spacers (interfered with touch feedback).

Change-Id: I383ca898c8d2fcfc8c34021efc62cb03adbde1c1
/packages/apps/InCallUI/src/com/android/incallui/CallButtonFragment.java
6d261eabedd52f0da23f0bf5b5d08a6da54e6479 01-May-2014 Andrew Lee <anwlee@google.com> Consolidate buttons to use more common drawables.

- Work is to facilitate styling selected button states to QP spec.
- Change buttons to use btn_compound_background instead of the
_fake_ version.
- Deleted now-unused assets.
- Changed btn_compound_background to use common action tab drawables.
- Switched the dialpad button from a ToggleButton into an
ImageButton, so that all the call buttons can use the same background.
Technically, ToggleButton is more precise, but ImageButton is
sufficient for behavior, and allows me to switch the state casing
in the drawable to use state_selected instead of state_checked.

Bug: 14108639
Change-Id: If6ebf05e51648a09307bf37926efb3670f55ba55
/packages/apps/InCallUI/src/com/android/incallui/CallButtonFragment.java
7b4cfe59218ff0876587933f5f22845881fdbe40 24-Apr-2014 Andrew Lee <anwlee@google.com> Relocate EndCallButton and CallButtonFragment.

This is an incremental checkin.

- Split out EndCallButton from CallButtonFragment into
CallCardFragment, and update the presenter to handle end call clicks.
- Move CallButtonFragment and EndCallButton into the container for
the primary call info.
- Rearranged the layouts of the call_card and primary_call_info to
accomodate the new locations of these buttons.
- Temporarily attached a linear layout around the InCallUI dialpad
so that it doesn't render full-screen. That is the immediate followup
work to this..

Bug: 14108639
Change-Id: Ie0e2afae109aed4bc7c75de67c70698c92962760
/packages/apps/InCallUI/src/com/android/incallui/CallButtonFragment.java
500e399cca3685c2f39e52603ed33f97b7a9786f 19-Feb-2014 Sailesh Nepal <sail@google.com> Revert "Add handoff buttons"

This reverts commit 36b5e5f96678bafc325491d5294b2d97e0a0e499.
/packages/apps/InCallUI/src/com/android/incallui/CallButtonFragment.java
5bcdca79b692712ff8a5a7e3e1c282f4d73cdf1c 04-Feb-2014 Sailesh Nepal <sail@google.com> Add video handoff button to InCallUI

This CL adds a video handoff button to the InCallUI. The actual
functionality will be implemented in t Google Dialer using the
AuxiliaryActionService binding.

Bug: 10929230

Change-Id: Ie44aef5160be388ec19b5239d71faa7297080c6e
/packages/apps/InCallUI/src/com/android/incallui/CallButtonFragment.java
36b5e5f96678bafc325491d5294b2d97e0a0e499 18-Dec-2013 Sailesh Nepal <sail@google.com> Add handoff buttons

This CL adds two buttons to the in call UI:
- video handoff - switch to video mode
- connection handoff - switch between wifi and cell

Change-Id: I42a36d22dc0a37d1ed00f1a3ab1ebcb53c35864c
/packages/apps/InCallUI/src/com/android/incallui/CallButtonFragment.java
9be240faad1857e122614a70fd6e632b143ddc41 14-Oct-2013 Christine Chen <christinech@google.com> Replaces ToggleButtons with ImageButtons

- Defer setting the toggled/selected state until TeleService gets back to us.

Bug: 11172457
Change-Id: I4d103c1288b6e730c61aaf49e679f6b58746897b
/packages/apps/InCallUI/src/com/android/incallui/CallButtonFragment.java
18db3795cd475434ee28841de75b3d85eab5fa57 02-Oct-2013 Ben Gilad <gilad@google.com> Adding the (lost) buttons back upon disconnected calls, see b/11028671.

Change-Id: If4f48879bb9601484e69cb66fa0eb980ece53909
/packages/apps/InCallUI/src/com/android/incallui/CallButtonFragment.java
083c494c07681cdb826a1f2958d2143cf694de82 27-Sep-2013 Santos Cordon <santoscordon@google.com> Add deadzone to end call button.

inside perimeter previously had a deadzone around the inside perimeter
of the end call button to avoid unintentional hits.

This change reintroduces the SmallerHitTargetTouchListener in order
to add back the deadzone. Also added deadzone to the secondary call hit
target since that previously also implemented the deadzone.

SmallerHitTargetTouchListener.java copied from existing apps/Phone code.

bug:10884607
Change-Id: I7445b6a2e364878aabf6fcb2f7a3e4b1dee87578
/packages/apps/InCallUI/src/com/android/incallui/CallButtonFragment.java
eb7244f3001ca3b001b17bda99ab5c790eb1b2d3 17-Sep-2013 Christine Chen <christinech@google.com> Un-mute phone when add-call does not go through

- Keeps a special flag for auto muted state. When the InCallUi resumes,
checkes whether the auto mute is no longer needed.
- Removes all exciplit setMute unless it is triggered by the AudioMode
listener. Do not set UI mute state unless the Telephony layer sends an
update.

Bug: 10786369
Change-Id: Ifd1809f2d9df44121fcb29a87016152c706944cc
/packages/apps/InCallUI/src/com/android/incallui/CallButtonFragment.java
625ac576cb403744ef0baeba8e8993da963461ee 16-Sep-2013 Santos Cordon <santoscordon@google.com> Outgoing/Conference UI changes for Cdma support

Changes:
- rename Cdma* to Generic* in code
- Stop showing "manage conference" for generic_conference cases
- Show simple "merge" button for generic_conference cases
- Add generic icon/name label for generic conference calls
- Do not submit a contact info request for any conference call
sincle they always display generic information (this also fixed
some jank of the image flipping back and forth between generic
and normal conference call).o

bug:10769004
Change-Id: I379895612614483f7f3ea6fef493796ea855743b
/packages/apps/InCallUI/src/com/android/incallui/CallButtonFragment.java
fe09b09a955c574d1131932211a05f862ee9e50f 14-Sep-2013 Christine Chen <christinech@google.com> Takes new Call states to enable/disable buttons.

Bug: 10733320
Change-Id: Ic8e58cad46610a1fcaef2b55af458ca7661c4f8b
/packages/apps/InCallUI/src/com/android/incallui/CallButtonFragment.java
f14f5097e5657e22e980489541eb093ebe57f54c 13-Sep-2013 Yorke Lee <yorkelee@google.com> Fix mute state infinite loop when quickly clicking speaker and mute buttons

Bug: 10648433
Change-Id: Id45d374fb0741ad87c9afe609e0f9f04c7cdb02e
/packages/apps/InCallUI/src/com/android/incallui/CallButtonFragment.java
0f09a02be361d5bb36fac6981649204f5d6987fa 05-Sep-2013 Christine Chen <christinech@google.com> Adds manage conference call UI

Bug: 10334739
Change-Id: I46a52ec967a1c496dd4b797f2064d9099670711f
/packages/apps/InCallUI/src/com/android/incallui/CallButtonFragment.java
aacc909ce248a08f84e90c4c84cef10f60154455 30-Aug-2013 Chiao Cheng <chiaocheng@google.com> Automating calls to onUiUnready() in parent fragment.

The code was duplicated un-necessarily in each child fragment.

Change-Id: I619b723c9afc690ff9011fc43367fe5752094fb6
/packages/apps/InCallUI/src/com/android/incallui/CallButtonFragment.java
3e69e4fe0e6dbce738cc6b3f9a71fc177e9fe1b6 29-Aug-2013 Santos Cordon <santoscordon@google.com> Support visual indication of mute from headset

This change uses new binder api changes to bring down mute status from
TeleService. mute state routed through AudioModeProvider.

bug:10395427
Change-Id: Ie15efcc780e99072363188de2a954a1888eec9dd
/packages/apps/InCallUI/src/com/android/incallui/CallButtonFragment.java
1a7f2bcab2d2023f2ee4cfb0bc57bc265b5aab87 21-Aug-2013 Chiao Cheng <chiaocheng@google.com> Protect all logging statements.

- 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
/packages/apps/InCallUI/src/com/android/incallui/CallButtonFragment.java
1fa0782281ef7774ddcdfdf8efb7d8f65cf589e7 17-Aug-2013 Chiao Cheng <chiaocheng@google.com> Adding interfaces for phone number service.

- Fetch image url if present.

Bug: 10359919
Change-Id: Idf2ff5405255f1e90a383902762585ae68249dbe
/packages/apps/InCallUI/src/com/android/incallui/CallButtonFragment.java
9de3d7c5188c02cabf03799f87d494ee7dc702cb 09-Aug-2013 Santos Cordon <santoscordon@google.com> Singletons are hard, lets go chopping...them out of the code.

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
/packages/apps/InCallUI/src/com/android/incallui/CallButtonFragment.java
21b209430b7b152c5a7b5f8088440cc4b95dcbec 08-Aug-2013 Christine Chen <christinech@google.com> Fix bug in InCallUi crash when opening the dialpad.

Change-Id: I971cf9f6ac6d2a49de80d8204870ca62df304f8d
/packages/apps/InCallUI/src/com/android/incallui/CallButtonFragment.java
61b7737bc556865097f9ca846bddb562371013fd 08-Aug-2013 Santos Cordon <santoscordon@google.com> Merge/Swap/AddCall support in UI.

Add UI support, presenter logic and CallCommandClient code.

Change-Id: I3d561b67cbecd9b4672ecef49dad99d1f6b07b11
/packages/apps/InCallUI/src/com/android/incallui/CallButtonFragment.java
bc168c4fb0638846c5076a5a35a2e75ee4947908 08-Aug-2013 Santos Cordon <santoscordon@google.com> Show/Hide HOLD depending on phone capabilities.

Change-Id: I9fc00175d214668e59058a9b0983019457134b12
/packages/apps/InCallUI/src/com/android/incallui/CallButtonFragment.java
a12f2589f424e26c63c8ee5b6fad89e30b69d7fb 07-Aug-2013 Santos Cordon <santoscordon@google.com> Add UI to show when the Call disconnects.

When the call disconnects, we need to show UI for a short time before
existing the UI.

Change-Id: Iee648b8c54ee4b5ea09cfaec508e1bf8fb8f1643
/packages/apps/InCallUI/src/com/android/incallui/CallButtonFragment.java
dab149c9b2185be82cbca63cc3980e41444900c0 07-Aug-2013 Santos Cordon <santoscordon@google.com> Audio Routing support in UI

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
/packages/apps/InCallUI/src/com/android/incallui/CallButtonFragment.java
5b9034b5b1b48a4339dd2f893a851cc64d6279df 03-Aug-2013 Christine Chen <christinech@google.com> Dialpad Ui elements for InCallUi

Change-Id: I7b230cc46993493459923c436a643910026cf6a6
/packages/apps/InCallUI/src/com/android/incallui/CallButtonFragment.java
9f22c7496af167f2eada26aa998364d4cf03a619 05-Aug-2013 Santos Cordon <santoscordon@google.com> Adding a central logging class.

Change-Id: I24f68d5ebcfed2740f9645736c35edf17efb4769
/packages/apps/InCallUI/src/com/android/incallui/CallButtonFragment.java
8193bc3df6b0726d36a5b7b889ec91c4d59f40c1 30-Jul-2013 Santos Cordon <santoscordon@google.com> Adding hold support to phone call.

Change-Id: I5290100b93ef56fcd07615e8cd0aeffe443fa4a4
/packages/apps/InCallUI/src/com/android/incallui/CallButtonFragment.java
4df10e20c8a4a5c2b6b1e9d0c895cf205929e8dd 25-Jul-2013 Chiao Cheng <chiaocheng@google.com> Finishing in call screen when call ends.

Change-Id: I80220deb47ec17fbfb017795f916ba0822ea41da
/packages/apps/InCallUI/src/com/android/incallui/CallButtonFragment.java
b94803e83573734d21a32047b21f348cb2305155 25-Jul-2013 Chiao Cheng <chiaocheng@google.com> Integrating end call button to command service.

Change-Id: I2d3cbd6944423ad80b8b6a603ddbf43f44f9a488
/packages/apps/InCallUI/src/com/android/incallui/CallButtonFragment.java
241d50d5f523eb0b644d8a9c1cf7fd2eb418ab88 23-Jul-2013 Chiao Cheng <chiaocheng@google.com> Integrating mute and speaker buttons.

* 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
/packages/apps/InCallUI/src/com/android/incallui/CallButtonFragment.java
e331d604d5ab345b06976c0ff7a930930f6b9e41 20-Jul-2013 Chiao Cheng <chiaocheng@google.com> Adding call card and buttons to UI.

- Created a fragment for call card and a fragment for UI.
- Adding corresponding button images.

Change-Id: I5facacd3a4346ab9d9ec2a67a2742dc27dbf5583
/packages/apps/InCallUI/src/com/android/incallui/CallButtonFragment.java