If a configuration change occurs, and an underlying ResourcesImpl is
swapped out under a Resources object, the DisplayMetrics cached by
TypedArray will be stale and not up-to-date.
Bug: 34120637
Test: cts/hostsidetests/services/activityandwindowmanager/util/run-test CtsServicesHostTestCases android.server.cts.ActivityManagerConfigChangeTests
Change-Id: Id78a6d259250950387c2e95c4a2292fdd095c7af
The job queue now handles URI permissions associated with
the Intent of each job. Just (kind-of) like Service!
Also do the second pass of locking in job scheduler, getting
rid of all the async dispatching on a handler, and just executing
calls right in line with simple locking. This probably fixes
a few other race issues, and allows us to make sure that we
always finish a job correctly when dequeuing the last work (we
will always atomically dequeue and finish, so no new work can
slip in between).
And fix a little debug output in IntentFilter.
Test: ran CtsJobSchedulerTestCases, added new test for URI perms.
Change-Id: I52f700ef0cd5be3ff70050f9c0f5fe3e8a5ccac1
The NotificationManager.startServiceInForeground() experiment is over,
and will not ship as API, so it's time to tidy up and get rid of it.
Bug 36130212
Test: manual
Change-Id: I834d1ce059aa464ff27f69f5e5d3625cc5e61d8a
Based on API council feedback, switch to using real UUID objects
instead of Strings. Since UUID is a general-purpose utility class
that will be passed around quite a bit, add it to Parcel and Bundle.
Define well-known namespaced UUID values for "default" and "primary
physical" storage devices, which will let us annotate a bunch of
things with @NonNull.
Define new extras for MANAGE_STORAGE intent that apps can use to
signal where and how much space they'd like the user to free up.
Test: cts-tradefed run commandAndExit cts-dev -m CtsAppSecurityHostTestCases -t android.appsecurity.cts.StorageHostTest
Bug: 37325923, 35812899, 35806020
Change-Id: I8421b126d680f69141a361c1e77223fe2bf4a325
The purpose here is to provide support for selectively
enabling Runtime Resource Overlays (RROs) (specifically
those pertaining to a specific SKU, within a OEM's "single
build" covering multiple SKUs) at boot based on the value
of a pre-defined system property.
This mechanism is designed to be compatible with other,
recent changes to Runtime Resource Overlays - specifically:
- has no effect on 'isStatic'. Resource overlays must be
attributed as static in order to qualify for loading into
the system_server. The 'requiredSystemPropertyName/
requiredSystemPropertyValue' mechanism operates
independent of this and can be used on both static and
non static overlays. The effect of specifying a conditional
property on any overlay is that it will ONLY be enabled
in the event that the system reflects both the property
and the specified value (Note that in the ABSENCE of a
conditional property, overlays are assumed to be enabled).
- has no effect on OverlayManagerService (OMS) API. The
OMS provides the system with an interface through which
overlays can be enabled/disabled and even rearranged at
runtime. This provides the basis of support for various
user-level features (e.g. dynamic theme selection).
The 'requiredSystemPropertyName/requiredSystemPropertyValue'
mechanism operates independent of this -
with enablement being completely coupled to the available
system properties on the device and NOT subject to change
at runtime.
Note: as part of this change, original overlay tests have been
updated (fixed) and expanded to include tests to cover the
conditional property implementation.
Issue: http://b/35100249
Test: frameworks/base/core/tests/overlaytests/testrunner.py
Change-Id: I1990ce21a27a385db1e2f53294b69dd03988351e
(cherry picked from commit d5566c6c47)
Fixed @see errrors and upper cased api to API
Test: 'make docs' followed by viewing PackageManager.html
Bug: 37325276
Change-Id: I26abc2f75a6b9f0b785b29d695461596e53108fb
Auto-paging of cursors is being removed in favor of a support lib component.
Rationale:
1) Auto-paging as implemented has potential to negatively impact system health.
2) Similar functionality w/o system health concerns can be provided
specific to RecyclerView.
Test: Removed. CTS coverage updated.
Bug: 30927484
Change-Id: I43e62181d8ceeeba6265d44536967a2102751320
(cherry picked from commit 4677c2b7f0)
This allows us to only mark processes as persistent
when a feature it actually depends on is present on
the device.
Also adds a "android.hardware.nfc.any" feature, to
indicate the device supports any of the NFC features
that require the NFC process to run persistently.
Bug: 36873979
Bug: 37269025
Test: NFC is still started on devices with NFC
Change-Id: I5792d75d8714f39718fa957177a632efcbbd37d3
When an app first appears on a device, this new broadcast is issued
including to manifest receivers. The more general PACKAGE_ADDED
broadcast continues to be issued for both first install and updates,
but is not delivered to manifest receivers of apps that target O+.
Bug 37219124
Test: manual
Change-Id: I59b0a0b0dce96a909076b41280771f63e59584be
* changes:
Fix broken CTS tests.
Draw a default focus highlight if needed.
Add a public API defaultFocusHighlightEnabled.
Detect unhandled keyboard focused state.
Include the requirement that the input attribute ID array
must be sorted.
Bug: 34802757
Change-Id: I3244178c52df77078afae656652c3a44447fa645
Test: none
We now have a software feature for autofill which can be used
by partners to disable it on low-end devices or form factors
for which autofill doesn't make sense.
bug:35956220
Test: manual (requires a custom build)
Change-Id: I6c06462ed9ca3ae93331700dce38a8c08dfd0722
ACTION_UPGRADE_SETUP exists as an SdkConstant and is now additionally
tagged as a SystemApi. ACTION_DEVICE_INITIALIZATION_WIZARD is added
as a deprecated SystemApi to appease CTS requirements. Both APIs are
hidden.
Test: cts-tradefed run cts-dev -m CtsSignatureTestCases \
-t android.signature.cts.IntentTest#shouldNotFindUnexpectedIntents
Bug: 33663899
Change-Id: Ib45afbfcbb9a3d3020f11c8b63fc2bcf6fc447a1
(cherry picked from commit 4cd32e5395)
Supporting the priority feature is requested by partners because they
want to layer RRO for their customers.
Applying the priority feature on non-static RRO isn't feasible because
their priority should be managed directly by users.
Test: building succeeded and tested on sailfish device.
Bug: 37185740
Change-Id: I8ef83c5e3178bd395ec7e6498764a535f24ef235