[MEP] set removable eSIM as default eUICC to pass GCF/PTCRB

To support removable esim to pass GCT/PTCRB test in DSDS mode, we should make sure all the download/activation requests are by default route to the removable esim slot. In order to satisfy this use case, we should return removable esim cardId as default.

1. Add switch UI in RadioInfo hidden activity to set removable esim as default eUICC.
2. When switch is checked/unchecked, corresponding flag is set in UiccController and intent is broadcasted to LPA.
3. TelephonyManager#getCardIdForDefaultEuicc API returns removable esim cardId if switch is checked.

Bug: 228640832
Test: Manual verification (Verified intent broadcast is received at LPA and flag is set in the UiccController)
Change-Id: I1c3a77a8c76d53f1d88ac4bbd77c8dbadc8d7a74
This commit is contained in:
Muralidhar Reddy
2022-05-11 14:55:04 +00:00
committed by Muralidhar Reddy Mule
parent 8b644effca
commit c78b316c02
2 changed files with 51 additions and 0 deletions

View File

@@ -16985,4 +16985,41 @@ public class TelephonyManager {
}
mTelephonyRegistryMgr.removeCarrierPrivilegesCallback(callback);
}
/**
* set removable eSIM as default eUICC.
*
* @hide
*/
@RequiresPermission(Manifest.permission.MODIFY_PHONE_STATE)
@RequiresFeature(PackageManager.FEATURE_TELEPHONY_EUICC)
public void setRemovableEsimAsDefaultEuicc(boolean isDefault) {
try {
ITelephony telephony = getITelephony();
if (telephony != null) {
telephony.setRemovableEsimAsDefaultEuicc(isDefault, getOpPackageName());
}
} catch (RemoteException e) {
Log.e(TAG, "Error in setRemovableEsimAsDefault: " + e);
}
}
/**
* Returns whether the removable eSIM is default eUICC or not.
*
* @hide
*/
@RequiresPermission(Manifest.permission.READ_PRIVILEGED_PHONE_STATE)
@RequiresFeature(PackageManager.FEATURE_TELEPHONY_EUICC)
public boolean isRemovableEsimDefaultEuicc() {
try {
ITelephony telephony = getITelephony();
if (telephony != null) {
return telephony.isRemovableEsimDefaultEuicc(getOpPackageName());
}
} catch (RemoteException e) {
Log.e(TAG, "Error in isRemovableEsimDefaultEuicc: " + e);
}
return false;
}
}

View File

@@ -2553,4 +2553,18 @@ interface ITelephony {
* for the slot, or {@code null} if none is resolved
*/
String getCarrierServicePackageNameForLogicalSlot(int logicalSlotIndex);
/**
* set removable eSIM as default eUICC.
*
* @hide
*/
void setRemovableEsimAsDefaultEuicc(boolean isDefault, String callingPackage);
/**
* Returns whether the removable eSIM is default eUICC or not.
*
* @hide
*/
boolean isRemovableEsimDefaultEuicc(String callingPackage);
}