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
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
A phone number is privacy data. Therefore, it should be prevented
from logging in user build.
Test: manual - checked log
Bug: 34582911
Change-Id: Id040653dbfd236250e7eb07c9c2e9587ded3d63f
Previously if the caller is not the active VVM service, the exception
will be consumed by the Binder because it is a oneway method.
This CL changes the method to non-oneway so the caller will receive
the exception. Docs are also updated.
Change-Id: Iedf96539be3958a92e151b926ee069d6edfc4d09
Fixes: 35854031
Test: CTS - VisualVoicemailServiceTest
Remove a dependency on frameworks/opt from SmsMessage for CDMA
-Code move to frameworks/opt/telephony../cdma/SmsMessageConverter
Bug: 33414487
Test: Manually verified GSM and CDMA SMS: MO and MT
Change-Id: I730d292c4aad6524b03b18c0751738a73a71ecf7
-Move static utility functions from frameworks/opt/telephony/
..DefaultPhoneNotifier to a new utility class in frameworks/base
-Update TelephonyRegistry to point to the new functions.
Bug: 33414487
Test: compilation
Change-Id: I36a113cb5122569d451ec3a2dfa71d72d590fa52
As per CDD: The "android.*" namespace for intent constants is reserved for public
Android API in AOSP. (Whether public to the full SDK, @SystemApi or
defined in AOSP support libraries.)
ACTION_CARRIER_SETUP intent is generally useful for carrier privileged
apps which is unbundled carrier apps, thus move to public APIs
Bug: 33679956
Test: Manual
Change-Id: I202398f868d35e7e9046e7cc41330a3c26dca0b0
Merged-in: Ie2b5d072406513f04676210d08c43d91623c3cd2
As per CDD: The "android.*" namespace for intent constants is reserved for public
Android API in AOSP. (Whether public to the full SDK, @SystemApi or
defined in AOSP support libraries.)
ACTION_CARRIER_SETUP intent is generally useful for carrier privileged
apps which is unbundled carrier apps, thus move to public APIs
Bug: 33679956
Test: Manual
Change-Id: Ie2b5d072406513f04676210d08c43d91623c3cd2