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
The name is not allowed for an internal, non-public
intent. Changed to use com.android.internal.* namespace.
bug:35266833
Test: Ran cts.IntentTest.shouldNotFindUnexpectedIntents
Change-Id: Ifd7d7f0aa537bfbbc7d67aa3b73b0887acd6104a
There is the case that operator's network does not support IMS
conference call although it supports IMS normal call. It sometimes
happens when operator starts up IMS service. In such case, it is
necessary to hide merge button for IMS conference.
Bug: 29430010
Change-Id: Iab8afaab297cd401ddea8ef4bbd6a06edfbcfeb3
The name is not allowed for an internal, non-public
intent. Changed to use com.android.internal.* namespace.
bug:35266833
Test: Ran cts.IntentTest.shouldNotFindUnexpectedIntents
Change-Id: Ifd7d7f0aa537bfbbc7d67aa3b73b0887acd6104a
The option "Enhanced 4G LTE Mode" currently may be hidden according to
the VoLTE state of the plateform and device. With this new option we can
choose to hide the "Enhanced 4G LTE Mode" irrespective of VoLTE state.
Bug: 36220377
Test: manual
Change-Id: I516ad050e623a368f2c2ef3d81650eb20c20fd5b
Added two new public APIs getMeid and getImei. Deprecated the exisintg
getDeviceId API because it can't return a constant id when phone type
changes.
Test: CTS and manual
bug: 34233620, 10831289
Merged-In: Iad4c05d2fd2efc538214f466861497c973882dfe
Change-Id: Iad4c05d2fd2efc538214f466861497c973882dfe
Added two new public APIs getMeid and getImei. Deprecated the exisintg
getDeviceId API because it can't return a constant id when phone type
changes.
Test: CTS and manual
bug: 34233620, 10831289
Change-Id: Iad4c05d2fd2efc538214f466861497c973882dfe
1. address the feeback from API review:
throw exception rather than a boolean return
throw Security exception for permission denial and non-default dailer app.
throw invalidStateException if telephonyServie unavaialble.
2. sendDialerCode API will only check permission and package match without
enforcing the format of secret code(*#*# CODE #*#*) as throwing an unchecked
exception for wrong bad format seems to be an overkill regarding the API usage.
Dialer calls this API for each keyboard press to check format and send the intent
altogether which is no longer appropriate if we plan to return void and will
reduce frquent API calls.
3. allow callers with carrier privilege
4. not require MODIFY_PHONE_STATE as third party dialer apps won't be
granted
5. TODO mark android.provider.Telephony.SECRET_CODE to be protected
after calling apps move to this API.
Bug:35767402
Test: Manual
Change-Id: I8287aa93f2f79d356935a48cf808705d9b49984b
ETWS primary message does not contain messagy body. We used
to use hardcoded "ETWS" as the body, which is not easy for
end users to understand what happened. Added the built-in
default messages provided by Japanese government guideline
for earthquake, Tsunami, test, and other channels support to
enhance the user experience.
Test: manual
bug: 33595007
Change-Id: I53659298d8ce3b3ba5c751c14c1b36e76d6dc562
This class was in com/android/internal/telephony but declared itself
in com.android.internal.telephony.uicc. Mismatches here make IDEs
unhappy when resolving imports, and only the latter is used in
compilation, so consolidate on the latter.
Test: N/A (will rely on TreeHugger)
Change-Id: I598341bacbd70947b6e2789b2e543879cd41a4c9