1. 07 Apr, 2015 1 commit
    • Yorke Lee's avatar
      Simplify InCall notification logic · fa87d779
      Yorke Lee authored
      Always show the InCall notification iff there is a live call
      (incoming, outgoing, active or held).
      
      Change-Id: I2fc2a54c92cd0978dcf1bf49b0e8217bf2acc3ec
      
      Bug: 20108489
      fa87d779
  2. 06 Apr, 2015 3 commits
  3. 26 Mar, 2015 1 commit
    • Rekha Kumar's avatar
      IMS-VT: Add support for video calls · 8bef4612
      Rekha Kumar authored
      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
      8bef4612
  4. 25 Mar, 2015 2 commits
    • Andrew Lee's avatar
      Don\'t show SSID for Wi-Fi calls. · a26a21d2
      Andrew Lee authored
      automerge: 1a3d05dc
      
      * commit '1a3d05dc':
        Don't show SSID for Wi-Fi calls.
      a26a21d2
    • Andrew Lee's avatar
      Don't show SSID for Wi-Fi calls. · 1a3d05dc
      Andrew Lee authored
      - Delete wifi icon and method to get SSID.
      + Use labels provided by StatusHints instead.
      
      I'm not very happy with the additional "isWifi" cases I ended up
      adding in call card fragment.
      
      I felt this was necessary because of assumptions in some cases
      that if a label is provided, it should be formatted as a phone
      account source. While this was true before, it's becoming less so.
      I feel like the fragment shouldn't have to worry about formatting
      or choosing the label based on the call and  conditions. It should
      just display the label if it thinks it is appropriate to show a
      label given the call state.
      
      To fix that, it seems like logic should be moved to the presenter
      instead, and possibly to Telephony. But, I'm hesitant to do that
      until these WFC changes back merge to master because of potential
      merge conflicts and its slightly more risky for this branch,
      because it starts dealing with logic/flows outside of WFC..
      
      Bug: 19866988
      Change-Id: Iacd5a09259c84ea7be28b0170ae603eb9561f7ca
      1a3d05dc
  5. 20 Mar, 2015 1 commit
  6. 19 Mar, 2015 2 commits
  7. 13 Mar, 2015 1 commit
  8. 11 Mar, 2015 4 commits
  9. 10 Mar, 2015 2 commits
    • Andrew Lee's avatar
      Indicate wifi for incoming calls. · 6c5be778
      Andrew Lee authored
      This is done in the call card by showing the wifi icon.
      
      This is done in the notification, by change the subtext.
      
      For international calls in particular, this helps users understand
      how accepting a phone call will affect the cost of their call.
      
      Change-Id: Ifebd9f9cc8598b7fe5b693673b27a485f7ecdf0f
      6c5be778
    • Matthieu Baglin's avatar
      InCallUi basic video call fixes · 1e71dbf6
      Matthieu Baglin authored
      
      This patch resolves some issues in video call establishment
      on L MR1 InCallUi.
      
      Change-Id: Ib72894f7e81932200b09b9995d169ef1124fc5b5
      Signed-off-by: default avatarMatthieu Baglin <matthieu.baglin@intel.com>
      1e71dbf6
  10. 09 Mar, 2015 1 commit
  11. 18 Feb, 2015 1 commit
    • Andrew Lee's avatar
      Show icon and network label when using Wifi. · cae963fe
      Andrew Lee authored
      + Add Wifi icon and network label, to be shown when CAPABILITY_WIFI
      is present on the primary call. Assume we can infer the network label
      from the connection info returned by the WifiManager, supposing that
      the phone can only be connected to one wifi network.
      + Add helper to strip quotation marks from wifi network name.
      + Reposition HD audio icon beneath the name, and to the left of the
      number/location information.
      + Adjust assets and layout of call state and hd audio icons, to
      center them in a more visually pleasing way in the view.
      
      Bug: 19151850
      Change-Id: Ic23d1e744960e80b65bc34a8e709266af508fe21
      cae963fe
  12. 28 Jan, 2015 2 commits
  13. 26 Jan, 2015 1 commit
  14. 25 Jan, 2015 1 commit
    • Nancy Chen's avatar
      Hide emergency callback number when slot2 SIM is default. · 775a9e4e
      Nancy Chen authored
      Because emergency calls are always made from the SIM in slot1, when
      slot2 has the SIM set for default outgoing call, the InCallUI currently
      thinks the emergency callback number is different from the number being
      called from (the code only uses the default number). The fix is to check
      the line 1 number of the phone account being used instead of the default
      phone account.
      
      Bug: 19087382
      Change-Id: I90a096f63493affea979689c7ad188eec7109c08
      775a9e4e
  15. 22 Jan, 2015 1 commit
  16. 20 Jan, 2015 1 commit
  17. 19 Jan, 2015 1 commit
  18. 17 Jan, 2015 1 commit
    • Nancy Chen's avatar
      Remove padding from call buttons to fix undesired cropping. · 978f6bff
      Nancy Chen authored
      Padding was added to the sides of the call button row in order to
      prevent false touches. However, this additional padding causes cropping
      of the background on the two buttons on the far left and far right when
      all 5 buttons are present on low resolution devices. Since on high
      resolution devices there is more than enough extra space on the left and
      right, this padding is being removed to eliminate cropping.
      
      Bug: 18122087
      Change-Id: Ie948d9cbe4ef7025702ae1f4666354ab1be76bbc
      978f6bff
  19. 14 Jan, 2015 1 commit
    • Andrew Lee's avatar
      Improve call button accessibility. · f06f97fa
      Andrew Lee authored
      + 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
      f06f97fa
  20. 09 Jan, 2015 3 commits
  21. 08 Jan, 2015 2 commits
    • Tyler Gunn's avatar
    • Tyler Gunn's avatar
      Fixing Null Pointer exception due to uninitialized view reference. · fec0d0b7
      Tyler Gunn authored
      Bug indicates a crash occurred when trying to separate a call from a
      conference call.  The exception thrown was due to calling "setText" on
      mSecondaryCallProviderLabel when it was null.
      
      Although I was not able to reproduce this situation, it appears it would
      be possible for showAndInitializeSecondaryCallInfo to not set the
      mSecondaryCallProviderLabel reference when then mSecondaryCallName is
      initially set if the hasProvider flag is false at the time.  If
      hasProvider becomes true in the future since mSecondaryCallName is already
      initialized, the code to initialize mSecondaryCallProviderLabel would not
      run, causing the NPE.
      
      I have restructured the code to ensure that this type of scenario is
      handled appropriately.
      
      Bug: 18917883
      Change-Id: I837d96aad7ed98729490d95beb897b08e1b08365
      fec0d0b7
  22. 07 Jan, 2015 2 commits
    • Andrew Lee's avatar
      Read enabled/disabled state for InCall buttons. · 2759ccba
      Andrew Lee authored
      + 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
      2759ccba
    • Ihab Awad's avatar
  23. 06 Jan, 2015 1 commit
    • Tyler Gunn's avatar
      Ensure sim color is shown on multi-sim devices when only one sim installed. · 211bccf2
      Tyler Gunn authored
      - Removed telecomManager check hasMultipleCallCapableAccounts() which would
      only return 1 when a single sim is installed in a multisim phone.
      - For single-sim devices, the Sim color is 0 (ie not selected) for the
      Sim PhoneAccount, so the default behavior is to not show a sim color.
      
      Bug: 18696518
      Change-Id: I3968e181a41244092d2058fcf3dc8d627d12b412
      211bccf2
  24. 30 Dec, 2014 1 commit
  25. 23 Dec, 2014 2 commits
  26. 22 Dec, 2014 1 commit