background activity launches
Necessary for early stages of enabling the feature in
enforcing mode - we'll need to temporarily whitelist
apps like Duo, so dogfooders can still use them.
Bug: 123354556
Test: atest WmTests:ActivityStarterTests
Test: adb shell settings put global background_activity_starts_package_names_whitelist com.ejc.bbc:com.whatever.dude
Change-Id: I2515b8ba334e87e7f201569ba5a6bb1b79395354
This allows apps to detect when a user clears data on MediaProvider,
or when the internal database is wiped due to corruption.
Bug: 126274540
Test: atest android.provider.cts.MediaStoreTest
Change-Id: Idfcdbf441aea82c581b7270a6d4663136b8931e2
SurfaceFlinger now knows how to automatically schedule between various
display modes, so we need to tell it what modes are available to switch
between based on overall system state as well as display specific
properties. To capture all of this system state we've introduced
DisplayModeDirector which monitors all of the various inputs for
deciding display mode and notifies the rest of the display
infrastructure when they change.
Bug: 123727652
Test: manual
Change-Id: I83184664bf63c99ebd31889764720bb55c2e15a8
If they were null, then the Parcelable would fail to work.
Bug: 126726802
Test: manual
Change-Id: I7929ffa2f20e5de1c8e68e8263cca99496e9d014
Exempt-From-Owner-Approval: Trivial API annotations
When this new mode (LOCATION_MODE_THROTTLE_REQUESTS_WHEN_SCREEN_OFF) is
enabled, LocationManagerService will avoid sending almost all
LocationRequests to providers. The only requests that will continue to
be sent will be providers are the requests that ignore location
settings.
Bug: 121256487
Bug: 122849003
Bug: 119261320
Test: atest android.os.cts.batterysaving.BatterySaverLocationTest
Change-Id: Iee95a6fb5ca11d4db7a0f0661bf3cb1051a5d710
Migrate them to string constants defined directly in DeviceConfig
instead of interfaces. None of these required property names to be
defined in DeviceConfig (or Java code at all) so we don't need to touch
any of the code used by clients of Device Config to migrate these
particular namespaces.
Bug: 126411407
Test: atest FrameworksCoreTests:DeviceConfigTest
Change-Id: I66cabbce23b9765f4ce78bd33b8a08fe07720319
1. Remove the interface from DeviceConfig.
2. Add a string constant for the namespace to DeviceConfig, including
them in the System API.
3. Add string constants for flag names to ActivityManagerConstants, and
AppCompactor. (These are removed from the System API).
Bug: 126411407
Test: atest AppCompactorTest
atest FrameworksCoreTests:DeviceConfigTest
Change-Id: I3167a4267e2ea0277f19f7d5211ab92e2b1f6285
We've been advised that the current API design strategy is to
implement new APIs in the support library, and leave the core OS to
be bare minimal APIs.
Bug: 126636931
Test: atest cts/tests/tests/provider/src/android/provider/cts/MediaStore*
Change-Id: I9488f0fd789bab08cd376f86056badcbcfb6cc2e
1. From ACTION_PROCESS_WIFI_EASY_CONNECT_QR_CODE to ACTION_PROCESS_WIFI_EASY_CONNECT_URI
2. Remove EXTRA_QR_CODE and use data Uri to specify Easy Connect bootstrapping information string
Bug: 125874365
Test: atest AvailableIntentsTest
WifiDppChooseSavedWifiNetworkFragmentTest
WifiDppConfiguratorActivityTest
WifiNetworkListFragmentTest
Change-Id: I7ec52c73a2ba1b6b8588f6daa8d73725f115ba0f
Create SystemUi DeviceConfig namespace and add a class to store all its
flags in. These flags will be shared between the SystemUi package and
other Notification packages - like ExtServices and
NotificationManagerService.
Performing experiments across different packages is much more involved
than performed single-package experiments. Therefore, we put flags
related to Notifications into the System UI experiment flag package.
Bug: 120792826
Test: atest AssistantSettingsTest
Change-Id: I83992291e660ab092bed8d22d1abaaa2bd9d6f9a
Statslog logging is done alongside the old logging, with different
sampling rates.
Test: cts-tradefed run cts-dev -m CtsStatsdHostTestCases -t \
android.cts.statsd.atom.UidAtomTests#testHiddenApiUsed
Bug: 119217680
Change-Id: If7c38eaee3a3c08434c2e4f2dac45c659ea9cb12
Typed getters for String, boolean, int, double, and float. These new
methods take default_value params and return them in the event that
either a flag does not exist, or does not parse correctly.
Bug: 126415338
Test: atest FrameworksCoreTests:DeviceConfigTest
Change-Id: I10523a7b591d9f062d5de88c5fc4edd8c7c73ee0
Add token around the places we call scheduleTempWhitelistLocked().
Move to a timeout-based mechanism - allow the receiver to open
activities from background for at least the time it's running,
but extend the privilege if it finished sooner than the allowed
timeout.
Also, make the timeout configurable in BroadcastConstants.
Bug: 123384391
Bug: 123711192
Bug: 110956953
Test: atest WmTests:ActivityStarterTests
Test: manual with Play "finished install" notifications that do
broadcast trampoline, Chrome bookmarks widget, BBC News widget,
Citymapper "get me somewhere" notification
Change-Id: I814472187bec4b4a1ce48112e7b666efd2d04ef6
WAL as a journaling mode is no longer configurable on a
per-device basis. We preserve support for changing this value
via phenotype for now, but this will likely be removed in a
follow up once this change has been vetted.
Test: atest FrameworksCoreTests:android.database
Test: atest CtsDatabaseTestCases
Bug: 123352172
Change-Id: I163bad836b71770946ce12a8bfd19f362033ea83
Using a global setting to specify the lid open/close behaviour
allows OEMs to support switching between windowed and windowless
lids at runtime instead of build time.
Bug: 70378569
Test: Find the hall effect sensor on the device and then using a magnet
confirm the expected behaviour for each global setting:
* No reaction from device
adb shell settings put global lid_behavior 0
* Sleep/screen off
adb shell settings put global lid_behavior 1
* Lock screen but screen stays on
adb shell settings put global lid_behavior 2
Change-Id: I53682711aeaaeb9eead7246ba83e4dd4b3c06a58
1) Actively disabling LOCATION_MODE instead of LOCATION_PROVIDERS_ALLOWED
since the latter is deprecated and not supported.
2) The LOCATION_MODE_FOREGROUND_ONLY flag wasn't used anywhere. As
such, it was essentially no different from LOCATION_MODE_NO_CHANGE. I've
implemented the behavior in LocationManagerService so it works properly.
3) GnssLocationProvider only turned off GPS when the location mode was
LOCATION_MODE_GPS_DISABLED_WHEN_SCREEN_OFF, but not the mode was
LOCATION_MODE_ALL_DISABLED_WHEN_SCREEN_OFF. I've fixed it so GPS is
turned off in both modes.
4) PowerManager looked at the global battery saver state to determine if
the location mode should be used. This was fine for full Battery Saver,
but would be a problem with adaptive Battery Saver. The proper thing to
do is to just look at the local 'batterySaverEnabled' flag.
Bug: 121256487
Bug: 122849003
Bug: 119261320
Test: atest CtsBatterySavingTestCases
Change-Id: I8973d27fb050d9892bb97021712d9cf9743e8939