Merge 2a9d91ec8a4effc08f2ead02ccb657719d037c38 on remote branch
Change-Id: I91b25f4bd904c96be7643746cb9b45fc97b8fbc5
diff --git a/extphone/src/com/qti/extphone/ExtPhoneCallbackBase.java b/extphone/src/com/qti/extphone/ExtPhoneCallbackBase.java
index 5154e0d..5ea3339 100644
--- a/extphone/src/com/qti/extphone/ExtPhoneCallbackBase.java
+++ b/extphone/src/com/qti/extphone/ExtPhoneCallbackBase.java
@@ -198,4 +198,13 @@
public void onEpdgOverCellularDataSupported(int slotId, boolean support)
throws RemoteException {
}
-}
+
+ @Override
+ public void getSecureModeStatusResponse(Token token, Status status, boolean enableStatus)
+ throws RemoteException {
+ }
+
+ @Override
+ public void onSecureModeStatusChange(boolean enabled) throws RemoteException {
+ }
+}
\ No newline at end of file
diff --git a/extphone/src/com/qti/extphone/ExtTelephonyManager.java b/extphone/src/com/qti/extphone/ExtTelephonyManager.java
index 74d1541..abde34a 100644
--- a/extphone/src/com/qti/extphone/ExtTelephonyManager.java
+++ b/extphone/src/com/qti/extphone/ExtTelephonyManager.java
@@ -141,7 +141,7 @@
}
try {
ret = mExtTelephonyService.isFeatureSupported(feature);
- } catch(RemoteException e){
+ } catch (RemoteException e){
Log.e(LOG_TAG, "isFeatureSupported, remote exception", e);
}
return ret;
@@ -268,7 +268,7 @@
log("getPropertyValueInt: property=" + property);
try {
ret = mExtTelephonyService.getPropertyValueInt(property, def);
- } catch(RemoteException e) {
+ } catch (RemoteException e) {
Log.e(LOG_TAG, "getPropertyValueInt, remote exception", e);
}
return ret;
@@ -289,7 +289,7 @@
log("getPropertyValueBool: property=" + property);
try {
ret = mExtTelephonyService.getPropertyValueBool(property, def);
- } catch(RemoteException e) {
+ } catch (RemoteException e) {
Log.e(LOG_TAG, "getPropertyValueBool, remote exception", e);
}
return ret;
@@ -310,7 +310,7 @@
log("getPropertyValueString: property=" + property);
try {
ret = mExtTelephonyService.getPropertyValueString(property, def);
- } catch(RemoteException e) {
+ } catch (RemoteException e) {
Log.e(LOG_TAG, "getPropertyValueString, remote exception", e);
}
return ret;
@@ -329,7 +329,7 @@
}
try {
ret = mExtTelephonyService.isPrimaryCarrierSlotId(slotId);
- } catch(RemoteException e) {
+ } catch (RemoteException e) {
Log.e(LOG_TAG, "isPrimaryCarrierSlotId, remote exception", e);
}
return ret;
@@ -348,7 +348,7 @@
}
try {
ret = mExtTelephonyService.getCurrentPrimaryCardSlotId();
- } catch(RemoteException e) {
+ } catch (RemoteException e) {
Log.e(LOG_TAG, "getCurrentPrimaryCardSlotId, remote exception", e);
}
return ret;
@@ -367,7 +367,7 @@
}
try {
ret = mExtTelephonyService.getPrimaryCarrierSlotId();
- } catch(RemoteException e) {
+ } catch (RemoteException e) {
Log.e(LOG_TAG, "getPrimaryCarrierSlotId, remote exception", e);
}
return ret;
@@ -385,7 +385,7 @@
}
try {
mExtTelephonyService.setPrimaryCardOnSlot(slotId);
- } catch(RemoteException e) {
+ } catch (RemoteException e) {
Log.e(LOG_TAG, "setPrimaryCardOnSlot, remote exception", e);
}
}
@@ -405,7 +405,7 @@
}
try {
ret = mExtTelephonyService.performIncrementalScan(slotId);
- } catch(RemoteException e) {
+ } catch (RemoteException e) {
Log.e(LOG_TAG, "performIncrementalScan, remote exception", e);
}
return ret;
@@ -426,7 +426,7 @@
}
try {
ret = mExtTelephonyService.abortIncrementalScan(slotId);
- } catch(RemoteException e) {
+ } catch (RemoteException e) {
Log.e(LOG_TAG, "abortIncrementalScan, remote exception", e);
}
return ret;
@@ -447,7 +447,7 @@
}
try {
ret = mExtTelephonyService.isSMSPromptEnabled();
- } catch(RemoteException e) {
+ } catch (RemoteException e) {
Log.e(LOG_TAG, "isSMSPromptEnabled, remote exception", e);
}
return ret;
@@ -467,7 +467,7 @@
}
try {
mExtTelephonyService.setSMSPromptEnabled(enabled);
- } catch(RemoteException e) {
+ } catch (RemoteException e) {
Log.e(LOG_TAG, "setSMSPromptEnabled, remote exception", e);
}
}
@@ -489,7 +489,7 @@
try {
mExtTelephonyService.supplyIccDepersonalization(netpin,
type, callback, phoneId);
- } catch(RemoteException e) {
+ } catch (RemoteException e) {
Log.e(LOG_TAG, "supplyIccDepersonalization, remote exception", e);
}
}
@@ -502,7 +502,7 @@
}
try {
token = mExtTelephonyService.enableEndc(slot, enable, client);
- } catch(RemoteException e) {
+ } catch (RemoteException e) {
Log.e(LOG_TAG, "enableEndc, remote exception", e);
}
return token;
@@ -516,7 +516,7 @@
}
try {
token = mExtTelephonyService.queryNrIconType(slot, client);
- } catch(RemoteException e) {
+ } catch (RemoteException e) {
Log.e(LOG_TAG, "queryNrIconType, remote exception", e);
}
return token;
@@ -530,7 +530,7 @@
}
try {
token = mExtTelephonyService.queryEndcStatus(slot, client);
- } catch(RemoteException e) {
+ } catch (RemoteException e) {
Log.e(LOG_TAG, "queryEndcStatus, remote exception", e);
}
return token;
@@ -544,7 +544,7 @@
}
try {
token = mExtTelephonyService.setNrConfig(slot, config, client);
- } catch(RemoteException e) {
+ } catch (RemoteException e) {
Log.e(LOG_TAG, "setNrConfig, remote exception", e);
}
return token;
@@ -558,7 +558,7 @@
}
try {
token = mExtTelephonyService.queryNrConfig(slot, client);
- } catch(RemoteException e) {
+ } catch (RemoteException e) {
Log.e(LOG_TAG, "queryNrConfig, remote exception", e);
}
return token;
@@ -572,7 +572,7 @@
}
try {
token = mExtTelephonyService.sendCdmaSms(slot, pdu, expectMore, client);
- } catch(RemoteException e) {
+ } catch (RemoteException e) {
Log.e(LOG_TAG, "sendCdmaSms, remote exception", e);
}
return token;
@@ -596,7 +596,7 @@
}
try {
token = mExtTelephonyService.enable5g(slot, client);
- } catch(RemoteException e){
+ } catch (RemoteException e){
Log.e(LOG_TAG, "enable5g, remote exception", e);
}
return token;
@@ -610,7 +610,7 @@
}
try {
token = mExtTelephonyService.disable5g(slot, client);
- } catch(RemoteException e){
+ } catch (RemoteException e){
Log.e(LOG_TAG, "disable5g, remote exception", e);
}
return token;
@@ -624,7 +624,7 @@
}
try {
token = mExtTelephonyService.queryNrBearerAllocation(slot, client);
- } catch(RemoteException e){
+ } catch (RemoteException e){
Log.e(LOG_TAG, "queryNrBearerAllocation, remote exception", e);
}
return token;
@@ -639,7 +639,7 @@
}
try {
token = mExtTelephonyService.setCarrierInfoForImsiEncryption(slot, info, client);
- } catch(RemoteException e){
+ } catch (RemoteException e){
Log.e(LOG_TAG, "setCarrierInfoForImsiEncryption, remote exception", e);
}
return token;
@@ -653,7 +653,7 @@
}
try {
token = mExtTelephonyService.enable5gOnly(slot, client);
- } catch(RemoteException e){
+ } catch (RemoteException e){
Log.e(LOG_TAG, "enable5gOnly, remote exception", e);
}
return token;
@@ -667,7 +667,7 @@
}
try {
token = mExtTelephonyService.query5gStatus(slot, client);
- } catch(RemoteException e){
+ } catch (RemoteException e){
Log.e(LOG_TAG, "query5gStatus, remote exception", e);
}
return token;
@@ -681,7 +681,7 @@
}
try {
token = mExtTelephonyService.queryNrDcParam(slot, client);
- } catch(RemoteException e){
+ } catch (RemoteException e){
Log.e(LOG_TAG, "queryNrDcParam, remote exception", e);
}
return token;
@@ -695,7 +695,7 @@
}
try {
token = mExtTelephonyService.queryNrSignalStrength(slot, client);
- } catch(RemoteException e){
+ } catch (RemoteException e){
Log.e(LOG_TAG, "queryNrSignalStrength, remote exception", e);
}
return token;
@@ -709,7 +709,7 @@
}
try {
token = mExtTelephonyService.queryUpperLayerIndInfo(slot, client);
- } catch(RemoteException e){
+ } catch (RemoteException e){
Log.e(LOG_TAG, "queryUpperLayerIndInfo, remote exception", e);
}
return token;
@@ -723,7 +723,7 @@
}
try {
token = mExtTelephonyService.query5gConfigInfo(slot, client);
- } catch(RemoteException e){
+ } catch (RemoteException e){
Log.e(LOG_TAG, "query5gConfigInfo, remote exception", e);
}
return token;
@@ -734,7 +734,7 @@
try {
mExtTelephonyService.queryCallForwardStatus(slotId, cfReason, serviceClass, number,
expectMore, client);
- } catch(RemoteException e){
+ } catch (RemoteException e){
throw new RemoteException("queryCallForwardStatus ended in remote exception");
}
}
@@ -745,7 +745,7 @@
try {
mExtTelephonyService.getFacilityLockForApp(slotId, facility, password, serviceClass,
appId, expectMore, client);
- } catch(RemoteException e){
+ } catch (RemoteException e){
throw new RemoteException("getFacilityLockForApp ended in remote exception");
}
}
@@ -795,7 +795,7 @@
}
try {
token = mExtTelephonyService.getDdsSwitchCapability(slot, client);
- } catch(RemoteException e) {
+ } catch (RemoteException e) {
Log.e(LOG_TAG, "getDdsSwitchCapability, remote exception", e);
}
return token;
@@ -811,8 +811,8 @@
try {
token = mExtTelephonyService.sendUserPreferenceForDataDuringVoiceCall(slot,
userPreference, client);
- } catch(RemoteException e) {
- Log.e(LOG_TAG, "getDdsSwitchCapability, remote exception", e);
+ } catch (RemoteException e) {
+ Log.e(LOG_TAG, "sendUserPreferenceForDataDuringVoiceCall, remote exception", e);
}
return token;
}
@@ -880,13 +880,26 @@
}
try {
support = mExtTelephonyService.isEpdgOverCellularDataSupported(slot);
- } catch(RemoteException e) {
- Log.e(LOG_TAG, "isEpdgOverCellularDataSupported, remote exception");
- e.printStackTrace();
+ } catch (RemoteException e) {
+ Log.e(LOG_TAG, "isEpdgOverCellularDataSupported, remote exception", e);
}
return support;
}
+ public Token getSecureModeStatus(Client client) throws RemoteException {
+ Token token = null;
+ if (!isServiceConnected()) {
+ Log.e(LOG_TAG, "service not connected!");
+ return token;
+ }
+ try {
+ token = mExtTelephonyService.getSecureModeStatus(client);
+ } catch (RemoteException e) {
+ Log.e(LOG_TAG, "getSecureModeStatus ended in remote exception", e);
+ }
+ return token;
+ }
+
public Client registerCallback(String packageName, IExtPhoneCallback callback) {
Client client = null;
if (!isServiceConnected()) {
@@ -895,7 +908,7 @@
}
try {
client = mExtTelephonyService.registerCallback(packageName, callback);
- } catch(RemoteException e) {
+ } catch (RemoteException e) {
Log.e(LOG_TAG, "registerCallback, remote exception", e);
}
return client;
@@ -908,8 +921,34 @@
}
try {
mExtTelephonyService.unRegisterCallback(callback);
- } catch(RemoteException e) {
- Log.e(LOG_TAG, "unRegisterCallback, remote exception", e);
+ } catch (RemoteException e) {
+ Log.e(LOG_TAG, "unRegisterCallback, remote exception ", e);
+ }
+ }
+
+ public Client registerQtiRadioConfigCallback(String packageName, IExtPhoneCallback callback) {
+ Client client = null;
+ if (!isServiceConnected()) {
+ Log.e(LOG_TAG, "Service not connected!");
+ return client;
+ }
+ try {
+ client = mExtTelephonyService.registerQtiRadioConfigCallback(packageName, callback);
+ } catch (RemoteException e) {
+ Log.e(LOG_TAG, "registerQtiRadioConfigCallback, remote exception", e);
+ }
+ return client;
+ }
+
+ public void unregisterQtiRadioConfigCallback(IExtPhoneCallback callback) {
+ if (!isServiceConnected()) {
+ Log.e(LOG_TAG, "Service not connected!");
+ return;
+ }
+ try {
+ mExtTelephonyService.unregisterQtiRadioConfigCallback(callback);
+ } catch (RemoteException e) {
+ Log.e(LOG_TAG, "unregisterQtiRadioConfigCallback, remote exception", e);
}
}
@@ -918,4 +957,4 @@
Log.d(LOG_TAG, str);
}
}
-}
+}
\ No newline at end of file
diff --git a/extphone/src/com/qti/extphone/IExtPhone.aidl b/extphone/src/com/qti/extphone/IExtPhone.aidl
index 3935ee8..0cbc03d 100644
--- a/extphone/src/com/qti/extphone/IExtPhone.aidl
+++ b/extphone/src/com/qti/extphone/IExtPhone.aidl
@@ -189,6 +189,18 @@
void unRegisterCallback(IExtPhoneCallback callback);
/**
+ * Async api
+ * Requires permission: android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE
+ */
+ Client registerQtiRadioConfigCallback(String packageName, IExtPhoneCallback callback);
+
+ /**
+ * Async api
+ * Requires permission: android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE
+ */
+ void unregisterQtiRadioConfigCallback(IExtPhoneCallback callback);
+
+ /**
* Set nr config to NSA/SA/NSA+SA on a given slotId.
* @param - slotId
* @param - def
@@ -439,4 +451,12 @@
* @return - boolean value indicates if the feature is supported or not
*/
boolean isEpdgOverCellularDataSupported(int slotId);
-}
+
+ /**
+ * Query the status of Secure Mode
+ *
+ * @param client - Client registered with package name to receive callbacks
+ * @return - Integer Token can be used to compare with the response.
+ */
+ Token getSecureModeStatus(in Client client);
+}
\ No newline at end of file
diff --git a/extphone/src/com/qti/extphone/IExtPhoneCallback.aidl b/extphone/src/com/qti/extphone/IExtPhoneCallback.aidl
index 1b20d3e..27dba0a 100644
--- a/extphone/src/com/qti/extphone/IExtPhoneCallback.aidl
+++ b/extphone/src/com/qti/extphone/IExtPhoneCallback.aidl
@@ -164,7 +164,7 @@
/**
* Response to setSmartDdsSwitchToggle
- * @param - token is the same token which is recived in setSmartDdsSwitchToggle
+ * @param - token is the same token which is received in setSmartDdsSwitchToggle
* @param - result SUCCESS/FAILURE based on the CnE HAL response
*/
void setSmartDdsSwitchToggleResponse(in Token token, boolean result);
@@ -235,4 +235,19 @@
* @param - support support indicates if the feature is supported or not.
*/
void onEpdgOverCellularDataSupported(int slotId, boolean support);
-}
+
+ /**
+ * Response to getSecureModeStatus
+ * @param - token is the same token which is received in setSmartDdsSwitchToggle
+ * @param - status SUCCESS/FAILURE based on RIL data module response
+ * @param - enableStatus Secure Mode status - true: enabled, false: disabled
+ */
+ void getSecureModeStatusResponse(in Token token, in Status status, boolean enableStatus);
+
+ /**
+ * Indicates that the device has entered/exited Secure Mode
+ *
+ * @param - enabled true/false whether Secure Mode is on/off
+ */
+ void onSecureModeStatusChange(boolean enabled);
+}
\ No newline at end of file
diff --git a/ims/ims-ext-common/src/org/codeaurora/ims/QtiCallConstants.java b/ims/ims-ext-common/src/org/codeaurora/ims/QtiCallConstants.java
index e8b831a..c52986f 100755
--- a/ims/ims-ext-common/src/org/codeaurora/ims/QtiCallConstants.java
+++ b/ims/ims-ext-common/src/org/codeaurora/ims/QtiCallConstants.java
@@ -475,6 +475,8 @@
public static final String EXTRA_ORIGINAL_CALL_TYPE = "originalCallType";
/* Slience UI before CRS RTP come extra key */
public static final String EXTRA_IS_PREPARATORY = "isPreparatory";
+ /* Ims vendor callId extra key */
+ public static final String EXTRA_IMS_CALL_ID = "callId";
//INVALID if CrsData is invalid, play local ring.
public static final int CRS_TYPE_INVALID = 0;
//AUDIO if only audio will be played.
diff --git a/ims/ims-ext-common/src/org/codeaurora/ims/QtiCarrierConfigs.java b/ims/ims-ext-common/src/org/codeaurora/ims/QtiCarrierConfigs.java
index 1b67398..477cabd 100755
--- a/ims/ims-ext-common/src/org/codeaurora/ims/QtiCarrierConfigs.java
+++ b/ims/ims-ext-common/src/org/codeaurora/ims/QtiCarrierConfigs.java
@@ -191,4 +191,10 @@
*/
public static final String KEY_CARRIER_SEND_MEDIA_CONFIG_SUPPORTED =
"carrier_support_send_media_configs_to_radio_layer_bool";
+
+ /* Config to determine if Carrier should be considered as a private network
+ * true - if it is considered as a private network else false.
+ */
+ public static final String KEY_IS_PRIVATE_NETWORK =
+ "is_private_network";
}
diff --git a/qti-utils/src/org/codeaurora/utils/RegistrantList.java b/qti-utils/src/org/codeaurora/utils/RegistrantList.java
index 4b3bb18..dcf8464 100644
--- a/qti-utils/src/org/codeaurora/utils/RegistrantList.java
+++ b/qti-utils/src/org/codeaurora/utils/RegistrantList.java
@@ -19,6 +19,12 @@
* limitations under the License.
*/
+/*
+ * Changes from Qualcomm Innovation Center are provided under the following license:
+ * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
+ * SPDX-License-Identifier: BSD-3-Clause-Clear
+ */
+
package org.codeaurora.telephony.utils;
import android.os.Handler;
@@ -128,4 +134,8 @@
removeCleared();
}
+
+ public synchronized void clear() {
+ registrants.clear();
+ }
}