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 c57a01c16616f938eaa84ae5349a53efdec6e4cc)
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 3673863f3b2ec692201b7fb3089a1c05973e08e4)
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