IMS-VT: Add orientation mode and session modification cause notifiers

- Add listeners to listen to call details changed and get the
  orientation mode changes as well as session modification cause
  changes.

- When changes are detected, notify InCall message controller
  which handles the change appropriately

- Add orientation mode and session modification cause resources to
  qtistrings.xml

IMS-VT: Enable orientation listener always for video calls

- start InCallActivity if user accepted call as video from notification.
- Enable orientation listener if user directly accepted video call from noti
- Reset mOrientationMode in OrientationModeHandler once all calls are ended.

IMS_VT: When we set orientation mode compute the correct value and set it

- For video calls, we set the orientation by default to full sensor mode
  and no sensor mode for voice calls. Since DISPLAY_MODE_EVT gives us a
  fixed orientation mode for video calls, compute the correct orientation
  mode in OrientationModeHanlder based on values passed from lower layers.
  Pass this to VideoCallPresenter to set the correct orientation mode
  when we check for changes in video call
- Return ActivityInfo.FULL_SENSOR_SCREEN_ORIENTATION from QtiCallUtils
  toUiOrientationMode for DYNAMIC_CVO mode to support reverse portrait
  matching existing InCallPresenter setRequestedOrientation

 IMS-VT: Optimize handling of orientation mode.

- Invoking setInCallAllowsOrientationChange API triggers
  multiple events which send data across binder. This
  could cause performance degradations in some cases

IMS-VT: Add a primary call tracker to track the current primary call

CRs-Fixed: 993825 846599

Change-Id: I9602a5a0f60c639197936256689407c15715bdcd
9 files changed