Merge "new hidden API to getCertsFromCarrierPrivilegeRules"
diff --git a/src/com/android/phone/PhoneInterfaceManager.java b/src/com/android/phone/PhoneInterfaceManager.java
index f5e675c..5bb617e 100755
--- a/src/com/android/phone/PhoneInterfaceManager.java
+++ b/src/com/android/phone/PhoneInterfaceManager.java
@@ -3778,7 +3778,7 @@
/**
* Check TETHER_DUN_REQUIRED and TETHER_DUN_APN settings, net.tethering.noprovisioning
- * SystemProperty, and config_tether_apndata to decide whether DUN APN is required for
+ * SystemProperty to decide whether DUN APN is required for
* tethering.
*
* @return 0: Not required. 1: required. 2: Not set.
@@ -3792,8 +3792,7 @@
try {
int dunRequired = Settings.Global.getInt(mPhone.getContext().getContentResolver(),
Settings.Global.TETHER_DUN_REQUIRED, 2);
- // If not set, check net.tethering.noprovisioning, TETHER_DUN_APN setting and
- // config_tether_apndata.
+ // If not set, check net.tethering.noprovisioning, TETHER_DUN_APN setting
if (dunRequired == 2 && mPhone.hasMatchedTetherApnSetting()) {
dunRequired = 1;
}
@@ -4411,7 +4410,14 @@
}
}
- public boolean isRttSupported() {
+ /**
+ * Determines whether the device currently supports RTT (Real-time text). Based both on carrier
+ * support for the feature and device firmware support.
+ *
+ * @return {@code true} if the device and carrier both support RTT, {@code false} otherwise.
+ */
+ @Override
+ public boolean isRttSupported(int subscriptionId) {
final long identity = Binder.clearCallingIdentity();
try {
boolean isCarrierSupported = mApp.getCarrierConfigForSubId(
@@ -4425,10 +4431,14 @@
}
}
- public boolean isRttEnabled() {
+ /**
+ * Determines whether the user has turned on RTT. Only returns true if the device and carrier
+ * both also support RTT.
+ */
+ public boolean isRttEnabled(int subscriptionId) {
final long identity = Binder.clearCallingIdentity();
try {
- return isRttSupported() && Settings.Secure.getInt(
+ return isRttSupported(subscriptionId) && Settings.Secure.getInt(
mPhone.getContext().getContentResolver(),
Settings.Secure.RTT_CALLING_MODE, 0) != 0;
} finally {
diff --git a/src/com/android/phone/settings/AccessibilitySettingsFragment.java b/src/com/android/phone/settings/AccessibilitySettingsFragment.java
index 0eb3845..5c614d9 100644
--- a/src/com/android/phone/settings/AccessibilitySettingsFragment.java
+++ b/src/com/android/phone/settings/AccessibilitySettingsFragment.java
@@ -109,7 +109,8 @@
mButtonHac = null;
}
- if (PhoneGlobals.getInstance().phoneMgr.isRttSupported()) {
+ if (PhoneGlobals.getInstance().phoneMgr
+ .isRttSupported(SubscriptionManager.getDefaultVoiceSubscriptionId())) {
// TODO: this is going to be a on/off switch for now. Ask UX about how to integrate
// this settings with TTY
boolean rttOn = Settings.Secure.getInt(
diff --git a/src/com/android/services/telephony/TelecomAccountRegistry.java b/src/com/android/services/telephony/TelecomAccountRegistry.java
index 6b7a002..a0e5530 100644
--- a/src/com/android/services/telephony/TelecomAccountRegistry.java
+++ b/src/com/android/services/telephony/TelecomAccountRegistry.java
@@ -260,7 +260,7 @@
extras.putBoolean(PhoneAccount.EXTRA_PLAY_CALL_RECORDING_TONE, true);
}
- if (PhoneGlobals.getInstance().phoneMgr.isRttEnabled()) {
+ if (PhoneGlobals.getInstance().phoneMgr.isRttEnabled(subId)) {
capabilities |= PhoneAccount.CAPABILITY_RTT;
}
@@ -525,7 +525,8 @@
}
public void updateRttCapability() {
- boolean isRttEnabled = PhoneGlobals.getInstance().phoneMgr.isRttEnabled();
+ boolean isRttEnabled = PhoneGlobals.getInstance().phoneMgr
+ .isRttEnabled(mPhone.getSubId());
boolean oldRttEnabled = mAccount.hasCapabilities(PhoneAccount.CAPABILITY_RTT);
if (isRttEnabled != oldRttEnabled) {
mAccount = registerPstnPhoneAccount(mIsEmergency, mIsDummy);