History log of /frameworks/base/telephony/java/android/telephony/euicc/DownloadableSubscription.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
59159c437a8696c67b92c4e4cbf57402cb018cad 16-Mar-2018 Holly Jiuyu Sun <jiuyu@google.com> Address comments from API Review.

Bug: 74975825
Bug: 74976716
Bug: 74976875
Test: test on phone
Change-Id: I5417e5dd95c75fd3fd9fa98d7559511bd0fcd8a0
/frameworks/base/telephony/java/android/telephony/euicc/DownloadableSubscription.java
4f73b9c09ac6ae73c22ad02872e362c817ab2d4c 13-Dec-2017 Holly Jiuyu Sun <jiuyu@google.com> Public EuiccManager APIs.

Public EuiccManager and other related necessary files.
Mark EuiccCardManager and other related necessary files as @SystemApi.
Solve lint errors and warnings.

Bug: 35851809
Test: test on phone
Change-Id: I68853e134e1e31fa9b91a83af6c491a2a8cca971
/frameworks/base/telephony/java/android/telephony/euicc/DownloadableSubscription.java
d3bb4aed78b75365fc0d18fc31750d86404a1f47 08-Feb-2018 Jiuyu Sun <jiuyu@google.com> Revert "Public EuiccManager APIs."

This reverts commit af6a5fffdc5ef30065f8bc2d1280bbd87eae3c64.

Reason for revert: <INSERT REASONING HERE>

Change-Id: Id3296a91e5c3ad624a6a03f6532b859524a518bf
/frameworks/base/telephony/java/android/telephony/euicc/DownloadableSubscription.java
af6a5fffdc5ef30065f8bc2d1280bbd87eae3c64 13-Dec-2017 Holly Jiuyu Sun <jiuyu@google.com> Public EuiccManager APIs.

Public EuiccManager and other related necessary files.
Mark EuiccCardManager and other related necessary files as @SystemApi.
Solve lint errors and warnings.

Bug: 35851809
Test: test on phone
Change-Id: Id7895f9b35ce9d4fb6fae42ba89ca9b29dbfa74c
/frameworks/base/telephony/java/android/telephony/euicc/DownloadableSubscription.java
6a2877e5a9ee1563afdc3f1c0469e76bc3a79fad 14-Oct-2017 Holly Jiuyu Sun <jiuyu@google.com> Carrier confirmation code.

If confirmation code is null and required during downloading a profile,
returns a resovable error, and show ConfirmationCodeActivity. After we
get the confirmation code from the user, continue the operation.

Add the confirmationCode as a member in DownloadableSubscription.

Test: unit test, e2e on phone
Bug: 36730837
Change-Id: Ibe1e0fc5ddb736b411faf48ec9bea3c68972bb99
/frameworks/base/telephony/java/android/telephony/euicc/DownloadableSubscription.java
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/android/telephony/euicc/DownloadableSubscription.java
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/android/telephony/euicc/DownloadableSubscription.java
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/android/telephony/euicc/DownloadableSubscription.java