Adds new MBMS Download Session error codes to allow for
more fine grained error reporting to the client app.
Test: Manual
Change-Id: I9c2163d934835efaaa145e4c0f8a91838d84aa1e
This change modifies the API to require that the
DownloadRequest#Builder includes the Source URI as a mandatory,
non-null parameter.
Test: Manual, Telephony Test MBMS app
Change-Id: I7d44e977314a57fdf063aa233bfb978b48ebf1db
Adds the ability for an EMBMS app to specify a filtering
bitmask to DownloadStateCallback, which is used to filter
out callbacks that the EMBMS app doesn't need to listen
to.
Test: Testapps
Change-Id: Id7f26ba3c3606c644b0ca3376df1107f5834facb
There was an assumption that content language Locale was
a 1:1 mapping with content locale name, which is not the
case. This change separates the two and provides a new
API for retreiving the set of Locales for content name.
Test: Manual
Change-Id: I44cb527ceb77fe321500f9d5fc00f6880ee52cb7
When receiving a GSM SMS message where the TP-Originating-Address
(TP-OA) field contains non-integer information, it is currently
decoded incorrectly.
This CL adds support for decoding BCD according to spec:
ETSI TS 123 040 V9.3.0
Section: 9.1.2.3 Semi-octet representation
"If a mobile receives an address field containing non-integer
information in the semi-octets other than "1111" (e.g. 1110)
it shall display the semi-octet as the representation given
in GSM 44.008 [12] under "called BCD number", viz 1010="*",
1011="#", 1100="a", 1101="b", 1110="c"."
Bug: 65042708
Test: runtest --path frameworks/opt/telephony/tests/telephonytests/src/com/android/internal/telephony/GsmSmsTest.java --test-method testAddressing
Change-Id: Ied2d6ca4d84d5c3ca6cc5c4d9875d2ff2a8e5df9
* MbmsException no longer thrown from the common methods, and the error
codes are now containined in MbmsError.
* In order to avoid ANRs while processing download-done broadcasts,
don't perform arbitrary moves when a download is done. Instead, move
into a staging directory and let the app handle it.
Bug: 30981736
Test: testapps
Change-Id: I9416f28b4f24f89af1da6f56a93ea0f0e4ea3878
* Rename Manager -> Session
* Add Handler for callbacks in download flow
* Separate out registering a state callback into another method
* Rename dispose -> close, implement AutoClosable
* No more thrown MbmsExceptions
* Add sanity check for temp file root
* Remove the getNames method, replace with getNameForLocale
Bug: 30981736
Test: testapps
Change-Id: I1a2054d79c934bc4929464de4a644b6960db47e9
* Rename MbmsStreamingManager -> MbmsStreamingSession
* MbmsStreamingSession now implements AutoClosable instead of using
dispose()
* No longer throw checked MbmsExceptions from any methods. All such
errors will be reported via the async callback.
* null arguments no longer accepted for Handlers
* Guarantee that no further callbacks will get enqueued after closing.
Test: run testapps
Bug: 30981736
Change-Id: I85e98850759c6c7fe7b883ffffa5b1f4e362770d
Make changes to the download API so that it passes the linter, remove
@hide tags.
Test: manual
Bug: 30981736
Change-Id: Ifa0d36896338b0108fbaad4b1e9b8d857a43d491
Rename the opt-out flag in AndroidManifest to
SERVICE_META_DATA_SUPPORTS_ALWAYS_ON
as directed by the API Council.
Bug: 64331776
Bug: 36650087
Test: runtest --path java/com/android/server/connectivity/VpnTest.java
Change-Id: I24326fad7a89083a2409134640bda81ee0359d08
Merged-In: I24326fad7a89083a2409134640bda81ee0359d08
(cherry picked from commit c57a01c166)
Always-on VPN is a feature introduced in N. Since then, all VPN apps
targeting N+ are assumed to support the feature, and the user or the DPC
can turn on / off always-on for any such VPN app. However, a few VPN
apps are not designed to support the always-on feature. Enabling
always-on for these apps will result in undefined behavior and confusing
"Always-on VPN disconnected" notification.
This feature provides a new manifest meta-data field through which a VPN
app can opt out of the always-on feature explicitly. This will stop the
always-on feature from being enabled for the app, both by the user and
by the DPC, and will clear its existing always-on state.
A @hide API is provided to check whether an app supports always-on VPN.
Documentation is updated to reflect the behavior change.
Bug: 36650087
Test: runtest --path java/com/android/server/connectivity/VpnTest.java
Test: cts-tradefed run cts --module CtsDevicePolicyManagerTestCases --test 'com.android.cts.devicepolicy.MixedDeviceOwnerTest#testAlwaysOnVpnUnsupportedPackage'
Test: cts-tradefed run cts --module CtsDevicePolicyManagerTestCases --test 'com.android.cts.devicepolicy.MixedDeviceOwnerTest#testAlwaysOnVpnUnsupportedPackageReplaced'
Test: cts-tradefed run cts --module CtsDevicePolicyManagerTestCases --test 'com.android.cts.devicepolicy.MixedProfileOwnerTest#testAlwaysOnVpnUnsupportedPackage'
Test: cts-tradefed run cts --module CtsDevicePolicyManagerTestCases --test 'com.android.cts.devicepolicy.MixedProfileOwnerTest#testAlwaysOnVpnUnsupportedPackageReplaced'
Test: cts-tradefed run cts --module CtsDevicePolicyManagerTestCases --test 'com.android.cts.devicepolicy.MixedManagedProfileOwnerTest#testAlwaysOnVpnUnsupportedPackage'
Test: cts-tradefed run cts --module CtsDevicePolicyManagerTestCases --test 'com.android.cts.devicepolicy.MixedManagedProfileOwnerTest#testAlwaysOnVpnUnsupportedPackageReplaced'
Change-Id: I477897a29175e3994d4ecf8ec546e26043c90f13
Merged-In: I477897a29175e3994d4ecf8ec546e26043c90f13
(cherry picked from commit 3673863f3b)
Expose the API to directly retrieve the latest cached
signal strength from ServiceStateTracker.
Bug: 36133439
Test: manual/sl4a
Change-Id: I36e4a24f19d49da5797d875ccfd10576ca0a68b8
Add methods that were missing from the previous API update because the
update-api version used for that had different behaviour from the
current one.
Specifically overrides for methods that differ only in sychronization
are now considered API-worthy and weren't before (b/62576297).
All methods added in this commit are methods that exist in the base
class without synchronization and are synchronized in the class they are
now being added in.
Bug: 64807220
Test: m checkapi
Change-Id: I9bf1b3d02e6a8f04b93ec36c0adffb7eedad3ad3
Merged-In: Iff584fb72dc8d651f9482b573f4b8cec89840ca6
* Enforce that only one instance of each manager can be active.
* Add a death receipient for both managers to notify the app of binder
death
* Add documentation informing the app that it may not call create()
multiple times
* Fix a collision in streaming state reason codes
* Add documentation in DownloadRequest to indicate which methods should
be called by the middleware.
Change-Id: Ie15283b5c34fee736e8023dbd4f889c2ca95299e
This is important so that Telecom can track the duration of the call,
which is tracked using wall clock time.
Test: Manual, unit test
Bug: 64068300
Change-Id: If642d282cd8134060acf6ffe8d81215c394d800c
Fix the errors that cropped up when trying to upload the unhide CL in
MR1.
Bug: 30981736
Test: manual, with testapps
Change-Id: If4a9a5533a235a8cc56762ab7a9e32ec89440f1d
Fix the errors that cropped up when trying to upload the unhide CL in
MR1.
Bug: 30981736
Test: manual, with testapps
Change-Id: I94e1bcccea4b9f50dae4c93f247ab78058d15bb5
If the superclass is an abstract class, we want to search it for
possibly overridden methods; we don't want to search ourselves.
This bug resulted in (incorrectly) thinking that overridden "default"
methods from interfaces were standalone methods on the class. (The
expected behavior has always been to omit any overridden methods from
the public API surface area to avoid redundant noise.)
Test: make update-api
Bug: 62675475
Change-Id: Ic92544908692bd9af329d302165e18c7b4738e43
(cherry picked from commit 257529dcae)
Unhides the MBMS streaming APIs and modifies the vendor base classes to
no longer pass raw AIDLs to the vendor code.
Test: builds
Change-Id: I56030d646c2a1160277d85779c6ed431cda4efa7