Merge branch 'LA.BF64.1.2.2_rb4.6' of git://codeaurora.org/platform/packages/services/Telecomm into cm-13.0
diff --git a/src/com/android/server/telecom/Call.java b/src/com/android/server/telecom/Call.java
index b86d658..7be5847 100644
--- a/src/com/android/server/telecom/Call.java
+++ b/src/com/android/server/telecom/Call.java
@@ -735,7 +735,6 @@
void setTargetPhoneAccount(PhoneAccountHandle accountHandle) {
if (!Objects.equals(mTargetPhoneAccountHandle, accountHandle)) {
- Log.i(this, "setTargetPhoneAccount %s ", accountHandle);
mTargetPhoneAccountHandle = accountHandle;
for (Listener l : mListeners) {
l.onTargetPhoneAccountChanged(this);
diff --git a/src/com/android/server/telecom/CallIntentProcessor.java b/src/com/android/server/telecom/CallIntentProcessor.java
index 7d7de17..3faa4d6 100644
--- a/src/com/android/server/telecom/CallIntentProcessor.java
+++ b/src/com/android/server/telecom/CallIntentProcessor.java
@@ -117,10 +117,17 @@
VideoProfile.STATE_AUDIO_ONLY);
clientExtras.putInt(TelecomManager.EXTRA_START_CALL_WITH_VIDEO_STATE, videoState);
+ boolean isCallPull = intent.getBooleanExtra(TelephonyProperties.EXTRA_IS_CALL_PULL, false);
+ Log.d(CallIntentProcessor.class, "processOutgoingCallIntent callPull = " + isCallPull);
+ if (isCallPull) {
+ clientExtras.putBoolean(TelephonyProperties.EXTRA_IS_CALL_PULL, isCallPull);
+ }
+
Log.i(CallIntentProcessor.class, " processOutgoingCallIntent handle = " + handle
+ ",scheme = " + scheme + ", uriString = " + uriString
+ ", isSkipSchemaParsing = " + isSkipSchemaParsing
- + ", isAddParticipant = " + isAddParticipant);
+ + ", isAddParticipant = " + isAddParticipant
+ + ", isCallPull = " + isCallPull);
final boolean isPrivilegedDialer = intent.getBooleanExtra(KEY_IS_PRIVILEGED_DIALER, false);
diff --git a/src/com/android/server/telecom/CallsManager.java b/src/com/android/server/telecom/CallsManager.java
index f1fcea8..82a20b6 100644
--- a/src/com/android/server/telecom/CallsManager.java
+++ b/src/com/android/server/telecom/CallsManager.java
@@ -1595,7 +1595,8 @@
break;
}
- if (call.isAlive() || call.getState() == CallState.RINGING) {
+ if ((call.isAlive() && call.getState() != CallState.ON_HOLD)
+ || call.getState() == CallState.RINGING) {
newForegroundCall = call;
// Don't break in case there's an active call that has priority.
}
@@ -1622,7 +1623,8 @@
break;
}
- if (call.isAlive() || call.getState() == CallState.RINGING) {
+ if ((call.isAlive() && call.getState() != CallState.ON_HOLD)
+ || call.getState() == CallState.RINGING) {
newForegroundCall = call;
// Don't break in case there's an active call that has priority.
}
diff --git a/src/com/android/server/telecom/ConnectionServiceWrapper.java b/src/com/android/server/telecom/ConnectionServiceWrapper.java
index f8e9f19..ff47c66 100644
--- a/src/com/android/server/telecom/ConnectionServiceWrapper.java
+++ b/src/com/android/server/telecom/ConnectionServiceWrapper.java
@@ -521,7 +521,14 @@
if (mCallIdMapper.isValidCallId(callId)
|| mCallIdMapper.isValidConferenceId(callId)) {
Call call = mCallIdMapper.getCall(callId);
- if (call != null) {
+ if (call != null && extras != null) {
+ if (extras.getParcelable(EMR_DIAL_ACCOUNT) instanceof
+ PhoneAccountHandle) {
+ PhoneAccountHandle account = extras.
+ getParcelable(EMR_DIAL_ACCOUNT);
+ Log.d(this, "setTargetPhoneAccount, account = " + account);
+ call.setTargetPhoneAccount(account);
+ }
call.setExtras(extras);
}
}
@@ -613,26 +620,6 @@
Binder.restoreCallingIdentity(token);
}
}
-
- @Override
- public void setPhoneAccountHandle(String callId, PhoneAccountHandle pHandle) {
- long token = Binder.clearCallingIdentity();
- try {
- synchronized (mLock) {
- logIncoming("setPhoneAccountHandle %s %s", callId, pHandle);
- if (mCallIdMapper.isValidCallId(callId)) {
- Call call = mCallIdMapper.getCall(callId);
- if (call != null) {
- call.setTargetPhoneAccount(pHandle);
- } else {
- Log.w(this, "setPhoneAccountHandle, unknown call id: %s", callId);
- }
- }
- }
- } finally {
- Binder.restoreCallingIdentity(token);
- }
- }
}
private final Adapter mAdapter = new Adapter();
@@ -644,6 +631,7 @@
private final ConnectionServiceRepository mConnectionServiceRepository;
private final PhoneAccountRegistrar mPhoneAccountRegistrar;
private final CallsManager mCallsManager;
+ private static final String EMR_DIAL_ACCOUNT = "emr_dial_account";
/**
* Creates a connection service.