diff options
author | Santos Cordon <santoscordon@google.com> | 2014-11-05 20:59:04 -0800 |
---|---|---|
committer | Santos Cordon <santoscordon@google.com> | 2014-11-05 21:19:46 -0800 |
commit | ecaaeac225ada350b9b3acfb485583cc388050de (patch) | |
tree | aba101fdfaa366eaf45340402b0ae1af7672ba39 /src/com/android/server | |
parent | 64883a9430c9245d4884af05787c79ab16ccdb42 (diff) | |
download | android_packages_services_Telecomm-ecaaeac225ada350b9b3acfb485583cc388050de.tar.gz android_packages_services_Telecomm-ecaaeac225ada350b9b3acfb485583cc388050de.tar.bz2 android_packages_services_Telecomm-ecaaeac225ada350b9b3acfb485583cc388050de.zip |
Don't show quick response messages for private numbers.
The respond-to-sms code was seeing "tel:" as the uri address, so I
updated the code so that restricted, unknown, and the above example all
get translated to a null address. This forces everything to work as
intended.
Bug: 18092431
Change-Id: Ibad1b510afd523268a9a37e2f48d0d62a7a7ebe4
Diffstat (limited to 'src/com/android/server')
-rw-r--r-- | src/com/android/server/telecom/BluetoothPhoneService.java | 2 | ||||
-rw-r--r-- | src/com/android/server/telecom/Call.java | 12 | ||||
-rw-r--r-- | src/com/android/server/telecom/RespondViaSmsManager.java | 3 |
3 files changed, 13 insertions, 4 deletions
diff --git a/src/com/android/server/telecom/BluetoothPhoneService.java b/src/com/android/server/telecom/BluetoothPhoneService.java index 8bf50ae0..e9a00ff9 100644 --- a/src/com/android/server/telecom/BluetoothPhoneService.java +++ b/src/com/android/server/telecom/BluetoothPhoneService.java @@ -680,7 +680,7 @@ public final class BluetoothPhoneService extends Service { 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 e2bead72..cb722cfb 100644 --- a/src/com/android/server/telecom/Call.java +++ b/src/com/android/server/telecom/Call.java @@ -417,8 +417,18 @@ final class Call implements CreateConnectionResponse { 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 2ac93799..dcfa19a8 100644 --- a/src/com/android/server/telecom/RespondViaSmsManager.java +++ b/src/com/android/server/telecom/RespondViaSmsManager.java @@ -139,8 +139,7 @@ public class RespondViaSmsManager extends CallsManagerListenerBase { @Override public void onIncomingCallRejected(Call call, boolean rejectWithMessage, String textMessage) { - if (rejectWithMessage) { - + if (rejectWithMessage && call.getHandle() != null) { rejectCallWithMessage(call.getContext(), call.getHandle().getSchemeSpecificPart(), textMessage); } |