Merge "Add connection manager fallback" into lmp-mr1-dev
diff --git a/src/com/android/server/telecom/BluetoothPhoneService.java b/src/com/android/server/telecom/BluetoothPhoneService.java
index 8bf50ae..e9a00ff 100644
--- a/src/com/android/server/telecom/BluetoothPhoneService.java
+++ b/src/com/android/server/telecom/BluetoothPhoneService.java
@@ -680,7 +680,7 @@
String ringingAddress = null;
int ringingAddressType = 128;
- if (ringingCall != null) {
+ if (ringingCall != null && ringingCall.getHandle() != null) {
ringingAddress = ringingCall.getHandle().getSchemeSpecificPart();
if (ringingAddress != null) {
ringingAddressType = PhoneNumberUtils.toaFromString(ringingAddress);
diff --git a/src/com/android/server/telecom/Call.java b/src/com/android/server/telecom/Call.java
index e2bead7..cb722cf 100644
--- a/src/com/android/server/telecom/Call.java
+++ b/src/com/android/server/telecom/Call.java
@@ -417,8 +417,18 @@
void setHandle(Uri handle, int presentation) {
if (!Objects.equals(handle, mHandle) || presentation != mHandlePresentation) {
- mHandle = handle;
mHandlePresentation = presentation;
+ if (mHandlePresentation == TelecomManager.PRESENTATION_RESTRICTED ||
+ mHandlePresentation == TelecomManager.PRESENTATION_UNKNOWN) {
+ mHandle = null;
+ } else {
+ mHandle = handle;
+ if (mHandle != null && TextUtils.isEmpty(mHandle.getSchemeSpecificPart())) {
+ // If the number is actually empty, set it to null.
+ mHandle = null;
+ }
+ }
+
mIsEmergencyCall = mHandle != null && PhoneNumberUtils.isLocalEmergencyNumber(mContext,
mHandle.getSchemeSpecificPart());
startCallerInfoLookup();
diff --git a/src/com/android/server/telecom/RespondViaSmsManager.java b/src/com/android/server/telecom/RespondViaSmsManager.java
index 2ac9379..dcfa19a 100644
--- a/src/com/android/server/telecom/RespondViaSmsManager.java
+++ b/src/com/android/server/telecom/RespondViaSmsManager.java
@@ -139,8 +139,7 @@
@Override
public void onIncomingCallRejected(Call call, boolean rejectWithMessage, String textMessage) {
- if (rejectWithMessage) {
-
+ if (rejectWithMessage && call.getHandle() != null) {
rejectCallWithMessage(call.getContext(), call.getHandle().getSchemeSpecificPart(),
textMessage);
}