The app developers on the legacy greylist need an option to disable
the greylist so they can debug.
Bug: 124818022
Test: manual
Change-Id: I84785a235830761794dee5c603c1ea43f8ace73e
* changes:
Teaches the System Server to enable the Zygote's blastula pool.
Added pool management code around zygote state changes.
Improved file descriptor cleanup in Zygote.
Currently, we pass down visisble volumes for a user to zygote so that
it can set up appropriate bind mounts after forking. This method has
atleast a couple of race conditions, so instead make zygote just
look under /mnt/user/<userId>/package for volumes that need to be
handled for a particular user.
Bug: 126069494
Test: manual
Test: atest cts/hostsidetests/appsecurity/src/android/appsecurity/cts/ExternalStorageHostTest.java
Test: atest cts/tests/app/src/android/app/cts/DownloadManagerTest.java
Test: atest cts/tests/tests/provider/src/android/provider/cts/MediaStore*
Change-Id: Iab47eb34d38a25dfda4a686db9b7203ad4885a93
This patch adds the code necessary to communicate changes to the
blastula_pool_enabled system property from the System Server to the
zygote process. Checking this property asynchronously from both the
system server and the zygote can lead to a deadlock, so instead the
system server checks the property and notifies the zygote.
By default the blastula pool is disabled.
Test: adb shell device_config put runtime_native blastula_pool_enabled true
Test: adb shell device_config put runtime_native blastula_pool_enabled false
Change-Id: Ib8f3b5b0eb78349255b9b316d683a69747616ef7
Enabling the blastula pool exercised a previously unused codepath that
wrote to the log. This caused a socket to be opened when it wasn't
expected to be. This patch re-closes the logging socket before applying
the SELinux policy for the new application.
This patch also adds code to clean up blastula table entries in
processes spawned from the Zygote and disables the blastula pool code
for child zygotes.
Bug: 123409530
Test: make & flash & boot & check logs for SELinux denials
Change-Id: I560cdf9c42502574d25ab25a0f8afa3eb6de307f
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
This change adds the sphal libraries text file parsing to the GPU
service. As the result, when the Game Driver apk is updated, the sphal
library list will be read out to the GAME_DRIVER_SPHAL_LIBRARIES
settings global property to be used in the graphics environment to
extend the current linker namespace.
Bug: 124448366
Test: Build, flash and boot. Install the apk to verify settings global.
Change-Id: Ifb4007a1fe7269e0a2857fe7badc8642342b1449
The string based driver build date has been updated to Unix epoch
timestamp based driver build time. This change updates the corresponding
apis and throw exceptions when the meta-data timestamp in the game
driver apk is not set properly.
Bug: 123156461
Test: Build, flash and boot. Verify the GpuService receiver side.
Change-Id: Id4fb3ade31fa5944dcb32fedf5ca926b497e82dc
This CL should fix application startup regression for Vulkan
detected by "Hermetic Startup: EmptyActivity" test.
EGL drivers are loaded in a temp thread to leave more time
in RenderThread for other work. Loading EGL drivers
on the RenderThread may cause a perf regression.
Test: Ran cold-dropcache-test test.
Bug: 122659224
Bug: 123361175
Change-Id: I8ca818e98fac196a41d079be15594caca5cb1bab
Handle many simple, smaller changes in a single CL. Hide
CPC.closeQuietly(), now that it implements AutoCloseable. Add more
details to CR.set/getCache() docs. Add many @Nullable/@NonNull
annotations.
Bug: 124507578, 124447751, 124302519, 123697622
Bug: 123661322, 122887179, 122528742, 122527812, 116224797
Test: manual
Change-Id: Icee556a6ed76bbdf4c8e42b59d69d5580d461b95
Add missing getStorageVolume() method to provide mapping from Uri
to underlying StorageVolume.
Bug: 124013019
Test: atest cts/tests/tests/provider/src/android/provider/cts/MediaStore*
Change-Id: I91e246d29629eec84956ff113ef976e153fc69f7
This patch adds the following properties to DeviceConfig:
* BLASTULA_POOL_ENABLED
* BLASTULA_POOL_SIZE_MAX
* BLASTULA_POOL_SIZE_MIN
* BLASTULA_POOL_REFILL_THERSHOLD
The BLASTULA_POOL_ENABLED property is checked by ZygoteProcess but not
currently used due to an existing bug (b/123409530). This will be
enabled by go/ag/6162164. Until then the code path is tested via log
inspection.
The remaining properties are checked by ZygoteServer. Values are
clamped to ensure that they cannot be set to values that are harmful to
the device.
Since device_config is not available in the Zygote the system properties
interface is used instead.
Bug: 123524494
Bug: 68253328
Test: adb shell device_config put runtime_native blastula_pool_enabled true
Test: manually verify the property change is observed
Change-Id: I2b675afd9fbc1cbb0e8bc1c491cfdbbb612d0d3b
Get the driver build date info from read-only system property
ro.gfx.driver.build_date for apps using system built-in driver, while
getting the Game Driver build date info from the apk's meta-data.
Bug: 123156461
Test: Build, flash and boot. Verify the GpuService receiver side.
Change-Id: Ie4acb658c9b1776179e2bb72d0b434dcf0a9a856
Add a hidden system API (protected by DEVICE_POWER) that forces suspend,
ignoring any existing wakelock. Add a shell cmd to trigger the API
to run.
Bug: 111991113
Test: 'adb shell svc power forcesuspend'
Change-Id: I5a258e1b7c8b1391fe1baf3930dd9d9af47235c9
Allow a '*' at the beginning of the whitelist file to mean whitelist
everything.
BUG: 120869311
Test: Build, flash and boot. Verify with apk
Change-Id: Ia1b772f545a04acb7f5b4ccbe5489e43ecddb9d2
This reverts commit 67773e8b87. Below is the
original commit message:
Instead of re-processing blacklists proto everytime, we move the processing to
GPU Service, and add SettingsObserver to observe the change of
Settings.Global.GAME_DRIVER_BLACKLISTS such that we only re-process the
blacklists when needed.
As a result, we will have GAME_DRIVER_BLACKLISTS which is used to accept a list
of blacklist from the server, one for each game driver version that needs to
have blacklist, and GAME_DRIVER_BLACKLIST will only contain a list of
blacklisted application package names for the current version of game driver on
the device, separated by comma.
BUG: 120869311
Test: Build, flash and boot. Use adb shell settings put command to verify.
Change-Id: I3a82d1cc020640f7b595def67b280dbc2d3a3155
Frameworks Base section of power monitor addition. Since IPowerStats
does not have a java interface, we needed to make a native interface
into the code. I followed how the LowPowerStats collection is being
done.
Native code is located in
com_android_server_am_BatteryStatsService.cpp. We are calling the
getEnergyData to get all rails energy data that has been collecting from
boot. This energy data is collected in uWs (microWatt seconds). After
the rail data is collected at each update in the RailStats class, the
wifi and cellular total energy values will contain the energy that all
rails associated with the specific subsystem will have.
We update and collect the energy data using battery stats and propagate
it to telephony metrics. When we collect the total energy for an update
we need to zero out the energy data so it can be accumulated correctly.
1/31: Added modemRailEnergy and wifiRailEnergy to Volta historian.
Bug: 115929961
Test: adb shell dumpsys activity service TelephonyDebugService --metrics
Results Examples:
Energy consumed by modem (mAh): 2.41
Energy Rails consumed by modem (mAh): 2.76
Dumpsys historian results:
+4m23s712ms (2) 100 cc511a18 modemRailChargemAh=0.34 wifiRailChargemAh=1.17 +wifi_scan stats=0:"dump"
+10m24s089ms (2) 100 c4511a18 modemRailChargemAh=0.71 wifiRailChargemAh=1.77 stats=0:"write"
+11m24s228ms (3) 100 c4511a19 volt=4315 charge=3988 modemRailChargemAh=0.77 wifiRailChargemAh=1.94 wifi_signal_strength=2 stats=0:"battery-state"
Change-Id: I97521a03204968079e61f3de86640d4f1a580255