Merge "Do not wait for opportunistic sub to be IN SERVICE for test emergency"
diff --git a/res/layout/emergency_information.xml b/res/layout/emergency_information.xml
index e925479..524387f 100644
--- a/res/layout/emergency_information.xml
+++ b/res/layout/emergency_information.xml
@@ -53,7 +53,7 @@
android:maxLines="1"
android:ellipsize="end"
android:lineHeight="@dimen/emergency_info_name_line_height"
- android:fontFamily="google-sans"
+ android:fontFamily="@*android:string/config_headlineFontFamily"
android:textAppearance="@style/HeadlineTextAppearance"/>
<TextView
android:id="@+id/emergency_info_hint"
@@ -99,7 +99,7 @@
android:maxLines="2"
android:ellipsize="end"
android:lineHeight="@dimen/confirmed_emergency_info_line_height"
- android:fontFamily="google-sans"
+ android:fontFamily="@*android:string/config_headlineFontFamily"
android:textAppearance="@style/PhoneCallHintTextAppearance"
android:text="@string/emergency_information_confirm_hint"/>
</LinearLayout>
diff --git a/res/layout/emergency_shortcut_button.xml b/res/layout/emergency_shortcut_button.xml
index 136db0c..239371a 100644
--- a/res/layout/emergency_shortcut_button.xml
+++ b/res/layout/emergency_shortcut_button.xml
@@ -57,7 +57,7 @@
android:maxLines="1"
android:ellipsize="end"
android:lineHeight="@dimen/phone_number_line_height"
- android:fontFamily="google-sans"
+ android:fontFamily="@*android:string/config_headlineFontFamily"
android:textAppearance="@style/PhoneNumberTextAppearance"/>
<TextView
android:id="@+id/phone_number_description"
@@ -124,7 +124,7 @@
android:maxLines="2"
android:ellipsize="end"
android:lineHeight="@dimen/phone_call_hint_line_height"
- android:fontFamily="google-sans"
+ android:fontFamily="@*android:string/config_headlineFontFamily"
android:textAppearance="@style/PhoneCallHintTextAppearance"/>
</FrameLayout>
</LinearLayout>
diff --git a/src/com/android/phone/CarrierConfigLoader.java b/src/com/android/phone/CarrierConfigLoader.java
index 8299d86..da478fa 100644
--- a/src/com/android/phone/CarrierConfigLoader.java
+++ b/src/com/android/phone/CarrierConfigLoader.java
@@ -935,10 +935,7 @@
if (overrides == null) {
mOverrideConfigs[phoneId] = new PersistableBundle();
- return;
- }
-
- if (mOverrideConfigs[phoneId] == null) {
+ } else if (mOverrideConfigs[phoneId] == null) {
mOverrideConfigs[phoneId] = overrides;
} else {
mOverrideConfigs[phoneId].putAll(overrides);
diff --git a/src/com/android/phone/PhoneInterfaceManager.java b/src/com/android/phone/PhoneInterfaceManager.java
index f32bf02..f2c15bc 100755
--- a/src/com/android/phone/PhoneInterfaceManager.java
+++ b/src/com/android/phone/PhoneInterfaceManager.java
@@ -2802,27 +2802,6 @@
}
}
- /**
- * Returns the data network type.
- * Legacy call, permission-free.
- *
- * @Deprecated to be removed Q3 2013 use {@link #getDataNetworkType}.
- */
- @Override
- public int getNetworkType() {
- final long identity = Binder.clearCallingIdentity();
- try {
- final Phone phone = getPhone(getDefaultSubscription());
- if (phone != null) {
- return phone.getServiceState().getDataNetworkType();
- } else {
- return TelephonyManager.NETWORK_TYPE_UNKNOWN;
- }
- } finally {
- Binder.restoreCallingIdentity(identity);
- }
- }
-
@Override
public int getNetworkSelectionMode(int subId) {
if (!isActiveSubscription(subId)) {
@@ -3524,12 +3503,16 @@
}
/**
- * Returns the network type for a subId
+ * Returns the data network type for a subId; does not throw SecurityException.
*/
@Override
public int getNetworkTypeForSubscriber(int subId, String callingPackage) {
- if (!TelephonyPermissions.checkCallingOrSelfReadPhoneState(
- mApp, subId, callingPackage, "getNetworkTypeForSubscriber")) {
+ final int targetSdk = getTargetSdk(callingPackage);
+ if (targetSdk > android.os.Build.VERSION_CODES.Q) {
+ return getDataNetworkTypeForSubscriber(subId, callingPackage);
+ } else if (targetSdk == android.os.Build.VERSION_CODES.Q
+ && !TelephonyPermissions.checkCallingOrSelfReadPhoneStateNoThrow(
+ mApp, subId, callingPackage, "getNetworkTypeForSubscriber")) {
return TelephonyManager.NETWORK_TYPE_UNKNOWN;
}
@@ -3838,7 +3821,7 @@
int command, int p1, int p2, int p3, String data) {
final long identity = Binder.clearCallingIdentity();
try {
- if (channel < 0) {
+ if (channel <= 0) {
return "";
}
diff --git a/src/com/android/services/telephony/TelephonyConnectionService.java b/src/com/android/services/telephony/TelephonyConnectionService.java
index bb142ee..4b29f4a 100644
--- a/src/com/android/services/telephony/TelephonyConnectionService.java
+++ b/src/com/android/services/telephony/TelephonyConnectionService.java
@@ -54,6 +54,7 @@
import com.android.internal.telephony.PhoneConstants;
import com.android.internal.telephony.PhoneFactory;
import com.android.internal.telephony.RIL;
+import com.android.internal.telephony.SubscriptionController;
import com.android.internal.telephony.imsphone.ImsExternalCallTracker;
import com.android.internal.telephony.imsphone.ImsPhone;
import com.android.internal.telephony.imsphone.ImsPhoneConnection;
@@ -585,8 +586,11 @@
// Notify Telecom of the new Connection type.
// TODO: Switch out the underlying connection instead of creating a new
// one and causing UI Jank.
+ boolean noActiveSimCard = SubscriptionController.getInstance()
+ .getActiveSubInfoCount(phone.getContext().getOpPackageName()) == 0;
+ // If there's no active sim card and the device is in emergency mode, use E account.
addExistingConnection(PhoneUtils.makePstnPhoneAccountHandleWithPrefix(
- phone, "", isEmergencyNumber), repConnection);
+ phone, "", isEmergencyNumber && noActiveSimCard), repConnection);
// Remove the old connection from Telecom after.
originalConnection.setDisconnected(
DisconnectCauseUtil.toTelecomDisconnectCause(