In Q, these APIs were either:
- removed from the greylist entirely without good reason
- Moved to the restricted greylist without any public alternative
information added
So they are being moved back to the greylist for Q.
Test: Treehugger
Bug: 136102585
Change-Id: I5ac8b8b9b23c3789d80239cf456072cc7dfa1203
Compiled methods don't get any interpreter activity modifying their
hotness counters. This CL compiles more methods to prevented
Original set of profile is the updated profile with revised thresholds
for image classes. Here we used a 3% threshold.
Additionally, the CL adds imgdiag diagnosed methods that have dirty JIT
counters shortly after boot on the following apps:
system_server
com.android.systemui
com.android.phone
com.android.nfc
com.google.android.networkstack
com.android.bluetooth
com.google.android.apps.nexuslauncher
com.google.android.gms.persistent
com.google.android.as
com.google.process.gservices
com.google.android.gms
com.google.android.inputmethod.latin
Before:
Boot oat size: 32,800,596 bytes
Persistent app .art PSS: 19115K
Persistent app .art Private Dirty: 15356K
System boot .art PSS: 60948K
After:
Boot oat size: 37261124 bytes
Persistent app .art PSS: 12610K
Persistent app .art Private Dirty: 8740K
System boot .art PSS: 50735K
Private dirty savings for persistent apps: 7MB
Net RAM savings: 5MB (10MB dirty .art PSS, 5MB oat size incrase)
Bug: 134776403
Test: Reboot and inspect RAM usage
Change-Id: Ia1c59b4be341a28de02b7d20aedcb6b69815c652
SQLiteDebug.Const isn't supposed to be preloaded.
Fix: 134176355
Test: "setprop db.log.slow_query_threshold.10045 0" and make sure ...
it works for UID 10045
Change-Id: I06ca1531e968faa2378d0cb7f627e2c6a87cf502
These packages contain code that was whitelisted in P (accidentally),
and was blacklisted in Q (until now). They also contain open source code
that apps could reasonably include in their APK. Blacklisting the code
is problematic, as this results in apps being able to resolve the class
itself, but without any visibility of any members within it.
This is a measure to reduce the risk of Q, pending a proper solution for
these classes in future.
Remove the equivalent methods from the greylist as they are now
redundant. This was done via:
$ cat hiddenapi-greylist.txt \
| grep -v '^Lgov/nist/' \
| grep -v '^Lorg/apache/harmony/' \
| grep -v '^Lorg/apache/xalan/' \
| grep -v '^Lorg/apache/xml/' \
| grep -v '^Lorg/apache/xpath/'
Bug: 129387816
Test: m
Change-Id: I48d4ca3b8069894e91785f1dd69d81878078208c
Message format info is required in order to divide a message text into
correctly sized parts on a device that supports for both 3GPP and 3GPP2
formats in multi-sim. And fixed to get default SMS subId from SmsManager
in SmsMessage class instead.
Test: Manual
Bug: 132259056
Merged-in: Id2512eb62504b7e789f58b7d9697009d565c4a18
Change-Id: Id2512eb62504b7e789f58b7d9697009d565c4a18
Signed-off-by: Taesu Lee <taesu82.lee@samsung.com>
(cherry picked from commit 8debeeb126)
Message format info is required in order to divide a message text into
correctly sized parts on a device that supports for both 3GPP and 3GPP2
formats in multi-sim. And fixed to get default SMS subId from SmsManager
in SmsMessage class instead.
Test: Manual
Change-Id: Id2512eb62504b7e789f58b7d9697009d565c4a18
Signed-off-by: Taesu Lee <taesu82.lee@samsung.com>
1. Docuemnt the scope of each callback event either apply to specific
subscriptions or not.
2. TelephonyRegistry store separate state e.g, precisecallstate, callAttribute
for each slot to support msim.
3. Add missing subscription match check when notify callbacks.
Bug: 130423985
Bug: 132181378
Test: atest CtsTelephonyTestCases:PhoneStateListenerTest
Merged-In: I4b014e00528a1f05e0b5f237229c561f8260e2bd
Change-Id: I4b014e00528a1f05e0b5f237229c561f8260e2bd
(cherry picked from commit d5deeb15e9)
1. Docuemnt the scope of each callback event either apply to specific
subscriptions or not.
2. TelephonyRegistry store separate state e.g, precisecallstate, callAttribute
for each slot to support msim.
3. Add missing subscription match check when notify callbacks.
Bug: 130423985
Bug: 132181378
Test: atest CtsTelephonyTestCases:PhoneStateListenerTest
Change-Id: I4b014e00528a1f05e0b5f237229c561f8260e2bd
This is a conservative tuning for the last profile update (commit
5b70220fb5) which regressed a few metrics
(b/130553966). The numbers below are quoated relative to the sate before
that update.
=Perf numbers=
The boot image compilation artifacts are 17MiB smaller (art/vdex/oat for
arm and arm64).
System server .art file is 100KiB smaller.
Startup and memory number are within the noise. Startup shows 0.72%
improvement. However that's most likely noise. The tests were run with:
- atest google/perf/app-startup/hermetic-apps/cold-dropcache-lock-test
- atest google/perf/app-startup/non-hermetic-apps/cold-dropcache-lock-test
- atest google/perf/memory/memory-test
- atest
google/perf/app-startup/benchmark-app-hermetic/cold-dropcache-lock-test
- atest
google/perf/app-startup/third-party-apps/cold-dropcache-stable-test
=Profile metrics=
Boot:
- methods and classes used by at least 9% of the sampled (non unique)
applications (see below for more explanations)
- 1.13% of hot methods added, 33.77% removed
- 0.65% of classes added, 21.61% removed
- 29256 hot methods in the profile (vs 43429 in the old one)
- 8681 classes in the profile (vs 10985 in the old one)
Preloaded clases:
- classes used by at least 20% of sampled applications during startup
- 1.5% added, 0.3% removed
- 7601 classes in the profile (vs 7516 in the old one)
System server:
- methods and classes used on at least 5% of sampled devices
- system server is speed compile and the image classes are the most
relevant
- 4% classes added, 23% of classes removed
- 2819 classes in the profile (vs 3418 in the old one)
=Data sample=
- 35000+ (non unique) applications contributed to the final profile
- these were spread across 4000+ (non unique) devices
- 'non unique' means that the same app or the same device (or a
combination of both) could have contributed to the final profile multiple
times
Bug: 122068885
Bug: 130553966
Test: m, build, boot, atest startup-tests
(cherry picked from commit 439305cadd)
Merged-In: Ic61ed2784af034ed4ae4bc8346ed67c6bed04152
Change-Id: I1fc3b301bf80bfc7dda3540c5a204af8321279bf
=Perf numbers=
The boot image compilation artifacts are 28MiB smaller (art/vdex/oat for
arm and arm64).
System server .art file is 100KiB smaller.
Startup and memory number are within the noise. Startup shows 0.11%
improvement and memory shows 0.22% improvements. However that's most
likely noise. The tests were run with:
- atest google/perf/app-startup/hermetic-apps/cold-dropcache-lock-test
- atest google/perf/app-startup/non-hermetic-apps/cold-dropcache-lock-test
- atest google/perf/memory/memory-test
=Profile metrics=
Boot:
- methods and classes used by at least 9% of the sampled (non unique)
applications (see below for more explanations)
- 0.6% of hot methods added, 51.31% removed
- 0.3% of classes added, 29.96% removed
- 21403 hot methods in the profile (vs 43429 in the old one)
- 7826 classes in the profile (vs 10985 in the old one)
Preloaded clases:
- classes used by at least 20% of sampled applications during startup
- 1.5% added, 0.3% removed
- 7601 classes in the profile (vs 7516 in the old one)
System server:
- methods and classes used on at least 5% of sampled devices
- system server is speed compile and the image classes are the most
relevant
- 4% classes added, 23% of classes removed
- 2819 classes in the profile (vs 3418 in the old one)
=Data sample=
- 35000+ (non unique) applications contributed to the final profile
- these were spread across 4000+ (non unique) devices
- 'non unique' means that the same app or the same device (or a
combination of both) could have contributed to the final profile multiple
times
Bug: 122460899
Bug: 122068885
Test: m, build, boot, atest startup-tests
(cherry picked from commit 5b70220fb5)
Merged-In: Ib3aac3c7efae64af9d2b46e350146e53ba653cbd
Change-Id: Ib42ab29e3d28591817a396407445a6c23e5c9a27
Embed the preloaded-classes-blacklist file and check all classes
in it.
Test: atest --test-mapping frameworks/base/tools/preload-check
Change-Id: I4292cae1eb24eafe1f63e914143433b57cc74751
Use app_process and reflection to find the class state.
This is expected to break when internals change, so include a test
for expectations.
Bug: 130206915
Test: atest PreloadCheck
Change-Id: I7ecdb88a19efcfcfa1c7aa5c7e67d1990306166e
Added these classes to prevent initialization of AsyncTask since
initializing AsyncTask may cause memory leaks.
Bug: 130206915
Test: make
Test: look at classes initialized during preloading
Change-Id: I6bacbbdf61d8a782d88debc29d9f0ca29d273888
generate_hidden_api_lists now receives a file containing package names
which need to be greylisted (although it could be made to work with any
api list required).
Also took the opportunity to clean up the tests to reflect the more
strict code.
Bug: 129387816
Test: m appcompat
Test: frameworks/base/tools/hiddenapi/generate_hiddenapi_lists_test.py
Change-Id: I619f8581d166aa48eda572bc0053d8739d6420eb
For packages:
com.android.internal.app
com.android.internal.database
com.android.internal.http
com.android.internal.os
com.android.internal.policy
com.android.internal.util
com.android.internal.view
com.android.internal.view.menu
com.android.internal.widget
com.android.server.net
com.android.server
com.google.android.collect
com.google.android.util
This is an automatically generated CL. See go/UnsupportedAppUsage
for more details.
Exempted-From-Owner-Approval: Mechanical changes to the codebase
which have been approved by Android API council and announced on
android-eng@
Bug: 110868826
Test: m
Merged-In: Ia5306f4713298b46ae3aba6fc9d87fae41f8a593
Change-Id: Ie26033d486033289ad3e010a534a921d29c3b2ca
For packages:
com.android.internal.app
com.android.internal.database
com.android.internal.http
com.android.internal.os
com.android.internal.policy
com.android.internal.util
com.android.internal.view
com.android.internal.view.menu
com.android.internal.widget
com.android.server.net
com.android.server
com.google.android.collect
com.google.android.util
This is an automatically generated CL. See go/UnsupportedAppUsage
for more details.
Exempted-From-Owner-Approval: Mechanical changes to the codebase
which have been approved by Android API council and announced on
android-eng@
Bug: 110868826
Test: m
Change-Id: Ia5306f4713298b46ae3aba6fc9d87fae41f8a593
Add alternative APIs to allow untrusted password changes explicitly, so the caller
can choose to use them if needed.
Test: atest frameworks/base/services/tests/servicestests/src/com/android/server/locksettings/
Bug: 120039091
Change-Id: I4ca03c9185081d300d7e325965b1e20515e33d51
For packages:
android.companion
android.filterfw
android.hardware.camera2.utils
android.inputmethodservice
android.net.nsd
android.os
android.preference
android.security.keymaster
android.service.dreams
android.telecom
android.telephony.ims.compat.feature
android.telephony
android.util
android.view.accessibility
android.media.effect
This is an automatically generated CL. See go/UnsupportedAppUsage
for more details.
Exempted-From-Owner-Approval: Mechanical changes to the codebase
which have been approved by Android API council and announced on
android-eng@
Bug: 110868826
Test: m
Merged-In: I9c2f8347952f3cc65759472b0e1a2717b285e44e
Change-Id: I14793863cf815fa3383fec6c6bf5a9365c2e17eb
For packages:
android.companion
android.filterfw
android.hardware.camera2.utils
android.inputmethodservice
android.net.nsd
android.os
android.preference
android.security.keymaster
android.service.dreams
android.telecom
android.telephony.ims.compat.feature
android.telephony
android.util
android.view.accessibility
android.media.effect
This is an automatically generated CL. See go/UnsupportedAppUsage
for more details.
Exempted-From-Owner-Approval: Mechanical changes to the codebase
which have been approved by Android API council and announced on
android-eng@
Bug: 110868826
Test: m
Change-Id: I9c2f8347952f3cc65759472b0e1a2717b285e44e
Some API changes per API reivew:
- Move DynamicAndroidClient and ~Manager to android.os.image.
- Rename them to DynamicSystemClient and ~Manager.
- Rename permission MANAGE_DYNAMIC_ANDROID to MANAGE_DYNAMIC_SYSTEM
- Corresponding changes in the installation service.
- Corresponding changes in privapp-permissions-platform.xml.
- Add missing annotations.
- Change setOnStatusChangedListener's parameters order.
- Improve documentations.
- Re-generate api/system-current.txt.
Bug: 126613281
Test: adb shell am
Change-Id: Ia920e9ccf6de1dbbd38c52910cb72cb81b9b5b32
For packages:
android.os
This is an automatically generated CL. See go/UnsupportedAppUsage
for more details.
Exempted-From-Owner-Approval: Mechanical changes to the codebase
which have been approved by Android API council and announced on
android-eng@
Bug: 110868826
Test: m
Merged-In: I4ece0a3f37f88fc2508cb965092aed7cabc61819
Change-Id: I0d942254f06c1a355fb906640e223ad34cced6ab
For packages:
android.os
This is an automatically generated CL. See go/UnsupportedAppUsage
for more details.
Exempted-From-Owner-Approval: Mechanical changes to the codebase
which have been approved by Android API council and announced on
android-eng@
Bug: 110868826
Test: m
Change-Id: I4ece0a3f37f88fc2508cb965092aed7cabc61819