5405836497be79d5c6dcbff222bdbb5d4561bac0 |
|
14-Dec-2017 |
Qingxi Li <qingxi@google.com> |
Add API to get eUICC's OTA status The function will return current eUICC's OTA status and requests calling app has WRITE_EMBEDDED_SUBSCRIPTIONS. Test: E2E Bug: 37279356 Change-Id: I823ed7aa9d86530c4bebd4c0b1a00f0c607105ed
/frameworks/base/telephony/java/com/android/internal/telephony/euicc/IEuiccController.aidl
|
7b69a86b02e1e4b469181a8ad286f473df8b6352 |
|
17-Jun-2017 |
Jeff Davidson <jpd@google.com> |
Add EuiccManager#retainSubscriptionsOnFactoryReset API. By default, all subscriptions are wiped on first boot after a factory reset. This ensures that if data is wiped outside of userspace (e.g. in fastboot/recovery), the profiles are wiped, as there's no way to offer this option to users in those modes - the radio isn't available for us to access the eUICC. This API provides a way to bypass this wipe if the user opts to retain the policies for a wipe done from userspace (e.g. by unchecking the "Wipe eUICC" checkbox in platform settings before wiping). We tell the LPA to note this and skip the wipe on the ensuing factory reset. Change-Id: I2fe472417497e28b043841a5aa2dc9efa45ebbff Test: TreeHugger Fixes: 62681577
/frameworks/base/telephony/java/com/android/internal/telephony/euicc/IEuiccController.aidl
|
b4c67ec3c85166a579612a563fc234ff326baedd |
|
14-Jun-2017 |
Jeff Davidson <jpd@google.com> |
Pass calling package to resolution UI. The calling package is important for the UI to be able to tell the user who is asking to perform the operation which needs consent. For example, it should be able to tell the user which carrier app is asking to download a profile. Bug: 38049463 Test: TreeHugger + E2E verification Change-Id: I890f811405cb05672e1271f092ddca60501e7ddc
/frameworks/base/telephony/java/com/android/internal/telephony/euicc/IEuiccController.aidl
|
91c3d07fd9c75258a47fb25c59bc0cd5d2b638a4 |
|
12-Apr-2017 |
Jeff Davidson <jpd@google.com> |
Implement remaining core eUICC APIs. Includes: -getDefaultDownloadableSubscriptionList, which returns a list of default subscriptions available for the device. -getEuiccInfo, which returns an EuiccInfo object containing non-sensitive information about the eUICC device. -deleteSubscription, to delete a subscription. -switchToSubscription, to switch to (or away from) a subscription. -updateSubscriptionNickname, to update the nickname of a subscription which is saved to the eUICC. -eraseSubscriptions, to factory reset the eUICC. -Settings.Global#DEFAULT_SM_DP_PLUS, a default SM-DP+ server which is used to query for default subscriptions in getDefaultDownloadableSubscriptionList. These APIs follow the template of the APIs which have already been implemented. This completes the baseline implementation as designed; any additional APIs or tweaks to the APIs will be tracked as separate bugs. Fixes: 33075886 Test: Build/boot Change-Id: I8057757c874f94e0c816af1ca071d656c8f145b9
/frameworks/base/telephony/java/com/android/internal/telephony/euicc/IEuiccController.aidl
|
cfa70fa0abe90d91bd7997ef23432e5631b40d2a |
|
07-Apr-2017 |
Jeff Davidson <jpd@google.com> |
EUICC API changes to support error resolution. -Implement EuiccManager#startResolutionActivity. This is just a pass-through to start the LUI dispatcher. -Add and implement EuiccManager#continueOperation. The LUI calls this method upon completion of a resolution action to continue the original operation. -Remove the "consentGranted" bit from DownloadableSubscription. This was originally to be used by the LUI to communicate user consent, but it is impossible to allow the LUI to modify the given DownloadableSubscription while also preventing it from tampering by the untrusted app. It's also unclear what kind of "consent" was granted - it could be to disable the physical SIM, or to grant an unprivileged app permissions to switch. Instead, this bit is passed by the LUI to continueOperation() as an extra and propagated down as an explicit parameter to the LPA. Bug: 33075886 Test: Manual verification using test LPA Change-Id: I17d8028e0ecea365ca5a2cc17424fc9645f5a489
/frameworks/base/telephony/java/com/android/internal/telephony/euicc/IEuiccController.aidl
|
f83ccd0e6c7140e1a3149168e67e550fb2b596d4 |
|
04-Apr-2017 |
Jeff Davidson <jpd@google.com> |
API plumbing to support carrier app downloading. -Include UiccAccessRules in a DownloadableSubscription, so the LPA can tell the platform which apps are permitted to manage a particular embedded subscription. -Include the calling package in the API, so the platform can match the package against the UiccAccessRule package list. Bug: 33075886 Test: TreeHugger Change-Id: Ifc7d3eca07d5ebea0e09398dfc1e253f1a273813
/frameworks/base/telephony/java/com/android/internal/telephony/euicc/IEuiccController.aidl
|
35cda39422acdeb3fa47ca60f131678e52dbfcb3 |
|
27-Feb-2017 |
Jeff Davidson <jpd@google.com> |
Squashed merge of master-sim into master. Includes the following commits: == New system feature: eUICC. Presence of this feature implies that eUICC-related APIs are expected to function as long as an eUICC is present in the device. Note that an eUICC may be embedded in the device but may also be removable. == Add empty EuiccManager API and plumbing. == Add stub EuiccService. EuiccService is the class that the LPA app must implement; for now, just define the action and priority so that the implementation can be found. Actual methods will come later. Also declare two relevant permissions: BIND_EUICC_SERVICE, which the implementation must require (so that nobody else can bind to the service directly), and WRITE_EMBEDDED_SUBSCRIPTIONS, which permits signature|privileged apps and CTS (via development) to access EuiccManager APIs. == Add UiccAccessRule based off UiccCarrierPrivilegeRules#AccessRule. This class can be used to transfer access rules between an EuiccService implementation and the platform. We also add a simple encoding/decoding of a list of rules so that they may be stored in the subscription info table. == Add getEid() to EuiccManager/EuiccService. getEid() fetches the EID. It requires either a privileged permission (READ_PRIVILEGED_PHONE_STATE) or carrier privileges on the currently-active profile. Until there is a use case that requires opening this up to apps with only READ_PHONE_STATE, we shouldn't do so. To avoid churn in the future, the API signatures for EuiccService include a slot ID to identify which SIM slot is being used. However, this parameter is currently not populated correctly (nor is it usable, as no Telephony APIs accept a slot ID to address commands). There is no need to expose it yet in the EuiccManager APIs as we expect to follow the TelephonyManager pattern of allowing per-slot instances of EuiccManager in the future while keeping other method signatures the same. == Define Euicc UI actions in EuiccManager/EuiccService. The EuiccManager actions are to be implemented by the platform (and only the platform), which forwards the actions to the active implementation. Also, remove our explicit priority meta-data tag as we can just rely on android:priority in the corresponding intent-filter. == APIs for downloading embedded subscriptions. Includes: -getDownloadableSubscriptionMetadata, used by the platform and LUI to fetch metadata about a downloadable subscription. The platform will use this to perform the necessary permission checks (only allowing otherwise-unprivileged apps to download profiles that are permitted per the subscription metadata), and the LUI can use this to present the name of the profile. -downloadSubscription, to actually perform a profile download. The stub for startResolutionActivity is included but not implemented; resolution activities will be handled in a follow-up change. == Test: TreeHugger Change-Id: I47b1da5a69f0736012cb137e02cd6c4e07fdaace
/frameworks/base/telephony/java/com/android/internal/telephony/euicc/IEuiccController.aidl
|