Merge "Format incoming call numbers with the national format for Japan"
diff --git a/apex/Android.bp b/apex/Android.bp
index 16bcb72..a7137d9 100644
--- a/apex/Android.bp
+++ b/apex/Android.bp
@@ -14,7 +14,7 @@
apex {
name: "com.android.telephony",
manifest: "apex_manifest.json",
- apps: ["StkLib"],
+ //apps: ["StkLib"],
defaults:["com.android.telephony-defaults"],
}
@@ -30,4 +30,4 @@
// This will use com.android.telephony.x509.pem (the cert) and
// com.android.telephony.pk8 (the private key)
certificate: "com.android.telephony",
-}
\ No newline at end of file
+}
diff --git a/src/com/android/phone/EmergencyDialer.java b/src/com/android/phone/EmergencyDialer.java
index 119c71b..334442f 100644
--- a/src/com/android/phone/EmergencyDialer.java
+++ b/src/com/android/phone/EmergencyDialer.java
@@ -720,8 +720,12 @@
isEmergencyNumber = true;
phoneToMakeCall = mShortcutViewConfig.getPhoneInfo();
} else {
- isEmergencyNumber = getSystemService(TelephonyManager.class)
- .isEmergencyNumber(mLastNumber);
+ try {
+ isEmergencyNumber = getSystemService(TelephonyManager.class)
+ .isEmergencyNumber(mLastNumber);
+ } catch (IllegalStateException ise) {
+ isEmergencyNumber = false;
+ }
}
if (isEmergencyNumber) {
diff --git a/src/com/android/phone/PhoneInterfaceManager.java b/src/com/android/phone/PhoneInterfaceManager.java
index 5e34fac..13c5c61 100755
--- a/src/com/android/phone/PhoneInterfaceManager.java
+++ b/src/com/android/phone/PhoneInterfaceManager.java
@@ -3171,21 +3171,6 @@
}
@Override
- public PhoneCapability getPhoneCapability(int subId, String callingPackage,
- String callingFeatureId) {
- if (!TelephonyPermissions.checkCallingOrSelfReadPhoneState(
- mApp, subId, callingPackage, callingFeatureId, "getPhoneCapability")) {
- return null;
- }
- final long identity = Binder.clearCallingIdentity();
- try {
- return mPhoneConfigurationManager.getStaticPhoneCapability();
- } finally {
- Binder.restoreCallingIdentity(identity);
- }
- }
-
- @Override
public boolean isInEmergencySmsMode() {
enforceReadPrivilegedPermission("isInEmergencySmsMode");
final long identity = Binder.clearCallingIdentity();
@@ -7972,7 +7957,7 @@
loge("isMultiSimSupportedInternal: no static configuration available");
return TelephonyManager.MULTISIM_NOT_SUPPORTED_BY_HARDWARE;
}
- if (staticCapability.getLogicalModemUuids().size() < 2) {
+ if (staticCapability.logicalModemList.size() < 2) {
loge("isMultiSimSupportedInternal: maximum number of modem is < 2");
return TelephonyManager.MULTISIM_NOT_SUPPORTED_BY_HARDWARE;
}
diff --git a/src/com/android/services/telephony/TelephonyConnectionService.java b/src/com/android/services/telephony/TelephonyConnectionService.java
index c5eff69..abee3b2 100644
--- a/src/com/android/services/telephony/TelephonyConnectionService.java
+++ b/src/com/android/services/telephony/TelephonyConnectionService.java
@@ -71,6 +71,7 @@
import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
+import java.util.HashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
@@ -246,12 +247,20 @@
@Override
public boolean isCurrentEmergencyNumber(String number) {
- return mTelephonyManager.isEmergencyNumber(number);
+ try {
+ return mTelephonyManager.isEmergencyNumber(number);
+ } catch (IllegalStateException ise) {
+ return false;
+ }
}
@Override
public Map<Integer, List<EmergencyNumber>> getCurrentEmergencyNumberList() {
- return mTelephonyManager.getEmergencyNumberList();
+ try {
+ return mTelephonyManager.getEmergencyNumberList();
+ } catch (IllegalStateException ise) {
+ return new HashMap<>();
+ }
}
}
@@ -1167,11 +1176,26 @@
Call call = phone.getRingingCall();
if (!call.getState().isRinging()) {
Log.i(this, "onCreateIncomingConnection, no ringing call");
- return Connection.createFailedConnection(
+ Connection connection = Connection.createFailedConnection(
mDisconnectCauseFactory.toTelecomDisconnectCause(
android.telephony.DisconnectCause.INCOMING_MISSED,
"Found no ringing call",
phone.getPhoneId()));
+ Bundle extras = request.getExtras();
+
+ long time = extras.getLong(TelecomManager.EXTRA_CALL_CREATED_EPOCH_TIME_MILLIS);
+ if (time != 0) {
+ Log.i(this, "onCreateIncomingConnection. Set connect time info.");
+ connection.setConnectTimeMillis(time);
+ }
+
+ Uri address = extras.getParcelable(TelecomManager.EXTRA_INCOMING_CALL_ADDRESS);
+ if (address != null) {
+ Log.i(this, "onCreateIncomingConnection. Set caller id info.");
+ connection.setAddress(address, TelecomManager.PRESENTATION_ALLOWED);
+ }
+
+ return connection;
}
com.android.internal.telephony.Connection originalConnection =
@@ -1783,7 +1807,7 @@
if (!isAdhocConference) {
// Listen to Telephony specific callbacks from the connection
returnConnection.addTelephonyConnectionListener(mTelephonyConnectionListener);
- }
+ }
returnConnection.setVideoPauseSupported(
TelecomAccountRegistry.getInstance(this).isVideoPauseSupported(
phoneAccountHandle));