The current JobInfo.NETWORK_TYPE values offer basic network selection
ability, but more precise requirements continue to come up. Instead
of creating more NETWORK_TYPE constants, add support for the existing
NetworkRequest object, which is the idiomatic way for an app to
express the type of network they'd like to use.
Move the implementation details of NETWORK_TYPE constants to use this
new NetworkRequest functionality. Deprecate NETWORK_TYPE_METERED,
since the lack of the NOT_METERED capability doesn't imply that the
connection is metered. (Apps using this API to get to a cellular
network should use TRANSPORT_CELLULAR instead.)
Add new SystemClock APIs that return java.time.Clock instances for
various Android-specific clocks. This gives us a clean interface
(with negligible overhead) for swapping in artificial clocks for
testing purposes.
Improve JobStoreTest to validate new NetworkRequest features, and
add one last sanity check to assertTasksEqual() to compare raw
bits-on-wire, to catch people who forget to check new fields. Watch
for IoThread to go idle to run tests faster.
Test: bit FrameworksServicesTests:com.android.server.job.
Bug: 67040695
Change-Id: I189e7602132a0ec26d2f0cc6dadc188664961a47
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
The callback allows vendor code to hook drag and drop operations.
Bug: 63914027
Test: Manually drag and drop files between apps, CTS
CrossAppDragAndDropTests
Change-Id: I33bf907b7c024a485c51bd87d7c4839718ebeb13
Test: with CPU locked to low freq, verification time of a 400 MB apk is
reduced from about 2528 ms to 1942 ms, vs 915 ms of the old
algorithm. Writing directly into ByteBuffer's backing array saves
around 100 ms but it does not work for DirectByteBuffer, thus I
didn't implement this optimization.
Bug: 30972906
Change-Id: I00cf782e18a8351569eaf4593188c1ce6796a634
And inform listeners when the bucket changes, not just when
going in and out of RARE bucket.
Avoid redundant callbacks when informing listeners.
Bug: 63527785
Test: runtest -x
frameworks/base/services/tests/servicestests/src/com/android/server/usage/AppStandbyControllerTests.java
Change-Id: Icd98d59f597147fbf8ea4bf44edf4b3b3d5c8e14
A container can support split-screen windowing mode while in pinned or
freeform mode. However, there were some call-points that were using the
method to determine if the container is affected by the split-screen
stack resizing. So, just created a new method
ActivityStack.affectedBySplitScreenResize() for those.
Change-Id: Iae56bcd2cb696179dda39b77a69035d5f067a23d
Fixes: 68762925
Test: go/wm-smoke
Test: Manual steps from bug.
- Flags for force app standby for jobs and alarms, and sensors.
- Don't disable GPS when the screen is off.
Bug: 68769804
Test: manual
Change-Id: I13661498dbc25051f2be0423cb50a55e4e592dc4
No change to logic, just docs updates.
It looks like our documentation for the Safe Browsing manifest tag was
poor. This clarifies that the manifest opt-in should go inside the
application tag.
This also updates the documentation for MetricsOptOut, since this has
the same requirement.
Bug: 69007974
Test: make docs (verify it looks better)
Change-Id: Ieb29932f1460e3aa25c486b47692b63c0b87f509
When keyguard is being dismissed it still was overriding orientation
for the display, which caused report of wrong configuration to
activity that was becoming visible.
Bug: 66979760
Bug: 36897968
Fixes: 68131425
Test: Launch Unity 4 based game, lock and unlock screen, check UI
Test: com.android.server.wm.DisplayContentTests#testOrientationDefinedByKeyguard
Change-Id: I0a180b8e941a85ba4174a40cdec2ff0b8f3e00eb
Network security watchlist service is a service to monitor all potential
harmful network traffic. By setting a network watchlist, any connections
that visit any site from watchlist will be logged.
Logs will be aggregated everyday and encoded using differential
privacy before exporting it from framework.
This feature is disabled now, run "setprop ro.network_watchlist_enabled true" to enable it.
All network events are handled in an async bg thread, it should not
cause any delay in netd. Also, it uses the hooks in enterprise network logging,
so we can run netd_benchmark to measure the impact to netd.
Here are the things not included in this CL:
- ConfigUpdater to get and set watchlist
- Differential privacy encoding logic and reporting
- CTS
- Memory and performance optimization for internal watchlist data structure
Test: manual - turn on the feature, hard code a watchlist xml, process
that visited that domain is being logged in sqlite.
Test: run netd_benchmark - seems no obvious performance change.
Test: bit FrameworksCoreTests:android.net.NetworkWatchlistManagerTests
Test: runtest frameworks-net
Test: runtest frameworks-services -p com.android.server.net.watchlist
Bug: 63908748
Change-Id: I09595178bac0070a867bc5e0501a7bf2c840e398
Implement SkSL cache by reusing code and logic from egl_cache_t.
Test: Improves startup times for gmail by 15ms and 10ms for calc app.
Bug: 66740665
Change-Id: I9ba479c649ba97a2c29a48d40579ba001264c957