summaryrefslogtreecommitdiff
path: root/telephony/java/android
diff options
context:
space:
mode:
authorScott Lobdell <slobdell@google.com>2021-07-27 17:02:32 +0000
committerScott Lobdell <slobdell@google.com>2021-07-27 17:02:32 +0000
commitcb84bc77bfeb89a940d8439f7458fe5d9bef7bef (patch)
treed6e70908803e918eb485e058341ce55d0a957188 /telephony/java/android
parentdc5ea9d31ab76ba378da9c550813e6b7d8be1e69 (diff)
parent6aa393b52cd7362100a2b3e9b0b1dece473cf6dd (diff)
Merge SP1A.210723.002
Change-Id: I220cdfc5cb9db40162fd33f400a54591018d54cf
Diffstat (limited to 'telephony/java/android')
-rw-r--r--telephony/java/android/telephony/CarrierConfigManager.java16
-rw-r--r--telephony/java/android/telephony/TelephonyManager.java7
-rw-r--r--telephony/java/android/telephony/ims/ImsMmTelManager.java28
-rw-r--r--telephony/java/android/telephony/ims/ImsRcsManager.java14
4 files changed, 58 insertions, 7 deletions
diff --git a/telephony/java/android/telephony/CarrierConfigManager.java b/telephony/java/android/telephony/CarrierConfigManager.java
index 7ac37790fd89..10f8463029fa 100644
--- a/telephony/java/android/telephony/CarrierConfigManager.java
+++ b/telephony/java/android/telephony/CarrierConfigManager.java
@@ -286,6 +286,21 @@ public class CarrierConfigManager {
"call_barring_default_service_class_int";
/**
+ * This carrier supports dialing USSD codes to enable/disable supplementary services such as
+ * call forwarding and call waiting over CDMA.
+ * <p>
+ * The supplementary service menu will still need to be set as visible, see
+ * {@link #KEY_CALL_FORWARDING_VISIBILITY_BOOL} and
+ * {@link #KEY_ADDITIONAL_SETTINGS_CALL_WAITING_VISIBILITY_BOOL}.
+ * <p>
+ * If this is set as false and the supplementary service menu is visible, the associated setting
+ * will be enabled and disabled based on the availability of supplementary services over UT. See
+ * {@link #KEY_CARRIER_SUPPORTS_SS_OVER_UT_BOOL}.
+ * @hide
+ */
+ public static final String KEY_SUPPORT_SS_OVER_CDMA_BOOL = "support_ss_over_cdma_bool";
+
+ /**
* Flag indicating whether the Phone app should ignore EVENT_SIM_NETWORK_LOCKED
* events from the Sim.
* If true, this will prevent the IccNetworkDepersonalizationPanel from being shown, and
@@ -5205,6 +5220,7 @@ public class CarrierConfigManager {
sDefaults.putBoolean(KEY_CALL_BARRING_SUPPORTS_PASSWORD_CHANGE_BOOL, true);
sDefaults.putBoolean(KEY_CALL_BARRING_SUPPORTS_DEACTIVATE_ALL_BOOL, true);
sDefaults.putInt(KEY_CALL_BARRING_DEFAULT_SERVICE_CLASS_INT, SERVICE_CLASS_VOICE);
+ sDefaults.putBoolean(KEY_SUPPORT_SS_OVER_CDMA_BOOL, false);
sDefaults.putBoolean(KEY_CALL_FORWARDING_VISIBILITY_BOOL, true);
sDefaults.putBoolean(KEY_CALL_FORWARDING_WHEN_UNREACHABLE_SUPPORTED_BOOL, true);
sDefaults.putBoolean(KEY_CALL_FORWARDING_WHEN_UNANSWERED_SUPPORTED_BOOL, true);
diff --git a/telephony/java/android/telephony/TelephonyManager.java b/telephony/java/android/telephony/TelephonyManager.java
index 2bf411f8afc2..799930c53669 100644
--- a/telephony/java/android/telephony/TelephonyManager.java
+++ b/telephony/java/android/telephony/TelephonyManager.java
@@ -14000,7 +14000,12 @@ public class TelephonyManager {
IBooleanConsumer aidlConsumer = callback == null ? null : new IBooleanConsumer.Stub() {
@Override
public void accept(boolean result) {
- executor.execute(() -> callback.accept(result));
+ final long identity = Binder.clearCallingIdentity();
+ try {
+ executor.execute(() -> callback.accept(result));
+ } finally {
+ Binder.restoreCallingIdentity(identity);
+ }
}
};
diff --git a/telephony/java/android/telephony/ims/ImsMmTelManager.java b/telephony/java/android/telephony/ims/ImsMmTelManager.java
index 53922ed27c10..36082dc8180e 100644
--- a/telephony/java/android/telephony/ims/ImsMmTelManager.java
+++ b/telephony/java/android/telephony/ims/ImsMmTelManager.java
@@ -445,7 +445,12 @@ public class ImsMmTelManager implements RegistrationManager {
iTelephony.getImsMmTelRegistrationState(mSubId, new IIntegerConsumer.Stub() {
@Override
public void accept(int result) {
- executor.execute(() -> stateCallback.accept(result));
+ final long identity = Binder.clearCallingIdentity();
+ try {
+ executor.execute(() -> stateCallback.accept(result));
+ } finally {
+ Binder.restoreCallingIdentity(identity);
+ }
}
});
} catch (ServiceSpecificException | RemoteException e) {
@@ -487,7 +492,12 @@ public class ImsMmTelManager implements RegistrationManager {
new IIntegerConsumer.Stub() {
@Override
public void accept(int result) {
- executor.execute(() -> transportTypeCallback.accept(result));
+ final long identity = Binder.clearCallingIdentity();
+ try {
+ executor.execute(() -> transportTypeCallback.accept(result));
+ } finally {
+ Binder.restoreCallingIdentity(identity);
+ }
}
});
} catch (ServiceSpecificException | RemoteException e) {
@@ -807,7 +817,12 @@ public class ImsMmTelManager implements RegistrationManager {
iTelephony.isMmTelCapabilitySupported(mSubId, new IIntegerConsumer.Stub() {
@Override
public void accept(int result) {
- executor.execute(() -> callback.accept(result == 1));
+ final long identity = Binder.clearCallingIdentity();
+ try {
+ executor.execute(() -> callback.accept(result == 1));
+ } finally {
+ Binder.restoreCallingIdentity(identity);
+ }
}
}, capability, transportType);
} catch (ServiceSpecificException sse) {
@@ -1452,7 +1467,12 @@ public class ImsMmTelManager implements RegistrationManager {
iTelephony.getImsMmTelFeatureState(mSubId, new IIntegerConsumer.Stub() {
@Override
public void accept(int result) {
- executor.execute(() -> callback.accept(result));
+ final long identity = Binder.clearCallingIdentity();
+ try {
+ executor.execute(() -> callback.accept(result));
+ } finally {
+ Binder.restoreCallingIdentity(identity);
+ }
}
});
} catch (ServiceSpecificException sse) {
diff --git a/telephony/java/android/telephony/ims/ImsRcsManager.java b/telephony/java/android/telephony/ims/ImsRcsManager.java
index 91c53244a780..8d6fa4141b5c 100644
--- a/telephony/java/android/telephony/ims/ImsRcsManager.java
+++ b/telephony/java/android/telephony/ims/ImsRcsManager.java
@@ -299,7 +299,12 @@ public class ImsRcsManager {
imsRcsController.getImsRcsRegistrationState(mSubId, new IIntegerConsumer.Stub() {
@Override
public void accept(int result) {
- executor.execute(() -> stateCallback.accept(result));
+ final long identity = Binder.clearCallingIdentity();
+ try {
+ executor.execute(() -> stateCallback.accept(result));
+ } finally {
+ Binder.restoreCallingIdentity(identity);
+ }
}
});
} catch (ServiceSpecificException | RemoteException e) {
@@ -345,7 +350,12 @@ public class ImsRcsManager {
new IIntegerConsumer.Stub() {
@Override
public void accept(int result) {
- executor.execute(() -> transportTypeCallback.accept(result));
+ final long identity = Binder.clearCallingIdentity();
+ try {
+ executor.execute(() -> transportTypeCallback.accept(result));
+ } finally {
+ Binder.restoreCallingIdentity(identity);
+ }
}
});
} catch (ServiceSpecificException | RemoteException e) {