The EGL Init thread spends a lot of time loading shared libraries,
which involves reading pages and adjusting VM pages. Previously it was
a low priority thread, which meant that when it blocked while holding
a VM lock, it might take a while to be scheduled again once ready, so
it would hold the VM lock longer than necessary, blocking other
threads waiting on soft faults, etc. Classic priority inversion.
Leaving the thread at normal priority causes it to interfere *less*
with critical-path Activity launch work.
Bug: 34611670
Test: go/platform-startup, specifically:
./tradefed.sh run google/template/local --template:map test
google/test/performance/app-launch-perf
--post-boot-command "service call persistent_data_block 6 i32 1"
--post-boot-command "service call persistent_data_block 7 i32 1"
--apps Clock alarmclock --trial-launch --launch-iteration 10
--launch-order cyclic --drop-cache --trace-directory sdcard
--trace-iteration 2 --simple-perf-cmd "simpleperf stat -a"
--report-metrics all --force-skip-system-props --alt-dir `pwd`
Change-Id: I17647c657da64d15f40f8f2b97ee3400e1f0be7f
- Adds BluetoothDevice as a parameter where required
- Gets rid of device management APIs that can be done via
BluetoothProfiles instead
Test: Manual sanity tests
Bug: b/33554547
Bug: b/30984220
Change-Id: I3485ac5bfe1fcb29c774ad040fdd608e1cacb8df
(cherry picked from commit 039eeb81b5)
Add cached int buffers for sorting.
Test: All CtsTextTestCases
Merged-In: Ice0b3c3fffc541b26aca94c93fd01e30e13efe2e
Bug: 33609774
Change-Id: Ib728654a384cfc072d1c190611e4553aa8957fa8
This cause the voicemail content provider to crash on query.
Bug: 34610526
Change-Id: I561ae6616fe66ea49630fa6c4eb9280fdc24b153
Fixes: 34610526
Test: VoicemailContentProviderTest
Preloading EGL in Zygote was originally a memory footprint
optimization, but it turns out to be an important app startup time
optimization as well. Preloading EGL in Zygote is incompatible with
updatable graphics drivers, but we don't want to do it on-demand as
part of drawing the first frame either, since that increases
first-frame latency unacceptably.
This change removes Zygote preload, and instead loads EGL on a
low-priority background thread immediately after choosing which
graphics driver to use. This means it is usually done well before
drawing the first frame, without significantly disrupting other
activity launch work.
Test: observe systrace of Calculator launch on bullhead
Bug: 34404021
Change-Id: I6a0f6b90ade21848a10d51ddae62c936f70151b5
Merged-In: I887aa09bd35b088b16f53a89838a0c7c98f15761
Preloading EGL in Zygote was originally a memory footprint
optimization, but it turns out to be an important app startup time
optimization as well. Preloading EGL in Zygote is incompatible with
updatable graphics drivers, but we don't want to do it on-demand as
part of drawing the first frame either, since that increases
first-frame latency unacceptably.
This change removes Zygote preload, and instead loads EGL on a
low-priority background thread immediately after choosing which
graphics driver to use. This means it is usually done well before
drawing the first frame, without significantly disrupting other
activity launch work.
Test: observe systrace of Calculator launch on bullhead
Bug: 34404021
Change-Id: I887aa09bd35b088b16f53a89838a0c7c98f15761
- Add networkId and timestamp for the last user selected network
Bug: 34467596
Test: runtest --path core/tests/coretests/src/android/net/RecommendationRequestTest.java
Change-Id: Ic81c1beede1a643cd428b6e5c57ed430a6b1ccc0
Merged-In: Ic81c1beede1a643cd428b6e5c57ed430a6b1ccc0
BACKED_UP and RESTORED are required for dialer voicemail backup/restore
feature for N MR2. As there are no API bump the fields will be hidden
in NMR2. These fields will be made public in O.
ARCHIVED and IS_OMTP_VOICEMAIL is not used for NMR2, but added in
advance to avoid multiple database upgrades.
IS_OMTP_VOICEMAIL will be used in O to dedupe multiple apps implementing
VisualVoicemailService. All voicemail inserted by the service should
set this field to 1. The UI should only display voicemails with this
field set to 1 when the source_package is also the current active
VisualVoicemailService, as other sources represents the same source of
truth(the carrier) but is outdated.
For example, the query should be
WHERE (is_omtp_voicemail == 0) OR
(is_omtp_voicemail == 1 AND source_package = "current.vvm.package")
Test: VoicemailProviderTest
Bug: 34463609
Change-Id: I0f3e58fabff2102adf5bc29d81dac46c7e71d410
Expanding the API so it can accept the WiFi config of the currently
connected network (if any) and the set of connectable WiFi
configurations. Also renamed currentRecommendedWifiConfig to
defaultWifiConfig so the name was more representative of the
parameter's purpose and added more documentation throughout.
Test: adb shell am instrument -e class android.net.RecommendationRequestTest -w com.android.frameworks.coretests/android.support.test.runner.AndroidJUnitRunner
Test: adb shell am instrument -w com.android.networkrecommendation.tests/android.support.test.runner.AndroidJUnitRunner
Test: runtest frameworks-services -c com.android.server.NetworkScoreServiceTest
Bug: 34387385
Change-Id: Ib8c3cab8f92b5c9da806070d32412f688690f82f
Merged-In: I1089b70303b0396def7e6bf3737fdc67e40c9dcd