diff options
author | android-build-team Robot <android-build-team-robot@google.com> | 2017-09-21 07:32:37 +0000 |
---|---|---|
committer | android-build-team Robot <android-build-team-robot@google.com> | 2017-09-21 07:32:37 +0000 |
commit | b52bec62100300b0254d450a98fbc92964442f54 (patch) | |
tree | 63ddab252f7a375a43d8fcdd16f0b4060f3e9e82 | |
parent | 6415c7289cc63c7de6c15837a6aea9f2326dec25 (diff) | |
parent | 7e9da526e4ffa09aa48fed94b12292dfa3ef1721 (diff) | |
download | telephony-b52bec62100300b0254d450a98fbc92964442f54.tar.gz |
release-request-bbc747ae-190b-4d38-8704-432aa6396c16-for-git_oc-mr1-release-4351869 snap-temp-L93800000104806132
Change-Id: Ie4efa19a27f39b5b03fb599a9ac5bcb80dc72c64
5 files changed, 22 insertions, 9 deletions
diff --git a/src/java/com/android/internal/telephony/CallForwardInfo.java b/src/java/com/android/internal/telephony/CallForwardInfo.java index dccf3066a9..e40028fc28 100644 --- a/src/java/com/android/internal/telephony/CallForwardInfo.java +++ b/src/java/com/android/internal/telephony/CallForwardInfo.java @@ -16,12 +16,16 @@ package com.android.internal.telephony; +import android.telecom.Log; + /** * See also RIL_CallForwardInfo in include/telephony/ril.h * * {@hide} */ public class CallForwardInfo { + private static final String TAG = "CallForwardInfo"; + public int status; /*1 = active, 0 = not active */ public int reason; /* from TS 27.007 7.11 "reason" */ public int serviceClass; /* Saum of CommandsInterface.SERVICE_CLASS */ @@ -31,9 +35,9 @@ public class CallForwardInfo { @Override public String toString() { - return super.toString() + (status == 0 ? " not active " : " active ") - + " reason: " + reason - + " serviceClass: " + serviceClass + " " + timeSeconds + " seconds"; - + return "[CallForwardInfo: status=" + (status == 0 ? " not active " : " active ") + + ", reason= " + reason + + ", serviceClass= " + serviceClass + ", timeSec= " + timeSeconds + " seconds" + + ", number=" + Log.pii(number) + "]"; } } diff --git a/src/java/com/android/internal/telephony/DefaultPhoneNotifier.java b/src/java/com/android/internal/telephony/DefaultPhoneNotifier.java index c13e54086e..98c0a32ecc 100644 --- a/src/java/com/android/internal/telephony/DefaultPhoneNotifier.java +++ b/src/java/com/android/internal/telephony/DefaultPhoneNotifier.java @@ -125,6 +125,9 @@ public class DefaultPhoneNotifier implements PhoneNotifier { int subId = sender.getSubId(); try { if (mRegistry != null) { + Rlog.d(LOG_TAG, "notifyCallForwardingChanged: subId=" + subId + ", isCFActive=" + + sender.getCallForwardingIndicator()); + mRegistry.notifyCallForwardingChangedForSubscriber(subId, sender.getCallForwardingIndicator()); } diff --git a/src/java/com/android/internal/telephony/GsmCdmaPhone.java b/src/java/com/android/internal/telephony/GsmCdmaPhone.java index d95d0183b5..5053341670 100644 --- a/src/java/com/android/internal/telephony/GsmCdmaPhone.java +++ b/src/java/com/android/internal/telephony/GsmCdmaPhone.java @@ -2549,6 +2549,7 @@ public class GsmCdmaPhone extends Phone { private void processIccRecordEvents(int eventCode) { switch (eventCode) { case IccRecords.EVENT_CFI: + logi("processIccRecordEvents: EVENT_CFI"); notifyCallForwardingIndicator(); break; } diff --git a/src/java/com/android/internal/telephony/Phone.java b/src/java/com/android/internal/telephony/Phone.java index 28e45565fa..8b0c6775db 100644 --- a/src/java/com/android/internal/telephony/Phone.java +++ b/src/java/com/android/internal/telephony/Phone.java @@ -56,6 +56,7 @@ import android.telephony.SignalStrength; import android.telephony.SubscriptionManager; import android.telephony.VoLteServiceState; import android.text.TextUtils; +import android.util.Log; import com.android.ims.ImsCall; import com.android.ims.ImsConfig; @@ -1789,7 +1790,7 @@ public abstract class Phone extends Handler implements PhoneInternalInterface { int status = enable ? IccRecords.CALL_FORWARDING_STATUS_ENABLED : IccRecords.CALL_FORWARDING_STATUS_DISABLED; int subId = getSubId(); - Rlog.d(LOG_TAG, "setCallForwardingIndicatorInSharedPref: Storing status = " + status + + Rlog.i(LOG_TAG, "setCallForwardingIndicatorInSharedPref: Storing status = " + status + " in pref " + CF_STATUS + subId); SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(mContext); @@ -1831,6 +1832,9 @@ public abstract class Phone extends Handler implements PhoneInternalInterface { if (callForwardingIndicator == IccRecords.CALL_FORWARDING_STATUS_UNKNOWN) { callForwardingIndicator = getCallForwardingIndicatorFromSharedPref(); } + Rlog.v(LOG_TAG, "getCallForwardingIndicator: iccForwardingFlag=" + (r != null + ? r.getVoiceCallForwardingFlag() : "null") + ", sharedPrefFlag=" + + getCallForwardingIndicatorFromSharedPref()); return (callForwardingIndicator == IccRecords.CALL_FORWARDING_STATUS_ENABLED); } diff --git a/src/java/com/android/internal/telephony/imsphone/ImsPhoneCallTracker.java b/src/java/com/android/internal/telephony/imsphone/ImsPhoneCallTracker.java index 11350e03e6..072da68ed9 100644 --- a/src/java/com/android/internal/telephony/imsphone/ImsPhoneCallTracker.java +++ b/src/java/com/android/internal/telephony/imsphone/ImsPhoneCallTracker.java @@ -2551,7 +2551,7 @@ public class ImsPhoneCallTracker extends CallTracker implements ImsPullCall { && targetAccessTech != ServiceState.RIL_RADIO_TECHNOLOGY_UNKNOWN && targetAccessTech != ServiceState.RIL_RADIO_TECHNOLOGY_IWLAN; if (isHandoverFromWifi && imsCall.isVideoCall()) { - if (mNotifyHandoverVideoFromWifiToLTE) { + if (mNotifyHandoverVideoFromWifiToLTE && mIsDataEnabled) { log("onCallHandover :: notifying of WIFI to LTE handover."); conn.onConnectionEvent( TelephonyManager.EVENT_HANDOVER_VIDEO_FROM_WIFI_TO_LTE, null); @@ -2560,7 +2560,7 @@ public class ImsPhoneCallTracker extends CallTracker implements ImsPullCall { if (!mIsDataEnabled && mIsViLteDataMetered) { // Call was downgraded from WIFI to LTE and data is metered; downgrade the // call now. - downgradeVideoCall(ImsReasonInfo.CODE_DATA_DISABLED, conn); + downgradeVideoCall(ImsReasonInfo.CODE_WIFI_LOST, conn); } } } else { @@ -3520,8 +3520,9 @@ public class ImsPhoneCallTracker extends CallTracker implements ImsPullCall { // If the carrier supports downgrading to voice, then we can simply issue a // downgrade to voice instead of terminating the call. modifyVideoCall(imsCall, VideoProfile.STATE_AUDIO_ONLY); - } else if (mSupportPauseVideo) { - // The carrier supports video pause signalling, so pause the video. + } else if (mSupportPauseVideo && reasonCode != ImsReasonInfo.CODE_WIFI_LOST) { + // The carrier supports video pause signalling, so pause the video if we didn't just + // lose wifi; in that case just disconnect. mShouldUpdateImsConfigOnDisconnect = true; conn.pauseVideo(VideoPauseTracker.SOURCE_DATA_ENABLED); } else { |